2017-02: Retroactive Updates

* The working dir should now be X:\WK
  * Useful when quiting out of python to troubleshooting
* Safer setup and formatting cleanup
  * Backup summary is now more detailed
  * Setup messages now more closely match the backup messages
  * More checks are done during under format_gpt() and format_mbr()
  * Setup specific functions have been refactored for easier reading
* ConEmu settings update
  * No longer minimizes to the systray
    * This helps to prevent locking yourself out of the console
  * Added new color schemes
* Bugfixes and Formatting
  * Install Windows has been renamed Setup Windows to match function names
  * Setup Windows summary screen is more detailed now
  * Setup Windows drive formatting auth questions are now at the end
    * Also reworded warning
  * Bugfix: all regex calls now case insensitive.
    * i.e. You can answer yes with 'y' or 'Y' or 'Yes' now
This commit is contained in:
Alan Mason 2017-11-24 21:09:57 -08:00
parent e05d2ce862
commit 1da75165f9
6 changed files with 405 additions and 197 deletions

6
.gitignore vendored
View file

@ -1 +1,5 @@
Scripts/__pycache__
*iso
Scripts/__pycache__
dism*
mount
pe_files

View file

@ -87,28 +87,28 @@ COLORS = {
'YELLOW': '\033[33m',
'BLUE': '\033[34m'}
class AbortException(Exception):
class AbortError(Exception):
pass
class BackupException(Exception):
class BackupError(Exception):
pass
class SetupException(Exception):
class SetupError(Exception):
pass
def abort_to_main_menu(message='Returning to main menu...'):
print_warning(message)
pause('Press Enter to return to main menu... ')
raise AbortException
raise AbortError
def ask(prompt='Kotaero'):
answer = None
prompt = prompt + ' [Y/N]: '
while answer is None:
tmp = input(prompt)
if re.search(r'^y(es|)$', tmp):
if re.search(r'^y(es|)$', tmp, re.IGNORECASE):
answer = True
elif re.search(r'^n(o|ope|)$', tmp):
elif re.search(r'^n(o|ope|)$', tmp, re.IGNORECASE):
answer = False
return answer
@ -123,10 +123,12 @@ def assign_volume_letters():
except subprocess.CalledProcessError:
pass
def backup_partition(bin=None, par=None):
def backup_partition(bin=None, disk=None, par=None):
# Bail early
if bin is None:
raise Exception('bin path not specified.')
if disk is None:
raise Exception('Disk not specified.')
if par is None:
raise Exception('Partition not specified.')
@ -145,7 +147,7 @@ def backup_partition(bin=None, par=None):
except subprocess.CalledProcessError as err:
print_error('Failed.')
par['Error'] = err.stderr.decode().splitlines()
raise BackupException
raise BackupError
def convert_to_bytes(size):
size = str(size)
@ -240,7 +242,7 @@ def format_gpt(disk=None, windows_family=None):
raise Exception('No Windows family provided.')
# Format drive
print_info('Drive will use a GPT (UEFI) layout.')
# print_info('Drive will use a GPT (UEFI) layout.')
with open(diskpart_script, 'w') as script:
# Partition table
script.write('select disk {number}\n'.format(number=disk['Number']))
@ -270,7 +272,6 @@ def format_gpt(disk=None, windows_family=None):
script.write('gpt attributes=0x8000000000000001\n')
# Run script
print(' Formatting drive...')
run_program('diskpart /s {script}'.format(script=diskpart_script))
time.sleep(2)
@ -284,7 +285,7 @@ def format_mbr(disk=None, windows_family=None):
raise Exception('No Windows family provided.')
# Format drive
print_info('Drive will use a MBR (legacy) layout.')
# print_info('Drive will use a MBR (legacy) layout.')
with open(diskpart_script, 'w') as script:
# Partition table
script.write('select disk {number}\n'.format(number=disk['Number']))
@ -310,7 +311,6 @@ def format_mbr(disk=None, windows_family=None):
script.write('set id=27\n')
# Run script
print(' Formatting drive...')
run_program('diskpart /s {script}'.format(script=diskpart_script))
time.sleep(2)
@ -430,7 +430,7 @@ def get_partition_details(disk=None, par=None):
# Get volume letter or RAW status
tmp = re.search(r'Volume\s+\d+\s+(\w|RAW)\s+', process_return)
if tmp:
if tmp.group(1) == 'RAW':
if tmp.group(1).upper() == 'RAW':
details['FileSystem'] = RAW
else:
details['Letter'] = tmp.group(1)
@ -502,7 +502,7 @@ def get_partitions(disk=None):
pass
else:
# Append partition numbers
for tmp in re.findall(r'Partition\s+(\d+)\s+\w+\s+(\d+\s+\w+)\s+', process_return):
for tmp in re.findall(r'Partition\s+(\d+)\s+\w+\s+(\d+\s+\w+)\s+', process_return, re.IGNORECASE):
_num = tmp[0]
_size = human_readable_size(tmp[1])
partitions.append({'Number': _num, 'Size': _size})
@ -525,11 +525,11 @@ def get_table_type(disk=None):
except subprocess.CalledProcessError:
pass
else:
if re.findall(r'Disk ID: {[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+}', process_return):
if re.findall(r'Disk ID: {[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+-[A-Z0-9]+}', process_return, re.IGNORECASE):
_type = 'GPT'
elif re.findall(r'Disk ID: 00000000', process_return):
elif re.findall(r'Disk ID: 00000000', process_return, re.IGNORECASE):
_type = 'RAW'
elif re.findall(r'Disk ID: [A-Z0-9]+', process_return):
elif re.findall(r'Disk ID: [A-Z0-9]+', process_return, re.IGNORECASE):
_type = 'MBR'
return _type
@ -704,7 +704,7 @@ def prep_disk_for_backup(dest=None, disk=None, ticket_id=None):
raise Exception('Ticket ID not provided.')
# Get partition totals
disk['Bad Partitions'] = [par['Number'] for par in disk['Partitions'] if 'Letter' not in par or re.search(r'(RAW|Unknown)', par['FileSystem'])]
disk['Bad Partitions'] = [par['Number'] for par in disk['Partitions'] if 'Letter' not in par or re.search(r'(RAW|Unknown)', par['FileSystem'], re.IGNORECASE)]
disk['Valid Partitions'] = len(disk['Partitions']) - len(disk['Bad Partitions'])
# Bail if no valid partitions are found (those that can be imaged)
@ -749,22 +749,22 @@ def prep_disk_for_backup(dest=None, disk=None, ticket_id=None):
# Set description for bad partitions
if len(disk['Bad Partitions']) > 1:
disk['Backup Warnings'] = '\n{YELLOW} * Unable to backup these partitions{CLEAR}'.format(**COLORS)
disk['Backup Warnings'] += '{YELLOW} * Unable to backup these partitions{CLEAR}\n'.format(**COLORS)
elif len(disk['Bad Partitions']) == 1:
print_warning(' * Unable to backup this partition')
disk['Backup Warnings'] = '\n{YELLOW} * Unable to backup this partition{CLEAR}'.format(**COLORS)
disk['Backup Warnings'] += '{YELLOW} * Unable to backup this partition{CLEAR}\n'.format(**COLORS)
# Set description for partitions that would be clobbered
if disk['Clobber Risk'] > 1:
disk['Backup Warnings'] = '\n{BLUE} + These partitions already have backup images on {Display Name}{CLEAR}'.format(**dest, **COLORS)
elif disk['Clobber Risk'] == 1:
disk['Backup Warnings'] = '\n{BLUE} + This partition already has a backup image on {Display Name}{CLEAR}'.format(**dest, **COLORS)
if len(disk['Clobber Risk']) > 1:
disk['Backup Warnings'] += '{BLUE} + These partitions already have backup images on {Name}{CLEAR}\n'.format(**dest, **COLORS)
elif len(disk['Clobber Risk']) == 1:
disk['Backup Warnings'] += '{BLUE} + This partition already has a backup image on {Name}{CLEAR}\n'.format(**dest, **COLORS)
# Set warning for skipped partitions
if disk['Clobber Risk'] + len(disk['Bad Partitions']) > 1:
disk['Backup Warnings'] = '\n{YELLOW}If you continue the partitions marked above will NOT be backed up.{CLEAR}'.format(**COLORS)
if disk['Clobber Risk'] + len(disk['Bad Partitions']) == 1:
disk['Backup Warnings'] = '\n{YELLOW}If you continue the partition marked above will NOT be backed up.{CLEAR}'.format(**COLORS)
if len(disk['Clobber Risk']) + len(disk['Bad Partitions']) > 1:
disk['Backup Warnings'] += '\n{YELLOW}If you continue the partitions marked above will NOT be backed up.{CLEAR}\n'.format(**COLORS)
if len(disk['Clobber Risk']) + len(disk['Bad Partitions']) == 1:
disk['Backup Warnings'] += '\n{YELLOW}If you continue the partition marked above will NOT be backed up.{CLEAR}\n'.format(**COLORS)
def prep_disk_for_formatting(disk=None):
disk['Format Warnings'] = '\n'
@ -774,42 +774,28 @@ def prep_disk_for_formatting(disk=None):
if disk is None:
raise Exception('Disk not provided.')
# Confirm drive format
print_warning('All data will be deleted from the following drive:')
print_warning('\t{Size}\t({Table}) {Name}'.format(**disk))
if (not ask('Is this correct?')):
abort_to_main_menu('Aborting Windows setup')
# MBR/Legacy or GPT/UEFI?
# Set boot method and partition table type
disk['Use GPT'] = True
if (get_boot_mode() == 'UEFI'):
if (not ask("Setup drive using GPT (UEFI) layout?")):
if (not ask("Setup Windows to use UEFI booting?")):
disk['Use GPT'] = False
else:
if (ask("Setup drive using MBR (legacy) layout?")):
if (ask("Setup Windows to use BIOS/Legacy booting?")):
disk['Use GPT'] = False
# Disk details
disk['Format Warnings'] += ' FORMATTING:\tDrive: {Size}\t[{Table}] ({Type}) {Name}\n'.format(**disk)
if (disk['Use GPT']):
disk['Format Warnings'] += ' Using: \tGPT (UEFI) layout\n'
else:
disk['Format Warnings'] += ' Using: \tMBR (legacy) layout\n'
# Partition details
# Set Display and Warning Strings
if len(disk['Partitions']) == 0:
# Bad color hack that will probably cause (aesthetic) issues in the future
disk['Format Warnings'] += '{YELLOW}\t\tNo partitions found{CLEAR}'.format(**COLORS)
else:
disk['Format Warnings'] += ' ERASING the following partitions:\n'
disk['Format Warnings'] += 'No partitions found\n'
for par in disk['Partitions']:
if 'Letter' not in par or par['FileSystem'].upper() == 'RAW':
par['Display String'] = '\t\tPartition {Number:>{width}}:\t{Size} {q}{Name}{q} ({FileSystem})\t\t{Description} ({OS})'.format(
if 'Letter' not in par or re.search(r'(RAW|Unknown)', par['FileSystem'], re.IGNORECASE):
# FileSystem not accessible to WinPE. List partition type / OS info for technician
par['Display String'] = ' Partition {Number:>{width}}:\t{Size} {FileSystem}\t\t{q}{Name}{q}\t{Description} ({OS})'.format(
width=width,
q='"' if par['Name'] != '' else '',
**par)
else:
par['Display String'] = '\t\tPartition {Number:>{width}}:\t{Size} {q}{Name}{q} ({FileSystem})\t\t(Used space: {Used Space})'.format(
# FileSystem accessible to WinPE. List space used instead of partition type / OS info for technician
par['Display String'] = ' Partition {Number:>{width}}:\t{Size} {FileSystem} (Used: {Used Space})\t{q}{Name}{q}'.format(
width=width,
q='"' if par['Name'] != '' else '',
**par)
@ -892,7 +878,7 @@ def select_disk(prompt='Which disk?'):
for par in disk['Partitions']:
# Show unsupported partition(s) in RED
par_skip = False
if 'Letter' not in par or re.search(r'(RAW|Unknown)', par['FileSystem']):
if 'Letter' not in par or re.search(r'(RAW|Unknown)', par['FileSystem'], re.IGNORECASE):
par_skip = True
if par_skip:
display_name += COLORS['YELLOW']
@ -957,28 +943,6 @@ def select_windows_version():
elif selection == 'M':
abort_to_main_menu()
def setup_boot_files(windows_version=None, system_letter='S', windows_letter='W', tools_letter='T'):
# Bail early
if windows_version is None:
raise Exception('Windows version not specified.')
# Setup system partition
print(' Creating boot files...')
try:
run_program('bcdboot {win}:\\Windows /s {sys}: /f ALL'.format(win=windows_letter, sys=system_letter))
except subprocess.CalledProcessError:
print_error('Failed to create boot files.')
raise SetupException
if re.search(r'^(8|10)', windows_version['Family']):
try:
_dest = '{tools}:\\Recovery\\WindowsRE'.format(tools=tools_letter)
os.makedirs(_dest, exist_ok=True)
shutil.copy('{win}:\\Windows\\System32\\Recovery\\WinRE.wim', '{dest}\\WinRE.wim'.format(dest=_dest, win=windows_letter))
run_program('{win}:\\Windows\\System32\\reagentc /setreimage /path {dest} /target {win}:\\Windows'.format(dest=_dest, win=windows_letter))
except subprocess.CalledProcessError:
print_warning('Failed to setup WindowsRE files.')
raise SetupException
def setup_windows(bin=None, windows_image=None, windows_version=None):
# Bail early
if bin is None:
@ -989,13 +953,31 @@ def setup_windows(bin=None, windows_image=None, windows_version=None):
raise Exception('Windows version not specified.')
# Apply image
print(' Applying image...')
cmd = '{bin}\\wimlib\\wimlib-imagex apply "{File}.{Ext}" "{Image Name}" W:\\ {Glob}'.format(bin=bin, **windows_image, **windows_version)
try:
run_program(cmd)
except subprocess.CalledProcessError:
print_error('Failed to apply Windows image.')
raise SetupException
run_program(cmd)
def setup_windows_re(windows_version=None, windows_letter='W', tools_letter='T'):
# Bail early
if windows_version is None:
raise Exception('Windows version not specified.')
_win = '{win}:\\Windows'.format(win=windows_letter)
_winre = '{win}\\System32\\Recovery\\WinRE.wim'.format(win=_win)
_dest = '{tools}:\\Recovery\\WindowsRE'.format(tools=tools_letter)
if re.search(r'^(8|10)', windows_version['Family']):
# Copy WinRE.wim
os.makedirs(_dest, exist_ok=True)
shutil.copy(_winre, '{dest}\\WinRE.wim'.format(dest=_dest))
# Set location
run_program('{win}\\System32\\reagentc /setreimage /path {dest} /target {win}'.format(dest=_dest, win=_win))
else:
# Only supported on Windows 8 and above
raise SetupError
def update_boot_partition(system_letter='S', windows_letter='W', mode='ALL'):
run_program('bcdboot {win}:\\Windows /s {sys}: /f {mode}'.format(win=windows_letter, sys=system_letter, mode=mode))
def verify_wim_backup(bin=None, par=None):
# Bail early
@ -1016,7 +998,7 @@ def verify_wim_backup(bin=None, par=None):
except subprocess.CalledProcessError as err:
print_error('Damaged.')
par['Error'] = par.get('Error', []) + err.stderr.decode().splitlines()
raise BackupException
raise BackupError
if __name__ == '__main__':
print("This file is not meant to be called directly.")

View file

@ -16,13 +16,13 @@ def menu_backup_imaging():
"""Take backup images of partition(s) in the WIM format and save them to a backup share"""
errors = False
# Mount backup shares
os.system('cls')
mount_backup_shares()
# Set ticket ID
os.system('cls')
ticket_id = get_ticket_id()
# Mount backup shares
mount_backup_shares()
# Select destination
dest = select_destination()
if dest is None:
@ -37,11 +37,12 @@ def menu_backup_imaging():
# Display details for backup task
os.system('cls')
print('Create Backup - Details:\n')
print(' Drive: {Size}\t[{Table}] ({Type}) {Name}\n'.format(**disk))
print(' Ticket: \t{ticket_id}'.format(ticket_id=ticket_id))
print(' Source: \t[{Table}] ({Type}) {Name} {Size}\n'.format(**disk))
print(' Destination:\t{name}'.format(name=dest.get('Display Name', dest['Name'])))
for par in disk['Partitions']:
print(par['Display String'])
print(disk['Backup Warnings'])
print('\n Destination:\t{name}\n'.format(name=dest.get('Display Name', dest['Name'])))
# Ask to proceed
if (not ask('Proceed with backup?')):
@ -51,12 +52,12 @@ def menu_backup_imaging():
print('\n\nStarting task.\n')
for par in disk['Partitions']:
try:
backup_partition(bin, par)
except BackupException:
backup_partition(bin, disk, par)
except BackupError:
errors = True
# Verify backup(s)
if len(disk['Valid Partitions']) > 1:
if disk['Valid Partitions'] > 1:
print('\n\n Verifying backups\n')
else:
print('\n\n Verifying backup\n')
@ -65,7 +66,7 @@ def menu_backup_imaging():
continue # Skip verification
try:
verify_wim_backup(bin, par)
except BackupException:
except BackupError:
errors = True
# Print summary
@ -85,8 +86,11 @@ def menu_windows_setup():
"""Format a drive, partition for MBR or GPT, apply a Windows image, and rebuild the boot files"""
errors = False
# Select the version of Windows to apply
# Set ticket ID
os.system('cls')
ticket_id = get_ticket_id()
# Select the version of Windows to apply
windows_version = select_windows_version()
# Find Windows image
@ -96,29 +100,81 @@ def menu_windows_setup():
dest_disk = select_disk('To which drive are we installing Windows?')
prep_disk_for_formatting(dest_disk)
# Safety check
print_warning('SAFETY CHECK\n')
print_error(dest_disk['Format Warnings'])
# Display details for setup task
os.system('cls')
print('Setup Windows - Details:\n')
print(' Ticket: \t{ticket_id}'.format(ticket_id=ticket_id))
print(' Installing: \t{winver}'.format(winver=windows_version['Name']))
print(' Boot Method:\t{_type}'.format(
_type='UEFI (GPT)' if dest_disk['Use GPT'] else 'Legacy (MBR)'))
print(' Using Image:\t{File}.{Ext}'.format(**windows_image))
print_warning(' ERASING: \t[{Table}] ({Type}) {Name} {Size}\n'.format(**dest_disk))
for par in dest_disk['Partitions']:
print_error(par['Display String'])
print_info('\n Installing:\t{winver}'.format(winver=windows_version['Name']))
if (not ask('\nIs this correct?')):
print_warning(par['Display String'])
print_warning(dest_disk['Format Warnings'])
if (not ask('Is this correct?')):
abort_to_main_menu('Aborting Windows setup')
# Safety check
print('\nSAFETY CHECK')
print_warning('All data will be DELETED from the drive and partition(s) listed above.')
print_error('This is irreversible and will lead to DATA LOSS.')
if (not ask('Asking again to confirm, is this correct?')):
abort_to_main_menu('Aborting Windows setup')
# Release currently used volume letters (ensures that the drives will get S, T, & W as needed below)
remove_volume_letters(keep=windows_image['Source'])
# Format and partition drive
if (dest_disk['Use GPT']):
format_gpt(dest_disk, windows_version['Family'])
else:
format_mbr(dest_disk, windows_version['Family'])
print('\n Formatting Drive...\t\t'.format(**par), end='', flush=True)
try:
if (dest_disk['Use GPT']):
format_gpt(dest_disk, windows_version['Family'])
else:
format_mbr(dest_disk, windows_version['Family'])
print_success('Complete.')
except:
# We need to crash as the drive is in an unknown state
print_error('Failed.')
raise
# Setup Windows
# Apply Image
print(' Applying Image...\t\t'.format(**par), end='', flush=True)
try:
setup_windows(bin, windows_image, windows_version)
setup_boot_files(windows_version)
except SetupException:
print_success('Complete.')
except subprocess.CalledProcessError:
print_error('Failed.')
errors = True
except:
# We need to crash as the OS is in an unknown state
print_error('Failed.')
raise
# Create Boot files
print(' Update Boot Partition...\t\t'.format(**par), end='', flush=True)
try:
update_boot_partition()
print_success('Complete.')
except subprocess.CalledProcessError:
# Don't need to crash as this is (potentially) recoverable
print_error('Failed.')
errors = True
except:
print_error('Failed.')
raise
# Setup WinRE
print(' Update Recovery Tools...\t\t'.format(**par), end='', flush=True)
try:
setup_windows_re(windows_version)
print_success('Complete.')
except SetupError:
print_error('Skipped.')
except:
# Don't need to crash as this is (potentially) recoverable
print_error('Failed.')
errors = True
# Print summary
@ -126,7 +182,7 @@ def menu_windows_setup():
print_warning('\nErrors were encountered during setup.')
time.sleep(30)
else:
print_success('\nDone.')
print_success('\nNo errors were encountered during setup.')
time.sleep(5)
pause('\nPress Enter to return to main menu... ')
@ -173,7 +229,7 @@ def menu_tools():
def menu_main():
menus = [
{'Name': 'Create Backups', 'Menu': menu_backup_imaging},
{'Name': 'Install Windows', 'Menu': menu_windows_setup},
{'Name': 'Setup Windows', 'Menu': menu_windows_setup},
{'Name': 'Misc Tools', 'Menu': menu_tools},
]
actions = [
@ -189,7 +245,7 @@ def menu_main():
if (selection.isnumeric()):
try:
menus[int(selection)-1]['Menu']()
except AbortException:
except AbortError:
pass
except:
print_error('Major exception in: {menu}'.format(menu=menus[int(selection)-1]['Name']))

View file

@ -3,4 +3,4 @@
wpeinit
wpeutil updatebootinfo
cd /d "%SystemDrive%\WK"
"%SystemDrive%\WK\ConEmu\ConEmu.exe", /cmd cmd /k python "%SystemDrive%\WK\Scripts\menu.py"
"%SystemDrive%\WK\ConEmu\ConEmu.exe", /cmd cmd /k cd "%SystemDrive%\WK" & python "%SystemDrive%\WK\Scripts\menu.py"

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<key name="Software">
<key name="ConEmu">
<key name=".Vanilla" modified="2016-11-06 21:04:16" build="161022">
<key name=".Vanilla" modified="2017-02-26 11:32:01" build="170118">
<value name="StartType" type="hex" data="02"/>
<value name="CmdLine" type="string" data=""/>
<value name="StartTasksFile" type="string" data=""/>
@ -9,37 +9,37 @@
<value name="StartFarFolders" type="hex" data="00"/>
<value name="StartFarEditors" type="hex" data="00"/>
<value name="StartCreateDelay" type="ulong" data="100"/>
<value name="ColorTable00" type="dword" data="00362b00"/>
<value name="ColorTable01" type="dword" data="00423607"/>
<value name="ColorTable02" type="dword" data="0098a12a"/>
<value name="ColorTable03" type="dword" data="00837b65"/>
<value name="ColorTable04" type="dword" data="00164bcb"/>
<value name="ColorTable05" type="dword" data="00756e58"/>
<value name="ColorTable06" type="dword" data="00969483"/>
<value name="ColorTable07" type="dword" data="00e3f6fd"/>
<value name="ColorTable08" type="dword" data="00d5e8ee"/>
<value name="ColorTable09" type="dword" data="00d28b26"/>
<value name="ColorTable10" type="dword" data="00009985"/>
<value name="ColorTable11" type="dword" data="00c4716c"/>
<value name="ColorTable12" type="dword" data="002f32dc"/>
<value name="ColorTable13" type="dword" data="008236d3"/>
<value name="ColorTable14" type="dword" data="000089b5"/>
<value name="ColorTable15" type="dword" data="00a1a193"/>
<value name="ColorTable00" type="dword" data="00303030"/>
<value name="ColorTable01" type="dword" data="00ff5b1f"/>
<value name="ColorTable02" type="dword" data="0000ffaf"/>
<value name="ColorTable03" type="dword" data="00ffff87"/>
<value name="ColorTable04" type="dword" data="002929ef"/>
<value name="ColorTable05" type="dword" data="00ff8ad1"/>
<value name="ColorTable06" type="dword" data="000087ff"/>
<value name="ColorTable07" type="dword" data="00c6c6c6"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00d7af5f"/>
<value name="ColorTable10" type="dword" data="0000dba1"/>
<value name="ColorTable11" type="dword" data="00afd700"/>
<value name="ColorTable12" type="dword" data="004b4bff"/>
<value name="ColorTable13" type="dword" data="00a34eff"/>
<value name="ColorTable14" type="dword" data="004fe9fc"/>
<value name="ColorTable15" type="dword" data="00e7fdfd"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00800000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00808000"/>
<value name="ColorTable20" type="dword" data="00000080"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00008080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="00ff0000"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="00ffff00"/>
<value name="ColorTable28" type="dword" data="000000ff"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="0000ffff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
@ -138,7 +138,7 @@
<value name="CompressLongStrings" type="hex" data="01"/>
<value name="BackGround Image show" type="hex" data="01"/>
<value name="BackGround Image" type="string" data="ConEmu.jpg"/>
<value name="bgImageDarker" type="hex" data="5f"/>
<value name="bgImageDarker" type="hex" data="50"/>
<value name="bgImageColors" type="dword" data="ffffffff"/>
<value name="bgOperation" type="hex" data="07"/>
<value name="bgPluginAllowed" type="hex" data="01"/>
@ -155,7 +155,7 @@
<value name="WindowMode" type="dword" data="00000520"/>
<value name="ConWnd X" type="long" data="6"/>
<value name="ConWnd Y" type="long" data="6"/>
<value name="LastMonitor" type="string" data="0,0,1366,728"/>
<value name="LastMonitor" type="string" data="0,0,1440,900"/>
<value name="ConWnd Width" type="dword" data="0200004b"/>
<value name="ConWnd Height" type="dword" data="02000033"/>
<value name="16bit Height" type="ulong" data="0"/>
@ -227,8 +227,8 @@
<value name="SendAltPrintScrn" type="hex" data="00"/>
<value name="SendPrintScrn" type="hex" data="00"/>
<value name="SendCtrlEsc" type="hex" data="00"/>
<value name="Min2Tray" type="hex" data="01"/>
<value name="AlwaysShowTrayIcon" type="hex" data="01"/>
<value name="Min2Tray" type="hex" data="00"/>
<value name="AlwaysShowTrayIcon" type="hex" data="00"/>
<value name="SafeFarClose" type="hex" data="01"/>
<value name="SafeFarCloseMacro" type="string" data=""/>
<value name="FARuseASCIIsort" type="hex" data="00"/>
@ -401,7 +401,7 @@
<value name="Update.DownloadPath" type="string" data="%TEMP%\ConEmu"/>
<value name="Update.LeavePackages" type="hex" data="00"/>
<value name="Update.PostUpdateCmd" type="string" data="echo Last successful update&gt;ConEmuUpdate.info &amp;&amp; date /t&gt;&gt;ConEmuUpdate.info &amp;&amp; time /t&gt;&gt;ConEmuUpdate.info"/>
<key name="HotKeys" modified="2016-11-06 21:04:16" build="161022">
<key name="HotKeys" modified="2017-02-26 11:32:01" build="170118">
<value name="KeyMacroVersion" type="hex" data="02"/>
<value name="Multi.Modifier" type="dword" data="0000005b"/>
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
@ -586,9 +586,9 @@
<value name="DndRKey" type="hex" data="a2"/>
<value name="WndDragKey" type="dword" data="00121101"/>
</key>
<key name="Tasks" modified="2016-11-06 21:04:16" build="161022">
<key name="Tasks" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="9"/>
<key name="Task1" modified="2016-11-06 21:04:16" build="161022">
<key name="Task1" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd}"/>
<value name="Flags" type="dword" data="00000002"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -597,7 +597,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task2" modified="2016-11-06 21:04:16" build="161022">
<key name="Task2" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -606,7 +606,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task3" modified="2016-11-06 21:04:16" build="161022">
<key name="Task3" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd-32}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -615,7 +615,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task4" modified="2016-11-06 21:04:16" build="161022">
<key name="Task4" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd 64/32}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -625,7 +625,7 @@
<value name="Active" type="long" data="1"/>
<value name="Count" type="long" data="2"/>
</key>
<key name="Task5" modified="2016-11-06 21:04:16" build="161022">
<key name="Task5" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::PowerShell}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -634,7 +634,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task6" modified="2016-11-06 21:04:16" build="161022">
<key name="Task6" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::PowerShell (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -643,7 +643,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task7" modified="2016-11-06 21:04:16" build="161022">
<key name="Task7" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Bash::Git bash}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -652,7 +652,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task8" modified="2016-11-06 21:04:16" build="161022">
<key name="Task8" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Helper::Show ANSI colors}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -661,7 +661,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task9" modified="2016-11-06 21:04:16" build="161022">
<key name="Task9" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Tools::Chocolatey (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -671,12 +671,95 @@
<value name="Count" type="long" data="1"/>
</key>
</key>
<key name="Apps" modified="2016-11-06 21:04:16" build="161022">
<key name="Apps" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="0"/>
</key>
<key name="Colors" modified="2016-11-06 21:04:16" build="161022">
<value name="Count" type="long" data="0"/>
<key name="Colors" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="2"/>
<key name="Palette1" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="moe-dark"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00303030"/>
<value name="ColorTable01" type="dword" data="00ff5b1f"/>
<value name="ColorTable02" type="dword" data="0000ffaf"/>
<value name="ColorTable03" type="dword" data="00ffff87"/>
<value name="ColorTable04" type="dword" data="002929ef"/>
<value name="ColorTable05" type="dword" data="00ff8ad1"/>
<value name="ColorTable06" type="dword" data="000087ff"/>
<value name="ColorTable07" type="dword" data="00c6c6c6"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00d7af5f"/>
<value name="ColorTable10" type="dword" data="0000dba1"/>
<value name="ColorTable11" type="dword" data="00afd700"/>
<value name="ColorTable12" type="dword" data="004b4bff"/>
<value name="ColorTable13" type="dword" data="00a34eff"/>
<value name="ColorTable14" type="dword" data="004fe9fc"/>
<value name="ColorTable15" type="dword" data="00e7fdfd"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
<key name="Palette2" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="moe-light"/>
<value name="ExtendColors" type="hex" data="01"/>
<value name="ExtendColorIdx" type="hex" data="0b"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00e7fdfd"/>
<value name="ColorTable01" type="dword" data="00ffe5d4"/>
<value name="ColorTable02" type="dword" data="0000af00"/>
<value name="ColorTable03" type="dword" data="0087af00"/>
<value name="ColorTable04" type="dword" data="000000dd"/>
<value name="ColorTable05" type="dword" data="00ff089a"/>
<value name="ColorTable06" type="dword" data="003387fe"/>
<value name="ColorTable07" type="dword" data="00626262"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00ff5b1f"/>
<value name="ColorTable10" type="dword" data="0000af00"/>
<value name="ColorTable11" type="dword" data="00d7af5f"/>
<value name="ColorTable12" type="dword" data="002929ef"/>
<value name="ColorTable13" type="dword" data="008b1fff"/>
<value name="ColorTable14" type="dword" data="003387fe"/>
<value name="ColorTable15" type="dword" data="00303030"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
</key>
<value name="StatusBar.Hide.CellI" type="hex" data="01"/>
</key>
</key>
</key>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<key name="Software">
<key name="ConEmu">
<key name=".Vanilla" modified="2016-11-06 21:04:16" build="161022">
<key name=".Vanilla" modified="2017-02-26 11:32:01" build="170118">
<value name="StartType" type="hex" data="02"/>
<value name="CmdLine" type="string" data=""/>
<value name="StartTasksFile" type="string" data=""/>
@ -9,37 +9,37 @@
<value name="StartFarFolders" type="hex" data="00"/>
<value name="StartFarEditors" type="hex" data="00"/>
<value name="StartCreateDelay" type="ulong" data="100"/>
<value name="ColorTable00" type="dword" data="00362b00"/>
<value name="ColorTable01" type="dword" data="00423607"/>
<value name="ColorTable02" type="dword" data="0098a12a"/>
<value name="ColorTable03" type="dword" data="00837b65"/>
<value name="ColorTable04" type="dword" data="00164bcb"/>
<value name="ColorTable05" type="dword" data="00756e58"/>
<value name="ColorTable06" type="dword" data="00969483"/>
<value name="ColorTable07" type="dword" data="00e3f6fd"/>
<value name="ColorTable08" type="dword" data="00d5e8ee"/>
<value name="ColorTable09" type="dword" data="00d28b26"/>
<value name="ColorTable10" type="dword" data="00009985"/>
<value name="ColorTable11" type="dword" data="00c4716c"/>
<value name="ColorTable12" type="dword" data="002f32dc"/>
<value name="ColorTable13" type="dword" data="008236d3"/>
<value name="ColorTable14" type="dword" data="000089b5"/>
<value name="ColorTable15" type="dword" data="00a1a193"/>
<value name="ColorTable00" type="dword" data="00303030"/>
<value name="ColorTable01" type="dword" data="00ff5b1f"/>
<value name="ColorTable02" type="dword" data="0000ffaf"/>
<value name="ColorTable03" type="dword" data="00ffff87"/>
<value name="ColorTable04" type="dword" data="002929ef"/>
<value name="ColorTable05" type="dword" data="00ff8ad1"/>
<value name="ColorTable06" type="dword" data="000087ff"/>
<value name="ColorTable07" type="dword" data="00c6c6c6"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00d7af5f"/>
<value name="ColorTable10" type="dword" data="0000dba1"/>
<value name="ColorTable11" type="dword" data="00afd700"/>
<value name="ColorTable12" type="dword" data="004b4bff"/>
<value name="ColorTable13" type="dword" data="00a34eff"/>
<value name="ColorTable14" type="dword" data="004fe9fc"/>
<value name="ColorTable15" type="dword" data="00e7fdfd"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00800000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00808000"/>
<value name="ColorTable20" type="dword" data="00000080"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00008080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="00ff0000"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="00ffff00"/>
<value name="ColorTable28" type="dword" data="000000ff"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="0000ffff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
@ -138,7 +138,7 @@
<value name="CompressLongStrings" type="hex" data="01"/>
<value name="BackGround Image show" type="hex" data="01"/>
<value name="BackGround Image" type="string" data="ConEmu.jpg"/>
<value name="bgImageDarker" type="hex" data="5f"/>
<value name="bgImageDarker" type="hex" data="50"/>
<value name="bgImageColors" type="dword" data="ffffffff"/>
<value name="bgOperation" type="hex" data="07"/>
<value name="bgPluginAllowed" type="hex" data="01"/>
@ -155,7 +155,7 @@
<value name="WindowMode" type="dword" data="00000520"/>
<value name="ConWnd X" type="long" data="6"/>
<value name="ConWnd Y" type="long" data="6"/>
<value name="LastMonitor" type="string" data="0,0,1366,728"/>
<value name="LastMonitor" type="string" data="0,0,1440,900"/>
<value name="ConWnd Width" type="dword" data="0200004b"/>
<value name="ConWnd Height" type="dword" data="02000033"/>
<value name="16bit Height" type="ulong" data="0"/>
@ -227,8 +227,8 @@
<value name="SendAltPrintScrn" type="hex" data="00"/>
<value name="SendPrintScrn" type="hex" data="00"/>
<value name="SendCtrlEsc" type="hex" data="00"/>
<value name="Min2Tray" type="hex" data="01"/>
<value name="AlwaysShowTrayIcon" type="hex" data="01"/>
<value name="Min2Tray" type="hex" data="00"/>
<value name="AlwaysShowTrayIcon" type="hex" data="00"/>
<value name="SafeFarClose" type="hex" data="01"/>
<value name="SafeFarCloseMacro" type="string" data=""/>
<value name="FARuseASCIIsort" type="hex" data="00"/>
@ -401,7 +401,7 @@
<value name="Update.DownloadPath" type="string" data="%TEMP%\ConEmu"/>
<value name="Update.LeavePackages" type="hex" data="00"/>
<value name="Update.PostUpdateCmd" type="string" data="echo Last successful update&gt;ConEmuUpdate.info &amp;&amp; date /t&gt;&gt;ConEmuUpdate.info &amp;&amp; time /t&gt;&gt;ConEmuUpdate.info"/>
<key name="HotKeys" modified="2016-11-06 21:04:16" build="161022">
<key name="HotKeys" modified="2017-02-26 11:32:01" build="170118">
<value name="KeyMacroVersion" type="hex" data="02"/>
<value name="Multi.Modifier" type="dword" data="0000005b"/>
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
@ -586,9 +586,9 @@
<value name="DndRKey" type="hex" data="a2"/>
<value name="WndDragKey" type="dword" data="00121101"/>
</key>
<key name="Tasks" modified="2016-11-06 21:04:16" build="161022">
<key name="Tasks" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="9"/>
<key name="Task1" modified="2016-11-06 21:04:16" build="161022">
<key name="Task1" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd}"/>
<value name="Flags" type="dword" data="00000002"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -597,7 +597,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task2" modified="2016-11-06 21:04:16" build="161022">
<key name="Task2" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -606,7 +606,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task3" modified="2016-11-06 21:04:16" build="161022">
<key name="Task3" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd-32}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -615,7 +615,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task4" modified="2016-11-06 21:04:16" build="161022">
<key name="Task4" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::cmd 64/32}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -625,7 +625,7 @@
<value name="Active" type="long" data="1"/>
<value name="Count" type="long" data="2"/>
</key>
<key name="Task5" modified="2016-11-06 21:04:16" build="161022">
<key name="Task5" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::PowerShell}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -634,7 +634,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task6" modified="2016-11-06 21:04:16" build="161022">
<key name="Task6" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Shells::PowerShell (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -643,7 +643,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task7" modified="2016-11-06 21:04:16" build="161022">
<key name="Task7" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Bash::Git bash}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -652,7 +652,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task8" modified="2016-11-06 21:04:16" build="161022">
<key name="Task8" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Helper::Show ANSI colors}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -661,7 +661,7 @@
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task9" modified="2016-11-06 21:04:16" build="161022">
<key name="Task9" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="{Tools::Chocolatey (Admin)}"/>
<value name="Flags" type="dword" data="00000004"/>
<value name="Hotkey" type="dword" data="00000000"/>
@ -671,12 +671,95 @@
<value name="Count" type="long" data="1"/>
</key>
</key>
<key name="Apps" modified="2016-11-06 21:04:16" build="161022">
<key name="Apps" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="0"/>
</key>
<key name="Colors" modified="2016-11-06 21:04:16" build="161022">
<value name="Count" type="long" data="0"/>
<key name="Colors" modified="2017-02-26 11:32:01" build="170118">
<value name="Count" type="long" data="2"/>
<key name="Palette1" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="moe-dark"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00303030"/>
<value name="ColorTable01" type="dword" data="00ff5b1f"/>
<value name="ColorTable02" type="dword" data="0000ffaf"/>
<value name="ColorTable03" type="dword" data="00ffff87"/>
<value name="ColorTable04" type="dword" data="002929ef"/>
<value name="ColorTable05" type="dword" data="00ff8ad1"/>
<value name="ColorTable06" type="dword" data="000087ff"/>
<value name="ColorTable07" type="dword" data="00c6c6c6"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00d7af5f"/>
<value name="ColorTable10" type="dword" data="0000dba1"/>
<value name="ColorTable11" type="dword" data="00afd700"/>
<value name="ColorTable12" type="dword" data="004b4bff"/>
<value name="ColorTable13" type="dword" data="00a34eff"/>
<value name="ColorTable14" type="dword" data="004fe9fc"/>
<value name="ColorTable15" type="dword" data="00e7fdfd"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
<key name="Palette2" modified="2017-02-26 11:32:01" build="170118">
<value name="Name" type="string" data="moe-light"/>
<value name="ExtendColors" type="hex" data="01"/>
<value name="ExtendColorIdx" type="hex" data="0b"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00e7fdfd"/>
<value name="ColorTable01" type="dword" data="00ffe5d4"/>
<value name="ColorTable02" type="dword" data="0000af00"/>
<value name="ColorTable03" type="dword" data="0087af00"/>
<value name="ColorTable04" type="dword" data="000000dd"/>
<value name="ColorTable05" type="dword" data="00ff089a"/>
<value name="ColorTable06" type="dword" data="003387fe"/>
<value name="ColorTable07" type="dword" data="00626262"/>
<value name="ColorTable08" type="dword" data="00b2b2b2"/>
<value name="ColorTable09" type="dword" data="00ff5b1f"/>
<value name="ColorTable10" type="dword" data="0000af00"/>
<value name="ColorTable11" type="dword" data="00d7af5f"/>
<value name="ColorTable12" type="dword" data="002929ef"/>
<value name="ColorTable13" type="dword" data="008b1fff"/>
<value name="ColorTable14" type="dword" data="003387fe"/>
<value name="ColorTable15" type="dword" data="00303030"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00000080"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00008080"/>
<value name="ColorTable20" type="dword" data="00800000"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00808000"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="000000ff"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="0000ffff"/>
<value name="ColorTable28" type="dword" data="00ff0000"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="00ffff00"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
</key>
<value name="StatusBar.Hide.CellI" type="hex" data="01"/>
</key>
</key>
</key>