#!/usr/bin/env python3
#/* ======================================================================= */
#/* Antiryad Gx - Copyright (c) Antoine Guillon - http://www.arkhamdev.net/ */
#/* ======================================================================= */
#/* This is UNPUBLISHED PROPRIETARY SOURCE CODE.                            */
#/* The contents of this file may not be disclosed to third parties,        */
#/* copied or duplicated in any form, in whole or in part,                  */
#/* without the prior written permission of the author.                     */
#/* ======================================================================= */

#Generated with GScript compiler v9.4.08.2026.07.21 - http://www.arkhamdev.net/ - Do not modify manually.

#ArkhamDev Python enhancement
endif=False
next=False
wend=False
forever=False
endfunction=False
endselect=False
endtry=False
endclass=False
endsubclass=False


import os
import sys
import platform
import datetime
import shutil
import urllib.request
import urllib.response
import subprocess
import hashlib
import tarfile

#/* ------------------- */
#/* initobfuscatedclass */
#/* ------------------- */

#/* ---------------------- */
#/* initobfuscatedfunction */
#/* ---------------------- */

#/* ---------- */
#/* obfuscate0 */
#/* ---------- */

#/* ---------- */
#/* obfuscate1 */
#/* ---------- */

#/* ---------- */
#/* obfuscate2 */
#/* ---------- */

#/* ---------- */
#/* obfuscate3 */
#/* ---------- */

#/* ------------- */
#/* akmpkgmanager */
#/* ------------- */
#class akmpkgmanager

#/* ----------- */
#/* ge_tpackage */
#/* ----------- */
class Ox74f2966a:
  Oxfd01238f=""
  Ox7b1ca6f8=""
  Ox6e465b25=""
  Ox1dc2bdd6=""
  Oxdc5fddaf=""
endclass

#/* -------------- */
#/* ge_trepository */
#/* -------------- */
class ge_trepository:
  Oxdb8de85b=""
  Oxab79f7e4=""
endclass

#/* ------------- */
#/* akmpkgmanager */
#/* ------------- */
#group akmpkgmanager
#endgroup

Ox4810465a=0
Ox7653774f=0
Ox4914b656=0
Ox1003da45=0
Oxcb8c69bd=0

def Oxf40951f3(var1,var2):
  var1+=Ox4810465a*Ox4810465a
  return(var1*var2)
endfunction

#/* ------ */
#/* xprint */
#/* ------ */
def Ox0510d89b(Ox85cdc9ee):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  print(Ox85cdc9ee,flush=True)
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return
endfunction

