From e6c09ab8bbf0021f97d1214e3ee4450175d8ca9f Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Wed, 16 Jun 2021 18:42:31 +0200 Subject: [PATCH] - Nuovo InfoPlus - Piccole Migliorie --- core/autoplay.py | 1 - core/tmdb.py | 23 +- platformcode/contextmenu/__init__.py | 1 + platformcode/infoplus.py | 848 +++++++--------- platformcode/launcher.py | 2 +- platformcode/platformtools.py | 22 +- platformcode/xbmc_config_menu.py | 2 + resources/settings.xml | 2 +- resources/skins/Default/720p/CastWindow.xml | 420 ++++++++ resources/skins/Default/720p/ImageWindow.xml | 68 ++ resources/skins/Default/720p/InfoPlus.xml | 947 +++++++++++------- resources/skins/Default/media/Circular/1.png | Bin 0 -> 640 bytes resources/skins/Default/media/Circular/10.png | Bin 0 -> 897 bytes .../skins/Default/media/Circular/100.png | Bin 0 -> 2393 bytes resources/skins/Default/media/Circular/11.png | Bin 0 -> 898 bytes resources/skins/Default/media/Circular/12.png | Bin 0 -> 910 bytes resources/skins/Default/media/Circular/13.png | Bin 0 -> 943 bytes resources/skins/Default/media/Circular/14.png | Bin 0 -> 985 bytes resources/skins/Default/media/Circular/15.png | Bin 0 -> 1005 bytes resources/skins/Default/media/Circular/16.png | Bin 0 -> 1046 bytes resources/skins/Default/media/Circular/17.png | Bin 0 -> 1056 bytes resources/skins/Default/media/Circular/18.png | Bin 0 -> 1085 bytes resources/skins/Default/media/Circular/19.png | Bin 0 -> 1129 bytes resources/skins/Default/media/Circular/2.png | Bin 0 -> 652 bytes resources/skins/Default/media/Circular/20.png | Bin 0 -> 1138 bytes resources/skins/Default/media/Circular/21.png | Bin 0 -> 1177 bytes resources/skins/Default/media/Circular/22.png | Bin 0 -> 1191 bytes resources/skins/Default/media/Circular/23.png | Bin 0 -> 1198 bytes resources/skins/Default/media/Circular/24.png | Bin 0 -> 1209 bytes resources/skins/Default/media/Circular/25.png | Bin 0 -> 1201 bytes resources/skins/Default/media/Circular/26.png | Bin 0 -> 1254 bytes resources/skins/Default/media/Circular/27.png | Bin 0 -> 1269 bytes resources/skins/Default/media/Circular/28.png | Bin 0 -> 1278 bytes resources/skins/Default/media/Circular/29.png | Bin 0 -> 1325 bytes resources/skins/Default/media/Circular/3.png | Bin 0 -> 663 bytes resources/skins/Default/media/Circular/30.png | Bin 0 -> 1339 bytes resources/skins/Default/media/Circular/31.png | Bin 0 -> 1370 bytes resources/skins/Default/media/Circular/32.png | Bin 0 -> 1404 bytes resources/skins/Default/media/Circular/33.png | Bin 0 -> 1432 bytes resources/skins/Default/media/Circular/34.png | Bin 0 -> 1473 bytes resources/skins/Default/media/Circular/35.png | Bin 0 -> 1502 bytes resources/skins/Default/media/Circular/36.png | Bin 0 -> 1503 bytes resources/skins/Default/media/Circular/37.png | Bin 0 -> 1527 bytes resources/skins/Default/media/Circular/38.png | Bin 0 -> 1566 bytes resources/skins/Default/media/Circular/39.png | Bin 0 -> 1591 bytes resources/skins/Default/media/Circular/4.png | Bin 0 -> 720 bytes resources/skins/Default/media/Circular/40.png | Bin 0 -> 1627 bytes resources/skins/Default/media/Circular/41.png | Bin 0 -> 1662 bytes resources/skins/Default/media/Circular/42.png | Bin 0 -> 1654 bytes resources/skins/Default/media/Circular/43.png | Bin 0 -> 1676 bytes resources/skins/Default/media/Circular/44.png | Bin 0 -> 1708 bytes resources/skins/Default/media/Circular/45.png | Bin 0 -> 1729 bytes resources/skins/Default/media/Circular/46.png | Bin 0 -> 1742 bytes resources/skins/Default/media/Circular/47.png | Bin 0 -> 1756 bytes resources/skins/Default/media/Circular/48.png | Bin 0 -> 1794 bytes resources/skins/Default/media/Circular/49.png | Bin 0 -> 1788 bytes resources/skins/Default/media/Circular/5.png | Bin 0 -> 747 bytes resources/skins/Default/media/Circular/50.png | Bin 0 -> 1647 bytes resources/skins/Default/media/Circular/51.png | Bin 0 -> 1808 bytes resources/skins/Default/media/Circular/52.png | Bin 0 -> 1821 bytes resources/skins/Default/media/Circular/53.png | Bin 0 -> 1824 bytes resources/skins/Default/media/Circular/54.png | Bin 0 -> 1870 bytes resources/skins/Default/media/Circular/55.png | Bin 0 -> 1867 bytes resources/skins/Default/media/Circular/56.png | Bin 0 -> 1895 bytes resources/skins/Default/media/Circular/57.png | Bin 0 -> 1915 bytes resources/skins/Default/media/Circular/58.png | Bin 0 -> 1946 bytes resources/skins/Default/media/Circular/59.png | Bin 0 -> 1936 bytes resources/skins/Default/media/Circular/6.png | Bin 0 -> 780 bytes resources/skins/Default/media/Circular/60.png | Bin 0 -> 1957 bytes resources/skins/Default/media/Circular/61.png | Bin 0 -> 1971 bytes resources/skins/Default/media/Circular/62.png | Bin 0 -> 1990 bytes resources/skins/Default/media/Circular/63.png | Bin 0 -> 1995 bytes resources/skins/Default/media/Circular/64.png | Bin 0 -> 2035 bytes resources/skins/Default/media/Circular/65.png | Bin 0 -> 2070 bytes resources/skins/Default/media/Circular/66.png | Bin 0 -> 2093 bytes resources/skins/Default/media/Circular/67.png | Bin 0 -> 2102 bytes resources/skins/Default/media/Circular/68.png | Bin 0 -> 2138 bytes resources/skins/Default/media/Circular/69.png | Bin 0 -> 2158 bytes resources/skins/Default/media/Circular/7.png | Bin 0 -> 813 bytes resources/skins/Default/media/Circular/70.png | Bin 0 -> 2179 bytes resources/skins/Default/media/Circular/71.png | Bin 0 -> 2205 bytes resources/skins/Default/media/Circular/72.png | Bin 0 -> 2210 bytes resources/skins/Default/media/Circular/73.png | Bin 0 -> 2251 bytes resources/skins/Default/media/Circular/74.png | Bin 0 -> 2247 bytes resources/skins/Default/media/Circular/75.png | Bin 0 -> 2191 bytes resources/skins/Default/media/Circular/76.png | Bin 0 -> 2243 bytes resources/skins/Default/media/Circular/77.png | Bin 0 -> 2236 bytes resources/skins/Default/media/Circular/78.png | Bin 0 -> 2245 bytes resources/skins/Default/media/Circular/79.png | Bin 0 -> 2265 bytes resources/skins/Default/media/Circular/8.png | Bin 0 -> 838 bytes resources/skins/Default/media/Circular/80.png | Bin 0 -> 2283 bytes resources/skins/Default/media/Circular/81.png | Bin 0 -> 2311 bytes resources/skins/Default/media/Circular/82.png | Bin 0 -> 2357 bytes resources/skins/Default/media/Circular/83.png | Bin 0 -> 2385 bytes resources/skins/Default/media/Circular/84.png | Bin 0 -> 2372 bytes resources/skins/Default/media/Circular/85.png | Bin 0 -> 2422 bytes resources/skins/Default/media/Circular/86.png | Bin 0 -> 2444 bytes resources/skins/Default/media/Circular/87.png | Bin 0 -> 2455 bytes resources/skins/Default/media/Circular/88.png | Bin 0 -> 2461 bytes resources/skins/Default/media/Circular/89.png | Bin 0 -> 2529 bytes resources/skins/Default/media/Circular/9.png | Bin 0 -> 844 bytes resources/skins/Default/media/Circular/90.png | Bin 0 -> 2548 bytes resources/skins/Default/media/Circular/91.png | Bin 0 -> 2571 bytes resources/skins/Default/media/Circular/92.png | Bin 0 -> 2589 bytes resources/skins/Default/media/Circular/93.png | Bin 0 -> 2606 bytes resources/skins/Default/media/Circular/94.png | Bin 0 -> 3125 bytes resources/skins/Default/media/Circular/95.png | Bin 0 -> 2609 bytes resources/skins/Default/media/Circular/96.png | Bin 0 -> 2613 bytes resources/skins/Default/media/Circular/97.png | Bin 0 -> 2638 bytes resources/skins/Default/media/Circular/98.png | Bin 0 -> 2675 bytes resources/skins/Default/media/Circular/99.png | Bin 0 -> 2659 bytes resources/skins/Default/media/search.png | Bin 0 -> 3270 bytes specials/globalsearch.py | 22 +- 113 files changed, 1458 insertions(+), 900 deletions(-) create mode 100644 platformcode/contextmenu/__init__.py create mode 100644 resources/skins/Default/720p/CastWindow.xml create mode 100644 resources/skins/Default/720p/ImageWindow.xml create mode 100644 resources/skins/Default/media/Circular/1.png create mode 100644 resources/skins/Default/media/Circular/10.png create mode 100644 resources/skins/Default/media/Circular/100.png create mode 100644 resources/skins/Default/media/Circular/11.png create mode 100644 resources/skins/Default/media/Circular/12.png create mode 100644 resources/skins/Default/media/Circular/13.png create mode 100644 resources/skins/Default/media/Circular/14.png create mode 100644 resources/skins/Default/media/Circular/15.png create mode 100644 resources/skins/Default/media/Circular/16.png create mode 100644 resources/skins/Default/media/Circular/17.png create mode 100644 resources/skins/Default/media/Circular/18.png create mode 100644 resources/skins/Default/media/Circular/19.png create mode 100644 resources/skins/Default/media/Circular/2.png create mode 100644 resources/skins/Default/media/Circular/20.png create mode 100644 resources/skins/Default/media/Circular/21.png create mode 100644 resources/skins/Default/media/Circular/22.png create mode 100644 resources/skins/Default/media/Circular/23.png create mode 100644 resources/skins/Default/media/Circular/24.png create mode 100644 resources/skins/Default/media/Circular/25.png create mode 100644 resources/skins/Default/media/Circular/26.png create mode 100644 resources/skins/Default/media/Circular/27.png create mode 100644 resources/skins/Default/media/Circular/28.png create mode 100644 resources/skins/Default/media/Circular/29.png create mode 100644 resources/skins/Default/media/Circular/3.png create mode 100644 resources/skins/Default/media/Circular/30.png create mode 100644 resources/skins/Default/media/Circular/31.png create mode 100644 resources/skins/Default/media/Circular/32.png create mode 100644 resources/skins/Default/media/Circular/33.png create mode 100644 resources/skins/Default/media/Circular/34.png create mode 100644 resources/skins/Default/media/Circular/35.png create mode 100644 resources/skins/Default/media/Circular/36.png create mode 100644 resources/skins/Default/media/Circular/37.png create mode 100644 resources/skins/Default/media/Circular/38.png create mode 100644 resources/skins/Default/media/Circular/39.png create mode 100644 resources/skins/Default/media/Circular/4.png create mode 100644 resources/skins/Default/media/Circular/40.png create mode 100644 resources/skins/Default/media/Circular/41.png create mode 100644 resources/skins/Default/media/Circular/42.png create mode 100644 resources/skins/Default/media/Circular/43.png create mode 100644 resources/skins/Default/media/Circular/44.png create mode 100644 resources/skins/Default/media/Circular/45.png create mode 100644 resources/skins/Default/media/Circular/46.png create mode 100644 resources/skins/Default/media/Circular/47.png create mode 100644 resources/skins/Default/media/Circular/48.png create mode 100644 resources/skins/Default/media/Circular/49.png create mode 100644 resources/skins/Default/media/Circular/5.png create mode 100644 resources/skins/Default/media/Circular/50.png create mode 100644 resources/skins/Default/media/Circular/51.png create mode 100644 resources/skins/Default/media/Circular/52.png create mode 100644 resources/skins/Default/media/Circular/53.png create mode 100644 resources/skins/Default/media/Circular/54.png create mode 100644 resources/skins/Default/media/Circular/55.png create mode 100644 resources/skins/Default/media/Circular/56.png create mode 100644 resources/skins/Default/media/Circular/57.png create mode 100644 resources/skins/Default/media/Circular/58.png create mode 100644 resources/skins/Default/media/Circular/59.png create mode 100644 resources/skins/Default/media/Circular/6.png create mode 100644 resources/skins/Default/media/Circular/60.png create mode 100644 resources/skins/Default/media/Circular/61.png create mode 100644 resources/skins/Default/media/Circular/62.png create mode 100644 resources/skins/Default/media/Circular/63.png create mode 100644 resources/skins/Default/media/Circular/64.png create mode 100644 resources/skins/Default/media/Circular/65.png create mode 100644 resources/skins/Default/media/Circular/66.png create mode 100644 resources/skins/Default/media/Circular/67.png create mode 100644 resources/skins/Default/media/Circular/68.png create mode 100644 resources/skins/Default/media/Circular/69.png create mode 100644 resources/skins/Default/media/Circular/7.png create mode 100644 resources/skins/Default/media/Circular/70.png create mode 100644 resources/skins/Default/media/Circular/71.png create mode 100644 resources/skins/Default/media/Circular/72.png create mode 100644 resources/skins/Default/media/Circular/73.png create mode 100644 resources/skins/Default/media/Circular/74.png create mode 100644 resources/skins/Default/media/Circular/75.png create mode 100644 resources/skins/Default/media/Circular/76.png create mode 100644 resources/skins/Default/media/Circular/77.png create mode 100644 resources/skins/Default/media/Circular/78.png create mode 100644 resources/skins/Default/media/Circular/79.png create mode 100644 resources/skins/Default/media/Circular/8.png create mode 100644 resources/skins/Default/media/Circular/80.png create mode 100644 resources/skins/Default/media/Circular/81.png create mode 100644 resources/skins/Default/media/Circular/82.png create mode 100644 resources/skins/Default/media/Circular/83.png create mode 100644 resources/skins/Default/media/Circular/84.png create mode 100644 resources/skins/Default/media/Circular/85.png create mode 100644 resources/skins/Default/media/Circular/86.png create mode 100644 resources/skins/Default/media/Circular/87.png create mode 100644 resources/skins/Default/media/Circular/88.png create mode 100644 resources/skins/Default/media/Circular/89.png create mode 100644 resources/skins/Default/media/Circular/9.png create mode 100644 resources/skins/Default/media/Circular/90.png create mode 100644 resources/skins/Default/media/Circular/91.png create mode 100644 resources/skins/Default/media/Circular/92.png create mode 100644 resources/skins/Default/media/Circular/93.png create mode 100644 resources/skins/Default/media/Circular/94.png create mode 100644 resources/skins/Default/media/Circular/95.png create mode 100644 resources/skins/Default/media/Circular/96.png create mode 100644 resources/skins/Default/media/Circular/97.png create mode 100644 resources/skins/Default/media/Circular/98.png create mode 100644 resources/skins/Default/media/Circular/99.png create mode 100644 resources/skins/Default/media/search.png diff --git a/core/autoplay.py b/core/autoplay.py index ec3f37b0..d7d9fdd1 100644 --- a/core/autoplay.py +++ b/core/autoplay.py @@ -273,7 +273,6 @@ def start(itemlist, item): if autoplay_elem == autoplay_list[-1]: platformtools.dialog_notification('AutoPlay', config.get_localized_string(60072) % name) - itemlist = [s['videoitem'] for s in autoplay_list] else: platformtools.dialog_notification(config.get_localized_string(60074), config.get_localized_string(60075)) diff --git a/core/tmdb.py b/core/tmdb.py index 2b1221eb..74c58e62 100644 --- a/core/tmdb.py +++ b/core/tmdb.py @@ -147,8 +147,8 @@ def cache_response(fn): # error getting data except Exception as ex: - message = "An exception of type %s occured. Arguments:\n%s" % (type(ex).__name__, repr(ex.args)) - logger.error("error in: %s" % message) + message = "An exception of type {} occured. Arguments:\n{}".format(type(ex).__name__, repr(ex.args)) + logger.error("error in:", message) return result @@ -175,10 +175,10 @@ def set_infoLabels(source, seekTmdb=True, search_language=def_lang, forced=False start_time = time.time() if type(source) == list: ret = set_infoLabels_itemlist(source, seekTmdb, search_language) - logger.debug("The data of %i links were obtained in %f seconds" % (len(source), time.time() - start_time)) + logger.debug("The data of {} links were obtained in {} seconds".format(len(source), time.time() - start_time)) else: ret = set_infoLabels_item(source, seekTmdb, search_language) - logger.debug("The data were obtained in %f seconds" % (time.time() - start_time)) + logger.debug("The data were obtained in {} seconds".format(time.time() - start_time)) return ret @@ -279,7 +279,7 @@ def set_infoLabels_item(item, seekTmdb=True, search_language=def_lang): try: ep = int(item.infoLabels['episode']) except ValueError: - logger.debug("The episode number (%s) is not valid" % repr(item.infoLabels['episode'])) + logger.debug("The episode number ({}) is not valid".format(repr(item.infoLabels['episode']))) return -1 * len(item.infoLabels) # We have valid season number and episode number... @@ -1524,7 +1524,7 @@ class Tmdb(object): seasons = [] if results and 'Error' not in results: for season in results: - url = '{host}/tv/{id}/season/{season}?api_key={api}&language={lang}'.format(host=host, id=self.search_id, season=season['season_number'], api=api, lang=self.search_language) + url = '{}/tv/{}/season/{}?api_key={}&language={}'.format(host, self.search_id, season['season_number'], api, self.search_language) try: start_from = requests.get(url).json()['episodes'][0]['episode_number'] except: start_from = 1 seasons.append({'season_number':season['season_number'], 'episode_count':season['episode_count'], 'start_from':start_from}) @@ -1567,7 +1567,7 @@ class Tmdb(object): for i in self.result['videos']: if i['site'] == "YouTube": ret.append({'name': i['name'], - 'url': "https://www.youtube.com/watch?v=%s" % i['key'], + 'url': "plugin://plugin.video.youtube/play/?video_id={}".format(i['key']), 'size': str(i['size']), 'type': i['type'], 'language': i['iso_639_1']}) @@ -1592,8 +1592,10 @@ class Tmdb(object): l_country = [i.strip() for i in ret_infoLabels['country'].split(',') if ret_infoLabels['country']] l_director = [i.strip() for i in ret_infoLabels['director'].split(',') if ret_infoLabels['director']] l_director_image = ret_infoLabels.get('director_image', []) + l_director_id = ret_infoLabels.get('director_id', []) l_writer = [i.strip() for i in ret_infoLabels['writer'].split(',') if ret_infoLabels['writer']] l_writer_image = ret_infoLabels.get('writer_image', []) + l_writer_id = ret_infoLabels.get('writer_id', []) l_castandrole = ret_infoLabels.get('castandrole', []) if not origen: @@ -1699,7 +1701,7 @@ class Tmdb(object): elif k == 'credits_cast' or k == 'season_cast' or k == 'episode_guest_stars': dic_aux = dict((name, [character, thumb, order, id]) for (name, character, thumb, order, id) in l_castandrole) - l_castandrole.extend([(p['name'], p.get('character', '') or p.get('character_name', ''), 'https://image.tmdb.org/t/p/original' + p.get('profile_path', '') if p.get('profile_path', '') else '', p.get('order'), p.get('credit_id')) \ + l_castandrole.extend([(p['name'], p.get('character', '') or p.get('character_name', ''), 'https://image.tmdb.org/t/p/original' + p.get('profile_path', '') if p.get('profile_path', '') else '', p.get('order'), p.get('id')) \ for p in v if 'name' in p and p['name'] not in list(dic_aux.keys())]) elif k == 'videos': @@ -1739,12 +1741,15 @@ class Tmdb(object): elif k == 'credits_crew' or k == 'episode_crew' or k == 'season_crew': for crew in v: if crew['job'].lower() == 'director': + # from core.support import dbg;dbg() l_director = list(set(l_director + [crew['name']])) l_director_image += ['https://image.tmdb.org/t/p/original' + crew['profile_path'] if crew['profile_path'] else ''] + l_director_id += [crew['id']] elif crew['job'].lower() in ('screenplay', 'writer'): l_writer = list(set(l_writer + [crew['name']])) l_writer_image += ['https://image.tmdb.org/t/p/original' + crew['profile_path'] if crew['profile_path'] else ''] + l_writer_id += [crew['id']] elif k == 'created_by': for crew in v: @@ -1766,9 +1771,11 @@ class Tmdb(object): if l_director: ret_infoLabels['director'] = ', '.join(l_director) ret_infoLabels['director_image'] = l_director_image + ret_infoLabels['director_id'] = l_director_id if l_writer: ret_infoLabels['writer'] = ', '.join(l_writer) ret_infoLabels['writer_image'] = l_writer_image + ret_infoLabels['writer_id'] = l_writer_id return ret_infoLabels diff --git a/platformcode/contextmenu/__init__.py b/platformcode/contextmenu/__init__.py new file mode 100644 index 00000000..7c68785e --- /dev/null +++ b/platformcode/contextmenu/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- \ No newline at end of file diff --git a/platformcode/infoplus.py b/platformcode/infoplus.py index 51502a79..b49508fa 100644 --- a/platformcode/infoplus.py +++ b/platformcode/infoplus.py @@ -2,13 +2,17 @@ # ------------------------------------------------------------ # infoplus window with item information # ------------------------------------------------------------ + +from typing import List import xbmc, xbmcgui, sys, requests, re -from core import support, tmdb, filetools, channeltools, servertools +from core import httptools, support, tmdb, filetools, channeltools, servertools, jsontools from core.item import Item -from platformcode import config, platformtools +from platformcode import config, platformtools, logger, xbmc_videolibrary from platformcode.logger import log from core.scrapertools import decodeHtmlentities, htmlclean +from core.support import typo, dbg + PY3 = False if sys.version_info[0] >= 3: PY3 = True if PY3: from concurrent import futures @@ -19,23 +23,16 @@ SearchWindows = [] api = 'k_0tdb8a8y' # Control ID -FANART = 30000 -NUMBER = 30001 -TITLE = 30002 -TAGLINE = 30003 -PLOT = 30004 -RATING_ICON = 30005 -RATING = 30006 -TRAILER = 30007 -SEARCH = 30008 -NEXT = 30009 -PREVIOUS = 30010 -LOADING = 30011 -COMMANDS = 30012 -IMAGES = 30013 -RECOMANDED = TRAILERS = 30500 -ACTORS = 30501 -CAST = 30502 +LIST = 100 +CAST = 101 +RECOMANDED = 102 +TRAILERS = 103 +FANARTS = 104 + + +SEARCH = 200 +BACK = 201 +CLOSE = 202 # Actions LEFT = 1 @@ -46,527 +43,362 @@ EXIT = 10 BACKSPACE = 92 +def start(item): + xbmc.executebuiltin('Dialog.Close(all)') + InfoPlus('InfoPlus.xml', config.get_runtime_path(), item=item) -def Main(item): - if type(item) == Item: - item.channel = item.from_channel - global ITEM - ITEM = item - Info = xbmcgui.ListItem(item.infoLabels['title']) - for key, value in item.infoLabels.items(): - Info.setProperty(key, str(value)) - else: - Info = item - - main = MainWindow('InfoPlus.xml', config.get_runtime_path()) - add({'class':main, 'info':Info, 'id':RECOMANDED, RECOMANDED:0, ACTORS:0}) - modal() - -class MainWindow(xbmcgui.WindowXMLDialog): +class InfoPlus(xbmcgui.WindowXML): def __init__(self, *args, **kwargs): + self.item = kwargs.get('item') + self.info = self.item.infoLabels + self.type = 'movie' if self.info.get('mediatype') == 'movie' else 'tv' self.items = [] self.cast = [] self.actors = [] self.ids = {} self.tmdb = [] + self.recomanded = [] + self.trailers = [] + self.images = [] + self.fanarts = [] + if not self.item.focus: self.item.focus = {} + platformtools.dialog_busy(True) + if self.item: + # Find Video Info + tmdb.set_infoLabels_item(self.item) + self.info = self.item.infoLabels + title = typo(self.info.get('title'), 'bold') + tagline = self.info.get('tagline') + if tagline: title += '\n' + typo(tagline, 'italic') + + # Set Listitem + self.listitem = xbmcgui.ListItem(title) + # Set Image + if self.info['mediatype'] == 'episode': + self.listitem.setArt({'poster':self.info['thumbnail'], 'fanart':self.info['poster_path']}) + else: + self.listitem.setArt({'poster':self.item.thumbnail, 'fanart':self.item.fanart}) + # Set Rating + self.listitem.setProperty('rating',str(int(self.info.get('rating',10) * 10))) + rating = self.info.get('rating', 'N/A') + color = 'FFFFFFFF' if rating == 'N/A' else 'FFDB2360' if rating < 4 else 'FFD2D531' if rating < 7 else 'FF21D07A' + self.listitem.setProperty('color',color) + + # Set infoLabels + platformtools.set_infolabels(self.listitem, self.item) + + # Add Cast Info + for cast in self.info.get('castandrole',[]): + castitem = xbmcgui.ListItem(cast[0], cast[1]) + castitem.setArt({'poster':cast[2]}) + castitem.setProperties({'order':str(cast[3]), 'id':cast[4]}) + self.cast.append(castitem) + self.cast.sort(key=lambda c: c.getProperty('order')) + + directors = self.info.get('director') + if directors: + for i, director in enumerate(directors.split(',')): + directoritem = xbmcgui.ListItem(director, 'Regista') + directoritem.setArt({'poster':self.info.get('director_image')[i]}) + directoritem .setProperty('id', str(self.info.get('director_id')[i])) + self.cast.insert(i, directoritem) + + # Add Recomandations + self.get_recomendations() + + # Add Trailers + self.get_trailers() + + # Add Fanart + self.get_fanarts() + + platformtools.dialog_busy(False) + + self.doModal() def onInit(self): - #### Compatibility with Kodi 18 #### - if config.get_platform(True)['num_version'] < 18: - self.setCoordinateResolution(2) - if Info.getProperty('id'):self.items = get_movies(Info) - else: self.items = get_recomendations(Info) - self.cast, self.actors = get_cast(Info) - self.getControl(LOADING).setVisible(False) - self.getControl(RECOMANDED).addItems(self.items) - self.getControl(FANART).setImage(Info.getProperty('fanart')) - self.getControl(ACTORS).addItems(self.actors) - if self.cast: - self.getControl(CAST).setVisible(True) - self.getControl(CAST).addItems(self.cast) - else: - self.getControl(CAST).setVisible(False) - if Info.getProperty('rating'): rating = str(Info.getProperty('rating')) - else: rating = 'N/A' - self.getControl(RATING).setText(rating) - getFocus(self) + self.getControl(LIST).addItem(self.listitem) + + self.getControl(CAST).addItems(self.cast) + if self.item.cast: self.getControl(CAST).selectItem(self.item.cast) + + self.getControl(RECOMANDED).addItems(self.recomanded) + if self.item.recomanded: self.getControl(RECOMANDED).selectItem(self.item.recomanded) + + self.getControl(TRAILERS).addItems(self.trailers) + self.getControl(FANARTS).addItems(self.fanarts) + + # Set Focus + if self.item.focus: + for k, v in self.item.focus.items(): + self.getControl(k).selectItem(v) + xbmc.sleep(200) + self.setFocusId(self.item.setFocus) + else: self.setFocusId(LIST) - def onClick(self, control_id): - setFocus(self) - title = self.getControl(RECOMANDED).getSelectedItem().getProperty('title') - mode = self.getControl(RECOMANDED).getSelectedItem().getProperty('mediatype') - if control_id in [SEARCH]: - self.close() - if self.getControl(RECOMANDED).getSelectedPosition() > 0: - Search(ITEM.clone(action='search', search_text=title)) - else: - Search(ITEM.clone(channel='search', action='new_search', search_text=title, mode=mode)) - elif control_id in [TRAILER]: - info = self.getControl(RECOMANDED).getSelectedItem() - self.close() - Trailer(info) - elif control_id in [IMAGES]: - info = self.getControl(RECOMANDED).getSelectedItem() - images = tmdb.Tmdb(id_Tmdb=info.getProperty('tmdb_id'), search_type='movie' if mode == 'movie' else 'tv').result.get("images", {}) - for key, value in list(images.items()): - if not value: images.pop(key) - ImagesWindow(tmdb = images).doModal() - elif control_id in [ACTORS, CAST]: - self.close() - Main(self.getControl(self.getFocusId()).getSelectedItem()) - elif control_id in [RECOMANDED] and self.getControl(RECOMANDED).getSelectedPosition() > 0: - self.close() - Main(self.getControl(RECOMANDED).getSelectedItem()) def onAction(self, action): - if self.getFocusId() in [ACTORS, RECOMANDED]: - self.ids[self.getFocusId()] = self.getControl(self.getFocusId()).getSelectedPosition() - if self.getFocusId() in [ACTORS, CAST] and action not in [BACKSPACE, EXIT]: - actors_more_info(self.getControl(self.getFocusId()).getSelectedItem()) - if self.getFocusId() in [RECOMANDED]: - fanart = self.getControl(self.getFocusId()).getSelectedItem().getProperty('fanart') - rating = self.getControl(self.getFocusId()).getSelectedItem().getProperty('rating') - if not rating: rating = 'N/A' - self.getControl(FANART).setImage(fanart) - self.getControl(RATING).setText(rating) - cast, actors = get_cast(self.getControl(self.getFocusId()).getSelectedItem()) - self.getControl(ACTORS).reset() - self.getControl(ACTORS).addItems(actors) - self.getControl(CAST).reset() - self.getControl(CAST).addItems(cast) action = action.getId() - if action in [BACKSPACE]: - self.close() - remove() - modal() - elif action in [EXIT]: + focus = self.getFocusId() + if action in [EXIT]: self.close() + elif action in [BACKSPACE]: + back(self) + elif action in [UP, DOWN, LEFT, RIGHT] and focus not in [LIST, CAST, RECOMANDED, TRAILERS, FANARTS, SEARCH, BACK, CLOSE]: + self.setFocusId(LIST) + if focus > 0: + self.item.setFocus = focus + self.item.focus[focus] = self.getControl(focus).getSelectedPosition() -def Search(item): - if item.action == 'findvideos': XML = 'ServersWindow.xml' - else: XML = 'SearchWindow.xml' - global Info - Info = item - main = SearchWindow(XML, config.get_runtime_path()) - add({'class':main, 'info':item, 'id':RECOMANDED}) - modal() - -class SearchWindow(xbmcgui.WindowXMLDialog): - def __init__(self, *args, **kwargs): - self.items = [] - self.itemlist = [] - self.commands = [] - self.ids = {} - self.channel = None - - def onInit(self): - #### Compatibility with Kodi 18 #### - if config.get_platform(True)['num_version'] < 18: - self.setCoordinateResolution(2) - if len(self.items) == 0: - if Info.action == 'new_search' and Info.mode: - from specials.search import new_search - itemlist = new_search(Info) - elif Info.action == 'channel_search': - from specials.search import channel_search - itemlist = channel_search(Info) - else: - self.channel = __import__('channels.%s' % Info.channel, fromlist=["channels.%s" % Info.channel]) - if Info.action == 'search': itemlist = getattr(self.channel, 'search')(Info, Info.search_text) - else: itemlist = getattr(self.channel, Info.action)(Info) - if not itemlist: - if platformtools.dialog_yesno(config.get_localized_string(60473), config.get_localized_string(70820) % Info.channel): - remove() - self.close() - return Search(Info.clone(mode=Info.infoLabels['mediatype'])) - else: - remove() - self.close() - modal() - for item in itemlist: - if item.action not in ['save_download', 'add_movie_to_library', 'add_serie_to_library', ''] and item.infoLabels['title']: - if item.action == 'findvideos' and item.contentType in ['episode', 'tvshow']: - it = xbmcgui.ListItem(re.sub(r'\[[^\]]+\]', '', item.title)) - self.getControl(NUMBER).setText(support.typo(config.get_localized_string(70362),'uppercase bold')) - else: - it = xbmcgui.ListItem(item.infoLabels['title']) - it.setProperty('channelname', channeltools.get_channel_parameters(item.channel).get('title','')) - it.setProperty('channel', item.channel) - it.setProperty('action', item.action) - it.setProperty('server', servertools.get_server_parameters(item.server.lower()).get('name',item.server)) - it.setProperty('url', item.url) - for key, value in item.infoLabels.items(): - it.setProperty(key, str(value)) - if item.action == 'play': - it.setProperty('thumbnail', "https://raw.githubusercontent.com/kodiondemand/media/master/resources/servers/%s.png" % item.server.lower()) - self.items.append(it) - self.itemlist.append(item) - if itemlist[0].contentType == 'movie': - if not itemlist[0].server: - self.commands.append(itemlist[0].clone(action='add_movie_to_library', thumbnail=support.thumb('add_to_videolibrary'))) - self.commands.append(itemlist[0].clone(channel='downloads', action='save_download', from_channel=itemlist[0].channel, from_action=itemlist[0].action, thumbnail=support.thumb('downloads'))) - else: - self.commands.append(Info.clone(channel='downloads', action='save_download', from_channel=Info.channel, from_action=Info.action, thumbnail=support.thumb('downloads'))) - if itemlist[0].contentType in ['tvshow', 'episode']: - if not itemlist[0].server: - self.commands.append(itemlist[0].clone(action='add_serie_to_library', thumbnail=support.thumb('add_to_videolibrary'))) - self.commands.append(itemlist[0].clone(channel='downloads', action='save_download', from_channel=itemlist[0].channel, from_action=itemlist[0].action, thumbnail=support.thumb('downloads'))) - else: - self.commands.append(Info.clone(channel='downloads', action='save_download', from_channel=Info.channel, from_action=Info.action, thumbnail=support.thumb('downloads'))) - if self.commands: - commands = [] - for command in self.commands: - it = xbmcgui.ListItem(command.title) - path = filetools.join(config.get_runtime_path(),'resources','skins','Default','media','Infoplus',command.thumbnail.split('/')[-1].replace('thumb_','')) - it.setProperty('thumbnail',path) - commands.append(it) - self.getControl(COMMANDS).addItems(commands) - if self.items: - self.getControl(FANART).setImage(self.items[0].getProperty('fanart')) - - self.getControl(RECOMANDED).addItems(self.items) - self.getControl(LOADING).setVisible(False) - getFocus(self) - - def onClick(self, control_id): - setFocus(self) - if control_id == COMMANDS: - from platformcode.launcher import run - pos = self.getControl(COMMANDS).getSelectedPosition() - if self.commands[pos].action =='save_download' and self.commands[pos].contentType == 'tvshow': - actions = [self.commands[-1].clone(), self.commands[-1].clone(download='season')] - options = [config.get_localized_string(60355),config.get_localized_string(60357)] - run(actions[platformtools.dialog_select(config.get_localized_string(60498),options)]) - else: - run(self.commands[pos]) - else: - action = self.getControl(RECOMANDED).getSelectedItem().getProperty('action') - channel = self.getControl(RECOMANDED).getSelectedItem().getProperty('channel') - url = self.getControl(RECOMANDED).getSelectedItem().getProperty('url') - item = Item(channel=channel, action=action, url=url) - if action == 'play': - item.server = self.getControl(RECOMANDED).getSelectedItem().getProperty('server') - self.close() - from platformcode.launcher import run - run(item) - xbmc.sleep(500) - while xbmc.Player().isPlaying(): - xbmc.sleep(500) - modal() - elif config.get_setting('autoplay'): - item.quality = self.getControl(RECOMANDED).getSelectedItem().getProperty('quality') - getattr(self.channel, item.action)(item) - self.close() - xbmc.sleep(500) - while xbmc.Player().isPlaying(): - xbmc.sleep(500) - modal() - else: - pos = self.getControl(RECOMANDED).getSelectedPosition() - self.close() - if self.itemlist[pos].mode: remove() - Search(self.itemlist[pos]) - - def onAction(self, action): - if self.getFocusId() in [RECOMANDED]: - fanart = self.getControl(self.getFocusId()).getSelectedItem().getProperty('fanart') - self.getControl(FANART).setImage(fanart) - action = action.getId() - if action in [BACKSPACE]: - self.close() - remove() - modal() - elif action in [EXIT]: - self.close() - - -def Trailer(info): - global info_list, trailers - trailers = [] - trailers_list = [] - Type = info.getProperty('mediatype') - if Type != "movie": Type = "tv" - trailers_list = tmdb.Tmdb(id_Tmdb=info.getProperty('tmdb_id'), search_type=Type).get_videos() - if trailers_list: - for i, trailer in enumerate(trailers_list): - item = xbmcgui.ListItem(trailer['name']) - item.setProperties({'tile':trailer['name'], - 'url': trailer['url'], - 'thumbnail': 'http://img.youtube.com/vi/' + trailer['url'].split('=')[-1] + '/0.jpg', - 'fanart':info.getProperty('fanart'), - 'position':'%s/%s' % (i + 1, len(trailers_list))}) - trailers.append(item) - else: # TRY youtube search - patron = r'thumbnails":\[\{"url":"(https://i.ytimg.com/vi[^"]+).*?' - patron += r'text":"([^"]+).*?' - patron += r'simpleText":"[^"]+.*?simpleText":"([^"]+).*?' - patron += r'url":"([^"]+)' - matches = support.match('https://www.youtube.com/results?search_query=' + info.getProperty('title').replace(' ','+') + '+trailer+ita', patron = patron).matches - i = 0 - for thumb, title, text, url in matches: - i += 1 - item = xbmcgui.ListItem(title + ' - '+ text) - item.setProperties({'tile':title + ' - '+ text, 'url': url, 'thumbnail': thumb, 'fanart':info.getProperty('fanart'), 'position':'%s/%s' % (i, len(matches))}) - trailers.append(item) - main = TrailerWindow('TrailerWindow.xml', config.get_runtime_path()) - add({'class':main, 'info':trailers, 'id':RECOMANDED, TRAILERS:0}) - modal() - -class TrailerWindow(xbmcgui.WindowXMLDialog): - def __init__(self, *args, **kwargs): - self.ids = {} - - def onInit(self): - #### Compatibility with Kodi 18 #### - if config.get_platform(True)['num_version'] < 18: - self.setCoordinateResolution(2) - self.getControl(FANART).setImage(trailers[0].getProperty('fanart')) - self.getControl(NUMBER).setText(trailers[0].getProperty('position')) - self.getControl(TRAILERS).addItems(trailers) - self.setFocusId(TRAILERS) - getFocus(self) - - def onClick(self, control_id): - setFocus(self) - if control_id in [TRAILERS]: - selected = self.getControl(TRAILERS).getSelectedItem() - platformtools.play_video(Item(title=selected.getProperty('title'), action='play', url=selected.getProperty('url'), server='youtube')) - while not xbmc.Player().isPlaying(): - xbmc.sleep(100) - self.close() - while xbmc.Player().isPlaying(): - xbmc.sleep(100) - modal() - - def onAction(self, action): - if self.getFocusId() in [TRAILERS]: - self.ids[self.getFocusId()] = self.getControl(self.getFocusId()).getSelectedPosition() - fanart = self.getControl(TRAILERS).getSelectedItem().getProperty('fanart') - position = self.getControl(TRAILERS).getSelectedItem().getProperty('position') - self.getControl(FANART).setImage(fanart) - self.getControl(NUMBER).setText(position) - action = action.getId() + def onClick(self, control): global info_list - if action in [BACKSPACE]: - self.close() - remove() - modal() - elif action in [EXIT]: + + if control in [SEARCH]: + from specials.globalsearch import Search + if self.item.contentType == 'episode': + self.item.mode = 'tvshow' + self.item.text = self.item.contentSerieName + else: + self.item.mode = self.item.contentType + Search(self.item) + + elif control in [CLOSE]: self.close() -class ImagesWindow(xbmcgui.WindowDialog): + elif control in [BACK]: + back(self) + + elif control in [CAST]: + info_list.append(self.item) + listitem = self.getControl(CAST).getSelectedItem() + it = Item(id=listitem.getProperty('id'), poster=listitem.getArt('poster')) + self.close() + showCast(it) + + elif control in [RECOMANDED]: + info_list.append(self.item) + listitem = self.getControl(RECOMANDED).getSelectedItem() + it = Item(title=listitem.getLabel(), infoLabels={'tmdb_id':listitem.getProperty('id'), 'mediatype':listitem.getProperty('mediatype')}) + self.close() + start(it) + + elif control in [TRAILERS]: + listitem = self.getControl(TRAILERS).getSelectedItem() + xbmc.executebuiltin('RunPlugin({})'.format(listitem.getPath())) + + elif control in [FANARTS]: + position = showImages(self.images, self.getControl(FANARTS).getSelectedPosition()) + self.getControl(FANARTS).selectItem(position) + + + def get_recomendations(self): + # Function for recomanded + search = {'url': '{}/{}/recommendations'.format(self.type, self.info.get('tmdb_id')), 'language': 'it', 'page': 1} + tmdb_res = tmdb.Tmdb(discover=search, search_type=self.type, language_search='it').results + search = {'url': '{}/{}/recommendations'.format(self.type, self.info.get('tmdb_id')), 'language': 'it', 'page': 2} + tmdb_res += tmdb.Tmdb(discover=search, search_type=self.type, language_search='it').results[1:] + for result in tmdb_res: + title = result.get("title", result.get("name", '')) + original_title = result.get("original_title", result.get("original_name", '')) + thumbnail ='https://image.tmdb.org/t/p/w342' + result.get("poster_path", "") if result.get("poster_path", "") else '' + recomandationsitem = xbmcgui.ListItem(title, original_title) + recomandationsitem.setArt({'poster':thumbnail}) + recomandationsitem.setInfo("video",{'plot':result.get('overview', ''), 'rating':result.get('vote_average', 0)}) + rating = result.get('vote_average', 'N/A') + color = 'FFFFFFFF' if rating == 'N/A' else 'FFDB2360' if rating < 4 else 'FFD2D531' if rating < 7 else 'FF21D07A' + recomandationsitem.setProperties({'id': result.get('id', 0), 'mediatype': self.info.get('mediatype'), 'rating':str(int(result.get('vote_average',10) * 10)), 'color':color}) + + self.recomanded.append(recomandationsitem) + + def get_trailers(self): + trailers = tmdb.Tmdb(id_Tmdb=self.info.get('tmdb_id'), search_type=self.type).get_videos() + if trailers: + for trailer in trailers: + traileitem = xbmcgui.ListItem(trailer['name'], path=trailer['url']) + traileitem.setArt({'thumb':'http://img.youtube.com/vi/' + trailer['url'].split('=')[-1] + '/0.jpg'}) + self.trailers.append(traileitem) + + def get_fanarts(self): + _id = self.info.get('tmdb_id') + res = {} + fanarts = self.info.get('fanarts',[]) + if _id: + _type = self.item.contentType.replace('show','').replace('movie','movies') + host = 'http://webservice.fanart.tv/v3/{}/{}?api_key=cab16e262d72fea6a6843d679aa10300' + res = httptools.downloadpage(host.format(_type, _id)).json + + if res: fanarts += [k.get('url') for k in res.get('moviebackground', [])] if _type == 'movies' else [k.get('url') for k in res.get('showbackground', [])] + + if fanarts: + for i, fanart in enumerate(fanarts): + fanartitem = xbmcgui.ListItem(str(i)) + fanartitem.setArt({'fanart':fanart}) + self.images.append(fanart) + self.fanarts.append(fanartitem) + + +def showCast(item): + xbmc.executebuiltin('Dialog.Close(all)') + CastWindow('CastWindow.xml', config.get_runtime_path(), item=item) +class CastWindow(xbmcgui.WindowXML): def __init__(self, *args, **kwargs): - self.tmdb = kwargs.get("tmdb", {}) - self.imdb = kwargs.get("imdb", {}) - self.mal = kwargs.get("mal", {}) - self.fanartv = kwargs.get("fanartv", {}) + self.item = kwargs.get('item') + self.id = self.item.id + self.item.InfoWindow = 'cast' + self.host = tmdb.host + self.api = tmdb.api + self.movies = [] + self.tvshows = [] + self.movieItems = [] + self.tvshowItems = [] + if not self.item.focus: self.item.focus = {} + if self.item: + platformtools.dialog_busy(True) + self.get_person_info() + self.get_credits() + platformtools.dialog_busy(False) + self.doModal() - self.image_list = [] + def get_person_info(self): + # Function for Person Info + url = '{}/person/{}?api_key={}&language=en'.format(self.host, self.id, self.api) + translation_url = '{}/person/{}/translations?api_key={}'.format(self.host, self.id, self.api) + info = httptools.downloadpage(url).json - for key, value in self.tmdb.items(): - for detail in value: self.image_list.append('https://image.tmdb.org/t/p/original' + detail["file_path"]) - for image in self.imdb: self.image_list.append(image["src"]) - for image, title in self.mal: self.image_list.append(image) - for key, value in self.fanartv.items(): - for image in value: self.image_list.append(image["url"]) - #### Kodi 18 Compatibility #### - if config.get_platform(True)['num_version'] < 18: self.setCoordinateResolution(2) - log - self.background = xbmcgui.ControlImage(0, 0, 1280, 720, imagepath('white'), colorDiffuse='FF232323') - self.addControl(self.background) - main_image = self.image_list[0] if self.image_list else '' - self.main_image = xbmcgui.ControlImage(0, 0, 1280, 720, main_image, 2) - self.addControl(self.main_image) + biography = info.get('biography', '') + if not biography: + translation = httptools.downloadpage(translation_url).json + if translation: + for t in translation['translations']: + if t['iso_639_1'] == 'en': + biography = t['data']['biography'] + break - if self.image_list: - self.counter = xbmcgui.ControlTextBox(1180, 640, 60, 40, 'font13') - self.addControl(self.counter) - self.counter.setText('%s/%s' % (1,len(self.image_list))) - else: - self.text = xbmcgui.ControlLabel(0, 0, 1280, 720, 'NESSUNA IMMAGINE', 'font13', alignment=2|4) - self.addControl(self.text) + born = info.get('birthday').split('-')[0] if info.get('birthday') else '' + dead = info.get('deathday').split('-')[0] if info.get('deathday') else '' + place = info.get('place_of_birth') + self.castitem = xbmcgui.ListItem(info.get('name')) + birth = born + (' - ' + dead if dead else '') + (' [B]•[/B] ' + place if place else '') + self.castitem.setArt({'poster':self.item.poster}) + self.castitem.setProperties({'birth':birth, 'plot':biography}) - self.close_btn = xbmcgui.ControlButton(0, 0, 1280, 720, '' ,'', '') - self.addControl(self.close_btn) + def onInit(self): + self.getControl(LIST).addItem(self.castitem) + self.getControl(CAST).addItems(self.movies) + self.getControl(RECOMANDED).addItems(self.tvshows) - if len(self.image_list) > 1: - # BUTTON LEFT - self.btn_left = xbmcgui.ControlButton(0, 330, 60, 60, '', imagepath('previous_focus'), imagepath('previous_nofocus')) - self.addControl(self.btn_left) - self.btn_left.setAnimations([('WindowOpen', 'effect=slide start=-60,0 end=0,0 delay=100 time=200'),('WindowClose', 'effect=slide start=0,0 end=-60,0 delay=100 time=200')]) - - # BUTTON RIGHT - self.btn_right = xbmcgui.ControlButton(1220, 330, 60, 60, '', imagepath('next_focus'), imagepath('next_nofocus')) - self.addControl(self.btn_right) - self.btn_right.setAnimations([('WindowOpen', 'effect=slide start=60,0 end=0,0 delay=100 time=200'),('WindowClose', 'effect=slide start=0,0 end=60,0 delay=100 time=200')]) - - self.count = 0 + # Set Focus + xbmc.sleep(200) + if self.item.focus: + for k, v in self.item.focus.items(): + self.getControl(k).selectItem(v) + self.setFocusId(self.item.setFocus) + else: self.setFocusId(LIST) def onAction(self, action): + action = action.getId() + focus = self.getFocusId() + if action in [EXIT]: + self.close() + elif action in [BACKSPACE]: + back(self) + elif action in [UP, DOWN, LEFT, RIGHT] and focus not in [LIST, CAST, RECOMANDED, TRAILERS, FANARTS, SEARCH, BACK, CLOSE]: + self.setFocusId(LIST) + if focus > 0: + self.item.setFocus = focus + self.item.focus[focus] = self.getControl(focus).getSelectedPosition() + + + def onClick(self, control): + global info_list + + if control in [CLOSE]: + self.close() + + elif control in [BACK]: + back(self) + + elif control in [CAST]: + info_list.append(self.item) + self.close() + start(self.movieItems[self.getControl(CAST).getSelectedPosition()]) + + elif control in [RECOMANDED]: + info_list.append(self.item) + self.close() + start(self.tvshowItems[self.getControl(RECOMANDED).getSelectedPosition()]) + + + def get_credits(self): + # Function for Credits Info + url = '{}/person/{}/combined_credits?api_key={}&language=it'.format(self.host, self.id, self.api) + info = httptools.downloadpage(url).json + + for video in info.get('cast',[]) + info.get('crew',[]): + year = video.get('release_date', video.get('first_air_date')) + poster = 'https://image.tmdb.org/t/p/original/' + video.get('poster_path') if video.get('poster_path') else '' + infoLabels = { + 'rating':video.get('vote_average', 0), + 'plot':video.get('overview',''), + 'mediatype':video.get('media_type','').replace('tv','tvshow'), + 'thumbnail': poster, + 'tmdb_id':video.get('id'), + 'title':video.get('title',video.get('name','')), + 'year':year.split('-')[0] if year else '' + } + item = Item(infoLabels=infoLabels) + videoitem = xbmcgui.ListItem(video.get('title',video.get('name','')), video.get('character', video.get('job'))) + videoitem.setArt({'poster':infoLabels['thumbnail']}) + rating = video.get('vote_average', 'N/A') + color = 'FFFFFFFF' if rating == 'N/A' else 'FFDB2360' if rating < 4 else 'FFD2D531' if rating < 7 else 'FF21D07A' + videoitem.setProperties({'rating':str(int(video.get('vote_average',10) * 10)), 'color':color}) + platformtools.set_infolabels(videoitem, item) + if video.get('media_type') == 'movie': + self.movies.append(videoitem) + self.movieItems.append(item) + else: + self.tvshows.append(videoitem) + self.tvshowItems.append(item) + + +def showImages(images, position): + xbmc.executebuiltin('Dialog.Close(all)') + ImagesWindow('imageWindow.xml', config.get_runtime_path(), images=images, position=position) +class ImagesWindow(xbmcgui.WindowXMLDialog): + def __init__(self, *args, **kwargs): + self.images = [] + self.position = kwargs.get('position') + for i, image in enumerate(kwargs.get('images', [])): + listitem = xbmcgui.ListItem(str(i+1), str(len(kwargs.get('images', [])))) + listitem.setArt({'fanart':image}) + self.images.append(listitem) + self.doModal() + return self.position + + def onInit(self): + self.getControl(LIST).addItems(self.images) + self.setFocusId(LIST) + self.getControl(LIST).selectItem(self.position) + + def onAction(self, action): + action = action.getId() + self.position = self.getControl(LIST).getSelectedPosition() if action in [BACKSPACE, EXIT]: self.close() - if len(self.image_list) > 1: - if action in [RIGHT, DOWN]: - self.count += 1 - if self.count > len(self.image_list) -1: self.count = 0 - self.main_image.setImage(self.image_list[self.count]) - self.counter.setText('%s/%s' % (self.count,len(self.image_list))) - - if action in [LEFT, UP]: - self.count -= 1 - if self.count < 0: self.count = len(self.image_list) -1 - self.main_image.setImage(self.image_list[self.count]) - self.counter.setText('%s/%s' % (self.count,len(self.image_list))) - def onControl(self, control): - if len(self.image_list) > 1: - if control.getId() == self.btn_right.getId(): - self.count += 1 - if self.count > len(self.image_list) -1: self.count = 0 - self.main_image.setImage(self.image_list[self.count]) - elif control.getId() == self.btn_left.getId(): - self.count -= 1 - if self.count < 0: self.count = len(self.image_list) -1 - self.main_image.setImage(self.image_list[self.count]) - - else: - self.close() - else: - self.close() - - -def get_recomendations(info): - recommendations = [info] - Type = info.getProperty('mediatype') - if Type != "movie": Type = "tv" - search = {'url': '%s/%s/recommendations' % (Type, info.getProperty('tmdb_id')), 'language': 'it', 'page': 1} - tmdb_res = tmdb.Tmdb(discover=search, search_type=Type, idioma_Search='it').results - for result in tmdb_res: - if Type == 'movie': - title = result.get("title", '') - original_title = result.get("original_title", "") - else: - title = result.get("name", '') - original_title = result.get("original_name", '') - thumbnail ='https://image.tmdb.org/t/p/w342' + result.get("poster_path", "") if result.get("poster_path", "") else '' - fanart = 'https://image.tmdb.org/t/p/original' + result.get("backdrop_path", "") if result.get("backdrop_path", "") else '' - item = xbmcgui.ListItem(title) - item.setProperties({'title': title, - 'original_title': original_title, - 'mediatype': info.getProperty('mediatype'), - 'tmdb_id': result.get('id', 0), - 'imdb_id': info.getProperty('imdb_id'), - 'rating': result.get('vote_average', 0), - 'plot': result.get('overview', ''), - 'year': result.get('release_date', '').split('-')[0], - 'thumbnail': thumbnail, - 'fanart': fanart}) - recommendations.append(item) - return recommendations - - -def get_cast(info): - cast_list = [] - actors_list = [] - Type = "movie" if info.getProperty('mediatype') == 'movie' else 'tv' - otmdb = tmdb.Tmdb(id_Tmdb=info.getProperty('tmdb_id'), search_type=Type) - actors = otmdb.result.get("credits", {}).get("cast", []) - cast = otmdb.result.get("credits", {}).get("crew", []) if Type == 'movie' else otmdb.result.get("created_by", []) - for i, crew in enumerate(cast): - if crew.get('job', '') == 'Director' or Type!= "movie": - actors.insert(0, crew) - else: - res = xbmcgui.ListItem(crew.get('name', '')) - res.setProperties({'title': crew.get('name', ''), - 'job': crew.get('job', '') if crew.get('job', '') else crew.get('character',''), - 'thumbnail': "https://image.tmdb.org/t/p/w342" + crew.get('profile_path', '') if crew.get('profile_path', '') else '', - 'department': crew.get('department', ''), - 'type': Type, - 'id': crew.get('id', ''), - 'mediatype': info.getProperty('mediatype')}) - cast_list.append(res) - for actor in actors: - res = xbmcgui.ListItem(actor.get('name', '')) - res.setProperties({'title': actor.get('name', ''), - 'job': actor.get('job', '') if actor.get('job', '') else actor.get('character',''), - 'thumbnail': "https://image.tmdb.org/t/p/w342" + actor.get('profile_path', '') if actor.get('profile_path', '') else imagepath('no_photo'), - 'type': Type, - 'id': actor.get('id', ''), - 'mediatype': info.getProperty('mediatype')}) - actors_list.append(res) - return cast_list, actors_list - -def imagepath(image): - if len(image.split('.')) == 1: image += '.png' - path = filetools.join(config.get_runtime_path(), 'resources', 'skins' , 'Default', 'media', 'Infoplus', image) - return path - -def actors_more_info(ListItem): - Type = ListItem.getProperty('type') - actor_id = ListItem.getProperty('id') - more = tmdb.Tmdb(discover={'url': 'person/' + str(actor_id), 'language': 'en'}).results - if more['biography']: ListItem.setProperty('bio', more['biography']) - -def get_movies(info): - Type = info.getProperty('mediatype') if info.getProperty('mediatype') == 'movie' else 'tv' - more = tmdb.Tmdb(discover={'url': 'person/' + str(info.getProperty('id')), 'language': 'it', 'append_to_response': Type + '_credits'}).results - movies = [] - for movie in more.get(Type + '_credits', {}).get('cast',[]) + more.get(Type + '_credits', {}).get('crew',[]): - ret = {} - ret['mediatype'] = info.getProperty('mediatype') - thumbnail = movie.get('poster_path','') - ret['thumbnail'] = "https://image.tmdb.org/t/p/w342" + thumbnail if thumbnail else imagepath(Type) - ret['title'] = movie.get('title','') if Type == 'movie' else movie.get('name','') - ret['original_title'] = movie.get('original_title','') if Type == 'movie' else movie.get("original_name", '') - ret['tmdb_id'] = movie.get('id',0) - if ret not in movies: movies.append(ret) - itemlist = [] - with futures.ThreadPoolExecutor() as executor: - List = [executor.submit(add_infoLabels, movie) for movie in movies] - for res in futures.as_completed(List): - if res.result(): - itemlist.append(res.result()) - itemlist = sorted(itemlist, key=lambda it: (it.getProperty('year'),it.getProperty('title'))) - return itemlist - -def add_infoLabels(movie): - it = Item(title=movie['title'], infoLabels=movie, contentType=movie['mediatype']) - tmdb.set_infoLabels_item(it, True) - movie=it.infoLabels - item = xbmcgui.ListItem(movie['title']) - for key, value in movie.items(): - item.setProperty(key, str(value)) - return item - - -def add(Dict): - global info_list - info_list.append(Dict) - -def remove(): - global info_list - info_list = info_list[:-1] - -def modal(): - global Info +def back(self): global info_list if info_list: - Info = info_list[-1]['info'] - info_list[-1]['class'].doModal() - -def getFocus(self): - global info_list - for key, value in info_list[-1].items(): - if key not in ['class', 'info', 'id']: - self.getControl(int(key)).selectItem(value) - self.setFocusId(info_list[-1]['id']) - -def setFocus(self): - global info_list - info_list[-1]['id'] = self.getFocusId() - for key, values in self.ids.items(): - info_list[-1][key] = values \ No newline at end of file + self.close() + it = info_list[-1] + info_list = info_list[:-1] + if it.InfoWindow == 'cast': + showCast(it) + else: + start(it) + else: + self.close() \ No newline at end of file diff --git a/platformcode/launcher.py b/platformcode/launcher.py index 40dfc885..2c854949 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -111,7 +111,7 @@ def run(item=None): elif item.channel == "infoplus": from platformcode import infoplus - return infoplus.Main(item) + return infoplus.start(item) elif item.channel == "backup": from platformcode import backup diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 5c66607c..f91bbf4b 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -289,6 +289,11 @@ def dialog_select_group(heading, _list, preselect=0): return dialog +def dialog_busy(state): + if state: xbmc.executebuiltin('ActivateWindow(busydialognocancel)') + else: xbmc.executebuiltin('Dialog.Close(busydialognocancel)') + + def itemlist_refresh(offset=0): try: _id = xbmcgui.getCurrentWindowId() @@ -349,11 +354,8 @@ def render_items(itemlist, parent_item): if not item.title: item.title = '' # If there is no action or it is findvideos / play, folder = False because no listing will be returned - if item.folder == "": # not set - if item.action in ['play', '']: - item.folder = False - else: - item.folder = True + if item.action in ['play', '']: + item.folder = False if item.fanart == "": item.fanart = parent_item.fanart if item.action == 'play' and thumb_type == 1 and not item.forcethumb: @@ -403,7 +405,8 @@ def render_items(itemlist, parent_item): if item.infoLabels.get('disc'): art['banner'] = item.infoLabels['disc'] listitem.setArt(art) - listitem.setProperty('IsPlayable', str(config.get_setting("player_mode") == 1 and item.action == "play" and not item.nfo).lower()) + if config.get_setting("player_mode") == 1 and item.action == "play" and not item.nfo: + listitem.setProperty('IsPlayable', 'true') if item.infoLabels.get('castandrole'): cast = [{'name':c[0], 'role':c[1], 'thumbnail':c[2], 'order':c[3]} for c in item.infoLabels.get("castandrole", [])] @@ -649,11 +652,12 @@ def set_context_commands(item, item_url, parent_item, **kwargs): # context_commands.append((config.get_localized_string(60348), "Action(Info)")) # InfoPlus - if config.get_setting("infoplus"): + # from core.support import dbg;dbg() + # if config.get_setting("infoplus"): #if item.infoLabels['tmdb_id'] or item.infoLabels['imdb_id'] or item.infoLabels['tvdb_id'] or \ # (item.contentTitle and item.infoLabels["year"]) or item.contentSerieName: - if item.infoLabels['tmdb_id'] or item.infoLabels['imdb_id'] or item.infoLabels['tvdb_id']: - context_commands.append(("InfoPlus", "RunPlugin(%s?%s&%s)" % (sys.argv[0], item_url, 'channel=infoplus&action=Main&from_channel=' + item.channel))) + if item.infoLabels['tmdb_id'] or item.infoLabels['imdb_id'] or item.infoLabels['tvdb_id']: + context_commands.append(("InfoPlus", "RunPlugin(%s?%s&%s)" % (sys.argv[0], item_url, 'channel=infoplus&action=start&from_channel=' + item.channel))) # Open in browser and previous menu if parent_item.channel not in ["news", "channelselector", "downloads", "search"] and item.action != "mainlist" and not parent_item.noMainMenu: diff --git a/platformcode/xbmc_config_menu.py b/platformcode/xbmc_config_menu.py index 1f4eb411..6354ae20 100644 --- a/platformcode/xbmc_config_menu.py +++ b/platformcode/xbmc_config_menu.py @@ -5,6 +5,7 @@ from __future__ import division import sys, os, inspect, xbmcgui, xbmc +from core import support PY3 = False if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int from builtins import range @@ -363,6 +364,7 @@ class SettingsWindow(xbmcgui.WindowXMLDialog): control.setVisible(False) label.setVisible(False) + logger.debug('VALUES',c["lvalues"][self.values[c["id"]]]) label.setLabel(c["lvalues"][self.values[c["id"]]]) c["control"] = control diff --git a/resources/settings.xml b/resources/settings.xml index 592fd6bd..9225df64 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -156,7 +156,7 @@ - + diff --git a/resources/skins/Default/720p/CastWindow.xml b/resources/skins/Default/720p/CastWindow.xml new file mode 100644 index 00000000..2d51af29 --- /dev/null +++ b/resources/skins/Default/720p/CastWindow.xml @@ -0,0 +1,420 @@ + + + 0.52 + + 0 + 0 + + FF232323 + + + + + + + + + Fanart + 0 + 0 + 1280 + 720 + $INFO[Container(100).ListItem.Art(fanart)] + scale + + + Poster + 0 + 0 + 480 + 720 + $INFO[Container(100).ListItem.Art(poster)] + scale + + + + + + + + + + + + 30 + 510 + 720 + + + + + + + + + + Name + 0 + 0 + 60 + font13 + FFFFFFFF + 00000000 + + left + center + + + Separator + 80 + 0 + 0.5 + white.png + + + + + 130 + 510 + 720 + 40 + + + + + + + + + + + Cast Info + Integer.IsGreater(Container(100).NumItems, 0) + 0 + 261 + + Control List + horizontal + + + 201 + 101 + + + Birth + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Description + 50 + 0 + 200 + font13 + ffFFFFFF + 00000000 + + left + top + True + + + Separator + 260 + 0 + 0.5 + white.png + + + + + Movie Group + + 241 + + Movie Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Movie List + 30 + 100 + 102 + 200 + horizontal + 10 + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(101) + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + 30 + 133 + 200 + Control.HasFocus(101) + Conditional + Conditional + + white.png + + + Title + 50 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Year + 90 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + As + !String.IsEmpty(Container(101).ListItem.Label2) + 130 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Rating + 20 + 50 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + right + center + + + Rating Circle + 20 + 15 + 30 + 30 + Circular/$INFO[Container(101).ListItem.Property(rating)].png + scale + + + + Separator + 240 + 0 + 0.5 + white.pngù + + + + + Show Group + + 241 + + Show Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Show List + 30 + 101 + 200 + horizontal + 10 + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(102) + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + 30 + 133 + 200 + Control.HasFocus(102) + Conditional + Conditional + + white.png + + + Title + 50 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Year + 90 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + As + !String.IsEmpty(Container(102).ListItem.Label2) + 130 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Rating + 20 + 50 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + right + center + + + Rating Circle + 20 + 15 + 30 + 30 + Circular/$INFO[Container(102).ListItem.Property(rating)].png + scale + + + + + + + 100 + 30 + 30 + 40 + 80 + + horizontal + + + Back + 40 + 40 + left.png + left.png + + + + Close + 40 + 40 + close.png + close.png + + + + \ No newline at end of file diff --git a/resources/skins/Default/720p/ImageWindow.xml b/resources/skins/Default/720p/ImageWindow.xml new file mode 100644 index 00000000..937a582b --- /dev/null +++ b/resources/skins/Default/720p/ImageWindow.xml @@ -0,0 +1,68 @@ + + + 0.52 + + 0 + 0 + + FF232323 + + + + + + + + + Fanart + 0 + 0 + 1280 + 720 + white.png + scale + + + Fanart List + 0 + 202 + horizontal + 10 + + + $INFO[ListItem.Art(fanart)] + scale + + + + + $INFO[ListItem.Art(fanart)] + scale + + + + + Count + 70 + 30 + 40 + font13 + ffFFFFFF + 00000000 + + right + center + + + Close + 30 + 20 + 100 + 40 + 40 + close.png + close.png + Action(close) + + + \ No newline at end of file diff --git a/resources/skins/Default/720p/InfoPlus.xml b/resources/skins/Default/720p/InfoPlus.xml index e83e52d0..37b197a4 100644 --- a/resources/skins/Default/720p/InfoPlus.xml +++ b/resources/skins/Default/720p/InfoPlus.xml @@ -1,364 +1,591 @@ - + - 0.52 - - 0 - 0 - - - - - 0 - 0 - 100% - 100% - white.png - white.png - WindowOpen - WindowClose - Action(close) - - - - 0 - 0 - - - - - - - - + 0.52 + + 0 + 0 + + FF232323 + + + + + + + + + Fanart + 0 + 0 + 1280 + 720 + $INFO[Container(100).ListItem.Art(fanart)] + scale + + + Poster + 0 + 0 + 480 + 720 + $INFO[Container(100).ListItem.Art(poster)] + scale + + + + + + + + + + + + 30 + 510 + 720 + + + + + + + + + + Rating Circle + 0 + 0 + 60 + 60 + Circular/$INFO[Container(100).ListItem.Property(rating)].png + scale + + + Rating + 15 + 10 + 30 + 40 + font13 + FFFFFFFF + 00000000 + + center + center + + + Title + 0 + 80 + 60 + font13 + FFFFFFFF + 00000000 + + left + center + + + Separator + 80 + 0 + 0.5 + white.png + + + + + 130 + 510 + 720 + 40 + + + + + + + + + + + Video Info + Integer.IsGreater(Container(100).NumItems, 0) + 0 + 261 + + 0 + 30 + 300 + 10 + horizontal + left + + Year + 30 + 45 + font13 + ffFFFFFF + 00000000 + + left + center + + + Separator + 30 + 10 + font13 + ffFFFFFF + 00000000 + !String.IsEmpty(Container(100).ListItem.Duration()) + + center + center + + + Year + 30 + 50 + font13 + ffFFFFFF + 00000000 + + left + center + + + Separator + 30 + 10 + font13 + ffFFFFFF + 00000000 + !String.IsEmpty(Container(100).ListItem.Mpaa) + + center + center + + + Year + 30 + 60 + font13 + ffFFFFFF + 00000000 + + left + center + + + + Plot + 50 + 0 + 200 + font13 + ffFFFFFF + 00000000 + + left + top + True + + + Separator + 260 + 0 + 0.5 + white.png + + + + + Cast Group + Integer.IsGreater(Container(101).NumItems, 0) + 241 + + Control List + horizontal + + + 200 + 101 + + + Cast Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Cast List + 30 + 100 + 102 + 200 + horizontal + 10 + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(101) + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + 30 + 133 + 200 + Control.HasFocus(101) + Conditional + Conditional + + white.png + + + Name + 50 + 40 + 50 + font13 + ffFFFFFF + 00000000 + + left + center + + + Name + 100 + 40 + 50 + font13 + ffFFFFFF + 00000000 + + left + center + + + + Separator + 240 + 0 + 0.5 + white.pngù + + + + + Recomanded Group + + 241 + + Cast Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Recomanded List + 30 + 101 + 103 + 200 + horizontal + 10 + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(102) + + + Infoplus/no_photo.png + 10 + scale + + + $INFO[ListItem.Art(poster)] + 10 + scale + + + + + 30 + 133 + 200 + Control.HasFocus(102) + Conditional + Conditional + + white.png + + + Name + 20 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Name + 20 + 50 + 40 + 30 + font13 + ffFFFFFF + 00000000 + + right + center + + + Rating Circle + 20 + 15 + 30 + 30 + Circular/$INFO[Container(102).ListItem.Property(rating)].png + scale + + + Plot + 60 + 40 + 100 + 520 + font13 + ffFFFFFF + 00000000 + + True + left + center + + + + Separator + 240 + 0 + 0.5 + white.pngù + + + + + Trailers Group + Integer.IsGreater(Container(103).NumItems, 0) + 241 + + + Cast Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Trailers List + 30 + 102 + 104 + 200 + horizontal + 10 + + + $INFO[ListItem.Art(thumb)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(103) + + + $INFO[ListItem.Art(thumb)] + 10 + scale + + + + + 30 + 340 + 200 + Control.HasFocus(103) + Conditional + Conditional + + white.png + + + Name + 20 + 40 + 160 + 320 + font13 + ffFFFFFF + 00000000 + + True + left + center + + + + Separator + 240 + 0 + 0.5 + white.png + + + + + Fanart Group + Integer.IsGreater(Container(104).NumItems, 0) + 241 + + + Cast Title + 10 + 30 + font13 + ffFFFFFF + 00000000 + + left + center + + + Fanart List + 30 + 103 + 200 + horizontal + 10 + + + $INFO[ListItem.Art(fanart)] + 10 + scale + + + + + white.png + 5 + scale + Control.HasFocus(104) + + + $INFO[ListItem.Art(fanart)] + 10 + scale + + + + + - - - 1280 - 720 - - + + 100 + 30 + 30 + 40 + 120 + + horizontal + + search + 40 + 40 + search.png + search.png + - - - 355 - 490 - 300 - 10 - white.png - Conditional - + + Back + 40 + 40 + left.png + left.png + - - 75 - vertical - 30500 - 1280 - 570 - 30007 - 300 - - - - 100% - 570 - wrap - horizontal - 300 - - - - 300 - 0 - 180 - 270 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - - - 400 - 10 - 840 - 30 - font13 - FFFFFFFF - 00000000 - - left - center - - - - 400 - 70 - 840 - 190 - font13 - FFFFFFFF - 00000000 - - True - left - - - - 0 - 0 - 380 - 570 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - - - 1280 - 570 - wrap - horizontal - 300 - - - - 300 - 0 - 180 - 270 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - - - 400 - 10 - 840 - 30 - font13 - FFFFFFFF - 00000000 - - left - center - - - - 400 - 50 - 840 - 30 - font13 - FFFFFFFF - 00000000 - - left - - - - 400 - 90 - 830 - 180 - font13 - FFFFFFFF - 00000000 - - - left - - - - 0 - 0 - 380 - 570 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - - - 1280 - 570 - wrap - horizontal - 300 - - - - 300 - 0 - 180 - 270 - white.png - scale - 10 - - - - 300 - 0 - 180 - 270 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - String.IsEmpty(ListItem.Property(thumbnail)) - 10 - 300 - 160 - 270 - font13 - FFFFFFFF - - - center - center - - - - - - 400 - 10 - 840 - 30 - font13 - FFFFFFFF - 00000000 - - left - center - - - - 400 - 50 - 840 - 30 - font13 - FFFFFFFF - 00000000 - - left - - - - 400 - 90 - 830 - 180 - font13 - FFFFFFFF - 00000000 - - - left - - - - 0 - 0 - 380 - 570 - white.png - scale - 10 - - - - 0 - 0 - 380 - 570 - $INFO[ListItem.Property(thumbnail)] - scale - 10 - - - - String.IsEmpty(ListItem.Property(thumbnail)) - 0 - 0 - 380 - 570 - font13 - FFFFFFFF - - - center - center - - - - - - - 25 - 25 - 50 - 300 - Control.HasFocus(30500) | Control.HasFocus(30006) | Control.HasFocus(30007) | Control.HasFocus(30008) | Control.HasFocus(30013) - - 50 - 50 - Infoplus/tmdb.png - - - 0 - 60 - 40 - 50 - FFFFFFFF - 00000000 - font13 - - left - center - - - 120 - 50 - 50 - Infoplus/trailer.png - Infoplus/trailer.png - 30500 - 30008 - 30013 - - - 180 - 50 - 50 - Infoplus/fanart.png - Infoplus/fanart.png - 30500 - 30007 - 30008 - - - 240 - 50 - 50 - Infoplus/search.png - Infoplus/search.png - 30500 - 30013 - 30007 - - - - - + + Close + 40 + 40 + close.png + close.png + + + + \ No newline at end of file diff --git a/resources/skins/Default/media/Circular/1.png b/resources/skins/Default/media/Circular/1.png new file mode 100644 index 0000000000000000000000000000000000000000..975d637df7c26ce3a1a1fe741e5330bee9c7b8f3 GIT binary patch literal 640 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 LNkvXXu0mjfb#!lF literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/11.png b/resources/skins/Default/media/Circular/11.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca2cec18b3010e81c5beda1e680ce6d9c23911e GIT binary patch literal 898 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu}I5;Cc{d81KTt?J3B zNl*Kx-}U~aaPn8+?}Ij<8ZI9&eIWQ@;bY(bp0EF<$!%b|!*uU&vP692=e56QN;@!y zH$D$;`N$lRefRJkCOu~V#=o4*J8$lK*2=JkN&lbFv8vZr;#?b8?y#2C3m-GKX~<#T z!Lmn|Gr9YJLCYe0hG~tzWoiOrb7K418YZvJo}l76iFmXm^Dm3?5gifr_4f>bvB==* L>gTe~DWM4fovn{{ literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/12.png b/resources/skins/Default/media/Circular/12.png new file mode 100644 index 0000000000000000000000000000000000000000..d325efddff634437123ef1130e9b9ff564da6633 GIT binary patch literal 910 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyuhIJkD>b1`!t7JtsU2e}b)L#2MDoR$|=ri9AHklmT`oG{Zjf!E?f)w!h? zixrLY8%{gqw=di{f0J0L{mH4Te%z;aHS6Aza%LXa7Pm-A#=U%_te%_Ou zN$dQ5qdl*!dKGv4HJ|(jt~u=28n?^7*WLb6Wt+uwNyU?R^y~az ZrrImqT1WO5dH`dT!PC{xWt~$(69Cy*ldk{( literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/13.png b/resources/skins/Default/media/Circular/13.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc802b08b43d6049df2fbfbcff4a4bcf52c1a41 GIT binary patch literal 943 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu=iiO2D*%h-NJXkTg znU6Jmb+^9b1wB5ehg?nn7esW$x0?j$b$q|o;#{;}p5vr|U!DCtmFFs|%8YN+eikPD zo|iJ|N$n*5xBI4i+8Q;{SYs>q3$6n_%j1@!cCHq%B+uqUWQ$0OJ`Q+rF zQ(^6@x@NmRitS*Xv*Pag2c;q&+3Xb@Yp%S@-eASIUqqWxy;ua?}<5k*Yer~EuU=Tzlm|q>&Hxb)&K9GS26e2)ZZmj;?pSOU!->O)W5o4 z6{eo@#Rr;IUN4=pSMHdc{sW1E*0ifz?tZ-UNy;L0_wj>F(;7}6uuWLKIKYlkJnOqz zg#%+)<8s*+BSyWe?=npqOdp(8bpFY-=IXmtlZ<&YvSr?de&gK{v3q(TQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu_{a0cK|+&TofI{-&tB?Zx@n?H&YKOJlb-8u*s@Vs`yXSN zmsprfr0>r_mF~_ggT5r9I}>R|OVJ`Zp9G_;st2EzY_1OD)Sfrs}NcQW3o3m%hvHV9QxOH~+zw z5Rd!f4~z_=te+pq*g0XJ=L4M!w-PgM_(y7&s-OHBbSmXCcfZNr2NNu2K9MZg^RjjK z7j8-4O|~cdTCd07fA6ztV{7z%kD`TBjIJNLb(dA-fx_O$Z+^FZpT>S**)2(Su?=h% zEHUiMq_m#0ZdhHmt&x2VYafGo7TeAAB zSu`axAs@(P%3)Y{p}J<1(E9@aOgRHKo0vq+^^Lk)jZ63pm||F-O^-amVh~pS?;O)P z2K#9d$C4AW-_Eq=w>Z21`_$+IyKZgf<9)zl@V#B>S)=!sA0`p?j54hIbhVP%EW)bS zEo75nOKUX$vH$UZhBxeH*XKD;Qt>1fMST&rDB``h>qPQ?VB%o#boFyt=akR{0Hfx% A@c;k- literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/15.png b/resources/skins/Default/media/Circular/15.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f1d384dc0980ab58caeccfbcaaeb6bb19cddfe GIT binary patch literal 1005 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyuj(>c9!#C#qRw4=!VvV1?G}^4f!kq9k5XN1x;t)m%<$CIExC0=syAAp zzD7rBp4*YTyW*BknKfte{fm9#2UruF-&MNBc{hI1WxC#wyYsnJq%QlV@60=R-<+_$ zf8wRagnju3LKBkTS-QI&Z~StWIlbYWp7Z0n(^;<^UFP^}?#=(5z?}K6*kz8d=H2|y z7bY=9$_q{|^}T8;E6D!ZN&hmdX!h$68_{N zLv%y&fydLFX0n$(owu6fK;i?j549%(>=>$x&j<4)Xcq{-;1xWj{vhC8WS7&{?6h`{ zr`!c5-(_4Gg$kr9%w04t?|iPow?T5pb%QCE2}a*}jxO9~6u;*4)%*T3+-$#wJ1i!!P+n8F literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/16.png b/resources/skins/Default/media/Circular/16.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9b3c4604e7e8d4dbeb6f00e5e044f5e3d269cd GIT binary patch literal 1046 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu)qh^@8K+h`;Yr=3<4dRHU+wzCzO;&nCt_C4Li#0o!2jPNZZ5e$Dp0{-E@l-U&=A}2Ra*e zmDM{hU+R!n!|cc0o%P+)Bnl`|oZvsZ_Dp8+M?NXG>99*}w<^Py5~p$}7Z_V-Jg z2cjPQ(s8QfT(kbJ`*H@>8~l6Z45k#y>@?wzIQPY^K)^pUliBi8)%|J8Jl|H;NY4o0 z-R{TqjY*!3<7vvHVIOl4vce>B;ma<(K%;{gUk8uC6OhVQ~L1a73hl?f=nF^^CQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu-Fnv|H}xzS9+A{vd33*ZHo3LX3cWOW~K`Vb59Fy6cAj$i0g%`*UQ?)t+`=e z^5k}K$(*?BeB{||Md`@ij^~1f`bu)krrfF(-#YWFq4TxR%rh9jJ%5*-!D}(W^nQc% zfsA+m+Wedw*Zky)VRtL~ZfPRLmvYwqfz#yLoXnyROucSLm=nZqTt31allpa?s9><> z(&f!ETb4MKxg5FoOKPS4aivEgEyZ+#m+8#O)46Z(`7nhySSFM< z?AJZtaCc|5Ox6L%RkFYSG&n^*u)q11-}Zq;f%K27=^FA4!aIL!vK5Hz;QsSYd5Zsm zmv{DxES+cA|BK_PwZX*Q{fihlcd%@!=2^I*TphtsTJe9YiI9l74Oa}-g(7YL%jHUoX!J@4L4F1ybtUHigQaWkMb;i z?DuY0H=9quTgzRAYUOubna^Fm>-bb@gE5G`Z1)^h|VQMeF9%GZx z)7u~U>_g4#`%KHOaX#WL;L~_^|K`HL{kxvMQiv*bkemI4MTT+RLocsMDxSokQ;+$- XUdl8xH=EuMOk)h5u6{1-oD!M| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0007DNkl42Z7!j?+s1SvKB8n2k4=k*-5X8blEG&W`*x3nwU?YM}z{bj7pufOE z5G92+30Rp@h!~a1Gd=d!DY>Kq2cb0?&ZK+;erUh6`D<1UvzD<({wWbf}Oui@-hnDr;Sb3t2M- z+yFXuciL;Wy-j%;5jRsx^Gz>oA?=%vh~bpd`z9AHsgNBJ(ZBlIy?Wde5yvCqY($)l zh^-BO>`FvDiinYv(sC0E7E{PZRtq~FRXG7ZPC~D64;V^h9UvyfcZ8`xt}|Gv49iQ zzpg9;=W}N-7BB?N)+}Wf9}{;Da1{7fvy``VaO=M30f(u7O}UagchP`Lz)FomJ^|Zu z=PnxXxaL`MJ9p-yQT^Z>mbwx}9x2T@!D+gc@7zc)drvK?8Ns=TQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyuef_jAK9@ds{Ftkg!mL!;FiCqzpCxZ`>O;EFJ4Pv zEsatvu2g-wZOOup9|1{A&bht*$MC(u`M{!(;)?b&xh|JVJ+CVz?Ko0u?apcaq<;4^ zt^iNl`%RaZIW6;LSl)Pa_-cuCIl@1$McbvHCUn7=%JpT*JVoyVi4UTMm&W+awT(U?_8|74)3S!WD>tWezhHLbnr6ha#sef#mar#5 zGd%eDIjIfOGjt+O9lWx0Gus>XI#G=$!WU*+m0xQxW-UM2dS&Kjwi3pEE|E{7^@%z9 z3AKMa^RDa!in7b-2b{3jU{v~SP2g|GPkD_&Y{BX0W7>9Zv+=3}oi}$MzQwV_cy&wR1EUSPrQ7;gzFhCF;E`dTw(Q)M mj}4_Ojc3dx5kx-z$0Q~)@y+ULr%qsEW$<+Mb6Mw<&;$S;;1RL_ literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/2.png b/resources/skins/Default/media/Circular/2.png new file mode 100644 index 0000000000000000000000000000000000000000..81f8d23f1d7dfe7510ccfdb7b27ef1eb0cb73f29 GIT binary patch literal 652 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 M07*qoM6N<$g8H>22mk;8 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/24.png b/resources/skins/Default/media/Circular/24.png new file mode 100644 index 0000000000000000000000000000000000000000..5dcef6fd53d4f3be529540778ca0a295fb3a7157 GIT binary patch literal 1209 zcmV;q1V;ObP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0008qNklNMZ+)rC>%>B)8j*BQ&2k<@#8|bd%Iow(rfNtU zl5|_r<%k%ceyR>ewMKxGz@pT1%~}-~GU*d=9Oz0t->g$pA(P$%M}T>$=bSZaE@aYc zU_UUYt~q>CZ_RB<2P0y%>K(g~*1eImHzHnExzn5qSt6-tV(XsrbC0B6NjoGhuJ~pD zNIDh~*DKy{{(vrE7jOZ1Tk*N&BCsI!jI$OHz((K{FjP?~kAc;xXUhVx8MswJDc^wY zsprWCupPKR%~D2y^{Hpc3eXQcoJJ{cft9J}$O_H#%)rEdd@G*Oyz;Xu0c(J#EtYZ* zf80_%nwQL%S}bJ{$mV`;Mga~1e_ANzbn5Kc0=5G0S}0{->g?G9)&gHk7V;HXkve;} zfNj99lBJwaojYs5ZlF=3kiWo|)VZ?;94>j34B@M;dI6_PmU19<=B&}YtG`*IkT1aU z)VZ?;tOCYMlyWY0=Ij9{N)*xn)}_vzHDEq4T%wdSsWWE}*jb{GchvYukxc+@lqjV? zb>8d&y}<8+g$$<7+Yx{(1q&Gi7Eb=1-@oc}wcxsClJ?XY#3TW8fsX}`lDnz%b_C#T z!9p59x8%31x?L-{Zmy&O$%WJ^B8DYBFSvY@| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0008iNkl3+*J51VJKb zrD)+71Py5?E`2feQ&tHfK28xnFzT3IVK`+4ujpc{6+8 zw7qlp#cUx1cP#xeFW_MA?8O2Gftkosz5qLOXD`-j zDY1LXWbWKWqguXVk12<9=PnvB8d=D5^yD!esLY9Hexic4y>a6QgL@Bz@l^WHP z$58ij=j{r>-H2stL+-rAqx#}RsFRJq>&Y3qWbQs=W^V$ApKko1Led%w9Cr#m>P-*W zAF*r=nQ0G6?WLK`1&$pyQz1#YJ665%8)7(R7Fk905G&LcJt#>G=rgkg3wsq}NJ~~? z?!IDXZv%(#Q6Zi2DR7($=@1pN#(WMOw@rm~M(7?gph7xBg{(2bh3Gn@1E^lv{uVHF zC3O}N5fKp)5fKp)5fKp)5fKp)5fKp)5fKp)5fKp)5fKp)5fKp)5lQ7AxHr{C!0;<~ P00000NkvXXu0mjf6Sf=x literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/26.png b/resources/skins/Default/media/Circular/26.png new file mode 100644 index 0000000000000000000000000000000000000000..5f49cead7409f906c9028f40637ae35dc5e04510 GIT binary patch literal 1254 zcmV| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0009CNklx9LDkIx4vM&4S5lQVi!p|AxRU^A~A(F>Q<(TooQnJ2hqwvnpCDuk#wSH z5JVwXk)();AS&AgLlQS=p%`CQ^Gz{cxLD2HJ#%Mw_W8hpyD<0cZ+JK}=bSm`hB^T( zO1l5Tc3aYovF&<9+-X*1hG<>DPyjNU&PzHi>6D}&BjQ=Ts>-d#K*s$e>5Ni17b4=} zuvL{??SYK@SJHW@U1h_I#C};6?%P@eq zfNuu~>Lhw|oXXogkEht?Ta=@Db@us>Ea9{noX23)lwS zEDYsuU~B8zyY)Pj(j(>j)^&G{G<=oLDIc`1yKBJV!a#n)E06V%&c41b4CO%Uy1PcY zPPtSN$UJ^!>w!X9&oTAkOh3Nt1e&-@M}RRM_bq2Jz!5kAP<1oTG!k) z(plHVf>3;)t2WZgW3H2}>s=Lq?+S*kms;1`J<@{{x%Q5}H`B7{o<+n>Nxx+_-#_}` zKa7oWw_w=XA^8ZY?H5V6GTY8c4y3AxKj{vz-H(5(l!({FT}64F@tExkt#X1DOs7vdm-$ z;_HwpAic7EFQe(AkC5re{T;3u2QnQSGTS{`TeS=u`A^c9O1DqOw^zqL&q#XYIb<0i zJ$$`U(roKm%*@Qp%*@Qp%*@Qp%*@Qp%*@Qp%*@Qp%*@Qp%*@Qp%*@Q}f03izRp{Dd Q7XSbN07*qoM6N<$g1;(RO8@`> literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/27.png b/resources/skins/Default/media/Circular/27.png new file mode 100644 index 0000000000000000000000000000000000000000..feafa8b507eec65c16696287438fe2d514e74033 GIT binary patch literal 1269 zcmV| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0009RNklQ!24r%lZN5VSI-m9{Cg3kD4V zF_2UVNs*`^D%XhOj}wg;Oo(TEr&u3&u$p;pXXkG2^Md8>U~ca_e3;qUoo6r92w+aq zUvC@_CEXl5ZbZc6YDFf9+6D9lAhGF;q;Dmim-KT){8z53d`mHqagQWjP#4bSi1?@9 zs`4%MK*s$o>5{r|E=0tW`B$}s(XZ#g31Cg_el1!(2Qo4Xd;zSi-M>YrP#_~Sz(Jsy zDZaSEfsFhHd{nX@%_I);%39{^%)`i}=2!AHa6t zY!9Ja2e#GjPcwk`fy?s@)O`^NDd=9*vAe6(k>u(nD3EfI6$G^Y_wQFw{unoAC z8Oj4-W9{0T^*WT?k@8*bx|>EfedS(LKCE4L(|}`{f&7Yh9?PLyeVxe+512Gx&oOWzpTy=R9UPR=eir0f#dJnZ?h#$^xc82qx;}Qs=cG%TUN8^mPN!ZNmmn_?;m~R zK*~Cw*lr)*>Mal0l`(DYmOMgA`(4tV#J1Ct11TyZQ1`}fis_QI*lTo~SgGFjMoD47 z3Q4m{dlh20r>w#vVouVv#OCigkYU_QZ0A4*;y@Od`-$z|aUjD;9U-e7$S@qp0+Sqw z??VPa_saIOgr;*IA;Wl?*zT1B8Aj?qEcnxb3?ns=rw(Ko4rGBz4rF=JGHm3Mq)n1G zOWN|r*UggNl{6*ksh7PA0I*!rMoAtZW@ct)W@ct)W@ct)W@ct)W@ct)W@ct)W@ct) fW@ct))~f#j=ZxVQO5C!800000NkvXXu0mjfR^nUB literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/28.png b/resources/skins/Default/media/Circular/28.png new file mode 100644 index 0000000000000000000000000000000000000000..f81f4296cff658387b2278de39f6fee8fd89f39a GIT binary patch literal 1278 zcmV| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0009aNklAERTP9M5(CD?LQs+}pf&+5)D+sNTg6H{)5QD_qLr4Zk~T%siJ}rP z8!$~2E&LG>m2E`PbrUTjD!K_@i`fe|HaX|+%$&PtpAQV&h4;?Bhle?5e%uLF0+^HZ z;=S#uqURzEB%S(@O(EAtH59Lo&k8h-NF9h$SR?=wUBvUJ~7qq$D` zEhCU={KJWE(Ol8z+-5mey65TvM=}DL#rL|p1uO?{WrT8~bkEfT_GJX}68Nxm&sC#2 z>-se#6yN9S8qJf(RA)-}yCeWVWlUSEO7~kmnjcQ2+CTW-vXV{LEF$hpx}8{laPYx_ zbn9$l-2wclw|l_0jA?6!Jd#PUxaNIxDY);W-#IFK>(B(ZM21L;TV5whBW^uvLSndCrx z9nu4uSGNC7D4p{WGG5*~kbZoeSog$%^dmKp83)o22Qp?H$e8gOGG;a;*7*qO$?uYW zk@VO9)Xn(9utzj+PEAPK`rfu_zGQou&g?&cwZJamgVMd2nVFfHnVFfHnVFfHnVFfH onVFfHnVFfHnVFfHnc3p<4t<{OCmqRrZ2$lO07*qoM6N<$f|O@k(*OVf literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/29.png b/resources/skins/Default/media/Circular/29.png new file mode 100644 index 0000000000000000000000000000000000000000..2a806928bd928b994e18790fbe31c87fad684b41 GIT binary patch literal 1325 zcmV+|1=9M7P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#0009}NklAE0jx^8 z`k&>Jr0-{z?;_%IvnDe{>js7bkXgDc>A0k0l0J)woAtUXw}^qv`bE+SrEpF~#Gk`< zRc_G(ne~UHkCehW5fN9`-qiwQSl578fm>UTYr`5ikf{~mC17jo@ohMj0-0I{o&&m> z;;XA1$kZ3WV>QRoP2#ZToqCB6B^{24ABSGC1DW3?NlOuNddQXb6v%c-J0$I#S!RE~ zU(#&@|J%PLy$})a47}d{0b78Bz#G611Mgd22R64JW?1?&ON z7lv{X*wwoCZcRcd-BLbi-FMeW(^u&}<bcLK&}C|x9+)X zq@%8n3qtXAuG&a<9&;US-S0vG-Yb~4wzclJd!z>^ay>QuyG<>d?pZ{fm-KaJ`7_fW z97tWqGV7kkw|eUX9xRx)4oKcYYWqskh0NL|$$?ZA5h%U!n`5bFFE&BCiIwXP-zcdJ z*dl2~d9Oko@RU_qM662sCbRrr2QrSIGV2`3NF2yI^K)k1T@GX%xm(C~2Qm%^vd&}& z;`5LZkY3sTJ)?BhTgW(WWY+!dK*o{#!Gd2M$T)HX`OSfh!-1?b4rHC#omuBVMzTM% z?xF)3#{-#lXMAE<+2jV*RY|vGl<)HvQr}+Xg>hZdx0QP_(!QlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyuXz|*{W<#XPmeJ6Jzm*sOKqZ4pZ&j`Ja5Aaz8?!7-#OkP zkv*Zd)S-VO+s#n+F9s*hNTj5>Nj}k6^1CW%>n52peWvaGM@9Bm8TGgHbbOt=xw9iT fQ5@(n0^rJSrs@mME|JbmNg$P;u6{1-oD!M| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000ACNkl7{>AERTLr&F(HbAKv9|m)g-f`k3mh!JF=0^YLX3`HIN$Buu)AL)GQ2* zC=3b*N+vAli|g^6DE-(cSZ2Wha@IeYDO?mEv8HrxyEJ@;Ka?6vpWA1BlZ zU`5hDcWf6VogUkMi-^nBnoJP28|Vu_V(F5kFC-n3bUY$%mFp_sJO(oEqNKy>!Z{id z*ZS=$-@FGh?q5mYs0-(CL|mD^t2su$t^)4?_tYNOn$>e4Bg?>Bz{c9+TXPBpGO`4` z1~fCp7gsotkspEQOOB(N#9``#dXBFoy%7=T`u<=CGPw(q79!$ApC8&%Ae$uJFX@4? zZT$B~C2j8c-`Px*f$t^^L0KX_-MjV-ml$%ljx2uZvrrV z?Vg)Pch>c7Mkv0{RT|x$$5fx!?sqN#pJhy2ch&BqK?Mmfegce z%$Vdrybc)v-7DLFCzP&u4;jYo#JZafWEfi$>n=KwVWb9f$$<>Rfy@{OGGlxUnK2J1 z)_D&ZNa|N@T=K%Ou+>H3UrM`OzRP<^dApPr#x+SlIgs+6Nvt~_5jPx2dCw-+9h3YR z&=9_sw3twLtaKwb26zN`2RQjZkN>Oych~N5ZUNhXw}BI@f%N)Svo;0bA>gUneVCb< xnVFfHnVFfHnVFfHnVFfHnVFfHnVFfD_aFOBBj>e6EENC%002ovPDHLkV1o3JadrRz literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/31.png b/resources/skins/Default/media/Circular/31.png new file mode 100644 index 0000000000000000000000000000000000000000..096698349eca5657b13641c5f71b3984d6ba48d4 GIT binary patch literal 1370 zcmV-g1*Q6lP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000AhNklAEO-L|8j6^{rVq;Jc6g3t~1dSGoqHd#BrqjlV|AJ^`N-M2|AlgYJ z(SSsVl@h_<1Pxm#5wp9pTPTT|jeaf8-f&4FGk4FNxjXmyz=2(O_v|}7%$(n$MgXgl z{0@=_9EpgP^>;PH=+`;mHQ=h+X_urM#Y8u0Cxee0AKeM%29mX(huMk z;N2cVIR)&lJ)UL&dw}EX3}pqlzxG&~LARVe!upo7W#H!8V`&Po33v`TGhryF@G+%- zz_q}M2}3!G&%XKxYz5w&FqGG8_unMCW6O)c#R)>$U%UTi0T0uiN#*z(xVLui%>s4< zr!zxY0B)?^d$ZO;$(<=5*6zD$bjw%nG3CM9eK!p_kQvBH{N%A5y0fphGDCT$cHd2- zyH5EuBanIg;zU_=SM)izSq{|hxp~0;j6jy~y{@u=&A>Mqp}bnV=jH*AW(0B$*jc;h zrqP{seUcH1?{k$#_vA6v`?dR>3BY?9%htBq{Wg#8#fel;jQ(y@&8Axx5vL`6n^^wT z=m!T<*5SmuC-I}+@_@TDmaV;#XGm#ZNjj5QJ104iq9OuyU;L(+E7^;!p?ipx>KZ>N zDGb;mX-R3HLhSXDRaiu57E%J)R-u?NeG9Nczcvl=oO--N}epaUccJecbtYV);iUdofAC zZ5eNz+#~tDtkP1Kt3^p)N)Dv7I}_`UMZ~{FJF!b&Q#}B@1N`+r%hl7hd!0GJPT*zW z`^&<(2<)ic-^^N@HTMB;1LuJgwR^HPzz*Q{+I^UrnVFfHnVFfHnVFfHnVFfHnVFfH cnc0T+AM&qx=#JLsfdBvi07*qoM6N<$f>>FO*#H0l literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/32.png b/resources/skins/Default/media/Circular/32.png new file mode 100644 index 0000000000000000000000000000000000000000..dac564ec1df32deab612801e5e8170c7fefe2b12 GIT binary patch literal 1404 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 dbI!TG@h>{| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000C*Nkld1( zs8(TW1fo(96t(CLL~TH7deM;)X2fJ>im!`vuUsPXoIB5X&dj<04_r__h*?SGYZ~cHJz~jI{;FpGvE&G8*rMGdx0u0yyybgTd zP$@_8>y~B!>wpg$DCHEew)FN?1K0!{pJOSPfJaMjOEn17*^|s|Dw_b-l-`!A07JkI zV64wlPT|Lt<^i_>pZ8hHQT*(ydB9TO?LJG{S2}-{2*;L}fWP}FWoPO9)dHR%oJpma z28K&#uNJTtIGb3?dElv#z{=MZgaUrR*u4xq86X zghH+Wx0cRaHNsifiG))8bFSP7cOGMXTsrSS06t8Zww9I7TRp;q6S1D^{@hT>&^0r& zvyy&{9R5uA4_-)Kha$&4jo<3c57?M6ZEco(56SI2Nn?>?MFmk8^19|a%OQI zgqv8gR{D*S%z!15#ufKfh|NA_WoBlxl75ODexDc8jz1#Dc_A(FLgtx2BgftDg|s7f z4_WSow8IOTXQB)7>yQ=@zOp?PF?81VkaooW$Hxn4$Lh#&m%Wg7+!;B}3u%e(A@fXZ zAyZyRJ7TA-aWAADv3tmAFQgq_$b8YcLG?i7a4)04jtj z3@QF;k`t0Y29(<)3hO?`I4OA{xy4RbQl}7?3E_)7KSw@~b^WOn-$U|wP*Uvri-&Ut zagu=d6P{SSw{+gB0S_mX@nz|}RqGr(QdV`?RXTIkfNcq7Tm@pU;$14jnkTVmRse65 z&RjL%m4q^;f!O;bE){SKVFBe>Z|^;SX|00&Fwt`_iW zVi~{VXI6Ot+Y`$G*j_q!m4IQwbwrB8_yU;C1J)2$giA36+;gM%_D_5JbHAjOi9hp# znf;n0jFSXBpRjlMZ%AkZ;rHa;$Vp&v>8t|-c^n&bjto1J8kik%EGB Qg#Z8m07*qoM6N<$g3cY~1ONa4 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/39.png b/resources/skins/Default/media/Circular/39.png new file mode 100644 index 0000000000000000000000000000000000000000..acff4182d2033e8a034d26fc92841373e44bbc45 GIT binary patch literal 1591 zcmV-72FUq|P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000D9NklO^B6M7{~vQq7*a{m1toQCAH`SG%CRm%b*CXsYSKPR=LSsx|UiMEuux_)Hf_*G70H1 z0z3y)GsR~ovydKN0uSfxM>WP_#s~Ej_Db4dWs)(@}%cm#MG_@Uur%NxM_(tVt>00t}vwg6u@BxMhN z-O>!e9l(1HNI3#5E8U-J0PX|!&rr%4;GxoesRqJy_82pp%Ep1)OZTNJfO)_Rz{vrn z9Knw%%>&#Bd@`VvJ^0yI^8gEhcL$X6dg=UCLO8a(3|tyO%KFmzs|8p~IFm}@Phe%~ z?9~D+1CA$3IRz{&oxNJ7rKFCO4@&2*8p8CIdQ4eUI(O9o8xw_mfv-H~gK+k>HBrj5 zrE^ye;X38h1R*2%gA;inT+yf8X4zOebM*l06NHT6_qy@|%m=9U((5 zq#azyEF)ToUx%~+VaxW}h^A9MLfRqr|BMT1huEjye|I76a7$#nvo53^Vn>JzX$haQ zW*MFQwVyj4Tk^!Z`J^Sm#X&RjLXGYK+&#rGHH1Gt8? z@)~cI&RjLXn+Y;5;Z?Bn0o+4cF|&6{XRa1P(dEw)WK00Dw^W=|fK3T9z>Ci0gHV#` zuLK#V@v=;LAbfM%<;2n9*Bv2|yTX7d0~02dQwi~@^FXRi*zHs=e8GN7-( zjMEUn1Hj|}GPah^UL}OeqbCw&9KcJ$<^#AJI2S47FwpdOCpuRGtmFT$Jx&3)md@H4 zfX)9Q;}78e(iuAiVIgYUzsMK|9xR=&lK@u%hx%mv1l(0RSEm7%5EiAr_hZH^fv^^` pxO5K3aU92S9LI4S$8ns>`5QP#1v&;$YXblP002ovPDHLkV1k@q;cWl_ literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/4.png b/resources/skins/Default/media/Circular/4.png new file mode 100644 index 0000000000000000000000000000000000000000..afbd48a36b9273fa2e2ab1f62ac7168d37982f28 GIT binary patch literal 720 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyuc0c>#&h#6=d#od9GZ{ zXR~bPqeH3Bw!Z0D6{S|`x#@?6{d3Ke&Xazt^sn7|Jx|d+=yhb+)!5M3@T-;Y&sgW4 zb=tS<)!d)zYs(vQSFXDC;Fr?L!0fkg*MItRE$%(T+&g|7ds6N=J=@E?#wbhC97H|h ztMn_n6LmY~`JdT>@h56lrK%*08QpxZ<(amZIp?C|q{I2elb#rzbe*(W<@d}A#ltIB mMTX7|yL#>o$eZ{| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000DjNkl@I{j^ zT2mk^B(0XTrt8uD`vyrX8~(F1l6Hg;_BH&v^#cZhhk!l6v4;08uLH|UZ{v~$1mJGq zW#F5JLOF;Zw=@H|6?m(GP>uj=OK(p#fQ`WD0z;Vw?k~M9)gVr1kFc<*>@;w5>20YB zFaSIQ9PcrdBlte0dB8Qm;T}Udh`;-49nUpSE$@rXXeH-w++%@4RIVcOa(`3TAFYe~nAwZoDJl2r%+#XEj2 zhI97f<`GX~S*`LDC7A((k|t%l6=JhbS($|pW+i=REMMn=wBv-a&I4(Q2eQcgYOK4? z18IkKgskvD+TnpLGUh=1IHU!{Tekl&l+OAHX~(RwZq5T~hjqb%Gag7gt}@nnAT6DpjxXShwhVr|7gyeUdY++oGH12`q z_o%UMJcMxG1Icg5ST`p5Wk6X0*Gk%CEI%Z9Ah~Um?SDKc>4VI@IN(#`^;n;Ep5r4V z6JVpHEynWqbN1pS0s9iJSX@`S->Lztff-{M7hOc>Q&t|kBn=vC-^kfW-ve&PzCzFx zm)u|IBcwsZRettJvfd4~cQJhLRkeU85_aS>z?#xMR|{B0+Tt_*jS9IC7hN7n2;&@Z zW9h!D1?)-)1K_37Jy#3ZLfX2EKjSMmupam^F${pMrF*XqunjoVLm01>?!79+RpMR%=6VR@FmPGvZKw)qt1)yt z2COdKe|6?Z$UBK)oWQ?_Dj#4a@u1FP5?Eil=js8Q`2VBwY2eP%z4i^@#s3K7H{jmV zJ@ysi>eV0rOBmk+*84zQlYr~F_%o~#z^f Z&Oc0KPnhI2`3C?1002ovPDHLkV1heM1>gVx literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/41.png b/resources/skins/Default/media/Circular/41.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb84fc6003844a84ac5e2f62f910220653eb9b1 GIT binary patch literal 1662 zcmV-^27&pBP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000D`NklzyZENf9PEy@-ZWlaRtCU>>TmI>{mf~ZAAw6JZE zMnqT|L0J?njEXW7t6`AR{>_xr;4qbq&bP&xi8rA-=Y8+FXXd=m2VR(gGw=J{`Eky@ z_uTuQYpMh=Eot(!*QlhgJ6>Oz*|B0pMzGQaGzB2C>4>D)B<+&4&&*Ect14YT2GZ$g zNxK!o*=uIMH(OP@eh;M6Z<5|p2xqsMjrU$vAEQ}Qz+=E!rMGLrYB-QNW59#J($d?v z;A9G9&IoWfP|XmZUFJaMd<im6!q_Z3T*gqxRXJ#)n{J!-AmH?Z8XMt}U-nTpjEH1r`3l?C&M&J=( ze?y_{!OvTo0jvXdG!V)mU~TE`sRnQru(!uh#(`@~Z%Z`@!`Y4WHk2I$)|B3sssM|C zdx4`}hH?nsr!)^(4!qZ8D0}duujT#r7Y1K~(2 z#R=e=(zRC$SPKj%hVm0|Vd>hdH5*E5PkEzs-BlwDU#a_)>q^&MHDGIEARpmZ9`hj_ zeLbHT%3Y=Ft{UMy<^6;}M(`Ua@*#-o&l5s`X6bsXN4Rk!*5 znwi_cs9f+TYw1DuH?c)(mr@e=?<78yJ84si#u?rUb>VdQ)HjoJqq#fr( zw(}m+67M1N%&N$C9!N_zMz$OEK-v)-$bLUD%xv}o)uf~|BAQ?BJtV(N6c@$`Nnd&( z`E819chJmy>ZApCMz;G@^4oy20#-_jT|4U&$pgvl4#h1rio!zyTu#8dk@sVLF!wj! zLoxv_lN7rO_A5DSagu-+6Yf~NsC2zm16Bj4BE$H{%Gf?+|F=7H7Si{CHNYQ{ zyW)i~q23S_Q?kWM70>=}3$IYedt`e{cIGh;9 zj?#5k30P11QxnF46{Tyh4sZowdA?Nll&-xxz#uTuMHo+%uDvRRhr4VeoIj*`9q=it zrT{B}x4Q@e;2@_>9=aY7hNy1#7Z9dVR;PZZccuR}CaIgXbtfdw(BHjsWXQ*IYf|YW{z|Y8aovZ4cq0#{Xs?eiq&?U|@Dg>NEp9PWZ}! zYa6h+BaH8X*c;(oF2Ku#vv0p1J|6(f@MlOl=bUrSIoFH703C3RNVXhhn*aa+07*qo IM6N<$g80x4nE(I) literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/42.png b/resources/skins/Default/media/Circular/42.png new file mode 100644 index 0000000000000000000000000000000000000000..e36b13febfb03355f80c85d020b722970f064069 GIT binary patch literal 1654 zcmV-+28sEJP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000D;NklD%JmiHk)1&%Mui&dizr2QJLOnLGc(k8_@T zo|kijDgjJOI(^RTxTNoUUf+cfP8KWDAe1hkDFDW%j&S1&n4*0nY#zmG0NP)o>uQI>2MVlG6Q~ zcQOSsYaG}LR5QhAmpPDG2Y_30_M@7_Vc>&$ink>_96~tK^c#C1{W~scB!uuulW$s6 zAj>4Jlyp_ktM~V{k}hfZ-~J`(p%B7r4Zm;wfFa;k;3eS4hL0^ffW@WzIBx*~SO+`> ze9=%S`|)*4Gl1)WHyQ|K3|LdTKh*$k07eH4WfHi#bYH4LoX+lGu&L}Ma82pHR0UWB z+z(9j8Oj)bOlcl)Iq*TBq3p*$eKikQ0=&{^D9@L!ze>bo%cH>AK0?`6y8dbbw-G-{ zrT7!LsdVkt0@eVB5<~eJSY5jIYIQ?N9Vu^>uDfc)=_~b^vZ-|4RRgvs2J$I>|ENL)lWg?y3>jDIX>TGLGLkkr#1ApK_XId+D012W(3Sq=TR9$_rQwe3=l+)1_;! z9&l$uAXC6)rE9Jl@l)4(38DCTuH1-M9<6qlu6IEIb|p+(7nH8Idc+$itnQxuyG137 zu2~4-kfg7S%{R~f;DO||$Jp*3{8Ddz!1{z~Yop{NB)5Z-CX8)IBo8F35CV!%{926U zti^Q^FJf6O_X{PN0Yj2HvONm1(Wk7;LI~56zBV==_CVTk%-GHYX^96i$NXe$ccll? z4(kY6=7F@s1DRvYf%rP41;j_Te>F6n_7T#Kv&MEa9!NW^H!_^^K-zJsv7HCf66*+= z^g!C-BV>+QVQlAtv}B#JoljXU*1hU+*I%zqPW3@rR@_43XXMT#J1Vl+oV5^(iZlCnZ^*_weZ|Ct$cc4OyH4tf%H( zD&iy2yNzK0>?mDx)qwjF!uSoiqIAvG0#*U15(0Uybj{TwPF3$DgmD^JUb^mT0gohv z0q|_;nyW?JY-Tzkj1%~VGkE|ThzI8s*3MU>DsFUY$k4}l&UhU7yN@v52hJ$C5Azs3DO#q%4AdD%%dUKq!0G0yB`UvAFu)cKt zRRSJN4C8a+jd3mq;H&8d!gvwiz_K0u|F+>BU~B0b7aab3+wh(E z6~A(T*SkR+#!nKK2V4!j04yzCi*wF7=bY=uKg+jo-*$C_OaK4?07*qoM6N<$f?jt6 A3;+NC literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/43.png b/resources/skins/Default/media/Circular/43.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2e5172986c596665b15accd689af7b1e180e18 GIT binary patch literal 1676 zcmV;726Op|P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000E9NklOK4q17{~w97gnfLThtT_ilr8;N}~&*;-i8O@DW_-qS&r<(N^4uAc9EUST}+T z(WQ!YCk?F#l8U;qKEOwyXbno6Qk#@qv86_v#Gi{v90FAc61R`wc(l zb!N^Sr%C{(B%PagjY;~k?fStvH&HCf09@$=QUMScIwEOM(g8`IJLhKdWfe~^3Tfwz zq=WKuhMaSgX|sx_*M+q6hoq0>5>X?5bCy&&lc=iJ+gzqfvX<-j)JHQ;#SzU38QY3VX9S^x)Z0bT^Y zO(f+IHg8D-uo2jwK*~{IL+SEV18_4i)TNXba9ioJR0F;_yO-{ovI*eY(q*X%U?^|{Q(;Z0JQ9A!>0q(|+q+<9B zxV3cd)dFk)jzvm24O~?^_iCAy5?fO~D4loJ;G3`5KIP8Rc~=dvCsN3l*vex*@T0Fc zBc(iAI`68%&r?2)5Hf;ooX87)MjvyVWl!mxs|VN-A!Ho8*OeDwDezr{l)a^Mt{&jN z2qEWz%Sz{5HTY52;Rq>qpDQ=`mB&!tFP(2s0K6B`Y^^MvZ}s3ePK5H{+~<~*OuA;A zbH^lo9~l1d+#e<+F9!nS9>SJ-^8@rpG+SFGt0B4hM$%|t?0{rKvf`XW{)yiZ26E82eVvL<~v5>w&dn8o07_zEuNU16&9cVh7UX26#762G}thdBGph9LjINMeU!r zPCY#@N5t-T&i$D!lU@gSAfk3m0_#iXTrI#l;7o)NJFPSq_%lvEj*!s;E-jsRwE!&a`i~^w> z=8RDAhsvCalrfFHDFV!#jb#Ks0v^ieq}wOz0-nZRQ&bM14>$+BioN4wVSo)~4Z|>uMZ`ZJ WV(cLo&13uk0000| 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 X| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000E>NklOK4q19EX3?HpN#(ZLO_}_$bDO7LE8!MU4wx_=tkK(eCU*Tim#}C@w6BBEDDR zLcv9;v_aI?R#4k2wOTdW5(G)9Z9H;9JbVSkzk~T=%?wmW3E>%3;D5RNj zNgL(mYcOZ23QMx zTa%Pc*m+Am0G9*r)*xjVSeCmz#QwiE+?IJ=Y9hO!CZvfOPc3SbWK zC@@-4$}qN1sUKhwu&tt$P1w;_{Q&cUH!4bbK6m~i!S7q10RE{UWo7RC#RA-cKaz^! zZ{Wt<*^32O2JDNJauB#MclKhLkrLZehH~dF8vO7TyHB|-ckZGAR!0i?3Y&RM2ma{m z%}6N^<<4C+`16#{B7}@!3n$WoKckPi%(6On=HdZXMhF?hu63mamhs8hOK_ddPr(^OBxNV9h6K+Qk-+h-|-v5V9G4U z4ERZ`P!`%mNn(H=Nn;AT6{6pUti(9yrX_tJSl(+w+QWgsIup_+Ovo(bx4^pdOh|hO z?I8 zpGOQ=YjS5U8vNUMLirtk;n7F|a0zfULdd$@nTrK~68K4kjA`Ja+_{Sd|M=J#p39xN zSb#yoFCYT^1e}sPcaZ?M5`Ksaa1yvFckUtqt_F@o$N+dLckUtqF2z3>Ifh?=({pDp z4&cg}e{L+HQ@KVc__uvdR*>;p?(9VY%mZGiAOiel_@3NtCx1k8| zXWtJ3`zy-$0eiq@Jplc{_KG6Fzqs;(-0kRi@N*gKTMz*-4)o@3OUHsAn)-m(srEXf zW+s5^a<{1?!S{x>z}^-mH24O%ICr}`3jB=TQ^2m8Bs6#%d(>++@blPpF%3M9y`ZH! zz*{xRH~`#ScfM|122{r?!7Y;doO55+u&wR}SkgkT7zXafhNyZ0evA}x5Lg9-+zDmG z0=yC^;wbPmwp=GIzytpy;t236urznpt^inwpWkj~3V0v5A6tabet_Nh^N1nf5&Sc) kj9dUW0E=?xFlIUb0;`KVpWLk#g#Z8m07*qoM6N<$f^)|!uK)l5 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/47.png b/resources/skins/Default/media/Circular/47.png new file mode 100644 index 0000000000000000000000000000000000000000..0cfa1b43172d340260b0f42de3c5ae1fa4256978 GIT binary patch literal 1756 zcmV<21|#{2P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000F4NklO^DV-9LK+-u3=^Ls%a6uh+U+xKuSZ*h`LlpPpQ~6EO zHhDQaopXPrO%+eC3z^C(Ngv3|+2))Z>pWEtLt0J(&jA;du2Eg4KSxAfB!0kEfQH^ov_@W-efTYKqb3dj2ViVFn!;;oG=e|h!r8Nne zD`|nGg;PFLf4@P}g^B;|-;&ll=iW;Ez4Zh10jq)6fFBcITV4WYmab#h0ytnP@C>jo zk(7RH+>!=hG4OT*Df@v%rR!4-z|FwU4yB9%x0S9-HQ>9myXdSd8wIW_U6-l=W&n=> zLv2dgk6lyJ16&Gx(x#Mt?CvW)z--`+Hl@5+I)9bmuPsji|Fj`xUFrPQ0^EVWlZxRl z;Fi+as|8pD9Ey~31h}$v_G+1w65CR?m(E=^`0gwAnzE{N?y3PcMhY3kW*+l_zx#SK zQp$s+b5{+1obqXeki*!*iM-%P^f8ZFHkQs@J;1sMAtTtcuDk#AXDw@J>XxHK%mm>cKCZ2<4vE-_0l)x@Men zha`O!Sp2@$4<;lpTLa78i%s?B2e>Js+gc%63(3u1Nkf5U*GMKLE6zFOcl?I1CTA97 z68t1qD3{noNoIgPNh1o|3bDevtjsv)#wC3nSp0eu(hR=@mNOv@VM3-EzXq0@Z$g?O zw1vzyAH*7+h!GugR<^`4;F(J)h zEo7PzD#ThyLxgr&)k{jTBNy`I^TbI=UD<$;>l$(&W*M#Kf&cJfJoO8!a zNPa?ve3&(bApr{`R-7!CY+Y7vLR-giNrO3q^gQ^DJG%l~$A4>pt%c-cm84~XW$pTr z8(>Go^<#1Ayj6ogf;NtD31e6OJ}bR z{GRipkum_DDxJM5@W;Tu0Gw_^#%I{`s&wGbc;DTI2!L;Z%SzXw3h)mK*AahP+u{Ha zx~A9oKY%5`du@sUI0!5#U5~B@e|Y7V4n%-IM*ND>b?IvGBkt`TiU9ZlxT;LirQeM8Z`gy)s}Kla%^7 z(g8^iJLf`=f;CzI^Afj=*MW0O*Q=`meoi1_6u7^1U8;c2ZflPMo3WX`bO6t{A>s(| zBz~WukrLp62oXd0*WuZOQZDdIJkQ1+U_JH*wfx{;Sbydm_!#gm@F;M3>5NkEj6>v{ yI}PlSbe^Ogk_IFVI_D| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000FgNklTZmOv9EX2@P3>m)up5PF*##mibjl#Dhm7#@5cv@K)P>L@s9vInZV&}Q6hsBR z^kBUd6B>e86hTf7la-+*PEI(PGwMWn&C$Ld)(i}SxYj;0q+iD@znIy+WFbAU)B)-Oz_WC_q|YREO4?v%$K$06ryYfiWsjuQ za&p$2+2MLqh12dr#&Sr~IypJ3&1|UgRBa6Pau9eKI45<##w|4q8D$W70+^h-f8&lw zLPpsRECaF`;-eE;$SB>wf|&it#yB)QsfVyu(xYb9Uw6YrNOcAzEj6>QIvdSN$W%#} zO1f;!GWPS0lFqC7&mNWZh?#v@bG!KiOakr#-U5EFd2V?fn3%ec;}*bx*}x0H4>d_y zL)mYs2jCiDRSiK{5%5(-DQhTOU-bh_2HveG<+arLvjjJ{tN@Nxkg_~={%is6#%)Q3@GsDj zI(xPNGl6Y^Qg#DZq|Tl#BT_=wl+RP=&KlhC6*{NPPn|n!fR%wlHd4+!#sjzY^bsWS|IX z4%0mA${Nxn%8=D!6d^6fbkDkhvSSz-;7mzFlBRf+&n;_6eD0K=3?%gyA@RA_v##6B z_7x%VS?F1}HfoB31k4Dy;-o_=*JZ`VckLLG)GZYuvAN%~Ze6RrHX}QL+XIHHau-!> zfVBZae2;Y%ssPLhkkK>tyJZfE!}9^P??+2fkZ=!Z_GKsFvlm~e3eXuKWJT({Spz&6 zAY&JBdg{#C0$dI34-oQH>de^!OaXcVWDMXA%NJq*ycr+^;MvrfvjtcjC}S^hcIw<& z0$hiC@O}u(Qs>SR;3i;Cpp3E;7z3aK_$yGx&y{)?(xyzHla0MA3Qy!dLAGqgUeN#aMKre7^>ON!v?g^vM0Ea8e=m)M%-H$8) zt_QxWC<5R&!1wae!pQ(;0dM18z*3d1z~!m?GH$^QO^bka4M-Se6L4|rK8;I&^MR*v z!%H1}3pD)lWk3kaY?UAnr&uXbvIswgt1xDTr+#l%#PIDwxs-p?5L@o zW0GE!bgP;5oT|7HPK()i3((i#_y3mkfuwiLthezvZ4R)Y;)J~!cnmlzbsw?wYE zIPeKDpK`c74#1?5fAq;X3UmRl09U5YE49I%I?yNSs*#U>NZK&6bV>R?*49#0+Cj+U klJ-j4U}pWP^PGzR0iUtBaE&|>g#Z8m07*qoM6N<$fnssI20 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/49.png b/resources/skins/Default/media/Circular/49.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa73e240dff628596790f4b53179a20208a0562 GIT binary patch literal 1788 zcmV| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000FaNkl-HTR59LK*u-?Gw*3`{K|5~U)g7ep{LE2yZgy(yz;p`vcw=%W4ru`a5su$zKz zGN>SkHFpa_p&}~Upw{puT`E)5U3Vp0U&ysSUCchTEQT}Bo_XeZX6FM3_JMiM^PT-L zbIzGLXO1ZofKf>!6Se_KKabn?nAvc$kRDj-0966tS+rl$7D-)_zA>}EQ z*K$M>QllSO2V~R5M<=q78oj{UnDxlUI86GW9>S-Ro;9={YVnAzrv_nSY!OyEvn6R^MHW6Nv6^wf21SpWlW1~vdc zRwSjHa@|r5z!KoS3Z(1;7N@RHHUPH*+a@XH7;t;)x?}^cJG+O;b!EfAb*bx;6~Hv$ z3E)7TQg%^}Db)j90eoJkly1t|SM>n1fH&)u@@ne*S%N#ZtOw54A*CaA{%is6!ktNl z@E5Q$b@prl76W?&r5pjSN}WAh#-xO{l%CYNvj*3Fg&tGxNS!-tfX+Z6-%(~B=WvQji4P7;wkQN~zqJ6`T7#%MD5Dm5Pwqw4J|*BK`0Lufq ztA|tP%^qNjr;JhH($smg23Qf$I<}AhZaId;;pKp`A4f}3kbpG-t>Y+ezP%6w+#}In z1_*f}b>^%A+5%)80xn9OIa`2hfS~{(>r-dW7GO5+?K{5g2QEmRJ6i}}!0f5inX?6W zGEl}oU`FcPS%P~9$>~5LkEPC?CBU`7uYoeUC<|a#4{o)efj}AiC}URD1KbCk2$XRO zxG8n^>;RsozQy<-Pn|t0a6=*+>JS0&M(X@o0W1POtW(CN>R~ zzzx7Fz`;pMsL=z=NnNj&0hj~a20RaZUy+0wZ&T5LVRqvxxZ#QAlCGbyT^;EsH%Qtz zwt8G)BDho4Mlb+8T6O*$Zv*-x^8Wvkv`NxZGy9v=mk~+<-FV+u~7UIW% zqz*}|W6H=9+?iBWoCRK|f%6!p%Q`o|NqSe(W;5%rV1H8=U|yZA;W+MkVl|LsSDpr7 zMqroJ1FWM--rt&^cT3u1 eW+#%S^59>pP3jgDya1R00000yW& literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/5.png b/resources/skins/Default/media/Circular/5.png new file mode 100644 index 0000000000000000000000000000000000000000..50a05488810bfbacb2b042997e7ecddff6794384 GIT binary patch literal 747 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu|y!B#aFyk-Z{7z9KF*J*7!)pM16TsN1qty(Mvfe`|K5u zrHbKj%sYif+A#xL6ae)1iao%3w+m)%=Gd5-$e;86Z%*E%O&Sp)66cjsG_ z&3~eD@?uKg>Q~>Q4-nrz)%S&s0sC zt1{bDZ27tWYgg6V-}$jHe)EJ?yS$4mXNK>pRy`RuX|Kv|Prmwfe83RE4-#tTF|1b1 UQ(?S*tqY{m)78&qol`;+08Cs#ZvX%Q literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/50.png b/resources/skins/Default/media/Circular/50.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b015f75c5485ba086f23ec8a607c9667d62846 GIT binary patch literal 1647 zcmV-#29WuQP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000D%Nkl&1+so6o-GOwFMUy@dIgaXVp~&tAbDwwF|q^#!X!{D|KW1AGEIO(r$FCpgW08 zRg@NVWvL6lXfbUz+G3lOWMN3FMtNLJUU&^eXWn<_&h6wpa3O)o&AB|x$GtOi#?%PF znxvHt*Mg+Eq3b6zTdEdh1XeqMTmVECotN~nq!~$Ho7vyxqDp5g3K`~_q*(q>OzLOF6j#eIkRTAJbqML81k|Tyb0V^`?+pfG7A~72)qXDto?j99fgDpmrY#BCC26;$iJ@!w z_lG3ip84PYDd}Z1doS~S+XvVIJOjK9{G7ROc?;NH`x$Rq00SNdUI)I*B;_Rj-jWC4 z0pNoSQqBW=YClgi0FMBt#+0%QJW=~unt{-qJk4*xHO`a^LU?< zAK)(F%MqoV#7AHG0d@lKj40(;?f9F7(6_t_{56733vhril1kwZ;PKkAHw&-_ zxR5C2DsXS@*qdctN@`8{q;}j*LukHI`;@0@$K5o*bfS>6_{?KD2&1oe6Qvxk9e2|Z z-c!Cx5HgQ1oG1(7jXvcw%XICSn+KRm5VDAW>naPd9r!*$%F)^}HxF*9JAPxBEE$Wl4q*~2mOFi- zq%gn^NsEfx3bEgttiqVtnxr2ii$CZ>y5ZNzaxSDJTu9Hj5?SsZ7t#%}HDs3y=>`|l zGopp~dq@Wmwru|vQFP5~NY8K~-7pbZZpDRkgA3^yE~IC;ke;zSvfP3T>4w-EGUr0N z!G-jN^$DuIk;Pp|2Ry0x#Az<117a61%$wPg3n>U;bLXM|Ef|PhROgI}FO=&av9;rx zq%)EWDNStuaiVX>W;6#QZbxtmfp6I955S`dwc}q~+Pn|R3}L97l10vkyCuQ5MfV3h zaX`NyJ+;QJ+A%i^a5r!{L5L@xDFvRMsXyQe%=!hM;;%p8Nih2Za6g_VwjU63_Fhbs zaRpDLoF7I@HU2xEYCJE5(bP1fCF4I*JN~91yl12iZ3p;q6*(cKe@%Jm8^#ZG$pzs< z;S{4Ed2|j>13Ny1zTzNhUu`$yhl1sRki0S_qv&Qb{Mfv4AS_6Todf?b&fzs99YV9T z4|s#|nx)OVuKb;2)|}HtfO*bM62D002ovPDHLkV1l^E@lF5$ literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/51.png b/resources/skins/Default/media/Circular/51.png new file mode 100644 index 0000000000000000000000000000000000000000..df87425fd8ead78b87097a57876004b463db801b GIT binary patch literal 1808 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 O0000| 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/57.png b/resources/skins/Default/media/Circular/57.png new file mode 100644 index 0000000000000000000000000000000000000000..7faab7d750d183a637d2975bd20aee22ba4dcab9 GIT binary patch literal 1915 zcmV->2ZZ>EP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000G^NklUx-yj9LK*uMJvI~GE3`4l#Ie8L&+5Be^!(R{ed8hpb#_csb@0~>an2zFZG~3 zMEGZ;2&J-z{PR#Lh^q#sqVC#m(z>N>_UU2nh3kSgbMHB4?wy?vT=p)^J?A%km_KJ` z&WtG$fFVf(!#+Kdx*IZtCB0~7M~l927ScRDl9rm;_98Eul92I| zrbwFF@M--27D-nWeA~YzyLO2WD z9y|7A0cHUE1Erh*u8$pivecx6mXt4I$DK5|>MOKOxifa$Ndv456ta^%^H?6Z-q-tq zQl5+*chcaVQ@#rja*(`mqFiuK^dZA6D`Ur;JixL5A-&|Wu5tlJ13w2ySra?v$2GKCJ%1mgfEZOe>W;-&?#eP z`z7u6OunT4B?~E+4W8*9B~SI14=^X7+FBsx5>hrlN;=}1cBzzwl!}=l_r|XeOUsNU zQv)}N<;zuhqNHSiF_L=a_bSAKTxFGvnGH$Ws8Cgg*O!Z7RkcCu37Sd*9A#Fw$(q{My z>B&N>VTxzE?kuDld`rl_ETm*=6I8Q2ljjmr0gL3naatBq0lteD4wzYg7E&U(mphmI zZ$gLfqPk481TK`jL&{@WW#e02^-9_yWg%tbTU~8xw_`Js1DF|5T|FE--sAy3^^|cM zxHNXWNdwFcC>@_Q{x-KE1%vDAhU_BeyBIsu48Vf{rQ@SrI$tWWjCEv@Jl!e%!Eprf6_mX?zqQ1K{!4aVHC~Dp1CD z@)m#P0Nf9p3ly>_cHBvV8>>1MC}VT%xRazN3DE6ec!Yo0^m1be(bz74KN${7&oyKWxx&hT;V$helhmY=_P~n zPuT1OKERz>TiTX)xN2z*u!gXms4vDwI=#&RrgPzb{R!Z0U;zd6RB(qA-&?!p;esU8 zSzAPmQsm>ifp;Y>_eeS*w^iQJhQGtV|Eu$l?jC-G_be5EeD_&N&zsr0qAnOs2ym^W zLy|6u6+??0mpkBoXOS0;`Oxx;I#))Qq`5`QkRp{3V1lH>k~;1Dj2)6*HM4DH-5^#8 zS)tC7aX``&lIE8wLyAyBa2wAbk~F#MdpAL^q}L>USlc_XbYhf{agx?cIu+sGz6?rQ zEop|Cy;GG8DQ+)ooLn`qTv9un6FVsBE4j6{U1s)sj3C-#^#d?l(qobqOPZ(Z;_8*O zN$&l=t!8$nqWfNuwh+ Bb=?2} literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/58.png b/resources/skins/Default/media/Circular/58.png new file mode 100644 index 0000000000000000000000000000000000000000..55852ef983e4d600474c9726407fe2a169d2a734 GIT binary patch literal 1946 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/61.png b/resources/skins/Default/media/Circular/61.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5953df8ee50f57e6ae7d25178a28dd881e170f GIT binary patch literal 1971 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 YZJJP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000HUx-yj9LK+-DfOWCS5fPs674~QTnx*Q(*8@jpcn*c1odEw5cC!#27=K`Mo|<5 z1y)eupN%4vvL5o!L!}_@Y7eEY?V4Mr=D+OI!`utEi`vY+=ggd)oev!LF3g_$o&BEq z&6(fKnPZd)z&T0Bn~pw7-3`Y+W6aTLA{{WX1r!B04vW`SMixGZYPJ zkVgKJ^o6WBn~gC8?W-EXP%I~b7lF~S>osU8*pNE?zzSew z?D`ElN;0I*0pL*}nGjz(B^y#_7jRFR^+?8XXuDJQ;WJ538)FU?ed26L>-0(LG{$T% z@}wylGD^~TNfR25#@}z1bY;O`dsfm@#+Y{tK5zN}BY-);I^d^*`<9o0;j!yDXaNjx z8?Xxaz93V&$m5n`044+L3ovCbFe!F@k^$%dwzO%=0B~3Ax+DWOoIOB$q3kGdbL_e# z1uzVF95~pbDSOF%O7Q^K0$;UgN*DR=t9XEsz#A=^vNpE{Y5nFHaU>8of@<{#f zhQ$<}GRBx5NxL13FQ|XWhLp<&$8z(@Q@!N_O!o*|v!vWY%H}&s2OZ0HO4*Q7F~%VK z#IFmTWopUPz)oVha!sBnDH&jdq<*Wd!U?183)1m0O+(IfwHY5xa9LpWghJ+y-QZce2 z6(bu`F`&B=R&zVrJTzu8`p5vFKLIA4JjMfaJ8vwugypfV2Ve$nipGd z@&F$=nsEZSJhtAX0cLo#j*lAuHuoU~gT2-D*+tHEF?OaEfQLL<#|hx7*qW0CyK%s7 z4?|YP)|@oJQV%owu&YrrWdK|U9P%(^S!~V8g593!YY#Jeuxa^B(O|dIc-zAafJL!& zCkwFB(~RxpE&j>@xF0z0X~^u*BIf}&1^v}w8*8kE2f`>cXFlFy-4aP6M}x5@>+uFCye0;8_yr#A@|iiGQB~@K{KZFFOc& z4Y(|bs1m@AGkkAt>#PYSayamohp;XNVImC}3w+a}85@D}GwRqY=ED{Q9>q5M%5Nf! zz2Kg}FCEgz9zx}+fT_T-7KMUM9duH`z6BeGAI2|h+sqN*#?Zn$uvdILYy&!i3cm!{ znZ7UEtkZA69kD7f4Vy-8m-n!(E=r5Rjw@W}z%RufLbr^IRHoHe%Qe#jtOaILVrPgA zOVfeX`0Ye}DK=7-`3+zk?KkyidV$x0`zRn)jeR-sy}+x$&jo8;LqQi%VIcxL&R8Sq zxuVY5z%faCWgo!rmGsL6KBND>y1V%m-qTe4>$}fLdeRuPzNixx9<#COl6NFkqxqJ{ zVc8el?=149g~w@Q%*T?ZN(!6V3`>`!8AY2>D%g&5VXZGnh3$l%&nOyT46qJ38~1v& d2wVj({sp0zX;|b-*v|j}002ovPDHLkV1kU`q4fX& literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/64.png b/resources/skins/Default/media/Circular/64.png new file mode 100644 index 0000000000000000000000000000000000000000..4804047038bcc1521077f819d2fd893f8288d9cf GIT binary patch literal 2035 zcmV| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000ISNklU5Hji9LAqfl#0|Wv$SqB%OEW>6wQ##KD6+ou!2C1APKX)>@qPBs+&rPqHZd% zE+YI`DMI^()GjIoaaRjU({|N0S~ovd{dF<#!rNl&%)2vZ&Yqng9QIw9J?EMC+4;}s znK7yeK$oPB9#^ZR=DKUIG3Hn@kq(&D0zv`cm~_9SjgmG<`ra6GE}klX2BIPL9FeqH z)|{=zn3G{u`7_WBsplU_pUaxF*%;H_cU1!z!qN%61Po7|uYOBlL%L}Lo&$!a&R@SH zk|Evf2ObA16XK&2*^q920A|O`M`av`K3D2Kd@5S8~rYudZzp?;xuq`Pc zP6N|ZYp*Q81fa#!ls|#%Q){m*HB)>`%9hl+D-AY$`PM0Sr`BC*fR&zx>?F@T#sk~> zdfU^K$5QLAG}wO1*B*xKCoi0c3${n^Gt9CwwdTqLEcGy?jXc&B7ho{(vxg~bQfsa} zz+4YQI)N)wYpyidR@XKUQ}Q@hY_Kzru6&YO?|=aK&?9VJnp$t=!7iL|Wq$YH4N57x z${1r>B<*rczOeg4HY6?^9MdfzPxZzJnBoz(W=gq)#O6my2OQHblCmLDF~%VK#;*&D zVrt3Mz)oVha#fxvi3~7AQk&dfg_xN`R%DDZU6OV?CZCuMDTYIi>9QdOkqs#shaJ;h zlMN{b*Ag-;8&V9}kdonSNbZLe0QQybza5fxIjB!lYoDC@k*AlWf8xon?1l456F@0x-{`besT2rq*0pup0;L@-Sp| zYR#1fSmt3yD|R(XCI-OOz(Ef~R;1QkS+LtPedA$93wBsO6B_JR8t;0T0kF6TVWWU) z(H~SYfK{GmY$x^>f50T*SL`+sbD}=1L;&{#=R6IW6iAOpMroWH<>&j79?o&AoQ8NYa%aR|6BmY_?34=y60iwf?(i49Y}CF2ya>Q`V4 zwqkPO9Izyckb=QRgjM+0830ej5;YnB15VBZ&jbB-AQRiq@NL?5vo@x%Yq5LIHo|v+ z>-wb90E`B{Z7|OpiT#fVj065?P~chMRp9cdA_IUOD0~vX;gEWEQ`A@$w%_4Dcl7zOV%tU#Re2z|Qo2*~dH`1!knoKx-c}a1wYA zJF$~wzzy54aGeA1jolPoGA@vrao8i`LU0s&(!gvYZh40dOH+U~`0Yg98yhLh{01-* z_##lox;YHI4$L4xU4uQG_+DTg@OxmbYYEhv3RbCNk6&0PX?du7*3lumRo=ncb)nDa z_1~krdmiCES>ccGJ}v1fW6b(cHw@m&0TxJlN7Crf_bwTSWe>RD8SN002ovPDHLkV1fn&sS^MI literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/65.png b/resources/skins/Default/media/Circular/65.png new file mode 100644 index 0000000000000000000000000000000000000000..2ccd3da427a04823b516ae6f243f94f1646d3f67 GIT binary patch literal 2070 zcmV+x2| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000I#NklTZooL0EXZ3R0gJ{7Mf6!rWuMEN@>~2EDaBV6a-mBbzz1V5kXyK7D8S{-4t{s zVG$CZI#7yb7pYxT3g)ROHEq}2G|#T`bTR+N-(ouR@60#femf5g`!CFX^Ul8ioadV{ zst7=q7nSVrnCUJr_M`dz*cAX)3K`T5O96!yi^LH8}Jyg zw?R|3k=vB;00V%p8Z>1Mx%U+wpcn8?gQmQZT7M8zB(?5JgRQ=N+myRf>#j7wd{09*lUE+&f$e?0 z>uJivsdZNx>^S9X4?}j7H%`O_JEHfQW|^N_bL9c%dKl77p6iMW&>i^E!<0p-HCGEwcg5u-8kXOjJCh)mQr+; zF~;naw8b&{thNu?khrXHj5m|K)EggQoJX}aNy;T8Hs4Fy>lk;olnsfBF$UQ;eqERy zQ%j}>b`i^!{&}G!GC)sB&2oDcVp6WMB4dncm9*6{`iN{uG3@;Iabu&-?Y?GUv!mynW?4Jn4fj`5CWLy93AQZlk3B_kVB zGF%O5%7zrfAjfz+vLVIbT0*vGLn2dKpc?HMJ(rLIm@M~$)3PB2;JSHXmocU#8xj%h z%bl|>8qwmqsV>tfo*U&RN_j3THm=oGv!qQ@HY7H#)zzx9U7JxkfDsCEAm!{TRX@Kz_rDJ*h-{v+XFxalH&na@Qo3S&E08H~J9mjwxQfsa(*nLDCIY|KC2|g!7CfPn11#_~V^Q@>Yum=+n8Nx3KQ$<94bVTDxJUq30pB#3=at0%A_BvKzZw*{7kG$HFsjGa z2v6WQ9a7I$ikhneCUn3QfG>ejg^2Y8+g41+Z`QUw2Z5nQ3m;ocxKYjmZvw6xk)wlM z>094{Jb~@V+?FZ>H)8wO9pMbH6d0Ez6Z&^t;kpKXA+}O<$v97Dh7s;=*$vn=g#nQ@ z8|)^wMfjaWeIZs-mh}x_Fn+fKT#R$rp3MuuC<63Uu$L200p7;WB!pyf2#r#}>$`y- zl3tbcQmALvaYFWpqb;?tOVZ(5I8yuBQ~$lXyZsg3qZR)8?$eT8KsGr+aj@kVRP|EwoXz&v7XNGJ=~ zF7oTx5p7vHhAq|Q7*`Yl&>MIPJGw0c$AIP7JJgeH?<_@~2#k<4vlb?*xJ}^Al2*yS z-?z>fbE=?p|Cdr2QV%dt(sW5vC5@3ZQc{nAN$ip}V1=YjWqWg}bcVDCxJ1^JF|{yM zQr}wWSNFM_q@(RZlcXJzw%2~{FvheLoCPob0X-}ccv0RXRR91007*qoM6N<$f~wE4 AX8-^I literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/66.png b/resources/skins/Default/media/Circular/66.png new file mode 100644 index 0000000000000000000000000000000000000000..70e3791076cd851bb7a637c4ee5983362e0bebb7 GIT binary patch literal 2093 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/68.png b/resources/skins/Default/media/Circular/68.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9b3706da7df3b6c8afac1d0459b04ec85598b0 GIT binary patch literal 2138 zcmV-g2&MOlP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000JkNklS%_Cv9LK-MNy!JpB}**{(X=onOUu&C7Sa|skb=a8pdQSSNQinUH4yA6ilU&W z20 zMkN6_FR8WD(BXD1uew0RWsJK%1;R{L67-J5FjyMXEoJL7=jWIhyMp`C8 z`biopX;_D+K{1SbCRAm#(WSs-tq(V2JQ#m1bz=(x4aJ2F{VM%ZpYwr+W&}xq)V-1xY@+1-t+-(^C-5aNHK?`%}?D>egW^O<$^gA3HOXx&#FSWMrHnD=yreyj!N){Fvf;2}xF|?QL_rG1 z5yx=XMnST{HHY+zf@DJ!q+mD;68j+;fZeiv(jn;im_rIi6eJslIfiSEf@DJ!q+mor z3Pu#9V7Lm>7zN3Op^o9|qafMfnnU(QK~kn|f@+*&@R&m~V4B?Xo(#FK6Q2YYb9ZVy3LxRZ9LA8f>fTeb09_KS@G;fc+kc{0q!X!RJB)EcX;+2T2=3z&y{y znt>Yw`&?Lnhk%Qo?`T>j2^##bZ#WFx6wvQNf*q^+%k$lA43Y3q>>w$DU?8vqg-h@o4(Z4qT*s;c7<)5tB%z@IUjY*`G1e1oUGWHhqqdzn28_ts z@X;jydfNFgbHgtKcBb#!3Vk{b+?AIDBY{6Ebl@ED4t5PwE^{l`eue8C_~qC`-X9n+ zf=j1%D`7YA0x%?Hn+^5@SdHIF)R$vDS=AZcf$h!v93I>q7l6-!6~I&i9HWZ8ocKZD zEh^8|omoSm)>N<}0^84cNzy8XUx0T((k@9mWRE&JE~!OQbK7r=q#9j%b$910yvHg0 z_1$MBJ!Onp7b?QwWj1h+q;-hKw|Lr^OhvUDB1+wC}ZXpgqlWc3SR?-$@%$W?+?vg?X(h=;u^PQ3=w>=Xjg}m@&zpMbY zlIn`KbE$BGbOu|Y-Xbf`4Uz^*8q~#ajilC2Pot!IN&DJ<>y0rj8N1-ce*u0T@bpV$ QY5)KL07*qoM6N<$f|lsz6aWAK literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/69.png b/resources/skins/Default/media/Circular/69.png new file mode 100644 index 0000000000000000000000000000000000000000..439eaa64ab991096052d9ef720125460776e0d5a GIT binary patch literal 2158 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/70.png b/resources/skins/Default/media/Circular/70.png new file mode 100644 index 0000000000000000000000000000000000000000..249eee6d7f2e7226c810cda3ccd35365cc6a8faa GIT binary patch literal 2179 zcmV-}2z>X6P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000K2NklYlxLa7{~vktr=xhYNAD9nTlkjVQ89Ub}v&%vVu&4E|}q$v@c;|B@}(hA_}9T z4`!gDX%wM!!&;4~To8A)q7rRaT_v^Fbo=#T&cyode|7VE41M#NaZw3nqiEo4{5YW zg7lL#SkjQPPx+s(kaSMqZ2y+@kTK?+z;=rdPzPKOECYTC+_$^{^v*iQnguYx7+^8* zeIQZR6Xz{q0EPoA0*JB=7?yQBg#ow<*ifY?t-z$LV<`;S=ImywYs&Tmmu4MHp#XXT z_XEFGD9ScspAsHm0PtCbqO2#5zQP0a0bZ+6l;^YdzmQ=2mdAkO6^JrBYyS%iFcmwJ z^5G~jK5O3#3os05@)YHF;KHnZFDxZdd~3>wS^HgRu+5impK@K+eis^Go~IyNh)*7q z13UV9-BXmiv-Z2tVCN~HdkC_VxN#y`urqp}WtMqa`&@W{*&c$l5ZAhr1?Ua@;33MA ztbHy#z%3qv90AVD+UG)p9d&K=5GAg2B@On;qbu)c?Qf3&c-N!ZIwNa;3lDbVge%iJ zzSk>Dr;Cg+rb*IP$K=yHeu;u4%NoaYcM>1`yBsDlD9}xvfhux0pq97>| z1<4tE9McVof~13M4e1vJNrxy%&Ttka&O=fFdu00$hor}14apf%kaQU0nC?&%Bpsq4 zIU@>^Gom0l!&Q*xC`dXCc1+h81xW|j8nQhKk}#zQRHGe}#~P9XljVMKS`;J&TsJT5 zFvhe-K@tRexO4g`6Ixt1)%~}{{&HXu5c=N2!s5A6?ixutts7%T(ilm1Nt!8XcI`D6DS(xZWqBCr+m(^^jz*3XZ?@?YV4Pz)0<0?kZs%d|tB!g0 zmh?mr?+XUDfAzUVuItU%*mKrDdDN0CtB#;x0JnP7j>EvYr!u&}!(crSCzmBk|Dm^f zl;2_(qXU3852KGHA8Ks?Jm67o&Dh;2PKMw1FnjpZnJo0k0N}}l;>|VKb-p(|%W7sN8Px#|o*DJHo6>;!o@G=| zrL74t(KE9)U_#)Sa|>`2(C%4AldH{ixo3uZflC6#oLjJKRR=xGW?hJk`NsJ#o%ValjK`00A^~@aX6?TPdzOc=dZ_Q`}t`6CbryY2S96fo&KI!|kikJZQk=5uD7)95+Q(QR?tj4|;HIt4XJFlp8z*0^FSS#>Ir~}QM&PUfKGp#@ z051c-2J{tRDS-wm!I}tcbF)~|qEI%=XqWV@q)oC{=IxWTx6{vF`v0rDJHNtvw8Fo> z`>3P`jWH`i84TWL1NTUJMNEPE0Uu{s@?{(bR$CzpOd`T2>;*dZ&x8cCatG3^0uS558&=?rkX zY^@n3X@I1GC;2&0wpJbL^l6sVC~14?XQMHuHRTYz_!pRSH?{g%75D%E002ovPDHLk FV1iRW^?U#T literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/71.png b/resources/skins/Default/media/Circular/71.png new file mode 100644 index 0000000000000000000000000000000000000000..cc4eb9062815b426c1b030120d4423bf219b27a6 GIT binary patch literal 2205 zcmV;O2x9k%P)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000KSNkl>x))J9LK+tm$WoW(^4z4#C;Lk4KJxkX_N`3gcJtZ1-jq`=`To(jPz9&-Rw=h z&>#s-ODM%IP+kI4Np{ywD8+SmQ!>}o)IPnK=c%XF-JN-!InO!I+4;cXS!K@5?>FCb zX3m-Uof)H?0GyL_vcu6LsiEYkH^v-G%}57K+6IIIz%gl)qz#hROZwgzb0Ima{OO5; zl+q??qpUbvj4`LfTIEkq7o?OwC4C_)&PHR*@yf00!4Q^Hz{|i@Y5P^P1Qw)7E3g>o zo3?*7M?!)WX#ySta?`{oPQro|*#+E}q#wCa94hYAeb_ANIb+P>&>2TT%BMxr9AnJ( zkeTL5kb#nhNg7^ql>U3Hq^koL`qtf;#Hvo47TPhUgI4~t`UvdMsIeU=GnzCcSt!ev` zD}c*@CxAm`in5>Br-TQ%7Wk@6Q8p2uzQP0a1>PxBl-JU>KbK(pmW9CiGDMl5w*9#U zn2vpt^5HBnF>Tv(3or_3^c3YNa6{U*=azyfzIV!JY1^G^u+5impK@>7cIO&kk*6R# zi8GJMfqnXV*He^7)3!U;VBb@|_7J3r7&wtE*f)BgVU|T{+njrV`5uC_634od1?UCr z@epNM+BWANV1|bvr+`6e+nj5#PhDF*M2X{ENrRnvbmfz@?d=f&YdxB+{%PBrd$55M zuFNW)cUhW7=NV&6qolo#$!8b;h=L@`ddGAR6Q_EU2e`|l*_tfHJ0xj#OFHD3c8(MU zNfcuYvS0kVFegb{A_cIMSgs6?6D0`)^pVsmw@)D^$0jRbj4|gV?Q=|C7X_&fM;y~d zL8?R)Bx5u?rn@c*QXO3HkbzN<>JSCV7|w#k_mC=p{bc(OhotA?9g;DkAk|^GW4e=3 zkm?Wx$rw?Pj1dLN7_Ne}L_w;!57M<1+d?FDVCdh--7zDrv|6{s-9XsAN6yJ8LI! z|GaH=@to35eT`!|b&~D~YIzO;>SULub>ZTmY+xX8+ELNBgIb?MfR7yOvK{ExStcJl zW^#_$xpxXM&aoZ=)|H;y@jYa%W0}1ry&A;&oPq6MeO8g{JQy432b}OwcXGuZ&cZj`+m&FW7|x_IlLcQkP7J6_j&jZt||y2EdaZ_11!oMsdn`sYk|# zfuRZent6aBg}QKMfluZGuxkXmvJL2+pud?0yFAl39`)6T9hUbhGTx zAinQeSN_dB&>Op4whujSr8HoPXB};)+y^0GmS{%yAfDxe#n2a62^5F!P+@2W) z+f4c18E1g;p$%E+X++VG+1=-!eXz~<68!rNfX9k+oQ=M5wsIt7fxe-Zj3?bzLyGauiD9VmPXzu}Nl_Tf5K z6~NeWKwFuHg1zE0Il+Z(nrGrSYTJ=EU}UuoucNXZGtXd$`s=D{co$$Vv~3mm1n?Vh zPg)L);L-tgzHGv-nv+V$kG;5D=fJySAJx7yF5%1|>_k-v_5e=wWM_0 z(&TBD-Qa#_$V`L34;W*%%3h7HOCogs8DW#8aiPUX9AFYQ7C0|#r`88dv9VsSP~Hxi zS)mb_OAU|5T?B9wuoC~F>ojQr7T_C@P)lHgx))y(~z)NK1y`mam2k&N6{?^!` zX$RI}_fYRTyfZ;E(Ix_8CC!vHP0|!e)!I*^Rnn)j-)C$!#+<2Axt)>;K}rEGmo#2h zoN1CKN(#B>-vLB-Iyw f8!r0vIAi<+;sa!V&e6n!00000NkvXXu0mjff#VI} literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/72.png b/resources/skins/Default/media/Circular/72.png new file mode 100644 index 0000000000000000000000000000000000000000..b276cef75d5df191b0c3e957de27e4ca5dfef537 GIT binary patch literal 2210 zcmV;T2wnGyP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000KXNklTZmOv9LB$;j%6{WRx@Z4S*Apksc5AYYGqoK5>ga+At=ZcpX$XZGcbyvs278t zBD4n!FH=S-b^#j=tkldIttdsCF~@Yq)JFUDu+GWTQD@dVXYI51*|UGJafEf&{{HJ@ zuf5mZC?x=$lG=-|7D-J7*Dhnsq1Z$^VB!`K3INBXdnB!vv`W&~#+cL5sq&{M8dAtX zNo!@zS#OLv9#)k8H({*v^mtT}6qF>U3m>cJ3}W57$mC2_}9wFEXKPb;th=o@!@ zRYydIFaX1WefNSH9B~<{u zfLXxa5>44j_D%^8a5?aKiKaA=eSL)o=nE_>(Ue!>)}KnS@0O>5Qze)(J8u1{1-J|Q zCFR3O;MTacrxsus(Clf-@4%3_wWpSxDZWq2M{(;;HQ4IQ_nk5^Zr!N{nD1%G7P67Y z=)it`z3pkr!*T0QHQ08_7aoS}A)7c6E!Y;lPdCf_xHYF9V77-Ltz>;&(E{`azV|R? zN!*%K4=~lkkYm8WxHYF5>{r(Y4^y&!uBgF|Ji78>+l0F&8B!TCLlTCwAz3@50$`VHA9YCDnLQy1BQvBj40cS{o*7aZ zGD8wZW=O)w3`rQShO}gcRE9y0>6-dgybTlo{ed?lmyI+k}=glj?x+9*@<~NYtkg{3gncm(KKMZIN`?@jg={ zQJ+p+tE*N?o28r~#+Xx*K6CtWwxrh`*XnA`S;uAob3Gof+rn#47r+RQ^1T0C84U8s zpdp4Bs|w(K$Fl4IE<9f*TRlt}UEvt324Jj5Ij$`HZE;`LGLQQ%Dqni~z<%ob>>_vm z$=KLdyU%U}HXLe;Xwwt*}g593!OONtu_AW2r zIgc9vyc|)yi3Yos#yg&6HM5i(^~dii`3IOBLClE;SmBvyAR6_olx42_B*cwBoUSReySx&Dsz*z6kiy^TvmPu>s;vBsnvF@+_16z?Go{ zjKpr2?ZXjLxV<*En(}=zP5|RV3-Nt<0UQPH2r48duwPRP@qcFkJQkIpk4q5K2|N#U zI|nSOVA~nKpSF3HMk%b0(vO^L1cpZ@E+TR|H>%jW8j*Ki1h?pHQ$F{uWd00sr2j|UVmooqTLbEW9|8mew%2$L z;5vQ3RLurEiERmfJ5hJVYAW^4=nm{yz@|Wf<=Fwej;+rx4xq6HxEpv2_${#3r3Ct# z3RXp6+ZoSFdQnp7Hb9oRQTh&PfB{+7_&T7hQaG> zY{%kzlCBS(cfvRzd%*pckeLQ=v>0QyN*W{SjnH`~hz3bxLz@vf*u^TPo+X<^8Yy=? zBW|!GkFQ}TLsToxz)Y&3hrt*<{l5__G9t(UKpbWiS@B)0{qA!wDfMs|JQh9oTcj@^)A zu=VvgoiXSZNg+=T*ez?oDoLBqTDcT6i8G`a;8NKQ4C*A+=dQYdH?_b07*qoM6N<$f@tsqjQ{`u literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/73.png b/resources/skins/Default/media/Circular/73.png new file mode 100644 index 0000000000000000000000000000000000000000..d73e0a8fe2b6075eb3da4d4be191609689d71ff3 GIT binary patch literal 2251 zcmV;+2sHPJP)| zJ3s(Z*Mye}T4wwIC>pAa;VaqK$@gE(s)vnPqmq{q4@MI}3Itp(c$= z4EazWvHOAqDw&Ei;|e=OD&|0vj-gk7-`4wbMP*OS8X za@@&8MlIaOdP#jGH9se@UAzqgKNI+HF~u084A950%meh`rB_yz$@k>)XIYh8Rc4KK zbXJHFCr!7g8L1wT7!^GtBf+}W|G#}TqW#`{^?Dyvy_n`l2RL>hyKS1^$EKM*fr@9i zN)_{0k6`Fi^zEYNJ_P3`TwE8m&>mcFLF0gpJ)Q-F)&R4000SaNLh0L01m_e01m_fl`9S#000K=NklYlu}v0LTBcK3XFyv((hEO-m_^v^FY3dSNM)evpJ9dy$k63?llN81(v3R1k%I z>O(Ig)<+njSw{E>v9!$Htf)-gwbe*XZL?n==3c#Rx;u04oOA9ycYbi#yUW~}|D6BM zd(IrAoB(u5I?(NEm(*HvZ8yerW+u`BleK_Q05}HSA!(_k7D?-jF~^cqpLPCf zj)V*;vICd} zLk3DZU()cBtMvEFC7m5O*}o(`XpDIyaJ=~k=m*>cyafCdxNUh3=#zCGYZkx&6M#j) zmw`-KK^(V)0k{NsGk_`EfH7I;CpQ3B0;?)CWgl>T)_KVd*y`+7Dyzymfzes#C076q zz}>(vWty^$*rtRBI2ZV&OjA}6dtc!J`U9_)Y09%%>(3?Fwq+jhcNwP4&RTzN0dB_j zq&`X6d{09*5?3CR z1Kaz0&C`@Sv(}w!u;Y|ZJq+1F+&Gae*b%+YG|T*~HRm2+wud1d#JR3y0r~)6d6=>| zYt6X_xXr_mL%=y%YtA*;Ue{_5Q{p^V(qLB}U3ouiy>$WbmPfTUAZxw32fJ~?mD`Ko zYsgY`o-xL>N!sEVe0uRiG$dJC9K+o~TaV;vVl>+F-J!~45~hd0B<|q%Y#7UsUmsbF%k;@0g;mcG<)2~ z_e#IpeeUXIk96l%EyShH7$ensKHuee9uN|E|3S3%o4sr%C)uVJAq_<%N@Q_D@ z>xn(C<6sXC*y3^j7P&-v2JpK_q>m<_)!G2K$K$@WV|SxCMf|)+#D{^46V7YZ1Dpr! z^tf+xeIg$Xba_O+7O30hVC?ZsYd!8)8+KaWE0M(>2>>ieD8E$=wj=bq=e?R)PD1^G ztsaSV0n-x5b5#Q@^fY5VYZ*8=}|3g`gF1rbn1V5=$Ll5qsM zI=68WUZu1E z6H*cD3AU}6hTp7hclH8JX$v0#{7`{tfMq~)s=|8!yVAF&!aV&3WV3$_Xaat%FarQ9 zGs}dIk1Jf)zN0@ddv>Yi9iT5U#e0A~U3 z1j<;EHsD3G+vM%G}bTOPyivZz(sfSKg!WnRGPz$3u! zOmD3p?Z8}oHzd>&zyR#4=E{97b{ZT6o*;v9MP@}1I~{+oq&bo%W~HNqLy|s}-D|tT z7_&bM5miwq0>dOtk$vuDilnq&1JogDne6i!tBo;7QcCxfRD~g>VD}0)%bIgr;d4lx z-^m)#B58v$=2*bEE2ioU=?*Yh(r8J;Bn>V69Cni5`%5~|?P{0QDrtM+XR9%0U&>kV Z;$IQce_gx$wEX}8002ovPDHLkV1mvY4f6m1 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/74.png b/resources/skins/Default/media/Circular/74.png new file mode 100644 index 0000000000000000000000000000000000000000..4dfe679c924861d42da5a22aaf3c71dfe495bc8d GIT binary patch literal 2247 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 R+KvDK002ovPDHLkV1kv840iwk literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/76.png b/resources/skins/Default/media/Circular/76.png new file mode 100644 index 0000000000000000000000000000000000000000..1beb5b9614de6922b7e80e91a15e0c06425ab944 GIT binary patch literal 2243 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 KMNUMnLSTZ@5il$O literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/78.png b/resources/skins/Default/media/Circular/78.png new file mode 100644 index 0000000000000000000000000000000000000000..c226beb59325fdfc13d39a45325054b57e7272e1 GIT binary patch literal 2245 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/8.png b/resources/skins/Default/media/Circular/8.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4516fc4c4c0746d55b8494120b21684f44753f GIT binary patch literal 838 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu51DvxiH+HT;o|}UDbEocT%^? zbI*0FUZtliE)R%h&)_;Ba=A`r=b86SZJvCqU!|=(n095mliZ$ZPjpTmS78q=y_>U2 zZn30uf_TNfua$Cp+qfiu^Sog^9XtQ^#jG6@Hm*Nl{U9~^`HSD?DN*w$?OC;Ix8=Ku zDwSsMdFOTPH9O_8NAa?S|EAc`@5NF7`R`3Qd2dUo+a#V_w^p!rdrtc&wc2x=Te9)V zLp|AYp;rr=B~96Q8cH9S7I5A1|8aO1v)Qh5ccl+-C$L-m^jDPMb?!#=0ksYGyF?l8 wH%whu{8erP+aC6NWpiC8sd$ox{=F3EpTB}5!&YQ6FeVs0UHx3vIVCg!0Moy0h5!Hn literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/80.png b/resources/skins/Default/media/Circular/80.png new file mode 100644 index 0000000000000000000000000000000000000000..21a3f64c30d7530534ec00c1e545d0ee6fd5362c GIT binary patch literal 2283 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/82.png b/resources/skins/Default/media/Circular/82.png new file mode 100644 index 0000000000000000000000000000000000000000..acfb5c7920c63ea3c5870e868477db91aa9158b0 GIT binary patch literal 2357 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 b`X9| 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/86.png b/resources/skins/Default/media/Circular/86.png new file mode 100644 index 0000000000000000000000000000000000000000..137071ed46407b4f033f5d0c1e973ef2362b03d8 GIT binary patch literal 2444 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/89.png b/resources/skins/Default/media/Circular/89.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e59c871eabf8dfc15737f6051976b228deb3d2 GIT binary patch literal 2529 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/9.png b/resources/skins/Default/media/Circular/9.png new file mode 100644 index 0000000000000000000000000000000000000000..54096f1a135d37739f15c422a90fd76ef8a2d5a0 GIT binary patch literal 844 zcmeAS@N?(olHy`uVBq!ia0vp^DImQlN>#w#dw{dNgdMFrr`SPL3 zhc0Jlo_!SiP|Q@0hkHJE`RgLbht=NvPk)|$6fv(}=bGq$jT^IDVmAu$P2C`Mee$7C zMR!iRxarh&ci+L^_-*ATc%Y&uiVN*_ifAT3ka%xOy zT5oAdScjmx@AegvE9E9ih}tSCAKZ2I|NdIjMSt(re65lX**oKzJG(`h!tUHz_m3}| zY1`P9zQarOb9jHki{LMB7d^9Md9D@{Bfj;5Tuh$h>&aqQnk`p4-I41(^jp$|Wx-Fe ztm&U@wcix~;yBe-bCvgvyu*N&e6sZdcXLF~xtPA<=d}->n@z9&H-Ejw_c@dL82+j5^!)VvrDaUGr{Cn5 zX+dmPXURCOynA2?L(hj>v6H%0(tW1}t&7gh3Hw;Kzd`mv@moo&)E);Z<_8=<7{6ql zH~y+7aAL#$1O5q1zr_S+A8Ist*T9^x@mo#s@}&+^<_F|91XQ0}d9g^LH#=eVS<7d) z{#3B9RhyY#+!$%y-t$`H8Nc{$^0n}3$EeFDcUFTA?9P~Cyitip!lU%g@vt~qvF{vNO-*dgn{=+GkNh+SCpp|XxFO0uD{!%jaEHFM8JYD@<);T3K F0RUmYc0m9D literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/90.png b/resources/skins/Default/media/Circular/90.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf4f27d7105499b9acd45bf1fc9ad7bcd6c469d GIT binary patch literal 2548 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 KMNUMnLSTYvK)9j+ literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/91.png b/resources/skins/Default/media/Circular/91.png new file mode 100644 index 0000000000000000000000000000000000000000..e4218cd3edd2152a0e2a875692fa23ee02de669d GIT binary patch literal 2571 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/92.png b/resources/skins/Default/media/Circular/92.png new file mode 100644 index 0000000000000000000000000000000000000000..775f8b2ddd7535d0184a3a67088fcd5441c50f85 GIT binary patch literal 2589 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 QCIA2c07*qoM6N<$f*7ygeE| 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 literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/Circular/99.png b/resources/skins/Default/media/Circular/99.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a1ce71b4f9010aa0fe9c315d112bf9405a1386 GIT binary patch literal 2659 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 RGM)ec002ovPDHLkV1iFf{Ad6G literal 0 HcmV?d00001 diff --git a/resources/skins/Default/media/search.png b/resources/skins/Default/media/search.png new file mode 100644 index 0000000000000000000000000000000000000000..c84aae76ef29cd6802111cc5de642f93d9776784 GIT binary patch literal 3270 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 literal 0 HcmV?d00001 diff --git a/specials/globalsearch.py b/specials/globalsearch.py index 3aa5eb15..1ed1d897 100644 --- a/specials/globalsearch.py +++ b/specials/globalsearch.py @@ -22,9 +22,7 @@ close_action = False update_lock = threading.Lock() -def busy(state): - if state: xbmc.executebuiltin('ActivateWindow(busydialognocancel)') - else: xbmc.executebuiltin('Dialog.Close(busydialognocancel)') + def set_workers(): workers = config.get_setting('thread_number') if config.get_setting('thread_number') > 0 else None @@ -150,7 +148,7 @@ class SearchWindow(xbmcgui.WindowXML): if not self.thActions.is_alive(): return time.sleep(0.1) - yield self.searchActions[lastLen] + yield self.searchActions[lastLen-1] lastLen = len(self.searchActions) def select(self): @@ -632,7 +630,7 @@ class SearchWindow(xbmcgui.WindowXML): self.close() elif control_id in [RESULTS, EPISODESLIST]: - busy(True) + platformtools.dialog_busy(True) if control_id in [RESULTS]: name = self.CHANNELS.getSelectedItem().getLabel() self.pos = self.RESULTS.getSelectedPosition() @@ -642,12 +640,12 @@ class SearchWindow(xbmcgui.WindowXML): if item_url: item = Item().fromurl(item_url) else: # no results item - busy(False) + platformtools.dialog_busy(False) return if item.action in ['add_movie_to_library', 'add_serie_to_library','save_download']: # special items (add to videolibrary, download ecc.) xbmc.executebuiltin("RunPlugin(plugin://plugin.video.kod/?" + item_url + ")") - busy(False) + platformtools.dialog_busy(False) return try: @@ -713,7 +711,7 @@ class SearchWindow(xbmcgui.WindowXML): self.setFocusId(SERVERLIST) if config.get_setting('autoplay'): - busy(False) + platformtools.dialog_busy(False) else: self.episodes = self.itemsResult if self.itemsResult else [] @@ -737,7 +735,7 @@ class SearchWindow(xbmcgui.WindowXML): self.EPISODESLIST.addItems(ep) self.setFocusId(EPISODESLIST) - busy(False) + platformtools.dialog_busy(False) elif control_id in [SERVERLIST]: server = Item().fromurl(self.getControl(control_id).getSelectedItem().getProperty('item')) @@ -764,11 +762,11 @@ class SearchWindow(xbmcgui.WindowXML): def Close(self): self.exit = True if self.thread: - busy(True) + platformtools.dialog_busy(True) for th in self.search_threads: th.cancel() self.thread.join() - busy(False) + platformtools.dialog_busy(False) self.close() @@ -793,7 +791,7 @@ class SearchWindow(xbmcgui.WindowXML): def play(self, server=None): - platformtools.prevent_busy(server) + platformtools.prevent_platformtools.dialog_busy(server) server.window = True server.globalsearch = True return run(server)