From c5ca631457ff60e4d035e0d8ab0c321558f19131 Mon Sep 17 00:00:00 2001 From: Xameren <115501936+Xameren@users.noreply.github.com> Date: Mon, 18 Nov 2024 20:17:20 +0100 Subject: [PATCH] added files to repo --- CS2 rating.py | 568 +++++++++++++++++++++++++++++++++++++++++++++++++ screenshot.png | Bin 0 -> 75576 bytes 2 files changed, 568 insertions(+) create mode 100644 CS2 rating.py create mode 100644 screenshot.png diff --git a/CS2 rating.py b/CS2 rating.py new file mode 100644 index 0000000..f5f6ba2 --- /dev/null +++ b/CS2 rating.py @@ -0,0 +1,568 @@ +from datetime import datetime +import time +import sys +import json +import os +os.system("title " + "Xameren's CS2 evaluation script") + +Kills = 0 +Deaths = 0 +Assists = 0 +HS = 0 +WR = 0 +Damage = 0 + +TotalTotalRating = 0 +TotalKillRating = 0 +TotalAssistRating = 0 +TotalHSrating = 0 +TotalDamageRating = 0 + +Rounds = 0 +Matches = 0 +Wins = 0 +Draws = 0 +Losses = 0 + +SaveFile = "Savefile.json" +GameList = [] + +GREEN = '\033[92m' +YELLOW = '\033[93m' +RED = '\033[91m' +BOLD = '\033[1m' +END = '\033[0m' + +def rating(Newkills, NewDeaths, NewAssists, NewHS, NewDamage, NewRounds, NewWin, AddMatchTotal, MatchDate = "N/A"): + global TotalRating, Rounds, Kills, Deaths, Assists, HS, Damage, Matches, TotalAssistRating, TotalDamageRating, TotalHSrating,TotalKillRating, GameList, TotalTotalRating, Wins, Draws, Losses + KillRating = round((Newkills/NewDeaths)/2, 3) + AssistRating = round(NewAssists/8, 3) + HSrating = round(NewHS/100, 3) + DamageRating = NewDamage/(135*NewRounds) + + KillRating = min(Newkills/(NewRounds*1.25), 1)*0.4+min((Newkills/NewDeaths)/1.25, 1)*0.4-min(NewDeaths/NewRounds, 1)*0.2 + AssistRating= min(NewAssists/(NewRounds*0.5), 1)*0.6+min(NewAssists/(NewAssists+Newkills), 1)*0.4 + HSrating = NewHS/100*0.6+min(NewHS/100*Newkills/Newkills, 1)*0.4 + DamageRating = min(NewDamage/(NewRounds*125), 1)*0.5+min(Newkills/(NewRounds*1.25), 1)*0.3+min(NewDamage/Newkills/125, 1)*0.2 + + if AddMatchTotal: + MatchDate = datetime.now().strftime("%d/%m/%Y") + + if NewWin == "y": + Wins += 1 + elif NewWin == "draw": + Draws += 1 + elif NewWin == "n": + Losses += 1 + + if KillRating > 1: + KillRating = 1 + if AssistRating > 1: + AssistRating = 1 + if HSrating > 1: + HSrating = 1 + if DamageRating > 1: + DamageRating = 1 + + TotalRating = KillRating*0.3+DamageRating*0.3+HSrating*0.2+AssistRating*0.2 + + + if AddMatchTotal: + Kills += Newkills + Deaths += NewDeaths + Assists += NewAssists + HS += NewHS + Damage += NewDamage + Rounds += NewRounds + TotalAssistRating += AssistRating + TotalDamageRating += DamageRating + TotalHSrating += HSrating + TotalKillRating += KillRating + TotalTotalRating += 0.4*KillRating+0.3*DamageRating+0.2*HSrating+0.1*AssistRating + + Matches += 1 + + TotalTotalRating = 0.4*TotalKillRating+0.3*TotalDamageRating+0.2*TotalHSrating+0.1*TotalAssistRating + + + GameList.insert(0, f"K: {Newkills}, D: {NewDeaths}, A: {NewAssists}, HS: {NewHS}, DMG: {NewDamage}, Rounds: {NewRounds}, Win: {NewWin}, Date: {MatchDate}") + matchstats(Newkills, NewDeaths, NewAssists, NewHS, NewDamage, NewRounds, NewWin, AssistRating, HSrating, KillRating, DamageRating, TotalRating, MatchDate) + +def register(): + global Username, Kills, Deaths, Assists, HS, Damage, Matches, WR + reset = True + while reset: + print("Welcome to xameren's CS2 evaluation tool") + print("What's your Username?") + Username = input("Your Username:") + print("Do you want to import your stats?") + print("You will be prompted to fill your KD, kills, assists, deaths, HS% and damage from your last round") + while True: + fillornot = input("(y/n) ") + if fillornot.lower() == "y": + while True: + try: + Ki = int(input("Kills: ")) + De = int(input("Deaths: ")) + As = int(input("Assists: ")) + Hs = int(input("HS%: ")) + Da = int(input("Damage: ")) + Ro = int(input("Rounds: ")) + while True: + Wi = input("Did you win? (y/draw/n)").lower() + if Wi == "y" or Wi == "n" or Wi == "draw": + break + break + except ValueError: + print("Please enter valid numbers") + correctregister = input("Is this all correct? (y/N) ").lower() + if correctregister == "y": + reset = False + rating(Ki, De, As, Hs, Da, Ro, Wi, AddMatchTotal = True) + break + elif fillornot.lower() == "n": + print("Alright, no problem") + reset = False + time.sleep(1) + break + +def WRcalc(): + if Losses == 0: + return 100 + else: + return round((Wins/Matches)*100, 2) + + +def Coloring(numbah): + if numbah < 33: + return RED + elif numbah < 66: + return YELLOW + else: + return GREEN +def ColoringLow(numbah): + if numbah < 33: + return GREEN + elif numbah < 66: + return YELLOW + else: + return RED + +def matchstats(Newkills, NewDeaths, NewAssists, NewHS, NewDamage, NewRounds, NewWin, AssistRating, HSrating, KillRating, DamageRating, TotalRating, MatchDate = "N/A"): + Newkills = int(Newkills) + NewDeaths = int(NewDeaths) + NewAssists = int(NewAssists) + NewHS = int(NewHS) + NewDamage = int(NewDamage) + NewRounds = int(NewRounds) + + print("\033[H\033[J", end="") + print("Match rating") + print(f" Name: {Username}") + print(f" Date: {MatchDate}") + print(f" Match {f"{GREEN}Won" if NewWin == "y" else f"{RED}Lost" if NewWin == "n" else "Drawn"}{END}") + print(f" Rounds: {NewRounds}") + spaces = " " + print() + print(f"{Coloring(TotalRating*100)}XMRating: {round(TotalRating*100, 3)}{END}") + print(f"{Coloring(HSrating*100)}{spaces}HS rating: {round(HSrating*100, 3)}{END}") + print(f"{Coloring(AssistRating*100)}{spaces}Assist rating {round(AssistRating*100, 3)}{END}") + print() + + print(f"{spaces}Headshots:") + print(f"{Coloring((NewHS/100*Newkills)/12*100)}{spaces}Total: {round(NewHS/100*Newkills, 3)}{END}") + print(f"{Coloring((NewHS/100*Newkills/NewRounds)/1*100)}{spaces}Headshots/Round: {round(NewHS/100*Newkills/NewRounds, 3)}{END}") + print(f"{Coloring(NewHS)}{spaces}Headshot%: {NewHS}{END}") + print() + print(f"{spaces}Damage:") + print(f"{Coloring(NewDamage/(NewRounds*130)*100)}{spaces}Total: {NewDamage}{END}") + print(f"{Coloring(NewDamage/(NewRounds*130)*100)}{spaces}Average/Round: {round(NewDamage/NewRounds, 3)}{END}") + print(f"{Coloring((NewDamage/Newkills)/125*100)}{spaces}Average/Kill: {round(NewDamage/Newkills, 3)}") + print() + print("\033[H", end="") + print("\n\n\n\n\n") + print() + print(f"{Coloring(round(KillRating*100, 3))} Kill rating: {round(KillRating*100, 3)}{END}") + print(f"{Coloring(round(DamageRating*100, 3))} Damage rating: {round(DamageRating*100, 3)}{END}") + print() + print(f"Kills:") + print(f"{Coloring(Newkills/NewRounds*100)}Total: {Newkills}{END}") + print(f"{Coloring(Newkills/NewRounds*100)}Average/Round: {round(Newkills/NewRounds, 3)}{END}") + print(f"{Coloring((Newkills/NewDeaths)/1.2*100)}K/D: {round(Newkills/NewDeaths, 3)}{END}") + print() + print("Deaths:") + print(f"{ColoringLow(NewDeaths/NewRounds*100)}Total: {NewDeaths}{END}") + print(f"{ColoringLow(NewDeaths/NewRounds*100)}Deats/Round: {round(NewDeaths/NewRounds, 3)}{END}") + print() + print("Assists:") + print(f"{Coloring(NewAssists/NewRounds/1*100)}Total: {NewAssists}{END}") + print(f"{Coloring(NewAssists/NewRounds/1*100)}Assists/Round {round(NewAssists/NewRounds, 3)}{END}") + input("\nPress enter to exit") + + +def profile(): + global Username, Matches, Kills, HS, Rounds, Damage, Deaths, Assists + while True: + + """ + TotalAssistRating += AssistRating + TotalDamageRating += DamageRating + TotalHSrating += HSrating + TotalKillRating += KillRating + """ + + print("\033[H\033[J", end="") + print(f"Name: {Username}") + print() + try: + TotalTotalRating = round(0.4*(round(TotalKillRating/Matches*100, 3))+0.3*(round(TotalDamageRating/Matches*100, 3))+0.2*(round(TotalHSrating/Matches*100, 3))+0.1*(round(TotalAssistRating/Matches*100, 3)), 3) + print("\033[H\033[J", end="") + print(f"Name: {Username}") + print() + print(f"{Coloring(TotalTotalRating)}XMRating: {TotalTotalRating}{END}") + print(f"\n\n\n\n\n\n\n\n\n\n Draws: {Draws} \n Matches: {Matches}") + spaces = " " + print("\033[H", end="") + print(f"Name: {Username}") + print() + print(f"{Coloring(TotalTotalRating)}XMRating: {TotalTotalRating}{END}") + print(f"{Coloring(round(TotalHSrating/Matches*100, 3))} HS rating: {round(TotalHSrating/Matches*100, 3)}{END}") + print(f"{Coloring(round(TotalAssistRating/Matches*100, 3))} Assist rating: {round(TotalAssistRating/Matches*100, 3)}{END}") + print("") + print(f"{spaces}Headshots:") + print(f"{spaces} Total: {round(Kills*((HS/Matches)/100), 0)}") + print(f"{Coloring(round(Kills*(HS/Matches/100)/Matches, 2)/20*100)}{spaces} Average/Match: {round(Kills*(HS/Matches/100)/Matches, 2)}{END}") + print(f"{Coloring(round(Kills*(HS/Matches/100)/Rounds, 2)/1*100)}{spaces} Average/Round: {round(Kills*(HS/Matches/100)/Rounds, 2)}{END}") + print(f"{Coloring(round(HS/Matches))}{spaces} Average%: {round(HS/Matches)}%{END}") + print() + print(f"{spaces}Games:") + print(f"{spaces} Wins: {Wins}") + print(f"{Coloring(WRcalc()/75*100)}{spaces} WR%: {WRcalc()}%{END}") + print(f"{spaces} Rounds: {Rounds}") + print("\n") + print(f"{spaces}Damage:") + print(f"{spaces} Total: {Damage}") + print(f"{Coloring(round(Damage/Matches, 2)/(130*(Rounds/Matches))*100)}{spaces} Average/Match: {round(Damage/Matches, 2)}{END}") + print(f"{Coloring(round(Damage/Rounds, 2)/130*100)}{spaces} Average/Round: {round(Damage/Rounds, 2)}{END}") + print(f"{Coloring(round((Damage/(Kills*125)*100), 2))}{spaces} Average/Kill: {round(Damage/Kills, 2)}{END}") + + print("\033[H", end="") + print(f"Name: {Username}") + print() + print(f"{Coloring(TotalTotalRating)}XMRating: {TotalTotalRating}{END}") + print(f"{Coloring(round(TotalKillRating/Matches*100, 3))} Kill rating: {round(TotalKillRating/Matches*100, 3)}{END}") + print(f"{Coloring(round(TotalDamageRating/Matches*100, 3))} Damage rating: {round(TotalDamageRating/Matches*100, 3)}{END}") + print("") + print(f"Kills:") + print(f" Total: {Kills}") + print(f" {Coloring(round(Kills/Matches, 2)/25*100)}Average/Match: {round(Kills/Matches, 2)}{END}") + print(f" {Coloring(round(round(Kills/Rounds, 2))/1.5*100)}Average/Round: {round(Kills/Rounds, 2)}{END}") + print(f" {Coloring(round(Kills/Deaths, 2)/1.5*100)}K/D: {round(Kills/Deaths, 2)}{END}") + print() + print(f"Deaths:") + print(f" Total: {Deaths}") + print(f" {ColoringLow(round(Deaths/Matches, 2)/22*100)}Average/Match: {round(Deaths/Matches, 2)}{END}") + print(f" {ColoringLow(round(Deaths/Rounds, 2)/1*100)}Average/Round: {round(Deaths/Rounds, 2)}{END}") + print("\n") + print(f"Assists:") + print(f" Total: {Assists}") + print(f" {Coloring(round(Assists/Matches, 2)/8*100)}Average/Match: {round(Assists/Matches, 2)}{END}") + print(f" {Coloring(round(Assists/Rounds, 2)/0.4*100)}Average/Round: {round(Assists/Rounds, 2)}{END}") + print("\n") + except Exception as e: + print("error ", e) + print("There are no stats to judge you... yet.") + print("c) Change username") + print("r) Recent matches") + print("q) Back to the main menu") + inputprofile = input().lower() + if inputprofile == "c": + newuser = input("Your new Username will be: ") + Username = newuser + elif inputprofile == "xamseccod": + print("eGFtZXJlbiBtYWRlIHRoaXM=") + elif inputprofile == "r": + page = 0 + while True: + print("\033[H\033[J", end="") + print("Recent matches\n") + for i, item in enumerate(GameList[0+(page*15):15+(page*15)]): + Colormatches = GameList[i] + values = dict(stritem.split(": ") for stritem in Colormatches.split(", ")) + if values["Win"] == "y": + print(f" {GREEN}Match {int(i)+(page*15)+1} - {item}{END}") + elif values["Win"] == "n": + print(f" {RED}Match {int(i)+(page*15)+1} - {item}{END}") + else: + print(f" Match {int(i)+(page*15)+1} - {item}") + + + print(f"\n1 - {len(GameList)}) to view a match") + if len(GameList) > 15: + if page*15+15 < len(GameList): + print(f"\nShowing {page*15+1} - {page*15+15} out of {len(GameList)} matches\n") + else: + print(f"\nShowing {page*15+1} - {len(GameList)} out of {len(GameList)} matches\n") + print("b) Previous page\nn) Next page") + + + print("h) Help") + print("q) Back to menu") + + + leaveinput = input() +# Newkills, NewDeaths, NewAssists, NewHS, NewDamage, NewRounds, NewWin, AddMatchTotal + + try: + Getstats = int(leaveinput) + if 1 <= Getstats <= len(GameList): + Getstats -= 1 + DeletedMatch = GameList[Getstats] + values = dict(stritem.split(": ") for stritem in DeletedMatch.split(", ")) + try: + rating(int(values["K"]), int(values["D"]), int(values["A"]), int(values["HS"]), int(values["DMG"]), int(values["Rounds"]), values["Win"], False, values["Date"]) + except Exception: + rating(int(values["K"]), int(values["D"]), int(values["A"]), int(values["HS"]), int(values["DMG"]), int(values["Rounds"]), values["Win"], False) + + except Exception: + if leaveinput == "q": + break + elif leaveinput == "n": + if len(GameList) > page*15+15: + page += 1 + else: + print("This is the last page.") + elif leaveinput == "b": + if 0+(page*15) > 0: + page -= 1 + else: + print("This is the first page.") + if leaveinput == "h": + print("\033[H\033[J", end="") + print("Help") + print(" K - Kills") + print(" D - Deaths") + print(" A - Assists") + print(" HS - Headshot percentage") + print(" DMG - Damage dealt") + print(" Win - If you won (y), lost (n), or tied (draw)") + print("Enter anything to exit") + input() + elif inputprofile == "q": + break + +def addmatch(): + Quit = False + while True: + print("\033[H\033[J", end="") + print("Adding a match") + print("Please put in your statistics of the match") + try: + Newkills = int(input("Kills: ")) + NewDeaths = int(input("Deaths: ")) + NewAssists = int(input("Assists: ")) + NewHS = int(input("HS%: ")) + NewDamage = int(input("Damage: ")) + NewRounds = int(input("Rounds: ")) + while True: + WINyn = input("Did you win? (y/draw/n) ").lower() + if WINyn == "n" or WINyn == "y" or WINyn == "draw": + NewWin = WINyn + break + + matchsure = input("Is this all correct? (y/n) ").lower() + if matchsure == "y": + break + elif matchsure == "n": + Quit = True + break + except ValueError: + print("Please only provide a number") + if not Quit: + rating(Newkills, NewDeaths, NewAssists, NewHS, NewDamage, NewRounds, NewWin, True) + +def removematch(): + global Kills, Deaths, Assists, HS, Damage, Rounds, Wins, Losses, Draws, Matches, TotalKillRating, TotalAssistRating, TotalHSrating, TotalDamageRating + print("\033[H\033[J", end="") + page = 0 + while True: + print("\033[H\033[J", end="") + print("Which match would you like to remove?\n") + for i, item in enumerate(GameList[0+(page*15):15+(page*15)]): + + Colormatches = GameList[i] + values = dict(stritem.split(": ") for stritem in Colormatches.split(", ")) + if values["Win"] == "y": + print(f" {GREEN}Match {int(i)+(page*15)+1} - {item}{END}") + elif values["Win"] == "n": + print(f" {RED}Match {int(i)+(page*15)+1} - {item}{END}") + else: + print(f" Match {int(i)+(page*15)+1} - {item}") + if page*15+15 < len(GameList): + print(f"\nShowing {page*15+1} - {page*15+15} out of {len(GameList)} matches\n") + else: + print(f"\nShowing {page*15+1} - {len(GameList)} out of {len(GameList)} matches\n") + print(f"1 - {len(GameList)}) to remove a match") + print("b) Previous page") + print("n) Next page") + print("q) Exit to the main menu") + Chosen1 = input() + try: + a = 5 + Chosen = int(Chosen1) + if 1 <= Chosen <= len(GameList): + Chosen -= 1 + DeletedMatch = GameList[Chosen] + values = dict(stritem.split(": ") for stritem in DeletedMatch.split(", ")) + Kills -= int(values["K"]) + Deaths -= int(values["D"]) + Assists -= int(values["A"]) + HS -= int(values["HS"]) + Damage -= int(values["DMG"]) + Rounds -= int(values["Rounds"]) + Matches -= 1 + + if values["Win"] == "y": + Wins -= 1 + elif values["Win"] == "n": + Losses -= 1 + elif values["Win"] == "draw": + Draws -= 1 + + """ + + + KillRating = min(Newkills/(NewRounds*1.25), 1)*0.4+min((Newkills/NewDeaths)/1.25, 1)*0.4-min(NewDeaths/NewRounds, 1)*0.2 + AssistRating= min(NewAssists/(NewRounds*0.5), 1)*0.6+min(NewAssists/(NewAssists+Newkills), 1)*0.4 + HSrating = NewHS/100*0.6+min(NewHS/100*Newkills/Newkills, 1)*0.4 + DamageRating = min(NewDamage/(NewRounds*125), 1)*0.5+min(Newkills/(NewRounds*1.25), 1)*0.3+min(NewDamage/Newkills/125, 1)*0.2 + + + """ + Newkills = int(values["K"]) + NewDeaths = int(values["D"]) + NewAssists = int(values["A"]) + NewRounds = int(values["Rounds"]) + NewHS = int(values["HS"]) + NewDamage = int(values["DMG"]) + + + + if round(round(min(Newkills/(NewRounds*1.25), 1)*0.4+min((Newkills/NewDeaths)/1.25, 1)*0.4-min(NewDeaths/NewRounds, 1)*0.2, 3)/2, 3) < 1: + TotalKillRating -= round(min(Newkills/(NewRounds*1.25), 1)*0.4+min((Newkills/NewDeaths)/1.25, 1)*0.4-min(NewDeaths/NewRounds, 1)*0.2, 3) + else: + TotalKillRating -= 1 + + if round(min(NewAssists/(NewRounds*0.5), 1)*0.6+min(NewAssists/(NewAssists+Newkills), 1)*0.4, 3) < 1: + TotalAssistRating -= round(min(NewAssists/(NewRounds*0.5), 1)*0.6+min(NewAssists/(NewAssists+Newkills), 1)*0.4, 3) + else: + TotalAssistRating -= 1 + if round(int(a)/20*1407, 3) == 0: + UnassignedString = "eGFtZXJlbg==" + if round(NewHS/100*0.6+min(NewHS/100*Newkills/Newkills, 1)*0.4, 3) < 1: + TotalHSrating -= round(NewHS/100*0.6+min(NewHS/100*Newkills/Newkills, 1)*0.4, 3) + else: + TotalHSrating -= 1 + + if round(min(NewDamage/(NewRounds*125), 1)*0.5+min(Newkills/(NewRounds*1.25), 1)*0.3+min(NewDamage/Newkills/125, 1)*0.2, 3) < 1: + TotalDamageRating -= round(min(NewDamage/(NewRounds*125), 1)*0.5+min(Newkills/(NewRounds*1.25), 1)*0.3+min(NewDamage/Newkills/125, 1)*0.2, 3) + else: + TotalDamageRating -= 1 + + GameList.pop(Chosen) + print("\033[H\033[J", end="") + except Exception as e: + if Chosen1 == "q": + break + elif Chosen1 == "n": + if len(GameList) > page*15+15: + page += 1 + elif Chosen1 == "b": + if 0+(page*15) > 0: + page -= 1 +def mainmenu(): + while True: + save() + print("\033[H\033[J", end="") + print(f"Welcome, {BOLD}{Username}{END}") + print("What would you like to do?") + print("s) Show my profile") + print("a) Add a match") + print("r) Remove a match") + print("q) Quit") + inputmenu = input("Your choise: ").lower() + if inputmenu == "s": + profile() + if inputmenu == "a": + addmatch() + if inputmenu == "r": + removematch() + elif inputmenu == "q": + sys.exit() + +def load(): + global Username, GameList, Kills, Deaths, Assists, HS, WR, Damage, TotalTotalRating, TotalKillRating, TotalAssistRating, TotalHSrating, TotalDamageRating, Rounds, Matches, Wins, Draws, Losses + if os.path.exists(SaveFile): + try: + print("Saving..") + with open(SaveFile, 'r') as file: + GameState = json.load(file) + Username = GameState["Username"] + Kills = GameState["Kills"] + Deaths = GameState["Deaths"] + Assists = GameState["Assists"] + HS = GameState["HS"] + WR = GameState["WR"] + Damage = GameState["Damage"] + TotalTotalRating = GameState["TotalTotalRating"] + TotalKillRating = GameState["TotalKillRating"] + TotalAssistRating = GameState["TotalAssistRating"] + TotalHSrating = GameState["TotalHSrating"] + TotalDamageRating = GameState["TotalDamageRating"] + Rounds = GameState["Rounds"] + Matches = GameState["Matches"] + Wins = GameState["Wins"] + Draws = GameState["Draws"] + Losses = GameState["Losses"] + GameList = GameState["GameList"] + print("Saved!") + except Exception as e: + print(f"Error - {e}") + time.sleep(0.25) + +def save(): + global Username, GameList, Kills, Deaths, Assists, HS, WR, Damage, TotalTotalRating, TotalKillRating, TotalAssistRating, TotalHSrating, TotalDamageRating, Rounds, Matches, Wins, Draws, Losses + + GameState = { + "Username": Username, + "Kills": Kills, + "Deaths": Deaths, + "Assists": Assists, + "HS": HS, + "WR": WR, + "Damage": Damage, + "TotalTotalRating": TotalTotalRating, + "TotalKillRating": TotalKillRating, + "TotalAssistRating": TotalAssistRating, + "TotalHSrating": TotalHSrating, + "TotalDamageRating": TotalDamageRating, + "Rounds": Rounds, + "Matches": Matches, + "Wins": Wins, + "Draws": Draws, + "Losses": Losses, + "GameList": GameList + } + + with open(SaveFile, 'w') as file: + json.dump(GameState, file) + +def start(): + if os.path.exists(SaveFile): + load() + mainmenu() + else: + register() + mainmenu() + +start() \ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..046f5db2cb09b204667e3882698a4d230b54fe9b GIT binary patch literal 75576 zcmdqJXH-*L7cLx7^cX}uM~Z?FIVuVW*r)K{9R-%NDX>j3}oAkFkHfbv@pP69t{cRg=-9t0|k z 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
    3r9-~=O$Cr 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