#/* ------------ */
#/* printlicense */
#/* ------------ */
def Ox33cb0c63():
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("Akmpkgmanager license agreement and limited warranty.")
  Ox0510d89b("Please read this license, terms and conditions of this license agreement carefully")
  Ox0510d89b("before using Akmpkgmanager (the 'software').")
  Ox0510d89b("")
  Ox0510d89b("This document is an agreement between you (either an individual or a single entity)")
  Ox0510d89b("and Antoine Guillon (http://www.arkhamdev.net/) (the 'author').")
  Ox0510d89b("For the software identified above which may include associated software components,")
  Ox0510d89b("media, printed materials, and online or electronic documentation.")
  Ox0510d89b("The author is willing to license the enclosed software to you only")
  Ox0510d89b("on the condition that you accept all the terms contained in this agreement.")
  Ox0510d89b("By using the software you are agreeing to be bound by the terms of this license.")
  Ox0510d89b("By installing, copying, or otherwise using the software, you agree to ")
  Ox0510d89b("be bound by the terms of this agreement.")
  Ox0510d89b("If you do not agree to the terms of this agreement, do not install or use the ")
  Ox0510d89b("software.")
  Ox0510d89b("")
  Ox0510d89b("GRANT OF LICENSE:")
  Ox0510d89b("The software is licensed as follows:")
  Ox0510d89b("- Installation and use.")
  Ox0510d89b("  The author grants you the right to install and use copies of the ")
  Ox0510d89b("  software on your computer running a validly licensed copy of the ")
  Ox0510d89b("  operating system for which the software was designed.")
  Ox0510d89b("")
  Ox0510d89b("DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS:")
  Ox0510d89b("- Software executables and libraries may be used for creating commercial applications,")
  Ox0510d89b("  including selling, licensing or renting, except to develop a similar application on any")
  Ox0510d89b("  platform for commercial distribution in any manner that is generally competitive with")
  Ox0510d89b("  the software.")
  Ox0510d89b("")
  Ox0510d89b("- Reverse engineer, decompile, disassemble, modify or otherwise reduce any portion")
  Ox0510d89b("  of the software to any human perceivable form is prohibited.")
  Ox0510d89b("")
  Ox0510d89b("- Redistributions in binary form of applications using the software must reproduce")
  Ox0510d89b("  the above copyright notice, this list of conditions and the following disclaimer")
  Ox0510d89b("  in the documentation and/or other materials provided with the distribution.")
  Ox0510d89b("")
  Ox0510d89b("- Redistributions in binary form of applications using the software executable or library must")
  Ox0510d89b("  credit the use of the libraries in any program information, including splash screens,")
  Ox0510d89b("  'About' dialogs, program  notes or instructions and shrink-wrapped packaging.")
  Ox0510d89b("")
  Ox0510d89b("- The licensee agrees to notify and send one copy and screenshots of any applications")
  Ox0510d89b("  products, commercial, shareware or freeware that use the software executable or library")
  Ox0510d89b("  to Antoine Guillon (http://www.arkhamdev.net/).")
  Ox0510d89b("")
  Ox0510d89b("- You may make one backup copy of the software, libraries and documentation for")
  Ox0510d89b("  reinstalling the software, but you may not distribute registered copies of the")
  Ox0510d89b("  software to third parties.")
  Ox0510d89b("  You may not rent, lease, or lend the software.")
  Ox0510d89b("")
  Ox0510d89b("- The author may provide you with support services related to the ")
  Ox0510d89b("  software ('support services').")
  Ox0510d89b("  Any supplemental software code provided to you as part of the support ")
  Ox0510d89b("  services shall be considered part of the software and subject to ")
  Ox0510d89b("  the terms and conditions of this agreement.")
  Ox0510d89b("")
  Ox0510d89b("- Title, ownership rights, and intellectual property rights in and to the software,")
  Ox0510d89b("  and each copy, updates, expansions, modified versions, thereof (including all")
  Ox0510d89b("  copyrights therein), shall remain in the author.")
  Ox0510d89b("  You must not remove or alter any copyright notices on any and all copies of the software.")
  Ox0510d89b("  You acknowledge that no title to the intellectual property in the software is")
  Ox0510d89b("  transferred to you.")
  Ox0510d89b("  The software is licensed, not sold.")
  Ox0510d89b("  The software is protected by the copyright laws of France and international copyright")
  Ox0510d89b("  treaties.")
  Ox0510d89b("  You must comply with all applicable laws regarding use of the software.")
  Ox0510d89b("")
  Ox0510d89b("- Use with third-party peripherals, libraries, middleware, programs, datas that put")
  Ox0510d89b("  this software at risk for intellectual property right infringement or")
  Ox0510d89b("  are in conflict with this license (like GPL or static LGPL) is prohibited.")
  Ox0510d89b("")
  Ox0510d89b("COPYRIGHT:")
  Ox0510d89b("- All title, including but not limited to copyrights, in and to the software ")
  Ox0510d89b("  and any copies thereof are owned by the author or its suppliers. ")
  Ox0510d89b("  All title and intellectual property rights in and to the content which may ")
  Ox0510d89b("  be accessed through use of the software is the property of the ")
  Ox0510d89b("  respective content owner and may be protected by applicable copyright or ")
  Ox0510d89b("  other intellectual property laws and treaties.")
  Ox0510d89b("  This agreement grants you no rights to use such content. All rights not expressly ")
  Ox0510d89b("  granted are reserved by the author.")
  Ox0510d89b("")
  Ox0510d89b("TERMINATION:")
  Ox0510d89b("- Without prejudice to any other rights, the author may terminate this ")
  Ox0510d89b("  agreement if you fail to comply with the terms and conditions of this agreement.")
  Ox0510d89b("  In such event, you must destroy all copies of the software in your ")
  Ox0510d89b("  possession.")
  Ox0510d89b("")
  Ox0510d89b("NO WARRANTIES:")
  Ox0510d89b("- The author expressly disclaims any warranty for the software.")
  Ox0510d89b("  The software is provided 'As Is' without any express or implied warranty")
  Ox0510d89b("  of any kind, including but not limited to any warranties of merchantability,")
  Ox0510d89b("  noninfringement, or fitness of a particular purpose. ")
  Ox0510d89b("  The author does not warrant or assume responsibility for the ")
  Ox0510d89b("  accuracy or completeness of any information, text, graphics, links or other ")
  Ox0510d89b("  items contained within the software.")
  Ox0510d89b("  The author makes no warranties respecting any harm that may be ")
  Ox0510d89b("  caused by the transmission of a computer virus, worm, time bomb, logic ")
  Ox0510d89b("  bomb, or other such computer program.")
  Ox0510d89b("  The author further expressly disclaims any warranty or ")
  Ox0510d89b("  representation to authorized users or to any third party.")
  Ox0510d89b("")
  Ox0510d89b("LIMITATION OF LIABILITY:")
  Ox0510d89b("- In no event shall the author be liable for any damages (including, ")
  Ox0510d89b("  without limitation, lost profits, business interruption, or lost ")
  Ox0510d89b("  information) rising out of 'Authorized Users' use of or inability to use the ")
  Ox0510d89b("  software, even if the author has been advised of the ")
  Ox0510d89b("  possibility of such damages.")
  Ox0510d89b("  In no event will the author be liable for loss of data or for ")
  Ox0510d89b("  indirect, special, incidental, consequential (including lost profit), or ")
  Ox0510d89b("  other damages based in contract, tort or otherwise.")
  Ox0510d89b("  The author shall have no liability with respect to the content of ")
  Ox0510d89b("  the software or any part thereof, including but not limited to ")
  Ox0510d89b("  errors or omissions contained therein, libel, infringements of rights of ")
  Ox0510d89b("  publicity, privacy, trademark rights, business interruption, personal ")
  Ox0510d89b("  injury, loss of privacy, moral rights or the disclosure of confidential ")
  Ox0510d89b("  information.")
  Ox0510d89b("")
  Ox0510d89b("- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND")
  Ox0510d89b("  CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES,")
  Ox0510d89b("  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF")
  Ox0510d89b("  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE")
  Ox0510d89b("  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR")
  Ox0510d89b("  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,")
  Ox0510d89b("  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT")
  Ox0510d89b("  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;")
  Ox0510d89b("  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)")
  Ox0510d89b("  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN")
  Ox0510d89b("  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE")
  Ox0510d89b("  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,")
  Ox0510d89b("  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.")
  Ox4914b656*=Ox7653774f
  Ox1003da45+=Ox4810465a
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656^0x35be
  while(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox7653774f,Ox4914b656)
    Ox7653774f*=Ox1003da45
    Ox4810465a/=Ox4914b656
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a%=Ox7653774f*Ox4810465a
        Ox1003da45&=Oxf40951f3(Ox4810465a,Oxcb8c69bd)
        Ox7653774f+=1
      wend
    endif
    Ox4810465a^=Ox7653774f
  wend
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45^=Ox1003da45
  Ox7653774f=Oxcb8c69bd
  if(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
    Ox4914b656+=Oxf40951f3(Ox7653774f,Ox4810465a)
  wend

  return
endfunction

#/* ------------- */
#/* removelinescr */
#/* ------------- */
def Oxc443db7d(Oxdafd854c):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  n=0

  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  if(Oxdafd854c==None):
    return(None)
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  n=0
  if(n<len(Oxdafd854c)):
    n-=1
    while(1==1):
      n+=1
      if(n>=len(Oxdafd854c)):
        break
      endif
      Oxdafd854c[n]=Oxdafd854c[n].replace("\n","")
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return(Oxdafd854c)
endfunction

#/* -------------------- */
#/* convertlinesfrombyte */
#/* -------------------- */
def Ox12bf7132(Oxdafd854c):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  n=0

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  if(Oxdafd854c==None):
    return(None)
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  n=0
  if(n<len(Oxdafd854c)):
    n-=1
    while(1==1):
      n+=1
      if(n>=len(Oxdafd854c)):
        break
      endif
      Oxdafd854c[n]=Oxdafd854c[n].decode("ascii")
    wend
  endif
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return(Oxdafd854c)
endfunction

#/* ------------- */
#/* filegetmd5sum */
#/* ------------- */
def Ox92d238f9(Ox5914da9e):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}
  Ox777bdc7f={}
  Oxcffaa5c5={}

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Ox6f6c3a05=open(Ox5914da9e,"rb")
  Ox777bdc7f=hashlib.md5()
  while(1==1): #repeat
    Oxcffaa5c5=Ox6f6c3a05.read(4096)
    if(Oxcffaa5c5==None):
      break
    endif
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    if(len(Oxcffaa5c5)==0):
      break
    endif
    Ox777bdc7f.update(Oxcffaa5c5)
  forever
  Ox6f6c3a05.close()
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  return(Ox777bdc7f.hexdigest())
endfunction

