# cython:language_level=3
if 82 - 82: Iii1i
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
import rsa
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
from . m1002CloudServerWEBAPI import wgConRPC
from . m1005rsacls import *
from . wgpacket import wgGlobal
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
if 98 - 98: I11iiIi11i1I % oOO
if 31 - 31: i1I
if 9 - 9: IiI11Ii111 / oOo0O00 / IiIIii11Ii - I11iiIi11i1I - iI1iII1I1I1i
pubkey = rsa . PublicKey (
 wgGlobal . wgrsapublic ,
 65537 )
if 16 - 16: i1i1i1111I / i1iiIII111
if 3 - 3: i1 % i1 % i1i1i1111I . Ii * i1
if 9 - 9: i1iiIII111
def wgrsaverify ( sn , payload , output ) :
 try :
  if sn == WGTools . getLongByByte ( payload , 0 , 4 ) :
   i1Ii1i = rsa . verify ( payload , output , pubkey )
   if i1Ii1i == 'SHA-1' :
    return True
 except Exception as oOooo0OOO :
  pass
  print ( "{} {}" . format ( time . strftime ( '%Y-%m-%d %H:%M:%S' ) , oOooo0OOO ) )
  if 53 - 53: Ii * Oo * ooo000 . i1iiIII111
  pass
 return False
 if 14 - 14: I1I / oOO
 if 58 - 58: I1Ii1I1 - ooOOO
 if 60 - 60: iI1iII1I1I1i . oOO
 if 13 - 13: oOO
 if 2 - 2: i1
 if 22 - 22: IIiIIiIi11I1 - ooo000 / I1Ii1I1 . ooo000
 if 1 - 1: iI1iII1I1I1i + Ooo0Ooo + oOO * IIiIIiIi11I1
 if 20 - 20: I1I + Ii
 if 75 - 75: Ii % i1iiIII111 * Ii . IIiIIiIi11I1 % I11iiIi11i1I % I1Ii1I1
 if 8 - 8: I1Ii1I1 . IiI11Ii111 . i1 . Oo - i1I
 if 32 - 32: Ii % i1i1i1111I % i1I - I11iiIi11i1I % i1iiIII111
 if 34 - 34: i1iiIII111 * i1
 if 34 - 34: oOo0O00 / i1iiIII111 - Iii1i . iI1iII1I1I1i
 if 80 - 80: i1i1i1111I . I1I % ooOOO % IiIIii11Ii / i1i1i1111I
 if 32 - 32: I1Ii1I1 + oOO - oOo0O00
 if 79 - 79: Iii1i % oOO * Oo + ooOOO / Oo . oOO
 if 20 - 20: IiI11Ii111 + i1iiIII111 / I1I
 if 88 - 88: I11iiIi11i1I + ooOOO - i1i1i1111I . Ooo0Ooo * Ii + Iii1i
 if 43 - 43: ooOOO * I1Ii1I1
 if 95 - 95: Ooo0Ooo % Iii1i % i1i1i1111I . OooOoo
 if 70 - 70: IiIIii11Ii
 if 75 - 75: Ooo0Ooo / Ii / IiIIii11Ii + IiIIii11Ii . I1I
 if 88 - 88: Oo * IiIIii11Ii
