diff --git a/GitHub/GitHub_Get_interactions_from_repository_url.ipynb b/GitHub/GitHub_Get_interactions_from_repository_url.ipynb new file mode 100644 index 0000000000..318296d2d9 --- /dev/null +++ b/GitHub/GitHub_Get_interactions_from_repository_url.ipynb @@ -0,0 +1,604 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "84cadd0c", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "\"GitHub.png\"" + ] + }, + { + "cell_type": "markdown", + "id": "0d43ed38", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "# GitHub - Get interactions from repository url\n", + "Give Feedback | Bug report" + ] + }, + { + "cell_type": "markdown", + "id": "d9313642", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Tags:** #github #issues #reaction #comment #creator #assignees #automation" + ] + }, + { + "cell_type": "markdown", + "id": "8faf487c", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Author:** [Varsha Kumar](https://www.linkedin.com/in/varsha-kumar-590466305/)" + ] + }, + { + "cell_type": "markdown", + "id": "3dba1c73-548d-4008-82ad-fdb2cb376771", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Last update:** 2024-06-17 (Created: 2024-06-11)" + ] + }, + { + "cell_type": "markdown", + "id": "naas-description", + "metadata": { + "papermill": {}, + "tags": [ + "description" + ] + }, + "source": [ + "**Description:** This notebook allows users to retrieve interaction data from issues on a given repository." + ] + }, + { + "cell_type": "markdown", + "id": "7412988b", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "## Input" + ] + }, + { + "cell_type": "markdown", + "id": "08d67409-3dac-4e9b-bbe5-985c2010b916", + "metadata": {}, + "source": [ + "### Import libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "353ef79c", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:35:35.908629Z", + "iopub.status.busy": "2024-06-19T14:35:35.908192Z", + "iopub.status.idle": "2024-06-19T14:35:37.244238Z", + "shell.execute_reply": "2024-06-19T14:35:37.243624Z", + "shell.execute_reply.started": "2024-06-19T14:35:35.908550Z" + }, + "papermill": {}, + "tags": [] + }, + "outputs": [], + "source": [ + "import requests\n", + "import re\n", + "import pandas as pd\n", + "import naas_python as naas\n", + "from urllib.parse import urlparse\n", + "import time\n", + "import plotly.express as px\n", + "from naas_drivers import github\n", + "import ipywidgets as widgets\n", + "from IPython.display import display, clear_output" + ] + }, + { + "cell_type": "markdown", + "id": "68b48858", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "### Setup variables\n", + "- `github_token`: personal token creates\n", + "- `repo_url`: link to the chosen github repo\n", + "- `output_csv`: output to excel file" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "01647a55", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:35:46.397448Z", + "iopub.status.busy": "2024-06-19T14:35:46.397154Z", + "iopub.status.idle": "2024-06-19T14:35:47.025857Z", + "shell.execute_reply": "2024-06-19T14:35:47.025263Z", + "shell.execute_reply.started": "2024-06-19T14:35:46.397415Z" + }, + "papermill": {}, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "jupyter-naas_workspace_interactions.csv\n" + ] + } + ], + "source": [ + "github_token = naas.secret.get(\"GITHUB_TOKEN\").value\n", + "repo_url = \"https://github.com/jupyter-naas/workspace\"\n", + "output_csv = f\"{repo_url.split('github.com/')[1].replace('/', '_')}_interactions.csv\"\n", + "print(output_csv)" + ] + }, + { + "cell_type": "markdown", + "id": "93347abb", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "## Model" + ] + }, + { + "cell_type": "markdown", + "id": "9b3d4abb-f7f9-49f4-a237-4e622eb0be8e", + "metadata": {}, + "source": [ + "### Get issues and the issue type" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c432c612-892a-409a-bfaf-7b2fa9d5d4ca", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:36:00.017885Z", + "iopub.status.busy": "2024-06-19T14:36:00.017652Z", + "iopub.status.idle": "2024-06-19T14:36:00.025419Z", + "shell.execute_reply": "2024-06-19T14:36:00.024780Z", + "shell.execute_reply.started": "2024-06-19T14:36:00.017860Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def get_github_owner_repo(repo_url):\n", + " parts = repo_url.rstrip('/').split('/')\n", + " owner = parts[-2]\n", + " repo = parts[-1]\n", + " return owner, repo\n", + "\n", + "def get_issues(owner, repo, token, limit=1000):\n", + " api_url = f\"https://api.github.com/repos/{owner}/{repo}/issues\"\n", + "\n", + " headers = {\n", + " 'Authorization': f'token {token}',\n", + " 'Accept': 'application/vnd.github.v3+json'\n", + " }\n", + "\n", + " issues = []\n", + " page = 1\n", + "\n", + " while len(issues) < limit:\n", + " response = requests.get(api_url, headers=headers, params={'per_page': 100, 'page': page})\n", + " if response.status_code != 200:\n", + " raise Exception(f\"Error: {response.status_code} - {response.text}\")\n", + "\n", + " page_issues = response.json()\n", + " if not page_issues:\n", + " break\n", + "\n", + " issues.extend(page_issues)\n", + " if len(issues) >= limit:\n", + " issues = issues[:limit]\n", + " break\n", + "\n", + " page += 1\n", + "\n", + " return issues" + ] + }, + { + "cell_type": "markdown", + "id": "c44d0487-7974-4041-a5d9-3dddafb177ba", + "metadata": {}, + "source": [ + "### Get interactions from issues" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "25515662-6221-4d31-bce9-e811ab1a70c6", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:36:07.644419Z", + "iopub.status.busy": "2024-06-19T14:36:07.644183Z", + "iopub.status.idle": "2024-06-19T14:36:07.654098Z", + "shell.execute_reply": "2024-06-19T14:36:07.653543Z", + "shell.execute_reply.started": "2024-06-19T14:36:07.644394Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Get organization owner(s)\n", + "def get_repository_info(repo_url, token):\n", + " headers = {\n", + " 'Authorization': f'token {token}',\n", + " 'Accept': 'application/vnd.github.v3+json'\n", + " }\n", + "\n", + " response = requests.get(repo_url, headers=headers)\n", + " if response.status_code != 200:\n", + " raise Exception(f\"Error: {response.status_code} - {response.text}\")\n", + "\n", + " repo_data = response.json()\n", + " return repo_data\n", + "\n", + "def get_organization_members(org_name, token, role='all'):\n", + " api_url = f\"https://api.github.com/orgs/{org_name}/members\"\n", + " headers = {\n", + " 'Authorization': f'token {token}',\n", + " 'Accept': 'application/vnd.github.v3+json'\n", + " }\n", + " params = {'role': role}\n", + "\n", + " response = requests.get(api_url, headers=headers, params=params)\n", + " if response.status_code != 200:\n", + " raise Exception(f\"Error: {response.status_code} - {response.text}\")\n", + "\n", + " members = response.json()\n", + " return members\n", + "\n", + "def get_organization_owners(org_name, token):\n", + " owners = get_organization_members(org_name, token, role='admin')\n", + " return owners\n", + "\n", + "# Get pull request commit(s)\n", + "def get_pull_request_commits(pull_request_url, token):\n", + " headers = {\n", + " 'Authorization': f'token {token}',\n", + " 'Accept': 'application/vnd.github.v3+json'\n", + " }\n", + "\n", + " response = requests.get(pull_request_url + \"/commits\", headers=headers)\n", + " if response.status_code != 200:\n", + " raise Exception(f\"Error: {response.status_code} - {response.text}\")\n", + "\n", + " commits = response.json()\n", + " return commits\n", + "\n", + "# Get comments and reactions from issues\n", + "def get_all_comments(api_url, personal_access_token):\n", + " # Set up headers with personal access token for authentication\n", + " headers = {\n", + " 'Authorization': f'token {personal_access_token}',\n", + " 'Accept': 'application/vnd.github.v3+json'\n", + " }\n", + "\n", + " # Get comments for the issue\n", + " response = requests.get(api_url + '/comments', headers=headers)\n", + " if response.status_code != 200:\n", + " raise Exception(f\"Error fetching comments from GitHub: {response.status_code} {response.reason}\")\n", + " comments = response.json()\n", + "\n", + " return comments\n", + "\n", + "def get_comment_reactions(comment_url, personal_access_token):\n", + " headers = {\n", + " \"Authorization\": f\"token {personal_access_token}\",\n", + " \"Accept\": \"application/vnd.github.squirrel-girl-preview+json\"\n", + " }\n", + " # Get reactions for the issue\n", + " response = requests.get(comment_url + \"/reactions\", headers=headers)\n", + " response.raise_for_status()\n", + " return response.json()" + ] + }, + { + "cell_type": "markdown", + "id": "b819d06a", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "### Get table of interactions" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9c8fcf83-0e5f-4b5f-857d-6356c066f78a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:36:09.378807Z", + "iopub.status.busy": "2024-06-19T14:36:09.378580Z", + "iopub.status.idle": "2024-06-19T14:37:14.393586Z", + "shell.execute_reply": "2024-06-19T14:37:14.392904Z", + "shell.execute_reply.started": "2024-06-19T14:36:09.378783Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "data = []\n", + "def get_interactions(\n", + " url,\n", + " uid,\n", + " issue_state,\n", + " owners,\n", + " contributors,\n", + " interaction_type,\n", + " content,\n", + " time,\n", + " user_login,\n", + " user_id\n", + "):\n", + " return {\n", + " \"URL\": url,\n", + " \"ID\": uid,\n", + " \"ISSUE_STATE\": issue_state,\n", + " \"ORGANIZATION_OWNER(S)\": owners,\n", + " \"CONTRIBUTOR(S)\": participants,\n", + " \"INTERACTION_TYPE\": interaction_type,\n", + " \"CONTENT\": content,\n", + " \"DATE_TIME\": time,\n", + " \"USER_LOGIN\": user_login,\n", + " \"USER_ID\": user_id,\n", + " }\n", + " \n", + "owner, repo = get_github_owner_repo(repo_url)\n", + "issues = get_issues(owner, repo, github_token)\n", + " \n", + "for issue in issues:\n", + "\n", + " # Get contributors for issue\n", + " participants = set()\n", + " \n", + " # Get organization owners for issue\n", + " repo_url = '/'.join(issue['url'].split('/')[:-2])\n", + " repo_data = get_repository_info(repo_url, github_token)\n", + " owners_output = \"\"\n", + " if 'organization' in repo_data['owner']['type'].lower():\n", + " org_name = repo_data['owner']['login']\n", + " owners = get_organization_owners(org_name, github_token)\n", + " for owner in owners:\n", + " if (owners.index(owner) != len(owners)-1):\n", + " owners_output += f\"{owner['login']}, \"\n", + " else:\n", + " owners_output += f\"{owner['login']}\"\n", + " else:\n", + " owners_output = \"NONE\"\n", + " \n", + " # Basic issue data\n", + " issue_state = issue['state']\n", + " is_pull_request = 'pull_request' in issue\n", + " issue_state = 'Pull Request' if is_pull_request else issue_state\n", + " issue_number = issue['number']\n", + " issue_url = issue['url']\n", + " issue_content = issue['title']\n", + " issue_time = issue['created_at']\n", + " issue_user_login = issue['user']['login']\n", + " issue_user_id = issue['user']['id']\n", + " participants.add(issue['user']['login'])\n", + "\n", + " # Get creator\n", + " data_creator = get_interactions(\n", + " issue_url,\n", + " str(issue_number) + \"_\" + str(issue_user_id),\n", + " issue_state,\n", + " owners_output,\n", + " participants,\n", + " \"CREATOR\",\n", + " issue_content,\n", + " issue_time,\n", + " issue_user_login,\n", + " issue_user_id,\n", + " )\n", + " data.append(data_creator)\n", + " \n", + " # Get Assignees\n", + " if len(issue['assignees']) > 0:\n", + " for assignee in issue['assignees']:\n", + " participants.add(assignee['login'])\n", + " data_assignee = get_interactions(\n", + " issue_url,\n", + " str(issue_number) + \"_\" + str(assignee['id']),\n", + " issue_state,\n", + " owners_output,\n", + " participants,\n", + " \"ASSIGNEE\",\n", + " issue_content,\n", + " issue_time,\n", + " assignee['login'],\n", + " assignee['id'],\n", + " )\n", + " data.append(data_assignee)\n", + " \n", + " # Get comments\n", + " comments = get_all_comments(issue_url, github_token)\n", + " for comment in comments:\n", + " comment_id = comment['id']\n", + " comment_body = comment['body']\n", + " comment_created_at = comment['created_at']\n", + " comment_user_login = comment['user']['login']\n", + " comment_user_id = comment['user']['id']\n", + " participants.add(comment['user']['login'])\n", + " data_comment = get_interactions(\n", + " issue_url,\n", + " str(issue_number) + \"_\" + str(comment_id),\n", + " issue_state,\n", + " owners_output,\n", + " participants,\n", + " \"COMMENT\",\n", + " comment_body,\n", + " comment_created_at,\n", + " comment_user_login,\n", + " comment_user_id,\n", + " )\n", + " \n", + " data.append(data_comment)\n", + " #print (comment)\n", + " reactions = get_comment_reactions(comment['url'], github_token)\n", + " if len(reactions) > 0:\n", + " for reaction in reactions:\n", + " reaction_id = reaction['id']\n", + " reaction_body = reaction['content']\n", + " reaction_created_at = reaction['created_at']\n", + " reaction_user_login = reaction['user']['login']\n", + " reaction_user_id = reaction['user']['id']\n", + " participants.add(reaction['user']['login'])\n", + " data_reaction = get_interactions(\n", + " issue_url,\n", + " str(issue_number) + \"_\" + str(reaction_id),\n", + " issue_state,\n", + " owners_output,\n", + " participants,\n", + " \"REACTION\",\n", + " reaction_body,\n", + " reaction_created_at,\n", + " reaction_user_login,\n", + " reaction_user_id,\n", + " )\n", + " data.append(data_reaction)\n", + " \n", + " if (issue_state == 'Pull Request'):\n", + " pull_request_url = issue['pull_request']['url']\n", + " commits = get_pull_request_commits(pull_request_url, github_token)\n", + " for commit in commits:\n", + " commit_id = commit['node_id']\n", + " commit_body = commit['commit']['message']\n", + " commit_created_at = commit['commit']['author']['date']\n", + " commit_user_login = commit['author']['login']\n", + " commit_user_id = commit['author']['id']\n", + " participants.add(commit['author']['login'])\n", + " data_commits = get_interactions(\n", + " issue_url,\n", + " str(issue_number) + \"_\" + str(commit_id),\n", + " issue_state,\n", + " owners_output,\n", + " participants,\n", + " \"COMMIT\",\n", + " commit_body,\n", + " commit_created_at,\n", + " commit_user_login,\n", + " commit_user_id,\n", + " )\n", + " data.append(data_commits)\n", + " \n", + "df = pd.DataFrame(data)" + ] + }, + { + "cell_type": "markdown", + "id": "bcc68d67-5ee5-4bc7-8af5-fbf1951afe9c", + "metadata": {}, + "source": [ + "## Output" + ] + }, + { + "cell_type": "markdown", + "id": "99326698-b159-4d99-a808-2e0a0265edf4", + "metadata": {}, + "source": [ + "### Save DataFrame to csv" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a4262376-54fc-4a0e-bd37-b9a6749b60d2", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:37:14.399069Z", + "iopub.status.busy": "2024-06-19T14:37:14.397172Z", + "iopub.status.idle": "2024-06-19T14:37:14.438835Z", + "shell.execute_reply": "2024-06-19T14:37:14.438292Z", + "shell.execute_reply.started": "2024-06-19T14:37:14.399029Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "df.to_csv(output_csv, index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "948d5678-df40-4864-aa1c-8f44418003df", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.9.6" + }, + "naas": { + "notebook_id": "b8a92a0e4b6e40db304564f999566443fb35e93df716ab4be5021aabba8230ee", + "notebook_path": "GitHub/GitHub_Add_new_issues_as_page_in_Notion_database.ipynb" + }, + "papermill": { + "default_parameters": {}, + "environment_variables": {}, + "parameters": {}, + "version": "2.3.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/GitHub/GitHub_Rank_interactions_by_contributors.ipynb b/GitHub/GitHub_Rank_interactions_by_contributors.ipynb new file mode 100644 index 0000000000..50f6b41076 --- /dev/null +++ b/GitHub/GitHub_Rank_interactions_by_contributors.ipynb @@ -0,0 +1,1621 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "84cadd0c", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "\"GitHub.png\"" + ] + }, + { + "cell_type": "markdown", + "id": "0d43ed38", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "# GitHub - Rank interactions by contributors\n", + "Give Feedback | Bug report" + ] + }, + { + "cell_type": "markdown", + "id": "d9313642", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Tags:** #github #reaction #comment #creator #assignees #automation" + ] + }, + { + "cell_type": "markdown", + "id": "8faf487c", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Author:** [Varsha Kumar](https://www.linkedin.com/in/varsha-kumar-590466305/)" + ] + }, + { + "cell_type": "markdown", + "id": "3dba1c73-548d-4008-82ad-fdb2cb376771", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "**Last update:** 2024-06-17 (Created: 2024-06-04)" + ] + }, + { + "cell_type": "markdown", + "id": "naas-description", + "metadata": { + "papermill": {}, + "tags": [ + "description" + ] + }, + "source": [ + "**Description:** This notebook ranks all interactions made by contributors in a repository." + ] + }, + { + "cell_type": "markdown", + "id": "7412988b", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "## Input" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "353ef79c", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:36.115539Z", + "iopub.status.busy": "2024-06-19T14:38:36.115003Z", + "iopub.status.idle": "2024-06-19T14:38:37.977978Z", + "shell.execute_reply": "2024-06-19T14:38:37.977404Z", + "shell.execute_reply.started": "2024-06-19T14:38:36.115466Z" + }, + "papermill": {}, + "tags": [] + }, + "outputs": [], + "source": [ + "import requests\n", + "import re\n", + "import pandas as pd\n", + "import naas_python as naas\n", + "from urllib.parse import urlparse\n", + "import time\n", + "import plotly.express as px\n", + "from naas_drivers import github\n", + "import ipywidgets as widgets\n", + "from IPython.display import display\n", + "from IPython.display import display, clear_output" + ] + }, + { + "cell_type": "markdown", + "id": "68b48858", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "### Setup variables\n", + "- `github_token`: personal token creates\n", + "- `github_url`: link to the chosen github repo\n", + "- `input_csv`: excel file" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "01647a55", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:37.979425Z", + "iopub.status.busy": "2024-06-19T14:38:37.979172Z", + "iopub.status.idle": "2024-06-19T14:38:39.923663Z", + "shell.execute_reply": "2024-06-19T14:38:39.923038Z", + "shell.execute_reply.started": "2024-06-19T14:38:37.979398Z" + }, + "papermill": {}, + "tags": [] + }, + "outputs": [], + "source": [ + "github_token = naas.secret.get(\"GITHUB_TOKEN\").value\n", + "repo_url = \"https://github.com/jupyter-naas/workspace\"\n", + "input_csv = \"jupyter-naas_workspace_interactions.csv\"" + ] + }, + { + "cell_type": "markdown", + "id": "93347abb", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "## Model" + ] + }, + { + "cell_type": "markdown", + "id": "718e4c74-7ae6-432c-9e4f-f369239f78a5", + "metadata": {}, + "source": [ + "### Reads excel file" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "410cdf20-83eb-48db-8d9c-523d2b8c0a6d", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:39.924964Z", + "iopub.status.busy": "2024-06-19T14:38:39.924600Z", + "iopub.status.idle": "2024-06-19T14:38:39.961484Z", + "shell.execute_reply": "2024-06-19T14:38:39.960976Z", + "shell.execute_reply.started": "2024-06-19T14:38:39.924931Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "df = pd.read_csv(input_csv)" + ] + }, + { + "cell_type": "markdown", + "id": "08e3ea7e-b513-4208-a73e-4e510c20d0a4", + "metadata": {}, + "source": [ + "### Ranks contributors by interactions" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "58ead729-b221-4d54-8f0f-ca728550c505", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:39.964089Z", + "iopub.status.busy": "2024-06-19T14:38:39.963783Z", + "iopub.status.idle": "2024-06-19T14:38:40.386690Z", + "shell.execute_reply": "2024-06-19T14:38:40.385002Z", + "shell.execute_reply.started": "2024-06-19T14:38:39.964066Z" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USER_LOGINNUMBER_OF_INTERACTIONS
0jravenel97
1FlorentLvr57
2Dr0p4240
3bijo-babu28
4KanthPro22
5srini0471
\n", + "
" + ], + "text/plain": [ + " USER_LOGIN NUMBER_OF_INTERACTIONS\n", + "0 jravenel 97\n", + "1 FlorentLvr 57\n", + "2 Dr0p42 40\n", + "3 bijo-babu 28\n", + "4 KanthPro 22\n", + "5 srini047 1" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def get_interactions(df):\n", + " # Groupby and count\n", + " df = df.groupby([\"USER_LOGIN\"], as_index=False).agg({\"ID\": \"count\"})\n", + "\n", + " # Cleaning\n", + " df = df.rename(columns={\"ID\": \"NUMBER_OF_INTERACTIONS\"})\n", + " return df.sort_values(by=\"NUMBER_OF_INTERACTIONS\", ascending=False).reset_index(drop=True)\n", + "\n", + "\n", + "df_statistics = get_interactions(df)\n", + "pd.DataFrame(df_statistics)" + ] + }, + { + "cell_type": "markdown", + "id": "0301eedb-6ed3-4fe7-943a-c40f0849f33b", + "metadata": {}, + "source": [ + "### Create barchart for rankings" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "5d3f856b-05e1-4512-a690-389b20b82c92", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:40.388874Z", + "iopub.status.busy": "2024-06-19T14:38:40.388532Z", + "iopub.status.idle": "2024-06-19T14:38:40.630902Z", + "shell.execute_reply": "2024-06-19T14:38:40.630329Z", + "shell.execute_reply.started": "2024-06-19T14:38:40.388844Z" + } + }, + "outputs": [], + "source": [ + "def create_ranking_barchart(df, url):\n", + " # Get repository\n", + " repository = url.split(\"/\")[-1]\n", + "\n", + " # Sort df\n", + " df = df.sort_values(by=\"NUMBER_OF_INTERACTIONS\")\n", + "\n", + " # Calc commits\n", + " interactions = df.NUMBER_OF_INTERACTIONS.sum()\n", + "\n", + " # Create fig\n", + " fig = px.bar(\n", + " df,\n", + " y=\"USER_LOGIN\",\n", + " x=\"NUMBER_OF_INTERACTIONS\",\n", + " orientation=\"h\",\n", + " title=f\"GitHub - {repository} : Issue interactions by user
Total interactions: {interactions}\",\n", + " text=\"NUMBER_OF_INTERACTIONS\",\n", + " labels={\"USER_LOGIN\": \"Login\", \"NUMBER_OF_INTERACTIONS\": \"Number of Interactions\"},\n", + " )\n", + " fig.update_traces(marker_color=\"black\")\n", + " fig.update_layout(\n", + " plot_bgcolor=\"#ffffff\",\n", + " width=1000,\n", + " height=1200,\n", + " font=dict(family=\"Arial\", size=14, color=\"black\"),\n", + " paper_bgcolor=\"white\",\n", + " xaxis_title=None,\n", + " xaxis_showticklabels=False,\n", + " yaxis_title=None,\n", + " margin_pad=10,\n", + " )\n", + " fig.show()\n", + " return fig" + ] + }, + { + "cell_type": "markdown", + "id": "a05a3ea1-7719-49ec-baf1-f95c2b881caa", + "metadata": {}, + "source": [ + "### Create barchart for selected user" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9fb5f1b1-17fc-4872-87ba-3229daf9a0ba", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:40.632258Z", + "iopub.status.busy": "2024-06-19T14:38:40.631999Z", + "iopub.status.idle": "2024-06-19T14:38:41.065558Z", + "shell.execute_reply": "2024-06-19T14:38:41.064966Z", + "shell.execute_reply.started": "2024-06-19T14:38:40.632225Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def create_selected_user_barchart(df, user, url):\n", + " \n", + " repository = url.split(\"/\")[-1]\n", + " \n", + " # Sort df\n", + " df = df.sort_values(by=\"AMOUNT\")\n", + "\n", + " # Calc commits\n", + " interactions = df.AMOUNT.sum()\n", + "\n", + " # Create fig\n", + " fig = px.bar(\n", + " df,\n", + " y=\"TYPE\",\n", + " x=\"AMOUNT\",\n", + " orientation=\"h\",\n", + " title=f\"GitHub - {repository} : Issue interactions by user
Total interactions: {interactions}
User: {user}
\",\n", + " text=\"AMOUNT\",\n", + " labels={\"TYPE\": \"type\", \"AMOUNT\": \"amount\"},\n", + " )\n", + " fig.update_traces(marker_color=\"black\")\n", + " fig.update_layout(\n", + " plot_bgcolor=\"#ffffff\",\n", + " width=1000,\n", + " height=800,\n", + " font=dict(family=\"Arial\", size=14, color=\"black\"),\n", + " paper_bgcolor=\"white\",\n", + " xaxis_title=None,\n", + " xaxis_showticklabels=False,\n", + " yaxis_title=None,\n", + " margin_pad=10,\n", + " )\n", + " fig.show()\n", + " return fig" + ] + }, + { + "cell_type": "markdown", + "id": "b819d06a", + "metadata": { + "papermill": {}, + "tags": [] + }, + "source": [ + "## Output" + ] + }, + { + "cell_type": "markdown", + "id": "b1f2d5fc-4d27-40a4-b198-deb35a049bfa", + "metadata": {}, + "source": [ + "### Display rankings on bar chart" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "44f46f37-b447-430b-8e8f-3d4206c51ab4", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:41.067059Z", + "iopub.status.busy": "2024-06-19T14:38:41.066876Z", + "iopub.status.idle": "2024-06-19T14:38:41.925976Z", + "shell.execute_reply": "2024-06-19T14:38:41.925327Z", + "shell.execute_reply.started": "2024-06-19T14:38:41.067039Z" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Number of Interactions=%{text}
Login=%{y}", + "legendgroup": "", + "marker": { + "color": "black" + }, + "name": "", + "offsetgroup": "", + "orientation": "h", + "showlegend": false, + "text": [ + 1, + 22, + 28, + 40, + 57, + 97 + ], + "textposition": "auto", + "type": "bar", + "x": [ + 1, + 22, + 28, + 40, + 57, + 97 + ], + "xaxis": "x", + "y": [ + "srini047", + "KanthPro", + "bijo-babu", + "Dr0p42", + "FlorentLvr", + "jravenel" + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "font": { + "color": "black", + "family": "Arial", + "size": 14 + }, + "height": 1200, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "pad": 10 + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#ffffff", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "GitHub - workspace : Issue interactions by user
Total interactions: 245" + }, + "width": 1000, + "xaxis": { + "anchor": "y", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 102.10526315789474 + ], + "showticklabels": false, + "title": {}, + "type": "linear" + }, + "yaxis": { + "anchor": "x", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + -0.5, + 5.5 + ], + "title": {}, + "type": "category" + } + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAABn8AAASwCAYAAAA6+V8iAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Q20ZWVdP/CtKDYoLzEoKYJILiEpSVJSGCp5cVyVYaBMOgNZUhPOiEAQlTFOkJaigsOLjWAWLymYaPgSU4DmQJYRRQVBKaFFJoEo1JCZ+V+//V/PXfueOfeec+eeZ3yesz9nLdc0957zO7/9+e1zWO3vPM9+zLe+9a1vNR4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTIfAY4c9UzNFBECBAgAABAgQIECBAgAABAgQIECBAgAABAgRaAeGPE4EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEUCwp8pGqZDIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgIf5wDBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEpEhD+TNEwHQoBAgQIECBAgAABAgQIECBAgAABAgQIECBAQPjjHCBAgAABAgQIECBAgAABAgQIECBAgAABAgQITJGA8GeKhulQCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLCH+cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCKBIQ/UzRMh0KAAAECBAgQIECAAAECBAgQIECAAAECBAgQEP44BwgQIECAAAECBAgQIECAAAECBAgQIECAAAECUyQg/JmiYToUAgQIECBAgAABAgQIECBAgAABAgQIECBAgIDwxzlAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJgiAeHPFA3ToRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEhD/OAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAFAkIf6ZomA6FAAECBAgQIECAAAECBAgQIECAAAECBAgQICD8cQ4QIECAAAECBAgQIECAAAECBAgQIECAAAECBKZIQPgzRcN0KAQIECBAgAABAgQIECBAgAABAgQIECBAgAAB4Y9zgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRQLCnykapkMhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAh/nAMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSkSEP5M0TAdCgECBAgQIECAAAECBAgQIECAAAECBAgQIEBA+OMcIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMkYDwZ4qG6VAIECBAgAABAgQIECBAgAABAgQIECBAgAABAsIf5wABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIoEhD9TNEyHQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQ/jgHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTJCD8maJhOhQCBAgQIECAAAECBAgQIECAAAECBAgQIECAgPDHOUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQmCIB4c8UDdOhECBAgAABAgQIECBAgAABAgQIECBAgAABAgSEP84BAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAUCQh/pmiYDoUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIPxxDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpkhA+DNFw3QoBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHhj3OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBFAsKfjMP8+te/3nz6059urrrqquZTn/pU84UvfKHZfffdm0MPPbR5+ctf3rzyla9sdtlll5kOHn300ea0005r7r333vY1S5cubX8Xf//MZz7TvOpVr5p5bvx+1apVzc0339wcdthhQ4/i7rvvblasWNEcd9xxzdlnn73gI73llluaZcuWzfseCy5a+AsWa1b44W2X9s4999xm3bp1U3PezPW5XAjmsM/wQl6/vZ8b312f+MQnmoMOOqjZb7/92rdP3wdXXnlls3Llyu3d0tjvlz7DZ555ZtF9jn1AnkiAAAECBAgQIECAAAECBAgQIEBgGwSEP9uANs5L/umf/qk5/fTTmz/90z9tfvzHf7z939Oe9rTmoYceajZt2tR88IMfbPbee+/m3e9+d/OiF72oLTnsIvODDz7YXsCMgKcb4Ah/xpnCwp8j/Fm42eArhD+zReb6DC9eOl+F+H4577zzmquvvrrZf//92zcS/uTzVpkAAQIECBAgQIAAAQIECBAgQIDApAWEP5MWbZrmy1/+crN69erm3//935sLL7ywef7zn9885jGPmfVOf//3f9+cdNJJzZ577tlceumlzVOe8pShnQh/MgxonpLCn8V7T1v4s1iRaQl/FuuwvV5v5c/2kvY+BAgQIECAAAECBAgQIECAAAECJQsIfyY8nW9+85vN2972tuY3f/M3mz/4gz9oXvKSl8z5Dh/+8Iebyy+/vFm/fn27vdKwh/BnwgMaUU74s3hv4c9sQ+HP4s+phVQQ/ixEy3MJECBAgAABAgQIECBAgAABAgSmVUD4M+HJxn19Xv3qVzfPfvazm4suuqh54hOfOPY7DG77dtddd7X33Ok+0v02tnXbt/nu4xMX7eP36X5D6bl/8id/0nzuc59rLrnkkvb+Q0ceeWRz6qmnNj/0Qz+01YqmsQ92yBOvu+669j5Gf/RHfzTrPkbpWH/7t3+7XVGVHn/1V3/VvOxlL2vi5z/xEz/RfOtb32r+/M//vF1tFVvrfeMb32h7PeWUU5of/uEfbh772Me2L03OsQ3fc5/73Pb+NA8//HDz67/+680LXvCCdn7d+yTF/U/e+c53toFeGMTvo1ZYbNiwobn22mvb+zk973nPa44//vjm53/+59t7O8UjXYiOezk94QlPaC644ILmL/7iL9q+Xve617V9P+5xj5s5pv/6r/9qA8EPfehDzWc/+9nmkUceGVo3veA//uM/mve+973N7/7u77bvNVfdwef94A/+YPOa17ym+emf/ulmyZIlixnbVq8dFv6E4cc+9rF2m8Mbb7yx9Yle16xZM+s8Gvd5g+dqamKuoCW5/t7v/V7rH1uZxfF3ZzUXwrDtGOOzEb1fccUVTazie9e73tXWDdc3vOENzbHHHtvOO32Ghn2G42fj9hXHe99997XnV4TFd9xxR/OLv/iL7f8e//jHt9tLxucgeohz8RnPeEZz1FFHtb183/d936xDm++cic9MnKsbN26cec3y5cvb74T0fTR4z59/+7d/ay6++OL2nI1zMAzivDrxxBNnff+lY/iVX/mVdrVj1PnKV77SvPSlL21++Zd/uT3P0wrJcc+DYTPrfuZ23nnn9jO3efPmrT4b8X3x5je/uf28RVAf3wXdR/p+ie/xmOewx0K+T+P143xnxPOit7/9279tz6s//MM/nPkuG/zeTcf61re+tb0vXHz3xbzjmL//+79/op9rxQgQIECAAAECBAgQIECAAAECBOoSEP5MeF4RlMRqn8GgYpy3GbzIHBcA44JeXKCMC5MROjzzmc9sL+xuz/Dn0EMPbS8+xoXmCAriwm1cbH7Pe97T/NRP/dQ4hzbWc9KFzLhwHBeg4xErqeJeRxG8RFjyjne8o/mO7/iO9ndxgTrChLgvSYRt73//+5tf+IVfaC8mv+pVr2p23HHH1ilCh7e85S3t7yJoSc4RFO22227NySef3PzP//xPe7E0XrNixYqZ8Od///d/2/eMGZx//vntRe2oEfd0OuGEE9rXx/Z93/md39le6I+LtXF/p7gIu8suu8yEP+EWQc5rX/va5nu/93vbC99x0TlWicW9oXbYYYf2flCvf/3rm5tvvrntNYKo//7v/277j+OIoCL6iFAhHv/wD//Q/MzP/Ezz1a9+tQ3Fom6sJovacbwRTsTF9HCN933ggQfa58W5lHqN+UUP84WUXa/uPWDmGupg+BMzjPDst37rt9owIu5fFcd62WWXNX/2Z382s0Ju3OfF+y4k/IltGMM1Qqf0/nFhPc6fAw44oP0ztl+c6zFX+BP2caE9Apw4B2LGMac4D+Pie4SOEUbN9RleSF9xvGH/pCc9qZ350qVLmz322KMNNSN4+dVf/dX2s3jMMce0n49bb721ed/73tc+J86Hfffdd6xzJs67CLM+8pGPNL//+7/fvOlNb2q++7u/uw1momaE0d3wJ52D//d//9f2FZ/DdG792I/9WPvZefKTn9y+dxzDJz/5yTbYiHM1gs8UHN1///3teRBbZC7kPBg2s/Q9kj5zMfv99ttv6GcuAtaXv/zl7XF2g+XoMT7v11xzTTvP+N4d9lhI+DPud0a8d8w6Pr/xHdA9t+K7IP7bEt9v6bMd31fx+X3Ws57V/jxCwgir4jvJgwABAgQIECBAgAABAgQIECBAoL8Cwp8Jzz6FMn/8x3/cHH300QuqPuwi86ht38Z5g3POOacNUOKxkIuV6blxETcu1H/Xd31XWyNWycQF1bhwGwHGU5/61HHaGPmcCEfigudOO+3UXniNi7cRWETIcvvtt7erNcI3Vuwkqygaz73nnnuaV77ylc2LX/ziWWFGrCCIFT1xITtdXE6vjZVGcZH7kEMOmemtu+1brFCIlSJxYT38UngUT47jfvvb395eHI4AIR5x0Tac4r0i/IkL3KleBDRRKy7WxyNCpbjgHGHNBz/4webAAw9sZxOuv/ZrvzZrpUE8941vfGMbXnzgAx9oL/LGcf3SL/1SG8LFxenv+Z7vmVU3nhs/D6t47Q033DDrefHkm266qV1pFRflIxya67HY8CdWmkRwGaFPHHNa3REXqSPQinAxjiWMxnlerHQZN/yJmcTqrFgZEaHFEUccMXOYEVzExfIIIaKvCOCGPeYKfyIIibClGx5FqBWWUSvOhV133bUNgFauXNkef/ocLrSvFKjF6pruKpSwjUArwqsI11IwGMcRK+h+9Ed/tD1nIiAY95yJoCM+Z+edd14bQsTnrvvdkcKfCL3Wrl3bhpARNKVzMI7t+uuvb98z+o4QLGaejiH6jCA5rXhLAcyZZ57Zhr7jni9xHgx7pM9c/G7YZ6P7mUvzilAtQrRYKRSP9PMIzaLfCIWHPRbyfTrud0asDorP5XOe85z2uy0Fs/E9EL3E90v6zkjHGuFWrAAU+Iz8z4wnECBAgAABAgQIECBAgAABAgR6IyD8mfCoF3O/k20Jf+Li69Of/vShRxFbKsW2VLGyZTHhT1zEHgwH0gqnbQm55iOPi50R0sQFzljhFCs0Yvuo+NfvEbbEhewXvvCF7dZWERTE7+Jf7MfrYhXQsO2bosYrXvGKdmVCBDrJ+fOf/3z7PmllQvSVLqbGBfYIWeJi9BlnnNH+2d2eLS7kxlZV8a/wY6VP2lJu8NhSvbgIH+dGN2BIfcV80kqnuWwGL8bHNnyx0iNWLUS4kwKVdJE+AoG4ULz33nu3F+Hj+Aefl8K2eE33wvdiPxKDn4F0MT/O01hl1PXuvte4z4vXjBv+pPAwzqUUKKb3TKvKYmVOChWHHft84c/gCr8IPiJsjFVlafvEYeHPQvuK440L/t2wcdScBu99M+45E9vFjRP+pG3RBlfNRF/p3ErfQRFKxDHE99HgZzTNPbaRjO+phZwHwwzScQ8L9dJnLsKntNJn2HdHBFKxxV4EKrE94VyPhYY/43xnhH18Jwxufxk9DPafjjWtXup+D4w6P/yeAAECBAgQIECAAAECBAgQIEBgugWEPxOeb4QCsTVYrMiIi5ndR1oVNPiWaWXOtoQ/sUVYrCiY7yJo9/41C7lYOd9z4/4fcXE0ApVRwcVCiOM9I3iJ++jEccXKg7ifTazciEAjAo+4aBvhUzh/9KMfbVfNxMXcf/zHf9wqzIn3Thff41/xx4XeeETPW7Zs2Sr06K4aiJUo8Yi5DRqnLZzS/WNi1VFsN3fwwQfPuofOfDefT33Ftlrd7exiC7pYFROrmeL1cSH6U5/6VLvFXFqJkWYzeP+VQev0vLhA/yM/8iOzfh3hR1zc/tKXvjRv+LGQ+cVz59r2LVb3xMqKuJgeM45+IhBKF6zTdl+jnpfeo3t/qtTjYNCS/GN1V4SFg4+4n8rHP/7xoaFheu584U+8PkKG7iOOP1a+pABzWPiz0L6iZqzUmiukim3X4n3iMxDB6N/8zd+0q73++q//emabtnHPmXTOj1r5E+difB6HfdelGcVKpXTODroMzixWukRgGQFpbBM4znkw3/derCSKFVfdRwqWYru+tKJnMFBJW75F+DJqZeNCvk/H/c5IIVl8Zvfaa6+t+o/fR+Acf0agF+FuhEXdbesW+pn1fAIECBAgQIAAAQIECBAgQIAAgekTEP5MeKbz3fMnVgPEhdL0GFyZU1P4090eLa0qGqQcdrP7dPP4uGfJsEdsJRcXbOOCemwXFbXjvjdxk/tYtRPbWsX9f+LC9G233daGF3GPkwhzYruktNqiW3uu8CeeM7gaJB1XbDP3mte8pt3SKrZOi629BlesRK+/8zu/015cj9fFY/fdd2+3bYst4mLbulQvth4bDAMH+4ptrGJ1R6wcSfViy60wi5VFcb+UhYY/cwWOXZ+DDjpo1vZei/1IDFv9FltWxVZ0sVIm/oyVIfFIF7HTzenHfd64K3+GnYPDjm++EHW+8GfY66K3bugxLPxZaF9zHW8cSwQ98TmJ+8GkczACtphrbDUYIUJ8piYd/oy679igw6iZpXA2PjfjngfDZjlO4Np9r7R9XYSPsQIutseLrSYj8B1cLTfXd9xc58FgQDnqOyPqx3dZfN/M90irHb/4xS+24c+woGuxn2OvJ0CAAAECBAgQIECAAAECBAgQqFtA+DPh+f3zP/9zex+RuP/FRRddNHO/hvkuUqaVOd/O8CdtgRWBSgpQ5vtX7cO2T5rrwmj356PCn1j1ElsjRTgQF60jRAnPuHgdF0Rjy6hLLrmkvQ9PXNyOi7NxsXZbVv5EX3OFPxHUxGqjWNkR96Xp3rtk8Dhj1cW//Mu/tKtzIozavHlze7+X2CpvvgvRg6sQYqVBXHSOVUQRdO2zzz4z9xqJY49t7RYa/nz6059u7zM0bIXKhE/9mXKjtj6Mi+0RWETQFduAxWqpYSss5nveXEFCCg/j3j4RiExihVqO8Gehfc11vOn+MBGWvOUtb2nvXxX3r4lH+ozmCn+2ZeXPfKu1uoFM99wc93xJr5nvM5fOjxe96EWztmGMz2183uP7Jb574vsmttjr3g9s2Odlru/IYd+n3dfP9Z3xsz/7s234G/+IIK0cm+9zOt+x5vp8q0uAAAECBAgQIECAAAECBAgQIFCHgPBnwnOKi35xX5MLL7xwqxvMD77V4OqZ7Rn+DN6rJ92j4/77798q/Bm2tVhsyxah1aTv+RNGET5FwBPbPsWF67gw+wM/8APtyoW4KBvBT9z/J/6V/tFHH92yRogTq4FiG7h4bvcx1z1/0utipcHgheMUyD388MPN61//+uYv//Iv2/sNPfe5z21XIv3Gb/xGu9Ioeth1113nfH2a8bB77nQDtNg+L0Kv2Kpr8L4u6ULyJz7xiZnwZ766ESxEYBUXkiNYifeOeyMNu+dPrK6KexmFZ/c4FvOxGAx/4t4wcW+qCLS6W6TF9lpvfvOb2wvuEST853/+51jPi9VQc22DlkwjRIvwJ13sj9cMu+fPunXr2tVdsc1YhA/DHjnCn4X2NVf4c9111zXHHHNMu8InZtx9pFWI6fM77jkTK94Wcs+fWHUyuPXjXPf8GSf8ufPOO8c+D4bNa77jjC0U0/1xutukpdA+PocRNsV9oCLAHfWZSOHPqO/TJz7xiWN/Z0TQG6Zz3fMn+o5Zx1Zvwp/FfFN5LQECBAgQIECAAAECBAgQIEBgugWEPxnm++Uvf7m9/0IKBw499NCZ+5qkt4v7rMQF57joPs49f174whe2QUi6P8qoLZfifYZtzZYujseKmrhgm+rFdnRxD50DDjhgq/AnLi7HBck999yzbT8dX1y8v/TSS5unPOUpE1VMPT772c9uIviI1SF77LFHey+TuG9LrJiJLdi6/zL+jjvuaFfMvPjFL27Dt7jYGo9YFRT/kj7uG/SRj3yk/Zf86WJ+/H6ulT/d+yTdeuutbYDykpe8pH1+1I5AKsKFuLAeq0zSI+6xku7BEb5pBrE13fve9752RVi3rxToPOtZz2rrpSDkec973kzNuBAdq4hidUf8PgKoOK4Ix+KeQ926MZO4aB3nShxv3Nsk+ogtB8Mx/h6PeN6HP/zhdmu72FKvey4sdpiD4U+c63Gx+pnPfOaMX7xHHE8EUrFlVsxyxx13HOt5z3jGM9rzMeaaZprqxb2TIkRLn6luGBuri2I7tHTOh13MKs7vOGdiS8Fhj0mFP93P8EL7miv8SQFPhKXxmU7HFp+RCPYisIyt9uL7aNxzJj4j8f0SK2G6QeTgtnFpu7QIzwbPwbjnUdh2z61xt32Le22Nc77EeTDsMddnLvqNz0wcR1pBl16fbP71X/+1idWHsR3hOPfQWcj36UK/M17wghe0/42I+2TFI87D+LzETNN5L/xZ7LeV1xMgQIAAAQIECBAgQIAAAQIEpldA+JNpthFUxAX1uMAeFxKPP/74Zu+9924eeuihZtOmTe2WV9/4xjea173ude2WZRFmDLvInP4FfdzI/ayzzmpXcsRFz20Nf9J7xMX2U089tTn88MPbe+fEPUri4vzXvva1rcKfpz71qW3gcNJJJ7VaES7E6pJYbRBbik36ET3Ee0XQEYbpxuxbtmxp3vCGN7Tv3/15vH+EGe9///vbC+AvfelL263iIkwIp7gXSgQr8ZpY5bLQ8CddqI97Db3nPe9pb3KfArBwiIvEEdbEzGMlULxvhEKxkiRdnI0VVU9/+tObNWvWtEFW6isuzEevcdE+tmiL2rFKJZ4Xqw5iK7kIbSJgCu/uvUXionusVIgtpOL5cW+iWAkSz4uLxHFexfGm58VF9eg1ZhkXwN/1rne18+8Ge/OFHxEgDV40H/b8wfCnO5v4LMTqrTBKvaYt9aJWmuF8zwur5BqviXMiAsiYc8wjfh8hYLoXVZpVbMcXz417ucRF+zju3XbbbVZwMd/xd+8pNd+WiIP3upnrM7yQvuYKTuK8+rmf+7km7lEVxxbnYQpj4vvm85//fLtCL1mMe86kUCmt1oq6EYIuW7asPbdjhvHo1otzMQLbdG5F0BYrIFNoPG74E0HpuOfBsHkt5DPXfX1aRRUBbXw/H3jggSO/2hbyfTrud0b38xL/cCC+C2N1YnxnhEt8H6bPtvBn5Ig8gQABAgQIECBAgAABAgQIECDQWwHhT8bRx8qGWF0Q/3o+Ap+4UBf/ijsuPse9b2L7oQhy0r/WHxb+RHtx0T3+xXpcvI77esQF2W0Nf6LeV77ylXY1QAQZ8X9HWBJbqcXqmQgaBu/5ExeCYyumWF0Q21X95E/+ZHPGGWfMrCKZNGHaDiwuWA9uZxUrb04//fRZF6DT+8frIkCJAObGG29sfxwXoGN7pAipHvvYx7Y/W2j4E6+577772vvxxKqAFOzE6oq4uB3zjdlGaBMraWKVToR58UgXZyN4ipUlF1xwQWsZfUX4FvcWSvOP/j/5yU+2M47+49w49thj2xUcsf1crD6KADDqp8dgD1E3AsXYXi2Cn+7zYuVBrIDq9hrbw+2+++7zjjB5bWv4E8UjoLrpppuaWJkT4UCaTRxbdzbjPi9e/3d/93ftyrkIWOMYVq1a1YZ/sSXfXnvtNRN4xHNj1Ues/InzKT6TyTbmEiHJfI/FrvyZ6zO8kL7mCk6iRtxvKgVOESjHORCuERTHloU77LDDrPuPjXPOhFdsoxjnd4TCsdokwovB8Ce9f5zXH//4x9tzK+YZq35i9U5agRfPGzf8iaBjIefB4OyGfeZi5hEoxvdW9zPXfe18W/HNd36M+30aNcb5zojnxXdBBJQR0Mb9uuI9hn22hT+T/q+PegQIECBAgAABAgQIECBAgACB6REQ/kzPLB1JgQIuzhY4FC0RGCKQtpWMVTURunoQIECAAAECBAgQIECAAAECBAgQqFlA+FPz9PRevIDwp/gRaZBAu9ImVjzGyrBYIRZbXXoQIECAAAECBAgQIECAAAECBAgQqFlA+FPz9PRevIDwp/gRabDHAnHPpNjSLlb9xJaI69ata7fMS1sx9pjGoRMgQIAAAQIECBAgQIAAAQIECFQuIPypfIDaL1tA+FP2fHTXb4GHHnqoWb16dXuPrbg/0plnnjnrPkX91nH0BAgQIECAAAECBAgQIECAAAECNQsIf2qent4JECBAgAABAgQIECBAgAABAgQIECBAgAABAgMCwh+nBAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgigSEP1M0TIdCgAABAgQIECBAgAABAgQIECBAgAABAgQIEBD+OAcIECBAgAABAgQIECBAgAABAgQIECBAgAABAlMkIPyZomE6FAIECBAgQIAAAQIECBAgQIAAAQIECBAgQICA8Mc5QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYIgHhzxQN06EQIECAAAECBAgQIECAAAECBAgQIECAAAECBIQ/zgECBAgQIECAAAECBAgQIECAAAECBAgQIECAwBQJCH+maJgOhQABAgQIECBAgAABAgQIECBAgAABAgQIECAg/HEOECBAgAABAgQIECBAgAABAgQIECBAgAABAgSmSED4M0XDdCgECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAeGPc4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEUCwp8JDvOWW25pli1bNrTi8uXLm6uuuqpZunTpot4x3uPcc8/dqtajjz7anHbaac3hhx/erFy5clHvkfvFcx1D7vdN9WMOq1atmnm7m2++uTnssMO2evvBPpPxxo0bZ557zjnnNGefffb2at37ECBAgAABAgQIECBAgAABAgRHaiUVAAAgAElEQVQIECBAgACBkQLCn5FE2/aEhQQcd999d3PKKac0GzZsaPbff/9533AS4U+ER/HYnqFF9z0XYrNt+nO/avC94+9r1qxprr766ln2Dz744EyIlkK7+NnatWub9evXj5zTpPtWjwABAgQIECBAgAABAgQIECBAgAABAgQIjCsg/BlXaoHPW0jAMYnwZyHtfbvDn4X0mvu5KeSJIKy7+icCn49+9KPNV7/61ZlVVjGnCH4uuuiiRa/gyn1c6hMgQIAAAQIECBAgQIAAAQIECBAgQIBAfwWEP5lmPyz8ifBgxYoVze23394cdNBB7WqTPfbYo11hsmnTppmfxeqfCGjWrVvXdpeeGz8fZ+XP85///HYlUbzuvPPOa2uk7cm6W56ln6UAJHqIR9oGLW1zttdee7W9pOfP1Vu8dtgx3nrrrTPbrEWNI444YtbWdcNeE8eaQrFhxxHv1d1mr2u0kBU6w8KfeN/3vve9zdFHH9284x3vmAl/4v2uuOKK5vzzz2+WLFmS6cxRlgABAgQIECBAgAABAgQIECBAgAABAgQILE5A+LM4vzlfPRjSDIYMEcJEkBB/PvDAA7O2fRsMGcbZMq17z58IfyJkOu6449qt3VK4cvHFF7erW7r1Bu8V1F2FtM8++7T3EYpHCjzm623wGLsGl1xySVsn+un+PH4W4VdaeTPoMtdxHHDAAbO2YNvWYKb7ful+TOETAVU8uvdXGrxX0KTu45TpFFSWAAECBAgQIECAAAECBAgQIECAAAECBHoqIPzJNPhh95bpBgndoCRW/8x1z5/u6pvB4CSFFXEIg+FPt95gKNMNf4ZtZRa/32+//Zpjjz22DX8OP/zwmfvfdLnG7S2FKMPCn7vuumtWwDKfS/d3Ef5EaBRh1rbeuyitHEornaK/+NlNN920VUgV1uFy3333zQRhg3/PdCopS4AAAQIECBAgQIAAAQIECBAgQIAAAQIEFiQg/FkQ1/hPHgx/YtXI5s2bZ4KD+UKOwW3Q9txzz2bZsmVDA4nU0baGP92t07pHF9uznXHGGVuFP/P1NniM3XpzrV66/vrrx3YZDLEGt6tL29KNM6VhwU8YvulNb2pe+9rXNvNtsZfqL+ReTeP05DkECBAgQIAAAQIECBAgQIAAAQIECBAgQGASAsKfSSgOqbGYlT/doCRKb8u2b4tZ+TMsUIpVNoO9jNvbfM/b1pU/seKn+xjc2m6+scZs1qxZ095zKUKe9OgGW93Xd+8nNPie69evby666KKmuwor0ymlLAECBAgQIECAAAECBAgQIECAAAECBAgQGEtA+DMW08KftJh7/nS3E/viF7846/49g3VTZ9u68mfwnj9pNc0JJ5wwdNu3+XobXJnTXRlzzTXXtK0u9J4/c4VYg1vlxXuvXbu2iTCmG+gMTm6hIVHaqm+nnXaatQpqcMu7hZ8hXkGAAAECBAgQIECAAAECBAgQIECAAAECBPIICH/yuLb3june4yfeZnDLtLTyJAUJGzdubOL+MxFsrFixorn99tub1atXNwcffHBz2223tVvGxZ+DdaP2QsKftOVZ1I6aW7Zsae+fs2nTplYjbZ82GAwNHsNgb0uWLJl1jPH8dD+d7nsef/zxzdve9rYmtomLFTNzuQxuqzYYLg1uWXfllVe2xzFfEBTvuWrVqq2mnl7b/cXgDLtziuclvzhuDwIECBAgQIAAAQIECBAgQIAAAQIECBAgUIqA8KeUSeiDAAECBAgQIECAAAECBAgQIECAAAECBAgQIDABAeHPBBCVIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUIiD8KWUS+iBAgAABAgQIECBAgAABAgQIECBAgAABAgQITEBA+DMBRCUIECBAgAABAgQIECBAgAABAgQIECBAgAABAqUICH9KmYQ+CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITEBD+TABRCQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAKQLCn1ImoQ8CBAgQIECAAAECBAgQIECAAAECBAgQIECAwAQEhD8TQFSCAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCKgPCnlEnogwABAgQIECBAgAABAgQIECBAgAABAgQIECAwAQHhzwQQlSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlCIg/CllEvogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECExAQPgzAUQlCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKlCAh/SpmEPggQIECAAAECBAgQIECAAAECBAgQIECAAAECExAQ/kwAUQkCBAgQIECAAAECBAgQIECAAAECBAgQIECAQCkCwp9SJqEPAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAEBIQ/E0BUggABAgQIECBAgAABAgQIECBAgAABAgQIECBQioDwp5RJ6IMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMAEB4c8EEJUgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJQiIPwpZRL6IECAAAECBAgQIECAAAECBAgQIECAAAECBAhMQED4MwFEJQgQIECAAAECBAgQIECAAAECBAgQIECAAAECpQgIf0qZhD4IECBAgAABAgQIECBAgAABAgQIECBAgAABAhMQEP5MAFEJAgQIECBAgAABAgQIECBAgAABAgQIECBAgEApAsKfUiahDwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDABASEPxNAVIIAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUIqA8KeUSeiDAAECBAgQIECAAAECBAgQIECAAAECBAgQIDABAeHPBBCVIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUIiD8KWUS+iBAgAABAgQIECBAgAABAgQIECBAgAABAgQITEBA+DMBRCUIECBAgAABAgQIECBAgAABAgQIECBAgAABAqUICH9KmYQ+CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITEBD+TABRCQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAKQLCn1ImoQ8CBAgQIECAAAECBAgQIECAAAECBAgQIECAwAQEhD8TQFSCAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCKgPCnlEnogwABAgQIECBAgAABAgQIECBAgAABAgQIECAwAQHhzwQQlSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlCIg/CllEvogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECExAQPgzAUQlCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKlCAh/SpmEPggQIECAAAECBAgQIECAAAECBAgQIECA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ECBAgECFAsKfCodWccvbLfx58MEHm5UrVzZnn312c9hhh1VDtq19C3+qGbFGCRAgQIAAAQIECBAgQIAAAQIECBAgMFLghhtuaI488sj2eY888kizZs2a5oorrmhOOOGE5uKLL2523nnnrWrceOONzVFHHdX+XPgzktgTJiiw3cKfCfa8XUsJf7YrtzcjQIAAAQIECBAgQIAAAQIECBAgQIBAcQIR/Bx++OHNW9/61mbdunXNOeec05x88snN6aef3gZAg494/iGHHDITEAl/ihvp1De03cKfbohywAEHNG984xub/fffv/1wrF69ujn//POb2267rVm2bNkM+vLly5urrrqqeeCBB5pTTjml2bBhQ/uaeES9tWvXNuvXr29/dsstt8x67c033zyzwujcc89tnvSkJzWbNm1q/xeP7u8fffTR5rTTTms2btzY/i71s2TJkvZ9tmXFkpU/U//ZcYAECBAgQIAAAQIECBAgQIAAAQIECPRA4Igjjmguv/zy5q677ppZxROHfccddzRf+tKXZv0sfh7B0FlnndWGQieddNKMkJU/PThZCjrEb1v4E4FKbP8W28DFI8KbWCZ39dVXt2FOCl3iOWeccUYbzkSyGq9Lz48PTwqNIuCJoGjp0qXN3XffPSssit996EMfmqkdz4vXxp877bTTVrXj+fGI3oQ/BZ2tWiFAgAABAgQIECBAgAABAgQIECBAgMB2Fkjhz/XXXz8rzInwJx4HHnjgrI7m+rnwZzsPrudv920Nf0bd/6cbwkRQs3nz5jbsiRU58bv99tuvOfbYY9vwJvZV7N5LKJ5/zz33tAFOt07MuxsOxaqiFCJF3Xh0VxXtscceVv70/EPi8AkQIECAAAECBAgQIECAAAECBAgQ6LfA4DZuaXXP5z73uVnhT/z81FNPbS644IJ2e7juQ/jT73Noex99ceFPBDMrVqxobr/99tYiPiwR4HQDmwhk0pZvKZxJ27l1AdNr5wt/br311mbVqlVbuR900EHtSiHhz/Y+Jb0fAQIECBAgQIAAAQIECBAgQIAAAQIEyhOIFT3Pec5z2sbuu+++5gtf+EKz2267zQp/IiSK256ceOKJzU033ST8KW+MvemomPCnG/qk+/F0Q5t0X57Y+m3fffedWa2zZcuWkStzRoU/3RVFg5O37VtvPgsOlAABAgQIECBAgAABAgQI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WQIECBAgQIAAAQIECBAgQIAAAQIECFQoIPypcGgVtyz8yTQ84U8mWGUJECBAgAABAgQIECBAgAABAgQIECBQoYDwp8KhVdyy8CfT8IQ/mWCVJUCAAAECBAgQIECAAAECBAgQIECAQIUCwp8Kh1Zxy8KfTMMT/mSCVZYAAQIECBAgQIAAAQIECBAgQIAAAQIVCgh/KhxaxS0LfzINT/iTCVZZAgQIECBAgAABAgQIECBAgAABAgQIVCgg/KlwaBW3LPzJNDzhTyZYZQkQIECAAAECBAgQIECAAAECBAgQIFChgPCnwqFV3LLwJ9PwIvzxIECAAAECBAgQIECAAAECBAgQIECAAAECSWDDhRc2z9znaUAIZBcQ/mQifvTr38xUWVkCBAgQIECAAAECBAgQIECAAAECBAgQqFVgyRN2qLV1fVckIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPypaFhaJUCAAAECBAgQIECAAAECBAgQIECAAAECBAiMEhD+jBLyewIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARQLCn4qGpVUCBAgQIECAAAECBAgQIECAAAECBAgQIECAwCgB4c8oIb8nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQkIPzJNKxHv/7NTJWVJUCAAAECBAgQIECAQNkCj3/cY5vH7fCYspvUHQECBAgQIECAAIEpFhD+ZBruy445LlNlZQkQIECAAAECBAgQIFCuwHGveGWz6tUrhD/ljkhnBAgQIECAAAECPRAQ/mQacoQ/H7vu2kzVlSVAgAABAgQIECBAgECZAu+7/P3CnzJHoysCBAgQIECAAIEeCQh/Mg1b+JMJVlkCBAgQIECAAAECBIoWEP4UPR7NESBAgAABAgQI9ERA+JNp0MKfTLDKEiBAgAABAgQIECBQtIDwp+jxaI4AAQIECBAgQKAnAsKfTIMW/mSCVZYAAQIECBAgQIAAgaIFhD9Fj0dzBAgQIECAAAECPREQ/mQatPAnE6yyBAgQIECAAAECBAgULSD8KXo8miNAgAABAgQIEOiJgPAn06CFP5lglSVAgAABAgQIECBAoGgB4U/R49EcAQIECBAgQIBATwSEP5kGLfzJBKssAQIECBAgQIAAAQJFCwh/ih6P5ggQIECAAAECBHoi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hD9Fj0dzBAgQIECAAAECPREQ/mQatPAnE6yyBAgQIECAAAECBAgULSD8KXo8miNAgAABAgQIEOiJgPAn06CFP5lglSVAgAABAgQIECBAoGgB4U/R49EcAQIECBAgQIBATwSEP5kGLfzJBKssAQIECBAgQIAAAQJFCwh/ih6P5ggQIECAAAECBHoiIPzJNGjhTyZYZQkQIECAAAECBAgQKFpA+FP0eDRHgAABAgQIECDQEwHhT6ZBC38ywSpLgAABAgQIECBAgEDRAsKfosejOQIECBAgQIAAgZ4ICH8yDVr4kwlWWQIECBAgQIAAAQIEihYQ/hQ9Hs0RIECAAAECBAj0RED4k2nQwp9MsMoSIECAAAECBAgQIFC0gPCn6PFojgABAgQIECBAoCcCwp9Mgxb+ZIJVlgABAgQIECBAgACBogWEP0WPR3MECBAgQIAAAQI9ERD+ZBq08CcTrLIECBAgQIAAAQIECBQtIPwpejyaI0CAAAECBAgQ6ImA8CfToIU/mWCVJUCAAAECBAgQIECgaAHhT9Hj0RwBAgQIECBAgEBPBBYc/jz66KPNaaed1mzcuHErouXLlzdXXXVVc/311zebN29uzj///GbJkiXblfLBBx9s1q5d26xfv77Zf//9m1tuuaW54oortnsvwp/tOnZvRoAAAQIECBAgQIDABATOOeec5qyzzmp23HHHmWp33nlnc+CBBzY33HBDc+SRR271Lo888kizZs2a9v/viofwZwKDUIIAAQIECBAgQIDAIgW2Ofw54YQTmsMOO2zo20cAJPw5rvnYddcucjxeToAAAQIECBAgQIAAge0nEAFPPI466qiRbxr/P+HFF1/cfPazn531fOHPSDpPIECAAAECBAgQIJBdYLuEP7EaZ+XKlc2mTZvaA7ryyivbv8cjgqL777+//V387+abb24OPvjgWauLVq9ePbNy5+67725X9RxyyCHN6aef3tZIv9+yZcus94la8Zhr5U+sCjr33HPbHpYuXdo+N9W/6KKLmksuuaTZc8892z/jcfXVV7ericZ5WPkzjpLnECBAgAABAgQIECBQksAdd9zRfOYzn2lOOumkkW3Fc3fdddfmxBNPbG666aaZ5wt/RtJ5AgECBAgQIECAAIHsAtnDnxTIxL8Ki8AnBUHp7xG8nHfeeTPBStpW7vDDD58JiCKgicfZZ5/d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tAQIECBAgAABAgQI/D/27iDkrvJc9PjrKaRNwVGE1konTiJmkMlB0pOEggrpoKWFgCk1ZmJKaWM9RuJJW0kalA4kBcWaUmkcNEYwgZZSHCg3yb2XxNviLQUHEZ04aAmVYgZtB0FBOLzrnPWd79vJ97n3Mk/2ft71++CiSdZ+97t+z+vpxb9rbwIECBAgQIAAAQIECBBoXED8aXzAbo8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAYl4D4M655u1sCBAgQIECAAAECBAgQIECAAAECBAgQIECgcQHxp/EBuz0CBAgQIECAAAECBAgQIECAAAECBAgQIEBgXALiz7jm7W4JECBAgAABAgQIECBAgAABAgQIECBAgACBxgXEn8YH7PYIECBAgAABAgQIECBAgAABAgQIECBAgACBcQmIP+Oat7slQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQfxofsNsjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExiUg/oxr3u6WAAECBAgQIECAAAECBAgQIECAAAECBAgQaFxA/Gl8wG6PAAECBAgQIECAAAECBAgQIECAAAECBAgQGJeA+DOuebtbAgQIECBAgAABAgQIECBAgAABAgQIECBAoHEB8afxAbs9AgQIECBAgAABAgQIECBAgAABAgQIECBAYFwC4s+45u1uCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYFxJ/GB+z2CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgXEJiD/jmre7JUCAAAECBAgQIECAAAECBAgQIECAAAECBBoXEH8aH7DbI0CAAAECBAgQIECAAAECBAgQIECAAAECBMYlIP6Ma97ulgABAgQIECBAgAABAgQIECBAgAABAgQIEGhcQPxpfMBujwABAgQIECBAgAABAgQIECBAgAABAgQIEBiXgPgzrnm7WwIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBxAfGn8QG7PQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBcAuLPuObtbgkQIECAAAECBAgQIECAAAECBAgQIECAAIHGBcSfxgfs9ggQIECAAAECBAgQIECAAAECBAgQIECAAIFxCYg/45q3uyVAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxB/Gh+w2yNAgAABAgQIECBAgAAB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gAABAgQIECBAgAABAgQIECBAQPxxBggQIECAAAECBAgQIECAAAECBAgQIECAAAECDQmIPw0N060QIECAAAECBAgQIECAAAECBAgQIECAAAECBMQfZ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0JCA+NPQMN0KAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQED8cQYIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0JiD8NDdOtECBAgAABAgQIECBAgAABAgQIECBAgAABAgTEH2eAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCQgPjT0DDdCgECBAgQIECAAAECBAgQIECAAAECBAgQIEBA/HEGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCYg/DQ3TrRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExB9ngAABAgQIECBAgAABAgQIECBAgAABAgQIECDQkID409Aw3QoBAgQIECBAgAABAgQIECBAgAABAgQIECBAQPxxBggQIECAAAECBAgQIECAAAECBAgQIECAAAECDQmIPw0N060QIECAAAECBAgQIECAAAECBAgQIECAAAECBMQfZ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0JCA+NPQMN0KAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQED8cQYIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0JiD8NDc/JywsAACAASURBVNOtECBAgAABAgQIECBAgAABAgQIECBAgAABAgTEH2eAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCQgPjT0DDdCgECBAgQIECAAAECBAgQIECAAAECBAgQIEBA/HEGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCYg/DQ3TrRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExJ+gM3Dlg4+CVrYsAQIE8gh8Zt2/lJtuuinPhu2UAAECBAgQIECAAAECBAgQIECAQAMC4k/QEL/29Z1BK1uWAAECOQT+ff+Bcs+Xt4g/OcZllwQIECBAgAABAgQIECBAgAABAg0JiD9Bw6zx55Xf/SZodcsSIEBg8QX+1//+f+LP4o/JDgkQIECAAAECBAgQIECAAAECBBoUEH+Chir+BMFalgCBNALiT5pR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gACBxgTEn6CBij9BsJYlQCCNgPiTZlQ2SoAAAQIECBAgQIAAAQIECBAg0JiA+BM0UPEnCNayBAikERB/0ozKRgkQIECAAAECBAgQIECAAAECBBoTEH+CBir+BMFalgCBNALiT5pR2SgBAgQIECBAgAABAgQIECBAgEBjAuJP0EDFnyBYyxIgkEZA/EkzKhslQIAAAQIECBAgQIAAAQIECBBoTED8CRqo+BMEa1kCBNIIiD9pRmWjBAgQIECAAAECBAgQIECAAAECjQmIP0EDFX+CYC1LgEAaAfEnzahslAABAgQIECBAgAABAgQIECBAoDEB8SdooOJPEKxlCRBIIyD+pBmVjRIgQIAAAQIECBAgQIAAAQIECDQmIP4EDVT8CYK1LAECaQTEnzSjslECBAgQIECAAAECBAgQIECAAIHGBMSfoIGKP0GwliVAII2A+JNmVDZKgAABAgQIECBAgAABAgQIECDQmID4EzRQ8ScI1rIECKQREH/SjMpGCRAgQIAAAQIECBAgQIAAAQIEGhMQf4IGKv4EwVqWAIE0AuJPmlHZKAECBAgQIECAAAECBAgQIECAQGMC4k/QQMWfIFjLEiCQRkD8STMqGyVAgAABAgQIECBAgAABAgQIEGhMQPwJGqj4EwRrWQIE0giIP2lGZaMECBAgQIAAAQIECBAgQIAAAQKNCYg/QQMVf4JgLUuAQBoB8SfNqGyUAAECBAgQIECAAAECBAgQIECgMQHxJ2ig4k8QrGUJEEgjIP6kGZWNEiBAgAABAgQIECBAgAABAgQINCZwXeLP5cuXy0MPPVSOHDlSNm7cuET0zjvvlF27dpUtW7aUp59+uqxfv34w3+uvv15efPHFpXVeeumlcv78+VXXrX++e/fuq97vO9/5zifeyzQ3If5Mo+QaAgQWVeCBBx4ox44dKzfffHO3xbfeeqts2rRpabtPPPFEOXjwYFm3bl33e2fPni333nvvitsRfxZ1uvZFgAABAgQIECBAgAABAgQIECDQukBY/OnDz2OPPVbuv//+T+w4JP68++675dChQyve+8knnyyXLl0KD0DizyceuQUIEJiTQB9+3njjjS7o3H333eXEiRPl7bff7n7dh58a5Pfu3Vv660+fPt39uv8Rf+Y0QG9LgAABAgQIECBAgAABAgQIECAweoGQ+NOHn507d66IL/3vv/nm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liVAgEAegc+s+xfxJ8+47JQAAQIECBAgQIAAAQIECBAgQKARAfGnkUG6DQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAFRB/nAMCBAgQIECAAAECBAgQIECAAAECBAgQIECAQEMC4k9Dw3QrBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHxxxkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQkIP40NEy3QoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQf5wBAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBDAuJPQ8N0KwQIECBAgAABAgQIECBAgAABAgQIECBAgAAB8ccZIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0JCD+NDRMt0KAAAECBAgQIECAAAECBAgQIECAAAECBAgQEH+cAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAQwLiT0PDdCsECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAfHHGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQINCQg/jQ0TLdCgAABAgQIECBAgAABAgQIECBAgAABAgQIEBB/nAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEMC4k9Dw3QrBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHxxxkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQkIP40NEy3QoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQf5wBAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBDAuJPQ8N0KwQIECBAgAABAgQIECBAgAABAgQIECBAgAAB8ccZIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0JCD+NDRMt0KAAAECBAgQIECAAAECBAgQIECAAAECBAgQEH+cAQIECBAgQIDAf7Z3765RrlscgD8DG8lu1b9BsLGzkYBYWXg8RYqAl92KFqIiNuIFxcJGRbzWRkELETlNGptoa2dh439gYSW72HD4hjMyyUk+k9GVd++1njT7MvOtd9azVvfjnSFAgAABAgQIECBAgAABAgQIEEgkIPxJNEytECBAgAABAgQIECBAgAABAgQIECBAgAABAgSEP3aAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBIQPiTaJhaIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgIf+wAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCRgPAn0TC1QoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQ/tgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAiAeFPomFqhQABAgQIECBAgAABAgQIECBAgAABAgQIECAg/LEDBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFEAsKfRMPUCgECBAgQIECAAAECBAgQIECAAAECBAgQIEBA+GMHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKJBIQ/QcP89udfU1fe/ttMNzOzbernPUiAAAECBAgQIECAAAECBAgQIECAAAECBAjUFRD+BM3+X/+en6ry0eN/dAvzR4Q/U+l5iAABAgQIECBAgAABAgQIECBAgAABAgQIEBD+BO1AH/78582rTVd//vK18GfTah4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExgLCn6BdEP4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQIDAoIf4IWRPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIPxpsQPCnxbqziRAgAABAgQIECBAgAABAgQIECBAgAABAgTc/AnaAeFPEKyyBAgQIECAAAECBAgQIECAAAECBAgQIECAwKCA8CdoQYQ/QbDKEiBAgAABAgQIECBAgAABAgQIECBAgAABAsKfFjsg/Gmh7kwCBAgQIECAAAECBAgQIECAAAECBAgQIEDAzZ+gHRD+BMEqS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAwKCH+CFkT4EwSrLAECBAgQIECAAAECBAgQIECAAAECGR4f3gAAIABJREFUBAgQICD8abEDwp8W6s4kQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE3PwJ2gHhTxCssgQIECBAgAABAgQIECBAgAABAgQIECBAgMCggPAnaEGEP0GwyhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLCnxY7IPxpoe5MAgQIECBAgAABAgQIECBAgAABAgQIECBAwM2foB0Q/gTBKkuAAAECBAgQIECAAAECBAgQIECAAAECBAgMCgh/ghZE+BMEqywBAgQIECBAgAABAgQIECBAgAABAgQIECAg/GmxA8KfFurOJECAAAECBAgQIECAAAECBAgQIECAAAECBNz8CdoB4U8QrLIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAoIDwJ2hBhD9BsMoSIECAAAECBAgQIECAAAECBAgQIECAAAECwp8WOyD8aaHuTAIECBAgQIAAAQIECBAgQIAAAQIECBAgQMDNn6AdEP4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQIDAoIf4IWRPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIPxpsQPCnxbqziRAgAABAgQIECBAgAABAgQIECBAgAABAgTc/AnaAeFPEKyyBAgQIECAAAECBAgQIECAAAECBAgQIECAwKCA8CdoQYQ/QbDKEiBAgAABAgQIECBAgAABAgQIECBAgAABAsKfFjsg/Gmh7kwCBAgQIECAAAECBAgQIECAAAECBAgQIEDAzZ+gHRD+BMEqS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAwKCH+CFkT4EwSrLAECBAgQIECAAAECBAgQIECAAAECBAgQICD8abEDwp8W6s4kQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE3PwJ2gHhTxCssgQIECBAgAABAgQIECBAgAABAgQIECBAgMCggPAnaEGEP0GwyhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLCnxY7IPxpoe5MAgQIECBAgAABAgQIECBAgAABAgQIECBAwM2foB0Q/gTBKkuAAAECBAgQIECAAAECBAgQIECAAAECBAgMCgh/ghZE+BMEqywBAgQIECBAgAABAgQIECBAgAABAgQIECAg/GmxA8KfFurOJECAAAECBAgQIECAAAECBAgQIECAAAECBNz8CdoB4U8QrLIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAoIDwJ2hBhD9BsMoSIECAAAECBAgQIECAAAECBAgQIECAAAECwp8WOyD8aaHuTAIECBAgQIAAAQIECBAgQIAAAQIECBAgQMDNn6AdEP4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQIDAoIf4IWRPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIPxpsQPCnxbqziRAgAABAgQIECBAgAABAgQIECBAgAABAgTc/AnaAeFPEKyyBAgQIECAAAECBAgQIECAAAEC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AQIECBCYRmBLw59pPuA/9Zmh8Geop+cvX3cL80e6mZlt/9TWfW4CBAgQIECAAAECBAgQIECAAAECBAgQIECgoYDwJwhf+BMEqywBAgQIECBAgAABAgQIECBAgAABAgQIECAwKCD8CVoQ4U8QrLIECBAgQIAAAQIECBAgQIAAAQIECBAgQICA8KfFDgh/Wqg7kwABAgQIECBAgAABAgQIECBAgAABAgQIEHDzJ2gHhD9BsMoSIECAAAECBAgQIECAAAECBAgQIECAAAECgwLCn6AFEf4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQICH9a7IDwp4W6MwkQIECAAAECBAgQIECAAAECBAgQIECAAAE3f4J2QPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMCgg/AlaEOFPEKyyBAgQIECAAAECBAgQIECAAAECBAgQIECAgPCnxQ4If1qoO5MAAQIECBAgQIAAAQIECBAgQIAAAQIECBBw8ydoB4Q/QbDKEiBAgAABAgQIECBAgAABAgQIECBAgAABAoMCwp+gBRH+BMEqS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAh/WuyA8KeFujMJECBAgAABAgQIECBAgAABAgQIECBAgAABN3+CdkD4EwSrLAECBAgQIECAAAECBAgQIECAAAECBAgQIDAoIPwJWhDhTxCssgQIECBAgAABAgQIECBAgAABAgQIECBAgIDwp8UOCH9aqDuTAAECBAgQIECAAAECBAgQIECAAAECBAgQcPMnaAeEP0GwyhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDAsKfoAUR/gTBKkuAAAECBAgQIECAAAECBAgQIECAAAECBAgIf1rsgPCnhbozCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAATd/gnZA+BMEqywBAgQIECBAgAABAgQIECBAgAABAgQIECAwKCD8CVoQ4U8QrLIECBAgQIAAAQIECBAgQIAAAQIECBAgQICA8KfFDgh/Wqg7kwABAgQIECBAgAABAgQIECBAgAABAgQIEHDzJ2gHhD9BsMoSIECAAAECBAgQIECAAAECBAgQIECAAAECgwLCn6AFEf4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQICH9a7IDwp4W6MwkQIECAAAECBAgQIECAAAECBAgQIECAAAE3f4J2QPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMCgg/AlaEOFPEKyyBAgQIECAAAECBAgQIECAAAECBAgQIECAgPCnxQ4If1qoO5MAAQIECBAgQIAAAQIECBAgQIAAAQIECBBw8ydoB4Q/QbDKEiBAgAABAgQIECBAgAABAgQIECBAgAABAoMCwp+gBRH+BMEqS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAh/WuyA8KeFujMJECBAgAABAgQIECBAgAABAgQIECBAgAABN3+CdkD4EwSrLAECBAgQIECAAAECBAgQIECAAAECBAgQIDAoIPwJWhDhTxCssgQIECBAgAABAgQIECBAgAABAgQIECBAgIDwp8UOCH9aqDuTAAECBAgQIECAAAECBAgQIECAAAECBAgQcPMnaAeEP0GwyhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDAsKfoAUR/gTBKkuAAAECBAgQIECAAAECBAgQIECAAAECBAgIf1rsgPCnhbozCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAATd/gnZA+BMEqywBAgQIECBAgAABAgQIECBAgAABAgQIECAwKCD8CVoQ4U8QrLIECBAgQIAAAQIECBAgQIAAAQIECBAgQICA8KfFDgh/Wqg7kwABAgQIECBAgAABAgQIECBAgAABAgQIEHDzJ2gHhD9BsMoSIECAAAECBAgQIECAAAECBAgQIECAAAECgwLCn6AFEf4EwSpLgAABAgQIECBAgAABAgQIECBAgAABAgQICH9a7IDwp4W6MwkQIECAAAECBAgQIECAAAECBAgQIECAAAE3f4J2QPgTBKssAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMCgg/AlaEOFPEKyyBAgQIECAAAECBAgQIECAAAECBAgQIECAgPCnxQ4If1qoO5MAAQIECBAgQIAAAQIECBAgQIAAAQIECBBw8ydoB4Q/QbDKEiBAgAABAgQIECBAgAABAgQIECBAgAABAoMCwp+gBRH+BMEqS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAh/WuyA8KeFujMJECBAgAABAgQIECBAgAABAgQIECBAgAABN3+CdkD4EwSrLAECBAgQIECAAAECBAgQIECAAAECBAgQIDAoIPwJWhDhTxCssgQI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", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = create_ranking_barchart(df_statistics, repo_url)" + ] + }, + { + "cell_type": "markdown", + "id": "b903a382-0ed9-452f-84ec-f5376c21e1e5", + "metadata": {}, + "source": [ + "### Display dropdown menu with selected user data" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ffdf7b88-fbe8-4009-aaad-6f825bb0a9f0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-19T14:38:41.927785Z", + "iopub.status.busy": "2024-06-19T14:38:41.927226Z", + "iopub.status.idle": "2024-06-19T14:38:42.228166Z", + "shell.execute_reply": "2024-06-19T14:38:42.227422Z", + "shell.execute_reply.started": "2024-06-19T14:38:41.927748Z" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9d9b9fb043994dfca65bb1878b400e25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(Dropdown(description='User:', options=('jravenel', 'FlorentLvr', 'Dr0p42', 'bijo-babu', …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "user_dropdown = widgets.Dropdown(\n", + " options=df_statistics['USER_LOGIN'].unique(),\n", + " description='User:',\n", + " disabled=False,\n", + ")\n", + "\n", + "def Dropdown_Menu(value):\n", + "\n", + " x = list(df_statistics['USER_LOGIN'].unique())\n", + "\n", + " pos = x.index(value)\n", + " user = x[pos]\n", + "\n", + " user_creations = ((df['USER_LOGIN'] == user) & (df['INTERACTION_TYPE'] == 'CREATOR')).sum()\n", + "\n", + " user_assignees = ((df['USER_LOGIN'] == user) & (df['INTERACTION_TYPE'] == 'ASSIGNEE')).sum()\n", + "\n", + " user_comments = ((df['USER_LOGIN'] == user) & (df['INTERACTION_TYPE'] == 'COMMENT')).sum()\n", + "\n", + " user_reactions = ((df['USER_LOGIN'] == user) & (df['INTERACTION_TYPE'] == 'REACTION')).sum()\n", + "\n", + " user_commits = ((df['USER_LOGIN'] == user) & (df['INTERACTION_TYPE'] == 'COMMIT')).sum()\n", + "\n", + " user_data = []\n", + " user_data.append({\n", + " \"TYPE\": \"Creations\",\n", + " \"AMOUNT\": user_creations\n", + " })\n", + "\n", + " user_data.append({\n", + " \"TYPE\": \"Assignments\",\n", + " \"AMOUNT\": user_assignees\n", + " })\n", + "\n", + " user_data.append({\n", + " \"TYPE\": \"Comments\",\n", + " \"AMOUNT\": user_comments\n", + " })\n", + "\n", + " user_data.append({\n", + " \"TYPE\": \"Reactions\",\n", + " \"AMOUNT\": user_reactions\n", + " })\n", + "\n", + " user_data.append({\n", + " \"TYPE\": \"Commits\",\n", + " \"AMOUNT\": user_commits\n", + " })\n", + "\n", + " df_user_data = pd.DataFrame(user_data)\n", + " fig = create_selected_user_barchart(df_user_data, user, repo_url)\n", + " \n", + "\n", + "widgets.interact(Dropdown_Menu, value=user_dropdown) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a835779-50fb-455c-bf81-0c3d6e15c507", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.9.6" + }, + "naas": { + "notebook_id": "b8a92a0e4b6e40db304564f999566443fb35e93df716ab4be5021aabba8230ee", + "notebook_path": "GitHub/GitHub_Add_new_issues_as_page_in_Notion_database.ipynb" + }, + "papermill": { + "default_parameters": {}, + "environment_variables": {}, + "parameters": {}, + "version": "2.3.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}