#/* -------------- */
#/* compareversion */
#/* -------------- */
def Oxb30ab8f2(Ox0b4bade4,Oxdc33019e,Oxb42d8530):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}
  Oxd554add7=""

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(os.path.exists(Ox0b4bade4)==False):
    Ox0510d89b("Package is not installed.")
    return(Oxb42d8530)
  endif
  Ox6f6c3a05=open(Ox0b4bade4)
  Oxd554add7=Ox6f6c3a05.readline().strip()
  Ox6f6c3a05.close()
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  if(Oxd554add7==Oxdc33019e):
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    Ox0510d89b("Version is up to date.")
    return(Oxb42d8530)
  else:
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    Ox0510d89b("New version is available.")
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  return(True)
endfunction

#/* ------------ */
#/* downloadfile */
#/* ------------ */
def Oxe99b0235(url,Oxba51328d,Ox4c94da6c,Ox44bf21f3):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  try:
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    urllib.request.urlretrieve(url,Oxba51328d)
  except:
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    Ox0510d89b("Error, failed to download package.")
    return(False)
  endtry
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(os.path.isfile(Oxba51328d)==False):
    Ox0510d89b("Error, failed to download package.")
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    os.remove(Oxba51328d)
    return(False)
  endif
  if(Ox4c94da6c!=""):
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    if(Ox4c94da6c!=str(os.path.getsize(Oxba51328d))):
      Ox0510d89b("Error, file size is invalid.")
      os.remove(Oxba51328d)
      if(Ox4914b656<0):
        Ox4914b656=-Ox4914b656
      endif
      Ox1003da45=-2
      Ox4914b656=0
      if(Ox4914b656<Ox1003da45):
        Ox4914b656-=1
        while(1==1):
          Ox4914b656+=1
          if(Ox4914b656>=Ox1003da45):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
          while(Oxcb8c69bd<-384):
            Oxcb8c69bd*=Ox4810465a
            if(Oxcb8c69bd<Ox4914b656):
              Oxcb8c69bd/=Ox7653774f
              Ox7653774f=0
              if(Ox7653774f<Ox4810465a):
                Ox7653774f-=1
                while(1==1):
                  Ox7653774f+=1
                  if(Ox7653774f>=Ox4810465a):
                    break
                  endif
                  Ox4810465a+=Ox7653774f*Ox4810465a
                  Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                  Ox4914b656+=1
                wend
              endif
            endif
          wend
        wend
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
      endif
      return(False)
    endif
  endif
  if(Ox44bf21f3!=""):
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45
    Ox4914b656-=Ox4914b656
    Ox7653774f=Ox4914b656|0x5a32
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=Oxcb8c69bd
    while(Ox7653774f<Ox4810465a):
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
    Ox0510d89b("Calculating hash...")
    if(Ox44bf21f3!=Ox92d238f9(Oxba51328d)):
      Ox0510d89b("Error, file is corrupt.")
      os.remove(Oxba51328d)
      if(Ox4914b656<0):
        Ox4914b656=-Ox4914b656
      endif
      Ox1003da45=-2
      Ox4914b656=0
      if(Ox4914b656<Ox1003da45):
        Ox4914b656-=1
        while(1==1):
          Ox4914b656+=1
          if(Ox4914b656>=Ox1003da45):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
          while(Oxcb8c69bd<-384):
            Oxcb8c69bd*=Ox4810465a
            if(Oxcb8c69bd<Ox4914b656):
              Oxcb8c69bd/=Ox7653774f
              Ox7653774f=0
              if(Ox7653774f<Ox4810465a):
                Ox7653774f-=1
                while(1==1):
                  Ox7653774f+=1
                  if(Ox7653774f>=Ox4810465a):
                    break
                  endif
                  Ox4810465a+=Ox7653774f*Ox4810465a
                  Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                  Ox4914b656+=1
                wend
              endif
            endif
          wend
        wend
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
      endif
      return(False)
    endif
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  return(True)
endfunction

#/* ------------- */
#/* downloadlines */
#/* ------------- */
def Ox22e6d458(url):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxd331437b={}
  Oxdafd854c={}

  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  try:
    Oxd331437b=urllib.request.urlopen(url)
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    Oxdafd854c=Ox12bf7132(Oxd331437b.readlines())
    Oxd331437b.close()
  except:
    Oxdafd854c=None
  endtry
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  return(Oxdafd854c)
endfunction

#/* ---------- */
#/* extractpkg */
#/* ---------- */
def Ox4a0557d0(Oxe8af55d2,Oxd4f1bb35):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  try:
    Ox6f6c3a05=tarfile.open(Oxd4f1bb35)
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    Ox6f6c3a05.extractall(Oxe8af55d2.Oxab79f7e4)
    Ox6f6c3a05.close()
  except:
    Ox0510d89b("Error, failed to extract package.")
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45
    Ox4914b656-=Ox4914b656
    Ox7653774f=Ox4914b656|0x5a32
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=Oxcb8c69bd
    while(Ox7653774f<Ox4810465a):
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
    os.remove(Oxd4f1bb35)
    return(False)
  endtry
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return(True)
endfunction

#/* --------- */
#/* updatepkg */
#/* --------- */
def Oxcf270d28(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35,Oxb42d8530):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("Comparing version.")
  if(Oxb30ab8f2(Oxb8b1559b.Oxfd01238f+"/"+Oxb8b1559b.Ox6e465b25,Oxb8b1559b.Ox7b1ca6f8,Oxb42d8530)==False):
    return(False)
  endif
  Ox0510d89b("Downloading package...")
  if(Oxe99b0235(Oxe8af55d2.Oxdb8de85b+"/"+Oxd4f1bb35+".txz",Oxd4f1bb35+".txz",Oxb8b1559b.Ox1dc2bdd6,Oxb8b1559b.Oxdc5fddaf)==False):
    return(False)
  endif
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Ox0510d89b("Extracting package...")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  if(Ox4a0557d0(Oxe8af55d2,Oxd4f1bb35+".txz")==False):
    return(False)
  endif

  Ox0510d89b("Cleanup package...")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  os.remove(Oxd4f1bb35+".txz")

  return(True)
