import sys
l1l1l_thegroove=sys.version_info[0]==2
l1ll11l_thegroove=2048
l1l111_thegroove=7
def l1llll_thegroove(l1l1l1_thegroove):
 global l11l1_thegroove
 l1l11l_thegroove=ord(l1l1l1_thegroove[-1])
 l1l1111_thegroove=l1l1l1_thegroove[:-1]
 l11l_thegroove=l1l11l_thegroove%len(l1l1111_thegroove)
 l11lll_thegroove=l1l1111_thegroove[:l11l_thegroove]+l1l1111_thegroove[l11l_thegroove:]
 if l1l1l_thegroove:
  l1l1l11_thegroove=l1l11l1_thegroove().join([l1111_thegroove(ord(char)-l1ll11l_thegroove-(l1ll1ll_thegroove+l1l11l_thegroove)%l1l111_thegroove)for l1ll1ll_thegroove,char in enumerate(l11lll_thegroove)])
 else:
  l1l1l11_thegroove=str().join([chr(ord(char)-l1ll11l_thegroove-(l1ll1ll_thegroove+l1l11l_thegroove)%l1l111_thegroove)for l1ll1ll_thegroove,char in enumerate(l11lll_thegroove)])
 return eval(l1l1l11_thegroove)
import base64
import hashlib
import os
import sys
import random
from Cryptodome.Cipher import AES
import inspect
from datetime import datetime
try:
 from zoneinfo import ZoneInfo
except:
 from backports.zoneinfo import ZoneInfo
try:
 import xbmc
 import xbmcaddon
 import xbmcgui
 import xbmcvfs
except:
 pass