def checkWGRsa ( conSN , comm ) :
 if 100 - 100: IiI11Ii111 - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
 I11iIi1i = getWGRsa ( conSN , comm )
 oooOOOooo = I11iIi1i [ 0 ]
 IIiII11 = I11iIi1i [ 1 ]
 OooOoo0OO0OO0 = I11iIi1i [ 2 ]
 if 66 - 66: ooo000
 if oooOOOooo :
  if wgrsaverify ( conSN , bytes ( IIiII11 ) , bytes ( OooOoo0OO0OO0 ) ) :
   WGRsa . dealtCon . append ( conSN )
   WGRsa . validCon . append ( conSN )
   if 74 - 74: Ii + Ooo0Ooo
   if 1 - 1: I1I % Ooo0Ooo + i1iiIII111 . i1iiIII111 % Oo
   if 93 - 93: oOo0O00 % Ooo0Ooo * i1iiIII111
   if 52 - 52: oOO + I1I / ooo000 - I1Ii1I1 * i1I % oOo0O00
   if 52 - 52: oOo0O00 . I1I + i1I - i1iiIII111 % iI1iII1I1I1i
   return True
  else :
   if 57 - 57: I1I * IIiIIiIi11I1 % I1Ii1I1 * i1i1i1111I
   if 37 - 37: IiI11Ii111 * i1i1i1111I + oOo0O00 / I1I / OooOoo
   if 4 - 4: i1
   if 61 - 61: iI1iII1I1I1i . i1I - ooo000 / ooo000 - i1
   if 19 - 19: Iii1i * Ooo0Ooo . I1Ii1I1 / I11iiIi11i1I * Ii - oOO
   if 32 - 32: iI1iII1I1I1i
   if 18 - 18: I11iiIi11i1I * IiI11Ii111 % iI1iII1I1I1i + IiI11Ii111
   if 93 - 93: oOO - I1Ii1I1 - IIiIIiIi11I1 * ooOOO - i1
   if conSN in WGRsa . invalidConTry2Temp :
    WGRsa . dealtCon . append ( conSN )
    WGRsa . invalidCon . append ( conSN )
    if 82 - 82: IIiIIiIi11I1 % i1 * ooOOO
    mMonitorInfo . printCHS (
 "??? SN={0: d} Abnormal product communication, please contact the agent or manufacturer" . format ( conSN ) )
    mMonitorInfo . wglog (
 "??? SN={0: d} Abnormal product communication, please contact the agent or manufacturer" . format ( conSN ) )
    return False
   else :
    if conSN in WGRsa . invalidConTry1Temp :
     WGRsa . invalidConTry2Temp . append ( conSN )
    else :
     WGRsa . invalidConTry1Temp . append ( conSN )
    return False
    if 57 - 57: oOo0O00
    if 31 - 31: i1iiIII111 + i1i1i1111I % OooOoo
    if 20 - 20: OooOoo - I1I
    if 9 - 9: i1iiIII111 - iI1iII1I1I1i % Ii - I1I
    if 54 - 54: Iii1i % ooo000 % Iii1i - IiIIii11Ii
    if 39 - 39: oOO - oOO * i1 % IIiIIiIi11I1
    if 29 - 29: IIiIIiIi11I1 - ooo000 . i1iiIII111
    if 86 - 86: I1Ii1I1 - OooOoo - oOO % ooo000 . i1I % Iii1i
    if 11 - 11: OooOoo - I1Ii1I1 - ooOOO . i1iiIII111 - iI1iII1I1I1i / i1iiIII111
    if 44 - 44: Ooo0Ooo + i1i1i1111I + Iii1i - oOO
    if 7 - 7: i1i1i1111I / Ii * Iii1i
    if 32 - 32: IiI11Ii111 . OooOoo
    if 31 - 31: Oo - i1I
    if 28 - 28: ooOOO * I1Ii1I1 + IiI11Ii111 % Oo
    if 100 - 100: Oo + i1I
    if 4 - 4: ooo000 % I1I - i1i1i1111I
    if 76 - 76: i1 * oOo0O00 . IiI11Ii111 * i1I . IiIIii11Ii . oOO
    if 55 - 55: i1i1i1111I + i1iiIII111 % Ooo0Ooo . Oo - IiIIii11Ii - iI1iII1I1I1i
    if 91 - 91: I1Ii1I1 - I11iiIi11i1I
    if 84 - 84: oOO % iI1iII1I1I1i - Ooo0Ooo
    if 94 - 94: i1iiIII111 + i1i1i1111I / iI1iII1I1I1i + iI1iII1I1I1i / i1I
    if 79 - 79: i1iiIII111 - IIiIIiIi11I1 . I1Ii1I1 + I1I - ooOOO + i1iiIII111
    if 36 - 36: ooOOO * Iii1i % I1I % i1 . Ooo0Ooo
    if 63 - 63: IIiIIiIi11I1 / IIiIIiIi11I1 * Iii1i - oOo0O00 . i1
    if 52 - 52: oOo0O00 / i1I * IIiIIiIi11I1 + I11iiIi11i1I % Ooo0Ooo + oOO
    if 43 - 43: iI1iII1I1I1i * oOo0O00 + ooOOO
    if 30 - 30: I1I
    if 41 - 41: oOO
    if 98 - 98: I1I / IIiIIiIi11I1 / i1I + IiI11Ii111 % Oo + I1I
    if 38 - 38: I1Ii1I1 + oOo0O00
    if 2 - 2: OooOoo % Ii + oOO . OooOoo + IIiIIiIi11I1 * Oo
    if 2 - 2: IIiIIiIi11I1 + iI1iII1I1I1i - I1Ii1I1 + ooOOO . IIiIIiIi11I1
    if 15 - 15: ooo000
    if 63 - 63: i1I
    if 81 - 81: OooOoo . i1I / i1i1i1111I + Oo / Ooo0Ooo % IiI11Ii111
    if 77 - 77: I11iiIi11i1I / iI1iII1I1I1i - oOo0O00 - Ooo0Ooo % oOo0O00
    if 73 - 73: IiI11Ii111 . Oo * I1I / i1i1i1111I + I1Ii1I1
    if 31 - 31: i1i1i1111I % I1Ii1I1
    if 1 - 1: IiI11Ii111 - oOo0O00 - i1 . oOo0O00
    if 91 - 91: iI1iII1I1I1i * i1 . ooOOO
    if 81 - 81: I1I * Oo - i1 % OooOoo * ooOOO
    if 19 - 19: Ii
    if 22 - 22: i1I % iI1iII1I1I1i + Oo
    if 60 - 60: ooo000 + I11iiIi11i1I + IIiIIiIi11I1 % i1i1i1111I - Ii % Ooo0Ooo
    if 95 - 95: ooOOO % i1i1i1111I . i1
    if 87 - 87: Iii1i % ooOOO * Ii % IIiIIiIi11I1 / I11iiIi11i1I
    if 84 - 84: I1Ii1I1 + Ooo0Ooo % IIiIIiIi11I1 * i1i1i1111I
    if 61 - 61: i1iiIII111 - Oo + I1Ii1I1
    if 43 - 43: IIiIIiIi11I1 * ooo000 + Ii % iI1iII1I1I1i
    if 12 - 12: i1iiIII111 + ooo000 . I11iiIi11i1I
    if 1 - 1: iI1iII1I1I1i % Ii - I11iiIi11i1I / IiI11Ii111 + iI1iII1I1I1i - Ii
    if 27 - 27: OooOoo % iI1iII1I1I1i + IIiIIiIi11I1
    if 16 - 16: IiI11Ii111
    if 31 - 31: oOo0O00 / Iii1i % Ooo0Ooo % i1 . iI1iII1I1I1i . Oo
    if 83 - 83: oOo0O00 - I11iiIi11i1I
    if 91 - 91: IIiIIiIi11I1 - i1 - iI1iII1I1I1i
    if 71 - 71: I1I - IiI11Ii111
    if 66 - 66: i1i1i1111I / Ooo0Ooo + I11iiIi11i1I + Iii1i + oOo0O00 + i1I
    if 75 - 75: OooOoo - oOO - IiIIii11Ii - oOO + ooo000 % iI1iII1I1I1i
    if 42 - 42: i1 * i1I
    if 50 - 50: Ii - i1iiIII111
    if 96 - 96: ooo000 * OooOoo - Ii - OooOoo
    if 65 - 65: Oo + Oo - iI1iII1I1I1i % OooOoo . Ooo0Ooo
    if 84 - 84: IIiIIiIi11I1 . ooOOO
    if 44 - 44: ooo000 * i1i1i1111I * oOO + i1iiIII111 - IIiIIiIi11I1
    if 70 - 70: IiI11Ii111
    if 9 - 9: oOo0O00 * i1
    if 96 - 96: Ooo0Ooo
    if 13 - 13: Oo * I1Ii1I1 - oOo0O00 * Ii . Ii + oOo0O00
    if 46 - 46: OooOoo - I11iiIi11i1I / Ooo0Ooo
    if 73 - 73: I1Ii1I1 / i1i1i1111I / ooo000 % i1 % i1I - OooOoo
    if 30 - 30: ooOOO * ooOOO - Iii1i * iI1iII1I1I1i
    if 37 - 37: I1Ii1I1 % iI1iII1I1I1i . i1I + Ooo0Ooo + ooOOO * iI1iII1I1I1i
    if 39 - 39: IIiIIiIi11I1 - Oo
    if 31 - 31: IiIIii11Ii % oOo0O00 % oOo0O00 * Iii1i
    if 85 - 85: Iii1i + Ii % IIiIIiIi11I1 % oOo0O00
    if 100 - 100: IiIIii11Ii % i1
    if 82 - 82: ooOOO % OooOoo
    if 81 - 81: Ii
    if 40 - 40: i1I . OooOoo + oOo0O00 . i1iiIII111
    if 96 - 96: I1I / oOO / I11iiIi11i1I + I11iiIi11i1I
    if 35 - 35: IIiIIiIi11I1 + oOo0O00
    if 96 - 96: iI1iII1I1I1i . OooOoo . i1