endfunction

#/* ---------- */
#/* selfupdate */
#/* ---------- */
def Ox19b1f329(Oxe8af55d2):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox0510d89b("Self updating...")
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  shutil.copyfile("akmpkgmanager.py","akmpkgmanager.py.bak")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxe99b0235(Oxe8af55d2.Oxdb8de85b+"/akmpkgmanager.py","akmpkgmanager.py","","")
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  return
endfunction

#/* ---------- */
#/* genversion */
#/* ---------- */
def Ox60ab6571(Ox5914da9e,prefix):
  Ox6f6c3a05={}

  Ox6f6c3a05=open(Ox5914da9e,"w")
  Ox6f6c3a05.write(prefix+datetime.datetime.now().strftime("%Y%m%d%H%M%S"))
  Ox6f6c3a05.write("\n")
  Ox6f6c3a05.close()

  return
endfunction

#/* ------- */
#/* makepkg */
#/* ------- */
def Ox790e67ef(Oxd4f1bb35):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}

  Ox0510d89b("Creating package "+Oxd4f1bb35+"...")
  Ox6f6c3a05=tarfile.open(Oxd4f1bb35+".txz","w:xz",preset=9)
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox6f6c3a05.add(Oxd4f1bb35)
  Ox4914b656*=Ox7653774f
  Ox1003da45+=Ox4810465a
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656^0x35be
  while(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox7653774f,Ox4914b656)
    Ox7653774f*=Ox1003da45
    Ox4810465a/=Ox4914b656
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a%=Ox7653774f*Ox4810465a
        Ox1003da45&=Oxf40951f3(Ox4810465a,Oxcb8c69bd)
        Ox7653774f+=1
      wend
    endif
    Ox4810465a^=Ox7653774f
  wend
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45^=Ox1003da45
  Ox7653774f=Oxcb8c69bd
  if(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
    Ox4914b656+=Oxf40951f3(Ox7653774f,Ox4810465a)
  wend
  Ox6f6c3a05.close()

  return
endfunction

#/* ----------- */
#/* readpkginfo */
#/* ----------- */
def Ox634a19e4(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}
  Oxdafd854c={}
  n=0

  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Ox0510d89b("Reading package info...")
  if(os.path.exists(Oxd4f1bb35+".cfg")==True):
    os.remove(Oxd4f1bb35+".cfg")
  endif
  if(Oxe99b0235(Oxe8af55d2.Oxdb8de85b+"/"+Oxd4f1bb35+".cfg",Oxd4f1bb35+".cfg","","")==False):
    Ox0510d89b("Error while downloading package info.")
    return(False)
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox6f6c3a05=open(Oxd4f1bb35+".cfg","r")
  Oxdafd854c=Oxc443db7d(Ox6f6c3a05.readlines())
  Ox6f6c3a05.close()

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  if(len(Oxdafd854c)>=6):
    if(Oxdafd854c[0]=="[akmpkgmanager]"):
      Oxb8b1559b.Ox7b1ca6f8=Oxdafd854c[1]
      Ox1003da45+=Ox4810465a
      Ox4914b656*=Ox1003da45
      Ox4914b656-=Ox4914b656
      Ox7653774f=Ox4914b656|0x5a32
      if(Ox7653774f<Ox4914b656):
        Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
        Ox4810465a+=Ox4914b656
        Ox7653774f*=Ox1003da45
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
            Ox4914b656+=1
          wend
        endif
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=Oxcb8c69bd
      while(Ox7653774f<Ox4810465a):
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
      Oxb8b1559b.Ox6e465b25=Oxdafd854c[2]
      Oxb8b1559b.Oxfd01238f=Oxdafd854c[3]
      Oxb8b1559b.Ox1dc2bdd6=Oxdafd854c[4]
      Oxb8b1559b.Oxdc5fddaf=Oxdafd854c[5]
      if(Ox4914b656<0):
        Ox4914b656=-Ox4914b656
      endif
      Ox1003da45=-2
      Ox4914b656=0
      if(Ox4914b656<Ox1003da45):
        Ox4914b656-=1
        while(1==1):
          Ox4914b656+=1
          if(Ox4914b656>=Ox1003da45):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
          while(Oxcb8c69bd<-384):
            Oxcb8c69bd*=Ox4810465a
            if(Oxcb8c69bd<Ox4914b656):
              Oxcb8c69bd/=Ox7653774f
              Ox7653774f=0
              if(Ox7653774f<Ox4810465a):
                Ox7653774f-=1
                while(1==1):
                  Ox7653774f+=1
                  if(Ox7653774f>=Ox4810465a):
                    break
                  endif
                  Ox4810465a+=Ox7653774f*Ox4810465a
                  Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                  Ox4914b656+=1
                wend
              endif
            endif
          wend
        wend
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
      endif
    else:
      os.remove(Oxd4f1bb35+".cfg")
      Ox0510d89b("Error, invalid package info.")
      return(False)
    endif
  else:
    os.remove(Oxd4f1bb35+".cfg")
    Ox0510d89b("Error, invalid package info.")
    return(False)
  endif
  os.remove(Oxd4f1bb35+".cfg")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return(True)
endfunction

#/* ------------ */
#/* writepkginfo */
#/* ------------ */
def Oxeecfcdda(Oxd4f1bb35,Ox0b4bade4):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}
  Oxdafd854c={}
  version=""
  Ox4c94da6c=0
  Ox44bf21f3=""

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("Creating package info...")
  Ox6f6c3a05=open(Oxd4f1bb35+"/"+Ox0b4bade4,"r")
  Oxdafd854c=Oxc443db7d(Ox6f6c3a05.readlines())
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Ox6f6c3a05.close()
  version=Oxdafd854c[0]
  Ox4c94da6c=os.path.getsize(Oxd4f1bb35+".txz")
  Ox44bf21f3=Ox92d238f9(Oxd4f1bb35+".txz")
  if(os.path.exists(Oxd4f1bb35+".cfg")==True):
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
    os.remove(Oxd4f1bb35+".cfg")
  endif
  Ox6f6c3a05=open(Oxd4f1bb35+".cfg","w")
  Ox6f6c3a05.write("[akmpkgmanager]\n")
  Ox6f6c3a05.write(version+"\n")
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox6f6c3a05.write(Ox0b4bade4+"\n")
  Ox6f6c3a05.write(Oxd4f1bb35+"\n")
  Ox6f6c3a05.write(str(Ox4c94da6c)+"\n")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Ox6f6c3a05.write(Ox44bf21f3+"\n")
  Ox6f6c3a05.close()
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return
endfunction

