- Make sure you have elixir installed and running. (Hint:
elixir --version
) - Download all gist files and run
elixir 5_alchemical_reduction.ex
. That will compile the code and give you results. - Run
elixir 5_alchemical_reducation.ex --test
to run tests. - Have more fun!
Last active
December 5, 2018 15:43
-
-
Save 0xGGGGG/24404933ace693bdf9c8ac90e9a3061f to your computer and use it in GitHub Desktop.
#AdventOfCode 2018 #elixir #elixirlang
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule AlchemicalReduction do | |
@doc """ | |
For example, again using the polymer dabAcCaCBAcCcaDA from above: | |
* Removing all A/a units produces dbcCCBcCcD. Fully reacting this polymer produces dbCBcD, which has length 6. | |
* Removing all B/b units produces daAcCaCAcCcaDA. Fully reacting this polymer produces daCAcaDA, which has length 8. | |
* Removing all C/c units produces dabAaBAaDA. Fully reacting this polymer produces daDA, which has length 4. | |
* Removing all D/d units produces abAcCaCBAcCcaA. Fully reacting this polymer produces abCBAc, which has length 6. | |
In this example, removing all C/c units was best, producing the answer 4. | |
""" | |
def find_shortest_polymer_alteration_count(polymer_sequence) do | |
?a..?z | |
|> Enum.reduce(:infinity, &dig_minimum_count(&1, &2, polymer_sequence)) | |
end | |
defp dig_minimum_count(char, prev_count, polymer_sequence) do | |
count = | |
polymer_sequence | |
|> String.replace(~r/#{<<char>>}/i, "") | |
|> scan() | |
|> String.length() | |
if count < prev_count, do: count, else: prev_count | |
end | |
@doc """ | |
dabA_cC_aCBAcCcaDA The first 'cC' is removed. | |
dab_Aa_CBAcCcaDA This creates 'Aa', which is removed. | |
dabCBA_cC_caDA Either 'cC' or 'Cc' are removed (the result is the same). | |
dabCBAcaDA No further actions can be taken. | |
""" | |
def scan(polymer_sequence), do: do_scan(polymer_sequence, "") | |
defp do_scan( | |
<<first::binary-size(1), second::binary-size(1), rest::binary>>, | |
<<prev::binary-size(1), processed::binary>> | |
) do | |
cond do | |
should_remove?(first, second) -> | |
do_scan(rest, prev <> processed) | |
should_remove?(prev, first) -> | |
do_scan(second <> rest, processed) | |
true -> | |
do_scan(second <> rest, first <> prev <> processed) | |
end | |
end | |
defp do_scan(<<first::binary-size(1)>>, <<prev::binary-size(1), processed::binary>>) do | |
case should_remove?(prev, first) do | |
true -> String.reverse(processed) | |
false -> String.reverse(first <> prev <> processed) | |
end | |
end | |
# defp do_scan(<<first::binary-size(1)>>, prev), do: do_scan(processed) | |
defp do_scan(<<first::binary-size(1), rest::binary>>, ""), do: do_scan(rest, first) | |
defp do_scan("", processed), do: String.reverse(processed) | |
def should_remove?(char1, char2) do | |
upper_char1 = String.upcase(char1) | |
upper_char2 = String.upcase(char2) | |
cond do | |
char1 != upper_char1 && upper_char1 == char2 -> true | |
char2 != upper_char2 && char1 == upper_char2 -> true | |
true -> false | |
end | |
end | |
end | |
test = fn -> | |
defmodule AlchemicalReductionTest do | |
use ExUnit.Case, async: true | |
test "checks and destroys adjacent characters" do | |
assert true == AlchemicalReduction.should_remove?("a", "A") | |
assert true == AlchemicalReduction.should_remove?("A", "a") | |
assert false == AlchemicalReduction.should_remove?("a", "a") | |
assert false == AlchemicalReduction.should_remove?("A", "A") | |
assert false == AlchemicalReduction.should_remove?("a", "b") | |
assert false == AlchemicalReduction.should_remove?("B", "a") | |
end | |
test "scans polymer sequence" do | |
example = | |
""" | |
dabAcCaCBAcCcaDA | |
""" | |
|> String.trim("\n") | |
assert "dabCBAcaDA" == AlchemicalReduction.scan(example) | |
end | |
test "finds shortest polymer alteration" do | |
example = | |
""" | |
dabAcCaCBAcCcaDA | |
""" | |
|> String.trim("\n") | |
assert 4 == AlchemicalReduction.find_shortest_polymer_alteration_count(example) | |
end | |
end | |
end | |
case System.argv() do | |
["--test"] -> | |
ExUnit.start() | |
test.() | |
_ -> | |
result1 = | |
File.read!("./5_alchemical_reduction_input.txt") | |
|> String.trim("\n") | |
|> AlchemicalReduction.scan() | |
|> String.length() | |
IO.puts("Scanned polymer sequence is... #{result1}") | |
result2 = | |
File.read!("./5_alchemical_reduction_input.txt") | |
|> String.trim("\n") | |
|> AlchemicalReduction.find_shortest_polymer_alteration_count() | |
IO.puts("Shortest polyme alteration count is... #{result2}") | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
VvbBfpPFrRyRrYNpYyPDlLdVvNnMmnOCcosOoSoOfkKKkFJjyYjJWwHhnNTSstuBbdsSDqQUqQkKVvILlVvGgjJiVcCvvfBbvVoOGgFnNeEZeEzImNnMiRrcCVbcaACQqBzIiofFpPaAPpEeOIieEaISssSiARrKwRRrdDrBbWkTtPplLjJWwUAazbBAkKVvanNAaZuNnWwqQmERrecMmnNCosuUmFfoOMSUuOnNMlBUCcucCbGgrRgGsSrRLdDJjinNIvVGucCkKgSsGlLMvIPlLpiVmUszZljJLpPvVqQSEeyYSsgqbBMKkmewuUiIWCcKLlkETYyyYBAabkKmFfMaALIiMmeEmvVhHZDpPGgdjJpPraARAarRzbBMSlQqLsRIKkirTEeNrNnRWwMmBbeEGgGguUWwqLlQFlLfCUuqQOoIicasqQSZPpzACcYBbwWyIiISsORrOoqPpQNaAuUZznojJkKiuUPpviIVAamSsbBMmMnnluUwWLNetTEkKpPgGmFfMsSNyYaATFftuNEenNyYnsbYyBgGBbiILGglSOoxGTtgXaANnFDdfpmMuUPsYyKkSZWyYwhHYymMjJKkziIVvvVUuXxUNnVgGrcVvoOCCcRdDlmMLsSUuNnpgGPsSnNkkXxKrRKiIvpnNPUSZzsuBIibZfFOqQojJlLIiDdjJzdyYDBfVvFQqlLNnSMxXmsULdDpPAatTluyYpPuMmFfUaAbsviIBbVSqQhHclLEpiIyYPDdPpeOoUzZLuUmMpPluaACPpLaAlgGyYDjJirRNnIgGeEnwWNCcLOosSluUwWiIdmmMTtUuDdMBbuUYywWyYxXmNnsSsSjUumMJYyMaAMmGgoOKkoOoQqOrRnMcCqQmBbrRKJjkHhJjJyXxYjlLwRFfgCcGOotVoOvPmMpTPprIiaACuUcWTtAbBweEDdaADdXBbxCcWzmMZDoOdteESfFsEeRrTYyYyDduUaNfjJhHFFfNsSODdotTTXhHxtnIiNXxnOJNnjzZqQyYzGEgGPIUNnuYyipwWepxXxXPQGggGwWnmMEeNFhHyDdYNnGgZzoiIOfaiIAbIiBQfFqoOyiIwbBWqQYuUeGyYgEmpPxXFfAarRrRHhHhFfuUMbBtTPpQuUHhqxXwhHolqQcCLOqcCtTuUQjJvVWpLlMmxoOXPyYhHwVvhekKEKkHTttDdGgBbWwAawWDdXxMKkmJjuUTkKyrRqtUutTTFfQWwYZIizZAuUNnYkKyEecHhCuSPpsPpMvVSsAaULBblOoMAlVvsSRgeEmMGdDTtchHVvLlzwWZOoMmCrLLniINPpeEeEiIuUWnNdDwlyYOoOZzoEawWAyYeOfFPpWAbWwBaEmMeEeTtFfYyLlwoTJjtBbVvVsMmSvZvVwWzxfFahHRrAZzOoiIRrXTtBbLeElWDaADmMmvVMvVrRdZzdwUupkKrRHlSsIBCcuUbiqQLgVvGjBbJBbSseDlLdEaAoOhWHkKeErRbBhzZMmkKtKkDdXlmMLsnNoOSbBxsSXxXnNxuUkHQqZfFfdDQqFzRrfnNFteETXjJxhqQpWCcwPKOocUuCnNfUuFfFfFJuqjJQUOohHjFlXxmMpPcpMdDmPCiILpPiILlhCcHcClLjwWoOoZzOJuUGgWwogGkyfFYOxXhlLIiwWRdDMTtCkKLlOOoTtZzoebBiIwWlLEJjjJcoOmRPpsSreEUQqgGUuMMmmruUiITtRgGtTAauTUuvVXPOAaoOopgGQWwqnmMNxwsyYSWeLlErqQOoKSsoONIipPnkEJjIieDdWeEwRUuDwWDhHdhHtTNndhuhHIiUGgamMARqQrHyzZHhYtusSJjMmUQjXxJHwWBbnNhgwWgGqQGhSOosHqVvJjHhAaDdoGgNnOCcllLLQlwWLqNhKwWkHvVfWwKKmMkkMmwWUuFfNnWwWwaKkALoOlhoOCOocYyYjxmcCMXWwgmMHhoODdGAaJmMFlLYXxuUfFYyPpyqQVvEVveRrpPyCcoOeYPpyVfRrFvvVVvXxqbBfFoqQZnsSNzTtGgnNNIiEAaeEenNTtnbBZtTtpPWwhHTsStTzmMrRkMmKoOFiNnmMVvyYhQqrRYTtjJyHkKqNnGgvVQXLlpuUPbBmldJjDxUlLnNuRrKkXXLlxLZRcCrzrRVvjJMZDdXxRTYeEyLltaRVvrGgTpwWUPzQqlLQRrqZAapuPguUGOiIoJjyYPEeZzTaAmMiViIvTtSszLlkBbaAxIiPpYyXrRoOWwKelLBXxbUuELlkfBbDEeqSsQMGgQqmioOIQqaAIYTKktyzRrNaAIinNOoHhgGnkrTtsyYqQSRhsYZzySGgHNhHhHBgcCKkveHhqQEVTtHhjJCNnMgGHhPBPpfFWwxXLpPLlbxXBURruNIinYyDoOdsSbVvBZzrTvVtnNRlyiIYDgGbBqQqQuUdEemMgWwNnGaARriJjuqQcCxdXxDXlLsdwmSgGsLWwlxSsjJbBhHtTXotyYcCbBIiTOOoMgGDNndSsWUVvuEeKkjDOoUuLrRvVdDLlcCYmMylUyYYEeyeZzBbBbEwmEeQqMFfPpIVviMmpPLCcAanNeElbBdDUuJlLjvCclLRqfFHhQTfFtqKkcCFFISsaAiyLlfQqFAaYoOssLlpPSEaJjaAAjxjJGNQqiVvIwcCWFfdDqQdDngXTZRrzWEewLhCYywdDORjJroxuUXWcYyBbhnNHcCMOorRQFfqETttTehEFtTkKeEfmTXxPptMeEzZiwWSsdDIXoXxvVaFfAmMOEMmdDbBTlLnNtYyeAaEsSTtmMyYCceiIjYyJxWAavXVluULvxzbBlLZAazeEbSsBXxZrfFQqRGAagUuBCcbVLlNeYyoluULHhxXOUYUiIznGetLJTtjIiBbltmMTTEvNSsnHhPpGRAladDALGVVvvgvmzZMVarkKgIiLlTtfyYFTHhuUteEFfmMWwcCypPZzYbBeEtczZiYyXxIXacCAxYyCaFeEfNjyYEXTtpPeEfFJUzZDduWwloOsSIibBtXxIiBbTaAXxtTLbBkfFaAKzEeZtTOoTtHhTttTIiPlLXxZzdDsNmMnxXSgGZGJjgrMmRzkKpMmUuOGgoPpIijVvsKVvyYLGgEelkpRMmwWCcRrrPSwWaUuDdPpzIiZZzAAanLlNlnNdDkwJjgGWkKKqQkVoOtTkUuGgKbBvsSQJnNjGgUzOoZuEePplLDdqlLAHhsSQtTTtZHuUWeEOozCcSsgGZwNnTNnEusSUmMeZdDzVvjJPpVvFEeRriIGgoOPLlDdmMmMpPuUaMmADdqQHcCSsiIhxIiWwXPTteoFfOQZzwWqMmxXEpBRrbHxoOkKyYuUTtpPFfvVkKXMmIEeSknNKzZUuserROIidDoJlLKkjdDbBIREeruUchHmsZzSHnNhuUmMLltFzZFcCwbUuxXjJBYaAySZzjKkJXxeEIoOMmSsixsGgSQqXjJxXgTKJjkhUutTCcKkZzHcbBLlCVvxXaAPXxjjpPJJhgGXhHxHKkIiwWUuKLxXlkyYWLPpvxjJAaXVOopTtPlDkaEvVeeECUufFcTXxcxXCOWrRLlwWwqGQqtCVvCcQTthHywWYJjqkeHhaPpAEKWwKkDdmMGuaKzZPpoONnOnyZzBbAaRngSsjJGgGDaGgFffFAuUdNuanNyYAjJOJvVjIiYBSsbDdqvVOoQyotTxyYavxXzJjfFZorVvRcCjPfFHgGhXxjXvVxJuSTtsKNxgGzZXnnFffFTtNxXifFxXIZzOommMMbJjGDdgyhHjJCqQcxQpVmMMHdvAaVfFVFfvfIZzioOAPpaIirddDDRjUustTShAateEDdTiqQIeEHqOHSsGgNcGgAabBVtKkTvXYyxucCUZuyxwWXwWQvsSjJCcjJQqbBaUsSCcuSsvVGgxXlLbTtvyYYyQqmAaOqkmMKKkQouUuUoObcCBQFfqAeElLaXvfQFfjhIhHiHXBPpahvAaXxyYVHHhEKkqbBuUQhHsYyfVvFSywWmMuUrRjJbGBbaQUuGeMmuyYcsciIduCcUDCyYHhKkHhSXUuxsVvSkKWnWPpwjJBAsSaVvGmXxBbrNnRQqMDdbBshHWxXKknNEhHXXxxXQSsqKJgGwWzzQcCpPqZydhHJjeEUueOorTtRtYyTsxXoOSHuUhDeQrRKkqEwKkWcCiLlSsnKkNXeExIvVIQFfqOIizxXXxZbBozWwMmAaSspnwYyWNKbBYyuEeUgGxXqZJjzQkPprBbRDKkdvVaMmAEGeEnMmNijgGJvVsSIgGrHKkhSsneENelpPqQLKFfkHhueEBbJjKkJjUupjFXGwtTWbBgCrSsqQrRiIqQVvOotpbJhHjBPjJLlwWTyYJgIiGaAjjQqeEBZzbZgGzJhjJIiHlmrDdGgRiYyQqIMvVvVUuwIiPpoOixXIBbZFYyVvfbBRrohHRrOtiIFfTPlSLlsuULGIiwWgPEepBbEenKkNGgXqeEAhHnCcCZQqJaCcqIAQqaiQFfYlnJjNmfFMppuUcKkUuxXEeLDNkKnoOqzGhHTtgtTZQhyYHdRduUhvVHSsVjJqQhHMmqQicCDJjBbwJjNhnNRiBSsKkblLRetTEgGHhnNZznNdDdnNDrzcCZkuUKkKDPWwHKoyfFYdVPpAaAaAaEOoeXxXxxXtTXlqQfFLzUuZxXxWlLBbeEHhFtTfVBbvtTeJjEbBHhPSspvaAVaAcCLiUWwPpkKufAasMmWwDzZdmsSMEgyYGeErVfFNnvcaAuUCXxBbLlbAEeakKFfBbSsvBJjbGZzrbsSdDxXeEBYyRTeEhDdHttLfFlzpPZTgVhHMmqnNrRbBXxTtvVFtTrRkKfiIbBrUuHymMPpYmYrRyvVMiILlUuhFfJjsSDdVoMmOxXvSsJwWjygxpPXCdDxXcBbEeGNXxVFfvnJjMjXwWxJEeRyYIiLlnwWxvVpPxUuXIiPpHaAlLheMmNnExXuSMmZzuUGVvgcCjkSsJjAaDdDkKUucCCcdAamMmMUuJjJZPpzuwVvOoRrkbnluULgGNGOTSstoguUIieUuiwWPwNnWBbPpYypYyKNkOoNnnuUBboOsStUuTNJRhoJjOxXuFfUHWwYyyYjFfJrhHjJjIiiIBhHNnAabiPCcCvveEzZZzvrRVvVRpoOPVTtVTuLlUvGgVDuUdvOoWwXUuxVaeyYSUusIiEfFQEyYewVvhoOCdqQDcjJjCcoOdDQDdqCcJHWqQMmtUOHhopPuqJeNnEjQNnbQqbBkSNnaAjJNFfVFfXFfxbZzBvmUuyYmMFfnaANBbzZTtCcGEXxssSSXxGgXxeIbbBsSXkKlLYyTWFMmHhfKoOSskwBoObnNEeLgGJjlHhpsSOoeEPxjJUyYueEXmaoONnDdeETtryWwvtxXTeEcCVxXMmvVaAhHAaEeTtJxXjzTtZpQqPQheIkKiEnaqQANOolLDdcoOCryYgDdGOWwoRHjJqLcClROnUuTjJMmtNmlLMkKMmmKTtQqkHhMdDNBnMjhjJymMjJYagGAZJoOJcCTDdhHtKkiIFfjNBbrRnzDdTtMmZmMQqwfFWbBLEexXlmxYyXMNyYYAFYyfuUEdlLPplXxXBbiNjJPpuVUuvABcCZzbaZzRrUiIzZnpPUuUEeiIyIiYbBEedDnNRrqQqQVDdyYCBllLLbhmMAlvVPLlsVjJEesHmMQdvVbzLlZBDWwGgRoOKkrFkSYynoONnaKRrkguWwzZOyYotTMLllLtUUvVuunWwOoNBoOnFfFfEYyyVvYeXxNSsrIiRSfNqQzZbBnFqtTIiqAyYaQUuFfYVvyynnNNiXxIfFDdCPpqQzZFRrfbwWBZzsSjNnJfFUmxXMaaXxqQIiADaAdRTtKVqQikGRrxEwWTXxtfFeXTnpPEeFfpnEeAPpSsarRSsNWwPHhaEeAAaGFjJfHdDhIiRrHLlhmMxTtrNnGgzBbZRqQXKrRgGxXqQkjdzZxXZZIlLiGgRrzrRMEZVvzeTCnNSsMmAakKUuwAaWVvRyYrhbBsozLxIiXlZoNnOoOBTqQtSskRFfXxbWwbBKkBrGgSsdDCfcCFlkKyYLEnJSsbBjbBNtTBeEdDSspPZzaAhaPUupEerGgRlSQJjXxNsSRrkmdvcCJjzwWZboCLLllcSsWwLloOzZElLecvNnVCmyXPIiphtTHfFxteETYMFLlzxrRILSsDdWwxVoOCXxcUuIoOBeEbcCAacJjCwEevViILlWrRASgGsVvISshGgHyhHYmMGgRIirIxXiGwiIAafiIFWjTUurlLmMRtwWZzAJjBbRrRrboOJjtpPtbwWBTYzZSTXlLdDvVxnwaRmzRrZMHhUuJjDYydeYyxcUuPlGVvcDvVicCXxbBsIjJiciCSscIMmEeyPVvTmMDdkfAaFKiIQqkRrKClLAuUEeONhCdyqQYDbbBBrUtTuDeEdsfFgGSeWksBbQqYyaANfFfFlLKkaHtThQNnqMmtaWqUuQCLlcRrwcCvaAJjVfGgiNQCJjcWwxhHOojJkKkKKCFvsSVfKqSZovVOoOZgGzzsZZzzRQPnNkKSINniRxXEertTdzZDQqxXCcKqQEekTeEeEtyraqkKQNdDLwWAalnyIxXnCcUAjJyYNnoOVvyRbBrslLhcCHSgigGIrGhzZqfFQHbGgLlqQAdDaryYHhoObBMparReEEiILlUpLXxlAaiIPmeEMwWKGgJBbCcjgGFfEyYeKkxTjiIJzgGZcTtqQCEetbXiIxBvVHhjJRrBZzbGgTOMmozfFiIZVnNvihuDdiIRlcCekKWwEItsXxSTIBqdDQlLDTtbBHhnNCcCcxXDxTtWCclkKLLlZzEwBbWbNnaABeoOWbBwrRoOkoHIiVvpPZzDRrdhqiIQeFfxpjTtWwYyJKkWwrRPUuWwXEsSqmMjJZzQbilLIsSNrRnhWBbwceEfFLldpPDhcCdDHlVvzDCcOxMmaRXNwWwWnBlLiAJjaIGgkKwEIhHPpOoXDtOoFuUrxjJWWwqQwZzXEeFfOoyYVvwGgpXeERrewWdDpgvVGfFvVVvPEWwxFfIRrisSRrDddvZJnNkKiYzZyKkvVjQFIiVvdDKuQqUxOoIiXzsEeMmSDiInNqQjOoVvsFGgfSeEEerRgGSsyYsScCPgGEYywMmWDdGcSsdDuUsSCPmpPMjJpiIsxXmMUsSqQcCLkDBuUbBsSPPpkKpxXLlpPbPDdaAKEekplIiknNZNnzoJZzQqYpBGgCcAartTUybBUBjmMkKvVnNtYyTBdDbAJjVvmgGMBbkKObSsGgBrRfFqQLlQqHhzfFCSsvKkhPwWBCPNaAMxXLKMmkNnpPRlLrVGgvEuxXrRmMoOuURUurwWsSYlLyrmUuQiIAaqbqDdXZzxQsqvVEeuUNnQDQqKkqhHQnBbEhHeMkCcZzKfeEFiITnNNnoOzgKlyYLXHlLhnNYyxgGQhHwWqHAahEuUUuuHcOAaWwgGoBbzZCYCcyUPpuEdtTDeugcCjJGUnqQuUMmZzzZUfNgyYGnvwlLlLtTGgfSRrUMoaAOxaAEewWXUlLudfkKEedQBboOZwWSwmMArRaPUBYyUHhaAubZziFfxgGPpXORrolLapPiFfIhyYRlLcXxSIispgGyAaYVvOaAoxXRrPCohiIHbSscCxXBOpUQIiqiIuDdebBIiEpeEhmRvUuoJRrjOBfTiItFqQbcdDNnNFtAaOoTSJWwjJjDdtTjJmMfZzFsQqsSVvxXMmaAAaKqQEtdDTjYyQtyYSsTxXPveEZzIimWVvMwZzvVWCchKkRUurfFcCiIWRrIiqRrQZzaAKkDpNhHPYzeEDJjdMIiYyHhbBUuiIGHwWxsDdSzcCtXxTCcRiIbGLlgSsAIiaRPpAfpPFahHbBneEYyDtTdNrkXZWGgwJoOjNFfnZKkYqQqxJjXWwxiINgGndDXIiwMmOoYyJjWIuUisCcPHBbOrRwWAHagGWwbYylhHSyunNcPjEsSezxXAatZmeaWeEQqpPPpwuUAalMJjmYyLoOMmEvqBbZzTSsoOXxRrJBbovHhVvVOiIChMmfFMwWCzgGZiJFfeEEeyYxXjPUuZYyzGWwkhGgHKBRrnmnNaAMNuUbZzPpwvVWgMIAaifYyycCYQqqfFQjyYSeEUuSaNnwCcfFWcfFZlLsNnRpPfFumdDRrSsMZgnNGgGCcHhNpVvMMlPplxXsSjJoOTdFloOPpfFrRLgGlteEOoLlTZzKkLmHiIhKMaALlLcGZsSxdDydDYXlLpwWlLmGgaAEeLlOWMhHLhHlOeESscCJfFrRWwFkKqQgsSYyKtTkGgJjFffFGOjdzZDwWXxYyPbBfiIJjDdJRFfGUdwWDuncCwWNgYTDdEtUuTYMmXxybBsSpJOoQJjqUtTaAjJuAaJCcjdiIdDpFfBQqbYyLlPJCEecjkKbBUuUZpyYtmMSsYyjJDdYRrynNkKrRXzZxrsbBdjjPpcDdCRSsrzttSwWsEehcCHKkdxmTMmtShHsnNMeKuUkKDdGgWwkHOohKOokbBECvxXVZiSdDaAsqQUumMYyuvVqQaAyzKklLtdKkDFfOhxXHMFGgPdDCAacpYROoaAXfdDjbBJZzFBbiIsnbOoGBbBbgtTNawWAYUutTyIxXinoLlOlLbBfFEeDdPlLYyRryYppiZAaSUuTtWwaALoOPMmagGAHhLWlgGLwtdDTQwYyWuIVvAaVvfEgGIiedDwWFEVULwWlmqQPBDhHdXvVVvxmMbDddDaAaAvVmWwETZzwYyWteMScQqCzuUjGgJyLlhQSnNsmMuUAgOrNnXxRTJyYjSHhszZObBPpxPpXlAMmiILkKDdQvvVVYyGrfFsRaAVoFfWwiIOGgjJvrKyYxLlmWNLlMndDNmAaUWwzZWwGnNgGkKtTMcCmbATteEFsZzSfAahmMLlHdInNiNnDayYyHhzZicCIXDdxYKVvkOkKoZzphHTtQqGAagGmMIupxjwWJXwlLwWqpPaLlUuUubYyHhFYhHysohHCcFfOWJjMmqHYBsSOoYybyExXesIsYDduVYAPBbMmpDyEDdeZXxYyzszdDZkKSwtnZwWskKSzNdsCcSlfFKCWwcuRifFIrdSsaAUVgGgdDbBAaPpvviSuUlLOjJPpojcCJSsXfFkAnNoOicCosSOIgGRwWfzZEBbeugXxRHhhLlHtTZPpvVaAzrGgjJXxRLqjDdIiJpONnBbXxpPeaAENwWjXCcxRzZrxbBRrmuUHheRNnMmrMmhoGXGgIAarOfFogiIkKGKoOapPPpirEewJjbfkKFWXxwTtTtHhNnltTmMbsSsYRUurDIidMmyabBAAaFFAaPpNxnpDddEeDPbBNfZzFJlzZLjwcCWsSLGtTgSNnEGgeiyJjsSZzNnIgmMksSKcSOurJjTtYyRaArRgyoOHhCcJsCclBhHuHhCcfEeOLyYlLlczxXrRrRdDaAXxHPnNQIiqjJXxXxqQVvgSmKaALQqEBqQJjlLsrUIOKkMLhIiNUubUuPpcCTtuwMmWPSsCcxinezzZBDsSKkdRrBbHFUuKzyYZGgkhWcCwaAHxZzXQqAJPpaMnNrJjkKtrRlHzjJZzKkWwtTTPiIzZpVhHsSlLYEvLxXxXLqQlXxoBbOLlLVWwvoOEeDdtYLsDVanNrRCcNNpSsPKYeEsQqaApWwyYMwWFfOPpNtQquUTnNCSsheEBEawMWHCchyYOojJwmNeEjJnyYYyKivVIkTazByYdVPRrsKhYMAamcCQlLbfFYycyZIpPiUtNEenMmZzfFJjyYFNnfBbXRrLrMmEGGgpPggGWxlLXBbwoOgXxcCrRkSjJsQqEuUDdWvQqfFVenPpNESJjvZzlJYyjJXxjPAvVatTptkpPveEVdJjnNcCnCqQNnCoOcPVXdCuWwVvUPpcrRgAWTtwoMmDGgJZzcdDCufhHwWhiIPpciIQqdDOoCAFKPRrJjGgdDGMnoyVgGvYmMUuNzjJpPIimMZjuNIiPpnGhHfFgRCcYytVvFCGLDdgGmMmNJjDTtdArRvVzuUUaXQqoOLlMmCcNnhHxdbeEBDjJjcCgGguZrLlRBumMknsIHhitTzZTLltVvQDCcTtJjtTfFxHxEwWqQeXDdhlUuLKknNXonNgETrWXxwRNntxXlrXxRlLLDoTeOobixXIzeEvVSsZCRDDddfTtLzZzRrtTEeZJjiIiIsVvcCevbAlLaURRThHtrfqOoVUuhHvQWjJwTtGgbNnUVvuUuBxnenNEnNZrRnIlWwYywOoScqQCsDczyYLSszuUsSejmfZzFxGgXvCcCmqQWKkwCcXoOxZDSPpsQZltTLyYxyuUYxrVvDdJjDBMmWwbbBkkBbkKJjpMmPCcKbzJjfFCGmMFfgigGvVISsaAYyxXvVxXHhCcLlnMmNRjJDhTNnkYyNnDdKtHuULlCcIRfCCEeccpPFEVveVfkWQqbBwJjEMmzqQZGgAMmJjHhEgGvoOxXwAKkNSsnyBaAeoOhgWuUwepbAaBupOroWrRwlYyiQqIXxZvVXsSbBhrNBbnRJwKkqSsVnNvVgxLPrRpreoOELXxiIoOMmhHAalHxXDJjwtOotsqQGDemMETZztucCHhIiUypPYxvVFXxoOiIfYyVvZzcCXGeEgoEeOxArPpNnRVvzORpixXmMIProbBHhZuULloOckNBbXYyEQIigGZzaXxSdDdfRrFBaAbwWDkKLxdmMDsWwSXrRrsIHhonNJjOidKxXjJLlgwWAaPBYybprRaAJjGYUutTxzZXUEtSfFsbBUuiHhFplbBLhHsMmAloHzZjJrLlyYXUXZwHHGgLEeztThHZixRlgGkcCVvKLMRiVnNTwJKkjWBeEbZeHhEeEedMmRrDJeENFfEeBDdbSsTHDddjJkuyYUxXOoKiUuIxXKuUklNYdCSsiFRCIiuBcjIiuUfsStTtRrohzcVkEwKkHhWeAaWwKusSnNIigGbaRrbhzskKSZaUtMmKncCySsnNhpzVdDXrrRRxZzDdrgGRlLWwmMkWwDdNsZsUAEerRaOozMaAmkpPKlgGkoOKTtRrUkBbbYGgBbwWfFyBKOoWZzYKkNnkgGRrWweEqYuUPEeKkTFfsSxaoOlgJjBFQXpOWwqGZRbiIWVSwWWOsSvVowRqPpQDPOopQqbmhswiIfFrBuUqKuUkPuUpjvgGVEeeEKkJsgNnGSpPhHprRoOiIiPFfITtPpRxXaVvAygZuYEnIiHIiWdSseEDFSoOjJlcCLnRrmMmDdrPrkmMKyYfHeEWwhHAahrQRMmrqWxoubBGXaKkXxsSmwhUuHRaSsRCLPGgVvLDdppPPZzBbyYldtQSsjEUuNnQylLlbBZDmMKkiHhcTtVvaAMDdPLlfFaxXHKnNkhpjFXxfQqWwbbBRrBXEFpPAaLlWwSKqQHfXVvxEejWwOooNnJEaxEeXKkAcrFfRCVlMWDdwWwGgWwGgWwaEexhHlLcCMxXmmMHntTNyoyNnYPzZePppUHPGgGDxXYytbBSGgfcCFrRWRrgGwlLSjJsVvyKFfdDhcCHYkKkFfLlKheEqSqQYvGgsDdcCzZSeBbEyILJjOcCHhovLlZFfzUTemxSYmMSsHhtkKTuLCbCcPsSpuUcUtTuVgGCcvrNnRYyCnAakVvHrAGgfFaDmxXzzZZLCcSsliIosSEANnaQqeRvVrOoGgQqFfHCBbjmEITMUuvOonNKkqvnNLCclABYyLkNnKhHqgGiIQmFHhcQTteJFfKCuUGmnaAQqNctTIQqiVvKkAaZeWwntPSsprdDjPokddDlwWwuRrUjpECjJbeEBpPnpPfGgnbBYygGcCigvVnNvVXxUNnXxhOoHwWVvkoOzWuwWtTHhUutTkKKkUAamMNnNFWnEeNVmMvwLJEeDwWUxXuxXdjRtTlLwRruUWEpVvBEcCEyYdMGTmMtgEZzPiIpaAegJjhHGSqQKksSReECcjHUuFfhGgPppwieEFfIbBNnlsSXKkbBiIpPyDdPpCcWwYugGcCUmMrnNRymMJjLBejgGuCHhcrwzZNQqqQgGnmkKTNgGpPnwJjaAWqcyuZSGnQBbawRQzZqrPpWTZztSsQqsWwjgGuGgnNvVeSsycCOCcsSoEeYJjhnRKkjrRJAadDYyWwWNdoqQQVvhHJVvlLXxVEHhVDQqFvVfFfTtTcCBfFbYdDyhnNCjJJjuUcHGdDghHtWFfwOocCohmJjHjGgThHDgUMNCclLDdnmNhhHUiRzyqQgjJCTteEuOoNCzZHeEhWfFkuUYyVvrIinfnNIOoKkUbBuauDdqZuUzHhRhHcCEeqQyxVvdDzZvVXwWPpsSIigGYoOutkKXMoOqQWKkwmfUnNucItTZzihHrRXFIiVvfhHBtjJjpPFcCfJTzhRzZrWVyBbtTYxXvhLcCSckKpaAZEvVKxXRJjrnNbwDGgPpHtTbQqeEBJOWSsvVlLnwWkKvVpPIichuKkLiOEeoTtILfvVkWwKlLzZFlswWSFfaPpAsSPaUuSsjoaYyrmMlLRFrRVzZVvvcxGgpPaJjIhHkDdMmvWrRYvoejJiIpPUFfUDYypdUpGnsbBSkWwKEeYyHyYAahNyYVvhHYmMyRrTtRQqTxAaXjJrRaALlYJRrmMhVGgDdfFXtlDdrRCcAaFfGgdjKSInNisaFfAIUudDNnHdzAokKjJOaIijJLGgBbSsIEeJPOoChLGIqvSLJpWhrnqHhQNoMnuHtnycChHlLZVbBSsFfmeEMeEvejnNzFfZJEKNWwtTBbUiSsIEgGTtenaHhANCcuneGgpJjPoXMYsSVyenpBiISXxstTthHTbiIuUInrPpKkhgbBQyYqcCYuoLllTrRQqLyYtTIiFWDJAaWwjdbBZzdyYaAxXjJSeEEesSsYyHhxXkxXmJULlVvIQLHLLSswDdhHWFGMWDyYdgKknDdlLrRQGgXIiAaoGuPzNCpPhHReErqVhHDLgGlLYyXlvHhVRrRFfiIKMmKvPpViufNniIFbVEcCcCXQqnNYRdYaAPpvVDkKTzZaACuUSQZzdDdDMmqntDdLWRrwoOkIiKriIjpPCcHubBUDoOdhatTAYEeUuiLrRofXxAolmRrMkCsSeLlEcKmKnNWwPpkvTtAafFgGdDwDdkKdDCrRqQcMvVmqQjZvgGAgGEdDeaArRdDtTzZYYdDyODdMmgoOGUhHWwRsSrdDVvsSELrlLhqQHavVlkKLQCuUvZzjqQJagGLlGwWHhFLCBIuUGgiwiaALQEYyeqQkaWwxkIizHMmHhMbPhpPHnLtqQDZzkwfFJxTpzwWZJbBXxwhqBbyPYysTYVvytbxuJFXxfDOlLzZHhIiikfCcqQxXrQqTuUNvVfATRrDKkqEeQdYyQvHblOoDKkdDdIiOoisJjShGgeEaAHIQmMDKXxDOodZzworRbByYBUupNRreESmLLllMqBTtAabAlxMFPBbvdDwnNFflmMliIcCPpLOrTEeRqZzQDdCkKcdoeEipGOoCCccxXZIkKhLlHizgPpfBbaAFYsZzIPbBmHhSsMQBbkSnNBbmnjYynKkNBJkULgGlumMHhhjJRdHPphrwWcCRDrfFRUKkuABbHxXIgGKkiclLCbBZKSNMmoeEvtUuTVwgGFfyYbRruUBWkbBKVvPpOnnYywWTtNsSsFflLDddsJqnNaBbNnKYyMsSmCLkKvEeVkKTQGgqCHfFrzrRZiipPvQltTHvqDWwTtmMmGQqQqtcCCcrdUuCfQqFNncDtnvtoswWSujJXialOoSstTSsfVvYimPXxpdERreDRhHteyaOfnIibBRuJCcNnNGgGgLQqXnDApFFEefZsZPttTIfBnNfftgPaAuEeUyYNnpKkGhHTwWBbaNnirRIHhAHhDQqdHLlXNnusbBSGlLHhBbpKRrgLUuhsgGSITtjJmZzxXrRkBcCYycCKkbKFfziOoIyuUvVrRIiaJEGBTtPrRcCzjyYnWEkCQZHPpdeExCJiIwWWTtwWRYymXyYxuHfLlaoQeSsEqOgnNGsSdtTDCccCFqQaoKkZwFePHhpCQLaWcCgGWMIiuYyyjJIPgrRmidDSsrgGAavtFfdDTNndDQqjdKkAauzIwsvZzXysSxXmGgSkOGpPgfYLanGFOohmOnNXxaSojJOsMnNmyYRsvcMmpPpPNnERsmVvSsMqQSrebzZbeEIyYYNnxNnXcDdvQqBjJQNIiEmMHhQQGgGgqRiILlNJjhXAxiIXPpZAaBYybvcCuBMmMmyYNVvAMhuOoUZzNqGginNIiplLIiNORIiDZbIiRkXxXaAQqaGLjJlgDywtpvRmAalLwExXtTvYDOocCkQqQsspGgYykKNYnPpNcTtFuaAxXrRMmQqWXyYqQJWqQTdIiDbeKcntcEOonNeFfzZClLmgGMQXTtxaCMbIaATGfQqUpNXxnCcYIiJnNOIiAaNnFKfFjvVQqQmmVvMEeGOogBbZyoOYzpPSsVRrsSSwjiZnNzgGIhXzZypecYyCqICJCcjMsSmguxjkvVpPoeaaACcAqQFUNLCLlLXwWxKfNnJjWsKkFfiVvkKFfoOIwLlFfywWPUubBkYydDdImMiVvecCeHhabwWqETWwmUulMYtHbBiDdCaAoOcLGglCijUuQBmMbBVvRrbliVBbEkKBbSIisuSsUwzfDhHdlLNnmQlLqPAvlLfqQYyXemMOoxXUuQqqXTtxQaAEuxJjYjJUmMiILllLwOQqoUZGhujJUheEbBmMLAalVeHaAMmaAVylAoOJpAhHazcCusSkiIpPotTORrRrKzhHipPxTtHbBhFIiqdnNKCeCEnDbBaAdqQOTtqQFXcCbnquZPpRhMmHiILlvYygGyYRrDdiInKkNBMDdmZzbAJaKkatALlySsnjlCcBzpVvPZJjytTYYyJyYTEeGgGgZGtTBcClMVvJwWjmfFkpPVZJjcCXxyYbiQwWfHhCIzZyfFmZzrMVQvwIvCqQoOjuUWwqQJcjUItxcqwWMhpRpPpIlLcrXxRJOPpcCoAaVvjCwElSsRrJjnfFNAatxRrsCcackCiIJflUusBAhlJjwZnNwhSzZPDdtTLlptOCUhHqFfNgbBGQnNhHmPpTjJNzSFfsZhHhMJQcCSspADOrRwWIEefgzZzcBbCugGwpZzsLhcVvCAaEOpnmXJJjjxHeEgGhMNnNVlLSsyftDdDdpPTsSEgCvVvFGyYFAafYyShdDVsMrRGgCcmQacCAwWNUfFMmbeERrvVtaAlaALKYyexsSTDdopPyTeEnNPteECcTpfFXeEVvJkKGwAaxrRuBbpwmMaAzZoyfeEJUuUuOHhHhoKksWwefFBNBRJNqQJREFyYtRroOTfoOeMWwmVvlhHAZPplZzLeoOAasQLlqmrUuRrUuiIZJjzyHrgGkKRuUjWGQqgwunlDwyQZfFzrxXRItTolLdxkzZcCQqWwKXoEfJjClFbzfNnnkEpJwWuUgNwWPSkXxKsxXeEZcwAatwNnLWwbTNpPhHDdYyWEewCMmcoQqkKJGglTVvtLjmWSMYymsBtTUHhwdDJwkPpPBbyTkKYXxXbldnaAvNnjJmMVnNNpKwWNoOxhYcJeEjOfKfFIdDXxrRksSKhHMNQqJhQMUlBLGgPUSPPpuTtUyxrRXxFtXtTTtTtsSiIwCcnWZijJXxFfRrIXxzYywcCNttDdTwWTvVyOrpPBJqzzZWwhHOoQkrxXaXualLyYxQFEePpBVCgZYlLpPMNnQqsSfFmVwPpIisCjJcEjlLxwHUuSsyDXMXQqJjxgBbzyahQqiQgQEMbBCHcChMmLlHOohwZzvVVEejnNJgGdDIirPcCtTsKkSpBeDdAvVaFWBIcRVvkNRnsGgoQrDQQqqdEgaXWaYCVvrRwOoDdVvmMcCGscaAGVvxNJjzZfDSsfFdlZzLFSwPpWgwWGsXxZDdPIifFHhzZMmfFsuUbBAaLlDdNlAaTtUuPpLPpswsSQpBbIvhBtTmMtSEwANdqgyanVvnuhGgHdeETVRTlLqQOrNHhSxeNnMMbGWwWwitmeCRsKkyykhHoOQRriIxXJTrXxQPpXdDgCcqWwbcbBocyZsoQXzZDAwWrRnNWwSFGgSWKkKkFcCyWwxXAaaAxdtSsyYTvjHhUuJqFftTQPvoOqIiAdBCksPytTMmqQQbBxXzZJtGwrATrPWwnfGvugGOoUOmMbDcMJjmCUudboAaoOoPSspawWchhHIiHviIVenNsSxlLgoZwBbcCyYPyYKLlJFfZzEKLFLJpRrDyYlLKcCkQqXKkjpPHhHTtZzjJoOTYytqKkQWZbyEeEOqQvVNZCegDjJPelLoOEViRBbZzbaAiIavVEyYSscCLlAEXrRJbcpOTGgtKkDonNxXeEWbBKxNnXOQDhsSItTNYyKWwyrvVVvWwotcOGjJKkRwrrMsjJMkWylrRTEeNsSFfacCaXxAoRpRrEiIVKbBFfkcYiIFeVTthHODdoORhHoOratIYxXWvfIyQqzZyJjYtTcCQqtbBuWAUKkupPawusZzgWjeEoBaPpsSAZyxXoRrYyicnrRNVCTbBNiIoOxXTtSsAzfFZZTtbBMKkBbsZoFeEmMMmLzZlfWwLqQWwmWQmTNnJrvVRjpPDdkbwWAaBtTBacSWwsCAIiXCcxcCdnQPgWwGmWwQxMBbmVElLevjKkImMdDmKkfpPmYyUuEeMyHhjhfCcyRySmMsMmYyYmMJjKifmMIiLAaJFPpYUmrRqpPKkQnNjJDDdAGtLlMmtcNksSlhXxHrRGbTlCQPpuUnkYyXSszOeEeEIactwWhlLFERreLzFpEeJjdoOSsLTQEeWwKkmVvgXTtxGjVPwgGRfFMvCzLlQtBbTLlLgTZjyaUSUubBLxYyJjdfvVFiIyiXxLkKjPIipJxXlLtktEIifgGpOnUyaAilLrRYyPLbMmToFGVvwWeQTtUSZzXmMxqQZmMzShHlLISsNhHQOTytTpLcCJfFjgGprExrRIpwWwkKWPYjJymMUuifFETIiLlecQBChHcbbBqpXdjJiJeFMdLuUQCcpPhHzIzcUunEiIpPrBoFdnjJlfdDHqQSoORrKOiIoxXhvJjLlQqkOaAOuzFpWwPpTqPEeiIgzgGEeajlLKkolyYLVvVvDioOvibByEiWZcCopSYgFwGLlQJFrRjRsqQrLllLWwFflNnxjJXspPOQbOoonlaALduvVTemMEfFPGgYjWnGgxHbaAmMtivEOoeANnagZzuZWdjQqJYyYZoOQiHhwWfFpAIigJFzZhWUDavVvxXyuZzwFfWotuUILhHSpuUVvPsSsCiBghHfWwJjLYfFWqKdxXUXwOoWxKkRhQzZbBaAfFfFNnsSpFzZWDrRfcCLXrRKkxVvlsQlLKCSTtsTnFDdfNFcZqkKUegAybIeEaxnNLlhDmMBbGgrReVXxGFkKaHBHhbnLlJoOfFjjNuUgGjJcCNgmLoOlMgGXxGnLOjtThhFfGEFfKkVUuHFxeENQqLABRWwlBHstTtOpPFfiXxtyXFfxJbqVhmxtmGAaMmknNqSrClLtHhOoTUucYyRjJHQXxqStBMmaLVvoDSsdlLOOYcCAcjKZzWwkJCMfaNKZzrFwSLlsNnhHzmMmMNnKkrTjmMmxXuUSsMUuwNnWrVsSIilLEHUHNfGZeQqEPpTAKkxXanaoOlLqgRrvVMEeXlxsARtKkDdukSpwWhAeqQtvBWVWwwovPmMcCMmpOouAuUNwWMfFfSTyYQMpPmHuDdfwTPXxlLHhBbhiIHsPuUpvpNnPJQozZOjDdJopfGtTxbBmRrMBbDdGFQkbUJkCkKcfEeSdsSCZyFoaIkRTlTpQqBaJjsOwWYynNBwWUuDcCCcZvVljsSixcAvnaAjJtAOoKkyYUuaEJyMmsmHGyYEeblmdDoNntgGyxZzZzimcVvXxjSEepPGvcaJjpNTHMUoOuEeTAUyNKpPFlLfEiDZqjUxXaZsSOBkUjoOyCGwUnNrEwSsRrmMBmMrRbVjbKkvXxVBYyssZyVoOjqWAbaAUuBXblwcCnrbWzkKZuUCcoKpZxXzaQqJjJGMZIivVYypdsSKIDLliIilLLpPCciIriICFfrvlTOoJjFxzZXEJXmMxjJCcBaAbzZjrRvJjsSMfFeUkKkKeEuENnjJYyqaAeQqfFKGklsSPFUucCRiXxmMIrSOfhHFTjdDwOvmMssFiDtTBVCQlhHwjJUpJjnNgGYyPWJjStTseCcEkliILsnNwvhHQqaDdAIiyYbDdBNnVRhHQqUJjuzjKkEYEPVpPxXwZycCrqWwKkQrgEeZHhZVTrXvZeIiJihFfXxxjJPpBrXxRpEeeyFfYEPbgOoJUuVDdoOtTEcfYPpyhQPcUkzhoOHzZZIeBbEZzBStqQqQsNSWTMSscCmsSjJTtskggZzdDxJjLlPnAjJagvVHhGfoOacJAMyfFzSszfFnlbJcHhmKksWFoMmzZQaTEetwCcJjWfJVzyYZunAaXxsFfSciICcYycTvwKNnRrksSlLxOEsSeGkuUEShIIitnDrKkuTthjJcNndDoOCFfcUGBbcXxCPVAamMmmNmGPIifFiIcjKlDdLtIcsimDnNvdDDdRJXxuUPsMNnmrMphZzWaAwHPPYyGXadrEeRIielLbBYqQBbpcCwDdnAnQqyuPpvVmMnNCOodZzUyYuLbBoRZGSsgmDtTCRHhujyYJDrRmMbBAadzZLUoUPpwWQPFdDtTxRMYfzZCIRSsvMOTtosPmkKUupPAaLQqlNnLRrIKkONnoFtQqnGgwsSeYqZoOJjzQyvRrAYrRuQZPpzlKkSsLaAsEeKkxWwokKOXzYyRlLlWBbaSfFsKYyFpPOJjUuMmnaYWwABDJjHhRUuqQUNkKxrXoOQqKpTTsAtdDEeyYlRsSRTtTtfFdgsYtgGKlNnaCwMZnNzDdkQgGgGKLlhtJIDTTyAgGbBMLlQzhuUEeHncEZzrbBRMtgGfRrBbUuDMWxXiBWwjJrCLlrRjuUlLLctTFZzgGkKvVHhdbgGMmGamUisZzmlkKYfdDFvgGVQdDKhIWwfFnNAcCaPuSIdPlKkdcCDGgLKawWNnAizRrZZzIkLLGgPPwPhKlqQCcgGOofVvuWKhLdDBVQiINnXTtuUrRxNZKkHWfFpPjRmpKkmMaMMpIffyYFaWwjoMOBbkPwWQqLRSvVeEZPUqQRrKkuRrpzUpjQqgPpIyYlLlYeEyrvwzhGWfFEeBpsDdeEZaIYyQbBFpnWwtMCcAaPCqQploOnNVvwQaAqGFRrfGEegMvdmjYbBiIylxDiGsSAaGAavIJjitUuTVgUAakKuUugMmByJjfFsIqQNnTtWEzZIYxinNySswWxCcsVvOoWZzHIiWwlLxquYeEysKObBYyonmMNksDTqQqwWKkQtKVvkbyADdaYKDddjJDXEJjvVeELbAdOLlRriIQJPVylLlJjCcmMkdVctTGgydJIijPpmcCMhQsSsBydnoSsOFfNDrRYbSdnTVMfvhgDdCyYcQqEkOZzGgoKydUuVNnvQqDYesSlLVlQqcaWwVXNnxEevpPqGgJNnPQmZJxViSjJscfFtTNnCUkKhHLcyNnjJTAquHhUxsSXifFfDvDFfFfUgGZzrsoOuVZpAaSVQSNrRrRehOTtrJjAFfaVvBfVvfFbZgNNnRkOfjiFZwWzdWtTBbVUuUXJrRthoOZzUuspPoOgMTtGgTtNKJBiOoImMWwakKQqoOQqjVYyGIjJNRroOOAFidWwVSPNduArlzjRSGhHNQlLqoOgGVbhHgGYljZXVaQhONnOoutTbfUuaAOKkKGggzkYyqQbBvkKVbBlOoGgQqpPyYnNBAUuMIhKVvkIAKCCcODhHMhjbdDSsOYQNnqFfeCkCcnNIiJjhHiOYXKAjrRQWWwIyYCvQqvVVHheuUFfsSEEeFfcDVvoLoOlONZznRsTxXniWwIsSNZzDdPCKkoOBbcnLZzlQWMmnNOjJzZBxXbgnPYNByeEjJUuzZZpPphKWwKOlHhiIlaCcAfxWOxCcIisSRrDgIiGrLlRIgGPEghHyuUPpvOGiDtXxosuEeUiISsSwuUKMHIuLlljYsmMMmvMcWDrOoTkRHQmBLAasuUSQqfxXVGJjeRAHrRLJDTtKksSbBdKHhsSAFpSqHhcCtZzTQbPneSuUcobIihHskyYxXgGgfLqGzZgQaDMoOmdcLsEeSqsSQNnAvUMvVLlaYyAjdDNRrDzZcJFfCSWSSXHhcbDKkdGfFNKkpdDpfZzFwxANVvpPThHAatCcZzDzZzixXwOimTXTirRMYweANnHhHafvoOAxmFfiXRnTMnNGgeDtTNTKkBbUufFgwgGOraAhoZzOWrnNRwlLuUNCKkTKTtktpKVdDJrRDhHpiIOjSshHMtTNkAaKdycRFkKuxXyYuVKdDNbauFeuUHhEPYJDdcoesIPanFqQoOBPAEBvMHwakIiRrxXfFidDLlqblLxXIiuSsUtTkXRwlYstpSsuDkKxXGhHqeEQNCdbBZIDfQqdxOhHQqoXCoObWwGgQqtSXphHpPQXxLkrRKJmcnNDyPBWvTWtxfFXDdrRYJjooEeSQqeuHXxYlMhwWosSmMLZCJQLJyYiHaARoSPTgoZWwmMHASDZzktLlOPphAPpYxGTtBcfVvoOHhYfuRreELlNXlLlVvwdEeBbkPJsfFuEeXFVWgFfGGoOkEISyYLlsvFisDJjImMezZTuUMmkKxHhGgdtTDggofJjCcFJjfFqQQqQAjqQHhdQqyiIUuYreERQZzXcJLljCzZcsOoGkKkCxtDJEcnuUJhHwCVbXFfVFopPjgIiVvvPOWwPpWqWtCSZzAaMmOzyYnNBbQFzZoOevVkKcdswQqplAkKxeYykKMHHAaBbKZzkqQBlLktTyYatdHCQILlrRQhyEGjJvViFRrVWwJjvfmMFhHZzisIiOmMFfsSZzIYdKzZPwaAXOoEeOoKdFlLLvVkEAzZaJZxXzcoyAJrrSnxXxaAdfLAOfVKZzYzZYhHheIMZipnNilAjJaLnRrgGrXzASsbBzZxsOWGHYnNNnZzUurRZWwzZzSNnfFKVvkHjSsOsSoTLltdWLlLCyBfFmMpMmKTwkFfKhUYLwWlTWwIivViItfkBLnNtgOhJjMNnekypSgGcyxOqQPJeEgarVvaTRrIitEevnYyvVxURrWwMpuUQqBbRjwNmkxuZqTtNxGhSszZHcCjYyYBblLkvPoEbBMUkjJOoKbbcrWABbNnkbiIBEvWfLlNrRzaOdDtNFICcyySLlsYmjwWkKmpPjJXmLuJaAiItMmVmmTQCcrwWAIicCaAdwWMmbBtlLTOtGMhkFceETtSyhHhnsDSHKkhDzznNMmlLsHMmnjdbrxMAHssnRXIPpDoCmNncqdDQvrgGMxwWoIZwWhfJjFHFfKkiIoOiIUeKQTTMQgTwAafKIifgnNcnnNNnpPhoKWAWPPxXgyYxPrRulbBbeTPpujZzouUxXwWAzZFhHfjkCzZhHvOqWbBBzAFmrsMDiIFfZzZDdzChsSHmMcJyqCcQwQqKwWKjWwusFfSQqsGSsxZFfzTtNEKkzJjEeZkZxSsXTaAKkhyYxXDELlQNYyeEnkKdrRvfFosEeSRNObJjgrIiaAqQzZxbBXdPYbIEeDoerIthHgGTGgHSsgMydAahJjIvVaWwACcVvnnNqQNHsShvwvVWvSxXcsHHfFabhlLRzZUubmdDxXDnNrRbuBbzEeyYKnNXoUJjPpzZBxeizhNfGdPpsSbMmGSWnHhjTFmFgsSZkKzGizpTcCtVvSsPCRrKrFPCcpLlnNhGYTtXAtTatLVvwhtGbpUTtvVOooOZGXxgLBbOoBeEpuUPkKeedSdYjXYebNnOiUxMmlasvSfXxhHEeXxvLDJPYyfFPDzcjOobNnDdrRqgKqzZvyvXxVUVICAaciyZzYTtLgugbBGtbeSeGJhyYuVxycMlLJHhdooaqQslLRzZrSZEhltTQqLeHhvVrTtDdEePRrwAagkcCoOJSbAJlLdpKkquUQMMmmkPpKKkrjJJiIYQqyNnAYKkrmMPpPQqvVuGvDVvzmCfoOzIeIaAVDJIaAxXYiAWshHDgtTofkKqPmCcqQllLmyARFfiIDkgIKFTLltfYyAaclhighHiIyBOApgfVamoEeOqQMVvmgGNGgrgGREYdmmcCxPpXxXimvVMpPIFtrAaRnzZwWNbLpQxXBYykKAaeENnPnGVNnLVvaFwSxXxyrYyYyUfFpFXmMWIiKAGWDYaSEgpSgAaTGUuUdnhyTtJXNqQjabxjWwALlWwSsaeNmsSaAhHMUZgLnRfbBWOyCZzoOcYVZzUrikKDUVIivLCcluyYkcCaAfeBbNarRUDrjiiIgGpSHXueEQqKkUMnNRGXxVvQqfuTRuUUJmMJntHvVhlCcNJHEehjzGQoGRrSIkrdvnvfFtTVNYsKzeEIiByYymtukKUWjSsqidDiJjIiNNVXaDECHhKuLpANnczijJUuUWwTuUtuaZJckXwWKJfTPqEeQpuNPwRjJUtZdOZzVgGvjEQYbdiblnCNncIiVvfKJtHfWwABMEIZzmMffFFvVCvxOHUXgfJtOcCcPxXQqHhqGPWnlLJTBbGIiVBbvoOsKrRkdDQLlAhHvJtwnNWLtTrycsCyYyBUFfuxXbdrwKSsyAMqpXRjJVVtTXxSreIisiTtIBpPrFNreNhVvrtydDUzfFXxXAcQBKkVnaAwxXWNvVpItTBccJOfKxGbBpEeuwTPwWxaERyhDQqVDYjjbKZSYKmMbfFBdDQpKTEetjbBsSREWwiIerNjJnlUOGcXfFzZuUxgGiSsFfIkKYyzDHiIDwnIyYtkJPpuUOUISAxVUurGnNXLWZdsTtGHnyYQhHwWvoOojEArPpIwEvuUVeXxadNKnGvDuecipPICIkKVviEwWdDisOPrAahksRPdDphkKWZzZsNnSaAxQcHJdGgCcbJOzjxXJnNZdDOoyTiZzZKZpPhtTUkeECwWcGgKPptrfWwNbBKKVrRpPakFfKAatpyLtTlpQltqQteQqjoZzOJEaZBbPHLRrPKLlDvJjtdDRrRVOovqnIGgAuUkdNtTEerRXxxRPpruvdGtTgqcyVaAezZJjzUyioOgTtlLRrODsUZaAUukKEOVqJVAcsUvZeLHhkAVveEaplZUCjAadymMcdOoDtXJOzZOudHpTpuTWeAfFaxCcKByAwWaYdbBDxGPeEjQOtXxIwJbBjaAHqhHPpSYxXoZYDzSsgiBbOfFoIEVzGTNhYFWZwVvnhHiQiDCwRrraxjJXQqsgDdHhwhhUuiqQSSNGbtTctTHhzsWGgwchbjcKkbBCJqRutSyhNnoOodDdhUhHnXxNHuiqQieLnCQPgGpmNloOLsaASgWwGndDPXYzyKurHYQGOogwWqbByeXXxmoGQJjNGaArBpghHfFqxSXpNNnWwVOkKmWdoOuUQCchwYvJdnIsCusqknKjcZzrABbYBnjUUOoupPoVUYYvelfXXFIKkGdgGBbhenyYRrZzrRCEeEsSeDCVbRrKEjBbzKlLIiMGOXnqQqhiDXuuUbetZxoOoRGgretLlTGhtTHJjgDdZzIkTfFtsSKimroFqqQFfGDoOdaGTFKmUuMfeEFaeEAvLtDHTthzwpKBaAwaOXlgYHhpPhHbUdDaNOvZSsPezWvBmUuGHJjIiswhHVvWaXGizxyydTtDRWwrqtTOosJYRPfMquMmUROodWYdyIkldyYBYyxNnXbVcWIxzFbJhFPKTtuBbxhgHGeENlLnXTtxcrOYyoaJaWVvjJTOSsChEtTeBPpbHFfVRrvHhhTSFjpPgGJLZzFdCcLlmMVucrxKRrrdDsuUSIoqQkEdfFbjdBbDPpJBDlBdOAqZIityoOZzWqQfMkKJjmOuUBbDuUtzZBbOovCXXFmLlAcLlhxXRUHwZzvXAKkpnyYpvVcCcITkKRdEeBhCzloOLWwnECcecDNnXxOIiUuAaqQRIVvWwsSirTJUuWrRQVvTtiGlLmkXxkYnzBbCZdcROamlZvVzOoNDdMJjEiRLgGIirvWBujZiJjIKcVcCggGpPabDlGrRiIlMQqIiRMpNnioVOOkUPpalxAvyIiYuFMbmttTAzGtTkTopAYNnLnVtTSsOOFnbWjJWCcUuTrRtMmMsSZzsSrndmlnNVWRcCvZknNpXxlNRrLlMmdEMmEpWTpziBMmbPPRMjbBxaXxFBbgCDwdUOKkoiuXcCxdDgGfaklBbOuJjtOAyYDVUVOowzgZjhwFwVznNpFfPuvLUulJMFNbBHbpFfFGgUaAuMNfFnqEUueqbiIPpLEeNnuUJGDlLlmHFheDdQArggtTIiGGMNOEeSaAnkoXSYdUuDyvVcmZsPnjxAEoxYXOLSFIaqQQgvXHhxYwWcUuVYYiMmYAaQpPHtTnNkTzFzDNoOnhdgRDWIndDVvmHhjJIHzkKZejgfFQqNUuBBfFbbiiNoRAgqwWzOoeDdqMorROmXxrtBbSWSBNXxnUuITHhtItQkcCKqqQTQXNJjsVvCSTVngUtMmTkePpbBEjZzlRkKrtTLTuUnIbRkKpyAOjGgDHMmyYDYdrRlHsvoOwISUuxcURGebKfjqrPCRvVrBaAbcLwAanbYvVvVyPpPCciHizXjJxxeEZWNjvyTtCctNgGGgzxXSHhAhTmMSsQUuLBYLVsSzFkpPSstqHwWWcfFJjcIicJjfFbtpkXlgroJjPVAalIxXJaVynpDZzFPmHDqQhHYmwSbzsSxaAXqMmPpYMsTxtTJTtmxhigQeFsSxXikWqAZHVkEeKVOWjJcysDFOQGLlgqyGxRxRheDXxGggGWeEwdEnNHrXrXgdkKwWgGDYofdSYCwovVqQJjvviBrRbIhzaQwKIGEeEeMmgfEeEqGIHXMqQEejXtSmyQZBsWMylLdhaAMOogGpfdOoYyPNYvAvVsSjiTtLAavpORXxGLlyYngGNLvViIdDxKPTWwBCCgGCwhQbbBBTKkNHhnzZKfZvlyblrRkKqtHaWwsZsSnTYVJFfvVnwzXZIhiIIpoOBTtNWmMQqlpRQJFkBfFEgruCXsiWMmCWwcVSaAhLzWwZDydDUJjudhZzdJoaYPrBvViNrSsRtQqJrRKuGrRNvtsFfccCSvDdVnxqiibswsTRaARrQGgTtlLDdEZQGarOnIvVIbaABnhHGJETthxXiOotTtTCcSsUuMNhHUuiwOobBdrGDHdZfZtKhrRqAayIyyNnvCtTyiIXxVGmMgGqKkEekFfKJjoOAifBbUusloGgxaAyXwWOeaXJNpSzMCHhfPpFsxOKuUNaCcpMPpxXmPAsonmupPURaqDdEHfhMcCLdgjlBQaAQHhoOmMmfPBuUhnoOfmjVUAanNEeZvWfWHJzGBbCIicZWvuvdaohAnlLNaHTjJUowWLNnoOKyYAFUIuDWdiIcmNnFfMGfAXJmrpPppIZuUPtwPeVveDUunkoOKLPKlLzpLlPVrwvLMDmMvVNRmCcihHIwwBNfoovNlyYyYnNyaPcCOtKgZaTMCcBmfUVaXLAmKksuUXhgFfGHxSMuKoOokKLlbjsSJBoiIvOInNPFfFfmrmGgLiwWIzZgLdBAGfAaIHhiFvKkCtTpPkPppIiPzJUbFfwVRlMInimrIWwemnoOLMAtTorpwWPCDzcDdgnNGZNyKKzQqZMgIWwZzqwOojtXxqQooOdCsSNmMMmZcHbEeDrtiCybBYPNPaxDdVWhurHCaMfxxYycVTdfJjFoCcFYywYTzQeEaoDbigGILeKOikOolLKRkXQqIijJRsSCUjJvDyYfvOoVlfstzJjZHpiIKIikPhHcotwDdAJjjARCgwWhGHXBbUsSfFkpFffHjAaBdMZzmDfZXiwprRPCvDLKiYDywPpDraAQmYPpyFpiIryfFjSlLQRrYZzYXZIgxASAamMJqQjjOoJhAagMbdDVwZEpzVwWMnqQPkKpNaXxAmonAOouBUGguyGLQqxoAWbCcUuVvkPWZzRrZdTZzlVcCDpPdkftYygAEegQgGKkMZzmHhfxXORMunfFCKkcNUDzZdRXxmqQMrnNExXOXzTiIEmMBiIUYyhuUHxdIHQNxoxXCiIsxKkXSkKcgmBbkZJekBZzvnNcdsxXScnNRrNEHDFfgifxxFLEIiVyyPpuvOuhHJNbQBbBbqIpPioOyaRCVZzSsvJkNKQSUtAaTmMcopPOuUSiNDjrZzRVyjJWBbHPxXpqVvOoHcChDiqQIwsSMovnPxcCsXiIQOoGPlcCLbVvRAagdDnqgOMmMxETthRaAUkYZyxpHhMqcNlEIsSIUheEuHbBDOHFflLYsLlTUeErQCcwWbBAaJjBHCyYSZnjJNCqQBUuJjPpgnDdssuUIHHWGSzZARHhWcdIqINWzwfykXxKWJjwHvVIinnSnNYyrRsNhHwWtgZveGZdcCyzrROyVjJvsQwWhLlWUuiToqJpgXQnNOoqhHLlbkBbEeXEjJwtUqQPAatPxXyYkKhDUomModDjxTJjCYDJcuNnBwWYybzLPNnKUpPRrHhfFrpPRugGlEzVuSCavzZjQvoeaQqPpgGAzuSdpPoYyGIYnNuZEvYCzZCcQDVKkDUudiIUXnyYiIDKAuUasSaxXifFNQrTzZVdkplhpDdzAgGaTZztATTLqPLlYPRqQDdrTAvkkneEFRLlTuHKkzkzIeUuEtYojBCcIiMmeEDjhCYyqXzwHryYmfFMSKHRpPpoUAaunZzNSIUdCcVgTMmtwNkgGKnWhHNLlknDAfaAFBJSsjbWiRaeJjPpJFfBbOVqEeyYNhgSoOHhDzaAwloOyDgGdYZzxgRUxXuvxXXasiuRYyrojKTSsbBmnNMmMiNWLldRfRoOrFrhEedZwWlLKkhHCgoTtuXHhxLrRJEekPqiIiIFfbBkyszSszZkBJJyZzdvdHYreAXvVHhptCcWUPgXkFojCcCCbYYyyioOPrRtTJjvbqJjCaxZuYTRHOosSnElLDdRfFnfsDdSRbgGiwWVvISVhHvQqERsJjSsvMZzmvrxPQmaYkVvWRDYcSCfFYDdRlTjVaqpPSmMVvgtOojNwUupgQpCoTjSsQqnNTGgvVtFGxumMZzhoXViyYrRIcCciembaMmFhTjkIiFNLBIDtTByqeJoDHhzZzbBTATtauqQrQqBqQbaAWpfOAaoFZznUyYgGtUuFjkxeEKCPpjzAvGgAaVIZAaCyYaPlUkUzZucedhHAqQmMxMmvnlLnUuIIQgGJwZzTjfFJMYPpbZknNSyVDRKdDieEoOEehHsgOqgZIigGnnNzZLbEeBTNjjurtUFgrmxhvVsPqAaQiIIPpJRuUduOHhoAnEaAFbBKdvVkKoOIRuUuvIiowOKkojJFUurNlGzunDdEAaOoJXBAJnxjMmpPYHNlLcUuCDugtGsPaAGeGgsArRydwgakHhwmMxfPuzZRYXsWfAOoOoSslvgNpBbGgbqPlBNnhHTfipEePIMYyMvzPpZVwWDygVvtTGetTrRvVnLlMIiAWwsSvFGPayOoYorRbYnNIiSsGIHLCkiGKdraqQAaYDEedMlLLWWEbBqQewwMpaAQKkFOGdSwajHnNYyhyYJIImMiIFfiyijdviEiZFcMZZzdVgUNnpbBRagGAyayYjRPDhvVHlLjaBsjKrRGWpRwWExXHkKezAHhOBbUfFuWwAAaaOEeDwQqWjmOoCYVvXvUHjgmMEsEZEYyewWzUuBTUPpSaAsGdDlvuSsSscCYVuoiIVvOULlTtCcQBbkGwWQeEBJoOCZdppAajdQqaAlVXxFsVSALXuIoBEywCcWXxxJnNeEyDsDEELlblWwzuIiPBgpPpPToOHWlzZAaTfFwMmWEevVxygHdDfRHhoOkwWcEeZlLIsSfMfwWtvVJNwsUugIiBDgFnHrHhRZKHiIhJjkIEXbjJWwzZuOxkZKkgGUxSrRsPpXDmRrMoOdBdMBrHBKkAhhSCsVVfWwFBbYpPyiHDYmGQqhiGgREiQqIOdpPiIiLlnNByMmOonNpDRaAGBGgonrmMOfVvAaiIFVDpMmRrnNPBbqeSsyYuUdHtzKDAaduUenXgSUKCcksLlSJkmMkWUuYbBjWwcCdmSRMfaZiIcCcCbwQoVtPpTkKcKJaOJUaUuATJjttEBmMLUJjpXGNwWnBbcCppwawkOaATtVvHNgGCwoOiIWGFkFcCWtGQqqmYyttyYqkkKEuZOozHhJjziXxOtTXmIiRVCaAMcOoOdixrNSShoOqFfQcCaFfmXRnNFfBDJNhgGGgLlSrRfFZZdNnsxXdSNwWHYslLCfKxXisSIxXHmgToskKSDSswWpPnNgGajmMJRPHhpxXqtBbMMvTLljUMmlMeExvVaAXsSxaFfAMJMYPpiAGgjJKkazZfngGTTtoAZnNuUiIJTtjhHkKntTeEAwWaqNnQFwVeKOoaiIUuZzwRbBCqQBYyEeZQqTtKkKkzBhHumaAeODdpVKyJUugXnqQTtJjQzUKkXjJKMQqnWJrcCPmMmoOuXNVnNARdDAGEejpmMofFCcXYjJjJEeCsPYKEmXrRxJjpPhuUHHoGThHlsSbKXxwWrRFTyYtbZzwWMmByhHuHQmMqWtTtkMUumPlhnNHLbYclwDJhsxXyhgwdSsDoSXaFfZxRNPpIPIzmiLxXlEHYjJyyyfFkvFoaljJFKkDQqXKkxvVXNsRRjaYOCjeKlfDkOoxWpkWwvVDgCcGyioSIBbfImMWwGggeYHDFfdaAqihHqchDaATAKbhhmEXaLdDPWVvSDCEfqeEyYZouMmUNnRhHrscTwQwoaApVZzGJOfiIvxBvFfnNDvPpVoOqQdcWjNCejdTXcAaKvVkKgSCSsxmYyMqTJrRjtDHOohJaqOGIiGbsoOSBXpPtTtJjErRidZzSAaIfVfmMQqFDsSdPpKkcCieKDKkdzjKkJFflLMmZgwvfBCPpcbxTtmMUSjpKWwSFtTfsDSKksWLxnWwIiLtTlUFyAaaAFCbgXkKyaHojJTKVvulLUddDNnzZsahIiWwRrzDdOGtprRsOrLlIiqQhIjJjleEqjgGcfFuUzlOHcCmLlLyhbBUEsOgGOyLlxXTRZzrwtVwbpbLlBaAFftTLlYdRrCKknNMjlqqQPTtxsThWwHpPUcCuLlBcxXQqDFrRKkvVdsSiDdzDEecnqyYQgIidUbBPnNTSyDdLWqQrxSmMOosKBQvVCclmMLIcCwWKAWhmVbeeEaaApbDdfNaAApiSxXEOCcCjypbzZBfUAPJjpBaAnkvUVvUXxfrMmCYDnVvxGgXmJoPdOojvkPWwccJjCnGgDdRrRrOoHRkKoWEeGvVGgGNxtTXnbLTtlBOogtlLndEmtNrxIMmxXMXysSYadDJjVFAhaEWymItxtMTtKkIovVdDWIZpPdBbTtnGgHhwgGWaXFfWPPndDggGBCxCcsswscjhHHhCZdDzdnJmuVXxZbfEQqecCtTFkKBzaqkKQDdEVvelORroCMmAlFGKSIiBOCvYyVsQqAabBEXNnxNpBpPsjJRrPfUSfFsuakjnNlUoOuharWwSsEgvzBbZFeEeCcElbMmqQMqxPpXhrOoKtRdwsDsSdDdSfFCmVobBOSeEyJLUihmrqPUupwRrWjJQRkPTtpkKoOWOTdIgQqoVYGexXQqnNpRridWwhHXwWowXFMmLiILQqeEokkHPzIiYRrbnTtypCSscNEeGQqBbrTtRowqVXxvNpGgfFeAaCcEtSrEDWwzZdeWwTtdgGWwwWvVYyiwqJakAaxyoIGgKcEyoqQdqQDBJEeHZzmdockybBYpNnPaYyBbiQqRroOHHhRrimablLLKZwWGFfkFeEIifoFwSsWBNnUoHPrRpoOqLlAvxzkKJLyxXiIvVBvngsrJIiGBUubgZLRLlaUDiIQqnpsfFvDIftlLTrRSsnNaonMmiGggvJUuAJjbjknmGSJjXhHxBbHOoTjxuvwUuyYzGgFfZDfIfFJFoKrrNnRoOnGzcCBFDfFdtTbFfRoEjJeVvGgHEnsqMmtTvYysiIJHaAovVOhjiIAaPdDzvUSVvPeEpRudVdFMIimICcmMnNQTtoOatYCEeluUKkjmMJzxXZuIvMmXjzMqJjpjQYyACJjZFfzLXxvZYyTMmtJzZjzEeGHVFFfmvfFaRrAtNDqxXpPCcHDbBYzZCvDGgKLYzZvpjqoHhqQYQxXBOfFobFfqjJGuaAUgRryDaFfBlOoeSsrRxkBwWdoOSwWSUQXlLlLJjzZhEeoOwSXYIXeEymMiewDdhHiSYbqQxXIPpdXLGgDsSdLleEJMlLDVmgsSPpWOoNnCcLPczZpmAaNyYnTNPfqiAeEzdQqDSPbwnoONgHbBZWiIVRYyLiGPpJPJlLjBqQbusrFfVvlfFdtUuTDwWpPpKKkomOgGTtsSJSsAFiaALlZeEzPmeLlEmAPMGgrJAEeapPhHuUwKeEAaksShztTWwnqvbJjlHkwUFLkHpWpbKkfFBTmMfFtiIpllEEBbeAaewWaBbApDYyjyEeYJisUFfgGpDdHhzyYZiaAHkdDqvVfFyLNnMSmMoOIuMgMmCsSIiCccGAgBVZzaAZzvDffFClJbBcRbIcCwmBbdPpkzZiIxXKFoOhSsHOoTmuUoOuUeCNZqMmEeVvmbBaYttwYyWdihHjTHXxguUyYFfVvGkqKyJjYmWcoOALhHkTtOKkoTySGDUurrLTmMagyYGSttKkPkxRWwCcXTtnuqQrdbpPaiILxXlRryNnANHhoBbfkimMIHhdDAwLPzZzZprZSqsSUyaVEWNTfxXilnNMXxpSfFmiIKkMmVriclLFymrXfpqiICcGgxhHeEmMXuzZOulkKDdUrcNLlndRcCrMBbzrOlDcvgGVUYwWNcCaNWPyBbEcCDAxgpmRSEGgQqOoepjrWwVkKdjJMjJKuUkYyvVISbGKkgBzDdIiZCiOoTkwWJTncCNaDdQqAWwtCpgMnMuDdUKkMGzZgvpFflLguCHURJjdgGNvVSseETiuUHGgvVseVvmMhHKFfmMgopPXEedDQqWfFVtzZCCNUVvvjFdDtxYyXTAqOfTtGgwmMSOomMeEXQqxMCfFjsSSsqQBLNZAaZJjtgGTSsYpPsSpPwWmajNLlnQqCAFRrNpXPpGGuPIipzzZZUwWKSAwWatwseEnSqQrRvVTsdDpPFfbemMEiBbcOoCKuCpqHFLlCeTtvSsjGuTtUXHIJjjEzqQVxXxRtvzzHqQhwVvWGRRSsiIZzPpBFfbYzeEgJsSjGWvPppeyeJZrWWwSkKtToOVFfvKBbwTtMzZZzmuWAmjJMaiILqDdcvbRrdInNfSdDSeEXHhxtTVGgOoEeBboWtTJtUuosPpuGgULlfpSsLKgkxXEQmXxUMmuVxxXXEeefpPOotLVRcbBcCqQIiRlIdvVtTikDPjZzvVJIxXizmgEejbuUAalLBAtTPiIkrRKnNkhKkHOkWwtTAaeEsSKwDdNnqyYQwlLCcWRreEMmBJdfFSslNnLDhHjRNCcWkKFfLkNnnNKBxawXxQJqQzZvYzSSXFfxJHhvWsSCSvVBbZzsYyQqcJjelLRYyuWgEejFfJcYJhHUuuKWwbCDdgGcDdKkoDdLlzABbuJQzdIecCknYmMIiuatmhtfFnPACbBVgUQqoOusOoJCMIXmYTErReJjOoOMXxLMmjJBkKghMSYjlLSseTNyhHYACcOoaVaCXcCIJLAadQqDzoOKkdQqjMmbBJHhbaALloSXxCcAbcChHPtLtrSsYyKiAxXrRpPOslLSfIiYzFlSsLfJjVvFAzZAVvaafcDsCmMsGwWRroOEeyHhOoYcCgScFKEeMmjuBKqcCcCfgXrRgFsSPCcOqjUuVzZXxSptWFnNvVUoOeEhSsxXqtsGgFmuUnuUAaaUvVVOWvwbzZVoOQqTEaHPsKUjbBPpJcCKkTrhHaSGgXqQLBbxmxYyXpqQPGQyYgAaMmxXMmoOGANAatsSzgFnmDdMhuhfFevRVvJtgGgGRorROafFAZIiWfRHhsSknAZzYyMmkKlLFmayoKklWJjkKwAQKVeEvkqMvVEemKkqAaQPpbTEeshJjsQoOKgjJMTXMOoGgwWHpYyyYBbPvUuoOQBjYvVTIoGgTShbLrbalnXmHhMfVjJvgGjJhveleELIigHHpyYFiIfPJorRsSlcCnJbBaqQANhAfOZzogvESWwsdHimMIXAiBYVvaCcZbBzGEtTuQzCdDfdtTDtcbBkqMmMyYmSFfBNnbFRrPIipShHsHDdhdDdwIifPtTQqoOqMoOmXxHrMmEzZeuRjTtNnqsSQNnJrDkQwylhHFGpPbIcMmRrliTOkKUYVPpAduwHfjGaPIqzyXxUuDefFMmEJjTyYeEFftwzVvZeEzcrRCUlLGVIlLOoqQTBhaAXNBbwwTtWJyprSsRtUUuXxDEeNKkOBqodDvDdVSbBLRSrJEeiIfjsSqxXcCgWfsSGysTtPOWnNKkwzwIeYICuUckKVvSsVIdOJcCAZwWGxXSDdstZzQqKkJjTGgxXpQtPIidDfZUEeooXxbBKJWiIwjpPVHklLskKhFLhHRzZrNDbWwVvBfOmMaHvXxVhAbReNYyfFCZidDZzZqlDmpPVvffFEaAFfjOoIDxPbgHUVvuhGBqQCEbNnBtgaAWwGIieukYyKUXxKvqQVkXeRLldDPnNnNpPXxYfFylPLwWlYtOooqSsnUuiMLlUumsEeRrsHhuqEgfOtBlpoOrNnJjgGxXRlyYLIlLYuNoCcPFeTKTlDdeEIYDXSsIilsuiIAYJaqcCgGQAztrRGhzZHlqtTWwZcVmSsxXBbxGgXEerqQWpkKvIiJVvMqGgtlDPfZlfHTCAifFoZxKoWwOaMmLlGXxXUuxgANqXxcrRLtBzZKkfFgMmLKiYyInCTTgadMjJWwunNyzyYZaAsSeEfjlFIkwWcChHyYrXxYFHJYFMikKJXqMpPwWXnNxpeEqMbBmlMmMmLNDWEkKeEerRqQkKJjwbNnoOKDdknNKtMBbqwPppPEeMPBdDbtTprRlSszZVvoOONoOnYyNnzAaKpPkSmzrRaxXnqQIiNntsSchHlLvnNvVnNCtTIOYODdRUuroDdzMmnNbOBbJwGZgGzSUUThHNneEvoORrVDdYZziOoFVwsWwVQqHhvBbwSsWhNnHZAazSymMiNnTAXlLxovEfzZqQyClLyYveEeEePcCrOcLlCKkAKCcsSuUkntuULjJYwYyaAKmSmRRWNnrgoCTOVWwvTFftRBPpbbBYAakKkniHdWwxXkKzZqMmoCckFfwmvgGVMnNnNOdoPCBjpPIjJicCxehHpFfPkJjKeEaKZzHhkeABUuTtrtTIvpMmdGEIdDsSiczfVvFnwWoeEeFfuUYBzwxXTSsPnNprRthJxKkbBdPjlLlfllLhHTtkehHjzZkpWIiMmzZzzZOGtTZzXYyAaECaAJsyYVvScCjcirRrRIPpAaCwWGKkgFfAoOOGgPpOBDdxXqQBoPpVgFNpRtGNEdDDdxXemMewWEngVvaRWghHTMrRmjDQqdlLqOhHpPoTtYVvpSKcbDjyYdDJaQEeVYypcDdCVDXvVYyNaAnYfwshHbBnNESsefsaTtfFdAaxqOSbBzIsMmMmSiYCOmMoOCBQGxqYyRtQQqqjqKoiIGgOCTtUucYXxYSrcEMTKkIOldDLvVoJjgkwpPyIiXHhxKkoOYUuWKHEehUKkQEequBmEeoOmQTtqEXsnsOokKZzSRotevVErvtiIyzbBZYDAaUNBbVvNAYGQDzZGgnlsSLanhvVHYyNWeVvTtsaZzATbHVYyEeiNnyYNDdnPqDdWCcSnTteESUupzeHhEyYoOnXgCSrRkKJjgWTtcyAwxAwWGtTVvMmMmeeERIitLlTqnNzZwWOfFSNrWwnCGgcKrldDHhLJjCNXxnifFbwfvVEbxXRvWrRHTtfKkFhbkKBPpcmebtTBqGqAaIHnNSsnNAtTYOoZGhHmEexdWwYTthWXXxHhQMmqfFtIUuiTcCUuJeSwWTtWyYvXxyzyYGcvuUbfqXAUxAeERKnNqZQSsjXxUubRalOoLAqQFfKkvVonNcCYLNLlyYneEsaASloOSsSstTqQWwWxpPRHhrrRVvTfXYvVxXpsjJiIuaAbwtTWkgGKBphHJjJjsLlSsSlbmMLlLlLuAaoXBbxGgOKkAarRbBmqUuNnHjsShHnmMoOmifbBFxXoOYyxXkFoaAqfFQCyHXnkPaADYyLBxytYIidvVDpKWjYPvVpyWwWubwdDMWwuUOoustMmTYyzZaASGpSsBkYyKbPaAgIiUOYEeyQqndHhQqDHhtLlrRBlWIiTSsGgWlCcLCbXxNnBdDzSYyfFspnGjPoOeKmMNFZBfkKLcmXbBxQqMSsFLlpDdPeOnNrjJRDOiKFfFEeosSOftTkUuqVvYWdoPpOBbOoLNnaIiANUJwWrRhhHYiIvVRHqQhpoOPMNnNoqQeEOXJwWcCjxgGnSEzvKkVLlrRyYLbBlaiILOorjnjZzrBbbUunbESTtUuUuoOjFJpPjYOxvVEzZeXxXWPUXWmMglZzLvVjxbhHBtYOHhLltGfFgXEkTJjvVFfBNnuUCOocuPyYVvpnObBEeokKquxXUSvHsgPpfVZEezJjtTctTeEGeFxXYvRryYPoezZHlSPWuUHKkzZhUZTtGaAFRriorRFjJVvfdaPbpPBmMqjjJoOmHhHntslLSSscCMuUqnQTtRrfCFwWSGeEgTtsfTtcFvVdDucodDTsPpHWzWeEvVLHhHaBbdDKkbSLFuUwVvWjEenNcKCAbBSXTAcCucCwWhHUaLVvekKWigGPrPHmQxUuXpXkgGKxPWIiXxwCXTgGicCuqQJVTtkKpPieEWVqEiIevcCmRtTMYickKFqIBFfzIiUuvXxMniIiINmKBbPeEpLbtTAawWgzkKDdKRrktjbLJNYaEeTAeEAjgyYdoODGaTtAaWwVqQhHrUuzRLaAlrsSUsSQNBmZzMxfoNecEckDQNnfXIZmMlLUcCZPjZzYyafMmFLYBYybLlvhSsEgGiIvBblLBeoWwzZOEbppPPjJoOfFHuKkMmJjUBbHgzuCcQqWrwWRoOIiuyXUxFUlwWLuhHVapQqMQqFZXxWHhevILqXxJooOOVZzvFfxXIcvVIfFhTXbBxyhHmLUdDUTtDduufFeEMlLFfsSKPpktebBwWCcImMiQcwWCcCBAEEdDDcCKxXvEejJVpYuUWSwFKkklsSdDclnufFyYXxffwWFEOKJXLlUGsSciQEPPbBCcpWwYxHJjJWsvMvVqJkfMmgGojyXDdxHLlhsScCDTtvVdPHuUvVhuzZFgUWwvVutqzZQiBmEecMmAbBxjJXqTyYNCfFTBbtWwkFfEBtAyYAaawUujHhxNjjJJFQqfnwRrUhHMmfCyNnLlnPStbBTSqIicCKdyVBbeWfFMrVPTXxgGxXzFEefZgGrRWdDYfFdXtTxFfmMAxKrBOoEezcjJCKkdronaAPIQnOoeEXYrRySspPxHmLMmUqQLluAalMmaOnNonUubUuURrVzquUtOoJjTQaJjSsxHnfOoFrdDqenoOuUgGBbqbmsSdDMYyHhjJVqhHQCyimTtMZzhHLlKkdiIcCYyDBBCVSvVrAoZzvVMHhHfgNOoeEKkAcClyGQqgFBboKEhHlLesMPpYxVBbpPhphHPHwIiWSWRriGgZUaAuUKkktTKKkDJVRgxXGAakKIMcCGpiYvWwVUmwwNnTtyYSaIiAfFjJcCOUcCuoshHTPptkKcCAlYykKqcEfiIWzcCOfFAxXhHfcCvVEBbedDiYyIAFbBhkKUTIinNvfFVtMgGEernNwLltTjcXDhzqNnVvMQqmcWwZzKeQMmqwOoNJZpbTSsWwMmtVvqQgejAIiYZvVyYrRAdDaMidDFfwWfFCcZzHFnVAavAaNsRrmMSfHhGgpPlhHGgOomMGkDdmfFMvVPgnNULlgGuUpPxWwXxhwWFCcFzCcZMmbByYgGbAaIiFinNTpztTrRslLSSzBbWwCcvViIxXLuUlIifPAaadPNnpNcCxlnjUrNFaADVvdoOoAYEBbTruUMYyIyFLWzZwATtIxOTpPVNvVTMmtjJTRKzZIdDCcHhAZzkKAXsYySxaoOfUIiFuUaidDkXxTNBbngeEGnNggGMdQVhLqVFfIIMmEeveEVXxajJBbARyYrRDdhpPcjKRrkJtRrHUuvUuVhcClmMckAQjSDyYhHkByuUYbiIzNnmMHIihhYyarHKjbbBYqQyUunuUHhNJixXINRwjJUunLlNWrMLlsKqmsSMfFpiVvukAaKoOUTtSKkyPrRIDddDCcOoOoOIisSDkKOlLoryqQsSYiItRoLSsJjkYmMkKyKuUWgiIlLBbRrGxXVpmMfmXLaQsnPHhbOWFflGgLNnqQkdqhHsSwWLzZBOkKoEehUuYydIiDOyYogGVqtaFftTFnJjtRFkKKeEsSDdFaAfIwWomMeEdjUSQLlqxXSsyYsXGglLBmMvVkKSTtmMjbBSsbBfFJKkPpEepYQHWZzAadDrOPqumMUQporRMmTtzZRiIbbBRrBjuUhMmtTHPtJjqQMeEmXbBJjjTLltWxMmXxbBXKdUuTkKlNxuUXMmxXhzZHpmjJMhHvVBmMZzmhKkZKJjXAgGxXtTKSsOopPmMqxDdhHXsSlBbjJnNoOIWsSsSAabmxXMdDSsToOgGtclfgAVbBODdoEeNnoOUaAupPWsShHjJwcwWFgGUuDdwWfqYyjJAhHOyYZzmMIiyNnYaAoRleuoyXxaVMwWmqQCLDdlcGgJjCczJWjJVDdkiTtitTFmMfIsSuUiIIiSMmsjJRrIKMyYzkKZzZiILOwWpPaRrnNkKFOYylIyJRlEeDsPpSoKkOoOXDdxQqfFQqhHdGgTNTtSsRrtgGoOFHhfTIiQqscpPKMmktdDKkdeEyDryxevvfIiMmFVBMmUIkuUmMGgkrLhHiCcIxXrRxldgGuUvQqQyYZzuUcnZBbpUgOTtiIxqNkKGSspPhHeENnSlLswmgfllmCcFfMcqVvQChlqdQqDKkwWgGIiiNnZzuQqsSjVvMSIisGgCcQqKDwflGgtLAIiEeCcgGaOUiIsSXOoxyaAGHRsSmMNRriPAazXxBbwWyYSsaAZYyNnNEYLlvyKxXkuUlZzEeLoOmkKxOEMmLlnNxUCzZgGgGcJjuXGgRrxXkzYZzNEeEeTGghUNnfFNmSlLOosEeKkOOoVbBvLlRHvVwPtTjlDdIisVQiglHjmMjJJcpjilmmMMZDhrRnNitTnNkJUuDcCLPIiaApSsXxuipPIUAGgaTpPVvvWwKkXxVQquUfTtFxFaAPpflLvrRcwaAWCHjyTtzZtuyYqQfFjJNnTJjtUrqQndtTDPsBbSpelpPfFsSxXOogdDGLENKPJjdDpPpkWwgPAauDPduFcCfCcuEcCfFOVyiIwwWVUuDKkDnNdbBdDdKZzizXxUhHuZkKjJAzZXCfAOKqQkfhHFrhHRJAQqYyplUWwQqWwuUHsSnNdbBtTeEDPpCNsSwojaAhdWMmBMmbBZzkxJjXezwWPXaAxCsCcNnSslCcHwHLRrlpCMRrmabBZzAcQqAaPZTtbHhbNnBxhHCFSsxmMTUYyrwWrRDdBbQGgIwWiUdltThHLDcxXCAqQcCIiwWYyEedcCMmoTtOcCIipkKPKkZzDmMiyYmMVvFoONiIPpZzRKwcnlLXLlFfcCCcgGSTRrtsobBOxUyYcGNnYZrIuSIiEUuesHnNnuGOoOodtwWyYJMSsiILlmMwWmOohKkMcCVvWwGkKgHOOodvevxjJQqXJjjHhqUuODvVnwPprNSeEsGgHEoOgGUMmKpPiIeEkoOZzdDJgGspPSZzSANHhnSsqPpNnNpPlLAaewWEVvgEesmMKkzQAaqfFUsScCnNLlYCzlLZQlllLLLquUdDQZzofFOBbtDdMvVxXWRUJQqEwWzZAabhHKklYpPYUuyQzZqxLHhTdDtWPvVyRrYnNJrHhluUGgdDJjLsmgGDePpFfmMebPerJjzZlSsWaAJjwfnuFfvVOohbBUuHwWNnUiIwZKeEUuuqQGkchHCKsSILFrRflzZNFNRrcbBFfePJjmwWMJWcCKkLUIiuDiIKOpJGgRTCccCNJMdDmjEkKjJoOGgzCMgckjYNnyEqsSCrRzZfTtMbBPpQqqQzpPZlbanNViIQVmNntieMJqQchbBbBXxOMdVwWveEAasSRtTOozZgGhKNBcTtlUysXMEtuLliIVuUrYyRliYjJGtTgVVMrRmvynNIisQVlLvrRqQHKeAaEgiIrRGBbkyXxkXxYsAFfaTdSsxXghHphKkuOoXqYyQqQxPEpAaLlwqQWHTRrkKkKPpVvtlydDYLtoOTcChoOOYheLlEdDAaHhJjXAgQqGQqJjmLzZveeEjHhOJGgFAaBrRbwxXWuSsLlGgJjoOPpfFqQZzsmAaMSUhAaWwJjksfewWBsSGgbxnaANJvVPdDIAaiAaApiImCIHfFhaAHZzhAooOMmPpEeOadeEzLVvIiYKFfkqMyMmYzZeJDdqVveuUETtTDplcKkiIPppPCWwXxcaApPrrRbBqQMmlCcLzbBZArWwWOooOMKevgGVIitTJBKksoXxOgqQGSXxbjEkxXAxCcgUvIipPjJVONnKUukxEeXxXMmHhDdNnXCcVpPvbBxXwUbiIBuRCcFtTRpFfRMsSXxNsHXxhfwhNeTtyUlLzGuUOoYFaAfrvVipxXaAIPXxQKkbRWSfGgwdCcmMjJFvVfDWFHmMMlLBVCcvDdZJjzavVArRdriowWOIsoOwWoOiAaIAavwzZxXkKqeJjfFmMYyEQKkXeEWOowxjJBnUuhHwWNuUIiVXxRpPpPrAavrzgVvQoPxqfpPbGrRLNnLMmEelAFyYfXLlUucCtpyQLDvuJjUVdVvlKyWqSsQwXBbxwGgFfWwuLMmgDdGZfFQSsKkqEwWeuKipPBbIUukSzTcCtZzSnKvZPHyYYvVFfcCNSTtsSsiVvIOokTuDdnEecCNAHDZzdiIvAaVcCWwsSBABUOwWoQqvVCcvMmCZHOTUuFJjJCbUcrfHuUhIcpPpPDZzgGyCcYySjJKksnLFdDfcCTtDeEhtnrUuZzRjEsgxXGEeCctTPpSzKktdDviIuJjUxXGgIzZrJjMmmrXuOoUIAazZqWwQlhhiIWDpPgGNnWmpPMwpPtMmTjJdkKhHzxuxRvVsLlShOLaLlFfnNSoODlLdhHCcbBNKRrzZknPfIxtTXpPhHtrRTcCTSsAaeuNnyuUUukDFfSqQRhHlrRsjJuUCcAqexnKDiIPpdFQmFfMqfkKkXxKKkhHCdKXxoOkDadkKDHhXweIiCcsSEBmMbWiEeIQqNnyYVvdtTSsgSTTWdcChREeCclksSKdDEbBexXDbBIbBBbidXUuGuUtTveEiIYyQoOWoObBjHxzUgGuwWcCQqLMmmtcCTMORMBbmvVoIoOiPUPLlkKEGHExXbYaxMDdmBblPphHLFfuUXWVwWearRqQcFfNnCxXQqlLPpeKFvridrGgcuUzZZBKddDdDzZOogGRXXzqPUrRpPuXTXxtxpdSsNnzMNnLvVKklcxXEkHhKyYeVXkKxuUMmMJAaBbENnZlZCdlLlwDdWNnLvVewWEWBbLbhHqbBrRQRaArPpbsSBBqQRriNoOaPpoOlLAkKvCBbcVzNXFSoOsoBblLORVvzbBZjJBbfbBpPsSFrFfDdruAaBVESloOVyYvFBbrcBEtOnNuUQqdeGOdDdtTqSNKuUUTqZzQJIiaAiIUujtbHhzUGQqwRrWDdbBJAuZanMygEBbeGYZzlQqgcfTOorMVvmSsNOonCcUJRreuUECceuUEeCcEMeEXLlAaxmnObBvVNmJjgpkfVvaAamDdDJNnjNndiIMcxGlKkLgaAXlLZzkKGgCiWwIHFUiIRNnjJrjaABbFhHfdOaGDxvDmMdlLDdpcNAaDEeKuUTPpfFLVswvVNnSsoOeKFfGeRlDdxTuzYjJDdCBKkrooOOtTiIRqyjJHkaABbSmMplLvWwWwDOolLeSsElLbZcCWwkQqBVhHvbAaKACiIcVvtTtJWwjnNWuTaAtURrAePpNnZzbCWwccCHcVcCvoDgsSGbBdOTmAaMtJjjNiIbBpPnsSJnolLmPmMGgNdqQDPpnnNSuUyrRkcCNnneEBPOoplwWLbiIPpnAXxnNvSsdQzZqHhMmqJjkKvVOonNqQQSlyToOAaOoloOlDdVlLecCXxyeEGgDdvfFtZJOojhtTLTZbBZzzRrkKybBcCYpPcKkCRmAWLTtlwjayEYynNeDdYJRrjEeYWgGVgGvwyhHNnfVXBYypPoObxvtTQXDdxqhKkbDdZEEeNOohHtTIXpUBnbmPpMBHrRlmoiCceEtTuRSbelkIiMGgsDhHdGpPphoQqOZCYyzIUuDdtTinNMmZozZVvFUVvUubBboOIipPEWweLvVDXnNxdKkaASrRWwDdNnrRHhWwjYGpPKdDpIiPnNYsSykSsfFUoUuIxWwQqoOXisCVvGSsqQiYybBYIsuUxHhgnNqQgGGMmUEeHhMmuDSsdXbBbBFfccCClItTiXSsTtwvdDVJjWVvnffaAIPpOodDXCceExiJjShHdDBTtxgGXLNsSnZzVvBWVvRIAkwCcnNWqUuVMAamvQRAxXRrgGahHixgVvXxOsSHMmZFfdDzTtEMXWwJcCRrnoZzgnNibBIGbBPQXwWxlseESzZrGxXUfFFQqrmMaKxsIFfnNVkKrFfTtoaAoMmOORpPaAVqCcQFRaArfAaDIeEidxXAaGVvVdDvWwvMmaUuAvVYyuDKktTeEYyfaAFoOUkcCqQlLmMFfCcLwWDTQqeuUEkKJjWQqYsSdPpeKkEeEnNVvayhHmMJjvUnNqQyWwQqFfSiShQwSfXxBIiAQcCOtSsBbTBbPpoWPUiNngYyBbPBHhgkKunEewMXuUkyYRkKrRpPJjZrRzrSMlLmByYbAaLlzuUZOoRCcZmMzeCcELlxXkKgqloOadDfPaAplmxXDdMIigGLFfFAatTLMTtmotmjJoOXlLxMBbTtovVYyGQqaTtqRryYlLJnNhHjHYjJOoAaZspzZGgkKEeMytTYhHuvVveylLYiUqlXjJAaYyxpzpEePGgxXZlaAAaXxyYFfpPaAsmMIidDulLVvUzIPpKkPrRCcVDdocCOvUuAiRcCzZrvHhVIlLaMudvVDUmBNjJJjVIivNnTtSdHhhHDkKjJOvVoqQxrGglLyfdDiImWjnNvdDIizZMpPmVJwLLlloTZKvUuxXgGVZzkPpKLlkYylLYUBVvbrRmMXxwzOoZEekKYfFYmMyyWIzcnNZzzZXVcCvDTTZJyYnNGSsgxXJcChHJTtsSNnjDdDSKXxkFfMmRMmTPzfFsbGgBhHZzkKZzLcCiIlqQtTuwWUsSSvCcVuCcjJZzDjPetUuwWQqQquUeEevVEyrfFfYvVtBbTyjJFrRjJjyYdDHmMQDdqhFpzfFZsSJzZoaASQWwqhrRHbPpBsCUucAafjFfJdDwWqQmMyYaXxAfuUFfFZzkKjNnrRooOubBUSiIsQXxqPpmwofFhHEeMAFfafAaFmaANDPpdtTnyUumMYMPzgCpPleEmnNkyEeYDdLlvVMfDtaALLlLjJTthOokKHMbBDdmmmPniITtNnJeEjzvVxkKXUHhYyrSzCBUubAVvssJbBFmpyYUuIYRryVvZzvVDdZxXzmMcnBbNZwWzCrRcmHciIbBRrcqQcCCjFfxXGgfFsAkKaVvSLlDdtQVIiAaTteQqAEMzawWATNnPpZMvVRrRrmJtTpVIiiIvCxXbnNjJBUYEeaAtTgGgGaAVvsZzZzpcCPViIvBbLBUWwSsoOcAaCuAiUuIJjhaCHhcohpSUuQyzjojJOgGFfzZyYJzxiIKHhBxYzZyXrZXhntTLwWlNgmZrmcCMRnNoOyGgCcwWpnSsSsozZOPdNnwHVvmLlgGqQOowGgMHYyxXhVmMoOpEemMzsSZzZzXxpcCZzLlPbBNnZqJejJQqfFkrjUuJRnNfngGCVYKhHkyrMHFfPPneETxXQqFfjJtNcjJFfaAwWCWwrHAzTZztKkZIMmFfLBNnblupmMWszqDcCJzpPZjFYygGMmEeeEsSDdTtPpDSsmuLlsXxzZFCcWVzKDdkYyjLlJZiIbBFZLlzuTtpPNyYhuUbwWBQqUYyOoeVvDdYyYyCMmcnfFNXhHuHhUqdDlLeEwWMJSsiIjmXbBxkKTtaAQKQqkLlGgxkBbVvTtGgqQDdGkKZOotsSXaAxmaANfFdpiPpIUuPlLnOZzoNOonNnNSTtYyyLNnoOlYVvYdDzZxXyBQqvVZdDzMkKRSsUeGgeElzZmJjZfOoFEeZaAzRrynNYUXxtTuznMmpcSDDNnddstTbpqQHPpVTeEtEeMmcZBzZbzTvVtxXZGgJSTtTtKkEZzOoeMmsTtuULljoGgVvFfjJGsSgaFfsSdDoOJcCAadDbAagGNnReEruYuNgGMmnLlYyReEbPkfFKdSswfFWKMmIjJvVmCcMiQqmMkDwWNbBngGpPyLlfFSBrRbsfFRrUujcrRmMBbjJCOpPKtTDdaAtTbBYyAaGgwqcCQWWwLhcCSRrsHdMmKmMDdlbLlYyBEeUdDwWctTeECgGuuhHSKvVOoycCiIYkgFxXferRHhuUplmiIMLJdKnSsNKkkZFfkAaDdNnAaxLlXfqJIjMmzsSVpPYyfFDPUuGgWVvRsSFffsSMmTpPWwdGfLlhHFgxXzZxhHwlLWiLleWsSVvbfFxrAXmMCTtcodZLdDCwWAaHqQIiBOwWjJqQzZJjKPpwXpPbBFNnfZzvVddbnNprRhHLdDeElPBkKbdwWDGgdXqQxbBDqJmkKMjkKyYIiMZzmxPpXQbBOoiIPpiiLBbiIiVvfFDdSsIDuUdjOvbBPpVrRogGAzZaJrUHOoZoOBbzITtCoOctbZzBCcYkKhHjJyoOXkWwCcuelLmKkMCccCAPmpPvVwkKzZWRBvVeBbIiaOoAEeTtEgRdDGYZnNzBvVbafFyYuLlNuTjJtUyyYYiYAPIGgipwWRYtDdTkKMkaAgAaGKkDiIdKmspqrQAaHWwXGgxnNFfhkQqckQqXlLuUYyEekKqzZnIQqLlFANnTAWwnlLSKCctTFcCfwvVhxXZzKGgkHERvVcdDzapPACcZHRrnoYxXyavVctxXpqQYTtCSCcIdCgLpFkKfKGgXxkCAaXvVJjWwlLqQUuWwFLlcCugGCcUfcCgGDdvVEYGtTsSLlgyhHrAWNWwbTtzZBTtyYtiIbBsytyYTTBbCcBQgGqFfFCcdDfVvaEeoOEuUDduUIiWwHCcheJNngANnaiCcBbaTtiNnAaTtguUYgGyVBbUuvSEesyYzkxpPXKpxXPEMdDmeJjCWwcZEIieGvRZzrcCsSSsXrRlEVveuHhUiXZUxXufOzZiUqQuuUIBEeVDMKpKkPIiuUnIiOozZEyYedDbBqsSsBPpbLXxAmSsMHbeEiwCGgcWIeqQkxXKcRDdrZzvmZzMKEeGgMmkVKTtbOSHcVvtoOmzLPPpwWplDJvVnSsNpPVMmyYPpvunNUgNtggGpPKVvmMkKPpqQIzZHhwWFfIiFfrRgGvkeErzZzSsQqZgOoQqlbHhBLMmGAAauEoOevBbtTVjfFJsScYQaASssqQxxqQUuXuUhHWwZzXxAPpGgGgaVKATtaCcFiIfqbUvVFbBDTtdFwWcCfJjfUueEFjJlLfulLXxzZAKkaejJhHkKEcCCcqQuUvwWlTtVvLVvWjJwVTtBoOblhiXxIHLCcBQMWwfFAamrRdDpiIeEUuvZzVTtPTtkLCclTtRrnGgkTtjJKwWNTtFfRrTJaAjFPpftvXyMmYCcbDdgkKGDdTFfmLlOoBbrDddDRUqQUuZYyzEeKbBUukNnGARqQrNcCHhsKfqhyYSBbLqQSsReEHhrdRrDlaAIKbBkivdDPpSpLaVvHfFWwgrRvVGHhuVvOoHhUcvuIyYYyfFxPpLDeIihZztTiIAaHasSynOowWFfZzjzHJmNdDbnonNiIOoACcGgzZayGgYrTtaAAaqQrRYgGRRreETHOoWwxXlLbBlLTtEehtRryFfYGgAMbFBRrbNyYnfBESsUubNRrnfFBeoXtTxNneELlNNnnOFfgGtyYxBbBbBzZMmigWrRwBbmglLSsGMMVVgGWwvRrvZgGdDldDIxXiaALzOvVoAjJanDrHhPpRYyMCcmAadjAWwaaApPJxXsKwWBqYEYyeyQgOogGGyckKCHhYSnNXMmxtuUTrRsVvobPpBOLlhHTjsSJbBSsqAtLlBbNnveSsUuEOoWgGfzZNnFwvrPpRruUuvFfVUJICciUnNujcCVVvmgGeEPkKpMVIVFfUuvKkiDdcLpPlpSsbBIKnfPpFeEUHhrROovVuMUurRpPBbmlLkBbpPIETtmuUgGHhyYMbBBKcCFfpPGgWUwWjgGqQMUumpPDdRlLrKDdkEeiIKJoOiIsUsSjJIiXNrmGgRrVEegGvDFtThHfgGdYgGLlTteEwWkKFfHqQsSlzZLhOoRQBfFQqtTMmReWGlLgBbwJtFfQEeqYyTGgsSVvbBIJXxjijSFZsgGSzPplLkKTtHhEwDdWeFfpRrRrnNPIhSsHlKkrLlbBRmMPpfFwbBRrwoOUotHhnNFMtTZzrRmfmMxXqQgKkJjGTOoOuOvsSwWVnNdDQqYyoWolxXLOrRhHaAyYPZWanNzZAwuYyUzpUuNnhMJjmHDdzZBbVvJjrRcCTtlIiLvKkhHDYcCtTyZAazSPpsOWRKkrhHfFdNnDwLlkxXBTtgGbiIpPsuZzEeUSqHKkhQhpsSGIidZzDgdDdoOCLlwWUuLWwleEcQAaqIrWufFUMmwnNyYHnPVvpoBbOtTWdWwSsCcIvTtDrxXzJjSsoOZlCcLlCPhHPRrmBbMLyOoAjlLzcuHhkKUrRqDdQNOPpoaFfzZtTHhQxQqVviIOiGgXxmFCcfMIoBbqQMQqmECcpPjJzZcCeQqHhrBbRGglLpeElLUDWwfUIinNuFdCSscuzoOZFfzWLRKkPpBbSjJsSsaAnNiIJjcJPhHpjqQwWceECSsDdBbhHhHxsYySZzBCcbfJQZzLNntTlqPUOoyYWwIhIiiIHizZyYPpEeyYBbTttTgGzZcCEHKvVpPkhIivcCVAaRgePmNeEnMIfFrROoFfiaAZiMmtxpPXsSVvTtSsTQqqQypPwWYdTwWtWwkKiIsvVgGSEEwWeDnbBNcCYxaAXKkZjkxEeCqQcjEeoOJxXeQqrRwdDStTgbixyYCcvVJjXRqQrINALlawJGgeJyYjEiIjEnUuNSIisdZzDesORroSwWCcwWCUNOocCnEgsSUuIiHhgGHhqGgeEAgBYRrezZcCyphHjJPYALlEePpbxXfFnNGHhgvVxeEKkRrJBbYHnNhyjJqRrOgGPpyQqYVvocCdDLlFEeJjKlLkVWwtTxMiIqQEiIemMJVvjsSCeEcvVqLlogGOQCPpcCHhtTmMfFcqQVwWSsRrBAgGaAOoVMqQkLlKhHWwqQmXxwWqEgGeYUzoOsVvSYLlyBbsSLZzlCnJjCchGXxMmxXgZzDdpPMmovVqQCcQLlUuJFDhyYmTtRrvPdDqhHXZzdhHgVvWwGDIiYBQqeEkUXGgCkKIicxsSdDBRrbpQqvxXpoOPkKVJpPdDiIwWDPEepqQdTAaVvtgGMfFmSsdDCcyYyYChwWHhHsSbEewWzZBQqqAaQpPcmCcaAMLgGEiIelyYynNGgMmYBbJjtxXTCczZxbBXOVJxXjAXCcUrYvPpVqQpPhHzZwWhHxYHhyXHOohWwNrEsDdSeyYRrRkKNAanLtTlcYyuUCTtZVvWNnwVvsRrSzokAZfFqQbBzUgHWwhjiLlIJexLlXEoOJjAaKklLYyxXUIisSVvEYyeAaAaXxbhHBVvKkucaJjAJjmMgqQGaBbAnNsSuUDdEeMmTwHhtTWDdgQTtiIxbBEeXPpnfZBbzLlJJjwWjFkKcCecEeCENoRrtAaAKrRgGvRfVvJjSspPFwWlRrVErRelLvhzZzZHeELbTMXxmtNNeESsiIUPpufeEFndDEeQqrRUGgBbyYuHhnOylLUzZuKcEenNNrRpPbnNBnSvBqQbVWwsqQCcClkKLEevVvVkrRYaBAabAKkOoZzokKBYyXfFTNAgWwGanLltYyyYiUuIEexfFMmYybsSBrIEGgemMiHhIiVnNdVvwwWpgkKGPHgGhHNnaAhRrFRroOfZzAfFaADdakdOoDKxXqQNmtTlLMwWqQFZFfxXHhdxXDzfYBbSsSxXjgGjJLxXlJsyYAaHhyYtTyndDTtoOpYytGeqQhGgZzHZXxzzRrsSnNZuUFfKdDkBRrbECxJjXrRIicSsspPoOCciIWwvVWHhosGuUrRgSOUvVufZzlLfaATMCKYyXxtTkNNHhnBbnQqAaidSsDuUfFinNIlKkLtpPtTTEiBtTbzZNnhMxXHMmhmpmMGgfjqQJVvBbtbJjBNnGgySsxXaAYLzZlbGglLyfFYBtThzOrRaAozZqOoOoHnNzZhGgFVvfabOoBaoOpPAyfbBFYKpuUPRrCcvVsSLIyYHhFfqQtTDzZzZfFyGgYnRrZzNEepKkPdixdLlAaDwtTWwxXWQgGOomMZzQqtTQqWwsSdDZzdeEDqkKeJnXxXxDyYdASSssyYhHktTKTJjaADdMkKmaAVDdgNZmMguUGuymkKBeEOPpobeEbHhBKwWuCBbXxcUhuUHGwWgkpPcPpPpiIGgCMuEfgGFLlyYJfFjPtTwNnWHhpQzjJZIiqnJjEewznNpPsSGgZeAaSstZziITHmcpVvPTfFtEeCsSeEEoOeSsHDdQmMhqQHqTOotSssSCcuUxXSnIiNmMpPgFfGslTDdtLlGgtVvXxVPpvkKMmSsIQqbBFfiTmMRnNrtrRJelLSSsBbwWCcfaAKkxXtTUuqQDdzZhHOodkKgGDFfyoOYrRnQqNKDdeEkvVWlITtiLBbwEzMmZVvUuuUkKefTttToFfOJjQJjxXguUiIGUuZJjzFbBClLlYytsSTLcqYJjNnyQWwvLlVGgOofkKLlrJjlLPzZNQqnPIippSxXIiIJFfjisSsrLlRVZrRTtvVzEyYeAEIEeWwieRrigeEIiZzGsZzSRrIeEsSriICcjJQqROSsoZzoOLzZlabrXvVFfxRBFGgWwfEeXxdDvVWYyxcuUCXNQqGvVVvgnzwWFJjfZkKHhADIidaudhtTCFfcXxWJjwuUQqHzZdDJsSjiIJDMSspPUuYyveEVuUmgSsVvGXxcCCFfcSLlPpAaeEsvVSFmGgMfyYoOUZDdvAaVeEzuUIbYypAaVXxvCzZcFfmJjpPcGhsSeEHgmMfFcCfsSFNnGCcfHaAYyEehDdzMIKkimZFBbblyYLBbSsrRThHrRtBbnNnKfFmMZzZiMnNcCfFqQmXxitTzbBZIzZeIiEAeEaCORrorRsScUyYcAadwWDOCcoCqQPpehHEurRkKLlgGhyYyYNnkKHtmMBbThkYyKHdUwWurRrDUudUpPuPpReEFjzQqQqZbycCYlLJjOKkPpeEoBJcsWpPdDnNwLlSpZzfFZkKzPiICKMmZvVtTZzqQBRrbBbItXIixfLlFpUuIipPQQqKUukkKhHqPAaHhptnNAamMAsOHhoCEecgGqQSrjoOJHhPZTtzpNVvyYFfnzxYyLliIaVvAhHLlBbuUnNcdtTDCIhOoHbzIiZlLBNnNkKSsXxnfAaOLlNEDfFOodedMmDyYCcnUNnuSPpsIiQZzLTtlEIoOiDdzZYfoMmOGAagioOGHhNnWwgGgqjvVJyYCvVUKkuLlcwRrjJhHWfUuzZFfFEeQTTvHhYyVrRtSsqQkKtzZZzdDuUIiIIrRlSsTtKXvMmVLlxkLYyHhKkbBkKUZCczyYuiylLqQFfYyJjHIitMmTCctToOCcAabdaADBBbGgAaOoFGQqgnsqQDgKkGkKDdLltfFpPTkKdGgyYgGBbUuSrdDpoOPGbBgtOoZzTHjJQqWwRnNruUoaEXxeAiTbBtiIInNVvhHQgGBxXbsSpGgOoVvPFcCfuUSsqfVvFzemMTtETOIionNtZKHurRUhOfTwdwrVvRWDDddgGsSDPhHcCaAlQNfFnqAykcCwWKYaIiIiCciITtWmMZzwoOVFfEevjkKJRrsSqyYShHsIiFfRrQQqLdDGgvFfNcVMmvfCcBwWbFBbCBbjJnVoOsSaIqQhOoHieEyYmGKkvVgOoMmAnkKUuNXlLhHwEeGlLgYFfOmgcCGOaAoMoyWxaHhuQGgCcqVvdDgGqjJUuuUeEQYyWSsaAwqPgGpQHjJhGgZxXzmXQqcCweEWZbBzxRrwsCcSWDdfFgzEeZmMsSjfjNZzQYyqnJZzvVQqnNtTubBUkFfuBbOoUKcbBTZjJztYyYyavVyYUufFACFCcYyJCcqQiIEexXmMeENnjJjbvVBJcCIBbmMLliGVvlaALUzrRZmgGYyMWwaQcmMCqdYyDRrlLzuUKvVWwvVlLTRrtgGnNksDdSWwkJjvGgVNnWwLrRyKkHhJZzjyYtTYlBfLlbnNvVkSsvdDVKBFJjaApPDdbDdwWKWiIqpPMmiIfqtTQFcCgGyYsSwWHhbBLRrzZlMZPkEesSKyYpwPpWWbBwRrIiuAabBWwnNUtQqTjTtJzwngGGPpgNWmxXVvKdDNnkgJjQqwWQrRqvCcRdDryYpPwzZFfjJVvVCcvWOoPpUzYyZuIyUuYipPPKkpKMUumkyYVuURrQRnNrlKkOoLoIiOGgAaiIqMzZmVikMmlLKkKIkKCRSsrtTcFfvwWAaEerMmRXjJxnNDdsSBbtTKkZtToOdDgPpoFdDRrGMmBbgOKkVOogJjGvpPcCKkQqqQrgGRCcwXxWocCFfctVvTCfhYyjJPpLRrIilBbHOTKNnkaAtNkKVvRkKrnBbvVGipZzlLPIZzTtoEeWnNaAwvwWOoVDdbBiIZzeEXVMmvyJjbBYJbBtsSYTtyJjTjoOiIvoWwOmMIfFWwlLBbiKkVxNkKJYypyYPuqQUAAaaVepDdPEvpPPphzZRrBbHmMlTtDdLMmHhzeEZqQhUuBbHPlLDdlbBjIiJLrRBbpZzrRvVBaAbmMjMBbWwmBYyGgRUurbCbBcFyYBbMmfRyYsFpPfYySmpJjuUPLoOlrRlLMdDUuyYdDrqQpQqPaAsxXSIFfFfimMjJDsSYyNUunKkkKdTtnYyqQXxNnqQotToOGgyYRgGJjcEeCrXxOfmMFdnfFNDKMmbBLlcUuCkZzPpXxnAaNXnOoNRdDqQrPphHNPpPpBbnroOCcRNnlLbBsoXxOSWaAwhilLVvIJGgrWwRjHxTtcCxtTXwFfWxXZzEeGgaALleuhHUHhEkKkBbKGgNnsStlFfxXvVvVHtIiThacgHhGSsVvCyYAtKkOomGcCNiIngNnpQqPyGgYDRrOotTUuEedfcCFlwWLicCIpPnuUUuNkKJjIiVvMXxViIqTtlLQdIQVvIiqifeEreERFqWwQmKkMDvTtjJdDZzKPzZJjZzpktTxxHhXXKkTyYiItBXxBSsbbQcCSshHIidkKDNiIOgIiGonZ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment