From 278d25abe18aeb542314de6a9c1a085fbd217b8d Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Tue, 11 Aug 2009 07:40:08 +0000 Subject: [PATCH] Added bash script to run the GUI. --- trimsp/TrimSPGUI/TrimSP | 5 + trimsp/TrimSPGUI/TrimSPGUI.pl | 856 +++++++++++++++++++++++++++--- trimsp/TrimSPGUI/TrimSPGUItabs.ui | 295 +++++----- 3 files changed, 950 insertions(+), 206 deletions(-) create mode 100755 trimsp/TrimSPGUI/TrimSP diff --git a/trimsp/TrimSPGUI/TrimSP b/trimsp/TrimSPGUI/TrimSP new file mode 100755 index 0000000..d1124a5 --- /dev/null +++ b/trimsp/TrimSPGUI/TrimSP @@ -0,0 +1,5 @@ +#!/bin/bash + +export PERLLIB=$HOME/Projects/TrimSPGUI +perl $HOME/Projects/TrimSPGUI/TrimSPGUI.pl + diff --git a/trimsp/TrimSPGUI/TrimSPGUI.pl b/trimsp/TrimSPGUI/TrimSPGUI.pl index 816ea17..aafa73c 100644 --- a/trimsp/TrimSPGUI/TrimSPGUI.pl +++ b/trimsp/TrimSPGUI/TrimSPGUI.pl @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'TrimSPGUItabs.ui' # -# Created: Mon Aug 10 15:36:32 2009 +# Created: Tue Aug 11 08:57:49 2009 # by: The PerlQt User Interface Compiler (puic) # # WARNING! All changes made in this file will be lost! @@ -20,7 +20,8 @@ use Qt::slots OpenHelpWindow => [], CollectValues => [], CreateInpFile => [], - StartSequenceOne => []; + StartSequenceOne => [], + DirectoryBrowse => []; use Qt::attributes qw( Progress tabs @@ -44,13 +45,6 @@ use Qt::attributes qw( Angle SigAngle Seed - groupBox15 - textLabelFN - FNPre - textLabelPath - Path - Start - Help groupBox1 textLabel1_4 NL @@ -85,6 +79,14 @@ use Qt::attributes qw( L7d L7Comp L7rho + Help + Start + groupBox15 + textLabelFN + FNPre + textLabelPath + Path + Browse AddParTab AddParam textLabelEF @@ -137,17 +139,656 @@ use Qt::attributes qw( ); +our $image0; +our $image0_data = pack 'C*', +0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x02, 0x50, 0x00, 0x00, 0x02, 0x19, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x69, 0xb5, 0x01, 0xe1, 0x00, 0x00, 0x1d, + 0x63, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xdd, 0x4f, 0x6f, 0x24, + 0xf9, 0x7d, 0xdf, 0xf1, 0x6f, 0x75, 0x37, 0xff, 0x8f, 0x46, 0x63, 0xfd, + 0x59, 0x01, 0x46, 0x00, 0x31, 0x2b, 0x20, 0xb9, 0x18, 0x09, 0xe2, 0x47, + 0xa0, 0x9b, 0xfc, 0x20, 0x6c, 0x5f, 0x17, 0xf2, 0xcd, 0x37, 0xdf, 0x76, + 0xf7, 0xec, 0x93, 0x00, 0xc3, 0xb0, 0x00, 0xdf, 0x72, 0xf7, 0xd9, 0xbe, + 0xf9, 0x11, 0x24, 0xe7, 0x1c, 0xb4, 0xe0, 0x22, 0x8e, 0xe4, 0x0d, 0x02, + 0xaf, 0xbc, 0xbb, 0x33, 0x24, 0xfb, 0x5f, 0xe5, 0x50, 0x2c, 0x76, 0x93, + 0xc3, 0x21, 0xbb, 0xba, 0xab, 0xbb, 0x7e, 0xbf, 0xaa, 0xd7, 0x0b, 0x68, + 0x70, 0x76, 0xc4, 0xe5, 0x74, 0x8f, 0x30, 0x9a, 0xb7, 0x3e, 0xbf, 0xea, + 0x62, 0x51, 0x96, 0x65, 0x00, 0x00, 0xb0, 0xb9, 0x51, 0xd7, 0x4f, 0x00, + 0x00, 0x20, 0x37, 0x02, 0x0a, 0x00, 0xa0, 0x21, 0x01, 0x05, 0x00, 0xd0, + 0x90, 0x80, 0x02, 0x00, 0x68, 0x48, 0x40, 0x01, 0x00, 0x34, 0x24, 0xa0, + 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, + 0x86, 0x26, 0xad, 0x7c, 0x95, 0xa2, 0x78, 0xff, 0x6e, 0x9c, 0x65, 0x59, + 0xb4, 0xf2, 0xb5, 0x01, 0x00, 0x12, 0x53, 0x34, 0xb9, 0x13, 0x79, 0xf1, + 0x54, 0x28, 0x45, 0xc4, 0xa6, 0x5f, 0x41, 0x51, 0x01, 0x00, 0xb9, 0x2b, + 0xcb, 0xb2, 0x68, 0xbc, 0x40, 0x95, 0xe5, 0xa7, 0xef, 0xff, 0x64, 0xf1, + 0xf9, 0x66, 0xff, 0xee, 0x93, 0x3f, 0xf9, 0xc4, 0xd7, 0x03, 0x00, 0x48, + 0x50, 0x71, 0xd7, 0x3c, 0xbb, 0x1f, 0xe1, 0x6d, 0x18, 0x4f, 0x8d, 0xfe, + 0x7d, 0x51, 0x05, 0x00, 0x24, 0xac, 0x9d, 0x6b, 0xa0, 0xda, 0xf6, 0x38, + 0xaa, 0x04, 0x15, 0x00, 0x90, 0x90, 0x34, 0x03, 0xea, 0x31, 0x2b, 0x15, + 0x00, 0x90, 0x90, 0xdd, 0x02, 0x6a, 0xd7, 0xe3, 0xbb, 0xb6, 0x7f, 0x6d, + 0x51, 0x05, 0x00, 0x1c, 0x40, 0x1e, 0x0b, 0xd4, 0xa6, 0x44, 0x15, 0x00, + 0x70, 0x00, 0xfd, 0x0a, 0xa8, 0xa7, 0xb8, 0x9e, 0x0a, 0x00, 0x68, 0x59, + 0xff, 0x03, 0xea, 0x31, 0x2b, 0x15, 0x00, 0xb0, 0xa3, 0xe1, 0x05, 0xd4, + 0x53, 0x44, 0x15, 0x00, 0xd0, 0x80, 0x80, 0xfa, 0x10, 0x51, 0x05, 0x00, + 0x7c, 0x80, 0x80, 0x6a, 0x42, 0x54, 0x01, 0x00, 0x21, 0xa0, 0x76, 0xe7, + 0x22, 0x75, 0x00, 0x18, 0x9c, 0xed, 0x03, 0xaa, 0xcb, 0x7b, 0x40, 0xa5, + 0xcc, 0x4a, 0x05, 0x00, 0xbd, 0xb7, 0x7d, 0x40, 0xed, 0xf0, 0x4d, 0x85, + 0x07, 0x47, 0x54, 0x01, 0x40, 0xaf, 0xb4, 0x7b, 0x84, 0x27, 0xaa, 0x36, + 0x27, 0xaa, 0x00, 0x20, 0x5b, 0xfb, 0xbf, 0x06, 0x4a, 0x54, 0x6d, 0xce, + 0xf5, 0x54, 0x00, 0x90, 0x85, 0x6e, 0x2e, 0x22, 0x17, 0x55, 0x9b, 0xb1, + 0x52, 0x01, 0x40, 0x92, 0xd2, 0x79, 0x17, 0xde, 0xe3, 0x30, 0x10, 0x54, + 0x4f, 0x13, 0x55, 0x00, 0xd0, 0xb9, 0x74, 0x02, 0xea, 0x31, 0x2b, 0xd5, + 0xe6, 0x44, 0x15, 0x00, 0x1c, 0x54, 0xba, 0x01, 0xf5, 0x14, 0x51, 0xb5, + 0x39, 0x51, 0x05, 0x00, 0x7b, 0x93, 0x57, 0x40, 0x3d, 0x45, 0x54, 0x6d, + 0xce, 0x45, 0xea, 0x00, 0xd0, 0x8a, 0xfc, 0x03, 0xea, 0x29, 0xae, 0xa7, + 0xda, 0x8c, 0x95, 0x0a, 0x00, 0xb6, 0xd2, 0xcf, 0x80, 0x7a, 0xcc, 0x4a, + 0xb5, 0x39, 0x51, 0x05, 0x00, 0x2f, 0x1a, 0x46, 0x40, 0x3d, 0x45, 0x54, + 0x6d, 0x4e, 0x54, 0x01, 0xc0, 0x03, 0xc3, 0x0d, 0xa8, 0xa7, 0x88, 0xaa, + 0xcd, 0xb9, 0x9e, 0x0a, 0x80, 0x01, 0x13, 0x50, 0x2f, 0x11, 0x55, 0x9b, + 0xb1, 0x52, 0x01, 0x30, 0x20, 0x02, 0x6a, 0x1b, 0x2e, 0x52, 0xdf, 0x8c, + 0x95, 0x0a, 0x80, 0x9e, 0x12, 0x50, 0x6d, 0xb0, 0x52, 0x6d, 0x46, 0x50, + 0x01, 0xd0, 0x13, 0x02, 0x6a, 0x5f, 0x44, 0xd5, 0xcb, 0x1c, 0xfb, 0x01, + 0x90, 0x29, 0x01, 0x75, 0x48, 0xa2, 0xea, 0x65, 0x56, 0x2a, 0x00, 0x32, + 0x20, 0xa0, 0xba, 0xe6, 0x7a, 0xaa, 0xe7, 0x09, 0x2a, 0x00, 0x12, 0x24, + 0xa0, 0x52, 0x63, 0xa5, 0x7a, 0x9e, 0x63, 0x3f, 0x00, 0x12, 0x20, 0xa0, + 0x72, 0x20, 0xaa, 0x9e, 0x67, 0xa5, 0x02, 0xe0, 0xc0, 0x04, 0x54, 0xae, + 0x44, 0xd5, 0x87, 0x09, 0x2a, 0x00, 0xf6, 0x4c, 0x40, 0xf5, 0x89, 0xa8, + 0x7a, 0x9a, 0x63, 0x3f, 0x00, 0x5a, 0x26, 0xa0, 0xfa, 0xce, 0x45, 0xea, + 0x4f, 0xb3, 0x52, 0x01, 0xb0, 0x03, 0x01, 0x35, 0x34, 0x56, 0xaa, 0xa7, + 0x09, 0x2a, 0x00, 0x1a, 0x28, 0xca, 0xb2, 0xdc, 0xfc, 0x93, 0x8b, 0x62, + 0xf3, 0x4f, 0x26, 0x6b, 0xfe, 0x8b, 0x7e, 0x5f, 0xd1, 0xf5, 0x13, 0x00, + 0x20, 0x09, 0x65, 0x59, 0x16, 0x8d, 0x03, 0xea, 0xea, 0xea, 0x6a, 0x7f, + 0xcf, 0x88, 0xa4, 0xfd, 0xf4, 0xf2, 0xb2, 0xeb, 0xa7, 0x90, 0x94, 0x2f, + 0xfd, 0x59, 0x00, 0x18, 0x9c, 0xcb, 0xcb, 0xcb, 0x28, 0xcb, 0xb2, 0x70, + 0x84, 0xc7, 0xc6, 0x1e, 0x07, 0xc3, 0xd0, 0x83, 0xea, 0xf1, 0xeb, 0x17, + 0x54, 0x00, 0xc3, 0x21, 0xa0, 0xd8, 0xda, 0x53, 0xc1, 0x30, 0xe4, 0xa8, + 0x7a, 0xea, 0xb5, 0x8b, 0x2a, 0x80, 0x7e, 0x12, 0x50, 0xb4, 0x4a, 0x54, + 0x3d, 0x64, 0xa5, 0x02, 0xe8, 0x27, 0x01, 0xc5, 0xde, 0x39, 0xfa, 0x5b, + 0x11, 0x54, 0x00, 0xfd, 0x20, 0xa0, 0x38, 0x38, 0x2b, 0xd5, 0x8a, 0x63, + 0x3f, 0x80, 0x3c, 0x09, 0x28, 0x92, 0x60, 0xa5, 0x5a, 0xb1, 0x52, 0x01, + 0xa4, 0x4f, 0x40, 0x91, 0x24, 0x2b, 0xd5, 0x8a, 0xa0, 0x02, 0x48, 0x8f, + 0x80, 0x22, 0x1b, 0x56, 0xaa, 0x8a, 0x63, 0x3f, 0x80, 0xee, 0x09, 0x28, + 0xb2, 0x65, 0xa5, 0x5a, 0xb1, 0x52, 0x01, 0x1c, 0x96, 0x80, 0xa2, 0x57, + 0xac, 0x54, 0x15, 0x41, 0x05, 0xb0, 0x5f, 0x02, 0x8a, 0x5e, 0xb3, 0x52, + 0x55, 0x1c, 0xfb, 0x01, 0xb4, 0x4b, 0x40, 0x31, 0x38, 0x56, 0xaa, 0x8a, + 0x95, 0x0a, 0x60, 0x7b, 0x02, 0x8a, 0xc1, 0xb3, 0x52, 0x55, 0x04, 0x15, + 0xc0, 0xe6, 0x04, 0x14, 0x3c, 0xc1, 0x4a, 0x25, 0xa8, 0x00, 0x9e, 0x23, + 0xa0, 0x60, 0x03, 0x56, 0x2a, 0x41, 0x05, 0xb0, 0x4e, 0x40, 0xc1, 0x96, + 0x86, 0xbe, 0x52, 0x09, 0x2a, 0x60, 0xc8, 0x04, 0x14, 0xb4, 0x64, 0xe8, + 0x2b, 0x95, 0xa0, 0x02, 0x86, 0x44, 0x40, 0xc1, 0x1e, 0x0d, 0x79, 0xa5, + 0x12, 0x54, 0x40, 0x9f, 0x09, 0x28, 0x38, 0xa0, 0x21, 0xaf, 0x54, 0x82, + 0x0a, 0xe8, 0x13, 0x01, 0x05, 0x1d, 0x1b, 0xea, 0x4a, 0x25, 0xa8, 0x80, + 0x9c, 0x09, 0x28, 0x48, 0xcc, 0x50, 0x57, 0x2a, 0x41, 0x05, 0xe4, 0x44, + 0x40, 0x41, 0x06, 0x86, 0xb8, 0x52, 0x09, 0x2a, 0x20, 0x65, 0x02, 0x0a, + 0x32, 0x34, 0xc4, 0x95, 0x6a, 0xfd, 0xf5, 0x89, 0x29, 0xa0, 0x6b, 0x02, + 0x0a, 0x7a, 0x62, 0x3d, 0x2a, 0x86, 0x14, 0x53, 0x11, 0x82, 0x0a, 0x38, + 0x3c, 0x01, 0x05, 0x3d, 0x34, 0xb4, 0x23, 0x3f, 0xeb, 0x14, 0x70, 0x68, + 0x02, 0x0a, 0x06, 0x60, 0x48, 0x41, 0x25, 0xa6, 0x80, 0x43, 0x10, 0x50, + 0x30, 0x40, 0x43, 0x09, 0x2a, 0x47, 0x7d, 0xc0, 0xbe, 0x08, 0x28, 0x60, + 0x30, 0xd7, 0x4f, 0x59, 0xa7, 0x80, 0xb6, 0x08, 0x28, 0xe0, 0x01, 0xeb, + 0x14, 0xc0, 0xcb, 0x04, 0x14, 0xf0, 0xac, 0x21, 0x06, 0x95, 0x98, 0x02, + 0x5e, 0x22, 0xa0, 0x80, 0x46, 0x86, 0x10, 0x54, 0xd6, 0x29, 0xe0, 0x25, + 0x02, 0x0a, 0xd8, 0xc9, 0x10, 0xae, 0x9f, 0xb2, 0x4e, 0x01, 0x8f, 0x09, + 0x28, 0xa0, 0x35, 0x43, 0x5b, 0xa7, 0xc4, 0x14, 0x0c, 0x97, 0x80, 0x02, + 0xf6, 0xa6, 0xef, 0x41, 0x55, 0xbf, 0x1e, 0x21, 0x05, 0xc3, 0x23, 0xa0, + 0x80, 0x83, 0xe9, 0x6b, 0x50, 0x59, 0xa5, 0x60, 0x78, 0x04, 0x14, 0xd0, + 0x99, 0x3e, 0x5e, 0x3f, 0x65, 0x95, 0x82, 0x61, 0x10, 0x50, 0x40, 0x12, + 0xfa, 0xb6, 0x4e, 0x09, 0x29, 0xe8, 0x37, 0x01, 0x05, 0x24, 0xa9, 0x2f, + 0xeb, 0x94, 0x90, 0x82, 0x7e, 0x12, 0x50, 0x40, 0xf2, 0xfa, 0xb0, 0x4e, + 0x09, 0x29, 0xe8, 0x17, 0x01, 0x05, 0x64, 0x27, 0xe7, 0x75, 0x4a, 0x48, + 0x41, 0x3f, 0x08, 0x28, 0x20, 0x6b, 0xb9, 0xc6, 0x94, 0x90, 0x82, 0xbc, + 0x09, 0x28, 0xa0, 0x37, 0x72, 0x3c, 0xea, 0xfb, 0xe9, 0xe5, 0xa5, 0x88, + 0x82, 0x0c, 0x09, 0x28, 0xa0, 0xb7, 0x72, 0x59, 0xa7, 0xac, 0x51, 0x90, + 0x1f, 0x01, 0x05, 0x0c, 0x42, 0x0e, 0xeb, 0x94, 0x35, 0x0a, 0xf2, 0x21, + 0xa0, 0x80, 0x41, 0x4a, 0x75, 0x9d, 0xb2, 0x46, 0x41, 0x1e, 0x04, 0x14, + 0x30, 0x78, 0x1f, 0x8a, 0x95, 0x2e, 0xc3, 0xca, 0x1a, 0x05, 0x69, 0x1b, + 0x75, 0xfd, 0x04, 0x00, 0x52, 0xf5, 0xe5, 0xd5, 0x55, 0xa7, 0x11, 0xf3, + 0xd3, 0xcb, 0xcb, 0xa4, 0xd6, 0x31, 0x60, 0x45, 0x40, 0x01, 0xbc, 0xa0, + 0x0e, 0xa9, 0xae, 0x62, 0x4a, 0x44, 0x41, 0x7a, 0x04, 0x14, 0x40, 0x03, + 0x5d, 0x85, 0x94, 0x35, 0x0a, 0xd2, 0x22, 0xa0, 0x00, 0xb6, 0x60, 0x8d, + 0x82, 0x61, 0x13, 0x50, 0x00, 0x5b, 0xea, 0xea, 0x68, 0x4f, 0x44, 0x41, + 0xf7, 0x04, 0x14, 0x40, 0x0b, 0xba, 0xbe, 0xe0, 0x9c, 0xc3, 0x72, 0xa4, + 0x8a, 0x80, 0x02, 0x68, 0xd1, 0xa1, 0x42, 0xca, 0x5f, 0xde, 0xdd, 0x10, + 0x4e, 0xd4, 0xdc, 0x07, 0x0a, 0x60, 0x0f, 0xea, 0x88, 0xda, 0xe7, 0x5f, + 0xb6, 0xee, 0x15, 0x75, 0x18, 0x82, 0x89, 0xa7, 0x58, 0xa0, 0x00, 0xf6, + 0x68, 0xdf, 0x81, 0x63, 0x11, 0xd9, 0x1f, 0xbf, 0xb7, 0x3c, 0x47, 0x40, + 0x01, 0xec, 0xd9, 0x21, 0x8e, 0xf5, 0xfc, 0x45, 0xdf, 0x1e, 0xe1, 0xc4, + 0x26, 0x1c, 0xe1, 0x01, 0x1c, 0xc8, 0xbe, 0x8f, 0xf5, 0x1c, 0xe9, 0x6d, + 0x4f, 0x30, 0xd1, 0x94, 0x05, 0x0a, 0xe0, 0xc0, 0x44, 0x4e, 0x7a, 0xbc, + 0x8b, 0x92, 0xa6, 0x04, 0x14, 0x40, 0x07, 0xf6, 0xf5, 0x17, 0xb6, 0x25, + 0x65, 0x37, 0x42, 0x8a, 0x4d, 0x09, 0x28, 0x80, 0x9e, 0x11, 0x51, 0xbb, + 0x13, 0x51, 0xbc, 0x44, 0x40, 0x01, 0x74, 0xc8, 0x12, 0x95, 0x26, 0xbf, + 0x7f, 0xbc, 0x44, 0x40, 0x01, 0x24, 0xc0, 0xe2, 0x01, 0x79, 0x11, 0x50, + 0x00, 0x89, 0x10, 0x51, 0x69, 0xb0, 0x3e, 0xb1, 0x09, 0x01, 0x05, 0x90, + 0x90, 0x36, 0x23, 0x4a, 0x08, 0x34, 0xf7, 0xdc, 0xef, 0x99, 0x0b, 0xcc, + 0x59, 0x27, 0xa0, 0x00, 0x12, 0x23, 0xa2, 0xd2, 0x26, 0xa4, 0x88, 0x10, + 0x50, 0x00, 0x49, 0xf2, 0x17, 0xf4, 0xe1, 0xbd, 0xb4, 0x3e, 0x6d, 0xf2, + 0x73, 0x0c, 0x87, 0x80, 0x02, 0x48, 0x94, 0xbf, 0xa0, 0x0f, 0xa7, 0x69, + 0x3c, 0x81, 0x80, 0x02, 0xe8, 0x39, 0xc7, 0x78, 0xd0, 0x3e, 0x01, 0x05, + 0x90, 0xb0, 0xb6, 0xd6, 0x0f, 0x11, 0xf5, 0x61, 0xd6, 0x27, 0xb6, 0x21, + 0xa0, 0x00, 0x12, 0xe7, 0x2f, 0xf1, 0xfd, 0x11, 0x4f, 0x6c, 0x6b, 0xd2, + 0xf5, 0x13, 0x00, 0xe0, 0x65, 0x5f, 0x5e, 0x5d, 0x59, 0x91, 0x1e, 0xf9, + 0x87, 0x7f, 0xb8, 0x8c, 0x37, 0x6f, 0x22, 0x8e, 0x8f, 0x23, 0x8e, 0x8e, + 0xaa, 0xc7, 0xe9, 0x69, 0xc4, 0x78, 0x5c, 0x3d, 0x6e, 0x6e, 0x22, 0xfe, + 0xe8, 0x8f, 0xae, 0xba, 0x7e, 0x9a, 0xf4, 0x54, 0x51, 0x96, 0xe5, 0xe6, + 0x9f, 0x5c, 0x14, 0xe5, 0x95, 0x22, 0x07, 0xe8, 0xcc, 0xae, 0x11, 0x95, + 0xfb, 0xaa, 0xf2, 0xf7, 0x7f, 0x7f, 0x19, 0x17, 0x17, 0x11, 0xaf, 0x5e, + 0x45, 0x9c, 0x9f, 0x47, 0x9c, 0x9c, 0x54, 0x8f, 0xa3, 0xa3, 0x22, 0x26, + 0x93, 0x88, 0xb3, 0xb3, 0x22, 0xc6, 0xe3, 0xea, 0xc7, 0xa3, 0x51, 0x44, + 0x51, 0x44, 0xdc, 0xdc, 0x2c, 0xa2, 0x2c, 0x23, 0x3e, 0xfe, 0xf8, 0xea, + 0xc1, 0xd7, 0xb2, 0x3e, 0xb1, 0x8d, 0xcb, 0xcb, 0xcb, 0x28, 0xcb, 0xb2, + 0xb0, 0x40, 0x01, 0x64, 0x62, 0xc8, 0x0b, 0xd4, 0xaf, 0x7e, 0x75, 0x19, + 0xaf, 0x5f, 0x47, 0x5c, 0x5c, 0x54, 0xc1, 0x74, 0x76, 0x16, 0x31, 0x99, + 0x14, 0x31, 0x1a, 0x55, 0xa1, 0x34, 0x99, 0x8c, 0xe2, 0xe4, 0x64, 0x1c, + 0xa7, 0xa7, 0xe3, 0x18, 0x8d, 0x56, 0x2b, 0xd4, 0x78, 0x5c, 0x85, 0x56, + 0x51, 0x44, 0x7c, 0xf5, 0xd5, 0x7f, 0x8c, 0xc5, 0xa2, 0x8c, 0x3f, 0xfc, + 0xc3, 0xe7, 0xd7, 0x3c, 0xf1, 0xc4, 0x26, 0x04, 0x14, 0x40, 0x26, 0x86, + 0x7a, 0x8c, 0xf7, 0xb7, 0x7f, 0x5b, 0xc5, 0xd3, 0xd9, 0xd9, 0xea, 0x31, + 0x1e, 0x17, 0x77, 0x81, 0x54, 0x44, 0x51, 0x44, 0x4c, 0x26, 0x93, 0x38, + 0x3e, 0x3e, 0x8a, 0x37, 0x6f, 0x2e, 0xe2, 0xec, 0xec, 0x38, 0xe6, 0xf3, + 0xdb, 0x98, 0xcd, 0x6e, 0xef, 0x02, 0xab, 0x8c, 0xd1, 0x28, 0xe2, 0xe4, + 0x64, 0x14, 0xcb, 0xe5, 0x32, 0xde, 0xbe, 0xfd, 0x4f, 0x5d, 0xbf, 0x24, + 0x7a, 0x40, 0x40, 0x01, 0x64, 0x64, 0x68, 0x11, 0xf5, 0xab, 0x5f, 0x55, + 0x47, 0x76, 0xc7, 0xc7, 0xab, 0x6b, 0x9d, 0x46, 0xa3, 0x22, 0x26, 0x93, + 0x51, 0x1c, 0x1d, 0x15, 0x71, 0x7c, 0x5c, 0xc4, 0xd9, 0xd9, 0x51, 0x9c, + 0x9f, 0x1f, 0xc5, 0xd9, 0xd9, 0x51, 0x9c, 0x9e, 0x9e, 0xc6, 0xd9, 0xd9, + 0x71, 0x9c, 0x9d, 0xbd, 0x8e, 0xb3, 0xb3, 0xe3, 0x28, 0x8a, 0x32, 0x8a, + 0x62, 0x19, 0x11, 0xd5, 0xc7, 0x7f, 0xf9, 0x97, 0xff, 0x13, 0x65, 0xb9, + 0x8c, 0x2f, 0x7e, 0x73, 0x1c, 0xdf, 0x7d, 0xf7, 0x2e, 0xfe, 0xcb, 0x7f, + 0x5d, 0x3e, 0xf8, 0xf5, 0xac, 0x4f, 0x6c, 0xca, 0x35, 0x50, 0x00, 0x19, + 0xda, 0x25, 0xa2, 0x72, 0x88, 0x84, 0xbf, 0xfa, 0xab, 0xcb, 0xf8, 0xd1, + 0x8f, 0xaa, 0x23, 0xbb, 0xf3, 0xf3, 0x2a, 0x9e, 0x4e, 0x4e, 0xaa, 0x8f, + 0xa7, 0xa7, 0xd5, 0x51, 0xdd, 0xc9, 0x49, 0x15, 0x50, 0x6f, 0xde, 0x5c, + 0xc4, 0xf7, 0xbf, 0x7f, 0x11, 0x67, 0x67, 0x47, 0xf1, 0xea, 0xd5, 0xeb, + 0x18, 0x8d, 0xce, 0x62, 0x3c, 0x3e, 0xbb, 0x0b, 0xa9, 0xe3, 0x88, 0x58, + 0x44, 0xc4, 0xe2, 0x3e, 0xa6, 0x16, 0x8b, 0xff, 0x1d, 0x5f, 0x7d, 0xf5, + 0xaf, 0x71, 0x73, 0x73, 0x1b, 0xd7, 0xd7, 0x37, 0x31, 0x9b, 0x95, 0xf1, + 0xdf, 0xfe, 0xb8, 0xcc, 0xe2, 0xf7, 0x85, 0xee, 0xb9, 0x06, 0x0a, 0x80, + 0x24, 0xfd, 0xe5, 0x5f, 0x5e, 0xc6, 0x47, 0x1f, 0x55, 0xd7, 0x2d, 0xcd, + 0xe7, 0xd5, 0xe3, 0xf8, 0xb8, 0xba, 0x9e, 0xe9, 0xe8, 0x68, 0x1c, 0xc7, + 0xc7, 0xe3, 0x38, 0x3e, 0xae, 0xae, 0x79, 0x7a, 0xf5, 0xea, 0x2c, 0xce, + 0xcf, 0x4f, 0xe3, 0xe4, 0xe4, 0x24, 0x2e, 0x2e, 0x4e, 0xe3, 0xf5, 0xeb, + 0x37, 0x31, 0x1e, 0x5f, 0x3c, 0x78, 0xd4, 0x01, 0x15, 0x31, 0x8f, 0x88, + 0x45, 0x8c, 0x46, 0x8b, 0xf8, 0xe8, 0xa3, 0x45, 0xbc, 0x7d, 0xfb, 0x36, + 0xbe, 0xfe, 0xfa, 0xf7, 0x71, 0x7d, 0x7d, 0x1b, 0xff, 0xf3, 0x7f, 0x2c, + 0xe2, 0x07, 0xdd, 0xbe, 0x6c, 0x32, 0x23, 0xa0, 0x00, 0x48, 0xc6, 0x5f, + 0xfc, 0xc5, 0x65, 0xfc, 0xe4, 0x27, 0xf5, 0x85, 0xe1, 0xab, 0x70, 0x2a, + 0x8a, 0x88, 0xe5, 0x32, 0x62, 0x3c, 0x1e, 0x45, 0x51, 0x54, 0x8f, 0x88, + 0x51, 0x14, 0xc5, 0x51, 0x14, 0xc5, 0x79, 0x8c, 0x46, 0xaf, 0xe2, 0xe8, + 0xe8, 0x22, 0x26, 0x93, 0x1f, 0xc6, 0x72, 0xf9, 0xbd, 0x28, 0xcb, 0x57, + 0x11, 0xf1, 0xbd, 0x88, 0x78, 0x15, 0x55, 0x38, 0xd5, 0x8f, 0x59, 0x8c, + 0x46, 0x93, 0x18, 0x8d, 0xde, 0xc4, 0xf7, 0xbe, 0xf7, 0x55, 0x9c, 0x9f, + 0xff, 0x6b, 0x7c, 0xfd, 0xf5, 0xbf, 0xc7, 0xd7, 0x5f, 0xff, 0xbe, 0xc3, + 0x57, 0x4d, 0x8e, 0x04, 0x14, 0x00, 0x49, 0xf8, 0xe5, 0x2f, 0x2f, 0xe3, + 0xe4, 0x24, 0x62, 0x36, 0xab, 0xee, 0xe7, 0x34, 0x99, 0x54, 0xf1, 0x54, + 0xc7, 0xd4, 0x64, 0x32, 0x8e, 0xe5, 0xb2, 0x88, 0xc5, 0x22, 0x62, 0x3e, + 0x2f, 0xe2, 0xe4, 0xa4, 0x88, 0xd1, 0x68, 0x12, 0x47, 0x47, 0xc7, 0x71, + 0x72, 0x72, 0x1a, 0x27, 0x27, 0xaf, 0xe2, 0xf8, 0xf8, 0xc7, 0x51, 0x96, + 0x3f, 0x88, 0xe5, 0xf2, 0x0f, 0xa2, 0x28, 0xce, 0x22, 0xe2, 0x2c, 0x22, + 0x66, 0x11, 0x31, 0xbd, 0xfb, 0xb8, 0x8c, 0x88, 0x1f, 0x47, 0xc4, 0x17, + 0x31, 0x1e, 0x7f, 0x1b, 0xa3, 0xd1, 0x4f, 0xe2, 0x47, 0x3f, 0xba, 0x88, + 0xa2, 0x28, 0xe2, 0xab, 0xaf, 0x7e, 0x16, 0xaf, 0x5f, 0xff, 0xa6, 0xc3, + 0xdf, 0x01, 0x72, 0x22, 0xa0, 0x00, 0x06, 0xe6, 0xa7, 0x97, 0x97, 0x49, + 0x5e, 0xef, 0x53, 0x96, 0xab, 0x6b, 0x9d, 0x4e, 0x4e, 0x56, 0xf7, 0x71, + 0x1a, 0x8d, 0xaa, 0xf5, 0xa9, 0xbe, 0x64, 0x77, 0x34, 0x1a, 0xc5, 0x78, + 0x5c, 0x2d, 0x50, 0x11, 0xe3, 0xa8, 0xfe, 0x2a, 0x3b, 0x8a, 0x88, 0xe3, + 0x18, 0x8d, 0x2e, 0x22, 0xe2, 0x75, 0x8c, 0xc7, 0xaf, 0x22, 0xe2, 0x4d, + 0x44, 0x7c, 0x3f, 0xaa, 0x70, 0x9a, 0x45, 0xbd, 0x40, 0xad, 0x7e, 0x3c, + 0x89, 0xa2, 0xf8, 0x5d, 0x8c, 0xc7, 0xbf, 0x8d, 0xb3, 0xb3, 0x1f, 0xc4, + 0x0f, 0x7f, 0x38, 0x8a, 0xd9, 0xec, 0xc0, 0x2f, 0x9a, 0x6c, 0x09, 0x28, + 0x00, 0x3a, 0xf7, 0xc9, 0x27, 0x97, 0x71, 0x7c, 0x5c, 0x5d, 0xef, 0x34, + 0x9b, 0x55, 0x8f, 0xfa, 0x1e, 0x4f, 0xf5, 0x0a, 0x35, 0x9b, 0xd5, 0x3f, + 0x2e, 0x63, 0x32, 0x89, 0xfb, 0x35, 0x6a, 0x3a, 0x2d, 0xe3, 0xf6, 0xb6, + 0x8c, 0xf9, 0x7c, 0x1c, 0x11, 0xc7, 0x11, 0x71, 0x12, 0xd5, 0xf1, 0xdd, + 0x0f, 0xa2, 0x3a, 0xc2, 0xbb, 0x88, 0x88, 0x9b, 0xbb, 0x47, 0x7d, 0x94, + 0xf7, 0x51, 0x44, 0xbc, 0xbe, 0xfb, 0xfc, 0xe3, 0x28, 0xcb, 0xdf, 0x47, + 0x59, 0x46, 0x5c, 0x5f, 0xff, 0xe7, 0x38, 0x3b, 0xfb, 0x5f, 0x5d, 0xfc, + 0x16, 0x90, 0x19, 0x01, 0x05, 0x90, 0xa1, 0x3e, 0xde, 0xce, 0xa0, 0x28, + 0xaa, 0xa3, 0xbb, 0xd3, 0xd3, 0x55, 0x3c, 0xad, 0x22, 0x6a, 0x1c, 0x93, + 0xc9, 0x38, 0xc6, 0xe3, 0xea, 0x51, 0x14, 0xa3, 0x58, 0x2e, 0x8b, 0x88, + 0x98, 0xc4, 0x78, 0x7c, 0x12, 0xc7, 0xc7, 0xe7, 0x31, 0x1e, 0x9f, 0x46, + 0x15, 0x4f, 0xc7, 0xb1, 0x0a, 0xa9, 0x37, 0x51, 0x1d, 0xd9, 0x4d, 0x23, + 0xe2, 0xf6, 0xd1, 0xc7, 0xb7, 0x11, 0xf1, 0x5d, 0x44, 0xbc, 0x8d, 0xd7, + 0xaf, 0xff, 0x43, 0x14, 0xc5, 0x71, 0x44, 0x44, 0xfc, 0xee, 0x77, 0x1f, + 0xc7, 0x8f, 0x7f, 0xfc, 0xc5, 0xa1, 0x5f, 0x3e, 0x99, 0xf1, 0xcd, 0x84, + 0x01, 0xe8, 0xd4, 0x27, 0x9f, 0x5c, 0xc6, 0x68, 0x54, 0xad, 0x4f, 0x8b, + 0x45, 0xf5, 0x28, 0xcb, 0xea, 0xd8, 0x6e, 0xb9, 0x5c, 0xfd, 0xdc, 0x7c, + 0x5e, 0xc6, 0x7c, 0x5e, 0xc6, 0x62, 0x51, 0xde, 0xff, 0x78, 0x3e, 0x9f, + 0xc7, 0x6c, 0x76, 0x13, 0xf3, 0xf9, 0x34, 0x96, 0xcb, 0x79, 0x44, 0x94, + 0x1f, 0x78, 0x44, 0x44, 0x14, 0x6b, 0xbf, 0x6a, 0x19, 0x11, 0xe7, 0x51, + 0xc5, 0xd5, 0x59, 0x44, 0x2c, 0x63, 0xb1, 0x28, 0xa2, 0x2c, 0x27, 0x71, + 0x71, 0x71, 0x7c, 0xb8, 0x17, 0x4f, 0xb6, 0x2c, 0x50, 0x00, 0x74, 0x6e, + 0xb9, 0x8c, 0xfb, 0x88, 0x9a, 0xcf, 0x23, 0xa6, 0xd3, 0xea, 0xe7, 0x8b, + 0xa2, 0x3a, 0xb6, 0x2b, 0xcb, 0xea, 0xda, 0xa7, 0xc9, 0x64, 0xf5, 0x78, + 0xf5, 0xea, 0xf5, 0xfd, 0xe3, 0xec, 0xec, 0x2c, 0x8e, 0x8e, 0x26, 0xf1, + 0x30, 0x98, 0xd6, 0x03, 0xaa, 0xbe, 0x8d, 0xc1, 0x3c, 0xaa, 0x0b, 0xc9, + 0xcb, 0x88, 0xb8, 0x8e, 0x88, 0xaf, 0xa3, 0xbe, 0xb0, 0xfc, 0xcd, 0x9b, + 0xea, 0x73, 0xe7, 0xf3, 0xcd, 0xef, 0x8f, 0xc8, 0x70, 0x59, 0xa0, 0x00, + 0xe8, 0xcc, 0x27, 0x9f, 0x5c, 0xde, 0xff, 0xb8, 0xba, 0xcb, 0xf8, 0xc3, + 0x15, 0xaa, 0x2c, 0xeb, 0xf5, 0x29, 0x62, 0x36, 0x2b, 0x63, 0x3a, 0x2d, + 0x63, 0x36, 0x5b, 0x5f, 0xa0, 0x96, 0xf7, 0x3f, 0x5e, 0x2e, 0x97, 0x51, + 0xc5, 0xd0, 0xfa, 0x63, 0x3d, 0xa8, 0x22, 0xaa, 0x15, 0xaa, 0xfe, 0xb9, + 0x51, 0x54, 0x47, 0x7d, 0xa7, 0x51, 0x5d, 0x8c, 0xbe, 0xfa, 0xf7, 0x7e, + 0xfb, 0xdb, 0x9f, 0xed, 0xff, 0xc5, 0x93, 0x35, 0x0b, 0x14, 0x00, 0x49, + 0x98, 0xcf, 0x57, 0xdf, 0x00, 0xf8, 0xf8, 0xf8, 0xe1, 0xf1, 0xdd, 0x6c, + 0x56, 0x46, 0x51, 0x2c, 0xee, 0x16, 0xa9, 0x22, 0xc6, 0xe3, 0x22, 0x66, + 0xb3, 0x69, 0x4c, 0xa7, 0xd7, 0x31, 0x9b, 0x1d, 0xdf, 0x3d, 0x8e, 0x62, + 0xb9, 0xfc, 0x26, 0x46, 0xa3, 0xfa, 0x9d, 0x79, 0xeb, 0x1f, 0xeb, 0x77, + 0xe0, 0xdd, 0xde, 0x3f, 0x96, 0xcb, 0x69, 0x2c, 0x97, 0xe3, 0xa8, 0xa2, + 0x6a, 0x11, 0x11, 0xd3, 0x58, 0x2c, 0xca, 0x58, 0x2c, 0x22, 0x8e, 0x8f, + 0xed, 0x0b, 0x3c, 0x4f, 0x40, 0x01, 0xd0, 0xb9, 0xfa, 0x9e, 0x4f, 0x93, + 0xc9, 0x6a, 0x85, 0xaa, 0x6f, 0x29, 0x50, 0xdd, 0x81, 0x3c, 0xee, 0x6e, + 0xa0, 0x59, 0xc4, 0x72, 0x19, 0x6b, 0x0b, 0x54, 0x19, 0xb3, 0xd9, 0x2c, + 0x66, 0xb3, 0xeb, 0x98, 0x4e, 0x8f, 0x63, 0x3a, 0xbd, 0x8e, 0xf1, 0xf8, + 0x34, 0x46, 0xa3, 0x7f, 0xbf, 0xbb, 0xd5, 0xc1, 0x38, 0xaa, 0xa5, 0x69, + 0x75, 0x23, 0xcd, 0xd5, 0x0d, 0x35, 0x23, 0x96, 0xcb, 0xaf, 0x63, 0x3e, + 0xff, 0xbf, 0x11, 0xf1, 0x6d, 0x44, 0x4c, 0x63, 0x3e, 0x9f, 0xde, 0x7d, + 0xdd, 0x88, 0x2f, 0xbe, 0xf8, 0x38, 0x3e, 0xfe, 0xd8, 0xc5, 0xe4, 0x3c, + 0x4d, 0x40, 0x01, 0xd0, 0xb9, 0xfa, 0x1e, 0x4f, 0xf3, 0xf9, 0xea, 0xd6, + 0x05, 0xf5, 0xcf, 0xad, 0x1f, 0xe1, 0x8d, 0xc7, 0xd5, 0xf7, 0xb3, 0xab, + 0x6e, 0x6b, 0xb0, 0x7c, 0xf4, 0x98, 0xc6, 0x6c, 0x76, 0x1d, 0x8b, 0xc5, + 0x69, 0x8c, 0xc7, 0x27, 0xb1, 0x5c, 0x9e, 0xc6, 0x68, 0xf4, 0x4d, 0x8c, + 0xc7, 0xeb, 0x0b, 0xd4, 0xc3, 0x90, 0x2a, 0x8a, 0xdb, 0x18, 0x8d, 0x46, + 0xb1, 0x58, 0x2c, 0x62, 0xb1, 0xa8, 0x03, 0xaa, 0x5a, 0xa2, 0xe0, 0x39, + 0x02, 0x0a, 0x80, 0xce, 0x2d, 0x16, 0xd5, 0x05, 0xe3, 0x11, 0xab, 0x8f, + 0xf5, 0x3b, 0xf1, 0xea, 0x23, 0xbc, 0x88, 0xe5, 0xfd, 0x8d, 0x35, 0xc7, + 0xe3, 0x88, 0x77, 0xef, 0xa6, 0xef, 0x7d, 0x9d, 0xf3, 0xf3, 0x7f, 0x8b, + 0xf3, 0xf3, 0xfa, 0x9e, 0x4f, 0xb7, 0xb1, 0xba, 0xff, 0xd3, 0x32, 0x1e, + 0x5e, 0x48, 0x5e, 0x05, 0xd4, 0xdb, 0xb7, 0xbf, 0x8f, 0xc5, 0xe2, 0xdb, + 0x58, 0x2e, 0xdf, 0xc5, 0x62, 0x71, 0xfb, 0xe0, 0x5d, 0x7e, 0x65, 0x59, + 0xbc, 0xf7, 0xf5, 0xa1, 0x26, 0xa0, 0x00, 0x48, 0xc2, 0x7c, 0x5e, 0x45, + 0xd3, 0xed, 0x6d, 0xf5, 0xb1, 0x28, 0xaa, 0x6b, 0xa1, 0x46, 0xa3, 0x22, + 0x8a, 0xa2, 0x88, 0xd1, 0x28, 0xa2, 0x2c, 0xab, 0xc0, 0x99, 0xcd, 0xca, + 0x98, 0xcd, 0x96, 0x31, 0x9f, 0x2f, 0xe3, 0xfa, 0xfa, 0x36, 0x8a, 0xa2, + 0x8c, 0xa2, 0x28, 0xe3, 0xe2, 0xe2, 0x2c, 0xe6, 0xf3, 0x32, 0xce, 0xcf, + 0xcb, 0x38, 0x3f, 0xbf, 0x89, 0xa2, 0xa8, 0x43, 0xaa, 0x0e, 0xa8, 0xf5, + 0x90, 0x9a, 0xc5, 0x64, 0xf2, 0x4d, 0xcc, 0x66, 0xb3, 0x78, 0xf7, 0xee, + 0x28, 0xe6, 0xf3, 0xdb, 0xb8, 0xbe, 0x9e, 0xc6, 0x6c, 0x56, 0x3d, 0x97, + 0xeb, 0xeb, 0x65, 0x87, 0xbf, 0x1b, 0xa4, 0x4e, 0x40, 0x01, 0x90, 0x8c, + 0xc5, 0xa2, 0x0a, 0xa8, 0xf9, 0xbc, 0xfa, 0xe7, 0xf1, 0xb8, 0x5e, 0xa1, + 0xca, 0xfb, 0x3b, 0x8f, 0x2f, 0x97, 0xcb, 0xbb, 0xa5, 0x68, 0x1a, 0xd3, + 0xe9, 0x3c, 0x6e, 0x6f, 0xe7, 0x71, 0x7b, 0xbb, 0x88, 0xdb, 0xdb, 0x45, + 0xcc, 0xe7, 0x8b, 0x38, 0x39, 0x99, 0xc4, 0xf9, 0xf9, 0x79, 0x9c, 0x9f, + 0x5f, 0xc4, 0xf9, 0xf9, 0xff, 0x8b, 0xf3, 0xf3, 0xf3, 0xbb, 0xc0, 0xaa, + 0xdf, 0x65, 0xb7, 0x0a, 0xa9, 0x9b, 0x9b, 0xeb, 0x78, 0xf7, 0xee, 0x9b, + 0xb8, 0xbe, 0xfe, 0x26, 0xde, 0xbd, 0xfb, 0x2e, 0xe6, 0xf3, 0x45, 0x5c, + 0x5f, 0xdf, 0xc4, 0xcd, 0xcd, 0x32, 0x16, 0x8b, 0xee, 0x7e, 0x1f, 0x48, + 0x9f, 0x80, 0x02, 0xc8, 0x50, 0xdf, 0xee, 0x42, 0xbe, 0xae, 0xbe, 0xf7, + 0xd3, 0x62, 0x11, 0x71, 0x73, 0x53, 0xc5, 0x53, 0x7d, 0x3d, 0x54, 0x51, + 0x94, 0x77, 0x8b, 0x54, 0xc4, 0x78, 0x5c, 0xc6, 0x68, 0x14, 0x71, 0x73, + 0x33, 0x8f, 0xe5, 0xb2, 0x8c, 0xb2, 0x5c, 0xc6, 0xc9, 0xc9, 0x38, 0xe6, + 0xf3, 0x49, 0x2c, 0x16, 0x8b, 0x98, 0x4e, 0xaf, 0x63, 0x3a, 0x3d, 0x8f, + 0xe9, 0xf4, 0xfc, 0x7e, 0xa1, 0x8a, 0xa8, 0x3f, 0x56, 0x01, 0x35, 0x9d, + 0x4e, 0xef, 0xae, 0x9d, 0x1a, 0xc5, 0xf5, 0xf5, 0x2c, 0xe6, 0xf3, 0xc5, + 0xdd, 0xba, 0x55, 0xfd, 0xda, 0xf0, 0x21, 0x02, 0x0a, 0x80, 0xe4, 0xac, + 0x5f, 0xff, 0x54, 0x5f, 0xf7, 0x54, 0x14, 0xab, 0xeb, 0xa3, 0x22, 0xca, + 0x18, 0x8d, 0xea, 0x0b, 0xca, 0x8b, 0x18, 0x8d, 0xca, 0xb8, 0xbe, 0x9e, + 0xc5, 0x77, 0xdf, 0xdd, 0xc4, 0x6c, 0x36, 0xb9, 0x0b, 0xa1, 0xea, 0xe3, + 0xed, 0xed, 0xf5, 0x7d, 0x40, 0xd5, 0xf1, 0x54, 0xff, 0x78, 0x3a, 0xbd, + 0x8d, 0xe9, 0xf4, 0x36, 0x6e, 0x6f, 0x6f, 0x63, 0x3a, 0xad, 0x03, 0x6a, + 0x7e, 0x77, 0x5f, 0xa9, 0x0e, 0x7f, 0x03, 0x48, 0x9e, 0x80, 0x02, 0x18, + 0x98, 0x2f, 0xaf, 0xae, 0xba, 0x7e, 0x0a, 0xcf, 0xaa, 0x8e, 0xe9, 0xaa, + 0x5b, 0x1a, 0xd4, 0x8a, 0xa2, 0xba, 0xfe, 0x69, 0xfd, 0x9f, 0x23, 0x16, + 0xb1, 0x5c, 0x2e, 0xa3, 0x2c, 0xcb, 0x58, 0x2e, 0xcb, 0x58, 0x2e, 0x47, + 0x31, 0x1e, 0xdf, 0xc6, 0xcd, 0xcd, 0x34, 0x6e, 0x6f, 0x8f, 0xe2, 0xe4, + 0x64, 0x72, 0xff, 0xb1, 0x0a, 0xb0, 0x72, 0xed, 0x51, 0x45, 0xd4, 0x72, + 0xb9, 0x88, 0xe9, 0x74, 0x1e, 0xb3, 0xd9, 0x22, 0xa6, 0xd3, 0xe5, 0xdd, + 0x2d, 0x12, 0x8a, 0x98, 0xcd, 0x56, 0x77, 0x43, 0x87, 0xa7, 0x08, 0x28, + 0x00, 0x92, 0x52, 0x7d, 0xdb, 0x96, 0xd5, 0x5d, 0xc8, 0x23, 0xaa, 0x7f, + 0x9e, 0x4c, 0x56, 0xcb, 0xd4, 0x7c, 0xbe, 0xbe, 0x46, 0x2d, 0x62, 0xb1, + 0x58, 0xc6, 0x72, 0x39, 0xbe, 0xbb, 0x97, 0x54, 0x11, 0x8b, 0xc5, 0x22, + 0x6e, 0x6f, 0x8b, 0x98, 0x4e, 0x57, 0x01, 0x35, 0x1a, 0x95, 0xf7, 0x21, + 0x15, 0x51, 0xde, 0x05, 0x59, 0x15, 0x60, 0x65, 0x59, 0xc4, 0x74, 0xba, + 0x88, 0xe5, 0xb2, 0x7e, 0x17, 0x5e, 0xc4, 0xcf, 0x7f, 0x7e, 0xd5, 0xc9, + 0xeb, 0x27, 0x0f, 0x02, 0x0a, 0x80, 0xe4, 0xac, 0x7f, 0x1b, 0x97, 0x3a, + 0xa8, 0x56, 0xb7, 0x37, 0x28, 0x1f, 0x7c, 0xde, 0xea, 0xdb, 0xb3, 0x2c, + 0xee, 0x03, 0x6a, 0x3e, 0x1f, 0xdd, 0x7d, 0x5c, 0xc6, 0xcd, 0xcd, 0xf4, + 0x3e, 0xa0, 0xaa, 0xe3, 0xc0, 0xf2, 0x2e, 0xd0, 0x96, 0x77, 0x8f, 0xf2, + 0xfe, 0xc7, 0x75, 0x40, 0x39, 0xbe, 0xe3, 0x25, 0x02, 0x0a, 0x80, 0xce, + 0xfc, 0xfa, 0xd7, 0x57, 0x0f, 0xbe, 0x1f, 0x5e, 0xad, 0x0e, 0x98, 0x3a, + 0x9a, 0xea, 0x5b, 0x1c, 0xd4, 0x3f, 0x37, 0x1a, 0x45, 0x44, 0x94, 0x77, + 0x17, 0x8f, 0x17, 0x51, 0x96, 0xc5, 0xdd, 0x37, 0x24, 0xae, 0x22, 0x6a, + 0x15, 0x50, 0xd5, 0xc7, 0x2a, 0xa0, 0xe2, 0xc1, 0x12, 0x55, 0x1d, 0xfd, + 0xad, 0x07, 0x54, 0x15, 0x4e, 0x65, 0x19, 0xf1, 0x8b, 0x5f, 0x5c, 0xed, + 0xff, 0xc5, 0x93, 0x35, 0x01, 0x05, 0x90, 0x99, 0x3e, 0xbf, 0x03, 0x6f, + 0x5d, 0x1d, 0x51, 0xf5, 0x3d, 0xa1, 0x8a, 0xa2, 0xfa, 0xf6, 0x2e, 0xf5, + 0x32, 0x35, 0x99, 0x54, 0xdf, 0xe2, 0xa5, 0x5a, 0xab, 0xca, 0xfb, 0xa5, + 0x6a, 0x32, 0xa9, 0x6f, 0x75, 0x50, 0xbd, 0x83, 0x6f, 0x15, 0x50, 0xe5, + 0x7d, 0x44, 0x15, 0x45, 0x79, 0x7f, 0xed, 0x54, 0xbd, 0x3c, 0xd5, 0xc7, + 0x83, 0xa5, 0x9b, 0x90, 0xb3, 0x01, 0x01, 0x05, 0x40, 0xa7, 0x3e, 0xb4, + 0x42, 0xd5, 0x96, 0xcb, 0x87, 0xef, 0xc8, 0xab, 0xaf, 0x81, 0x8a, 0xa8, + 0x17, 0xaa, 0xf2, 0x6e, 0x81, 0xaa, 0x2e, 0x10, 0x5f, 0x2c, 0x8a, 0x98, + 0x4c, 0xca, 0xbb, 0x5b, 0x21, 0x54, 0x1f, 0x1f, 0xaf, 0x4f, 0xf5, 0x35, + 0x56, 0x75, 0x78, 0xad, 0x3f, 0xae, 0xaf, 0x0f, 0xf1, 0xaa, 0xc9, 0x9d, + 0x80, 0x02, 0x20, 0x79, 0xf5, 0x11, 0x5e, 0x1d, 0x53, 0xf5, 0x0d, 0x36, + 0x57, 0xab, 0x51, 0x15, 0x51, 0x75, 0x24, 0xcd, 0x66, 0xd5, 0xe7, 0xac, + 0x3f, 0xd6, 0xd7, 0xa7, 0xf5, 0xdb, 0x22, 0xd4, 0xeb, 0x53, 0xfd, 0xb5, + 0xfe, 0xfc, 0xcf, 0xaf, 0xba, 0x7e, 0xb9, 0x64, 0x60, 0xd4, 0xf5, 0x13, + 0x00, 0x60, 0x73, 0xbb, 0x1e, 0xdf, 0xa5, 0x7a, 0x0b, 0x83, 0x5f, 0xff, + 0xfa, 0xea, 0xc5, 0xcf, 0xa9, 0x23, 0xa7, 0xfa, 0xc6, 0xc2, 0xd5, 0x1d, + 0xcb, 0xa7, 0xd3, 0xb8, 0x3b, 0xaa, 0x8b, 0x98, 0xcf, 0xeb, 0x6f, 0xf1, + 0x52, 0xde, 0xff, 0x78, 0x3a, 0x5d, 0xc6, 0xed, 0xed, 0x32, 0x6e, 0x6e, + 0x56, 0x8f, 0xdb, 0xdb, 0x32, 0x6e, 0x6e, 0xaa, 0xc7, 0xf5, 0x75, 0x19, + 0xd3, 0x69, 0xdc, 0x3f, 0xfe, 0xf4, 0x4f, 0x5f, 0x7e, 0x1e, 0x10, 0x61, + 0x81, 0x02, 0x18, 0x8c, 0x54, 0xe3, 0x69, 0x53, 0xf5, 0xfa, 0xb4, 0x3a, + 0x7e, 0x5b, 0x05, 0xd4, 0x7c, 0x1e, 0x71, 0x72, 0xb2, 0xba, 0xc0, 0x7c, + 0xb1, 0x58, 0x2d, 0x4e, 0x93, 0xc9, 0xea, 0x5d, 0x7c, 0x0f, 0xdf, 0xcd, + 0xb7, 0xbe, 0x42, 0xb9, 0xf6, 0x89, 0x66, 0x2c, 0x50, 0x00, 0x24, 0x61, + 0x93, 0x15, 0x2a, 0xe2, 0xe1, 0x35, 0x51, 0xf5, 0x6d, 0x0e, 0xe6, 0xf3, + 0x2a, 0xa6, 0xea, 0x55, 0x6a, 0x3a, 0xad, 0x56, 0xaa, 0x7a, 0xa9, 0x5a, + 0x5f, 0xab, 0xd6, 0x17, 0xa7, 0x9b, 0x9b, 0x88, 0x77, 0xef, 0xaa, 0xc7, + 0x2f, 0x7f, 0xb9, 0xd9, 0xaf, 0x0f, 0x11, 0x02, 0x0a, 0x20, 0x1b, 0x43, + 0x78, 0xf7, 0x5d, 0x93, 0x88, 0xaa, 0x03, 0xaa, 0x5e, 0xa0, 0xea, 0x80, + 0x5a, 0x7f, 0xac, 0x87, 0xd4, 0xfa, 0xe7, 0x5c, 0x5f, 0xaf, 0xc2, 0xe9, + 0xed, 0xdb, 0x88, 0x6f, 0xbf, 0xdd, 0xef, 0xeb, 0xa2, 0x7f, 0x04, 0x14, + 0x40, 0x06, 0x86, 0x10, 0x4f, 0xb5, 0x4d, 0x23, 0x2a, 0xa2, 0x0a, 0xa8, + 0xe9, 0xb4, 0x0a, 0xa2, 0x9b, 0x9b, 0xf7, 0x03, 0xea, 0xe6, 0xa6, 0xfa, + 0xcf, 0xd6, 0x1f, 0x75, 0x34, 0xad, 0xc7, 0xd3, 0xa7, 0x9f, 0x6e, 0xfe, + 0x6b, 0x42, 0x84, 0x6b, 0xa0, 0x00, 0x06, 0x21, 0xb7, 0xeb, 0x9f, 0xea, + 0x88, 0x7a, 0xee, 0xf6, 0x06, 0x8f, 0xd5, 0xef, 0xd4, 0x9b, 0x4c, 0xde, + 0x7f, 0xe7, 0x5d, 0xfd, 0x58, 0x3f, 0xfe, 0xfb, 0xeb, 0xbf, 0xbe, 0xda, + 0xcb, 0x73, 0x67, 0x18, 0x04, 0x14, 0x40, 0xe2, 0x86, 0xb4, 0x3e, 0x3d, + 0xf6, 0x8f, 0xff, 0x14, 0xf1, 0x27, 0xbf, 0xd8, 0xfc, 0xf3, 0xeb, 0x63, + 0xbd, 0x5a, 0x7d, 0x91, 0x78, 0xfd, 0xa8, 0x7f, 0xee, 0x6f, 0xfe, 0xe6, + 0xaa, 0xd5, 0xe7, 0xc9, 0xf0, 0x38, 0xc2, 0x03, 0x20, 0x49, 0x75, 0x38, + 0xfe, 0xe3, 0x3f, 0x6d, 0xff, 0x35, 0xd6, 0x6f, 0x90, 0x59, 0x5f, 0x2b, + 0x25, 0x9e, 0x68, 0x83, 0x05, 0x0a, 0x20, 0x61, 0x6d, 0xac, 0x4f, 0xb9, + 0x1d, 0xdf, 0x45, 0xbc, 0xff, 0xba, 0xd7, 0x23, 0xaa, 0xc9, 0x22, 0x15, + 0x51, 0xc5, 0xd3, 0xdf, 0xfd, 0xdd, 0xd5, 0xce, 0xcf, 0x09, 0xd6, 0x09, + 0x28, 0x00, 0xb2, 0xd2, 0xe4, 0x22, 0x73, 0xd8, 0x17, 0x47, 0x78, 0x00, + 0x89, 0x1a, 0xea, 0xb5, 0x4f, 0xcf, 0xbd, 0xee, 0x1c, 0xd7, 0x34, 0xfa, + 0x49, 0x40, 0x01, 0xf4, 0x58, 0x6e, 0xc1, 0x21, 0x9e, 0xc8, 0x85, 0x80, + 0x02, 0x48, 0xd0, 0x50, 0xd7, 0x27, 0xc8, 0x85, 0x80, 0x02, 0xe8, 0xa9, + 0xdc, 0x16, 0x1b, 0xeb, 0x13, 0x39, 0x11, 0x50, 0x00, 0x89, 0x19, 0xe2, + 0xfa, 0x24, 0x9e, 0xc8, 0x8d, 0x80, 0x02, 0x48, 0x48, 0x5b, 0xf1, 0x24, + 0x3a, 0x60, 0xbf, 0x04, 0x14, 0x40, 0x22, 0x86, 0x1a, 0x4f, 0xd6, 0x27, + 0x72, 0x24, 0xa0, 0x00, 0xe8, 0x8c, 0x78, 0x22, 0x57, 0x02, 0x0a, 0x20, + 0x01, 0x43, 0x5d, 0x9f, 0x20, 0x57, 0x02, 0x0a, 0xa0, 0x63, 0x43, 0xbc, + 0x68, 0x3c, 0xc2, 0xfa, 0x44, 0xde, 0x04, 0x14, 0x40, 0x87, 0xda, 0x8c, + 0xa7, 0x9c, 0xa2, 0x43, 0x3c, 0x91, 0x3b, 0x01, 0x05, 0xd0, 0x91, 0xa1, + 0x2e, 0x4f, 0x11, 0x22, 0x89, 0xfc, 0x09, 0x28, 0x80, 0xcc, 0x7d, 0x79, + 0x75, 0x95, 0x65, 0x90, 0x3c, 0xf5, 0x9c, 0x73, 0x7c, 0x1d, 0x0c, 0x93, + 0x80, 0x02, 0xe8, 0xc0, 0x90, 0xd7, 0xa7, 0x75, 0xeb, 0xc1, 0x24, 0x9e, + 0xc8, 0xc9, 0xa4, 0xeb, 0x27, 0x00, 0x30, 0x34, 0x43, 0xbd, 0xee, 0xe9, + 0x43, 0xfa, 0xf0, 0x1a, 0x18, 0x1e, 0x0b, 0x14, 0xc0, 0x01, 0x89, 0x27, + 0xe8, 0x07, 0x01, 0x05, 0x70, 0x20, 0x8e, 0xed, 0xa0, 0x3f, 0x04, 0x14, + 0xc0, 0x01, 0xb4, 0x1d, 0x4f, 0xd6, 0x27, 0xe8, 0x96, 0x80, 0x02, 0xd8, + 0x33, 0xf1, 0x04, 0xfd, 0x23, 0xa0, 0x00, 0xf6, 0xc8, 0xb1, 0x1d, 0xf4, + 0x93, 0x77, 0xe1, 0x01, 0xec, 0xc1, 0xbe, 0xc2, 0xc9, 0xfa, 0x04, 0x69, + 0xb0, 0x40, 0x01, 0xb4, 0x4c, 0x3c, 0x41, 0xff, 0x59, 0xa0, 0x00, 0x5a, + 0xb2, 0xcf, 0xe3, 0x3a, 0xf1, 0x04, 0x69, 0x11, 0x50, 0x00, 0x3b, 0xda, + 0xf7, 0x75, 0x4e, 0xe2, 0x09, 0xd2, 0x23, 0xa0, 0x00, 0xb6, 0x74, 0x88, + 0x0b, 0xc4, 0xc5, 0x13, 0xa4, 0x49, 0x40, 0x01, 0x34, 0xe4, 0x9d, 0x75, + 0x80, 0x80, 0x02, 0xd8, 0xd0, 0xa1, 0xc3, 0xc9, 0xfa, 0x04, 0xe9, 0x12, + 0x50, 0x00, 0x2f, 0xe8, 0x62, 0x71, 0x12, 0x4f, 0x90, 0x36, 0x01, 0x05, + 0xf0, 0x01, 0x5d, 0x1d, 0xd5, 0x89, 0x27, 0x48, 0x9f, 0x80, 0x02, 0x78, + 0x44, 0x38, 0x01, 0x2f, 0x11, 0x50, 0x00, 0x77, 0xba, 0xbc, 0x38, 0x5c, + 0x3c, 0x41, 0x5e, 0x04, 0x14, 0x30, 0x78, 0x5d, 0xbf, 0xab, 0x4e, 0x3c, + 0x41, 0x7e, 0x04, 0x14, 0x30, 0x48, 0x5d, 0x47, 0x53, 0x84, 0x70, 0x82, + 0x9c, 0x09, 0x28, 0x60, 0x50, 0x52, 0x08, 0xa7, 0x08, 0xf1, 0x04, 0xb9, + 0x13, 0x50, 0xc0, 0x20, 0xa4, 0x12, 0x4e, 0x11, 0xe2, 0x09, 0xfa, 0x40, + 0x40, 0x01, 0xbd, 0x25, 0x9a, 0x80, 0x7d, 0x11, 0x50, 0x40, 0xef, 0xa4, + 0x14, 0x4e, 0x11, 0xe2, 0x09, 0xfa, 0x48, 0x40, 0x01, 0xbd, 0x21, 0x9c, + 0x80, 0x43, 0x11, 0x50, 0x40, 0xf6, 0x84, 0x13, 0x70, 0x68, 0x02, 0x0a, + 0xc8, 0x52, 0x6a, 0xd1, 0x14, 0x21, 0x9c, 0x60, 0x48, 0x04, 0x14, 0x90, + 0x15, 0xe1, 0x04, 0xa4, 0x40, 0x40, 0x01, 0x59, 0x10, 0x4e, 0x40, 0x4a, + 0x04, 0x14, 0x90, 0xac, 0x14, 0xa3, 0x29, 0x42, 0x38, 0x01, 0x02, 0x0a, + 0x48, 0x90, 0x70, 0x02, 0x52, 0x27, 0xa0, 0x80, 0x64, 0x08, 0x27, 0x20, + 0x17, 0x02, 0x0a, 0xe8, 0x54, 0xaa, 0xd1, 0x14, 0x21, 0x9c, 0x80, 0x0f, + 0x13, 0x50, 0x40, 0x27, 0x52, 0x0d, 0x27, 0xd1, 0x04, 0x6c, 0x42, 0x40, + 0x01, 0x07, 0x25, 0x9c, 0x80, 0x3e, 0x10, 0x50, 0xc0, 0x41, 0x08, 0x27, + 0xa0, 0x4f, 0x04, 0x14, 0xb0, 0x57, 0x29, 0x86, 0x93, 0x68, 0x02, 0x76, + 0x25, 0xa0, 0x80, 0xbd, 0x10, 0x4e, 0x40, 0x9f, 0x09, 0x28, 0xa0, 0x55, + 0xc2, 0x09, 0x18, 0x02, 0x01, 0x05, 0xb4, 0x42, 0x38, 0x01, 0x43, 0x22, + 0xa0, 0x80, 0x9d, 0xa4, 0x16, 0x4e, 0xa2, 0x09, 0x38, 0x04, 0x01, 0x05, + 0x6c, 0x45, 0x38, 0x01, 0x43, 0x26, 0xa0, 0x80, 0x46, 0x84, 0x13, 0x80, + 0x80, 0x02, 0x36, 0x94, 0x52, 0x38, 0x89, 0x26, 0xa0, 0x6b, 0x02, 0x0a, + 0x78, 0x96, 0x70, 0x02, 0x78, 0x9f, 0x80, 0x02, 0xde, 0x93, 0x52, 0x34, + 0x45, 0x08, 0x27, 0x20, 0x3d, 0x02, 0x0a, 0xb8, 0x97, 0x52, 0x38, 0x89, + 0x26, 0x20, 0x65, 0x02, 0x0a, 0x10, 0x4e, 0x00, 0x0d, 0x09, 0x28, 0x18, + 0x30, 0xe1, 0x04, 0xb0, 0x1d, 0x01, 0x05, 0x03, 0x24, 0x9c, 0x00, 0x76, + 0x23, 0xa0, 0x60, 0x40, 0x84, 0x13, 0x40, 0x3b, 0x04, 0x14, 0x0c, 0x80, + 0x70, 0x02, 0x68, 0x97, 0x80, 0x82, 0x1e, 0x13, 0x4e, 0x00, 0xfb, 0x21, + 0xa0, 0xa0, 0x87, 0x84, 0x13, 0xc0, 0x7e, 0x09, 0x28, 0xe8, 0x11, 0xe1, + 0x04, 0x70, 0x18, 0x02, 0x0a, 0x7a, 0x40, 0x38, 0x01, 0x1c, 0x96, 0x80, + 0x82, 0x8c, 0x09, 0x27, 0x80, 0x6e, 0x08, 0x28, 0xc8, 0x4c, 0x4a, 0xd1, + 0x14, 0x21, 0x9c, 0x80, 0x61, 0x12, 0x50, 0x90, 0x91, 0x94, 0xe2, 0x49, + 0x38, 0x01, 0x43, 0x26, 0xa0, 0x20, 0x03, 0xc2, 0x09, 0x20, 0x2d, 0x02, + 0x0a, 0x12, 0x26, 0x9c, 0x00, 0xd2, 0x24, 0xa0, 0x20, 0x51, 0xa9, 0xc4, + 0x93, 0x70, 0x02, 0x78, 0x9f, 0x80, 0x82, 0xc4, 0x08, 0x27, 0x80, 0xf4, + 0x09, 0x28, 0x48, 0x84, 0x70, 0x02, 0xc8, 0x87, 0x80, 0x82, 0x04, 0xa4, + 0x10, 0x4f, 0xc2, 0x09, 0x60, 0x73, 0x02, 0x0a, 0x3a, 0x24, 0x9c, 0x00, + 0xf2, 0x24, 0xa0, 0xa0, 0x03, 0xc2, 0x09, 0x20, 0x6f, 0x02, 0x0a, 0x0e, + 0x48, 0x38, 0x01, 0xf4, 0x83, 0x80, 0x82, 0x03, 0xe9, 0x3a, 0x9e, 0x84, + 0x13, 0x40, 0x7b, 0x04, 0x14, 0xec, 0x99, 0x70, 0x02, 0xe8, 0x9f, 0xa2, + 0x2c, 0xcb, 0xcd, 0x3f, 0xb9, 0x28, 0x36, 0xff, 0x64, 0x18, 0xb8, 0xae, + 0xff, 0xb0, 0x14, 0x1d, 0xff, 0xfa, 0x00, 0x7d, 0x55, 0x96, 0x65, 0xd1, + 0x7c, 0x81, 0xfa, 0xd9, 0x67, 0xed, 0x3f, 0x13, 0xe8, 0x99, 0xf2, 0x37, + 0x9f, 0x75, 0xf6, 0x6b, 0x17, 0xfe, 0x8c, 0x02, 0xec, 0xcf, 0xdd, 0xff, + 0xbe, 0x37, 0x5e, 0xa0, 0x3e, 0xfd, 0xef, 0x5d, 0xff, 0xff, 0x6a, 0x48, + 0xd7, 0x67, 0x7f, 0xd6, 0xed, 0xee, 0xf3, 0x99, 0x3f, 0x9f, 0x00, 0x7b, + 0xf5, 0xf9, 0x9f, 0x15, 0x5b, 0x2e, 0x50, 0xc0, 0x7b, 0x84, 0x13, 0xc0, + 0xb0, 0x08, 0x28, 0xd8, 0x81, 0x70, 0x02, 0x18, 0x26, 0x01, 0x05, 0x5b, + 0xea, 0x32, 0x9e, 0x84, 0x13, 0x40, 0xb7, 0x04, 0x14, 0x34, 0x64, 0x75, + 0x02, 0x40, 0x40, 0xc1, 0x86, 0x84, 0x13, 0x00, 0x35, 0x01, 0x05, 0x1b, + 0x70, 0x5c, 0x07, 0xc0, 0x3a, 0x01, 0x05, 0xcf, 0x10, 0x4e, 0x00, 0x3c, + 0x45, 0x40, 0xc1, 0x13, 0x1c, 0xd7, 0x01, 0xf0, 0x1c, 0x01, 0x05, 0x8f, + 0x58, 0x9d, 0x00, 0x78, 0x89, 0x80, 0x82, 0x3b, 0xc2, 0x09, 0x80, 0x4d, + 0x09, 0x28, 0x06, 0x4f, 0x38, 0x01, 0xd0, 0x94, 0x80, 0x62, 0xb0, 0x5c, + 0xe7, 0x04, 0xc0, 0xb6, 0x04, 0x14, 0x83, 0x64, 0x75, 0x02, 0x60, 0x17, + 0x02, 0x8a, 0x41, 0x11, 0x4e, 0x00, 0xb4, 0x41, 0x40, 0x31, 0x08, 0xc2, + 0x09, 0x80, 0x36, 0x8d, 0xba, 0x7e, 0x02, 0xb0, 0x6f, 0xe2, 0x09, 0x80, + 0xb6, 0x59, 0xa0, 0xe8, 0x2d, 0xe1, 0x04, 0xc0, 0xbe, 0x08, 0x28, 0x7a, + 0x47, 0x38, 0x01, 0xb0, 0x6f, 0x02, 0x8a, 0xde, 0x10, 0x4e, 0x00, 0x1c, + 0x8a, 0x6b, 0xa0, 0xe8, 0x05, 0xf1, 0x04, 0xc0, 0x21, 0x59, 0xa0, 0xc8, + 0x5e, 0x57, 0xf1, 0x24, 0x9c, 0x00, 0x86, 0x4b, 0x40, 0x91, 0x2d, 0xe1, + 0x04, 0x40, 0x57, 0x04, 0x14, 0x59, 0xea, 0x22, 0x9e, 0x84, 0x13, 0x00, + 0x35, 0x01, 0x45, 0x56, 0xac, 0x4e, 0x00, 0xa4, 0x40, 0x40, 0x91, 0x0d, + 0xab, 0x13, 0x00, 0xa9, 0x10, 0x50, 0x24, 0x4f, 0x38, 0x01, 0x90, 0x1a, + 0x01, 0x45, 0xd2, 0x0e, 0x1d, 0x4f, 0xc2, 0x09, 0x80, 0x4d, 0x08, 0x28, + 0x92, 0x64, 0x75, 0x02, 0x20, 0x65, 0x02, 0x8a, 0xe4, 0x58, 0x9d, 0x00, + 0x48, 0x9d, 0x80, 0x22, 0x29, 0x87, 0x8c, 0x27, 0xe1, 0x04, 0xc0, 0xb6, + 0x04, 0x14, 0x49, 0x10, 0x4e, 0x00, 0xe4, 0xc4, 0xf7, 0xc2, 0xa3, 0x73, + 0xe2, 0x09, 0x80, 0xdc, 0x58, 0xa0, 0xe8, 0x8c, 0x6b, 0x9d, 0x00, 0xc8, + 0x95, 0x05, 0x8a, 0x4e, 0x88, 0x27, 0x00, 0x72, 0x66, 0x81, 0xe2, 0xa0, + 0x84, 0x13, 0x00, 0x7d, 0x60, 0x81, 0xe2, 0x60, 0xc4, 0x13, 0x00, 0x7d, + 0x61, 0x81, 0x62, 0xef, 0x84, 0x13, 0x00, 0x7d, 0x63, 0x81, 0x62, 0xaf, + 0xc4, 0x13, 0x00, 0x7d, 0x64, 0x81, 0x62, 0x2f, 0x84, 0x13, 0x00, 0x7d, + 0x66, 0x81, 0xa2, 0x75, 0xe2, 0x09, 0x80, 0xbe, 0xb3, 0x40, 0xd1, 0x2a, + 0x37, 0xc5, 0x04, 0x60, 0x08, 0x2c, 0x50, 0xb4, 0x46, 0x3c, 0x01, 0x30, + 0x14, 0x02, 0x8a, 0x56, 0x88, 0x27, 0x00, 0x86, 0xc4, 0x11, 0x1e, 0x3b, + 0x3b, 0x54, 0x3c, 0x09, 0x27, 0x00, 0x52, 0x21, 0xa0, 0xd8, 0x9a, 0xd5, + 0x09, 0x80, 0xa1, 0x12, 0x50, 0x6c, 0xc5, 0xea, 0x04, 0xc0, 0x90, 0xb9, + 0x06, 0x8a, 0xc6, 0xc4, 0x13, 0x00, 0x43, 0x67, 0x81, 0xa2, 0x91, 0x43, + 0xc4, 0x93, 0x70, 0x02, 0x20, 0x75, 0x16, 0x28, 0x36, 0x26, 0x9e, 0x00, + 0xa0, 0x62, 0x81, 0xe2, 0x45, 0xc2, 0x09, 0x00, 0x1e, 0xb2, 0x40, 0xf1, + 0x2c, 0xf1, 0x04, 0x00, 0xef, 0xb3, 0x40, 0xf1, 0x41, 0xfb, 0x8e, 0x27, + 0xe1, 0x04, 0x40, 0xae, 0x2c, 0x50, 0x3c, 0x49, 0x3c, 0x01, 0xc0, 0x87, + 0x59, 0xa0, 0x78, 0xc0, 0x91, 0x1d, 0x00, 0xbc, 0xcc, 0x02, 0xc5, 0x3d, + 0xf1, 0x04, 0x00, 0x9b, 0x11, 0x50, 0x44, 0x84, 0x78, 0x02, 0x80, 0x26, + 0x1c, 0xe1, 0xe1, 0x7a, 0x27, 0x00, 0x68, 0xc8, 0x02, 0x35, 0x70, 0xe2, + 0x09, 0x00, 0x9a, 0xb3, 0x40, 0x0d, 0x94, 0x23, 0x3b, 0x00, 0xd8, 0x9e, + 0x05, 0x6a, 0x80, 0xc4, 0x13, 0x00, 0xec, 0x46, 0x40, 0x0d, 0x8c, 0x78, + 0x02, 0x80, 0xdd, 0x39, 0xc2, 0x1b, 0x10, 0xd7, 0x3b, 0x01, 0x40, 0x3b, + 0x04, 0xd4, 0x00, 0x58, 0x9d, 0x00, 0xa0, 0x5d, 0x8e, 0xf0, 0x7a, 0x4e, + 0x3c, 0x01, 0x40, 0xfb, 0x04, 0x54, 0x8f, 0x89, 0x27, 0x00, 0xd8, 0x0f, + 0x47, 0x78, 0x3d, 0xe5, 0x7a, 0x27, 0x00, 0xd8, 0x1f, 0x0b, 0x54, 0x0f, + 0x89, 0x27, 0x00, 0xd8, 0x2f, 0x01, 0xd5, 0x33, 0xe2, 0x09, 0x00, 0xf6, + 0x4f, 0x40, 0xf5, 0x88, 0x78, 0x02, 0x80, 0xc3, 0x10, 0x50, 0x3d, 0x21, + 0x9e, 0x00, 0xe0, 0x70, 0x5c, 0x44, 0xde, 0x03, 0xfb, 0x8c, 0x27, 0xe1, + 0x04, 0x00, 0xef, 0xb3, 0x40, 0x65, 0x4e, 0x3c, 0x01, 0xc0, 0xe1, 0x09, + 0xa8, 0x8c, 0x89, 0x27, 0x00, 0xe8, 0x86, 0x80, 0xca, 0x94, 0x78, 0x02, + 0x80, 0xee, 0xb8, 0x06, 0x2a, 0x43, 0xfb, 0x88, 0x27, 0xd1, 0x04, 0x00, + 0x9b, 0xb3, 0x40, 0x65, 0x46, 0x3c, 0x01, 0x40, 0xf7, 0x04, 0x54, 0x46, + 0xc4, 0x13, 0x00, 0xa4, 0x41, 0x40, 0x65, 0x42, 0x3c, 0x01, 0x40, 0x3a, + 0x04, 0x54, 0x06, 0xc4, 0x13, 0x00, 0xa4, 0x45, 0x40, 0x25, 0x4e, 0x3c, + 0x01, 0x40, 0x7a, 0x04, 0x54, 0xc2, 0xc4, 0x13, 0x00, 0xa4, 0x49, 0x40, + 0x25, 0x4a, 0x3c, 0x01, 0x40, 0xba, 0x04, 0x54, 0x82, 0xc4, 0x13, 0x00, + 0xa4, 0x4d, 0x40, 0x25, 0x46, 0x3c, 0x01, 0x40, 0xfa, 0x04, 0x54, 0x42, + 0xc4, 0x13, 0x00, 0xe4, 0x41, 0x40, 0x25, 0x42, 0x3c, 0x01, 0x40, 0x3e, + 0x04, 0x54, 0x02, 0xc4, 0x13, 0x00, 0xe4, 0x45, 0x40, 0x75, 0x4c, 0x3c, + 0x01, 0x40, 0x7e, 0x26, 0x5d, 0x3f, 0x81, 0xa1, 0xda, 0x47, 0x38, 0x45, + 0x88, 0x27, 0x00, 0x38, 0x04, 0x0b, 0x54, 0x07, 0xc4, 0x13, 0x00, 0xe4, + 0x4d, 0x40, 0xf5, 0x84, 0x78, 0x02, 0x80, 0xc3, 0x11, 0x50, 0x07, 0xe6, + 0x9a, 0x27, 0x00, 0xc8, 0x9f, 0x80, 0x3a, 0x20, 0xf1, 0x04, 0x00, 0xfd, + 0x20, 0xa0, 0x0e, 0x44, 0x3c, 0x01, 0x40, 0x7f, 0x08, 0xa8, 0x03, 0x10, + 0x4f, 0x00, 0xd0, 0x2f, 0x02, 0x2a, 0x43, 0xe2, 0x09, 0x00, 0xba, 0x25, + 0xa0, 0xf6, 0xac, 0xed, 0xf5, 0x49, 0x3c, 0x01, 0x40, 0xf7, 0x04, 0xd4, + 0x1e, 0x89, 0x27, 0x00, 0xe8, 0x27, 0x01, 0xb5, 0x27, 0xe2, 0x09, 0x00, + 0xfa, 0x4b, 0x40, 0xed, 0x81, 0x78, 0x02, 0x80, 0x7e, 0x13, 0x50, 0x2d, + 0xdb, 0xd7, 0xb7, 0x69, 0x01, 0x00, 0xd2, 0x21, 0xa0, 0x12, 0x67, 0x7d, + 0x02, 0x80, 0xf4, 0x08, 0xa8, 0x16, 0x39, 0xba, 0x03, 0x80, 0x61, 0x10, + 0x50, 0x2d, 0x11, 0x4f, 0x00, 0x30, 0x1c, 0x02, 0xaa, 0x05, 0xe2, 0x09, + 0x00, 0x86, 0x45, 0x40, 0xed, 0x48, 0x3c, 0x01, 0xc0, 0xf0, 0x08, 0xa8, + 0x1d, 0x88, 0x27, 0x00, 0x18, 0x26, 0x01, 0x05, 0x00, 0xd0, 0x90, 0x80, + 0xda, 0x92, 0xf5, 0x09, 0x00, 0x86, 0x4b, 0x40, 0x6d, 0x41, 0x3c, 0x01, + 0xc0, 0xb0, 0x09, 0xa8, 0x86, 0xc4, 0x13, 0x00, 0x20, 0xa0, 0x1a, 0x10, + 0x4f, 0x00, 0x40, 0x84, 0x80, 0xda, 0x98, 0x78, 0x02, 0x00, 0x6a, 0x02, + 0xaa, 0x03, 0xe2, 0x09, 0x00, 0xf2, 0x26, 0xa0, 0x36, 0xd0, 0xf6, 0xfa, + 0x04, 0x00, 0xe4, 0x4d, 0x40, 0xbd, 0xc0, 0xd1, 0x1d, 0x00, 0xf0, 0x98, + 0x80, 0x7a, 0x86, 0x78, 0x02, 0x00, 0x9e, 0x22, 0xa0, 0x3e, 0x40, 0x3c, + 0x01, 0x00, 0x1f, 0x22, 0xa0, 0x9e, 0x20, 0x9e, 0x00, 0x80, 0xe7, 0x08, + 0xa8, 0x47, 0xc4, 0x13, 0x00, 0xf0, 0x12, 0x01, 0xb5, 0x47, 0xe2, 0x09, + 0x00, 0xfa, 0x49, 0x40, 0xad, 0x71, 0xbb, 0x02, 0x00, 0x60, 0x13, 0x02, + 0x6a, 0x4f, 0xac, 0x4f, 0x00, 0xd0, 0x5f, 0x02, 0xea, 0x4e, 0x9b, 0xeb, + 0x93, 0x78, 0x02, 0x80, 0x7e, 0x13, 0x50, 0x21, 0x9e, 0x00, 0x80, 0x66, + 0x04, 0x54, 0x8b, 0xc4, 0x13, 0x00, 0x0c, 0xc3, 0xe0, 0x03, 0xaa, 0xad, + 0xf5, 0x49, 0x3c, 0x01, 0xc0, 0x70, 0x0c, 0x3a, 0xa0, 0xc4, 0x13, 0x00, + 0xb0, 0x8d, 0x41, 0x07, 0x14, 0x00, 0xc0, 0x36, 0x06, 0x1b, 0x50, 0xd6, + 0x27, 0x00, 0x60, 0x5b, 0x83, 0x0c, 0x28, 0x37, 0xcc, 0x04, 0x00, 0x76, + 0x31, 0xc8, 0x80, 0x6a, 0x8b, 0xf5, 0x09, 0x00, 0x86, 0x69, 0x70, 0x01, + 0xe5, 0xe8, 0x0e, 0x00, 0xd8, 0xd5, 0xa0, 0x02, 0xca, 0xd1, 0x1d, 0x00, + 0xd0, 0x86, 0x41, 0x05, 0x54, 0x5b, 0xac, 0x4f, 0x00, 0x30, 0x6c, 0x45, + 0x59, 0x6e, 0x1e, 0x03, 0x45, 0x51, 0x64, 0x5b, 0x0e, 0x6d, 0x3d, 0x71, + 0x1b, 0x16, 0x00, 0x0c, 0x5b, 0x59, 0x96, 0xc5, 0x20, 0x16, 0xa8, 0x6c, + 0xab, 0x0f, 0x00, 0x48, 0xd2, 0xa4, 0xe9, 0xbf, 0xf0, 0xe9, 0x3f, 0x7f, + 0xba, 0x8f, 0xe7, 0xb1, 0x5f, 0x3f, 0xff, 0xbc, 0x95, 0x2f, 0xf3, 0xd9, + 0x3f, 0x7f, 0x1a, 0x19, 0xbe, 0x7a, 0x00, 0xa0, 0x25, 0x9f, 0xdf, 0x35, + 0x45, 0xef, 0x17, 0xa8, 0xcf, 0x5a, 0x8c, 0x27, 0x00, 0x80, 0x88, 0x9e, + 0x07, 0x54, 0x5b, 0xf1, 0x04, 0x00, 0xb0, 0xae, 0xd7, 0x01, 0xd5, 0x16, + 0xeb, 0x13, 0x00, 0xb0, 0xae, 0xb7, 0x01, 0x65, 0x7d, 0x02, 0x00, 0xf6, + 0xa5, 0x97, 0x01, 0xd5, 0x66, 0x3c, 0x59, 0x9f, 0x00, 0x80, 0xc7, 0x7a, + 0x19, 0x50, 0x6d, 0x11, 0x4f, 0x00, 0xc0, 0x53, 0x7a, 0x17, 0x50, 0x8e, + 0xee, 0x00, 0x80, 0x7d, 0xeb, 0x55, 0x40, 0x39, 0xba, 0x03, 0x00, 0x0e, + 0xa1, 0x57, 0x01, 0xd5, 0x16, 0xf1, 0x04, 0x00, 0x3c, 0xa7, 0x37, 0x01, + 0xe5, 0xe8, 0x0e, 0x00, 0x38, 0x94, 0x5e, 0x04, 0x94, 0xa3, 0x3b, 0x00, + 0xe0, 0x90, 0x7a, 0x11, 0x50, 0x6d, 0x11, 0x4f, 0x00, 0xc0, 0x26, 0xb2, + 0x0f, 0x28, 0x47, 0x77, 0x00, 0xc0, 0xa1, 0x65, 0x1d, 0x50, 0x8e, 0xee, + 0x00, 0x80, 0x2e, 0x64, 0x1b, 0x50, 0x96, 0x27, 0x00, 0xa0, 0x2b, 0xd9, + 0x06, 0x54, 0x9b, 0xac, 0x4f, 0x00, 0x40, 0x13, 0x83, 0x0f, 0x28, 0xf1, + 0x04, 0x00, 0x34, 0x95, 0x65, 0x40, 0x39, 0xbe, 0x03, 0x00, 0xba, 0x94, + 0x65, 0x40, 0xb5, 0xc5, 0xfa, 0x04, 0x00, 0x6c, 0x23, 0xbb, 0x80, 0x6a, + 0x6b, 0x7d, 0x12, 0x4f, 0x00, 0xc0, 0xb6, 0xb2, 0x0b, 0x28, 0x00, 0x80, + 0xae, 0x65, 0x15, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x05, 0x59, 0x05, 0x54, + 0x1b, 0xc4, 0x13, 0x00, 0xb0, 0xab, 0x6c, 0x02, 0xca, 0x3b, 0xef, 0x00, + 0x80, 0x54, 0x64, 0x13, 0x50, 0x6d, 0xb0, 0x3e, 0x01, 0x00, 0x6d, 0xc8, + 0x22, 0xa0, 0xac, 0x4f, 0x00, 0x40, 0x4a, 0xb2, 0x08, 0xa8, 0x36, 0x58, + 0x9f, 0x00, 0x80, 0xb6, 0x24, 0x1f, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x35, + 0xc9, 0x07, 0x54, 0x1b, 0xac, 0x4f, 0x00, 0x40, 0x9b, 0x92, 0x0e, 0x28, + 0xeb, 0x13, 0x00, 0x90, 0xa2, 0xa4, 0x03, 0xaa, 0x0d, 0xd6, 0x27, 0x00, + 0xa0, 0x6d, 0xc9, 0x06, 0x94, 0xf5, 0x09, 0x00, 0x48, 0x55, 0xb2, 0x01, + 0xd5, 0x06, 0xeb, 0x13, 0x00, 0xb0, 0x0f, 0xbd, 0x0e, 0x28, 0x00, 0x80, + 0x7d, 0x48, 0x32, 0xa0, 0xda, 0x38, 0xbe, 0xb3, 0x3e, 0x01, 0x00, 0xfb, + 0x92, 0x64, 0x40, 0x01, 0x00, 0xa4, 0x2c, 0xb9, 0x80, 0xb2, 0x3e, 0x01, + 0x00, 0xa9, 0x4b, 0x2e, 0xa0, 0x00, 0x00, 0x52, 0x97, 0x54, 0x40, 0x59, + 0x9f, 0x00, 0x80, 0x1c, 0x24, 0x15, 0x50, 0x00, 0x00, 0x39, 0x48, 0x26, + 0xa0, 0xac, 0x4f, 0x00, 0x40, 0x2e, 0x92, 0x09, 0x28, 0x00, 0x80, 0x5c, + 0x24, 0x11, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x27, 0x49, 0x04, 0x14, 0x00, + 0x40, 0x4e, 0x3a, 0x0f, 0x28, 0xeb, 0x13, 0x00, 0x90, 0x9b, 0xce, 0x03, + 0x0a, 0x00, 0x20, 0x37, 0x9d, 0x06, 0x94, 0xf5, 0x09, 0x00, 0xc8, 0x91, + 0x05, 0x0a, 0x00, 0xa0, 0xa1, 0xce, 0x02, 0xca, 0xfa, 0x04, 0x00, 0xe4, + 0xca, 0x02, 0x05, 0x00, 0xd0, 0x50, 0x27, 0x01, 0x65, 0x7d, 0x02, 0x00, + 0x72, 0x76, 0xf0, 0x80, 0x6a, 0x23, 0x9e, 0x00, 0x00, 0xba, 0x94, 0xe5, + 0x11, 0x9e, 0xf5, 0x09, 0x00, 0xe8, 0x52, 0x96, 0x01, 0x05, 0x00, 0xd0, + 0xa5, 0xec, 0x02, 0xca, 0xfa, 0x04, 0x00, 0x74, 0xed, 0xa0, 0x01, 0xe5, + 0xfa, 0x27, 0x00, 0xa0, 0x0f, 0xb2, 0x5a, 0xa0, 0xac, 0x4f, 0x00, 0x40, + 0x0a, 0xb2, 0x0a, 0x28, 0x00, 0x80, 0x14, 0x1c, 0x2c, 0xa0, 0x1c, 0xdf, + 0x01, 0x00, 0x7d, 0x91, 0xcd, 0x02, 0xe5, 0xf8, 0x0e, 0x00, 0x48, 0x45, + 0x36, 0x01, 0x05, 0x00, 0x90, 0x8a, 0x83, 0x04, 0x94, 0xe3, 0x3b, 0x00, + 0xa0, 0x4f, 0xb2, 0x58, 0xa0, 0x1c, 0xdf, 0x01, 0x00, 0x29, 0xc9, 0x22, + 0xa0, 0x00, 0x00, 0x52, 0xb2, 0xf7, 0x80, 0x72, 0x7c, 0x07, 0x00, 0xf4, + 0x4d, 0xf2, 0x0b, 0x94, 0xe3, 0x3b, 0x00, 0x20, 0x35, 0xc9, 0x07, 0x14, + 0x00, 0x40, 0x6a, 0x04, 0x14, 0x00, 0x40, 0x43, 0x7b, 0x0d, 0xa8, 0x5d, + 0xaf, 0x7f, 0x72, 0x7c, 0x07, 0x00, 0xa4, 0xc8, 0x02, 0x05, 0x00, 0xd0, + 0x90, 0x80, 0x02, 0x00, 0x68, 0x68, 0x6f, 0x01, 0xe5, 0xf8, 0x0e, 0x00, + 0xe8, 0x2b, 0x0b, 0x14, 0x00, 0x40, 0x43, 0x02, 0x0a, 0x00, 0xa0, 0xa1, + 0xbd, 0x04, 0x94, 0xe3, 0x3b, 0x00, 0xa0, 0xcf, 0x2c, 0x50, 0x00, 0x00, + 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0x5a, 0x0f, 0x28, 0xc7, 0x77, 0x00, + 0x40, 0xdf, 0x59, 0xa0, 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, + 0x25, 0x15, 0x50, 0x8e, 0xef, 0x00, 0x80, 0x1c, 0xb4, 0x1a, 0x50, 0xbb, + 0x5e, 0xff, 0x04, 0x00, 0x90, 0x83, 0xa4, 0x16, 0x28, 0x00, 0x80, 0x1c, + 0x24, 0x13, 0x50, 0x8e, 0xef, 0x00, 0x80, 0x5c, 0xb4, 0x16, 0x50, 0x8e, + 0xef, 0x00, 0x80, 0xa1, 0x48, 0x66, 0x81, 0x02, 0x00, 0xc8, 0x45, 0x12, + 0x01, 0xe5, 0xf8, 0x0e, 0x00, 0xc8, 0x49, 0x2b, 0x01, 0xe5, 0xf8, 0x0e, + 0x00, 0x18, 0x92, 0x24, 0x16, 0x28, 0x00, 0x80, 0x9c, 0x74, 0x1e, 0x50, + 0x8e, 0xef, 0x00, 0x80, 0xdc, 0xec, 0x1c, 0x50, 0x8e, 0xef, 0x00, 0x80, + 0xa1, 0xd9, 0x29, 0xa0, 0xc4, 0x13, 0x00, 0x30, 0x44, 0x9d, 0x1e, 0xe1, + 0x39, 0xbe, 0x03, 0x00, 0x72, 0xd4, 0xf9, 0x35, 0x50, 0x00, 0x00, 0xb9, + 0x11, 0x50, 0x00, 0x00, 0x0d, 0x75, 0x16, 0x50, 0x8e, 0xef, 0x00, 0x80, + 0x5c, 0x59, 0xa0, 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, 0x6d, + 0x1d, 0x50, 0x6e, 0x61, 0x00, 0x00, 0x0c, 0x95, 0x05, 0x0a, 0x00, 0xa0, + 0x21, 0x01, 0x05, 0x00, 0xd0, 0x50, 0x27, 0x01, 0xe5, 0x1d, 0x78, 0x00, + 0x40, 0xce, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, + 0xb6, 0x0a, 0x28, 0xef, 0xc0, 0x03, 0x00, 0x86, 0xcc, 0x02, 0x05, 0x00, + 0xd0, 0x90, 0x80, 0x02, 0x00, 0x68, 0xe8, 0xe0, 0x01, 0xe5, 0x1d, 0x78, + 0x00, 0x40, 0xee, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, + 0x86, 0x1a, 0x07, 0x94, 0x77, 0xe0, 0x01, 0x00, 0x43, 0x67, 0x81, 0x02, + 0x00, 0x68, 0x48, 0x40, 0x01, 0x00, 0x34, 0x74, 0xd0, 0x80, 0xf2, 0x0e, + 0x3c, 0x00, 0xa0, 0x0f, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, + 0x80, 0x86, 0x1a, 0x05, 0x54, 0xb9, 0xaf, 0x67, 0x01, 0x00, 0x90, 0x11, + 0x0b, 0x14, 0x00, 0x40, 0x43, 0x02, 0x0a, 0x00, 0xa0, 0xa1, 0x83, 0x05, + 0x94, 0x77, 0xe0, 0x01, 0x00, 0x7d, 0x61, 0x81, 0x02, 0x00, 0x68, 0x68, + 0xd2, 0xf5, 0x13, 0x00, 0x00, 0x78, 0xca, 0xe7, 0x09, 0x7f, 0xfb, 0xb8, + 0xcd, 0x03, 0xaa, 0x28, 0xbc, 0x09, 0x0f, 0x00, 0x32, 0x92, 0x72, 0x80, + 0x6c, 0xa2, 0x2c, 0xcb, 0xa2, 0xeb, 0xe7, 0xf0, 0x21, 0x16, 0x28, 0x00, + 0x48, 0x44, 0xdb, 0xc1, 0x93, 0x72, 0x80, 0xe4, 0x4e, 0x40, 0x01, 0xc0, + 0x96, 0x04, 0xcf, 0x70, 0x1d, 0x24, 0xa0, 0xbc, 0x03, 0x0f, 0x80, 0x54, + 0xed, 0x12, 0x41, 0x82, 0x67, 0xb8, 0x2c, 0x50, 0x00, 0xf4, 0x4a, 0xd3, + 0x20, 0x12, 0x41, 0x6c, 0x43, 0x40, 0x01, 0x90, 0x34, 0x41, 0x44, 0x8a, + 0x36, 0x0b, 0x28, 0xef, 0xc0, 0x03, 0xa0, 0x25, 0x82, 0x88, 0x3e, 0xb0, + 0x40, 0x01, 0xd0, 0x8a, 0x4d, 0xc3, 0x48, 0x10, 0xd1, 0x07, 0x02, 0x0a, + 0x80, 0x8d, 0xbc, 0x14, 0x48, 0xc2, 0x88, 0x21, 0xd9, 0x7b, 0x40, 0x79, + 0x07, 0x1e, 0x40, 0x1e, 0x04, 0x12, 0x6c, 0xce, 0x02, 0x05, 0x30, 0x10, + 0x02, 0x09, 0xda, 0x23, 0xa0, 0x00, 0x7a, 0x42, 0x20, 0xc1, 0xe1, 0xbc, + 0x1c, 0x50, 0xde, 0x81, 0x07, 0xd0, 0xb9, 0x4d, 0x2e, 0xd0, 0x16, 0x48, + 0x70, 0x38, 0x2f, 0x07, 0xd4, 0xda, 0x1f, 0xc8, 0xa2, 0x28, 0xca, 0x4f, + 0xd7, 0xae, 0x69, 0xfa, 0x2c, 0xf3, 0x6f, 0x52, 0x08, 0x90, 0x0a, 0xeb, + 0x11, 0xe4, 0x65, 0xa7, 0x23, 0xbc, 0xc7, 0x17, 0x88, 0x0b, 0x2a, 0x80, + 0xa7, 0x09, 0x24, 0xe8, 0x97, 0x56, 0xaf, 0x81, 0xf2, 0x8e, 0x3b, 0x60, + 0x88, 0x1c, 0xaf, 0xc1, 0xf0, 0xb8, 0x88, 0x1c, 0xe0, 0x05, 0xd6, 0x23, + 0xe0, 0x31, 0x01, 0x05, 0x0c, 0x9a, 0xf5, 0x08, 0xd8, 0x86, 0x80, 0x02, + 0x7a, 0xcd, 0x7a, 0x04, 0xec, 0x43, 0x51, 0x96, 0x9b, 0xdf, 0xa5, 0xa0, + 0x78, 0xe1, 0x96, 0x06, 0x9f, 0xba, 0x06, 0x0a, 0x38, 0x30, 0x81, 0x04, + 0x74, 0xa1, 0x51, 0x40, 0xbd, 0xf8, 0xc5, 0x76, 0xb8, 0x67, 0x94, 0xf8, + 0x02, 0x1e, 0x73, 0xbc, 0x06, 0xa4, 0xaa, 0xd5, 0x80, 0xda, 0x85, 0xf8, + 0x82, 0xe1, 0xb1, 0x1e, 0x01, 0xb9, 0x4a, 0x26, 0xa0, 0x76, 0x21, 0xbe, + 0x20, 0x1d, 0x9b, 0xac, 0x46, 0x35, 0x81, 0x04, 0xe4, 0xaa, 0x17, 0x01, + 0xb5, 0x0b, 0xf1, 0x05, 0x1f, 0xd6, 0x24, 0x86, 0x6a, 0xa2, 0x08, 0x18, + 0x82, 0xc1, 0x07, 0xd4, 0x2e, 0xc4, 0x17, 0xb9, 0xd8, 0x26, 0x84, 0x22, + 0xc4, 0x10, 0xc0, 0x87, 0x08, 0xa8, 0x8e, 0x88, 0x2f, 0xb6, 0x65, 0x15, + 0x02, 0xe8, 0x9e, 0x80, 0xca, 0x90, 0xf8, 0xca, 0xd3, 0xb6, 0x2b, 0xd0, + 0x63, 0x62, 0x08, 0xa0, 0x7b, 0x02, 0x6a, 0x60, 0xc4, 0xd7, 0xf3, 0xda, + 0x8a, 0x9c, 0xa7, 0x08, 0x1f, 0x80, 0xfe, 0x10, 0x50, 0x6c, 0x2c, 0x95, + 0xf8, 0x12, 0x39, 0x00, 0x74, 0x4d, 0x40, 0x71, 0x10, 0xbb, 0xc4, 0xd7, + 0x63, 0x22, 0x07, 0x80, 0xae, 0x09, 0x28, 0x00, 0x80, 0x86, 0xfe, 0x3f, + 0x19, 0xa9, 0xf2, 0xfe, 0xf9, 0x14, 0xa9, 0x9c, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; + sub NEW { shift->SUPER::NEW(@_[0..3]); + $image0 = Qt::Pixmap(); + $image0->loadFromData($image0_data, length ($image0_data), "PNG"); + if ( name() eq "unnamed" ) { setName("TrimSPGUI" ); } setSizePolicy(Qt::SizePolicy(5, 5, 1, 1, this->sizePolicy()->hasHeightForWidth()) ); setMinimumSize(Qt::Size(550, 500) ); + setIcon($image0 ); setMouseTracking(1 ); setAcceptDrops(1 ); setSizeGripEnabled(1 ); @@ -241,48 +882,21 @@ sub NEW $layout6->addLayout($layout4); $layout8->addLayout($layout6); - groupBox15 = Qt::GroupBox(LayersTab, "groupBox15"); - groupBox15->setGeometry( Qt::Rect(460, 290, 250, 120) ); - - my $LayoutWidget_2 = Qt::Widget(groupBox15, '$LayoutWidget_2'); - $LayoutWidget_2->setGeometry( Qt::Rect(5, 20, 240, 90) ); - my $layout30 = Qt::VBoxLayout($LayoutWidget_2, 0, 0, '$layout30'); - - textLabelFN = Qt::Label($LayoutWidget_2, "textLabelFN"); - $layout30->addWidget(textLabelFN); - - FNPre = Qt::LineEdit($LayoutWidget_2, "FNPre"); - $layout30->addWidget(FNPre); - - textLabelPath = Qt::Label($LayoutWidget_2, "textLabelPath"); - $layout30->addWidget(textLabelPath); - - Path = Qt::LineEdit($LayoutWidget_2, "Path"); - $layout30->addWidget(Path); - - Start = Qt::PushButton(LayersTab, "Start"); - Start->setGeometry( Qt::Rect(595, 435, 80, 30) ); - Start->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Start->sizePolicy()->hasHeightForWidth()) ); - - Help = Qt::PushButton(LayersTab, "Help"); - Help->setGeometry( Qt::Rect(505, 435, 80, 30) ); - Help->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Help->sizePolicy()->hasHeightForWidth()) ); - groupBox1 = Qt::GroupBox(LayersTab, "groupBox1"); groupBox1->setGeometry( Qt::Rect(0, 0, 460, 500) ); groupBox1->setFrameShape( &Qt::GroupBox::GroupBoxPanel() ); groupBox1->setFrameShadow( &Qt::GroupBox::Sunken() ); - my $LayoutWidget_3 = Qt::Widget(groupBox1, '$LayoutWidget_3'); - $LayoutWidget_3->setGeometry( Qt::Rect(5, 20, 450, 465) ); - my $layout27 = Qt::VBoxLayout($LayoutWidget_3, 11, 6, '$layout27'); + my $LayoutWidget_2 = Qt::Widget(groupBox1, '$LayoutWidget_2'); + $LayoutWidget_2->setGeometry( Qt::Rect(5, 20, 450, 465) ); + my $layout27 = Qt::VBoxLayout($LayoutWidget_2, 11, 6, '$layout27'); my $layout19 = Qt::HBoxLayout(undef, 0, 6, '$layout19'); - textLabel1_4 = Qt::Label($LayoutWidget_3, "textLabel1_4"); + textLabel1_4 = Qt::Label($LayoutWidget_2, "textLabel1_4"); $layout19->addWidget(textLabel1_4); - NL = Qt::SpinBox($LayoutWidget_3, "NL"); + NL = Qt::SpinBox($LayoutWidget_2, "NL"); NL->setMaxValue( int(7) ); NL->setMinValue( int(1) ); $layout19->addWidget(NL); @@ -292,21 +906,21 @@ sub NEW my $layout26 = Qt::HBoxLayout(undef, 0, 6, '$layout26'); - textLabel2_4 = Qt::Label($LayoutWidget_3, "textLabel2_4"); + textLabel2_4 = Qt::Label($LayoutWidget_2, "textLabel2_4"); textLabel2_4->setSizePolicy( Qt::SizePolicy(0, 1, 0, 0, textLabel2_4->sizePolicy()->hasHeightForWidth()) ); $layout26->addWidget(textLabel2_4); my $spacer_2 = Qt::SpacerItem(101, 20, &Qt::SizePolicy::Fixed, &Qt::SizePolicy::Minimum); $layout26->addItem($spacer_2); - textLabel3 = Qt::Label($LayoutWidget_3, "textLabel3"); + textLabel3 = Qt::Label($LayoutWidget_2, "textLabel3"); textLabel3->setSizePolicy( Qt::SizePolicy(1, 5, 0, 0, textLabel3->sizePolicy()->hasHeightForWidth()) ); $layout26->addWidget(textLabel3); - textLabel4 = Qt::Label($LayoutWidget_3, "textLabel4"); + textLabel4 = Qt::Label($LayoutWidget_2, "textLabel4"); $layout26->addWidget(textLabel4); $layout27->addLayout($layout26); - BoxL1 = Qt::GroupBox($LayoutWidget_3, "BoxL1"); + BoxL1 = Qt::GroupBox($LayoutWidget_2, "BoxL1"); L1Comp = Qt::LineEdit(BoxL1, "L1Comp"); L1Comp->setGeometry( Qt::Rect(10, 20, 180, 25) ); @@ -319,7 +933,7 @@ sub NEW L1d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L1d->sizePolicy()->hasHeightForWidth()) ); $layout27->addWidget(BoxL1); - BoxL2 = Qt::GroupBox($LayoutWidget_3, "BoxL2"); + BoxL2 = Qt::GroupBox($LayoutWidget_2, "BoxL2"); BoxL2->setEnabled( 0 ); L2d = Qt::LineEdit(BoxL2, "L2d"); @@ -333,7 +947,7 @@ sub NEW L2rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL2); - BoxL3 = Qt::GroupBox($LayoutWidget_3, "BoxL3"); + BoxL3 = Qt::GroupBox($LayoutWidget_2, "BoxL3"); BoxL3->setEnabled( 0 ); L3d = Qt::LineEdit(BoxL3, "L3d"); @@ -347,7 +961,7 @@ sub NEW L3rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL3); - BoxL4 = Qt::GroupBox($LayoutWidget_3, "BoxL4"); + BoxL4 = Qt::GroupBox($LayoutWidget_2, "BoxL4"); BoxL4->setEnabled( 0 ); L4d = Qt::LineEdit(BoxL4, "L4d"); @@ -361,7 +975,7 @@ sub NEW L4rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL4); - BoxL5 = Qt::GroupBox($LayoutWidget_3, "BoxL5"); + BoxL5 = Qt::GroupBox($LayoutWidget_2, "BoxL5"); BoxL5->setEnabled( 0 ); L5d = Qt::LineEdit(BoxL5, "L5d"); @@ -375,7 +989,7 @@ sub NEW L5rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL5); - BoxL6 = Qt::GroupBox($LayoutWidget_3, "BoxL6"); + BoxL6 = Qt::GroupBox($LayoutWidget_2, "BoxL6"); BoxL6->setEnabled( 0 ); L6d = Qt::LineEdit(BoxL6, "L6d"); @@ -389,7 +1003,7 @@ sub NEW L6rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL6); - BoxL7 = Qt::GroupBox($LayoutWidget_3, "BoxL7"); + BoxL7 = Qt::GroupBox($LayoutWidget_2, "BoxL7"); BoxL7->setEnabled( 0 ); L7d = Qt::LineEdit(BoxL7, "L7d"); @@ -402,6 +1016,40 @@ sub NEW L7rho = Qt::LineEdit(BoxL7, "L7rho"); L7rho->setGeometry( Qt::Rect(200, 20, 111, 25) ); $layout27->addWidget(BoxL7); + + Help = Qt::PushButton(LayersTab, "Help"); + Help->setGeometry( Qt::Rect(505, 450, 80, 30) ); + Help->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Help->sizePolicy()->hasHeightForWidth()) ); + + Start = Qt::PushButton(LayersTab, "Start"); + Start->setGeometry( Qt::Rect(595, 450, 80, 30) ); + Start->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Start->sizePolicy()->hasHeightForWidth()) ); + + groupBox15 = Qt::GroupBox(LayersTab, "groupBox15"); + groupBox15->setGeometry( Qt::Rect(460, 290, 250, 140) ); + + my $LayoutWidget_3 = Qt::Widget(groupBox15, '$LayoutWidget_3'); + $LayoutWidget_3->setGeometry( Qt::Rect(6, 23, 240, 100) ); + my $layout14 = Qt::VBoxLayout($LayoutWidget_3, 0, 0, '$layout14'); + + textLabelFN = Qt::Label($LayoutWidget_3, "textLabelFN"); + $layout14->addWidget(textLabelFN); + + FNPre = Qt::LineEdit($LayoutWidget_3, "FNPre"); + $layout14->addWidget(FNPre); + + textLabelPath = Qt::Label($LayoutWidget_3, "textLabelPath"); + $layout14->addWidget(textLabelPath); + + my $layout13 = Qt::HBoxLayout(undef, 0, 6, '$layout13'); + + Path = Qt::LineEdit($LayoutWidget_3, "Path"); + $layout13->addWidget(Path); + + Browse = Qt::PushButton($LayoutWidget_3, "Browse"); + Browse->setSizePolicy( Qt::SizePolicy(7, 0, 0, 0, Browse->sizePolicy()->hasHeightForWidth()) ); + $layout13->addWidget(Browse); + $layout14->addLayout($layout13); tabs->insertTab( LayersTab, "" ); AddParTab = Qt::Widget(tabs, "AddParTab"); @@ -608,6 +1256,7 @@ sub NEW Qt::Object::connect(dRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()"); Qt::Object::connect(NL, SIGNAL "valueChanged(int)", this, SLOT "PrepLayers()"); Qt::Object::connect(ProjType, SIGNAL "activated(int)", this, SLOT "ProjSmartDefaults()"); + Qt::Object::connect(Browse, SIGNAL "clicked()", this, SLOT "DirectoryBrowse()"); } @@ -648,22 +1297,13 @@ sub languageChange Qt::WhatsThis::add(SigAngle, trUtf8("The spread in implantation angles.")); Seed->setText( trUtf8("78741") ); Qt::WhatsThis::add(Seed, trUtf8("The random number generator seed.")); - groupBox15->setTitle( trUtf8("File Names") ); - textLabelFN->setText( trUtf8("File names prefix") ); - FNPre->setText( trUtf8("SrTiO3") ); - Qt::WhatsThis::add(FNPre, trUtf8("The names of the saved files will start with this prefix.")); - textLabelPath->setText( trUtf8("Save in subdirectory") ); - Path->setText( trUtf8("Muon_SrTiO3") ); - Qt::WhatsThis::add(Path, trUtf8("This is the path were the input/output files will be stored.")); - Start->setText( trUtf8("Start") ); - Help->setText( trUtf8("Help") ); groupBox1->setTitle( trUtf8("Layers") ); textLabel1_4->setText( trUtf8("Number of Layers") ); Qt::WhatsThis::add(NL, trUtf8("Select the number of the layers of your structure (maximum 7 layers).")); textLabel2_4->setText( trUtf8("Composition") ); Qt::ToolTip::add(textLabel2_4, trUtf8("Chemical formula")); textLabel3->setText( trUtf8("Density [g/cm3]") ); - textLabel4->setText( trUtf8("Thickness [nm]") ); + textLabel4->setText( trUtf8("Thickness [Å]") ); BoxL1->setTitle( trUtf8("Layer 1") ); L1Comp->setText( trUtf8("SrTiO3") ); Qt::ToolTip::add(L1Comp, trUtf8("Chemical formula of L1")); @@ -678,6 +1318,16 @@ sub languageChange BoxL5->setTitle( trUtf8("Layer 5") ); BoxL6->setTitle( trUtf8("Layer 6") ); BoxL7->setTitle( trUtf8("Layer 7") ); + Help->setText( trUtf8("Help") ); + Start->setText( trUtf8("Start") ); + groupBox15->setTitle( trUtf8("File Names") ); + textLabelFN->setText( trUtf8("File names prefix") ); + FNPre->setText( trUtf8("SrTiO3") ); + Qt::WhatsThis::add(FNPre, trUtf8("The names of the saved files will start with this prefix.")); + textLabelPath->setText( trUtf8("Save in subdirectory") ); + Path->setText( trUtf8("./") ); + Qt::WhatsThis::add(Path, trUtf8("This is the path were the input/output files will be stored.")); + Browse->setText( trUtf8("Browse") ); tabs->changeTab( LayersTab, trUtf8("Layers") ); AddParam->setTitle( trUtf8("Additional parameters") ); textLabelEF->setText( trUtf8("EF") ); @@ -734,7 +1384,7 @@ sub languageChange sub ToggleScanSingle { - # Toggle between scan/single run mode +# Toggle between scan/single run mode # First collect some information my %All=(); @@ -744,7 +1394,7 @@ sub ToggleScanSingle $All{"NProjRadio"}=NProjRadio->isChecked(); $All{"dRadio"}=dRadio->isChecked(); $All{"ScandL"}=ScandL->text(); - + # Enable everything E->setDisabled(0); E->setText("2000"); @@ -825,12 +1475,43 @@ sub ProjSmartDefaults sub OpenHelpWindow { - use trimhelp; - my $w=trimhelp::NEW(); - $w->show; -# $w->setFocus(); -# $w->setActiveWindow(); -# $w->raise(); + my $HelpText=" +This is a GUI that uses the Trim.SP simulation binary to calculate the +implantation profiles if implanted projectiles in a multilayer thin film +structures. + +Usage: + + Initially define your multilayer structure. This can be formed of 7 layers +maximum. Each layer is defined by giving its chemical formula, its +density in units of g/cm^3, and its thickness in Ångström. + + Next, choose the type of projectile to be implanted in the structure from +the drop-down menu. Set the 'Number of projectiles' to be implanted, were +a higher number will give better statistics. Finally define the rest of the pro- +jectile parameters such as implantation energy, energy spread, etc. + + In the 'File names prefix' give a string which will be used to construct the +input/output file names of the simulation. These files will be collected and +saved in the subdirectory provided in 'Save in subdirectory' box. + + The 'Additional Parameters' tab allows you to change additional parameters +In the simulation. Change these only if you know what you are doing, and have +read the original documentation of the Trim.SP simulation. + + The 'Scans' tabs provides the ability to change the value of a certain +parameter in the simulation, such as implantation energy, spread in energy, +number of implanted projectiles, and the thickness of one layer. The values of +this parameter can be changes by a regualr step size ('Loop' checkbox and +parameters), or following a set of values ('List of values' checkbox and the +comma separated values). + + For more details click on the question mark on the top right corner, and then +click on the item you want to lear about. + +Copyright 2009 by Zaher Salman and the LEM Group + "; + my $HelpWindow = Qt::MessageBox::information( this, "TrimSP GUI Help Window",$HelpText); } @@ -902,7 +1583,7 @@ sub CollectValues $All{"IPOT"}=sprintf("%3d",$All{"IPOT"}); $All{"IPOTR"}=sprintf("%3d",$All{"IPOTR"}); $All{"IRL"}=sprintf("%2d",$All{"IRL"}); - + # Filenames etc. $All{"FNPre"}=FNPre->text(); $All{"Path"}=Path->text(); @@ -931,7 +1612,8 @@ sub CollectValues sub CreateInpFile { -# use lib "$ENV{HOME}/Projects/TrimSPGUI/Chem"; +# use lib '$ENV{HOME}/Projects/TrimSPGUI/Chem'; + push @INC, "$ENV{HOME}/Projects/TrimSPGUI"; use Chem; # The proper way I think is not to have scan sequences implimented here # but rather call this multiple times to generate the scan @@ -1063,6 +1745,7 @@ sub CreateInpFile if ($Check!=0 && $i<=$All{"NL"}) { my $ErrMsg="Error: Layer $i is empty. Expecting it to be defined!\n"; print STDERR $ErrMsg; + my $HelpWindow = Qt::MessageBox::information( this, "Error!",$ErrMsg); # my $ErrorDialog = Qt::ErrorMessage(TrimSPGUI); # $ErrorDialog->message($ErrMsg); return "ERROR"; @@ -1079,7 +1762,7 @@ sub CreateInpFile # print STDOUT "Layer: ".$i."\n"; # print STDOUT "Composition: ".$Comp."\n"; - + my @Els = keys %LElComp; for (my $NEl=1;$NEl<=5;$NEl++) { @@ -1127,12 +1810,18 @@ sub StartSequenceOne my %All = CollectValues(); my @SValues=(); my $cmd=""; -# Create a subdirectory where all input/output files are saved - $cmd="mkdir ".$All{"Path"}; - system($cmd); -# Cleanup from old files - system("rm -f ausgabe*"); +# Create a subdirectory where all input/output files are saved + if (-d $All{"Path"}) { +# Directory exists, do nothing + } else { + $cmd="mkdir ".$All{"Path"}; + system($cmd); + } +# Cleanup from old files + if (-e "ausgabe1.inp") { + system("rm -f ausgabe*"); + } if ($All{"ScanSeq"}) { # For a scan $All{"ERadio"}=ERadio->isChecked(); @@ -1153,7 +1842,7 @@ sub StartSequenceOne @SValues=(@SValues,$Val); } } - + my $ScanName = ""; if ($All{"ERadio"}) { $ScanName = "E"; @@ -1206,12 +1895,21 @@ sub StartSequenceOne system($cmd); } # Move the fort.33 file into the subdirectory and change its name - $cmd="mv -f fort.33 ".$All{"Path"}." ".$All{"FNPre"}."_Seq_Results.dat"; + $cmd="rm -f eingabe1.inp; mv -f fort.33 ".$All{"Path"}."/".$All{"FNPre"}."_Seq_Results.dat"; system($cmd); return 1; } +sub DirectoryBrowse +{ + + my $FileBrowser = Qt::FileDialog::getExistingDirectory("./",this,"get existing directory","Choose a directory",1); + if ($FileBrowser eq "") {$FileBrowser="./";} + Path->setText($FileBrowser); + +} + 1; diff --git a/trimsp/TrimSPGUI/TrimSPGUItabs.ui b/trimsp/TrimSPGUI/TrimSPGUItabs.ui index 8402234..09425c4 100755 --- a/trimsp/TrimSPGUI/TrimSPGUItabs.ui +++ b/trimsp/TrimSPGUI/TrimSPGUItabs.ui @@ -29,6 +29,9 @@ TrimSPGUI + + image0 + true @@ -411,132 +414,6 @@ - - - groupBox15 - - - - 460 - 290 - 250 - 120 - - - - File Names - - - - layout30 - - - - 5 - 20 - 240 - 90 - - - - - unnamed - - - 0 - - - 0 - - - - textLabelFN - - - File names prefix - - - - - FNPre - - - SrTiO3 - - - The names of the saved files will start with this prefix. - - - - - textLabelPath - - - Save in subdirectory - - - - - Path - - - Muon_SrTiO3 - - - This is the path were the input/output files will be stored. - - - - - - - - Start - - - - 595 - 435 - 80 - 30 - - - - - 7 - 7 - 0 - 0 - - - - Start - - - - - Help - - - - 505 - 435 - 80 - 30 - - - - - 7 - 7 - 0 - 0 - - - - Help - - groupBox1 @@ -688,7 +565,7 @@ textLabel4 - Thickness [nm] + Thickness [Å] @@ -1120,6 +997,158 @@ + + + Help + + + + 505 + 450 + 80 + 30 + + + + + 7 + 7 + 0 + 0 + + + + Help + + + + + Start + + + + 595 + 450 + 80 + 30 + + + + + 7 + 7 + 0 + 0 + + + + Start + + + + + groupBox15 + + + + 460 + 290 + 250 + 140 + + + + File Names + + + + layout14 + + + + 6 + 23 + 240 + 100 + + + + + unnamed + + + 0 + + + 0 + + + + textLabelFN + + + File names prefix + + + + + FNPre + + + SrTiO3 + + + The names of the saved files will start with this prefix. + + + + + textLabelPath + + + Save in subdirectory + + + + + layout13 + + + + unnamed + + + + Path + + + ./ + + + This is the path were the input/output files will be stored. + + + + + Browse + + + + 7 + 0 + 0 + 0 + + + + Browse + + + + + + + @@ -2027,6 +2056,11 @@ + + + 89504e470d0a1a0a0000000d494844520000025000000219080600000069b501e100001d6349444154789ceddd4f6f24f97ddff16f7537ff8f4663fd59014600312b20b91809e247a09bfc206c5f17f2cd37df76f7ec9300c3b000df72f7d9bef91124e71cb4e0228ee40d02afbcbb3324fb5fe5502c7693c321bbbaabbb7ebfaad70b687076c4e5748f309ab73ebfea625196650000b0b951d74f00002037020a00a021010500d09080020068484001003424a000001a125000000d092800808626ad7c95a278ff6e9c6559b4f2b50100125334b91379f1542845c4a65f41510100b92bcbb268bc4095e5a7efff64f1f966ffee933ff9c4d70300485071d73cbb1fe16d184f8dfe7d51050024ac9d6ba0daf638aa04150090903403ea312b15009090dd026ad7e3bbb67f6d5105001c401e0bd4a64415007000fd0aa8a7b89e0a006859ff03ea312b1500b0a3e105d453441500d08080fa105105007c80806a4254010021a076e7227500189ced03aacb7b40a5cc4a0500bdb77d40edf04d850747540140afb47b8427aa3627aa00205bfbbf064a546dcef5540090856e2e2217559bb152014092d27917dee33010544f135500d0b97402ea312bd5e64415001c54ba01f51451b5395105007b9357403d45546dce45ea00d08afc03ea29aea7da8c950a00b6d2cf807acc4ab5395105002f1a46403d45546d4e5401c003c30da8a788aacdb99e0a800113502f11559bb152013020026a1b2e52df8c950a809e12506db0526d465001d013026a5f44d5cb1cfb019029017548a2ea65562a003220a0bae67aaae7092a001224a05263a57a9e633f001220a07220aa9e67a502e0c00454ae44d587092a00f64c40f589a87a9a633f005a26a0face45ea4fb35201b00301353456aaa7092a001a28cab2dcfc938b62f34f266bfe8b7e5fd1f5130020096559168d03eaeaea6a7fcf88a4fdf4f2b2eba790942ffd5900189ccbcbcb28cbb27084c7c61e07c3d083eaf1eb175400c321a0d8da53c130e4a87aeab58b2a807e1250b44a543d64a502e82701c5de39fa5b115400fd20a038382bd58a633f803c09289260a55ab15201a44f4091242bd58aa002488f80221b56aa8a633f80ee0928b265a55ab152011c9680a257ac54154105b05f028a5eb352551cfb01b44b40313856aa8a950a607b028ac1b352550415c0e604143cc14a25a8009e23a06003562a4105b04e40c19686be52092a60c80414b464e82b95a002864440c11e0d79a51254409f092838a021af54820ae81301051d1bea4a25a8809c092848cc50572a4105e44440410686b852092a2065020a3234c4956afdf58929a06b020a7a623d2a86145311820a383c01053d34b4233feb147068020a0660484125a680431050304043092a477dc0be08286030d74f59a780b60828e001eb14c0cb0414f0ac21069598025e22a08046861054d629e025020ad8c910ae9fb24e018f0928a035435ba7c4140c978002f6a6ef4155bf1e2105c323a08083e96b5059a560780414d0993e5e3f6595826110504012fab64e0929e837010524a92feb9490827e125040f2fab04e0929e81701056427e7754a48413f0828206bb9c6949082bc0928a037723ceafbe9e5a588820c0928a0b77259a7ac51901f01050c420eeb94350af221a080414a759db246411e041430781f8a952ec3ca1a05691b75fd040052f5e5d555a711f3d3cbcba4d63160454001bca00ea9ae624a44417a041440035d8594350ad222a000b6608d82611350005beaea684f4441f70414400bbabee09cc372a48a800268d1a142ca5fdedd104ed4dc070a600fea88dae75fb6ee1575188289a758a000f668df816311d91fbfb73c474001ecd9218ef5fc45df1ee1c4261ce1011cc8be8ff51ce96d4f30d194050ae0c0444e7abc8b92a604144007f6f517b6256537428a4d0928809e1151bb1351bc44400174c8129526bf7fbc44400124c0e2017911500089105169b03eb1090105909036234a0834f7dcef990bcc5927a0001223a2d226a48810500049f217f4e1bdb43e6df2730c8780024894bfa00fa7693c818002e839c778d03e010590b0b6d60f11f561d627b621a00012e72ff1fd114f6c6bd2f51300e0655f5e5d59911ef9877fb88c376f228e8f238e8eaac7e969c4785c3d6e6e22fee88faeba7e9af4545196e5e69f5c14e5952207e8ccae1195fbaaf2f77f7f19171711af5e459c9f479c9c548fa3a322269388b3b322c6e3eac7a351445144dcdc2ca22c233efef8eac1d7b23eb18dcbcbcb28cbb2b040016462c80bd4af7e7519af5f475c5c54c1747616319914311a55a134998ce2e4641ca7a7e3188d562bd4785c855651447cf5d57f8cc5a28c3ffcc3e7d73cf1c42604144026867a8cf7b77f5bc5d3d9d9ea311e177781544451444c2693383e3e8a376f2ee2ecec38e6f3db98cd6eef02ab8cd128e2e46414cbe532debefd4f5dbf247a40400164646811f5ab5f554776c7c7ab6b9d46a3222693511c1d15717c5cc4d9d9519c9f1fc5d9d9519c9e9ec6d9d9719c9dbd8eb3b3e3288a328a621911d5c77ff997ff1365b98c2f7e731cdf7df72efecb7f5d3ef8f5ac4f6cca35500019da25a2728884bffaabcbf8d18faa23bbf3f32a9e4e4eaa8fa7a7d551ddc94915506fde5cc4f7bf7f11676747f1ead5eb188dce623c3ebb0ba9e3885844c4e23ea6168bff1d5f7df5af7173731bd7d737319b95f1dffeb8cce2f785eeb9060a8024fde55f5ec6471f55d72dcde7d5e3f8b8ba9ee9e8681cc7c7e3383eaeae797af5ea2ccecf4fe3e4e4242e2e4ee3f5eb37311e5f3c78d40115318f88458c468bf8e8a345bc7dfb36befefaf7717d7d1bfff37f2ce207ddbe6c3223a00048c65ffcc565fce427f585e1ab702a8a88e532623c1e4551548f885114c55114c5798c46afe2e8e82226931fc672f9bd28cb5711f1bd8878155538d58f598c4693188ddec4f7bef7559c9fff6b7cfdf5bfc7d75fffbec3574d8e04140049f8e52f2fe3e4246236abeee7349954f154c7d464328ee5b288c522623e2fe2e4a488d168124747c77172721a2727afe2f8f8c751963f88e5f20fa228ce22e22c22661131bdfbb88c881f47c417311e7f1ba3d14fe2473fba88a228e2abaf7e16af5fffa6c3df017222a00006e6a79797495eef5396ab6b9d4e4e56f7711a8daaf5a9be6477341ac5785c2d5011e3a8fe2a3b8a88e3188d2e22e2758cc7af22e24d447c3faa709a45bd40ad7e3c89a2f85d8cc7bf8db3b31fc40f7f388ad9ecc02f9a6c0928003af7c92797717c5c5def349b558ffa1e4ff50a359bd53f2e633289fb356a3a2de3f6b68cf97c1c11c7117112d5f1dd0fa23ac2bb88889bbb477d94f75144bcbefbfce328cbdf4759465c5fffe7383bfb5f5dfc169019010590a13edecea028aaa3bbd3d3553cad226a1c93c938c6e3ea5114a3582e8b8898c4787c12c7c7e7311e9f46154fc7b10aa937511dd94d23e2f6d1c7b711f15d44bc8dd7afff4314c5714444fcee771fc78f7ffcc5a15f3e99f1cd8401e8d4279f5cc66854ad4f8b45f528cbead86eb95cfddc7c5ec67c5ec66251deff783e9fc76c7613f3f93496cb7944941f784444146bbf6a1911e751c5d559442c63b128a22c277171717cb8174fb62c5000746eb98cfb889acf23a6d3eae78ba23ab62bcbeadaa7c964f578f5eaf5fde3ecec2c8e8e26f13098d603aabe8dc13caa0bc9cb88b88e88afa3beb0fccd9bea73e7f3cdef8fc87059a000e8cc279f5cdeffb8bacbf8c315aa2cebf52962362b633a2d63365b5fa096f73f5e2e9751c5d0fa633da822aa15aafeb95154477da7515d8cbefaf77efbdb9fedffc593350b14004998cf57df00f8f8f8e1f1dd6c5646512cee16a922c6e32266b3694ca7d7319b1ddf3d8e62b9fc2646a3fa9d79eb1feb77e0ddde3f96cb692c97e3a8a26a1111d3582cca582c228e8fed0b3c4f4001d0b9fa9e4f93c96a85aa6f2950dd813cee6ea059c472196b0b5419b3d92c66b3eb984e8f633abd8ef1f83446a37fbfbbd5c138aaa5697523cdd50d352396cbaf633effbf11f16d444c633e9fde7ddd882fbef8383efed8c5e43c4d4001d0b9fa1e4ff3f9ead605f5cfad1fe18dc7d5f7b3ab6e6bb07cf498c66c761d8bc5698cc727b15c9ec668f44d8cc7eb0bd4c3902a8adb188d46b1582c62b1a803aa5aa2e039020a80ce2d16d505e311ab8ff53bf1ea23bc88e5fd8d35c7e38877efa6ef7d9df3f37f8bf3f3fa9e4fb7b1baffd3321e5e485e05d4dbb7bf8fc5e2db582edfc56271fbe05d7e6559bcf7f5a126a00048c27c5e45d3ed6df5b128aa6ba146a3228aa288d128a22cabc099cdca98cd96319f2fe3fafa368aa28ca228e3e2e22ce6f332cecfcb383fbf89a2a843aa0ea8f5909ac564f24dcc66b378f7ee28e6f3dbb8be9ec66c563d97ebeb6587bf1ba44e4001908cc5a20aa8f9bcfae7f1b85ea1cafb3b8f2f97cbbba5681ad3e93c6e6fe7717bbb88dbdb45cce78b383999c4f9f9799c9f5fc4f9f9ff8bf3f3f3bbc0aadf65b70aa99b9beb78f7ee9bb8befe26debdfb2ee6f3455c5fdfc4cdcd32168bee7e1f489f8002c850dfee42beaebef7d36211717353c5537d3d545194778b54c4785cc668147173338fe5b28cb25cc6c9c938e6f3492c168b984eaf633a3d8fe9f4fc7ea18aa83f5601359d4eefae9d1ac5f5f52ce6f3c5ddba55fddaf021020a80e4ac5fff545ff75414abeba322ca188dea0bca8b188dcab8be9ec577dfddc46c36b90ba1eae3ededf57d40d5f154ff783abd8de9f4366e6f6f633aad036a7e775fa90e7f03489e800218982fafaeba7e0acfaa8ee9aa5b1ad48aa2bafe69fd9f2316b15c2ea32ccb582ecb582e47311edfc6cdcd346e6f8fe2e46472ffb10ab072ed5145d472b988e9741eb3d922a6d3e5dd2d128a98cd56774387a708280092527ddb96d55dc823aa7f9e4c56cbd47cbebe462d62b158c67239bebb9754118bc5226e6f8b984e5701351a95f7211551de055915606559c474ba88e5b27e175ec4cf7f7ed5c9eb270f020a80e4ac7f1b973aa856b737281f7cdeeadbb32cee036a3e1fdd7d5cc6cdcdf43ea0aae3c0f22ed096778ff2fec7754039bee325020a80cefcfad7570fbe1f5ead0e983a9aea5b1cd43f371a45449477178f175196c5dd3724ae226a1550d5c72aa0e2c112551dfdad0754154e6519f18b5f5cedffc59335010590993ebf036f5d1d51f53da18aa2faf62ef532359954dfe2a55aabcafba56a32a96f7550bd836f1550e57d441545797fed54bd3cd5c783a59b90b301010540a73eb442d596cb87efc8abaf818aa817aaf26e81aa2e105f2c8a984ccabb5b21541f1faf4ff535567578ad3faeaf0ff1aac99d80022079f5115e1d53f50d3657ab5115517524cd66d5e7ac3fd6d7a7f5db22d4eb53fdb5fefccfafba7eb96460d4f513006073bb1edfa57a0b835ffffaeac5cfa923a7fac6c2d51dcba7d3b83baa8b98cfeb6ff152deff783a5dc6eded326e6e568fdbdb326e6eaac7f57519d369dc3ffef44f5f7e1e10618102188c54e36953f5fab43a7e5b05d47c1e7172b2bac07cb1582d4e93c9ea5d7c0fdfcdb7be42b9f689662c5000246193152ae2e13551f56d0ee6f32aa6ea556a3aad56aa7aa95a5fabd617a79b9b8877efaac72f7fb9d9af0f11020a201b4378f75d9388aa03aa5ea0ea805a7fac87d4fae75c5fafc2e9eddb886fbfddefeba27f0414400686104fb54d232aa20aa8e9b40aa29b9bf703eae6a6facfd61f7534adc7d3a79f6efe6b42846ba0000621b7eb9fea887aeef6068fd5efd49b4cde7fe75dfd583ffefbebbfbedacb736718041440e286b43e3df68fff14f127bfd8fcf3eb63bd5a7d9178fda87fee6ffee6aad5e7c9f038c20320497538fee33f6dff35d66f90595f2b259e6883050a20616dac4fb91ddf45bcffbad723aac9221551c5d3dffdddd5cecf09d6092800b2d2e42273d817477800891aeab54fcfbdee1cd734fa494001f4586ec1219ec885800248d050d727c8858002e8a9dc161beb13391150008919e2fa249ec88d800248485bf1243a60bf04144022861a4fd6277224a000e88c782257020a2001435d9f2057020aa06343bc683cc2fa44de04144087da8ca79ca2433c913b0105d091a12e4f112289fc092880cc7d79759565903cf59c737c1d0c938002e8c090d7a775ebc1249ec8c9a4eb2700303443bdeee943faf01a181e0b14c0018927e807010570208eeda03f0414c001b41d4fd627e8968002d833f104fd23a000f6c8b11df49377e101ecc1bec2c9fa0469b04001b44c3c41ff59a0005ab2cfe33af104691150003bdaf7754ee209d223a000b674880bc4c513a449400134e49d75808002d8d0a1c3c9fa04e91250002fe86271124f90360105f0015d1dd58927489f8002784438012f11500077babc385c3c415e041430785dbfab4e3c417e041430485d47538470829c092860505208a708f104b91350c020a4124e11e209fa404001bd259a807d115040efa4144e11e209fa484001bd219c8043115040f684137068020ac8526ad114219c604804149015e104a440400159104e404a041490ac14a329423801020a489070025227a0806408272017020ae854aad114219c800f13504027520d27d1046c42400107259c803e1050c0410827a04f0414b05729869368027625a080bd104e409f0928a055c20918020105b44238014322a0809da4164ea209380401056c4538014326a080468413808002369452388926a06b020a78967002789f8002de935234450827203d020ab897523889262065020a104e000d09281830e104b01d010503249c007623a060408413403b04140c807002689780821e134e00fb21a0a0878413c07e0928e811e1047018020a7a4038011c9680828c0927806e0828c84c4ad114219c80611250909194e24938014326a02003c209202d020a12269c00d224a02051a9c4937002789f8082c4082780f4092848847002c887808204a4104fc2096073020a3a249c00f224a0a003c209206f020a0e483801f483808203e93a9e8413407b0414ec997002e89fa22ccbcd3fb92836ff6418b8aeffb0141dfffa007d559665d17c81fad967ed3f13e899f2379f75f66b17fe8c02eccfddffbe375ea03efdef5dffff6a48d7677fd6edeef3993f9f007bf5f99f155b2e50c07b8413c0b00828d8817002182601055bea329e841340b70414346475024040c1868413003501051b705c07c03a0105cf104e003c4540c1131cd701f01c01058f589d00788980823bc209804d0928064f3801d0948062b05ce704c0b60414836475026017028a41114e00b441403108c20980368dba7e02b06fe20980b659a0e82de104c0be08287a473801b06f028ade104e001c8a6ba0e805f104c02159a0c85e57f1249c00864b40912de1044057041459ea229e84130035014556ac4e00a44040910dab1300a91050244f3801901a0145d20e1d4fc209804d0828926475022065028ae4589d00489d802229878c27e104c0b6041449104e00e4c4f7c2a373e20980dc58a0e88c6b9d00c895058a4e882700726681e2a08413007d6081e260c413007d618162ef8413007d638162afc413007d6481622f8413007d6681a275e20980beb340d12a37c50460082c50b4463c013014028a5688270086c4111e3b3b543c0927005221a0d89ad50980a112506cc5ea04c090b9068ac6c41300436781a29143c49370022075162836269e00a06281e245c209001eb240f12cf10400efb340f141fb8e27e10440ae2c503c493c01c08759a078c0911d00bccc02c53df104009b11504484780280261ce1e17a270068c8023570e209009ab3400d94233b00d89e056a80c41300ec46400d8c780280dd39c21b10d73b01403b04d400589d00a05d8ef07a4e3c0140fb04548f892700d80f47783de57a2700d81f0b540f892700d82f01d533e20900f64f40f588780280c310503d219e00e0705c44de03fb8c27e10400efb340654e3c01c0e109a88c892700e88680ca94780280eeb8062a43fb8827d104009bb34065463c0140f7045446c41300a4414065423c01403a045406c41300a44540254e3c01407a0454c2c41300a44940254a3c0140ba045482c41300a44d4025463c0140fa045442c41300e4414025423c01403e045402c41300e44540754c3c01407e265d3f81a1da47384588270038040b5407c41300e44d40f584780280c3115007e69a2700c89f803a20f10400fd20a00e443c01407f08a803104f00d02f022a43e20900ba25a0f6acedf5493c0140f704d41e892700e82701b527e20900fa4b40ed817802807e13502ddbd7b7690100d221a012677d0280f408a81639ba03806110502d114f00301c02aa05e20900864540ed483c01c0f008a81d8827001826010500d09080da92f50900864b406d413c01c0b009a886c4130020a01a104f00408480da987802006a02aa03e20900f226a036d0f6fa0400e44d40bdc0d11d00f098807a867802009e22a03e403c01001f22a09e209e0080e708a847c41300f01201b547e20900fa4940ad71bb02006013026a4fac4f00d05f02ea4e9beb937802807e1350219e00806604548bc413000cc3e003aaadf5493c01c0700c3aa0c41300b08d41071400c036061b50d62700605b830c2837cc04007631c8806a8bf5090086697001e5e80e00d8d5a002cad11d00d0864105545bac4f00306c45596e1e034551645b0e6d3d711b16000c5b5996c52016a86cab0f0048d2a4e9bff0e93f7fba8fe7b15f3fffbc952ff3d93f7f1a19be7a00a0259fdf3545ef17a8cf5a8c270080889e07545bf10400b0aed701d516eb1300b0aeb701657d0200f6a59701d5663c599f0080c77a19506d114f00c0537a17508eee00807deb554039ba03000ea15701d516f104003ca73701e5e80e0038945e0494a33b00e0907a11506d114f00c026b20f28477700c0a1651d508eee00802e641b50962700a02bd906549bac4f004013830f28f104003495654039be0300ba946540b5c5fa04006c23bb806a6b7d124f00c0b6b20b280080ae651550d6270020055905541bc41300b0ab6c02ca3bef0080546413506db03e01006dc822a0ac4f00404ab208a836589f0080b6241f50d627002035c907541bac4f00409b920e28eb130090a2a403aa0dd62700a06dc90694f509004855b201d506eb1300b00fbd0e2800807d4832a0da38beb33e0100fb9264400100a42cb980b23e0100a94b2ea0000052975440599f00801c2415500000394826a0ac4f00402e92092800805c241150d62700202749041400404e3a0f28eb1300909bce030a0020379d0694f50900c891050a00a0a1ce02cafa0400e4ca020500d0502701657d02007276f0806a239e0000ba94e5119ef50900e85296010500d0a5ec02cafa040074eda001e5fa2700a00fb25aa0ac4f00400ab20a280080141c2ca01cdf01007d91cd02e5f80e00484536010500908a830494e33b00a04fb258a01cdf010029c922a0000052b2f780727c0700f44df20b94e33b002035c9071400406a04140040437b0da85daf7f727c0700a4c8020500d09080020068686f01e5f80e00e82b0b14004043020a00a0a1bd0494e33b00a0cf2c5000000d09280080865a0f28c7770040df59a000001a125000000d2515508eef00801cb41a50bb5eff04009083a4162800801c2413508eef00805cb416508eef0080a14866810200c8451201e5f80e00c8492b01e5f80e00189224162800809c741e508eef0080dcec1c508eef0080a1d929a0c4130030449d1ee139be030072d4f935500000b9115000000d7516508eef00805c59a000001a125000000d6d1d506e6100000c95050a00a021010500d0502701e51d780040ce2c5000000d0928008086b60a28efc0030086cc020500d09080020068e8e001e51d780040ee2c5000000d09280080861a079477e00100436781020068484001003474d080f20e3c00a00f2c5000000d09280080861a0554b9af67010090110b14004043020a00a0a183059477e001007d618102006868d2f513000078cae7097ffbb8cd03aa28bc090f00329272806ca22ccba2ebe7f0211628004844dbc1937280e44e4001c09604cf701d24a0bc030f8054ed12418267b82c5000f44ad32012416c434001903441448a360b28efc003a02582883eb04001d08a4dc34810d107020a808dbc1448c28821d97b4079071e401e04126cce020530100209da23a0007a4220c1e1bc1c50de8107d0b94d2ed0164870382f07d4da1fc8a228ca4fd7ae69fa2cf36f5208900aeb11e465a723bcc717880b2a80a70924e89756af81f28e3b60881cafc1f0b8881ce005d623e03101050c9af508d88680027acd7a04ec4351969bdfa5a078e196069fba060a3830810474a15140bdf8c576b86794f8021e73bc06a4aad580da85f882e1b11e01b94a26a07621be201d9bac46358104e4aa1701b50bf1051fd624866aa2081882c107d42ec417b9d8268422c410c08708a88e882fb6651502e89e80ca90f8cad3b62bd0636208a07b026a60c4d7f3da8a9ca7081f80fe10506c2c95f8123900744d407110bbc4d763220780ae0928008086fe3f19a9f2fef914a99c0000000049454e44ae426082 + + ScanSeq @@ -2088,6 +2122,12 @@ TrimSPGUI ProjSmartDefaults() + + Browse + clicked() + TrimSPGUI + DirectoryBrowse() + TrimSPGUItabs.ui.h @@ -2103,6 +2143,7 @@ CollectValues() CreateInpFile() StartSequenceOne() + DirectoryBrowse()