#/* ----- */
#/* check */
#/* ----- */
def Ox6dad1003(Oxe8af55d2,Oxd4f1bb35):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxb8b1559b={}

  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Oxb8b1559b=Ox74f2966a()
  if(Ox634a19e4(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35)==False):
    return(False)
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("Comparing version.")
  if(Oxb30ab8f2(Oxb8b1559b.Oxfd01238f+"/"+Oxb8b1559b.Ox6e465b25,Oxb8b1559b.Ox7b1ca6f8,False)==False):
    return(False)
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return(True)
endfunction

#/* ---------------- */
#/* updatepkgmanager */
#/* ---------------- */
def Oxe789db94(Oxe8af55d2,Oxd4f1bb35,Oxb42d8530):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxb8b1559b={}
  packagefile=""
  b=False

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("")
  Ox0510d89b("Processing "+Oxd4f1bb35+"...")
  Oxb8b1559b=Ox74f2966a()
  if(Ox634a19e4(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35)==False):
    return(False)
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  b=Oxcf270d28(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35,Oxb42d8530)

  del(Oxb8b1559b)
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return(b)
endfunction

#/* --------- */
#/* uninstall */
#/* --------- */
def Ox0d144f58(Oxe8af55d2,Oxd4f1bb35):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxb8b1559b={}
  b=False

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("")
  Ox0510d89b("Processing "+Oxd4f1bb35+"...")
  Oxb8b1559b=Ox74f2966a()
  if(Ox634a19e4(Oxe8af55d2,Oxb8b1559b,Oxd4f1bb35)==False):
    return(False)
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  shutil.rmtree(Oxb8b1559b.Oxfd01238f,True)

  return(True)
endfunction

#/* --------- */
#/* updateall */
#/* --------- */
def Oxcf2e3a3d(Oxe8af55d2,databasename):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxdafd854c={}
  n=0

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  if(databasename==None):
    databasename="akmpkgmanager.db"
  else:
    databasename="akmpkgmanager_"+databasename+".db"
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Oxdafd854c=Oxc443db7d(Ox22e6d458(Oxe8af55d2.Oxdb8de85b+"/"+databasename))
  if(Oxdafd854c==None):
    Ox0510d89b("Error, database not found.")
    return
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(Oxdafd854c[0]=="[akmpkgmanagerdb]"):
    Ox0510d89b("Updating all:")
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    n=1
    if(n<len(Oxdafd854c)):
      n-=1
      while(1==1):
        n+=1
        if(n>=len(Oxdafd854c)):
          break
        endif
        if(Oxdafd854c[n]!=""):
          Oxe789db94(Oxe8af55d2,Oxdafd854c[n],False)
        endif
      wend
    endif
  else:
    Ox0510d89b("Error, invalid database.")
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return
endfunction

#/* ---------- */
#/* loadconfig */
#/* ---------- */
def Oxc99975eb():
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxe8af55d2={}
  Ox6f6c3a05={}
  Oxdafd854c={}

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Ox0510d89b("Loading configuration file...")

  Oxe8af55d2=ge_trepository()
  Oxe8af55d2.Oxdb8de85b="http://www.arkhamdev.net/download"
  Oxe8af55d2.Oxab79f7e4="."

  if(os.path.exists("akmpkgmanager.cfg")==False):
    Ox0510d89b("Warning, can't find akmpkgmanager.cfg, creating default.")
    Oxcdf815af(Oxe8af55d2)
    Ox0510d89b("")
    return(Oxe8af55d2)
  endif

  Ox6f6c3a05=open("akmpkgmanager.cfg","r")
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Oxdafd854c=Oxc443db7d(Ox6f6c3a05.readlines())
  Ox6f6c3a05.close()

  if(len(Oxdafd854c)==2):
    Oxdafd854c.append(".")
  elif(len(Oxdafd854c)<3):
    Ox0510d89b("Warning, invalid akmpkgmanager.cfg.")
    Ox0510d89b("")
    return
  endif

  if(Oxdafd854c[0]!="[akmpkgmanagercfg]"):
    Ox0510d89b("Warning, invalid akmpkgmanager.cfg.")
    Ox0510d89b("")
    return(Oxe8af55d2)
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  Oxe8af55d2.Oxdb8de85b=Oxdafd854c[1]
  Oxe8af55d2.Oxab79f7e4=Oxdafd854c[2]
  if(Oxe8af55d2.Oxab79f7e4==""):
    Oxe8af55d2.Oxab79f7e4="."
  endif
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif

  return(Oxe8af55d2)
endfunction

#/* ---------- */
#/* saveconfig */
#/* ---------- */
def Oxcdf815af(Oxe8af55d2):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Ox6f6c3a05={}

  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  if(os.path.exists("akmpkgmanager.cfg")==True):
    os.remove("akmpkgmanager.cfg")
  endif
  Ox6f6c3a05=open("akmpkgmanager.cfg","w",1)
  Ox6f6c3a05.write("[akmpkgmanagercfg]\n")
  Ox6f6c3a05.write(Oxe8af55d2.Oxdb8de85b+"\n")
  Ox6f6c3a05.write(Oxe8af55d2.Oxab79f7e4+"\n")
  Ox6f6c3a05.close()
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return
endfunction

#/* ------------- */
#/* setrepository */
#/* ------------- */
def Ox0acd7a26(Oxe8af55d2,url,root):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxe8af55d2.Oxdb8de85b=url
  Oxe8af55d2.Oxab79f7e4=root
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return
endfunction

#/* ---------- */
#/* listserver */
#/* ---------- */
def Oxbdff771d(Oxe8af55d2):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxdafd854c={}
  n=0

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxdafd854c=Oxc443db7d(Ox22e6d458(Oxe8af55d2.Oxdb8de85b+"/akmpkgmanagerserver.db"))
  if(Oxdafd854c==None):
    Ox0510d89b("Error, server list not found.")
    return
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(Oxdafd854c[0]=="[akmpkgmanagerserverlist]"):
    Ox0510d89b("Server list:")
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    n=1
    if(n<len(Oxdafd854c)):
      n-=1
      while(1==1):
        n+=1
        if(n>=len(Oxdafd854c)):
          break
        endif
        if(Oxdafd854c[n]!=""):
          Ox0510d89b(Oxdafd854c[n])
        endif
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
  else:
    Ox0510d89b("Error, invalid server list.")
  endif
  Ox0510d89b("")

  return