class Token:
 def __init__(self):
  self.name=l1llll_thegroove(u"ࠣࡲ࡯ࡹ࡬࡯࡮࠯ࡸ࡬ࡨࡪࡵ࠮ࡵࡪࡨ࡫ࡷࡵ࡯ࡷࡧ࠶࠺࠵ࠨ࣏")
  self.token=l1llll_thegroove(u"ࠤ࣐ࠥ")
  self.l1l_thegroove=l1llll_thegroove(u"ࠥ࠷࠸࠸ࡓࡆࡅࡕࡉ࡙ࡧࡢࡤ࠳࠵࠷࠹ࠨ࣑")
  self.l1ll_thegroove=l1llll_thegroove(u"࡙ࠦ࡮ࡥࡨࡴࡲࡳࡻ࡫ࠠ࠴࠸࠳࣒ࠦ")
  self.result=l1llll_thegroove(u"ࠧࠨ࣓")
  self.l11lll1_thegroove=0
 def l1l11_thegroove(self):
  __caller__=inspect.stack()[1].function
  self.l1ll1l_thegroove(__caller__)
  l1l111l11_thegroove=l1llll_thegroove(u"ࠨࡅࡶࡴࡲࡴࡪ࠵ࡒࡰ࡯ࡨࠦࣔ")
  l11llll1l_thegroove=datetime.now(ZoneInfo(l1l111l11_thegroove))
  l1l1111ll_thegroove=datetime.timestamp(l11llll1l_thegroove)
  return int(l1l1111ll_thegroove)
 def l1l1l1l_thegroove(self,l11l1l1_thegroove):
  __caller__=inspect.stack()[1].function
  self.l1ll1l_thegroove(__caller__)
  l11l1l_thegroove=self.l1l111ll1_thegroove(l1llll_thegroove(u"ࠢࡪࡶࡨࡱࡤࡶࡡࡳࡵࡨࡶ࠳ࡶࡹࠣࣕ"))
  l1l1ll1_thegroove=len(open(l11l1l_thegroove).read().splitlines())
  l11llll_thegroove=l11l1l1_thegroove%l1l1ll1_thegroove
  self.l11lll1_thegroove=l11llll_thegroove
  return l11llll_thegroove
 def l1l111ll1_thegroove(self,name):
  try:
   __addon__=xbmcaddon.Addon(id=self.name)
   if sys.version_info[0]<3:
    cwd=xbmc.translatePath(__addon__.getAddonInfo(l1llll_thegroove(u"ࠨࡲࡤࡸ࡭࠭ࣖ")))
   else:
    cwd=xbmcvfs.translatePath(__addon__.getAddonInfo(l1llll_thegroove(u"ࠩࡳࡥࡹ࡮ࠧࣗ")))
  except:
   cwd=os.getcwd()+l1llll_thegroove(u"ࠥ࠳ࡹ࡫ࡳࡵࠤࣘ")
  path=(l1llll_thegroove(u"ࠦࡷ࡫ࡳࡰࡷࡵࡧࡪࡹࠬ࡮ࡱࡧࡹࡱ࡫ࡳ࠭ࠤࣙ")+name).split(l1llll_thegroove(u"ࠧ࠲ࠢࣚ"))
  l11l1l_thegroove=cwd+os.sep+os.path.join(*path)
  return l11l1l_thegroove
 @staticmethod
 def l1ll11_thegroove(l11ll1l_thegroove,l11llll_thegroove):
  try:
   with open(l11ll1l_thegroove,l1llll_thegroove(u"࠭ࡲࠨࣛ"))as f:
    for line_number,line in enumerate(f):
     if line_number==l11llll_thegroove:
      return str(line).strip()
  except Exception as e:
   pass
 def set_token(self):
  if not self.l11l1ll_thegroove():
   return None
  try:
   l11l1l1_thegroove=self.l1l11_thegroove()
   line=self.l1l1l1l_thegroove(l11l1l1_thegroove)
   l11lll1ll_thegroove=str(len(str(line)))+str(line)
   n=(6-len(l11lll1ll_thegroove))
   l11lllll1_thegroove=pow(10,n-1)
   l11lll1l1_thegroove=pow(10,n)-1
   r=random.randint(l11lllll1_thegroove,l11lll1l1_thegroove)
   token=str(l11l1l1_thegroove)+l1llll_thegroove(u"ࠢ࠯ࠤࣜ")+l11lll1ll_thegroove+str(r)
   self.token=base64.urlsafe_b64encode(token.encode(l1llll_thegroove(u"ࠣࡷࡷࡪ࠲࠾ࠢࣝ"))).decode()
   return line
  except Exception as e:
   import traceback
   traceback.print_stack()
   print(e)
   self.l1111l_thegroove(l1llll_thegroove(u"ࠤࡉࡳࡷࡨࡩࡥࡦࡨࡲࠧࣞ"))
 def set_result(self,data):
  if not self.l11l1ll_thegroove():
   return None
  if data.headers and data.headers[l1llll_thegroove(u"ࠥࡘ࡭࡫ࡧࡳࡱࡲࡺࡪࠨࣟ")]==self.token:
   self.result=self.l11ll_thegroove(data.text,self.l11lll1_thegroove)
  else:
   self.l1111l_thegroove(l1llll_thegroove(u"ࠦࡋࡵࡲࡣ࡫ࡧࡨࡪࡴࠢ࣠"))
   return None
 def l1ll1_thegroove(self,text):
  __caller__=inspect.stack()[1].function
  self.l1ll1l_thegroove(__caller__)
  return None
 def l11ll_thegroove(self,data,l11lll1_thegroove):
  __caller__=inspect.stack()[1].function
  self.l1ll1l_thegroove(__caller__)
  try:
   l11l1l_thegroove=self.l1l111ll1_thegroove(l1llll_thegroove(u"ࠧ࡯ࡴࡦ࡯ࡢࡴࡦࡸࡳࡦࡴ࠱ࡴࡾࠨ࣡"))
   l11llllll_thegroove=self.l1ll11_thegroove(l11l1l_thegroove,l11lll1_thegroove).rstrip().lstrip()
   if len(l11llllll_thegroove)<32:
    l11llllll_thegroove=l11llllll_thegroove.ljust(32,l1llll_thegroove(u"࠭ࠠࠨ࣢"))
   if len(l11llllll_thegroove)>32:
    l11llllll_thegroove=l11llllll_thegroove[0:32]
   l11llll11_thegroove=str(hashlib.sha256(l11llllll_thegroove.encode(l1llll_thegroove(u"ࠢࡶࡶࡩ࠱࠽ࠨࣣ"))).hexdigest())
   l1l1ll_thegroove=l11llll11_thegroove[:16]
   ll_thegroove=AES.new(l11llllll_thegroove.encode(l1llll_thegroove(u"ࠣࡷࡷࡪ࠲࠾ࠢࣤ")),AES.MODE_CFB,l1l1ll_thegroove.encode(l1llll_thegroove(u"ࠤࡸࡸ࡫࠳࠸ࠣࣥ")))
   result=ll_thegroove.decrypt(base64.urlsafe_b64decode(data.encode(l1llll_thegroove(u"ࠥࡹࡹ࡬࠭࠹ࠤࣦ"))+l1llll_thegroove(u"ࠦࡂࡃࠢࣧ").encode(l1llll_thegroove(u"ࠧࡻࡴࡧ࠯࠻ࠦࣨ"))))
   if str(l11lll1_thegroove)==str(self.l11lll1_thegroove):
    return result.decode(l1llll_thegroove(u"ࠨࡵࡵࡨ࠰࠼ࣩࠧ"))
   else:
    self.l1111l_thegroove(l1llll_thegroove(u"ࠢࡆࡴࡵࡳࡷ࡫ࠠ࠵࠲࠸ࠦ࣪"),l1llll_thegroove(u"ࠣࡋࡰࡴࡴࡹࡳࡪࡤ࡬ࡰࡪࠦࡃࡰ࡯ࡳࡰࡪࡺࡡࡳࡧࠣࡐࡦࠦࡒࡪࡥ࡫࡭ࡪࡹࡴࡢࠤ࣫"))
  except Exception as e:
   self.l1111l_thegroove(l1llll_thegroove(u"ࠤࡈࡶࡷࡵࡲࡦࠢ࠷࠴࠼ࠨ࣬"),l1llll_thegroove(u"ࠥࡍࡲࡶ࡯ࡴࡵ࡬ࡦ࡮ࡲࡥࠡࡅࡲࡱࡵࡲࡥࡵࡣࡵࡩࠥࡒࡡࠡࡔ࡬ࡧ࡭࡯ࡥࡴࡶࡤ࣭ࠦ"))
   import traceback
   traceback.print_stack()
   print(e)
  return None
 def l11l1ll_thegroove(self,skip=False):
  files=[l1llll_thegroove(u"ࠦࡹ࡮ࡥࡨࡴࡲࡳࡻ࡫ࠬࡵࡪࡨ࡫ࡷࡵ࡯ࡷࡧࡢ࡬ࡹࡺࡰࡤ࡮࡬ࡩࡳࡺ࠮ࡱࡻ࣮ࠥ"),l1llll_thegroove(u"ࠧ࡯ࡴࡦ࡯ࡢࡴࡦࡸࡳࡦࡴ࠱ࡴࡾࠨ࣯"),l1llll_thegroove(u"ࠨ࠮࠯࠮࡯࡭ࡧ࠲ࡰ࡭ࡷࡪ࡭ࡳ࠴ࡰࡺࠤࣰ")]
  l1l11111l_thegroove=[l1llll_thegroove(u"ࠢࡢ࠵ࡥࡥ࠷࠹ࡥ࠸࠵ࡧ࠴࠽ࡧ࠶ࡧࡥࡨࡦࡪ࠼࠱࠴࠴࠶ࡧࡪ࠺࠵ࡢ࠷ࡨ࠻࡫࠼࠸ࡤࡨ࠻࠹࠻࠷࠲ࡥ࠴࠷࠹࠽࠻ࡦ࠺࠸࠸ࡦ࡫ࡨ࠴࠴ࡣ࠳࠴ࡨ࠸࠴ࡥࠤࣱ"),l1llll_thegroove(u"ࠣ࠺࠸࠴࠺࠸ࡤࡥࡨ࠴࠼࠶࠹࠵ࡣࡧ࠶࠶ࡧ࠶࠹ࡢࡥ࠻ࡩ࠸࠾࠸ࡤࡧ࠻࠽࠹࠻࠳࠶ࡤࡩ࠺࠾࠾ࡥ࠵ࡣ࠳࠺࠺࠷࠶ࡤࡨ࠴ࡥࡩࡨ࠸ࡦ࠶ࡦ࠶ࡨ࠻࠱ࡣࡧࣲࠥ"),l1llll_thegroove(u"ࠤ࠻ࡪ࠶࠾࠳࠴࠵࠹ࡧ࠽࠽ࡣࡦࡧࡥࡥ࠸ࡧࡦࡤࡨ࠴ࡨ࠾ࡪ࠳࠲࠸࠹࠴࠽࠼ࡢ࠳࠲࠻ࡩࡨ࠼ࡣ࠵ࡧࡩ࠺࠸࠷࠴࠺ࡦ࠻࠽ࡧ࠽ࡤࡧࡨࡤ࠴࠾ࡧ࠰ࡣ࠻ࡥࠦࣳ")]
  for k,l1l111111_thegroove in enumerate(files):
   l11l1l_thegroove=self.l1l111ll1_thegroove(l1l111111_thegroove)
   try:
    with open(l11l1l_thegroove,l1llll_thegroove(u"ࠥࡶࡧࠨࣴ"))as f:
     l1l1111l1_thegroove=f.read()
     l1l111l1l_thegroove=hashlib.sha256(l1l1111l1_thegroove).hexdigest()
     if l1l111l1l_thegroove!=l1l11111l_thegroove[k]:
      print(l11l1l_thegroove+l1llll_thegroove(u"ࠦ࠿ࠦࠢࣵ")+l1l111l1l_thegroove+l1llll_thegroove(u"ࠧࠦ࠽࠿ࣶࠢࠥ")+l1l11111l_thegroove[k])
      raise Exception
   except Exception as e:
    self.l1111l_thegroove(l1llll_thegroove(u"ࠨࡅࡳࡴࡲࡶࡪࠦ࠰ࠣࣷ"),l1llll_thegroove(u"ࠢࡇࡷࡱࡾ࡮ࡵ࡮ࡦࠢࡇ࡭ࡸࡶ࡯࡯࡫ࡥ࡭ࡱ࡫ࠠࡔࡱ࡯ࡳ࡙ࠥࡵࠣࣸ"),self.l1ll_thegroove+l1llll_thegroove(u"ࠣࠢࡄࡨࡩࡵ࡮ࣹࠣ"))
    return False
  if skip is False:
   __caller__=inspect.stack()[1].function
   self.l1ll1l_thegroove(__caller__)
  try:
   l1lllll_thegroove=xbmc.getInfoLabel(l1llll_thegroove(u"ࠩࡆࡳࡳࡺࡡࡪࡰࡨࡶ࠳ࡖ࡬ࡶࡩ࡬ࡲࡓࡧ࡭ࡦࣺࠩ"))
   l1lllll_thegroove=xbmcaddon.Addon(l1lllll_thegroove).getAddonInfo(l1llll_thegroove(u"ࠪࡲࡦࡳࡥࠨࣻ"))
   if l1lllll_thegroove!=self.l1ll_thegroove:
    raise Exception()
  except Exception as e:
   self.l1111l_thegroove(l1llll_thegroove(u"ࠦࡊࡸࡲࡰࡴࡨࠤ࠶ࠨࣼ"),l1llll_thegroove(u"ࠧࡌࡵ࡯ࡼ࡬ࡳࡳ࡫ࠠࡅ࡫ࡶࡴࡴࡴࡩࡣ࡫࡯ࡩ࡙ࠥ࡯࡭ࡱࠣࡗࡺࠨࣽ"),self.l1ll_thegroove+l1llll_thegroove(u"ࠨࠠࡂࡦࡧࡳࡳࠨࣾ"))
   return False
  try:
   l1lll_thegroove=xbmcaddon.Addon(id=self.name)
   xbmcvfs.translatePath(l1lll_thegroove.getAddonInfo(l1llll_thegroove(u"ࠧࡱࡣࡷ࡬ࠬࣿ")))
  except:
   self.l1111l_thegroove(l1llll_thegroove(u"ࠣࡇࡵࡶࡴࡸࡥࠡ࠴ࠥऀ"),l1llll_thegroove(u"ࠤࡉࡹࡳࢀࡩࡰࡰࡨࠤࡉ࡯ࡳࡱࡱࡱ࡭ࡧ࡯࡬ࡦࠢࡖࡳࡱࡵࠠࡔࡷࠥँ"),self.l1ll_thegroove+l1llll_thegroove(u"ࠥࠤࡆࡪࡤࡰࡰࠥं"))
   return False
  try:
   l1lll_thegroove=xbmcaddon.Addon(id=self.name)
   cwd=xbmcvfs.translatePath(l1lll_thegroove.getAddonInfo(l1llll_thegroove(u"ࠫࡵࡧࡴࡩࠩः")))
   filepath=l1llll_thegroove(u"ࠧࡸࡥࡴࡱࡸࡶࡨ࡫ࡳ࠭࡯ࡲࡨࡺࡲࡥࡴ࠮࡬ࡸࡪࡳ࡟ࡱࡣࡵࡷࡪࡸ࠮ࡱࡻࠥऄ").split(l1llll_thegroove(u"ࠨࠬࠣअ"))
   l11l1l_thegroove=cwd+os.sep+os.path.join(*filepath)
   if not os.path.isfile(l11l1l_thegroove):
    raise Exception()
  except:
   self.l1111l_thegroove(l1llll_thegroove(u"ࠢࡆࡴࡵࡳࡷ࡫ࠠ࠴ࠤआ"),l1llll_thegroove(u"ࠣࡈࡸࡲࡿ࡯࡯࡯ࡧࠣࡈ࡮ࡹࡰࡰࡰ࡬ࡦ࡮ࡲࡥࠡࡕࡲࡰࡴࠦࡓࡶࠤइ"),self.l1ll_thegroove+l1llll_thegroove(u"ࠤࠣࡅࡩࡪ࡯࡯ࠤई"))
   return False
  return True
 def l1ll1l_thegroove(self,l1ll111_thegroove):
  if l1ll111_thegroove!=l1llll_thegroove(u"ࠥࡷࡪࡺ࡟ࡵࡱ࡮ࡩࡳࠨउ")and l1ll111_thegroove!=l1llll_thegroove(u"ࠦࡸ࡫ࡴࡠࡴࡨࡷࡺࡲࡴࠣऊ"):
   raise Exception()
 def l1111l_thegroove(self,s1=l1llll_thegroove(u"ࠧࠨऋ"),s2=l1llll_thegroove(u"ࠨࠢऌ"),l1l1_thegroove=l1llll_thegroove(u"ࠢࠣऍ")):
  try:
   xbmcgui.Dialog().ok(self.l1ll_thegroove,s1,s2,l1l1_thegroove)
  except:
   print(s1+l1llll_thegroove(u"ࠣࠢࠥऎ")+s2+l1llll_thegroove(u"ࠤࠣࠦए")+l1l1_thegroove)
# Created by pyminifier (https://github.com/dzhuang/pyminifier3)

