posh-git-theme-bluelotus.psm1

# Windows PowerShell does not support the `e special character
# sequence for Escape, so we use a variable $e for this.
$e = [char]27

$reset          = "$e[0m"
$bold           = "$e[1m"

# Tango colors.
$bright_white   = "$e[38;2;238;238;236m"
$green          = "$e[38;2;078;154;006m"
$bright_magenta = "$e[38;2;173;127;168m"
$bright_black   = "$e[38;2;085;087;083m"

# Other colors.
$red            = "$e[38;2;220;020;060m"
$light_blue     = "$e[38;2;140;206;250m"
$linux_color    = "$e[38;2;175;095;000m"
$windows_color  = "$e[38;2;032;178;170m"
$mac_blue       = "$e[38;2;098;137;213m"
$mac_grey       = "$e[38;2;196;205;239m"

$path_color         = 0xC4A000
$suffix_color       = 0xDC143C
$branch_color       = 0x75507B
$bracket_color      = 0x06989A

$branch_sep_color   = "$e[0;97m"

function global:prompt_error_indicator() {
    if ($gitpromptvalues.dollarquestion) {
        "${green}{0}${reset}" -f 'v'
    }
    else {
        "${red}{0}${reset}"   -f 'x'
    }
}

$env_indicator = if ($islinux -or $iswindows) {
    "${bright_magenta}{0}{1}{2}{3}${reset}" `
    -f @('pwsh';
        ("${bright_black}{0}${reset}"            -f '{'),
        $(if ($islinux) {
            "${bold}${linux_color}{0}${reset}"   -f 'lnx'
        }
        else { # windows
            "${bold}${windows_color}{0}${reset}" -f 'win'
        }),
        ("${bright_black}{0}${reset}"            -f '}')
    )
}
elseif ($ismacos) {
    "${mac_grey}{0}{1}{2}{3}${reset}" `
        -f 'pwsh',
            ("${bright_black}{0}${reset}"    -f '{'),
            ("${bold}${mac_blue}{0}${reset}" -f 'mac'),
            ("${bright_black}{0}${reset}"    -f '}')
}

if ($iswindows) {
    $username = $env:USERNAME
    $hostname = $env:COMPUTERNAME.tolower()
}
else {
    $username = whoami
    $hostname = (hostname) -replace '\..*',''
}

# Save original values to exported var in case the user wants to restore any of
# them.

$gitprompt_theme_bluelotus = $gitpromptsettings | %{ [ordered]@{
    OriginalDefaultPromptPrefixText              = $_.defaultpromptprefix.text
    OriginalDefaultPromptBeforeSuffixText        = $_.defaultpromptbeforesuffix.text
    OriginalWindowTitle                          = $_.windowtitle
    OriginalDefaultPromptAbbreviateHomeDirectory = $_.defaultpromptabbreviatehomedirectory
    OriginalDefaultPromptWriteStatusFirst        = $_.defaultpromptwritestatusfirst
    OriginalDefaultPromptPathForegroundColor     = $_.defaultpromptpath.foregroundcolor
    OriginalDefaultPromptSuffixForegroundColor   = $_.defaultpromptsuffix.foregroundcolor
    OriginalBeforeStatusForegroundColor          = $_.beforestatus.foregroundcolor
    OriginalAfterStatusForegroundColor           = $_.afterstatus.foregroundcolor
    OriginalBranchColorForegroundColor           = $_.branchcolor.foregroundcolor
    OriginalBranchIdenticalStatusSymbol          = $_.branchidenticalstatussymbol
    OriginalBranchGoneStatusSymbol               = $_.branchgonestatussymbol
    OriginalBranchAheadStatusSymbol              = $_.branchaheadstatussymbol
    OriginalBranchBehindStatusSymbol             = $_.branchbehindstatussymbol
    OriginalBranchBehindAndAheadStatusSymbol     = $_.branchbehindandaheadstatussymbol
}}

# Set the theme.

$gitpromptsettings.defaultpromptprefix.text = '{0} {1} ' `
    -f '$(prompt_error_indicator)',$env_indicator

$gitpromptsettings.defaultpromptbeforesuffix.text =
    ("`n${reset}${light_blue}{0}${reset}" `
    + "${bright_white}{1}${reset}" `
    + "${light_blue}{2}${reset} ") `
        -f $username,'@',$hostname