endfunction

#/* ------------ */
#/* listdatabase */
#/* ------------ */
def Ox9abfbc04(Oxe8af55d2):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxdafd854c={}
  n=0

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxdafd854c=Oxc443db7d(Ox22e6d458(Oxe8af55d2.Oxdb8de85b+"/akmpkgmanagerbaselist.db"))
  if(Oxdafd854c==None):
    Ox0510d89b("Error, database list not found.")
    return
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(Oxdafd854c[0]=="[akmpkgmanagerbaselist]"):
    Ox0510d89b("Database list:")
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    n=1
    if(n<len(Oxdafd854c)):
      n-=1
      while(1==1):
        n+=1
        if(n>=len(Oxdafd854c)):
          break
        endif
        if(Oxdafd854c[n]!=""):
          Ox0510d89b(Oxdafd854c[n])
        endif
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
        Ox4914b656+=1
      wend
    endif
    Ox1003da45+=Ox4810465a
    Ox4914b656*=Ox1003da45*5
    Ox7653774f|=0x7f0d
    Ox4914b656^=Ox4914b656
    if(Ox7653774f<Ox4914b656):
      Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
      Ox4810465a+=Ox4914b656
      Ox7653774f*=Ox1003da45
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
          Ox4914b656+=1
        wend
      endif
    endif
  else:
    Ox0510d89b("Error, invalid database list.")
  endif
  Ox0510d89b("")

  return
endfunction

#/* -------------- */
#/* listrepository */
#/* -------------- */
def Ox3aac4d39(Oxe8af55d2,databasename):
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxdafd854c={}
  n=0

  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  if(databasename==None):
    databasename="akmpkgmanager.db"
  else:
    databasename="akmpkgmanager_"+databasename+".db"
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Oxdafd854c=Oxc443db7d(Ox22e6d458(Oxe8af55d2.Oxdb8de85b+"/"+databasename))
  if(Oxdafd854c==None):
    Ox0510d89b("Error, database not found.")
    return
  endif

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  if(Oxdafd854c[0]=="[akmpkgmanagerdb]"):
    Ox0510d89b("Repository content:")
    if(Ox4914b656<0):
      Ox4914b656=-Ox4914b656
    endif
    Ox1003da45=-2
    Ox4914b656=0
    if(Ox4914b656<Ox1003da45):
      Ox4914b656-=1
      while(1==1):
        Ox4914b656+=1
        if(Ox4914b656>=Ox1003da45):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
        while(Oxcb8c69bd<-384):
          Oxcb8c69bd*=Ox4810465a
          if(Oxcb8c69bd<Ox4914b656):
            Oxcb8c69bd/=Ox7653774f
            Ox7653774f=0
            if(Ox7653774f<Ox4810465a):
              Ox7653774f-=1
              while(1==1):
                Ox7653774f+=1
                if(Ox7653774f>=Ox4810465a):
                  break
                endif
                Ox4810465a+=Ox7653774f*Ox4810465a
                Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                Ox4914b656+=1
              wend
            endif
          endif
        wend
      wend
    endif
    Oxcb8c69bd=64
    Ox4810465a=-38485
    Ox1003da45=0
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
    endif
    n=1
    if(n<len(Oxdafd854c)):
      n-=1
      while(1==1):
        n+=1
        if(n>=len(Oxdafd854c)):
          break
        endif
        if(Oxdafd854c[n]!=""):
          Ox0510d89b(Oxdafd854c[n])
        endif
      wend
    endif
  else:
    Ox0510d89b("Error, invalid database.")
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Ox0510d89b("")

  return
endfunction

