From 2728d612d462e49f7daabaafc5f1b20b8f8fd40d Mon Sep 17 00:00:00 2001 From: Drake Marino Date: Sun, 7 Apr 2024 19:51:58 -0500 Subject: [PATCH] lots of fixes --- fbla-api/certificates/cert.pem | 25 ----- fbla-api/certificates/chain.pem | 61 ------------- fbla-api/certificates/fullchain.pem | 86 ------------------ fbla-api/certificates/privkey.pem | 5 - fbla-api/lib/fbla_api.dart | 7 +- fbla_ui/lib/api_logic.dart | 1 - fbla_ui/lib/home.dart | 2 +- fbla_ui/lib/main.dart | 2 +- fbla_ui/lib/pages/business_detail.dart | 2 +- fbla_ui/lib/pages/create_edit_business.dart | 33 ++++--- fbla_ui/lib/shared.dart | 23 ++++- fbla_ui/pubspec.yaml | 9 ++ fbla_ui/windows/runner/main.cpp | 2 +- fbla_ui/windows/runner/resources/app_icon.ico | Bin 33772 -> 170499 bytes fbla_ui/windows/windows_logo.png | Bin 0 -> 23537 bytes 15 files changed, 55 insertions(+), 203 deletions(-) delete mode 100644 fbla-api/certificates/cert.pem delete mode 100644 fbla-api/certificates/chain.pem delete mode 100644 fbla-api/certificates/fullchain.pem delete mode 100644 fbla-api/certificates/privkey.pem create mode 100755 fbla_ui/windows/windows_logo.png diff --git a/fbla-api/certificates/cert.pem b/fbla-api/certificates/cert.pem deleted file mode 100644 index c6bcdd3..0000000 --- a/fbla-api/certificates/cert.pem +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgISA1MOaRzFLZim3nvjG7iscMdEMA0GCSqGSIb3DQEBCwUA -MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD -EwJSMzAeFw0yMzEyMTQyMjI5NTVaFw0yNDAzMTMyMjI5NTRaMCAxHjAcBgNVBAMT -FWhvbWVsYWIubWFyaW5vZGV2LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA -BER7NDX7FANFf72Pqwl5haoczQchiOhMGNyMa5foT0aYG2DeMQeEhpl+17vBzEwu -KewujegQNWZdNHVbGxqdUmWjggIuMIICKjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0l -BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE -FOsys6fx3sqsaEaqklTWasLzlNJzMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJQOYf -r52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3IzLm8u -bGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcvMDgG -A1UdEQQxMC+CFWhvbWVsYWIubWFyaW5vZGV2LmNvbYIWbWFyaW5vLW5hcy5zeW5v -bG9neS5tZTATBgNVHSAEDDAKMAgGBmeBDAECATCCAQMGCisGAQQB1nkCBAIEgfQE -gfEA7wB2AEiw42vapkc0D+VqAvqdMOscUgHLVt0sgdm7v6s52IRzAAABjGqqUTkA -AAQDAEcwRQIhAJncD2v9CgQii1KCLJhILJ96Jy7mE3a1ptaZ8sip8k3xAiBXw7ML -wbp/ikIzl0xYTeJsjU7lp7/VI26K+luw++dsMgB1AO7N0GTV2xrOxVy3nbTNE6Iy -h0Z8vOzew1FIWUZxH7WbAAABjGqqUTsAAAQDAEYwRAIgSXZW95Cafz5olbebYbSH -xlvPXhmJaspB7XzEsQP2i6kCIHa1QcGg9vyXJ6apl7WSPIz4DLJb6/ZeaHkPqAC5 -NjKPMA0GCSqGSIb3DQEBCwUAA4IBAQBSKsqvA8v8h1WmTjudd8cRWc3RdU6lgq/E -pTXX6XWYFpU+D7jprp/NeW8RmVToQRUi6A3Bv9KnrsHG5HpwJ37SLh6Gv8s2t1A/ -8FyNyndjuBKxFSaoJKkqlKUA657dXh67if5WLZYZYQdArRw3Q+fQOfSit8+RomTY -xmNVnRVO5+JRwxwbk/WT8tZHOb3Cd7Ozo7d2vpwH/KqY4RM7ajV8shzulMlAtqfT -ahi4ph8eUm43nCJPsVa4ddQLaV4z8EXoQ/SAsjrMkbAyg4G3uKoCqPUX4lnvqAAW -7kxmH8lJpkh76sz7gT1j/vzk9Fbslk3+8oa8PUO9PYQWfYwzWIs2 ------END CERTIFICATE----- diff --git a/fbla-api/certificates/chain.pem b/fbla-api/certificates/chain.pem deleted file mode 100644 index ca1c1a6..0000000 --- a/fbla-api/certificates/chain.pem +++ /dev/null @@ -1,61 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw -WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg -RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP -R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx -sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm -NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg -Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG -/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB -Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA -FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw -AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw -Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB -gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W -PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl -ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz -CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm -lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4 -avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2 -yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O -yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids -hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+ -HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv -MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX -nLRbwHOoq7hHwg== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC -ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL -wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D -LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK -4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5 -bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y -sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ -Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4 -FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc -SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql -PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND -TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1 -c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx -+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB -ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu -b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E -U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu -MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC -5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW -9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG -WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O -he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC -Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5 ------END CERTIFICATE----- diff --git a/fbla-api/certificates/fullchain.pem b/fbla-api/certificates/fullchain.pem deleted file mode 100644 index b2995b7..0000000 --- a/fbla-api/certificates/fullchain.pem +++ /dev/null @@ -1,86 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgISA1MOaRzFLZim3nvjG7iscMdEMA0GCSqGSIb3DQEBCwUA -MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD -EwJSMzAeFw0yMzEyMTQyMjI5NTVaFw0yNDAzMTMyMjI5NTRaMCAxHjAcBgNVBAMT -FWhvbWVsYWIubWFyaW5vZGV2LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA -BER7NDX7FANFf72Pqwl5haoczQchiOhMGNyMa5foT0aYG2DeMQeEhpl+17vBzEwu -KewujegQNWZdNHVbGxqdUmWjggIuMIICKjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0l -BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE -FOsys6fx3sqsaEaqklTWasLzlNJzMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJQOYf -r52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3IzLm8u -bGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcvMDgG -A1UdEQQxMC+CFWhvbWVsYWIubWFyaW5vZGV2LmNvbYIWbWFyaW5vLW5hcy5zeW5v -bG9neS5tZTATBgNVHSAEDDAKMAgGBmeBDAECATCCAQMGCisGAQQB1nkCBAIEgfQE -gfEA7wB2AEiw42vapkc0D+VqAvqdMOscUgHLVt0sgdm7v6s52IRzAAABjGqqUTkA -AAQDAEcwRQIhAJncD2v9CgQii1KCLJhILJ96Jy7mE3a1ptaZ8sip8k3xAiBXw7ML -wbp/ikIzl0xYTeJsjU7lp7/VI26K+luw++dsMgB1AO7N0GTV2xrOxVy3nbTNE6Iy -h0Z8vOzew1FIWUZxH7WbAAABjGqqUTsAAAQDAEYwRAIgSXZW95Cafz5olbebYbSH -xlvPXhmJaspB7XzEsQP2i6kCIHa1QcGg9vyXJ6apl7WSPIz4DLJb6/ZeaHkPqAC5 -NjKPMA0GCSqGSIb3DQEBCwUAA4IBAQBSKsqvA8v8h1WmTjudd8cRWc3RdU6lgq/E -pTXX6XWYFpU+D7jprp/NeW8RmVToQRUi6A3Bv9KnrsHG5HpwJ37SLh6Gv8s2t1A/ -8FyNyndjuBKxFSaoJKkqlKUA657dXh67if5WLZYZYQdArRw3Q+fQOfSit8+RomTY -xmNVnRVO5+JRwxwbk/WT8tZHOb3Cd7Ozo7d2vpwH/KqY4RM7ajV8shzulMlAtqfT -ahi4ph8eUm43nCJPsVa4ddQLaV4z8EXoQ/SAsjrMkbAyg4G3uKoCqPUX4lnvqAAW -7kxmH8lJpkh76sz7gT1j/vzk9Fbslk3+8oa8PUO9PYQWfYwzWIs2 ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw -WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg -RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP -R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx -sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm -NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg -Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG -/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB -Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA -FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw -AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw -Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB -gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W -PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl -ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz -CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm -lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4 -avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2 -yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O -yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids -hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+ -HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv -MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX -nLRbwHOoq7hHwg== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC -ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL -wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D -LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK -4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5 -bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y -sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ -Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4 -FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc -SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql -PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND -TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1 -c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx -+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB -ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu -b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E -U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu -MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC -5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW -9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG -WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O -he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC -Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5 ------END CERTIFICATE----- diff --git a/fbla-api/certificates/privkey.pem b/fbla-api/certificates/privkey.pem deleted file mode 100644 index 88c197b..0000000 --- a/fbla-api/certificates/privkey.pem +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgBRfv5A/Ky/0a239v -+dD1tqdxLpNTW4S1Xnu7FhizFyWhRANCAAREezQ1+xQDRX+9j6sJeYWqHM0HIYjo -TBjcjGuX6E9GmBtg3jEHhIaZfte7wcxMLinsLo3oEDVmXTR1WxsanVJl ------END PRIVATE KEY----- diff --git a/fbla-api/lib/fbla_api.dart b/fbla-api/lib/fbla_api.dart index c419c4f..ec53164 100644 --- a/fbla-api/lib/fbla_api.dart +++ b/fbla-api/lib/fbla_api.dart @@ -18,6 +18,7 @@ enum BusinessType { shop, outdoors, manufacturing, + entertainment, other, } @@ -216,7 +217,7 @@ void main() async { try{ await File('logos/$id.png').delete(); } catch(e) { - print(e); + print('Failure to delete logo! $e'); } return Response.ok( @@ -248,7 +249,7 @@ void main() async { await postgres.query( ''' UPDATE businesses SET - name = '${business.name.replaceAll("'", "''")}'::text, description = '${business.description.replaceAll("'", "''")}'::text, website = '${business.website}'::text, type = '${business.type.name}'::text, "contactName" = '${business.contactName.replaceAll("'", "''")}'::text, "contactPhone" = '${business.contactPhone}'::text, "contactEmail" = '${business.contactEmail}'::text, notes = '${business.notes.replaceAll("'", "''")}'::text, "locationName" = '${business.locationName.replaceAll("'", "''")}'::text, "locationAddress" = '${business.locationAddress.replaceAll("'", "''")}'::text WHERE + name = '${business.name.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text, description = '${business.description.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text, website = '${business.website}'::text, type = '${business.type.name}'::text, "contactName" = '${business.contactName.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text, "contactPhone" = '${business.contactPhone}'::text, "contactEmail" = '${business.contactEmail}'::text, notes = '${business.notes.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text, "locationName" = '${business.locationName.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text, "locationAddress" = '${business.locationAddress.replaceAll("'", "''").replaceAll("\"", "\"\"")}'::text WHERE id = ${business.id}; ''' ); @@ -260,7 +261,7 @@ void main() async { try { await File('logos/${business.id}.png').delete(); } catch(e) { - print(e); + print('Failure to delete logo! $e'); } if (logoResponse.headers.toString().contains('image/png')) { await File('logos/${business.id}.png').writeAsBytes(logoResponse.bodyBytes); diff --git a/fbla_ui/lib/api_logic.dart b/fbla_ui/lib/api_logic.dart index dbf7ee3..dab862a 100644 --- a/fbla_ui/lib/api_logic.dart +++ b/fbla_ui/lib/api_logic.dart @@ -99,7 +99,6 @@ Future editBusiness(Business business, String jwt) async { "locationAddress": "${business.locationAddress}" } '''; - print(json); try { var response = await http.post(Uri.parse('$apiAddress/editbusiness'), body: json, diff --git a/fbla_ui/lib/home.dart b/fbla_ui/lib/home.dart index ecf3083..4bb5b40 100644 --- a/fbla_ui/lib/home.dart +++ b/fbla_ui/lib/home.dart @@ -80,7 +80,7 @@ class _HomeState extends State { scrolledUnderElevation: 0, centerTitle: true, expandedHeight: widescreen ? 70 : 120, - backgroundColor: Theme.of(context).colorScheme.background, + backgroundColor: Theme.of(context).colorScheme.surface, bottom: _getBottom(), leading: IconButton( icon: getIconFromThemeMode(themeMode), diff --git a/fbla_ui/lib/main.dart b/fbla_ui/lib/main.dart index 9597075..55475ca 100644 --- a/fbla_ui/lib/main.dart +++ b/fbla_ui/lib/main.dart @@ -89,7 +89,7 @@ class _MainAppState extends State { primary: Colors.blue, onPrimary: Colors.white, secondary: Colors.blue.shade200, - background: Colors.white, + background: Colors.grey.shade300, tertiary: Colors.green, ), iconTheme: const IconThemeData(color: Colors.black), diff --git a/fbla_ui/lib/pages/business_detail.dart b/fbla_ui/lib/pages/business_detail.dart index a302b45..07fbd8a 100644 --- a/fbla_ui/lib/pages/business_detail.dart +++ b/fbla_ui/lib/pages/business_detail.dart @@ -42,7 +42,7 @@ class _CreateBusinessDetailState extends State { leading: ClipRRect( borderRadius: BorderRadius.circular(6.0), child: Image.network( - 'https://$apiAddress/fbla-api/logos/${business.id}', + '$apiAddress/logos/${business.id}', width: 48, height: 48, errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) { diff --git a/fbla_ui/lib/pages/create_edit_business.dart b/fbla_ui/lib/pages/create_edit_business.dart index 0c0cef9..06a750f 100644 --- a/fbla_ui/lib/pages/create_edit_business.dart +++ b/fbla_ui/lib/pages/create_edit_business.dart @@ -180,7 +180,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Business Name', + labelText: 'Business Name (required)', ), validator: (value) { if (value != null && value.isEmpty) { @@ -199,17 +199,19 @@ class _CreateEditBusinessState extends State { AutovalidateMode.onUserInteraction, keyboardType: TextInputType.url, onChanged: (inputUrl) { - business.website = Uri.encodeFull(inputUrl - .toLowerCase() - .replaceAll('https://', '') - .replaceAll('http://', '') - .replaceAll('www.', '')); + setState(() { + business.website = Uri.encodeFull(inputUrl + .toLowerCase() + .replaceAll('https://', '') + .replaceAll('http://', '') + .replaceAll('www.', '')); + }); }, onTapOutside: (PointerDownEvent event) { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Website', + labelText: 'Website (required)', ), validator: (value) { if (value != null && value.isEmpty) { @@ -227,6 +229,7 @@ class _CreateEditBusinessState extends State { autovalidateMode: AutovalidateMode.onUserInteraction, maxLength: 500, + maxLines: null, onChanged: (inputDesc) { setState(() { business.description = inputDesc; @@ -236,7 +239,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Business Description', + labelText: 'Business Description (required)', ), validator: (value) { if (value != null && value.isEmpty) { @@ -332,7 +335,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Location Name (optional)', + labelText: 'Location Name', ), ), ), @@ -350,7 +353,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Location Address (optional)', + labelText: 'Location Address', ), ), ), @@ -380,6 +383,9 @@ class _CreateEditBusinessState extends State { DropdownMenuEntry( value: BusinessType.manufacturing, label: 'Manufacturing'), + DropdownMenuEntry( + value: BusinessType.entertainment, + label: 'Entertainment'), DropdownMenuEntry( value: BusinessType.other, label: 'Other'), @@ -404,7 +410,7 @@ class _CreateEditBusinessState extends State { }, decoration: const InputDecoration( labelText: - 'Contact Information Name (optional)', + 'Contact Information Name', ), ), ), @@ -439,7 +445,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Contact Email (optional)', + labelText: 'Contact Email', ), validator: (value) { if (value != null) { @@ -463,6 +469,7 @@ class _CreateEditBusinessState extends State { child: TextFormField( controller: _notesController, maxLength: 300, + maxLines: null, onSaved: (inputText) { business.notes = inputText!; }, @@ -470,7 +477,7 @@ class _CreateEditBusinessState extends State { FocusScope.of(context).unfocus(); }, decoration: const InputDecoration( - labelText: 'Other Notes (optional)', + labelText: 'Other Notes', ), ), ), diff --git a/fbla_ui/lib/shared.dart b/fbla_ui/lib/shared.dart index b0e53b7..f961ff4 100644 --- a/fbla_ui/lib/shared.dart +++ b/fbla_ui/lib/shared.dart @@ -67,6 +67,7 @@ enum BusinessType { shop, outdoors, manufacturing, + entertainment, other, } @@ -171,6 +172,12 @@ Icon getIconFromType(BusinessType type, double size, Color color) { size: size, color: color, ); + case BusinessType.entertainment: + return Icon( + Icons.live_tv, + size: size, + color: color, + ); case BusinessType.other: return Icon( Icons.business, @@ -190,6 +197,8 @@ pw.Icon getPwIconFromType(BusinessType type, double size, PdfColor color) { return pw.Icon(const pw.IconData(0xea99), size: size, color: color); case BusinessType.manufacturing: return pw.Icon(const pw.IconData(0xebbc), size: size, color: color); + case BusinessType.entertainment: + return pw.Icon(const pw.IconData(0xe639), size: size, color: color); case BusinessType.other: return pw.Icon(const pw.IconData(0xe0af), size: size, color: color); } @@ -205,6 +214,8 @@ Text getNameFromType(BusinessType type, Color color) { return Text('Outdoors', style: TextStyle(color: color)); case BusinessType.manufacturing: return Text('Manufacturing', style: TextStyle(color: color)); + case BusinessType.entertainment: + return Text('Entertainment', style: TextStyle(color: color)); case BusinessType.other: return Text('Other', style: TextStyle(color: color)); } @@ -498,10 +509,12 @@ class _BusinessCardState extends State { backgroundColor: Theme.of(context) .colorScheme .background, - title: Text( - 'Contact ${business.contactName}?'), - content: Text( - 'Would you like to call or text ${business.contactName}?'), + title: Text(business.contactName.isEmpty + ? 'Contact ${business.name}?' + : 'Contact ${business.contactName}'), + content: Text(business.contactName.isEmpty + ? 'Would you like to call or text ${business.name}?' + : 'Would you like to call or text ${business.contactName}?'), actions: [ TextButton( child: const Text('Text'), @@ -675,7 +688,7 @@ class _FilterChipsState extends State { showCheckmark: false, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), - label: Text(type.name), + label: getNameFromType(type, Theme.of(context).colorScheme.onSurface), selected: selectedChips.contains(type), onSelected: (bool selected) { setState(() { diff --git a/fbla_ui/pubspec.yaml b/fbla_ui/pubspec.yaml index 9835fa9..a130b49 100644 --- a/fbla_ui/pubspec.yaml +++ b/fbla_ui/pubspec.yaml @@ -101,3 +101,12 @@ flutter: # # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages + +msix_config: + display_name: Job Link + publisher_display_name: MarinoDev + identity_name: com.marinodev.joblink + msix_version: 0.1.0.0 + logo_path: C:\Users\Drake Marino\Code\FBLA24\fbla24\fbla_ui\windows\windows_logo.png + capabilities: internetClient + install_certificate: true diff --git a/fbla_ui/windows/runner/main.cpp b/fbla_ui/windows/runner/main.cpp index 13474e6..b5482a4 100644 --- a/fbla_ui/windows/runner/main.cpp +++ b/fbla_ui/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.Create(L"fbla_ui", origin, size)) { + if (!window.Create(L"Job Link", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true); diff --git a/fbla_ui/windows/runner/resources/app_icon.ico b/fbla_ui/windows/runner/resources/app_icon.ico index c04e20caf6370ebb9253ad831cc31de4a9c965f6..f7c4db9635d3d9079477113693b7a85f05f36437 100644 GIT binary patch literal 170499 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 literal 33772 zcmeHQc|26z|35SKE&G-*mXah&B~fFkXr)DEO&hIfqby^T&>|8^_Ub8Vp#`BLl3lbZ zvPO!8k!2X>cg~Elr=IVxo~J*a`+9wR=A83c-k-DFd(XM&UI1VKCqM@V;DDtJ09WB} zRaHKiW(GT00brH|0EeTeKVbpbGZg?nK6-j827q-+NFM34gXjqWxJ*a#{b_apGN<-L_m3#8Z26atkEn& ze87Bvv^6vVmM+p+cQ~{u%=NJF>#(d;8{7Q{^rWKWNtf14H}>#&y7$lqmY6xmZryI& z($uy?c5-+cPnt2%)R&(KIWEXww>Cnz{OUpT>W$CbO$h1= z#4BPMkFG1Y)x}Ui+WXr?Z!w!t_hjRq8qTaWpu}FH{MsHlU{>;08goVLm{V<&`itk~ zE_Ys=D(hjiy+5=?=$HGii=Y5)jMe9|wWoD_K07(}edAxh`~LBorOJ!Cf@f{_gNCC| z%{*04ViE!#>@hc1t5bb+NO>ncf@@Dv01K!NxH$3Eg1%)|wLyMDF8^d44lV!_Sr}iEWefOaL z8f?ud3Q%Sen39u|%00W<#!E=-RpGa+H8}{ulxVl4mwpjaU+%2pzmi{3HM)%8vb*~-M9rPUAfGCSos8GUXp02|o~0BTV2l#`>>aFV&_P$ejS;nGwSVP8 zMbOaG7<7eKD>c12VdGH;?2@q7535sa7MN*L@&!m?L`ASG%boY7(&L5imY#EQ$KrBB z4@_tfP5m50(T--qv1BJcD&aiH#b-QC>8#7Fx@3yXlonJI#aEIi=8&ChiVpc#N=5le zM*?rDIdcpawoc5kizv$GEjnveyrp3sY>+5_R5;>`>erS%JolimF=A^EIsAK zsPoVyyUHCgf0aYr&alx`<)eb6Be$m&`JYSuBu=p8j%QlNNp$-5C{b4#RubPb|CAIS zGE=9OFLP7?Hgc{?k45)84biT0k&-C6C%Q}aI~q<(7BL`C#<6HyxaR%!dFx7*o^laG z=!GBF^cwK$IA(sn9y6>60Rw{mYRYkp%$jH z*xQM~+bp)G$_RhtFPYx2HTsWk80+p(uqv9@I9)y{b$7NK53rYL$ezbmRjdXS?V}fj zWxX_feWoLFNm3MG7pMUuFPs$qrQWO9!l2B(SIuy2}S|lHNbHzoE+M2|Zxhjq9+Ws8c{*}x^VAib7SbxJ*Q3EnY5lgI9 z=U^f3IW6T=TWaVj+2N%K3<%Un;CF(wUp`TC&Y|ZjyFu6co^uqDDB#EP?DV5v_dw~E zIRK*BoY9y-G_ToU2V_XCX4nJ32~`czdjT!zwme zGgJ0nOk3U4@IE5JwtM}pwimLjk{ln^*4HMU%Fl4~n(cnsLB}Ja-jUM>xIB%aY;Nq8 z)Fp8dv1tkqKanv<68o@cN|%thj$+f;zGSO7H#b+eMAV8xH$hLggtt?O?;oYEgbq@= zV(u9bbd12^%;?nyk6&$GPI%|+<_mEpJGNfl*`!KV;VfmZWw{n{rnZ51?}FDh8we_L z8OI9nE31skDqJ5Oa_ybn7|5@ui>aC`s34p4ZEu6-s!%{uU45$Zd1=p$^^dZBh zu<*pDDPLW+c>iWO$&Z_*{VSQKg7=YEpS3PssPn1U!lSm6eZIho*{@&20e4Y_lRklKDTUCKI%o4Pc<|G^Xgu$J^Q|B87U;`c1zGwf^-zH*VQ^x+i^OUWE0yd z;{FJq)2w!%`x7yg@>uGFFf-XJl4H`YtUG%0slGKOlXV`q?RP>AEWg#x!b{0RicxGhS!3$p7 zij;{gm!_u@D4$Ox%>>bPtLJ> zwKtYz?T_DR1jN>DkkfGU^<#6sGz|~p*I{y`aZ>^Di#TC|Z!7j_O1=Wo8thuit?WxR zh9_S>kw^{V^|g}HRUF=dcq>?q(pHxw!8rx4dC6vbQVmIhmICF#zU!HkHpQ>9S%Uo( zMw{eC+`&pb=GZRou|3;Po1}m46H6NGd$t<2mQh}kaK-WFfmj_66_17BX0|j-E2fe3Jat}ijpc53 zJV$$;PC<5aW`{*^Z6e5##^`Ed#a0nwJDT#Qq~^e8^JTA=z^Kl>La|(UQ!bI@#ge{Dzz@61p-I)kc2?ZxFt^QQ}f%ldLjO*GPj(5)V9IyuUakJX=~GnTgZ4$5!3E=V#t`yOG4U z(gphZB6u2zsj=qNFLYShhg$}lNpO`P9xOSnO*$@@UdMYES*{jJVj|9z-}F^riksLK zbsU+4-{281P9e2UjY6tse^&a)WM1MFw;p#_dHhWI7p&U*9TR0zKdVuQed%6{otTsq z$f~S!;wg#Bd9kez=Br{m|66Wv z#g1xMup<0)H;c2ZO6su_ii&m8j&+jJz4iKnGZ&wxoQX|5a>v&_e#6WA!MB_4asTxLRGQCC5cI(em z%$ZfeqP>!*q5kU>a+BO&ln=4Jm>Ef(QE8o&RgLkk%2}4Tf}U%IFP&uS7}&|Q-)`5< z+e>;s#4cJ-z%&-^&!xsYx777Wt(wZY9(3(avmr|gRe4cD+a8&!LY`1^T?7x{E<=kdY9NYw>A;FtTvQ=Y&1M%lyZPl$ss1oY^Sl8we}n}Aob#6 zl4jERwnt9BlSoWb@3HxYgga(752Vu6Y)k4yk9u~Kw>cA5&LHcrvn1Y-HoIuFWg~}4 zEw4bR`mXZQIyOAzo)FYqg?$5W<;^+XX%Uz61{-L6@eP|lLH%|w?g=rFc;OvEW;^qh z&iYXGhVt(G-q<+_j}CTbPS_=K>RKN0&;dubh0NxJyDOHFF;<1k!{k#7b{|Qok9hac z;gHz}6>H6C6RnB`Tt#oaSrX0p-j-oRJ;_WvS-qS--P*8}V943RT6kou-G=A+7QPGQ z!ze^UGxtW3FC0$|(lY9^L!Lx^?Q8cny(rR`es5U;-xBhphF%_WNu|aO<+e9%6LuZq zt(0PoagJG<%hyuf;te}n+qIl_Ej;czWdc{LX^pS>77s9t*2b4s5dvP_!L^3cwlc)E!(!kGrg~FescVT zZCLeua3f4;d;Tk4iXzt}g}O@nlK3?_o91_~@UMIl?@77Qc$IAlLE95#Z=TES>2E%z zxUKpK{_HvGF;5%Q7n&vA?`{%8ohlYT_?(3A$cZSi)MvIJygXD}TS-3UwyUxGLGiJP znblO~G|*uA^|ac8E-w#}uBtg|s_~s&t>-g0X%zIZ@;o_wNMr_;{KDg^O=rg`fhDZu zFp(VKd1Edj%F zWHPl+)FGj%J1BO3bOHVfH^3d1F{)*PL&sRX`~(-Zy3&9UQX)Z;c51tvaI2E*E7!)q zcz|{vpK7bjxix(k&6=OEIBJC!9lTkUbgg?4-yE{9+pFS)$Ar@vrIf`D0Bnsed(Cf? zObt2CJ>BKOl>q8PyFO6w)+6Iz`LW%T5^R`U_NIW0r1dWv6OY=TVF?N=EfA(k(~7VBW(S;Tu5m4Lg8emDG-(mOSSs=M9Q&N8jc^Y4&9RqIsk(yO_P(mcCr}rCs%1MW1VBrn=0-oQN(Xj!k%iKV zb%ricBF3G4S1;+8lzg5PbZ|$Se$)I=PwiK=cDpHYdov2QO1_a-*dL4KUi|g&oh>(* zq$<`dQ^fat`+VW?m)?_KLn&mp^-@d=&7yGDt<=XwZZC=1scwxO2^RRI7n@g-1o8ps z)&+et_~)vr8aIF1VY1Qrq~Xe``KJrQSnAZ{CSq3yP;V*JC;mmCT6oRLSs7=GA?@6g zUooM}@tKtx(^|aKK8vbaHlUQqwE0}>j&~YlN3H#vKGm@u)xxS?n9XrOWUfCRa< z`20Fld2f&;gg7zpo{Adh+mqNntMc-D$N^yWZAZRI+u1T1zWHPxk{+?vcS1D>08>@6 zLhE@`gt1Y9mAK6Z4p|u(5I%EkfU7rKFSM=E4?VG9tI;a*@?6!ey{lzN5=Y-!$WFSe z&2dtO>^0@V4WRc#L&P%R(?@KfSblMS+N+?xUN$u3K4Ys%OmEh+tq}fnU}i>6YHM?< zlnL2gl~sF!j!Y4E;j3eIU-lfa`RsOL*Tt<%EFC0gPzoHfNWAfKFIKZN8}w~(Yi~=q z>=VNLO2|CjkxP}RkutxjV#4fWYR1KNrPYq5ha9Wl+u>ipsk*I(HS@iLnmGH9MFlTU zaFZ*KSR0px>o+pL7BbhB2EC1%PJ{67_ z#kY&#O4@P=OV#-79y_W>Gv2dxL*@G7%LksNSqgId9v;2xJ zrh8uR!F-eU$NMx@S*+sk=C~Dxr9Qn7TfWnTupuHKuQ$;gGiBcU>GF5sWx(~4IP3`f zWE;YFO*?jGwYh%C3X<>RKHC-DZ!*r;cIr}GLOno^3U4tFSSoJp%oHPiSa%nh=Zgn% z14+8v@ygy0>UgEN1bczD6wK45%M>psM)y^)IfG*>3ItX|TzV*0i%@>L(VN!zdKb8S?Qf7BhjNpziA zR}?={-eu>9JDcl*R=OP9B8N$IcCETXah9SUDhr{yrld{G;PnCWRsPD7!eOOFBTWUQ=LrA_~)mFf&!zJX!Oc-_=kT<}m|K52 z)M=G#;p;Rdb@~h5D{q^K;^fX-m5V}L%!wVC2iZ1uu401Ll}#rocTeK|7FAeBRhNdQ zCc2d^aQnQp=MpOmak60N$OgS}a;p(l9CL`o4r(e-nN}mQ?M&isv-P&d$!8|1D1I(3-z!wi zTgoo)*Mv`gC?~bm?S|@}I|m-E2yqPEvYybiD5azInexpK8?9q*$9Yy9-t%5jU8~ym zgZDx>!@ujQ=|HJnwp^wv-FdD{RtzO9SnyfB{mH_(c!jHL*$>0o-(h(eqe*ZwF6Lvu z{7rkk%PEqaA>o+f{H02tzZ@TWy&su?VNw43! z-X+rN`6llvpUms3ZiSt)JMeztB~>9{J8SPmYs&qohxdYFi!ra8KR$35Zp9oR)eFC4 zE;P31#3V)n`w$fZ|4X-|%MX`xZDM~gJyl2W;O$H25*=+1S#%|53>|LyH za@yh+;325%Gq3;J&a)?%7X%t@WXcWL*BaaR*7UEZad4I8iDt7^R_Fd`XeUo256;sAo2F!HcIQKk;h})QxEsPE5BcKc7WyerTchgKmrfRX z!x#H_%cL#B9TWAqkA4I$R^8{%do3Y*&(;WFmJ zU7Dih{t1<{($VtJRl9|&EB?|cJ)xse!;}>6mSO$o5XIx@V|AA8ZcoD88ZM?C*;{|f zZVmf94_l1OmaICt`2sTyG!$^UeTHx9YuUP!omj(r|7zpm5475|yXI=rR>>fteLI+| z)MoiGho0oEt=*J(;?VY0QzwCqw@cVm?d7Y!z0A@u#H?sCJ*ecvyhj& z-F77lO;SH^dmf?L>3i>?Z*U}Em4ZYV_CjgfvzYsRZ+1B!Uo6H6mbS<-FFL`ytqvb& zE7+)2ahv-~dz(Hs+f})z{*4|{)b=2!RZK;PWwOnO=hG7xG`JU5>bAvUbdYd_CjvtHBHgtGdlO+s^9ca^Bv3`t@VRX2_AD$Ckg36OcQRF zXD6QtGfHdw*hx~V(MV-;;ZZF#dJ-piEF+s27z4X1qi5$!o~xBnvf=uopcn7ftfsZc zy@(PuOk`4GL_n(H9(E2)VUjqRCk9kR?w)v@xO6Jm_Mx})&WGEl=GS0#)0FAq^J*o! zAClhvoTsNP*-b~rN{8Yym3g{01}Ep^^Omf=SKqvN?{Q*C4HNNAcrowIa^mf+3PRy! z*_G-|3i8a;+q;iP@~Of_$(vtFkB8yOyWt2*K)vAn9El>=D;A$CEx6b*XF@4y_6M+2 zpeW`RHoI_p(B{%(&jTHI->hmNmZjHUj<@;7w0mx3&koy!2$@cfX{sN19Y}euYJFn& z1?)+?HCkD0MRI$~uB2UWri})0bru_B;klFdwsLc!ne4YUE;t41JqfG# zZJq6%vbsdx!wYeE<~?>o4V`A3?lN%MnKQ`z=uUivQN^vzJ|C;sdQ37Qn?;lpzg})y z)_2~rUdH}zNwX;Tp0tJ78+&I=IwOQ-fl30R79O8@?Ub8IIA(6I`yHn%lARVL`%b8+ z4$8D-|MZZWxc_)vu6@VZN!HsI$*2NOV&uMxBNzIbRgy%ob_ zhwEH{J9r$!dEix9XM7n&c{S(h>nGm?el;gaX0@|QnzFD@bne`el^CO$yXC?BDJ|Qg z+y$GRoR`?ST1z^e*>;!IS@5Ovb7*RlN>BV_UC!7E_F;N#ky%1J{+iixp(dUJj93aK zzHNN>R-oN7>kykHClPnoPTIj7zc6KM(Pnlb(|s??)SMb)4!sMHU^-ntJwY5Big7xv zb1Ew`Xj;|D2kzGja*C$eS44(d&RMU~c_Y14V9_TLTz0J#uHlsx`S6{nhsA0dWZ#cG zJ?`fO50E>*X4TQLv#nl%3GOk*UkAgt=IY+u0LNXqeln3Z zv$~&Li`ZJOKkFuS)dJRA>)b_Da%Q~axwA_8zNK{BH{#}#m}zGcuckz}riDE-z_Ms> zR8-EqAMcfyGJCtvTpaUVQtajhUS%c@Yj}&6Zz;-M7MZzqv3kA7{SuW$oW#=0az2wQ zg-WG@Vb4|D`pl~Il54N7Hmsauc_ne-a!o5#j3WaBBh@Wuefb!QJIOn5;d)%A#s+5% zuD$H=VNux9bE-}1&bcYGZ+>1Fo;3Z@e&zX^n!?JK*adSbONm$XW9z;Q^L>9U!}Toj2WdafJ%oL#h|yWWwyAGxzfrAWdDTtaKl zK4`5tDpPg5>z$MNv=X0LZ0d6l%D{(D8oT@+w0?ce$DZ6pv>{1&Ok67Ix1 zH}3=IEhPJEhItCC8E=`T`N5(k?G=B4+xzZ?<4!~ ze~z6Wk9!CHTI(0rLJ4{JU?E-puc;xusR?>G?;4vt;q~iI9=kDL=z0Rr%O$vU`30X$ zDZRFyZ`(omOy@u|i6h;wtJlP;+}$|Ak|k2dea7n?U1*$T!sXqqOjq^NxLPMmk~&qI zYg0W?yK8T(6+Ea+$YyspKK?kP$+B`~t3^Pib_`!6xCs32!i@pqXfFV6PmBIR<-QW= zN8L{pt0Vap0x`Gzn#E@zh@H)0FfVfA_Iu4fjYZ+umO1LXIbVc$pY+E234u)ttcrl$ z>s92z4vT%n6cMb>=XT6;l0+9e(|CZG)$@C7t7Z7Ez@a)h)!hyuV&B5K%%)P5?Lk|C zZZSVzdXp{@OXSP0hoU-gF8s8Um(#xzjP2Vem zec#-^JqTa&Y#QJ>-FBxd7tf`XB6e^JPUgagB8iBSEps;92KG`!#mvVcPQ5yNC-GEG zTiHEDYfH+0O15}r^+ z#jxj=@x8iNHWALe!P3R67TwmhItn**0JwnzSV2O&KE8KcT+0hWH^OPD1pwiuyx=b@ zNf5Jh0{9X)8;~Es)$t@%(3!OnbY+`@?i{mGX7Yy}8T_*0a6g;kaFPq;*=px5EhO{Cp%1kI<0?*|h8v!6WnO3cCJRF2-CRrU3JiLJnj@6;L)!0kWYAc_}F{2P))3HmCrz zQ&N&gE70;`!6*eJ4^1IR{f6j4(-l&X!tjHxkbHA^Zhrnhr9g{exN|xrS`5Pq=#Xf& zG%P=#ra-TyVFfgW%cZo5OSIwFL9WtXAlFOa+ubmI5t*3=g#Y zF%;70p5;{ZeFL}&}yOY1N1*Q;*<(kTB!7vM$QokF)yr2FlIU@$Ph58$Bz z0J?xQG=MlS4L6jA22eS42g|9*9pX@$#*sUeM(z+t?hr@r5J&D1rx}2pW&m*_`VDCW zUYY@v-;bAO0HqoAgbbiGGC<=ryf96}3pouhy3XJrX+!!u*O_>Si38V{uJmQ&USptX zKp#l(?>%^7;2%h(q@YWS#9;a!JhKlkR#Vd)ERILlgu!Hr@jA@V;sk4BJ-H#p*4EqC zDGjC*tl=@3Oi6)Bn^QwFpul18fpkbpg0+peH$xyPBqb%`$OUhPKyWb32o7clB*9Z< zN=i~NLjavrLtwgJ01bufP+>p-jR2I95|TpmKpQL2!oV>g(4RvS2pK4*ou%m(h6r3A zX#s&`9LU1ZG&;{CkOK!4fLDTnBys`M!vuz>Q&9OZ0hGQl!~!jSDg|~s*w52opC{sB ze|Cf2luD(*G13LcOAGA!s2FjSK8&IE5#W%J25w!vM0^VyQM!t)inj&RTiJ!wXzFgz z3^IqzB7I0L$llljsGq})thBy9UOyjtFO_*hYM_sgcMk>44jeH0V1FDyELc{S1F-;A zS;T^k^~4biG&V*Irq}O;e}j$$+E_#G?HKIn05iP3j|87TkGK~SqG!-KBg5+mN(aLm z8ybhIM`%C19UX$H$KY6JgXbY$0AT%rEpHC;u`rQ$Y=rxUdsc5*Kvc8jaYaO$^)cI6){P6K0r)I6DY4Wr4&B zLQUBraey#0HV|&c4v7PVo3n$zHj99(TZO^3?Ly%C4nYvJTL9eLBLHsM3WKKD>5!B` zQ=BsR3aR6PD(Fa>327E2HAu5TM~Wusc!)>~(gM)+3~m;92Jd;FnSib=M5d6;;5{%R zb4V7DEJ0V!CP-F*oU?gkc>ksUtAYP&V4ND5J>J2^jt*vcFflQWCrB&fLdT%O59PVJ zhid#toR=FNgD!q3&r8#wEBr`!wzvQu5zX?Q>nlSJ4i@WC*CN*-xU66F^V5crWevQ9gsq$I@z1o(a=k7LL~ z7m_~`o;_Ozha1$8Q}{WBehvAlO4EL60y5}8GDrZ< zXh&F}71JbW2A~8KfEWj&UWV#4+Z4p`b{uAj4&WC zha`}X@3~+Iz^WRlOHU&KngK>#j}+_o@LdBC1H-`gT+krWX3-;!)6?{FBp~%20a}FL zFP9%Emqcwa#(`=G>BBZ0qZDQhmZKJg_g8<=bBFKWr!dyg(YkpE+|R*SGpDVU!+VlU zFC54^DLv}`qa%49T>nNiA9Q7Ips#!Xx90tCU2gvK`(F+GPcL=J^>No{)~we#o@&mUb6c$ zCc*<|NJBk-#+{j9xkQ&ujB zI~`#kN~7W!f*-}wkG~Ld!JqZ@tK}eeSnsS5J1fMFXm|`LJx&}5`@dK3W^7#Wnm+_P zBZkp&j1fa2Y=eIjJ0}gh85jt43kaIXXv?xmo@eHrka!Z|vQv12HN#+!I5E z`(fbuW>gFiJL|uXJ!vKt#z3e3HlVdboH7;e#i3(2<)Fg-I@BR!qY#eof3MFZ&*Y@l zI|KJf&ge@p2Dq09Vu$$Qxb7!}{m-iRk@!)%KL)txi3;~Z4Pb}u@GsW;ELiWeG9V51 znX#}B&4Y2E7-H=OpNE@q{%hFLxwIpBF2t{vPREa8_{linXT;#1vMRWjOzLOP$-hf( z>=?$0;~~PnkqY;~K{EM6Vo-T(0K{A0}VUGmu*hR z{tw3hvBN%N3G3Yw`X5Te+F{J`(3w1s3-+1EbnFQKcrgrX1Jqvs@ADGe%M0s$EbK$$ zK)=y=upBc6SjGYAACCcI=Y*6Fi8_jgwZlLxD26fnQfJmb8^gHRN5(TemhX@0e=vr> zg`W}6U>x6VhoA3DqsGGD9uL1DhB3!OXO=k}59TqD@(0Nb{)Ut_luTioK_>7wjc!5C zIr@w}b`Fez3)0wQfKl&bae7;PcTA7%?f2xucM0G)wt_KO!Ewx>F~;=BI0j=Fb4>pp zv}0R^xM4eti~+^+gE$6b81p(kwzuDti(-K9bc|?+pJEl@H+jSYuxZQV8rl8 zjp@M{#%qItIUFN~KcO9Hed*`$5A-2~pAo~K&<-Q+`9`$CK>rzqAI4w~$F%vs9s{~x zg4BP%Gy*@m?;D6=SRX?888Q6peF@_4Z->8wAH~Cn!R$|Hhq2cIzFYqT_+cDourHbY z0qroxJnrZ4Gh+Ay+F`_c%+KRT>y3qw{)89?=hJ@=KO=@ep)aBJ$c!JHfBMJpsP*3G za7|)VJJ8B;4?n{~ldJF7%jmb`-ftIvNd~ekoufG(`K(3=LNc;HBY& z(lp#q8XAD#cIf}k49zX_i`*fO+#!zKA&%T3j@%)R+#yag067CU%yUEe47>wzGU8^` z1EXFT^@I!{J!F8!X?S6ph8J=gUi5tl93*W>7}_uR<2N2~e}FaG?}KPyugQ=-OGEZs z!GBoyYY+H*ANn4?Z)X4l+7H%`17i5~zRlRIX?t)6_eu=g2Q`3WBhxSUeea+M-S?RL zX9oBGKn%a!H+*hx4d2(I!gsi+@SQK%<{X22M~2tMulJoa)0*+z9=-YO+;DFEm5eE1U9b^B(Z}2^9!Qk`!A$wUE z7$Ar5?NRg2&G!AZqnmE64eh^Anss3i!{}%6@Et+4rr!=}!SBF8eZ2*J3ujCWbl;3; z48H~goPSv(8X61fKKdpP!Z7$88NL^Z?j`!^*I?-P4X^pMxyWz~@$(UeAcTSDd(`vO z{~rc;9|GfMJcApU3k}22a!&)k4{CU!e_ny^Y3cO;tOvOMKEyWz!vG(Kp*;hB?d|R3`2X~=5a6#^o5@qn?J-bI8Ppip{-yG z!k|VcGsq!jF~}7DMr49Wap-s&>o=U^T0!Lcy}!(bhtYsPQy z4|EJe{12QL#=c(suQ89Mhw9<`bui%nx7Nep`C&*M3~vMEACmcRYYRGtANq$F%zh&V zc)cEVeHz*Z1N)L7k-(k3np#{GcDh2Q@ya0YHl*n7fl*ZPAsbU-a94MYYtA#&!c`xGIaV;yzsmrjfieTEtqB_WgZp2*NplHx=$O{M~2#i_vJ{ps-NgK zQsxKK_CBM2PP_je+Xft`(vYfXXgIUr{=PA=7a8`2EHk)Ym2QKIforz# tySWtj{oF3N9@_;i*Fv5S)9x^z=nlWP>jpp-9)52ZmLVA=i*%6g{{fxOO~wEK diff --git a/fbla_ui/windows/windows_logo.png b/fbla_ui/windows/windows_logo.png new file mode 100755 index 0000000000000000000000000000000000000000..d77a6fec2f8b112b215777d97b47de6d32b586a4 GIT binary patch literal 23537 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

_3h%D*3s1m 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�GN!)DG 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 ZVD|~Mw2