#!/opt/thinlinc/libexec/python3
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2002-2014 Cendio AB.
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import sys
import locale
import os
import getopt
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
from thinlinc import prefix
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
OOoOoo000O00 = False
Ooo0Ooo = False
ii1I1iII1I1I = "last"
if 71 - 71: IIiIIiIi11I1
def iI111iiIi11i ( ) :
 print ( """
Usage: 
  %s [-d] [-n nr] [command [arg]...]    (1st form)
  %s -s [-n nr]                         (2nd form)

In the 1st form, restore environment from disk and execute command
In the 2nd form, save environment to disk
Options:
    -d          Do not restore DISPLAY
    -n nr       Use specified session number instead of "last"
""" % ( sys . argv [ 0 ] , sys . argv [ 0 ] ) , file = sys . stderr )
 sys . exit ( 1 )
 if 77 - 77: iIiii1i - ooo0O0oO00 . o00o0OO00O
 if 57 - 57: iiIi1 - ii % iiI * IIi1i111IiII . I1I
def iIIIII1i111i ( ) :
 locale . setlocale ( locale . LC_ALL , "" )
 if 8 - 8: i1iiIII111 * i1 . I1I / ii
 global TLPREFIX
 TLPREFIX = prefix . get_tl_prefix ( )
 if 58 - 58: I1Ii1I1 - ooOOO
 if 60 - 60: ooo0O0oO00 . ii
 try :
  i1iiiiIIIiIi , II = getopt . getopt ( sys . argv [ 1 : ] , "dhn:s" )
 except getopt . GetoptError :
  if 34 - 34: iIiii1i + ii * o00o0OO00O * OooOoo
  iI111iiIi11i ( )
 for Ii111 , Iio0 in i1iiiiIIIiIi :
  if Ii111 == "-d" :
   global Ooo0Ooo
   Ooo0Ooo = True
  if Ii111 == "-h" :
   iI111iiIi11i ( )
  if Ii111 == "-n" :
   global ii1I1iII1I1I
   ii1I1iII1I1I = Iio0
  if Ii111 == "-s" :
   global OOoOoo000O00
   OOoOoo000O00 = True
   if 11 - 11: IIi1i111IiII . i1i1i1111I
 if OOoOoo000O00 :
  if II or Ooo0Ooo : iI111iiIi11i ( )
  I1i = prefix . get_tl_session_dir ( )
  i1111IIi = "w"
 else :
  if not II : iI111iiIi11i ( )
  if 86 - 86: i1 + IIiIIiIi11I1 + oOo0O00 / i1iiIII111 - Iii1i . ooo0O0oO00
  ii1IiIiiII = os . getenv ( "USER" )
  if ii1IiIiiII is None :
   sys . exit ( "Unable to retrieve USER from environment" )
  I1i = prefix . get_other_tl_session_dir ( ii1IiIiiII , ii1I1iII1I1I )
  i1111IIi = "r"
  if 21 - 21: oOo0O00 % iiIi1 % ii . oOo0O00
 if I1i is None :
  sys . exit ( "Unable to retrieve session directory" )
 iii11i = os . path . join ( I1i , "xstartup.env" )
 try :
  Oo0Oo00O0OO = open ( iii11i , i1111IIi )
 except OSError :
  sys . exit ( "Unable to open %s" % iii11i )
  if 7 - 7: iIiii1i
 with Oo0Oo00O0OO :
  if 36 - 36: Iii1i
  if OOoOoo000O00 :
   for oOo0O00O0ooo , i11iIii in list ( os . environ . items ( ) ) :
    Oo0Oo00O0OO . write ( "%s=%s\x00" % ( oOo0O00O0ooo , i11iIii ) )
   Oo0Oo00O0OO . close ( )
  else :
   OO = Oo0Oo00O0OO . read ( )
   for iiI1I11iiiiI in OO . split ( "\x00" ) :
    if not "=" in iiI1I11iiiiI :
     continue
    oOo0O00O0ooo , i11iIii = iiI1I11iiiiI . split ( "=" , 1 )
    if oOo0O00O0ooo == "DISPLAY" and Ooo0Ooo :
     continue
    os . environ [ oOo0O00O0ooo ] = i11iIii
   try :
    os . execvp ( II [ 0 ] , II )
   except OSError as iII11iIi1iIiI :
    sys . exit ( "%s: %s: %s" % ( sys . argv [ 0 ] , II [ 0 ] , iII11iIi1iIiI . args [ 1 ] ) )
    if 29 - 29: IiIIii11Ii - oOo0O00
if __name__ == "__main__" :
 iIIIII1i111i ( )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