#/* ---- */
#/* main */
#/* ---- */
def Ox20406570():
  global Ox4810465a
  global Ox7653774f
  global Ox4914b656
  global Ox1003da45
  global Oxcb8c69bd
  Oxe8af55d2={}
  Oxb8b1559b={}
  Oxd4f1bb35=""
  Ox0b4bade4=""

  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend
  Ox0510d89b("")
  Ox0510d89b("Akm Package Manager")
  Ox0510d89b("-------------------")
  Ox0510d89b("Version 9.4.08.2026.07.21")
  Ox0510d89b("Copyright (c) Antoine Guillon")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Ox0510d89b("http://www.arkhamdev.net/")
  Ox0510d89b("")

  Ox0510d89b("OS: "+platform.system())
  Ox0510d89b("Platform: "+platform.machine())
  Ox0510d89b("")

  Oxe8af55d2=Oxc99975eb()
  Ox0510d89b("")

  if(len(sys.argv)>1):
    if(sys.argv[1]=="selfupdate"):
      if(len(sys.argv)==2):
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45
        Ox4914b656-=Ox4914b656
        Ox7653774f=Ox4914b656|0x5a32
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=Oxcb8c69bd
        while(Ox7653774f<Ox4810465a):
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
        Ox19b1f329(Oxe8af55d2)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="printlicense"):
      if(len(sys.argv)==2):
        if(Ox4914b656<0):
          Ox4914b656=-Ox4914b656
        endif
        Ox1003da45=-2
        Ox4914b656=0
        if(Ox4914b656<Ox1003da45):
          Ox4914b656-=1
          while(1==1):
            Ox4914b656+=1
            if(Ox4914b656>=Ox1003da45):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
            while(Oxcb8c69bd<-384):
              Oxcb8c69bd*=Ox4810465a
              if(Oxcb8c69bd<Ox4914b656):
                Oxcb8c69bd/=Ox7653774f
                Ox7653774f=0
                if(Ox7653774f<Ox4810465a):
                  Ox7653774f-=1
                  while(1==1):
                    Ox7653774f+=1
                    if(Ox7653774f>=Ox4810465a):
                      break
                    endif
                    Ox4810465a+=Ox7653774f*Ox4810465a
                    Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                    Ox4914b656+=1
                  wend
                endif
              endif
            wend
          wend
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
          wend
        endif
        Ox33cb0c63()
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="setrepository"):
      if(len(sys.argv)==4):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Ox0acd7a26(Oxe8af55d2,sys.argv[2],sys.argv[3])
        Oxcdf815af(Oxe8af55d2)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="check"):
      if(len(sys.argv)==3):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxd4f1bb35=sys.argv[2]
        Ox6dad1003(Oxe8af55d2,Oxd4f1bb35)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="install"):
      if(len(sys.argv)==3):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxd4f1bb35=sys.argv[2]
        Oxe789db94(Oxe8af55d2,Oxd4f1bb35,True)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="uninstall"):
      if(len(sys.argv)==3):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxd4f1bb35=sys.argv[2]
        Ox0d144f58(Oxe8af55d2,Oxd4f1bb35)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="update"):
      if(len(sys.argv)==3):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxd4f1bb35=sys.argv[2]
        Oxe789db94(Oxe8af55d2,Oxd4f1bb35,False)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="updateall"):
      Ox1003da45+=Ox4810465a
      Ox4914b656*=Ox1003da45
      Ox4914b656-=Ox4914b656
      Ox7653774f=Ox4914b656|0x5a32
      if(Ox7653774f<Ox4914b656):
        Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
        Ox4810465a+=Ox4914b656
        Ox7653774f*=Ox1003da45
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
            Ox4914b656+=1
          wend
        endif
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=Oxcb8c69bd
      while(Ox7653774f<Ox4810465a):
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox4914b656+=1
      wend
      if(len(sys.argv)==2):
        Oxcf2e3a3d(Oxe8af55d2,None)
        Ox0510d89b("Done.")
      elif(len(sys.argv)==3):
        Oxcf2e3a3d(Oxe8af55d2,sys.argv[2])
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="listserver"):
      if(len(sys.argv)==2):
        if(Ox4914b656<0):
          Ox4914b656=-Ox4914b656
        endif
        Ox1003da45=-2
        Ox4914b656=0
        if(Ox4914b656<Ox1003da45):
          Ox4914b656-=1
          while(1==1):
            Ox4914b656+=1
            if(Ox4914b656>=Ox1003da45):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
            while(Oxcb8c69bd<-384):
              Oxcb8c69bd*=Ox4810465a
              if(Oxcb8c69bd<Ox4914b656):
                Oxcb8c69bd/=Ox7653774f
                Ox7653774f=0
                if(Ox7653774f<Ox4810465a):
                  Ox7653774f-=1
                  while(1==1):
                    Ox7653774f+=1
                    if(Ox7653774f>=Ox4810465a):
                      break
                    endif
                    Ox4810465a+=Ox7653774f*Ox4810465a
                    Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                    Ox4914b656+=1
                  wend
                endif
              endif
            wend
          wend
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
          wend
        endif
        Oxbdff771d(Oxe8af55d2)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="listdatabase"):
      if(len(sys.argv)==2):
        if(Ox4914b656<0):
          Ox4914b656=-Ox4914b656
        endif
        Ox1003da45=-2
        Ox4914b656=0
        if(Ox4914b656<Ox1003da45):
          Ox4914b656-=1
          while(1==1):
            Ox4914b656+=1
            if(Ox4914b656>=Ox1003da45):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
            while(Oxcb8c69bd<-384):
              Oxcb8c69bd*=Ox4810465a
              if(Oxcb8c69bd<Ox4914b656):
                Oxcb8c69bd/=Ox7653774f
                Ox7653774f=0
                if(Ox7653774f<Ox4810465a):
                  Ox7653774f-=1
                  while(1==1):
                    Ox7653774f+=1
                    if(Ox7653774f>=Ox4810465a):
                      break
                    endif
                    Ox4810465a+=Ox7653774f*Ox4810465a
                    Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                    Ox4914b656+=1
                  wend
                endif
              endif
            wend
          wend
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
          wend
        endif
        Ox9abfbc04(Oxe8af55d2)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="list"):
      if(Ox4914b656<0):
        Ox4914b656=-Ox4914b656
      endif
      Ox1003da45=-2
      Ox4914b656=0
      if(Ox4914b656<Ox1003da45):
        Ox4914b656-=1
        while(1==1):
          Ox4914b656+=1
          if(Ox4914b656>=Ox1003da45):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
          while(Oxcb8c69bd<-384):
            Oxcb8c69bd*=Ox4810465a
            if(Oxcb8c69bd<Ox4914b656):
              Oxcb8c69bd/=Ox7653774f
              Ox7653774f=0
              if(Ox7653774f<Ox4810465a):
                Ox7653774f-=1
                while(1==1):
                  Ox7653774f+=1
                  if(Ox7653774f>=Ox4810465a):
                    break
                  endif
                  Ox4810465a+=Ox7653774f*Ox4810465a
                  Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                  Ox4914b656+=1
                wend
              endif
            endif
          wend
        wend
      endif
      Oxcb8c69bd=64
      Ox4810465a=-38485
      Ox1003da45=0
      Ox7653774f=0
      if(Ox7653774f<Ox4810465a):
        Ox7653774f-=1
        while(1==1):
          Ox7653774f+=1
          if(Ox7653774f>=Ox4810465a):
            break
          endif
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
      endif
      if(len(sys.argv)==2):
        Ox3aac4d39(Oxe8af55d2,None)
      elif(len(sys.argv)==3):
        Ox3aac4d39(Oxe8af55d2,sys.argv[2])
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="makepkg"):
      if(len(sys.argv)==3):
        Oxd4f1bb35=sys.argv[2]
        if(Ox4914b656<0):
          Ox4914b656=-Ox4914b656
        endif
        Ox1003da45=-2
        Ox4914b656=0
        if(Ox4914b656<Ox1003da45):
          Ox4914b656-=1
          while(1==1):
            Ox4914b656+=1
            if(Ox4914b656>=Ox1003da45):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
            while(Oxcb8c69bd<-384):
              Oxcb8c69bd*=Ox4810465a
              if(Oxcb8c69bd<Ox4914b656):
                Oxcb8c69bd/=Ox7653774f
                Ox7653774f=0
                if(Ox7653774f<Ox4810465a):
                  Ox7653774f-=1
                  while(1==1):
                    Ox7653774f+=1
                    if(Ox7653774f>=Ox4810465a):
                      break
                    endif
                    Ox4810465a+=Ox7653774f*Ox4810465a
                    Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                    Ox4914b656+=1
                  wend
                endif
              endif
            wend
          wend
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
          wend
        endif
        Ox790e67ef(Oxd4f1bb35)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="extractpkg"):
      if(len(sys.argv)==3):
        Oxd4f1bb35=sys.argv[2]
        Ox0510d89b("Extracting "+Oxd4f1bb35+"...")
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45
        Ox4914b656-=Ox4914b656
        Ox7653774f=Ox4914b656|0x5a32
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=Oxcb8c69bd
        while(Ox7653774f<Ox4810465a):
          Ox4810465a+=Ox7653774f*Ox4810465a
          Ox4914b656+=1
        wend
        Ox4a0557d0(Oxe8af55d2,Oxd4f1bb35+".txz")
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="genversion"):
      if(len(sys.argv)==3):
        Ox60ab6571(sys.argv[2],"")
      elif(len(sys.argv)==4):
        Ox60ab6571(sys.argv[2],sys.argv[3])
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    elif(sys.argv[1]=="writecfg"):
      if(len(sys.argv)==4):
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
            Ox4914b656+=1
          wend
        endif
        Ox1003da45+=Ox4810465a
        Ox4914b656*=Ox1003da45*5
        Ox7653774f|=0x7f0d
        Ox4914b656^=Ox4914b656
        if(Ox7653774f<Ox4914b656):
          Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
          Ox4810465a+=Ox4914b656
          Ox7653774f*=Ox1003da45
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
        Oxd4f1bb35=sys.argv[2]
        Ox0b4bade4=sys.argv[3]
        if(Ox4914b656<0):
          Ox4914b656=-Ox4914b656
        endif
        Ox1003da45=-2
        Ox4914b656=0
        if(Ox4914b656<Ox1003da45):
          Ox4914b656-=1
          while(1==1):
            Ox4914b656+=1
            if(Ox4914b656>=Ox1003da45):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
            while(Oxcb8c69bd<-384):
              Oxcb8c69bd*=Ox4810465a
              if(Oxcb8c69bd<Ox4914b656):
                Oxcb8c69bd/=Ox7653774f
                Ox7653774f=0
                if(Ox7653774f<Ox4810465a):
                  Ox7653774f-=1
                  while(1==1):
                    Ox7653774f+=1
                    if(Ox7653774f>=Ox4810465a):
                      break
                    endif
                    Ox4810465a+=Ox7653774f*Ox4810465a
                    Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
                    Ox4914b656+=1
                  wend
                endif
              endif
            wend
          wend
        endif
        Oxcb8c69bd=64
        Ox4810465a=-38485
        Ox1003da45=0
        Ox7653774f=0
        if(Ox7653774f<Ox4810465a):
          Ox7653774f-=1
          while(1==1):
            Ox7653774f+=1
            if(Ox7653774f>=Ox4810465a):
              break
            endif
            Ox4810465a+=Ox7653774f*Ox4810465a
            Ox4914b656+=1
          wend
        endif
        Oxeecfcdda(Oxd4f1bb35,Ox0b4bade4)
      else:
        Ox0510d89b("Wrong arguments.")
      endif
      Ox0510d89b("Done.")
      return
    else:
      Ox0510d89b("Wrong command.")
      Ox0510d89b("Done.")
      return
    endif
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45
  Ox4914b656-=Ox4914b656
  Ox7653774f=Ox4914b656|0x5a32
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=Oxcb8c69bd
  while(Ox7653774f<Ox4810465a):
    Ox4810465a+=Ox7653774f*Ox4810465a
    Ox4914b656+=1
  wend

  Ox0510d89b("Usage: akmpkgmanager.py selfupdate")
  Ox0510d89b("       akmpkgmanager.py printlicense")
  Ox0510d89b("       akmpkgmanager.py setrepository url root")
  Ox0510d89b("       akmpkgmanager.py check archivename")
  Ox0510d89b("       akmpkgmanager.py install archivename")
  Ox0510d89b("       akmpkgmanager.py uninstall archivename #/!\\ Remove base directory with all user files /!\\ ")
  Ox0510d89b("       akmpkgmanager.py update archivename")
  Ox0510d89b("       akmpkgmanager.py updateall [databasename]")
  Ox0510d89b("       akmpkgmanager.py listserver")
  Ox0510d89b("       akmpkgmanager.py listdatabase")
  Ox0510d89b("       akmpkgmanager.py list [databasename]")
  if(Ox4914b656<0):
    Ox4914b656=-Ox4914b656
  endif
  Ox1003da45=-2
  Ox4914b656=0
  if(Ox4914b656<Ox1003da45):
    Ox4914b656-=1
    while(1==1):
      Ox4914b656+=1
      if(Ox4914b656>=Ox1003da45):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
      while(Oxcb8c69bd<-384):
        Oxcb8c69bd*=Ox4810465a
        if(Oxcb8c69bd<Ox4914b656):
          Oxcb8c69bd/=Ox7653774f
          Ox7653774f=0
          if(Ox7653774f<Ox4810465a):
            Ox7653774f-=1
            while(1==1):
              Ox7653774f+=1
              if(Ox7653774f>=Ox4810465a):
                break
              endif
              Ox4810465a+=Ox7653774f*Ox4810465a
              Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
              Ox4914b656+=1
            wend
          endif
        endif
      wend
    wend
  endif
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox4914b656+=1
    wend
  endif
  Ox0510d89b("       akmpkgmanager.py genversion filename [prefix]")
  Ox0510d89b("       akmpkgmanager.py makepkg archivename")
  Ox0510d89b("       akmpkgmanager.py extractpkg archivename")
  Ox0510d89b("       akmpkgmanager.py writecfg archivename versionfile")
  Ox0510d89b("Done.")
  Oxcb8c69bd=64
  Ox4810465a=-38485
  Ox1003da45=0
  Ox7653774f=0
  if(Ox7653774f<Ox4810465a):
    Ox7653774f-=1
    while(1==1):
      Ox7653774f+=1
      if(Ox7653774f>=Ox4810465a):
        break
      endif
      Ox4810465a+=Ox7653774f*Ox4810465a
      Ox7653774f^=Oxf40951f3(Ox1003da45,Ox4914b656)
      Ox4914b656+=1
    wend
  endif
  Ox1003da45+=Ox4810465a
  Ox4914b656*=Ox1003da45*5
  Ox7653774f|=0x7f0d
  Ox4914b656^=Ox4914b656
  if(Ox7653774f<Ox4914b656):
    Ox7653774f+=Oxf40951f3(Ox4810465a,Ox4914b656)
    Ox4810465a+=Ox4914b656
    Ox7653774f*=Ox1003da45
    Ox7653774f=0
    if(Ox7653774f<Ox4810465a):
      Ox7653774f-=1
      while(1==1):
        Ox7653774f+=1
        if(Ox7653774f>=Ox4810465a):
          break
        endif
        Ox4810465a+=Ox7653774f*Ox4810465a
        Ox1003da45+=Oxf40951f3(Ox1003da45,Oxcb8c69bd)
        Ox4914b656+=1
      wend
    endif
  endif

  return
endfunction

Ox20406570()

endclass