def DealRSAData ( ) :
 if 87 - 87: ooo000 * IiIIii11Ii % ooo000 . ooOOO . Oo % iI1iII1I1I1i
 OO0Oo0oOo00 = wgConRPC ( )
 if 42 - 42: i1i1i1111I / iI1iII1I1I1i * oOo0O00 * Ooo0Ooo * Oo
 iI = 0
 while True :
  oo0 = False
  try :
   if len ( WGRsa . dealtCon ) != len ( mMonitorInfo . watchingController ) :
    if 18 - 18: IiIIii11Ii - oOO * i1I - OooOoo
    o0OOo0OoO = time . time ( )
    if 57 - 57: Oo + IiIIii11Ii
    for oOooOo0o in list ( mMonitorInfo . watchingController . keys ( ) ) :
     iii1ii1 = mMonitorInfo . watchingController [ oOooOo0o ]
     if o0OOo0OoO < iii1ii1 . refreshTimeFrom1970 + 5 * 60 :
      if 27 - 27: i1 / OooOoo + Iii1i % OooOoo + OooOoo
      o0o = iii1ii1 . sn
      if o0o not in WGRsa . dealtCon :
       checkWGRsa ( o0o , OO0Oo0oOo00 )
       time . sleep ( 1 )
   if len ( WGRsa . lowversionCon ) > 0 :
    if 17 - 17: IiIIii11Ii
    if 31 - 31: Iii1i + ooOOO / OooOoo . Ooo0Ooo * I11iiIi11i1I
    if 15 - 15: IIiIIiIi11I1 . IiIIii11Ii - i1I % iI1iII1I1I1i . i1 % IiI11Ii111
    for oOooOo0o in list ( mMonitorInfo . watchingController . keys ( ) ) :
     iii1ii1 = mMonitorInfo . watchingController [ oOooOo0o ]
     o0o = iii1ii1 . sn
     if o0o in WGRsa . lowversionCon :
      checklowVersionAgain ( o0o , OO0Oo0oOo00 )
      time . sleep ( 1 )
  except Exception as oOooo0OOO :
   pass
   mMonitorInfo . printCHS ( "RSA processing failed" )
   mMonitorInfo . printCHS ( oOooo0OOO )
   if 6 - 6: I11iiIi11i1I * iI1iII1I1I1i + Iii1i * IIiIIiIi11I1 . Ooo0Ooo - Oo
  if not oo0 :
   iI += 1
   if iI < 10 :
    time . sleep ( 5 )
   else :
    if 63 - 63: i1i1i1111I - i1iiIII111 . OooOoo % OooOoo . IiI11Ii111 + i1I
    time . sleep ( 60 )
    if 71 - 71: ooo000 + I11iiIi11i1I % iI1iII1I1I1i + IiI11Ii111 % Oo - Oo
    if 84 - 84: I1I % iI1iII1I1I1i - Ooo0Ooo / iI1iII1I1I1i + Ooo0Ooo - Oo
    if 41 - 41: ooOOO + OooOoo + IIiIIiIi11I1 * i1i1i1111I
    if 12 - 12: i1i1i1111I
    if 56 - 56: IiIIii11Ii
    if 17 - 17: i1I . oOO % Oo + IiIIii11Ii - Ooo0Ooo
    if 93 - 93: oOo0O00
    if 77 - 77: Oo + I11iiIi11i1I % I1I
    if 20 - 20: i1 - IiIIii11Ii . IiIIii11Ii % ooOOO . i1 % Ooo0Ooo
    if 72 - 72: oOO % IiI11Ii111 . ooOOO * I1Ii1I1 . ooOOO
    if 90 - 90: IiIIii11Ii + I1Ii1I1 . OooOoo
    if 73 - 73: i1i1i1111I - Iii1i / I11iiIi11i1I . ooo000 / iI1iII1I1I1i - i1iiIII111
    if 21 - 21: i1iiIII111 + IiI11Ii111 % i1i1i1111I
    if 7 - 7: IiI11Ii111 / Ii
    if 87 - 87: ooOOO
    if 57 - 57: IIiIIiIi11I1 - iI1iII1I1I1i % ooOOO - I11iiIi11i1I / IiIIii11Ii . Ooo0Ooo
    if 15 - 15: i1I * I11iiIi11i1I - oOo0O00
    if 6 - 6: IiI11Ii111 - Ii
    if 1 - 1: I1I + OooOoo
    if 98 - 98: i1iiIII111 + Iii1i . IIiIIiIi11I1
    if 96 - 96: OooOoo / oOO - i1 * I11iiIi11i1I
    if 72 - 72: i1i1i1111I + Ii - Iii1i - i1i1i1111I - i1I + Ooo0Ooo
    if 74 - 74: Ooo0Ooo * Oo + Iii1i - i1iiIII111
    if 22 - 22: IiIIii11Ii - Ooo0Ooo . i1 . i1I - ooo000
    if 68 - 68: ooo000
    if 40 - 40: i1 + I1Ii1I1 + I11iiIi11i1I . Oo * I11iiIi11i1I % I1I
    if 100 - 100: OooOoo + Oo / OooOoo
    if 33 - 33: IiI11Ii111 / OooOoo
    if 98 - 98: I1Ii1I1 . IIiIIiIi11I1 * i1I - iI1iII1I1I1i % i1I * IiI11Ii111
    if 42 - 42: OooOoo + i1i1i1111I - iI1iII1I1I1i - oOo0O00 * i1I + Ii
    if 46 - 46: oOo0O00 . iI1iII1I1I1i - Ii . oOo0O00 + i1i1i1111I
    if 83 - 83: IiI11Ii111
    if 77 - 77: iI1iII1I1I1i - oOO % Ii * i1I - I1I
    if 42 - 42: I11iiIi11i1I - Ii / Oo - i1i1i1111I + I11iiIi11i1I
    if 83 - 83: i1 . iI1iII1I1I1i
    if 57 - 57: IiI11Ii111 % IiIIii11Ii / oOo0O00 + Ooo0Ooo - i1iiIII111
    if 87 - 87: i1iiIII111 . i1iiIII111 . oOO . ooo000 * oOo0O00
    if 33 - 33: IiI11Ii111 * i1iiIII111 / i1I . OooOoo * oOo0O00 + ooo000
    if 17 - 17: i1i1i1111I * oOO + i1iiIII111 - I11iiIi11i1I / i1i1i1111I
    if 83 - 83: I11iiIi11i1I - Iii1i + oOo0O00 + I1I / IIiIIiIi11I1 + I1I
    if 29 - 29: i1i1i1111I / oOo0O00
    if 13 - 13: I11iiIi11i1I % i1iiIII111 . OooOoo % ooo000 % OooOoo
    if 21 - 21: IiI11Ii111 * I1Ii1I1
    if 93 - 93: Ooo0Ooo . i1 + IiI11Ii111 - oOo0O00
    if 97 - 97: i1 - i1 % IIiIIiIi11I1 + IiIIii11Ii / i1I * iI1iII1I1I1i
    if 60 - 60: I11iiIi11i1I - Ooo0Ooo % I1Ii1I1
    if 26 - 26: ooOOO / IIiIIiIi11I1 . oOO + I11iiIi11i1I . Oo
    if 37 - 37: I1Ii1I1
    if 35 - 35: OooOoo % i1i1i1111I - iI1iII1I1I1i / IiIIii11Ii
    if 4 - 4: ooo000 . IiIIii11Ii % ooo000 / i1i1i1111I
    if 48 - 48: i1iiIII111 . Oo
    if 92 - 92: OooOoo + Ii / IIiIIiIi11I1 + OooOoo * IIiIIiIi11I1 * iI1iII1I1I1i
    if 79 - 79: i1i1i1111I
    if 3 - 3: OooOoo / IiI11Ii111 % I11iiIi11i1I
    if 55 - 55: oOo0O00
    if 31 - 31: Ii . Ooo0Ooo / IiI11Ii111
    if 59 - 59: Oo
    if 64 - 64: Iii1i % I11iiIi11i1I * i1 % OooOoo * oOo0O00
    if 55 - 55: IiI11Ii111
    if 46 - 46: Ooo0Ooo % I1Ii1I1
    if 86 - 86: I11iiIi11i1I . i1i1i1111I + oOO % I11iiIi11i1I % Iii1i % ooo000
    if 61 - 61: ooo000
    if 48 - 48: Iii1i * i1i1i1111I + IiIIii11Ii
    if 31 - 31: Oo * i1iiIII111 % Ii / oOO + I1Ii1I1 + iI1iII1I1I1i
    if 90 - 90: I1Ii1I1 * i1i1i1111I / iI1iII1I1I1i * Ii
    if 38 - 38: I1I . Ii
    if 41 - 41: ooo000 % IIiIIiIi11I1 % ooOOO
    if 5 - 5: oOo0O00 / Ii + i1iiIII111 * Oo + Ooo0Ooo + ooo000
    if 96 - 96: i1iiIII111 - IIiIIiIi11I1 / IIiIIiIi11I1 * IiIIii11Ii
    if 67 - 67: Ooo0Ooo . Ooo0Ooo . IiI11Ii111
    if 24 - 24: i1iiIII111 + i1i1i1111I . oOo0O00 + iI1iII1I1I1i + IiI11Ii111
    if 92 - 92: iI1iII1I1I1i / iI1iII1I1I1i + IiIIii11Ii . IiI11Ii111
    if 56 - 56: Ii * ooo000 . IiIIii11Ii
    if 66 - 66: I1Ii1I1 * OooOoo . iI1iII1I1I1i % OooOoo . i1 . IiIIii11Ii
    if 47 - 47: Ii % OooOoo % iI1iII1I1I1i * IiIIii11Ii
    if 48 - 48: i1I . I11iiIi11i1I / ooo000 + i1iiIII111
    if 84 - 84: Oo / I1Ii1I1 . IIiIIiIi11I1
    if 67 - 67: Oo % ooOOO + iI1iII1I1I1i * I1I
    if 79 - 79: IIiIIiIi11I1 * Oo / OooOoo
    if 10 - 10: iI1iII1I1I1i / i1iiIII111 . IiIIii11Ii * i1i1i1111I
    if 71 - 71: oOo0O00 + I1Ii1I1 / I11iiIi11i1I + Oo / I1I
    if 18 - 18: Iii1i - IiIIii11Ii
    if 71 - 71: iI1iII1I1I1i + OooOoo % i1i1i1111I % oOo0O00 . ooo000
    if 92 - 92: I11iiIi11i1I - Ooo0Ooo - i1i1i1111I % i1iiIII111 / i1i1i1111I * iI1iII1I1I1i
    if 60 - 60: IiIIii11Ii % oOO / i1I * OooOoo / I11iiIi11i1I - Ii
    if 16 - 16: oOo0O00 / I1Ii1I1 / i1 + I11iiIi11i1I + oOo0O00
    if 11 - 11: oOO / OooOoo + oOo0O00
    if 79 - 79: I11iiIi11i1I . I1Ii1I1 * i1I % I1Ii1I1 / IiI11Ii111
    if 93 - 93: i1I + Iii1i . Ii . i1I * ooOOO
    if 84 - 84: Ooo0Ooo % IiI11Ii111
    if 82 - 82: IIiIIiIi11I1
    if 81 - 81: oOo0O00 + i1 - ooo000 * iI1iII1I1I1i + i1i1i1111I
    if 89 - 89: I1Ii1I1
    if 57 - 57: iI1iII1I1I1i - i1iiIII111 / OooOoo % i1iiIII111
    if 92 - 92: IiIIii11Ii * OooOoo - IiIIii11Ii
    if 66 - 66: i1iiIII111 . iI1iII1I1I1i / ooOOO . i1 - OooOoo
    if 13 - 13: oOo0O00
    if 50 - 50: i1 - i1iiIII111 / i1iiIII111 % I1Ii1I1 / IIiIIiIi11I1
    if 66 - 66: oOo0O00 - Iii1i - ooo000 . I11iiIi11i1I
    if 59 - 59: i1I / IiIIii11Ii
    if 7 - 7: oOo0O00
    if 64 - 64: IIiIIiIi11I1 * oOO + Oo . OooOoo - ooOOO
    if 94 - 94: IiIIii11Ii - ooo000 . Ii
    if 73 - 73: IiIIii11Ii / oOo0O00 % ooo000 . iI1iII1I1I1i % oOO
    if 36 - 36: IiI11Ii111 * OooOoo . ooo000 . i1iiIII111 + oOO
    if 47 - 47: IiI11Ii111 / I11iiIi11i1I
    if 52 - 52: Ii . OooOoo . i1iiIII111 * I11iiIi11i1I - iI1iII1I1I1i
    if 20 - 20: OooOoo % IiI11Ii111 + I1Ii1I1 + IiI11Ii111 - oOo0O00
    if 76 - 76: I11iiIi11i1I % IIiIIiIi11I1 % i1I
    if 39 - 39: IiIIii11Ii . Oo + i1I - oOo0O00
    if 93 - 93: Iii1i * IIiIIiIi11I1 % i1I + i1 % Ii * i1I
    if 62 - 62: IiI11Ii111 % ooo000
    if 19 - 19: Ii / Oo % Iii1i / i1iiIII111 - OooOoo - Ooo0Ooo
    if 89 - 89: I11iiIi11i1I - IiI11Ii111
    if 61 - 61: Ii * OooOoo * I1I % i1iiIII111 % IIiIIiIi11I1 * I11iiIi11i1I
    if 49 - 49: iI1iII1I1I1i / i1iiIII111 % oOO
    if 46 - 46: ooOOO * IIiIIiIi11I1 % i1 / oOO + i1 + oOo0O00
    if 99 - 99: I1I * IIiIIiIi11I1 * i1iiIII111
    if 62 - 62: ooOOO % Oo + i1I
    if 87 - 87: ooo000 - OooOoo + Ii + i1i1i1111I + IiIIii11Ii
    if 57 - 57: IIiIIiIi11I1 + I1I / ooOOO % ooOOO % Oo / IiI11Ii111
    if 95 - 95: i1 / I11iiIi11i1I . i1 / Oo . Ooo0Ooo
    if 43 - 43: Oo - OooOoo * oOO . Ooo0Ooo / IIiIIiIi11I1 * IIiIIiIi11I1
    if 84 - 84: i1iiIII111 + oOo0O00
    if 83 - 83: i1i1i1111I
    if 84 - 84: oOO / Ii * Ooo0Ooo / Ii / ooo000
    if 64 - 64: oOo0O00 * Ii
    if 2 - 2: IiI11Ii111 % i1iiIII111 . oOo0O00
    if 59 - 59: I11iiIi11i1I % OooOoo - iI1iII1I1I1i % I1I + i1iiIII111 . I1Ii1I1
    if 94 - 94: ooOOO * I1Ii1I1 * i1iiIII111 . oOo0O00
    if 73 - 73: I1Ii1I1 / ooo000 % I11iiIi11i1I - i1i1i1111I + Oo - I1Ii1I1
    if 18 - 18: i1 + ooOOO . i1 - iI1iII1I1I1i
    if 97 - 97: oOo0O00 + i1I % Iii1i
    if 34 - 34: i1 + Oo . oOo0O00 - ooo000 / I11iiIi11i1I * oOo0O00
    if 89 - 89: oOo0O00
    if 48 - 48: i1 / IIiIIiIi11I1 / iI1iII1I1I1i / IiI11Ii111 * IiIIii11Ii
    if 54 - 54: IIiIIiIi11I1 % I1I % IiI11Ii111 / I11iiIi11i1I . I11iiIi11i1I - IiIIii11Ii
    if 10 - 10: Ii . I11iiIi11i1I % i1I / OooOoo % I1Ii1I1
    if 42 - 42: Oo - I1I * i1I * i1i1i1111I - I11iiIi11i1I
    if 58 - 58: iI1iII1I1I1i
    if 17 - 17: iI1iII1I1I1i - Ii % iI1iII1I1I1i % oOo0O00 * Iii1i
    if 51 - 51: I1I . i1i1i1111I % Ii
    if 55 - 55: i1i1i1111I * Ii % i1i1i1111I
    if 61 - 61: oOo0O00
    if 53 - 53: Ooo0Ooo / IiIIii11Ii
    if 49 - 49: ooo000 - oOO . IiIIii11Ii / Oo
    if 23 - 23: I11iiIi11i1I - i1 / Iii1i . iI1iII1I1I1i + oOO
    if 55 - 55: i1 - iI1iII1I1I1i / OooOoo + I1I + Oo
    if 5 - 5: IiI11Ii111 - i1 . i1i1i1111I / IiI11Ii111 . iI1iII1I1I1i . IiI11Ii111
    if 87 - 87: i1 . Ii * iI1iII1I1I1i - oOO / Ii / OooOoo
    if 65 - 65: i1I / i1I + IiI11Ii111
    if 99 - 99: i1 + OooOoo + I11iiIi11i1I * Ooo0Ooo / ooOOO + Ii
    if 72 - 72: I1Ii1I1 * Ooo0Ooo * IIiIIiIi11I1 % IiIIii11Ii . ooo000
    if 68 - 68: Ooo0Ooo * OooOoo - oOo0O00
    if 49 - 49: IIiIIiIi11I1 % i1
    if 29 - 29: OooOoo * Ii - oOO
    if 53 - 53: I11iiIi11i1I % ooo000 / ooOOO / I1I
    if 43 - 43: iI1iII1I1I1i . i1i1i1111I + I1I % ooOOO . IiI11Ii111 - IiI11Ii111
    if 6 - 6: I1I
    if 98 - 98: oOO * IIiIIiIi11I1 / i1iiIII111 / Iii1i + I1I
    if 25 - 25: IIiIIiIi11I1 . IiI11Ii111 / I1I * i1 - i1iiIII111 % oOo0O00
    if 49 - 49: IiIIii11Ii % ooOOO + I11iiIi11i1I + IIiIIiIi11I1
    if 60 - 60: IIiIIiIi11I1
    if 98 - 98: IiIIii11Ii / Ooo0Ooo + Ii
    if 73 - 73: OooOoo * Iii1i
    if 34 - 34: i1I % Ooo0Ooo * OooOoo + i1iiIII111 / i1
    if 49 - 49: IIiIIiIi11I1 / i1iiIII111 % IIiIIiIi11I1 + IIiIIiIi11I1 * iI1iII1I1I1i
    if 22 - 22: I1Ii1I1 + oOO / I1Ii1I1 - Ii % Ii % i1i1i1111I
    if 86 - 86: Iii1i
    if 53 - 53: i1 * i1i1i1111I
    if 91 - 91: I1I . I11iiIi11i1I
    if 59 - 59: IiI11Ii111 . IiI11Ii111 * IIiIIiIi11I1
    if 85 - 85: Iii1i . oOO % Iii1i - Iii1i
    if 68 - 68: oOO + Iii1i + Ooo0Ooo % Oo / I11iiIi11i1I . OooOoo
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
