db settings update

This commit is contained in:
luc 2026-08-28 16:03:55 +02:00
parent 1322bf2d33
commit e5e7e61ca7
15 changed files with 1018 additions and 365 deletions

View file

@ -373,8 +373,10 @@ int Epd3Base::Epd3U::StartDiscover(int tokentimeout)
handles[1] = hCancel;
Dll3RV = WaitForMultipleObjects(2, handles, false , tokentimeout);
if (Dll3RV == WAIT_OBJECT_0)
if (Dll3RV == WAIT_OBJECT_0) {
DiscoverError = DiscoverErrorNone;
rv = 1; //ok was set
}
else if (Dll3RV == WAIT_OBJECT_0+1) {
DiscoverError = DiscoverErrorCancel;
rv = 1; //cancel
@ -427,6 +429,11 @@ int Epd3Base::Epd3U::ReOpenDev()
{
Dll3RV = Connect3(epdComsHandle, Epd, true);
OutputDebugStringA("**** ReOpen ****\n");
if (Dll3RV) {
Sleep(100);
Dll3RV = Connect3(epdComsHandle, Epd, true);
}
DebugWrite("**** Reopen v %d ****\n", Dll3RV(, HardVersionMinor););
}
else {
OutputDebugStringA("**** ReOpen no epdComsHandle ****\n");
@ -619,10 +626,12 @@ void WINAPI ReadStatusCompletion(CommsHandle hComms, CompletionToken token)
int Epd3Base::Epd3U::ReadStatusOnly()
{
EPDStep = EpdSteps::StepReadStatus;
int rv = 0;
ResetEvent(hCompletion);
SetFunctionReturnValue(eFunctions::ReadStatus, 0);
current->StatusDecoded = false;
if (!isConnected) rv = ReOpenDev();
token = BeginReadStatus(epdComsHandle, ReadStatusCompletion);
rv = CommitAndSetRV();
@ -672,6 +681,7 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
memset(&epd3status, 0, sizeof(StatusData_t));
int rv2;
if (!isConnected) rv = ReOpenDev();
/*step = 1;
SetFunctionReturnValue(eFunctions::EpdOnOff, 0);
token = BeginEpdOnOff(epdComsHandle, 1, nullptr);
@ -685,6 +695,16 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
if (!rv)
rv = EndReadStatus(epdComsHandle, token, &epd3status);
rv2 = SetEndReturnValue(rv);
if (rv < 0) {
if (rv==r_ErrorNotConnected) rv = ReOpenDev();
token = BeginReadStatus(epdComsHandle, nullptr);
rv = CommitAndSetRV();
if (!rv)
rv = EndReadStatus(epdComsHandle, token, &epd3status);
rv2 = SetEndReturnValue(rv);
}
current->StatusDecoded = false;
if (rv != 0) {
EPDStepResult = EpdStepResults::Error;
@ -847,6 +867,7 @@ int Epd3Base::Epd3U::ConnectAndStatus(int tokenSourceTimeout)
ResetStepReturnValues();
if (CommsInitialized == 0) StartCom();
if (CommsInitialized) {
SetFunctionReturnValue(fStartDiscover,0);
EPDStep = EpdSteps::StepDiscovering;
dllStatus = StartDiscover(tokenSourceTimeout);
@ -858,12 +879,11 @@ int Epd3Base::Epd3U::ConnectAndStatus(int tokenSourceTimeout)
if (dllStatus != 1) {
rv = 1; //Connect error
EPDStepResult = EpdStepResults::Error;
}
else if (DeviceCount < 1) {
rv = 2;
Error = r_OperationTimeout;
Error = r_OperationTimeout; //65527
EPDStepResult = EpdStepResults::Error;
}
else if (isMK3) {
@ -1415,6 +1435,7 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
EPDStepResult = EpdStepResults::OK;
OutputDebugStringA("**** After clear ****\n");
if (isConnected && epdComsHandle) Disconnect(epdComsHandle);
isConnected = false;
Sleep(SleepAfterClear);
if (progressCallback) progressCallback(EPDStep, EPDStepResult);
return rv;
@ -1557,7 +1578,13 @@ WORD Epd3Base::Epd3U::WriteWearer() {
SetFunctionReturnValue(eFunctions::SetBaselineCounters,0);
token = BeginSetBaselineCounters(epdComsHandle, nullptr);
r = CommitAndEnd2RV(EndSetBaselineCounters, token);
//r = Commit3(epdComsHandle); SetCommitReturnValue(r); r = EndSetBaselineCounters(epdComsHandle, token); SetEndReturnValue(r);
if (r == r_ErrorNotConnected) {
ReOpenDev();
token = BeginSetBaselineCounters(epdComsHandle, nullptr);
r = CommitAndEnd2RV(EndSetBaselineCounters, token);
}
if (r != 0)
goto error;
@ -1948,16 +1975,19 @@ error:
int Epd3Base::Epd3U::WriteConfig(void)
{
bool isAdmin = false;
if (port == 0 || WriteConfig32 == 0) return 1;
int32_t r = 0;
ECLen = 32;
DebugWrite("**** WriteCfg v %d.%d ****\n", HardVersion, HardVersionMinor);
r = ReOpenDev();
// Become admin
SetFunctionReturnValue(eFunctions::WriteAccessLevelAdmin,0);
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Admin, EC, ECLen, nullptr);
r = CommitAndEnd2RV(EndWriteAccessLevel,token);
if (!r) {
isAdmin=true;
displayIds = new QuickAccessDisplay_t[6]{
{ 0,0x0021 },
{ 1,0x0022 },
@ -2038,24 +2068,19 @@ int Epd3Base::Epd3U::WriteConfig(void)
if (!r) {
//AlarmConfiguration
if (isBG) {
const uint8_t alarmConfigLen = 14;
const uint8_t alarmConfigLen = 10;
alarmConfigIds = new AlarmConfig_t[alarmConfigLen]{
{ (AlarmIds)6,0,0x0000,0x1884,60 },
{ (AlarmIds)8,0,0x0000,0x9884,60 },
{ (AlarmIds)5,0,0x0000,0x9CA4,60 },
{ (AlarmIds)4,0,0x0000,0x9CC7,60 },
{ (AlarmIds)9,0,0x0000,0x9CA5,60 },
{ (AlarmIds)7,0,0x0000,0x1884,60 },
{ (AlarmIds)0,0,0x0000,0x9CC1,60 },
{ (AlarmIds)1,0,0x0000,0x1884,60 },
{ (AlarmIds)2,0,0x0000,0x9CC7,60 },
{ (AlarmIds)3,0,0x0000,0x1885,60 },
{ (AlarmIds)0,1,0x0000,0x9CC1,60 },
{ (AlarmIds)1,1,0x0000,0x1884,60 },
{ (AlarmIds)2,1,0x0000,0x9CC7,60 },
{ (AlarmIds)3,1,0x0000,0x1885,60 }
{ (AlarmIds)4,0,0x0000,0x9CC7,60 },
{ (AlarmIds)5,0,0x0000,0x9CA4,60 },
{ (AlarmIds)6,0,0x0000,0x1884,60 },
{ (AlarmIds)7,0,0x0000,0x1884,60 },
{ (AlarmIds)8,0,0x0000,0x9884,60 },
{ (AlarmIds)9,0,0x0000,0x9CA5,60 }
};
SetFunctionReturnValue(eFunctions::WriteAlarmConfiguration_R3, 1);
token = BeginWriteAlarmConfiguration_R3(epdComsHandle, alarmConfigIds, alarmConfigLen, nullptr);
r = CommitAndEnd2RV(EndWriteAlarmConfiguration_R3, token);
@ -2067,8 +2092,9 @@ int Epd3Base::Epd3U::WriteConfig(void)
//int rv[maxbatch];
//int batchstep;
if (!r) {
if (!r && isAdmin) {
//OffModeDisplay
//can give privilege issues
dutyCycle = (OffModeDutyCycle)0;
offModeDispId = (OffModeDisplayId_t)1;
SetFunctionReturnValue(eFunctions::WriteOffModeDisplay_R3,1);
@ -2077,27 +2103,26 @@ int Epd3Base::Epd3U::WriteConfig(void)
if (r != 0)
Error = r;
else {
uint8_t OnOfenabled = 0;
SetFunctionReturnValue(eFunctions::WriteSwitchOnFromButton_R3, 0);
token = BeginWriteSwitchOnFromButton_R3(epdComsHandle, OnOfenabled, nullptr);
r = CommitAndEnd2RV(EndWriteSwitchOnFromButton_R3, token);
if (r != 0)
Error = r;
}
//Back to Open
if (!r) {
SetFunctionReturnValue(eFunctions::WriteAccessLevelOpen, 0);
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Open, nullptr, 0, nullptr);
r = CommitAndEnd2RV(EndWriteAccessLevel, token);
if (r != 0)
Error = r;
}
Sleep(200);
r = DisconnectAndConnect();
if (r != 0)
Error = r;
}
else
Error = r;

View file

@ -18,6 +18,7 @@ $cert = get-childitem -path cert:\CurrentUser\My\857150b64ef7d3e679c8cbde425d2a0
Export-Certificate -Force -FilePath "$DestPath\signertrust.cer" -Cert $cert
Set-AuthenticodeSignature -FilePath "$ScriptPath\Upgrader.ps1" -Certificate $cert -TimestampServer "http://timestamp.digicert.com"
Set-AuthenticodeSignature -FilePath "$ScriptPath\Downgrader.ps1" -Certificate $cert -TimestampServer "http://timestamp.digicert.com"
Set-AuthenticodeSignature -FilePath "$ScriptPath\installatie.ps1" -Certificate $cert -TimestampServer "http://timestamp.digicert.com"
Set-AuthenticodeSignature -FilePath "$ScriptPath\installatie2.ps1" -Certificate $cert -TimestampServer "http://timestamp.digicert.com"
@ -31,6 +32,7 @@ Copy-Item -Path "$ScriptPath\ConfigurationFile.ini" -Destination "$DestPath"
Copy-Item -Path "$ScriptPath\eDosStation.pub" -Destination "$DestPath"
Copy-Item -Path "$ScriptPath\authorized_keys" -Destination "$DestPath\authorized_keys"
Copy-Item -Path "$ScriptPath\Upgrader.ps1" -Destination "$DestPath\Upgrader.ps1"
Copy-Item -Path "$ScriptPath\Downgrader.ps1" -Destination "$DestPath\Downgrader.ps1"
Copy-Item -Path "$ScriptPath\installatie.ps1" -Destination "$DestPath\installatie.ps1"
Copy-Item -Path "$ScriptPath\installatie2.ps1" -Destination "$DestPath\installatie2.ps1"
@ -62,3 +64,206 @@ write-host "Source files from $SourcePath\eDosStation\bin\Release are zipped to
Sleep 10
exit
# SIG # Begin signature block
# MIIlWAYJKoZIhvcNAQcCoIIlSTCCJUUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCkY6prORAwgOA6
# WNLPMxe1wpx0GRp8nFNFFVZi+ujhzKCCH3AwggWNMIIEdaADAgECAhAOmxiO+dAt
# 5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBa
# Fw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
# ggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3E
# MB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKy
# unWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsF
# xl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU1
# 5zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJB
# MtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObUR
# WBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6
# nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxB
# YKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5S
# UUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+x
# q4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIB
# NjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMC
# AYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
# Y2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
# bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0
# aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB
# LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0Nc
# Vec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnov
# Lbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65Zy
# oUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFW
# juyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPF
# mCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9z
# twGpn1eqXijiuZQwggW8MIIDpKADAgECAgEfMA0GCSqGSIb3DQEBCwUAMGYxCzAJ
# BgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEPMA0G
# A1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNDS0NFTiBJQ1Qg
# Q0EwHhcNMTgwNTI0MDYxMTAwWhcNMzAwNjAxMTIwMDAwWjBPMSEwHwYDVQQDExhW
# YW5kZW5icm91Y2tlIEx1YyBDUzIwMjExKjAoBgkqhkiG9w0BCQEWG2x1Yy52YW5k
# ZW5icm91Y2tlQHNja2Nlbi5iZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
# ggEBAPRbMPSAdMsURs6M9TChuXZWe1LSQlVXYVHPGRlnQeF719tgHS1Ern70aW0P
# uvCECkzUTbGHw3o+bF+vj1UZWw82oOEZGannAoTyG1CIxdOMc85Mdmy+Kb++9Ivx
# a6i4ahfpNDHE0F58TomaNyDY0dtRUDEMZw/A0AMkFmdg9BOnqrYeeLB0O/86ZkzU
# klRifi/Wa3ti1LV4U7fR6S4bMm7dZBh46IU2G3/oBdlNYAtC3DNol+bnrcBvF+cc
# GwG5kVxEZg8TtpEMj00hnI+rNPjI4Ar6mE83XKak1X5/xddZppx9ldJaiVujyOqy
# 0cONhiN/vsWPdZU37LQbG1OydGUCAwEAAaOCAYowggGGMAkGA1UdEwQCMAAwHQYD
# VR0OBBYEFN+1bIhLi6eWlLbzynleh97QuIFlMB8GA1UdIwQYMBaAFPApFPVqIRSS
# VlQTpD3VrfAhOsV4MAsGA1UdDwQEAwIHgDAfBgNVHSUEGDAWBggrBgEFBQcDAwYK
# KwYBBAGCNwIBFTA6BgNVHREEMzAxgRtsdWMudmFuZGVuYnJvdWNrZUBzY2tjZW4u
# YmWBEmx2YW5kZW5iQHNja2Nlbi5iZTA1BgNVHRIELjAshipodHRwOi8vY3JsLnNj
# a2Nlbi5iZS9TQ0tDRU4lMjBJQ1QlMjBDQS5jcnQwOwYDVR0fBDQwMjAwoC6gLIYq
# aHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNUJTIwQ0EuY3JsMD4GCSsG
# AQQBgjcVBwQxMC8GJysGAQQBgjcVCISMvCGCyP13gqGTIoSXlEaExpIugQGC1IQh
# gfrIaQIBZAIBCDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMDMA0GCSqGSIb3
# DQEBCwUAA4ICAQBGH87fu9sNbcCPVQCdJ9jP4jT59WTZm6s5BquO10UL9i7UAEmd
# d0yfCHW3myNUigR6O+Oc6Wa74HbUhAk+nEimHxzP5KcNnKE6lwqsIOf49J5G+2HR
# mTgW9tewsr39ZiB3NE5s04fHEA0I45zs8wsgyp4Mlr5v3AfzYB7gxh0Hxdm+ion7
# PXvbKhAyI3F7pQTYauilmLAkHnoXD6T+Osp04wR9m1+HNGqLMKYyVOSdu0UnmGuq
# HBxpMD7hAJ8LCi5yR6t6s4BNCczwhzUpo6ZgrtLmKCacDmZ6SJMqsGFwan/GxnLS
# vw5QpVXUVJidDfTflMeJrfWhDOEt7jx9oQWQ249uzxlqJMVfBt1YZDq4gr76yjK6
# VY7F6540ECog4auPte4NoiT5UPdE3QHSD/82/cdLoVuhELR4p4bfJ7PONT7x8iZz
# I8BoASh9SKJBh06mcmyJosOkc77Wv3ykqal7R+/LQi9geJwku6Ti0XIy9UFGBbUD
# 4m18e5cKdqDzyIHwAne0JR0ZEILPzITWviFuSXKqGP0bkSbGgpl+LuaCHcKAv+1F
# QBc2oWW0yPdxCUYpwo9QfTTh0qYXABQAbibOw7VKTnRLsS92m9pb6wn9tYyNfMu6
# r7EXCuxJNDbYpKbxeadfY0arCzlOT6mpC6lzBqfgKyN+VWoy9rmdzhjEjjCCBnIw
# ggRaoAMCAQICEzgAAAACbukOrXYB5dcAAAAAAAIwDQYJKoZIhvcNAQELBQAwZzEL
# MAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdlcnBlbjEMMAoGA1UEBxMDTW9sMQ8w
# DQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lDVDEXMBUGA1UEAxMOU0NLQ0VOIFJv
# b3QgQ0EwHhcNMTcwNjIzMTEzOTM0WhcNMzIwNjIzMTE0OTM0WjBmMQswCQYDVQQG
# EwJCRTESMBAGA1UECBMJQW50d2VycGVuMQwwCgYDVQQHEwNNb2wxDzANBgNVBAoT
# BlNDS0NFTjEMMAoGA1UECxMDSUNUMRYwFAYDVQQDEw1TQ0tDRU4gSUNUIENBMIIC
# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsW1uJ8gCKQwjdhAhr6eJJNXw
# +wffi5p2RB48uzTaQh2Y89P+75NFhk7qeOW0tVwacxYkubMvgNqasA9RslymREsx
# LfloMCidRPSQj8o0KE2cfLYojYre1TChFxc0PZobibZ7BTsU2v75GQjnsEEMmxzw
# JLAjSU2mFVKJKjrKs4Xt/q6j3w0fdrRz0ba8zSMbTHO2K8Cd1Rq3GQDLPythJyDx
# zo6YRE7TFOFcXGrIpFXvmy1XPc/ItiHwTocOmQ1msF+46W0gfWtbFLt8bC/CnuE2
# ZQPnAmpq3lOUu8cOq/2eqhihAeAli5McYepaK+qr1JtLNfgTSkkFFw27c5cPXwFC
# CE0ryJdN+qN4Xdk3J2iz0hayEJ4sGaimdJTXv/OTmSxxKGMnPYV+BTvk/PDJnGjW
# QqOryf0PWgmwVQ1KAowaPjBAXJOEotzNnzW0/FKtvgJYLk3xFs3sJJ6EG6D02wB2
# RNszNGM66tyqqx/Z3651xwzgkYYR1ETdmddcqL6/3a+HifS5K99N+q7rX/Rp31AU
# lNsb53xhh43NWUAg5Tzrb9J54mBR6Z/MafmTVHcK2nK6RRYaUfxs/WuE2+OzX7Md
# G/URi1lVuOu7hp7AKnSjcLnOcBG7lkSK1Q1pCuACYMkvCl+7keio376akUfumX3H
# qEVgK8ttZiRgiVHR7Q0CAwEAAaOCARYwggESMBAGCSsGAQQBgjcVAQQDAgEAMB0G
# A1UdDgQWBBTwKRT1aiEUklZUE6Q91a3wITrFeDAZBgkrBgEEAYI3FAIEDB4KAFMA
# dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAW
# gBRSvxsquCggUTGvI6e+I5TG0fkUMDA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8v
# Y3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBSb290JTIwQ0EuY3JsMEcGCCsGAQUFBwEB
# BDswOTA3BggrBgEFBQcwAoYraHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIw
# Um9vdCUyMENBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAhsQ1eNAeFzKKGY9KW0VM
# GrLUbtccjHoeKlGdVn+yhS9xhSaIFgm00IPVO5zh9jKtgCA3o81TqY0w1WoRK1U8
# t89On5RZYVy39pDyu+oBlHgul9KOuJbIKLgh0VgEPvY3vM0h0bLdxIrnlIxchVxg
# s5y/h/wLKmXLjsg+AuYzsJ4+9GAD5SsdFGp2jiKPf9aw6zG67an2yTqtvPfeoRpk
# MWO+Mx39CWWwfU3MaQySlAx0/JzZcqWzk6QFgN1h89wSBHD0mMFdnahEth5y9QhP
# kLydPniibF5VZ59gbUVlpFFz8VddmBtx9xfe5aIYEjkj35HmEW/FN7qwnJP3dClj
# zFiqSueKqiFIN3punjHbMUoAxJnibx11Xz4pFm5mdk8v95r+sncH8SFK/P5nUjjE
# YIBRInZiovl7C8KfI1RD9lXJDPdw5yVfkCpkCr/rYNNMBHfDYZ+G1NEu9WzE2Nrk
# nC4H4qoNJLmMjVPTswcIT780iOvFZRf1ql+0e2TKUHCOkZ+plXtl3H6MimrNk6B/
# ZQAy4mETNH6ceaoudV7X5Y7HzbTwSXCSw6GCiQMdYXgsFp+lioorEmFZhVc2PTs+
# oUXbMi8IUaCyKEm6tMZHJ+PGU1YBE8Szyj5nI1SUhb+aHunRGlhgXPb4bnEdZVaM
# ruxFM0UbriGwmkOEv9cPVpAwgga0MIIEnKADAgECAhANx6xXBf8hmS5AQyIMOkmG
# MA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yNTA1MDcwMDAwMDBaFw0zODAxMTQyMzU5
# NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8G
# A1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBT
# SEEyNTYgMjAyNSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC0
# eDHTCphBcr48RsAcrHXbo0ZodLRRF51NrY0NlLWZloMsVO1DahGPNRcybEKq+Ruw
# OnPhof6pvF4uGjwjqNjfEvUi6wuim5bap+0lgloM2zX4kftn5B1IpYzTqpyFQ/4B
# t0mAxAHeHYNnQxqXmRinvuNgxVBdJkf77S2uPoCj7GH8BLuxBG5AvftBdsOECS1U
# kxBvMgEdgkFiDNYiOTx4OtiFcMSkqTtF2hfQz3zQSku2Ws3IfDReb6e3mmdglTca
# arps0wjUjsZvkgFkriK9tUKJm/s80FiocSk1VYLZlDwFt+cVFBURJg6zMUjZa/zb
# CclF83bRVFLeGkuAhHiGPMvSGmhgaTzVyhYn4p0+8y9oHRaQT/aofEnS5xLrfxnG
# pTXiUOeSLsJygoLPp66bkDX1ZlAeSpQl92QOMeRxykvq6gbylsXQskBBBnGy3tW/
# AMOMCZIVNSaz7BX8VtYGqLt9MmeOreGPRdtBx3yGOP+rx3rKWDEJlIqLXvJWnY0v
# 5ydPpOjL6s36czwzsucuoKs7Yk/ehb//Wx+5kMqIMRvUBDx6z1ev+7psNOdgJMoi
# wOrUG2ZdSoQbU2rMkpLiQ6bGRinZbI4OLu9BMIFm1UUl9VnePs6BaaeEWvjJSjNm
# 2qA+sdFUeEY0qVjPKOWug/G6X5uAiynM7Bu2ayBjUwIDAQABo4IBXTCCAVkwEgYD
# VR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU729TSunkBnx6yuKQVvYv1Ensy04w
# HwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGG
# MBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcw
# AYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8v
# Y2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBD
# BgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNl
# cnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgB
# hv1sBwEwDQYJKoZIhvcNAQELBQADggIBABfO+xaAHP4HPRF2cTC9vgvItTSmf83Q
# h8WIGjB/T8ObXAZz8OjuhUxjaaFdleMM0lBryPTQM2qEJPe36zwbSI/mS83afsl3
# YTj+IQhQE7jU/kXjjytJgnn0hvrV6hqWGd3rLAUt6vJy9lMDPjTLxLgXf9r5nWMQ
# wr8Myb9rEVKChHyfpzee5kH0F8HABBgr0UdqirZ7bowe9Vj2AIMD8liyrukZ2iA/
# wdG2th9y1IsA0QF8dTXqvcnTmpfeQh35k5zOCPmSNq1UH410ANVko43+Cdmu4y81
# hjajV/gxdEkMx1NKU4uHQcKfZxAvBAKqMVuqte69M9J6A47OvgRaPs+2ykgcGV00
# TYr2Lr3ty9qIijanrUR3anzEwlvzZiiyfTPjLbnFRsjsYg39OlV8cipDoq7+qNNj
# qFzeGxcytL5TTLL4ZaoBdqbhOhZ3ZRDUphPvSRmMThi0vw9vODRzW6AxnJll38F0
# cuJG7uEBYTptMSbhdhGQDpOXgpIUsWTjd6xpR6oaQf/DJbg3s6KCLPAlZ66RzIg9
# sC+NJpud/v4+7RWsWCiKi9EOLLHfMR2ZyJ/+xhCx9yHbxtl5TPau1j/1MIDpMPx0
# LckTetiSuEtQvLsNz3Qbp7wGWqbIiOWCnb5WqxL3/BAPvIXKUjPSxyZsq8WhbaM2
# tszWkPZPubdcMIIG7TCCBNWgAwIBAgIQCoDvGEuN8QWC0cR2p5V0aDANBgkqhkiG
# 9w0BAQsFADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4x
# QTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQw
# OTYgU0hBMjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1
# OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYD
# VQQDEzJEaWdpQ2VydCBTSEEyNTYgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVy
# IDIwMjUgMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANBGrC0Sxp7Q
# 6q5gVrMrV7pvUf+GcAoB38o3zBlCMGMyqJnfFNZx+wvA69HFTBdwbHwBSOeLpvPn
# Z8ZN+vo8dE2/pPvOx/Vj8TchTySA2R4QKpVD7dvNZh6wW2R6kSu9RJt/4QhguSss
# p3qome7MrxVyfQO9sMx6ZAWjFDYOzDi8SOhPUWlLnh00Cll8pjrUcCV3K3E0zz09
# ldQ//nBZZREr4h/GI6Dxb2UoyrN0ijtUDVHRXdmncOOMA3CoB/iUSROUINDT98ok
# souTMYFOnHoRh6+86Ltc5zjPKHW5KqCvpSduSwhwUmotuQhcg9tw2YD3w6ySSSu+
# 3qU8DD+nigNJFmt6LAHvH3KSuNLoZLc1Hf2JNMVL4Q1OpbybpMe46YceNA0LfNsn
# qcnpJeItK/DhKbPxTTuGoX7wJNdoRORVbPR1VVnDuSeHVZlc4seAO+6d2sC26/PQ
# PdP51ho1zBp+xUIZkpSFA8vWdoUoHLWnqWU3dCCyFG1roSrgHjSHlq8xymLnjCbS
# LZ49kPmk8iyyizNDIXj//cOgrY7rlRyTlaCCfw7aSUROwnu7zER6EaJ+AliL7ojT
# dS5PWPsWeupWs7NpChUk555K096V1hE0yZIXe+giAwW00aHzrDchIc2bQhpp0IoK
# RR7YufAkprxMiXAJQ1XCmnCfgPf8+3mnAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8E
# AjAAMB0GA1UdDgQWBBTkO/zyMe39/dfzkXFjGVBDz2GM6DAfBgNVHSMEGDAWgBTv
# b1NK6eQGfHrK4pBW9i/USezLTjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAww
# CgYIKwYBBQUHAwgwgZUGCCsGAQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRw
# Oi8vb2NzcC5kaWdpY2VydC5jb20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRz
# LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQw
# OTZTSEEyNTYyMDI1Q0ExLmNydDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3Js
# My5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0
# MDk2U0hBMjU2MjAyNUNBMS5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZI
# AYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQBlKq3xHCcEua5gQezRCESeY0ByIfjk
# 9iJP2zWLpQq1b4URGnwWBdEZD9gBq9fNaNmFj6Eh8/YmRDfxT7C0k8FUFqNh+tsh
# gb4O6Lgjg8K8elC4+oWCqnU/ML9lFfim8/9yJmZSe2F8AQ/UdKFOtj7YMTmqPO9m
# zskgiC3QYIUP2S3HQvHG1FDu+WUqW4daIqToXFE/JQ/EABgfZXLWU0ziTN6R3ygQ
# BHMUBaB5bdrPbF6MRYs03h4obEMnxYOX8VBRKe1uNnzQVTeLni2nHkX/QqvXnNb+
# YkDFkxUGtMTaiLR9wjxUxu2hECZpqyU1d0IbX6Wq8/gVutDojBIFeRlqAcuEVT0c
# Ksb+zJNEsuEB7O7/cuvTQasnM9AWcIQfVjnzrvwiCZ85EE8LUkqRhoS3Y50OHgaY
# 7T/lwd6UArb+BOVAkg2oOvol/DJgddJ35XTxfUlQ+8Hggt8l2Yv7roancJIFcboj
# BcxlRcGG0LIhp6GvReQGgMgYxQbV1S3CrWqZzBt1R9xJgKf47CdxVRd/ndUlQ05o
# xYy2zRWVFjF7mcr4C34Mj3ocCVccAvlKV9jEnstrniLvUxxVZE/rptb7IRE2lskK
# PIJgbaP5t2nGj/ULLi49xTcBZU8atufk+EMF/cWuiC7POGT75qaL6vdCvHlshtjd
# NXOCIUjsarfNZzGCBT4wggU6AgEBMGswZjELMAkGA1UEBhMCQkUxEjAQBgNVBAgT
# CUFudHdlcnBlbjEMMAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNV
# BAsTA0lDVDEWMBQGA1UEAxMNU0NLQ0VOIElDVCBDQQIBHzANBglghkgBZQMEAgEF
# AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEE
# MBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBw
# a/M/NRFionxZGZugetgJgsG4JMUnwXjTa53vEeocCjANBgkqhkiG9w0BAQEFAASC
# AQCralwsSvHDAs6ieXSpxPmoiL6h9NzjhvBGOq/obBYhIspC+9Az+qcJOhCrgAMC
# VVyU74Ws17Toa3+twFuXiynOka21zstzZxz0L9oq7XZ6MaySgspGNgOdgK8mJJjt
# 66GG2cNn53MYpfD616Qo1/wNFCXfMy9Vw6ghMvtP90sZYMHQ03vMsPxkNJl0Pjwo
# NRMNJ3UNzwEqcUH8xFSY9D8LVI3hYcdUwh/p9ju9fQFTWiqeDdZMMkOSrPPjbVYj
# C5gVwX/HAA0SAbFIedZ2xMWQGi8NYtGU/LuXXdGy7YTKDEHARb03aw3BfsQjbpNX
# J/l0Um1q0ZVD/KbN/CBuTl4qoYIDJjCCAyIGCSqGSIb3DQEJBjGCAxMwggMPAgEB
# MH0waTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYD
# VQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNI
# QTI1NiAyMDI1IENBMQIQCoDvGEuN8QWC0cR2p5V0aDANBglghkgBZQMEAgEFAKBp
# MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDgy
# ODA3NDgyNFowLwYJKoZIhvcNAQkEMSIEIGjD7zm2kZp/whATQ+2C2d8uxlPSyFV4
# g/DYFVrHgvJ8MA0GCSqGSIb3DQEBAQUABIICAEUMaDuHZ1sSOl4k5wv38PUDcDrJ
# MO4Y0xaQe5oKQaJCtYBasjo6Pdhpz38K8++6JAHGX+KGK3zJKXTmxrM0iJfaSsKD
# r0fc5TjNcu0CAHEqjuVVO/wFXYDtMQKPM6ilw2uZYlZtIg7YfcCP4tPNe5QCi25X
# 3FJAVnKK4EMAVbOqoLnafL+U/E9mDQHXioXTGV3Tflnyivehh8ir2XvC76BDxsDW
# PdV7HtzRyNpq/z9yLVsmWpBxsuLqWnoE23eCKsVm1G4lZYVdIBzS00xexqps1riY
# uhLFqVVRmclrkXZ5dFi2hgEKe0AXvV/ZsqJpHV1B9rkHmhvBY3rd2rIlax+1EhCC
# slj6+K4ZpZ3gMmH1EEsedbocq+2DFrM1tS7j+MebYssFDoQuCPceRtZWAgde7RsQ
# 7kO5fgUbAVWIjkciJgjCwm6svtMSV2MEHZDP9QdQwr3PhT4XWIBamOwYeIax3rnf
# +JSjwGoSaqJk4OHfip0/ummbHDpq14GH7i92h1vd04XdzwyW4cW3aQhU9RBfey8P
# mC+NzXSMdDsSzugovY18wj4ATGTv+WFKqcPLyGM+Eo0m+VDrLXtPvhYR5QBUiGO+
# pRceePDMqreLWSCza98Vpc+ESzaFqkNCAHWn6fXHbTh6mxLeqgfbfZHbvYiXU5FR
# 0Ins2JgWNBkAKM8J
# SIG # End signature block

View file

@ -262,32 +262,51 @@ ALTER TABLE [dbo].[StationSettings] ADD AllowMultipleEPD BIT NULL;
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('[dbo].[StationSettings]') AND name='EPDRetries')
ALTER TABLE [dbo].[StationSettings] ADD EPDRetries INT NULL;
IF EXISTS (SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('[dbo].[StationSettings]') AND name='EPDRetries' AND [system_type_id]<>56)
ALTER TABLE [dbo].[StationSettings] ALTER COLUMN [EPDREtries] int
ALTER TABLE [dbo].[StationSettings] ALTER COLUMN [EPDREtries] INT
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[StationSettings]') AND name = 'WriteConfig')
ALTER TABLE [dbo].[StationSettings] ADD [WriteConfig] BIT NULL;
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[StationSettings]') AND name = 'IssueWhenDoseAlarms')
ALTER TABLE [dbo].[StationSettings] ADD [IssueWhenDoseAlarms] BIT NULL;
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[StationSettings]') AND name = 'ElatecPort')
ALTER TABLE [dbo].[StationSettings] ADD [ElatecPort] INT NULL;
GO
ALTER PROCEDURE [dbo].[StationSettingsSelect] AS
SELECT
[ID_Station],
[PCNr],
[ComPort],
[Inst_CODE1],
[Inst_CODE2],
[Inst_Name1],
[Inst_Name2],
[TestCSN],
[Reader],
[useTestButtons] = ISNULL([useTestButtons], 0),
[useBeep] = ISNULL([useBeep], 22),
[checkUser] = ISNULL([checkUser], 0),
[EPDTimeout] = ISNULL([EPDTimeout], 10000),
[EPDRetries] = ISNULL([EPDREtries], 1),
[RestartCom] = ISNULL([RestartCom], 0),
[RestartComFirst] = ISNULL([RestartComFirst], 0),
[OnlyMK2] = ISNULL([OnlyMK2], 0),
[AllowMultipleEPD] = ISNULL([AllowMultipleEPD], 0)
FROM [dbo].[StationSettings]
WHERE [PCNr] = HOST_NAME();
SELECT ID_Station,
PCNr,
ComPort,
Inst_CODE1,
Inst_CODE2,
Inst_Name1,
Inst_Name2,
TestCSN,
Reader,
useTestButtons = ISNULL(useTestButtons, 0),
useBeep = ISNULL(useBeep, 22),
checkUser = ISNULL(checkUser, 0),
EPDTimeout = ISNULL(EPDTimeout, 10000),
EPDRetries = ISNULL(EPDREtries, 1),
RestartCom = ISNULL(RestartCom, 0),
RestartComFirst = ISNULL(RestartComFirst, 0),
OnlyMK2 = ISNULL(OnlyMK2, 0),
AllowMultipleEPD = ISNULL(AllowMultipleEPD, 0),
WriteConfig = ISNULL(WriteConfig, 0),
IssueWhenDoseAlarms = ISNULL(IssueWhenDoseAlarms, 0),
ElatecPort
FROM dbo.StationSettings
WHERE PCNr = HOST_NAME();
GO
ALTER PROCEDURE [dbo].[StationSettingsUpdate] @ComPort INT = NULL,
USE eDosLocal;
GO
/****** Object: StoredProcedure [dbo].[StationSettingsUpdate] Script Date: 2026-08-28 12:18:04 ******/
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
ALTER PROCEDURE dbo.StationSettingsUpdate
@ComPort INT = NULL,
@Inst_CODE1 INT = NULL,
@Inst_CODE2 INT = NULL,
@Inst_Name1 VARCHAR(50) = NULL,
@ -302,32 +321,61 @@ ALTER PROCEDURE [dbo].[StationSettingsUpdate] @ComPort INT = NULL,
@RestartCom BIT = 0,
@RestartComFirst BIT = 0,
@OnlyMK2 BIT = 0,
@AllowMultipleEPD BIT = 0
@AllowMultipleEPD BIT = 0,
@WriteConfig BIT = 1,
@IssueWhenDoseAlarms BIT = 0,
@ElatecPort INT = NULL
AS
IF NOT EXISTS (SELECT * FROM [dbo].[StationSettings] WHERE [PCNr] = HOST_NAME())
INSERT [dbo].[StationSettings]([PCNr], [ComPort], [Inst_CODE1], [Inst_CODE2], [Inst_Name1], [Inst_Name2], [TestCSN], [Reader], [useTestButtons], [useBeep], [checkUser], [EPDREtries], [RestartCom], [RestartComFirst], [OnlyMK2], [AllowMultipleEPD])
VALUES(HOST_NAME(), @ComPort, @Inst_CODE1, @Inst_CODE2, @Inst_Name1, @Inst_Name2, @TestCSN, @Reader, @useTestButtons, @useBeep, @checkUser, @EPDRetries, @RestartCom, @RestartComFirst, @OnlyMK2, @AllowMultipleEPD);
IF NOT EXISTS (SELECT * FROM dbo.StationSettings WHERE PCNr = HOST_NAME())
INSERT dbo.StationSettings
(
PCNr,
ComPort,
Inst_CODE1,
Inst_CODE2,
Inst_Name1,
Inst_Name2,
TestCSN,
Reader,
useTestButtons,
useBeep,
checkUser,
EPDREtries,
RestartCom,
RestartComFirst,
OnlyMK2,
AllowMultipleEPD,
WriteConfig,
IssueWhenDoseAlarms,
ElatecPort
)
VALUES
(HOST_NAME(), @ComPort, @Inst_CODE1, @Inst_CODE2, @Inst_Name1, @Inst_Name2, @TestCSN, @Reader, @useTestButtons,
@useBeep, @checkUser, @EPDRetries, @RestartCom, @RestartComFirst, @OnlyMK2, @AllowMultipleEPD, @WriteConfig,
@IssueWhenDoseAlarms, @ElatecPort);
ELSE
UPDATE
[dbo].[StationSettings]
SET
[ComPort] = @ComPort,
[Inst_CODE1] = @Inst_CODE1,
[Inst_CODE2] = @Inst_CODE2,
[Inst_Name1] = @Inst_Name1,
[Inst_Name2] = @Inst_Name2,
[TestCSN] = @TestCSN,
[Reader] = @Reader,
[useTestButtons] = @useTestButtons,
[useBeep] = @useBeep,
[checkUser] = @checkUser,
[EPDTimeout] = @EPDTimeout,
[EPDREtries] = @EPDRetries,
[RestartCom] = @RestartCom,
[RestartComFirst] = @RestartComFirst,
[OnlyMK2] = @OnlyMK2,
[AllowMultipleEPD]=@AllowMultipleEPD
WHERE [PCNr] = HOST_NAME();
UPDATE dbo.StationSettings
SET ComPort = @ComPort,
Inst_CODE1 = @Inst_CODE1,
Inst_CODE2 = @Inst_CODE2,
Inst_Name1 = @Inst_Name1,
Inst_Name2 = @Inst_Name2,
TestCSN = @TestCSN,
Reader = @Reader,
useTestButtons = @useTestButtons,
useBeep = @useBeep,
checkUser = @checkUser,
EPDTimeout = @EPDTimeout,
EPDREtries = @EPDRetries,
RestartCom = @RestartCom,
RestartComFirst = @RestartComFirst,
OnlyMK2 = @OnlyMK2,
AllowMultipleEPD = @AllowMultipleEPD,
WriteConfig = @WriteConfig,
IssueWhenDoseAlarms = @IssueWhenDoseAlarms,
ElatecPort = @ElatecPort
WHERE PCNr = HOST_NAME();
go
@ -390,7 +438,8 @@ UPDATE [dbo].[Visit] SET InitError=@InitError WHERE ID_Station=@ID_Station AND I
go
GRANT EXECUTE ON [dbo].[VisitInitConfirm] TO [eDosStation];
GO
ALTER TABLE DBO.PersonInfoSnapshot ADD Info XML;
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[PersonInfoSnapshot]') AND name = 'Info')
ALTER TABLE DBO.PersonInfoSnapshot ADD Info XML NULL;
GO
IF OBJECT_ID('[dbo].[LocalEPD]') IS NULL BEGIN
CREATE TABLE [dbo].[LocalEPD] ( [ID_STATION] INT NOT NULL , [EPD_InternalID] VARCHAR(8) NOT NULL, [ID_EPD] INT NOT NULL, [LastUsed] DATETIME null, PRIMARY KEY([ID_STATION],[EPD_InternalID]) )

View file

@ -13,10 +13,45 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "syncEdosLocal", "syncEdosLo
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Epd3Base", "EpdBase3\EpdBase3.vcxproj", "{E6BB4F4E-4774-4FE3-B341-7F4C24DC61E7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "eDosPrep", "eDosPrep\eDosPrep.vcxproj", "{294068AF-EA7B-4851-97B2-2AB5F64167D9}"
EndProject
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "eDosLocal", "eDosLocal\eDosLocal.sqlproj", "{3A150025-D770-4521-BA21-16843B2D5359}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{065B9F2A-7C47-4273-BD30-401749A49B08}"
ProjectSection(SolutionItems) = preProject
scripts\authorized_keys = scripts\authorized_keys
scripts\ConfigurationFile.ini = scripts\ConfigurationFile.ini
scripts\CopyAll.cmd = scripts\CopyAll.cmd
scripts\copyZipAndSql.cmd = scripts\copyZipAndSql.cmd
scripts\copyZipAndSqlDAQ6468.cmd = scripts\copyZipAndSqlDAQ6468.cmd
scripts\copyZipAndSqlip.cmd = scripts\copyZipAndSqlip.cmd
scripts\copyZipAndSqlxxx.cmd = scripts\copyZipAndSqlxxx.cmd
scripts\copyZipAndSql_CleanInstall.cmd = scripts\copyZipAndSql_CleanInstall.cmd
scripts\DeployPSModules.ps1 = scripts\DeployPSModules.ps1
scripts\Downgrader.ps1 = scripts\Downgrader.ps1
scripts\eDosStation.pub = scripts\eDosStation.pub
scripts\edosstation.sql = scripts\edosstation.sql
scripts\edosstationmaster.sql = scripts\edosstationmaster.sql
scripts\edosstationname.sql = scripts\edosstationname.sql
scripts\eDosSync.xml = scripts\eDosSync.xml
scripts\epd_reader.cat = scripts\epd_reader.cat
scripts\epd_reader.inf = scripts\epd_reader.inf
scripts\flash.exe = scripts\flash.exe
scripts\ictinteremediate.cer = scripts\ictinteremediate.cer
scripts\installatie.ps1 = scripts\installatie.ps1
scripts\installatie2.ps1 = scripts\installatie2.ps1
scripts\LogFolderClean.exe = scripts\LogFolderClean.exe
scripts\LogFolderClean.exe.config = scripts\LogFolderClean.exe.config
scripts\sckca.cer = scripts\sckca.cer
scripts\signertrust.cer = scripts\signertrust.cer
scripts\sqlreg.reg = scripts\sqlreg.reg
scripts\TWN4_xCx480_EDOS100_Edos_Badge_Reader.bix = scripts\TWN4_xCx480_EDOS100_Edos_Badge_Reader.bix
scripts\UpdateLocal.sql = scripts\UpdateLocal.sql
scripts\Updates.sql = scripts\Updates.sql
scripts\UpdateSql.cmd = scripts\UpdateSql.cmd
scripts\Upgrader.ps1 = scripts\Upgrader.ps1
scripts\VC_redist.x64.exe = scripts\VC_redist.x64.exe
scripts\VC_redist.x86.exe = scripts\VC_redist.x86.exe
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -117,20 +152,6 @@ Global
{E6BB4F4E-4774-4FE3-B341-7F4C24DC61E7}.Release|x64.Build.0 = Release|x64
{E6BB4F4E-4774-4FE3-B341-7F4C24DC61E7}.Release|x86.ActiveCfg = Release|Win32
{E6BB4F4E-4774-4FE3-B341-7F4C24DC61E7}.Release|x86.Build.0 = Release|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|Any CPU.ActiveCfg = Debug|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|ARM.ActiveCfg = Debug|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|ARM64.ActiveCfg = Debug|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|x64.ActiveCfg = Debug|x64
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|x64.Build.0 = Debug|x64
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|x86.ActiveCfg = Debug|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Debug|x86.Build.0 = Debug|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|Any CPU.ActiveCfg = Release|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|ARM.ActiveCfg = Release|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|ARM64.ActiveCfg = Release|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|x64.ActiveCfg = Release|x64
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|x64.Build.0 = Release|x64
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|x86.ActiveCfg = Release|Win32
{294068AF-EA7B-4851-97B2-2AB5F64167D9}.Release|x86.Build.0 = Release|Win32
{3A150025-D770-4521-BA21-16843B2D5359}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A150025-D770-4521-BA21-16843B2D5359}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A150025-D770-4521-BA21-16843B2D5359}.Debug|Any CPU.Deploy.0 = Debug|Any CPU

View file

@ -130,7 +130,7 @@ namespace eDosStation
bool realFault = (ep.EPDDetFault>0) || (ep.EPDCalFault >0) || (ep.EPDComFault >0) || (ep.EPDEprFault >0) || (ep.EPDTrhFault>0);
bool stopBecauseAlarmDose = ep.eDoshasAlarm && thisStation.StopBecauseAlarmDose;//&& stat
bool stopBecauseAlarmDose = ep.eDoshasAlarm;//&& thisStation.StopBecauseAlarmDose;
if (stopBecauseAlarmDose || ep.OtherAlarmBatLow > 0 || realFault )
{

View file

@ -73,5 +73,5 @@ using System.Windows;
//2025-01-07 2.50 MK3 neutron
//2026-08-07 3.00 optimized
//2026-08-17 3.01 telerik upgrade, cleanup old files
[assembly: AssemblyVersion("3.1.0.0")]
[assembly: AssemblyFileVersion("3.1.0.0")]
[assembly: AssemblyVersion("3.2.0.0")]
[assembly: AssemblyFileVersion("3.2.0.0")]

View file

@ -1 +1 @@
27/08/2026 12:02:06,85
28/08/2026 15:50:26,50

View file

@ -27,7 +27,8 @@
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="20" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
@ -78,10 +79,14 @@
<TextBlock Grid.Row="14" Grid.Column="0" Text="Log all" VerticalAlignment="Top"></TextBlock>
<CheckBox Grid.Row="14" Grid.ColumnSpan="2" Name="cbLogAll" Grid.Column="1" Padding="10,0,10,0" VerticalAlignment="Center" />
<TextBlock Grid.Row="15" Grid.Column="0" Text="Elatec Com port"></TextBlock>
<telerik:RadComboBox Grid.Row="15" Grid.ColumnSpan="2" Name="eComPort" Grid.Column="1" />
<TextBlock Grid.Row="15" Grid.Column="0" Text="Issue When Dose Alarms"></TextBlock>
<CheckBox Grid.Row="15" Grid.ColumnSpan="2" Name="IssueWhenDoseAlarms" Grid.Column="1" Padding="10,0,10,0" VerticalAlignment="Center" />
<telerik:RadButton Grid.Row="17" Grid.Column="0" Name="bOK" Content="OK" Click="BOK_Click" Style="{DynamicResource OkCancelButton}" />
<telerik:RadButton Grid.Row="17" Grid.Column="1" Name="bCancel" Content="Cancel" Click="BCancel_Click" Style="{DynamicResource OkCancelButton}" HorizontalAlignment="Right" />
<TextBlock Grid.Row="16" Grid.Column="0" Text="Elatec Com port"></TextBlock>
<telerik:RadComboBox Grid.Row="16" Grid.ColumnSpan="2" Name="eComPort" Grid.Column="1" />
<telerik:RadButton Grid.Row="18" Grid.Column="0" Name="bOK" Content="OK" Click="BOK_Click" Style="{DynamicResource OkCancelButton}" Margin="10,10,10,10" />
<telerik:RadButton Grid.Row="18" Grid.Column="1" Name="bCancel" Content="Cancel" Click="BCancel_Click" Style="{DynamicResource OkCancelButton}" HorizontalAlignment="Right" />
</Grid>
</Window>

View file

@ -127,6 +127,8 @@ namespace eDosStation
}
else thisStation.ElatecPort = string.Empty;
thisStation.StopBecauseAlarmDose = !( IssueWhenDoseAlarms.IsChecked != null ? IssueWhenDoseAlarms.IsChecked.Value : false);
step = "Update";
thisStation.Update();
@ -319,6 +321,9 @@ namespace eDosStation
cbWriteConfig32.IsChecked = thisStation.WriteConfig32;
cbLogAll.IsChecked = thisStation.LogAll;
thisStation.splunkLog?.WriteSplunkLog(module, step, LSWLib.CLog.iseverity.info);
IssueWhenDoseAlarms.IsChecked = !thisStation.StopBecauseAlarmDose;
}
catch (System.Exception ex)
{

View file

@ -73,7 +73,7 @@ namespace eDosStation
public delegate void dReceivedPersID(int persid);
public dReceivedPersID ReceivedPersid;
internal bool StopBecauseAlarmDose;
internal bool StopBecauseAlarmDose; // issues when false ?
public ushort useBeepMK3()
{
@ -90,7 +90,7 @@ namespace eDosStation
splunkLog = spl; // new spl1(Environment.MachineName,hourlyLog:true);
stationLog = null;
dataInterface = mDataInterface;
StopBecauseAlarmDose=false;
StopBecauseAlarmDose=true;
Error = 0;
ErrorMessage = string.Empty;
ComPort = 0;
@ -185,8 +185,8 @@ namespace eDosStation
RestartComFirst = rs.BoolOrDefault("RestartComFirst", false);
OnlyMK2 = rs.BoolOrDefault("OnlyMK2", false);
AllowMultipleEPD = rs.BoolOrDefault("AllowMultipleEPD", false);
WriteConfig32 = true; // rs.BoolOrDefault("WriteConfig32", false);
StopBecauseAlarmDose = false; // rs.BoolOrDefault("StopBecauseAlarmDose", false);
WriteConfig32 = rs.BoolOrDefault("WriteConfig", false);
StopBecauseAlarmDose = ! rs.BoolOrDefault("IssueWhenDoseAlarms", false);
}
else
{
@ -209,7 +209,7 @@ namespace eDosStation
EPDRetries = 2;
AllowMultipleEPD = false;
WriteConfig32 = true;
StopBecauseAlarmDose = false;
StopBecauseAlarmDose = true;
}
rs.Close();
splunkLog.WriteSplunkLog(module,step, spl1.iseverity.info);
@ -295,6 +295,12 @@ namespace eDosStation
cmd.SetIfExists("OnlyMK2", OnlyMK2);
cmd.SetIfExists("AllowMultipleEPD", AllowMultipleEPD);
cmd.SetIfExists("useTestButtons", useTestButtons);
int eportnum = GetComportNum(ElatecPort);
cmd.SetIfExists("ElatecPort", eportnum);
cmd.SetIfExists("WriteConfig", WriteConfig32);
cmd.SetIfExists("IssueWhenDoseAlarms", !StopBecauseAlarmDose);
}
catch (System.Exception ex)
{
@ -400,6 +406,23 @@ namespace eDosStation
return "COM" + comport.ToString();
}
public int GetComportNum(string comport)
{
if (string.IsNullOrWhiteSpace(comport))
return 0;
// Remove "COM" (case-insensitive) and extra spaces
string cleanString = comport.Replace("COM", string.Empty).Trim();
// Try parsing; return 0 if string is not a valid number
if (int.TryParse(cleanString, out int portNumber))
{
return portNumber;
}
return 0;
}
public string find()
{
string rv ;

View file

@ -18,211 +18,204 @@ if (Test-Path -Path $SourcePath) {
exit
# SIG # Begin signature block
# MIImpAYJKoZIhvcNAQcCoIImlTCCJpECAQExDzANBglghkgBZQMEAgEFADB5Bgor
# MIIlWAYJKoZIhvcNAQcCoIIlSTCCJUUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCJA2MB/1pJ1g33
# UOqxVMXgvBfUjEkg/kEpXkl2q7g6P6CCDDYwggW8MIIDpKADAgECAgEfMA0GCSqG
# SIb3DQEBCwUAMGYxCzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAK
# BgNVBAcTA01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNV
# BAMTDVNDS0NFTiBJQ1QgQ0EwHhcNMTgwNTI0MDYxMTAwWhcNMzAwNjAxMTIwMDAw
# WjBPMSEwHwYDVQQDExhWYW5kZW5icm91Y2tlIEx1YyBDUzIwMjExKjAoBgkqhkiG
# 9w0BCQEWG2x1Yy52YW5kZW5icm91Y2tlQHNja2Nlbi5iZTCCASIwDQYJKoZIhvcN
# AQEBBQADggEPADCCAQoCggEBAPRbMPSAdMsURs6M9TChuXZWe1LSQlVXYVHPGRln
# QeF719tgHS1Ern70aW0PuvCECkzUTbGHw3o+bF+vj1UZWw82oOEZGannAoTyG1CI
# xdOMc85Mdmy+Kb++9Ivxa6i4ahfpNDHE0F58TomaNyDY0dtRUDEMZw/A0AMkFmdg
# 9BOnqrYeeLB0O/86ZkzUklRifi/Wa3ti1LV4U7fR6S4bMm7dZBh46IU2G3/oBdlN
# YAtC3DNol+bnrcBvF+ccGwG5kVxEZg8TtpEMj00hnI+rNPjI4Ar6mE83XKak1X5/
# xddZppx9ldJaiVujyOqy0cONhiN/vsWPdZU37LQbG1OydGUCAwEAAaOCAYowggGG
# MAkGA1UdEwQCMAAwHQYDVR0OBBYEFN+1bIhLi6eWlLbzynleh97QuIFlMB8GA1Ud
# IwQYMBaAFPApFPVqIRSSVlQTpD3VrfAhOsV4MAsGA1UdDwQEAwIHgDAfBgNVHSUE
# GDAWBggrBgEFBQcDAwYKKwYBBAGCNwIBFTA6BgNVHREEMzAxgRtsdWMudmFuZGVu
# YnJvdWNrZUBzY2tjZW4uYmWBEmx2YW5kZW5iQHNja2Nlbi5iZTA1BgNVHRIELjAs
# hipodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBJQ1QlMjBDQS5jcnQwOwYD
# VR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNU
# JTIwQ0EuY3JsMD4GCSsGAQQBgjcVBwQxMC8GJysGAQQBgjcVCISMvCGCyP13gqGT
# IoSXlEaExpIugQGC1IQhgfrIaQIBZAIBCDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsG
# AQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQBGH87fu9sNbcCPVQCdJ9jP4jT59WTZ
# m6s5BquO10UL9i7UAEmdd0yfCHW3myNUigR6O+Oc6Wa74HbUhAk+nEimHxzP5KcN
# nKE6lwqsIOf49J5G+2HRmTgW9tewsr39ZiB3NE5s04fHEA0I45zs8wsgyp4Mlr5v
# 3AfzYB7gxh0Hxdm+ion7PXvbKhAyI3F7pQTYauilmLAkHnoXD6T+Osp04wR9m1+H
# NGqLMKYyVOSdu0UnmGuqHBxpMD7hAJ8LCi5yR6t6s4BNCczwhzUpo6ZgrtLmKCac
# DmZ6SJMqsGFwan/GxnLSvw5QpVXUVJidDfTflMeJrfWhDOEt7jx9oQWQ249uzxlq
# JMVfBt1YZDq4gr76yjK6VY7F6540ECog4auPte4NoiT5UPdE3QHSD/82/cdLoVuh
# ELR4p4bfJ7PONT7x8iZzI8BoASh9SKJBh06mcmyJosOkc77Wv3ykqal7R+/LQi9g
# eJwku6Ti0XIy9UFGBbUD4m18e5cKdqDzyIHwAne0JR0ZEILPzITWviFuSXKqGP0b
# kSbGgpl+LuaCHcKAv+1FQBc2oWW0yPdxCUYpwo9QfTTh0qYXABQAbibOw7VKTnRL
# sS92m9pb6wn9tYyNfMu6r7EXCuxJNDbYpKbxeadfY0arCzlOT6mpC6lzBqfgKyN+
# VWoy9rmdzhjEjjCCBnIwggRaoAMCAQICEzgAAAACbukOrXYB5dcAAAAAAAIwDQYJ
# KoZIhvcNAQELBQAwZzELMAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdlcnBlbjEM
# MAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lDVDEXMBUG
# A1UEAxMOU0NLQ0VOIFJvb3QgQ0EwHhcNMTcwNjIzMTEzOTM0WhcNMzIwNjIzMTE0
# OTM0WjBmMQswCQYDVQQGEwJCRTESMBAGA1UECBMJQW50d2VycGVuMQwwCgYDVQQH
# EwNNb2wxDzANBgNVBAoTBlNDS0NFTjEMMAoGA1UECxMDSUNUMRYwFAYDVQQDEw1T
# Q0tDRU4gSUNUIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsW1u
# J8gCKQwjdhAhr6eJJNXw+wffi5p2RB48uzTaQh2Y89P+75NFhk7qeOW0tVwacxYk
# ubMvgNqasA9RslymREsxLfloMCidRPSQj8o0KE2cfLYojYre1TChFxc0PZobibZ7
# BTsU2v75GQjnsEEMmxzwJLAjSU2mFVKJKjrKs4Xt/q6j3w0fdrRz0ba8zSMbTHO2
# K8Cd1Rq3GQDLPythJyDxzo6YRE7TFOFcXGrIpFXvmy1XPc/ItiHwTocOmQ1msF+4
# 6W0gfWtbFLt8bC/CnuE2ZQPnAmpq3lOUu8cOq/2eqhihAeAli5McYepaK+qr1JtL
# NfgTSkkFFw27c5cPXwFCCE0ryJdN+qN4Xdk3J2iz0hayEJ4sGaimdJTXv/OTmSxx
# KGMnPYV+BTvk/PDJnGjWQqOryf0PWgmwVQ1KAowaPjBAXJOEotzNnzW0/FKtvgJY
# Lk3xFs3sJJ6EG6D02wB2RNszNGM66tyqqx/Z3651xwzgkYYR1ETdmddcqL6/3a+H
# ifS5K99N+q7rX/Rp31AUlNsb53xhh43NWUAg5Tzrb9J54mBR6Z/MafmTVHcK2nK6
# RRYaUfxs/WuE2+OzX7MdG/URi1lVuOu7hp7AKnSjcLnOcBG7lkSK1Q1pCuACYMkv
# Cl+7keio376akUfumX3HqEVgK8ttZiRgiVHR7Q0CAwEAAaOCARYwggESMBAGCSsG
# AQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTwKRT1aiEUklZUE6Q91a3wITrFeDAZBgkr
# BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
# AwEB/zAfBgNVHSMEGDAWgBRSvxsquCggUTGvI6e+I5TG0fkUMDA8BgNVHR8ENTAz
# MDGgL6AthitodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBSb290JTIwQ0Eu
# Y3JsMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDovL2NybC5zY2tj
# ZW4uYmUvU0NLQ0VOJTIwUm9vdCUyMENBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEA
# hsQ1eNAeFzKKGY9KW0VMGrLUbtccjHoeKlGdVn+yhS9xhSaIFgm00IPVO5zh9jKt
# gCA3o81TqY0w1WoRK1U8t89On5RZYVy39pDyu+oBlHgul9KOuJbIKLgh0VgEPvY3
# vM0h0bLdxIrnlIxchVxgs5y/h/wLKmXLjsg+AuYzsJ4+9GAD5SsdFGp2jiKPf9aw
# 6zG67an2yTqtvPfeoRpkMWO+Mx39CWWwfU3MaQySlAx0/JzZcqWzk6QFgN1h89wS
# BHD0mMFdnahEth5y9QhPkLydPniibF5VZ59gbUVlpFFz8VddmBtx9xfe5aIYEjkj
# 35HmEW/FN7qwnJP3dCljzFiqSueKqiFIN3punjHbMUoAxJnibx11Xz4pFm5mdk8v
# 95r+sncH8SFK/P5nUjjEYIBRInZiovl7C8KfI1RD9lXJDPdw5yVfkCpkCr/rYNNM
# BHfDYZ+G1NEu9WzE2NrknC4H4qoNJLmMjVPTswcIT780iOvFZRf1ql+0e2TKUHCO
# kZ+plXtl3H6MimrNk6B/ZQAy4mETNH6ceaoudV7X5Y7HzbTwSXCSw6GCiQMdYXgs
# Fp+lioorEmFZhVc2PTs+oUXbMi8IUaCyKEm6tMZHJ+PGU1YBE8Szyj5nI1SUhb+a
# HunRGlhgXPb4bnEdZVaMruxFM0UbriGwmkOEv9cPVpAxghnEMIIZwAIBATBrMGYx
# CzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEP
# MA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNDS0NFTiBJ
# Q1QgQ0ECAR8wDQYJYIZIAWUDBAIBBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQB
# gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkE
# MSIEINCmLdSRNh3mEhCGnVT7Lio9C21IOZPQrV9tqSC9p668MEQGCisGAQQBgjcC
# AQwxNjA0oDKAMABJAG4AdABlAGcAcgBpAHQAeQAgACYAIABBAHUAdABoAGUAbgB0
# AGkAYwBpAHQAeTANBgkqhkiG9w0BAQEFAASCAQDMhFXrAfFc3OddL++fyPhFz1Co
# FGRO3rO+ouNXZXOIpFK/3ZQB23WUBFC8WCrZWsOflJQ8NK6WxxVGZMX4tJ30SaHR
# rpB2lTQG1PuEMXktpWMNz8MNNN9iwrRyLrxmZIi06mhKUYBg96v+D86HREAHtyuz
# ksd2mBt5FE3H0/+ZupeXe/+xTmOImkknbA8+j06uycb5VD1LNvlrcV1OvY5+djox
# CqkN1/FVgiXVJF+wGOknjJQ0EW8PiUQ2XAt58FuZz4SmPOHkJemC+gC2Sw6crSjh
# yAHQxCLy5oaC3KemDctPXFX9wIo4qWdb0hX3J/wMI5Mt6jelNVeINcnAMxgPoYIX
# dzCCF3MGCisGAQQBgjcDAwExghdjMIIXXwYJKoZIhvcNAQcCoIIXUDCCF0wCAQMx
# DzANBglghkgBZQMEAgEFADB4BgsqhkiG9w0BCRABBKBpBGcwZQIBAQYJYIZIAYb9
# bAcBMDEwDQYJYIZIAWUDBAIBBQAEICbE7gg1Faj2fbphgFqcZX6jw/JpE9VS6EbP
# rVJlbRXgAhEAnonutmZYUvElnaAcD6f9tBgPMjAyNjAyMDUwOTQ2NTJaoIITOjCC
# Bu0wggTVoAMCAQICEAqA7xhLjfEFgtHEdqeVdGgwDQYJKoZIhvcNAQELBQAwaTEL
# MAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhE
# aWdpQ2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAy
# MDI1IENBMTAeFw0yNTA2MDQwMDAwMDBaFw0zNjA5MDMyMzU5NTlaMGMxCzAJBgNV
# BAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNl
# cnQgU0hBMjU2IFJTQTQwOTYgVGltZXN0YW1wIFJlc3BvbmRlciAyMDI1IDEwggIi
# MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDQRqwtEsae0OquYFazK1e6b1H/
# hnAKAd/KN8wZQjBjMqiZ3xTWcfsLwOvRxUwXcGx8AUjni6bz52fGTfr6PHRNv6T7
# zsf1Y/E3IU8kgNkeECqVQ+3bzWYesFtkepErvUSbf+EIYLkrLKd6qJnuzK8Vcn0D
# vbDMemQFoxQ2Dsw4vEjoT1FpS54dNApZfKY61HAldytxNM89PZXUP/5wWWURK+If
# xiOg8W9lKMqzdIo7VA1R0V3Zp3DjjANwqAf4lEkTlCDQ0/fKJLKLkzGBTpx6EYev
# vOi7XOc4zyh1uSqgr6UnbksIcFJqLbkIXIPbcNmA98Oskkkrvt6lPAw/p4oDSRZr
# eiwB7x9ykrjS6GS3NR39iTTFS+ENTqW8m6THuOmHHjQNC3zbJ6nJ6SXiLSvw4Smz
# 8U07hqF+8CTXaETkVWz0dVVZw7knh1WZXOLHgDvundrAtuvz0D3T+dYaNcwafsVC
# GZKUhQPL1naFKBy1p6llN3QgshRta6Eq4B40h5avMcpi54wm0i2ePZD5pPIssosz
# QyF4//3DoK2O65Uck5Wggn8O2klETsJ7u8xEehGifgJYi+6I03UuT1j7FnrqVrOz
# aQoVJOeeStPeldYRNMmSF3voIgMFtNGh86w3ISHNm0IaadCKCkUe2LnwJKa8TIlw
# CUNVwppwn4D3/Pt5pwIDAQABo4IBlTCCAZEwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
# FgQU5Dv88jHt/f3X85FxYxlQQ89hjOgwHwYDVR0jBBgwFoAU729TSunkBnx6yuKQ
# VvYv1Ensy04wDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI
# MIGVBggrBgEFBQcBAQSBiDCBhTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMF0GCCsGAQUFBzAChlFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAy
# NUNBMS5jcnQwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL2NybDMuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNBNDA5NlNIQTI1NjIw
# MjVDQTEuY3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkq
# hkiG9w0BAQsFAAOCAgEAZSqt8RwnBLmuYEHs0QhEnmNAciH45PYiT9s1i6UKtW+F
# ERp8FgXRGQ/YAavXzWjZhY+hIfP2JkQ38U+wtJPBVBajYfrbIYG+Dui4I4PCvHpQ
# uPqFgqp1PzC/ZRX4pvP/ciZmUnthfAEP1HShTrY+2DE5qjzvZs7JIIgt0GCFD9kt
# x0LxxtRQ7vllKluHWiKk6FxRPyUPxAAYH2Vy1lNM4kzekd8oEARzFAWgeW3az2xe
# jEWLNN4eKGxDJ8WDl/FQUSntbjZ80FU3i54tpx5F/0Kr15zW/mJAxZMVBrTE2oi0
# fcI8VMbtoRAmaaslNXdCG1+lqvP4FbrQ6IwSBXkZagHLhFU9HCrG/syTRLLhAezu
# /3Lr00GrJzPQFnCEH1Y58678IgmfORBPC1JKkYaEt2OdDh4GmO0/5cHelAK2/gTl
# QJINqDr6JfwyYHXSd+V08X1JUPvB4ILfJdmL+66Gp3CSBXG6IwXMZUXBhtCyIaeh
# r0XkBoDIGMUG1dUtwq1qmcwbdUfcSYCn+OwncVUXf53VJUNOaMWMts0VlRYxe5nK
# +At+DI96HAlXHAL5SlfYxJ7La54i71McVWRP66bW+yERNpbJCjyCYG2j+bdpxo/1
# Cy4uPcU3AWVPGrbn5PhDBf3Froguzzhk++ami+r3Qrx5bIbY3TVzgiFI7Gq3zWcw
# gga0MIIEnKADAgECAhANx6xXBf8hmS5AQyIMOkmGMA0GCSqGSIb3DQEBCwUAMGIx
# CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
# dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBH
# NDAeFw0yNTA1MDcwMDAwMDBaFw0zODAxMTQyMzU5NTlaMGkxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1
# c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEyNTYgMjAyNSBDQTEwggIi
# MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC0eDHTCphBcr48RsAcrHXbo0Zo
# dLRRF51NrY0NlLWZloMsVO1DahGPNRcybEKq+RuwOnPhof6pvF4uGjwjqNjfEvUi
# 6wuim5bap+0lgloM2zX4kftn5B1IpYzTqpyFQ/4Bt0mAxAHeHYNnQxqXmRinvuNg
# xVBdJkf77S2uPoCj7GH8BLuxBG5AvftBdsOECS1UkxBvMgEdgkFiDNYiOTx4OtiF
# cMSkqTtF2hfQz3zQSku2Ws3IfDReb6e3mmdglTcaarps0wjUjsZvkgFkriK9tUKJ
# m/s80FiocSk1VYLZlDwFt+cVFBURJg6zMUjZa/zbCclF83bRVFLeGkuAhHiGPMvS
# GmhgaTzVyhYn4p0+8y9oHRaQT/aofEnS5xLrfxnGpTXiUOeSLsJygoLPp66bkDX1
# ZlAeSpQl92QOMeRxykvq6gbylsXQskBBBnGy3tW/AMOMCZIVNSaz7BX8VtYGqLt9
# MmeOreGPRdtBx3yGOP+rx3rKWDEJlIqLXvJWnY0v5ydPpOjL6s36czwzsucuoKs7
# Yk/ehb//Wx+5kMqIMRvUBDx6z1ev+7psNOdgJMoiwOrUG2ZdSoQbU2rMkpLiQ6bG
# RinZbI4OLu9BMIFm1UUl9VnePs6BaaeEWvjJSjNm2qA+sdFUeEY0qVjPKOWug/G6
# X5uAiynM7Bu2ayBjUwIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAd
# BgNVHQ4EFgQU729TSunkBnx6yuKQVvYv1Ensy04wHwYDVR0jBBgwFoAU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUF
# BwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJo
# dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNy
# bDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
# BQADggIBABfO+xaAHP4HPRF2cTC9vgvItTSmf83Qh8WIGjB/T8ObXAZz8OjuhUxj
# aaFdleMM0lBryPTQM2qEJPe36zwbSI/mS83afsl3YTj+IQhQE7jU/kXjjytJgnn0
# hvrV6hqWGd3rLAUt6vJy9lMDPjTLxLgXf9r5nWMQwr8Myb9rEVKChHyfpzee5kH0
# F8HABBgr0UdqirZ7bowe9Vj2AIMD8liyrukZ2iA/wdG2th9y1IsA0QF8dTXqvcnT
# mpfeQh35k5zOCPmSNq1UH410ANVko43+Cdmu4y81hjajV/gxdEkMx1NKU4uHQcKf
# ZxAvBAKqMVuqte69M9J6A47OvgRaPs+2ykgcGV00TYr2Lr3ty9qIijanrUR3anzE
# wlvzZiiyfTPjLbnFRsjsYg39OlV8cipDoq7+qNNjqFzeGxcytL5TTLL4ZaoBdqbh
# OhZ3ZRDUphPvSRmMThi0vw9vODRzW6AxnJll38F0cuJG7uEBYTptMSbhdhGQDpOX
# gpIUsWTjd6xpR6oaQf/DJbg3s6KCLPAlZ66RzIg9sC+NJpud/v4+7RWsWCiKi9EO
# LLHfMR2ZyJ/+xhCx9yHbxtl5TPau1j/1MIDpMPx0LckTetiSuEtQvLsNz3Qbp7wG
# WqbIiOWCnb5WqxL3/BAPvIXKUjPSxyZsq8WhbaM2tszWkPZPubdcMIIFjTCCBHWg
# AwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG
# EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
# cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcN
# MjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMG
# A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
# HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
# pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+
# n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYykt
# zuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw
# 2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQjdjUN6Qu
# BX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC
# 5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK
# 3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3
# IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEP
# lAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98
# THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t9dmpsh3l
# GwIDAQABo4IBOjCCATYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wHwYDVR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8w
# DgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0
# cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MEUGA1Ud
# HwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFz
# c3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEB
# DAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi
# 7aSId229GhT0E0p6Ly23OO/0/4C5+KH38nLeJLxSA8hO0Cre+i1Wz/n096wwepqL
# sl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMTdydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo
# 0kxAGTVGamlUsLihVo7spNU96LHc/RzY9HdaXFSMb++hUD38dglohJ9vytsgjTVg
# HAIDyyCwrFigDkBjxZgiwbJZ9VVrzyerbHbObyMt9H5xaiNrIv8SuFQtJ37YOtnw
# toeW/VvRXKwYw02fc7cBqZ9Xql4o4rmUMYIDfDCCA3gCAQEwfTBpMQswCQYDVQQG
# EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0
# IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0Ex
# AhAKgO8YS43xBYLRxHanlXRoMA0GCWCGSAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJ
# AzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMjA1MDk0NjUyWjAr
# BgsqhkiG9w0BCRACDDEcMBowGDAWBBTdYjCshgotMGvaOLFoeVIwB/tBfjAvBgkq
# hkiG9w0BCQQxIgQgUFtpboN0qGPi//ipQ00UflrBkqWH3O8LLrOthuRQWt8wNwYL
# KoZIhvcNAQkQAi8xKDAmMCQwIgQgSqA/oizXXITFXJOPgo5na5yuyrM/420mmqM0
# 8UYRCjMwDQYJKoZIhvcNAQEBBQAEggIAreUnW5bppL2bd9PCn2w12J9brhE3KLLV
# tlJFcTxSTvd1sOFNAyM8YNcnXiXkS9sNVnzB74SQXIah0ozIgAn/sReG/4dfcV4C
# ZCg49Q9XmCVZvqZv62vTfSo9WcuqBKv6B49cC1jezwaV+TYScpn3Ki5mQmApZBhU
# 8dqg5mlDXoAK5dkJe4tI7vajeMSMwuSSGTcqRhGyPJnrjYOb85SbmIrqPgQpi49Z
# etIrQPZHKnKwwN4cKAbI3WINbGSUVF0ZfU2AKW7h/CjK4SMB2f5zmrNqdnmBM3Xy
# IVevAk+v9Uah5PqRm0xAUbMJvMKjNDKDhSyFP0eBC5fNytUucGPnwW4hyyqREzWm
# GBg4v+ZXHgIoNKYQ9jCXic4TxLoNCTVAmAdKU8Fibj+TMEd0GrhkfQ0OoV8O2EMM
# 1K3LtXJ/OslJhGrzlONFhKiFXIfyjcb1uSjsX58uHJw/PX/VSOG8CLxZ1PiKQNA9
# bLTk7zkP6Kijk6pRvYHVx1rYXmq6lw6BTLNjcMfDOsfIaSKZ+HfDQmaP45VrNivj
# 4tRDGTx1cfoybRqlPvXScagLeRQWx5BfTOn/lnaptr8ZXDh4j7ju4n3ormKF0xPX
# 66vv8fcVZZmyU/Rlcmqam3mOJyBRgLWHbFEHUzQfkbopvuTDHjkJX3ytj7eKZi03
# k/eo60iusKE=
# UOqxVMXgvBfUjEkg/kEpXkl2q7g6P6CCH3AwggWNMIIEdaADAgECAhAOmxiO+dAt
# 5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBa
# Fw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
# ggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3E
# MB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKy
# unWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsF
# xl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU1
# 5zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJB
# MtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObUR
# WBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6
# nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxB
# YKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5S
# UUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+x
# q4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIB
# NjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMC
# AYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
# Y2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
# bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0
# aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB
# LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0Nc
# Vec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnov
# Lbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65Zy
# oUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFW
# juyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPF
# mCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9z
# twGpn1eqXijiuZQwggW8MIIDpKADAgECAgEfMA0GCSqGSIb3DQEBCwUAMGYxCzAJ
# BgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEPMA0G
# A1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNDS0NFTiBJQ1Qg
# Q0EwHhcNMTgwNTI0MDYxMTAwWhcNMzAwNjAxMTIwMDAwWjBPMSEwHwYDVQQDExhW
# YW5kZW5icm91Y2tlIEx1YyBDUzIwMjExKjAoBgkqhkiG9w0BCQEWG2x1Yy52YW5k
# ZW5icm91Y2tlQHNja2Nlbi5iZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
# ggEBAPRbMPSAdMsURs6M9TChuXZWe1LSQlVXYVHPGRlnQeF719tgHS1Ern70aW0P
# uvCECkzUTbGHw3o+bF+vj1UZWw82oOEZGannAoTyG1CIxdOMc85Mdmy+Kb++9Ivx
# a6i4ahfpNDHE0F58TomaNyDY0dtRUDEMZw/A0AMkFmdg9BOnqrYeeLB0O/86ZkzU
# klRifi/Wa3ti1LV4U7fR6S4bMm7dZBh46IU2G3/oBdlNYAtC3DNol+bnrcBvF+cc
# GwG5kVxEZg8TtpEMj00hnI+rNPjI4Ar6mE83XKak1X5/xddZppx9ldJaiVujyOqy
# 0cONhiN/vsWPdZU37LQbG1OydGUCAwEAAaOCAYowggGGMAkGA1UdEwQCMAAwHQYD
# VR0OBBYEFN+1bIhLi6eWlLbzynleh97QuIFlMB8GA1UdIwQYMBaAFPApFPVqIRSS
# VlQTpD3VrfAhOsV4MAsGA1UdDwQEAwIHgDAfBgNVHSUEGDAWBggrBgEFBQcDAwYK
# KwYBBAGCNwIBFTA6BgNVHREEMzAxgRtsdWMudmFuZGVuYnJvdWNrZUBzY2tjZW4u
# YmWBEmx2YW5kZW5iQHNja2Nlbi5iZTA1BgNVHRIELjAshipodHRwOi8vY3JsLnNj
# a2Nlbi5iZS9TQ0tDRU4lMjBJQ1QlMjBDQS5jcnQwOwYDVR0fBDQwMjAwoC6gLIYq
# aHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNUJTIwQ0EuY3JsMD4GCSsG
# AQQBgjcVBwQxMC8GJysGAQQBgjcVCISMvCGCyP13gqGTIoSXlEaExpIugQGC1IQh
# gfrIaQIBZAIBCDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMDMA0GCSqGSIb3
# DQEBCwUAA4ICAQBGH87fu9sNbcCPVQCdJ9jP4jT59WTZm6s5BquO10UL9i7UAEmd
# d0yfCHW3myNUigR6O+Oc6Wa74HbUhAk+nEimHxzP5KcNnKE6lwqsIOf49J5G+2HR
# mTgW9tewsr39ZiB3NE5s04fHEA0I45zs8wsgyp4Mlr5v3AfzYB7gxh0Hxdm+ion7
# PXvbKhAyI3F7pQTYauilmLAkHnoXD6T+Osp04wR9m1+HNGqLMKYyVOSdu0UnmGuq
# HBxpMD7hAJ8LCi5yR6t6s4BNCczwhzUpo6ZgrtLmKCacDmZ6SJMqsGFwan/GxnLS
# vw5QpVXUVJidDfTflMeJrfWhDOEt7jx9oQWQ249uzxlqJMVfBt1YZDq4gr76yjK6
# VY7F6540ECog4auPte4NoiT5UPdE3QHSD/82/cdLoVuhELR4p4bfJ7PONT7x8iZz
# I8BoASh9SKJBh06mcmyJosOkc77Wv3ykqal7R+/LQi9geJwku6Ti0XIy9UFGBbUD
# 4m18e5cKdqDzyIHwAne0JR0ZEILPzITWviFuSXKqGP0bkSbGgpl+LuaCHcKAv+1F
# QBc2oWW0yPdxCUYpwo9QfTTh0qYXABQAbibOw7VKTnRLsS92m9pb6wn9tYyNfMu6
# r7EXCuxJNDbYpKbxeadfY0arCzlOT6mpC6lzBqfgKyN+VWoy9rmdzhjEjjCCBnIw
# ggRaoAMCAQICEzgAAAACbukOrXYB5dcAAAAAAAIwDQYJKoZIhvcNAQELBQAwZzEL
# MAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdlcnBlbjEMMAoGA1UEBxMDTW9sMQ8w
# DQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lDVDEXMBUGA1UEAxMOU0NLQ0VOIFJv
# b3QgQ0EwHhcNMTcwNjIzMTEzOTM0WhcNMzIwNjIzMTE0OTM0WjBmMQswCQYDVQQG
# EwJCRTESMBAGA1UECBMJQW50d2VycGVuMQwwCgYDVQQHEwNNb2wxDzANBgNVBAoT
# BlNDS0NFTjEMMAoGA1UECxMDSUNUMRYwFAYDVQQDEw1TQ0tDRU4gSUNUIENBMIIC
# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsW1uJ8gCKQwjdhAhr6eJJNXw
# +wffi5p2RB48uzTaQh2Y89P+75NFhk7qeOW0tVwacxYkubMvgNqasA9RslymREsx
# LfloMCidRPSQj8o0KE2cfLYojYre1TChFxc0PZobibZ7BTsU2v75GQjnsEEMmxzw
# JLAjSU2mFVKJKjrKs4Xt/q6j3w0fdrRz0ba8zSMbTHO2K8Cd1Rq3GQDLPythJyDx
# zo6YRE7TFOFcXGrIpFXvmy1XPc/ItiHwTocOmQ1msF+46W0gfWtbFLt8bC/CnuE2
# ZQPnAmpq3lOUu8cOq/2eqhihAeAli5McYepaK+qr1JtLNfgTSkkFFw27c5cPXwFC
# CE0ryJdN+qN4Xdk3J2iz0hayEJ4sGaimdJTXv/OTmSxxKGMnPYV+BTvk/PDJnGjW
# QqOryf0PWgmwVQ1KAowaPjBAXJOEotzNnzW0/FKtvgJYLk3xFs3sJJ6EG6D02wB2
# RNszNGM66tyqqx/Z3651xwzgkYYR1ETdmddcqL6/3a+HifS5K99N+q7rX/Rp31AU
# lNsb53xhh43NWUAg5Tzrb9J54mBR6Z/MafmTVHcK2nK6RRYaUfxs/WuE2+OzX7Md
# G/URi1lVuOu7hp7AKnSjcLnOcBG7lkSK1Q1pCuACYMkvCl+7keio376akUfumX3H
# qEVgK8ttZiRgiVHR7Q0CAwEAAaOCARYwggESMBAGCSsGAQQBgjcVAQQDAgEAMB0G
# A1UdDgQWBBTwKRT1aiEUklZUE6Q91a3wITrFeDAZBgkrBgEEAYI3FAIEDB4KAFMA
# dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAW
# gBRSvxsquCggUTGvI6e+I5TG0fkUMDA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8v
# Y3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBSb290JTIwQ0EuY3JsMEcGCCsGAQUFBwEB
# BDswOTA3BggrBgEFBQcwAoYraHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIw
# Um9vdCUyMENBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAhsQ1eNAeFzKKGY9KW0VM
# GrLUbtccjHoeKlGdVn+yhS9xhSaIFgm00IPVO5zh9jKtgCA3o81TqY0w1WoRK1U8
# t89On5RZYVy39pDyu+oBlHgul9KOuJbIKLgh0VgEPvY3vM0h0bLdxIrnlIxchVxg
# s5y/h/wLKmXLjsg+AuYzsJ4+9GAD5SsdFGp2jiKPf9aw6zG67an2yTqtvPfeoRpk
# MWO+Mx39CWWwfU3MaQySlAx0/JzZcqWzk6QFgN1h89wSBHD0mMFdnahEth5y9QhP
# kLydPniibF5VZ59gbUVlpFFz8VddmBtx9xfe5aIYEjkj35HmEW/FN7qwnJP3dClj
# zFiqSueKqiFIN3punjHbMUoAxJnibx11Xz4pFm5mdk8v95r+sncH8SFK/P5nUjjE
# YIBRInZiovl7C8KfI1RD9lXJDPdw5yVfkCpkCr/rYNNMBHfDYZ+G1NEu9WzE2Nrk
# nC4H4qoNJLmMjVPTswcIT780iOvFZRf1ql+0e2TKUHCOkZ+plXtl3H6MimrNk6B/
# ZQAy4mETNH6ceaoudV7X5Y7HzbTwSXCSw6GCiQMdYXgsFp+lioorEmFZhVc2PTs+
# oUXbMi8IUaCyKEm6tMZHJ+PGU1YBE8Szyj5nI1SUhb+aHunRGlhgXPb4bnEdZVaM
# ruxFM0UbriGwmkOEv9cPVpAwgga0MIIEnKADAgECAhANx6xXBf8hmS5AQyIMOkmG
# MA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yNTA1MDcwMDAwMDBaFw0zODAxMTQyMzU5
# NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8G
# A1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBT
# SEEyNTYgMjAyNSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC0
# eDHTCphBcr48RsAcrHXbo0ZodLRRF51NrY0NlLWZloMsVO1DahGPNRcybEKq+Ruw
# OnPhof6pvF4uGjwjqNjfEvUi6wuim5bap+0lgloM2zX4kftn5B1IpYzTqpyFQ/4B
# t0mAxAHeHYNnQxqXmRinvuNgxVBdJkf77S2uPoCj7GH8BLuxBG5AvftBdsOECS1U
# kxBvMgEdgkFiDNYiOTx4OtiFcMSkqTtF2hfQz3zQSku2Ws3IfDReb6e3mmdglTca
# arps0wjUjsZvkgFkriK9tUKJm/s80FiocSk1VYLZlDwFt+cVFBURJg6zMUjZa/zb
# CclF83bRVFLeGkuAhHiGPMvSGmhgaTzVyhYn4p0+8y9oHRaQT/aofEnS5xLrfxnG
# pTXiUOeSLsJygoLPp66bkDX1ZlAeSpQl92QOMeRxykvq6gbylsXQskBBBnGy3tW/
# AMOMCZIVNSaz7BX8VtYGqLt9MmeOreGPRdtBx3yGOP+rx3rKWDEJlIqLXvJWnY0v
# 5ydPpOjL6s36czwzsucuoKs7Yk/ehb//Wx+5kMqIMRvUBDx6z1ev+7psNOdgJMoi
# wOrUG2ZdSoQbU2rMkpLiQ6bGRinZbI4OLu9BMIFm1UUl9VnePs6BaaeEWvjJSjNm
# 2qA+sdFUeEY0qVjPKOWug/G6X5uAiynM7Bu2ayBjUwIDAQABo4IBXTCCAVkwEgYD
# VR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU729TSunkBnx6yuKQVvYv1Ensy04w
# HwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGG
# MBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcw
# AYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8v
# Y2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBD
# BgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNl
# cnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgB
# hv1sBwEwDQYJKoZIhvcNAQELBQADggIBABfO+xaAHP4HPRF2cTC9vgvItTSmf83Q
# h8WIGjB/T8ObXAZz8OjuhUxjaaFdleMM0lBryPTQM2qEJPe36zwbSI/mS83afsl3
# YTj+IQhQE7jU/kXjjytJgnn0hvrV6hqWGd3rLAUt6vJy9lMDPjTLxLgXf9r5nWMQ
# wr8Myb9rEVKChHyfpzee5kH0F8HABBgr0UdqirZ7bowe9Vj2AIMD8liyrukZ2iA/
# wdG2th9y1IsA0QF8dTXqvcnTmpfeQh35k5zOCPmSNq1UH410ANVko43+Cdmu4y81
# hjajV/gxdEkMx1NKU4uHQcKfZxAvBAKqMVuqte69M9J6A47OvgRaPs+2ykgcGV00
# TYr2Lr3ty9qIijanrUR3anzEwlvzZiiyfTPjLbnFRsjsYg39OlV8cipDoq7+qNNj
# qFzeGxcytL5TTLL4ZaoBdqbhOhZ3ZRDUphPvSRmMThi0vw9vODRzW6AxnJll38F0
# cuJG7uEBYTptMSbhdhGQDpOXgpIUsWTjd6xpR6oaQf/DJbg3s6KCLPAlZ66RzIg9
# sC+NJpud/v4+7RWsWCiKi9EOLLHfMR2ZyJ/+xhCx9yHbxtl5TPau1j/1MIDpMPx0
# LckTetiSuEtQvLsNz3Qbp7wGWqbIiOWCnb5WqxL3/BAPvIXKUjPSxyZsq8WhbaM2
# tszWkPZPubdcMIIG7TCCBNWgAwIBAgIQCoDvGEuN8QWC0cR2p5V0aDANBgkqhkiG
# 9w0BAQsFADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4x
# QTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQw
# OTYgU0hBMjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1
# OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYD
# VQQDEzJEaWdpQ2VydCBTSEEyNTYgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVy
# IDIwMjUgMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANBGrC0Sxp7Q
# 6q5gVrMrV7pvUf+GcAoB38o3zBlCMGMyqJnfFNZx+wvA69HFTBdwbHwBSOeLpvPn
# Z8ZN+vo8dE2/pPvOx/Vj8TchTySA2R4QKpVD7dvNZh6wW2R6kSu9RJt/4QhguSss
# p3qome7MrxVyfQO9sMx6ZAWjFDYOzDi8SOhPUWlLnh00Cll8pjrUcCV3K3E0zz09
# ldQ//nBZZREr4h/GI6Dxb2UoyrN0ijtUDVHRXdmncOOMA3CoB/iUSROUINDT98ok
# souTMYFOnHoRh6+86Ltc5zjPKHW5KqCvpSduSwhwUmotuQhcg9tw2YD3w6ySSSu+
# 3qU8DD+nigNJFmt6LAHvH3KSuNLoZLc1Hf2JNMVL4Q1OpbybpMe46YceNA0LfNsn
# qcnpJeItK/DhKbPxTTuGoX7wJNdoRORVbPR1VVnDuSeHVZlc4seAO+6d2sC26/PQ
# PdP51ho1zBp+xUIZkpSFA8vWdoUoHLWnqWU3dCCyFG1roSrgHjSHlq8xymLnjCbS
# LZ49kPmk8iyyizNDIXj//cOgrY7rlRyTlaCCfw7aSUROwnu7zER6EaJ+AliL7ojT
# dS5PWPsWeupWs7NpChUk555K096V1hE0yZIXe+giAwW00aHzrDchIc2bQhpp0IoK
# RR7YufAkprxMiXAJQ1XCmnCfgPf8+3mnAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8E
# AjAAMB0GA1UdDgQWBBTkO/zyMe39/dfzkXFjGVBDz2GM6DAfBgNVHSMEGDAWgBTv
# b1NK6eQGfHrK4pBW9i/USezLTjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAww
# CgYIKwYBBQUHAwgwgZUGCCsGAQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRw
# Oi8vb2NzcC5kaWdpY2VydC5jb20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRz
# LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQw
# OTZTSEEyNTYyMDI1Q0ExLmNydDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3Js
# My5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0
# MDk2U0hBMjU2MjAyNUNBMS5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZI
# AYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQBlKq3xHCcEua5gQezRCESeY0ByIfjk
# 9iJP2zWLpQq1b4URGnwWBdEZD9gBq9fNaNmFj6Eh8/YmRDfxT7C0k8FUFqNh+tsh
# gb4O6Lgjg8K8elC4+oWCqnU/ML9lFfim8/9yJmZSe2F8AQ/UdKFOtj7YMTmqPO9m
# zskgiC3QYIUP2S3HQvHG1FDu+WUqW4daIqToXFE/JQ/EABgfZXLWU0ziTN6R3ygQ
# BHMUBaB5bdrPbF6MRYs03h4obEMnxYOX8VBRKe1uNnzQVTeLni2nHkX/QqvXnNb+
# YkDFkxUGtMTaiLR9wjxUxu2hECZpqyU1d0IbX6Wq8/gVutDojBIFeRlqAcuEVT0c
# Ksb+zJNEsuEB7O7/cuvTQasnM9AWcIQfVjnzrvwiCZ85EE8LUkqRhoS3Y50OHgaY
# 7T/lwd6UArb+BOVAkg2oOvol/DJgddJ35XTxfUlQ+8Hggt8l2Yv7roancJIFcboj
# BcxlRcGG0LIhp6GvReQGgMgYxQbV1S3CrWqZzBt1R9xJgKf47CdxVRd/ndUlQ05o
# xYy2zRWVFjF7mcr4C34Mj3ocCVccAvlKV9jEnstrniLvUxxVZE/rptb7IRE2lskK
# PIJgbaP5t2nGj/ULLi49xTcBZU8atufk+EMF/cWuiC7POGT75qaL6vdCvHlshtjd
# NXOCIUjsarfNZzGCBT4wggU6AgEBMGswZjELMAkGA1UEBhMCQkUxEjAQBgNVBAgT
# CUFudHdlcnBlbjEMMAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNV
# BAsTA0lDVDEWMBQGA1UEAxMNU0NLQ0VOIElDVCBDQQIBHzANBglghkgBZQMEAgEF
# AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEE
# MBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCDQ
# pi3UkTYd5hIQhp1U+y4qPQttSDmT0K1fbakgvaeuvDANBgkqhkiG9w0BAQEFAASC
# AQBNip9BmXmacdNMIKGgof3l4qYO+6K0NyMnRFSiQJ/PvcPUN431IrjU4sdd2kR5
# vyC0e5sjmqB4Mtf08MALOcfcSQ9fHznHZ1qiREtLUJCaNYO7XKmy0RZJgQxBT0yh
# YSXLgxg2WWBo/1rYOevDXVVQ/a9jhZhBYAOdKWHp1AXK9VPGxWwpHNJ52pBxK/If
# 5jpZbh7YI/9uWf/u0B+VxTwRSMtsgm9R4O/MkI6z2NnFvOi/Nui+OZvhVArCNN47
# 3R3M1vkY2A6jkpJETuBFg0NFd/f/7DamMatzMm2H7N1yEstNLBoWUXlqMAA5JswX
# N6NENswgLIvVBRO4wn8UuKneoYIDJjCCAyIGCSqGSIb3DQEJBjGCAxMwggMPAgEB
# MH0waTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYD
# VQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNI
# QTI1NiAyMDI1IENBMQIQCoDvGEuN8QWC0cR2p5V0aDANBglghkgBZQMEAgEFAKBp
# MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDgy
# ODA3NDA1MFowLwYJKoZIhvcNAQkEMSIEIG3XT2TzF+o0dETSdwuXEapFlkYC6XzP
# hmIM9zcGVDAKMA0GCSqGSIb3DQEBAQUABIICAMhawcoAwPvkoaFagHUAloQPdO6f
# E62kM7eXkZ7xQjedOs+qpbn08U9P8T6BO+V9duPpos4EUdpHffCNX7cN0EQjNqR+
# irdkhVg1fY9E9Uvp7xo3UQwPE3TvbpLfL2uUp4MV3nJo+mrg7p4Tgi47JEtvoQqo
# 2mlWRMsiuGdJ0PRRyOTpPxhVTSHir7TZRZBF1qTO2065ErmMCeoLtCONtjN0LvdR
# z7eR2tW5drGIQInLQFbW0aJ/F7OyCP2mkgK3CGp6FS+bwzk9osYnhCScBxvF3s/0
# CFA2xhD+HygfAQJGdEg03IXWQJQWiScV3ZrDqqZQqw5Ikn7u0xHsg8W1BTgFzopF
# q6n/uZRV/jnkzWu0gqEBarjiIo6w6RyWFtayfuSp7SSDQaFO9mZrAlE2EeoBKpaj
# NdTYJKObNw1Q2cKdtbJMhIZ7sMKP3jUcyiRQX0Q4J4DZlLElbWH7Bac0NALfaRX2
# KCrouNmlTw+O4vvsoWaQ/ROA6LS7yufMJYFAhsBEaF/WwfRmIe6IRAMQnPVGwnef
# 38PJL2DHBgKkK2/JpzO6/z/YK/6q0FlF2W3EuVwncrK5s/gvgzWzGNMEzXNOS0oJ
# P4+VAObDj3Sh+fcKIhdBd4UKqru9SyoNONwO4B+wTMNrpFnba4kGLl94lT8usdTp
# dOB6d9nI2RXErm6o
# SIG # End signature block

224
scripts/Downgrader.ps1 Normal file
View file

@ -0,0 +1,224 @@
echo "start Powershell as admin"
Set-ExecutionPolicy -ExecutionPolicy unrestricted
echo Stop edossync
$psync="C:\Program Files\eDos\synceDosLocal"
$taskname="eDosSync"
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
Stop-ScheduledTask -TaskName $taskname
echo Copy soft
Expand-Archive -Force c:\software\eDosStation25.zip "c:\program files\edos\edosStation"
Expand-Archive -Force c:\software\eDosSync.zip "c:\program files\edos\synceDosLocal"
echo Sql Updates
Start-ScheduledTask -TaskName $taskname
exit
# SIG # Begin signature block
# MIIlPAYJKoZIhvcNAQcCoIIlLTCCJSkCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUuA7T+1F8RGm8cVT8haqFrNUP
# AxGggh9wMIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0B
# AQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVk
# IElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5WjBiMQsw
# CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
# ZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQw
# ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz
# 7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS
# 5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7
# bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfI
# SKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jH
# trHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14
# Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2
# h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt
# 6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPR
# iQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ER
# ElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4K
# Jpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0TAQH/BAUwAwEB/zAd
# BgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0jBBgwFoAUReuir/SS
# y4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUFBwEBBG0wazAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAC
# hjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURS
# b290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0
# LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0gBAowCDAGBgRV
# HSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW1/e/Vwe9mqyh
# hyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5+KH38nLeJLxSA8hO
# 0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMTdydE1Od/6Fmo
# 8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc/RzY9HdaXFSMb++h
# UD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVrzyerbHbObyMt9H5x
# aiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o4rmUMIIFvDCCA6Sg
# AwIBAgIBHzANBgkqhkiG9w0BAQsFADBmMQswCQYDVQQGEwJCRTESMBAGA1UECBMJ
# QW50d2VycGVuMQwwCgYDVQQHEwNNb2wxDzANBgNVBAoTBlNDS0NFTjEMMAoGA1UE
# CxMDSUNUMRYwFAYDVQQDEw1TQ0tDRU4gSUNUIENBMB4XDTE4MDUyNDA2MTEwMFoX
# DTMwMDYwMTEyMDAwMFowTzEhMB8GA1UEAxMYVmFuZGVuYnJvdWNrZSBMdWMgQ1My
# MDIxMSowKAYJKoZIhvcNAQkBFhtsdWMudmFuZGVuYnJvdWNrZUBzY2tjZW4uYmUw
# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0WzD0gHTLFEbOjPUwobl2
# VntS0kJVV2FRzxkZZ0Hhe9fbYB0tRK5+9GltD7rwhApM1E2xh8N6Pmxfr49VGVsP
# NqDhGRmp5wKE8htQiMXTjHPOTHZsvim/vvSL8WuouGoX6TQxxNBefE6Jmjcg2NHb
# UVAxDGcPwNADJBZnYPQTp6q2HniwdDv/OmZM1JJUYn4v1mt7YtS1eFO30ekuGzJu
# 3WQYeOiFNht/6AXZTWALQtwzaJfm563AbxfnHBsBuZFcRGYPE7aRDI9NIZyPqzT4
# yOAK+phPN1ympNV+f8XXWaacfZXSWolbo8jqstHDjYYjf77Fj3WVN+y0GxtTsnRl
# AgMBAAGjggGKMIIBhjAJBgNVHRMEAjAAMB0GA1UdDgQWBBTftWyIS4unlpS288p5
# Xofe0LiBZTAfBgNVHSMEGDAWgBTwKRT1aiEUklZUE6Q91a3wITrFeDALBgNVHQ8E
# BAMCB4AwHwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjcCARUwOgYDVR0RBDMw
# MYEbbHVjLnZhbmRlbmJyb3Vja2VAc2NrY2VuLmJlgRJsdmFuZGVuYkBzY2tjZW4u
# YmUwNQYDVR0SBC4wLIYqaHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNU
# JTIwQ0EuY3J0MDsGA1UdHwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmwuc2NrY2VuLmJl
# L1NDS0NFTiUyMElDVCUyMENBLmNybDA+BgkrBgEEAYI3FQcEMTAvBicrBgEEAYI3
# FQiEjLwhgsj9d4KhkyKEl5RGhMaSLoEBgtSEIYH6yGkCAWQCAQgwGwYJKwYBBAGC
# NxUKBA4wDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAgEARh/O37vbDW3A
# j1UAnSfYz+I0+fVk2ZurOQarjtdFC/Yu1ABJnXdMnwh1t5sjVIoEejvjnOlmu+B2
# 1IQJPpxIph8cz+SnDZyhOpcKrCDn+PSeRvth0Zk4FvbXsLK9/WYgdzRObNOHxxAN
# COOc7PMLIMqeDJa+b9wH82Ae4MYdB8XZvoqJ+z172yoQMiNxe6UE2GropZiwJB56
# Fw+k/jrKdOMEfZtfhzRqizCmMlTknbtFJ5hrqhwcaTA+4QCfCwouckererOATQnM
# 8Ic1KaOmYK7S5igmnA5mekiTKrBhcGp/xsZy0r8OUKVV1FSYnQ3035THia31oQzh
# Le48faEFkNuPbs8ZaiTFXwbdWGQ6uIK++soyulWOxeueNBAqIOGrj7XuDaIk+VD3
# RN0B0g//Nv3HS6FboRC0eKeG3yezzjU+8fImcyPAaAEofUiiQYdOpnJsiaLDpHO+
# 1r98pKmpe0fvy0IvYHicJLuk4tFyMvVBRgW1A+JtfHuXCnag88iB8AJ3tCUdGRCC
# z8yE1r4hbklyqhj9G5EmxoKZfi7mgh3CgL/tRUAXNqFltMj3cQlGKcKPUH004dKm
# FwAUAG4mzsO1Sk50S7EvdpvaW+sJ/bWMjXzLuq+xFwrsSTQ22KSm8XmnX2NGqws5
# Tk+pqQupcwan4CsjflVqMva5nc4YxI4wggZyMIIEWqADAgECAhM4AAAAAm7pDq12
# AeXXAAAAAAACMA0GCSqGSIb3DQEBCwUAMGcxCzAJBgNVBAYTAkJFMRIwEAYDVQQI
# EwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYD
# VQQLEwNJQ1QxFzAVBgNVBAMTDlNDS0NFTiBSb290IENBMB4XDTE3MDYyMzExMzkz
# NFoXDTMyMDYyMzExNDkzNFowZjELMAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdl
# cnBlbjEMMAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lD
# VDEWMBQGA1UEAxMNU0NLQ0VOIElDVCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBALFtbifIAikMI3YQIa+niSTV8PsH34uadkQePLs02kIdmPPT/u+T
# RYZO6njltLVcGnMWJLmzL4DamrAPUbJcpkRLMS35aDAonUT0kI/KNChNnHy2KI2K
# 3tUwoRcXND2aG4m2ewU7FNr++RkI57BBDJsc8CSwI0lNphVSiSo6yrOF7f6uo98N
# H3a0c9G2vM0jG0xztivAndUatxkAyz8rYScg8c6OmERO0xThXFxqyKRV75stVz3P
# yLYh8E6HDpkNZrBfuOltIH1rWxS7fGwvwp7hNmUD5wJqat5TlLvHDqv9nqoYoQHg
# JYuTHGHqWivqq9SbSzX4E0pJBRcNu3OXD18BQghNK8iXTfqjeF3ZNydos9IWshCe
# LBmopnSU17/zk5kscShjJz2FfgU75PzwyZxo1kKjq8n9D1oJsFUNSgKMGj4wQFyT
# hKLczZ81tPxSrb4CWC5N8RbN7CSehBug9NsAdkTbMzRjOurcqqsf2d+udccM4JGG
# EdRE3ZnXXKi+v92vh4n0uSvfTfqu61/0ad9QFJTbG+d8YYeNzVlAIOU862/SeeJg
# UemfzGn5k1R3CtpyukUWGlH8bP1rhNvjs1+zHRv1EYtZVbjru4aewCp0o3C5znAR
# u5ZEitUNaQrgAmDJLwpfu5HoqN++mpFH7pl9x6hFYCvLbWYkYIlR0e0NAgMBAAGj
# ggEWMIIBEjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU8CkU9WohFJJWVBOk
# PdWt8CE6xXgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGG
# MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUr8bKrgoIFExryOnviOUxtH5
# FDAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VO
# JTIwUm9vdCUyMENBLmNybDBHBggrBgEFBQcBAQQ7MDkwNwYIKwYBBQUHMAKGK2h0
# dHA6Ly9jcmwuc2NrY2VuLmJlL1NDS0NFTiUyMFJvb3QlMjBDQS5jcnQwDQYJKoZI
# hvcNAQELBQADggIBAIbENXjQHhcyihmPSltFTBqy1G7XHIx6HipRnVZ/soUvcYUm
# iBYJtNCD1Tuc4fYyrYAgN6PNU6mNMNVqEStVPLfPTp+UWWFct/aQ8rvqAZR4LpfS
# jriWyCi4IdFYBD72N7zNIdGy3cSK55SMXIVcYLOcv4f8Cyply47IPgLmM7CePvRg
# A+UrHRRqdo4ij3/WsOsxuu2p9sk6rbz33qEaZDFjvjMd/QllsH1NzGkMkpQMdPyc
# 2XKls5OkBYDdYfPcEgRw9JjBXZ2oRLYecvUIT5C8nT54omxeVWefYG1FZaRRc/FX
# XZgbcfcX3uWiGBI5I9+R5hFvxTe6sJyT93QpY8xYqkrniqohSDd6bp4x2zFKAMSZ
# 4m8ddV8+KRZuZnZPL/ea/rJ3B/EhSvz+Z1I4xGCAUSJ2YqL5ewvCnyNUQ/ZVyQz3
# cOclX5AqZAq/62DTTAR3w2GfhtTRLvVsxNja5JwuB+KqDSS5jI1T07MHCE+/NIjr
# xWUX9apftHtkylBwjpGfqZV7Zdx+jIpqzZOgf2UAMuJhEzR+nHmqLnVe1+WOx820
# 8ElwksOhgokDHWF4LBafpYqKKxJhWYVXNj07PqFF2zIvCFGgsihJurTGRyfjxlNW
# ARPEs8o+ZyNUlIW/mh7p0RpYYFz2+G5xHWVWjK7sRTNFG64hsJpDhL/XD1aQMIIG
# tDCCBJygAwIBAgIQDcesVwX/IZkuQEMiDDpJhjANBgkqhkiG9w0BAQsFADBiMQsw
# CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
# ZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQw
# HhcNMjUwNTA3MDAwMDAwWhcNMzgwMTE0MjM1OTU5WjBpMQswCQYDVQQGEwJVUzEX
# MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0
# ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExMIICIjAN
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtHgx0wqYQXK+PEbAHKx126NGaHS0
# URedTa2NDZS1mZaDLFTtQ2oRjzUXMmxCqvkbsDpz4aH+qbxeLho8I6jY3xL1IusL
# opuW2qftJYJaDNs1+JH7Z+QdSKWM06qchUP+AbdJgMQB3h2DZ0Mal5kYp77jYMVQ
# XSZH++0trj6Ao+xh/AS7sQRuQL37QXbDhAktVJMQbzIBHYJBYgzWIjk8eDrYhXDE
# pKk7RdoX0M980EpLtlrNyHw0Xm+nt5pnYJU3Gmq6bNMI1I7Gb5IBZK4ivbVCiZv7
# PNBYqHEpNVWC2ZQ8BbfnFRQVESYOszFI2Wv82wnJRfN20VRS3hpLgIR4hjzL0hpo
# YGk81coWJ+KdPvMvaB0WkE/2qHxJ0ucS638ZxqU14lDnki7CcoKCz6eum5A19WZQ
# HkqUJfdkDjHkccpL6uoG8pbF0LJAQQZxst7VvwDDjAmSFTUms+wV/FbWBqi7fTJn
# jq3hj0XbQcd8hjj/q8d6ylgxCZSKi17yVp2NL+cnT6Toy+rN+nM8M7LnLqCrO2JP
# 3oW//1sfuZDKiDEb1AQ8es9Xr/u6bDTnYCTKIsDq1BtmXUqEG1NqzJKS4kOmxkYp
# 2WyODi7vQTCBZtVFJfVZ3j7OgWmnhFr4yUozZtqgPrHRVHhGNKlYzyjlroPxul+b
# gIspzOwbtmsgY1MCAwEAAaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
# VR0OBBYEFO9vU0rp5AZ8esrikFb2L9RJ7MtOMB8GA1UdIwQYMBaAFOzX44LScV1k
# TN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcD
# CDB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
# ZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
# L0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0
# cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmww
# IAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUA
# A4ICAQAXzvsWgBz+Bz0RdnEwvb4LyLU0pn/N0IfFiBowf0/Dm1wGc/Do7oVMY2mh
# XZXjDNJQa8j00DNqhCT3t+s8G0iP5kvN2n7Jd2E4/iEIUBO41P5F448rSYJ59Ib6
# 1eoalhnd6ywFLerycvZTAz40y8S4F3/a+Z1jEMK/DMm/axFSgoR8n6c3nuZB9BfB
# wAQYK9FHaoq2e26MHvVY9gCDA/JYsq7pGdogP8HRtrYfctSLANEBfHU16r3J05qX
# 3kId+ZOczgj5kjatVB+NdADVZKON/gnZruMvNYY2o1f4MXRJDMdTSlOLh0HCn2cQ
# LwQCqjFbqrXuvTPSegOOzr4EWj7PtspIHBldNE2K9i697cvaiIo2p61Ed2p8xMJb
# 82Yosn0z4y25xUbI7GIN/TpVfHIqQ6Ku/qjTY6hc3hsXMrS+U0yy+GWqAXam4ToW
# d2UQ1KYT70kZjE4YtL8Pbzg0c1ugMZyZZd/BdHLiRu7hAWE6bTEm4XYRkA6Tl4KS
# FLFk43esaUeqGkH/wyW4N7OigizwJWeukcyIPbAvjSabnf7+Pu0VrFgoiovRDiyx
# 3zEdmcif/sYQsfch28bZeUz2rtY/9TCA6TD8dC3JE3rYkrhLULy7Dc90G6e8Blqm
# yIjlgp2+VqsS9/wQD7yFylIz0scmbKvFoW2jNrbM1pD2T7m3XDCCBu0wggTVoAMC
# AQICEAqA7xhLjfEFgtHEdqeVdGgwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMC
# VVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBU
# cnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1IENBMTAe
# Fw0yNTA2MDQwMDAwMDBaFw0zNjA5MDMyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcw
# FQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgU0hBMjU2
# IFJTQTQwOTYgVGltZXN0YW1wIFJlc3BvbmRlciAyMDI1IDEwggIiMA0GCSqGSIb3
# DQEBAQUAA4ICDwAwggIKAoICAQDQRqwtEsae0OquYFazK1e6b1H/hnAKAd/KN8wZ
# QjBjMqiZ3xTWcfsLwOvRxUwXcGx8AUjni6bz52fGTfr6PHRNv6T7zsf1Y/E3IU8k
# gNkeECqVQ+3bzWYesFtkepErvUSbf+EIYLkrLKd6qJnuzK8Vcn0DvbDMemQFoxQ2
# Dsw4vEjoT1FpS54dNApZfKY61HAldytxNM89PZXUP/5wWWURK+IfxiOg8W9lKMqz
# dIo7VA1R0V3Zp3DjjANwqAf4lEkTlCDQ0/fKJLKLkzGBTpx6EYevvOi7XOc4zyh1
# uSqgr6UnbksIcFJqLbkIXIPbcNmA98Oskkkrvt6lPAw/p4oDSRZreiwB7x9ykrjS
# 6GS3NR39iTTFS+ENTqW8m6THuOmHHjQNC3zbJ6nJ6SXiLSvw4Smz8U07hqF+8CTX
# aETkVWz0dVVZw7knh1WZXOLHgDvundrAtuvz0D3T+dYaNcwafsVCGZKUhQPL1naF
# KBy1p6llN3QgshRta6Eq4B40h5avMcpi54wm0i2ePZD5pPIssoszQyF4//3DoK2O
# 65Uck5Wggn8O2klETsJ7u8xEehGifgJYi+6I03UuT1j7FnrqVrOzaQoVJOeeStPe
# ldYRNMmSF3voIgMFtNGh86w3ISHNm0IaadCKCkUe2LnwJKa8TIlwCUNVwppwn4D3
# /Pt5pwIDAQABo4IBlTCCAZEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU5Dv88jHt
# /f3X85FxYxlQQ89hjOgwHwYDVR0jBBgwFoAU729TSunkBnx6yuKQVvYv1Ensy04w
# DgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMIGVBggrBgEF
# BQcBAQSBiDCBhTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
# MF0GCCsGAQUFBzAChlFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNl
# cnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5jcnQw
# XwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lD
# ZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNBNDA5NlNIQTI1NjIwMjVDQTEuY3Js
# MCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsF
# AAOCAgEAZSqt8RwnBLmuYEHs0QhEnmNAciH45PYiT9s1i6UKtW+FERp8FgXRGQ/Y
# AavXzWjZhY+hIfP2JkQ38U+wtJPBVBajYfrbIYG+Dui4I4PCvHpQuPqFgqp1PzC/
# ZRX4pvP/ciZmUnthfAEP1HShTrY+2DE5qjzvZs7JIIgt0GCFD9ktx0LxxtRQ7vll
# KluHWiKk6FxRPyUPxAAYH2Vy1lNM4kzekd8oEARzFAWgeW3az2xejEWLNN4eKGxD
# J8WDl/FQUSntbjZ80FU3i54tpx5F/0Kr15zW/mJAxZMVBrTE2oi0fcI8VMbtoRAm
# aaslNXdCG1+lqvP4FbrQ6IwSBXkZagHLhFU9HCrG/syTRLLhAezu/3Lr00GrJzPQ
# FnCEH1Y58678IgmfORBPC1JKkYaEt2OdDh4GmO0/5cHelAK2/gTlQJINqDr6Jfwy
# YHXSd+V08X1JUPvB4ILfJdmL+66Gp3CSBXG6IwXMZUXBhtCyIaehr0XkBoDIGMUG
# 1dUtwq1qmcwbdUfcSYCn+OwncVUXf53VJUNOaMWMts0VlRYxe5nK+At+DI96HAlX
# HAL5SlfYxJ7La54i71McVWRP66bW+yERNpbJCjyCYG2j+bdpxo/1Cy4uPcU3AWVP
# Grbn5PhDBf3Froguzzhk++ami+r3Qrx5bIbY3TVzgiFI7Gq3zWcxggU2MIIFMgIB
# ATBrMGYxCzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcT
# A01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVND
# S0NFTiBJQ1QgQ0ECAR8wCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKA
# AKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFN3Z26kJfKA1niMYcGIP/Ami
# zRJXMA0GCSqGSIb3DQEBAQUABIIBAIS07zxFtxExfvrQE3gmqXL9ohfMZaXeLOma
# jeAulJkp6arWlKCTA9/6c0XFTyV5r/vNxhV69z0jMqiZH5vvTQEfQyaPGaJbWKge
# P0evjxh3h74+vAn6GxXhLAI67LVEAv604ZVJciqZKnhcgZ/oID1obbTkV/XZAVDh
# Hbw0MNV6nONbdLzmn2JgzPdZ7+EDC6kwPQx4uxnG60oP+RRkylmfo59BWGDyloCW
# OcAqE/ZdAPzu+M9+TaNscaRqC4JG0AuYv/Dp7PL0+6W9fFs/BX788lCjonzjXBy+
# c//mk/kFA69lGuYJp2wnXIN1yF6O9ynORt2Fec3JpNcZwNnvERyhggMmMIIDIgYJ
# KoZIhvcNAQkGMYIDEzCCAw8CAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
# BgkqhkiG9w0BCQUxDxcNMjYwODI4MTM1MDM0WjAvBgkqhkiG9w0BCQQxIgQgwGts
# hmgwg+1No3Bfq4IiEmxiCsjb9Jy7A/l9sT7ewm0wDQYJKoZIhvcNAQEBBQAEggIA
# ES1N/fkR8sGknVNzke7MT8zzrvhMf6AcV4Y0tAPwiYl062sn97sokY+ih7uwFSAJ
# qDtgpFXV9WCYVgEoGPJo3XHFo9PM5A/QcHNOgp8z17Tm0T2dpU6vQbNX5kSxodL5
# aI0dZLFxv6lEd0sRAlhm2E9U5qZhTSnxhHeSLLng8vPkThULMNxh1pR6FQ0o0FW2
# C0q94q8mTsv+FOc6vo82GifQc2lHFmLAPB7Kh0ncxnwCYSgFmAGI6ZTfICD2GGJm
# ixTDAylDye7NEShjfFTOOPvbqmKJmsMi5ZaKLbmhImP3ot39PFmLbow+SlVzuUwT
# rbUgC+v8w+5PvF9I0yQCLSijkottLHuvfuoUje2WqVxQW8y9yObz7XDKtUGyWbbz
# bjKcjEqDYReCb3d9AgQ33Y4NeBrVRKJ03+SsmftWpr5xP6zjG4nvMu/5d8ITwO2V
# xMXGMFsX0ttN+bH9aIsY0RcCY9ENtCJ0E7t1yn8y64RWE8D531cMu752z+N4Ucex
# Gm72w8r69K5CvwaL5WaZxevl+BswNC0Dlbmc3juR57QElQ3/6edV3XZgExqBYgJH
# G31Sj6PyJI5+UNmdnNrdy3U1k4GcD5L4ZphN1xkCfITI9BvbXjs61IWDmx6Axqgs
# vfg9EIlBV8IWg8oOHWMqfWIHHkw8EEY9LxasNrFoM7E=
# SIG # End signature block

View file

@ -1,6 +1,97 @@
echo "start Powershell as admin"
Set-ExecutionPolicy -ExecutionPolicy unrestricted
function Test-AndInstallVcRedistX86 {
[CmdletBinding()]
param(
[string]$MinVersion = "14.51.36247",
[string]$InstallerPath = (Join-Path -Path $PSScriptRoot -ChildPath "vc_redist.x86.exe")
)
$minVerObj = [Version]$MinVersion
$isInstalled = $false
$installedVerStr = ""
# Path 1: Check official Microsoft Visual Studio Runtime registry key (Most Reliable)
$vcRegPath = "HKLM:\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86"
if (Test-Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86") {
$vcRegPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86"
}
if (Test-Path $vcRegPath) {
$regProps = Get-ItemProperty -Path $vcRegPath -ErrorAction SilentlyContinue
if ($regProps.Installed -eq 1) {
$major = $regProps.Major
$minor = $regProps.Minor
$bld = $regProps.Bld
$rbld = if ($regProps.Rbld) { $regProps.Rbld } else { 0 }
if ($major -and $minor -and $bld) {
$installedVerObj = [Version]"$major.$minor.$bld.$rbld"
$installedVerStr = $installedVerObj.ToString()
if ($installedVerObj -ge $minVerObj) {
$isInstalled = $true
}
}
}
}
# Path 2: Fallback check in Uninstall keys (Updated for "v14" naming)
if (-not $isInstalled) {
$uninstallPaths = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
foreach ($path in $uninstallPaths) {
$found = Get-ItemProperty -Path $path -ErrorAction SilentlyContinue | Where-Object {
($_.DisplayName -like "*Visual C++*" -or $_.DisplayName -like "*vc_redist*") -and
($_.DisplayName -like "*(x86)*") -and
($_.DisplayName -like "*2015*" -or $_.DisplayName -like "*2022*" -or $_.DisplayName -like "*v14*")
}
foreach ($item in $found) {
if ($item.DisplayVersion) {
$cleanVer = $item.DisplayVersion -replace '[^\d\.]', ''
try {
$parsedVer = [Version]$cleanVer
if ($parsedVer -ge $minVerObj) {
$isInstalled = $true
$installedVerStr = $item.DisplayVersion
break
}
} catch {}
}
}
if ($isInstalled) { break }
}
}
if ($isInstalled) {
Write-Host "[OK] VC++ Redistributable (x86) v$installedVerStr is already installed." -ForegroundColor Green
return $true
}
# 2. Install if missing or outdated
Write-Host "[!] VC++ Redistributable (x86) v$MinVersion+ is missing." -ForegroundColor Yellow
if (-not (Test-Path $InstallerPath)) {
Write-Error "Installer not found at '$InstallerPath'."
return $false
}
Write-Host "[+] Installing VC++ Redistributable (x86)..." -ForegroundColor Cyan
$process = Start-Process -FilePath $InstallerPath -ArgumentList "/install", "/quiet", "/norestart" -Wait -PassThru
if ($process.ExitCode -eq 0 -or $process.ExitCode -eq 3010) {
Write-Host "[OK] VC++ Redistributable installed successfully." -ForegroundColor Green
return $true
} else {
Write-Warning "VC++ Redistributable installation failed (Exit Code: $($process.ExitCode))."
return $false
}
}
echo Stop edossync
$psync="C:\Program Files\eDos\synceDosLocal"
@ -8,6 +99,17 @@ $taskname="eDosSync"
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
Stop-ScheduledTask -TaskName $taskname
# ==============================================================================
# Upgrade Script Main Section
# ==============================================================================
Write-Host "Starting Kiosk Station Upgrade..." -ForegroundColor Cyan
# Check / Install VC++ Runtime
Test-AndInstallVcRedistX86
# Proceed with your app upgrade steps...
Write-Host "Updating application files..."
echo Copy soft
Expand-Archive -Force c:\software\eDosStation.zip "c:\program files\edos\edosStation"
Expand-Archive -Force c:\software\eDosSync.zip "c:\program files\edos\synceDosLocal"
@ -36,11 +138,12 @@ Start-ScheduledTask -TaskName $taskname
exit
# SIG # Begin signature block
# MIIlPAYJKoZIhvcNAQcCoIIlLTCCJSkCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUQ69lbjQoUZQw9k230yqRHkDl
# ZVOggh9wMIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0B
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUDBgeM7BnKkbgc+mw3TXOFK/+
# m9uggh9wMIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0B
# AQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVk
# IElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5WjBiMQsw
@ -212,28 +315,28 @@ exit
# A01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVND
# S0NFTiBJQ1QgQ0ECAR8wCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKA
# AKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFOocoqSgBisB+uNnAiSpmNBt
# aWgGMA0GCSqGSIb3DQEBAQUABIIBAHXjeZ+Hjw2yFnp7MIZwGMx99yG7bMaNGS+8
# mScbkg8lVlEypybQsnk/5kO7fcoK6OvEdguxsQY/ZeoQLWuVjNojjMB4p1ldusoS
# NLDEDq16kQNn3OElytte9mvS0Wx5o6f5f1YZ7SQUWZKNmMG+9htKAG6UjH/uShPt
# Pbwz7fEpjalNl/Cqn8ZKwmhTijD56sHw0h5S4MPPEnnRRK91iLItkuvMFlDbr2IQ
# VlksyHbv+6vjoOvh2srr9M4H1SnEOZTalCXLc1OgsJINDGlY0tjK1mDzsMkke8Ip
# jX/KdUC56iA3dlP/2WNRFcFMu3gma2NxZXFf0CqDTpFbeXlvLByhggMmMIIDIgYJ
# MAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFGrx/Csz4H74HcTwNd0x1Wpx
# sC1UMA0GCSqGSIb3DQEBAQUABIIBABF7JZyjWH52hwp/Vs8wC7Vpmw1TaemnVQ8H
# nzOT0TuZY9NCt4Cf0FR/hJ6Smn1vUllmc1SHbP9rbgY9cUJ+Aq89uJ+0/4Ppd1xM
# xOwxxTXsfLbMmLIlah+OcTy8iSRl+6UtD0oH44wtZK6OoTfvB02/DGHu1FuY6IGM
# iuFNTgo5rN6xZAUS2P2v7UPEzWULHfIK+mJVcwUiPXFPokwDbcEn0aDcP4ndYgJd
# 4zOmw+r69q4A7xTJDaOVHE40zJIL5F22hzjdBZJK839CnB4JcBfOj/DOdFpdeMWT
# uq84IW20v8LVw1egZnqRLHe1izrC/+CoUlLIPU14FM6FCqPkRGShggMmMIIDIgYJ
# KoZIhvcNAQkGMYIDEzCCAw8CAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
# BgkqhkiG9w0BCQUxDxcNMjYwODI3MTAwMzA4WjAvBgkqhkiG9w0BCQQxIgQgsMdV
# 9Sh4Cj+vBhVpptTDi+Hjs5+mW9qo0JXX+/oGAjwwDQYJKoZIhvcNAQEBBQAEggIA
# ehkBFEbtRczKku9Ye6rmFbWVaj5vPhnN5CB4so2q5LTuhr50AxiWKp3YOIIiG/5t
# E48CqrMr6eF5ZZZo4xX5JHpu0POtvJWbrrgKL4y6Gq7tnpcD15yLPA80jU7gc4MD
# Bg0BsmK4jRBTIeFb5jHZ18b4ECWPKrFVd0hJF63R7RocVOdVMRg9L2F7w+solbTs
# ZSQhWXZr3tZXmgDRPAyjjnaSX6lDLIwGqNsGwKM3kftoIvNUM0+V2GKisNpFT1Yg
# +9nERlksL2LDPpFNxiUaMsb1Qf/MjhfHdQoOIj8n/0Vm2gdaORNMFtxaOouMHsub
# dTYZXHVnXtcD1GL9yj2Jwqof323eOZbl2L3yqmyPlyOEDFrzhjWvsyb0mWsMf8pV
# mdGCgS/E4oG3dygeq2LwJj2X/nZfxv4lU7CtYT+5AjSsfX+rcpe8dNwuwNYK8HOC
# 1YG18LOhDAbdomxFo9TwLNDppA48heEACsgT/Wg1kXuNW+7nTXIqZtlRj5t4llLO
# wxBj3Un+bIUa3n071kVP/sNKHgGTXwatJlNsgSmZyHpKuzQc0mqW5YE6aG6pc0Rg
# zCVCtxqw8+repCJWJD1OHH3p8Y+LHsyyvFL4DEaEFYMkhmmqXT9KwZvB1nMTeaBz
# sYRN6W9NhQSy7L2dpld6mNFZDvKBmkguvszOd6M+KW0=
# BgkqhkiG9w0BCQUxDxcNMjYwODI4MTM1MDM0WjAvBgkqhkiG9w0BCQQxIgQgr7bq
# /P/++y0PzoN4WUm73KYvebuWilY9mEikKWxVzd0wDQYJKoZIhvcNAQEBBQAEggIA
# aobNCRUcCaix3vLRYUSDodLU8CU3fTDGDKJwJH6nRIjL9OpAarJh3JRNpFe5lhqN
# 42MtARZakLLponvKVeHD3cozC0pXFYEgv/4y1QZ+wYz/IMPJDKhyCz2eTyoEf9g0
# 0FxXOkLqg/eYPDSkygI/rBWn+aTM5AveA46eEaO8z45yWRzzSOhz/f0lbN7SpTCu
# zkR0meK/QCS6O5Glr3e+Nx+GIhnumgf/0VDNpMrYYKRpnCNb4ut79gnyHUUYh3B7
# OE+KuNRT2836VmxAoY7Dok+o4CsCc/fF+1//6tqS56ibC83HzvyoeD2DwaWMeSkq
# W0WqpYQis3dUeAd/RGH72O2YWIoyvUQK6dylHQJCVgAfZQOBxA9zX4AnA//YoSdK
# poBkSceAbx1uovpewdfchJ67gQpkXvFORnwxehd8kJr9uQgyV7FQcUcUsX8fg2Lj
# /ReNWk/B9MEu6CRVopfIaNtUzrnOnCWvVa1WcJbyXvNFWpW7Jd+tQCoOabt6jWgD
# iF7Auv/ZxWQDiWgO/TGLjnMshEeMIs/T/hlc2sTz4aB3kJN7iE/G3H6GMd9ppbL/
# PshLPVD3A6o3RDwnW3ZT3G0oefBNoHXH5o9VfhbOTorYs6XQD06C9zIWlPRHWEmd
# mvimyCVabZ6MT0PpDJLBYI544lOksaIDlHoY7ffv5h0=
# SIG # End signature block

View file

@ -329,17 +329,17 @@ exit
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
# BgkqhkiG9w0BCQUxDxcNMjYwODI3MTAwMzA4WjAvBgkqhkiG9w0BCQQxIgQgGtui
# BgkqhkiG9w0BCQUxDxcNMjYwODI4MTM1MDM0WjAvBgkqhkiG9w0BCQQxIgQgGtui
# 82paX11KDIN86kiIL1XH+uGmvG+Fu6AqHv/faOkwDQYJKoZIhvcNAQEBBQAEggIA
# lyj7Pd/mhrxl0eYo6WOF/dAi+Fva6oLNeXVo9qWNfkPz2YuuqdQd/gvI0kiWji3P
# Z+YUa96/NSTqMkEVSF+XvFjPVB1OEud1WGyJM/mWbmB7PGyerB2zouZ7zlgO4oj1
# LY/79COSGrphnVhHF6cI8FezBc4PvUs+A1SA+egmbZxRYGWLTZGF57kd9jBOJsQL
# PzP54tThr6eVSkxH0R8Vo+qQXso73SMQ7Qz9drUTKi6s8rLCC8loKlioNjsfh/z0
# jtNuh3uRxzXrLSmUhPVqeObZNtZerB+C4RGLWC+re1pSr+LZKMSPW85929UItGtu
# Toq61xQLP7qyUVeph4nRmrx4BfcC629jR3aDc+BqvhZ2AQ7moDgdE/X8CRX+8vdl
# WWm6gHmBzfUzZ8fCrg2pBxFoT0Xm1BH9HFTMrcK27P9yym1lxU3mwEq+9Ur0vJAf
# 0K2VKFjayM673sl292euKQC2i99wWj3+xG+RiiS6ducdQUc3v6UE+FTTBfBEiUhn
# qLO7l3H5Uf+PUpLEjBfnllqViKO0qZ21vTPZc6u+HirI0m3Skx5I+2Sbh6GbG7tP
# IwknCiKLmSeRLyzBccn/vGYrxqmJwmYi6gKXrPMywhhPPuNpkjR2fEXAxHnFpBB1
# CgGeRJO4xdvUUbCQLMG8UCpwbGa4IouxqI+YW88q5UA=
# WEy1zMVigObWO/ONXmEImnn0kFcwsA1gYPA70rHptdcZawXa//20HuO6eZWBe7d8
# g/3uAQG6nwea4wsu5vbzOMFBimZ9mo3FtdXhzOI4O5L/k2m9nkIyHBU7qj4do5ii
# cIVEaV1YkPV883W/CHoonltyLx1DJU5s7LKXa5LLMU6dn7+6TH/gJbKKO0Rf+ec1
# o/Ka+sQPrUcdvykMHkEFZaACBZNnzD0DmZaWgAhKtDLVVSHAe3UmVPcA2v+UeIcT
# hur2htdynxlJ+eqQ0DVNtPa3ZVvExAetaZvsjlPCOhaAyI5cwvYw4QlT9j/ux0Jx
# xvQWLJepRpKHpcQW5ddE8q3SX2CNyeOTVkWrBHgX/0nIZTV6kqlmUbUpIVHQOzVV
# 81JMEbpgoil79RMhlRH0tOlOjsauNlRMSELuYV7QEiL78XlLfPSelpIPnewKsjmm
# HF7UYCcUccQyYGiUSGfAskSj3Zv2/FwR9+9uiTZGSLwjAlT9G8pODmxeYaFINK+C
# D+BZfmBXcMaMV0uTMyO5/Dp3VeLnQBdXOhC0UYCj5j+kPD3riQYzned5+K/oovBE
# wJJJfNm3DOXU5uKL0tD/uodZLSd3axLGC6UFDMYEshrlOIfF1uPYy9xJklKsJLgp
# EAqJYfL6iSCYsv/ULwqH39RNXZi/g7hcbUcx99xrdZ0=
# SIG # End signature block

View file

@ -193,17 +193,17 @@ exit
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
# BgkqhkiG9w0BCQUxDxcNMjYwODI3MTAwMzA4WjAvBgkqhkiG9w0BCQQxIgQg6Tgk
# BgkqhkiG9w0BCQUxDxcNMjYwODI4MTM1MDM1WjAvBgkqhkiG9w0BCQQxIgQg6Tgk
# d9vgRJTrKaa/aNqr0ugqtMxl17/Df7q35ywcJSEwDQYJKoZIhvcNAQEBBQAEggIA
# roHEl+sxHtNEt7R4ya9BSDSLcXN8ImybetR42y1XolYlXdvG4/zLyL7gzlowxCoR
# h1d354aw+7PS56YCPSKMGwIzjELIybN4Wc6a23l7jZp2LVRTMZzZ13VlrPoJXtd+
# v/fh0QJirLRwlB42disWNwEvyARIONOK11YrbPeQbxcdSL4oNIAvoyATBvRa/TmG
# zFgTB479XxuCjenrphwdtMFdnqpUFyq4jMZXjcDl9Obi3dGRBHZAzd8azyVeFOb+
# uq21Leu/f7z0WDtVXjm2INXRmVVHH+J/ZvGsQGvtkZibFKtpYwTy+TSDgW5JhQ/k
# PQH4je3+tzcFG0Tqx2lGo3EtdAItv8eJcnyOCQELQQYx6ddRt5vL5bfsQKJuYgdy
# prOX3tIkyl9xSVAvO0CWEk7zM/VsXl4VzHH/g9oB42x1lcLClXVQ9QBquoPJ7kKS
# MuytoKgpoI6Ed3qzUrXZabFzgo0r7zZWrw99NEeHPsIAshuSryPuYNicT8vCpxWh
# WZZNmh0sG2qQ10kAnCFKp98E80jtpRgIkg8ytROuh2E7NSAkYol8diR8GFS+A8lI
# pggc+51YEvjfZniO8sXEUQv3/+hQjkx941kNDbVkQI9O3mphUURArTuRLaQpDzQU
# JGeQtnEm62I3yXUWKfBD6wvV4LCmWtkA4elF4Gyd/+E=
# V8Xidv7kfa+J4yFR/CpoDRtrnSeGdplYxAgMJEX/+jz4vDERAwPcAxJbyYjp3QPZ
# gNvGU7iFLHNfxVEpGv/xNhuEuvotRnqsEc7u5V4VJuSDho8dvWW/X7cEabJgTbD+
# 4ayUnQochv5ZtlCZ9SOAsvOaV0Be1AQcqbN+kjsEG95cbTSyxxs6FRbmhgT9vmkp
# 5vFRnb1OTtztmmR+3ggEUmzFVVxhQuWEIinghUSvoZBloj6PhJU5P73TWaxrC+A4
# kGs/sH1nvNpts5hBl0U66gUYwR12vvECZknbSyGm6kyo02ZlMBoEKydO9R44nygZ
# syzIakMo5s1AiDgBsoZRogFjzmZji9KBVGYpeuAY/RrBXdxtZADsHO1NJZ+isyQ6
# 5QmqL6D+oHyG/UkCW3BUED48LvVQVU2PKXLmiF2D8MrR/Kra8ZYVFu+wDYOKX933
# bunKlsrQ/oisKeUsNp0jQIA8YAGnTZNld3owwUBP+nrolRms1BpXCK1hHnmI9xxN
# yCurwa8meLHU630stovHTGakwjTTJitA23nhFaLV9tGM4FWPD/ZobsCis+N9hIQu
# zrEKu0ijY4gbDgCNEUNbfrN4libveQzdx81a4Eh4Q3ncXuNjvauNmSbvL0k0fp6q
# u1IvQ1N4wTDXyY8RjECbvGw6GAkSqXDSrW35UKNBYbY=
# SIG # End signature block