$gitpromptsettings.defaultpromptabbreviatehomedirectory = $true
$gitpromptsettings.defaultpromptwritestatusfirst        = $false

$gitpromptsettings.defaultpromptpath.foregroundcolor    = $path_color
$gitpromptsettings.defaultpromptsuffix.foregroundcolor  = $suffix_color

$gitpromptsettings.beforestatus.foregroundcolor         = $bracket_color
$gitpromptsettings.afterstatus.foregroundcolor          = $bracket_color

$gitpromptsettings.branchcolor.foregroundcolor                      = $branch_color
$gitpromptsettings.branchidenticalstatussymbol.foregroundcolor      = $branch_color
$gitpromptsettings.branchgonestatussymbol.foregroundcolor           = $branch_color
$gitpromptsettings.branchaheadstatussymbol.foregroundcolor          = $branch_color
$gitpromptsettings.branchbehindstatussymbol.foregroundcolor         = $branch_color
$gitpromptsettings.branchbehindandaheadstatussymbol.foregroundcolor = $branch_color

$gitpromptsettings.branchidenticalstatussymbol.text                 = "${branch_sep_color}|${green}v"
$gitpromptsettings.branchgonestatussymbol.text                      = "${branch_sep_color}|${red}×"
$gitpromptsettings.branchaheadstatussymbol.text                     = "${branch_sep_color}|${red}↑"
$gitpromptsettings.branchbehindstatussymbol.text                    = "${branch_sep_color}|${red}↓"
$gitpromptsettings.branchbehindandaheadstatussymbol.text            = "${branch_sep_color}|${red}↕"

$gitpromptsettings.windowtitle = $null

$host.ui.rawui.windowtitle = $hostname

# Exports.

export-modulemember -var 'gitprompt_theme_bluelotus'

# vim:fileencoding=utf8 bomb sw=4 sts=4 et:

# SIG # Begin signature block
# MIIrIwYJKoZIhvcNAQcCoIIrFDCCKxACAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDuhDgLPYFATPPX
# VIExek1AYTYOSfGsu0HKqtSWpoqPF6CCJBAwggQyMIIDGqADAgECAgEBMA0GCSqG
# SIb3DQEBBQUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNo
# ZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1p
# dGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2VydmljZXMwHhcNMDQwMTAx
# MDAwMDAwWhcNMjgxMjMxMjM1OTU5WjB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
# R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFD
# b21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZp
# Y2VzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvkCd9G7h6naHHE1F
# RI6+RsiDBp3BKv4YH47kAvrzq11QihYxC5oG0MVwIs1JLVRjzLZuaEYLU+rLTCTA
# vHJO6vEVrvRUmhIKw3qyM2Di2olV8yJY897cz++DhqKMlE+faPKYkEaEJ8d2v+PM
# NSyLXgdkZYLASLCokflhn3YgUKiRx2a163hiA1bwihoT6jGjHqCZ/Tj29icyWG8H
# 9Wu4+xQrr7eqzNZjX3OM2gWZqDioyxd4NlGs6Z70eDqNzw/ZQuKYDKsvnw4B3u+f
# mUnxLd+sdE0bmLVHxeUp0fmQGMdinL6DxyZ7Poolx8DdneY1aBAgnY/Y3tLDhJwN
# XugvyQIDAQABo4HAMIG9MB0GA1UdDgQWBBSgEQojPpbxB+zirynvgqV/0DCktDAO
# BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0
# hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
# LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0FBQUNlcnRpZmljYXRl
# U2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAIVvwC8Jvo/6T61nvGRIDO
# T8TF9gBYzKa2vBRJaAR26ObuXewCD2DWjVAYTyZOAePmsKXuv7x0VEG//fwSuMdP
# WvSJYAV/YLcFSvP28cK/xLl0hrYtfWvM0vNG3S/G4GrDwzQDLH2W3VrCDqcKmcEF
# i6sML/NcOs9sN1UJh95TQGxY7/y2q2VuBPYb3DzgWhXGntnxWUgwIWUDbOzpIXPs
# mwOh4DetoBUYj/q6As6nLKkQEyzU5QgmqyKXYPiQXnTUoppTvfKpaOCibsLXbLGj
# D56/62jnVvKu8uMrODoJgbVrhde+Le0/GreyY+L1YiyC1GoAQVDxOYOflek2lphu
# MIIFbzCCBFegAwIBAgIQSPyTtGBVlI02p8mKidaUFjANBgkqhkiG9w0BAQwFADB7
# MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
# VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
# AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTIxMDUyNTAwMDAwMFoXDTI4
# MTIzMTIzNTk1OVowVjELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGlt
# aXRlZDEtMCsGA1UEAxMkU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5nIFJvb3Qg
# UjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjeeUEiIEJHQu/xYj
# ApKKtq42haxH1CORKz7cfeIxoFFvrISR41KKteKW3tCHYySJiv/vEpM7fbu2ir29
# BX8nm2tl06UMabG8STma8W1uquSggyfamg0rUOlLW7O4ZDakfko9qXGrYbNzszwL
# DO/bM1flvjQ345cbXf0fEj2CA3bm+z9m0pQxafptszSswXp43JJQ8mTHqi0Eq8Nq
# 6uAvp6fcbtfo/9ohq0C/ue4NnsbZnpnvxt4fqQx2sycgoda6/YDnAdLv64IplXCN
# /7sVz/7RDzaiLk8ykHRGa0c1E3cFM09jLrgt4b9lpwRrGNhx+swI8m2JmRCxrds+
# LOSqGLDGBwF1Z95t6WNjHjZ/aYm+qkU+blpfj6Fby50whjDoA7NAxg0POM1nqFOI
# +rgwZfpvx+cdsYN0aT6sxGg7seZnM5q2COCABUhA7vaCZEao9XOwBpXybGWfv1Vb
# HJxXGsd4RnxwqpQbghesh+m2yQ6BHEDWFhcp/FycGCvqRfXvvdVnTyheBe6QTHrn
# xvTQ/PrNPjJGEyA2igTqt6oHRpwNkzoJZplYXCmjuQymMDg80EY2NXycuu7D1fkK
# dvp+BRtAypI16dV60bV/AK6pkKrFfwGcELEW/MxuGNxvYv6mUKe4e7idFT/+IAx1
# yCJaE5UZkADpGtXChvHjjuxf9OUCAwEAAaOCARIwggEOMB8GA1UdIwQYMBaAFKAR
# CiM+lvEH7OKvKe+CpX/QMKS0MB0GA1UdDgQWBBQy65Ka/zWWSC8oQEJwIDaRXBeF
# 5jAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUEDDAKBggr
# BgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEMGA1UdHwQ8MDow
# OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FBQUNlcnRpZmljYXRlU2Vy
# dmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j
# c3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IBAQASv6Hvi3SamES4aUa1
# qyQKDKSKZ7g6gb9Fin1SB6iNH04hhTmja14tIIa/ELiueTtTzbT72ES+BtlcY2fU
# QBaHRIZyKtYyFfUSg8L54V0RQGf2QidyxSPiAjgaTCDi2wH3zUZPJqJ8ZsBRNraJ
# AlTH/Fj7bADu/pimLpWhDFMpH2/YGaZPnvesCepdgsaLr4CnvYFIUoQx2jLsFeSm
# TD1sOXPUC4U5IOCFGmjhp0g4qdE2JXfBjRkWxYhMZn0vY86Y6GnfrDyoXZ3JHFuu
# 2PMvdM+4fvbXg50RlmKarkUT2n/cR/vfw1Kf5gZV6Z2M8jpiUbzsJA8p1FiAhORF
# e1rYMIIGGjCCBAKgAwIBAgIQYh1tDFIBnjuQeRUgiSEcCjANBgkqhkiG9w0BAQwF
# ADBWMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS0wKwYD
# VQQDEyRTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYwHhcNMjEw
# MzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBUMQswCQYDVQQGEwJHQjEYMBYGA1UE
# ChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2Rl
# IFNpZ25pbmcgQ0EgUjM2MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA
# myudU/o1P45gBkNqwM/1f/bIU1MYyM7TbH78WAeVF3llMwsRHgBGRmxDeEDIArCS
# 2VCoVk4Y/8j6stIkmYV5Gej4NgNjVQ4BYoDjGMwdjioXan1hlaGFt4Wk9vT0k2oW
# JMJjL9G//N523hAm4jF4UjrW2pvv9+hdPX8tbbAfI3v0VdJiJPFy/7XwiunD7mBx
# NtecM6ytIdUlh08T2z7mJEXZD9OWcJkZk5wDuf2q52PN43jc4T9OkoXZ0arWZVef
# fvMr/iiIROSCzKoDmWABDRzV/UiQ5vqsaeFaqQdzFf4ed8peNWh1OaZXnYvZQgWx
# /SXiJDRSAolRzZEZquE6cbcH747FHncs/Kzcn0Ccv2jrOW+LPmnOyB+tAfiWu01T
# PhCr9VrkxsHC5qFNxaThTG5j4/Kc+ODD2dX/fmBECELcvzUHf9shoFvrn35XGf2R
# PaNTO2uSZ6n9otv7jElspkfK9qEATHZcodp+R4q2OIypxR//YEb3fkDn3UayWW9b
# AgMBAAGjggFkMIIBYDAfBgNVHSMEGDAWgBQy65Ka/zWWSC8oQEJwIDaRXBeF5jAd
# BgNVHQ4EFgQUDyrLIIcouOxvSK4rVKYpqhekzQwwDgYDVR0PAQH/BAQDAgGGMBIG
# A1UdEwEB/wQIMAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwGwYDVR0gBBQw
# EjAGBgRVHSAAMAgGBmeBDAEEATBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3Js
# LnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2RlU2lnbmluZ1Jvb3RSNDYuY3Js
# MHsGCCsGAQUFBwEBBG8wbTBGBggrBgEFBQcwAoY6aHR0cDovL2NydC5zZWN0aWdv
# LmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdSb290UjQ2LnA3YzAjBggrBgEF
# BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQADggIB
# AAb/guF3YzZue6EVIJsT/wT+mHVEYcNWlXHRkT+FoetAQLHI1uBy/YXKZDk8+Y1L
# oNqHrp22AKMGxQtgCivnDHFyAQ9GXTmlk7MjcgQbDCx6mn7yIawsppWkvfPkKaAQ
# siqaT9DnMWBHVNIabGqgQSGTrQWo43MOfsPynhbz2Hyxf5XWKZpRvr3dMapandPf
# YgoZ8iDL2OR3sYztgJrbG6VZ9DoTXFm1g0Rf97Aaen1l4c+w3DC+IkwFkvjFV3jS
# 49ZSc4lShKK6BrPTJYs4NG1DGzmpToTnwoqZ8fAmi2XlZnuchC4NPSZaPATHvNIz
# t+z1PHo35D/f7j2pO1S8BCysQDHCbM5Mnomnq5aYcKCsdbh0czchOm8bkinLrYrK
# pii+Tk7pwL7TjRKLXkomm5D1Umds++pip8wH2cQpf93at3VDcOK4N7EwoIJB0kak
# 6pSzEu4I64U6gZs7tS/dGNSljf2OSSnRr7KWzq03zl8l75jy+hOds9TWSenLbjBQ
# UGR96cFr6lEUfAIEHVC1L68Y1GGxx4/eRI82ut83axHMViw1+sVpbPxg51Tbnio1
# lB93079WPFnYaOvfGAA0e0zcfF/M9gXr+korwQTh2Prqooq2bYNMvUoUKD85gnJ+
# t0smrWrb8dee2CvYZXD5laGtaAxOfy/VKNmwuWuAh9kcMIIGXDCCBMSgAwIBAgIQ
# UjMKpoH5gUS5XR6RwEoiJTANBgkqhkiG9w0BAQwFADBUMQswCQYDVQQGEwJHQjEY
# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1Ymxp
# YyBDb2RlIFNpZ25pbmcgQ0EgUjM2MB4XDTIzMDEwNjAwMDAwMFoXDTI2MDEwNTIz
# NTk1OVowVDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFzAVBgNV
# BAoMDlJhZmFlbCBLaXRvdmVyMRcwFQYDVQQDDA5SYWZhZWwgS2l0b3ZlcjCCAiIw
# DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKasUC9MPN8qipE/7mjq+xlpns67
# zL91MJkmQeG5H0xPQmUqJfw1VmKsVgqCsH6RwnLvkixsYTvcFQo4kTSu+pkGd2WJ
# OSbBZGx+G6/NBKnZLVuh+Y5/nS8eW26NO7j6KxiNwXGSbI8jnDNZvqIiL9PhENK8
# npk2WtoLAXbOI+5owd6ZD4nfhbpRuM74UcvmYpN0mUOV6/j7tZSbP/GV8YyNr4gM
# GPybDcRgz3ux5YrBZQvQTLrZrlmnpGVubS7ChaJjJsYkliJAZy+yUAE7b/OjeZvk
# uZ/IxdZ4m3ZXS4NXjepBkaso0t6kcBOHQome+kVNbwVHSejUMpM5KgJxqBcm9b3q
# dOILH7IDz4aM6bwMCIT1k45p47/tAXAeFkeaGasQwN0ksh9WS/XGrpM9mMG3vp0p
# KCIvuA59fpDN3qlBVfaikqQYCqBKePE/zviLuk7gaXc3yj660XWEr+62xKgrp3+z
# Ll5oTiktS5mO+K6uFGnnJHhtZyHVf3RezhN13FUZuFGhfUher2s87lr0HNMy+v9L
# jvV8KgWt1g2sNhsaSrmvzYaxr8f5xdEaqLzbUBlD66qOl7aqNo9EwYblve4LGjQT
# INUs/e5LnnP6uihtfDnOR+MQagPr1UWPeN4VPXPmvXwlq63dQz8gpvKGR0rOvnUJ
# 4jHlnGquimwfQuwDAgMBAAGjggGoMIIBpDAfBgNVHSMEGDAWgBQPKssghyi47G9I
# ritUpimqF6TNDDAdBgNVHQ4EFgQUOemSebmEYFEIBJezCGG0rrskoIYwDgYDVR0P
# AQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwSgYD
# VR0gBEMwQTA1BgwrBgEEAbIxAQIBAwIwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9z
# ZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQBMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6
# Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY0NvZGVTaWduaW5nQ0FSMzYu
# Y3JsMHkGCCsGAQUFBwEBBG0wazBEBggrBgEFBQcwAoY4aHR0cDovL2NydC5zZWN0
# aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdDQVIzNi5jcnQwIwYIKwYB
# BQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMB0GA1UdEQQWMBSBEnJraXRv
# dmVyQGdtYWlsLmNvbTANBgkqhkiG9w0BAQwFAAOCAYEAFi719Iv+cGXEHR+o4iFu
# cp9YnLLzH+g+SkWGp+x7j0v9Z8GbsbZvOCD+t6Oo5NcL2t9ojruTRjV4ElF4i23u
# gp9uyDfwFommU4RYoOO75XH8aT+LZZaetu9hi9qMktXoONDeG4mPA5RvLZRzzM8h
# meqLA7w6OvSkykj05Oc/NNyKv9zMpGm3YiilBG5RRp/7WzuXkUig18KfzOwRFfI5
# iX2Hg7/bjMEGdcGoqeX9CeAPb5xLr6ToxuscDeAPazthIkpQioAR3fWiuhAc2JPE
# F9e8a89lO8z3kEtqAxItw3FcWi9fjgjqzDvFlvuO6pW8volKRnQ+PU92rq3BG6/5
# 4yGMGAPpdx6xufZhrbdr0hp4gcWUbHo3pQqD9FEr3J6ISOkqxk7Ir1sG/VwxMv7M
# SpYQUG+Iub7qkD0/I/IfcymNl4x9RLtM055UbnawJqXe0dNZJcNJMuM6Iu6XjgIq
# e01XkLql67FK2w5lfRmxDu5SQw8fLOf3hVGQWUCVLSTeMIIG7DCCBNSgAwIBAgIQ
# MA9vrN1mmHR8qUY2p3gtuTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMx
# EzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYD
# VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBS
# U0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTkwNTAyMDAwMDAwWhcNMzgw
# MTE4MjM1OTU5WjB9MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5j
# aGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
# ZWQxJTAjBgNVBAMTHFNlY3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcgQ0EwggIiMA0G
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDIGwGv2Sx+iJl9AZg/IJC9nIAhVJO5
# z6A+U++zWsB21hoEpc5Hg7XrxMxJNMvzRWW5+adkFiYJ+9UyUnkuyWPCE5u2hj8B
# BZJmbyGr1XEQeYf0RirNxFrJ29ddSU1yVg/cyeNTmDoqHvzOWEnTv/M5u7mkI0Ks
# 0BXDf56iXNc48RaycNOjxN+zxXKsLgp3/A2UUrf8H5VzJD0BKLwPDU+zkQGObp0n
# dVXRFzs0IXuXAZSvf4DP0REKV4TJf1bgvUacgr6Unb+0ILBgfrhN9Q0/29DqhYyK
# VnHRLZRMyIw80xSinL0m/9NTIMdgaZtYClT0Bef9Maz5yIUXx7gpGaQpL0bj3duR
# X58/Nj4OMGcrRrc1r5a+2kxgzKi7nw0U1BjEMJh0giHPYla1IXMSHv2qyghYh3ek
# FesZVf/QOVQtJu5FGjpvzdeE8NfwKMVPZIMC1Pvi3vG8Aij0bdonigbSlofe6GsO
# 8Ft96XZpkyAcSpcsdxkrk5WYnJee647BeFbGRCXfBhKaBi2fA179g6JTZ8qx+o2h
# ZMmIklnLqEbAyfKm/31X2xJ2+opBJNQb/HKlFKLUrUMcpEmLQTkUAx4p+hulIq6l
# w02C0I3aa7fb9xhAV3PwcaP7Sn1FNsH3jYL6uckNU4B9+rY5WDLvbxhQiddPnTO9
# GrWdod6VQXqngwIDAQABo4IBWjCCAVYwHwYDVR0jBBgwFoAUU3m/WqorSs9UgOHY
# m8Cd8rIDZsswHQYDVR0OBBYEFBqh+GEZIA/DQXdFKI7RNV8GEgRVMA4GA1UdDwEB
# /wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1UdJQQMMAoGCCsGAQUFBwMI
# MBEGA1UdIAQKMAgwBgYEVR0gADBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3Js
# LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0
# eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNodHRwOi8vY3J0LnVz
# ZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQwJQYIKwYBBQUH
# MAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIB
# AG1UgaUzXRbhtVOBkXXfA3oyCy0lhBGysNsqfSoF9bw7J/RaoLlJWZApbGHLtVDb
# 4n35nwDvQMOt0+LkVvlYQc/xQuUQff+wdB+PxlwJ+TNe6qAcJlhc87QRD9XVw+K8
# 1Vh4v0h24URnbY+wQxAPjeT5OGK/EwHFhaNMxcyyUzCVpNb0llYIuM1cfwGWvnJS
# ajtCN3wWeDmTk5SbsdyybUFtZ83Jb5A9f0VywRsj1sJVhGbks8VmBvbz1kteraMr
# Qoohkv6ob1olcGKBc2NeoLvY3NdK0z2vgwY4Eh0khy3k/ALWPncEvAQ2ted3y5wu
# jSMYuaPCRx3wXdahc1cFaJqnyTdlHb7qvNhCg0MFpYumCf/RoZSmTqo9CfUFbLfS
# ZFrYKiLCS53xOV5M3kg9mzSWmglfjv33sVKRzj+J9hyhtal1H3G/W0NdZT1QgW6r
# 8NDT/LKzH7aZlib0PHmLXGTMze4nmuWgwAxyh8FuTVrTHurwROYybxzrF06Uw3hl
# IDsPQaof6aFBnf6xuKBlKjTg3qj5PObBMLvAoGMs/FwWAKjQxH/qEZ0eBsambTJd
# tDgJK0kHqv3sMNrxpy/Pt/360KOE2See+wFmd7lWEOEgbsausfm2usg1XTN2jvF8
# IAwqd661ogKGuinutFoAsYyr4/kKyVRd1LlqdJ69SK6YMIIG9TCCBN2gAwIBAgIQ
# OUwl4XygbSeoZeI72R0i1DANBgkqhkiG9w0BAQwFADB9MQswCQYDVQQGEwJHQjEb
# MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgw
# FgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJTAjBgNVBAMTHFNlY3RpZ28gUlNBIFRp
# bWUgU3RhbXBpbmcgQ0EwHhcNMjMwNTAzMDAwMDAwWhcNMzQwODAyMjM1OTU5WjBq
# MQswCQYDVQQGEwJHQjETMBEGA1UECBMKTWFuY2hlc3RlcjEYMBYGA1UEChMPU2Vj
# dGlnbyBMaW1pdGVkMSwwKgYDVQQDDCNTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5n
# IFNpZ25lciAjNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKSTKFJL
# zyeHdqQpHJk4wOcO1NEc7GjLAWTkis13sHFlgryf/Iu7u5WY+yURjlqICWYRFFiy
# uiJb5vYy8V0twHqiDuDgVmTtoeWBIHIgZEFsx8MI+vN9Xe8hmsJ+1yzDuhGYHvzT
# IAhCs1+/f4hYMqsws9iMepZKGRNcrPznq+kcFi6wsDiVSs+FUKtnAyWhuzjpD2+p
# WpqRKBM1uR/zPeEkyGuxmegN77tN5T2MVAOR0Pwtz1UzOHoJHAfRIuBjhqe+/dKD
# cxIUm5pMCUa9NLzhS1B7cuBb/Rm7HzxqGXtuuy1EKr48TMysigSTxleGoHM2K4GX
# +hubfoiH2FJ5if5udzfXu1Cf+hglTxPyXnypsSBaKaujQod34PRMAkjdWKVTpqOg
# 7RmWZRUpxe0zMCXmloOBmvZgZpBYB4DNQnWs+7SR0MXdAUBqtqgQ7vaNereeda/T
# pUsYoQyfV7BeJUeRdM11EtGcb+ReDZvsdSbu/tP1ki9ShejaRFEqoswAyodmQ6Mb
# AO+itZadYq0nC/IbSsnDlEI3iCCEqIeuw7ojcnv4VO/4ayewhfWnQ4XYKzl021p3
# AtGk+vXNnD3MH65R0Hts2B0tEUJTcXTC5TWqLVIS2SXP8NPQkUMS1zJ9mGzjd0HI
# /x8kVO9urcY+VXvxXIc6ZPFgSwVP77kv7AkTAgMBAAGjggGCMIIBfjAfBgNVHSME
# GDAWgBQaofhhGSAPw0F3RSiO0TVfBhIEVTAdBgNVHQ4EFgQUAw8xyJEqk71j89Fd
# TaQ0D9KVARgwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/
# BAwwCgYIKwYBBQUHAwgwSgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwgwJTAjBggr
# BgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQCMEQGA1Ud
# HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQVRp
# bWVTdGFtcGluZ0NBLmNybDB0BggrBgEFBQcBAQRoMGYwPwYIKwYBBQUHMAKGM2h0
# dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQVRpbWVTdGFtcGluZ0NBLmNy
# dDAjBggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcN
# AQEMBQADggIBAEybZVj64HnP7xXDMm3eM5Hrd1ji673LSjx13n6UbcMixwSV32Vp
# YRMM9gye9YkgXsGHxwMkysel8Cbf+PgxZQ3g621RV6aMhFIIRhwqwt7y2opF8773
# 9i7Efu347Wi/elZI6WHlmjl3vL66kWSIdf9dhRY0J9Ipy//tLdr/vpMM7G2iDczD
# 8W69IZEaIwBSrZfUYngqhHmo1z2sIY9wwyR5OpfxDaOjW1PYqwC6WPs1gE9fKHFs
# GV7Cg3KQruDG2PKZ++q0kmV8B3w1RB2tWBhrYvvebMQKqWzTIUZw3C+NdUwjwkHQ
# epY7w0vdzZImdHZcN6CaJJ5OX07Tjw/lE09ZRGVLQ2TPSPhnZ7lNv8wNsTow0KE9
# SK16ZeTs3+AB8LMqSjmswaT5qX010DJAoLEZKhghssh9BXEaSyc2quCYHIN158d+
# S4RDzUP7kJd2KhKsQMFwW5kKQPqAbZRhe8huuchnZyRcUI0BIN4H9wHU+C4RzZ2D
# 5fjKJRxEPSflsIZHKgsbhHZ9e2hPjbf3E7TtoC3ucw/ZELqdmSx813UfjxDElOZ+
# JOWVSoiMJ9aFZh35rmR2kehI/shVCu0pwx/eOKbAFPsyPfipg2I2yMO+AIccq/pK
# QhyJA9z1XHxw2V14Tu6fXiDmCWp8KwijSPUV/ARP380hHHrl9Y4a1LlAMYIGaTCC
# BmUCAQEwaDBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVk
# MSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgUjM2AhBS
# MwqmgfmBRLldHpHASiIlMA0GCWCGSAFlAwQCAQUAoIGEMBgGCisGAQQBgjcCAQwx
# CjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGC
# NwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFX1K/Lzr5/Z8y2E
# y1dkfmA6Esy+Iq+lD7bfqlGfPrijMA0GCSqGSIb3DQEBAQUABIICAFwL+FUDn5mv
# QS/oTra85wGbCPsHgFjO60fbdPyoAC3pK9QGHLVqdEtEOIYh6a+aD65dNtrhXf2w
# OsDRUT2An0RA9Y2Lup9/hxhxf/6CR+RKWdRXdYK6m3WmsJCzQmacDDzuxrxXaAU+
# S+3w30lXMdxLOjN5BoIXMqHROuWMKZ7Ox6MDNARQwIB9TQYm7zvqMTsq3DGhCDgJ
# tvKAcobPYkJsCZaKBP+yB0XatvkBdstGEdkhVf853F89DMjeFqJI2xGSvcOX9Uqd
# iY9EESFnHGZ5LuXAFvt8MVtKnGrqpD+GLj1aZAmGMCxNoQn0icnr9X7j0hH+Uc/k
# pLgq3RHXxjnwTeMyultTrpZlmOzTZ1Oz6yrBJTPjf9xYxy5K7iTREAvG+mfCZ6vB
# gblrQWmyQdr8ihaq3A+G//KxQ3lW3dClUHRn28s1Vj1lN4dOgV3Q3L70a14WMdWI
# XR3v+prCllqOej9mlUnpzARStc3DisAaaNJJPEnX+LYAVYJxNAAaM/9OOtdfcmD2
# Bdigy/rxZW9o0kgSknyHHZ/huAhdGRudkG8p66tjTwf2VoolEvEtZpgmcfWf1wvP
# 0uHaXTRL53I+bv+Rc1euYxzp93LknZiJDme+Z1vDZwbAxKsRPVCnHbA3Jzf9+Bn6
# HIS7/Jo/nws0NAiEmeFKl+M7GT/xHy5uoYIDSzCCA0cGCSqGSIb3DQEJBjGCAzgw
# ggM0AgEBMIGRMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNo
# ZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRl
# ZDElMCMGA1UEAxMcU2VjdGlnbyBSU0EgVGltZSBTdGFtcGluZyBDQQIQOUwl4Xyg
# bSeoZeI72R0i1DANBglghkgBZQMEAgIFAKB5MBgGCSqGSIb3DQEJAzELBgkqhkiG
# 9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDQwNzE3MTcxNFowPwYJKoZIhvcNAQkE
# MTIEMC59X6RHH0IeXnXrL0cvPZyXWNkG+CVNPKUiSH20enf4dHSUL8yh16gD+3Wg
# AMvE/TANBgkqhkiG9w0BAQEFAASCAgAPCyZdAZqZqrr/pVVeK14z2MJkzIVVMW4K
# 0SdS0oVJq0mPkS5Llz7cXmu4DkmQISb7kwzNA5+Lh+6YEVJZkCg6lJ6O8zaUYfLZ
# +j3czV9iOYOK+KwOfqGSl8+ldIW1ag7SDBDCGdMku8Wps2U7SqlbR2f3/och8XPH
# Le356VBOB1wykw/g/vXLQaavPd0QYhbeRK3KG99jhm97vi/VxoWQalF3AprkD42u
# XBUHjGDPWY0fzM/KRsuTvFB2oB+4AC/bj2QSAZfZcFSHxBeoD+Zp7AZsHjqKXkO7
# nAprZHaFwdEqj/Vs7PWbkzg6YlbfYQGpVoLOKn79AeIDP3ALXKIRPE1rhKiAxxmt
# 4UCkksty33mvraWU+bDk/1YqzS38YL2A8orokXtOEsXenAd0oYww3b43dIo/x3fD
# 3tfsgcyZsl4afBYHmKXniy7w5/qpoA7oque3oRpPQHwxAYrMC93hqSJadZLLmyAQ
# ILXeWdjbawfVqfMIl0ReVqEDyhtxQpuzu2kBfVlonWJlAFsNM91XwqqNRGIjngX5
# ksBqpG1uzocRV2tu4eDDKBj4mVtjin66uzukQZooGrtz43KwE+OQvVw5dVgoLkGa
# wm+wQ3e9lmiUdax3ra1JU2U/nCU4qgrg25XugigjAxAdBEp66KXZd0dleqo0PGkv
# 87b8/R8MRg==
# SIG # End signature block