From 746f376e6b0d25bb658174959533141c4b6d5a17 Mon Sep 17 00:00:00 2001 From: atraczyk <andreastraczyk@gmail.com> Date: Tue, 28 Feb 2017 14:12:51 -0500 Subject: [PATCH] refactoring: implements per account contacts, trust requests & more - seperates contacts by account - implements the trust request API - introduces localization strings and transifex update mechanism - adds lodepng to remove windows photobooth png metadata - changes icons - adds default colored initial avatars - changes logo images - complete overhaul on the ui/ux Change-Id: I43914ff63a48bb43a6997721773df5029a1650b5 --- .tx/config | 9 + AboutPage.xaml | 86 +- AboutPage.xaml.cpp | 58 +- Account.cpp | 22 +- Account.h | 103 +- AccountListItem.cpp | 10 +- AccountListItem.h | 22 +- AccountListItemsViewModel.cpp | 38 +- AccountListItemsViewModel.h | 12 +- AccountsViewModel.cpp | 211 +- AccountsViewModel.h | 40 +- App.xaml | 41 +- App.xaml.cpp | 68 +- Assets/AccountTypeRING.png | Bin 1168 -> 2132 bytes Assets/AccountTypeSIP.png | Bin 679 -> 701 bytes Assets/SplashScreen.scale-200.png | Bin 37334 -> 38719 bytes Assets/TESTS/contactAvatar.png | Bin 4671 -> 1735 bytes Assets/TESTS/logo-ring.scale-100.png | Bin 37149 -> 43765 bytes Assets/TESTS/logo-ring.scale-125.png | Bin 47796 -> 56183 bytes Assets/TESTS/logo-ring.scale-150.png | Bin 58329 -> 68440 bytes Assets/TESTS/logo-ring.scale-200.png | Bin 85734 -> 99488 bytes Assets/TESTS/logo-ring.scale-400.png | Bin 203528 -> 237152 bytes Assets/Wide310x150Logo.scale-200.png | Bin 33317 -> 43765 bytes Assets/angledGrid.png | Bin 0 -> 325 bytes Assets/grid.png | Bin 0 -> 257 bytes Assets/logo-ring-beta2-tagline-EN-couleur.svg | 456 -- Assets/logo-ring.svg | 944 --- Assets/message_notification_sound.wav | Bin 44716 -> 0 bytes Assets/qrCodeIcon.png | Bin 291 -> 0 bytes Assets/qrCodeIconBlack.png | Bin 1340 -> 0 bytes Assets/qrCodeIconWhite.png | Bin 1340 -> 0 bytes Assets/ringtone_notify.wav | Bin 0 -> 165952 bytes Assets/share_b.png | Bin 0 -> 589 bytes Assets/share_w.png | Bin 0 -> 607 bytes Buttons.xaml | 1110 +++ Call.h | 62 +- Contact.cpp | 79 +- Contact.h | 216 +- ContactListModel.cpp | 114 +- ContactListModel.h | 8 +- ContactRequestItem.cpp | 50 + ContactRequestItem.h | 90 + ContactRequestItemsViewModel.cpp | 118 + ContactRequestItemsViewModel.h | 99 + Conversation.cpp | 104 +- Conversation.h | 75 +- Globals.h | 75 +- HttpUtils.h | 50 + MainPage.xaml | 13 +- MainPage.xaml.cpp | 158 +- MainPage.xaml.h | 31 +- MessageTextPage.xaml | 611 +- MessageTextPage.xaml.cpp | 350 +- MessageTextPage.xaml.h | 22 +- Package.appxmanifest | 3 +- ResourceManager.cpp | 105 + CallsViewModel.h => ResourceManager.h | 64 +- RingConsolePanel.xaml.cpp | 27 +- RingD.cpp | 1231 +++- RingD.h | 199 +- RingDebug.cpp | 121 +- RingDebug.h | 54 +- CallsViewModel.cpp => RingDevice.h | 28 +- Call.cpp => RingDeviceItem.cpp | 43 +- RingDeviceItem.h | 80 + RingDeviceItemsViewModel.cpp | 67 + RingDeviceItemsViewModel.h | 83 + Ringtone.cpp | 17 +- Ringtone.h | 3 +- ScrollBars.xaml | 600 ++ SmartPanel.xaml | 2656 ++++--- SmartPanel.xaml.cpp | 1937 +++-- SmartPanel.xaml.h | 235 +- SmartPanelItem.cpp | 8 +- SmartPanelItem.h | 49 +- SmartPanelItemsViewModel.cpp | 117 +- SmartPanelItemsViewModel.h | 52 +- SplitViews.xaml | 473 ++ Styles.xaml | 1133 +-- TextBlockExtension.cpp | 192 + TextBlockExtension.h | 54 + UserModel.cpp | 4 +- UserPreferences.cpp | 120 +- UserPreferences.h | 9 +- Utils.h | 453 +- VCardUtils.cpp | 194 +- VCardUtils.h | 10 +- VideoCaptureManager.cpp | 30 +- VideoPage.xaml | 1016 ++- VideoPage.xaml.cpp | 501 +- VideoPage.xaml.h | 52 +- WelcomePage.xaml | 85 +- WelcomePage.xaml.cpp | 112 +- WelcomePage.xaml.h | 8 +- Wizard.xaml | 466 +- Wizard.xaml.cpp | 150 +- Wizard.xaml.h | 24 +- _language-fr.appx | Bin 4216 -> 13141 bytes _scale-100.appx | Bin 44074 -> 54443 bytes _scale-125.appx | Bin 55425 -> 67559 bytes _scale-150.appx | Bin 66504 -> 80405 bytes _scale-400.appx | Bin 220143 -> 257520 bytes localization/Fr-fr/Resources.resw | 123 - localization/US-en/Resources.resw | 123 - localization/ar/Resources.resw | 558 ++ localization/bg/Resources.resw | 558 ++ localization/ca/Resources.resw | 558 ++ localization/cs-CZ/Resources.resw | 558 ++ localization/da-DK/Resources.resw | 558 ++ localization/de-DE/Resources.resw | 558 ++ localization/de/Resources.resw | 558 ++ localization/el/Resources.resw | 558 ++ localization/en-GB/Resources.resw | 522 ++ localization/en-US/Resources.resw | 561 ++ localization/en/Resources.resw | 336 + localization/eo/Resources.resw | 558 ++ localization/es/Resources.resw | 558 ++ localization/et-EE/Resources.resw | 336 + localization/fa-IR/Resources.resw | 558 ++ localization/fi/Resources.resw | 558 ++ localization/fr-CA/Resources.resw | 558 ++ localization/fr-FR/Resources.resw | 558 ++ localization/fr/Resources.resw | 558 ++ localization/he/Resources.resw | 558 ++ localization/hi-IN/Resources.resw | 558 ++ localization/hr/Resources.resw | 558 ++ localization/hu/Resources.resw | 558 ++ localization/id/Resources.resw | 558 ++ localization/it-IT/Resources.resw | 558 ++ localization/it/Resources.resw | 558 ++ localization/ja/Resources.resw | 558 ++ localization/lt/Resources.resw | 558 ++ localization/ms/Resources.resw | 558 ++ localization/nb/Resources.resw | 558 ++ localization/nl-NL/Resources.resw | 558 ++ localization/nl/Resources.resw | 558 ++ localization/pa/Resources.resw | 558 ++ localization/pl/Resources.resw | 558 ++ localization/pt-BR/Resources.resw | 558 ++ localization/pt/Resources.resw | 558 ++ localization/ro/Resources.resw | 558 ++ localization/ru-RU/Resources.resw | 558 ++ localization/ru/Resources.resw | 558 ++ localization/sk-SK/Resources.resw | 558 ++ localization/sq-AL/Resources.resw | 558 ++ localization/sv/Resources.resw | 558 ++ localization/tr/Resources.resw | 558 ++ localization/uk/Resources.resw | 558 ++ localization/zh-CN/Resources.resw | 558 ++ localization/zh-TW/Resources.resw | 558 ++ localization/zh/Resources.resw | 558 ++ lodepng.cpp | 6230 +++++++++++++++++ lodepng.h | 1761 +++++ pch.h | 12 +- resource.h | 14 + ring-client-uwp.rc | Bin 0 -> 2942 bytes ring-client-uwp.sln | 417 ++ ring-client-uwp.vcxproj | 102 +- ring-client-uwp.vcxproj.filters | 515 +- update-translations.py | 34 + 160 files changed, 47308 insertions(+), 6192 deletions(-) create mode 100644 .tx/config create mode 100644 Assets/angledGrid.png create mode 100644 Assets/grid.png delete mode 100644 Assets/logo-ring-beta2-tagline-EN-couleur.svg delete mode 100644 Assets/logo-ring.svg delete mode 100644 Assets/message_notification_sound.wav delete mode 100644 Assets/qrCodeIcon.png delete mode 100644 Assets/qrCodeIconBlack.png delete mode 100644 Assets/qrCodeIconWhite.png create mode 100644 Assets/ringtone_notify.wav create mode 100644 Assets/share_b.png create mode 100644 Assets/share_w.png create mode 100644 Buttons.xaml create mode 100644 ContactRequestItem.cpp create mode 100644 ContactRequestItem.h create mode 100644 ContactRequestItemsViewModel.cpp create mode 100644 ContactRequestItemsViewModel.h create mode 100644 HttpUtils.h create mode 100644 ResourceManager.cpp rename CallsViewModel.h => ResourceManager.h (57%) rename CallsViewModel.cpp => RingDevice.h (69%) rename Call.cpp => RingDeviceItem.cpp (64%) create mode 100644 RingDeviceItem.h create mode 100644 RingDeviceItemsViewModel.cpp create mode 100644 RingDeviceItemsViewModel.h create mode 100644 ScrollBars.xaml create mode 100644 SplitViews.xaml create mode 100644 TextBlockExtension.cpp create mode 100644 TextBlockExtension.h delete mode 100644 localization/Fr-fr/Resources.resw delete mode 100644 localization/US-en/Resources.resw create mode 100644 localization/ar/Resources.resw create mode 100644 localization/bg/Resources.resw create mode 100644 localization/ca/Resources.resw create mode 100644 localization/cs-CZ/Resources.resw create mode 100644 localization/da-DK/Resources.resw create mode 100644 localization/de-DE/Resources.resw create mode 100644 localization/de/Resources.resw create mode 100644 localization/el/Resources.resw create mode 100644 localization/en-GB/Resources.resw create mode 100644 localization/en-US/Resources.resw create mode 100644 localization/en/Resources.resw create mode 100644 localization/eo/Resources.resw create mode 100644 localization/es/Resources.resw create mode 100644 localization/et-EE/Resources.resw create mode 100644 localization/fa-IR/Resources.resw create mode 100644 localization/fi/Resources.resw create mode 100644 localization/fr-CA/Resources.resw create mode 100644 localization/fr-FR/Resources.resw create mode 100644 localization/fr/Resources.resw create mode 100644 localization/he/Resources.resw create mode 100644 localization/hi-IN/Resources.resw create mode 100644 localization/hr/Resources.resw create mode 100644 localization/hu/Resources.resw create mode 100644 localization/id/Resources.resw create mode 100644 localization/it-IT/Resources.resw create mode 100644 localization/it/Resources.resw create mode 100644 localization/ja/Resources.resw create mode 100644 localization/lt/Resources.resw create mode 100644 localization/ms/Resources.resw create mode 100644 localization/nb/Resources.resw create mode 100644 localization/nl-NL/Resources.resw create mode 100644 localization/nl/Resources.resw create mode 100644 localization/pa/Resources.resw create mode 100644 localization/pl/Resources.resw create mode 100644 localization/pt-BR/Resources.resw create mode 100644 localization/pt/Resources.resw create mode 100644 localization/ro/Resources.resw create mode 100644 localization/ru-RU/Resources.resw create mode 100644 localization/ru/Resources.resw create mode 100644 localization/sk-SK/Resources.resw create mode 100644 localization/sq-AL/Resources.resw create mode 100644 localization/sv/Resources.resw create mode 100644 localization/tr/Resources.resw create mode 100644 localization/uk/Resources.resw create mode 100644 localization/zh-CN/Resources.resw create mode 100644 localization/zh-TW/Resources.resw create mode 100644 localization/zh/Resources.resw create mode 100644 lodepng.cpp create mode 100644 lodepng.h create mode 100644 resource.h create mode 100644 ring-client-uwp.rc create mode 100644 update-translations.py diff --git a/.tx/config b/.tx/config new file mode 100644 index 0000000..df6c483 --- /dev/null +++ b/.tx/config @@ -0,0 +1,9 @@ +[main] +host = https://www.transifex.com + +[ring.resourcesuwpclientresw] +file_filter = localization/<lang>/Resources.resw +source_file = localization/en-US/Resources.resw +source_lang = en +type = RESX +lang_map = cs_CZ: cs-CZ, da_DK: da-DK, de_DE: de-DE, fa_IR: fa-IR, fr_CA: fr-CA, fr_FR: fr-FR, hi_IN: hi-IN, it_IT: it-IT, nl_NL: nl-NL, pt_BR: pt-BR, ru_RU: ru-RU, sk_SK: sk-SK, sq_AL: sq-AL, zh_CN: zh-CN, zh_TW: zh-TW diff --git a/AboutPage.xaml b/AboutPage.xaml index 9d21889..c8c1661 100644 --- a/AboutPage.xaml +++ b/AboutPage.xaml @@ -33,35 +33,30 @@ Margin="24"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> - <Button x:Name="_aboutBasicButton_" - Content="About" - Margin="0,0,6,0" - BorderThickness="0" - FontSize="12" - Click="_aboutBasicButton__Click" + <Button x:Uid="_aboutBasicButton_" + Margin="0,0,6,0" + BorderThickness="0" + FontSize="12" + Click="_aboutBasicButton__Click" /> - <Button x:Name="_aboutCreditsButton_" - Content="Credits" - Margin="0,0,6,0" - BorderThickness="0" - FontSize="12" - Click="_aboutCreditsButton__Click" + <Button x:Uid="_aboutCreditsButton_" + Margin="0,0,6,0" + BorderThickness="0" + FontSize="12" + Click="_aboutCreditsButton__Click" /> - <Button x:Name="_aboutCloseButton_" - Content="Close" - Margin="0,0,6,0" - BorderThickness="0" - FontSize="12" - Click="_aboutCloseButton__Click" + <Button x:Uid="_aboutCloseButton_" + Margin="0,0,6,0" + BorderThickness="0" + FontSize="12" + Click="_aboutCloseButton__Click" /> </StackPanel> <Image x:Name="_welcomeImage_" - - Source="Assets\Wide310x150Logo.scale-200.png" - Width="310" - HorizontalAlignment="Center" - Margin="0 10 0 30" - Height="150"/> + Source="Assets\Wide310x150Logo.scale-200.png" + Width="310" + HorizontalAlignment="Center" + Height="150"/> <Grid x:Name="_aboutNavGrid_"> <Grid.RowDefinitions> <RowDefinition Height="0"/> @@ -72,24 +67,24 @@ VerticalScrollBarVisibility="Hidden"> <StackPanel MaxWidth="500" Width="310"> - <TextBlock Text="Ring version: 2017/2/13" + <TextBlock x:Name="_aboutVersionString_" TextWrapping="Wrap" TextAlignment="Justify" - Margin="0,0,0,24" + Margin="0,0,0,24" FontSize="12" FontWeight="Bold" HorizontalAlignment="Center"/> - <TextBlock Text="Release: Beta 2 - Gaston Miron" + <TextBlock x:Uid="_aboutReleaseTitle_" TextWrapping="Wrap" TextAlignment="Justify" FontSize="12" HorizontalAlignment="Center"/> - <TextBlock Text="The Microsoft Windows Runtime client for Ring." + <TextBlock x:Uid="_aboutReleasePlatform_" TextWrapping="Wrap" TextAlignment="Justify" FontSize="12" HorizontalAlignment="Center"/> - <TextBlock Text="Ring is a secured and distributed communication software." + <TextBlock x:Uid="_aboutReleaseDescription_" TextWrapping="Wrap" TextAlignment="Justify" FontSize="12" @@ -104,29 +99,28 @@ TextAlignment="Justify" FontSize="10" HorizontalAlignment="Center"/> - <TextBlock Text="This program comes with absolutely no warranty" + <TextBlock x:Uid="_aboutDisclaimer_" TextWrapping="Wrap" TextAlignment="Justify" FontSize="10" HorizontalAlignment="Center"/> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> - <TextBlock Text="See the " + <TextBlock x:Uid="_aboutGPL_0_" Margin="0,0,4,0" - TextWrapping="Wrap" - TextAlignment="Justify" - FontSize="10"/> - <HyperlinkButton Content="GNU General Public License, version 3 or later" - FontSize="10" - NavigateUri="https://www.gnu.org/licenses/gpl-3.0.en.html"> + TextWrapping="Wrap" + TextAlignment="Justify" + FontSize="10"/> + <HyperlinkButton x:Uid="_aboutGPL_1_" + FontSize="10"> <HyperlinkButton.RenderTransform> <TranslateTransform Y="-6"/> </HyperlinkButton.RenderTransform> </HyperlinkButton> - <TextBlock Text=" for details." - TextWrapping="Wrap" - TextAlignment="Justify" - FontSize="10"/> + <TextBlock x:Uid="_aboutGPL_2_" + TextWrapping="Wrap" + TextAlignment="Justify" + FontSize="10"/> </StackPanel> </StackPanel> </ScrollViewer> @@ -139,7 +133,7 @@ BorderBrush="Black" BorderThickness="1"> <StackPanel> - <TextBlock Text="Created by:" + <TextBlock x:Uid="_c_created_by_" Margin="0,0,0,0" TextWrapping="Wrap" TextAlignment="Center" @@ -151,7 +145,6 @@ TextAlignment="Center" FontSize="12" HorizontalAlignment="Center"> - <LineBreak/> Created by: <LineBreak/> Adrien Béraud <LineBreak/> Alexandr Sergheev <LineBreak/> Alexandre Lision @@ -166,7 +159,9 @@ <LineBreak/> Emmanuel Lepage-Vallée <LineBreak/> Frédéric Guimont <LineBreak/> Guillaume Roguez + <LineBreak/> Hadrien De Sousa <LineBreak/> Julien Grossholtz + <LineBreak/> Kateryna Kostiuk <LineBreak/> Loïc Siret <LineBreak/> Nicolas Jäger <LineBreak/> Nicolas Reynaud @@ -175,13 +170,16 @@ <LineBreak/> Patrick Keroulas <LineBreak/> Philippe Gorley <LineBreak/> Romain Bertozzi + <LineBreak/> Sébastien Blin <LineBreak/> Seva Ivanov + <LineBreak/> Silbino Gonçalves Matado <LineBreak/> Simon Désaulniers <LineBreak/> Stepan Salenikovich <LineBreak/> Simon Zeni <LineBreak/> Thibault Wittemberg + <LineBreak/> </TextBlock> - <TextBlock Text="Artwork by:" + <TextBlock x:Uid="_c_artwork_by_" Margin="0,0,0,0" TextWrapping="Wrap" TextAlignment="Center" diff --git a/AboutPage.xaml.cpp b/AboutPage.xaml.cpp index 32854ab..89b957c 100644 --- a/AboutPage.xaml.cpp +++ b/AboutPage.xaml.cpp @@ -1,6 +1,5 @@ /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * -* Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * * Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * @@ -27,9 +26,64 @@ using namespace Windows::UI::ViewManagement; using namespace Windows::UI::Core; using namespace Windows::UI::Xaml::Controls; +#define BUILD_YEAR_CH0 (__DATE__[ 7]) +#define BUILD_YEAR_CH1 (__DATE__[ 8]) +#define BUILD_YEAR_CH2 (__DATE__[ 9]) +#define BUILD_YEAR_CH3 (__DATE__[10]) + +#define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n') +#define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F') +#define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r') +#define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p') +#define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y') +#define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n') +#define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l') +#define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u') +#define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S') +#define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O') +#define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N') +#define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D') + +#define BUILD_MONTH_CH0 \ + ((BUILD_MONTH_IS_OCT || BUILD_MONTH_IS_NOV || BUILD_MONTH_IS_DEC) ? '1' : '0') + +#define BUILD_MONTH_CH1 \ + ( \ + (BUILD_MONTH_IS_JAN) ? '1' : \ + (BUILD_MONTH_IS_FEB) ? '2' : \ + (BUILD_MONTH_IS_MAR) ? '3' : \ + (BUILD_MONTH_IS_APR) ? '4' : \ + (BUILD_MONTH_IS_MAY) ? '5' : \ + (BUILD_MONTH_IS_JUN) ? '6' : \ + (BUILD_MONTH_IS_JUL) ? '7' : \ + (BUILD_MONTH_IS_AUG) ? '8' : \ + (BUILD_MONTH_IS_SEP) ? '9' : \ + (BUILD_MONTH_IS_OCT) ? '0' : \ + (BUILD_MONTH_IS_NOV) ? '1' : \ + (BUILD_MONTH_IS_DEC) ? '2' : \ + /* error default */ '?' \ + ) + +#define BUILD_DAY_CH0 ((__DATE__[4] >= '0') ? (__DATE__[4]) : '0') +#define BUILD_DAY_CH1 (__DATE__[ 5]) + AboutPage::AboutPage() { InitializeComponent(); + + const char completeVersion[] = + { + BUILD_YEAR_CH0, BUILD_YEAR_CH1, BUILD_YEAR_CH2, BUILD_YEAR_CH3, + '/', + BUILD_MONTH_CH0, BUILD_MONTH_CH1, + '/', + BUILD_DAY_CH0, BUILD_DAY_CH1, + '\0' + }; + auto buildDate = std::string(reinterpret_cast<const char*>(completeVersion)); + PackageVersion version = Package::Current->Id->Version; + auto buildVersion = version.Major.ToString() + "." + version.Minor.ToString() + "." + version.Build.ToString(); + _aboutVersionString_->Text = "Ring version: " + Utils::toPlatformString(buildDate) + " build: " + buildVersion; }; void RingClientUWP::Views::AboutPage::_aboutBasicButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) @@ -50,4 +104,4 @@ void RingClientUWP::Views::AboutPage::_aboutCloseButton__Click(Platform::Object^ { auto rootFrame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); rootFrame->Navigate(Windows::UI::Xaml::Interop::TypeName(MainPage::typeid), true); -} +} \ No newline at end of file diff --git a/Account.cpp b/Account.cpp index 8f1df1e..14268af 100644 --- a/Account.cpp +++ b/Account.cpp @@ -32,7 +32,13 @@ Account::Account(String^ name, String^ accountType, String^ accountID, String^ deviceId, + String^ deviceName, + bool active, bool upnpState, + bool autoAnswer, + bool dhtPublicInCalls, + bool turnEnabled, + String^ turnAddress, String^ sipHostname, String^ sipUsername, String^ sipPassword) @@ -42,11 +48,19 @@ Account::Account(String^ name, accountType_ = accountType; accountID_ = accountID; _deviceId = deviceId; + _deviceName = deviceName; + _active = active; _upnpState = upnpState; + _autoAnswer = autoAnswer; + _dhtPublicInCalls = dhtPublicInCalls; + _turnEnabled = turnEnabled; + _turnAddress = turnAddress; _sipHostname = sipHostname; _sipUsername = sipUsername; _sipPassword = sipPassword; _unreadMessages = 0; + _registrationState = RegistrationState::UNKNOWN; + _username = ""; } void @@ -59,4 +73,10 @@ Account::NotifyPropertyChanged(String^ propertyName) { PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName)); })); -} \ No newline at end of file +} + +void +Account::raiseNotifyPropertyChanged(String^ propertyName) +{ + NotifyPropertyChanged(propertyName); +} diff --git a/Account.h b/Account.h index 1c6f779..3a905b9 100644 --- a/Account.h +++ b/Account.h @@ -30,9 +30,23 @@ ref class Contact; public ref class Account sealed : public INotifyPropertyChanged { public: - Account(String^ name, String^ ringID, String^ accountType, String^ accountID, String^ deviceId, bool upnpState - , String^ sipHostname, String^ sipUsername, String^ sipPassword); + Account(String^ name, + String^ ringID, + String^ accountType, + String^ accountID, + String^ deviceId, + String^ deviceName, + bool active, + bool upnpState, + bool autoAnswer, + bool dhtPublicInCalls, + bool turnEnabled, + String^ turnAddress, + String^ sipHostname, + String^ sipUsername, + String^ sipPassword); + void raiseNotifyPropertyChanged(String^ propertyName); virtual event PropertyChangedEventHandler^ PropertyChanged; property String^ name_ @@ -43,8 +57,51 @@ public: void set(String^ value) { alias_ = value; NotifyPropertyChanged("name_"); + NotifyPropertyChanged("_bestName"); } } + + property String^ _username + { + String^ get() { + return username_; + } + void set(String^ value) { + username_ = value; + NotifyPropertyChanged("_username"); + NotifyPropertyChanged("_bestName"); + } + } + + property String^ _bestName { + String^ get() { + String^ bestName; + if (alias_) + bestName = alias_; + return bestName; + } + } + + property String^ _bestName2 { + String^ get() { + String^ bestName; + if (accountType_ == "RING" && username_) + bestName += username_; + return bestName; + } + } + + property String^ _bestName3 { + String^ get() { + String^ bestName; + if (alias_) + bestName += alias_; + if (accountType_ == "RING" && username_) + bestName += " (" + username_ + ")"; + return bestName; + } + } + property String^ ringID_ { String^ get() { return ringID__; @@ -57,15 +114,16 @@ public: property String^ accountType_; // refacto : create a enum accountType property String^ accountID_; property String^ _deviceId; - property IVector<String^>^ _devicesIdList { - IVector<String^>^ get() { - return devicesIdList_; - } - void set(IVector<String^>^ value) { - devicesIdList_ = value; - } - }; + property String^ _deviceName; + + property RegistrationState _registrationState; + + property bool _active; property bool _upnpState; + property bool _autoAnswer; + property bool _dhtPublicInCalls; + property bool _turnEnabled; + property String^ _turnAddress; property String^ _sipHostname; property String^ _sipUsername { @@ -75,17 +133,35 @@ public: void set(String^ value) { sipUsername_ = value; NotifyPropertyChanged("_sipUsername"); + NotifyPropertyChanged("_bestName"); } } - property unsigned _unreadMessages - { + property unsigned _unreadMessages { unsigned get() { return unreadMessages_; } void set(unsigned value) { unreadMessages_ = value; NotifyPropertyChanged("_unreadMessages"); + NotifyPropertyChanged("_allUnread"); + } + } + + property unsigned _unreadContactRequests { + unsigned get() { + return unreadContactRequests_; + } + void set(unsigned value) { + unreadContactRequests_ = value; + NotifyPropertyChanged("_unreadContactRequests"); + NotifyPropertyChanged("_allUnread"); + } + } + + property unsigned _allUnread { + unsigned get() { + return unreadContactRequests_ + unreadMessages_; } } @@ -104,13 +180,14 @@ protected: void NotifyPropertyChanged(String^ propertyName); private: - IVector<String^>^ devicesIdList_; IVector<Contact^>^ contactsList_; String^ alias_; + String^ username_; String^ ringID__; String^ sipUsername_; unsigned unreadMessages_; + unsigned unreadContactRequests_; }; } diff --git a/AccountListItem.cpp b/AccountListItem.cpp index 2d20a89..3dfc21e 100644 --- a/AccountListItem.cpp +++ b/AccountListItem.cpp @@ -33,7 +33,6 @@ AccountListItem::AccountListItem(Account^ a) { _account = a; _editionMode = false; - } void @@ -44,6 +43,13 @@ AccountListItem::NotifyPropertyChanged(String^ propertyName) CoreDispatcherPriority::High, ref new DispatchedHandler([this, propertyName]() { + //MSG_("AccountListItem::NotifyPropertyChanged: " + propertyName); PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName)); })); -} \ No newline at end of file +} + +void +AccountListItem::raiseNotifyPropertyChanged(String^ propertyName) +{ + NotifyPropertyChanged(propertyName); +} diff --git a/AccountListItem.h b/AccountListItem.h index b8a46da..7f4e920 100644 --- a/AccountListItem.h +++ b/AccountListItem.h @@ -1,4 +1,3 @@ -#pragma once /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> * @@ -17,6 +16,9 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ + +#pragma once + using namespace Platform; using namespace Windows::Data::Json; using namespace Windows::UI::Xaml; @@ -26,26 +28,32 @@ using namespace Windows::UI::Xaml::Data; namespace RingClientUWP { -namespace Controls { +namespace Controls +{ + public ref class AccountListItem sealed : public INotifyPropertyChanged { public: AccountListItem(Account^ a); + void raiseNotifyPropertyChanged(String^ propertyName); virtual event PropertyChangedEventHandler^ PropertyChanged; + property Account^ _account; + + property bool _editionMode; + property bool _disconnected; + property bool _isSelected { + bool get() { + return isSelected_; + } void set(bool value) { isSelected_ = value; if (!_disconnected) NotifyPropertyChanged("_isSelected"); } - bool get() { - return isSelected_; - } } - property bool _editionMode; - property bool _disconnected; protected: void NotifyPropertyChanged(String^ propertyName); diff --git a/AccountListItemsViewModel.cpp b/AccountListItemsViewModel.cpp index dc9a2b9..8924006 100644 --- a/AccountListItemsViewModel.cpp +++ b/AccountListItemsViewModel.cpp @@ -42,7 +42,7 @@ AccountListItemsViewModel::AccountListItemsViewModel() void RingClientUWP::ViewModel::AccountListItemsViewModel::OnaccountAdded(RingClientUWP::Account ^account) { auto item = ref new AccountListItem(account); - itemsList_->Append(item); + itemsList_->InsertAt(0, item); } @@ -54,7 +54,8 @@ void RingClientUWP::ViewModel::AccountListItemsViewModel::OnclearAccountsList() void AccountListItemsViewModel::updateContactsViewModel() { - SmartPanelItemsViewModel::instance->update(); + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); } AccountListItem^ @@ -67,6 +68,17 @@ RingClientUWP::ViewModel::AccountListItemsViewModel::findItem(String^ accountId) return nullptr; } +int +AccountListItemsViewModel::getIndex(String^ accountId) +{ + int i; + for (i = 0; i < itemsList_->Size; i++) { + if (itemsList_->GetAt(i)->_account->accountID_ == accountId) + break; + } + return i; +} + void RingClientUWP::ViewModel::AccountListItemsViewModel::removeItem(AccountListItem ^ item) { unsigned int index; @@ -96,3 +108,25 @@ AccountListItemsViewModel::unreadMessages() } return messageCount; } + +int +AccountListItemsViewModel::unreadContactRequests() +{ + int unreadContactRequestCount = 0; + for each (auto account in AccountsViewModel::instance->accountsList) { + account->_unreadContactRequests = AccountsViewModel::instance->unreadContactRequests(account->accountID_); + unreadContactRequestCount += account->_unreadContactRequests; + } + return unreadContactRequestCount; +} + +void +AccountListItemsViewModel::update(const std::vector<std::string>& properties) +{ + for each (AccountListItem^ item in itemsList) { + item->raiseNotifyPropertyChanged(""); + for each (std::string prop in properties) { + item->_account->raiseNotifyPropertyChanged(Utils::toPlatformString(prop)); + } + } +} \ No newline at end of file diff --git a/AccountListItemsViewModel.h b/AccountListItemsViewModel.h index e6fa3ce..48bdc3d 100644 --- a/AccountListItemsViewModel.h +++ b/AccountListItemsViewModel.h @@ -34,6 +34,7 @@ public ref class AccountListItemsViewModel sealed public: String^ getSelectedAccountId(); int unreadMessages(); + int unreadContactRequests(); internal: /* singleton */ @@ -47,26 +48,25 @@ internal: } /* functions */ + void update(const std::vector<std::string>& properties); AccountListItem^ findItem(String^ accountId); + int getIndex(String^ accountId); void removeItem(AccountListItem^ item); /* properties */ property Vector<AccountListItem^>^ itemsList { - Vector<AccountListItem^>^ get() - { + Vector<AccountListItem^>^ get() { return itemsList_; } } property AccountListItem^ _selectedItem { - AccountListItem^ get() - { + AccountListItem^ get() { return currentItem_; } - void set(AccountListItem^ value) - { + void set(AccountListItem^ value) { if (currentItem_) currentItem_->_isSelected = false; currentItem_ = value; diff --git a/AccountsViewModel.cpp b/AccountsViewModel.cpp index e67dc28..f2be71f 100644 --- a/AccountsViewModel.cpp +++ b/AccountsViewModel.cpp @@ -37,61 +37,89 @@ AccountsViewModel::AccountsViewModel() } void -AccountsViewModel::raiseContactAdded(String^ accountId, Contact ^ name) +AccountsViewModel::raiseContactAdded(String^ accountId, Contact ^ contact) { - contactAdded(accountId, name); + contactAdded(accountId, contact); } void -AccountsViewModel::raiseContactDeleted(String^ accountId, Contact ^ name) +AccountsViewModel::raiseContactDeleted(String^ accountId, Contact ^ contact) { - contactDeleted(accountId, name); + contactDeleted(accountId, contact); } void -AccountsViewModel::raiseContactDataModified(String^ accountId, Contact ^ name) +AccountsViewModel::raiseContactDataModified(String^ accountId, Contact ^ contact) { - contactDataModified(accountId, name); + contactDataModified(accountId, contact); } void -AccountsViewModel::addRingAccount(std::string& alias, std::string& ringID, std::string& accountID, std::string& deviceId, bool upnpState) -{ - auto account = ref new Account( - Utils::toPlatformString(alias), - Utils::toPlatformString(ringID), - "RING", - Utils::toPlatformString(accountID), - Utils::toPlatformString(deviceId), - upnpState, - "" /* sip hostame not used woth ring account */, - "" /* sip username not used with ring account */, - "" /* sip password not used with ring */ ); - - accountsList_->Append(account); +AccountsViewModel::raiseUnreadContactRequest() +{ + newUnreadContactRequest(); +} + +void +AccountsViewModel::addRingAccount( std::string& alias, + std::string& ringID, + std::string& accountID, + std::string& deviceId, + std::string& deviceName, + bool active, + bool upnpState, + bool autoAnswer, + bool dhtPublicInCalls, + bool turnEnabled, + std::string& turnAddress) +{ + auto account = ref new Account( Utils::toPlatformString(alias), + Utils::toPlatformString(ringID), + "RING", + Utils::toPlatformString(accountID), + Utils::toPlatformString(deviceId), + Utils::toPlatformString(deviceName), + active, + upnpState, + autoAnswer, + dhtPublicInCalls, + turnEnabled, + Utils::toPlatformString(turnAddress), + "" /* sip hostame not used with ring account */, + "" /* sip username not used with ring account */, + "" /* sip password not used with ring */ ); + RingD::instance->lookUpAddress(accountID, Utils::toPlatformString(ringID)); + accountsList_->InsertAt(0, account); contactListModels_->Insert(account->accountID_, ref new ContactListModel(account->accountID_)); - updateScrollView(); accountAdded(account); } void -AccountsViewModel::addSipAccount(std::string& alias, std::string& accountID, std::string& sipHostname, std::string& sipUsername, std::string& sipPassword) -{ - auto account = ref new Account( - Utils::toPlatformString(alias), - "" /* ring Id not used with sip */ , - "SIP", - Utils::toPlatformString(accountID), - "" /* device id not used with sip */, - false /* upnpn not used with sip */, - Utils::toPlatformString(sipHostname), - Utils::toPlatformString(sipUsername), - Utils::toPlatformString(sipPassword) - ); - - accountsList_->Append(account); +AccountsViewModel::addSipAccount( std::string& alias, + std::string& accountID, + bool active, + std::string& sipHostname, + std::string& sipUsername, + std::string& sipPassword) +{ + auto account = ref new Account( Utils::toPlatformString(alias), + "" /* ring Id not used with sip */ , + "SIP", + Utils::toPlatformString(accountID), + "" /* device id not used with sip */, + "" /* device name not used with sip */, + active, + false /* upnpn not used with sip */, + false, + true, + false, + "", + Utils::toPlatformString(sipHostname), + Utils::toPlatformString(sipUsername), + Utils::toPlatformString(sipPassword)); + + accountsList_->InsertAt(0, account); contactListModels_->Insert(account->accountID_, ref new ContactListModel(account->accountID_)); - updateScrollView(); accountAdded(account); } @@ -111,30 +139,77 @@ Account ^ RingClientUWP::ViewModel::AccountsViewModel::findItem(String ^ account return nullptr; } +Account^ +AccountsViewModel::findAccountByRingID(String ^ ringId) +{ + for each (Account^ item in accountsList_) + if (item->ringID_ == ringId) + return item; + + return nullptr; +} + ContactListModel^ AccountsViewModel::getContactListModel(std::string& accountId) { - try { + if (contactListModels_->Size) return contactListModels_->Lookup(Utils::toPlatformString(accountId)); - } - catch (Platform::OutOfBoundsException^ e) { - EXC_(e); - return nullptr; - } + return nullptr; } int AccountsViewModel::unreadMessages(String ^ accountId) { int messageCount = 0; + auto acceptIncognitoMessages = findItem(accountId)->_dhtPublicInCalls; if (auto contactListModel = getContactListModel(Utils::toString(accountId))) { for each (auto contact in contactListModel->_contactsList) { - messageCount += contact->_unreadMessages; + if (acceptIncognitoMessages || contact->_trustStatus == TrustStatus::TRUSTED) + messageCount += contact->_unreadMessages; } } return messageCount; } +int +AccountsViewModel::unreadContactRequests(String ^ accountId) +{ + int contactRequestCount = 0; + if (auto contactListModel = getContactListModel(Utils::toString(accountId))) { + for each (auto contact in contactListModel->_contactsList) { + if (contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST) { + contactRequestCount += contact->_unreadContactRequest ? 1 : 0; + } + } + } + return contactRequestCount; +} + +int +AccountsViewModel::bannedContacts(String^ accountId) +{ + int bannedContacts = 0; + if (auto contactListModel = getContactListModel(Utils::toString(accountId))) { + for each (auto contact in contactListModel->_contactsList) { + if (contact->_trustStatus == TrustStatus::BLOCKED) { + bannedContacts++; + } + } + } + return bannedContacts; +} + +int +AccountsViewModel::activeAccounts() +{ + int totalActiveAccounts = 0; + for (auto account : accountsList_) { + if (account->_active) + totalActiveAccounts++; + } + return totalActiveAccounts; +} + void AccountsViewModel::OnincomingAccountMessage(String ^ accountId, String ^ fromRingId, String ^ payload) { @@ -142,31 +217,37 @@ AccountsViewModel::OnincomingAccountMessage(String ^ accountId, String ^ fromRin auto contact = contactListModel->findContactByRingId(fromRingId); - if (contact == nullptr) - contact = contactListModel->addNewContact(fromRingId, fromRingId); - - auto item = SmartPanelItemsViewModel::instance->_selectedItem; + bool itemSelected = false; + if (auto selectedItem = SmartPanelItemsViewModel::instance->_selectedItem) + itemSelected = (selectedItem->_contact == contact); + auto isInBackground = RingD::instance->isInBackground; if (contact == nullptr) { - ERR_("contact not handled!"); - return; + contact = contactListModel->addNewContact(fromRingId, fromRingId, TrustStatus::UNKNOWN, true); + RingD::instance->lookUpAddress(Utils::toString(accountId), fromRingId); + if (!itemSelected || isInBackground || RingD::instance->isInvisible) { + RingD::instance->unpoppedToasts.insert(std::make_pair(contact->ringID_, + [isInBackground, fromRingId, payload](String^ username) { + RingD::instance->ShowIMToast(isInBackground, fromRingId, payload, username); + })); + } + } + else { + contact->_isIncognitoContact = true; + if (!itemSelected || isInBackground || RingD::instance->isInvisible) { + RingD::instance->ShowIMToast(isInBackground, fromRingId, payload); + } } - RingD::instance->lookUpAddress(fromRingId); - - contact->_conversation->addMessage(""/* date not yet used*/, MSG_FROM_CONTACT, payload); + auto messageId = Utils::toPlatformString(Utils::genID(0LL, 9999999999999999999LL)); + contact->_conversation->addMessage(MSG_FROM_CONTACT, payload, std::time(nullptr), false, messageId); /* save contacts conversation to disk */ contact->saveConversationToFile(); + auto item = SmartPanelItemsViewModel::instance->_selectedItem; auto selectedContact = (item) ? item->_contact : nullptr; - - if (contact->ringID_ == fromRingId && contact != selectedContact) { - contact->_unreadMessages++; - newUnreadMessage(); - /* saveContactsToFile used to save the notification */ - contactListModel->saveContactsToFile(); - } + newUnreadMessage(contact); } void @@ -181,18 +262,14 @@ AccountsViewModel::OnincomingMessage(String ^callId, String ^payload) if (contact) { auto item = SmartPanelItemsViewModel::instance->_selectedItem; - contact->_conversation->addMessage(""/* date not yet used*/, MSG_FROM_CONTACT, payload); + auto messageId = Utils::toPlatformString(Utils::genID(0LL, 9999999999999999999LL)); + contact->_conversation->addMessage(MSG_FROM_CONTACT, payload, std::time(nullptr), false, messageId); /* save contacts conversation to disk */ contact->saveConversationToFile(); auto selectedContact = (item) ? item->_contact : nullptr; - if (contact != selectedContact) { - contact->_unreadMessages++; - newUnreadMessage(); - /* saveContactsToFile used to save the notification */ - contactListModel->saveContactsToFile(); - } + newUnreadMessage(contact); } } \ No newline at end of file diff --git a/AccountsViewModel.h b/AccountsViewModel.h index 689af20..171fb5a 100644 --- a/AccountsViewModel.h +++ b/AccountsViewModel.h @@ -34,7 +34,8 @@ delegate void ClearAccountsList(); delegate void ContactAdded(String^, Contact^); delegate void ContactDeleted(String^, Contact^); delegate void ContactDataModified(String^, Contact^); -delegate void NewUnreadMessage(); +delegate void NewUnreadMessage(Contact^); +delegate void NewUnreadContactRequest(); namespace ViewModel { @@ -42,9 +43,10 @@ namespace ViewModel public ref class AccountsViewModel sealed { public: - void raiseContactAdded(String^ accountId, Contact^ name); - void raiseContactDeleted(String^ accountId, Contact^ name); - void raiseContactDataModified(String^ accountId, Contact^ name); + void raiseContactAdded(String^ accountId, Contact^ contact); + void raiseContactDeleted(String^ accountId, Contact^ contact); + void raiseContactDataModified(String^ accountId, Contact^ contact); + void raiseUnreadContactRequest(); internal: /* properties */ @@ -55,21 +57,38 @@ internal: } } - property Vector<Account^>^ accountsList - { - Vector<Account^>^ get() - { + property Vector<Account^>^ accountsList { + Vector<Account^>^ get() { return accountsList_; } } /* functions */ - void addRingAccount(std::string& alias, std::string& ringID, std::string& accountID, std::string& deviceId, bool upnpState); - void addSipAccount(std::string& alias, std::string& accountID, std::string& sipHostname, std::string& sipUsername, std::string& sipPassword); + void addRingAccount(std::string& alias, + std::string& ringID, + std::string& accountID, + std::string& deviceId, + std::string& deviceName, + bool active, + bool upnpState, + bool autoAnswer, + bool dhtPublicInCalls, + bool turnEnabled, + std::string& turnAddress); + void addSipAccount( std::string& alias, + std::string& accountID, + bool active, + std::string& sipHostname, + std::string& sipUsername, + std::string& sipPassword); void clearAccountList(); Account^ findItem(String^ accountId); + Account^ findAccountByRingID(String ^ ringId); ContactListModel^ getContactListModel(std::string& accountId); int unreadMessages(String^ accountId); + int unreadContactRequests(String^ accountId); + int bannedContacts(String^ accountId); + int activeAccounts(); /* events */ event NewAccountSelected^ newAccountSelected; @@ -81,6 +100,7 @@ internal: event ContactDeleted^ contactDeleted; event ContactDataModified^ contactDataModified; event NewUnreadMessage^ newUnreadMessage; + event NewUnreadContactRequest^ newUnreadContactRequest; private: AccountsViewModel(); diff --git a/App.xaml b/App.xaml index be8ee4f..665c6c0 100644 --- a/App.xaml +++ b/App.xaml @@ -19,14 +19,51 @@ x:Class="RingClientUWP.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP"> + xmlns:local="using:RingClientUWP" + xmlns:views="using:RingClientUWP.Views" + xmlns:uc="using:RingClientUWP.UserAndCustomControls"> <Application.Resources> <ResourceDictionary> + <!-- converters --> + <views:BubbleBackground x:Key="_bubbleBackground_" /> + <views:BubbleHorizontalAlignement x:Key="_bubbleHorizontalAlignement_" /> + <views:boolToVisibility x:Key="_boolToVisibility_" /> + <views:MessageDateTimeString x:Key="_MessageDateTimeString_" /> + <views:MessageChainBreakToVisibility x:Key="_MessageChainBreakToVisibility_" /> + <views:MessageChainBreakToHeight x:Key="_MessageChainBreakToHeight_" /> + <views:CachedImageConverter x:Key="_CachedImageConverter_" /> + <views:NameToInitialConverter x:Key="_NameToInitialConverter_" /> + <views:NewMessageBubbleNotification x:Key="_NewMessageBubbleNotification_" /> + <views:NewMessageNotificationToNumber x:Key="_NewMessageNotificationToNumber_" /> + <views:IncomingVisibility x:Key="_IncomingVisibility_" /> + <views:OutGoingVisibility x:Key="_OutGoingVisibility_" /> + <views:HasAnActiveCall x:Key="_HasAnActiveCall_" /> + <views:HasAvatarToVisibility x:Key="_HasAvatarToVisibility_" /> + <views:AccountTypeToSourceImage x:Key="_AccountTypeToSourceImage_" /> + <views:RingAccountTypeToVisibility x:Key="_RingAccountTypeToVisibility_" /> + <views:AccountSelectedToVisibility x:Key="_AccountSelectedToVisibility_" /> + <views:CollapseEmptyString x:Key="_CollapseEmptyString_" /> + <views:ContactStatusNotification x:Key="_ContactStatusNotification_" /> + <views:uintToVisibility x:Key="_uintToVisibility_" /> + <views:OneToVisibility x:Key="_OneToVisibility_" /> + <views:PresenceStatus x:Key="_PresenceStatus_" /> + <views:MoreThanOneToVisibility x:Key="_MoreThanOneToVisibility_" /> + <views:MoreThanZeroToVisibility x:Key="_MoreThanZeroToVisibility_" /> + <views:UnreadAccountNotificationsString x:Key="_UnreadAccountNotificationsString_" /> + <views:PartialTrustToVisibility x:Key="_PartialTrustToVisibility_" /> + <views:TrustedToVisibility x:Key="_TrustedToVisibility_" /> + <views:SelectedAccountToVisibility x:Key="_SelectedAccountToVisibility_" /> + <views:CallStatusToSpinnerVisibility x:Key="_CallStatusToSpinnerVisibility_" /> + <views:CallStatusForIncomingCallEllipse x:Key="_CallStatusForIncomingCallEllipse_" /> + <views:AccountRegistrationStateToString x:Key="_AccountRegistrationStateToString_" /> + <views:AccountRegistrationStateToForeground x:Key="_AccountRegistrationStateToForeground_" /> + <views:ContactAccountTypeToVisibility x:Key="_ContactAccountTypeToVisibility_" /> + <views:ContactConferenceableToVisibility x:Key="_ContactConferenceableToVisibility_" /> + <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="ms-appx:///Styles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> - </Application> diff --git a/App.xaml.cpp b/App.xaml.cpp index bd872ac..2efd6e8 100644 --- a/App.xaml.cpp +++ b/App.xaml.cpp @@ -49,36 +49,41 @@ App::App() void App::OnLaunched(LaunchActivatedEventArgs^ e) { - rootFrame = dynamic_cast<Frame^>(Window::Current->Content); + if (e->PreviousExecutionState != ApplicationExecutionState::Running) { + rootFrame = dynamic_cast<Frame^>(Window::Current->Content); - if (rootFrame == nullptr) { - rootFrame = ref new Frame(); + if (rootFrame == nullptr) { + rootFrame = ref new Frame(); - if (rootFrame->Content == nullptr) - rootFrame->Navigate(TypeName(Views::LoadingPage::typeid), e->Arguments); + if (rootFrame->Content == nullptr) + rootFrame->Navigate(TypeName(Views::LoadingPage::typeid), e->Arguments); - Window::Current->Content = rootFrame; - } - else { - rootFrame->Navigate(TypeName(Views::LoadingPage::typeid), e->Arguments); - Window::Current->Content = rootFrame; + Window::Current->Content = rootFrame; + } + else { + rootFrame->Navigate(TypeName(Views::LoadingPage::typeid), e->Arguments); + Window::Current->Content = rootFrame; + } + + ApplicationView::GetForCurrentView()->SetPreferredMinSize(Size(400, 500)); + Windows::UI::ViewManagement::ApplicationView::PreferredLaunchViewSize = Size(740, 500); + auto configFile = Utils::toString(ApplicationData::Current->LocalFolder->Path + "\\.config\\dring.yml"); + if (Utils::fileExists(configFile)) { + Windows::UI::ViewManagement::ApplicationView::PreferredLaunchWindowingMode + = Windows::UI::ViewManagement::ApplicationViewWindowingMode::PreferredLaunchViewSize; + } + + Window::Current->Activate(); + + auto color = Windows::UI::ColorHelper::FromArgb(255, 59, 193, 211); + + ApplicationView::GetForCurrentView()->TitleBar->ButtonBackgroundColor = color; + ApplicationView::GetForCurrentView()->TitleBar->InactiveBackgroundColor = color; + ApplicationView::GetForCurrentView()->TitleBar->ButtonInactiveBackgroundColor = color; + ApplicationView::GetForCurrentView()->TitleBar->BackgroundColor = color; + ApplicationView::GetForCurrentView()->TitleBar->ForegroundColor = Colors::White; + ApplicationView::GetForCurrentView()->TitleBar->ButtonForegroundColor = Colors::White; } - - ApplicationView::GetForCurrentView()->SetPreferredMinSize(Size(500, 500)); - Windows::UI::ViewManagement::ApplicationView::PreferredLaunchViewSize = Size(800, 700); - Windows::UI::ViewManagement::ApplicationView::PreferredLaunchWindowingMode - = Windows::UI::ViewManagement::ApplicationViewWindowingMode::PreferredLaunchViewSize; - - Window::Current->Activate(); - - auto color = Windows::UI::ColorHelper::FromArgb(255, 59, 193, 211); - - ApplicationView::GetForCurrentView()->TitleBar->ButtonBackgroundColor = color; - ApplicationView::GetForCurrentView()->TitleBar->InactiveBackgroundColor = color; - ApplicationView::GetForCurrentView()->TitleBar->ButtonInactiveBackgroundColor = color; - ApplicationView::GetForCurrentView()->TitleBar->BackgroundColor = color; - ApplicationView::GetForCurrentView()->TitleBar->ForegroundColor = Colors::White; - ApplicationView::GetForCurrentView()->TitleBar->ButtonForegroundColor = Colors::White; } void App::OnsummonWizard() @@ -103,7 +108,14 @@ void App::OnActivated(IActivatedEventArgs^ e) if (e->Kind == ActivationKind::ToastNotification) { auto toastArgs = safe_cast<ToastNotificationActivatedEventArgs^>(e); std::string args = Utils::toString(toastArgs->Argument); - if (!args.empty()) - RingD::instance->acceptIncommingCall(Utils::toPlatformString(args)); + /*if (toastArgs->UserInput->HasKey("message")) + MSG_(dynamic_cast<String^>(toastArgs->UserInput->Lookup("message")));*/ + if (!args.empty()) { + auto callId = args.substr(2); + if (args[0] == 'a') + RingD::instance->acceptIncommingCall(Utils::toPlatformString(callId)); + else if (args[0] == 'r') + RingD::instance->refuseIncommingCall(Utils::toPlatformString(callId)); + } } } \ No newline at end of file diff --git a/Assets/AccountTypeRING.png b/Assets/AccountTypeRING.png index 7d61ed6e6c47a40dd760dea611313c66983e06b7..642b26abcdd7235f6695c981fd82b39f15fdbabf 100644 GIT binary patch literal 2132 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 E0O0fDw*UYD delta 1157 zcmca2Fo9FCGr-TCmrII^fq{Y7)59f*fq_Amfq}u2gN=cK;nX?>{fUY)_1wY?4BWzu z4727)FfcH%mw5WRvOnMw5mZw*$)4s6(vlexQR1ARo12<f!T<u!MX8A;sVNHOnI#zt z?w-B@DSD~w3=GU)JY5_^A`ZWu;hPZ?D$zE-_<35IQQI|_jP|4t{TCXxYK8o9?zrl@ zafe3J0tJ!M@BneHT`TH4xE8H_w2gHot8P>|ms4=pQ4z-tORuISa{gWDleySuZps{= zcV}wWbDuv_XjDH_Wk*5Wj_#fJcRt_yyzYMG{_i|rE;#dhH)NYTOk!sGe|b)EmPqlr zP%BklYl&j^4;%>x3Li{T=V`2NJbPfyl8-A_u6%RiL`UggP8C(v+$kjiLG^x@<R^Xe z+~pdi@KVv!UFE52?9?wCm*h_RwOjG^cj5OFOF}Nq|HWSEIp3?w>C%oREA+~|E@@A? zrqgPm_fpl<{>Rm+TO~G6I_Ifn))A@_JLSuqCHwq}Uo}KG>N;$0XKR?KwvoZ(_v*}v zY^B<!4`d2>1GYcCkau9eN3((kV|$}<{l2K_f$f|8!lf8Kir)DB_uS5{lkzgO`0CEz zWwGJ1VZOt^=CzBB)B>hITrpoVe+lg1IdhGRyUxDPdza2im6Ka+LjHtK__BG)-mR<G zh2`%LpY~N-WxeCsJ+m7=JFE%x+v@de-LId`{}-KRF=Z89qvU>}!-Q$wdZvYp;f?pj zmYy%KpOUURcgmF5##g%Dr#!6mGFLB|y_fCE-bs;%%BSC*v`)AAhRWQjU#2YK?LE;X z#W|<^Tr5-Fm-$PgT@Fk?u>IUl?Q@pd>dl-F3KNp2XNBCADozV~=TU9z<-n(*?_Ay7 z7d>134*#A9p-Ti$Ic#$k*J3bs6wq1g?I|^><b-ugly`m5q!OP?-IMB8YHwS0u1-Po zuCH;)ydR04@t(7$l(=0IpY-lybWXdvW@Y`Col62enNNS(d++)^4jYCujLRG66#MOa zv5mQ((fB~!^E<7ghPUV0u&vnlr&j*m=Z#74-&{KUpM$&h<eHQ;`>9?_b+>NxTKef% zQ@7dar=Ne8emx(4oT2{A`SblVZkne}Gv9pw?3)1Rx2BuTmn~m@ooQ!;PT7K^*5{T7 ztt_9#%H4XXZQs6q!VQZwZpG+`y<b<V*1gNeYOWrGdc*Cg333c&E`cTCixZ4y)(CI# zQTtqCG}C6j*HR-#fj3!Rv(BbnXSm&vtQ%Aqdnr0mqV7t{iLwW;A3l7TRIkpy;yW8V zd$B`dSy@^7YN;7BX53(3qd)z$zZu8!M(wX(gU<e3G-uXLzX$s&Z0>D}?&<9fJ@e+N z0>?KWKfi19Q;QE=XgXm1Jj$v)LZ?i?Vy1^m+4jHFRe1I@pX=-Edp9X0+i?H)ZOfB) zH_hD3Z6oh`aoILKovygjb9<lh-n@S;dQnWB^p3k{?#-V$Q?hH(i*wtSBudCJ`n4wR z*e;uCG;<F}&7(QqA@7eq{&;z+SE}}h2L}!~sPP<LJjqUbs#kk;*9~WWTa%;l-K*y? U&zVqq1XMtHy85}Sb4q9e0JR_&EdT%j diff --git a/Assets/AccountTypeSIP.png b/Assets/AccountTypeSIP.png index 21464eaf7193e5d8a8172de53afb32b382e8dea6..b93c2c1f2e363f50283583a312ffbfbb3affaf4d 100644 GIT binary patch literal 701 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZsBOiAAEE)4(M`_JrWU|`@Z z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=ifvI~kbiA{I2P-S3X^7C|Y42d}WcDj9rh@;4{ z`s#@;i(401sx~QUESmJ0h0{#QaWSLgA7>7??w3kVTw9Ij&InqglBCG*c(mT*z%dcG zOB|dp3R|06n*<I<E3%20bk1wtJ$vrlop%bYU%oT7{`~Fj_p{&A?w!#wS(BJ~w!8d_ zrrU|E_qA+KW{L&J<#d1FFK_qw-vuM77$Lb^JEr;_<XXG^p3ub5c~eTKSCnm7A{2Zu z|8@D=cOqvtom$rDze`yrHORB*%d)0Pr2^4+HGlY=6S{oR+xY*si?^P+g?~6`)$#Y8 zh{#&Q_7Jy!dQ+b-^$9mf?af?#I8?Rz#~S0Lx{Z;4syIzpgVN4)L_CQ3`{AU>!4-`4 zZu6GSe4=u&xGw9%-%l!c<E|_z=l=XN_f7AE^QRtfxm|kfLyyZ^#mXuFYz#P3x;hu! zeEjIZ$%vZp=Je@SFMqgnze?=MV_0@mck?^Z1Fm8WH;$a$!Zj=BT+{sclZ*^SKlNM9 z&jqurYCW0odfwt_wK>8Kw~nf;X8du^QPWDD;p*wb5B8o<v~JB>K6m@4<$6p3;Szka zjOQ2#Fa5Q{+t|40^DHHK&5y|+pR8zPxKgUede)NdX&KYMd8rds)@8+Ql{u#Iz)t+o zt`!XY0h4&IzEap%8k5%XVaA*1bFE@o<^GnvxVlLwM87;jxb%4C!2;JGN8TP<ox5@6 zT$=>{wceXQJ>C9E{r$@)QlI@^A6WI6&3(G7;|k}h7mu!P((IV>=CMuf#!P?vlVX#? z`U>YLAJgZqncB<8p|nW0WKyzq^odQ=#P%5~Ebgtp+_rN|z17x9OWPaTL>U+u7(8A5 KT-G@yGywnt!$7bA delta 662 zcmdnXx}4RxGr-TCmrII^fq{Y7)59f*fq_Amfq}u2gN=cK;nX?>eFg>wwj^(N7l!{J zxM1({$rJVE>K|~42<jMG1)QD%(vTSvQR1ARo12<f!T<u!MX8A;sVNHOnI#zt?w-B@ zDSD~w3=B-%o-U3d5r^MSKc9WYLFD-Tb>6#TBLpWVMQX}%H&tC+e93-cT-8@4C)Y14 zA`}Dm{E)ABxAake@<OM?ms{K8_P8dd-nA8Bo4#gtea@uH`yY)OH>l;_OtCpplbG-+ z?L_<ZpXVO8o;Y>t)F~~0rw+3Qe})<c>%$KVE^1u(Y{T9#OV;fm!?xfFL0a7R%44^u zas5(eU3Te$u;$afo8GS%KQf*BkuJl2pH!_)Gt=zWXMghHFIrITcK7rd|IbFehd<0R ze34<YE961k=7hBRd%vDP$Z0%bcqRUUMPI(B=5??8k5xS1&12^|uy#w4;pbzS2@KV4 zUTVhn_RMp{@2@-*AzeAa=B4e`kaa4a@8+<cTT{R0%GEP}tlrCPcILRa?vK~cef2YE z&VM;cli>(M6~i{$^Tj#RDXFPn<uy2(_!_?NIy0A{!r5iXl%O+zl;+mIc9LiQp|!Ne zAb+#3i_6)x&&GmlT>?w2Ihv$hwgg<*v`>bIO}z7k^WM1oy^Auo`uw+M`%q?PH#^fx z+-b|#&yRN+t1gOFsycLr|NP~Gt65u1{4L6t-Oc;XWW1m0gY<zwnd9c&MsL4Xaqn9D zQGN2st6Dr;c@pFs<l7#4HBJ;_h&mp0>i1O3N*lTOiyO`^GS>aQdWO`?yCqh8@4f#% zdu>>Dtn<F9z6%O(Eed+I{INy*T)*_rj(yA(S29fYX)MhV+`MVis<?UvnULUemE*#j PKxxL))z4*}Q$iB}YLF-y diff --git a/Assets/SplashScreen.scale-200.png b/Assets/SplashScreen.scale-200.png index 7c8f3778f7bb6126220ddb63ec4a14b3e7b7b6cf..203cc544fd3eef2007c1dccd08230283574c171d 100644 GIT binary patch literal 38719 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 literal 37334 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 XPb#JCy5_;Z4CEJ2S3j3^P6<r_TNfd# diff --git a/Assets/TESTS/contactAvatar.png b/Assets/TESTS/contactAvatar.png index 7e27b806e064adf8dd333827c2d12d490d91b37a..164772baf347f6385300701a7bd68de67ab24860 100644 GIT binary patch delta 1713 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 delta 4646 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 diff --git a/Assets/TESTS/logo-ring.scale-100.png b/Assets/TESTS/logo-ring.scale-100.png index 20f60c73e3ddbf440537450c6bb7f8b733739a0e..a40b2b13068cbf410908e0e926f0797fb36f09ba 100644 GIT binary patch literal 43765 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 literal 37149 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%0D8rU)+eWyk_;w{Nc8~``38Z>SnAxIIYz~gXOGL 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 diff --git a/Assets/TESTS/logo-ring.scale-125.png b/Assets/TESTS/logo-ring.scale-125.png index 1382801a271706c4a3e1cd8433d17f390c1746f1..c91245ccfc730a1a802ec11034f3f62853c85636 100644 GIT binary patch literal 56183 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 F69CZq;g|pb literal 47796 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͔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	kGKECT#U4Z1Fzr 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 diff --git a/Assets/TESTS/logo-ring.scale-150.png b/Assets/TESTS/logo-ring.scale-150.png index 0938201e2b8344e0705f87547bb4f8b99e047944..16aac16a4d8603daca22ec3827769ab5d407b6f8 100644 GIT binary patch literal 68440 zcmeAS@N?(olHy`uVBq!ia0y~yU|z()z<7v*je&vT>*SIz3=9lxN#5=*4F5rJ!QSPQ z85kHi3p^r=85nr4gD|6$#_S3P1_t&LPhVH|hwQ?F%yPPI4;dL46c{{R978H@y}4UC zC%SZ}{fG0PZ6nn-m+#Vd(DYtDMfS<P`EjBGd-E1-lMPvLS#ZgYhU=}h#+xFiadYSe zq;71`*t(!WLF>@hF6|R(3!i$0y4>`-esl8Y+PZp`nVv?Ge%CzH?DFFlPWIVm`CP?v ze$D>pl?+OwU_^$%D%(S@0nxLj	S}bLWGcge6PTGRKqv*MF?a`3_GiJ8T%||6BFF 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 literal 58329 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 D{fU9i diff --git a/Assets/TESTS/logo-ring.scale-200.png b/Assets/TESTS/logo-ring.scale-200.png index 9d991bd57fc51243b3ea07631702f2fc131a4e43..c6321f807d4cef50714547e1714eab2d97a21973 100644 GIT binary patch literal 99488 zcmeAS@N?(olHy`uVBq!ia0y~yV7bn~z!bs3#=yYfc$Yz#fq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|W1M5N34Jm|elZz`$PO>Fdh=kX=}iMe)kQsNW0>3Jjhujv*Dd-rTL+ zBVAtm{{Q!Kw@WwsYxf*2W4fuZ?Qu@-f}FQ|GaqhSsvFbvxPbEs3zLO|cZNdWW~r+; z%Q?1~@MSM}n_JYlEhp2vzJR-AXX?pIDts-nTq*uFHE$j(pMCzleVXwkw@W=siu+2w zRM{=^NH>`^(QWa>XK&ws|2>gm6pV(zU=4u=)e{>z10GMk-q-v0gM8fD2M<=Ol+T$H zt^EAh(>s?NFAJZmw4d~4gU$D~2fS;OtE%3}-K~G_XeN_%dza~A_h#WIw@=Qy`Pt`| zO6J-nUnjMxob~#(aq>P%o)o+F;yJsVZ@ytPlL7f%$M$~Jx#B5aOGPZy)5ADc&j}9L zCEL7GpeXXA;j=k=6ee&p$$tNE__I`l;JSrQ&mPV8+ph3mym|ib8ZW&GbF|;6ojV!x zaM!OSzu!+P<IB?Gzv%uwy8QqB^!fwSTzZ4!YG>5^-8Xr!)3W<PiZ0pbKAZfxbpM{d zfBx<5kLUDnR%B#gU|3*2b4hidZP=;js?Wu2rWkq7Tk`n(o0l(kab6FYus74y>iIvv zWz#j}Gd_H-55HmU#W-tG^VXfG@9a6Z^S{A!JI(38SFc=O_c72cPyYAY;OiR8&8==` ztCR<=K0fE+^nZSS^QKR_Q=gUbB=z^dA3gD#3c+^np1I`zoec{wD6RcbZvOF1$scF_ zt$Sq-nQD}t{C)3f%5{%v(^R(CM={6$I$o3!b}`BKBh$7=sn_QGuKv8oe*V8t%lBVs zov(am`u&=#C+9uSHQsD2y1g}u*?E8ADMxdQDHBzUpUz>O{%-e^wbwT-gxGke_z>r& znUa>*r6&e!ewi&RdGYhUpJ%5{Z>%dl%FgdAZ}Gu$rXQF8H@RA$nf3pt2dr3j>VnV4 z!&?gswjZ~7|LkS$ua<vb&;8B$qx#~hzWntw56skaCx5x)r&sl1$@AIUtER5Dskr&Q z_UZrQm&Nz~{hd<-irxsD`?cqaP3C%up8LPn{Pxu;$8xL}w(2cz$*w&a^Xk&<_2tjb z1uxuP*!tzW+_de_54J6g{5!!n@L<%BPb((>UNHaT{oh}n|NrE9uUqwj`L=c6F6}Iz z^`(8%wDZTcE}ge@d#T*tw@Z7%W#8X=cec$nX98I%c5Ux*8RgG=mVRB-Re8*l-$vlS z;v25Ns<k(D)vdVg($m_n&V4>F|Mc&h=Vxv6$`;u$Guy~*_MNzs|8fp|USIX7yZ$53 zdmsK^bJuF`xp{|GZLjmC4>jwww&v|MIzIQti-2z{@(*gy+xcTo{qtT>$Ts{;p7ieS zhJ_V*`?thD?=+0wD7fxxcaGWAbG`p(GJQ`o)jTor=lA-l)sH$O?%J((Hp@1Pul)DP zW`D`1)ys08uKo4scY4L*sss7|zjYKT*S}fv+0<Y6>Z+fQ7fV$f%r~)~HFNU6vaCaX z*Dar)`Q!$&(c$^s&4tPT_e4B55n#D>W66ug<9QpuEG@hD<I<Ibsr@JJM2jrGwDz|7 zT^pIz`zjvhEr`35;9F#MWX|_}g8x^xyTuh=%dXtM>-UC5_pM4-pYFZ$eu?%Lhl8_J zo_>FqZ8!Pk%$K2y{dXL1Tfg(`_sZR%Fins%V!Qu-zIgUB$>(3z@=DK|qm%s7>ix2X zXEuB<4BlXRGTQdT_jsLmvU+8&x4!6FlqI(=bdCF@JJaWW{+ID8-~JaveuB8=)2sR= z^X_Ti<Q99a+4HCW{!~@V6wAMV?dl7<xB0(&%*(>Sz|e5+<?3tMu3{`!FRkx)?&+VF z?H%&$(D!|6wr}K&BNrw3`hDD0dX4*9*V-FN+oHN>JvTr5a^A$?`#<)H>et`3c>hGn z`f2Ftz0>n5=YRfMYPnaTu=|)_+@!EMhJVi$<UQNCG5i0Y-aX*D_kyLP{Jym3zkeMI zba%afTyNu%l=bnG=lRygUHbg!t?ar-w>(e%`73^FEyt}DsZl+@z0M#1J#+Fs+pjPA z|C;8%QTidjJh$``yUN;^ZOe_TPMsFn64(07?&r(<_sS1S*B_MT28G;PL(lKu5?`Bo zR%M)*n;U1^Tae2sx#P#Pauz>xFE8^s8?Eke#aeGZRj_t#*Mcs|Ei1ERi|eBmGk#Z3 z{=e*R`M;m%E2fJdct5vr2luDlb6;-X{W7!n&$0UO2g`3ox}1BmZpOYBy7h-<^MLKz zS^n59Qhs0F<dRGCY(+0~T%Xp^=$&tA#qlYA!ezsW#xAUxM{kFf&QEVNDz9C5S=2GP zJ+pZ2wNnS9UhZ4|B=h)}|NBbK-~agYF~08D63beLOA*^`w_g<hzpE)ED($W8zPWe4 zr~ke3{#?w5WA8upF*7hQIAp)Oxgqi0o&EP`ygU-X8hB`H+_bY*Gw(!PI};nEaWS$g zJoa#Q_JyLe+)SzOe%1W_c=gJj9gdgZEhud^Yi-(kYQOjPxqGbl^i==8cl-aB!m<Xw zUvsaoFV4LCYDsv>>tLDchu$JfxF60E<xk7yc=D$9ci*fV>n{7B-wd*x!J+7L;Ee;V zn|c*Ep3Ip%S)^j#o*2JLQ~Z}dWpDg+ROYbd_6KWU`0;FwQ;vBZ_>%kn@0#bg(|xSA zY`Hvj{o+GgtiFfZpX2^?s^($w=UBllYChce!}TM$|NiZ;c|Yf+f8B%p8^X7q?|-!B z`mD|TUQyT1o-h8xs;}3cJ&8+k_SWhjCH>E8b1e%FM(;Z{4;20kC-3Y{Y>t_|_WGRS zqO?yn@w4CW-@i7s_UDw~Ew85U4@vkezm;`T-BO7Sg6qD{`kW`_#a~^owcOmJC{S^x zDdz>LyU(9~K2`H@^I7dCH`e&vZBd(7T=3&<GE0}AdF{f^Uq^U<-!P2&aBA~$oBMVO zn@`47>^dFyVUg4J08cHp?1#74%AZV4`!)OJl?O9#*`3@6%1#W1Z*OjJH0C^HI{Arb z(at%2^*<g~*5<|AJr(i&^XGZdyz6=Am%q54v}|%$tTX5Js*d`X)&CDn{=H<*G}V`{ zB-LX!2b|v8c)qrbQM;*)OWcI(+AG%FdDRC#=e)k+e*Zs1wFgu5xw?7jzq~!qzn!{# z&!3<AK@&8$#jNJKW+k}EGV|0@lbz+ix1Hb63<@9zo9}tIuKb8O<MYX8?vDq}-JkyK zEBtiQ>+S99KN-&K{FJQ}^P2VM?CHxtz0;rjIWBI!fa9F7%!ip@cXd@cE@(Vo@3$#o zp?1?MGn;IYEum}5_s=;u_uq?Z`y=Nr{dxR;@2|7(Cv9GRb<L`r=`$-1c8e|v620r> ztr#8h;F{Lte@Fdq|G!iH&$53bxJYwI{w`C!MucUm`n+=|)6z>H*=+aoeiSWjrg8P* z#+zq8mt11z7g$%i`;4mj{%bb>%_{Sb2(e{!?(XvXlp?j`wcgExGmoy|kka>AT|D2i zHmN@Ae)QJr?<UoLE#dQQpYi{apO%@eZ}+!Td{0E<d-t~NuTdMe3T~49@MLfDd)Ium z4XmKTj?L%NUTJf$bDB>pbNgqT&3`vx%fiF15`K3!w->C9=1sr9zwTPo`5AxWCqIvR z|LSJSyqyVa1tKaNGavl_Jt^n@l|`W}xi@6D{LHSp@HzMOm0a`t=i^M&|IRA*GkNLv zdSTvzt6}>dsGh3UvvSD3)U@{NgtPyQ=YRkI;K0)Se}dJ5pg7Ut{hoK{#zwK6mh8J4 zv%dyy7Jgrp`9ACOpD9aj#M&j7it4h4mM*iL%(nlV=*`LgSrfIJ%;Np$zD>LoXE}HC ze`oW5qSjNM%>Ve!{KT8{D!gAmy^i>LNL>5<o;Jp)#bLQmUwT?TJ-g@ivVOV!KFjCN zOYa9&(hc{*@^Y`Qd$c3FB|BE7_~!3^^Yr-}OJ2Pwk_fHYJWEumW7qn`4a)*J!uDz1 zk^6Oh{b{+sspTOoQx{#Aeq1`M`1)J>k|#>3n;qld1w?QEwX)GPd{*Z1pbE>?@n2q_ zI-avsZ29YqPtD8fvUWbW^3wbMFW$Z|kY_L4es_OQ<j$Jvx9W422xsiPrn>3o!NxyF zdL6C)ntisp?xomt;&s>Uk4>hQ%NOR?JAZpDU+V9Ap=#~5MNtp0-g&;y;=!Hl`FCpH zUasBhzxU-H(SHZ;#CuoW465{89sfg!wUBv>gzk-~oTF)ezb;&9{Ic`ZzK;y-`XH-c z#D3p$v+AtM+%4(-HfB#BdBuLZ_kY^OSMQ&*v)|8KIc4&5&6<s?x)<r4I~!}QFH+LF zta9C}vX_O$+s}UHdU*Fn#pJF9p=+<a+Lo}I>srj-b&E=OHJiQaTea%z%6qj{KYPAh zJ!n3^KIQ(KkoEP?+pgsNi+^(G^enL@FD7<R_c|G~@KMj4$;EzgAFW<Js=RmSzHgqo zO_7!H-qe(YZ^sv3ulr$c*#vG|yw6(95yu*}PIsE@bsca1-hV5X2Cbj`Ui^OVHEzKx z`(^K1t=*&Ss+0a>f1TRz{`%Lax)xkqZ~JIhQk`c}Kl{AfMGu<8|KDG_C;Dgl-p^Af z{a&(U<I*p?*xcPr%kF$^tqogtsQ&2dC0CtipP78&xvh1@wR_$FUlj6Xfx_rQ^gGLM z5t<qKDl3IEcW$#Vntt!ksxK#Q^yegeDD_&pD0=zNy3p5Ktkzypie6%xKR4~@?TM!) zCA%!QMa@ajP1?8XuH)-19on|-A4=aOtljfw>b#foZujawN>6)L_jK>aJ)fUc&Y$@F z*b~wF-&Kn|d-=|9jSAlQbf!|&+R&{&pOd!5W$#p-{pEM#=|34icHK=cP65?24fm3E z#zgm*hhC515Wl}iZ|+C?#F+=D&w5|JN5Jt)M7CJ<pRGG@H(&n!<lo12r;e9Kx?Y%- zd(k9e_U^KCc{jJGJ=mif{379X*nRoxYiIqcjtBjH;bZf<VCl8B`f`7@x`iSZzkc<I z-7|Wps-=c^ym@;1oBbc=$QN$_+x@Qm{4(FQqI<L#M!j${ntt!+^8D~)`wcz#c}~op z@5EA^o&9m+(M)FJ-%tNvwm-oq_vTmEf==dbn;vYw{PW=drFU<>oOf^QIh%TwsT=oC z`qH)Z4`<ZhJIPPf!o<G4ztpHN(;>S4@OSmMYPVMWaBMnXb?)SC)6y@SR+s#GS=m?1 zz_1`bXaAp~oqWBqB0sfH+gP3#@%VIhioDb%-rL*t&t>1;>YZj=pk-@wqeMFQe4OTU z-GlSjIxcv<>1Lnar$aemjpF-1$J=?lJoe_OjLfc>-K@Ny&b<tmuL;mJd-~^8OxfkM zpYlKMAH49Pu=uWla7%{aA;Z@J8sWQSEA|B)cHVUJX531SSq2ftC+}#t?VY*)$L)K6 ztE<cJ|A_E^7jyexMXc6^bk*`tLH}ib&TM>Cmv{90^^~HnigfMemge8r3;5>kzLc(+ zC3lqfW{lUlvfjG)E3dzpb$9*DT?M!Q%CIsrIK*!_^nP>YW1qCv`&Er|?)+oEweR(( zPwO3w<L@PSU4MJS@W1}mo%1r5KKk}H+itS?`S-Vz_Lg1$d3{QG-J+ki^Xs$Um)*B} zHlwWE<nOCyelMYixAxpD%eLD5?ZDB47cQhuJN3hK?bT-s1stOfMrAxVuvg7b@i}N* zEi7udVb|I#Q8`<~%x$tu=4XGB;%<H*ZfpOZ_s{1G+hq6euK&K(_Ucsq&(FBcX1>%b zt}3&yne(U7@#);vyys6TMnARv>a?wmF{<bGL$M;>x^S;cX`bKv;x_;O8+@3(?8Tkp zbPEk828J`yQ<R=F-8|zscmM06N<XP{&!@gEIIa3+{pa=j<8IX}+-&x-vY&mG_f323 zOKJ7_I`#MMwqCtwR+8u8*jzbb*PCb4Q}|BX%k=c7>l(i}9lyYdMfCdFWv(pIM>8w$ zPnVYN4L@?gl{K5UOV~s!DWJ;k>GRO2@~@>=A4hXv^SW$idH(P16Swv37KVRY|0P<l zrtZPc|Jmnkt$)=<R*BnB))O(-hzlvTEsuWs`ql4bakGp9O;L}IpQ*2A?kw+nC;jW; zi>urJin+TnFf{yp-t~O<@0xh=m^w>ombr$t3zoK5?mNHjwG*g&Ic46wu-&pZKQAok zot8a!%i~$8FB>mr=Vl~C*CiY%-6zm^D}Qd7zQl?=(d{{vmp5M3(r(gnn|@xxl}9N) zc~cXs=;xM6eJ}j`JTF;oexU7~zxRdc@Be>ZtuOzqH_ht#qv^An&U@so$*)tW^n3R6 zY5A2!_wQO=_WHj*=YH6$1gXD)1;w!rv$v#W-wVBxaw*F5ze&~G-14f-@7L1reSM~G z5dn&d&5zFif4f_6I`=18`FifZORvT)OFR1CvTgT!vHKQ3Q+(gwz8)vo{Al*?)%><0 z|0Yk%mNhCk>AT*ex2Ik|!mO^3mv7gvwU=YAzTG)3rFiY-S6l5qFIs*zx@>RW^sAQ_ zE$i3S*6|Kpdp_oK!dg%7?Omm<{b3uU)~)nB$Q=H4t<=q=T)jBWJ97%s{u}JcJ^sG@ zwcWJJ+egza(&J0c^&ZVk-5R3T?CgAMdeq{~cTwj=|IgbUcJ=<#pQolLb(`rYW^Y?{ zJMQY2h~xJTY-2M%$nUm(U#Ygc4+BF3>yw|i=Ix#Iwqe?v8(UYeJwCtwsA$d+y^ZOI z*_J-;ag})fXPwp@<(TZt9^d@0r`;<)J@@Cw)cW+~$J*Sn4v$&0H}0xB#_?3^u*r2B zi|(wmVWzeo%b&KjXCK;9;2My9W$OByH?j(~npYid$jvLyzY?|f*|L<wMZa!8EY_<C z-u^cI<@VS=?P|47=a&9ns-5xD$YR@?W!5XQuY5JmikfS%E^vC_`qmF?Uou8WO}`_n zeErV1r3<y~KI!x=U|?YQd|u@w_m_8O&O%?7*UaA7X}m4bd`JD~w6i6vSQi$9`kyOj zxa_$0OYzpy@_p~uG;98U_-9k+<(z~K+pb0&nUVfXDQfvv(KTByTCF|!rAAA)zQSbF z)mcY1Lj)vGU9H}yS9#jB)Fwjv?g!QK+aIF!&y<~>H|^(Q@6Dg~@Spf>Q#tR~TO$** zsPr1saMOLWW}SKds;zKs-|1&pBi$~`moJ-MwepTLsA68bH}JSD1H*#vl|@$lVJ;pI z_RP-H;?ui4ul%xZW#HZ2nUjll#vGsaJz%4g#>1%HiN{^v-=A^s=kot~k5Ai)_4M|i z_`Z9QfMafksJ+kTBvrTIg`rV;Qzx05g$XxAh7>ZHW^N5LFImlZc2(21CA!yd@n1U? z?bf(AJ>&Mb)#A1BzYm|*GrwH@>*r@P1EX6zLZj}A<z`vTPio7JlV*&mRh!wSbE3ZB z%dXq|46Clrmp?sGlz}1P-%_Sof{F+K8JS+4_%z@~LgAm&iR~}v^-6QcT3BDn%DrYe zSMICa=AFVf%CfDBU;ftPI%f2pRa<Rd{>;W%A65%2s|-zyVvkzB^&;0=r@02YtCCjO z+wF7FY7$%Sey3;7&Kp}!oQ$>jG>tniX35^OOaEs)uRi<oQr&B|s9?>Kf(@Ag*D7Xd zIc>ku?|VV^O15RnWStA^PgQ>Jjj6v~y6fpQM!qc!3<)cXH$~X9a_>L6_HpvT`TnAT zN3Lx2Q(Jn7EyCcw-7|^ap1!glH&ku)7hRp@vh~7^py_x2DCwL2?)>xO$VIQ^*{id) zWd69cItVrf?EQV%G2-m*n|p4h?|nHf;oqM5lceL-p8qu3yfi>?%d51%0c(pU?alt7 zd%Jyk{_cNoCy71F*ipKAe%$85?J4Qse?LF>*(Op;bd^Zds$Y>i^!6tEO%-*P4i}kQ zedJEiqG#N-YG=6mGlFclTzq@zUFz3;*|yU!f4lhSLUzg5+;rdAFVof+Tw!Hk@D7F4 zwYs+7nzGkVwJvaIe7^P1>l(%52cpghI=CgB5oVcZBVJPX)X;p>Or^Ss+x0j2l|0?! zb?&M4w>f1ol}pz>eQf_8)FnIR<J(#^i*N31tL2Yhvt$cBj4Hkv-EMsFUygyzr+0r& ztO#E>LDKG{-W?CIHKF(We(j$6QnxKL@N)4?$I8WvPx<<86<@YBc*lZ=kDb<Uab9~h ztM5ze>+O8|pVpYy-sa7}T*ICdz5UnAt;g$JHhJ3BT>9`~!>4)b>0#;y+DDVOUX1)v z_BgY6Vr&KPSEp@m+vgUWh9*0?w?49uxXOLQ$H?~f<b5_}Z{P7R|IWYvb?2Mc^AkaB z>>0&(`(zh>P}aWxIr>*)-Nn%Gm#@0@=Y4-(eYjfh?W?ypvrgPR^DXvc6nmB5uDtZ} zJmvMx2WP3UGS0vMv+REH{M8Bf_w})7uk+lXc2RfB!p83We}A`}uC<TYm{o0H^-gqG zby>M$Q&ISNJ{{}nekY^1<*W>4S!<kqH(_ms%9i4``(M^YPd$6?e!AN1vrDe!?hE#t z{P&*dmJ-QWJH^n@A8Y>Y-Xyf*)b)?Md&BOBg)VG4^>a@etKh9QI#MG0D(;(DZ}|Uk zW47HFuD&A-3=ChJ7Oq*h`^}|kyLz9cds+qDx6a$?IyXNc{Z`>w)0{h%36tL4-4S@O zrYHCL9KQ^qHG=D|8Ww%5=06$pZQuSA`qKYn>W;2*ZYo)p&Lz0T=wH;{%Ho$jmy#cQ zZ&b?Il(4pD?RK93FJ}Jays<6Ud%4{9{bieif3lpDjN7*6>4G&fn?hUit|rDbUs$(F zD$_E@+dwS(O0Is{iL}+e-^!D(*Sz3%zJ9MvqMDh3!Qo5i`{3+rDtUX|_Li9#{YYuz zQ{gPLv#yxXdpq&|tu3D4bMIK_$DaALZ@q9bI4SjhNj2a9@Ik<{-9N9cKF{HHTxI`u zF2N&lWj&?meq}B_c8q&{=F3o)T)8!oN4CB>d)U6_*|t8moapx-E<3-@FP~Q}y7sD; z{>+IJ0}__4nwI)?b=@k*)h6N>wRDXZtd>5uGE>`hed`C^qI|Q-Gxyr0Ru#Otb^G24 zK`91?1=rpcpYxnE&GKRqFK_vTio}_!-l0}^V>jNvyF0P@&m#e+xha!^_N|ZK`~TmK ze#IDVsk3qW)jrSrUVHCYc#X;aq^~oU8VTxN+;i;Ut(wxWJgix3w>fp2?)AF&J*AoX zQ(N1#9M=o8l#^2@ggv*isD8rkUmLVM<+l9hg4eQjRezc1Px!L`he(*$&wW$QnPjY7 zw(5Y6=XL+^t6zgTnRZ><-E=KPqPJ?D>F!mU2GXXN-H)x``BuJt{hm_UYIX(&hov(+ zKeni!Z;|QP_V?3i(e0MAo_k)8FN<7s<yn*Vx&-CzFK?^QT~ck9H)sBaOFo(RuRmis zILl>6m__IQH_xV@S#tdQlkl~F_a>C2tos^yS1dE`Z^BCEyN1@+tk&M#V|eCQ=F;QS z&G{}bIu^?vum0+r<VB-(zcQw*P+D>ITw3Vmvq>yjQ?IL4zdf;eevW>EHcR&Q(>t$U z@>=`N$joZl9CL9CQ~vWpTfA0VuQkf)7Qb+Hf5qCi!a&8@Ge4#2f3AK1Z)0}Z{u#>V z3=9Y6e4k&Px9Gr`p4_%?WqigjcNJ|At8X`w^4<3I9k28gc?$!3?s7kMyDtHc5_$`K zgQ}kE=3oBQS$}SQglXc-E0Z)_E*RYC-XHE+H0x~2lsLPKHa^)QI~GiBVqMy>Rw<;L z>zb3}%ux31z@O2JKVH=-xvP+%ZO3n1efC14f6bPqdW%3wsonO2p=CK+`|*s&+G-*p z?Abw0(^5Y+Z8~;Yi+T5re&1V7x{fErX86vy6Fxn5_wTiDR2di;9vaX1v9i_uu&K+9 zve#={6BC6tEnN8H^Qn@9Td!~0I5{ub^Lx$>h43@}R_8t^^{*HE`Jt|^IOuxqlRpn8 zIRDd;ko-O^NU`Y}lWBOVrp1g?8k=)s)`=Lnt<7E;!qUriYtgYd?z68`*2~xZ=;YV* z)Sa1g&D;L<!hY|2uQL~h{Wsc_Q(0MKY|3#n=8fU?ti#)$ti2s_Rn;`^#Ivmte-!rI zITd?-Pt5}UzS!E^W&6??85p=0dQ6)Cgz>JEVB$~Z{v&*Odk*^i{Kk8G`|*4K=cvq{ znV78p;lZ)qUFDaTnMv`RTFUY8y*k1!m!UuV^>uUg+S9W2B0c)M_Ze)vbxF(Rg5Qj= z+Uo~Pyu6l9k&+Is4`Jz*D%ZWUO81rFL237M6~E7Z+_rn?m*98jQ@&a8P2~ONr@pkk z{h5=gDd){q-TW#!Q>U%bXzJG4bRo~%Y`x=aQ~gDv(TVG~ymni^^DY0)WCjL@{nGVM zCc1oH-XtT<yEQ#~<7^kp*zL*gsXHdA#4e1<&H0{lYe{q3=S$OXpDB4X&-T~U-S6|N zBUjed6#t3-|Ey=v^60Fh87n5NiYpLJ-nDhtoF%V&<RevP#Z>UFvw3&x&6SY9*Ro0v zZ+82xoAj{hQfX7+wTbb^{xCq-0%WZZ&AXentekKEv$y?z|G&<Uz4=1+#Gc<>*=P3@ zTez5+nHjB$yg%J|>TciDU5hg;)U~(D=$LbEOZuFv{l-7+$G)PY_NOPW-7&j$+4-~P z-`ibH*tU1{dsRd|EPJ_e>3*%S_<eKVB)@+4?dGGmmtO1p)&75Bx?6t!u7cbD)6O%# zx@}}xx%G@+x_61>^KV|O><-s%`tdqpz31-~Gu`L&rrg}}dCyA)j=GnX_v)WEKiJ>a z{2;ylqj>#C9_dZ)cJ1kNzxvMXE&Uk$=eGadI_tHEs?9__zj?o&l`}23jq7=QU1d}3 zif!DVwoZ>*^>(*je{I%2+v=t3&c_{U%YQJ>ceayyq3oZZfqU#eE^N2jcIF@Vb-OPw zAM0E=&Xs;(Eqi+4<tV<(Njkgt#;V<ny_$9@lUFxd@9&><S*@505B7byHs^fTf~?QG zlon`j&)c2!<V!C5x4RpEA6t<=&+`AL*t9%r-3zm$cP2UQ3~+ee#eSvegqY}#*0Nmg z*4(u$sakEhX@2Wuc4^jSsJkA^eirj^>y&RlJ8tWV$c3GM?3KFgu;T2Q#xEZ)zW!!k z{;NZ|-#33}C_T4xN$9zqi*E?oew}yq&%F(o${S|dJTE!$eQRn_QPd@WpI@y@-dCNo zRoQH7`CQJ&-~a!IbJp+AY&PBf)OYK152^R}mZyh2c^7zFf4@!OYO&)TpE@3}ew3PG z8M$!6!E<vbF8@$i?)rJfs*5ko5A2mTKj;5c&{$SR_9|%Fv`=r_`$MMU71K}eEIF&L zQ1py%i{ERP6Vu*^s?Cx)elW!Av9fZ}%Pl(d*Z*7?9p^YHZ~j%s=&$aYfvy);+<dh) zj9Y(ytHRn}yIv(Nd)@AT``ec<|8M?X_~F&%_xt|LO?zjgIPGJn=qx_gz@<W`A5K`S zR<PRYqt@QLOQV;Hr9RxSc2{cT<IGUUnNlnz6LlYp{9UhC>a<N|`&pgj#xk!e-fI2^ zI}@GE=E-IrzuqscU-03q2oLYsoSAd}^v${bxaoo7=RLpo)clJsulqFl{^TQ(ycZsC zy1C|C<;o-K53cWhZkuCs<(;?T`I)|PcRzod@;uW_UVl%iQR?Q%)J)gNhyTvbF3lGx zv56=?`uUi!)s3jNkM_P_UH)?0e(Oso<01v$h0K5AwvXHPhSl2UwTsh&GA++vKCmg( z>cbIX*^HgnbRVy7y*^VRKs(kwe$JVHH6^EKw=cK*x-eQr^Y6OT_tkdJZmp=^QtZ{+ zBerQp!HTf2<slE26>Jcb+;sM>#>02BAKqPFdHwvU3f(ME-{@mkt?f)QmWs_=z9;uk zyoKL-xm}Nx&)=$ldDA{opQ&LJqv!F{Z+=`VH2z?dJ9AD=RNDQrdEd`E{7Sc<`s>zQ z`F|gTbMzLt&v^MKHazndtJkc_?2NsUf!U{)ifm_lx+eaA_}|d!F^k^rE<0+cc>j52 z&Yuat`>g$T-ucth{^IvOv-|e-vbDdoVm{9~r!$3dt<}P{<%?EVa$J`3?H9M*QW9?c znsd(j=6&nWeBzX?_;m8rb%E_l8RlYo8nMxnDrdK5H>NzBU2^%uG;`mleD<#vSpIfc zet+)LoSP?B@KqgM#Bek>R&bT*_xWyXZ#`<y(S_En-1qOVNsaj}AFe)gX;9t2de2?+ z_Hr=Hs=s?;XYiRfBI<jsXUyf@=Hqwo{gU-hY~ORAUb4RCO|rc8fi$LF$1Bb6F1d0g z<l*-#Ps2}HW+&=IzdXj8r@H0ur_<skwQ0+wm3C<_iVPDtk@VNfeDC*3-m~_w$0cUW zjCe1;yi@gi&W!~Lc1@<nXZ!kI9pNiyUVAP5uG8BquX5HtdSX)YN!m2_?6U6x;pdld zTTeKbQFF6p&gYPSQrX*|Mpbm{ySZLSYvsz4OWw$|ElJ@?cE*n|?Ju{U&sP?T*qhXv zW*fdjKj2RMA<%@4TB%mb>Ob09N4EVq7#%vXbqA;?w`CXW?4@_KU3aiC=*|uIw7R$C z@m__B<8hh4wwyevKl97>%JaX!+^>0)?7y+I;oQgI#&f6BOcgXg)IROre|e4ytKT`+ z)^jTBKFki7WU_VrpVcR~URZtGXIJ8LrJhTh4#-}R{l9Gf4c41EXA*p$e(rR0(_NnV z{CL&txs%J@+*+Fb+eYB;wP$C8>guAV&a?2p>#(@a<4b#gUESI_<w-~5V)jIQblFqF zuzqDnq-p)#muH{(7I>`Lb7kjh=JtC#xMzE&KKZ%tQgU+Z&$-;O;?u9LcseWkN!Nm_ z*LjaeZoaT}k@J=y`46A&tEC@|`Cx3Y;HGJIP|>HKyS&npuD&`neRgrN{id$pecW%| zpZ>lRqirsJ>v+t|)9b&Kzxep{cIfr5%U3?y_3K~7<&b@SUn9<gM*3fD%Pxz4cT_q2 zUKvNVAj6j28%x5yer=Fv*>90s^y%{Qxs}gWZ_m9wE$uRc?1|Y-!KXe?{a!QEb6%HX z)XEhhAE(cK9bxd)B&&qob?;r}f10<0v#*)VRiAxU%VWcPw%U7DZ};&^KPk70DE50+ zX;pZB9&5F1t?;^^mDZ{yZPwz;TK&!mw`ZPp+SbDUXIWy@?fE;eiI*u%om4rGZQA+{ zj`OPyn_ZU`bzI9V>L?w1h;jC_CJXQMDbeLCp8OQNJ;!^ox7yT+(sJuK4rw`U4KfH5 z-Ep-g=V8Fw$P;SUof5*Nr<n4;$U1Bm+LG7nyv=R<-krDOtR`0)?w`Q0U@@DI)zvw_ zuLv6(+ut;@tUS9q{`;=OH*_5I4c~sQ$-Q67+I)Pm8b|l++?k%c&s(a;U6`bjS@`Pq z-%s;+rA2n|wRfl8+Friiuj)Y~Yprgr@Vc4Hr>kVm4coX`KjHP3zP8L)HxBvuvHzLE zHeEk_Pu~1c$JyE2p^fCz2g6r8MqS;S#Fn$k>2itjN&n2Uw^owO!P`>49x0OLc&k5g z?b)v15vLWSe=06L|2`%moa?p--`$X?{HOQ*a<_PO^V|y&+!oqi7<a^Ik=~~-+HX7= z4E*=2pXHml<?zpc-{Wj8e@<MRKCe<Gn)Ss>|Bc@)<HdD8SY*723)ZV^exkCx;(F|~ zHQb*<<mcJn+npKA-gaTt&w1B6`E8eo|NpX_`(M>B^_b#!Ek|?bZj*?$jdd3{o$Pg5 zULqi?!ozoWZ5Vs*Lj5gWN=y%5ZkjcFZSQ)qcegZ;a$Q-XBI@}3Sh#jvirVLzv+LsZ zQ!kk~Wq;h1_EbxjhdueKW5k>ZzF9JxTA6ouO;}sEdP|#QWQxS{B#Gs>4A#YEhzo9O zZMHs|chGGI8w0n(<0a;7=WMs67Jd2_KDYGR#T=mp?jr50_df9d*OJR<DZbu%QRJrs zIwu>d|C)u}+ispejny&zu&(jkEe?-Ye=Xgiw)1Q$^QI+=(cUkw{CN^DoBt}TJkalV zaHgea^Tb$ZX_g$(gHe;4{f=ulMWuFc<73HsnBc3`vt8}^l=$s_(@uWiz4~e0bCX?3 zuD$|d%d68b8{T-;k`uW0R!sA|*@e67%y>^Ndbawyk>9#asj;6ytCbiw6kM8g?#o%Z zJ4MfCzOR0IGrfPKXT!aObC-8>-uQLvTaMW`%M$H_Cp`pIR;6#;>mL<zZ-3?HJvI9_ zuf2Ar<c|_t_S$#Kd!KLHZ|mZx{d=Q;<7@w&-})r&m+pC<U2&A_tB-3ycF>9i&kRes z#IA&}Z0))}C3<(*!3PTW19E3bNQdgpowb^8)`IHvOA~a%R&U$YICECt)N3_oOhZMz zJnY^@H&1wb;p6Og5eMa18Mw7{pPxJXq^R1@`t=&m&Z1fe{SR}N%kD1QsQ7Ej&yQS^ zGgNrh@?9pLO%vYgu{q&o{^$DYbH!6$7kq5GsSvTDYXNV+dhN%Rk{-6J<GBS@qC-BH z`YaFf;^jN~T1v`JMz^(VLFiqF(+6+OGUaM>|5288`B!MRi7eOtNhR;s{M_w#Vwu>q zyA#7QeV1Qd?{-UPOZP6G9XHcAyE7h8nzO?5_1QO%qt(>^XP&;9E`L;vG0Hkt^N)-E zKQpa=FUr226TT&K;^m&%c}a)A-(|d=6u!8$Xjk6xzH8ssvvhVBU)mO(AG>MxA3o2+ zD?{9;Th2NCvhw~<zwkZ#LgH%*nDT3Xp4s(wS-alFCw=ReFYfl**Y`5S?eWe?Uj6u$ z>3n~Dy5j^xWLI!R#l_9_{`o-q-|i3l|8$9R9XtNB=vBkj?6B7pgBGNQY1jnq(OvoJ zebUkRnNyt&w9h?{NmS?!QcVb-bADBxdTiOxvLouti=rN`cM`0;p0LmDvRD7suKAOE z<)f?K?whCjGVhxfLxjoxl`-$^{b$elBfP!-KX3WH%Jg}@Of7YrA{6u|U)(oQaPR*+ z#lr1M&tof>+IZG|{9bwCSx4x~m6`XZ*lqsXrTyrAQPy71o4w%Xdf8FC?{VL{-KW1X zvroIc?2~2m?K38J#*3Bfe;i&{S^HOT-Oqaqvwr%P=-$10@oPy*;M=w7^;)VYGc%61 z%=>w?zBOvK=C3RE=*`cYKe8^xSl@kQ)I2fpY50ZT>x7TBwWm5CKALkP%W31G{tW>F zVO9RGT5}#A7k^&->ddCq&f5wOh}y0dn9_Q9+YiO)(k)`5H?P`VD=y=x7G==cr8s#V zXItC92UpYQeEjAA|7rZc4qqmbC%S82>+M=`v{-ie?A2<in<ITI=h+l*n&wyT^E|e& zHE-XSOMUypwjY>##9AyaLC=JfDR#!$Z5#LRzOnq_HWzl$9o2{1K3Rsl-<urb<zD6( zexd9674i9O++k|mQ^gjQMz!0U<|SSeK9OlP_tFaKpsI?9&A-2wAN-N^uvCrXir4i* zZt<3DqC9+>+so!k1T8h@i{2R({Pb9Vsne#awWquGM@hBj6h>`TjonuKcDvW=-1*lm zwyciz3Yl$ra^~!W^-K-#9xRCu*D5_fZS%RR%ggQlee~bx+Hmf4TT}n%^0!+5o_WhH zIMe<_RL$`Iy}4)AZrOjDw?E<h*^?!SW~;MraeUr&w)VK}a)s%yZ+!apyr}BoJlojs zR=<<ZnEKx<xIEw1dxwDIa^LDq&r2VUxYUQR=<2VR$Xasw)O!1phyNwBIHSu?NS$@* zU1;{*y<}n2jH@oM`;Jd5xw-Ip*v5IEN=sYMt4(!SeJm&2%q;qE;f)Z(f3tr^9gAaS zh)tb&<{h}ey1gwode&LSGxMd(-d(wzeNE%%j~u_~_dA+-Z}9(YxPCXchv~Wg%C~dp z&wYEQX-=@)C2sk;9oFAh|NHUdM!=PWo9A;0mLy0|)Bhc$Y5Cm5WaFl?c}qhCO>B<M z^4a9@?B}f5|2i|TtIN-2H83$)aOOtDiy4;Z9U~T}YCA4${!pvSlKS=VjzgEYzw*XB zzOe3`mCa7WZ#oPwto+W+{r#hnIlkiQ&Gh0qY|k#fD?WGet97}WoaBoR_I;<1MSr^3 zaB}78(?z>ZU7NA@%{$-OSyg|wXg#gGb){AJn%6JY80mGh{Yv*Nyl%7AZ*}$YLo8W| zmX@*~Y?iXKP0<WL8M8>#Q8a4W^C{8wE2g~bzjuZE=?ByHjP;+hqL|8*IJz&dTAP<J zz2xS?)Yijht}VH}T8(O}+@jW}&iPyea$%Id_w%Co`&O2f8nc;Z#GAj_V-k4anN3!| zPO12tTdJ==Ev)sqH0AZ*;&Z>v^WWXD$UbM8yYK(Mb#;6H3a+!vU+^jaZ19Y2B~i<- zwj_m4{$AO7En8VTJma2rQxv;ali98oCbRHZ)h!}xESKN8^>x!h$9)s6-h3#{Hhr4K zyx~KmNv6QGC85#Br^#OB-Ku5~9GWm~$?Npg8_PO2tSz}c$D@I9!ERak8Gk=dGvD)Y zXAW0_-FfENMPB`BJij+x`Rc{5^1Nx@{cAt@`jRUSHS?GKef_q-;Ovz5r`FB8q_o{{ zweYf)|DH_RTbH<F!o<$0rCjmXS93^ho%hP%d=&o`sove!R1#M6T+@o)`!sxAn1Ru$ z?SbvRy!_g>W^o(COO#T)FYPscx9RGkO}DeAUi-3f-K&kFjj|7=7)t)nyd22Yq@Qp5 z`Hb>Si32wO?)h9QYMU58ZA<sMU0Oc_YP!FxE-a5NbUmN<dUwC&GUKV)b1!qo-VxpM zpHF_C^^JFZdqubeMUHS>PO4$!tD2WKM_qsFr3XJMjx?>Be)ZIktcUC72CZ@M&DyK9 z!d1j=f=G{kaNSXtx6wzIzCArL`}!-%<tP5ut(zM8X@aij_j5a3MPj5+=NW5wOYHGH zx3&5VGlR|qXXfYsK3-j4|JTZl)xdsIPwdr|dO0urcGl#V{{C83Qvc_Z=JFGzt6Co% zY<@NM+mgRV&!P?qpS64ON>i2V@*<z5Ua`*Mtzr??o71(LrtNCqwez_c51(fF3B?-W zvy+vtue%&4`gujsiLkGlg}hGNF8FNRU9NRdB1bl^?9aOS>$FmW7fm=j+5GT5RtDS0 z8P6;0>yJsM`)tr`aJ9=`^72+teRFk}@z)gA+nw|O?@2yw^|AW?>zUW@>fd!rZprrE zFW`9TTIShnAAL5ueE9H5^i$3HbB?RswVI-i6kXPQ%5NJ|G%q9V+RxLcKBg8OKKwM$ zpzH9&*2&vW`TK{Q2or5N`pRn7h6{~{PWMISbD#FRrR6J_7`?dR+#JDmj1Kvhb!t<0 z6~Df=R%A(JO7uCK$-NtnyxH+=7E3XE&W5GC<iBKypI%&*ux8^1P@?xK4KSX2L;0?w z_b=6$*_m@1zWOURom;#7is_Y;pXauzhn+hcWLSShY1dk%jF*p|&Fin6m&RYa?M(WM zRX>ZK+}c`o>uR0dqxPJs!q2TaR!4?iN^PGPeYEP-^`*znSF=P#_Fi!fQT{r|`hXl8 zgYEOBW)?G2jdhHUH+=Jc7xF=2ajFAXlZyJ0X-kwt9(gZ%emD8}lA3+>+V8%(7718< zcR60}IsHeUU!Cigl5qFy!CS8TXBy1E{9;w;tg0^)kM-w<z}f@NizA-=$Wkj_dT)W+ z%;37a3pe?+<uCmC>#o*vP;7n|<ui>vy6^F+$uUp%J)WcOx2-F))zi%U->k^QeIM>G zEm&<4pJ};t!WxqwX%(`$`qp25e5%swlM1W4x~aoRacQ;lX3=lAFWfH*TT%4%=HoZ1 z3>TUe8;YmTDSI~a{y+QqKaMQFDdq56Z_lr+r|HF>cFj3kR5Om7Ue~a&kp6A+|JUiV zbFV+&+?O5Rbmzd!{`Gr;-tT=fY2E#EptS=xuY|b&n|R1_d9``oo0Wgp#7C{Oz13)v z;3=ZivA?f^`}S+mPd5)<G+fHgel=Ls@v!bqlkI!{+%n~IbNeAS%RO6NO@xO>L!NJ< z*0I=P!O2o0wjI%tTfS_cC9a%NS+gx{nru|qj?h_3QA<r<@kQ-B0Zt@E&+g=|uX&p- z`9U<}GH7b*;G3L9$L|!}OwHM`RDxY4V{Zm`fXjnlbFGC{*=H^=-=&>yC9=j<Rd{c~ z%l?A1l_w8xRgLLbFqwOHp&z@g`g6<Pby2c=f2>=}k@YlSvCJA@AC3JrtoI#0zj;ym z`b&yN=;|LPx-KWg7C%a#^KP!^^t*AXfm07}OH1BtY45s&jbU%LtJU0nGtV+?c^7+g zwaJewmp8FI&-M%9ie2?+n@7o{yc;`<6Xyjt{XKg|^}YWtiQ6|{zi(3bYq(&_^!kv- z?(dmiW$wrAlRVYROJs9(UP(^Blyy3@<g1kJ*Uj_KEdAT5-K2G8mhQVf9}k&|U$hNL zYpvKh<1Opq!>88AT^43vH}9WCmEZZe>JGV0xAYb+l{XdpccXPzcbMO*w|Y?*?;81) zUn~$mcS$^dqiQnP{jnS8sh!rl-)F%TSsA@^)_#?fPn*?mTxM9Xd~ez5nd$$oF1P#G zd47{-L&dgxh3$R6&XrFwpS=0WV>@1U5#xxibN9Duf72}3(7^b*@#$&PA6G7K^xva@ zW2^V|(vM~Pe$Pn$_0MLP{h_UUzGoyREYjjN-s~!4eO4^PRyOKNu-?+Er!;LRT)eO; zbynT0mDjYIuI27s_DuKcqGhI;8^h$*p9)#Qv#ZXw`G#J@;jpzAeY6%IXxdr3B=SU9 z<>I1mt2W*`_1!wWX7%LOoQaLIliG58k0oTM-aPBP?bLpsWj7svOIAxUe6e_b?|)bB z?SC&f?=JV>Y}gR>Jax0z@}Nx$6DCi7Tj}B0onDw0WHvi>v7Tex&p8Wr&U|`W{7oge zQQW)t+Sj#*e(kwB>x%xvTMtewo;6czPGwNXg63|mJC?7PWS+m=!73HKIqb5(-O^>E zj?sDv3zo5ROSNS^J+&Y&ub|?5X4&6Fqw~wJ-eS73qi*j!o%WQa4>UwJwa!{Q)p;A6 zEB`a84VG8MY&G;$wNh4d9ZK4o6+C&uTEB(OD!R`ewdFiaSete0jsKsS@tc-2I-Iwz zNl1J4c2ZtKaKcGexw^R9<*|bQTbBHAK0Z@q$A$a_2d>n$`z@C)i&NU0UUw|I`@fa- zdH>(Lo-OMBRc3!WZSyVh>gNU^pNW6@`P9aL<&IDv-(4?OtuFa`RJ{Cd*}ms3!YZpi zeLFcLoBi9{>6_z&Iu`6*eka5ByhZ$^%OAQ#KV5#gsy(!K_BB7(3u>&~k65!GK2JTh z)^bUJWQpBt-QtO7Oy-<?v7xm6#mj=J7m`kd`R!9?OIR)2w)Ru8wYf<2m*+c8{34%v zX?F{%NICm{<dSVUY$Lw)UfSc`rV^9a{=1R$ZhxPZ!4z?Z1<zU2tm7)b-AvBm)UgyR z%?o@lw5w>Yeevn)S<mljcbgxnGBCb;efQ0hrfVTPT{9|6KQEoGW>tUw>FzJ;b%zcq zwq)-;^HgQ$`@jx`m%)AVw`||qoD`jPw{Kl!tYBQJx9f$X>_wOCYiDZiPik$tXxOx# zbytqX8w1-+KgXBF5p&CRBTg)vH6hoodBX|={fnEN&#z6gefs*+<GD|E%Ad}d#>?RS zNPW!~t;whNHtRB;xqfoP%VpmBsm?lqh1`-SrZ%n1t9QIM)po7S-u=HcVx$X-&ei58 zGHso<X=Rzv20r~&TT7p)zSU)uJ<S&xUda&grfb2%<_Vue>g*1F*zid^e1$pp-)|3& z&NP$#mtz~J<6|H$pBd+5X3BF@C`4@Szui|A*33<9XWspxcA?jzr`a!$v-24!=wD!# z3&}P9HE&<dt8cgWHpb++zI-%Oc4^3~jPsxUKAiD0e0eqPTbif1#pcz%zg8^K_pFK# z`s?}Xe~$J4()HDMEuxuTY&dXvD|d*b5O=<NlM~yvj)xaO&0veqWw#2SPTjLJc9s3H z80){~qBWo7_dU0|mXw<*qV(c~l@t4-<xjF>DpT9qOib+7{q?uKs-P15_xB>Etr8Ds zWd}VtFeiN8@k^RdudnOY+tW~4c;nPnDGAxjA$sQKd2S!Q7sc#bu*$4ao9{yWALWw! zca+7~Y|1G7XOX;NYJT|I<a^WBc0GKx?{oa~Jx#KF2byjhS!Nnvn!M1{Uu$}BfYmY4 z_1?#KeptWhalh56-T!~zkDp%tj)V1J@!VqdnI)4Z`%T)i=DhjaBX#%fy)XT~dAi}7 z<>WJ;cG*=+N+)x2KRIfBzW5UFbltoYuavx}U#*N~e7^4Ps{UVmJKLk{-z1fMeY5Xc zrdF%KRmHHvUvZ*r5>rjCSFN=QSp7mxD(~vDW4c$J9<Mx_wK2?g|MMqvrm{~yFS{x3 znT^yG-3O_k1>Ij<ta;hJc$0U=3g2m2`MXYesf6m@)Oy#OaWc$u<u=vmQtgceC&a3G zwynCB2JZZo%@Hd;XZiEo{lnqX4ROWyzwei4xpaQc&FgcE<tKkR?q}tCsc31C`{|vR zQ_8yMR4>p!%<%l)s@9eJSam+0pJb9#8S9^VLG|sQ*XzTZ(z3h%)f6vY-1%((hgYjB zC+`lh=RNcJ@3qS-f1cdGYoUPS8)iS38DX|}RcupRBN9@sO8s0}(&WS@=or2Ez#55F zJJVSCl(-~VX7-%vIn5Nyb~#gaXWd@8^*8=&Ih$QCJF)C2|4k{DJk!%&J95N}Z>Ifh z|B=PKVab!C`_peOe{#n<b=%FRguP3QRcm9W>OP&Ow>jCr`mpprYis5UzbYqjf7<nK z)9ERy5z)Vv@gJF2suJ<%VMt!x_1!{qmp?DIy!Tjd%B$JoR<my{E?MVT?VT+XRr=|K z-TUrWG2!QzT%JGWvex-0HOoJ4&HnnNzkbS|366UU)~-6eyxX{=PP0ej-`x0pP6t1D zg!8fNoRVwvr{HbzKE9}Z6IdgC+0Qyj|J}K|;J9DtJ)JVmRWJ3TE}z`;%5L@CyD?|e zm)*I$X_s{7UcI>s_2!7)wY<8cI=wP-X=?lK_HFy#B;=%g+x@1HVVcqNO8e<wJU!=s z`S$*M^TLJqr<iEI4Dnp-{k1e&V2|&m@EgnxDe69(_pSdPSHwAc(fobtF@OFpjy@Eo z&mmG_mmkOfdj7QRmw$pM{SN%vzVbe|;2B$+xYt|KE`Oh$S^x2T>TAB(DP0S$-gWdo z&BN9{CE8H&SBBo7r#qDUE+~tgIU2t7;}7lqY@(}GqbuKaOv_pLGdpV2)wMcNTOVAQ zzNtIw;k5-4j+53cewu2kS+c<5wBCNX?~nKXHo9E1mGOo6!3zO#t&2D&Z(ez&%DDQo z&^xQDS1Tt^)~>wX*tW6jjOeO{xc#4vV)qxTAB>uRb7OY+pS`Lt<|!pyPuu+Q{8Qgu z54yA~Ht+WNza>VSXZi13Pj{ELFxjm~qLv?>VJ>5DGjn=d&GIuJCbWgGx$xz2zxJlo zsJ*W(TDg<XWXBoyaQIC7G&Q=IL-(54!C#@Px76G$dOLIO+8+;tcWesq-uj_7EcA=Q zl}T$~F^cNmd?jK#;ZW}tt?1QfuUZ#OWYvo)Z0nkq6L^&4%8t<J#H)IR3!5!;pLv}& z+Pu40u#(}+$`ZZp;pb|91k3;b;l9nsZ(qnIYt_F8gQ_~uy$PLUcjxf>hwPJfZTqxx zvfRVTSESFVR4%+9(YRh-_IJ$P%3m*Y=GaZ2t}ecL!okwmYpxb|qL;o*S9q}Zo!MXE zb(a2WyN}PDyXw~G=Vkowxwot^yLQ<v{QQcS>kjVm_l%0S(a^E~65wn9E#hg-=Lo@) zbw{H<E|3yonts!?{e+GCj%^%%7QZrVvmAFyEeow*EqZCusxxcMJYLV6a8^rgnzQNA z*Y{SoTrGIJA`rF~z(rW^_q#@!vnLt9Y}cJUd6`r8HvO5!`h{ulCzpJh^uzM?ov^P3 zJItO{s=wuJ%DZ=<rs0->5Q~+8fr0*Mxj8dmuG)Ah?Nep%(#x^`=cP3LS+w@{=_Svl zTuml;mzqubz;@|Vl1%!y-ky@Xzf12{-xJ;)ad6+vnd>U=1qTO9&7JY$cXGo2n&ugv z+v{J}Tb=*6jG6oOhvM1Gzizp~wf0`g^n`zhFVCAMx;y3HgY5XLZ~pzA+P_-7&((Kz zxZsw1f0q7hJKB&^_Ed{C`SGDc(mu<#zP%Fu+RoTFv{Z3h)$cv7Z~tx;)~#}SalYz% zsO_e2ZdX;h|E0Lqu&ue6>PYi%BTX@5jg9cdNJOoPSw=Z~xQn|N3nCSA2bS^5pF~ zU!LhzdGUK$O)F3PSNrPQ?Yo)jb4!=ajMdNd?cYCV&hy`|-~V~xF8}tZ`u{fbJ&v)m z>(0J4t|?$(==^eiMt19gr?=PYC(K(_6}84XNzeS4MCR9L{WG3*>1NLfk<KxVeExXn z0-JePHaYWO-4o8Tmg9QJyQW$4l7R+hYR7D&=bT=)xbH&Fsr5Y9y5=A6`gru&JB{|m zg33!=MTC0S>1eG?Oug7uExu?|#>;$D`R27*JX?P}-t1Yl?|<&TYYYo6O*`pny!rOt zlB&sEqHfiZTJuluom4K$(D3fj*Q?!Mo8-N#)|_Qo(|W->HojwlOiF8WtJySL(HVSV z@8jxjY<^-HKed%dN?a%7MwD*WKLw2v#;<!HSusVbt-W(<>PIg5f|=7#ce>k$?>}Sy zL;O`i!WD&-;K>twOP#izSj4U;vtPI1gxKN>jjP2snZ|#6yz}NA{~uAz4H*aDyb+#s z@4+1F=%Djr^&jUb$1pQA6yyrlhlrkYf8RO1X{%<~472lVFF$I@^o(Av%JFU9iKkEJ zOp%hf@ItZuOuXxbOGowlR;D$c`E0Vgs`TMh!6MyLPd{wU-dc5(>#xzV2>#Xs9;MFP zrfGK{<GXpqR55zZsYQXOzwODds9DbF&@(^iTj2T6aT+fd&a3%%ss8q^Qf=lOCI*Kc z+ag}hI_dfU(#8eaWoc&T6Qi0G*34ZuZ{zhyuIp*VPs8^-I-xu%oW-|Dvy~?-Lw0)f z#-L}*Id+PD{IsWc_LmI1_`HKR=0qQvaMqOb<{~vyj+;|#Qnc@@tMcFEI=+3qwQ?MD zLxeqN^MidgiV45J%hmikZE8~^^j?X9p(VTf@kxiqH>+*0TCHVn47Ui#-YOb(_~pb{ zE9SG$m~AI(mvG8NZS!$HJzbsq+M;8@tGC<buWOB}tBE;y!N7T*?xWPCoS5^K*EWB- zT%+AAX3l-{O4SLo?QORv=$h2~o)9x-niKqY!dX*}n@+~9&f8RC-A|w9Vl69r_xjS} zn$?UBK6L^%PkH(N^?Clkm3{v1lKW3&Sr`^ne+l1F_U^qW^UV6GQ?kEKKNF<yB2azr z(|yMyZ+B+)pOw*R=h5!7Sd^LY?2(9$fp*XOuvKPHe?NWcnC7ta>1o$PTX#%<F2CFJ za$41{wOt9kU2+<$UNnZtF1gy0Bk0N>lj7L2YQkE-31QNkLTxXvn4r5#!tu_!#jB!U zC@hcp@c*6t-;#Y-859~H9B5qL{^{raP}lQq@6yv+vKbgkChmLf{6yBmVrkpsb*=R~ zSG?yEyi!|N8ns+=!>Zc{V}7JIemnQ9WWkN9%$&bfOWE0Pt>=(pdHQw6^OYfuS8V)u zhOT}wY3GUQjUiFTZNKmQ<!SfgO#8OvsjlKmDaF1{+iqPq{ht0eESHyCR^;D4_e}Gn z;Zh7L<p;jc=RD&#^~+_ss$2Ufo=uYkZF@en^{AkQ|G6($BO0UrEYXdeaqVd<2iIlY zU8PY?3BGAXjtkV&_)b}#{A{CZ|EI%DyXoB8!#3+DXp78u&pUd`>4w{Ztt+NaHj`Og zVzoH_NpYa>>0KHrm-n>fWJzpN)u@`FlJfb^^`BPE4Q6!$*55nM_)Rvstn6R;=AHbX z2Ojq<85lUOi@m-+nJGQKd-}|;>55Ii4n_)G{JVLZ_KM9;OZ~%n4$Zq^zj%QJvyV(+ zh@wQsR;7%Oh0lD>6}LWD3$DwFIe38K;WefBIdkT1e;M&tXMXTLt^cp~O*m`Hb92%B z-K+PMD{6I5`xo}t@Wz=hTNT_w!x$V6zn@+|z4-apQ<r^b${wH1#=!9K)}xBMr&a8~ znsNz7oQ}24j+!UxY?SV38Nl71yHjELaz2?UDofkhw!GPJIBGRVRMt+llRsA$Z4gT_ zI@Q}RoL71<^|4@k_RmeJzcSbPUD(W_ID1x0&PnZVw>!H96r=w-u{&zz##a`c_WtR{ z+)y^NHXtqjW$$vY9c&B^+daNM?*3NvGk(?^>q&i?pTm8BUv|EH$3|~=*{s%2hcD%7 z|F<mPT{deq-<u?z_Zweku9cCR@MO!Y8N5}$+U?iaFN<Dmc%5nT(%`2F=WP5pYloFB z`lfC5;Ci2Zod1*0v-r5y-dJ<b`mxBZ^|wNJ=B!Dp*JsTM+gUyBvN3o3$wU6D9xc<p zx25BGT*cId_TAslo(-`)8Cqv%B0eSZ>&FEW8)ioSG(F`L_KGiR&h<IF)y-dP2y-#W z{$BXv@5D3j-u=3N@?7q-vrG&NtiPo05VM$^{>wdEHKtoS>FAty&kApv)^C?uqbalE zXhqJEEw#q%TkFl%FD&t5K0Q6V<gAqM-#^cLnYS${+hhKD@6Ks8MrZwe&h&0>bKP3@ zHOsd8Zq?n|1hp;o;jF=?>TFzZ)!)ub-f?J_PLk?psZCR(R$b-3xu&dab?w8a6V_VQ zWJ_&&>D_l%p26z)n>x$#)o1=~I6YtUp%eo{?4tbDJgm>&b^T;sozE>eMXO@hl32IH zuX#(AYg68btW=*JmUl;Dx6+EHNB7U2tgK7i<+F35;jzfqi%xg<**hAiRjJJHKXGBz zt_Zi*9NCw8QE%K{zFL#A?s&%AQ`uF$YA^JpX01%?*tTn`>*DwyF{u|j-Yr@<)2n{= zWqVE6gBA=g-n@6I?qBjZ_MeIQisEKn1_p*hTU+*h&!2R8x@f3imlMlEgSEXIZydU6 z+dW<Vn{TGs{OM0jcIEA5o35W9C0L@DGWp5xr?(xg7T@_Hu`q0U%(1ri(mTcd7yXNV zw)I{Rvrn1rePNNiWANNli`Hp*y!J`Gcxr<0S?6uHoY>iQZ9i?TuK$0uW;UZkdcA_Z z-t&K(PS1aK;F|f~%%*Z~hK8fpr{8s&diGT9pLMlGzg8`ou3Hg)zUuPsRjbp_JazF~ z&Gpaeb=8}hwNd69*IcN|y{z{4O?G^@`MD@H)9Y)`SI(Lnp=Wq0>Uzb$!sDka=ham` za9Hy*xm5h^iQCaUH`Y}7E`63Q_KHvH*OxZ6Yd!PAem0!C9%L#P{qX<NjTgPXhn8{9 zmF`+wW@EN8<o$urK23A;b9eSvv44NJ`f>=rga03)=qmf8O*bQ#?m4vo{<FEWf4lE4 zYE7QKTISwSo9A`{Gxn}ry}eX#yWb_@nh6XH5l`lq{QY%kt-zI<i=O(kXL~3%{W{$p zRrWXF?A4jiH!h!l=~ic<rKPU@Ck@+AYx6V9vR37-P~%R~+&`t+BW>1PiS#*J^(J{P z|N7^#{{{Ub%d;vq{!(o@p98)uC{~<()n@-s{+o-s<SODhBno(6WX}I}!u<xvq)j*1 zy!-pE{ORv~O^*Z%HZt!};CMIfi~git+bcKRwDSDEnVpeg!;W8OF_S+piTS5jxy$fT zyVqWM1Jmb!OP|LpwQ?xU_n!OUjOmW`Uv}KAiSxHJUOM&kv8Oi6MWxMOP5=K<e&WKY zhw(dYcLq&J3(8AzIe0*!_u8%#pUvc#Ph9AD*V^{(uj3n^J8cX2+0-#%ZCvWbOUkc9 z#dLl9q9aY-?>uiEwU#l0Y17S|yTASB&Y7Zqc56lSh5Oy_{-0Qreb`hRR3jx!{F=YR z?5B0n_WNHObbd@^vfgt}f7-0izhAw~Dy=%Z#VXcVm@Rvq^TL?ZYcD6+yqkD@{)JUf zA5U5`RoeW;#r#@tM?3kz8xBELdJ&sLymnp;j9ODFc>nX4Me(+g{;ZAjPO!h7f4HT2 z<t=OH-#NF{y*D~-tD5TSJu~XlsYOe}C3l%CrL3M4VxIE5ar)`||KHkI2wE#OsJ=Dc zen0Nx_ieeiza06p<w@n|fBCtN0(YKTmIsUH%N;UhVA$obYJU74ZJsmr(><S0QIB%1 zp4ydZYIV(OZSMzfLB(+E(|HANlUULV<@VQCMFn5}ZE9tsVsE@c^mxvN<nQ;QqZJe< z^Vx=8e)FT^@!M|J@7lBbu728RSX*5GoNLulseaupueWXA^yx<GR_(%B($CjdJw10Q zJhvrB?BC{!_&XEM+Ig=wW%!%%{oP&B`uw?bLJa(0f0|PraH(I_cDHu@X{+sBwoITb zcKu<LK*glA_eIanan8Rjb}m}eC1B&a8EY>+Dif`Ja`CuH)sM|j=WKcP<MG!Ywck&D zD!%JD_xai0+|*@ve(Y!}@%qC4R&L(sFR%B1%eE3=`E@jB-)D6mZi!8zPFmeRG|rcw z2m^P{yJzeb*kpO$F5U4!AIF0CcO|oKZu|N_{rw&0Co5L{`ER@Zmu3GRPDO_aEJAUN zq7kL6tVh_jI3$n7DqQ9)Jo{?hj@`RfzstW{TKD_&+f%z1>A4)V;n0}O(Byw5_L}H5 z@fSj_ti}!v6DB-QQM0wZ8~XjvzZdUbhL@IxeobDr`@H+?lKZQ6mA($U8~wfJ`JL)@ zyZLSzNY!?|XRJtf(6`s~Z&2W9QaEF?@ZG*Y8WYahI3&uj7O#J+C)BYZY5uO|T}&1= z6+APKX1XW|x}<$gzUJ+B?8apOlvYy#ixdU@H7`9x!ff>9vKb$rdAj`3jGe_BlZ{yQ zx)<E^h*ID5RH-{m^k#+C1~+F{v)v2WFW=5-l4D4C)Oq;YANjc#KF_h~Xj0&C?a8^z z#jqpku2qZgX2Y3A_EHa4oVi%G%f9;e?~BG}YW%AdIGQdLmTccq_V?(5+xw=bT)VHD zpkUsx%4|c?^m_{%IacKss~)=<CY}7go4w%B$8H9O<9og=mH7Sl{bubvSEtL@4=&ks z+0iweTW0;=#o<badt%d;O}KGFb9U;PJtx8hE@^E&qBL=>(x!~O^G(W8%u3ytm^WWN zxRPCeUxb{CqX3KayVI_TvNAF)eMbZOE!^5Z?q;awI)3ZrzMALDW<Pl-!r~}kH7Q_w zID__q6CcW!&DjyQDUeC<${ej#rQ2kz)VKKZ+wClo)joT<$Z6l3-}CGFijxy1yc(4f zzv$WVofMBhvW075<C!~=2}&QMxFweBMz=i{m+ijq>wEB#n){D6Cw3iGn*I93qMx}> zC%SgKY}>^Arz^*$#yrJsg#w3@ubZ1214H<_Snk8i9o!DQXR_u}>^d1M#^NZ@GIROs zqox^cOMlGn(qv8h&FE#$qI7~)aKX!rxknGO7TuP(S#tJ-|IHGiy;*;IBcjFlWUYEw zKR;(=cs8$8tk3R;!l$IUSB2aAT4GnLoZ@h7<&k)3;K1d=BFdM3dXY$o%J;b%yZITE zSVj4seluL)<o2z^C19dQr@*13U*`+Qgq&cQIBVXS<Ef9d{Og}9xjVP{rEk)VDT&eZ zH@o~GM%I}5g48Xe;_Z&jy2j!4QfoG6&)t~X`1zt$@oy%E*=h{2H?Aq@Rb5@ZK(eAL zYt=H>pqO^vt?G9=a&&uiqIUTFKCx)0?P+1H^-H&%Fk3qH*D^KLd;>=Tmg#qP7b-I( z6uga!h&tRYKl@r0e}gl_Gqw+xTw;Vlp~9f>=+>_7PIs&RTR7W091uNv=!D5zsSbtb zo^H3aDrOpPYT_~WFlLAqxX{(FfBycv`1u-#8@O5%TAVy0d9Ge&Ug|W%w3<)M(0R6+ zh8Xj&-;Q32BArcBngscpofIY9I7IlGd0GQhn4BgGgc(g;Um;kvP5fk+%lc36TfNWL zKW{p4DDu3Go>=UT2W!LktiN0Mvv%3`(4Pl1W5X@|vJH$&-rav`;_aNxy<yE8)0ts< z^4urha(gRlAB((sdRy1Fr}Jh{*NJMGKBquwp4ak;MZa}Syk2ZNd&@B;+bQMZFV}60 zre3Y-$T{;vF0$&)^n5G-dkIYn9CDI3cNkiSn!K~*J5bEAV27L1I?g5q4krbHLf!N~ zT4!(1EPfQ_80x6NEcnF5Xaieh<-#*e#?5Pt&Ku7*y5Y*O^ixq7r^|%n9IXj1hd5df z8z=>~C=0eIB}zOrI5d%?r+{T)hQz58T^Vi~yU%j87EP3VYgzVi<5Hzg?!cD69kns{ z`(h$F?k`VR|Fo<~Lg(8IZGYtk9_AD7f!zzf+}r)+(dTol3~zjv+C($l)4$>U?aHJR zi}GBzWjXS5onC*F-FC%}X+{%$8@ERbus90*nKWOks#NLW(^y-<BNN!p%$aDd#nGg| zVcg%5&9EhtA@Q}{R5vLH6@f;MqPWzQ%mYTnaV}{Wt<tA9a;#XR(--V|`deU^K$nYP zr<-7xn?UDLfvzX}j|-mS%v@N&;-<p1G^A8<@u?MCOc(p?-@SRYPfTijs?>)0N&fa? zZ~oo7@oZ1;s(-GV(;i-F<=$vL_u!8EN9S56*_!!u=S+R1_w?WS-hLgf6s4Ij{+?WM zBdAG%<Ljo}&uKBHCM?b?XVtGzPOw=pec~i*O}Lvk{L>AH-}l`h`>!)oyjkvDGi!my zYpt2HZ=KTnH9y|HTeih|dB>d8+f$4LI*$u<9uw$2F3@*;6H}B*SAov!La{!#<<}L8 zkE~aC=-HgTj_Y`t(yZCRRRU*jxXQ)6-l62!dv{*@&Z?+pCZ|1RH-iKk?0rlVbnYuE zMPC!1oV#krM<r=y{w0Tk+vRHi{=AgW-K1dBP`xeZ;Dc9J6GDq+Pj@!NHFab+DR49i zFu25M8&!yYEW1_{d6-#n1KSqXO+~N6GPQSa3$1&VcJX73w~zL(=^X-{N4x9-TNVep zB!7IlrNAUhU+W5|@{5bsr{6jM-5GlGz=tBSZI<g&l12GV&6%Ws>r9S*_U+4qp2uPj zC!{9s&otZg(sbX3%aPkHHf4lP)O{ZrHUGpij@!DObF?{{E(Eyc?U!v{9qw$+o#W0N zRU>$v#ZiDok)dP9H0Q~zGfLJgy-s6Lyx+)CQufz4BCX7@;<D4y?@^`ajW>O?;dWQ< zIQF>XShc|0PGzxv<x9fud$#kRdhxBJ@!Vz0oqca?*3W!a{&u^P<Js*wN!r&;!&-L! zxDvd;<6&pWCd=)c7Q1e1n&2k-eV0ed>JFV*w~b%ROb@$u#e7T2?Ir~d-t;HmZW~VU zu-LokQRAP>Y!{c@v32}#?AF%o<o1p}!x{bRr>)oyC@Do9IpD;=eK4mXqb%>c<<5gq z@-q(aEHh_wV78beyXoS>H;=BDOqlsyV^Qq1R9p5%&wn+<MsLfp)Y_`IWmf3waQSqN ztv=a%8QL~ZXlz~b)leadA%T&h)oH;zi5ZV~KDTaOv)%0Zyh82+b_Va06Zi$+vVOJ` zu$|s_^k2dMHeSz_Z*`KEKK;2lG{F3RZG&!2d}eLrQisIn6Vn>Eoa4#}tIJxxPQ+Yh zQLd2jltcxwe&uVon=AH+Z=AQLL#+3>;HKH@EQPgSZQH%sXZ7j$XIC?<d8c$w-Fm3~ zq2XSOdh7LD**bDQS66+!^jKVZrD@snv$v8$W80iQzl%KWYIc31>*w32l)J?`bGr7Y z20eLjK3+f2iPceH*1>OQXBU2*W%}*)dc*IHOcIwGDxKcVQ3x?IF}X5ZC5mrR@WQVv z6`~juEE|H4ZJlSI%OV`g_jlFSuURisUq=}mhny2O<4jPPXu*;o-f*1J=9r6h#OwL@ zH>aNNE?VAFHUG27#hbH!$_UKmN{GCuzK+ph<)K-x{oZekdcUJ4VEdw4<&`3ALY>bU zY&f5(d#+TEd@ZXbQdRO~b^P7yx!;|SY&BwZ+jx&hFTPy&dSX<Vnbq>lG~3Ik#7p$& zt3|0TYdxfRq^j!T<;%?;I&Bs4@{jh~b{tDq&{$bN`}f0A`Mf7DCHlTkuYG#6fr0&} zKA$7sj)QU8>!S;`L^S`{&D0TGCZk+(?X*ufqI$dee#_KUFHj{Pd~;jo<hAV5!e_aj z1awyR-!WZyyYlwe>+>@ru2nLe3wC*K{Q0HlgO-;Yzn|fLTwFZAm?6gbjDix6ijcq2 z=l>c@<$R=%eSf$6?Y6r`=B-(4Vt1RFG42sM^W5<BX@)&IGevuPCF_p)GZZj&=sk<6 zzC5k9(IrWou|H#xyXa?Sk#1X?O^Jsi)bA?`Uhlea!QuUry~ifLNNjk1;F5xN@Qiya zb$18)9^LPz(NeL8{o_8lFW<f@-@Dvh5wG79up-Dp;FWZU*;j?K>8JiJU%cshk+m!D z+4Z;6r-!v`Y~HY6K3zYq$8+t+lB!in)xmpje9B##8EHLbFXu$p+U}eK3oBp#%a`ks zndqj^(R3l@$`h3mo49#*<WFp3%GF%QyC$|e>S6y)V}JXL`}6PYFg)@4`o*iAN7!do zHkD|6S^7I~cdpHg^XE*j$81i}5~^gKaX$FKPX()f-Pbn`UD&?%pFpLS;M`MZIyYn{ zDNOtkFHjpSSX-O&_?YY^>2mYwcMF`ie7~^J{*qU$(;4yJ?7v<N8_jmLsPgD2K3grp zusrCRgVINBhX1V3*h6jpEe`9*T`knvE&9RT_qyr~d6B}kGs@$6zaCw`G^FTJotd$7 zLTu=P6aS?<k6pNZy}2S^{?XpOFW$a(H4$@HSk70nYr*ll^7QbT8+M1K{=e(Kars=e z(=4XzriS0Fd@Y+4v+GZYfMDJHSxsd%du|o4%Gmd2ZHLaQu$0HA+^mZfYEoXMPoJm# zcZ&jt(_~3W$%6-GnLd4gd8eb!YPDOpr%he+wUQx^$E$GJrI)%K1qB@sA12;1wEA^2 zZJu&UB-a7;rn0x;>te0l4fnUr&}S?tl#1{?6Ow!9_Om(6&x%bx+w-Uh?PuK(DS2$| zU5mZzqIYUdoZ){aT<bxWoOCs>_SN8GtMuOq3>M-Cb}CfOKi8Ri<d3Y<uK#D2de<A; z*sPJxdoK8w+j##T)}SNot}&Zeil+MAO*Cxt66I46;#0nNyZzq2xG!J6E=&)zKlIS! z>7P`g?OPuGD%r1XzEi_YY1ZnUb7THLz1H#I<Wu`1`Lb%c-I=Rm>U-sG-|sgT*F7}l zT1A%D^Q~ddIg`HLi23^Ia&}S3oEC;tcmEtRNw~!{t<F_|WnpNJ{w%pwYU;mBZ0c$R zPJ4RoRVeq)II;Q2pMTod*8V=^Q@x&-kMCQdO`RgMIP(sPsQo(WQ_7{6GyiDWw&r1@ z%Okz8SKj6McYX+023hxKuismiXC<?5&P;a3J&Z0B^&&ZrF%;+t&pmyhU0z!DuKfg$ zn)Vs*`?LP;T^qgqnr&)&!Pi%!yI2oJ$q8ORbzy@+>f36CG@0Kq{`L1cZEI^^ynOAP zA1{CCqQ^m&<w@DQcRx7bZmz*?7g(R?YX8Revd!B4X}bfA<}9zdrZqkJ-oMumzG_cv z?)b3#q{^C4#$6}E{_orr$e)uJ*m+{xYxU{#K419B|0l*O!%?6`Y|)gaYf@qP?_Vw{ zRba0To9)Lf%5?HiN9H|-2ang<eH49tO}B5xv!^_Je3_>+bewuSLyaq;V~d<r#O7y# z2KE0Atc#77ule8@ylPqP&KHZioj&_pJX{-)^;hIWl|lJlJ?EPo%ba~orWo~HaZvi0 z%l6JhO?|(qk<lY<qisvC%-{CusqUkwzR&x=Zg%B(SR=4^mVay=Bja&Vo|vpp%`Wri z?OOKa_O~DL-_N{bIG?@jr{IQDET-4vvP7*-j%UC9VY#{RSmANS#gdDIU*0;uq$B6w z`6;vSB&ctCdwcWmBm4aS{rPx&Vcos|FK^c!`CI&McExwCPCZpnS>a}ucf>)7@zSrJ z2C<K>&aV#_EpK7#TXw(v=&n-pt%s^}6YlO>YH;>6BhMj||1(luv&79i;`tID|55e+ z_wSWywq4z|lj`^H^<<VfeU8{#^|jDzB@6R=wt`7lJVKKg!UQ*X9e+HTIs00Ta8!Qa z$}8X9+}tk7`5euTihQw7^m^RCyY2prtGyX^HFW4DJa}>`GyJUJo?BmiZ(n20F8vwn zB6`-3ea#<(J<D%%)|7VES?a~^lVN$VeWmA&yibA?*ZwoU*^$%!{jEB~a=|Z|XC#y! z>3_dp^j*V&pYey`<c}AQ{L-#dexKkd(4ywRVlZFsLg0mb&I1pAeU-Sm!SUVH3mmgv z?KLwn`N9?S%75n1T!XWdm+q?F+%(htt%U5~*NqDo^5@^*^z?R+>cP6nJUqO68$13r zHEu5`_bXo4ZZU)1(In&O<KOH;oof|-efs7*TjuTj(ADAlWe#+OiEYU~vUT&mkCT%Z zD^|%0@8?@^UGVwTq*YnkzXi`e@z?8>HmthaE?v3n6N`9L<XfAag`tlOdbbD$PV$>! z%f4K;TIbTNkL@9+;*|v^p8Y>_6ZfXXq$H-`qhIAapItABnf04TFnUJmY1{KgA8OO8 z8hrjXfBe42N?~q?0*BLInTltUXW}<KIph$Pec&;}g3FmZ1D%xHAH3iFZrAI57dpQ7 zF+5o1lC+aC=JbKB41TF;E1w+uXe3aZtuV2|f$_b}%{`UVLp%#4<mAGv%ih&+H`KFS z{Q2pL`IEid84koZ{#?%{)amZ9#Zh%~c~4J|&y@G8c^=;i`))3)y>9QTb?uKQ7uFh1 zscKHz)7N?a$(~Z5Z)SzI+x9F!<I*_$qM);_^)A6PJI*cIaGCMywbav7o3oeheA1gf zhmGk&OZ0lv<<IXpraXSu`oHCU_xhPzxhJl5bmZsTA7S--@}iAd{l_{Pt_gm$YVrJj zzv#Ta;~!?;e+MsGUhDtxZF~1qRgR_y&B@brXD>IN8O~DT@j065KvY^QCvR$<*Gg%I znlt%q&F?FY+vLs)Z?<G~SXN^;-#p{N_HcEf|25YxEuBAc<s#$LzrMac{99dp{cS_5 zUycHE)l4s$oMZj0YbE#pi-S^Odr;Ql6UTb@GZh_r_Tt6u=-35)Lf6mzI_BROI;T=u z^3__;53@P0@U!g@yl8#<@6-#8>rK}EI(&NL8!h4Ro4*AX%CK(x6uH3kRHAsFTRO{h z*jj)){vDqtKRb8$Q*xhURJP4TFVlB7lXv_2en~n#e>b?UXM8koo5?XgIh_<qF6L8H z#dn_Cms7BgsdmHvgclrn_x{QIylR|qtekKE?^Vm6#_Di1J>b)xTq(?2!o|<Hf2y^L z$@7PczQ>l|Ej6$F7`OXPoAjc+?fmgaU9wBniZxSSMX!FD_+avWIoaC7Q?sw{dwj1~ zI(5(Wq-*Qr<?qe++WXl->no$uq_0<^j^{AEzZSK>T47?vjE;R<l1obTH=SeGUAp(E zX`0pVckJ;Cc^?-k?P;B0$-eVtNP)nW6|eZeTRDCW`FYsq;lGNTQ)kDBNDH35ddKfu z`Odn<U1FV?>uhhYVlnw}TG~IJk?F(l5U!bSyDnLA#J;r(HHrV0<|ArblVD%6(cDRN zy{Y&arWamG`z|Rh`2TFTy!tc2q|*O4;$yycl!P=XaP&QHFmGnE+?FiLXTQpL=C0{; z1z4n??fe?IyXfq!RJPC7hGu29!n#vd%`W`>TFCiz{F<oEX;<&gHv8+5wZwFdm&!V; z30}2b4Z%yz(x%v_J+o&sP`)?&t@=7%{?(VyRh~WVG)wP!^}p<`VOf$-d&8M#Su-qJ zRKF|OCAq*_WYZt-zmcizH@4lkUAsTcy!T4xuI00fLQmfAzkbX6+1cZo++qrcd(_p{ zXJ2bcvE6n{MrWRo7fXwBuhu(BpD%)He<%K%z1{xkneUT>lpnudU&Y~)w2-q&;mMAq zySwU)&TePhRN%7z>P(+&dm}Y>MmibK+qi#k(c4@4_jVU1ySm&uc+k=L_+#<r4BHvu zj(e^&9ji&IOSpRBg7y1*n^L<&+&@diY<?Eg{c|(Rp0F(CfHNn$H`*TA`Y^Hd*C}rO z1mAG&1cq5+yJx+M+`_-}*8WGQw_KFznLejHdB63FFJ6zWHhtKWHf#QViQRMFMc%&L zd$)4a&L?Nn=kO^V5<aQ2Y}U`|1%fwaJbnF=KE1f;<YaMcjlIkqAD8#6pR3dF7Jc9R z>)G4yla}r``!~Ir|Fm_aKuex_&aBrH=H>|<Sjca0lIz&<eAWe-XByAGGyHh5Wx@mx zoy2G5S&PaUEd2JUG5b#GFyrOnox7*@^tAeEuQGI+JCA&v^>e<-=lK_TI4zw%aBSJJ z?a{jb5so>r%uCxAY@Bk+=CYKu^?~INqn7WLt`O|Gy(eL<-u~Gu7RBtF5%ulxhk1GG zAAXAdJr_};<2TQqU(C4fddJpld$!06-t@BAQJ#PEgT}Qku~H>QbBC4Ezy8(!)>FFU zIqmCI<@%rB>`$x?5@^X&-Y)Tpmr?JLbEEt!&Rl-O{r^vG&E79??U#=4m$<Vvq8&~_ z#&3(c9lz9vuZ>*%{@#|Ci-Tl)E6r`T6+f>w{a`5Y)uWf=D9gHHo7~I%&t7-@3r@Wt zu=y*Ob$)MCbL7QsoBrNeyW`oE?e)>IEAF5AzKh@dQ^`}#vdg-*&rg<4-KtdKJT-Gk z-C<sBr9D5t7%#gXH9M>HiJ{=lWfx}^{y6Z@sVT9+X<^v?KGlSO3ff-}{;R+Lk3%p& zG5D_Czj>kTOPYmP7D`v-lzho$(c#WvoLVIzq#BZ8SIo1vJS$;d#mcSvNB;a@=cn>5 z_x7HjVk>$7^Q?*9UUK~0-0eaaU4x{X-mbRPV2#}NwfgzIs^{f-8<nnYR;X!|TwkC+ zW9oN>klPc!%}QU)Te<LSL9KPzn#8c<3Wq<N1S~JTc_U3rr+T(r^}R`|5hm4QK52i- zlq`$u+0>t#Iqm#^_Q=lHr+2yS>^^5(R$#AlSu3aONZPK4b58f1KX~E%x7y6x*Z%4E z#%Rp#RN$C<=D~vnjtAVCVveM5%fIu3{rq8R#}CJCRyOq+H18|<df~!?D=qsM{y8wq z^mXE_e#aKmgN>43W1_3Be^0+W<)=Ese^tl%yvttgnsNGT+ll9eb-9JlTNaeC%l>Ry z@d;FD+fVND*}ML0Sa3q|PQBY-%;q!l9%?%z?RVOZqqe3<Nb}lK^(B%uX|gsqcT_&K zpPjaL$Hx@w9nX(mYRS;iIIHLPAe%Af_Wz^1>)fTxj|Z<@|K{)RBY~AuxtcC`MtuAc zFHqpu&|UG~LFwSrWC2G37IqQgTsaSwy8X4EpB-Ofb*C^?X=4myysH`0QUwe1O*1WC zp4?uSeDsp<{XH{-Uy4iAaCe+z6I^B=nse95>1j#8_HXu<X>V!-uAT|JbBT-DR)2TV zYwl-RdCRL0t_ciu{hSoFwQ$qrlHmQ#Z@8!H9llc`lX>mO-HRtzrOpzR*>iH%tE1PR zJd0WT=42<QO240okkUjocZYA6TO=6#k{_K{eSGomU-R0x)ApUeU)oku)ud3;qG)Qe zWkQ34{=c&a%)Q!=8vPStIVfr<aJTa3udkcJW^jkCjVx|us$+9#F+C`%`!y!I==EQ5 zjn?l*iJ}b6E2e#XbMas9s|QXlCVB0h>@gpYmhY5Sn{o4LV9lP(Q~b9-{ql0F7{7bL z$xp$K3}rqlhDXCn4`wa1y=j$WyRGJC_vzY#^YbprF8a7&`;JJ4Yt3KgfBkoR?)@;f z`kFts*Z=kJiDGrk2p74ypJ9gZ10^||9og6G&&O{%azDaFpygfL&z=)kuB0>WiPkzi z4^n!{Gk<1RxM$on-Oz<w%0Tz$slC(ncYeJ$zv)Z8@ka%Yw#nuamMmHY`CF^HwO*xc zxh-|uSW)jv@Vj%h&LK6=t2TZ3SM&SyK97LUyZ+63oD%j;&2Vqs(V{OdN;6W9y`OwC zX5Jf}kh4?NqubXXPn)TBj89H0$G}OKKP6zkZP)fq%i4e2l|S$QoxkUCQRQB)rVDvI zYa)wz8x}T*fByH=d)kbrvKtgQn%I9oja@C&xq69`mgJs)zmiLA{>3uLw{T=Pg*UI5 zIaB}MhQF7D_Z6M@pZUX1;NJ>4{;hBN?y(r(Ua{!vw>9cM8M1Dr8?5h{=}VZupY)d1 zxNJMW`0iDy_C2SzoceNU&vNDFTa}k~3j9qw{&+{i%aaNW{k}d2)>yQ2Ps~+&5is%X zgYMr8x|Q|^7F>%e{_B&<eQtf)(eGbt^Ik8moqyYkBTaG!N0UGW+qE^8!e`?1m>2&z z_en)JdmU%fgIbU3%NH&LtiR&YxH^3OzvSG={VWA5ue3dAU)GV`oiAB=_z~}IImJWY z9WD0X(93Pfo&7iH?(W_!`P|*&KlOS}+*&IeVfAl~`s!0G=1ntW#d>GBWlc90uhr^$ zrTcyRoI<NZZH=6#4^2Ml*}mDTBZo1zUw8M;S{F06f`s??F4^e{WggxZ`N?1p&zbVC z_bYz;|IWMfC+g)67Do=P=GWKHvwh}hSRg&?{F<0;Z+`1ap5bn~@KUCJ%8TY8-pF-+ zD))|g{S`RyF-W>8Uh0>f-Mj91>)MZJ%kQ#2sAk!-XO{0Pt-D(jp4G(Y{=RX$jZNZ- zQ|{D6x6e;stqf(^>?XQ2YuDvjIc1LGF)T?IdDnF2R6puuXo&aqInXrw<yyu$TC?)Q zbM-d$%G-3Dxe}tND8%Yv`9<-`JI&;Ne?{|sibfA>4CLPYp6+}9{oaqOwU<s7W>NHr z*;iNF@3-_Fb3xUEb`O{Mn}$}aaxXn~<7#@4F7bQ&>UDd+Ey-Ko9_s9zEqQ}YLCwE4 zfS*_Jx>)VMb;*5yFJ0ev$m{Pc$7a^<%l{rnCCt9(kY~;D{IQh9H-+o1^MA%|zMLQ~ z)oAXy&`+@uQVMDdU%8PgnYHX`Z>RD37NtWoGLxRCoO0e7>0&1TeBIH1N$X7)$TCU( zco?+l#l?O8^<VG*wyV2s`01A@OX4y~8JQmUpq2Sd6~59U*EdbMm155_A#-7q!Ve|C zg%{L!?POZ#r();fvVGyvM!D8=OY91JXNuK*%;q%v@|a=oVjKHanVn*_9XYOBW;M-Z zpM7omTW`PPUMv@@GILojB`xjBw!K}jG5o3BS0DDZf~He!=iGl;b6QO2fMj<cD`Q1T z(xL0N8RZjmmz~RX&nglUPEKysaZ;R+xFyoLY;RN|$Aj{N2i{lP|D3x2(1#6Y(u7zN z-FAGtmHoWP=ASQv_;%OE&V90*)}+7Pod6n3|8RCbUtIZJ$=Hg!CKEhr+8X`46!lHG z?zf%2bN+7OH$(HgAA=3@nKm3)Z7wA$y~wV)=$dHgm2%-%=e9lfY<MWCo#M*)r>p#p zlf{QAo9{|x{`^0MGw_X~|F)B}Wl#Aq+^b6a_P0`D^1*c>tKL0dB<s3uS=GkMH)`MZ ze{jllO0QZw)n1~Q@n1}S$;ake`TaYk*-M%f&L}jm4qrcmt5q)T!K7^)nL6{<Y|~w` z^-hSRKux*+w8THY=CL0>eApo6p<>4PBYNjwC*_ZN>v;dCXS{p9t>%Kl>vRRH`;+HJ zzFU)KU$x=?yIht>$B(Tw*r&ZNVOfdkr|5Tm<`=a0728JcxOM;buIw0H!|xyW{F`;z zE+*Q`=J}7ug`f6RGBmiWsYxxX?mY4A?Vd^><L1M^zl(o8!Nt*jdz<L58=sxnY;XPk z7;UE#m(!%Mr75)Y$o!0@b&L<Tn7vA`KNDpiQQAI3M_7f!Dc1Sg!h>70#Y;~=wKKE& zrOM!3^t{#W@yQu8|Gw-!{p^eV?+r|LoB>zPO<R+d5LEhmbDCU3`oS}1t1`CQp7cJ~ z`|1djUQ^+0@t)b`C%-jG?!LWT#j5f1anFR=^O%y%zi#PzAs)n)Z~NJ&fkQvdsA69Q z<KMQsa~ryI_}&((xol&u{^lfJDHCAw?0-MkTW^sw^IsVE{VaU*|8B{qJ=0hnGuS{) z&~SAjWtJLVhxq8orZe)Tx9o~uuPth3bzG6Hvux)5yS(C6UuT(`3w?NAbh<U|LDj>3 zmj6Fp4OO_aO5|C}{V#m0C*0)7>NOD0Wi`GY=sNehyYl_kiJrG~TV?C7O%6?Ml0JAw zkGuc%x{b+ssq-@%*X>!c)%*Lb;Ax4D@%ju8CVu>QsB@*{_RiwS;IH1ZJKLPkO`WHo zAAF5T$9j8OFZ0nxo{k2O*_HAI%(e2Jaj6@smgN8V{93*3{%&6@Yexa8gAX1g-03=+ zcj16N<BQzG-alA7_NkW#3A8-pd-+3OZ}-Et{`%+3W-qh)D#b3;`Q7kyeEG**Kc<Sd zj(L~QoYzbcH-68UAXp&LaMZ<phDI)f`^**dxAHxGGvy}BnM+aUnJ?Nfd=@Q`5uVHN zOqfAuO4t*(7->1av#+c_y0PUgh-zDWxx~N1|9jpZGlk`8l7AK**tu~%^UU>=6RxdT zv|)1DL)8n8QybW7FLK=5k;KaI;N}&PZ$3-CjTfYa?rlDC%=m^Glfow1x<dOiKFcP^ zbuxABTCy^H?e(2LCYOFsJYW0o#pCY#?Gv|0UozxsdeDCG;6Xdt{{6E%@A;oOzU_6X zz=yzT50@%%oPD1ycI5c6dpr;3`R&=aTDWt&(TA6MJLgIrn9Lx@_@N`Ij%DHrzPTr5 z&dloOIW^nSMO01D(E0X_{XLgV-*@Lesau+q9Hp-ans~`%(Mew<$})%X!Hm32_r6EB z-uTyKu3M@U&wly!W=7l3+5J;1`zHE+Ij>c`ForWH^=I`gwyf#xXZb?npI??!p3Nsy zSa?-lu79iVSL5kZ{>nw}RY^^fx^A(3?Tzqh-=-O#bJ3AuGk!c#`SDf%doB~tUhK|Y zHt)Km$jxv2H!L?%ymd1BS;boWs{HeryQjOi{r@`a@ZtL6h_*dV3Ok;jGR>YQdEo1; zpRo+jwpXg0l{fs*8znYHfuoOk!eNGG2j;K@{xfHgNSMc}#C$-9L2%3R^6bL_H%m`g z`Nc>_Y<}jGwvV~t;=%3jJsG|;|L{{2`IULYWI3;$FN?^3$Nii=*>i&q2q)Arx!l(> z+`PrE&v{|-lxzB|6aMSGciFmV)sAbwH|oo0Gx7^uym|FaT#>*&uW*mmA7_faSoPGf z_Ry{0S9JRM5AU|zdHVLcrQP|W+M%ZBUOO6m77pDKHi23HQj7HZtw%SfKb)#>$;t4+ zrAVm#jL%!{Su0mAGQK(|N@tU-Wr@VfluZTq3M5h_E@@5)vD&Yh`%3=npZWE*$)6tA ze{KrtP~f-<>Pr9HkhzX&1K%0(vJ(e<m{(ZVc6uCJ;B<Ww;|HFGxjb)F64X255}w(f z*>m3LY;EA>JL?}8uAU_uId2+g>#xPZ!RlFuBYa%CBVSKvu#k4qXWg*na<3iRJ)0kW z<!7XKe!bQ_x5(Go*?F($13iYnbIW#1{19aPp7~%lSB27k#hh6Or7mfIWy<`^)bRe< z<q!)S|K*q0w*;+c_^i#ihv~qZvi+Ld9z~r$o@dF|wV!{H@$$ER?OV^*_%fGrlss5< zeU<vE74Pq!tXIpudvVkBx#@3m1L7F=J9Wq(JhN?g@rmT9$J)YIVy0WjOJ2!~-LYwl zcKEs$rKXcT?#GYs4Q=YkNu9k?k?HooyGx@4T_3;wZk2z;&Tr~m-#E@0{I37sU0y%` z*BSP*E?Gqmr+Eh#E}XnIXg&Mqrv_)QGk28Dm{={%xPQ&o`9g)hFZkxMU0mPsvp({5 zyrNL$n*%RitOK=ARh^IBDKS@S;%Z-L>z2Sj``He&p5u%*=gz2_rJdQ7<|{b&u#0%} z3nPZ-i$B{eTr}q-57UmN!Fn2=UtA65Uv&KbLSTmblxzQ|Rfp|$UBSa)HQAD5QGWB! z+YB3uUIuM_ymGl8`-d!s=}kXN8J=yuT^ibvy|KUUsmg?ZiVdmTf{i|B>cu|``FA)o z){MU?a`B?BFyjT<=S+f=#Xm*A^ILxI<(xXc&pX~l>GGSNf4$!F?cr~e&fn}7Pd<9+ z&96!QzCH;-+4ZF=O3|*?pS3sns`V!&<*YejWW><ly#HM0Zob?#2Tryf{4e?cfx7;T zKUdnzI%^d<?w)+`>gw{0rE$EAxDVDWWSh2l@A4X}!Xsx=>}1M5=FNEVetNs}3zK7v zfB0v}D=n2X>Xb9wVrOG}EtJc^_e}hzB}-eqB##L){Ga>#PqE76NCQ#6{f!;}M9xe< z=)B;7L$}-k(-#7Txe5~_coTfndFKCg)cE>dYv!Kt<Bv1%CK|_;_4H*i>_1s+wkBp* z$Xf|nTlND>8SZgBVA^s}{-T#v<G=p;#C@*6*jaS6H)h6iggr@FGRc~GXJFIJ+>nb| z)sv>rkxt!yI$lybZ_43om1`X>uirTD8*=fb#{8>x?@k@w(9d(qER|EURXc1RCxb_n zSe<R*mVc|nC$3#2TP=F?o9+JHCi5%ytiHYW^k09KXY$|v-CeG4^J^ymn~D1Z1gvIn zkFEdPnRvR&Qh2Y-8GZJGd2C`g_ZC|VEqYjBvFEyP{?ECy^Cq#oWt8(Z|7`d963_A{ z!q?Ak+2cZPmxMG4#@x>@3o7gx%Nu_3Exn?Y7I*f{Ylb=ZuHEG?I2hV_<WIF(zTJg$ z*9(vCD(z03HUE7>;FtdzOaJj_|5cc=(E489iAln@>t_D0S=PSOoHK@L={=5T=8DV1 zS$msyl%3X1tnF~?DD--FH1GQ+_p7-YmsfVNY;|+tEY+WJ)k^qkXx}Ght01+<-!#O{ zKM84zxh0=}p49GGpPO&8?(a;o7hb0$ayLG^K5r8bclGZB404k4?Ke9PdYX6V@J96O z&YgAW#=k`yyOb1UG8gY_jJ|!t+rPZa?U^1Ae|*!!MByfdExOIk&4Su8cIP-+{ZgI@ zTUbXYu`+9OMDU%Sby)XpG1Jxab~}n*UaG%sX!R<yM4Kbm<zB`=#s>KnCr`@1tgx9| zKks&+&4sA<j34xOo?puI$Cz<_*5%*H8V`&Zwr~IJEM|5#n&C|DWA6%{GxBPSen)!0 zn5A+tkl}mt&wnxMn_>j_vYwgGBrrqM;qs%X`;5CfImN^GY`9z1D|%GzgAv1u?1Tr( zt6uc<1f_g=d}|tC%Dy`G?|Q6O$G=E5@~xV?-d^gcbod$u2ANYcejH9&W%<=ASSflo zn{7qm_s^DwCcE`rAKU#;5Xd;Z!IAfh9+#fpo0$e}lMl2ny)0tYFhj|zyui2mOvJ{H zLrY5I1Ec$e1++I!OP?6T)*xYcp6z1JS)17%Y0Z^-MVV84<2@KM^&g*k_h5rk)a2jY zwV#ivH(jVwo5(w*yxd~$zcMSCd-iwBOXjJc<LCInD7d$;(f|3L{M)^!FCKez>%c72 z>kU8G=0^Q7Wcv4Q%~J3D;=g(?oR%q1X8PZ=pflTc{+$9z<9~N9u3Pi$q?zo?%l{{I zocgTu%P+29|NP;!_A0jg5M#%TS!dr}Q!CFsw0XI$7TYGdMO{_<wn@F-WLde^(D+`> zG0Bdn*Rp=T{4sIWy<A>R3sdcE_K9nGmAhxn<l)=DWBrS@4h|;Q&aS;tH#s+1qw>pt zyI=qQ|Bery|M$fArQssC=1eyItbc3ihLC@9idva-L;l5`(bcj0d+$u|*$5WJ<#`|U zO&?U{dWv#+F6DGo<9uM>k)e_`>-#dE#~jAWcU51XG5X9Ot`}SNZ~gqLEK}qA90_&O zqW^uHo0}(2oH(&$_toE`udjVQY+`@8?>vuTy}2;gTK>puoAdTeZ+)=PpeDRUB7W2U z!y%dbpIy#r)ju_J+R@KWCoSi`xqCN@D^2cAR{S^fg)?_<_haCA!!RkjYTKfVb!*KP zW8S1LX51nC{D!9ScDXFR=jjaHX=e|u_Os(;`0(b6$UOh02X_89U0YSzHgBrh{M~8N z%FEA&DDk|jt}`#$7+r31tuij#G`ivJ=eXB$VcVjYn(S-%y1gV=gu_w5YVUTHUs8<a z6_#mFR>x265^i#v)lj|QYv^CEv+M<y#`))1nO|6e3cs{_b2wYiv3)3z7OfR?U%Wo! zxE25GX9f+AZ?CzLtnjN?ZI@0;<asaiOZ!&LJMqw*p`vs0--tX0tMv)bl<q2?Xw(kA z>>LtUufE~-+&}4;t}WXbzcpR$P5HO*cUjXfbi7>9caYtymG$~%x799eXREn*<`kQW zXc{!km$eKkw7(sgvO4lzLwC-tEub-mNp;<ea!q&-`9?peYBedlZngQp&ij`)i&ySB z#OnA$pf1^E@%yYt1z`fS&MGtfi;_IX$+M;@=zCxG+(}s{h0M<0%_{no#1Nl1-6;F; zjs<sLRVKW>b(!JLg|wspmS#$5AKc>@<@I~9hv>CP?b__gYroHUKfQ9}=BTNkui7ri zIIv4LMSaoMgB;7Ml_wNs^Jxq5-SNp>`E=p4CC*p8)_3qkscf6Ox56+?Cx(OJM{SW% zyU|RopPeVJwYWuWU4P^MA?^#)LT?xfo%Q4Xdg<`azMM09a)%U5{L3!iSrsR3ygw}N zVUt1$gZ_-R!kK<ck3|{$5^Qn%Bx6_~!mQ0OhyB6*EvauOXKi#p{y3B2wd9Wq>nYP` z=x6Nrx+d@3aP59kqE*i8#C-vKu3E9Po_%g{zf}6*se_Z(J_?wAdZXpq-OsKqDbZT| zcHR@!=WeD-pRPP&*`1ieo4>*B*8i>FiiNi{bSu|h3#*^QVpjH{g<J69sm<q@7!78A zJaJ><tmVQJ*IMSEdbDlz)?@#~zfCE#-5Aj@JAz?x_YIvLCk|L%(&uWr@XUvyqFerO z*6(L$gQ^ete9|<v{3)dN%bnFm@#@3O89(?F{?$l}e7$=3@ZnXluS&1p+WMS%$EseQ z+x~O6mb{$*WKjZ_Y!lPNE2qNz*Il#G-mdP=b6UzTKCVRhd(+I<b84n8{?pKRW#10l zQ&+Df?dtgy`P$<7<Ij&KoaQe+`*NB1+$t`yFJGA$<fP{xShCHFTTv<cw7b7T!hi1S zgjud~Ee|yo@KpZ361}%;nzt@T(}iOZENj?4oUS^q*>vI8bOYPPj|;uE4$0r%p7S%C z=^b~4VfuRsS=-gQF1%~)Z>l}p>3QZl(~k)*%x`T(9Jt@)9Ev&qaz<F5%e6UYpBUXu zT^{#ou8eNX^tKHK#vgd*_q~=sP}KYQ#^a^_>mSB>i=3XD?x)jcu6I6**YotDzK<VY zNp_#OW@M86rarMeGil9XrIsS)$4@u4*ENcHJ=f%Lnw@0$dA{KX-gsxwV93I?k{&7+ zNwcyUZDijl%56WY(-@k4ecz-;?^}!BvtKi~czuaziCR~q$JyyS)-G@pZJH%tdn(gP zqtbSt4gYM}R~Ij=NNbwi+*0L}U+z}^vTp0&lQC6uZdUXa8n4rRzb5RjZ+PLIRa4Uy zg}4|Q>gt|w7;R;{r{}V5*}XF}MQ%o&Sh)B11W$2SL;iM0HxH>T!6Fy6_&KJVi@1fn z3KVEDJCgM5b!W!n`#jt3*6qHsNMVa*@WKm<YEirj8}4~?WpJN2UHY~C_JSEw2cp&o zE^PhgBzU5(F34}mBCX7&_qpUZc@}$Z|J+h+th#mOEK$>%<JW`=9Q&hJ6<iU!cxr9= zw;8MR-*0=wE61v?XZ8LQEBA(?k4Xj%wJ&+*`KawpJ#zJZ@MYI+YIeyy-)heC>M|RD zv-=*CnY3p4;y8snS7yh)me4KEW_8Rkzr@2MbWv<2m!m+(PelRNGDcT5E9DoZ6<1$f zeQxmK*#Z8Uo%eVh{uy0*s9_M!zmM|<yMDp$e^FaY_#64Oj6aqM?9_}nn+)n3<XTjR zRyQTy-CVn9`<g#~J68yXZb>=&LuumiuUi83_U@Vxv?J?j<mH$AvUYFQzc5zaWE%Nm z*2$HN*uTGXP0Ly}L7=a}>Cx6_+ih>&u~!vU;c$|ksIurZ=Z@v`e3U{LHE=gwn3r<t zB|oDCcgDwaJbPv=ymFuIu7mm_{)WnCo40fOH`R))W--z5|NP`Z=-t4x_q@+3uKx7+ z)c)VOv7i#FahhAK_4g~y;Ze;zHRt1UpGwQP>hOop)V|#6Jv}KgUS8tBWcSH8!fjYL z-qTupL*@0xo%Jaa)$?_~M|GD+e15F9CD}s1>%`gocTEZ$z6t!9f2-2!7ToK3x979p zN?*qp3Wpwkh)de1x!|bv%T3aG9B+(dny<&#^E4bxkbYJ2ew*)XJ8l1}@&#EoJf@dV zybPFrFSA$ZjE$?Ps=lT9irh-e>1(cr9liA|YT3@^Z*II+<P)^sIg8=ozjKlE%6F>Y zc@x32-o8|lLE&)Ee0jO-o>vNv{IA^hT$}UWxwf`Jfx}7K@yiOPxPxA{G3EbP9!U%r zuoC3n!ResY5#?A?^Jm9_K26=%u?`EaKlodF#^gGWijdKSxBLDqoyx$Vz~JfP7$P*~ ztipk**P~88d!+B$6y?0QC1`I}@X~Ops}o(_v*PbOJDTHB!uV~vsx_<YgD(EtODvb( z?yL%*Q)qR_jf3aGboV}mm21~bJI))_>5}sKCr4@H^(bv?vAoTEUIHu&54_cyxyONd zx75U&ccsm}dbym`rJlIxH)UiCoEE$Gt3_ej>qXsqT!tI$4s8G0ap_mC=3xsZ{|fP~ zPd~9(zt?x~-ykKI^_44U+wYxU<`vh9eH7x}cK58W&D`L7b<CnyBp)oewJYc7oJ|RK zVR}(429G;3A6*v~7Il5#=6hRs;#pz#?^CMRwpyRg?yY3|%_`RGE6`GQK;?lmLtBZB z-OUaj&+L_<jxSOc&-r;xVcKb?KK`Vg&*qj~l4hJEaOL;OGw&~Y{f(RVMlbugY5X%i zR@3;6oL>GRwX-jO3|%(yR%%dxo13Zd9T^pqE9c4z1+Jf&cz5pQW5qqvvH!ICvYtNW z&}`j4x9-=Mcl`2JJZs-hRY=R5BcY@;d$zddH@ojSnMv)g9Ho(hc2Vr+o81Li95Y0% zMJ{Sf{s>WyZ@is1U7@(?!pWYTdw+x(&a<qI5eX>tHC)fT;q9;Z^8A}ZZ~Sh%RcjWm zP-1$@{4y}{Va+znFb#pCRXM9Bxv9RA5?xy5y?wW#DeGpjFABW(3>Q4j4_~}@Cwo=d zlGWF}*Sbw$wvMa4<QZ|{HaFXcoGhX9OE-C&2s}UMvXr0cxt~jKmj9bSYYcZ(I-2dM zJYN}?u=tgD*yla0>$l$NTUaoC{nlgeq9v?z#BF^AS{@`b{m3c$_NM<!Pp|LE3w{DD z`aCK^K4;?77xA;4+LB^tmQiX78nL)M^UPDmy;FmiT-nXE`J9xo$I8rVgREIQ9`{*G z)%&xtH+rz7S=hYIyxaSJ-Gs;8ch1dT(^eQ)EVZKDfqm-CifHZLR}wRCv<JPI=YC`| zyO6o&{avTezB~O~V8sFN=TAdauP&?JbUQ26t=^>Tx}L41RKvBN`M&Ii3!2`EFic## zEZ}NKad7c`#ZCJ+yt<zAe5=^|XIrnms@dQYAk4C`wxVb2zIjuswxs8*c{nrw{+`IJ z2!UM;XaAIP&DgQ5^BL>9c|M>01ui(S@zgYJ`FFQR+(k1d|Dn}fWo6~i?Xl%|OJ^vZ zVtcBXbympO*k$RCXG%^Qdv0yLDtpz2Gp)Bv>(wux+yzSmum7{1EWPVO<yX~t5^?8} zq(e>iA3W%Mw)em>hI?CTES=gI(~hk_u5K{Ru$bS;@#{;eiEBIKa(-^IuG%<t?(U?u zTLUCSxXJ@2KR)&*IKEqi#gRkEea6pZ_W8Bnj)4Y6e2um(oyK}_YG6p#mf}3E*$Yh% zE$h6yyZrG%cKJ0`KOX%0YM`zzXvC9onn}=6dAmzc_bo-uuNn>a87*`*uC8kMd2n-m zVW>j2+p~)&EsO1L_SkQ-xW;b0CCFfsr~Ab0WjA(hH3~ca;DJJk&b7i|ALmfHi14`V zzPKzs+beUf#jY-$w@P+(w^-!7;?1sF{y)3_*NZC8er<m6=I@Q$nr6;kvB<1R>i1g4 zG@ZHT;^}g`1<v#=S^9DR<HxM*>w;W)=ed|=U2uN>!1vlZrP-@jE@Cjr-t!}8=JhE5 zev|m?xwrK?U+265mBY%s&w3><|5;vOv8VjsB-OJ<3WevV=?2|y3b6U7HY@J?$%JDb z%{JEVW;q3S_SOBZdgHC;=<+RllKHB;!nNHqnU&WS9yqe~;MdpbuR~sKZLG1I`YUAd zbk-GD<+g2qX?@6#C1z`tX~@09YkmK35Yfs$YsUTEdiG(_VExZ=S$W^e-$lOJ|NGST zqO9f5^#ZRMz5esbJi#g>b7I%kt%r_hTg_M~^3Zqr9Im;aEq))pAvj}A@pH|pWjh~v zuRP&4)l200k?n0AIeOQUPv^bUnfUg=JMjtgW@*i_7GjjVyXV@h*u`s<mRYW~)R2>I zQeffcUG&zVhyS37`{9Srs??){?mKOFX1OM{M1;@gbI;=Ek(+M@sO{tB=YPC$`Fyr5 zd2cRE{^`i@p8rBD$CMq%f`ju}1vnpE-nD#w#^;L7$Jd<+_*mg<xI=d5Zk>Yj4{mMU zuqAKh_l&($BI;EIm1Hgj)CGw0Z>?fATXpH=uG8JGEIbeM3*NbLPw(49w|RYYt@XZ5 zO`prix2l70z12sTGq2w=8YjmeJ92sQ$wlpk@_S9xH{Gn*==<LE?SZhDX=+NdXRpyd zy;hf7-|l<N%f7iHid!yTOtWSGDA4FD&?0%9>GNJGiLe9f6K9>ZSKeH)mNVA9t}0q* za^|T;uX|G}Dt0{izREPa=<ugs$8-fR*JNl#9Nh4$IYfeYkLiMKKYAZWEuVGMY+LC~ z>%=8FXLmG~zGgVhwdKOI8$~CVE(rV1{4UBs`}XmZyU+eyzWvcvpMv5E53bAQ-*bGU zH}$W-d+Pe9&rV%F+k5=ODpl_Tb7EQFJWp<4`1y6?R1VKL*KMa(E^0k3I`ORKYp0#x zZU5Vx@maRPP=-~qt@yZu?6txI-t{JB_k(80ZtFg$#^IDL$^2REw86it7k*`4JtVw7 zW*g7#rT<#_+KMh)b2=>HJ+dY0&fZMnhC5L~A1zKi-;k;$V#V^HlHoY}5i#yd@jaf5 z;_L+$7R!=0@>*S$$@TU1V=L0#8n*fGw%g10^Yij5&V1{^6nbnGBku~YsIY?7e*|on zg>z4OP-vBrJUjbvIZwvV+alj~Tkk$~B=nozqAshdl{*FG?`?P^BH@yd_Qpr8P(l64 z6pmnDp_`j-&yxPK;8E19uXjuovoHHhuUsoA&~3gkck=G;)PDbD=H})d*6Z(IWshVr za}<a=D9o_$%Hcm#RW1fPzrMy-uCw}(wwr)en#FmZAg<d*Ng>N8iaU0>n#unWV-&p3 z@q*XuZk(w}iJGyz^nvzYW^=tvO}ZEb8=0gQC~)MQto+EUBGjlA9?QtP>Q=p9*}`rG z_Rx6-{@)CDYR*{xS|Hp+f7`CV>+U>Rw1Iu%!X?gI{=a)#l<gv#D&2d)Q~kv9`Gsc; zEegNsWTd4W_;LSZC)dUky(hwSUpU%Xa!hpneBJ3R_y3z8mhCCO{`tbR&=s>imOR+% zb}4<!u6{ul#}&=YJa-mPxpgYao`d0}<cs5-lDBh}R&zSt-hWP)yS)73=DFgo>tc3` zxqXbdC|k``qPg+m!$eaXn>FdX6uee?H(96#Xl~s)apK&m*CaHf>wPl#wV0$r_B~x) zF=MBk>VjPho;ez1SA<-QN?&yB>5VOn5tC0HZ`_`?bKyL*I@Zmres0*_dVBR#Swp8C z50<<s31Fxw`NOg7hL+88GbL%!I+0xM&)lokH?45~{W<hy$lssYt4>^NSY!OsgzwGG z*js9|A8x&7dpK`F;n^qwmV><QjCc5-2~PE@^*{bN^O|wCect5KYb|`0i-iT1UYfky z^ZDGmb=}p)uibdngg#u@y+=Z2a`E$Xa|;>V)AuNx5oayv_^~9dZb_gP%Sn+7+tgCZ zgYQ<XwX9lslOro6_x?+HJ67ZMmpyWqg$GV{HSz!1y}5huM&AFg=Uq+SZOxUI$EPQB zWzVyMho0(6a$Jtaj~&#S(<f<u*zzrUiQm*3UEyU~F55PpSaj1|RIBK1$;7pcaXHoV zZ?fi!x^{HAF{YM83O`-8z1UHpg{}Pm?}LAGnYO7uKU29NJtv3D<-*6A{~vptne=0U z({JTC^KU&l_j(S#Uf*u!Yo7d~)=_JB=B!46>k>Z}AGjN_$ojP$zc8cAjj(ME`!Cep zaOc+Db<xjvf6}Yecft8n0@gRp{C#rOy=Bv?^ecY%nJoQd$J(kD=(_n{+En?r-CvH@ z?u{_4x7%{AO|Rn1iHfrMb9Oz8PtlI<Kbv;Dr!yyai`?yyEH3u%)2iMCZ`r-)+Kun? z?p?1<ez%0rTcAbKpiYkcbFI%8U*(y9I{S|6GQ5zK=JpX3ZCGn08<KJTBg4fnP5+!q z-S+*u`f}@ytQqruH=EotTzpZIKfday>2;azhBeONm&#{9yT0|||NhrUc!F1E^1CnG z%PD$HwlaI~jm6xenNM}^zn01hIbXMKaaT|>ckq41rufry{z`q;^E=LW&3g0vN2Y2A z7#Ua(Wlx*KlGeud;m8w}zKFD!ac6~YdhMU`&Tp#Ml`SW(rA~DHZu3_pLY%d_;~2xz zIlsLR-sTnL^%ZD2R><GLFI=o(b49DiIAw1X%fh=J$CGx{A7)$0!Qa!<lkoP|R*CW% zP3Ii60$Q(C9b2B(qBQX{(~f($<hLZ+ysO`FdO--+_fsYp`W9w|6c%Z&Fumf<D|aov z_*0(p{M5o?*(c8x4lb{}d!+eBtk&=OeW&71&;7mU%Z=6<qP-5r$%i(9T)e|6Tcful zU`B10J^$3@dmo?Tp8kD~c6VIVHV2vKtDD}g@7Z}HdOf50yt!t@pRci&6mqUi5o-Vb zR{v%FuDrEdr}5;u#0s-4Osu_jKl_<?Q-nzqN4C>!CzV69{LS+2aF|-Yd~m?&WrJwt zv7@G!e%)c%)+qnme#(a0(_)eFYYzuJotyH{HGldv(K}l9EcP$I&Hd8Tmv`$I>-Cq+ z$@_Qjjy``f^qbtGu4|{ZyX@DxwbEYd;HlQ*4#v*ey|TjYi5uPGJXT+++u`J|EqL=3 zpN8NvuWgm0H{XP=$P>8v&BipU>VLA~$FSnqwWiBDtai@Ww11z201IP7kjrdS1N(@% zO3AZ1vYReUwdm5CCaO{B+wNp+rz_%;&XyOmdaHh6@63(9%L2=vB`iL5__f|yUu%v3 zfvHlOmUH{}texuCCs}QA%`CL%#jCar;){39blcs|!F1+pd|vO0MWUx&r&`UO`r*{k zZbyZTv^RdsKQ5Z7X*=Vs%Qi2?wIL~odAf3VtIjbgZIYFhK76CG+0|B~QEB6@Umh=2 zvSjZmYzz}<$$MVGd}B-P=VuNj*Ut336_N}Q*fs0zY_pqv@}4VKDohQYou<KX)IvAo z`}u@#I_m@*b}xPZK4QvUUj08SM7G-aGp|)!Q7LdnN+|To*T;QbM{n;wE%NNZ^b45} zKkxGSuQe}o-nID6!c%U{wJZ4a=4Ql=%gkqcdQu;5pFBC?_SgG+x^lLyy8Y$vI@L{6 z^H$p^%eb25-4SsTSBf^4w>J22DA<4MH;IjMf>)z%eq(hMc=g)#o{@pcm*<Wz&K}tz z#KL%jGbc47YPO?Rvd3#l**ARr{Mro5+1}J{s(<qB_WTcOrV}c(%Pkf@nw=~DbA8sV zyPqfh@9!?Xd50q{PcFc}GT`aWl_!;?OqFjrbDxqeSv>3Yi9?@fW!4>8XymvyOrW_V z@xh#Au>+T+d|K3(UGjJ;ZgrMBNAzO#XD4M*Rx^!LTQv-&7ag#B;rNYX8)wyo`$1oh zu&Qp#nELI~nFZ|a-}iPbcJC7r;$h}+-*v|5>9IGDuW0QMtmJlzp1|~BcA1U^<8i|c zJ9M+>zHk%xYd)ji*txX*ZBh(pQ$Wk2H)})>&b$BSPNh%>)7ArqjP~*#DtFd@JKF;a z{|cuSY0D?Ef8OHZlbzDQT$I=``Ssc-yPuY9+j!?0bhnG{8q2U>i6Q>+mi2Z{UQe4O zGHj;LJH?fBG*_W~->I@dtxbWIPp`;Eikvu|?`mIsdzW)ca@w8`UyPT=Hdm}Q-QZg+ z{VlL5!2CRe#d=xpd4@g0&eOi`XLz<P@#Eu!f4gSQv57zac(ShPu_=eP^-4cIDbBL6 zWuotFg9#oUt|8J~T3byr>JwBS@UQcBQ8^SfeL+CZ8gcGuSAOTI=}TVy%H-o;`2TN= zyJ)HA_KEA=R7`FkTek_cC|NXn)pfBmS<heYZ{bcdoO9tiySK5=+K;zGR&6NTeRhji z+Pb1$Z}#;~biJv#>BX1u*(Vmc20P`Z^&c|3u65Z}(szblRB3SXwdC9X|Ku%E=QfjQ zJ?vod=7u}ho5JwGi!2LcIU=uZ=2?^f*xO?A<B$GZOAegXIW$XwgD+W8lHIbP<^tD} zneKPrNgMm_Y>sWpb!c8Cm#nv}+G^?TIV%*8Tc!r}-}J82^Lg{eY{S!=kOEKdGOyB_ zIrjWw*%{Yv%srP76K%=3)?>{ofyEXTO3^n(r@i50pQ!s_qO0!ZBllu=dwuRcx_eD- zVYc+f9(`8D4+0x_U8HYUocJK8wrkPL=Za4J#%?LSrj7zK6ByL{9$ye<3Rhbi)0yp+ zopX0r=)1(}0-GdtME`2UUtaUc`NQNqbFbp%UK7th-jjN(PWevXYv<MfJ{0Ldnu<qQ z-5Yh)+2$Hmi!IV(Su2^zaDIkl!Nn^lC%xZUG^Oi)Wn*v7EGA~3pOTBeU3T?OYn$dP zt{c^_Ti$l)p=+`8^5xyPd_;Bk#m&0sW)^yS=cnLgIhj@4ZvHO0C|>@yDO6^wsSK;+ zLciRquRJwU7pzw02ygTiVDjw0_TE!yFV}&tZ8Elo_h)gop5vVT>|Gk~`8Q(P;w+8= zcNRB3ZZ><Cw$?pcH}NQgTi*WIyae&U4>6l(N=4mxlK)gm3seTKT%7Psan*{qmVc*R zHw*R2v_F=&S$V>yxgF24^3;Ftj@cjR+C42QnPKyxM49`y*}F}3)_yEW<63sDb>&LS z{H;ajw<fLMHYsX_SfohVL|4Y&Cl)O|UeT))^=e6)@aZdtn=(Gw+`JU5`KJEg&q@C} zk~XfYT^iuteo!uNfdWUPf@jH;t^33rcFCUhKhQKG^WH)=_1?DUYqz?z3bPy(o*Cew zb#UMMIFT(zUm5+c-g3Vd`PwezW^;6s%e3W{^Vp(%13oLvFjZN#;&z(#U;lEcvv>H8 z=~NqBv%UGrj@8)0T{Lyubxw|!;PkU?*QBD1`69*mBEmf5SbI-3pE$;+Bz?OxXR1?F zfy*{FTm90GoNBlEP3PQmSsOe=0@zsm*Pi}2ub}t0^6L$pPSp~&UbbE?|1TVKyPdr@ z;?3XQ*Z(AJ&)iVE$JL}z@nqlaJmGM@>LxK8^{FaWueLO+*0;R(+Vm(&^t{RL6?LYp zX5z0mnYtK!mI%F~H;IvT<?l}-5{qU_WiJhvx<0Y>x#{IU9X6?p8e{p6e?KA+%Ho~9 zWa}~GX_mT6HqLz>_4EC-?wpLS6Kw7i*B*4_x9Q56EG%rX<@?b|cI}HcU7PiOTfkSj z4ZE*tSj|>onU*`-tae&M{?_cDoiCEtT+x30&Zu)k?P;-`iCZVLIDY7yrnMp2@4%_z zE!TehjEfXnpncMfTh~Z#d9R26;z@6gYw|UnzSz4w`9v^ddcp>=5~QsdXSQ`QiP!dP zx4K@`&{><9)%#qRd*+^kY4+~A6L~XMf_f2*4O));4M`K%mfYrX7h9{i>FLeApZQg- zgH6Jgf6wXlFj#T5anf!!!^v+Ch1zajzJ}>uBxe&tg2Kdv?n>DP+uSNn#Y?}w%}71_ z>H1#bNt@Fj=NT?zaa=Ju(#umd<Wkt9Szb$@^p$F!I`?|DQ_kkw?>4kW+1{9UyEG*5 zx#ya7xgoRv9@)4#ux-cp+8q;@C#Pr6t9|;iPD)d-z)6P<RLB`FH09f<CwSEB$c8MX z=#4AbzAMdsdsU<}XKDD&juVT1uFa61*n7~T=mUcqpRATiO_0NuyVs*0OP#c7?!9+* zp^nsS1(s@upNqm?Rc*=ljx}3(#rGcDT9%_dZ)cl5v^Kx1!r!RCQM$SCvD?ZPuQc{G zHYZm(ho|-Q^qi1=9pt1MW}oG=QAg;?o^|`fv`;OUf4?nCJ##0g4p+>B66WpJV%04R z|5!H&X!`s%6--cgzHO~(NnZR}sad8G>7Ot6yxBHq!_uwC{seFcp7LYA>T)Al!yx^3 zY}_BEMNR23_qw<ID35bF{We^8Rz~5Hi;wvBSEXExd2&8$qAU0R5I3>8|FVQ5MP~FV zSjk3SNsIPew^Y$h`<?LBSKNDS_(FaL)g(SYcWIgIcMI8&Ymovh3%LWM>ctN{XZ#at zJ#Bu6kjoba<NVUi`(2nsSsXJs_cChxho0Zc`f<mdwR&n#PFXDZGw1vz{)I+sjrMBH zw&D%^R5@ooW7yf21wAa*?-xE<W#1(i6J#KAP=VFefrCqN>fgKxPBTP07?yHyvADJf z2zG=#ln7Ed^~^CuWr3mdL?%V;zRbD3&sJ`2JIZr<Q$iN^vZ;R~ZaE#>G{Mk!$ypww zWi$VtQ(Ly>Sje$MQ)aeZ5_@)TCU<bQhLVh7&&v;4N1Y<>Dn(!X_$^7~`If^9T{$5; zt0(>l3zB*k^K+#ke~jMj=JW5}UcI>Z(uJ$Fp}^&ynCRDIyg6^}#N0$!6ep;ppZ}L| z{>F`L#ywkXcbn~#^!m#aWuIyOM2SIJh|y1gMNwkb(K9zzO%6%T*^_vfZD(}s{{>bq z?^RZnKQ++mDE12u;8tJr<6W}Y^5@Mf()u2CK05wmtyt$pg;oJUrzHYGJL@|Ij6%XR zPX7;Ut?#|_&+TXNldIgDP8r9_1uRGu)Gn5}e0lQMl*>|?OAVH-s+jk*{<_f3Pj3%9 zrmTK;)vUH$#?@@rw=17@HU+-?t1o!7OJpn8#I-&i+NBArON<}i;p-K;xu&Pn*55w# zlR@Dc_o({K*8J@!7M!uOmUk3LYniukqo&5!vW&kP4g1XYwAe*lyY}<rkJbE3f@an% zx+eAAgC)RGpk<nojm?^}o<1o??P+i0@20LbRSZ$`5MedZFb}o$XI{HeZT9m9R^Pd4 zs!CGVGq-4^ux{=+RmYRUy0ODZKu_r8BCVDVqXjEY#jYrvA6;8+w5;>w6BV6vRqK8I zd=+#34qlRyynHCciudvvg=?4DyU(s+k2dP`(F%QXHcd&2Q+ZKULME@;p@jt%QGbez z_Zsi+TvfepVMt2x<Evps-zCi!B|CaN<`T40FA@Da`EH!nzMEY+s=p#<o=7te-4ao) zID6$HR>oy@6LZgBUcA9*=AmMVz9yc-wenX~FFWq!tQPww&gd&}OK$CamW#g+)_6xx zoB!eub8xV{;)BBveb~zHRW831>?qJ8`QYX9`FwZ22r^Z@aoe!z+AM)p&yFUmms}CK zaf)SY*1UpJ=|ysjyKYUNnHIP6W8u9pcLh}j!61&+Z$eHRtbFr6Cdx(AWvby@U$>{< zm&L4D`fI&{>C|ISLb%-3`;}&TC2Gz6J9pkJCoS7nAFJM#K2mANS~63YXJoBSj8uy- z-je!sS#{KfHH>Fn9U1=U&XS*N%YN}+<j&XWGJmfwzOd4h!NEfA_$F@sdGq+JL^+j% z-<)_F#PL~a)6S1st26qa-YY!1zIzUL^vbj_%_XevDWCsM@s+jhYTi9x|7E&{*yQa; zd=4mW;B;c&@|c%FkMV<gZq&d1+h_bwzCE}6U;7;&(3x8gUtC<Q$dWI+`QEAUww_p4 zg%H8HmskI|$iTmK(&xjA!=rtbXVtWDu9fH7#V*6l)xsgDq-D)(9Q348Ozl+FjH$7l zrVcurb-0s-A6ppJu?U~^R0(!Bw48b9NeI`<m6}T~2S@gA@L`*ldFYDTmefX5<~7Wb zb6+YacYOKg)T$id^1?RN@>u<6i32^X%h$JraV@*1keXm5vP$IYgTR#48`);x-xD}5 z{ipL|@07(|rDvrSH-&OnO<1qI-jToT|HG4SjHj*NoM9ua8loX@YqCzb=!Yh#PXC>( z`Bl&PbvTp7O5X1EA{U>n7V0d1cXQ9rhC99>Usq0LS?l0(C0J>h;6u5{?%;;Aj~ceR ztj@IF<`a<JG9{%t@A~UZOaHej_ggdXcP`?Je5k{t#gQJ+A)q)%_{y7>&4)~P?=JGr z?vb@@a!zhHnCSE9#gjl8UpZGJ%bB95j51R$WkxLHJiUoYdqU-lK<yT3r9)R99)4l{ zEJ8r=Q1NrcvNweWB8o=&az3Y<g1BZ@tl6+F+D_lzDPpPv`?_U)*P`yP^>E4TIT5yH z)2!YTVUk}Kd`Pa!o~+z0cXPk|V|KnNe!cxJvcH`UO8;9n@4C<f7Do=FwrlO4uNA{y z*-zx%ayL(AeaAkg2U<I4Hz{zeO@DW1=d;F!wW-I>sLsn?v-OS!qeG+vbGqZg4<GmZ zo7HRa@R`LGi*;dzdvjNW7tEX~?ZM!r;Nq$1#kPp0<>U#@47QNMk2Y)_8+3X<b{5LW zS@#?kPL`0DKko8LW76cwGiG@`W!dbLUZ!!hDQIR#*gu<Rm)H16%?uIRxUWt?@RwgC z->H;@EM8xhu9k(o$+tc)S9FTlxPq-bE_YqChR8hy)#n<4R$VUO6STZHSN7^e>6|q2 z2lc2nY&Ox5Ir`|Hi>cs)H*IpfRxu)`jv24#IjsDj_TVwgpXBN|hImT@lP~MuMsK^L zQywh9vT$q8jSUB7JXD&(*36sgJ$;qz;>A|!CZ~Ia7^YON3ygGVe)(SYBIg{td#&c% z-7<9>*G+sRwo|WWwSo%=hqI!arM^kZ^1Qa<%hx_}?|jb6V(uz8f5w4-&A$s@oRH}2 z=}%62#4%~I=aT>S)%kMj?v?j`|C_hHYW~GD8E(=XDgp@x5+ACPk6Xrl*gCm*a>8MQ zCkYEDDtvF4+-$h*ara~k^W>bz4~|?vc+RuN!pu?Vw5?=|@VT#@j|HOVSC}8;o^jNJ zV?v9`Z=d(xp?lB&UA#NJYUQhS?_SP)`L1%`uPg3%^RNC6yBeJze)ae4^pk0c(P9zn zo26ZC1=qH1c=jY{Ztqcnt}hKWb`$RNYfo)SWnK8EZbiTft3b!@76bjT+<CY3EVp?X zYVGIWer6Ht?=5LY-FkIv)Hj8uh_OZ~ZDI}9+>>^DrblYA$J0#)k{b@$cBC4gh?-`j zI*si>)VmlHGshPR&-&!|Cubb*(`MMS)%m{YJ_8%8Uw@t1`D`@9g9Tc?o;Y#hL=@|r z^e3^-w@?0xw5@$}Ly{qmvB6!gCV;JjVZnq83u?H!j0_hVZam{!5-sxL)fUIIyNk`1 z)(7q_jtqP4E88dEqL6WMs<8)){gtG$vrA{BhkW1gs8eNGn!2I2d3%OVTZmO-jvDjj zGmh)cFCK8^S*^2rQ(jR4<689-OBZp!xV=TvrRBjf$0cg&0+!$JBz@T^Dtc(z-LjPl z;dlIRR*D&Quj@P!_B17GW8W(C^&MBY?U?s@rfa8Uql?fJeuWqO3CdL$_g8ZN`S<>h zRW@ubfPzHNoK)p`p32isD$F~pFb_l?68fA!{kr^mE(!CHH;GFXIC9Ti=#!n6Dsla1 z&TnxBv$6-8EetjmMn<2Oef;=wOH81nz%}X4+}qcRzGpJ*&Aq1joT<WfQUT}EAFEhc z**C6DG{2D5Z07&<)a?kju#3yKZn$b3Xw1Ok@Im|^zmp<El!(dRs0FHz3w`{36YBEV zxOd73tyJ0c(&S7`TJ5j;-A9~P%XqI#-q+U=wq2KD+RWyeClzj7p6s8up^|&Y1HMzL z$3wz7J_|ITom`#XeOr%9cB`wIR#lIg-X=>`TaB=Cuc{3@&gpK}ICW%ukn9O_WA07U z>(mz(@c(Ii@Ms}h4O?4PmEn!c!7C=mPc-sX;c|*rn(k^d-Pve*vqxUum5Prmz6L41 z*KWFCt3PL3ZByfH4vF^{f_JnWez=?Ajut3wl$P_KPrF|9J#fp+9cjk%y<P54Jz(H; z^Zk*FNo#{rRxC{osau)KyG`ccnT2tin`h2ha#-|N>XYO}jEoG7%l`adP$PCODEyq% zPuH!v%93;4bLzxC{<J)jwp?)jeD|6}#+?Uy8y-f-FW%N!k&&9JyXtwB48x_58ch#5 zPAp%*#F&zn_TcuO%EG<s6VEy?V%87K?cMhFYSOwDbx-!X%1)AdBE8b1Dj>#vg`Y~4 z?CP}}+Ly+AOrGibSt)ww>Ws1~sr`G@<(<^;m^Yj_#+Y+slc@Bz99RGUZeQ~5HU;#5 zF1C5|UHQ%D#Nhn*N%q-kD#eyZHbsI^apaLrmKkyVlcdcz?$yX_y709>|3RX_UG`_S zvQ_E3pT62#Enl7T|DXHQEUu;v^ElSNeV5FzZTrp7Z(<k}4o^6!sPm{;i0zJx((yxV zI#>1_iB-;T-nnYt>uFa!PM<!`udv|re|E+nGpEH^iQj!Xr~l}-+$Ble9p}#~nVC1= zxT6zvk@ZMgdgASKd2>X1o7mfTebL?1`tgFzwP+d5-Yw4q<})sN6!?Xgudzem=7shY z9j^HJ`kNMcQ7PITvGa_&7a2}myKv3YZsWeNRIymwiEpp$|6?5S+<y6@&mOMN4L@J< z_TJvrApdWn<CiaA7nc_ZSDEuEZCc1L&BiYHQhv>@zZyzk*qB~$vJ|-G>q|7Gxt%f* zJf9|bI#uxevk3;p8>~;Z+&R5*+nXAdZL<_gtOeKRdkXGlJ<vM$M;g<!^>LMtd#Br1 zz2Ce12`F&l42pMdy;Hm8ZCronIYoxY-|wn7J4Y<3b86mX&SlY+xpu-@8CK)-k*?X+ z8-p&h2k%~Yu!rF}>y|wej(Hcp%4%^j-W;it%<XaJypo-H`;R|5kBT>Y99`6XsP(zC z@A8HmeG7><cLI0ZsmLgOHMRHcrQAEWR)uaqW~X)gM5^(LXPY?M4=FGm@={EXlxp*z zs>N}(BPVXntr*vBR)#lb<w{S@wdzvq?E;NFWV>wpvH85>MvWzbTRHU@4RmLmR1w=0 zspI26b#8AEn-cTi7m^Y#`TrTJ%=r=zUr=-T#kOI^GVyOW9)DMU^f}SnpZ@^QS%*uf z6ek)Bo=y`u`)tCtHKj{53+F1W+r3kPW3G3X#>uGt^QZh`{M7b$?$=XHIiDi0H7hGC zzn7AipDt3^q`;wFdp|WUAxod#hbc}q+-=2?=O=A9o0vQH`buf$yESAUU7uhXT02WH zLGRD}{@HF@ME306RJqnvsJOV}ysxsEb@PieCXY57pGb|8=AORj^MkXuZz-(K{F{BF zz{X^HRq0W4{iZqBlRs|A-(IVl9N5y7sNwp7-Fbt~=jTz9>(6s%u|%C|I(bfMcDKN_ zj@K)$yRi30oLM{XM3_+IS;v&((>h&8|G9=bvE<&e_`CLa*6x+!`<ELZXv?}Dur^oa z*|P~VW*<)R+!@3*@gL)t+*?ia8hbl<cox;47W>h>aMQBtnz}DP{@f7aYi5kN<z_S6 zS!cSlPP$Uwvjx^>4qDfL_NnRze7n`AP@><?C-dUOW4W7~*>{~RHx7EW+~v#iGk>Pb zT3%$nm)Gtj&-%eq@*pU<{-mwE;v%iaSFzV?IWt31QEQ9RKCQ%sMTb1~BpswT2owt& z?_qgUp0hnm>CIb<3kUXfNZPSAtx3GWW6!*5$$YJ~GjojFQ%V>+TPu$&TP84frc+KD z*SD;crzXA%QyHpmDW6LYem8x!2>;pQ+8ydwGcw}Oc&IFvcyXUY$*JG|!>$?I>KT{n zt(PhHR=Pdu$u<q+H7x>Rx5V~DZatVS)OvLJLi34dbzdF~%Gl;+-2H6-l(o8RX8-(G zJ|Q}yK>Ui={%p1)HGvP+Qop0JRh~VcFk`;9Hosfdh0TS@cGGSzJA1=m2j|1a#--AR znmjE|FZ3f8WS#YhQcK#oM>_M$nS-ycT*!U1p<<;n(`<z;rjObAlPXHKy!^%g{{H`; z*>3Ll4<5)bfAmxMV*0v!+uz@p-}!!@{HY897RQK_<(~604lm}qZEHK7xgthy!Ul`w z+M-jmT3df5NnVW?W3}3D7NfT9gWe=l)n%dQ7SDXRU9xWN!{oO9&q~LWE;UYie0o`s zhwd50od*3k&X^<_2YZ}5-+aBmXhl-sivpH_tgZL7X8UPvxc2daO?QUxuI8|Jr+v~V z@IAjE%+=Vjg8xN#*4!X3*BvvCZ2Dkd=oqf0!pR{1c72#1$LFN0ZEQla1)*sdldSV* zx^f>%GM?!wZhuYq=BKC6{xGH0{aLIPc>SxL3(J!thXd_TPkg%>B6KrEsCfOH7#-t3 zbzgF1T+Sa`SYxyOpyC%Eo+cjU{JYP-D?a+n$k8n6aZ@a5r_3WuVZ+NYKX>GwJr<Si z;qlmN_v2G%SsXKz)B5F)Kj@S7y(`=9?tU|EU!dS$rUTpjYTDJ-zQ4b>`ul77iU*A| zde|HVT0|Gi9yJyC9IfzZR=~HU2P$S20_(D-nNN6fz;{RC+&9<OzAiOB7ro>r&-`r< zFRL~w>7M<x`J_tH<=~F<K8kkM%|G7ooXJ`Ccioa}m5sRx$=&azbbYig<k*<3FZI4w zS<0?D{o}P)wM&x>U78#<mO8jRZ=1P)W@4THMmuYs<aIwbU2?jy>9(Heo37uQuV*`@ zT{IQE`AOc-{@eNs+w?5erdMQ7{pEK~k0WR8VKd(&%hUvCM-}O)x^jHyT>vWW+1fAc zuGFqF%VTlikY+pd&|q7O(*=f0(>f#0Io&y<m>6}z)Kz0$@SdnwqUQ1LEM|@w)_n4I zJrAYxS!Qjy6z&onwNiS@wg232<?kHo{Cvr)mh(WIBrhmGvRr&=R>IB7oX_~db*F=q z;QYl64+Af(nlt%Y&*^Io3D;JwSrn>Y7<D*5Q)1S`&88x{sUKK4wxueWnztW`iF4`p zo#$pH_<qjnnLZ2?<rFTs)I4~qCYo``D);E)g;#G*kCxUgWM7-rEZBS8V2k1WR3oOZ z@7ARL?U3BRO@%{OYQt2?xX`JUf`@F5Bz%5y@8+Xz-TjMhDM^dkx=D-QoHI#IWYzIF zi>4nN7hg4BS#>Sj;ojF<`CHV!C9iGYlD0(b*~F+B?0vE)?{EK8_l1vdVR?peRh!x3 z^2=#IoD^Mn<PRmvZ)<5vNIT-oZFt$`j>*K0w^fgsZC|lUBfIIsI+<PH<9OcRy<KuG zVd+<MuE~@6OP|f@cUymR_xIVLEZG1_I2E&1swUnFh|!K%$9YJ}PQPjD?i;M<#j@54 zomp{>Wk-@X)8X`6A8tyut^I6xSxh&X<7SA^$CI6VQg2;R3A*^RZFA{1X)P=My_Mb7 z`DT+t7BEgfBih~mY-8`#j=k4T?7MSILFvX$nV^|ERmzGCF4BJ+jng;XWMyLOD!k^E zx}{1iH_o_QEbpK9eeR^`;;Xm0-Tszk7%t*7$90>k;#!-Rj)k%dttMuauGw}-?vs3u z^yK??Z|=%&+0-LxpnHDf^{7rW-y>@30<&W_b?|@9b9lc@_r=XUtb1phDQ;OPFa5{v z%dc97_6b*|3NO1H+9I%hjhTPnfj)Uw#}_huZ}0D4^CNrZzkj!tFTS|VxM!QPdfl0L zxqI8+A8&uR`+WyEe8lc2Z?(I&Y}r|B_p<l<D*iOG&zrbfg<<Km?7Yc-AwGH9EL+2P zO5Qg`p1t+cbJw*Gky33_#jk$)De>u%huTbsqBN<GFFlW>Et?P*vBGxYI~O0}DPByr z(yNXxP@BxW#YS${;j+G`8ICq4TO3@Xm%Yx+ls=gv^Dscb&e>6L?%iyO`(8J$i7u@T z&OGkMck$0O)lH&D^!#VKUYv2_TEMkSLawcnx+ipA>231;|Dyeb?wRY`7px6Ui)^^h zzhdit_moMTDU&$Q?5WYISLScMV7*0h@9b?0%1?*2{Q6}m!I5Af(2(YK$3)OvS0zVy zSzcq)RiTZ2v3A@|7dlszNLk6`t;$o8I_tDDd*N4q#xG?LUVcBcO@7DAWwY;9owxly z!$^w7Q6TF0bv~IHvU0L>**9#w+vlrY%G+T5M2piQbK8Ze=&4WC3Zn0N>{ORJp|wg! z`qZWen@vI#oooar^r{QYw(GrdMdeYj@P<t{e+j?TYe+IwxWxUVCiIbCX#F<lAjb9Y z7MOm!+F|`7>)q-%<pDqT3G^p_K34PX0`I~DqAy#1)=K~Qdg?x3_@7zRiaItuE{k(D z(+|sCrxZO`BIoS3-cx4Ut}~XoY^!OM>`wgl@%Y^O&rj0Iyw8=JoMvij-1hry^i3Tx zzqv;at*kl360guPZ=r7oPp;GZXSz2G3_5u2<RuiB=t>u!cDiDec&m50!qa8jb8Oy8 zcW19qDB*eh__4&j&C7q5Yp?BZc(FL)U;f;mpIq~2olW~Mb3i@CgriAe%N%irJsWx7 z|5aMY+5JPtwe``GV#CYnpOvP}o)GA7P`qaU4YuYSUgh+I8*(R{+dcc{O`Rm;;7Y^X zPbQmIru^+J*)G)GXqKB58`Nkfuyjt}<{19SgFkZPbl=;&@s3s#dTH{js>*>S=iS@8 zrCQVG1b4C99*sHupXt;QGxv#ST{*IklwQeR)a<77EX+UU^!xNrAGR;hUA?Vz-Q)$& zLefNIoWr%X^Cw57@m=f;?(mz##PH*A;+MQzUH5cvU)Ws9ZN|!cL*#>U^6idjv!pb> zwCEjun=&$*E*zAxswjwjw=iKJ`vFmgy7kJ|4L|$W-`e~<I^MeCLo_5+9QHN8+cLA{ zm!wivvb5a2rH6lii!FJv@AtgP+NwWfj`F!b)Yjh=I5S@3s-Aj!v3dHzHRsG2PHcK; zoI4@ak+C6d$+L99**3j5p0F5g%y4DhTDLyOiuKe}hlK&33$NI4xUSapx@vn*?XF{Z zas1JQUoT6zY#$o@v17J#y>0f5<$tZ>)Jo|L&zKdnUAL@R6IJ9~czdeAAuSdI|8<Mw zCTr;U2HAAx<azQtI6QhfUC_E}3!`{I`)>c#$a74G7WVCuoiS7AnZMleKPMkEG!*=2 zs4~lUd;cs~;+92+<9>e0T;;S#j|j6I^M$#gEEa*+Sr$&-S#n*^ru0q3<*&I*?GiHn zrZHGsfA}(0$*SP$ix*GhtqT&u+?o|Q4t<)*zF<n#s@&wox4#)QoIf#Ds3ugY@pO8H zZob0F#$shrrPg!D{evU9xp;D)O_(v)vF4RYlCbcGvoR;Nc~6S!I_jS}yuH?1tXOSb zn2kyQ@1pEv*GCH%vVOe1C+c44x?;=kJ0nDHx3xLAyx?ZLFXo?GpRl=(yLp26%}@Wu z?WfJ!Ai8Ch(dBKM-g+I`mK5>d?T+=u1hb2&+uw@ZU+Z!qarx^IftwYEo}N1`4sSbl zWc&WBDRWHQt;05+*~WOSA+hAmUPak{CE5O@XEy?WI4OR~xz%)Hny!S*ttQ3!@|n5H zi8nnW#G-^_*Y<U59Imz9ovX~@WNl<-)~21mN6_wc)~WXgFH|*dxp&yBR@y=RUdDFq zMe7-Mc!7e(iJPUnLdJ6b`<2_iIw|jxJ23atHmx5qt<7z0S1vi7V_vs$nMA-cP9t57 z=)+!14eTqqI!|&g5qmZ(uljD{%m)=RZvP!Z<F{_s*edk#_N;BQJ{RmseY>N_Q~i4O zH7V|uB4*#dG;|akbGTo5{Q0x=jtwhgytTJ`t^TvuB5G4;XW_j&*3zPfqzYx%-rVL~ zv;EY+XOk+rLY;b=Pni8a;y+>b{QR|7qdsO|W2vgSTR8hfnqciymPPC5G#H5-YMy;@ zbE!0&dG5gkjg}>Ix2K)HQO3Mh@AKWJ=nHKM9NEVff4{eT&5!IgSIQ-JOm47$eS$Bc z?*4~)w(=GwA0A9k1(g*#{c92#&iDuYKKEOHSJnG_{~u5M`+L7$cy{gM)#fitwg#<E zT=>i)y;Lyv)HXxk6?1qu<<5915@dY2!+(yOmDT<yeOu<m+Rk>+cS+27!7MsidQF(k z7OUKnDX&*vHnjd1Hs{LIPe!XWPA>^M!RpNMv-X2z*6C&UK0Mys`DNLxn~vhK_S27; zeZP@2wf&7FXn1F>;OcE*TVq3FcO=YwuCwXs>zSPucAbn<+0wHYo=Cghu=ez%wvwZN zotRI~%v4EV=D0*a>PE+jXJ;jD?cuc&aXGYQ!Uo+Jp_lhcC~e|&N-uixz%j<w>ed(e zyyr**f6CSkFSrjcUVPua<iUZ-;DTe;@c=F<3*HAR4V!O$ns)wAB7@SpwZ%2-4mm#E zv+2h|mw;^7X#q)WPkjRP*tKUml{^v=x;*)Ws?b;UgH7!#H4o34?VNDiEF|`ISr51o z(%Js(OSA&}+@;$(+)Q6tbvhMa)Hru%j=$YS`InW!CUbu;%#6<eCRe;xW0UUMwX;PI zCZ}C|lwb0(+VM@+iM^MTZ^!9A6La6T_{6mQ<X0cIFVwy4s8YJac_&wX>9(^ejlBQX z?JHj*{%k_rjKg;>J{Od^(J^mrdcx~vXHOVT*x-}$Ht74=u!z+=*9tfK3Rq3FTPkpU z*UDYa)@2dX5@VikemkF8;?04}{EQU^DJf5UA3uJa32wKZO%ytKqJ7>^#u@Inz8Ks$ z-IRYn`}q6a@1GYPy{2y$9=N!~DDtq=+RVnYn;0**_@z&rH`6WYlgTCSVpXv$rDa>W z=6X3Tzid!d6=p6s>+rriw<5N^&TKv&ZR-{u<+3_#$;u@;W@3k*{i|a*5a}!(|Mk(6 zGd#`aqN^+Xa{_*yJUMZTsZzA^ySZ_<^E9$ESF#*=`dF#%jl?7UeGwO*`*!6#DRN)j z^dLF1;r{)v-v!tvM9y$eOOz|Q(thHC8fZ|fwzk$IO6ujTjW@H7MkiOSQ{!+tUU<Lu zdt$}=d&^jh=I72&c#y_)%z6vA-ot_)dJNma-M|dK{nsx1{Qh5_AtStyH|q6mhBuS7 zx7B@|7;U4})NCD{Y_aQ~D9hF}XH0@F2YZ}9*AO}VO}NX}sR!oFZr#6K{e9T(Fi+M! zyPB`v2wy#!%i`Vch}Ay)#YWdv+SRhVGyHA~GF	c<Si|VV*<mJbCZlS0-gC?pt|9 zYwaz&v#URZ&2pY1yZy7)CeugvB5!Sv6OygiIAitn$dKD+%l3VKzgGOpol~146$DtW zUCix{RJJs3eR4*mCqQDNZnVLcO6g5YCT!8k$UETWnzWkJ>3VU-|9`1F+l4+DFxUGZ z;FYaB&yu&Z>ixarayR$?4+O_?@8r)vA8gKbc>R9+&ai^JC%#^<uln=vcmJu-==mDz zii`eSzU0K0y7iPeyS=f+>}FH*{u`gqCqMcqpYUww@`<zNo;%Iz8t6MsH2TJ-gmd~0 zQ<wyw{txF`^`ZXdriidjv1fC&w-skQTjo5!)^>TH%x#St_m9Penm^;-Ft57P_9<6q zoxY~BtLj(L1uNF{tl05>(l_r@UfY=i_x*ch_Vo5sR{z%43Z?{Jr9%lzp7Yin{vl}m z{OFQH|9|$gX0JWEY3bK{r#Aekzxu05;Mmedp&zS{K3}vT^y}Ual^fSCI_i}9chdV0 zm&zV)&c4l>R{zC$#>a}CCw6MwG7k#-#NHN_I;(Nf@0V6FZ*tf^3LiK8{Q3CA>X#g5 zDVJ|N_<lI!$I<rF|Abi<?yh)ppfUC8`^0|=4e_NfUJB3HU-h)te4eJVqX5goLZ;U5 ze{Tw_&tnkCeeE3j>T}Uimzd}|@z;WzU+-$1_9{E7`Lbk+x|-qtE0bqb{AurytLF^U zQ*XL1rL(iO@<q(LZ5_`-8H#VNo7NGwRbXdVM(FRNU+)wa>2@XSDMeLEPR(U+-*oBi zDVHrq8+}a`76rC4gjdzIoQz2NSiU3s^s?~g!dZbL^STyYzErLk@y{T6<sK)4)$w5> zYrT%Fo+@%k>sFe6?(}U>FO`+$iGB9}mn7K~HCZWIZTFYsEnl_n8Bdrw`|zRl^Bh0j zj91!X(9UZo-?NIvBql!L^RAr=9I~z#HqBZ$TghwFwfF23Ui*~t&aRpE^}&e~9g1Mz z8`j*^X{gch6R6!iw|{D*cKi1?KYe#*y^f42_Q-f}^WA}i0lc#oUd}ucU%?n`|I={U z{6CgK#+SPpPozffRyDVcz29|aF~c&MBW9ugE~`^b!_zF6tva$Xt8sOdOY@>xN>Vbe zCR=yJ?i8K%xvXGgg0|>It<zqvTWV@URo4h=X5=c*JNfMQ8G~Qv<ZfATr{#HQXbaw6 zb<{$yqwwj|)Z0@#a#w8NTb+9KT8BWG>J8o9xyOz?Je+X$>Z9<>O455ebJjG*_`TC_ zJ$f!>f<-0M$K~@|^2>zw+R5`QwaLm_w2aef`=<xZ{Cd0onyUtAehpUob=l9ho(VkE zHg%!`N7ID`JDz=>dQSY`*1!2bzO>HH+jUYuJa2DTwm0*^$p_r@Jo#owTFrI*)S5h_ z?$7a#y<e2p__(b(b}M6}k>rexE7BRyoL%Hoxxs6-=AxZDi*`kJn(8cC$>y@9YTcYC z39Vs@i$Wt->&nhA5_sSh6X<=aE7v7hGh=Q!|J&D{d(?zD{_H5cem-mAnavL2s>dpe z-+xhQnR-Y2!l7;A^Xk}Up6t98mhQsKmH#9*Mf;Dd?>j@)YdKNM#-^=DjQtOr+je#s zE$~RZc;=$7d$QO>Ux8gy+`qk#?^%A62h=UEWZHLcBa<{_knF6H5R0S0p5hM=4jw%} z>qWfPg9-7rlTX$-th-Ysa$RQ4H5t}zT#mh3&z!90p6kxC|7n<{9@msR%jjUvWmRKS z-fLxdZ)DGVwD4-z%57^ZGLG(&d$iE9E8~iiASg+P?yi~EnZb8^>ehG-V;*K<?v1YB zFBEUjt+i!5?)`XeW#Qivv3skIZu`X)%d8~5=XgT4h23oL+htb0H;>E5&+`ZiuJ{}< z-!gx%+V|;M6M1{y+>yEDKCd~yjxBM1pod#vev>ZKY=shKV|721zpv%wWK(DVbYl>f zt@>qm>DRxzyUV|y^Z;$jlxhCS%HY54ccIXSn-gEJ-yg8<hL!Mj8Dpbe99e#=OV7Ey zx?$*J|4~>a&XRFk?#zH~wKXbkRav|8<{0~bym05yVqI&wS*yC**|t|?n7W!=4G3b~ zUXjt;nQ>}zN7%KxnY%OU{^r=o*PjhIRsU|=+F3K-rbaIfow`sdu!+5qPww%OtAaPP zBDb1e`u2stj=_3%+`R1N*^!=>mieb!{!E&BBYUf>nS!}_|Cfu4KOA4o@#9bT%#ypj zkrAMYOd~#dJ07jVkC}gtPF=Po$b3QZd%owXJdeA<F*mE_X8^lQYJb?P#)%UrHpFZw zRasXlcxBEO(`}|f!jotGzv(~G=C4;>nTqg<bDntu-3Psv#=4q3ugKWK_VL21$y`@@ z+n3oKan6o#3Fhs{coOTf`o=nw;>=^)Cg`#>+!NrNyV+3a=g*=Rqx{r!H$8T?D$QPg zW|7=&KmR#ye_9u3bY?G4j`aMwXhxXQim6=r2@2Dv{`S7hdgAQagEc>0e;7&r;F-U8 znHngT^xNO<-JZv^c9#D7sCs4xb?%Vr^*48yZ|?zJAeJV_^eUiT=B2cS$ge3e8@{To z6OAkQblK&(!quZi*BtT`yMC(I_dV&>cep*xN6fm!bB^8A{hQ)qEMr}_Ozmr57N#Z_ z)w_f#Wa`z;Q5?<P7GY^Cmrrqy4OLxanLB-beu9>m`$fy5=i7AGhkMC>lq%-sbCQ(W zmggMlcJXOPPWS7EX&pH^(KCLXEC0N9t5Myo#ih3<EeH#)IGwhk!hh=0b*yVGt$C{- ziTpWwf13iwYxjiP`|BgW2LJuLo%u)P@_F{g^_3O(_i?AFa5O2H)G*gd9k?u8xWc90 z#K!8^{?o3}{*P`w`m^C%ykMzb`;Upw1?vA<W_0Rb`PgmdyCgk*&r#>q+TilRtfzgM z3^)s^zP&DZ@f3^6^c_W0uP@25WjJhLAlWN=`o*Em=VX%HwpkrcR}Ra(H(BX`qO@kr zqkXzuiA$ZLI!|2dd7ZH~XVGVWJ5FOU*S{*PXSuRIsH~Ve)v#gB9cgKyn>o_gp0M;( z@YwB-ILCcxR~4u4^4aU8JKZ)1y!y_dV)f-qb>eM)4>wCk0T%tLsHxJ2|M6Ltus(Qj z^?m(+znxvL9b<|GuB@msQMNX2zM((ANwoiT%ZBc0SI(HcX$pwamW#T(gsCe^WzpIa z8<Tub)>AIK9(~kg&o<>(lCtT@sEj>c89keGW63=wEfEf$JlPlaQL0lyQ-A3EkJCGr z__2P$w$P}*Mj<L*3D<k(e^A<VFnSTQv7Gallj^o=ni*~Z%I}+^TxUkCH{E_?CeNFd zo<F$0OROv56=hlYT0&lay=cisyC`|ai|*Fjm^<#7%s%^XCpdxq;tJJVmMO=OP<rBF zzViI{8z)NV-OvdylI;mrU%mB_x%G7CKQBIe%&oArcbx8-Fnwnl<Hqnf&Cc{^Z%%oh zJ>ndE_2Y$C-5J`l{A(MRFquADxN~Qbp1X@Sm(kV8U{3CrCOLEGH{{$mD)BsEQ1|rN zubWc>!qj$!b`_es>|XV4+7YuW8*Ls}8Q#e1$T7D6!MG)N@yj2XA<A`8%pb4IoIc<X zmbBh<E5ioyXO1&Xcs3>px0D`S*vvltI>TpMhJWtI%NRb($8SwPFAC1}S$DKTckX%i z{kJ+}&E{smhc&mi$xBK~a-P2W<kHzX*jj)$Nrh+63QjqALRUxO<DJbLCTkv06`QRy zcmIr&B1YWYrjxj~=*dZi9&;`hyf{sof9=jCO!poy6m2yK7hK!+;F;DU!G${2`6rWp z)L6vsaAP^-YJJXX_Du0PG4>A?wwb>Aby9EL{LtU4wU1rxIDT!#i7<t_FB+GY`<u@D zdO7=#iF>!XiOQxzwct<bT#-_-7THaU110S0|COt7IE5F#To-$KRlfFDMh5-zSG#vW zMlmLUVu~f*Bb)tT)BZbw&l&!-^||~ze&R%jV)z#Cqg#)5*1WX1+Vf>)@QFDV?<_7( zU;2C6kC&Vq*2cP+M9o~n<R_MM%Gt)GsJs1IMNs3i#|y6tU-WX><mR&F(yyg&g$1YF z@4x9{x5ekc`~Eq_&$dNgtGda_`RaJ$>axFIlx}UjzJxu_)hzACOrB@+E0`h{wy?ZQ z6@41Ad|$-+tw*|gA9HF5oX}jnLV+Xp@QoW1K9_T%e9X7RDXjg@u)%r@_crZC>ra4c zn}RmkdHmDomEXI5ux8C>zn1#&cBgvoc8?gR?H$>w8K<3I-QeEv?0IU@_IZ<}Z<r-5 z_uFb9H!EsqMaC&zxv0mUtWl3n?c@<$8|1J$U2*z0(@U1Z3>%j2|G#Hmzz^{=J-?Kq zg~Kvq?ti_!+u?e{3AXPp?8Ww#GG%(3vp!yqaWz}8?!&Q}TmBR-5?%NDrp$>=j(&NI zK25iGd?6)Q`(k10(fH)0`wkzNJJ-7S$#>rOH$O8<f^IG3Th!{zG-r9A>}8%mxyR@7 zT=YG>c=7lBk7eIa*e_Q;cSl%~YVy)x4_RBLT(51rzwTHfE;ga}Xp{_p?==OvTU?zP zc}!7(E~_tY&r^z8>hQdxNA>tJ9_Gs@pCs)KpI`iKsmm)CYmTIQI;Zz=rfxkQFtJzU ztM22h&K$j)F2T$F6n|dwUNLpag0eqb(pXJ*aA$2j#h@^KVzsxn*jmS(G9d~P-xzN1 zC=6e3bBuLib;XYZjk{*P&NeLn^Fx+l-}Q~M4qsXyUc7i3T>4HiwzGQ|v5xogYKA1) z3a|I_w|0I$So`~1>yuYylXry8V0$LSnc_cZg6AEpc(FK3R)h5gL5zpG)I=H9X4!0s zS~urxS4Q9Qh!wB7Sqif16#p}adByHY-rYabSDkxXo9=0uBio({t8Vd2*{m!5+21D4 zxK8T&S-xFOVcB}Ab5359Gu~wKM6D~wOn-yuzF#$o(Q=QQF2pYR^=sBT>n+LcsglP^ z8J<~v`QpqVH>KfvlLE&*gDr6j_`3IQ<M`|m^ZIajT>0Iwos(i!);(RsZJ_RV`iZaD zjb)uLj<}QtF<z|*YJ7UkIa|f}dDL;|)lW}FmiF+K&UM)`ORS91{@El?h68Q)?ip|6 z;gi!8zBb2Y+o>nayirR{r->Z2Jn0lWG52L+u-c}h^M0|eaS`%8?!Q>-<K?iRlw{s> zU0<WTr^o2MSMoZrrPM79?C3wAr|)A)HD5pbcg}AXX7lm_@t8voKg5DdpjAgSjwc!Q z=rf!sc@g<{*8TVYFP?bu;=h{s4(=nS*>z@lXV0B#@tt;5)zG##Ml04{Zr0+CFhTy_ zS^e#9YYU#nv~^s|u-VeK_QIZyjCIf5JhI%*o$_}m%e`M#c;S8hKCcMvpFFYexL(bB zxH(KMK<D569#?6ZBin)u&uOwnmz9ZaR6eh7tjK6{+$(!!wuaz@vkNZG3Yzv*Hzg|I z-vTzj*`FlDTizxAX=I=FRL<+bVV*y=$Ir<(Mz6cK`@0u7!7sh6_WXI%wJIhDb@kSp zD;wX(*joK^^jOr)Cw_g=M%I~YP6q8fGv8w3{?4mC?a!u!G_0D$zr{7EF|?!o+Ln%M zOJ=V+Z(tzlFQO*Y;$8Ok*2yUKyD?6sQ&VStm&oi(b)C4@rzG29%j$_KiG}vF48I={ zZherQ{oq!l>K@Z~Qe0;nG-o<T@4InLm|3v0gWG9)5vV)QnPYoKp5?=8zq!s$KUas} zt9U#U9N1#_H{EsRJ-mb2VNbKazQY0Wc6ayvAMZ)$SwycZYwyZ-u}}~;jnoo1p6pmt zwd(7~3)i$(GK8ti-OAd%@|Tn2o=pO*3@uIn9_&odk1r_UUHj1J)suZUcf3v)zUdKr z)Iw)h*RlGqGG|`YL?7`l7QMNLBmd=<OO_`t&C*%q@_)w$1^z<E7imptpO3B7T%?ly zw~k>a-&~hG@KTORqLBhDj0_WAyf2Sko?AVuasRuf%QgMyx6R*`R`TW9#*K!m;d>7s zF`aSjE|1rg<yR)ViaCAx!m=i3+s=v%)kVyKztu%EGHte8Eeqyl*)ZW$yQD>NMn-kK z|9Qb!=ZMRtu4eByUV5eO<>0!A<^9_kA1#v3+eYh7T3dGQ{3@d>Tm9CE+>6LAxHjdt z*XwC37+=fX`TqQqh<J<MvxDsNIx4F(gBC#6Qp~OT$Fk=xU#p!KsCTO<KY6oQ;_ZLh zO0(WH1;0&yaN2+Gk4KNM$JGB_e|qYBg~DFm>RBT11iU#SSLrxQ%&@IvYEgT%aB7F6 zwxUU;&_yW^tqZp*GUU#!ZOvP?MC8#n*3;J*8obNq7B?nd&^&)FyVP}?+L}u-r|)c@ zIE^zuD*4}Yd)DmRcVDep7?G*FE$Xw@rm53Xk5sKK<+fXzo9uQdh{Ngo=M(?_K1jV% zU-AFndEpOV`$TVa*cE@>SDQZ#)FBO+-II7^#?No-EES(!-yC#*cUsAp`EBm*`jfTy z9Qm-XR-E_!-QSrExl?1K1w|(9eI_pPrFN%}(^X$BIro~put{87cFta9FK}R`3)2~% zr6PK^|C{WtSp|FhT-MuobI*?EU7V@+T(`a2k-zk|YXAP8J70W0E6r4Ym^;<g>^4)8 zP<{Q)_mU6ZtM$i!xURH@^U$xvcRxNZW8L=fV&Jx!`78z(7cPIV3|=%)J|9$zKe63l z*3Ktm!SJ9uw(MLu(~p}UUc6ZNHRq&R&EwwP>m+6O)>gc~r@r9p=7fL247s9K2i+CE z9Qh;0lPr<*pXET=&zoGS`diig7o{gKwB3)l-chhJ;@PHqrJ-}b=6yYx{Cnx^l?Rif zyNk15?BQZ@Qk)al@vx`S?n|5VUhD0-)*mk&Idao9+gN{V{I8o&ZFW2=u9R#%*!@5J zT4C1mT|EmnOCFh5xhv*E(Vl`WJx1H>Vmr;IZ+q^;CBk#ccWETY<eZoPuM~e1jMnCK zR^)iydbpiG`NuJ7#?x7=_9@M}<aKw!mVfatd{Y1I=}D{+JYWYJZCjJxw5)T^{r9`- zDoUm>{!wf=&d9Rs#TC(p)sZV#ua}ek%Q)lzxf3aJa`N*2<)6RG-Q4>-DSG97#YKV< z*Q9q^q~~7m7Wx0${$zUdm1`}RN^~7GJD)3izg(o-dsA5bx{jPwlpz0F={q6XS2fzd zg{btjhWwM;{rF67`ga#4_t!g{Us>fX>O09UwZ$u2MbqicbpJ+Q?(9dmZhA~&TK+4v zDeCCAX`E)N-=Zda2i<;E>$NhxgX87?U&57#MOsRaEUbPX8}=<==~r`xnvKo76W*Iv ze}4x`c898-Eo_(j^hu{;QiFeaw!FXxF(s=7haUzXUc9*8dQ<xO+q+eNo_&9>B>2g! zix>Y}>?wbLpQpc1?sD5l6T!Qz4|?Yo{IO%WVAr%sV%C@Mj8*y_|I`~M{HbYG>fCAh zg^zb(`eTQkD<1q?ygvKsvxwu)x2L|2&g<NEO|0yy^_shJuD3NA1W&siNPn>DbNSrw zi{t+kT}zWwGS@ccpWn$CXCrp*wcF86Lc(T?4#^99otnNa`q!qE+hKKnGf#S^sQF#r z7!~d6ZMHsj-g;fen<fGrCw!M07OgQ{bmE^P!wtKQQNk@>Pb~cV+t9}9R>|Lx`u}ey zW_-zIh`ZkT{5<+R{WV=Vo#|}O3-`}Bn|7c5+4b^5e;$S(%)VdPIoj3N$;tjzzw}Ew zP2od+|Gnz`J;HtoDJe_B+nw@L7i|~(P?lnppQLc%+_lWD9~d2et?O6*bkX{=nDK$+ zhARDz|C~x2I91Q=sgZg3k2jz#-}82aYWTTTRdKJj@1C9Yl`ngH_~v()*y9x%PKI!$ zf6r~W|9r8xp2hj^-SM{h%_kyi6f8M1&cy6t582rv_H~o$*)<ydJGoO$Pje+n3pR5v zlAbO0=)4_oxZ|0P&bML%iY?y7@Lezq_#w+#>S=s=tIIcgW|l>NjJ*X~zIJ*oUwHWJ zQT;xb#gQ6ct1tXo&QN9j0o)_JQ*zlifA8~o)hZp!6*yiCo#hElpJzJz<cwKAt6aZW zG|Vf#pnIERhosltH`{fJD@wi`pJM-g{)F8BPbPgnZ*OE~w(R;RhWhWzW-B$8{0d^o zPg!Ix@WG8YhUdVGX&$G#H}Agk{6C9r{g<1Ed~W?yOV}fR<UhlL__{+(3=wI3n~(b^ zoL(0@kELx|XGX3V|JpYa(xri!VJ?f?wz(My9n|JF%#nX__}D()zv;O*KYcp6a^>6} zwWhOII!=d4X|J_<G%GsC?D?i6pU*p{8;j=6;FERKliebv6n!@N!!Ef8B~n**JLYM9 zZIhdzuy&nNME_HLPUVl&AMt5%yq@{-V`0ymyWDr*#Bbed$Mmef;l;eZHw=r+&!%mz z=X)RwnpBGDKQrH=@t~~rt8<wm7dM~z!|qa&Ft>D~{DJ71Ki4uG@Orp1`FPUd#f$v~ zF8W8l7H5>Xe&+bXD<{{>S{U43CENe!-+TV7%QoE&vOXndjO&x0g){FEn0e;hB31Y8 z%T%?E=X(6Rdi>(=jk~#o<No?KU!9%Px}JH5L)|eZh9hZd7p=E&PHg-aq<OGep>b;I z(>1~MNAHHLE)UzicUGzNs)su)89#h?+c3c=d4YP*=dyWwi`9002vVDEonB~lX$7ma z@s0}K7}sq}CoQ@Ww(Hp0MQ7*CcYZcCe8V<Rt_@91QLU`edb|bt3XVVTCeCRvy2ou+ zANFR4i+|WJR{@ru_xJm=-P~uNQ{Y<kpYK5|L*07g_x*p4hrhk~dF^^xn;*L1!qJ>h z-tLX13xl9+%7a{%Kl5Mjx&4b_&*Yi+Bj>yqS^K}u-94Bg&dqN1HqJ#FGkguy8B!cV zW|=rPTI#cCY!y5s?P$XBte0V1*5#fB7Wb3c)^GOv7V5_!Y@7VTvxSi<=Y!zVH`_Db z*0UVA{bacg!+|T^`iaj|r#t=R*}gks>5>P52O^^G_jFvFxo*z9Y>T`&<^P%;9Fp@J z*JLU^`24U`Ja)@tcYj;c<)-{aFXR7A7wlfU??jl6_V#e?yM0^T9^FjWK9{>S#yYzr zDelqoiO;)33=NeE)OfqToZ>xNc(3EV;Ahj6XyK!LKKn}a4C>aF^eJ#KG+cjkt95yw zZ1%2wYp<~Lti8{Zkj_4DUyuv?Iw{$`d!~x9Hz{z;{j%vr>Ah{5BEJsb^m%5(@P0~P zu?o|JtF5V;%jRY$?VVJa@bW*?s<Udxj!mffdFN>7;%&V*Q?!1_h5fKzR#Tx8dF^}B zEK47G`*-tZ3P;qX`EB2&7wIg0%A)I9%Cj^7SD(v_h`qj$_q$YR>GV~i=M!JfPyRb; z8Sj4n%R6Nx91gq>o<6UB9#ew8?erU_lUL-a9A2^f&BCSkH_iw&DSg9w<E2Q{tgn}| zB`s}qvU*vstcWf<I7ctvQ<3q+vI9qo{8z?^{Jnm~>Atn24I|S6iIelTaAY?rgzQ<@ zchKals`qO)LvZ(aik+}^&)cpS+Mvd4#B?P$wa1mWZ~7d&a)6^@@ulKJue!1s4C-_z z)&Jahlrz!aVzTP&{}T@EXT6|l;l;IS&2m*M<K_~RsCbuR;R~-iGx(Gu(mOJ)%;<3Y z>S|IUaPgG6wmwIj@{EqB!pC^NeC3_9HTU((Q_JqS7@hC#zQD$wxOU5#uHzGHpSm<R zMRmKF`8P?K>aAGVwjgX*FWZEZC;p~n&SZRCoANrkifvKaJ|D%(>u(R-m|?S))p5n6 zi|ukz*W%Aau6%D$kPaG!`Q7&Y&Cdo<6X%-r<HwJAcgkobgfZ{ueX!-rybZe^MI{E! z_;cqiYao+r{<?fEu03Kc^;0SzSj98=?D-)S@%olh6t7^8rBc+)sdIw&vbmakQd%@o zT#&c7Gb3YeM_A<kFCUm{r443#Ffx?QEq!)#@52+`=ia|OH!W+P?u|JvW;-I*XZBwC zd|q#6skzRIg`SSRueh_GI2vTT1+3ONvE*soq<FdJZTjjT>_tyUFrGYL%X3%yQ;0xI z*oO~|PmivgXI=M)kKz978+;1C4t;p>A{87Z`2o%KF@Xm@OI5UU<Q$Uf$gUJBujP?q zo5A73a`tAXK|JfR`m}(UwAR<<hMO&Y=3Bgsbtx8n;I;P7o~{hv=!H8wGCn9RS|};l z8y4zP{9deyuYKZ~G)IM)x{IvOB~HyKv*ta|G^_pm1=oqZ-AU3jCR$d?lo>_dPn|q1 zb8DFQl<btfs~5Pfcq<eY81U=rwuU)7=e<|{oN#B(uQ%@ZnV0(M+NFyqeii>e-DV-H z;|G^j`+pw!2A$z%Pgv*dZ_o1J;KYd&H-KYBxSdZf$L&vroL8))%j8SVhgNlGGfdd` zdU1fr8TKQQvsCI@Jz`IE@m=fcSM@H}{~R3baWtv)@xs9A$DCK|FRB!|5T&%}YQ`Lf zr@<Y92QQh`v^AcNE3MP#NLzb<UpS-h^&4*CJDZuxv|8_+6wbJ{b#jc=(lyr8lvh~p zXuj4pKkV`u!L6*@eX?TjS$AC7!S$+};g0anAJ2E*kUzzAY5w0CHgj1WKb*0zf9V}i z_Icsunr)yxDAqe56V>3ZsoaHMmT7hT44xdyYxeD6W9U48uj@)|JxkD*B^x)^&e|fU zy5fG)gYZjpUkk9Q#Z_>g*`xP(p{dTItMQ;=qrA%;EX^}~o-#Ll`}(cr{LQ*&J<CtW zY)QxtjM;W(qjKfKwUXD*mG#UI%ig=VAnMb_GmP8z&U+_yUd#1;%C_}aBWG!qGW-5L z>OS#@w%|1u$Ba22+2ta_{+Ke!r9F6W{iF2FwAJ6=?G18kQs8*)b%vvL*4kf7lz#bk z98lX*WMdYkSoz%jV9pdzsWad9FJazzz2QZgfN!Vk^<Pm%J9U=z&yUzxk?~?xMTV}x z#aHIBVf)|63m&SKHkj$bz)+TVyUgu>+dScW_wMXe70cOqd3nO|#~Hp(O=X?)pB<DH z$xCKwy^$STzkWty>+PV%8>zRhwR>AT-(<T~{!dV4-z)`=(+efV7Y0?$u;+NNlh3x6 z>2vt{Js*!5r>bx?ZHSZD|6I=Gce?1=KP|prvIUeC6W1OwWjOKYX!}H-W2Yy{x)e$4 zY}lv%;CSnr50(N!Lep~o>J$r4_Bj4nTZsSc<c_v7;fq<^8K;FVKJax}ebsayuk?lq z=Ne{yob~yf^=*Ti;JEt#ZyZyKMekqAoUz=mEd9@xHkPejUvG*qyu0?>c@k%N>z`wl zOMbrd$ZOu3vDU5U%EiqSf81$*nyJI#<joNkcDXdz#q(N~c|%P4s_Yw2Hm_lKcXQ(b zrHM7-9xIo<mO7)avH$;d#y`8iEZLy;NQxmLhv%fVJyV3(juf`}r#~{?tl9l=bGgwA zy#^K8dsd$ERli!r7k1xt&hE^}73S~V!<n&KfIoMsi^+AfDNcGK4#zenNU+6~Uu0!g z@G>jnUZJ`vbNZ({AEzJOb~j>D(<;8akbuQ(ET%g8b+aztSgW~1G*pdYrqA}f;z2BT z*5*8px%B6w&$+ItaqQdvRAz7enEljKhr{V~#fO9J-0zqA`d_N^a;d+yak9^Yw`Ce% z0wEsZyIX#L(;=pe%X7THe&5f2p!w45L$^AzS%c>9mVJ4?hQ&+JA*-+{d-gFN!+IIJ z$2CDE<{gtBIo-VLZ8rJfmy?rMD=#WdwApgWY!&MkHy4xR=T-_$tFf~en~`X&EX2jC zXO*5Vm2qd&t?V<V)n#l}f~)5*IglwkOXSLmgFiCnv6yBh*xq5?dg|-Ul<+(3Gc^2K z^be)S9O${dWz%x+>)HlE^M7(&n!h`A-hn2CH5~nK?(@gF{cZpL{=W@l{QHQ;-WSH< z?{9xk1N%if&{^02T8GQxo6hWfG5inKr9E?Qx*$}z*5lD-dAC#hC&+g#J$!MC-^R81 z+|QhD&n%Q~xP0mD-P3ngUiLWtNPB+Bg2#^+KD}Kad{Jtn(`vDc4{jRhi}WREP4+L? zkXrC~S+4W!xV&$-u5U>=J#&MaUub#W*Peu4A)zZf`_AsD4(qGF{<SrEo9TqpWgphh zU+(ZD<-!H)h|lc_QOi%A6LvTy@A}BkaD@O%qUb&MKKcBrG7}rCQ)Zug8Pu%4e5qaX z_3!TT_wOc8RNy#Nl~D7)PC(yZSXxdtl|epz(RW87Sq|R?QMYd0kO(TTlUV5>60qvd zs+05kgnqo6B4{Pw6TPFD`54#MW!HK36n$ykQ=M^JO;jT!`f^2vw(=rN`DxBZos-NC z)z;4NTE@U2KBxGa<-~v&KcDtCW=%Xh&tm5Jj+@&!IWO$`k-4-f($;ZpQLNR~PW#`> z4}58ya&f=#tm8#ux*^Acd|Y{#*nLh+$nnXW)TFS6tDRrIZDUX8G;lAx;oQ~)3;kq? z_$gpN9DH`|&brQ@ftOA689(^G3|+Xeyj?W2G>2!Ue=Wz#o=DT{y%8@(4*Z`wBmS(^ z|3-($3_3eS?mFvDKKSIc9;e3a-uAGSsas6sqI%7)Dag%Qt-YLG@T{-H>h}Hn`MGEE zaI{>Ht2kKMws6|t>%UxIZ>`|5lG3$5@8{`p!RL?3^^LEUR!m)IUfi(F`cb;yg2JS# z@>jvz<M>|u7u&dKW|v^Yf|-t=E^lXy7ZML}6bPIDv6+2(>d6IL{;@UqiLLk+x4Ha% z9yn34?<@QN_jK3JNHg<Kzt#C=Ej~mu<S{3Bz2};DPdaSN*ZsdFCe7c+yK+U8NYE)A zDUp4rA7pP`sL!zSe8UxOq1|h&r|mq+sj`S$&c&pkDQdTxXvD&b3~kj#JLN<L-xRRC zoWnW)e0ogX!_`U*%cs}!Z^->{M0@V+2?>$!=6z)`EsC3ecFX7d-y*_ykFw1@{vdni zkBukh*G@d0w61Z&r?1LiU-BpaTi1U&I830$^y$N9_JgMdZUkYQ2HhZcK{sdh1GTE{ zOzRj5LaM?eq6^oan4ahQDR{eL=9y-hHLs_xjbnQ4zvRjrzMu+o#>X!%n7nZMn9FBT z`bA<(>f+Utxpr*&Q<0&qxajJk50V|yET^|!l;-=sH|zPipQ+|nrW5;BpIx(GJ#oT< zbspW<j{7%@JDzPV;mUp1Iz{o2J;M&8uWz==9{E$a>F1Ke{&JehaxeYsIV5&FzH4k! z*urajdIkEVC#Z{C2a1Fe>;E^JZe&l*c(B`f;f13tH8KuvRgndUx38*}mUiCsW7DVf z^5&g2eUcl^v)Js}9vG&wY`bx5SKopEoDC^9uN=<g@GXz8;!KY%*mwBWFRsAa)p1!X zZsa;=ty<^Inw9a|&9CGtN6VoZo$4DxHFIR8Y>a1l$jqHH*LwfTV?u=mHeq$&o-8b1 zF>~KCD_P%CJvZUk;@z1$nRh<oT-TT*#?f}INF#&6KH<WS^Gkl`&bQ@enAq(XKF5xc zN5x(@Z+?@)7JYVpxg#g;?Y(f;Z^srKoz@p+hZv${k5-sXHe|e$Ds21a@~`|EFSajP z-s*KF>aE4smHdi-U-CC@eLKT7D7(1pKsj>-xAwi03vM&~3DJv8-)Laj`{InvE#s98 zx0F{p%oe<Lq5EXXJ>@S=vgz~X`C9u;?{uU#tNSlr`)GNnXl3vGYYt9Lr@s2e#<Lk^ zPrLCzvcZ0(>0JH?<{UNK-(KJRG&zisMWcJdpDSyX)^Ijm5bSw>f4|Q60D-^dYQO5O zw=vK7|6`SH^|}cY6*!!>gVw8ver7bB5udQ=KgTm|Mw#jN#JmEtYZ*XQ$VzLwmMOEe z&)r;gKix!DpCdP4;puLfE<4UclZ9@tF`gEDyzk()GgtfDuO)i2Uh8|cnd2*eg5F$4 z!G~ML=hd%Uc;#i=tU0qzL?>(w{<Gz(hlfKc`;5&q!gd*anwC9PvOGK~@QA`MPKWsc zYvPz62sIp=@<@E{e2JbZvs_>G@hg6e6uipf_(Dg|`u(0i^1Eia2>)elm~Q=bZoHuE zj;xXr4^Y$T?m1<4zAZXC8$W;P{FmPHGl^ll;Ke0hb}+2j7M-E%72{U@@5y?``9&df zBBTA8DufQq2)kyvr1rh)q4x|G?$LAmH+1CAviN$a`$pl#)mhy9ygQ25?bKGk6>AV3 z#{PW!ySJ`dQ=L>K7F>@jN&N3WztZfOL;T&YjjRPmaeL#lzExc*`We$_{oLr<bNN-L zcZkJ&)^4bIv-KXYwjoargMCVGp@6*7v6Fw6OpNWDvOq`rq;>w}*)tV5WY6BXA+c`H zJ1Z8Z#${`6@T?X0cx}7p%63Kx*&D34MK6Xk#HcQI6llq7pSiGOTKd+QW|2Ul19zu* z)rvm+P@njqj6r(o^XvMnWcjr!pXYkqE7T4uzr%HuEAQamsb+CXAMPg9nfqk3cht)- zXm{*5wKP|Mk@4mZzw_5lvPG?B+Mz1yFkMYFgLj_wj&CZ5(iLR6l+tf^v@}ihK6iVn z+urucsg28*2i&$=`{~w#GN<lYoSZVN)|5IieRr=p8T5B+SIMSQeQ}pUr5@qLa)xVa z8UJ{h?)yrq-|f2+#<kKq&-GUyf7b>z4yWrMUO4kJo}Q7hG3b8cgL8cIa`(NTb@AeC zP&@L%+nTor8mFc4mpZo}=45-v6?Lsr;TMmUIiufl!+x{VOv`WWJuWnVm+E`7s^jbj zyY4b~{O-AYVTbq{_aOg#*`{mxEDt9uR2?#OUAf`aoSKIcXL3@7BFw}6vid7Ba<vzk zE(yApx6)0+qF$jvgW+}>&zIaARnHvi-<E&ty!_Mi^d=V5Ep~NMYZL!$abwxKNqsBZ zrkQE&?YxWBXZ+Apsw=Mw%TGIdebY1c;$V+yA7N_&ZbcNVJCtyZ)$wgu%JIC3v!^L= z#GX9N&ZqPGqg^><8g=FK^9SPj`}^Y5ltD50e4^+HxmRx2p3i3gtnRdJudItXbA{hJ zhu6C$5Bzs`sV-i4A(El!ZApRb6E{zfe%;#Fe>d-MH1kqhqw1nJZwupB772d_8@9_< z%{9kF*Swg^u#VwzjO6sy{o8cr*c6HE*4w$nQ+CC?>cp$lt}cyzcPeu8QnlG!Zb~!y zj&3x4aC}|tbESV*^aZ!SdByuYU7P8n{_(q;@BMnZqgbza@AS;>!^fAMSR#E=s*2}8 z@|g;q38r$!&EIT9|7{YGEU^qqVqm+JT;IX>r;wvb!Nhmde))+R#eICxP9x4`(Iv*l z>V63Y$NNI7FQ1ig<2my^W>@z0@Od>KkKR{&#?MqSeNT>gFYANoGk^GR8SqI)=^Gd` z&Gfk~n{oV@hIdWY$yG}FTQVECA9+4)x%S@r>;dKk8wQ43?Zs1%iJtl5#}v<aLDDEK z{N*lP7ejN?&V#wp*_zU!@`3fQKV2%-TC_Ig&N+|!Y(8i86N)WbyyJ^G=l!^Oe&SN0 z!`FS-Y|Oj2iCnp*SQoW9C76Mq;nc+wKP;H<D?W&Rv$$S0c)rHGF3ByizZ*>)Gr2$d zPv2GbPkg5(XVZptKc4H?aw_jGca}ce>i7BPH%_)ZwS+y+yB`SgwZCUlxS7e~_#z9m z+wt|f-F%k&>qEc)zOpfSR)agE&8nQ=No%j1RoEqVz-*^h=|%<_wu==C)2mgUe?KoE z$g}qLuLYszUuqr&Z&xra(+-;dN1;dOD(}*TI(s;J*9(3AnlOj+Lz&vXX$|^J6-*7& zKJF=+WA!cQpl!&bg=<^1pL+@3vuM~^!o~97leb>uCT^y_+(vc3r>;w@B<-?~`4<;) zzMb?V(|2q137J{j*|sp+Fh7uEdV7`aJ=5oNe{6f+>vCoL9q#RP^f3@{$a>T4aj($3 zb%Pp5(*`@q`Uj1vN8^<rB(nY67kqv`(#&s(HNWkb3zzPs@?L2B$kSn0@^W45ZP5?% z2mZJ+1Q(^An!$Y0Lhvnb)HN}N_iUeSE%(<i3-(*^dQ<i>`)DEcj2xaso+gvVki>hh zXEcc{?=U>~ppb!Mg6V`gvwjNxY+fI<P(VY1NmKRk-cbGGZO5*;FcmLcaJhTcW{yjR zTeho4T{iFe$9Uv%;TJZh9Y6lWR{T1_ePQx)#@j{P1(f+~FK^;mu%$_MSCClNR_R49 zZz}6meq>vI(|xi%O=I=BOryq|Zm)v3JLz0tbriT`S@J=l&E0+Wy8DO!92B`2%@A{C zqQ3T-_`RQwN$b~txmWFfGDCo6;cUtJ2aGYLf4>G~Tdc2tb;FSN!ES|L>%5lRr@1S= zXZvix_@1rcn$>QVNVd8a4fV~}{=40L(_dndW8AQ2y>Y5me0co2jfPWLC;j;Fzqz1Z zz^hpC+5}^6^}c+goP7*)8h9DbC>&;BZCVf@;ikdF#mXpjaINIMqH~cJr{A~R&psSt zu;E9Y`o{~m<d=%9@nD(h!&X~cTk*AT^M^N`(-(w?1iYT~BQx*qwcD4jt>3iFZ+_$1 zbp0K3<(-`wJ<c)x2wK^GzWqs?GRM*1;vYB~7QZdBIb(BuX1&cTyQXPZzjW7hX{?;- z&a>$LyCcQw40fk?2^`4k&h{7jaI)-W`;j)@mEY!F>iKB8c(Hu`;@{W#pZ?q0^!N2= zS;e)tpH(SK%sD0%Rl9Z4`n&b^ZQtKycAuQi*Is<&PbovZzRwoDrriDA9runNux8{b zxp|?F@rNSw{q(i_^IethbEg<-o||uNA@lBsaLo1cqX#$YD=|;q&Z7B;pJAu4ew|R% z|NE8R=5bM8`<opb1wsrsxY!mlDJqDFac{TU^X`ms;m2nSkG?<O=DeZ#VCiS$m(#va z$WiOIGiINknDA@r<cfdC`xi$UOlo0S_ttEOCUf~k$@JPiJG9<^J;h;^oab}sDMwTI zwB&_bf@G`;9Q1so3(kJM-faCtwr|4urdxrv`^xnzrf&LCdN{u@<-XmEvMzI%7U$pJ zPoGV0-BER3E<oB>CTHn~{_l6M+kXFZF|a^de!kaoUKgeHSEKfGdhHcFlh07V$xz>3 z^6@moJhf->Sr4YSCI0y{srX#wu7sV}FJ)>rI9SgyFus59?zHUE6|<)F^(rpf#<1Y^ zf-6b4;?%UnZ*bkWoZdS3tVnh7$wRslOiYd|0whHEoLQSD?0?6w{?;zh{2Lo(SB6Nr zw9KrK@&Erwe8&UxI@z|1e9jxKV=coM^*1dPxWw}1mYG?uJ@?D*M;0IN6qoKQ*{iDZ zU|O!<f#1P1ehM>4B`0@3^{o6Z!s3|0$$uXdi|=B?c($3=uGIGtlNZ|<Ccv`rpY8tx zj4_+j{p;r4Z+lU2gYC1hLe-)lF+nd&7;J6DZ$-uXxQH`Xn9exQTA<gk(A46LPQzoD zFG9xl%+HqJG?>RV`<b!i;SR=1*;a;(wI8o+Ox7;s$yGJ`^<;VIp&JrK|9^gqZ(qbM zroPL?TPeCwDE`-@(2sMsvMrzFV8nRVHQJ(y>qnylhnB#J;|1Jp3!D_U>omk3|JKO( z=h;&6!|be=O$_DzA4H$GYcJ7j51&`ZX05k7N3`F~WlPwXiCk?HHtVo#lAKffu+>9- z@(jzuMXgOy-;erd*Uhgf%P{(R?ackZPs^XU>2fq}FgmmEk5OCMn-@18r$1S1d{in( zfMuZ_zr4+j!1|Dj4-5FB>|GB8Pd%RVt45mV@|~3pZ+UV8y>e5Z86UWF+JRqFl%d$3 zfw{6g*nUQ}?6Yt~wxTKJ4|^Cr7-z74HWBpATBO-rdFa|N7R^$r1Cv;d1U<4-W}P{7 zS3_&AS&7A+FykV@>ss+XJTd;WrnzjsbnsA2-o7~ZjA)T(GZt=+RG8hWS8A;4@Uz*$ zfFo4kjz)yQ{XdQCUS96Cwf%ATw0^TA7taClmj{#k?HjkGGP=yD`^jRKbE~O0eVdW? z#vMiL-0UOm<frf*FetWoU%K8|Z?aoX+O}hPw~pMs{4o3Ut=x;trb=svU1t<1^c7%9 zY_+KQVQ{bdFz<)bikyWLCkpoT_n&4JWpP|_c;VmQw~bO<7XQ%I=35lc^h0%_(+8$G ztS-|%*F`ruvN@c&;1Jz%=+(=YACKQY87kMn!lC_i+3Y_@OeV=^ur~H;<j02n@NxNh zFeHeL|GwwSJ@;!~nkl@95wj9&HMQmZe8l^N>`&26|Lv>O<<wm(pZ`DqeWl&=w6@=F zA$u4E-_Ph!o0XBYNGZ)$B4G25*|B$BBul0qOsWd7yz-}Hvt^mN(u&SSZg<btW+d_D zI|w@RIkK`kCY+o1a^3UazZdtvT)b-6uI1^=s()4f)>^)5-tu{MuU4*F{_5w4+I{!8 zUsvAoFtlX<X2H9+w=4a5sMqqnp6T(4#Dee*E0*c}xGPsv`^%)_uAYJMAvcNh`L}wM zCr!TfsCoN+xAG0z?ePlTs_m0b)JV!aSwA=E<+lnYrP%^AihjNPFg<+9pCxDC2Ra>o zK53rdyGV=5&E+Y90b%<yC(krw=N8+sFhE13%kJ^ccKN>Z5gK7j&M((n;<PZp;>k<X zY$Y~>u0@OX?%n%<=jfCj(;D2I_1F?KQVjTum#S*b3M}yyx+s&AF7m8HDbPbzq1o}o z;dX(4Pm){8-@0U+w&qw@FFSYrU(ti+ac<Y6^A}aWP6NqQoOd^{yUTv_7L(Z_){FD< zd>>4jynN9v9igAiGe6eP-k#v^&3)r><CU0?#eD5fH?}4=_cBbBFFfJp5UdpSo};qX zprzqiQSvFt<<6fg&eU567Hk%|vO>Hms;g<5xuNdXH-A#kDt*3CwCeAoS1U!iS{LP4 zX1%?o^j}0F#x8%}t_fVNP7f!{Umwe@XP~XoY8$H;Ub*n9r!Tj!L&mMEXYL61ozJ;2 zU+9X0bbZdp<Rs^;)ql*qb7pC_AA0ak;KDUF<#~G5pLW_R%ol(1(Tz!Ghpj?>&TVPW z?_cg-31)hDNZ9{K$EsBxwTyoXpX==@e~{2W>FL)->)Xn26<MPAWsWT0U6y=fN$1ZW z>tv3IJUiK1Q@5j8_Csh$!l}&ViKkENyDy5;{Ga*LLZM0|p7p`?RolZfM7s7Z?U9sq z{bT5O=EtwE*B}3!|HmcPr`2g;!2#obyDrP(XAOVrG_1EBa<8xvZ8cfk-x1N7ZTRf9 zo!g5?D!dA6o0fLvn(ezf$z_{};<=z1-oE~}$NW;dyR#S~j$F2sVcK5CoUwJMvZm6e z%36hf_9q{i^2$@@-)1h_t-NT??YUb8zW>xbo^a{Hu8QMdPR+BeD1Lu0MbK4Puu=Dh z<b0#w7k9s3l$0U+XX;eG{6`0Cg2k?%G!%5&XH;Qj9S|Dc?s<7x;_+j>wIv_BZr4ZY z?-2Q1Dj)XR@oJ{F2$$>qjb(46&dfAlzhXJpPG`jzyZCGsPi=8p7@)DH^XF<Ap1K=s z)_IFgHC4F_w@%$5=DM0Ao?{u8w<E9E@1PblrBk{u7$-!|@QzYyk}^ENxoFnYq_&iT zaPb|hPoF%?RJ7Yc&)=otvkR-mbnZ7r%`titPP6W~WAU}+v0>?(89Oc?KFiMcXz5+~ zZ$90=20K%yb3ggk;Cxp>QDNzkbzh|op3XV%sAAz2q7+qlz~#lapAX)>IB;QO^2M9? z`u5)5u0AJi9?RA}-xjm#uTT{W4Sn`*#|Gw#xUaXkTAeN)Z(idrckpTPbGLtt8#L_o zIr87%SqaWqDJL&yUwiQB=V!;PRT&TatPel*>R|d*bWA45?)oB*Wv7$ml``!XUYb*^ z`oqom<J>f<F9%lIZ}a)d>MAZ6ud(Yu-pjY`ipD#vS#DnBt9)Y6<NsZG&v)e(yBn<^ z&gF9K{jRsme1Gra6pnP?nN2so+`6l)`{V4o*pI~t!t!NrJ~GV`yU5?-;GV7hE${BC zKMO^#f3H5j^^%E1Y8^vM;c>a{T^ARBmY=ZT`(Amr8}+k3Ct0MncYF)wYIR!pqIj9_ zyqG<YqNdy|e!hx(Wq^iA<fk*Qu6_`${PN-;kMLEIuvUvTM@$)J7`rzwSbwxx<j7Iu zFMnK5-Op*3v*^*AWhu3CLyX3*8&6+)AM=~hpdVjV>Egir!PDJ(-tBG7Z9aMGexkgl zjNg7eQmk`qseS+6>2)KsYlX3(m#fQWVf&@eoOYaH*W{SI%+LAg1Vz7U)i1pZrlqd9 z&?t80&8gIXRwc2KvY<3&zu>jiuHC!4qZ5=5nO=`sthdZ*VL-~s<bK<><=59RhL~Jz zYHobU8YZ8*lZ|0r;PLZJ85wt)bV5@$Z;e~rb1m)Tr%fGtS<<~Ghm-P7PD}WBja|N@ z^l;nbN%?WS3o{vv`B-;<c+)qR!!Wvgf+y2#wu-&B*K!%k*4*!yFj;do^XH{qLBba{ z?af_sn)l^b=M1LfXJ#<QNA4^QpQ54kwR6EV*RXTh&vaJ5SaIjpr+({mp|;zd76yFb zKmY&Ba##BeTv@ZgWz<Av|J50bS}mmHBLlt)E^_Y7X5e_V$>bu>6rHYAp_>lRlp+?L z5EH%SbGcabnNdeh+GUT=W}zltuBoc~3cs3u_@y*4G|E}gW^=N-l~dbNufuB359RSk z6d(QGx_kG>e{H=IHwtu5ap`_HQ}XC%Z@bPu{d#w@zqM%Idh;ruM$W9CXXm&E?&K^z zvu0VFmI#-t{iiFlOkMwf+n;pLrc_ast5wN;UgeiSo4skhT`Ex)B2%798E)4q<n{6S z!fXBUOi)U();7zJYo{gNTA`e%ch;--*B$xU=i}SF*UxP~^-9V>;_gF(dDZ`!x3nDk zCRUfmBrW*hvwO?77iFg#n{RCY{P$ml%mSA!`!bbZes0_wSMj&b$MS7RhMw;FWAR6I zSENS!>3DGJHLqL!FM45s#;=LrUcGws?@{WpH$OjLZ4J>7>5BVsW|rxS&p#bjX|h#K zuwJy_m9k6pN&a(p{)<`6?Kn2;SGf0=)ofpW+}`l%xSQp#<kz_unoTC2IwBt}-;tv? zT{`~vv(Oc?Rw8E{B8=wU{;SBx(#(0wyNM%NZNp5~oDaX0n4-6=wXe$8zQreh?zk|A z>Y}g9<`y0Q@ate6{~yt*7QdzhD{Q$}X6q_5LE-ns36WRsU;MW>clpZgt3a_WzrX5* zVn<SWUamyMhJ?mlGeCs~cio@I@{d=VW-Cn5-`1Ftq!{Yfc34+cf8E3dr#EeM^5(C4 zaAA>ds7AN%-7Q>I6Y}eG`kLe{!joIn3NFskHq3fsVZgvFwEsr||F<%>#depI-ZK2o z+{zi2Re131Q>Hufb{sgyvuA&ua?gaz{83N&*FLz_$*_2h%%!JpskyR!v&?M0pI?Za zu`4xK)O^9e%Q~kFMXyY{)bTRut6!*wNY}sAyUG2c-^E!4?OwkL5f54zpz-OWU&L-P z|Kl!Zs$0H(e%+%c7F4@rnXG1IVei4|Dl5hKnk7<1zc5&`*cJ%Hnk1V99e3pS`LpRJ zr@YII(vPY$41Q)9NSry4|NYJ3ci;Mc>?{hBR=C-9_FR+huiJ0Rm;?W3^DJ1sS$Mbk zUekg{0srfNKl60ZUQnjw5H_XRR6NVA=fIA~{pWv_eA`<Z#mJSFke+$QD<)V&q>J&v zO4IDF-?yi8Og}q!HMrb;(pj2){n5*<*~-jjs++!AF4}zg{2A7##b@tc+_-+pQPclQ zwK^ViCg?C&bZ~XW{YpMvb}M~8tF6L>1#6af&HKAl|KX2Jb@y0%M*TOxMQ-1|b&18q z&pQ8$&tlV$p3|*dr_|o_5V^SGz_**ne-}JhY#X37E7MbhZ{x%RqM`}Dhc|qDY?$@w z$rb;)DNYVe9+q?VE|~UZvd!i<zg!nzeH{u)!t%}{-_^G$97_HA^_3GS$H`Uxn&|#W zY4)TWzb1V8w3s_*!EMdI|1N#oDQ0#jzO(1MuL!U9{w%Y9H##(|3;WKjy{w_O>1O2m zr&?!JS*#7VCv6tLnKrMMZ`u5^up>#lJ^N)XTF&aOH4wcJ#A?=UlPQ+7@xE}>k^fOT zya(Ff=eTXyyY|Jqt&8TIy6J8pnBpoLaoOP4i^YaDe=Mf#_`jv){z;7$s{hO;PKXc7 z4+m8T_48u)N~xp<&Tn3(w-}VBIsNTFam<U{%yzFpV$HIiXW@r0ns{jXYi`JT%iJI| zUrbBi<C<=eXur<d3l9`tFn$vG;_yW44Cm>i_vB|E;8Z_<B=h;Xu56a|a#lUO?fns3 zJpH9NrS4YUQtVWF^UVLK66+j^8y}BVc`W{5m(hJq{+5FR$BGp!+>M6EW&0JCbDH+@ zg#FK4`BHN2b&IuiI=rT)AqxXE*gBTW)ry21VOC=+Xx$VCN*s2NKOUDqZk&BR>D7~y zf%~6yt+^lSV$kv7%PiB1s<Toy-#;8ySTvdYP3<muh8WfAsn2XyGTz?D;q+^PdD-LR z-;QsexGw+5H`OIaH*N5Yx>dMx$+^pFUG+OQy6(DZrh2Dm+0R_Du76KkYA5&Eu|2PO zs>Hy;mK^LYeb3^`rQo<EX;m{OrDFG)8kymrcDg^Gu2y29<MJoI<>qr{$wY-+cQ0OR z>))1l@Q1LU#Dr+|{eP2QmTl5u2?%A)$~@STd0DXPujv+9t0_zCj#j=E{TyU=TV}T5 zS*5va&0aXY*u}j|E^K`qICl7Ieki^=)~|oB+_2&1*RK`3PW(NgDZ=HdxcGHd&EHq6 z*Sl@MEi0L=t>b<|MfIBPuN6Occkf)FbDiY_<KmX1rr%rME^i7H-&rNr$8Ox2BY9+7 z$ljAHEvAPoZ@J&s9hdep?fJuy8Jh)f&QLwpH^1Yv{!W!ivIlmref#5edi&+mo*{FC z&bM2}CNRI*y3}Rk*?7KJ8SDarH@>~U*Sl($)s-8OHebIjTvk)Y&-Hnp2XlCsql{(K zNn^i*)$8|motqZM?%Zh8r}Zgt-QClM@0+47rA@65KfQA9fzz+jf<R@_^P}SNN6gpl z=F>Z@@#^yo<8;1jYonLztpKG%!+!gJ6*Yf9Wv^$=l(INzu}meg@63VMZ_fPCi`tOT z_&dSCV)24k{#&HaEY)7O@d>wP=$TDYDziI-Rx-y*Z#)~6Qk->h+Na+xQ`VHs<|vHh zEMBHGn?*vxvWQ1-$CIFpL#$~J_V$(idAeEo<<}yO4NJGqpUNsfY3=m|oCjXB?rQqD zsBG_6PW3s#to`@zpH5fI_n%r7o$^({?f)^BZP&zn>{8XX?fu2I%gRdE==sO;>gc@r zTv_LinkoHKnzCbAfJNOO?kuVKvy_Z9D&9S8FZ{Wu()De#?wilNFP0xTVBgjHU#H4R zk%e1h0-N~G^9P&UFE=m=z2)t9kDYAyU?$7yH9L!+FEV~6mAN5$tLyndVW!t%>(9Nq zz#JQ!E*KE$v0Qm(Ilqy*-_3_{JKm@^oZBd)V14hrE%VDO`#XOoi=}*gJol;pui3lg zgii<6TBY7d+x?|w>AH1%;_+6}a`VMm5~AG&>g_5ddPKT+ZYeeUXgbyCt%>uzA4;h) z5-i3SZgO(9Kgtv}y=w99jInavvtPM9i`krOKRuP<YmSb-aQ9;0+x2_f-ks~S`}Ma` z=*q8SRlSY&W$Wr5biZ;7)(`=;GXpf(*o)Wg<_kKth`;TCi@+I!84tPGs&iFqkKWnI zs1_BI@cajFQr$k2(5Bg6w6<R_W@xbf+;DT@i8S?DGdt4fr2dQR&WV%@jt%YY*54~q zS8vI2;M_TdIGYlSRgHyJ(lff6=DeF?dvyKmSh?Uv-%}^PT!?U2R(126)lqm{p5Ni8 zv-A!*RsW|g&JU(3b8Oq5d^~%-(v_=Im;VxJ{%^wma#^O#n+)--5#Jq_?-CS+xLBm? z;K?_y*RxBzrTFN$ICAE<tYB78bGR(<sp7+a`+tS^>Yso5^(&miV($XI9)aUdr*c&- zbwfT^o?~=xHC5QHxiIW_%Hw|CNH*IIpN>!4@b<>`s6%CcW=#2V>Qz?F)7A0q=fl|= zHX7gP73Y_4d=hcsa*O7Iw98J9>lp)@inq3W?pS~8iRYU7n(YD!^W{Z0XDJ<0-(9w_ z$V0cSN9tntI){fG=gJE;S$D-aq>Ao2Go$9!${YV~z2+z{e;Tn}N$`ry@}+M&)=yf$ z=ZwW}*&ofj9Fe?r+5Tte%YWWtIt|NLYa8uTZ*oylVBls{Of6b+DJ0x)nsZ8*#Fiy; z+AIpHEz1~ZwUz$=Z2!0H-}JL{t>-k%WG#!da;^UD_wxJnW#>(Kf5^=4Obb(rR{N-H zc=nY1?3;GW9r@o}n)54p^G!dIXQ#Ba3Lb{<<EpQeWJn0#AgwQF#Ut7KOtO62jHw5v z6|~)1tf$7E^Q@BLi2Q>JGhgOC`#Sz_&A4@L`@KV*Q_~NJ2j*S1UUAPt`qQgNI;Ria z$qOhowc(K|J;n2;;xVtp!U@e)VyO;HPt;Z{-TI+2;L$8lKNFPZ0*k)1wnivAx!h-2 zAR4js-qgDNj0}rJ^6l8>%I0#cW;62Nd@DapEYPG)=jfTelm4qMYgW2wnDo^ByXs$4 zZ{>@d{X0$w>9z}P3%=~Ty)z&zu8(_Pji8p6HX~bEdFjJeXWa>%heED&o%wVp`L$=g z@avu>#Se}YZ#pq~N5PhNZ_1eU%Kyah96s>v>uW{ccbeLnfe|)5&%FIyXa1iqysqQG zv(;-31sbP074JOr`u1$E<$j%h+0$EAo?4ch_UZPr%sFx8x3^4@-Ih7AWZD<YQe$n9 zpTOffj%Pw!&F4KUPg=cHecj7l+&#gMZ{Ordo7v}i`@M^Tx5#9nMWU(7=a%YqDn%bE z%c^>`ZT%Xa_+1~gSFBpa*8I^ioI_tOvsGpCwhqpmv_(;msxIwZ(v^O(*s<wA+En$W z=QjR%^VM}xhue1RsM{Y7?w%bwJ^9y##Rje>(kI@sg<d}p9@^Qde!k&CjGFr7T<I@v z0grW9OgFE3<{jYuUsB1Axwu61m?y}k;B3TWl@?$BH;`pcWPzx1mF>2uqDQlKA1*aI zAgb0oY4+Axlao(0o|ra4O#G-!ck#DFk&{B_%-rzo^TQ_n*oIfHqzsgT9pf`{TMu%6 z_5ULsyIu4~LeZL)tx^fP8v>gyMs~5z7HCk|a9)1ngYJ3P|MA-$Ik>mld-L%`k)<7J zx5Ibd6)-jZ5Pm)3(MfgZ%PxGmj~on=r4RPxvKVg@JQKufdV9+o)~!>L|EA7!zI-)1 z9Ld#A3$p_|f-fzpQQa0*H7(n%<kys`{Yz_nIJa7<&DNY>7VJ9LN8WTMn^)jMUBkPN zKPFwPjCTqBDqvuI@BOP|^P_J+w!4;d{;FTX=3D8?3zl-`q+P4cWSY(PqsH^;`>JYT ztJ}BO-rLS`XVeY4bD%q;Y{G5k+!F#*cqN+(FE4ZM;JN%}Ez9PL+h5amsXwUMmA;<U z_;ZP$XaCX(h1;rLYrzx4!6R!TH^(UaI?l8vD%{=oY}*aDmz~)z>C1T!o&6m7{(QH+ z8GBg9-cQHVa?iS5%-w#x`E%Ob_FJ<Q6Byo?mp;~C`}SmVrS(RgUGwA{d(YfHzAiUO zY4&N>iaj55oxO76_cOL7ihSRDi$5%*Rb|mlyKQ;qTNIrG;;cm;FPq0Aw6f8;>uP<J z)2_~hX>*P}JIJ>vlga64EWFScY3^G1_*g7sLJnit+ulve?z@ttRn^xSe!i(@y;iyL znRklu?fIb>nA!i`2>P^~)z(AcmW>>L+T72qSNK-4GT#t;b143{)!C)fe3+tr_zQG4 z9K7VzyY^EAXZFR<iT&&aJ0JbFzI|)M>$SeFMZrk{zE9t1pLp7~dYhQ2b9>^O&S1v{ zjt}g6H;de6(B9a4aQUk6^{~=mp+txj-$h^6sIB(uc~hqCxV9llg)v!o?bRaDn`^#3 z*M8AB*M3`%SgwcgwL5wI`#$VEzj)g=zB4`FckTL^RXu$#%jA<%ylPCdBc%hKzW8x- zoA%`&PMfvDlO-^|sG+%eeoc?R{htL6RV*5Uy8Lh5^u%MF+ZGl5DCn^?JlM3>%-mlc zwiZDD&+?_qzJD*daHZ`;&R(;PS?9{Luf9e~ifn1;=T>VqG?mmlyX^PBqo-MTmNhx* ze8rVCuZ(R<(e=NRPn*4PbeeVi@xkZk|Hag3y?C}RZ_hPBAAz(J@7{UZFVFeD^l9VX z18I}h15J83a-vKQIQrjOclQ0FubZ9!mQS8K!+uL+hI!HM2kT_JPEAxcth;qGP(G*j zfqic-%jTYgTtb(MKg^#tCrxR^%;ggwzMQu(?jSg8gR1tV0EaDG9J0lh^!4pmeW#&& z+B9>{9J>|g6*kR`e{j#AbE{YJBWK;)3)l@4&%QlqxqN=B;>8sUW;e&)xF9)K$tUvu zlb5dz|7UCdPS~n{(up@yENf1QpJwG6of{_N559i8(%$%1+Dzff)w%bpJ%2h&Uno<a z&OL9J)s(BeM{m5mtQfP-ZiB<&hM)e%xx(7}i#mU+`UU1Ew8COJ@XeW(>+RVO9A%B# zYwx{(zj2|vXJ_^i8`JFUt&F@?4I=xqt|dh;Tfi>Y&pzM!EzgxJE-hQHTQ^l`&rq@m zywz1}t9#B+z45G*!()?+0=91(OX7=sSiV&p%=6##C!pMX+y0+w5ziJpTCsA@&Ura; zx<7pKUC*+<-;k)WUb?IBa=JtD?hF4JIe#6ikBa)AtiD3^Yw#MK>#)qr<$6)Mv6_2F z)qc;rfl<@4eJ)R8Uu4!Cx%~I<tMbxDY=#EhRS&+p=v>QMwK{Rbk<+rVHw3xTC+X!( zGV*79n$x#Y7~bovvtN+;@l!Ov{IT}v?GZ7>8iKmph2M$`o)ueo(6~h6)T>tp@1D#o z*tz$w%mjwor}nx#_a~NZ*)T<Y<@F7)z*?x021;q14d+F3SYy|vZw?4xlic;LaQluZ z#)?aqHi;g8b7|Auq*-STKjyv@<Ouq&_9Qv2!d9;4-IU<K$Uw%EJ=1qP{ZPqC5%WD` zzUKAuoL&7g&%A{MeE#|xYFtg+JM(Mbl#jI{W)5@TPON26Q0<##CF*><=j3T!(~Py} za^AN)tyNz9`T--0y>$n_`5N~ft53)5*kq%Au3#VE<(ta{H~Vg``IozWxAnJPo#WkA z67V$W6qs^muJ!gk%^A!Mi@CRSNi!@tE1@NM+O)jeLhg**>c+}z!A_r__Ulf2wq%V? zv)q)Qe}3FK6C4;A*O$i@_loD?<P9!vzEgF~*SyY6KRC^of#vdv1rw__%+23<#Y~B5 zw~2z-1BF@JvOinD$jB_Lxvx>5;Tlw~RMF1Yod2SrXRe`e-hBC5p@W<AnS~<!znAQL z`?2pv@sui6M4g?qWNrp4S9k>TjQYH7yHk#sCdte<kuc3)^2TMG&%Ya=B)=TcS??>r zynj7U`n)2pQ-4!mq#W~}8*3r4`9YV+q=g3`=&ZlGQ)SI_l?@YT9%w6RJge5=?2=H- zD3@Oo?RBjB^>t+#uW#nd|19L~3;ulV+M=8r1wAthxon<_9u=RUz<*onGUuzQYXU%7 z78KuIy{Dg@vz^~iulK@B$Tl17q?0Bmue1y5upQhWDPw(CKC|NW-@T&ub^dG!oig?D zo5|@1-hW=~YV_}l<e`Z%bAG04Z@9@~eWL$BnqcTvw}fQH19AB-Dc$d0^RaFGyw*2i z+9~;43oNca`G3dss)n?kO!Bh%JpQh%TzU$O#rIgZ9?6|lv!_ZIDTE%)%3ilp$mM_Y zp|bdIVI`i6TXe2JS@Od{g3o1JO;`S3i7yLwtrA-9KcBJxdb2+-vwmsoh0K@l&mOd$ z&EKf|Yx>%A*S|<aM6K8uDyQApt6^jtBK)zooxi5b*1AmOe{ZZ3Q`D1?xzXagR<8;$ z%Q883&VqH{sa1!#JSOaVn{qP5?U0$VZ^-&IMA@P9Vwc`7lU&^fC;8JhNmCza&0Kxd zMsv|IgGcqku5)iNn1=p2S++kmD#tqX&8A!O-kWdD{}jFTYUqr@JDdfXQr{$mq@CDO zj<qSKgd|VebmK|?Rnv{<G=EE6>{u4|^U>?Tg-U4?+grTFqkI4B&r(k`<y2Ji{AU#4 z&YmE_Ao%TFjr`Nlt1Be!)^NPLFI4ICxnj|}PexOE<$43167JuYzF7Dnp^lj^#p}GT zg5$f}w!hUt@hZaAs`S^oQOwM|{-V~-Lk9nry{>A{(r9(Mct5A=|KHydKdKtTjdfZo zV!Vo{9u0N6u5F}y#Yfsp^yVhPGe(^`Wz(YkT(|i=l5R+JZcDgj7`%Y<(C@Y*yA#Wn zv|FBe5R>4&W_s&^X@&7Yk{;rq(kJ4%r%rb(+oxX*3F$UXFV1bhf9zxW9KL#2*T$MJ zQ%-D;-RFO0k;U29&PQJu3h43vzF*0{w)(r8{DjpDrj@qb|94yMgUZ*cFmSq@*tM@@ z<u$!6_am3GHzqUWgzGL1(D*f3`_=3GlxOcn97F51m;O1Twb5i*>#JQ1rwdPBUJ>+9 zY@_|Qz{73Hw+xRru{@M*-e{?}M%8conJXSQ{RCZ~6>qX&_w(KU`RFv0r^1<+T`Y5> zG=$dN6<XHbbz(}u%QEJ;{5>^?4K}<z`<0`#{nz(-I)U{Wdp{LUUo3C=uxxS7m5iPl zR<c{&Wv9mf&rJKxo-uod@^-t=6)&nz`uq$BI~&w!JbLo!*RRtJKLix=<o#?fv-0qa zSof1Zsbt2@$yVAXI}L@t&GgynBkeQ$?fIt?>|vSHrsX8~NZE?H_ewS!2;SrJteF+o z!>qlz=6Pwt!efSt2RcKgRsDYYY!B#`UZv{G?d$s{)BNSfCLT_%Qsy%+xY#x(KW6ip zX(_DoX@zIO%aX3jtuC*d%aj)`%z5H5VVUC&8;c+J#0=Db#BN^Yp?BGK?vs<3&1NpI z*1mru`ZkwL!20agMc?l%c^w*e>D`9Y!3W(ouX~-_{II4pRzLgl7GqX}$&D{{3>!Hf zGlaN`^E!w(@HOx?R@!sts4n|H<73~!htuUQd_7<E_wVhJS{v?<qPMTJTx8dlmad=s zzBqnM$;(Owt7AI4A%PpeHAd&XED7;bDA1hI9=#{>UgXY{lkuM;-?#eurgJ8&I%<CN zpJ;FI`BmzXpm1zG_NMalI;PLc40l`u?!FCH_y2eFwsrZe{dv5LO^$3WxFNxKHl-m; zeUs|XU#A{Vxe(*JZOUJl0~;T!Cw}?x@CCyLyE7T5RlF=Noij=~b?txDqg_)EJbNPH z^>w${=35JY$a{&T2YnV$x|V(M<$^cgn<JPW8XV}k=G^}A;kEAu|9(8?a^lf)`IW7e z9`ER)A#KNV=xtNM?t+BR))U$$#;t7pFn`)n!zT*%yL%>rdYTi(_bfT9cqq55@|I@~ z<Az-k=L4^o#<TByX7F+9+XLdA5B>jsKXxUpQ^$s-WpPKL+5rWom?bA&eH(ju{x!4I zmEE7Dnx7IZ-h3yR^OL*eJ^8!aUzMNV;lDq*I4<5><r(t|bMMPhQS(?Ic*G<hd&@94 zG4Ojk!;{b$;RB*PyN*8k9>=)gh$*PR5)s+_{M_H;D^w#2&+JgFdhvFywQlUK-QKP- z$&aiG&NEmWarg#Y>{!g?^CiEY)%L_i`PphLee-Q3omXcUbV%k)w&eY`Ug&;O!=>@; zx%W}8Hac|qZ<S*_8<XHI;-lf2FuBg&rCM4+`R%Uvhxs4s>mT3n5foHX8=fyc;kw1= z`?h=!-8Q*;r8{=^-}deme0a|9^u<8MoM67=28Waxa)Q?9wkpZr51R2@;ku2;!X4W( zetz<L_bTcJ-!HQR&YwfpBqXpo7_)5HpeS(Th!Fp}U8_It{}fT$FK~?iV2xf!#NDOf zx?Y5R*Sc<B>+*Xi4+L2h+k|p#`ElssRY%{=XFgn>|8I*)%{s#!de5eJEbd-;-gMjT zbmIlScjour-|F-4hR+f6?WcQJ9`|$14K=l!bYQk*>sGnIgE?0N|Mi?qvDWg8_P=?Y z@3ZQ5?=JtXGv2vPG4$`3H{;#3#^zl=FGE@W-KJ^H^EK-;c8W%rynVJ#<M@Q+<q2P2 zrXLE9ochm4tmD5)(&T+7E;=b+SslIbg)KL8qbI|;!U<pR+%EmQBFSpItM}~ZMd9Dg z8m2Kw+)B4UV$s?0dr_|4eF2U$!R0H#CHK*T*VpgLI<oBh{r{%Sz8Z3gybN^$SGI^{ zpHwc=QdL~XnR#U?n_)+H&Krjm?FkFm>*n*T`_F9Z+GO-*!T~Y1l(1K>j2t;>zl%g~ zXoT8$pUj@BUU)IamXWXH0MDBnKg4!fS+k%08_(g$%C%HgXny{~!o^vSTzc$Y>rCO5 zjhfLE)%Vn}m{o+!b-m)VpM3Xcq;Oo{dbGgL{AJbEL(2|Wsl_obuy3hw=K6TpZkN;Q ze}CWYZeM8)n&c4aI`pjT=jZgwJMYYA{%lfOT{Syp-~F;FlCtenJDy6lMRlf6Q;JsW z-ZpRAnK*;fVKvH!Calu(v3?f8v0glX<AJ<oB1aE@Y+vy*>)rjW)1)(>PxxY9YFj3@ zlPialN$U9L0}~IZ*~T4s+nL{fSTX1R21d78_UoMXpa1RXqCHLB?%~d-KPJ^_Ib9C0 zOw)0jTPdb>+~1>)Z|$@zHhXWJTfSi04&O^3R)_C!x_EnC3#ULNN1Ba&k<Y_Vb5l>d z{cQcF#2Ef1x&P0d+HUdp?-oCLeJHVV{jNyxSeb^;vpWUOZ{Pg-)gE!m-oRkjjaU9> z_&FE-_4_of<-Dm!h~ttU;ocutPkZzG^bz^!Rq|%<lIwFgGnKPm7hIWPm?6$Id#Qs# zAcJAK(X^Lhjm7dgd~>#>zHUByOkA4zq}`36e$#04OeQyz4H`?|v{V{<t`|QdB*Mqc zV0G)(hkv(c7kv5hk~MXM)sDXlp9WN(`)XqG@|&)_napB;YgzWys|pJ~s}*RZ{PVH8 zyX~a&&S^8xnsKVG(-hgeL{Z=elSA5NNnRJFv}Hys6$LEPRX+qN&O2W|O;`G<*$;i5 z6l2%V%1r+bJ^1cW(lFCrb<uf+m9q|-x|nbsQE#l&atJ<iZ$s15`fne1KiK8!J>72C zqjkIE0?OAqEez0@V^n=_kFcxz@olBAua&O8cEY~+*_n$ekvEwnxmX#lh`!9+BH{8q zb&H4aM46>R7Y?|V1v&<^y_llel@S%ybz++DlmO|8y$n7Qwo=ONe248ga?+bjE_1NW z1hp%oA~`3u&OE^O+NRKi_s!>KD{F?s3^NK}T>g7wbFK6-nPQ*+_cwdFyk2SX{h7%e z`8R9V9oz8o^22p&4*fHaZ@+ji?cbWToo^$2ULVb0@?Y)u746uCFLaakMIJxc6YjBq zt7r11_(BtYR*iMKQTz4;m6iVII@hvQL89N|(f^(KCnsH>^Utk$UBAjDy-6+W1wWWF z$TgU+kJ$92f5+=}`)q8Jg!pxTT<lN#^W&Jb^Q(QK8X{b-YGOJO5B{xL{hI&M`|{Yh z`2Q>|5x>v8x~ji=+DZQDvDI%`gE~SJ=7pVk?s%YxQRd8)_b;!mW}MRXRLVR22p6vz zljIs#v*k(ASxe5xb>!%sZC$MH<B;mgx@}`yt;@Gxj87|ef0=pU*^}pIkDB!PO)Xa0 zC8)Y8W1`oRH9>oN&j<+}4^$Fz+_G4CldkHwcehyk@AoGrAOCiC?M(lx*%KlbJ}uKa z$DcOaR&PCfX>ecT@=Z*?<0>T&GS8o7zg%+L?=x0s9~zzsn3m1usvohVDAm%cdGp!$ z*gx*mo~U_=U!P&<e*Nq0(%APJE9ADV{%y}W<DJ6u^Sp}x-u^q<ZGYyQdDyF8>I`yh zA3iw6%KIHMoqtgNOR&j#;nm-3tF#$RT|u*TB9fK@JaxT`>fAYhm@WD9?ai-WvJCTt z&zx75_;Y$!>1&>=LFZ<gW>3q0v7<2D;Gz?QareKL8RcOaxBjjTva(wevaEGi;<w!C zjwX*;?rNHz^_x?yvnle;_un-ZX@^ucobTT5;aq)9$=S>++N>+WjA=IW>#bM5wtShx zVs;?J!CUNx&=HYkPq<}FpHKN`)Y12?;^*$|d5zcO+g9zmb!Wb>>Y}e9cIkq;yP0o# z9-g_&LS%)MG26S(=Z>qd-`}-uuJz^lv6J7{&3yN=V74P@BD#vPwCo()ic2QFKl>Ft z8uE-i*S%7>p2{GnJ*7A^;?^JE2IHT7+|3{6PVM#HH^2XW%+lAt8P}ZnymAY}2RHG} zar+As6+RqUb?n&ptFqt@nKes6^GSmQqlRdei@G0v^T*khzti{Vc<wyw+wJG|pC*T0 z&3Xpz-#T|lANV87rp7xf-*Lgh&{GL!$EQqt8kJSN^jE0y*Y#;io0f_t2IibMad{r> zl)XCJpzuvZ&9a>z>~<!otYq+8d%Z~HhRn;HN}<OxK8(HGIevW$uV~KaWRhC?-t4rn zzPXvJ$qh~q&S^ce`MF0vE}zdAU%B(FYCy2%WUcrIN>R%${c+ARcsA$!V~4u|GPgD` zZrZK=_NK0iqwdRQM=w*|kcBVqrkC$^J$^Cr*q?HP_S>yx90w+BiEF8_<8q1l{qFDg z-xsg#GjiT$Ah<5-;*B36jr+sD30)TU*)S_P%B|-=OToll_1%*#{q0uz-rKnN)b*=Z zSG}&PP<XxQ^)BrfU&HSGe*eF2MZhih>!tA*UVnW*!)9md-KpWz*0`QMG*$bw_O08M z3v^pbW5pS2T2og3k&RvdQo?jqtnbA07p`Bq-aqj`xKYY#<waEn*LNR&_~Gf-ulmeC zY&+`y-+Xs>{hl9>x*rDRImcc<dQ8?jP4MDY*#kKS;k=uI|1b;NK7P?{=y+OFu#lH$ z8s|i1;gA_VVHr1BY&US#O|W7x6THdM61dnc>Bfb`8%uX?m~YbESRc=sllFXG^0J)2 z>s8my=FH*KxqF6no6E%ZNhT(jZCnIjn`$1+Ge00C($jJEVSz;S_5Gc~e)i0I{nq!t zr(d*-_-i`#vW<70%a$!`TX?sh@1J;i+2Qc$?!Wc_r4P09FSkG6y5TIRXul8l+mQKw zT&{UKm%eV~nU^~8k96$yW`+$00u}QlKKp!{Q}12;c}L8$uxHZc)xY-}8Jzpqd+vVh z#T`#p9@=jd5`OI1-nUC)c@LbDd=)On$`mfLFTlbgGb3x3zl(Cv_vw<y{&(A&d!CO{ zD6ld9&+PD=(LykK+chbMTdi$v%MK`}?eRWR-*#nQ#LD|S7wW&NnZ2%my3-k^%O(Q8 z%s(vH+O{x@a<pE&Ai~ff*1*S5WGlGW@y!01eJLl8*-8Jf|GC8M<=yiA2VCNrUX(QS zu~qn3KXB9N>5SgCXrbl>)(653_moeRt9FYYmZ^JKy{m4={njq^`B&8P?*8&;35l@V zduIQ+WoJub%eU@|NzXpB+%Q>+F?expB(GKTx)-)WT`|%*=@+C~etHF*N|(R%by`g~ zhpfwU#z&tO?B+VED-`vIxW4=CAl~4tP{Z^<mTeo?fsM^IW=HZj?cKll`w5-49ULvj zi)$YhFs!(@U7pvsQJLWz^Pbj*`%N#(wWXxDuZq+9chiRdS!3s#0>J{lhT;QjuJ_8{ zx2nFkM?CVBJ?FFi+xaCw9a}F~wPLl%t#_Mt7W-dn*qQ(SPUThwDQge^&36@c1tzC6 zpB7g4J+y0*&~=`hd=rf{d_{N2{0cpNN<MlOL(0eBdDEqZkN2}ro&H$%Z1aM-^;_+P zZ*2OwKTLsX_SJn$xTk8c+~mx8A?Uj}b;EIP56)M8d*pXpH{ba7Z1#+zUzq|<DdqfH z^%<638Fx-^D^Xi?Q`UdhfeD<#4^~Sy)vn*y_3iEZr)q6aV*@rvFE7&&>AF*8^Kcgb zhO~RiA1;67_4IGP;S(dQ_bi+7j`4)&hR;u`o8J3$Z@Y0x*?Ca4Xy5hZ63@j_+Z`D% zFV!as?ce%xoBW=)_p0l+|M_;if5q;d^@<nHo|!Sx%uDc*KEpq$+xud#_nWnp$s6k# zexE3`^PY=^^n%TbPu}wSp4FF_u>Ictl#{>iUHcsN_nmMH$9dKltA%FV`n-2W($ss- zq6b15WRLdT<k_`*q2>pv8PnG9$^LlxXV(7rFRFT@cjO(Lw)X!S6}Pk>2_KneFnnNP zi*-0+zT4AS%+&O+l*|9vG>P-Ccj^89v&i`Jkpr9lvurr9Y<cBApHsh$M7KV0w=W8> z|Mc>yKux6e<I_$>ytnH&?G)^Eh;V;k%<yZQe+I~f{w=K2Y&KMUoEO)XHIL7C_sY2+ z&v*EUZ;=YGWb9!{R%w{Lxy(_wN0~vUGuzzu$AatCJD$$ZJbf*CX3N|SfwGY=B-r#A znR$I1_cveIvT5VT>r3y28Wz;*pI*W8S=FV4Q+VN<6BF0n{Q5PY;fFMH{pA_vYod3T z1?<q+@oLrTwz6uQ=gz0}nSKa$^gVK{Yc|;6k$i8WYrJ5*K4)R?0ogMX9o1DM*U#k0 z<!hFR_?3KG;oQ<+$*WhaIIv^m<AM{f56e9)yCKP+)OgmZ<g{mkaW*&G42_+Y33ub( ze068pR&eCg_Ptw0-|yecIeEFiX@0osB1<ca{b3n<MK8|Ltoyf0tH=6#OpR3$3*X*f zTq)t<|Jij;Y?0fVkX$fZ>Y1j9<@eUGe<z*vw*MC2*t<?KbpKabyCM~<4$s=W=gmLw z)fGL<KXqhnv_6x;MKy1C58?kIF5<_QzOI^CcRhB0HU~=`*RfEsyI(clap|&tkS*00 z=X$he#*S?o0y_>RtYHh7_q4cj9$QsvV({lhq26Nk`qQIyqIP{@QrjqCptnKr>zpE~ zj`>*}EY~viuJ`VpYqx8|%9rvSU;Z=5-Rn*=VXGDGnS9^!Vaxxw{o1=XtgN);;Lc%V z)}M0vgZbNKKkqGh9a`u6Tm0Vk|M89zcTeZPENWO^?isT$BlGkAbvv>P{er*bUwv=4 zFxL25Q=!*F8`te-rgPQ!<l~qx6k3WEib?E`x*}3B$>tsF(qH@n;b-R8>v>yRo<CZ} zIEVK^4wFKs!R~$k449=kZ#cL}b5@)d=F6{sv+;No*Vf!;XJ#%w`RUW*12(*8(iwgP znH$KSS@b<N?c#^u>DSi$Jox5UReJuiDTUFV9oa!rZw&+29)EAE?k~KR%OGL7{8yzH zjGTu)JX8)a&at>xUU|XokdwfvSoN3kjb|$h`&i6oYc7~LbM{`*8wqx{*H?A28~}|l zS|_;NiI%ywU%q-<?(rFm`!%mMCQtn3?0s%dw`kORzkbC#dOY?YRi^OD_x;u1+p?~9 z{+G{R&Zh{T&5AY9Ec9J?qVe{u+2^NCT0Ud{xgXy<nP0T$?c2F}q2`DE4C{Q~>%O?r z+IV2*>W2ON3I6pv*UH*F{(XP<=X3qtFMr9D?Ox4TvZM7!-iZm~j4L+&__iZ6u=w+1 zZ8812(7RV#KU_VS&ggLX(zDewDs?x_?wi^%`vAXAl+=pY!tlqF*7S=d@kxk3`}yRV z#KI3hTD8OL3PYWpzlA+MbLGO7KMW1^r<0dn`_}Hit+mlX*-$Fy*0a!0JNGZVzwO2~ z#U0!QhL8PHba&heI(#HsT$i^Z?9SC61!2#Z>d$sN^h5Z@qIyY&MU9zZ%pbn~n|5^S z9obpCJg)1<EPO3LHKtzWDevDe!KN&8xF5tk>qvjMVA;d2%Fo{nKgiA4&Uk}u(cKgY z`Bu~1eBO)muC5Me|Gg`zIB&<ou(rdC6`n>2%sp|ylf`H1fzAn=rZg{-<;lMFb@S`j zvi*LhzTR)odogH6Pq66imy{6=(=bag4Nac=JM{F6eqF`=$6p`5u`&5#WMHT6EcUjU z9Mb~%ixp;k?LIKgm*pbQPgxf>U*Q`;{k~RgC*RK8<e66K!)kU>*wI9)>-*!_-4DM` zO?+{~koB+SY^%AJ;)1IK{w_=np8dw}{J#pN1w}s!D)e_ru$$!`n)o%p!C5ieagF(H z&3#vVKF?m`tvPkavVbR-vW?Df_Y?7-vFH9ghR0E#!{@I!?$DWi#-;Ju`kS?qJ8%3* z+!!mb>vEOBZr|^7*56H8n7R*cm~~0(#)J3gD?gny_P+VCdZ9wY=Df_TS&SbJpNNfk zy>l;TZ}&8|d*{PU40+zxDfZ+q{QkdX?kPzQHhCw$;ImS*X4Nws>ixNfM{w=C*V(&P ztbBR<Ova|4-|jyt$`rp}d^=ZCS;ua{>-oAlS#>Q3?w>0*?c}uIwRL6Y<y!A)d!9XM zh@L%LeZrLe%sH)F6&&i*AMvwXINOuRGUwod6*~4?%8fQmWQ>k4;q{)K-uz=@jg2*@ z%z39j@4i*Pv)nzQsqBmC^mFs$nKje-Ka?NiU{GeLv0LZO!PqOg_RNkw`~ER7$~XU1 zXtCgVV8Ga}`Z<x2W#&(gmJZ*ac0NJJ+_+5znmAT4ZB}b6VzObGVram2z=L5iW6zX@ z6ZGv?ylm#%=waCLB5Qi0#rNsnEv2i&r_bBr*0ML@onWTWnyVJO=8AmPpZ2bxYsFG~ zv&nz1nwm-&rP+L|+LLkFh($MmY4*!~Dvf7PUFu!oK4XKx1tq5FH}w~7GB3L%$A5_m zNqEg5@bY|FeyzCPdUn&pZK5p=VFF4~_P?E9YcuK=hqWDlfA~dk`l6&e7B!y^adXK3 zF)?RcYyMhHEQhH?f~!?YyCnAeR^w+8yvt6!t}-iqKJnq<`ry6!{~cZa{9E!(IK1}z zzu)<l52i)`vORD@*ZaLC8`I&OUt7)JU;R4Q^}DV5p^ut7p0<5#F1xg@*Xpy`?{^lZ zm!|3d=Xqd%<*w}p0|PJSzp@io2CwvBU}wx?-C<+(qC{zfZOQI+|21d-{$cmGPnXx% z_dojuRk27rmWQcnx7;VpXFSC4Ie;O(p<vcscN4>BcURrt`^xTb-`T#_tqu?FABg16 zc4M3P^nLBy9d(Jpm$&j%olra7H$gyr-JZvN&3>m#PJUo+yYP>*VP^1S0g3z#2X-H+ znb2XE{ESP$m+A2zp6@-;4YL?)ZhG3Xd@gcfW}b0>bxnD|si|p>!eXpU@y|VuBz4zU zE{|o|IjOPNQS*M8P(|XxeK}Gd>rNJ&b!Pa>I-#EZVjWYAj$t3?W{w$omlw;Ww>a@L z@7NOZOG)wRRR*qGM%@hy8QRqPvL~ywUzr)J`EFfM`zD^&&E;ICO+UA9>YMVMfkA=6 z)5S4lukLb_BU=sXk2K}ht}R?;zb!=Z+{znlpBJ#tdUoi<#pH{&OT?^W<vf-<a(~j> zkovQNzvaL*tu2-!cM~o>JmPAWRNcs{rZl_rz_B{}6`N%l8dZ~@FWX-DM$<SjFxEE1 zWy_&Y?Ped8X61@0h4jfV-cOzW=(6wZ3!iRfKPb@n-xSrBxnSk%Gj11oXNh(-E}I)O zoiQf)qVS(fXY9}R=kGBD6|%(*`%{Y|wqCnd#@V3$yOu%m(DGY*e{}vh?`mm~)aR~z zr8L&;#p!>nD)C#TDvVbAv_3t}Ha6#SJiF$~L%04LUhdbn_|vrRbz$~v*VEI(Ppw;* zFA&HqaXIIdws}hg<AW}p*M;&8-a>hkrYnBfktXrKdi}chn}jV}Cajix$teA(f9{0s zOa&%Sa{?6%S|z_*o%rS6P|vkU{Ls^<)$%)@PCNJhUj6>~EiCGpD(MD^Vh7^gOtcJy z<t~=WIx-~scAvY@SyODxG2vlc?2#1>UpBOIurXB6C~(|%{?6WA`}Qte`O>mMulrqA z;-T}LKO%P~{)xQ)m2dOolGyKCvTyY!tZCU<!Ob9U_TsePIgyE<r!8A1nGlnCGv6q7 z|D$!s+}B(RH!-uTpS>=Bf>X7u!SCa|a@tG3JrDggclMkuo$Fq&GgG|Ips`sp$~KcD zs^tEoqr1;ulAbloj(^dAmd7gHLi;Xm*iw1!)NZl$+MK=(FW5Frnk|xf{^DnU`%fqK z`u$yV)VfyFJ2-}0`eDDxC7sr-H_B$&o2~v+_G^OYh2~SMvO;=g+yCw}D&f-IJb(Kd z(TzDQ+j6FE+b42klfc!WOEWFACOmT}@fNxvbYydgtZu1l=r3`mH${y5i~=?o8^vCk zaARL0bD#BFlOLx}u|>FO%hYFhMzb1By=<qQ9v{@@^x|8UVbwFu6|)Qkf5-h%-ev#K z!n{z|Tkz~Fi~J4Q%ell?1*F{kE%a>S*9EWAuQBUAPWO2f{cOF>EOUiNQkM&Tw!ObO zz3ZctWP^HP_0qcMv%6=_+IN1zY+b&UW!^s-8tMbeD-H^%95M$5V!l>@%Q8W`Rj+?d ze!Ju@|DpXi?wpuz&cbwjO-|08XJ3wo>qUNA-nQ((`~x?1BC9`uiVnZN=%x36Uh~~$ zcUnE>HKX0BMdF2T&iBp?XG(c)|Jqn7CjFXUVD^o(7oQp$T+Tf`ZEmVZjHuZm|1I3Q zx6D=Rw*=_tMu@R7JvV;LIs4;dM$N6<?=QbUVe0j$Rzc>l5Wm#ar~OtNe_buzD}BJ3 zd-g0op%X?GjG3R9QaVm(&Un_ahRyTO{<1?+Jx_Q2b94^AtkiI3na*yH4{I6L6<?B& zb<)|e-RAK!QSWJYrar8zf4Qyty{&s$dmZZoo$l!o4%fdf|E;>~4TI6{eRWbZ{2QGn zo_T%cW~HxL-L<4O(Ywv|%4_zTS#M!KGk1c~BV%nd*DFc0XDUyW54t>A?8_h5NB8F) zeOi?G;|FJfua%ViFKwkmv+gq7&SIIbU#R4MQmxuhkH2!V4%^8R`E(Ee|I)FKR&UJh z^5^f%o&A(C&?TXG_rbXQns^J5L)EXZFW$Y|+FNjK`okYWd$;DS4|3|;QZ2O1*mUyr z6ZJ2j&Pdtz`)!5i#s5L8lH=HvAM@XwH_!9#T9<=cRCgxj1kNh8OjAGZ`Mvn)1uLIF z$Cj>`U21pY@!QH{!Qz=4&t0mEUAAtv-u$wuKcg1}Xvl2#xb80e!&~g++NU!ATCZ+Q zJ)_TXBYWbXr|)&5%~tI{-`;ub=F;|#IPGJvmvBDxyZ!R39@~cF&!+x7+v+{NHuUb( zRz~C4T-7y8yVSI&>+IuXvF?^q>fCwrTH@15$0D`gXZ_h0oTz)udDlIrV@b1hlJl>B zU2HtHI6C-pNyD2OrEL=y=v!wl&(Qwx>1g-=ZCNKD&A#LGT6ntv_v~5c7#>?jSYOFk zbQDiD*1hJ!@$2=eW5-smewX!Uea`aB>!UV3DKv=Nw)5k;(;;mNHAkZ=9>2F<>%C#w zv*iprN`;?fVz1lIJQeX_vHVWSlG$ekvhJSZITRK1VfWu}%1%=M84kR<UEsBQS?x-e zUGwWhY&R&i$}S9ek$vg?`Fr78TN^_>JF@kz7cfsUSLe?Qb}^p(cE^b{tt}_#IhL(r za&Sn^)y?X&7G!VhJHmKY^y<AiU0FL{CEh&q{q)E9^&0#$SMal#sUMHv%t&LJ?K<zq zAvygUj~QDSIxgJ3*_oTaud~47je~=<f?)4w#YL7EW>o1eDtzy1@?~j9TDgStju?ru zOPw<+-o}K?v0*MW4%3wF$e4L#JCC=@d%vK0o}yhkq0+f}Yie)Vq?@X0YB6~j%-g1Q zGxvijbAj8oi)E`0KlJbZ;<c35EBsDbw03j;$pyB5j)Mm2uJ+nJu-X4=-BJ7VNgod7 zNc=z5@bo}?=d-4r_wQ9bmHB7MaJt^t)a0!Od;II`x9b>$^WryFe0<$nbTKbGYnIo7 zc%gvAiAyJQ-k11b#htC4$fkBPUPO(}Z_BPVb<g%&tv%*!e*X^ZgwQ3AKA9<|rD-ir z`~R<-p=Y}XpXZ{soLOl**VQu|tB*{Z@Z(m(y9&KsFV*z5xzk*Y<~wzC-^u&FFNV)d zhb?-kp>Bu~%MV?HG^MNCqkLWzJ?cNJRqvymbl~mhg;{@8wuFT~?zky(;Yjk?Z!`Js z&;1o&JYi)#lZ?fQDY*^JN4`#}JvlKd(Q>NE&bPt06dx%X2?<<VwRTaZf{RPd*Ix{2 z0audNZeGi4ZI*N7;_^8>jyGRiJ0%~LXFvIA$+@_W(=Xf8?CwQBJAUK*{N`<s`w#!K z|08&}`uh_3`LC^(-<y6>Q-0!CbKaGX3j<QV_QYp@-uEl>S-6Tl;{{)_rRUi<tcpM1 zzVptj%}tHlUW915-&ykd16QG#qs^_|X4Aq!$#&|!DT*_Fb?w4*BR@S^v}{=wTV%wF zk1ns??2&a?yz4f*z@hJ(ZBwSMd!L_?^-Ix#d+oZnhnAMl-@$d`iv02gud6mJ)Z8F? zAmsDxDX)yWEE?0S?F-+(n`QL$ICE*Iih$1@&>+vW1@{?NY!#|<*ijUk{J5LBuG({F zqwfCwZ`YqLpQg9A?ZO(JQ{Pm7v6h_3Tg`Itkw!{~%GsX$TQ=_gkv}6g>j$q<oV0yb zIM;K&XX}=)S^Bidg^5)|gyF+Xfk#f7Pq)QzSD2}KW%NuExc(rMwdvmV13S)L**+^& zpt<GkjHffF8mOD_iY`8;U{WJuSGsfZsRb>MryfX~ddD3!Xy#I@;_C2t$%~E8Dw9$- zTxa)SbDeu*yPRE1?CkqT1J&mxTv~T-`A@NF9cB~$U6@q<>=D22^RP#6`u%$@2`}E0 zr=fOcUa#}}{r%4Mzl3{~-6up^6zlB>JXNRmXX)ponGEv+*ZZ{|V(gwZ+duuJdSq?G zROw^yh0D)We)9CWvB`90d;HBEKk|7SQ+G4W%LqEwx!uh4?4JCSlgxkRPS6ZU`{~7M z<o4lrUa|3=GYOKG4H44}KL+kyE%MdMNt$t8+tRZUmEph6*eE_d+jikxd#Z{>)D{ha ziW=AC$Gg*3ax*vXX$g(Ka^;Ht#hX%-UPX)W?c$#*eN4Vsq-LJT0jJl$?^>|_Raxg+ z|FI!-w(v>CGIzb0s_&fw61l<O7QbG%=aPg$<EiJ_z4w!M*<BL2^`5b3(;gF_&tZCz zf9hKcnmx;8RW_AKr&Y(s%rZOj%rNWxzV(xGb4>RsWlFR9UN61K7nAUJ<;nBUFWHH5 z<Yu*(u{dl!$^OCf{?)Iy*h~IycKo?0eIFy2>z7!TXZqfn=1=Zjk0=*g`mi|nZPW>a zxHA@SFCW};F{D0+WkJpjkBa5<nv|7~FN`fd%6_wxInPM4W%*j`kNc;s&tEZzmBT2u zbc%iQro)<x(tal~Eo)x6<m3L#%PyL>>qF<c$mgV{HazQkZ~f(@`j3L&W!(0)FQ+Tk z|GUtz=I_FdwYhBf<fWe1YAye{kh9h?$nqIe)Gw3!FD6Y=pVr^v@b<~c86olgySn#t ztzC2INd2r5ldqFink{zC@R6VDw1?%ztE(#mEdF{-nvs4va*g-aPqTi!tIo_{-R59y zym@K9#zB+y^~VLb>BpZgXypEynvubEKvnrY?~}?+bJsmzn6Gqf(NgcrW%pOVwr1RQ z`<Vy7N?nF&>x54tj(r#HjYU#Fy6(BX;&qkZLaq1NIW@8emYdC=Wc(|%p@}DoyYbMq zg2tA@UA6TpY@gzfEwPu#VO6r*-?2rV!DqvpG>-dmmDeB57dyqPW^yxi`TU!*uLTz! ze)ezGiGOMfy<S(dY-0**Una|ZIb-p~Ht|RAEx+v-YLN{)tKKrhMB@I(>F4I#3m&Kp z&}jJU)KTnsWwquTdvnf|2P+m!hWz=nfBS<^ukD#W-w1iVWyX44FBysS8D^)P4n#+D z=l)6AQeAt|DCpDjh!ufX4xKWI%DAU{V^gQXD}(w;9MgJPXMcVq6S?804`Z*y)YQy_ z(^lxKnXQkM>sFhTnkw-2Z9~tW<j4Q+$~zQS8dM$nvE<R^`U`c_zqW3^p|#}1oS!pJ z&AiPSC3CG>+hnuNx8<ib<?E!f`fb^+y89k__<h^M5A**q+!Q=x@pba0WsOnm@~^AZ zuedjttM&20w&k)lOTQ|x*&7R&pE)Y|(Rf16hKlpC#h07;&0K0eemVX?-f{MmSyyBy zuAHwYaAvLD5&@UW3q`kD+Gfku2=L#nDSpqQBb0Grdg9W$^h^JWB;zjXZCTAIlV2yZ zZ^Mer$iG|%lwQf7RNBa-Z71>mNu9IsV$BbH4Ux}WyI1~PuYdXN_j}QoQzcUG72MD^ zJ)3PXUGPEDg$r>uv(-0!E%%OA-F093!0Ibf-4c<1PyTD4@qzWVcT;`*%^N=!H?DY6 z{(k@c{%K<S&2LRF<qq_1Xjt-iLb7{l!ix*%SABo`p6P+<PQAnVyT9Li^>q9FI+bpJ z5ATIu2Dg7zBzdaeoZ~*-y<^+$_dC-)^qyz7^eBhb&N&uiEwNip@#$BMnF@Ve(st9% z#J5a&|Ltl2l%5@G>wbtSi~Q4cX=3)!zMoZg*`>9i{07H`9UnQW{v;?SM8)Yb&34^; zNwqmi_=b!|!B2r3i|Q}4Y`c;?xzF*F<#Mz9ta)297j2aGahUc~(aK6Gte3&=-oJbN zZoU$?c`xjLx`21#l0OTdmNkjBKaF%rW`BN2GRi<T_Oi(p*?O6*zIi>))@2V)#Q$Te z{1L$Bs5|+-X#=PK(RcQ(P7`PH`Tn-LafhFqQU3ibqo+%c)bjfJmc@U_7y4n#CYwDe z>a~5*lhrTw|GZT;@!O<jEV@~FZBrP&Hm`7TSl_y}BGM^o;<{wlCeu0VUf<nrX8wQj zgg=X}vhxbxFJHax|0BCt`-Dk%*3RqN*U0+q>pF%#+(zQp9b%??Pu#Vxn{WDS5s%8Q zmKl08{F4r8Fl^;8xh{FJagw4*1LH*Y)h=pMi9b6}-;fdB&ekEu5V2)TrJV5njL(rJ z=TE8jp8mZ_Y5V=+^AifT7xD=%6RNNh?(6+_b!$epe)9!^+19JS+T6DMe-GTb-e9sp zu;sFE>GFUVObq^(n%NIeO?`St(&p}?JkIRA@6q3y!{o9r%T^yweC!avWv9w2>72iP z>s~*4JJ<TTW8kYCqm~^mlZ(RN$2m7#%alK{qvVJwGe>)`=^<4qpXCg0M`xPU=Wy=o z$-ZKd@Fjx9_Fjv|B+lj-?bF7~nWEJ$o(*C=RU$oQ$AL8IHwwS3S29ISI>2_@#&&(2 z_>%oHi#E$nIJVe$|Cgot`)mH4EcqpWZMyK|Xuqo~lfJf3t1V@}CqHYd!?O?v@Acy8 zE1bGiXP<7}r5PMhea0~3?q+uPf4|I2>UUWGl$jg7mXXc&V4kQ}$ijkqx&?c$TK6}8 z72cL-o1dsK!B_sfSwph!t_hVd^b31Gtn^Kd<qlt`6Myx>g?$AtjS8+DZGCG#Wy%qi zPXTNHa8~d%w6wKqhbM(PpWi?G-u8-*^QC7oWiwuhmWfhtc`e8AKci^kt_8a;*zHoi zcx^Y+j|ES^YX*m!x!%2X#U$7u_PXB=o=NV^EKG~zllnIGzSlo=k8z)mE~xFFv|+BR zl<>#(zaAaWulnG){`-ZA*^Va1Ia<%FH(6iz-#16E_rT{P%N|M1*ywTnYx-QD++_(L zqBqR*`Zc}!-HyizZTr@yIqXv0Ht$r_nw&dZUppnrmWBp$y_Z{bf8up(_Ja>5#!Wxk zQ~LVa&1agDg}QI7m>j3h){v=co|!i5*ZD5qzD}jfHjEj0{4v66ha{|I6wiv@mH#Lu z_nt|(bU}#Y@g%N{MDCo(I=!zm4?KI(S!l<4B}+bVQJ2_Cms46tZ=cXnWb}2YIxT1F zRQ;@U%eKd7>~kIz&d>e7oIk5?9pgvQWs7_ieV>|~y;UEU@vL2JM#nTyhvEt9)6Q{z zFMN7q<BC7eWJ+qvB;3vNTnhfqeo&yXdBL^M(e=vHZ(O*yRh+9;$(Xye*1{ov<H;gJ zL%nnV=4Qm+lRZ7HcL!(?`0Ll5f}iE0@5jHrJ6W8SDc{iAc#`0m+e;3-<=b^XZFm0Z zcQ(=2j2KGTF7KNjqxW`N!Hpdf(=I;z(bn2{AURWzuXFc;D_iX@O}TLKG-J^0udAo7 zo;&5D0Eds-vAaBH7<tdMrn&J({x7=C5Wh@|$(D8U%84iE%GlPeUUz=OhJR-|UA<?o ze|T8;tb&isij_CnE@p{;o@>D0RTMS5;O~A*f4j=fu?IRq%TF6Np4pYZ?Ekrn_1-*^ z9lL`C_;;Q2pZtl<^y2;{Ki5aC{~piB*1T}f7r|N6ep+hHTo${XkB3v@j!2=*yiG35 zB1e{S?Q-jDOuwc1VCM3L)i*dKoLpQsx}-lZ^na%rcTbpoPg*0lko`epR<i=BCkpb9 zeEO0+${hJLx*y4~S#01aJFxO)*+IS}M{Wn(uujfK9t+(Kj6ym$g;=6||J>ntyYt-L zSk3aB8w{Kenr|idY&(1}d&bM@%j&*gzP0Z{6W4<LW-b*LkrQew7}6y}6bx-Y?S96{ zEOgoTwW$8RKi@CUi|@87@{(2l$?$)IRL`7Jy<_)Fj9;zWA+#@fv75oi2dqYwwpD8w z?(?QS=rvyupfRUMCFVMl;OUOKLsxS@g#I;ZP`{P>dzR?2mp6YLHgDP1EqPipg0J)G zq|BWuae6bS8*hkVIz2PflHs;S`~B1I4$PDN+u9sHMSPoQ{m#PUfpzXysblpzKQ8v) z(PX}__ch_m#mC3?O7GabSN`B8pX2&GEa%uCm$I!p!l1Q6B_TQ0U6#3K<}t>yi9U~e zuC_!heqFWx_{3f7c7tXE4jk!^a*2LtE*G(<g5NMK^1JDux18_uYBwqh{ODTudf$;P zw@d%NX!T|;7k=T&@Knt8PwCM~*7E0TCI@VNWmt87&g*s3#|~T%^`4^gmLZQ}gF^fv zDdC4VudX((e=+q+_uUBz+h14mmHzMR(0j2lO1NQ}qqH4U(vyr6U0f1Q2NaC926Rh@ zAD!&8=7v$^2G{>VITPk5YH4c7PfM3HdTL{9a!umS{z}=16@^(Rw)lwUcrL&9_=MKk zCf;S0b(vd!{6Cm`rNvR`Er+9W(-a|5=UuxFJ6gJbzLd`}=d!i8$y0vamzF0hcHR8x z>}@~i_r7^*`xQ+ZPjw0hSQaul&2`*TyFprZwwdCV+GwY`zEbP`Q=ERcemcB1Am!@8 zE8l+~m{lRy@c!%1_Z~l|{Wb9`lsfSL?FJKx2|MafPU^9gp2fsms(Vp@BOx_8x&M~Z z)B5cb&H6dgqh(5x&i?zmogrf0hmUvWim#U3#wX>)v~SOR+sX1N!PA{8Zgu>#ua1{f zcMskAcTV-{bY2xko)sL0%^h5NE7o%>ZBo|g=u}wE)w#yWXzocP<CP`;+h#Iot<b;7 ze}aWkm}$quwx&mVAGEwYSVRxaYI$>cbIEnv=f4+Ee>wAIRMoEPX+F05;}dqh3cI>? z_x<Jbiv4ms%~yP1A?<%O+}Wm1h_jAqf!2Y^RU8#j9MYaCvmJ897X&w2D{3*S?o|?E z&$u<=Uh~Drd3Uw0CZ~O2nL97wS`5Q!@16e3FO>`biY}{o5ZW+LY0~o<8=W<C#1{xF z?G@N6-Ex>QQ(x77H{VR5`~R=5Ro~Ss?ear{#okwAZqKnt>xGuMJFrVWVEA;}`e8SR znA9@$IrF{QjpHRYoNvD|-C>KP;N0V9{%btX&7PZZaNTjyooTCfEv(8`)cj`@`KmnY z(h~EFukT;*oUE3;a@D%j1`Fv04s5fm(nS3x{l1^@J)ttQOW{UM|IbU}j%S^jRkS)2 zK0iOqq^@=CztjWY4VAxQo7oReQ#H`o{Gm`=?&sb@1Ly0dYD>3Et<q+^!TUqGq5sb- zLy52rSs~Mz?SdKis~!B!wn=B9{gzLYf}1~wDs`G&n6g>uXNjf!%9Y2SDEA$BvVFg7 zpW&s=$?5**yY*+y>y>^LbUwFkUZh^Q*M*hp3N9T2|7OT`@15R|?3UpEYu>SlH#0<a zb?etZNe)t~-+sdQ*w^DtXWq}^ofhtp8@6!MQJdT6o?hRUo3~;58K#fI1%Vn}3sUFh zu8+>U{ohlcbxHUsN7sqRpG5@Jg?1fcTsK)bFsbAU|JCUwJ5R7|SKZhUQ~NR|`S$P0 z5B~qm*~Hth+jGZazbEF~a;w?4bsT%dtGcB(cHMFpx7#ZFtewBeyb1dB@z}L%_t$1* z{kj{FC)ayakL`i`n!PS9>$Q{L#pm5VU!^+d_N`xznioISTwN2nvhwt_xtWvBosVgf zP6=dvV8FS}|CZ7kzqm~O8Z`yoEr*k9?k%}FC$RIBAH({@_@)y}A7-WBN%Y;c>z8(@ zt!-*JWBvQ;``lCVVkTxsZ0GxN#WmpSL~*6deHNU*_rH7I_8~2hE5Yx#V=~*6Pl{Cx z6LtvX%#;slm{X*9StI+9#FP^49j5ZUEYXJlt~04f@im=&8)5g@&|#t3jD*Sdv+q55 z8TFdQq2Sf4hG*JEH-8`QJpSnL{u&-OE~zcjPv$7Csc*e=Y+a4YtsURnpG{n*e_C}? zhI7d2uinxM{CS#Nu7%WJXx#dhUAE&$^!;D+WoQ4d)%ySBxxO>YkH@<TqId<B7`9wc zRZf*S<}{sQM(oM-J1MuVpB;NtFZ^Jyp78U)L$5M|{w%q@B`Tfg%|@p+sSh-IU+3=; zG(YPn{@$zlq5a~GH?A`lDLcQ4SeegYVQlO+J=0OI`Yv;7h=S7m3yyi4r#Y1Mx9w8= z@MKcnf`X3QM^@O}+ZgqFy_1dXEc<+g=XY*g`c!{-(|z``oxHXxUv>o^_HLLb8a6-h zRHdxLey8|=b9KKx(sovB{JWlWdz;V#v-4)oKm6tzUca@?c8%A%r=Op{-}6lR{*Q{U z=k69N)rc-#F`wi9_AUF;ZZ@&rW{P*(ayWUWh2?KUg%;~`dtWT#XSA@==`3un7rr=E z=~MTrd7t>jPpLa)>~}2OGu7t%H;1bsieJAhOLzER<^AOFaZ`iOL4jJ678h{!W|$O| z&q<5Ws26@S=~#HLm{1O*KfB5eE?H@<gJCOlRC3Gbp5y)7Ec=>A_TgTEMx~~i#ukr0 z%lq4j9sl=ceLxgrPVRFpOHb9O*BS1;Ju4z=XR*q2i;`&EVzm_w{&G#LE_9trKVZXG zv+uFRvTXnKn(O7^y63i?ob_s!;P)08r6Umyxwpfb3hr@i;t@Zy=j*j&p_|i|YW<WD z`_puyH->r2v(>H!n=kCSeeH^fgQfj12ZlB0{{4xt{k*7Ulil-Y=RF<f&yw!14|93f z?6FAZ-42#ltlv+pDB^L^SWr1b|JLl;8dCYS^R3lY_51iXvE}z4iz+UjAJkxQu;Wng zH>Ur)L}i{9zR#7rUis7V4b#IE?k_$jV$BYYA{*vEt`IuS5^{3FZH>1Ds!p8my=I4T zbF}2h#49x>^W;gHZJJ$|>H6jQ^z-xg3o|U*c!R6qj+W-@`nNu}x7n5^^M15Az_mmo z_Kf<0P(gNvP4kpOjo;b?zi0Scf8wiA{mUSWV-70HH8-{{zkYLlUEmVq!ir=5@rExL z6K!4g-Mx3`)9*#UyH1$(7rs!qz3sJ7RCy=Iy!mFluhY&rbU6M#q~G3Zpf{oE#P-(> ztg)H)*`hP{{84V{%P!*OU&}ndPHsvN1IM|?^--Dso-@l%obo4vMV^5nsZB$)hx?TJ zfjyU43>Z}x9pswRC6vP`F)dN?M$>&gfrHNynPzRfraLv^^cC?97hNW)XNFlTuq+h` zx*q%DmsJ1UZ;UlB()%4n76e!5rhe(1X0)H}!@7wI7q!+oNh@`liTzplRo{$r0;{IK zCFg_}cYdGO3oR`=KUa2rTC<%1%lg0n+8>HYE4eU~WY)4BsSQ@2&>u1J#Ic}xi9stj zGeo^Dsyg*=eV#S%fqt!B+XYJbJEU#f=60LTHe38<^Uu$@dkvE(MVwxLaA)`9jOZ!% zrrh3k*VJ5Ye;mvA>X@SLRjYo9ez&R)lslI_`S{M}H2t`5-=rJsr#^P<{rDr0rzo^_ z;{|)|$XgdHY<#Ev+<roNlW|PmNmnLcwa2Ub6%y9yJh+|zZ0&Zp4XLjK<#K<%Z~p8e z(0cgbC%*ow|9lPUD&EzO4m>JT+)S=<DIPq<^rVkrsm7T-KFs_9Ief`W&ApeoY~tTC z#m!k~9^bAst@L%e3!>FF6#qTVzUSP@Ujb{<H)|~X@{z&rRgtgb|Lo!%=_NWE1-CdC zGANv@5e`{io$73S-t?r%qKy(BD@`80-+#?&#f<XY4Y?X?6&YlXr$jm4ny9;ZR$6J< zJ$>fd*Mjp@9;{a?n!vHwkFignj5BdL(>%7%@d3e~BchWZ-&6ehJc8%UFHeo|c|oOF ze+7kXToion?%=$5v{1t^!tmIXV^a^Q+kNEh?y%DpvQoOY-0_P>gEoUr=t&QQ*Vor* zYVDPpKK0|}YKO_{&h;-AFZf=|5$2UI8YI7^MX%9=KV}gJUsubFpT0i>?buy~Mc->I zVD8)LCcx`s;UQ?_UFi3<TRC1!)bWaXZNrHLkBayGH~iwt^j2Q7WHGa4p!(Xi42>sd zN1T3iez`1nft9e}+1pA}Yy>AP@9I9I>FWASM&`oijumqvi?k9#&Lt_``n*FCwickc z%R9wSM0jSggIwE`^Nf`oQnp(HQZ6VyH+HaG8g%l>yScm9%`hl@w0rrR@ZYayuiGmY zyl#h3Xugd|wS2Y4oD}C4j$M^sz8qGP4%@cnPvOr$KdnLe_wtudev^yt{I@)JE+<Mo zwdnZknb(!xu0N5w>XEnB-+6Dp9opac!MtDPs@u!_>zf0ACQsSRpL3z5VZ~i>$1Q7j z{$ymZ{}S<P&%Em3Zi!_+ObP!sUytlQBYx`ZI-M`B>p#zWqCZt5`S!NUOJ+RD(A@9c zr(o7zb;(M>CAsiSZtmOiv`5$0sx#a;U;9?wpC^ZbrIB^d#p=wH_8-smGhB?&mb&%3 z=83spyq(|yMQ0_yY5MIGD!zJ3q|SZ2RYZ-kXVo0DLrKqHZ_Bk7j=ww0dRo9O!>)7e z8xAkt^Qd?2TKU)I`lp$8x_npov`V`2md4-tZ=$)mrIOZWe374hPw<KCbKU5+7mqAF zUN(6rDD839{CwiU0?|*+RmpZLO{W>GW^>4k9{R{&=iKD&x}oXyD>*r?jbdlNsIw)0 zf6ZUT)$rQ3qwv;&wu4^D?;icIGpw85<t|rwWZ|n<%8W7W4}KP0-F*IGrqIldbzfgS zR{RvADxVVaF=VFH`mIUt{-}AB>|!vQ9pS$4u;-~puP4WkEPJ4Kzt>^0O=_n!XSmV9 zXYRXNS#Dq8+}8NAs9s#<rkO!Olh~d)PjAn8t;Z3gRd4w=qM*&odtp|#{!%;518m}I zYZyA)1l2DtktoWt@GyC@^28~hMT#1oW(#!Mr<`}HOmMq?Z|{ENxpRZnWG#NyZ$7?T zIQGSxw}<-V@5uRWR&-)H@@J_xKg$cA?=PF*z1i>eNv^oM=VY>_M!oSZ<(A(zYO6Ls zyYbC&YF)hG{S%eyr4zSp7LKiM=vc70*_M0Lq0}?+yG-6M-|4nzk(bcAP%qiQzBjh^ zxwn!(7=(%(3eUN{PW!7R-)v@w4@ULB@|QNJi)_^hd3DC&>glEooontQ9JTjm3p`S1 z^E){6+k4+8&96xljxF0&U6k8dJ$JGJ%jx;Yu7wpCwQ?T&!|1Ty+FwI_tGRilURSHu z>Ju}i`}w2NvZsl66znWFJ#qKv<5{0>%;;L~xuPnw;IZI_OEYA<D|M6ozp8G0R5)YG z<6XTKdABA;xx732;7{)A^nC^kw=8#Fe$VCOv`pTQ77KpG-15D%$yD`#zHQZ|)KywW z8xQPgYPqySPvypjysNA3zP7g7x3Bi|v+a#PWf;C!e%&pQ%yho{gm`HA_uZ`-cXx`% z$J}fTVBx=0=<cyjv^nLpj*9rXrbRrKYD}x$$|cvHztm$aa(dpKXVZ7i&zxp`@Y&pB zQzfK>S)vQGR|+cLh&j1QsgGCX<|UTf_anmP*So~|-Zo`;wpv^yR;z#Ruf`mPppeB` zt5ZL!GgjX6Z#9eZFyU#PbLw+pSe{UBfZS<^MJEGJubffyYfA8{?dlhI7N39q>ihlw zJ7zKS-O**3lOj~TE%$J}zAbn3`aeugEgXR?l8I-;8A5iyd)ZjM$^Myc^fSw8lNijO z=O%^S;{NS>y6dL)mXN8Jeti~=@ARAft=7S;BLB)oo(oKj{d2oin6&?!Haxc2xj+2I zw=~y|N|ozM8M^M@mgU_^QP^=^`Q*X5QTKyR8Ruo>sd=xw&EWHC#ohP)n`Z5<`+hK3 z$?<wW=TgJ-+m<suN|aKNW^<dE5_q%nit#J;PL`sO`DW5*-Y|PS6Zw7V;?cDUe*Ao# zOLsH;IrVsJfA6tr6~9_SM9prO-Hz*cVAt^P`r}J${+qHgoEEG2c}cl{m*91?MUFf6 zF;tpt-}<$g!S0>=nxAje`R;FdY0<znQ{lhO!Y%7JZQZtQ+ly_19onHR>whLMdg;4! z)*p9|cCKwaa+Oa6)Bnybx7)C9@#8yL$180+(o)ZGI?ukivALI}W@+}LBg&mG_|~m8 zJ^b-P(pg96BHj5Z(H}&Y=uFk)Nt?hS<Ne>{>hDL5vwl|3jQz;4NvHqriQp9z!)H0M z%w~@a3u{^{^JXT`)Xdc?2g6uanl<=LPV(4pa_}3AwS}jp?fRwl+B4Sk&An6cW(q&U zoIK$-D|9DLv6Pgw*Ue*zN)S4G*k$7*m0A3jtwobE^jM-IKSerOvYuP+Ef*OfwEMeF zz~A}XWj6e8oO~_)a(SuRhV9ktaeF@PDR{sqn4~eM=fG*1&-~i6XaAr5H!;ZWwRs?` zSZM8MkGUrfGsJzE5v-jjwJYx!5Ay@B|DDm(G%nmdyl|PecwR;pS3;LZW~j$Dzn-0* z4g0Hg^wp+l*X#TeTVJGpP+VH<`1G{Sj--U!WuYefp42n`>T%yBXHZ{ja&=}y-;6D# z*$+H+e$CNYyypEO<EX__Pi`0d=UJ|%bldhd$2&%QuBUdlZdI{1@QZ&wS1hJ~%;B4h zLUs+?s`ZlB)@hyEWpk-Qp-kRJ_0a~)1wo||=g)nOtMzbLUY;rYHU3ofwX+w$=EPiW zoc2zB$CibA_r|&Gd%N42V?%AAQr^D5%cktsk$zOT<7dSk)6`S_d!F$tnKTu&-FBFE zVOPg8-Q=4m(-Q8KUXQiDzCLbm*56lG<;}hJx^~QBw2@uc<EF}TK%c`Rxz_!7Ak&?w z?bYS)3v73YH0h{Z-;}XO<|M1J<CJe39h5F?%`fV?CLSjJkD+tVoZ$6em9MY~XP9_w zY_n<q$jE6n@eoV2VvsJ!!LU8)e~gy#p6ZxtxpunLT92k)j{c2)bJv*UvkP*t6#Krs zSoyE&7rXJh7mXoDsx(*5>F+)<dGS^GSs@4Hqcl}!t+(G|G;0pu%_mpgH%^yT-n75E zx@z0|yEiNEw0H`if4Df#v&$oD?Y3g^dA}bm|9C1@yybCehk*0UXUQAOxjxkOpS>4b z`K0x|&h<QfnLRJ3?(@xe%4B<z*B@Q8z)-BZeChq&dzU^nXZn@a5c$_;>6c?|6*Uhd z6mN!Y`(bUV&M0N{?|RPdGKQH`pM`31FFnJ?Fi(X`@R|CQuNNHRL*r)buK0M8^HM*P z(dFfC`I+0_hP&VG^W4DGqW#B5{`Ji(C0Vu73hGrV#T|34xhM2za&`ZdJnt%UF}zv( z<&z|ieSv3opWB?PA+_h~t>O;{Uo-x>{`it+)XaEIS9#4V!Q3k+t=s(8vp9L<YW2LE zzj|D+bxvKi|J<)%a*2Og8Diy1@65`*{7A0(toDoJjImy|C$l$nrFnd=JUz|Vt^9oz z$Gz}r-#njOlk;O+adgv`bc619@7_6_kKB;bnf_)<XY{sZ9ve;+^Xu=BpP;{UYT)6d ze8s#gai8Y3MZ7+HvEudI$C<hxUVc8`o>tfA62&O9bjI>d59J1Xp5u1}4i(FOl4^){ z_>#x4oa@8ouG#fs31ZhuOL%@(X|Fl<&*SWTR-OH#f?*9_=TGdN_H{?*jxQHHZs)$$ zDXO&(G7{f2=~q~x(T{?KCe2EryIk0ozBzVJH`cI5V(N^H6M`<ExwHdV0_VFNbrWEX zQEu+y`SH#6flcS1dso8dF0`uTH&Q$DY}L!u>|#(iMdtT|ct)X+&aGRgPoBRbXySaP z9|874XVbU7@~rLp5xiun+p{yu6SbzDXQ<?mIvB$AY~zfgPrY(c8ugNo=0>XAyjuJF z^W-@*->;aPv+4UwPn8LeRO04{wngy^E)p>)Sb1G-?#$w}8qT%9YgYd1pZC}7YjN_% zIg7j)WqHngJ#o2}K}!4Qz2fjS2iAE`PV=uSeSOjCURp2%pNgZlX0Chk+Wm|lqLpqc zDBTwMFl%v$x=iS5-FYs@d`tq`wI(fQ`J%_*e(>&-ZAk@cSClW!{2=q&({SDXk8XEN zs?9*nR!gbuy}T1nYu$h0qddh<bl$(EPgv4yq<W9fSDEN8@k6^KE^Xr6uC0MjWKOuO zS6}#_@nmPvjg;I6w&qsCYCU1>RV)X$FZy`xyz`5+Rh@sFswP)|_T0)6Ip0%b?*x{4 zPmBfg@;ASo&TZe~aH`5z!C$DL$J@N_{1M&gee0Dc>PsKL8M#7`b9K4q(X&iic|u~1 zo!fT_sWW9NO_=`j{=ze#teN)lANoEu_3yDIbLQSG{l6#mv|6{}`;>{_oeH=bf{z40 z4F9$5dg3wPiy90$84)u3`#4tL`8HkhfA;&(1KE=ze>pFm*=-xVEaA~KU4G^*C;n!B zDdl*}D*Df1WA&*i9wuVe_m|9(U~HfMoR@Rf2Mckz-<%VU_9crkevxr3<JwT1ut;jD zVDC}I19}4ACY=!LsB-H3{9JU~Ud!$GQ|kGa`<;2k^3t0@=KZ84TnqlQKL`?w+cy8i z;h%O7J1)88OzYWuZku{!l)QJ(WrrfG1MaEc?D_kaZ*@?)G~YgTshQvfwgtV7%%&HY zvsef#EnnP|^-N&h3&sxuoh2*g&66+4%@tA>c{!EgPBha-u}Rr^Gt9X)8MdC@*DS)2 z*cMmWzTq0L+R5#%N`Dlb<==UINwITHvD|VflWRh<97}ZI@jVh71=Vjf6{agYZ4mWv zpWxnmXn9C@k$#7RTf(|OF*j%5Nlvd}kgxclFTk{_^s3*+FDobc*m68j&O6f2qSDr- zxLn0yR?^9pUQaelY%2URA%pdluJf9uRaNnxhI7plAJzH$J@(nqog#E{o!*`gQzwLQ z3oZ(|u`Rc>QSZZxt@|S~Z%6<B9{zpj+3aMMHH=3kKlRLGdg#f~S2lBj-kg19Z<~64 zrlpE?@7+6NM{2f~>N6ScU(Xd}q;qOD)R`;-jpW%S8<H5OG#V%@F*1ICB1+`0NwwLt zn`S+q%$hfS`(`Osej{_slz%2#39qj5d+pb1(Vy^O`3Ge?7I*F!8K=(hO0j6PrS$gx z{`a_j?xCt(S7*MEdwTa%#RM7sy(dK)a+z|J6aKec%4cEv>2zD~*bbqN+_Sz6f{Qj@ zt7fn~wzz%H<0W$@i+)fLo~N=v*hyIN6PtjYTUY<2gL3upf)BpN&FnrltwK7y;T=<f z9m9GBew7220&~)X{HlbtUi2M%^n3P{#qFCnbx4{&{XHY*%AdIzI{!Es^8N+#UG*xx zB3ZmF_jWVenVH+~{c7)w-j>H!Fyr)BQ-z(}6V#aGm@anfq;S+IIJ}>=BlY!h2CbBT zzqHx}&R*SctoIue!;e@KvH!|<&en@6<bS+<C?KzQ`aN-@%*+Ux|F$0c_HNqwGw(?B zU$I>q#C0DXJKC+Ew)Fp-&wj@>gO00m++~=@kfOa{Tk{gTg(bBnV)J<(a4@ic&%J%D zRW;+Iv)P7N7b}L6E1g%$vufug{Znc1XR6?5kewD3dBO95e&mz(t!KV}&DiVSq2T&U zN5|Yt^_o$xMvL^W=ka{Yv+6SpE$>I{^2$v}^;J!NHmM`n!YJeZvY9c9y1(U~IePzy zaeSnx$*UFOxdD8_7ZW=bq!a=-3c7s$FISM0z!IqRtM}zwTjxS6nQcK_&rTI<U%U6O z>KOaMn>9<$<Q-pS&8oy7dPH8zVA<b=Qy-bHyRm>N?rDfY{u$Oj&x6UwES7Cwo&B<Y z|CgEOemB;C^L(<XxopvPHI-{lEgIrNQS%>dm7Het`K;URZ!`TH)>m3|=WQ4Nwm-(^ zs%HL-U743pPOT|dez~_{=@-6GSxe3X>%VXP6`OaP<3XKnx?1Vv-1iJi3N1dlHN`u> zaAH`QSaBzB=?kBrKj#C(T$v78O)nN?$Um{-^u3;hSK4ZaQs<?upZQfL)O{ak!fyY| zGZYT+2yJotVCo>&Y`}fMnwy91Kill&K!>d+9b%sw`y#}d=RKR)%&DI6sUZKuOw(Ij zJ(a7pid1dRMDP8xe(fw%ZPy8@j8zu`nRbP-<g)B!T)@g;$NQjx$#oyggrBbFerAzL zy0;bdm^LiE<IE^%=eFRz>tpXa&zyS?t}5M*j$%++v*GPo9?Q$y_bv_Oez2HfF7t_0 zfjRRvS3iERa-OXHk2k6ZW9OC$s)~F*KOt<s{OVo1)fp`$4{$N`EAw;(q_|K1?~o$u zVt3cH@R1`^&9shpFD_P{&o~ixN~`~wj>`2v2GwknKBp-)rTpjJmAchh?Q7am)<4Nl ze+GK-e``9V5;Jd$uEPT+Er(s9(-O4X>ZOxeW^=!srh3EW!-AXZf0u-Y-kteY<J{Bv zD=UhtA8p}(W>@a&Q=Zg+t5nUUE~2bHgZY-9>Ys%_Cj}oC3}Mi4w(C~Bc&Ecuu0-eN z-M{+DLHVm^8YDiP`2CNQ3(LxRa$nxvY(6`^UQGWSN9R@n#Zw*y6>C@QRx_}_aJ;qh zeY9qSCI46N_jfoC@EGQ&R{Y%OUTn1W_s&fBc}yPK4C(Q!9)Ek5c7G|y#Du&ym5ltn zINKZ-<&#!IcCwlEMpJL?%rRJFe?q5TqBr)!rC(eQ*QTd-v+dfqcIVGVh0fbj(%+j3 zG*3PD&NSv&{;ulp>v*=EvoD>^%;mkHB60fp`TL$ZcAO7Z2JV(mYn6U;D9}Fq%<S#6 z73a6Rhg_@qpUwR7e&*$U&J*TOQ=Pvcf9qBgQ|`~ragX0F=-r^SM#e#Ao4NV_=*>Sl z9QLmYSUFF_%U&giODlcpw*94ld3AOBwNHFxuoXY|Y-zuoGwbzhWlR+u2W%LQYpvyP zJF%Q)1LqIUhP8=|-w&&SZeN|wbMdyrmuo&-uF3O;7c?C>5~bBDf3GasV;!%0mDGNw z%UdN+J(RIrwsw_x<mzOR&pt`-zJ{$}{1Cj6RrSW5DS4^tH@Z3%qB5J-O8nDhIQUHV z%>zHf_4d(kSH5HuoWe9`W;%a#boHMt{Ea@d8g9m`eSdd#clw4CRpzCkhEJ|cXp&!W zWC2s1$~^;CQ4XO$3L1vfR4)cRm~sE>vBF8Vv9Z^$T)8eA85;Y0PDexJg}v$e|6;E< zKX=+1)gh4T`uNjRVOERN$-jOq%)LF=L2W|g`8i+im+v`TFPQi1TiK#7ry1%V8}`nt zotx{w>Q36C|J=TJcbsInvPR)O<A?6VRc+G~uJl!&o+esyEN<J@TTeRoWpf2eUB14K zwd2T!eM|>FxF{%pUELA(p6TIljrETfaxZW_*TQ)`EA^jg)bEAKXBf}>&i+=(csJ<K z?{dbXm#3yJTg1e@#oYXV1V{KHk*^95IgdWG;P|)qzxH|um%10bb{hR#e|?+A+q^Yr zx5ckZ|7`CR(Hpp|MbR}PQla29!=vZx<Mv&?@Vq`ZV8WDA<1~p?tE}V?ELKgK+?udH zC$7S@LnZm%|K$s++eLl<HZQudZSAvTkJF`>?qfUAt{t)Gy~5IbU6YvgJ$z!n*Jfn? zZ0~#Voiow*=50<zL%C~AmzVqNuQt??-puR5FSH@z(zCnl-H&}#CrUEhV*Dd>;Io80 z*Y>##b=(i!4CWtJVrQPg_TaQq(QdJy-!slyF#mXXw|x5BI>nt~JUP-Uf5x}H^8H%7 zQ><a@zrMv!1&;m+xK>lLz)APHL}Wl@)7jTIW~kj*vEnxG)CA=V<`tilr)#{PD&mlk zW)c7I%m(wV$ItyL*j3$?P(SZVwafX_^VuKXUOFjQ<B(6$ie+>5sl;jibm?3+XP!!w zL(<v@8=0<)dCY$EuGZ#~cmA5$0rlSRBJ%ks&E?FQ_tjD%WOXY?U|o>%OdI*kV#)1u zBlWy8w);;|5KM?|sM}Q}(5Mo(Y@unWSLmA0lZ&DQE(J6Av9A8k{jiM1*qW<rFT>w1 zj$+X#84T@{9;y4Da-6>E&ZW=Kve&ap*LUwcY`)BLh4fq2|4dKX9%glG9**8(_`LDz z#+klFnspcBm@)#rR&Qq%l74G<P2}S1YiDO9hHW#6UEJc&zA)nQRe9-a?^Oexi@G*% z+W9kV=?h^68%q`^{cFaBkK7|(o_)D5m^C)^Yw-@vZGSlKF=nUU-ew(cW*)yvq*ms@ z`L=zM%l~&Ir0un^*Qh+ak|WpGxAD@o&6n9O=-W<`SvB?5hTQ6a=kbR5_uf^R&1YE> z+Hh{sv9bs68)}MDi$5m?%$L;@tP@$Wg>A)z=i9c`87%zzzw<#|!#Spa@P~PY+k&q6 zUsacTeErkU&*kfK^7hRTsWnJWi|zVl!TR91!kn*nCc4kF*Sp4a_`&&Zo!6C$QSDna zUuH5ayVm(;c}E{>!9)gc#yjkbct3RPu<qI@eIS|Xj-C>)OUWuGKG$15zbhDu7hGZP z%J5n7qeb%j^n>T4><%@sIZO76ony(7p7`tVK^F$ijE!X*kDa__k#78&FYt!G`9ZJy zG1@!-rz~TYI^emJRb4{hNQ05z4`x>Dg482TY?d4XTM|w<^0A2p9N5x0iG`!+g7^`K zmJB)0?JE!WvASIP#(a21gmj1cxjzE;zCX5iJW#RiTW?!~cI%T$j%m|nLJpjd-0v@? zQ1RtL*R#v7_prZ=(OBW|zg&Kfv}OU1(Th`e=Kt(YFWYhY<=ee`%Kmefr+z-0GvSqA z(r4}e3|cFma0n*tX?D#G^m<mA!&5)+^}Z!FZCf9#>-&`a<cq=m=+$3e+XRK@DZUb( z!`L<d!o(BP%lziqWM5jnzRt&^UgSYCW7TYi_Q};-w#YTaiA|jD`H;0^4?|$Rva0_T z$<IDcnSRmN#FvXI9F^A0Ei>Ms*IU;#Wqav;-fvBHg3;XiqAbO4mhLzh$B=%gC2aNP zZ1aiR(>Crq(Ys&#*4tKph8;Jyz16lpX*E&dc=HR}2A{JzL27(EmWUtN%#;(<a=hn+ z{<q|R`&%x_7$!T5C@NV#z0~E}UB@>u-ek+Rc?=7SIg4a2@m>G?_Te{%3a$z9f)`_z zDx$QTgIpA}XU+P@F!8%fbhJO~<D3aH>=$ldxPLxc=m0m1&AF!bHCnIZCKr`mdvj~< zbvM~HGp=v4mg+vMw5a)azxki)Pnn;!qoeM8`fkmz-2B$JM7PLv;giP|KIJv=u@qcr z=sV-FI%%HZ!N*>g`CrRC*XLYn`7r6$JjwnU9P1t{u3Ejl*r-!_mKdvE`0Z_$S+~U} zUz=W`d!hQ$LGF3l1$&tn{H(gY@8qRlLL7FS51J)p3R2Wr&I_EB?+N;Te?!5;#Xpxs ziSb>G4QnhjDu~?idcr;l#*0VSUT%Hrx8vs@WgE_8hh0AD*qljlG?^(md7%Mo(|5sw zE!P>&xTQ6G*!}0@Y5rVa-+sm!hV?HmG0PtRDI!=a)AZf*R{FywhmuYIc~AJy@xi1+ zZk_qF?U6^nRUGu_of7N9*<r)?;A5lRl~9!;hUG!+LIpDf_IkSTsXp*!*%NrF_~4T> z`~PasIh)5+#<hXj#ai)`Qo~t+%Epd)>PzRjhh9y4_wwf4yNT({Onsq|^O!cgJ7;~m z?!G~Y$I2hiq#|P37KQGz=uCJeRC?{+tgDNzJYS&UT#)+DpJid=aRUwCywrLB|1;Hh z->%HxeEg8_f;F!UrG8Ba4>O(1qF6ua&>vT(cc-+NXL9^_wA{^A*!mfJJ;O>n(Zz{B zl^nwuHymT>d?r4%_=bl`VWwPAL%O!hBF}@<Cp6`T7yb16s#YH+zj9XMsx^CevR%K- z{X#3}-=&!kC8U&&XdL{r)cc{uvEsPQ_$x7I+Jrghb4=qo$g8U>TD$(mqp<kruhwvw z?^qF%b9>#ZmFw1(S5+&Am6opBzH8U>Wj8m+h6WWsE<B&vs*v%y@_Ac?_KD(k>RYy( zRG#y`xMTnQ)z6p7&J0#^OEx^ewL7U<l+mumCAskY=UKj149)Dz*2k{qzr7)`XvwZy zSH65x%egJLW#)Y0?$pN}yCzrYo)ygwZ@p#C=+E&XZo1dcqH6EcxpJj$pQq{1cToyU zH@X?U_|BY|-&blET5Zhb$h@x5`87xFOIYYtu8F~yZ|}BtoVB;>+Uommj|<-~Rd1N; zyi#0n*5-<jjT2vGJ-*8R_tyOPM)MlBJ$u%*b*A20<BM&ZMV9c~a$B;WU0~kqvX;8r zo6pNlSUEk!>E*e9sh$xpFNr<dvTfO7>1v(W@U&x}+alf^W~o{tu+eQoJ*UBD(D<O^ ztL^Q)dFNi==lwRRT=S@`+}|W-hxa@?RKBm-?i0Q4^~!bY&h=eC{rv20(cZ0IhQ-(S zbrkFG6-kiW{4@OS-CLX1oILsJ)yb|(qx2JILNj~5><bmVc;w8!6G}?lnL(n5?yTKZ z&upvkD$Idj_^nUo-p>rrWUFUZ9}8_3IQYvnTdU}Gz|JtOb-OtD8a#f>3anLNC<(8f z9${juw0C~Vj;y&FmJG~CvL?-T{PgdHcoc6)*v=IfHN5qvI3E=2*tp8&R$Xgg8td%! zRl153Ub6f#sqX1zj`=n-@bZy=|7P|-xNBc0GVAiwm7;g^WNtD}+C9;<v}k5;vrxv- z2^o%|8F5d-E~-Q=)K@m@xTWPYP1JGG&Xt#IJhvR=Z%#fVR~YpC`W4@b3n%w68_x;h znyqhdE@SQ7B9U6q^YP{$k?pTH=1N~YT9|)v2G3!0Kh=G~%Zg6Cww?4LD67X!;NT}^ zZ$_WHTQWn^>hJbQvWfE688B5#F6xM9kLG)`C-0=tm5NE14*pKG6MS^_vXEE#A;Y;d z_j_ko`3UrHbUHcV_Le&VFU=HNwkdU<R><f%dceiQ<Nmh;y*B4{?<&sNRXDk@A=i1O z_}j}tB2SN*PgRIw)m#!WnfKNvyL~wao8CIkkG4MWrC{ma5A%z2fBR_s<>8t&^U^}* z?P^OE7M6$y`H5@tPA<A6FX^Otc81zDhKB5HU!e-#GwTcg7jDh3IsIlK+pc~ksXMnV zCaXQNxM6*6R#Ony>vuaA7k%fij;@^0700!Fms;}v`QKhoS@bI2`fI0i$H(3;dV9{F zm*V}jd)oe+`VX4V9u}A0IZ>#t?k3x2cE_}PN`B(In-)Cu+a235+4IBYH#uszq(YBG ziT$_uY_X(7>-lc)%wLTS=NnF}+w{X(yZycy&t3UhA(!N%1T!DL^6zDqPZoUn_U+ES zyH=-pmFE6!zWI3NJUI_9rzBmM4nr>67K67w|KywAaLsOIpQ-CQvv%FSX}S>){(oXR zvu%1?Z?(w6*9)4x_8tGT)LXE3YhQ<~#Ba7M5_?nqkEF`>r`@a4mP%TiaACuB)}J*x zCujAR3(jRYxI1Q2Y$VS{Hio-*n^{|PxBWG8lq=hr^8YToe`kyB{-POnwN()uiVO^0 zI~N_1641JSs(W?XlF%IUJB)!+N)7MkO%U>p4|OTuV94)qF;PKsO~T;@U5>_2u(bg4 zGfnn!ZJQL5-6}ropLXGV7w2#L%@WKNRMkFx+y8A&hvn1-|EB61C#GMS(Ij>#c)k_m z`<?$23yw{1Q~K+1>IA##M}LMrd*ekz4#?kHutjx7kyzNG-X8lcjr=9Si#!{Xnd2wV zy&`7z?9HrSzw8TpJ=tvxdD><7SbQ#iC?TnIMC0h3h%@1axjhH(RD4tmuRB~Q9$Kb( z%+z#2UVe9f?N{&Y>f+7oJ6DFO$=a4YK9+bg_|nm(mjkAG{#FV*J1cZj=3|-L@f#xo zgV^6}c9YvH*TvG(a%n^E?vzPyrEa^Oowio_ho0TnDL+3P3{c;7<(l`~vuF3aPE7l~ zRnPD9%#78iw~M7enzmN6Wrc)KZmz~X?#5LiT;<aZwO&+2`}b-D73;M!tFKKuy`nJU z$^SF&%=b;bv4%xiJZs7?&FW86?es1;cQ^HN$uwU#T%VcYBARpbM+5hS6#*=P3++1% z<<&0zKP5Nyp5}q+_QtPnU%P+Kk})=PuI1Jwm&cOrXWCsqteDQltEXk6sZ^D5aiV4H zInK`?Twd#V6;3Ok)4hM*Ov|gcf1lO7@p0LzUAyd4-%ot?woQ3&g(0Z@Z@B7V{yfcA zm)(v3ex6$va`WuBQyEu|*GnGQ^ghq_OpDe1@8{k4W%(k)D$h*rIP~_BgUOcd&b=GB zg1<FZy*wk3vvk2Sm(RB*y>`@@Z>WE{UxcsN^Ha>leGGekt$t82Jy<_vpUJWB5er=e zlKwa`ta$e>QSn;CgqYPb>;5avu@paC#G;Zp$=AQ`s9>(E?-8p>5%bRdY?ScWAgXlp zkB^OWlkS7JFXUF<{p)$@*VQkNLK^@7PEWYDF?m_0ZS^rp3#Fe~eNQ?M+`1Qiz1B#f zT-0~b!FC63r$wHIDpJ!u7ER6DHuLOu?TunBIj61Dg3fK$>MRevel2G2-d7W*Y&hV# z^up=86^Yk)_Eg;LDX`%YOcFV~?XBSbYL~|!yYAiBPf`~wsLg(D7rEd3>^$C}Q|U7e zT&C`Qz1Jq;l*_*#H{|=S{(W*LI$yTxX8Bi<(BPZDgifyBDKxwBzFVD&XCUV#J7d=i zE8G1xoQ=I>wdBmxMclzJ--auTW@I}sy`7YhwDZ*7i`)2_KNL=XZWH#iN`C*7OX>PM z66P!HaptK#vwQtw=GWKON^eVVOIs-Fmj6ZR!L?|?m#bL2*+drfR$lx0>gW3{`^uin zT&&XcaAjND!WL!7X2K}@WXpy3QqxzKKbWt2?uo{~wxcW-91}Vej&yuHx?E?Osl9*n z4?zX-xmIeoL(O*Gw7zc7!xV5i_V(}d#rA~{1GD9;*j&2V!W<`D-Io8MIjD(C#OP^> z^*gB$hnOF?7A%`nX}`qb2D4;ID&xML@0|n<Q<l74y4K&+*Y=I=9M#)FD^(V}`tT`r zVU(^*$Hs;&k<U)#*)2J=Z(4Ij$A*ggYafgH`tCcZdTRTO?{yy6wmPp=n6LXe;;z5n zjcvIe*Ik(>KFPcvzni~OHtg)Ir?XZm${i0d^?tMclC0yk$qawWZ<+YiR!#n2p2=v{ zej|)|Wg+Ja!@tVed@d6@PUo#)obbUj`L@|E1$}WHo`ZoGEB>r~d-m*qy`^VzZ?E&x z*n6w={MnNFy5!3-bx)TX_dPFPYU*_N){mpLva*N&otY3L&39&2s|dsE>~e-A#{~=W z_qiYGT4OR{w~pECg<t-21peeOv)`Ycs(gb<AnmZ*hMkLo8@e4T8m|4ZG5#oQ;MTdd z#-{Wgr)AUIxv%BLGIG05d_MFim*HyORl`63F0je)zv9n5aMt@{yVx9;V(t%$JAWI_ zRzGkx-976`>*4z)JT0s_JUxdiey%#-o*dU9kjydF>@<(bZ9#+Dx3})JPu_Gtp69{t zz-gO)L`kh(A>Qn_iAl5ED<^Q?>p4Y{vpfZqGI^SM7(I9w+H83*ZT;rKGKRO&hRzuo z$85ch1ZyfQ$LQZQOv|%*clxs+V{x+K7SV_0YYfGj<^9(yL|nWRbn*L^+}qd7<Ck9x z=&9co(%F>o^^T~vUw(FuOpwD-%e8CU%cXWsZs^~sQn@g0&ezU88!La>S^ev~@kdVV z;EtA8@8rU^M*VM8KC<E9&UZl;TRXofnJ3R$=BU4Uo86itF-~V}cTPNT)~7@v`9V<+ z(=u)onV)?=j&n}&l&;V|=CUQBNu0IFhEwiEwbgs!BT-`hbE}zr{s--lU1X<p;Mv8; z{JJ}Cs<FBL(z*9$v;MDiht2-ylV?8GNthOw_Bm8L=xg2TS@9mfqlK4D(hT{2?cvka zPQn)i6psl#>s!=&=8ErZt+MxJxA|PQsa)Cj`>bj1zv!Q9r_JXS^2}V;zq9<~(Hm2g zvhJ_t6fHEVKk41ru{G$Ttiw#R@}pgX`p>sLd*+bb)F9A%v}t?&{DKuq2fC(BORRMN z82X%Zg;kL}gL(C%{zcorZ+!9STJiGrvC<w+;n(lxx+ZVzcS~M-KTv0OM@*-wz{6WD zmrh=^QtvITc{j=XkduV_0-xnk_Gi)-Fbht~KHM9*`9Vy%U<r$Z+5^VU0~)Ijy9Bjs zAGUwJe3_=m8wG1?(ODZm{gb=P5`FQm>Wx<`>znL5t{oS8(K$!pJV(Jt$=@-XtA5=P zUeKW^c~>;k=3&6A2!{S06Eidx+nY>jjhOt1nYUo#_1}{+-W{1$c;@}q$9s-$Qo4U4 zE`JgqN6Yl}a~jjv+bYZ4cWRL+wyw0T`lK{<pDnwW>G8N-=fl3AdiG3kx)Ddi-|ab? zFXcKJ-j=Olv-zOxa%al2y7jBGlnzh&KRfsK{?4x|?yiyBx0|rO;cvOgc${_rui(QT zzg984S6z7}Pw>v0d+{$hCfu<ueY`C9V#J@iL>=~rRZVA9PWUuDW4fZ$a+|?sQa}~E z!+z!`Mmr)Vq-=}VR(XH8{@o6)-czT{rnNNk923<LI{54AYIhs?M1DC%mGys^66|?i zH%wQUG;Nc1@ZPDqR&yiHi9Wl%@M>M{<|$vyd(W7&e>GrS`sTr-WG|~fYKx9qm1rMx znd0!^ebLu>t5=jKZOT7n^jl@)w4?UtY&qZmySLb2VjM>U$Et0zH5=@HPMtp4oa5xy z+S%rkd!|ng`n!<V;JHj<ea6r9B^ws+ICPx-Zj?fsFwd?vtF(&ze_640JIJu>@AqRi zKF7(vML_Y`t4G!cu3Wx%CuUl@Yx3HC{%e**KAYFff9#0v?V8UErZih_>y`c%$m-fJ zaV6lX$5qZ_KYn#82|#C;%PxM;kJ%?P$LHs=?CdP2Q&-B`xp_bC$X^~38tNR?e66&c z|GC-u&GR`Eugple?!9d9uPM93*m_S-Pd>V*a_Q7F26Y!!a9<F2ZMb(*cy@OA+kZ<K z-hcP7l00zJ<>phRud`jd1deiXPTRKK#MJ%qTGrbi_oSZQQ1kCkL6aV%cuWCf)uAK_ zb#6;g=f=&q%<1VZk3)8h=eCL;YH(;P4s>?CShX%JU+H1>1jEUvTT9QF3!hEruo1}$ znc*oht7+|*wWkCwGclgrk*7FIbHVA&N2D4R{{K@hc(`x9&adOF#}iMzF7f-iBX#v- z4e#1eg?K^by{uPLU1!uT^0{dB`%2zZ!`m)yv0)yCVIS@`ElFiQKBIbduxY!S(ly(g zC4I>ZMioC-eQuOoD4EeAkSyA}amITSmt}L#E&VGh{qh0V)Pt)cH#6liaC)umayO9G zypwbLrN+CdQMYcEE%@4d^=9an;@>Z`uRAdbWM|IH%+b7_bGwZzLG|Lb8!w8E{jP1F z9L0U<qL5ebtfKq2sa_idb*6F|R8@S}J#4e)z1R}zD{pSyot;uF<gkBD#^#1U-Y#=h zTb5<)xw>`Yj1aEN*Vpl?zZCkg_kAtD*UF93W|l4ue69g^?=J3&V0J3XEqQS3^MjhN zH5%=XlJ<e84(0{^stNnTDO6{w?^Y^*(k!IuY;VZqqM2o0g3H@IHUu90ohP!0f8vMo zUwoWD76msHJ~{kgqOjkA%k%9y=eVb2F3lIUkQaQIUh8SVSFk21ZNBP^TsGxvJ3ee= z%)DuFyZ1$~QdmmWs%tl=ep`FYK&>@=-HgWRY4gPUq7|Kb3MK0MKV)b>zH?FT!10M8 zGx%2us~a3-V_fv{hn?hu1-TcMLM}brKmY#9H(W~>ZWX<Lzan`-bzJi88M_LT52W6> z5p~Z$ez#bxmP3fW{<0(aFD-kzR&q9aR604YDGizOe^umWhpVCg4%)Ho`*;1%?SBT7 z_pS3f{;xx0@9KGTjU9GK9ax=u?x?ZKk09C4*5P_lKPD^a<=xv;C@eKypI`lz(1v$? z)*I^1&f2oo(__<H;S<*$)p;fUeRWm&RrFb2#hqqR4lP%{#y2Q7CY}2k9=zcG43)jC zXYQY|IQdHX<|oc=`yz8c+*kb>tGyvhval)l!ylg(Qzpx4F8?OlDta|^`$=#2&AME< z{E(oRxp-QJY$el@d-_f9r~C92GSp`{t6jX)%(bBBh!oev+y;sE_bH+?r7r$R{kFr9 zPh;uFQ&Zz5inAI76rFh71YDhOUVr5BA$+~3t8CQmZM=c5XLd2EfR?9sRWg1`y=|7# z^W$Rqjg>d{hHum1aZ#MW5SGq#u|lR-@2U0exUP&fqNZN#YHGLMwk9vrKbM<(^vZH` z)~v~2<CaY2&(>k=Sh%TApK(S}lY&(D;*DFcmLJ%dE8V+MLh4cBnb<u$-c;sg=dctD zFikSJ?tE3t?!E7U4XcuFOGz{9-xl(+7N`l%%D(63B+gwR->^<mfMG7fKaCbOR?A&` zm;UV7=6ZJf?QL%v7^G#N$UR8mDo);bK;?F+_cVoFJ47#5*gS4iU}3nkKaKZY^k%l# z)>aFqFbOKgoa}e(aJYUYq1K)K-Hyk7fwRwEcz!G6u<7%|j0^JjS^xd&&bX>=7h|dE z;hn*qQQRxcpDtUm=KrP|;RYwWD=rRGeyTlvTD~?1v=`}B`7R0hoWFn8mv)~h6^NSp zeowd#(>eRnJLb#N&)ZA7-}$QSu;$FYzHbwjeYSXNqcP#X=mN9wKY#yAY&a*q%YMt3 z^G?T)UVR@GP@mCycaP{NdGi@9(-`;9e9Fpddw12P`g6asl0DlyZWLYp`S6B_(h<9s zbqu?8m6yFapSo?ql<&3LZ!hfHyHm3G@kgbT&W(Xm7bEuM|5TJ*8hfu+D0v0%os`=% zc3Z?rZdDMp5OaQ@JBMM8?tRD83m@HD*z;grpu=~@AFI9h%{#YGe&Ule7OkomKKU!m z)ACv@V)ENG%gI@X&tU;$#@dY~51mZ5Y(HEi^F@led#6roggT$qLS{khGff$LM1{JS zTRJHTa2}|=m@ZtoZ|@Q(`JZ98xGxGUxXX2?_So8(Eex%-onQAm9)4sYvh?s8iKPY? z3pf02U=En?;b3@J(D9H+L;xRS?%A`AHF3|PJj?x^II=k+KHu4*{59G<r((17HEV|o zZI4$6Z}d0(Wxc`N+QPKUCB?kc#$Rc6*o|*#>wn)*(03>)v`N^l?qM`lvRd=4lSk_G zbxe(?zNs82$m>?&m>Si(LC^V=&wM-C6|0$z`)@wbf6VH_^6Hh;RIRN}98<Fwi#(h4 z`CyoShp%4L3Z>WnId5xL3vFaH{2Q9Xu_Qow{%5^2Y+L~n%4-so8E$AS;1|pYy;mi6 zsg$AMpJt-+sR!}#7Tgn0#5MdDNn8@jeo#hTY4)k*7M~4or|eG_HTa$KuD(a|%*+Os zIe&9+NL=2Q8-De6NXx%F%fpN>1c?e|D>}Vt7Km^E)-+pdfx_;CaS!${Ty!eG>(;E< z-kZ-&YBJ0}CUYxlmR8yOsk*w(+6yLqtDMx=VO3<iT698W>p#tD_tWnCchz~GoU+_H zFDHv@nV5^(8&M9;!yU&SEqEt4V+wQk<uhrP9A3A#Ic9N$&i|RA7x`(|dHFLN6k^Z) zJ9yIS?y-PH4qv@zmN_Uy=y+)K&Whcg7{nLUX1pZ(=e^x~mu7mju?L&y8M(bo?|kCU z@>7a)nn0o)N4QX;9OomY9gGX!bFGZ`%6<Dx;rm)~<Cb-L0;eR+Q=^I=esgqqvHdKl zH+XpO>hQ<=OtUx453;=J=CP%hPk<qa>$SC2!FvtU|0T{I>w42-3JuSgK5rILl)mBc zu~9QD%h38y9P7;s?i*Om8D&j!LgplVj$a~P>8yBA>){&7jBj47`#y*yT-%s<Te4w! z+L;6U^?rriQqpwpaded{e^q^-`vjNZ!=TQs4;)!-It<Sl-z@pq9`>T@ochHIh0bF; z>(Bgbkv=T(xyQgRAvDxfu4sa1+Iv>PoSo0OD_*`j-`1<{(oxIPD043SLVBpc#q#F8 zOCCMFaPN-HiIUv=aR-HY!q16^+kQ5fCC_=QmSe?6uG3u0o{5+(*1G@FE{xOq<*99} zs>*7PdnhTqGV-&vf7=n5S$6%}ot}jOyQj`-mkGT&XHV(jwt_?a4c6~=Fn=#Ad9bgK zZ_n$q`E93W^|ra(?pUBT_0V2f*&XE~v+Jr9RjwanI3s%bpxDx<`_3@1Xf68xFvs$P z#Dp`A9z`B3v*+L6x=AqSD4W*@FaPtL7dxGdx<yor!d8hjbo+5hck|EN`-7+B@e_}g ztJdAhTl&Q&(atv_PV1<ARNzIcW;Uq_PAXCLp;FI1ww}qC^jNfX{bQbmYB~vr`J^vz z`Fr73dBn6jrSi3jOIkjjx(e<j*NV<%T=eCt_tQUxOPO?Tc=GalUf8xm^Dkq*%wxA| z$D>D@w&gDF^F4Y}K=IAyBU0LjHnDOuEzRAY8$Un(u-^-vs1U&>-3*1Eh1+gB#5xr^ zUcOLjoR+Y~YHL=0rekz*@Wo~OB^S<kKQHb263>Ij=Pgr{a23_oZg+a`@0|Jjb=dl2 zdu3%K_E(vT6fb+{ylCyD0ETPjCE!AR-|u&Z|Me7)F{Pbli2qz^koxAW>jJ);4;fy$ ziS222`4?i=q+76|`Jw6!jtJ$wrtXtZ9KJcTLts{;Sa*H>%bY9M%APNJ-eIt1X?<o@ zVGqZ(K94Qu8248;Xr{lDcs@BJXoAaR8=<xKKd1eByWwYda>^{xPMw*bvQBN_xFKO6 z5xu{Pu`H%K@rH*}%Z=mWg^pr3rXKS3^<_LECS^8x-nM0G9=T@=A{O^WE%~;3{fo4< zdzW%fHF_I-NI8cqN|Qs!`*GW{M?U4@dReO`M6GGD+m<0%GSf3G+rQlPv&;z_k$2A) z=AJ#9`7g_)NXR84{z}WYX=z_Jc+OrCWOcyhSe`{W4~s?4hD}Q?g+JbuUY&MUOH13_ z%=F;O_3KZ35cuS{H2Ln_@<;o4E`EEreUEDFiktO{ZTAd170y^X<;J=nxBFbBxYYJq z!PAl%(e*5;yDmqwFilzXe@5i<8khCE{wE3k6I<{qrdgPWBgw%f)7WPH0k%}`A_0XA z$A>EGJ03+Qd{tic?%nhdJs!`k3m>eMG-hDP-}#nNB1LK1)m3j9?B36~A|>=|TF0Ku zfTt{6S_-U8QVIb9jsFTomwedDEW7p8fd)>a2j|~dzDiT&E-SVB-+SG+PTH88p^d}Q zx=Ht9_u)1{r6YEIKfR|PDy#`fJiH-IOz{5JpR?!JRoyt1nrgzu5V0YJQ>NXxZsV!H z=Q8Wf7GD(ly6ooW%Yr=G9tPXCZ&`Bsx`csOf0#SVl2@+_FTc6Dc=P6y0>6bA54B9~ zZu67arW@7rI!9XYQtJEjN)1v?w~BY>GAnf)o0h_4HH9rTbRO^fM0Me%*LKUE+n9SN zKx2nvv2o6AH>cO1zUwj_SQ`HBtZSWz;zy~&87Cg|GngDpO3=FgKszy@*(mve`}Uc} z>5sOi7^zorKC~_93c8T2VQ?@&a8h=%;O28o%m=o=Z#~Ks)(};?pCiLm`fGO3Gqa#q zOX^f+vPZhjY^{sr*tTiiwieDW|1DC_F74R7T7N%_8H1jsWe&IMBl~zO>HM9gx;=eQ zG&I+K>DPU1b4yu-`AHVTsv?zHJL0sN_oh})%CFqd9?QPr!{J*&(_KQIv^J~lQ(a!8 zymaH=UjZw{l#c9(ystW0fq!#=*rArh54W#qvu&-rcW$fPw@;C~3KH{#H(uX#NzKs7 z`H#nZK20x|7x(Jx@6^2A+PMBo!uedq;-9>rt+E#dx_4?xXP=JP*L!+;^JGsB4z8nb zmR?Sc%J*@-IyJS?Yx>JSOT8z0NoweybC^&ZcmH0D+~;fSQ%^mgm0!bby1RV&?ZOL_ z)Rvf^nc3zq$yyV=GS#o;+nM>BlMN#zr?oLhvI#M;btYU_Y_HH*VpG#4dUIm_w%jwh zxo3AQ`FO*ps%PcRvaH)>w^Zso9(M{j_%sOFls}o6dHM3h8O|qGw|OZ?gr)fGetyGj zOOWdwL)k^n6Z(qQXJ=iwc0<DNhv>0Yp{v<st$$zgUii5tx6l2QuZx41qu|52!OQ#p z?Ob(+!?ZV9cKbc9R6eFD3bNBQbhoNJe5v#$R^!(G`z^EV7xP-E)xE4yPt#fy`cv(f z{l!;WNk1Pi@O;}eA!IcR-|u&|GZUC<j|cTx&YQ8H^-v%)`#GoP%zOR+CU>!CUVC5u z?0u6;)c<ByPZLRnwZao^na-?QwQ84oc^{+Tu|5~ug!3HQb}k(PicAVww-rt^bu;)V zOqC0DWeIC*@Q^8R2vmvcFp<iUKDFt9+UJ9lB~-Y$*c6;}Kd-pG;KsJzmg%cHA7r_e z&&_3?$gyhcv98L`ZYuw;-!RK!e6dQ4LolnV+I>rpbdK~Ik&v?1Gg4BTR~UYOdA4QY zUfIx-DOHurM1;P6U0lYKxnX+46!VKW?p=zRxNn<yXhYEgSBABTGOWESyAB(cUrBy; zX6B7|77kid!}8yI>rbEd$*Gg!?%m&ewASkIxOW&f<=<y#Wel0WnW1dWNw1}OEsMM_ zZ++{#!Lu>>gVnREbK3kiycJ0>TvdM8>EubZ`IZy4*k=^FMO+s>BE5gJT-Vb1H=lQ} zmr0SWc`$8tM~Y!Xr=!OfN41#}9{W;XZMl#i|0#EaWX6B*OZ6Kbuq*xg^eStsZgpJC zLLKhg>-l{hoLe{qm0UW4%>Fp5UUzDd=<YZc^>C#t*X^1PCBwg$yb~D`B9y(^ov&Tf z(bYM(rF!XtV~v^VnjB}HzKh0ujQntGYk;*V1FypZopg1N+KCFUTb`B)_@3M-%If1# zoU?0sWX8=u>v_FYTy{*Jd`@Q7rfrIrn&ojFPFrsoJY0JEJS)SVhxPAS8yOkzReUgW zU$F1p7pw0ACyf~O7+q4cH|YGkU@*f)c*lgoI4(2BmK1HneIhH@{p#en#K_Aaz-)cr zhH-}As;f>APY5VFu^hfrv1h?mH@h1zHY{)wX)P_k^Kf?BuP-k*=y0EWm32U3!?nz% z5%<_mo#zSd_!X<{vhzUO8j%*sY1bUm(>>-)?FiVpP5)8!Ye%jHZ^T`d48Hq?tjgl_ zh@IIT{BBWzbQ!DkLq)+%l@;or)+;l}th(yP(_UAuYhf8NQ*E#9dy^Dhp$}j71zJgT znqAnkd4guTqR`q8rGNi<JokN}mpgN{=k+&d<{B_LBwzod-!@fB36yx9rZ6rn(mfL4 zXd>5cu)yPiMyqsphr{f==VE{Mqzg7|o3>$ZJBQ&tL9OfGTw^NrTv%RRlV9@HRViRq zm3hPJ$REGGE-)@yna8!&@!Nx`!5jX@iHHeY&i{S<tWt;K303vhQp=`_kDIm}dOab3 zJ*&^W*1XWK!BR6GmMphZ?3%{-W4?kT>mE-N{ZDJ}%d@^e+;f(zXk%#XSLwz!gXekM zs_&&Ho_Hgm2o2#vj-(VN1z{8KTYHS9H=1sqALwE*^8l}v@J#_Hk0rL=zwBKOm8NwF zC^CqO9o%O%S>R0gIkxVT7AvRwv|e7U^J}icE>4E$H+q~tU1Hj|^_Ra&+~i)7KgP}X zyC1kT*tz-am#vr@@}9*hDfh~QtJ-M~u3k4=dR9B~(nPbF3s<d{yEyG@qFC`9j{gxx z&u2<1{k{AwUVD=5w4b&wcI~@A=eu=v>@T}XzNd4}oQ>T&*L|hO6Z1LWdzKV#sQ&j< zaibU{v|Bg~{S=$8HNNEErt;Eawo1bWhsFgC0zu6&(<|&5RtT%>ya0Lk)Ye+L&F5Mf z0`BjWKg1y7sQIob!Hm0HW09%Ap3|WRpDmB#UYC%}z~8m#smiC{UsP+KcQUL?N;sC8 zIJejBhS@fzipRREC;CLrJl~L+A^TId;lAWM+j9o4oIgU&sn7lrf8vX=(b@1tU#ENR zin;z>nn9u>iZebZG}L}u{3@-xM=aLvdXqCt@>*mE$T1v(N=GW%I0W+7zA+X_Fu$D` z+0G%T6tb>Ye8%bXjMCf>?1Ef0|C-O6QDfh5RKQ}Vr$)Y0QRs%BD{uYsd#B*E+hPXS zp-7cazyEA@$$V)VU*YAkrk8O~$ye1IWq(->)TS;s^VU8&rOzhIb&bFCmD`a8%*OBE zEO$8_zA!Z;bIx+F*TFkEx#Fk)o||NN)>c3A_zI6FhUex9Glm#})|G<`5CKJ}gmaHl zr{49@=Bnjx;}BG857=ooui)v-1cs`se=|F`Fl71r3bD+V{UsM!#Lc*zCuFf;z?vpq z&IjU75$)@)>|L??)gq7oYXp`qe$`TU^_W`OnV&)o37>kmH(Ll_HC0|1F7|J+i}{;1 zFXMLHpSLPFqCij~ow<W2Xp!f>X})X`!u$bSIvrU0JC22hhNU?Foo%u9*qI-PJxpRn z!+c<&=)%F!5X7e?v|oR7e`bE9fLKw7fa0%Xb2e}slRtB&_`uyzNk65>-DfAIKl#7C z{J36`Xrau3{hz<xJ$72s)$s^-*WT9F-UYqAT@!+iDs*s8a}zn}72(7pDAL*5(WMZ^ znES5Ypp_#`Oi(w3gT<#uQSs#4*&A=jY~Q|9nDwIa&zf0J_tvhTDSIz@-|yKo53|qH z(Pf|f>2Xr)ty0k(X|r=v=lH*xzV^w|GSlxWmH|<A`llaze`fUDS>|2)kMs4ayA0>{ zeoH#HuTJB&v#<2Fu%&nFGT%>K_x}2?r5BCwURb-$OlIBIwO7ORx9rT?9JPJj>T6=x zGiJ;F4~VYb7XM2A_3nSaBTJ*bS3B$R>5AVMS;NR+VDI;Hd;2a`RbB1F6Ux<_wl~b% z&%nSu*VDx@#5Ca}=fSgY7jG?Ds&+Rme8u6HOD|@8ZCxUpwbaI@dh(fl`JO?iCOmmQ z<x{TrKF`;F&;Hq}pVkjwW?j1RlGiJXlg0hnpQUe{vYx+G{#vkk-Ot>z-+MmXm0i4- ze@<nA#H+<iPb;r|x^PQb{-lqGwysr)zkbUuQhxsbq@8z6WAB)L`Sc{UmyhB9#*-<N zy6?Wwcb8apdSmpS!Y>)Gwnkd3>b{ldZ;X!8+*vANG}FgKW5eau{j={?t6zG%JN26E zDL2(yYqGD{{oXw9Z|$c1Ths4vjyu0>-M^@Bb0X*O&-?Am>lL-~<j!d_m0s5Oefs3j zpOSwZxqZg%ISHrTSa0go><Kwva(ZWRsnwR<!R?o_ZW`<U%&go~QdJf^yE^G=%)hlN z@-i3CF?_I};iI<m!rK_pEg{+W#GE#G+txmEd1qa!<!O|qyLD^H$()~au3d6l?6W*J z?{sLQ)Q9by*Kd6J7_J#>fBO2f!<&N4K2LmmXiICcuIDd1%Zyv<CqHfEpS<g%eB$k0 zkuRpLJeK=#gKmzJ)$Z@7HinyMF)%RfZY$`0{bl~Tvqe2W?`;&^kSn}us*0(qr2ph* zb`u5bsLI!WuVijF++Xo6@VWDr*N3-Hnlx$F>Em%%8yH5xFbIJIdf(JnPMlab<J3A9 Pkas*?{an^LB{Ts5Sn0Z2 literal 85734 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%0Dh+)HYt{b6W1*gMu}T_p@W(FMFfs|3=N9 zH$mXxp{d#n8EvL}O*fIx>iwG3-MVdOpT#TJjO1sxQ(44V95ecKx8L3N^;XI!W0o3| z4exEe=4zR$g0qn`i`jg``}Ke8rMBPMDSBXI0&fJ*CL_z!CYMh|u9>=5HMB$X=lhEp zEFa&=9jUImaQAL=M7elUY@xu)Pn>p9o2Ojfzx{yUDdFvZX6~41^2RQ^=T*nTx}tA^ z?n$2E;@g&8p0P@x|23OvMjKzJMU;QW=3a|gzqi$UrX4JYxJ)j&>epo}x&4v{4mG5G ztXQcE&I)o$8-ChdR9|-fUX}Q!Yw@?avVMA&Jd9t;b7c2!f%mVR%KiO3UcY+js$p_| zb(^*R={JubU*n29(3iep?TRqX9fi$@qCGVK99;EyLFb1Ot+x`b!7bZnJ$Cn9*!yYP zhM3yNyXC4*7iLN}usRCNN>52iS)@Pn4#$J$gEbEy99}Yw#ZiDov7+O^HKsE!H!c)# zx92IS3yX`nBieiX;@!Kw>*mRoeEqg)_jdL!kx%o^e=dHrbGyf4zOrk_`r_YQ+SJ}1 zx|iYirdZXAt2}WD;*nEUAGJuk{l<JT|K4{i7H`myJN)^ji5hnuOE!nU(w3{c0^j*v zO<KP9!Z8E0(<ih!njXk|y{^CJRm;%8mGF(vOGW78#EBC#S89R-hEHk3)~5b{H{ZW_ z|Nm+D#f&#+K(2Xi|8ZWPz{)!^bG*_YH|1}Tf4*t`_q;1bYp(?bxGS#xRI_ff{`_g( zZBrY&!`3o2fBaIi%8JqQ`QoQew{zH?K78C~xp8jps&<A)hhAM2m*4y3%l}E|^g%9B z-hThzn^I<G`;=$)TuJ{n-M!n+P~n*61?osPHFM<H6<$>CZ#ic4(U>PJpXK7uTbI-| z4xfmg9Z-1bt%;=jTNS^Tw>hD?ysX;ot?j?m^?ei4ri*@?w%F+4S>^nQLKCqg$rXlk zk5wG3I=k}jxosD&X$rcpZrOH+x9t6$jeEY!=l_-b|M<H6(h0vVR(#pOUidjWW#<Y7 z4yVobd!y>5T^dDh9Ey@>6TAVAwSbNT*A$l9eDd(G+4Y=BZ6CuCai1kGb6AgjGE)t3 zV+a@NI2iMEb#eB(z+HbP-TXXv=gc{`BGzp5{ipT$nvbUo53~5%7*4hiw_j#{e;d$Z z_P%_h;4QcE_k6}L%^50~H}BeMKI_z@?C&;=hYnwOr7m*nPs*GA_4n2P#tN_;l;)}k zU^mGZD_C)50=VzTEqEiQ=vs1r>&DwP%*}d@&%8BUpBua^_{p=YWV55Gc85~Lg61h^ zB615B2H!aq*yrvod%gPWNjC9!_in__TlHt1=}w<7dqj^fP?tK|J(K5{>siLJQCS zjxFN5WngL8Sh8w|%JfBn3>?fB+&<}z5;?7F@2$W4Tf3qDKu%44Q`tWr^Se`~2F41o zEHqO-eE9r#)ye0XB18{_Z*E@F1`e)>jss!M#``~So~(0iy6{TxFX!I0y1Zaq*!I9B z^>c>#A(5Ro9;Z3UdszIae8gZYY(8n3OGI($K7YIGTrN(EF&nhf_kP>GlC4&Ex4^Ai zngULDZGKB|B>sPQ_o;ZF%iAC+hI4E$a+LmVw~a7cy07fL|ID9>sTU5j-`o3Zy3sA} zCIyRs@BU3-(%4`qF!`1s3utgcktv!}-1d`4#($R|G6u0HFN8;~@z=7DWDks7a{krL zP4dRI3qM@DkvH>^+PS<FZ08Rq^=8jGYPKk9>4Rsc`r<OXnQSL&#GOkq$eQ`Dgt^n= z6<2Pi%#GdKcPLAhN-SQLcl+ppr3x{tOc#G&9X(I|!uOd!*<<h8+E<uX-dw`t)TF>+ zoct`9@$7Vt9B{wb;Mv{-Wq+9ab$VyK%2JBi_?_Xepy2l@tZELm+Q#~goF{Ha7Js>P zZD*6bb=^kq({g%Yl|8jL%Qi)<)?5<mCYD;JdaRPSNPxS&@ZhPb3=Q}Fe1BSH7ih%` z-s<Xkcb9o>_q|39p-hu@ZHWs0j(f(YrZZptePzqv{DSdX&HW?Q>+h=CPi|5;Q#_CF z+3s0TH<>(JdZ6r)Ex*3v3T=^)rcFC|S~e^{I*a$U|CJ{{oqTWf7vH>IZJxC=?fvSt zHm*}AguPTfcTzt(bwV@S^zOKVHydAYwSV+dYpz}Pvc9(KLfGWm-CkStmog~7aW_k5 zSjX~OyYs`-d+YOlS~j|GTJwHh-TSY%Qzi(qB;MN_6>;ryibUh->0*t(pfZ5z_#VL< zefu9zT<SJsz51fp9fgX_Zs+DlWi~L0-(EZG%;DLpF}L?FU@N}++~-}_|L;ZMBB0-U zk%Ym6W1IS<E9Cf{qQh01xWnbRl@8_q*%DWr^?9=_$HH^9vv;rIUbyyLZSdvb8S``^ zPfGS~O`2oGFz5V&&(0||>%Om!mQ(HBy{6#Bxs&Dbe^>pf;c7CF-;w_LS#IsgCn^o^ z6rOfB?6}eg&WPQ8VmHEUe<YZg$n6tqQSpf9Q#g|v9P|9A?j1Sx^2sk1_H=SCEpTqX zqn2~4Xzj!=X1Aih3I(qdx-4~Zf}ZU^iz9~;bIzx1*e-f4+wX0-QXdn;x4lvOiYC8l zmj2PnRG=q(E_B(?o2>CWe+vrmAK$%f`<_{|E4Z2zN<MKPwqx;0VBV}4stm4f7b&xD z3%&nmdohRA%41h=OGMaYD@~vNVWH`Het|~5pj!bI4Q+mf)oQ<=RIj}>Yt6b7&w})~ z2;X`0F1)*W*CUJkqg(<F%cFAlKD#3KeB*^>rpYDm=RN8xU<q(rJa>g451StA<)y)s zW4C{)d;0FT>E#Pgs@MNj>}bkarNz;7K|{E)nq6tuv@A$gyJ*OCn{#{J?(03S*EAM= zZ~B_OVnfWTq?PH5r)958`h0NqF*n{jNAr^8z}dg;-1BK7oaR;g+Mh1SQC?=6Rl8Fi zwie)%$@KXpMow*wxhqY|(l_;*+<i9lxYO;%z10ab!#)N$U(4QSd%%g|Z`Y3f-?hu_ zyVv*Bgcd&A#{52dcYIwOtK$oa8R}85^p;G#&+}|cNDm~=wu#^9yZ7Zm_S8ewK8LJ1 zUaU0N*L$bY`TXVvc{BUCZ7FZlr1wOge|VGcdeLT?El)UZN300t%FFvydE*eP#pjO0 zj12qrzA_#wzA`74BloQc$HKgME0ZcUG!<lcz1$;N&(6QfQNQW?{QZ^F)xPdL`91#s zjvo0Yg)P=DCURT$OB+p?Gz%I`^O&TKWv#!w_12M)4_UJQOk|yi{gcP>lCL9YR&x3{ z+&edG_Vg1w&q<%ZwDk2c&V=jY#W7_slXiy{FsgT(KEFE0Y@+MUdwb6QyY-d(|Jvnq zn3N82zuZ#$<N^a%?p%?=lB^o0;K{1mQx|Pi;8PE5_$69g|9<+upTcT?KD+!lAa<uD zIIOOS)iLArbw3C8ceTEnf;U(WGIxG`E&j^qnL)%gCxNe7YfmafO?e%#WkRQjaeK#! zl(ox6CtULK6)cWooUCxFp;CR>^76i(o`|4DhhjFRot?FGWx$Js=E{|3J*-}@^%xSC z@-Z=7+tocq>&GWa^|iiiK}T#(ExeE?+WAJ}=7xt2Q<nVSGW9^&8S{ODm-lFRO27Ya z?0c-U>s0I3nZC1s=C9qkae4AtzqF$XYg6<0pPhet-@V-nRTsu6tt@Em3QygaCLg)w z*<*_zF~y&sXiwKW+If0f<IImoj#x;%(K*p|;o0TX)1UWzzZ!nJ-!0kk{mkdhg?0W_ z2fhCsJv)DPkM0kvysFnCERF)Vy6-JW?U<3OBidq<eSKZ*grHXy8l^JE^861tl&o0J zoMzBrFWBI>v`F8#(wS#z$Wi(Gmfx=(<xygK{!6l9&!M=A^1kC|_oWo6H;6OtVM>s0 znBMWCT=H<mtADriZtIyUnH+v9|HENRc1;bd&g%%ZD9;04Pwb8hTs(MYj|sB`7lUx) zjDxJqi)*Y^7Zq)H`1#m}C4+aa*Fyc7K8!c!<{ysc{IQp9o?%1!;blL6Tff`k9J9~F zA(|s+bzY^xtghwkI==PpF74qrn{IMsf7tcr^5shx($XIE%FI>Xct~AB=Ea@LtFAYW z%KhIIZV;(0erbmv+s)hwA+uL3^7DQF>arhe$A=uP){A@iH#ptxx)An%-`Ut{32DAP zZ|{cRk>q3c+Il*nP^59+g~?L?IqdfTJgu0r&)`@3d#S1O6C4F@wXiatxtzCBEOFmP ztC=y2W}Iic_>xD)|G-C=5~r@86Ao4DPTl9cJ?~$Q%fH}HUS~OGtNogEaxa5i@`Lm> zU;Uk5emM`CV_5Qy#roR1*xd@r63eq6=orlBSrlCG;J{6WMP>gU-@IQY%UqE1ubA(7 zx`32}m55Wk(N5+A`kX&hjsH)YDZl&qx7+0&Yp=>HFrEIi-u8m)iF;FmR_<rIxNuvs z$ENvS+q7mdR(kk+6+W}>hQgI_`yETezt@}z{>8OFr_4KC`>4tG{@=5d`wmR(7CXrF zxU-XU_MVOlVWsi&^>^oAUwt7aW@(D_9fcpYe-i}k(v&_m&eOm1?`VY8-=DVf`wC-@ zsW=KS`909NF{3hlx9Fo;rrFb$@haO~|7oym*RrNPCa>1MzFz*-&u7b#gRfk4((cvY z&dvR}dv?VBx`k7{=6W8ud7?IsJ;C+hkH#oviysGt7^VvrNNTdm_NV`vbaKAI=kGjg z_Zx4j{G6ZaF?WB=*0i&V69Zl(`IZPWiZ5*t?t1^Rv3jCC&w;5tF`TD%K78e^ww>_@ zKU3WqufG+ikM;VWcXPY8Hd_32iqXfgd&;xVru`K-+^o5Qmv5Cbzx7gnk9sy2_i*3a zwtB2{uXfffw&Z+t#NvXZ*Uit8ymyuyn_1R(_QwC*9RfFR+<k2Mt84Y=B%vU#e9NCI z3<r#ZFVEPpX4luC;EctVS*LSl3a9K$s$8L@Aj5gd=ltu9M-ysnMEmaC`Tf7m-q=p= zuMOM!^Cz;WD{wHX7Kr6cOWboSuXP4zyS&<io}K5~{g#_ERfGqe)|}*3YbMLJcf06y zzS+;Ngl1opss2B=oNe7-krs9~J+_OjR#UAStq%JrFg-|8+7%&vZ27NAC)E%B(RDSk zF*5lwiD&&>U!{p11vYh@!m*4Gk__hCgkM&iZy|F)itU<1_7~O3)-zrlU-EUo_9Axo zwzh3sA1xD(x_@xtg;&$;A~n7kG}veTGICtK(RtsWwcZO~7$2$VUEAUI_4($bvhSFM zOp>pLc|2UYIDol4Q+fyU<`ZAfKN6E!J#(4B@dIZo@BBD)t+?Nk&3pIm#7%p@&iY%M z&5_I4XAw2)`^{bJrH_4k?`#&l$lmp_;~(vCWu3$i_FupF+->l$fBfI)&(mGI9gl#< zs5w?oKB>yF;J`MH8=6~{O&r2ignoK6$j^G+6H|JacW>h58fNf3TxH#w-IlyA%QGJc z*PeW`zxn4h-NT3PXZA}@dC=yfl&BzQA8xE}a`85!4s&_VS2?#c`Ro^On>OrgY`ov} zlaaM1JtgCXdfk@STeGk0c`#1j?%l}ZmJnTY`mK9Q&xhxnJNn+F+?6`*7<)Fq_WR*y zt}nB#7A}@h*wK>y*G2wZ*^X(wN278luC*#)3XfQCIai*u^}{k@e+I@Mcdv*n+xl%r zy5Oxl_qK~wm%r25&F7jl_nKut`@?nf{PX|t*L>Ud-LK{aTcn*Lhm(TA7Q30Ue`C){ zE|xaWo1(GEDS7{{Gw=6iot<_5Orxl@DjVCmEi=}uJ@A_GOp@V>%{ngD2SEa{x2F5p zF)v!bD&vb;=bIbbE|k8$_LnhxuOD+bbHo+JdY<oA2j=iRNa3ydu`8v>n)!a(qWpRL zl8)B%^6{C8OstMtnXUO;f1U1(;>O&oy8LeLng8Q8gX*0hR7^FUvHa<Rom&s~o~gVm zo4sK2g*zD>y=VVFx0r6@J^fi#=FP81Wv0jOy74XNYFN6a#%))z)H3yBmVZK@PI?@+ z&|J#ZE!)P_@TSYp?hDVp?VGw}*)jt|v#>jYeb+eh1UB4{IG?&$Kc!p#{lDYu>r;(H z{zm^vEfQ){;3&526Pzn_AjekSRN3U<n#he)qdqlcY)!KZ@?publshy3^2#gj>%G<T zJEN{WH_N|gqjprNM(Fi*{VOlO+&=I}ea+X*Af?pL4Nn>Fd7pV-TlD%`ZtdT{(IOW+ z!cUtmy<)wiSBK$wNJ4bk=?{{N_v8ytv^tz8^lHu2z`9S-pA<hmnZ9=6!M&0D^RIlE z%Nn2lu?*DNFVmg3Q|L*+L;gNlyRB>Q%&A#t`E;wg)KS;fVT=s(=FD-LwUs~gXs#&7 zLW5gpQjc7`ds}<aUiakOI}c+7*&aU2EB;mV>&f-JSwBwr_McEt=Qt!&6vXiPi}gye zg)8GfiA8Nx73!4JmfPReu-f!P8Uy#UrK<kPGDi*^4{9q6jyL-0X==MSF(t*N<_g;c z7o*B`NB_vp^@{B`+q7<$GaviKvr;>D>d*XR%RF26@Q$~)@BcV<daGa5-TV7{X6olH zXP+zG_%=J9Ti!(U|BR&{6N5xn%_<3-xjwYc>)CQMvAnZ-?5ex}?mM$Y+S1B>QFDH9 zAz#V6J*QZEtBtZB{F<}fVYR@e9p_kQ+>PIFv?@b$`uq~1MGp;vrnTPp_5F2EP32L> z-`{DQBYWQ6jrNh^VqAD3rc7Kv|9!8lc9BeT{f)o%`#&u`$$E4Dp|j@8pWby5Xo-~n z)e$GYBi!KG@}+4lYA?Ck57)Ck(EqdJ#;>oh4_9A$X)gFViZ{mBVY*0RungA&Z!5X~ z-LEH|{C?Ng<jVvRPlFfUYWl1n3VG+aE6JFjDrDhl(|P^=*QAs6>d$z)AAkG}ntEI7 zv!Y|2djNB>mBH)RJymwbTXHVCeEH2%vt-SN6$zWd^p*t9?Of^pKEpS1>%{gWA@&E~ zbg?<rPHl*;Dm{PPX6bry&ns>|tEc|Cz{*|lu4^$P!~S_QT*8XEvzoHG!+LfWe)l@} zw=Hc=diwKypv=v0FW-B9`#%qcymxj9e>PQrIKBMz4^@ssIp78%%O1M|W%Y?aR*L+2 zP#b=?;P9t3y$KQ$7OU6q|KI)l(#z?cKdl+AIUF&yw`^-<|INns?i72B;IoE<2OY1P z8x+*W8~xN~_|NvhMpHCCfI%;H(e7_cgY>`f^8C5)QvbiJ%OpR4d;6?V(+%G*-{0Xd zu~dAbm5F)jqN>j~XFlGlwy1cWV&G&;&P5zz35n-+iwc?-3Fouh{)j8y%PX!lyP4zY z*P=HYVzwMGT|S@9m22{{*5%ySvUNA<2zQ&!{%v$1D*65D-ClJ~A_9EnAM$f_pSM}C zdi~$?`|<WY)t{2h^QV0mbQDNy_ObYr#^ClK?&6e5s*9TBj~rU|Q~X25(QD<0d5;H~ z{nlf<w{T`ZtKbY(hP3SXi53eRKChFN*zt0n@9cfrtVY%`B^O;69(9-dc}{(M-rsBn zb&t+1C1M+7&d6VMsV|N-`YF&*ulQ_vsdU%O&1na({eHQAz4{~hpmR^Q*6?|MU3*n# zdUMqr?cbGaOju2)iW?fwUYxn7eaoE>raMpWxx!WP;MJ`+xrwh=w##-+o~Fyp_+x%2 zXGY#42HUAyxx2Sn&OCX=>WWgg8Pm6S_gGKsM0o}4wB7uec&PZc<=lLE_Q&7e_18Y^ z_PCSkAi%Qls<Y5VQN}aZj@%QEs|d?-|G*g@mebtayh?xOo-O$a5A<d{GxqsX?@+Qv z<o=o>3&Z;5pm=U>ZuaV0yftRJPu#vIFBaGPy4-K*$llzU^ni;^?uv{50^Zh1*P=J@ z^0iehZvU^nfX(Zu$?{Gm%eN})!}6Z|-?m$_{PX5-yVBWi?OD_O=}2ScvZ#aHS=~7? zs#^+Mzec_M$)*`o9Hqx_Zr_^D=gXF7rFTSqTq9H{a^}Y7+Vr0mB6-69SH5vSAh6u^ zGEdsRov&NM`{qi?)JU_jFMnd|BG3{x!9%6W<nvR;Gq=vye_1R)GswBg|A^AGug?oQ zG^(!hn(Oq>Nc%rIdiy^91AzkGTX(j<c(#07UhF&%l}XCV%9n!_{%zW||G!G}3uB%b z#kaNRUS=Nm*&g;+ZjbgQ(dasLVK$lPYeEjsJAEu^?Y0xo&YGRMy^$^Li-~!ZL-e7| zC7J7{Pm7K3$>!uf^Dk=a)sOCJ(y>!+&XowC^qxCRuDiLqDEX%Tv170PuiJ9LKgzdz z8^f=3?H<QEjt9xVzbjAn5-oRG)bOfd;*vFv8&B`rBE0M8sdYZ*mATpMw@0w~I|@WK zzI(Nc@xY-2XV*5)_jt?k@1M!%YT?({&aN?#l936y&c_pT(cGY*{)S0>(u4U7GODVg zD>5&ahS~f(d}Q~%(hXDE?AJtYPRoq1|1U0jaWYSgqN<XK*K3w-(RrQUT-@I)9V<1S zXt`2}DWi8g`zqtkwOu-1Pj2bYmcJa5^`hm0--MO5ho_vo>w4qqyGsX{=GAVx`I0;5 z_sZ0#&z=;o{SqB+(RAAHRHVcHIbO-pR&UqpxMXO*_CNb&<=xxmQ{HzRW4cxT%!vO_ zmGRua+g<Cec6ijCVs-p5`QSlE)@QSuXPA3u3*KPa|1#+rzv{L1@i(UX)O|R)HhRA5 zv-b@@*K#c2cS?K~`Xweel0SZP-rPOxrjb)>|Neb{vgL5JW69<%l?x-IltD>vm-^%H zh6Sbp$v@Qs=Xz>e)?`KOG~FpPCChh(^t{gB1~c=W!JVnIa@+0PpT^(tbIG=OmG<-N z>cw4gm9IQsaJe5y_>)w#=41N<%M5=;v0HnLObr`PZu|%uM@f-bo0VC7i*@!n;m2ou zOn%w&@NHYlxl@7T;FFbWqwjMiq%v$yYu&Z$Uv!qohrjAGfBKhbZIwMB&ah^JP^PpW zf9Bq&pZIGOv|Jy~&AztQdYS&rKa3swm==V4xqN7z#*q_y@#%c_A7>dH%#voUec*Q0 zDM~pkZ=Wvb+8q`<_fDAY`8CJYVd~bErLC-aS#|FXA1!ZB-g-o3+wH*9v2)HAT|M=_ zT`!{HbDt#}!-xHoFH4-AbynPT`y#fTZ(GdPU(4AYcQ0(8vfTXdf47`lXnsWfurtHy z4s{Nv%PK;g&5Z{e(%wH;mNt`_5G54lAmT7x#5sDO>EFcbjm-DGRD_Z$pFTXhH$Nd^ z@4~Ob40=-^3H&)y-njO)y!oE?2K&OCv!YGWdk-vllBi^De)qEBa=G*TkBnJAy0@f1 zR=dYn75D9BlC++SCA;Ctk9$s~E>is-UHdCDU`c}E<BuN;>rV%@Z2PnDms50Al~nTL z-`&q!oD`H>wk?=;cwgJxBb#oktbQ#2>k0c)^;m(Hw2hBGerK%kb=dqpccr4EK+cX? zk3aT%8D4pQt9;Mn7yD8^wI}?OI+Ep^!MKkrXYc<F4=b4L!n5B+?wvfRf9kyF28E@I zSp&KIrY`%i$o;2~jblbd(>dO`CwaXYdgVZUfWrsQR_d*}?q~hRV9u5tNrng4g&)tj zw9E9Wf>ZRr37ao$dp$MxX;O&KzZq|KJvOM<`j_6kemav7%fi4g^~v5GKOzD?FLzB4 zW;yut>x;$L*G895oYG=^U2U>>u*R4B40_Wp2}HH7XPO=ML#yG{SD&e;U1VKMR~ZK8 zR#YyJzrD3M^81AP&)*zoPcIFaXHjuJMOkd)?I)EN+q88$d4hI4`*N9qVe+(Ab#?XE z-C>M5%IjLT?L6SD(Bfm&d(pPqOY1npp~U+9TQ`~ASr)8ME(mZGU|Bfv;^d#*4AWSQ zi@)5iZf~16F-nN#U}oI;D1P<4J%LJVZucy>t~yy>?Li{L=_M8|VUKR#TKvwx?r(`f z{F|~<;gX?SwC47*dgM+#J3DvA_GDh4h?NhUKl9I9>Rr5d%bQ<GTa{X`?Vg%mpR=w> zJcPw1p=@i)`=+VKA3c~ir~b$BW5*M-)@kwIca6=9HD56^ecs}C?pw9@O}Kt{eU84c zgQnE?!ZVrE7dA*s8+YCJ?|--4`_h5^Cl6?GG>NZ!`+on#j%#dXWh=HutmkYB=vOW= z`<=>=KYh`Ojb(3dv1T5=apFLhCU2tIhxht_TkN;o_YX~qiha9s-NXo22bM)Qxn&yM zrnj(_fAfATy{zP&-XYVn-_IuVnzfa@`LNP%`KMV^uVsHMV3|I*goz;`{@RhvmxKAv zUs3AbCgv{lG-|5IhSbGrX5D{xmrw0E!{VZpdx^ht+PjDA9`#7ozYt_`+>l&a|9_=R ziT8xh9#Qx8K+~q&_sZ@bI52yOM8nnhHP0nAm)5C1nq@HihsK7Fl77XfKFMAUbk$a$ zAF}nb;;xLREmw~Q`75om{QtG=z}X(Dvzghst7{7v6hAkuesezduDo`4(g6qAiKpjI zjW#r7-tp<l<O{OrIxYJ9`kG4jW_Mh8c0MBV?)viF`+TvFe)laZY*&5t)=Z#)yQ-)8 z#<c&dIM+{|U*;%qXHv!W-F#s#(E?96x?KKSf<_{iZewvQ_{sM5XSd!i4U_q&6)xWY z&+fHSzWGH&rr@ERN6XjGnw%5Ik@I}o)yclrg1t7r0gY_aTBiMKTK%xP_s%^Qy)_5Z zPG9m1TexffzT)8Y>w8<SpDyOz+B0_x+j8R@adB2j51Hm{e<Z<h;Pgt7ZA&k2yT0YT zGxy)kTLUs?cmKZjb}>uDvd+EM<<ojjvA86EUQ%2<d3jN&x`Ojug~hWKIP!L+-QDGS zYm*#PLCpepueJO2wyJV8wVyn4(!0;*Q~&eVkK?Tk3Z|-6aU5{U<T;e{c=>^{C67%u zD5TtEv0S0*G4XJVi9xVWR?#7Cr5VS6mT0d@+@q4bTYkf`Z8!7mV>rtA771AYzcB6Z z?q6FjFYGvQ=Er;H<a6dp&v#{*FVtNj=>Gl99nRdyqp}kt+#}Y1Tob<`;n1;1d%^@- zcCCrsUDkN%*KdY%ToqyNn?L>#TWRPhu;;AtOJUH^qrrW--@6(cRSfeRV;{IW&S3o` zd}Bs+*0;jneeY}5eA&aMbM4NO%r6m{UB~`xWUVxKx8&K|xGhC?lcnc<{+)R>tW0V5 z{%v#he{Alz5n4U%S<@0*Tg%qJH`lDLz9lcTaINH))Wq-KWL5wAHzs}lTHEl~N|nh` zphYU?cVD^8T%#U&!4JP4@b}t$Inc%%9F*OpQ1RqJ=F)q%^W}Ev&-|lcoZr&lD8qVC z`yXdc*P(5{Woy>mbQ5ho>-R~cW#@;(&nkD9>AjZw^m>T{yYd6SQ^M?zX6`uGSEVE! z9<kQYIBB84I-92|1`S)TRpjK{iEeYr_&n9ty6k|FH_N$*Eh%Sm9{1fVdBD7FEpu7w z(PM3Yws1E+II@+QS$tK&kH7`Ge@xSK5C7P6WtIX5?^%=1e<go^eSP@z!<t%VW_k7x ztS6)l6Z<~;-%T}|qZa?v?#!yiUAN{rn67L5bv!D4=d&~u=hg2oSQZ$(JN#96$GJ`O z!*aJyYre(7y_0|QVxf=Eg#C{+d59z&OJ+Yd;Zj&~s^`|z8GwlDjA<!o{HyVYA; z@7~@vm4}y0q?5h4=fmdt=eGE6uRT}nBE;$_(849u>C*D}Bfs(I`-Q(F%z5sE*6;>Z zHz}B$5UdVb$<knL^;2>E+xP#24gSv!*)G6RQ*$t3b_d(lq$uCQ?gxiF)+i}3O?>^@ z+%5OCb$L2lc*x>!yuq)Wh31DetNq<@Gf#Ze@iOjMZRPG;(Z8p}O=gt2b-Vj>za<yX z0|&G2`@Vjr@&7jKZYg}dE99)r_6Pf_x4mzeY1;ib++-Sefx-Qc8I~t>T-7+7=AOKM z;6SU?53U*hd5d$RrG8AgGEafS_w3h>e@wDE8@_)1zF*p9{^VKn6j>9b4v5UStRTfM zz*uZ@U!jWei$l$otvvSso7}&a-_RG|${**zH~&@fs&y|n+@0`L$~02uNqQ&OKHmqk zJ<r|KKOMLJylIPxb>qTwUhYZ9UIqKNE}Bz#-rtSCA=3Q4PkhU^whLiPze+VG8NQtI zrvASuOX9yt5!>IHoc$AM5P!WbKlJ{t@{AXfD_tE0W>p`3Wc>Tr@B154D}G$`tKPCN z<x>zt{5<!~&qNyHjX(cydf}>6)jA_SZPE0kWj{YXJ3IS$%zryIp~54NyBA(bN{c&o z#=YTZhJY;N0}TUt_C<>sJ6?<SZ#n03FYQsDyy%uFm(`MyTN)eKQ>Lp=-*^4QTi-h! z98Z1)`A+*A<3F|8hWXhiODpp_Ui0Z6sw&qloVGDMc9DwL%bD&neaX{x*qAHos-$jT zemT>mbb3y;rjX#Rn2qVjzs>m?)tC{W)Lz7p_jXIftk?6kAI(<aVEFax_xZLU`HNBU zcb5sT*O~IG8niaGX4drm!Vd17Ikm5^&E;6@eqkpguSr9^;Rg-I{a2#?7yZ{>|L2*z z{jZ5Hj~{h+b6dukbGklf=O1SIj$>}_{lQ*y8P@u@1f@6pG-U{5dNk>1=QPt3UV+_O zYp$<2mvTF<=X1TDZ*eK>M!(M%-=8fzm)H5>!jqzaJT-B%s^-gI7qvB>_P1b6Xgk{T zUru(dUA|cBwrM}pvjg|9n)#gV-R#YAx8r2^I~^|aZH!yJHEweDjJi$JyV3+Nu{f?! z+F1A3X|CUX-ZP#I&$s{l^-(|n=8lh<D?=Su2+5Q&+;Bc)JtKpEM)~HT-3v?GrbwON zoA-h7=$c4PrVShn5wBeXw44qsJW`{=e40^)@4<wh3L*v{zI}at{r}H4Ug=G;hWFHk zY@=RRbAP?<=)>@XvEhB%=9};Dfi@nTOHGseb!qw~hIyyzPo0{-_~PZrmBurF$|zZ} zTVC`%prg6(o1oLmcYCIA{r{Y?@tGR0>2H@O&XO#>eL{clM9&OWOPZekbGynF=eV7H zZHb%zE_>YXoNvO#_Tk457B!#Mi<+k{Nk3P9_8ModE`Q5~rfqMu1e#9&es^=9Y?@iL zk4!I9*1o@jC*Dp9SYEQ!dj+fGjP)vcdkPKHjq;NgWtV7`nl||T$Ub^+MP^-0R``tL zZ&*HLGx!^SkTJAhK4boDix&&TKMB{}fARkPdq2Us>t>#3_z)#9w>75aVPBP@a>C1b zCBKRozLy{R9I^36IH$!%=T++72e#`j&GY^G&F)dTbUv%Hva&Ek-K_tAj2YIvdmr!S zHP`t}KFdYbO7HEJnNP1pHJ&~ATxzEb=c|_yeRlU|-BFt!X7l7_<Ev-;{9ZAvj=$qs z`N+X$^5S_9KE<3{UC{pR%L86_InK0WE!#dk`B4$bt<|EjR^-;F->w<i3g=7Tt=8q< zy**$5{q5q!y~h||%)gV8rghd*^;V-oiOuWl>-pc$oo6?>LoaEOc8OWFT!+<Zd!En7 z-|cwZ_c!SFA)AL!|ET;eTzloQ;)9P9d!@_IT|3*}-mcF0N9R8ygUY?H>zcQw#<D%o zWw^(Z;HfTR!uZ~Wog?SE>g4(}2X666yx!jQ;`Pm(Z_>rNE1$7{=i`5WYWw=%j0vSi zJC7v%b7s?Hy{J0FT`X^5<cl+^@h8e8qo&R`URB6@#s1ogr&2rXC$UXFx$A=E%qPWr z55M_UllLeruD@`qK%lm5I43X5gDzoz2F3K?|1bVA8$_Ppa@1&H@2aVag1266mt5}@ zeX&Z{Ux!a)F|+mDlvsh5XFFfDNl$b4`Rv2HXI_K(JKv@E7#8X2{qrc5@_$?V^XYoe zv)r;>Y!@$I__g0-<$Qw=r*&tW{Z-4DDf9D~c^UH#*#mDoT@GFN_~WQT6#uhqhL+pk zZM)W2y#DnymOtl)!PRyB6JETJU)Xqld!>EFoQD2+yNaGRH#ax$3by{e*V(z6vFC}s z$CvNx6Bc<(><~F1&t$P9c>dm{j(l3n=dGL8e9g*kbErZ7VlivB`~#oPne9K=ax3&h za{QzpUz4ByFMG(iW7~vdQ%^t9I<n(3zb%WqeiRFDLb_I~`10l6TJzIyrR`Ld4&Qon z(FM1ESMKJpJFO_b|4i?-Q^sleOVe6o*XQWVD?e|3Z@S-ly8?&oanOv{tcM>u#XfU# zS<LJ7Q(k0z(}X|s;s;q5AJ#iBrZZ<da&X*csF8QMAHMLyVdd@jcCDXlWN&1Y#8@G5 z;BaT@Yrd^p_H{PQX4J_$yz51mkAFPNgM((d-b*@_e%CU>)&k_QUbwvMXMJ1a{@v*r zFZ38{zS~H1xV5#<XaBJNC%@{owbstrf71l^vYvUqsJSWhOw<JC<xdwGcb@b+x9RtS zTc_4unLoRk;{vFr`uXLFJ0q8!w$fSOCpUNNJUA;at>tq)r)A5j&$)cA&WbUcibPB7 zv|cV|=bIuOdNX3JXsg+_&^_Fz{XCWWs!kXG+qZjrZgXl{cdB&nS^oRkyxsYZL6=w^ z3%r#kzVQ71P0wJ{&DInN?vtCuoL06nh;6*q?XYD+gEONH-y-FMH7;xs0Y7RVcHN)z z^K;#ydV3?AKld*+wU`}Gdaz&QVtL1l-^$YFb~g=~9P?hjIxgIK<p1M!>%KGm5HOa% z6vn^sO7z8LOwsob9H>4}Qz)HQYtC4|`}xx8W~bx>y7pIqwDLVDWcYt&y3alK2e14p zcU<GhF%vHM?ZDo;<tV?UtEq<Xt7o@<3ZKyP&)XJzpXJ>VhN9Y)YNzY^s=XJa?}@Qf z&(HXG&*1}$zZ1*u9oZ-S+8es+3(j18(bsa2VcxtMM>5o`FPnY(=;Zyy^u5#V99Nmr ztJ`b#t(Skh-{}0b%%tnv-Y(U*SdbA@7q|DDg5Z^wb0T4J*RS9IA9MT3bPvXeh)wET z3s!${W#*Wj_Riet^_~5G^$P^=ce2*)`~GzLf5$Gzj9?uGdv=3EQTI#Fzuo@+#gq24 z))oJAlK%c$|M|-ob%!r?47m@vC(T&T^kH9F^<vO?KhK%B=59j08cXlZk1x|XBOIl) zA+#&1OibU!w8dn%ter&b)xG`4A19?<YZR{7e!XDhmCe`U@9%7!6ZWg5-0J&=dvbG1 ze-s%sOi6v%x$$F?lGd_3w~X1H7EzbZ&(^!gCw8lB?-!#jk)PaGXYd59m9Y2NwL@Wx zyrF=s_ECfUnO6=pM3`~pws{`-Zu)uqmPDI^`^S10e_qSrW|m{Y@SwT&@881;yJQb= z=6*P}rRJ;k{mNf^x8MKwx=btE^-Cs0_brXnyCo|A+s-z-tLuF9PjcDyUDpKe$Sm)S z)43M2EHjVGYo5NtTLX5!k_kcIYTBOvED!w<kXPZCpPw6+WE+0?yVUianQQI888fgR zN?jess9<1RXKL0~Vz+^@F<`IXmAMz5Nfes==h>{fWoxiPi_^TbK4R5n(|*MTFUTml z_vQYx-<F4~+d&I@`xo|i<n1cIyexf*M$5K_7u%26xOnBxI-4=yG41q+56Per{MSm$ zc6K&ibv(a5=oJ$~uJQ)eNhga<C*;i5W2!Nqb9UYC&*!Yad%T}9e~ZZp$9MA29T>kd z<yA#(d|Ar5;;`Ay_cp#hIVY1}IjoMCoubZn#Mtt8>gw~^)8*Sz@7_&Fdvi8z<5rao zjx$52x-VQ?bNvoy?puk%lIPy~PSHP8gIexf3V0=OKigC^{@Zf#kRK`{ETCmR?C<5I zZt1Wpvdqb4Xq%eK+n;mqPqb!V*1P?0w|zW#@Zjrtw|0Hy=BZJ5aC0xi0sHOVH?tlX zXH2(OHNNk(^2+@CGr9W|&jd$h9SplB%=PcW3cr+dT~imw>0XrD8ngN9)n~7Kwx3L~ zTzUCVW!~n4_n!UawVQN3+3z6to6FCIzPTN;cz;4UjY;~?qXQ9jGqZmF$})G7o_cSE z;KJUTjL)(PTT+8E-&B9SIw{eCu`YW3+0zG`S6eU7$Zt~Ea@oV}%h~F-wtsP6P8=WB zzm*eMYrJgPK69le$5=LYcGCv_Z@fGujX#eqcs9Age4F>oIBSCf(HZCSo7XIx`P240 z4}boYc?w&O^)&7AtxkXT=!shD$@VDCsH=iZv2!J30()<Te)udkW5LwPdE#|9Z1Sgf zu*Nt?tmx7?b-?ww40AKbEXngeeu?vE>T<q5U^a_Iob}kI<W%<@rP*O`HU*l`;I?~l zW4={+&%IM?xz{{&{#L%{gH43EzSG8v$&bU-Iltbi2wL|}xJiK{_ei~ue#8bpHhskt z0vFd+o8|sm*O7fMF7L{fE4~U<3J3DzPyf!_q4=TBo}Hat)UbXN@4d9|8V`~LueUI* zja?ox!^0|K{n<0(xp!w>?a;|mK4zM`^Vw~iYwa04NpG$_`e|ccxvzTWfy*1U6i>T( zthTYQ&v@#{{&0qC_kx**sgXa<9#L7f)!5o_?V+yqUK!2J7s583PWykRaGmU%gZ-b_ z(;PFh8?HPNaVwv`BVJ)Dcb>ugT~VvKBL!F%{;jadnswdg%ToQNOEp*)ewL7w+_>oG z8-|AG%)jTQ%}Qt6D>J|5-_O?!bEH1x^a*`_s_g7+KY5zINJi%Yx6*y*-{=^}YKvZa z^VBRl@vQp&?0Yi%Lgm!1vtBxROOm~6(wV21D^Ru~oRMDY%ESCzzEow)wF_q|YHDO6 zudUb;l^o)cmOA^5!j{mvso7h@L~hB<YrHAHaBbhlpwlhe*m{<f+5C5!S*mpOaqj)Y z>3{8H8s2a;Df~E|EVbiHpY^*N`mTx`b5F~b-`N<?n9ay?_1F6;5B8URif6THXOCEE zo+~L==M%LjpzA%8^wfy8Q)~78TV^@Uy6gA;p!Mu76))e|+CG8P+r`ctcspmo)p*$c z1P<GD`7((|3k6J!%hHT)OgkCk6(8y(Jxlaf&a~chHLI1kB+7B*20s>-xV?S*4&@Yv zhaT16QqMcq)N<7vi1Qac>MPK~;QVF2;ptsZ?k!xnH%OxC!p|Na-oHF&wzCymEOOw^ z0Zl+KK3Kz$UdVH1`rXZikM)-<<(|4C^3BOszPE9AKJ5@G346BeO3EjNu7pOupjVY; z?`u!RirP$(o_B2XT&V|_zDr%-z0$X-`ElW#9VLcat{H4SCOldAXX(ssm!|jLd*+y- z?Rll=!nE6WZ#v!Xd%k^I`NoLt-uJUVyQ-#7PmNx#-?dDQ!%5oV%>Cft;OV*d_Eh?K zISV|y=wdDOQ<}k1<Z5&7!DD}>GoFhLGmPJwTJa+=^I=o&{`|AES#J7?o_uRE$!6V+ zFB@2{TojkN6TLPtxH$3C466&T!r7m8M*s7<;~`acZkE!6JBRt%jf)z2mj%z*RPxbf zf2)~vdrn@98H-CscI48qn5vxnbv`|PVy`ttm<}cW+*)|~)lS~yGL8Z*x9-^O%(!R@ zo@x?lGT1M%^Xs)*pD(Qs_Evo?Y;JDW>PWq2ZcxC*D9*MmsMF5G$mUOS=G`XYh10g~ zjbYX?afwbmeQj5_P0anH`*t1o(tUN}b*SyswhPB5KS_J`m-praOAfcCyZvJJuy8LH z%vfu9v}f%~ksVo@rHV3|p)%SXX(7M(GoJBH@pfvxGUvXxhHuc6=bs*ZKC>}t(Wls$ zM*$nZRPJ2%<L%BxC*B2|G~TkJ(I7N>ec_tbzHSWjZbyIqBOT7-_##7x$*$=8g$v7< zXs{&yOKNe7zjpIYJL4A?jp&E!^J>2dFjzB%Cq&)Pd7rE$aA#-g<z>-JLb<noh~KG} ze>r^l1J-ZFPlWF0>b@;6Z8;#de8Tq4&sbh19PGFC*|D>(N$U8G>2I};|5u%s>Zirh zd{LC|;S<&Fg)<WkA8)@Le4%o+Y1%gasRv>VvNrEuIM;Qy?~#jDV!2O`=j1$j6}e^M zR<Yc*Jr=w2kMk{2Q}>RGS6UFj;bc5_+UrozmVgU4xF4KVTF2RBQ1p83Z-*_K1)m)k z9d4esJp0<(XqH7=8P}dt-#z2Lu5Q$d_N>J9bAMjHS;fP5kUPso?CXo^YYkU#Ym?t~ z@-ypq;g4?TQ{&&?UGX$(?a~EHon}qm@nKdoKU-r$W^e9GlW%EfyIxzmzAaJQve0s2 z?`+XqJ8WCc)|!^>{SkCi!sFw*U&$%QzxZ!I$a_bRb8EEp**-=S7DoZ5Lyx<DmPWU= z$xT}%z@qqHt|Xh`bBW7^O(K_m<udGIj%b!V`)Aw3hYvk7&p6rs=~sI7W$zhzDQKHF z`-beN2i0f4ZhQV*^*XCluSmk~KY1)whfY8JTmso!!6p37Y1ZA?>E)%#kv4qYra@~y z##qhW@3VEqu}Z_U-#EMTZms%un>%-d=&e&mr=PmNX*Js&`&NI;+q$QsDW6Ii89H1T z4|8Od&-iV#AznQ3;%yd34kon*|F2r5?@oO9@Ht4PNkQa>k;xZrhVv|1!HioHk`rPb z(kIQ|RbKI<{L&;=^Oiqvm%Fasy6OGX&VXQ#&9^=6e#J1~aW^cTY+=y6#3b#1D2ugv zhH8=U=I7SM#+IoHK3vOn;+VXRMHr*c>RdW=RLy~9-KX?0ftxFwy!EX39veMAUGzW4 zb$fOU&*#8rtJWUc9@#2yrpL>d^tgR(jd-|e+Bx+PM`f9<zfVo8*)sE{PTAf+UXkrf zBGxefZn=N+!|6pKB4&;P&!#MoSSkJP=8lizK_X2G7JGKpbT{;~sX2S;atHlf<EPfo z{-KQ_?CxgnDZkh=4>rACXR2MUDR?KQJ6djfQ<dlCAH^n>(;>y$E$|xc#Oc=yY@%L$ zKeO83Y)8TOY5oO=9JvL98jeb_>u|46+nl;cK0Gg6=j`U~8O7p-TXr0GJ#ukVa%j4x zn@nnZ>f!@$++@Dq`c}5@1Jjn!O+MyQ%pQ&(R{rm*Q{!+lILY+m%9TT{>D@cjIGoOE zP7f+)dA+q;oZV}Rf)`t1nwQJ_`#TDgy`nZe*rmIDf#|b;EAPDB5L;XKmgPx-z4`64 z5nCBWuNPeWyRvcjl;wO|eu@6DDQuY6DeW1&Fj=?LtuSK^_q4PKvE*zuW8n)6LTa>P zwW73kO^w?Trogh@NqP@Qu4?D1yPI~3-+I$}SWW9F`$An?+umC1vMKu<8<RfnN=`Zc z;MVtBHWJM&jx+pi)=aU=K7HXrygj&LwqS8wadcX*^nA7tDGi&ps3f><v1+(lcK+^c zv%d~e>mRgEYuT<HJuhrS)MBfNmfDXbuI$~{UAyhL&Cf*T{a(%-UzW_6eah(fj~#sP zP9z8<roLy2h-&Wmu<F{3D`D&EMUR*$El8=<2+w(L=6x&KF=h289o-*WR_!g>Qn4my zZ^p^Alasvl-tvihyK7IIGVNY(&a^3Fr#o|xPitGf|KQTa*4y&VPR(~b(SOX^--X+0 zzKEl*Kuf|05ySdN?;buB)Z}s$u=%9WaG7b+^aC6@o#p$Ar>5CiW=vh$k&?OM!QQ(+ zs!Ttn6+e~ObD(ftbis*d_n&N?H+AOp11wM8uCZ*iiumyP(XGzc>MIH%yFfPY{(A9l zEQfG{VRDplSyuM5DpzL%y}Io;+1@ZKiYWD6+nllatj6tQ?4`1WTjse&-|bjDBer{+ zm)h}T1qtWhJ>qj_oOoi+*LP;`Ha016I6ik3xLa~-<MDZlk3ggA`&Rz7aJb2NMksJ? zh``$G`|LMmUe;fFl`Af@lQnwk*IAciCS-AEKAq@#a&!E)wmwrE_oZs*#iPu`pR4H~ zy0`hsD~ZjAIb)Qp4Xd2lrnM*=Y-MAt;FOxxUAy*76R*baxYN6Ix4*o%sP}X21TEvY zDHp@?{yjUjsMqWCq9cpe)`atRn|)d+d~HL<>Md!v|J~XAbg{#l>~CwYuMpm4e*WJM z1&*c%efJxFc6&ei*eh+8b0TlzCjpj)j!MgZelF1vneyffTgI$%*9&p!o-6AoiD{cO z?GJRByKlPgQI}AaW-Z0FpQOsd^5kmP@4T1y@W^y2%>#b(WzJul@U~Fy+-A$}`5X6X z{S^sR(CI&xkjWdyl^m5Ur1~ggrAC_amYbb<d9B-Ct(dFVvd!r2ncWw{)Z$H*ww!g5 z`MS{gs^BfYH}`s1GP8Fb<Z)6|5SbP)y8m~3bLtWW4kzx54F6=$Y|oLD``6cF*QD^{ zpltb_jr;Xy-eG(2fgxqNHb?3t50yt!7U~J1UqA0Q&-*iROT<FK8sQr&j%2NMQ@SE@ zY1O5}7f+onKW)1Eafp7dgNWhAS*zzvH7_}ld#LJKrVESmef|jJDW|rIrm?;L)8v_! zaqYsHhHDoXOq9Rd?oSEM?sYzt*upR)%DH)i_eY<2E#c!bEoRZL%@%3Nr<FNH=gHqJ z$z+?sm3Qk@>oy_7wJ~CgwGMW5n`NKn%ne!FvNb9r`Pz+-f3AJ9i#T89+azsr^SjKo z52v<-3$Xl`VE$~LC^7%MwTd{4<A>jWUw&8MYC3RDw&l@<k3W7gEIPPK>EA4qkcEL! zX^W#YcT5!jpCdQD=^WRU6u%~m?R+H@F0~zEwn!3i6jWqsoe&hjA`!5&)=P1U_|Yj! z5&;TKJf~#MHNM;WXz9-r-FNxS6nhu0gmav!QHL*8J&X6wo^h)wGjfAYcA9l^+C)R& z6kp@-`DWcF*-JKy1>NLvI`g9UXz{gdmm7;Yc0DkgSh=kKs?e>RwYR-mw;tNcb$>Mz zdqJG`N|9S#*D|*<DT<Vu>K%Jn%GDAO)obh|J+<zv{Nqo%&q{163|*|pmHWhf@tmE1 z-c65pOUv3-p(Dg9dF;>I4ZNahhx2V$2;Fu`5oTFf7{nl_wrJvxYte1(?dnTCSR6AX zz24?!PAUD)a;T}dv77l@+w5y?h4Vo{@<;SWN6zxbCq-QzA=ZqRch+yXtF_u}!K0lq zJxo^)#GVRfkNP`H_|THHBO3%XTS9*BXIoh_>rY*ffrz5dsf}xQt&(jon>+jUbQYlx zGn;qsTClavvt>$R!m4wh{HzzQeP$G7z3{ACiFU}Y#TT9_J<53O6n!;v=|k5*-7TT| z(z;W6;|1N%=7{Z%t65p|rt{d7>q|lpGhesXcr{Cb<DPl|!@u4RH>0+~_kXwFHPdrd z;yAQskGkP|z7sn7(>zpqCQcO0)-!f=5od8J&`Ei*@V8l>%+zUGCSC8va#ANp6!9en zY+c+b!ML@>JnII(^v_VKrr^iQtp)d*bbPoT?x_$v$(@;)s$itNOfq2WqO<1?ezLy2 z$zZPEVI$p$sN|w5rk**h(Z@^-ZRfI0*qq`$Q!-^!<c4#)+`Xlx%~P6I>ZSy1rW`w- zFiUOIwAMA5O4si4HfxCAXb|CZ2{ja2A-zyn-(q*9+pChbK^NDCTsW~-W-EWogRqRn zMWt&~E-$^1wmGLnZD;d^G<}(>^ykIroo1&6R`ee0s=LwR7H7JYgT-+M?>D2*-yOa< z+}R{|Yft6p86uqu9GiQY%GjTtUA}v_HBZ7hmTd<QI(~g}ZS8vApuZEYm3wH5&bnj~ zb<aaqZFAp2?f~^oEBc+hHixAxT^?Y3ea2eG<Y}MWPDIXj<vJuOsC3GKV`r_Pl1q<( z6Q5H?=IqR})OR<os03ZUJi~A41h3_WGiN!e&2_Yz?PxXG&1$mawKIp#q)agNoe?H> zD{00wPJ_dn*33C?vbOkI)|$_5#%KSUv@J3$(T!ybVhQ33-d`>B?B8F8hK%=2I(GjL z&0M;0^2P$YEREe_$F-E3rgedevoxi?Yr?lyDfR6Vyrreo$F#L|+b%(O*<;J1eER#7 z@Au6;dRmjY<Jce33TDfe4{z=*FJjfWe!8!tq)EZzlSO8&@zTrobF;m99R*m<+ITU3 zJZ)`hX}Mg{xBm0*`|~*tzu*k`>a*<e$M;^^qO)c_|81_hMC-NbD$~X#QJ+0#pI9XK zcav$!n#le6pARIgRhZX0)rrOOq0S->!Bdg5U8giLg<jo1x#3w`iCQ!B<Hr)SWezuf z<n;0PSDfmVXf@Z#YO<r+Y&WyXt(mEbGsU)~I%e~3;LEX`HPhtG6%!>}+W?mrag|Jb ze_n|ztljwK$>jvmCixcU6Dt;#PI-P}fuFbQ=T)w{3(tBVxme{iJNHOng$U$WsrNct zuJ&5YI=_GVw;g}KpI>lAQu^qwnBLx8>xPQ5))#6Y7=Ks$gL-Cjyu4<DdIkbLCq+`3 zCQonXGkW&v+bx4Q@inU!&bQl;czB9Q&_c;5@h1l|iy{S=ZT9k5y@hr2=AzG#ojS|r zZTpy6-0<w$!#_r6IYbtDDLT1&Z!uUIGxf@5i`Ay}*LrFn|2C|8z~FYAFCi&QDERVa z58vez&Mlj8G9@9+H$!{2_^DeJ$6~c?LOagCWM14+QrhUGxS~SFRy(Z8NK#_&UW2V| ztP0Y6&)068)y)%idKWL>BH5iWlcEItvp93-h@Z6O&Q%q3=T>f;eBqhaqYT}JYyFN~ zycoONz|txz=XD!n%i&MjkJR7%SZcMBqp(R~N6q!C2c8}I^>w{0XbYD}y8=gXCzFw5 zWvgNEO3SSY%%3F}F!(mjtk=>F$@sPOaK7QfXNH@^FTJ^Z_~NOxp$B<RI42cN{(rMU zYVD6XTO(PfY_^#lxi9m8Lu-SZp7;SH14Glsy}!RFmej~Rew;jG&b&iczNjo)zI@`@ zw1k;z5wFj^_M9p<XT$gZ;h9foN=duEzm%$=bfn*ctEz@)S!&}{rlgH`_S?C!l|G%! z%NucO>I%7-o$D`HyyDDFy%o9j{kE8_^o4740yCAJZu=a$_-fj@sK-~=o}c=@yR=d| znB}+Q;t%}0y+OMg8MI5R{+2Ra_YUM}GMJw6tR!GsN7T(Xcerv~)Y)?EzR$np)SAY* zby@B-c1s0)K|9bEnz`q$rTAsM+a#;#BvQFQ-9RAJ(y(`hhL9LbYgKaXwJio!3HIOm z-W_h-XxQW1lblo}^YW#Lk1@0M?6-g99*21pcNIh@9!*<%+2Hc!jw8Dlb{v?<v1ukx z$sTSulS#p~TGL8?2})k+y^xlz$zJXhoi{&rc2dL24OLrWGFEq4L`^uVb<{+@bsN|H z+@DEKOD~AcoptD@yL_|HwL>9lyv8C;qJ2q9bB|S6wZ2?qS^WH43v)sCw|V;We!t;v zx}bMhMtz;MgvY(TnU^Psv?*{Dn@tVSl9e$2Q*md;V;L6D1mn!CSAm%eoi_h?)x5T5 zR@bWcrLJbHitjwDTetr1fsL0$;!KR<o75}z#Iv+;a0F^aEp7eeUC=$t?{E4|d#kS4 z-(|`F|NWJawr=Qr>6sFwIpb!|g4$U>qZg#?KC;uxVqH$V*`wKaw`v{T{&J(C%j2CZ z7Cn3?=kvZwbfKzu*P&2H`wS(c6?0#-SzTY1dN=HR(7FXx1#zC*@7KA$HZd1;_qJJk zlPmYCpnJEw*S=@{hO3nOroGocceIF8#8^pqGDAbbi35uY`1!291ZWr)Et2|Q|LvZQ zUEk_6-~ZW$?#<qwVqGSrUS`Ijk|@i;?4zI~{Ow3!+Yvu)W1h6#Diazxjmsq++ujyO zvPnn?%<opc$@kuM<Ka*DPVeDSN#s;?7HfY~xM%&XrT2EPer5As{_dozmG9QYsg!!3 zH=i$DI^U}F*A>gFp|SS%+zE!tvwRdLc__{CN-&$}U@_I{kjL7-_dSbmWdHnHpwaWu zNl?*Opk<a`=%2aw-rkm%y1Dna<xE~jfoV?-oi)>h<lCe3b{-WE%L-=Z&HR7jgon$y zfQ4bNvJOsr|1WGyZ>(yly7Ns=snGp;wx>4DUX_!vS$%4Z0Y8H|N1i~9Pr*bs-r{19 z)ZZPhPBUiCI<hgjU68L`(EG?lh6Os=rL1OJiILM{pSySzCmjv@Qj_XtW753M)K)=h z%bNQPmrWMz{8CxiyJ<<AOyL?oPHq`hw-twi^75{@wwkd^x}WCE-6rYYSowMj)55cA zk29h&lB1W}fBp0ML50k{Yi2u`8Ch=KUYJ?ccVn^O!n4nvXJ2pMd|}?q-~(H9T7o=X zgg9F!dA3aQbU7=sCRAIb@SRlX9X;<H;g+d~g&Fel4;B6|XUNalWVl_!_x9f8<9*k8 zd3Yp>UU4=l=<p{#<7RllYqBIgCA6h#!-~4=M>l<bS`lMa#;zLjYJJ?yr&6Jn4c*D} z-5Bo7iBr&L;9tJ>l1U1;=+RV@u%3(xv5z++Tb8RET3hyAxFV9K=9akZQkdzUGTj@G zqkpFFWY*r)^m%KCf}0tWQE1Z9u$22DN{q@gTdu$N-yPz<IAJ||LmO+SZthxBeT~ow z8x|-nT+8OYbLThJ)@??T?&AA`zd6lb+_U)RBc7?}Ev)X__-Ay_x9k<K`?CM}^@bAO z#&3Qs*Gd-VzOCAlcc)=mpWl{}uLrIN%?P}*H2cM;-xr^L*7a~c)3GF|W67irNzIl? znrGA|8>~^?Adt%v+x6OXhUIEA!P_m%_Pd{bBP;bQbu;hpUAedCsm9*tU$FaR+rL#S zEB?%9yrZZ-UxDM$rv)A7u1dWymtkg44Q;6kFmGJz(4ld8$BwYH$&pi5EZUJ1@|E$* z1@_RtCmAj!&1%0~zc*pW10SE@Q%*KQjww}K3s-WsEMF!tPs+WbO6%>l$gC5_n;(?M zt(g(<rnIlW&8XJ0kX_fZZ%^6A4?24q89F%bIdCs}EL`w)%~_7*6W4BfrL*Y@TAvM+ z*=lofosjp=BE6L--YfsV_RJwedsbn|zooqwrcEz2vDGjBEy9(1gdyVLm-F@WKHp6{ z+HuZL*~+^2<KcFO>D(FlzV+>U<5+H4U$}O)_u4vBjxFU&{+E?Jou|eSWh=L3$K4si zvXVVJ5|yU-B$!QgvY6>|#9+azZ-*B<)*UF2{U&JZD<IWWTm5a$4n2uK3XH#J<-YOx zvNC&n{{N@8yUYK#uUVqNamdJKTjaHyywe=NOjy$uz&}mpq~p2Csf|Bp)uvrsRLPoE z!mg{<aHU|2X#Q1+0^{Ybrb}8)bNvJqs@I+~;dNQ2CNOiBQ%aT8#F?Be%a#f7x31z} zm$#%LLnI?JchTyNn}1|jmLC14{hTlAoa>e=&n@rTXG?3hdYH8IZSxZljJkbW&{I`O zuYY^#I{9rs*Xc&3T}WED=;iDHUvQYkJDwD}m1Equ$Z4UjzFqXM|3_QR*bM$Iw^ywC z#KQIW`sRDlViSxQ`la2BI&Xe7Jk!_zwC=vCY~wk<Eo)!8-JT`4rS$uPQeS?Xx_UqB z{ij*yuV&3=)=e;oFjPw8TIj-+sN7m`%HfVl_=~k3A;yjwZr^zM?{7Ah_+!_=Z+7#7 zY3%j#z0Z$HumACqzurPiTa%+{!;|wR&rPnyItn-XuHY{9DGG=Z@$BZ<=@exeme)P? zOoLX2&r|6qew!X`S+GpRrfWgtbK})QqH-%HdM(qvbnLi+wO!xM&On!C%b&S+?TYhu zQq-ttxUj{|MrR!ZY%Rd<7kZhC8Yk6?N;}UibN#M=@m$BT318SBeE;FFWMS)%j5$}A zvgo=OpEF9EEgyV!rsL@pN!`@DVP{mgPU>0ww8iY4*u2e0XB0WjZthw9^1pbROz27x zxBA-nk25CSd@t;I;H_TO-GEb0DOo}jS9;Dl_L=)S>w59EbF(j8+bpIV8=LVqqWRi9 zxe3e8pATGpyIE{HyR^}?yk$Wg(wWmQ1)Op)Np;Z8W(!!C7yZ)j^(7a9mZb}QFX!=U ze~n_8ZhCpg%*wsD-`?YVFt;dFki{{g$jszQhK@Ij*+RW5cbm@oF|73Xaq4#BO<wnv zpC;}QIh?AwW9Gv|w$zwkC!Sf_N_H!nSoU4`q2VO_xWmU^QEXQ1uE)V*8Zu1fC3=_t zTsyz%OsDAVyLEoCPR0K1m)>%{np?-$5RoDFFHhcs`OcEPDocOZE&VwAlk3(u#+O%K zcxI7!@J_XQ-jc0Rr&2kMa?JDnTDHl&U1Lxdy{oivq3-dOQyMS+uIDwDIvcfIC@klU zgBELrt?1leX-1thFJ7J@X=@w5JX7kAtSm=K$-<?Zx!2y!zIbc1m|VP7*rIiUR<>~^ zJ8TmerUi9KXto5g9cpXr$h>xOZAqYfuK3oS3LM_YA3R8SbZd70K2POe{tW-rr2m;l zHy`YOD=YUeJkrxqpk=8u^DgNZ&t>1=-ut@;lmlPQcQyHMJ9T^5?DEbfziRSqx20}h zV8mZnb<FB)uI7s~7d9l!H50e@)ogXiV0(CyvqkNg;M|#R6-hE~MjPL#GrAsr;J{E& zE%wp*)%42ZjY7Orew|5r>-Fyag1L9oHzu_#PAn-aY3R7HEPMS-v$cy|O5(oR^|frX znSQP+g>CJvAii@g+e&0_Mr<%TVDj8{miCs^&}&*-RFA70Z2d1dMda$I^Zh-uGuEzq z?xpFne7WG<dB-Zk_L^Vlnzn9BYjk!wf7I^lhn{|QRCd~ZyxDBK`r|OJBRb5RHI?6n zWkp=wJ;B^cX&0x{;ezw)V*T@Y+5R&g*l+Ui!~UYT-`?)uoBsXX@l;h-M}cWQro1N8 zX8hSC^6Ka#6-$jz6FiS<tqjsOU-kd>rNw7%F41gTr?W$sb-L57r^ecnj2s?ElQ??& zlgi%k9GWc5;osvJ8Ftui#icVm6>p=iWEsD>(Y5B93-i>d#iEhb%bj9Q{+%nc{_fAP zM-sg*GMxM68Rzq}aFx7RH#73I6?=m1ZO<t=PbSMO%zanNJJYdSRcFPGAii@kLC^iX z&UK{iyu3|eR-vO<yxs|mS#>9WiWbjLm|Q4g@%MCmL#W#149)8o{(RS5oTP2GTqRjh zC0WpCu8mpz^N;KoZr$xYFe`7%*ER0m=c8Wi;%1!AU3a&2^B=p2E<rQjmfkH7#LU;S z?fFyikvq6^dy|5RSao~*{+(Obzt1w*zx!m{yQ?LC*OkA&@$uDsUY;W<;E;OoT|O|K zIkl<(R2RqBLt7(cZ*y^NI9Zsm{p_~=Lbam5YmVPO)!}ufU^dsTpaM<qS+lscr`vH{ z_E5C3>pF47;?T^bWs`hMl>)Rlk0d>C=x#o?+So42bf#nW#yQ<>hd=zj6y}xJyY7R= zS9#5_eBCW^vxRRJE#92EfA(edq9YrvRCQK#duN5k?<|gR$|#;tSmGG|n6>(fkfeM1 z{3@x7kB@tEe>{3`w%UU--AJ3mAvSF*g$;e?TFjGcbK@vk=lJ?oX~x^Q_G??SAAV!K z@UCp(*{4i@>{N7HCrm6<H$C&}@pj!?{7UDlPe!^5w7AvBT{3ygd}@=N`{JY5H0ynL zUzzMvCwjm=MG}-|7?xT|Yjm&p^SCR({MC#n2h^BX<nF!{7m_kPa>|Lqm~B-xzMKr2 zZKsVE&gRlvYNUKJV);?w4xb(+8@sj-H#8OnPu4!f+wEkWuwPzbZGg<G@R}`e%)ABU z*QP11W$NBGtHt7WS<lS^iMw-Ou3022_g(t9@W<zpw~iLqil|sS7<Tp+zqzaB84)n? zLfBgGtg@iiGyk?ZMbGS6%>BG^?}ad}$19A2B>tZLyDdB7+us=XWt<f@r$7BoJ=)>t zt7K)`8EC`I@L}7wg<I2QqpB`#yt8NR+ZW%eF1-DCAgOglrecl+$4pI$ReskuxQgEY zbj0l9U6zFlC2sC4{&VZ??cXN8zsr{hFEQsoBY*GK_451o7A}-O>BZHgp!2DC`LeAA ziz7A&b{<f>!h2n5&H`6CkHpEVF0Y%ip=k9**)1!6m_7fM8I|dHcGH4X+YjoC16$nv zm$PpDXzby(*z9-k=lQ%{jtdPgTn&vA$vXBU<LCTP*P1O}I?qqNi(e+o5V2Av>7+{3 z-#USVx8Ht_e!Q_|WoE(DBHptrPX|9*aj1p0_`U4Wz|+ESwKh)Cem<$|kKL!E;_Ob* z7kd^n9IOAY(Bq+^{km{scJxZC!%TPX7(`Z1zQ{4@B8OW4GGXPNd-iQ<jXods<NB8c zTZ?(4Vy(_4=_gHV?Z`~JW-uWr%W!_u>iknT^)0gRvN~pnyt}#gxBWJ@=6L20E0;;z zd@iqUK4{;=!!JL1stAi?#F^8&yQMP>ls0gdF8&wk@>b4aWq`-(W2e^U=`Fl@s3Y}Y zYE*$_T2u|gK`&JUYs0<|FC<;m)CKs@K6$r3Q~O)Xf(nt0eCEnMpNm5aL5ZU~@9EYr zA1}_?vU>T`7!xVS?(^Kfmmd~p>VK<_+3zKB>}v7fjb~q;tz4G-?X8%hafTuHwlBVG z)TW0#`95*|ffR6WB2Z(?(q-ueUvDIz)46);s-)P1a?>Z@Z<_?ouq<UVUhc=hVDnFG z%ev_HY41uiBDeEp+s1vVu<?i#J2b6xL!x4w<C_zww(12QXGv7O^!D@L$0<r5*%;Pm zZdzEbx#;fRy?gVeBqcY3iwZGbf977-=}!e-xz=v(xD{a@s#cTe$#c-;GSf`4lFKd2 zEaq-4%#vAn@p4B`uaX?!(_NN=YgbKfN=tWmZ65NLZ`YNuIB%^ZmKou1BC=;repw)q zZ9J{@?!N=le#_G4B|bP>+}pWX=jx_?en;2b0kzt?&MZh35}UFqPy5-VD9>XTi=3p> z@9a9wnVbIZx9ANcZ;jti_MF?qu#{o%$M;uPy6^-a?@M@fLy)0i`&!xD*X9eBR_j_- z@4EQ1NO@_9m1k3`?xxh}cb`JH`U<qPB_t#qsECihZ#MU*Aw#aOX~i@14fpHW8}v_r zQ@zwXHYx9Jo%R6zSF>HWESS`lf4bgp?S-VXp0j1%2c2%3XS8spm<dCgQR~f*#vHx# z94l%>P8k$^k4aq=buRz(6vnQj3$|_*U6-t^Dz!q*E^6h*Yp<H3dIi!yN46#j9yIcG z5#rp!&ZMv*JvMr`nG~PonJ3%2cTM|mdqVu`r|oBZH|lY6Kf7mLsJ!-SP~O8v4fRgv zKB-{03~u=fxrvM2Pp3<)bII_Y<<PzR<-Xr1Jy=ejVDyo(VYvI)F~OIg$u|4qwmey@ z+I?G6XKxZP^NILbXzX?LVu46<bMZfm`=KJ{ju|d>HYOz>e(l?Ld&W<8-|yBOKXUR7 zD(;{7@S%Crq$UN9ZYSlx-di|wobIkz%sM+w-zdet{g&;9ps(-dK8>3kl<B>73TIO5 zlQ%ktlG87RWi7lJn!7ZN&(xTA?^e-*okiCZcdp&Ds<S`r%^!`e^)t&v&wFZmZxwo; zP*#62gJrFqeMxNd`L(e^A1dDUs|ANY<x1bl$-7Bd`pGtji@PcpuD#X5I<s~~PieI4 zw4wsFEjPRJi~GIJoMvz0>G}K3{OEedt6aIKm~?~-cFz7Ll_2S6_3g=v%m<nWu5V>q zYy0}bzJEF;KbbqUxdRWo9NDBbVaJXyYGoJrG8U|P*Q7Az(Yu8U=SDXl+|ICL<;^;I z?F9e#eX{!Uk`gnfg7W!_|Bus{dsP)qD_(iaek7^H>*$fDH{u~FvvccJe{HJ#bcsiJ ziqV2dE;o~|mm7mQ=GwJ}m`u9e*pa0w-?H{*=8mdsrt_v=FN!|5aG#UZ%~fZ(OK&R6 z%%6F%ZC;*0Lusz=diz->^Fr6enOtADW9h9q7q(sK$|<^kD^=yJXGFs(qh>Mhh=7et zW#;T$q8Gzvblk&Ci|=yG3^O0QFY`TG5A&_LzDnR$5Zi;oWLFgj#tAd#x+RrK3A4{{ zUcOXR_w{+F+q*Vjc*(7h6xku67PLld*RdOWb*_g9v^;bA{L^lgP^UIyPTr=4`C%uY zd}q9)uv&woDWIIk#81Xd@J7q7jXym3KA8vYto<yc6tM0`KuP)1ON*i|IT)EVpSYp1 zXz^l$NgvnDHI4kp6);g^g)Qr+-^DF$OSgPlb+jn&WK6)@Ter5Xbn(zWvt#zlKG8Jg zz>;lSn;5PiJI8na<I0sPf_wTlcZv0MZJy&@9P6tYeSd|LafapU&AWCiN&7l=x7nPH zC8xx1i3v&j*!{|QYIsfNDq{f846cIR;dizwigqiO{t#HkFW<C$E3a;PuEY6TUkyt2 z7foy2k!krq{bbZpW5N3@3l~aCO3Zl6%XWW#!~KODlipeE*jMoWYi;ep-R*5{;MU=* zu8R)IAHRM3R^{gA7PLvnY3-Hpgwx!0^FJTRR99NyQg*S%@Z7mWEsQhNG*S<Bxe3bJ z_g+{z+2HZVMM~`f51YR{VX1kZx5|PqdRxb&y}36ZEuJcoz4qfpuCJo%PEiNNllJ-U z{P(z%g~?8Tj~xG=yjt(s=YQWWQ2N=n^PQI9tv5Q?xKz!~)fk^nVbgth>7_@;>T9Z| z)+?RT>Z2FxR==H5_-tSG!BeNAyREo$J6RrlTO*=u_B-3fr0L2*<{5Ss4D-J6v0R(q zT6*`j0JFeWpNKF))-`LqHJ+Pm-O=H23N|pZ`7{4Idvm$bhn;EC*2eYA%YT1scPo2e z=NA?vz_QTqdf0)SCG(H3TKiUpp*<zFC2D29Sm181O~MyX&Dc2AyW#+kO7H_0rj4D3 zE^g-)42?Gn%y4(v`YZMi5A(A(I(M?KUD3bjF!kNE?rD-!a+KJDQa@gNb1N_`{^#Fd zPDZ`Uhn^jYUoo4jedEU6(k?Bfva<DZem%CQ&*-1Zi_G2BJZIOQxmc?8J$6p#?V4|N z3U{aMb=#>lA(KJw{Hh&sOAaY6Iiz?-&W@$tpWo{Gx^}KDN=dT}rcAZgUs_irx+Rfw zj~a*XIq&T`KmSZ_=ZighVD{{s7rI`TzkT`kZJ*y7X%<I;SIeZ2NM+ibGC0@Hk>e!0 zB3|sG&Fif;)h4_3Llap=Z<^IV(_S%!F}aHCV(@Z-*)r_fTR-enTBFPL?2XACS=j}a z;oGf_x@+&QpINr;Ys4KF=Fjf2*VY=xy1TM$S|etrZu_(}^SQF`3?BCjm+!H~D!={n z&U9_Ny4qx(Z)vAfMZ2@6Tr}Kdc58d|kuwWojs=~2S1c2Cim^eoKl#mf{wH(&&BEtZ zT~!TgxW0YS+8dt|!#aBV70v9}rr+;Bu!}e2<x9syK^_umy0*&4SNWQlJ7!4z`u+QA z>FsS_C$4+Xe&KG);d<5IHRVh@oWaqn*CLf^aHXcusg*7DW78zjlWJMNd7_Rb_4;y$ zsdU|Vs4P+cB(cYKpZvv-h8vPZicO~m?LWlj(c9l_q8r=cFpDksU2WLOm8bKjSH^C6 z8#DKCndR5W-y&Pi<{ZBBdgr9CaxMy&ie71~=3_0LvUNS%ldFQ6pWjZnYai%nEx;Ic zuP*YfLuB%)Om~l2Y(i~}N=?^aTQ0vWU(sTj`*QNX+1r>Nui0OG`<eGKqmGHu@fY-# z-(O>;@ciqaZD+D??3q_@uRirdQ|Y9|b(>qZO`0FP<bEf6J-_zE2!W@X+H*h7xteSH z`hbJh)~xmNX*P`)E*_q7^S?&HCyQI14@+OJ@G4BP-smgPl9qUXo~^pXj|Ahsxt(@X zPj-N=S6E}x=zG~ELHO07N2!9kALSwsMV)llx!fe#t623%BI$8*!s#=D?^~80?m3#^ zy0~EL*3@YWj-6S+D=U9CFMgBd*RF^qQ@6NnzMp?@T5rxi(<zsgmhV4Vz*5&QKFjUK zg}a5R8iMtQf?jR<BUo@wnn|$vrroPqclSNjd2lLni=|(L!S{Qe(wU;uiZ&Xj8+<;q zSwp`3Y#r~ab>3<W{o)tG-f!)m>Qs{?^YJ8S#jRTxw<RhE>6r_;arSFpJkOGNbYp(S zk9lj&@7pjelJzw!>Fp@nk2<gv&>VL_=8;>~vUD-<$dZ3ig8XHz_Yb$;_?&aCd4^=C zQq?01p~s6Qy-hndY&&!0_^}JuuCeJRU!A)93t!8YtQL#irR&2yiY4UN#w=n?&zrlm zv~qsb#0k^x_ieJez$r0%?$Ne&ehntO68`S$JwMk@SnZkFyzFU#Cpu2=?9@{+d9Y^x z(c9wJCI*-Lv(I#V>tb&4=Cof%^65i2*1z}ncTv6R@LF+;A%imKk3U6<2c6cKg)1~1 z_{D3mH*N`!vznVg7-#OTy6A|N+Ke&Rd>*Gg`<l1CTD_s%=^rQPV3l95H7|xZ^LD&& z-K6DYyJB^BhG%(z*4+jM2g9D30%`NAgoOKTn||DQQS;4S^K|@;O%vwK(0M;C@=$DW z@r`v4YRh7;&A3!*mN!=_b!VB_uKH<3ug?@pZ_S+k`kLpqytx_$oM($XuYS7Y_WX9{ z=fBUdr*1!8D6QIb)Inn+3*(2XJ9l4O-{wEJv&O3ItIkWQR|l?cneqC?A!pA>^Gl1? zEh@gP_2Tq7)zW93$0yF2bxPE3bF5YF>lH4tTC2U686_=`@qX4N*{@voL}1P0_J_v4 zJ4$9p3r(-o=Wx1gXkjrU;EXwAhxx+~>u*Z&)cJ%33a~6xJ7+TO(edfuzkS<wY7<AV z@`k6XmL~$wy}9##6F0M)N!QKg|5{e6e@mBZdg{1E(7ULLE6gY`D(1A<rD=wCQI?8p z<vw0K#hF>g6xlanS?cxF&Wu^Ue@t^1uK&3)Q_7@QpzC;Ino!-Gt2cid^}nl{BFmj| z_1am^7!9olPmlX)cPxJ9kg-|#?kUdPpMRGr3HsRmSz#P_wy?)kI`HhWzRm+JC3AL% zIIUAQJL;u2(V|Y|)e+8$$favjSRErS-r1aeeKNzpg`VyIr)F=@-|qzWP?T-A^x3QT zj_T^JpEOla$}M5@d9Eml4_5bg`m0Xnkhf@f`S<t4IlP@4uCb_=rCqsq>P)9=l&DkG zI@2gyVcv|RttMyHE;ghoFUd4>ikg<OEg>`9#pATt%bYdWCMaKddj77{|6R)xOUlab zUH!JGS31t+K#Oqp=3iHza_4CX+~PW7!0se%EqLqGuT$^KA2qTY8Oq3VWQazuOjS2I zA$)a{@lJu%NwOPa+`B}kdMQ=@vB*dg%A3BrB7$LKl5mUY!FvxM<~O}a_q8ZlzwCAS z-s<Ch4Qm!Da5#x7wJe*Pxx-QOt5u}r!nCE^*6mF_dSj8$zXdD}y4)Wx1|IRB%P?hA zf1`?tN}5vRlP^4fZ0~l@$XMVpXS31Ai*J6%?{Q)N`F2Hyj{c^bOI>7k?|C2cZr`{2 z!k1zs_}e#bTg#ibU3)|3+griz$BtErxt)t#$#Y8GY{Tl)o!i;cIRy;FrPqeYm@53e zr&bnqu_9OXSJJbe*C#5s3)<FgDLD6f&Y1@9ZKwAnHcZx>5TCSh>Y*;z1lewf_b*ts zZ#m?pni|BCn0jc|vRa48YmXVsOs=2!8RT#DGn7GoVyXy><BA!RdCMc&*G)+k%t|f% zQ}C(z=JUBb-7I=;s{d>Gaq@BIYLSh1GIj~c$~SLX^XsVl<(xZKrq!#r27SEvOy{0f zfB!PezWz3@M~k0EuWc-fwcY$Y|KO!{7Y_Azt#S5~XP7k2>5xzQ?byrrsuH`ef3C>n zHWBIE9M&AIDfaKyw&ue#a*A(nikrSQ<8*bdB-=8%Dh|`5e%gWN=}V7Ijo7I=NvQkm z%GVhgVm4J=>vq0(xVP6upygS5%JXxDOGD%tuGV}~sISP5zt6j=t4V=F^c1U?Y}SFq z*qgU+uRi^XgI9IK)J=}T(>hOFJj`MLUuR0@3FZ`Ib(;XLiI<meW?6i+r+=BQSIw4F zLc9TmifdhJOg3dsSMJM<id5{)Y1tB#d)(<^<=cmcHk<Ebd2rFo)yTb*_Zf@H6Rzw& zVeJLKT3Azsl~dyU?SE<XWGu1s<oXn2zw=N;4)^OL50)HBDy~_Zcwp9?1~Gq!@|{If zO$BeVB)S%ye|Psk<AZEp%Zg|3zp*vXP7!5w6wp$bXu+m%HDU3qw)5YsB4rjDvTU<7 z*I(pxu$NI;#OcM$<q1CiC!HUAc~%H;DT;RL1l5>4cZ%Bj@!~0UsS9&BGgBWe4isE% zy4-2j+dt=PpXYR)etKx;OG$<X@9VMR^J=#pJ+o>T&!U}8QBnIh^>2RW67pE9Wn0j- z++wNj*rb*#S45o7+x33(<T?>Ksp(HeR%PLJtySKtiW_fe^_-v9;q2>wc<FBOJe?+m zH4?jO_tmp}2oUDm>n-?JY&E;10L$|p&_!;2rnh#?$XLCm?}7kRwBc#fG`B}rIFIzn zoH`OUnf>V0kVDJ;(jLW%3SU|g;Bh%ei1)^oseUE_XVz}Mkae~*dU@?4#v+|1qQ$RO z*z@LI<;t`)y!k2ibqVjo2pNV87lm%@Shn{q=eq5y(>cR0X9=l^2;U0u$~Y}{?b$u% zfHN~HJ~aM}$eFskPOoXjwAkYe>XV9iS8ie0;I#RI58KPUoz2{bxRMeQ4s7Vy#>ioQ z_rc8j2kQRILQ>7g8s@&t?E3osOE!y7i%*zcf8o57B-<i=8JDaquAetumageZTI%EC ze*9UhzKGxnF>|{pRi~&@aOvy!Xz|pn=(Q8t_UwD!<tCLDq$!~#dnxU6WP0qv*SEOK zlx{n1^LxH--c#MHr;e9tYi~*I{36PkdxpdIv&p2%!7FU%MajBu{j)1Y$vACiUr0=l zXMhpo+1C?y?@(By0P4L@n3<n@Y@_jqoA(j|m{LFoyFc$_+cPb{=G6tolWJNf9S5eh zN_Hz%Jzxm&O5$Dnr-l8oLDEL0yt!LgK3+VfDs_SDSGkz{+H+1((*nXmJhTnZmpMt@ z{9+qkGMzg;E$woAN$-bApU*{~J~NT2k#|Le!)hx=Cr2N1k-uwX40ZiWv{kpvoXC;( z@5_%zs+uP{mxnpaGWebNy7AQ_i4N5Tl{T$vSN{Ih+qsw9sd!WV^>vO6<)#lW#B$xZ zygS*w9bA4^cD(3xlbN3MZt7J~rI2heX|k|~jP*3>`yQvd^fs&eF)iq7-QwEczwBoE z*Ag*#-_=?d9ekan0^&ThRX;s_ySmy&f_LfO+?qK5<Cd>?^&1*TtYi(${#Uy2M`-Wr z^wQFwP10N~+n5s9c3d#~dBHj1vX->}+FvTHCxq{5ct2RVL2qiqk)+jUQ$;#cZpE6s z-hI7P>z>l~a>tBE^2_b+yEDq<9fI_fQ(0LZ1!P{Zo#EBo(D-6n?(J<`Pjhje*4`k< zamGMREy2(4Y`1n$n7g5nr_1r<+-pyrQjt1Q`g)0KNB=Ti-<mB)MK0xh+bVs%#>VWD zfTs!rL;CkMd#}9zXk({epvf9~O>6CrAE9fxSAIUir7@o)@ttkMiHXi0J@d{99u%{k z7p3bYEo?D!O14LDE06H3(^JLnG5Ty@<A3sPtiY`46B`>NuWi}Slwk5uI2qK{b&Pa% z6ll3r^1J3dgNMn33%7*zuIp}cI<$!^=ggUv8x3a|Z%zu`=;fVJA`*6Lg`(Z8Z8aY+ zt`fZ@_HXH8rS0dA3S8=v6@DqTOxQC*thwXEB;DEitOhf4j~+V{Q2AclHzz?no%gHX zngFMa;7*n_x!d#ASLp`YY>jH!=CbFBrOMGnL!FF*#u&W^M=X^#a5_!ioL}&vpXJWY zp5*jr@4w{Tuj>TIejyth8xNaY-UaTT>Z;aTHmqTaesyN0aF~e}f92{O2F$_7`<Yj$ z*v%?d%nf|JSa;HdFde%n&F$y9T20uGKlxNqU?sxDup@TY?@6D{mRj(BignwWv`{xb zWVOOZ$E}^BIW5~(9+zvK>J=vEzxG~fit?(dtC%lw@;{LZs!rria4{%qRs}_MUEHqJ z)6Y3~Z0Bshx5y;dKR<tcN|GRpqXr`*zuAim=fWEg{7z|Y@md+JkYTjuuTRN7pO>%H zBs-O?j9ah0n<vvew@Ks4ly6$+)}PKZf1ecjWl40wR-J8Yuj~t1c3;Vy(LGt~#`2~@ z-D`#~?evd1C9cWNKRoN(Hr~6kZ`sw-oy8j~7v`sZh_S!<b*ACQvl|O%=H6V}A#sL9 z;QadsTjFn9DH#|GElwA(F4M{HJCVnjV1ICnPwC684^w1BI7Ff=7fz}ce0<%AyJ>^b zi}&xtujk&r=Dus6yhHh9-v3iiz5g%Ma2`CSdE@YbX5Qbgr~eFQ_;%A~6^B#cEAeLE z;QIpHT$&1p&YZj)u<WIVoz$w{{%NUuub%mMQOj;w(DA1aX7I$in@s&SZ}*Qq#rl^_ zt>UhAt?h7)c3n4bgMUuK^Q@?qN9UwU&8Yk`acS?|u<g5imIftkOj_-&cxb|%Tdavs zH{_q6C(Ki`!L$AU%e4m|M1yO!Hy@>r<uk5elf9R{o|`RyLa5L**M#nxr~B{oFRR{M zvuVkiON)HCFRS}mb@jWgwz0bv)ZIL5S)$QI7Gq~+Uj5xa7L_tADr=gxN$~oPd+X+f z9xFSo_i*{VCdqDn|4B_%T)7`3)P$R-NS%5-v8;GK$Q`YnIfoB_Z>U@#S)VR^@!j`3 z6_2aH*~F>t$6<LthKe<T$K4Nv=k5EMcG6E@XYYY&|3n-68zxLhx6!=#GV_S@W?yM} z-mhK#*BTxzIR5zH$(fN14c8xk%)7TE(M@z?*lEqO+YLugD?|mfH?3K=@};H=pKQz$ z71nNreN(%R9^;YV+*ubAufzLl@r(E2McLvlQ{88;yU+HZGfmpuczyZqyVi<^3@nZU zZ(Mbr#hZNiaITZFUVXKSPWJ(^f4A)I_<es**rDmkD5%yi$3CS<Z%JyWmuPgJZrUQo z*|oE6E1R?h4peCHFx=R&EqjkrBWx|e^EcnF9cW}?TsuQG`dapx{dyw%wZt!Itqz`c z=*_>sk;M$NU6{YFE7q7My4tzZib1CT^w!0<RJ2{n+xCCEU#Gvl)G=Zv4<DbJ$Y)=M zN4^$+vbV7{%TEp!VR78xc)kAOg~!Uf9`DM%eQsi_(6pEY=7tyl|C})p+@~F^J!7TF zGQYV|QzDW=cb4Aj@LPI>f0c_zbWY)hYssf}dM^2Gd`Ip`kSD_d@9jA|J+5!Lyvl{g z%zB~k)U965aeKD@;>_LHeEu-U*`&%lHm5sMMLV)A|7r=(i4<O_R4110dr$MS0*ChO z>aw?0LM~@#nLN<Go_D{l6<n_93A^|G;X9DR%x~zh>tDWrcgjJ=TS+BSGh>Uj1^>FN z(OS}S?AU}JxA3q<jc&g40$e<_-)P^Rzb<=*-^>jWj@L_L$}Y0zp7BWKPWKa*U!l|~ zFh|X7#g(;JI$8uPA387}30@r(vUzjKY-PF0+3v2Myf640uRZa7B&Ef%x_Pg&^L?cU z%h9_EhnT+Kuiwx4K%Lj_OnIm3rVTkv(rk7qE>S|}3}60xB`mlaJA*U1y?@zePd&Fq zjiO@mYpoP}y|^-Os>U}I|K4LE+r_|eD=I4L{Ot|zd@LP(MGIARrxtFhiDm8No#OQ4 zr20Xxg@r=m0hu4yPPx&x$1qy$hQX6x57*edGTL*!=lgf}CuMpZtJ&0I|3@<{pPm1t zW~KVfKdW>WDsVU*{JK$cQV7UVK1|XKU%oG2r28>Wpib|6!|L4<ofgad=S}*NF}16i z^_RC~;JTIxX}jywnwKwSUHq`bX4_};ygOHfKJ0&>@=t1df#h13jN&;r7+&uGD11D@ z$Jf$3CSd)I%&FHbMXz!_+MDWe?8&Xbbs2vq<n6j|^;v)ZoQcsp71rpvmA#Wu_ub9u z@Hujw5mKu?a*>PDM{kB;UOS(SE@IOH6TG`~I$u0I`#x<^{>jS^Ug;Sxcc0kd7M@nK zCF-c7x|7r?j?9oa4{a{S4^@I^kNm5;sVW}7Ap2Iu&NYipb^gu}TzGb3s<csQ#EQ*A zoG$z}?`=F8b6U17DqWFpW2(Mr)?6VkmL)s~Ha)o&xaGlrm%p9n?fdF}Pq}l9HL<kl z`-2C68TMV9(wzP;FW+E?C#Ykqc=p5zkFLi5%Q@HGpI$ZTWd7+c&eO^p7!RD_4SRFC zzFs@~hXBVi8|iiD4kh%++c9m3y7MFBDp%%#O)63=W=~*icZxc9TzAK$tX<s3ZA~jh zVs`oI?|s1}&R|?CubF)EnTn#*#7W8vQvWd>J-Ypbv46Af>Wz<9P8B(;C2+N9TK~bM zqhV)?-p;;wc=rA7fB$COImDV+dim|=zse2mvkG3sa^1KJ>h5T9H7P8)*tl?+gvMvx z>+H>cHzghV#E~PJ6#wftW7{{mYZ+ag3aMYGy4dus3{D3%VkfIgt=K)mZE35C*2ewE z-yfanA#$eY+_r7&e5J3=KecOO$TP91Q&XoDvzjg!%ROnlJkh7`dSu9IrwnZi_fwiP z{am;1Vf9fvu;$6FjR8UozZS*sdTiEnC*kDVXn~f-M#jTRx7ZZ!v>dKi{{6T71lW0! zl5+q21#It%NJ)S2zs}xVuf1ALXZ8U$hK>65ub!uT@@DuGZ+JLjZtANml1m<aJmzl_ zu>D6yNN~-Tu2z#Nf|tCi?h5W%yH<jC`QxMccE8{F=IZLQ7w4(*O_n~hd*ZYV_Eh2Y zwH|DNsY?W`KRDI8Zr$|pik44MfX=)q)kRU?stg)joYqOd{3McD;rr!uy}i!%Tt|UT zKR;f$;Fz{=tK{)>2hyvX4{E1^`ee`Mo9?^qa{a^myu17U)^5r=w23o^LE!KF`g*l* zOa1q9A82<Fnf%;sjZt`D>*aR7#?7qVMNUzhkGmJEEIGJvg4<Tk%%!4c0*q1K+)kYq z3=cka>+f*5{?%~y?D>16R|HSLsB_vp<yEe*bjrVDaTW|_!7H*KHElW+Df?(;sMe~d z`QAquABE2Cn9;FMvb!oy^6#PL|5di<I10SEu|4~`Lc{J^1uyhi-@LrLaj`QfkurXW zz9um1xK?EQvbX!{et$DRaf<V_+J;m)1<P+s{dqGUgfoAcq2a%JwaVf`pZRuss~#;5 z%>8(=$X?QvE7Ns(cAb?;ufXLPk4UwcUEI^-YXY?$G<PS8N369hlsvn+EI2jBxp$?f z#N*_zy>qvPe7v$s@am@fo1)H!<*=JR+wQXeNBQ=L(c9IYmg#ahos{2#*{*J|t^U^H zaK%TCTX#+7|GL`v`?piRwxo*Oxa6|$$I9i&lh>|KT;$)7v2DuINmHhVs`<@xGMYEx zM+V>H#ky@1!d4}3zux?D3M1QvdqNyJmfzoW2Hj6x-ZV=~boN=j$15_G3O_h-7Ov*= z<jOFdBw`_Wx2q%T=WXGSix$1-(q(JhCuw{|bfSLkuehDQ+)WQ!5Y6ek4`x=cfB%~M z6exu<bp4#oFiZ1ZUc=1#qF959y=&$z(EZK9W|wkgf5C6_l5a5%J^4%ln{>40!+MO_ z`57a)6xUw+k&)5yBcoe!$<$ZZ#5o?6sL1xez4P_8S=qMjvYP*U0&eL}(e{}(!J>>s zYw9W^Pe<O5S6)qAvfxhHl<3E2<WIBkB!|X`bNrF+y?T04{GPvNHBT=G?hN8;3gG<B z#{U0=%lzz9_g&B2e|dM`Um;L)Cd~Rf55GNsLjGjl+wKSYRd%mfV0y~oQ2ZbL$rttS z)k&B9J@4>iZ$#zVKSKR(hPA)W2&qUN5K@&|VQP2l6G!IH=F|VqU%%Ja8NtI)aFaFq zT=~milI{FlOYb_#M(m!sFj8W1dJdn=)T@@FS6|HqxwGkS(v4jIBjI1RHgwKQzLeKd z_wd_lrT9NrE*E8su`G<zyT9irH;c*Qui4#~w%G37yH^hE%)K59Gvi&Xo`xGc^8C4c zE#bqud-v{zMY;;!kZQUyce|}nar-@op8af(TXZg-N_+FeaLJ?2qy8oV?LRUizWm4t zSs{3nD^vB``XG<!8TGUO{;6}B>^WiC!!B>VIOmofm%nc9-WYanYKWn8q}U{PzN?1w zqNaLstvIH_y5fTAmKhsndoi7g>YUzCsP@n0j_vPDKc3qgPWl(C#L*OB`}gnPt_FpM zlWH>mw5Q(xZwYp<wQ_UwZ^l1cJlpFRfBOBu;_bJ$;U~P-*==c)39aAXRrhdmv*GzS ztQWTMH@;XBQL{GSv?!aOtj&yb5<6!&Mae!|9N2usU3>9)(KqiSJhY1vX1#NYxSSXz z7WK#OyzBG4uFx;F>n`X{nc7tOO2uO0iog(O-bGTUQrKKeKVCVttL;{8%rd))5uW$| zW(xd^*2&E4`~UgveTVw}n%k2d1zvqiFte$d)W~o4@`L?eQ;C{xP&;T*NXC4|3v2cZ z#xKddCBL1mIbP^=ir@_?&kXOQ@Al*>h=qz9X3l51$SJrqY{BXbm9CW+FFy4(X*lL> z63}TnYwv`%u9huK-Rsw6^`Gzl7-BW?MP&Bw-PhMf1{W?fbN_gK#=<1S8IKp2dIfFZ z_;^K2?5s>z*3aj~|Gv4b`NDZsgf;oXi_LQ4`JI11tJ~`rUSn~L&;hNFWq#I}_9xfR zW%vE!$GxvX<!Qv(H?lG{VlKO9{}8yt@GhY7K=a;%52kKfq_n}5FMhwR-2Ttk>N|UX zZ4=nR-*DtbWMYrJZCi-a#T_3nO1XGwr}c*EE3Uob@i+IaMEBCY&iXfN?mcTb|J}(n zJ2oUEnJt>@S!Xgs@ygDecNJMjUA9g-q__0B%FK*w>whGs)hLMtK0j_(9{u0vzk2$U zRq7mvk}fZMy`8aQ(amFL&%C~y_uX$wPrM>W(}qumrf=&RGTzlsNUdvSlDi?r!xy(b z_qOGxRoc>PSGrk$P*kpZuHKgX>r1M_p8kX17yWFK=Q7h+TJY&7b7pv8XMb38w0eU6 zB1`d09Ik8oAH2*sTw=q=^kI{?-mOKiZ_UiQJ|{P6bEI(cgPjfkejX3Ww%J<MoyBUL z5gyvQA}#ymG)1}Wb^2xxzx(|8cVn}(Uf2K6x%UrT&+k8d)lZ;hX;MLf!NM8&Oc#2t z&x1G96HPx)o@?E2eDQhsfrSDMc9*^~U;qBKwsvc@=KZ46y8B)?9n9X&)?Cf_=c$*K zS$J^YuKn>x8|E|o=-mE4UjN#ZpXNutC^F0~lFW*GG*Ls%f3C}U%jY-ZClxJWYyZE( zTQuJzf9WdgG7A%}oT!WYgM(dv2bQvD-WJ}zO-ZVI@zK{8_4fZzdY^pWZaT~1=(oF! zi>>@-CpM@bD{_zZ^U&G8FXZf>z?mntx6VCP6SMN|({q|kI>H9L2cG6VSzpv7sXWWO zR`=HblYfg+g;^3Uccx!or@sB$*IKqS_cIPXtbcmz?d|&N^Y8BVpZ4Nv+7NXydE<Jm z{rmY3sA@kbs5$e8bNlVT6W1Pm&~I}3*QFElY*!z$em|?f{*LsFnU&HVRfoOywm0-m zt(dbe&AuV!e|@Fgf%IMPe%uqEeD6qE!#}nI+E0S6%;}kH(K&6M9!pfT7q`$hCKp%f zOVO)EFUe#FpVnOxcvsfP#Mk-C+otQAE{JiI#BO<cXEA%9oc;P|eg5-f3V3x(Tefy( zJxO>b<r#8XeImmxDg7`l#`DZS8rRLd&;RwloocwTqkvQ^sMoN|PGZlj#_uLKFYKMQ z?*7+zvet2bH#auU0IjoMJ#pg1iC4aEzw;?E>{WP%8UG%k>*WmQ+OhY`YUA&(7y10Z ztGwjTkLUM)g%zo;y}R{bf;nTp`h(aRb8Fc<tipc%d=;h1ZuIvl|5>IVW)1n<ztw*Z z@>cXXz|QdHMC!`QgrgRf4_IRgj*4E`QnaZ3aj&=jl2Dy2OYuu9BHjwQWqqvJJEOy8 zW8C$^u=4Mfmp3nL7B=229&-2Lm6ThiTW(yurZp>6XI0?LXG^z*E6%dC4{S`4$;e%O ziD~1zGYose4c~g*`T6lagNokoCIyox=eaL^-Jg28O6EY@GbzjXSDtG7xgIEQ>S<C~ z6ZTF{X3zg$2_J6r)YP=f&N_A`U-iM-#+x@+u08nRzv8p`OYgj^|NoM|P9Sev^UJqy zzeY43SnauTwZj)ahV_gK)-Nl*x>bl@>r(ye%M5nS|K|R!6Rk8iyw7sT)ZuGh&Y?>a zdyX2`J+inqfBQ+lxf&;fI5MwBFHU_Mur~U+5O?O%4_mh-l%$EhX0F?l@%g9tpN}uo z`BW#b)D<nC;?<;nT-)N9RcF?dgk#yFS7kc$MD;X^qf$PzPRo87obZpe(QVPL?|EP9 zHIhRMSI6vOam<JS^=tP3n--my<;BhMj6eVF>)rY9FI?yct*47v`(x&RMYk{08T6tS zw(np&aMq_}^KFyh=;njJ5B>>$@k{?3AD>*t5ytOz516xWn8Y9T+AHRgA97&o5t$4D z=Z4gSTNm}O`@deeFoETO$938JuRSU!y-zLBzZCBy-qM!(=ZEH&veJc1_wMDgP1^Z* zaq8O*Of6f2epp!>SXy`I?U&cz|Kri;|DRVbKRz`mTe~8IVZP;5ztEtP#PA3k({%O1 zjhx>9JKd){CsemM?k;J5-&ON*Tj5SG&ZY}FcWf;x{$ES@u$sZ{ZV9A6^rL;^!-vVB zrDJQ{%HG}*-JAFO+xN-K{>o|JFF3~hAXlMEddi_|2?et{<kFtGJA5&aK6d!`yIrqe z1o5UF?~{G^vEq-DY{kY)Tf94drY6))HR{pbYI}Q)O<3=VDTRu%YzB8O{eQbTBJzE! z+x4c8%g%7>m`E&-v*_TCE3+)wJ0o=E5%=h*H|(poZdI1)UU2sDRdC7kFMWP5^ON!~ zdkjoDRVE*8T|af&k_Ee#uR65dP3>mm?aebz=Q93a*6wk5y!Ye3X#W$To&qgt%Wpsb zy?%1%5$TC#(V1$yL^iD6zWw`IWo6}QkgQm{yWGAi)}X?Ask8H1wOuoQu4TB#l{VpY z>)L}4cp8#t7R~AG6aHKn^h)Dp)ft8~hZNSJm63-HdL~Ys=uy_bckkZ1?YG~03v7Ln zS3dpd9oK1F+f3HBcb;S2z<K65!wr*}9yu2~Vt5)XKIbScnx(t?QkV9v{~L`N_OU;x zp8Gfcy~%?rcH>y?N7)B5CSG1-=y6O~!n#UEdRva3a@CY@uA*7%Km5qp8hkUs)Ytja z>*nhQ7sWnok1zW7Q+>X5Q3>;@oexxm4}3{^_<Y^6iY(WMlkyoEHcDIwEN|3hdl082 zS9ti>OK@H2rNVK@3p6nTT_+jH@YdJtkNGC}GRX~5H_dJS%w2o%K{n%^J*Sp0G7i>b z7i-bKW@1om^+D2jlAibku_p`;XKfd2GMqefxhF{LZ^+`zm&f_0Z8&vx)2q8G#{3h? z8Fz61{i|ocwpKS`Z})<|tY_9w2~Me;X;CYco4xD8t*b8=l+Jy$*z!g>s54Tnc;NBJ zglk3@k8)-2wmLs==FE9=b2&>z?{-SsR9Pv@1Qs6&o_&7{%c5D6tD}tg3f$lRuX3^A zJ9ggj%j6qNeu?fY%??^;)1<H_1vG*3Vb|>ZeZ3uJX18xhqAq`26Sk$|PyW>N<$4|K zCf!_-^D2c)OuW;1ns5DnN%p$-lE(G_t)oqru4_DYz2T!cLsaUdY5%4_>11Xv{HVRI z;aSmHZ6+c4wOx<bE@fwrt@z96(|Rc4b>ZVhXJ_wL>i^Ff80w-qONKpY<)uS6ynKTu z)HmJUQ?gB)xzpkSe@K;;%fX5XGwM#}{52|jzP8`%o4=z#nDp<mw^Dbcc=m}N@ICwO zb}VCcRr#BWpC=9+SOZCw6DLj#c_07(EAOdIb^H&UW(qD$%)4a7derkv{TG2t|L)#* zd*A=%K)2ui9*=r%;r*-!UNinknI<N$JoCuQ!|sLWj!uoS&hG7RQ~RvFe!gjx?vGoy z4a|(2OYP*>?Rc~F$K&MRi5ZoKUy=kryy-c-HH!7)l`KU$ZT$^`It|~9ujrdTm>%f! zmu>!Ae_fLuzIsMY3TwPf=D%O8HF1Z~foE#cztX1q)X5(J&&I9^0~d^Wx3`&3T=rMW zB|62e#m#}m?D+i$(rY9>a9nzN`p2#7e{>Vizn<|ijcIS=!S!t%dELjZypXuH>-vJl z)xM2Y3EwZprE3K3_PT2&&Rw6bu9lv*;n?e=Pp8Lq9iLYxmF1UWeD+j~b1r}7)b6aC zvNJUuA{*uvYxWDjNM!xWF!A4RiO=gV{@>UU<I3VF@Tu+=FVC5{^3%HYu3okb2kwS6 zr@z~~Z@qrS_X`&`fWvnxXeZnYUbg#78h&4_`5&RQ#=#|F^|agh{qBwNim?s<>cSnO z%UL&ntuoj<N$0EHi>T>7A%87?9&#)xDPvrBY29O`C8=LG`5b?fmG5pL<2d_#w|M@& zp5=V<j1CWsmopsQ+MTAY=;^q&cA5N!0~<4@+_HM7eCWN%W#&Q_Ik*4u>QA~9Ihr0k zc$ic0q5t~VueE(M-sf!FX#BanYI}ZtM#}eh&mpx6Xu10CcgtqqbJ4rLo^g)4v67Cu z(uS+u|LTlSAL6aLpSxdu`){wakC`j?UfA<;ze1;Wgl@EzRY9Cq<KlH&yytLaM(#Da zVVFIOZL?}ag-&1JI=>vQwFfsopXZy-x7GUFRXP8&p7W2k$?*Cgxz+Ri(fnUiV^moj z1+<=jIy-y+hbIf2^OGK&^)>q<wluT4s=7Mf+{kFsq^Tk-iCZ_lU$?t2Z|~D-+b0Em zH{KAK<`S{(dBV)5UytAZ{=#};%k@o}hq~Gl{rZ$kUs+6Q=T|6wV{pcJdE!~0#>XGG znDz%u>wWvS;_9)@7ZPW@FbjHV!k!W?Rrn=jQOE^uQT^VI(@&l5JZ?+XoU{35OiaPW z)}6=W40z2x8^ybd=A55jrM1ttK1sW&*!$b<St}MSF4_D!>b%OjNvm5FIGjqqeE+V^ z)Wo1RyWq$Akh=fRLDLiwZ{Ntu*f^Y7&;Ft3OxuQ-jsx2`B6e+^dx>GzG`*SZHD*B@ z7AejUPWG5<(e&hC`b4WLfoCr#8>p)<P)gj8c}gX1<Fciq`8M^!94u@XjBL9@Z0<EE zuZ?wKp5^VL-G2P}VIB#dW4k_^Cm(JVpCWd(XxX|c8EsrHrXu&_Ca-9FDsr`G)~YYf z3l%t;0#ua`A6A$AkuaI>|7Fn1WzeA6hF9yK?k<!4HtX5^=AU&lc@r%K8gm2FLU$MX zMJOv>xYJy-?S|R+c^q@R4sxA8G)tnj@RLN4zRhgC<9vr@?3uI6*t7)MXL!#xTzlZs zqpy!{h416ZUAs0RO@)W~yWLk2KD$306*t%Xckx)Al2@}f*Q4^%Py2KG-x#g2%vSE| z%6huy$}7cH3s1V3>fN6rdHvz!`Cm>S4HsZpSOx0l9X{}V*2n4Uf^X~2_nNPp9tw*8 z;_I>HzS*5eZZp1_bW>oOROi94^gGseU!~g0I4xd#&fqvQhtFeP==A$+GtC$-h2<>c zG?qHKQvELLr(X_o{#NT|>j&SNH`RRluD<VkAEjn|{^@Y0<M`tp?@ull=u&6sd;Eo) zeZ$8`-QtBT+QxRbiq7=DEOHFy(o=5bj{mA<^YeDRvKW`>`_&UCiRdKSY<*=n+0kLP z{kvLsnH$>SiH-s-uQIQ1@o$;BOX$GUvnF|Iaqr7^mortQ+rE!!Qs6l2p{AF5|LegA zifsSbXX$utzp$r+HF|DfL9V-Dx2e*ExuVf=v)@>qy4|iTtR>ZEYRmcf3+EC(S%*(6 z?G=9>N%pY)ZqjpD|A0*?)3rIfS0<V~wGrZ|ue|Af;qomm182q`Z%<B^=yrMb{N<O= z?1J-VtvbDY?Y18o-j?RYOKjvM^u$Z1_ld{<w5s^S7$WD-o2qj)Yvzx(j^)oj7;{Tc zekA>rONXN=K)SiPnN#2{i^9E@!~4^+4SpDchA&#a@ITw#-u|0&huB%k<lqb^mxR^o zfB))Ty1>1g;m^-Sk<+>}A~)*R%g;7jBNAf6mYpW`Y-X@QpNz|^o9Ywq{C8K8|H(Yb z|DF4*pXmv5);yojct%{F9B?t?@UiOMuO@YGSh_qt&TGf_1Kbt{hOFOy6$wenRK6*U zSoU<m@uR*b7yexF_t0*A`1RnW(uzHCF`v@cx4pZT?Hv@by&~(Z=BlS>k6Q08yK_-d zJPCAa$PH_gFCrawmzNy=e`@RP?eU7BHR=<dy?gj@{)}D!iWv4!yeS|iEqLQqhuy3y z>yB&BIhaCXa<tWF-HhBdwfCi2yx2WsV+*<FSu>jof2s5+w@;{grm6DXzUPR1UHg&d z{jQ%Twoj<~R4BnduetCI$C{1C0h=#Bh~P0;%W8gARb#!~f15pD=4`(FnC-)f&ftnC zM^0{GoqwD6Y0-K4Vy%e>KB~`Ou{%J;>DHr(VmD2;l$1PL6uyVcW!71N@C=)+U9*ao zGJjcm;QeInjS3u2Z$TT*#Te~#4=t=VjottHu5}p;sAv(m^e5%{xyMm9|I(Q3xDQN{ z6cpp`JQ(I~a)|c~ivV+RJ-1FCSMvIcF?Y7Ud0Y1J=BMwPqL+DRon^L4|5RWU5iPJK zLbJez?Z~3m`L@^ho@V`2;TWfX;xXgSy$9}OuQ!)vKKGV!XO{I+y}12+>u+vKt+Sga zKmR~&JOA>dPD_pKW%nkWW>WlH_vwh{mi5-$*=BhwetcH3yLIWXi$M)z#UsO#b@Bbh z@qdzJs-I=*c-olG-d_58`?0jI5;DSfITAe99cxnHDBThJ^4I-MskVFx&c(fR^uMYI z#WQ{gjC6ApXfaV%Ru*gc_xjhbcdE}48J?e9!|~OPWn0z8<o4N}_i}&l@o{Bo&N0+h zo>ka+guU#MwBXY38?%EKo#8Gy!=T+@`g>b(d*ZCj@=Fn0zSsz)vRIg(c+0x;Zo}=l zV)t$2CY+ut`1nrd#dB}xiTj(Cl|DMFUunp|W?Y~obL_wEheJ&tEYvq;N<H}8_;_O_ z_kqX$HjURz=YII{XIt=Iqs)8E$x2IV>UJy^%(=0NwKGE``FP*e!iTf8JsoA+%S&$` z|F_Wk&s%-3Ih>9HEm88v%HGL<J8?-%>sp_E{`KR;wSD`3f9K=<>k$?tz>?Tl>+HP$ z<=eNlhQI%o8+?#th?^<8Fs`FJV{Sp^^}U=6)-77MP~)N5tf$XB%Q^*49m&>~zP#2& zajnm8FIT>_0wYe*&I7aNwOE$1Jv;f>pkJot;~!%W+rR26^7RrY+vQyz@$Yy2v;Di$ zzumttR=u!{DSp|#(3zQ8qW}1Z$Itl=oar$9S$s@S{K3aF-TBKhAD#Gj+%ci>bxxbI z62mSwZ2<=1f`8ueU48T9I+urC{vg4yJLFW&_LzyRjsmX^-)(OG&io@Qm~Y<C-Fpu{ zPy-hhF>Y>dkIMP^zdK*nQ(p9cf~4T9R*sxfVV*D9#g7(G6~6lHwU$p-fKuG-#WV8E z3U6ryztY+g>X7ZteXsiO?}s0&4knyYnSA5-9c~Y;trLzMbjwKT7cba(=~mM+MH|c3 zi-+51|I|6;C34B@=%!#jah-UE3moG69*KU~zAfz2lLk>4|Fenat+hrMw-&jIu{f@f zziW5Do)xmLjB$5Wb#*D&nNFbo@s8?@7r94jm<4-J^>A!eVv4qX@&0<p%e}>iA{#HH z&HlnrS${Gzh?zao-CNCR#`@F3cRiR>xpGcFn$cXjCvMOCWw{xzGuS0MW~$ZIJWyD) zEHYzjTJq21a`C_P88W2&Y<|lq85{G~Y`UU8JM*w?D6gmDl-sPQUpK!idiW@OFIQf^ zruN%Zv8!5_PKq7&Ivcn@|NYO|`|~GrZ&u)Ns+EwCFwj|)%i!c|0q!?J7CjZdySFvF zC21qK=365xWn-m~ZjPMN1E#IljS`*rZE`5)a^AOqjXl!sv+L%b0=DHzx95aLT{Np? zit4+avCmanx65?)y4@evN#E<A_x0tCgKa@SP98iw!)qDWbG6Sq=hVN^ll@R}`St`p z>GB^Jn?wG4!qx)(-EiiqAK&IrE?a&E@6@{)TKwF#a!){<{GK{{y`P)yo8OhCZ`FPD zD{^vPsH6MocfTSF_upILcm2dv&?(S$e=0IwC^SURE_}mNv&~#$PY`HkX`zL(vhu{; z?d|(>cErp!a=N|dOjm%W(uS+aLY?=vE6jPiO5pRgl%q$s1g%?Qb}jwMmDDSqKHE2a zyqR-ks}*OiOUw57YT0vl_pmY?4(gdNYuRS}v0|E7s(t>?X*q8`HpIUBnR~KA#{K`7 zA3|&Qab!+C-&^ZG?L7PG$F2L9vWoBf^YlW=A+7%9VX^zqTsZJZO^c%`ApIL3KfmGU zd1^Adyct1#q!$xF%M~=v`qzJG{&4s3;rMGMf0Y>G83iUsMw%>QSQa+LOeH(Y+NUJe z^57bWjAEr7p|h_nm^33V^~g5Y&hu_9=6fH<?)Y$YdXr?pnIHfC<{a7R!P1(yC1S<t zzWvkcdE)dJy#D-txnF<Mqa&SG>ps0Ie7$D=gfPof@7q6BT-cY!yDjEpQNY>aJ8Kq2 zEv<c$_Am8=^@orB-fk+60xedH)rI8Q3Knp-?~7EOe1E#A2#aIEu@mR!KCW(Ww_p3S zMw+pP>44zOsk;&wD;QkljbhgEvi!+Ym7T+pWBO>{-{SCw7fj2=vaYH+EqFCqYD)LZ zv~=F|$5L6^Tb}NoY4xNuf1i|o<xg!xb=EuORXpe04{=Y++|U_ruKq-1c5<x0y6p+C zj)FfYmrv|)(~9uz><_#9=Zg5#{Klf47kB2#n#ERSirSi#Phv{{o5G!y^I7uFy-6ST zIj*|^D*o#pNJ(~XSeDD2V1hDJ7E*9mUSh^wYnwm3x^nv`G`?oIqrN%lr?OnbeTE-9 zlJ4y&ulVt`y1k99?pL#XOZctEt^;AO^F>|XpA0mViCXcLEB8eA`DtITd)An#d-7`a zzDyHeu4^yYG*=?rZD-}t*Z*YJ@A!27pyc)a?8nqTJUR2`Pfej`qhYxn*P0tKdI#Rl z>_48S+3MW?u01F#vSrcIWj9;41j(P*)ooap_;%;>q{FS^7C+UJSXDJOz9mdaUK;j8 zva)G*(~(4B7RLydZ@hf}CU)9gpRzxC=KkVbgNluy$rPv5o}QkF-)-&hZ(7^@N%Os| z$Nu>`<D4loHM>|Jm@Di$Td?yS$j9Q<?d|`+&WqiBEbNnG_kpn0VhbL=wbW``D=IZX zdxoOEpi}F+MWL#uD-4#+ZvK%IqQmJVxbUs(^w>u2^}DL#<bOQAA|f|;o@U3+FojK1 zXULzEuC|h!oo%-{Lr3OdXZrkRj?8Vg3j<r-)S9l|V!KwFv*&}-8teSvI&KsHNlmvN zt-RTl_4)42h>fZDv_4or<<jM7+F%j0uky1v2V{X8WBJ!_->Se(kX6Yk1s^*1?k>Aq zcXOKVY?EiJ8U9E&6wZ`9!|>z2%a+*U-Pb_}O?2;dcE11TC4XH()>fYe?{ke(KPu|2 z9qOlD)6)2^IKznX)@Ro4ovYUPPWh_StF(LJm2GRzFFR9xu3lribo?^j)K00Rw?wp$ zaGi;|SvFh0PVnEOx$oJ6e<jSD)B9lINl6`!2@wLE7PexWtp6z`@uc?Oe9gW_!+|I5 z*o}*eGv2>+d%o+dZ*f-O-I8@`Vj`Z+S-I_EGmlzM-^1Z%)cDeP@wsnnJ&r&6)ieF| z1@-ASw!hhS=PgUjqrV5#^?m-WU%y{LJlj#A<=3VA_t#f7A5>uOXMT~l>EZsMpMU2& zTY1j|^{o!?WjL^&@z1YStJm$?`h3slduP1%3cG|eSDe(E(Ztfg&aq?q%=)FOLj3(b zJrS#a&Jk!_%Vwi@{VLB6@p&1>NyqkhxE^)g_~!Y;nuTZ6qCfu4NbC<<Bq_e_q@=lV zhMq%Jr`b+d#x+a7C&vkV{dDT)>~n{s*X<RXwX9LnLZJ8I_Q%1IpIh&6o|tzyXX(lt zH5pP7E5E4uGB045&+l=Bap{3G7N33y@A&fd?S~(Kc}w{^Cxo%}E{MAAxKQBS{x@7R zjwy5a`-%Pcvq&;z*(&vG?cx>F_WL%M@iye2yc#9IwNI&>=|`M1kK0Pg$cfKVQYwC= zy#MyLex1qNJ89Cplfrh|D@}hejjzVVaJ%_|jpp0Dr!T7&_IexrEz!XJX>?qD(6XP> z+i(B9<|fg7@sg3Ic98wM{r~HP59k}QUeCS1uhHafmOw1;v(=1qZofJ1;j);=#^V4p zSH*_8FD4#5c(7&7zpi?%c&R(}-+$IKe@MJN!=s@$TKxId&xe>x{>3ZkMu^^Bf5Pn9 zq3gwu!sB8O{@!DychgPu+G?kTxpyO_LA4xz|8eFE|Igo>dE7HFw)TH{Ua9~2b9$RJ zIr0KSSia9t4}2^oEb6$}K;W^QVHeM$O(K_@PbvM%xTm6KrzP;UlV!71uiM#Vv+_IQ zE}e^VHW^3zm*4;V@8an%L7}mG&wk-~etP-Kb<x}N?(Qnh-nrlMyUc^l)52^vr)rxV z-o@v!b;9GmvcePWYpp*WuVZI&*kHRa=Js}eKC5>>n7X2F-syQV>1=m_#FljPLvP<k zd_HwL<L>6=ENiZO(wJ^}*lv@^oi}Tr&&#VUSotGKn8i_m#ZjO|@5v-@y_dpYD)=rR zh%l(<b!lgm;9jtYW%X^oMOzc<<~Dqv@w2vK@B6h?9}bpke2`DmTeJGNF!Ry}x1OzE zJx%|7^dB+qZGS9e8(N=6O}SFCX{KJ5F~jm3A?KI8T*gztcG{wQ<-9`e%}2hLiDhx# z-jFNTYH~kF%TXlR?ft&L1<!tPewbEykm1_)Ee~hv-d27Tl~lPhEbE1Z9-G6*|3Tp@ zGMj@0vrQEqN&96NL`r&OHz+smE6cy%*qd#C>;W^sPE@;q;#v<0wt!&n<nMYtHdQ*; z_WUur6&-DybA{Q(R6Hze+G}gE{f(KIYj(Wf*HEGa_BD&+3n{tUFBfGQ{t5nNU{Ld! z5wJ{Ki!b@vVNQvIF3q9_Q<SgeIS1H?voJEuW~gyI;FfleVUhlUKZzS#OxhCz`Y$bU zNjNQdzqh>S(gk)E)n#1KWiO{SMII_|+A-<b{Ihuld8#`iIWh|`o>TM>v%8yPcQy2? z#pgdCKTMt8Ecs*8THf<HciDLT^7yqU@}4|CY0Y|7j@*^O-iuR@xSBD<ykp*)r64nt zYhU8qs4HJychB1Q^X_Uc<t3dR&%UkWW>~|sV3$~2T91^qSaw_`>%wnkug|dFO23y{ zRJg1zO>sx)wD%unZnOP~wVI^B(F8(M__V{<<*;wC`sJB?sD)E>VOLk8+%re16{-v7 zbY?j`QG8~1<_%*YZ$pt1mtk>7=PZ%p0A^hm5rqZ3QQMnVbWZuj<T5+V?n}T)mK22p zr)^)%={hh?IqG4Fx8vEhrn4v4Z;N48T#`3`*MFD)IWt|1SLaSRxIFqx@H_3}GoQyd zta_Ej(9`?Y(Pne0^`V{=N8PPGN6Ne``+l5XB7bpO=TcYQ>yK`BFr+fr$qQ^POJcLD ze5@-|_Q~_ZubOk>yCW8t>gBy#BgY>Q+`VbViEkgX*DK28=pXv$eSUsaSXd6Hz32~- zjst2CuX5b&nyMYXjVVI-@0T-*3KOpvF7r2c_S}AUtMZG!mkYzZdTxLDVO09Z@9%=g zvo$_#j7r}vyYfkiXk_2?r6D%Drv8^U1)co8{lw$1Qy+hMUnjnG?{5YMGuEbxs@Hri zLAMn?T5pZj__nZ*by3HT>666HcYm=e{9<0c$00J(##SQd`0~~Fy)J#xnQfbW;+b+u zj0K<k_KH0VZpCS=Uwib##^l6`y{#*~{iZtZ%0IBBc1P@Su~P5I=ONFxBq?#T%+Zqd z2W3i7zPuzYziGR=Y#&F?&aX^L7fyP5wu;>{;>gQ%iuTEII%Td}7u}tdxo9T$#@<D@ zRr8W7Y%JcM*?e*ReTD|f+0Ab&s&4bKEZ%o9=eA<5rK^oH_e9;by*jtd9v)7$JMiJi z^z!#N`g*hN#T3_OOy~F{d~s6OrXSBgHe_c721a)?ACuutmAHBRwAI14%?h<yr9l%T zx$->UK2cb;)NIA&k0nQ#Ecqs<hj=a*fs`UF3y-XL>B+9l6wNo~?w$|X3a_$vUh>;m z=(SzwmJX}A3U^wEU-On*dXrOQR!tBSJ!|yTQ}lMyZH>dt`Ex(z^2lt_mpE`Of#ZD6 z?cRi@`mHJxb-&KIyf1gnl?N)DA~~`*{?cMyr@<a_e3$<9x~ACp+^v?USp+Y|1mq~5 zU1;#hP3NXo_19w^hVF+q2;ZE;vTBW1hVm*^uH-ifozGNO9bCJDEqqbbsa>12xaKR& z4TXiU(BfS#uLSj66qPnSRbnxiFCzKydFIw>yYzJRFX>*;(Yf<TEF*7O_aV0&ZyoJ! z&BY2$i4s4aX)aGXQTMx1@`e=8qm{C|1rpx+1#I@(yg8_wD>qYVcJl?X^Q(Cl>@mu` ztDe8F^V>DEj*e+7FE2jbV&c9hZoxLO(Auix|BHomZgLrY6_#|_s<XWO*1FSSA>JZa zWY*jex@LGt-BVo*5v;nMQ36}V7D))+C<^BA^RSd`6})xn(&i86-T409Jh8NX8_UHr z*X*ND8ELjo_WQ@y#wW{`c5GXM#Q8UOdcSR1v2tSmHjn1mS!)}_Y<VLiULXCm={R$R z^`DKcO^R!3lT9t8WE_8)c?EkE?-HLjwK1#O-DR6{UxQL>Q%6?h?_g)Srsz{nVf(HL zT~p`E>wL|jw1E>`qHr_?WKC&dm1fRu)o^FoHYaMn{}#EI;+`3&)fPBzYZMS#`*;&i zmP1>ku>T*cZ};mhBo0hV;P8KctCvCjinQkbV$qvxUd_K{=XWiqQz^Q#(j}vNnfcpW zt@?IRo5jDzi}-jXx7W|*oI2I<>#N>X`~GgYFSuAaY{t9w&kwO_7QFWF-TZxd+TK26 zuDmscHflZwPoC*Q^S_g3!M!Uh_cBg#nZTTsr|Dv;v?2AhulFxziwoBdT29z6Z??N+ zyI3@*Q}pq&4V*0xY*Mf2tzgt-J}zI*)W$E*n3hm%(6RqrUe}M9(<Ns*m7?2fGLQ3i zznp*3x$v@C;cD}E*Pvg={;xUQcXoDlSp3_zYZ;YyMNXee`0}oKRo(A|7m4lVU+PaY zpHlR2%={7DyjWB^nmdnW-O5jIt9RTvzzVH^G&(=dzV>^{g$t27H+D4{am{UUQI9Qa z{^Il_akKY%rJ{^k^=79I+0Tv*U|wpF_r`+fe!ayE$=ObdHq*7%?fkIwnBM25vc+9f zrGlI8n{=O8yz-EuFk>52cu2{T<_+)OZWqkRd|NlSNMHDpO#Y?R)DK_YHs5MwHhhxZ zuG*cG_h)6H_^;q*>-wy|MN)6B8x}0Oa}e$_R-U!&)4XD*{787MRPuu*d-ZfC&fJ?z z(giOZ2vuM?CBUKh%ktZbjS`lR7#I#rf2(M-e>bP1Ht(_rO42#6PiAI%blGHOo=mG? zSg&8Ds?p+<xF&Y5)UJ@f8#^aF<N8$f@a0|ct<3C+7aZGn@B}4XJvaA_|5?wF=BvBT zEQ;cCKg}Bh%b}Mfc3f-_lFAZ4(sWii-SqV`dFFr=hHTZAn@f*hdb2Fx*(|yEw%QM; zZ&>-Ao3~3Z_jg6q@ni1tc2df2Jq*l0HraO6n`~D)!xFu;U1R6Ejo&;ylAm?_n64Nf zGpFOaX5#iK0e6=qcSiEMx|%O-SkZ9Ii*cV(!{G%90t!x_-`)N3=kIsJKOYY7esfAM zCUB2<OrP1^bFW*s*T;Y9oA<d_eh>RKzAhEz!&cp2-vrEDb4~Tz<(%uT;WyTL@2f{t zM^2eMPp90vf9-8p`r@q-8%jOZ6|9UhKg{Yim4>9na7JDkCdCPVO)h%`avhhkWMk*C zXE@VS`quH!-ld`s`?zkHN9j$=DSInwZ>AEx<=~-7XO%u>%;Gm+$`Eh4pr_*2w6F0G zR)2lneP^P=wG7uheWN`ezP)X~*UXl9B60CTk;o}C56+hoPpC>~Y!bQQ&%IUPdd~7g zpB`Fd&+>ow2%4D{O8!dpf7hS6OCxlG0(;WIX}p*7<Qc9pUv`-vlD*02W!bgNjioo2 zSzlx16wA_lmKAu~aNDL`-dn1ITNb;^cm8eTVKq+9HE1!9x~=<#clxv(vrL|nh)tG} zTLM?@j4HX`lj6PY$m51wCzV4PuB<Dzs^;DOcJsIVqD|YxLibiZt-P%9;BUJAHjmSy zpDG@_y)M61<YjdHzTajg7IPB!&w0FSN=wX|8$}y~Ht(LkggYm7YOPcIc82w*&%%?+ zx|Rk(Rg*(^Lpq#}H0g5Nq}GJgJebw{G-~7D%}1{-ed_yn+qRtIPv_mdT#sx$=zM^| zj)Uc6RklLpn}t(OANj_0O5ljXGV2{DrspkfQ<<OrMnFXIto-bthD3&^Pd}QRm6G4T zQR?8gvhumkI+r$C9%$MYeoT7%@#al+%mKCq@jRA~G&K6vm&&nn1s%A_rg`G{e5vT@ zRZEvG)yuZ>diMkt%2N((C~#SM#Wi#9LWQR%GS4n!|1eSWblJ~0m#s|&n4XGpDDGQh z@a)4y39}3Xh6ih}mF*GUAUKChW7AH*%_6*l;<s-2erRi1!2aeVQ)=qRO}CjDYc~B_ z+tC`|r8a53!4bayRhMKpZ+6+zBf)m+*LU}?cE1x|Omsi^p(5ae0_#fFRNJq@Cp-&I ztE^JhF@7Adb0Rm?VHc*(G0mODe?U=n$=905jwF|a(@d9aZas2IdEb8aq<yqui<$Yq zn-kv5KO4Yytj~_=FdJ_h+lQ)X>uW5|l2Rwi6!+G3-q*~0V-$aDW8|-xX6uQ*D?3hv zJ!7u6cG-5<dfVe}{_7$!9<KwZOq%fQitSXV$p4HhZl%Zb$QGN}#LeF;8lC<txY@ft z%d#u0^EAs})18wMP78T=$5N_cd&sL`zbzXDo^~9Vc9lbRF}Inm$#n;gvX?hGawU(b z9e#Xp$3^#~3wF$cNyof%-$sb@9G6yfmcFSQA>Zx0_vYD+%e!*Kjvx7GQ(&4pWonm? zXs@rb%AsTD|2Mytp1a;$@Y1f6sy;07`|DQ77zj8Y?`b^#y!q>u^HW;ZTywp?dA0)U z2{jMLfAWGipjETui>hN&0%FV7L~LBNQ-HPez_huC4774LaL+zixbJ1_hr?;p^TaJh zSk_-}PVTedV*d5jb@#O&;n@Px&Q@Cw@MyV-RSLhJuDK~gt=mkRvDer|&UZ^vcV|va z+{6v?hjx|Ucg?;mCwQsq$V0<ZzrHyhwPQAXvcmAguTz`5xlZZ1n(l~gKlAU(jN)xk z-ci?X@C&b7JFR*rsI3pG24l_Cl%=ALrfN?3Dy6_QyE@P4cXMEJW+>BaMq?SaOL>>O zpUvmZRGNJK_0b&{-52@i>drEK{Jv3OTUPFMZsU?5@yghabj$9X6y;4zxpK{}<>W{> zG@TGjJ2va;YC*2nsuQxj)vXhrskBY|`m%S`!DhphGZs@qLvL+ymb+}-Ex1JCf9fi( zR`*l9v9O|iT~otluk;5e;zd?z2;PW!#Jf^(T9`^_^NlaUp}!gh7M<Q_B;O}n%Tg5@ zo-EG%KZ8H1|Jk1Pv(8j<>25k0nWEf%VsU3?pthNS<MgSF_cm4BY@8Ohruuj8@8a;T zF9m|SMIAe%MXR#20!&K`+GJ`?YD`T}_J+MsU}gQbeA;Ux>4y)C+{K|$w@}+6|J0O; z3|`Os|G7wWg-+qf$-6!0YsU`d62FZxp0XN;(-PjA*={@c>&flq&o#D${;07i`;rk7 z8k*S6_D_^!QSU=1g<|8smtF5Qb>*D1yMCicN>garsbw8GhV?lYpU#cXJvu$xUUM&> zmQ&QZw@+8DaJl**QNpH7M(g*tvvwYgyG5?fxiohg_n*YI?k8jsVRV4OPk-aWFSDGc zKAm{^HQ(7PmdH*Q5!r&{EVFJrknj-S#x>PX^S5X0bk{21P}4rECka!g|J-1=<YV59 zgCCo{EbO9<(h8<uUsb1>+0!xkm(Ne7(+nMxzn}Gt=WJE$QoXomqgmgt<i*$06l7-V z?M}SAe8q}&ZucF3mz}(Nf3oHZ``tQSMm2UJ{E}QoHa}kdE#H`acsk$h&BZs%lBzg$ zgc*{g^vX-1?H7Sv9h<#Y8ZG&{yH(4Z#cX@;IU5^KA8-C*Nlzb<!!y>dJ>I3eWv9>k z=;-c??6N%T6BB%AeDs`gxu5++e2RC}Tc;FnkuyP;Cb^ik*A!0F-FCWSiAPs`WOvR> zPQ&_~E0=`g_rBX({&4jghtTzLt?zU0d|tnNozSH@0doAS*!i1+xZ1Y!SpVOwSE+uJ zD^FErm8za`#f&=_VU3s<IeI&vOtNEqHfd8r@PXZ|I^G4AZSr>vU3;t-@g3X0`OEn< zQ-yO|d>Q|4etUbreV@$_0SC=Bd`r8sKlV(sU#l6Aa?!_;r{T%VMShpvbQiZO<>j8> zo9KSIS+2sWNlw5q``9h>`%WA7+OGFgy=>*ZdasA%3K<g)W<L4eee7}~SJO6gBwRT8 z@5-BLot9Z^(+cx1nFPFh0WEG7O3WA!?+|EM-?HjT$&C{e=Zmf~*qBgkyW@GC;A_ox z$GuZqrJq{lnrzdXT{3-Iwlh25krRo(6%QPkEp_AVHLJBPIyYmMAMKZY8J5LkFmdw7 zD0VN$>b(I`%x@VRB;PhNTw7Ns%r0-t=Vh63HEH6s+{9Qe!G%Q!7$j0tHCC@UFzx%j zR=(Cd+)sb%h@bE}Yq?*n(HE9a&&it$#d<9bk$+Hn*`##gDPeB2>$>Ov9^~n((`lAn z61h>-P@rjY>KtDMmY|lv!`}{{Sa^6tcjNRKMjhE7b#?30&de?>eK#%VjZyrc+vmJ= z3upUW%kgsjU6ZihT!@3w;qtoJALpyzA6@Ua(WAItUHj{|PhVfP?rX2(Z9XQ)+`s<L zuV30<)VJoer+RCfir*G?W-)^$IIF3jm-)&19XPo(ME&TWBFEE{FTV*Bcu?25C@Lny zTlDe+g)Iw(TepcYo>XXcZkKOxWM)ecZZJ2waPH;`$&ej;rljsPyH@qaC_bn<U{}Sl z6v4_VZ<hBIRk9{XeB87>_fE^%|3B9}FDY%Ww-mYN>w5e|>C?3<9Og6gA9?V&zkU5O zv;4p{8o~CP_1Cj4)BIiscNVYn>+HZJsVQnzD<?cXDH2#NFrzwpN!b}6pIAqk(iQV9 z(oIe~aI|tvaA+}FFW$~4-}q{kR?VT7^II3U*B?*oxN^VOBdFo!BE4nJM#V)b7kw_f z3G-V&JW|Rc`*cdj2F<gJMHZNrRI-NXY|=2kR=<aB-zu*!@9Y=cE_pT2WUcXYui|IU z0de|Oyz-2T_b|<ltLI%i+gvric;)qk#_5{V-x@!yt#!6+5Zk#GR;LE!oZI{9l-HK6 ze>YrtCHkr2NYmQOGt;gyym`67jd>E29K*%T#Rc2qPMZlhF*2!ygoZrmn7B9~EV8xS z<YBQ|y6HjP))^LWk4-w8`6~U3`R+5~_j`M%N~teZ)KqYqWjZ_2Av}ahYnLwb>wC5Q zxw=c2N0w}NU_P4Bc;t28V|nv-fk^MJ0NV_KwmAh#Rq`bTn_h%!cyD#l-rC}CxNO$7 z1plRXZou;~&nc!xPljL9BDP-p^Y9?MxyU95!5eoLFyDK^vFKXUOzr<UFIfKPTr91v z{(2~JvD?D6XWFm&+?c18RCtSDT;ziM?9)1}qBnI~%%Ugi+J4G7BOdLN^10!(_T!&U z2Nmq<9`m+19n^cdOliqe{UuA|H_M)6S+FVI{!R6lh%fTSe5W4k&Un9-$@g!`UKy^H zMLRblg3#x3NW#3Zrp3qii|z6eyb-gt=EUsYgtXW5d#z8}OEWgJ^BibA{O!1yL<Kk7 zEhDYSr3#yNa#T(DVJ$vUci)_hrPE|?G~_nRs$4NvJ5jkeA-=L^=i05J+2Q*+*OpGq zW7-qWDz#y4g<z}6?`NHVK8J-S%~$3-zF@L{+xBJ4R{vf3bjusl9Zq>~U`2|^?Cth{ zza%lVPmkK`@j9J5cG-`FVrT2hMSQy+{qmZWy>-dvD;xFB+RwgRcJo&{v(DcQl3s~N zHvGM?Iy}E-iO9CJO97K>dY(S$=Ph_R`Rvro+s;%9|6O%+iQ$AdlXXqwFO|P35SH0g zcxk%tW)<}f=h<5hFIe&P*1Wma8{ge6H!S)hXz9OH^nZqj^?FNrll0p*a||aN*}SlR z#PDNP_J)V||GV5?=DV%bKjz%Y`BB?W>wRi-MjA?pS-0nt*ZXbTw*6F%*t)_0^?&V> zg-HjWHGK-$%^t-ZWgWfn<{IyB=cj$>J@Q`X@8(FJIj2w8Sfo7Bm~!>oq1&fC1g>ui zl-PA*(%IaUK==PyR|;A5J}r%2sd)0a)bd|hn>)3*lnPQ+6Dl5^zHOd=Z2D`vlQ)`- z)?Pj*)%$sa+v#&kx_f!db0uaPM{PaN!1Mds$``g(CLWsKr)3@eqjJw&r*<!6R406Z z(W&sJ7)K0WLI`Kr+xh)=zh3k?iED}F=w)19W2@!*#cQ*UcZW=tpyL!_Q#tFS2QDe~ zS$&(iV@`xP!``Z|hdwMkyy5PLN5+Slb2Z&2Y__<3by`lIQunc22Q-5+%raffj`KHY z7ForbEner*r?czfW&gmqxW>9>_HNf%r#t3K^3T|uD|c@5-<&lsgv4r0O(jasY}9yf z&k+Cj_x%gHXHQ<wIkokc>S@jWp)+njIj09|4K^uoIBop#E_M1<1(8|7lNJX*yDzpl zM)1a+fOnY>7xYCeIHEf%=!8M6$-0|I!gkI{o3)4WQi~Z=;{8VEi}?o_YLccTE)SAC z(zMq(<?)KE0oRnIgKjBo{X2J-np9+n>2{YK=dH(feYbB|zDH(j?eCPzqvhATmln5d ziCI><OINqL*{|*4#|8ISFb7`T&2RSa@q3P(TQh3vm}YN>tp(UycITvZ{>@kASCXzN z+|@BJgO#mat?D9CJP84s*UmE3#rG7YcCC;udy$qgS7y(Fyi+S?H?a9N3OukAXgdD* zAfvL|f|~iYALczg>{nE5Wu3SyV_zk=N$ixjpKec0lyo$)3N;Cv>J#iXl~GT>-(5QO z+K(^bVUmsc@AJ&p3Qw!uY0S*KWIAK{Wvk0xkCr?*kQ43ptV4ih!K(WDH}%gVU)Vl- z;jtxh!4606J2fSbHue2V`21#~^ln(A`{;u|Cnx(WJ~$<`_TH<h+F@(7-3}^k*qQkB zZf?Rg!^Ga;R#WYbXO|{SQ`@5Y)N$ASZ7&pdFWV)h?ACXr?^RSy&J@KNS*=q&WeWFN zu}|#XbmDc^*4Z9Qu05K$`oyAjuG^-ZSS<E)L5Rwxj7nD<T@jw7v(ouW5**)T{%5>- zCa~**ebm8L6Z3Y_pU*YFCtlciJmG`o{l>uC+Pi$!e?)ulVOPD|f9b!#g`A36PmaNp z#loFmE_r8*UTi*L`6Pa0`_4V9B3!!<JPXTAxHs1#BlTIwg*4S|g>2eeR5ms&ettts z!0A^R*MWV^?2F!i5R3?qYt?O2PrNe!pRs(ds=k$XO0nX+r>dI{I;D7v-U?cKGf8Ro zdGU=&N=^&5vd-W4*KEr*)th_Qwwj2jU1%tM7xI$3&nc>{R{if|CXUR$_S8hz=|P@K zt@oPS6aE+PZ-3>ypRKD^RBy}GS$F>)J5{yz@%CfJ+EGuoft_D1zAST^r#44ZK+Y|m z$Lb8<^e?{3bltKjqIL3|y7Cp?^<VS^Wz#f|2$cT#?e*p2w3MeTuk*PNwqIgd;PLNM zm)9HX9Eq~fYY(*h%|B}{WtvlWYU%0}<!`Bvx874+zjXh~CniNR^>0=g#7d}^33*R$ z<>%Vc$kbS|FYfQ}#4CZxyIvf+ZT)xg)4GT`-lCU<wqCpO^QZWYPlrBVI9t8uch0iZ z>HDr;s*nEmeeGF&8$*Y8uRsO$h0ilzewXKZwp*garr{pLwdRdlA;G1$?_OTM-HV&E zDZt~{^{Z!@3fwuvKkf`YJ$-)InnS858ofKdiZ@v4=r(1XSy^ZEf<b3dkK5iy>CzmE zivIKW{SC0J(6H0jcDLTilQO~3&(W-rXP3qc#~?9rM}DFD<x32UUG|)jNHwY2)2Wnk z$g^|1%cag&9X4D}M~Zy23uf|PkP_ixVkpbK+jidm2g7gqstm#E*Z0(x6wYf8l~6pZ z$F13Fclf*W)gzrZ{@hxfQTIJ}!#05fLDN5rUCQ~CRijm2;&_7pvdLAsrN?fpHSdTL zJ3I5UW4~oW+N%5<8P@|DY;BIo^#Y-Wg{?^yl3S!N?CxACxxhc+fpV&Z{Qb()y4Fj! zb2wcuJpFe2ckb3h`V1xpik0>Pd0$LS`56o%qdWy#oC*(4(R|*pbK{oy%!)|E)8gD_ z(<Q{?KQnOHZ`l&C*<-O!rO<v^oja#aoxWIq!r;xztL)avmmSwGv#^?bt48;x#&x}5 z2XC|OUEJ1D?@DAEyK7E{WqE8)Q$GGc%;Qt-(pj?`3pDoGq+HS9k+QRyAMHGEbJNYQ zZMM!HkLT>lJ*Rq8Mk4#zI$r4yS3jRu+>*U~?}2HaHk;38f4A0ryYboo-*;7u!o^$e z%(Sfkx6<d;dcMe8O;$E9<SyU2*~|Wnx#{4CN|zcvhx-f{w0}?ci9770Z}9Q6-1_e~ zV_3FJ^8T}B39(MOdC;ongwW+XK`WB?pWO3TVCkW0Oqzziu_pQ7jLQEWxqqO=(yaIM ziAR>jYN8PyH?y|etvFn}tGHgIXz{*<4~rV=GB-!9Hp;)>x;gFbq-jDdit&0gOkQRL zy>ev;RgF0tJN1ln*qVroF>7QySZCihG;g<8QgLD3vLVUar#sr)@`-1~NiXTGla;=_ z+t1%q%bx5UX?Z9tb!p_OrF^frQ%+9Xva4I?=A^LQ8&Zllgd{IGJn8JoMY?%s*&2je zdA+u!Y|feXge5kT^Xes@mctAU`u36B>(96UYc_J#eJ7J`@>*w(X7lSy7ORb{5~G%< zUaM&_DgUkN`ogw^W0l@6iQD(;`K|wb)mIRCvtym``j1!c-{j7mwx9Ed%exm%6Xc^- zYCfsCIlX%7E`bBgci-N~%gT^g?Qq$7;fD&PAD@0k>ooH*Jyc+d73FKY_3H0Gd!~pu zQ9k?JS!pXALf<hTj$m5gSG7!GN#TaWR-#$?_8bRRU-D^EcyhQ!Gx%86v;7OU95rS5 zF+Zs*yMZHTUEr*H7ndj>>X~|D>Moh$b^I<mbLVX9?BB;|a4<Zy_153E<nU77DB<PJ zYI*8P(pJ7Ho2~x6m~!<-&jpp<qpLEfG_70Fly#H&g~z?~b`|n*@sd?v-?pz4zVvCM zoA<dpvVRxv)Y5#uV%N%F(Z{#VGty_1D;3G&m*`v{S1GCces6SvqVC)Bn!xS@Y8;gb zv(ie1AOGpOZhu*%M7c3{SteiV;Ru#vM>Wpzv=<quG5jbC4!s({&?<Dpq35LW^YiiB zGVbkpzNDSY>Csllvu{dFv(L+AsyYgMdU(ilvfs5c^-KZLk3z40sQ4GZv0RC1wzpGa zowwv1y;)1S;{5*IoU`VJgMkfO7CXOl^nS)0Z*;qt9XobBY*Bwl&d-jVb(c@9`>V8w z^>|ZEN|uzfV|a+u)-6mI64rh^IXnO1fsKy?VxuSb#wh>07?b*1Mp3uc`1|d!E7uZk zXf98<zOX&%H7M_tX3Jg6maR3~Sbt1N<D2!8_-WR=6rT8TO9~tLME2Nv?X$c5-oE1E z983ABzYMRQ&)?J0S<mJ+e-ZzWgZ%pI*6aU>@1J?)yw7EuLndd<UM_7C*sCWJS6HEY zb6<LZ{m;eGd}lH;X1FZS<n(;o{rsGzdz9Oa+Y<JbpCo<0ur!>?3%F~)uIj_VMZXt? zUDA#DbVT3G>Ggky*Bzg$(hStydt4rEa*euWw$WoU!>VsL*+tuBJ7s_KI29+gT!{E` zddc#oQzH)j?3Bs-{4D3}Wmda~Yih2lF4=gx=HvSamxzcTSG~_9Pw(gWP;pRHbmDz4 z$LwDJ`%%3P(b-<RZ~ZKFo~1DLPv;+R{liL|pPuy9?bKynwQTyq6FY=&A5MB*b-S}E zQ+~CT@tsi9$BmXb(+X_WrzV!aEvT7&gumlL_J;(X{V#sMsJ~_zU}}1?+9k_*X^lzw zkDuOu&dToB{Pt2KJNvS?f1QSTiQ@_P69+}E&otH3ecPNk%kqAH(~tVbN8Q;B7E5gH zwS#W5n`xi-dAYFZf@7$~ACm*Cb;4RDY~G58$BIq~J0+Jii|xUdmh+mIv<}^C$(;4- z(5_vU3ROaPonx4Vb>H^<?Km)vH_Cp#+AP;rWA#K`P2F9-J_6eB@A6Mwe0)LW{)so< zesxsmIVQ~hEM+3wZWHy?H3x#f7m3~cbar;`1J=`;JEz1|&#w9S-i1*&apvR7IiDLj z-h6D()_Q#U;5UV9YwCpGHafg>k`j0DczlQ}^G%e;>4>9Syl!%4eoHNxG$BoSQDI3` zQPyIWb>VW%wfr)zf|Flg_}*i@P)j?8BlD#ErD=<z7QOi9|3paGS%8J%0MGt<mWKQt z^)sF4X3kprbKOy&ue`nX$%ppnY|CQ*pvBnV{PBN>;e3wmM#+kTb(|N98O(0m@A~<2 z>9e)jT@?Y_&wcsLKW&~C$4AEv>n>F(HS04y&SU6jy2G)yFVd*|-Qr75H;qr5@H0G= z$mC4SPd&t6XYgRIzx`ihW?qJ#yr8$@^CGsrIePBKL?6MkUY{PS&-}S*PP3GXkNKBx zuXxXYn3%D4O_SPGGmq`F_`F;SyTzB+oV(~c@$MVH@YE*;u_lj0F1GAh7k2wesiCY% z-Mc$}(!Mr13YBbmfA(Jy<tz>2dh?NCUs1pU-V0K1b#;IIIBR~J&-U33Go>$n_ZTmI zfB8!#GDq#-MIE!VLB&aB_oR#44sQ|vKIM9MUAs)vJ!SW#<L>ea&%6IKY~Q9LGR=l} zO3t#DTRxJtQSY8KO%N|N<KL4mVR13()r)_+F8^5{v<6vEn918)rxx?{Q`t`yV_S)J zD{FqedwDt9cv|kPX2)ZaYYN1S&vk9>PFs9qpMTAnAC@!x87KZRbQBN}yvblA_m`tm zC~RK0vfz1^#P^R6?b`Kz<F)V15;x|)I_r{_{??miTTb4JTvLCo`}5u^yqawi;K!3C zAe^0Z#4LaRKZ7=2_XV4T7+3T;Zjk<;RoR`x`sMgDqi*GOF57ZWz0jG+dy;+Ltu>hw z-8F3)m;`sM(NUVf!qo6AVZqX;L1{H!NAw$#m1fT_>_0n+BeU|Sdv~mNtJtMGT-9x$ z@aT1W-^_n--ue9p&ei{sU8p--cvqO({p`&B&H)eApZMu<?A$lkaN_>LO=ma1$V}p6 zD9L-Jwf2h0lo<!ilItFSpYbD1Jo5j!sMzgC_Pl+Yb1FV%mNbJ6%Y%iP%Oa!mB&IhN zrkS$Of7NpMcUtY?rfzZOe$VBiEDIk9#H$oDdVPQ6kd`IV`dQuIE=2I|;R7!trPWGo z&zDXEjo(L?*_6gJ++X|Kv}4`IF9$`rvjq14FS>I*?B)W+0}mE*O!>LU$+u+6oE!GV zqBn!S&5tb7XghJu)sg?sJuhypO|Jdsff<{#t}T(@_^qo=HdM<fcE=g^48D~P30~EY zd;RxtJ!p9zHh=NV`Hn#|9>0^%P^jLU|6bsd#o?;Mk6qsj9=@3Uqb}p#9#-r4O3_AB z`BERwzNty6C#Ov~*0bMa|CcjjJ125G<=xqmaPTC9TU6Zf#IJLL9)_`<^Of&@cxWcK zxL<V1=d-GUYu{gE<z{0${Hxx`X3I>@&#Mn7?$11T@#mZOc9-w)K1jdlzwiRjmK$ud z72>LzGwn+IGv7^_r_JGXa31rsx9tsw-95agsEPZ`vuW*E$GpMG*#6sXQSB#t&Hc~K zw%WSAy;9EjKS#rMX*s6NL7T0M+m$w?{&rjb^>5b;ErFFL?B6sG%~-Xv(Xgcc#l6~# z?>;hI%$PjKVuqh+`<q2g%a$BH{qog`MV8NXr=57Fv?(LYI$e9y(aVY1OQ$Vc8@TF+ z;CuZ<z4bem)V|xQooxB9_SKAf+3#mo3p>6lpHrc%y<oz$%^hhor*76?sok<g$HnCJ z;S}-GQ?VYWBiw^lNLdJkKCffXt^UWo`}!Kk)2r7zyubJMSQRfz9G9a&kz3~N2W;`W zGs|CFo1dS*fAZACuL^4(IV9LLw0l3aaEkiP_@#K4u;7nZM~k2RTh!vu-e|zwGynFQ z`_~uSa5Mbzs9LAM(RygXhoebyp{M-WeknF=WH_d^NcHjSSMw5|sZ0D=+>v{;@Zb{9 zW{;Jx7k<6Uv)y>L*Ch9O6+a$Mw*rUL>G^eE#r74yR8E+cqq-q5QnF{^@5W#6n>VbN zaTF~r$yYt6!sXMc{52%-xSNf(<V4;0`W#Jr<7a1=-T5M&zw5-rNyi*EonUMKoV0X_ z;UrhH(`lV6i%Uv()SWtYC2L>JFT;AfXE(3ws~vmnQ7m`UcUh@g>Z#-QQPXaVM|+%B zn6!~w@a)Hqm@DVQV|y9h<$2|bO`^(k+%L1sFZ%iQdc(D8eY}&H7uekXa?AMqY2Fxt zqQ}RUdTU>}Vsr1=#!u`5ADte2{>An`yJ70*?9g^0fg5>7`SvZAH8UUUb{XtHa&+s7 z!)7x7bf*|f9`L*-`Qw!&FYoE;XXgIi^yR_1<hJ|uvy$u-OlzMXXylJ{U9)H9!iN&9 zF$@<x8TedW{-iQQAGpDAs6C--SC{jCQ{T<H&-dNG@q^d-wX@J=lM9<t-rb3he7gVB zzu$ZJZqKo7mlS50!;m1*P{eSSq4wy3di|N!zvtz=3dq;9=;EmrGnQvw^!MNk{ss0* zf<JCC<S@PvPOD?(s{i}uL34bBWnq%V`s(SK-@a;<F8uns?bgPMdvB(;?pUv}bU*hC zVMZ&K0|^YK3``8$j5bW=ct82r<_8}(cl&(qPWrlkCb#&t7Y+|}l73lnxHH%=EU3F! zm&$O1a{=c9(}XzZ1@+sjU#$Orr|h=d@*;Jce>)5xHTS=oQLuLIH?z$PAD-%2zrsad zXP)u%<ekAH^FF_R#kc6m^G5aqH(g517^`Yx?`ARmb8)GU*_m_m^`#`U+S*G?0%v7N zb*y6uxOkR-x#o+HckbM@7H!mJ-*V}zmP@+BMLPz^ukYAR3j!wm{*w4@+SJy^*K+PC zu2~|r_UQlSttXxYrJUAUyBxF>Wn<*lwXRW<PCQGw=(h6TRSP?(&f36LK|=XOyW;Mf z{AApHxbo}m<oOogW?o;%_JR8}+gr~@Hm{VZ^p%{Md9T7RF6Y<svtj((XV16xb~)QE zyWjj<>ps*)X8iqiLpHnr(y^^Y&&68q7|xn?jQPsxtk{Uxp`88GL(haUN!J%o%akiv zo>_Nm>8dH0E<cd@_&VP^?R?&WIhLyRel`xe&Fe2MxVmB9wnZFYPHVs4U%zJR24xZU zqdS@$g@Z3=o8`yxKDfF=;L;6?KGXZm(v2bq0tDKaEX0nKo=wS_{qp<$KuNy;+cRe^ zT=ROV;Y`Qr%lDYIEx%j+{?zYv`|T#EwEX;g|KKxSZ%d^gOM_SoL>pJ#eRJK!*MD<R zFykz~7tWSu-HLw&<M|To8@?+a+J0b1<&Spx+*vQb-;b8$yPrNQEm-gQVxN_YQYHJp z@;2UQp0N2q*!%DEIgjNi)C67P&SSS@aORL;IyTYghuw(>lDz*y*YsAF&)mK*ennk* zvGd`?#6?wnTjE_7eCk`Z<myWQCx;I^SWG>5z2b1sFSh@u8SDd=eqFpQbDK(@!QuDz zy>`D|=&4!w@_yYEYpuTjwlAXsQ?%i{%V+FUHpza`Vn~*hIDO{xvFlgYvVPDp{BN2f zasL0ihwb09%9(`Kd{*#HpFV&6lv!(L`aA!7DB#V+^zO&uX8t^Z#<kWT+K-#P-mGuC z_D#p)`o-F--5fQScJA4z*|zPG|Eg(X{@xKYXPj?6;l_DT)FnlG&537Ly(gaiP=0Ra znbN&3sWtjbzxrR5;M04Ge(hlItN!&hOKsoo-CUV>Z`wy`a%Rqa<?gcL&GqBqH`ntQ ze358ra=g2z@ba(N{dGB)-d&#;r){3+c;dNg@0(@q?^Y$&>1|ukc${;`;YW-fiidZI zH0)p9_YhRvtXNsO$$45pgmif6^cS-omsZ_1Er0jg_}TCGicWidw_V)3EoUd+fxDNw zcmI+KQa{47t!n>&w`+SeP8WLEr|D#d9s5yrc~8Q|%sj0lGxiicKiAB#M_BmqtSQg) z4C1GMteCO?%#`%B<i|VGp0yvausQzg?dhJ|v!@oGJ^T52{KkTNd-hK`v~$lzliyWS zez8hCE`G_y662v&bFk;<zuk7$Umiq%+IVSp+55fwy5?HvUtjRL^Rv`-Ira-XV&%>U zGej+V{yySbjlRV3lcF)VVk)0by_cJtTN;^T#C1SJZP&32RyO<Ay)zZ~JGDW)cHsr@ zew$Ax-p#w0CamUTP*V9bQ(@MU#?PE9lHLUhFSwui?&|Ax>uzkE<Za~s@6QSAx4*;t z4Lkk|6`JLJcl=~zRTms3W%cR!B_Z}3VRPqM#va>ra{AI=lcMj<Sv&K@r}SfcB*Q0v zR<`?St=b#=th+wA#L7TuIj?)PQlXULMW(-xJ<E6H&YXT;rn;Za|9KzZqz@Z2{%`R= z?)1ri_N1WgzHgS7{oZ<~NBNO|l%$zbh)Mk|bya?yYsEepUO$(t+rBRN*RLgeX1?lR z`JWY5>Z56|JOAuI;n(dsua`^auGN)i{q@DZ?)+*0|IT?gnkHCZmX>a3v^e^#^0WG7 zliSJN-p|fNvLDKN&1ku-Vdv?8T5odm{+TIV-nJ(HaEqw-+34#f(g)j=#9FV)m@%#? zuF%h%lRE40QuXq$KOa42Ojvfmo?F6u;&1t%{tZU|3J*82Hgg5)pM5ofukdU|&xFVr zW`?i=ksE2}^7l+J{jbbls5>!n)|L6MrKQr#zE-aJ{@Y#Z)Mq1y$Deh)1Q*u*XqW$2 z_Uurr=}wV?$(i5u?{9qV%I53N*yG0W=gi&B>BrBnzBWTf@Lo$$dbIaxONMV}3yYZ# z6ejHJo%#P#nuPVS>sR;M)}5L%Kh~h~)02<E%jG)ck}jGqT$gvEHF(*T-u0`a&rO{g z-}EArVe$l#i1qFQECx?k{(i?@a`fEMCSCb;yH=?(%!%Fk;9qgmnSP@H@2KXfUR8_V z8L;|)-#P8cY<W%YjT(!^CVCmWiIr~3*gVz!#L|b6>Jgis&fe}YEk{P!;BAxal69M{ z-&EZE;rZg1_olv-Pq!qG->H3Lyk5}wKI?)5jciBkqq2V9-PyO$VZq+5ndkej$Jbsw z|5Qzv<7cu9TjaF*2`Rq&{rs22GuLc!{Wj5DKce80(*kdo{4}fUFW((IWB)o#-OZiF z?6OI8-Yon7?p;^r=N5&vO(_&__;_jdZh>XOum1kqJagj$hNZn<+P=Q`z5J(Y(Sf<a zTSerV7<9dK)gCxqzpI~f<Coy-`S*X+s>Sskk}}e05I^_f_g+w1xFEXx!?9z>6fgXd zY5cAqv$8~wy=nj6Pyc?OKb5BS-Q@Bb)zm+t2PU%aUOL4?K}vD@YUjTjHe8o-YpygA zjOATxxNlt^f5UdkitZWrQw~>L&dB?h@buJFU)4KWCW)V(JWO1)Smc8)o8RRF3qKaJ ze1A|Nd!~1F*qVsDp}WN!*D`FmQ+9Roj{pDurQZIaeRhUJRB%knWvKwIQooEz?~>QE z2DZnqcUibLLuq!e#T4&lHLhmiQPGVq+bYDeKlTK#Wij@Z-fEeX_9rC1{NmRc-~P_| zbyItJe{|KE__)9Xoo%A!Iia%QJ9AkUzS({^`tRaW6LInFwL0Gx&b+uO{k;9`sHk)I z>i#Z~%fF?^F?YoipKX<GZ#llKtW`5LT=QYZ!ouZOoBiFDCYDVM)tvue!>8`u&(76u zwVo@gB>TOy{Q90s|EuOEf8-XtzqyAm#^Cb%|L+!A7XMTDyYsZ0&EbO;m(rf5C*-g! zWNoQEAklf|+}8d~#bmRFot0meA6%%~|Gy;d&V;KBt70OfHr%~(p@8QAztZL%%Ot;O zHkvbYxX%43-_W6N_WPI7pRb>#?PF~6zpXlFQyqS<e*g8&m8ZQJ{2oPVAE-}TA<nqB zH9}D2J@+w9hI0*D*Sj#(WWD!|e#ThvojoH>>-+C|*6)v^xEt0ldcI`8@BLeWYfCTv zbu`RRUgSTyRa`Fb|1bB~F(I}6ceuGum+SA&F>qRF+`VVE6oa~8fl!A-lyi8<gG0M^ z@t)bk<|5DhV@BgvwhyTX9{)VFJ^lQ%soLRf-L-$xeP=&geQ#@af`kO;g90Wu<xiGA z%%(SItp6eqcW+zW-?y=mjDk0~j)sP_-fryH%KLxvl0kL-@|oX!g_$qatW(Te`fLrW zYpa>~qsTg?XtRGeVzf+tPPrJVG@E;VwoGpH^?f&kt_mJH|Fu+j-RbMw&#q3F*`0DH zc)d`E_)TqxNAkL*zt?^0zZUscIEUYaHENdn`u(pK-9LFYLV)XdPg|StqQH-9<P25^ z&0WlV;L^>_*U!&*|KD8DZ_ADq>a&*pd>o>F%hkT`X!q(1x5_%4r-|>rds5MB)}=*T z_SvoJ3Fcg}ZRgy3*2y0qJ)d^vy1DmxJ<c+wEdkm#W!K-_oUgjhz<2Ym$d%j-yO<|- zOu5z{;Pm&)v19Rib8V|@<=(Hl&-9_x`e4U_`fi>%p)Ly&-}xU|EOu_zR&CSITdLoG zT{+iUzHPI|HqI6{zV>ik!?U_8uWN2)IoI-NXF_!QFP2B~S7tx6=YG<DPIRwXeW|e0 z#gMo6y6c3)N)F%M{5*oQzx?{|zwDEaG5h>zJG*mF<+Mz@7it1$&a|<X`jq6gNgt_q z*b^fBS8-$g%w;Rf7UxV^^x<UJj~ceQYzK}nI3Be4iry^q<17isrlsF4be~^fu;p%A zd*jjK^!_QQcX1!-DX8!Y&y?cfVY`^XaKES5#FQalgC#alaNmY?d7Ihx1sn*URjIDI zb@G;b3mfMyxgy7OYeA_tL&j33BX^t{#Lrx1;0aqbO=+EKmHYSW{WICMma-XsPGDoZ zv@Z6qY1IjtYkzJE8TD}1|Gs_SDfX87QyY<K*P_=~OP*=2<(A*!-@N|fnvgqPXZ^l( zMy))W)}q#3DCQJ!vLi=NWJ|@gBv#uK>nz&EzcO{_bgB!Mzs%N~)5vtRu;%TWWU>D0 zS5LJVK7V6VJiFF4BAhETuXUf(cK+s_spXd^o5su8)UB<Iux4@8Skrdc<mkJLt}_4P z+tW|2XWS-mBjEOuE0qj#Z?7<C=E-xW%G*v^`I|H6%#;+~%@<7U=fC`JZje0jtlICz zOLO@eA}?*;J*VHP%g^^q`BbG1ri>AGulub3N$|DJYuYQnrbzTzHp87+?y+nBnB}S! zIB(eXYvJzY{`sZR0YBHphBJRLZMQyE>?phIgWTmUJrNS3_2Dy@{rsI~B-U84*w?Xk zA*ctu!PxH_&*eMp4{m;YpZVpoYH?oiALUPvEQ{^tmA&7)eER!4U)33wNA`L;pDGq^ zkhi>g)a2}^v`0MGG{1ZfD1BP8x;TB-GPVtBzkbfoTo(B{_*KreW3!7Q%g!G+G5o*4 z<#n2Y!HkB36FV~|8Y&69wjaB=F|@?SuQPdO%SWr_vIXt|u7X!5ab&Mm|6BL-)7RKo zLC&IpCEm6Mue)A{RDZ~3`>a0gAb)}&k78M&<<rg5Im?$!JY6ICbjF)!3StKNjLmW? zsfB`H6h4-FN$ox}{egS_#C>UhdYsBPUO#7bP9<%BDED*WjE1>Pyf-XA_FKN%Ui@hO zCcE1X%pQeL&fitN;4qQdaLd+hx%v0Dz20xP|4~!%ec?i10j|ExSx*&WQZ`pz-sQ~y zclO)IF70yc0^90jZn~-HKC0$yv)socwD;=UxUCJFu539~@FP#)UP;B7`z6KBhbLaz zy_=71))c<^dFty_i=OLlfAgWDr<n0~1Cz^)lv!zt$BqAgtLVAd{p{S|OtVL`GH1yd z%xMy+xv<Px{6=TCW@@Y0`MI^i!qY6bq}=7%U+=P<N9^Pdxo>_K;_ulO9N^7M%eYhi z_bcOz4=D`0*SxaU>x8WZSfBatVDGY<*H`wa8L1sUxJqyVyZHH?Z=<$9e`k03&fb)F zcmD4^z2~d*POIJW!fO8i*czCZs<J4}`g%M5@2i_ZE4m{#h)z5(C)=LMVAY#*>}lC+ zeZx*|5UIW4^u$wU%kpR5Tjy-r7_#_A!@b_8vzJPQDR^&lVzE7u(HgdZfpezLl_d8E zB5xKXS1#OFRCDoP(7#tVkDr(Q{e1dt#ygQ~9GI(@)^7<~r)+#^mgR+8e^#I0Uy-h* zRNpDevXH}M^7Cqj@7p9f?DiEsa*4jL)$LmxT-*Hre}Zi7mn|=Qdk=q_b#2<$?(~WU zmp4zJxji*_UgoT)xpwic>%MC8voQVio1B`oeyV}t=8Ye<(*BvR`QP#8;)374mu)Ui z`JFD_+q5BLVP@Ssv){7Y@BO;k^YdS&OT_`T(;L(dTd*F8|GZYp_@Cg5%dbsVue?7q zL+N}Z%Qn$Ek=N4ijnCeVjM*Y%cJ`%QY7M)C{px)_XQngnSUY3+X%pY8J{$fnX4tq- zb@l_6Zr|d|XWH7@B~qS#UU$fOUOr>NCw=p)iFezyWPcUzdl%92u37EZ!Yxe<52o*r z+?M0HGQ>^ihE?OY$m!;7HB}v4?eT@lXWa_DO>aE+mT6fYb>YdZH2s-R@=s3Ny!kIv z)TW82_k=A<?pi7py=3VV<F8Yni`Gh=dYvx6UEqlQrkoJ<Y?A{wrFgGh3!9tyHZ&vK z<odOO&g*T#vTxU1)Y18-^EzXD{_fhWUWe@0zm`p#cGzxzP0ien?52R6K(E_;TBaZN z>#@BqtDLg1F!Onq)QXZQd9L=&LN{hjO|P<$xHa$f@|iu>pY7D18Lj@}x;cHnQ_KIt z8((&)8KneVGu@z8WpTTAmE|5DLG`a?wGX3NSKJO)?4LEGdxu!<-`xiu{;IBhxTmuI z<hC=reT%IP>$3i5tyL5I-Lkd9<}m}$*2upf7gc_aJF#o+l&Gf#_y4xt-6id_*<7%1 zdw%*pWvjgrH@IgMJe|5%;o?HpMfQ2W|9sB&Ug@Q@p;XK~W}~IW>ranEEJ}0@*>zma zmUQLJvAVCHJ+ap%<+OiF@eIB!{Y@(^e|5b-`+m*3ufHOX|DSR&+;FqrlnKZ5T21sE z70<4{5Z?3cWZ5n4+Z>rIGam+M+_`mSPr=>P=Wn-v?BceYAiYXKWO}r?j>L%t`M1~n zt2sHxQa@GeaPYIAybWcq-6#HIoMC;wmTThVt&;U0x2}Kts%`nnZ?a|*eCL@q9DOKQ zpMGThlnXnV71x|QT6EdutbpLZ2OqM`moZF@E;^sPJ@-s)wcXi&U#Hhi{=M|{{xX3n zZfA|oGIv#;njyQ0-}v7g@0o9>PF>H;5&6E~Z_Dj-?j>^$m&$*WIOetU#5cJTg#u2a zKOa3_eB5*8-RIalR~>m{_Rrxss%Y`LYksTEjquFBHFv(x>YXa3%9;P-#B7aYM_HPV zyq{tscymtJbM;M2ml!s@{Pn3=+In~V-okI3`&B-q7_{$l(&+lG__6<)pT}h}rzodc zejeHRxxYP%Z!*poFWj|Jfny~TueFQnWB0p0j=Mfji!KxR5jmUjyQA@+f63OxI*-1D z+$q1jY)wp?L80gGuzj~pwll}PpRiP4GkN2eFXvht%ZuJ0{L<9iFm?R_v5d<L=Re<7 z7_vq-tGaRJo#pHG=2(BXWy)#YKOyMozWzB0|E+vi7w@uD{&#WPtvyxz8*l5ax$=?k z=)SVwx!ZH6t<K5cweUmgC5~!Cm;4`23pfA&(H*~KO4QXO?9t%`kNL~k8iP-Z*%~-% zpLh0IrKP!P@zmEFm&kAIJ8IaTa8k+XmB{gkl#5eLR@bbn*|f8=RjYJ<&dP}~#y?Xw ze>{84ka2Ry!k<;OKg;Vch2DMjwb-xb%L@Cy+8$^689ppCtNbHlZMXW<7u&Rr{p-4J z+!XzH@kSN%ZH;v~6UBZnJ^b)nKz72j=i%``?iXDaY4NKso}aSaZRZTRTY){lOgqkR ztl4AW%lM&4o!2F5?!2x0-rlZ0c<|9`>rEBs=7@g%cT97`w`O*R$>~4-o}PAQ=I5GQ zmS%?>JH(eaEpF&9dVlB(<D1gAwdr~>5u0B;oBjPs#2@d-pYGlVKUDBty0tAY>UT|L z<UHdSu?_5z+cd3Rb#;%dZ9X>Xt@S3mq%`NlQ+LWv&fS$efjLPg)&APC+eNK!ZGC1~ zm2SCKHD}9_IIfG*vwnVYm#-~x@3ec}vTjlBv!~k5tBM#}zpmoTHd_+8a^hK&OG_^9 z<er}mo~&GceBtWp=lnLLoHo}_ja=88Z^m}3Gh@=eKX>Mrl+LgEY^}bI$GJcK*)_e7 z{nOh2Z@jYdyzAHgHk+CqJLg<GIqTq>&Hk5rwk?}B{Z{kZW|tV@mUEyX9SerVxpHyx zdULF=*B&`r^!`1=mRmN>dOHhWUg|n$p~fcjS7>75msgGY4`i+#Gi7*FlQl8v-%U{K zcj-C~Vb7FjkG>q9yEAX~sb2p%*V>y7-mARw=IS38jk2zqor#{cwZ-$^e%pB0%J<6p z71ISP8fy1uST(;p|CBi)es)srvdpmPYprjOnx9n(bojoky7OANhxVJTdzRVE%l}{Y z^Hc89D94Qnud|l<=kPL$hw1#Bzkd7V=bRg)CWx3#nY7Ppi-MnEJI74r)?+$1W1ei@ zp5lGs$fvmqlh&)wUVUI8>xPu#KAl@<T*TYz3(j3$dTHrByYElz<v#A-U+=A1HEHJW z)C%pM?fWkOI<oo67CYVf+}WF*+)Yx&zji+_j>_M9Zq?p3uQC!RPMdXYW2SqQg+v}F zd-L@A!mq9UC(i~7>|$GMc=TVU%f71p{|m48@BCJ#ptK>9GjngxvSr1LHgRu~m7ev! z`4F@Ggu>tC?@t96O3$d!HO-GTF5XwqIk|L+E1PV{zT$G*29@i4S|VHusvmX-G}Nuo zOlSWhnwwiaYii=}O)swQGW$Mj<@!%mb5q}C|K{`F+1<ryeIqq|Pt)QZ)5V45>hBzA zm%mz8X3sfg>d%Ca?u=nCva@~I_r|W<u(x^hGT+Z1*Tqiv@P0FOPlO!b{NE=&J>BiS zbCS}AsT^yK>wfUxssAtVUhe+hTOVRX3+rS)zdia<-(B~FpN95|6VpEAO%4<;R-E-z z`^rwCo0~M1wI}9E2mgrivHX62>9zUy?A||_e*Dk7qxl9GFEg~2Zk_O~ENXeK>~05- z&9kq~+;hV0s?WFR6JnVY*Y|BnSn&7et$Po-@6EOdR7&7<5>K3!7HRw=sa;3;fJESm zznTm9<|=Lw%q`f(o&8LianF-&dyW>Tn=83a@k(`beq6$I|LWD}CK16~4_v-dW7sg! z%)jxb@!x+_yPuuu^p7_=b((pXt%kTu<HaS-l`*q-?K^m%X~C&qNkNv;i9%oA+30Vu z+om5ORcU{D>LI!4_aYkeSZ}Y`nqA%g>3?z6!-OwoJC2{+eL2qQ>bbekizn)uw@!Le zc=eXm*NIcLqrLYoGIHHAWyh;k2?fWlWQSOk@I=(lG!ZqinxWo)V)43Wi3nfuQq3s` z+%yWNnkP@w<EnaK<n5KvT<TMkq}i2i7&iZV@ApuTxo6JEzx~?CX7SsBd8hAJpZV`* zYU+yc<neFWHh0^<Qy-Ui?@;52^){|N$9iG^=VRR^$9TELc(lINMOA%|<5qa_!KlK= z-*$Pq|NMKaBL1IH?CzKRuBH~UWh?8hht?J470bU*d1RO+?&v*7KSgWRPG#fL&Yc;v zuRT@0R)0$7TC2hvQG<*8OGUq}3+79Bxa#R?{kWUFN4CEEWN_~_$GI85sw%!O{~c&? zg`vRW>T{{3o!pWx+gu8jLxZ(iPb{(oO+8N2+@!JpG{@W?&F5=0zwX;o^~ZC5>up<g zqtE-fp2_pNetFnd(`uqON8e<&NvuMluW|7L-479w-ajAcub=l}&Yhnu3t1Fwmu_Zl zH(J|mclGJM*X#Kieq5+y=ufWxlo@N0e=pu4;^l;=Uw-}U6+bF=rt&kF(gwr8*@s{I z`6~7sitt(cJ^dUKTDsR$E--Z6Y`=;>h0NE2*D7c1U45F5d)LXtC82Zw%WbKRSJb<8 z<wV@V3w+NXKT~&%h<xFH!{AMg!mWA9XJdF59xuLkW#!>S`5kUADz`MfxD<MN`gx{Z z{x1|~Dn+fDv5b%LbHV$=r)?7-_w$ryY&yZb#8uAs%JQJv)|)=;OIJiZ%&J<sR3dD_ z%SB5CBCo{W6W?*D+D>iW-qpKHmVQ^8x8v`I<M9^Gl^LoH#??*rCa*i@9{t)ccKVE1 zrsre_U8afxuP6(VTONwF@7l7}_vx8iJ8JNz&3I<VF!$!o->Jv=8ANKeR0ZRbwsGHU zIGjH7*#~Ri&-S)o{{&goFl#^NVc2@@?cwtKHP7ez>(4RG7VnVY{a0oYeP)MX+_p`B zfBQHxduKe`cd9OaVU6rtai-QgN0%*pzyJQ}llpN1EA>8~T--P}<-gP9?fk}VtG4z& zIT^A=qiR{^wkzg8-qv_DHAI8fNBTX#tCRS;yRRcl;Y$V2GkFJ|mTzKqECm-=rJmju z+mi5d!P0YIgY7x*8oV@U{m}3E`rC}Dd`ES!Ul6P`xjIX?Fy*~jRYrK!CQ+qL8T+Q? z_)T=}tUH}}|K^MzZ)5MSmELRqG1|AiWm}EA@&6-hO`|3Wq>Jl{xX!tj8E$^MW3Jw% zEu}}!H7zgfdK%?4i?6+OgYA}*+I-tL#e&ya7H(mY08M;s=Ps*_*t_$=3%?uZjs4o! zpPX@P^7;2lm+vqfifIp@;AkZfGhxD%?Fvh8Uab7r;UqUd$@ElWX{JR(y4<YK2clLo z&%MU(yil*&Jo$j;p_dbC7PAW9cz8$b?#}(WKWAkGEH~Q{e1IeOd2-+j%^Ay99<XtZ zN?M=bs``0H=;`VE@5*ZHi{;#Xw06D)$DQt_r^6~u<|Qoc>pf{NvpvSU(?%*-KPF<6 zU|{>v2@#tj*=!Y#IsJXPKfg8e)w^50VSaNY*bLr&xW8w^w1eIgwKk+nawzKNuM^AU z3rj3(WP7vbqE%UPYUQ*^d4d@V8xyv9c;8<dYS6so(Bt@r0WX646KkHIUakMfAup>b zVA2&!8!<WdhrNHcu<nw2@bH@Th2X|Nr_TSF@}+A2({BsbnsN!(nG`=fv|H?M&F6XZ zs+#^6e>i9_`R}58X@X2{@uKxJZ{GN^8r0!v@eny|_jB*Qm%4oK4V}|xJ$vA~Z0ACQ z^<BRz*t2&|s(5GcV!@rQqB5^GR9&uJb~9Bh=WSGdNS^$|D<9tE*_xbx{oA0uR9^h+ z9K&mZi5+JxErre<s$KX#>3?Ib#KnuBI9}h}^ZBIueYT7LE(zJr$~{tZHa~1l#Lc<< zPAuEr9r>ae-`4PWPr0qpRNFtsZCd@=j-K|5oPR|`nJGmt@|vi%VyEcMm_13Q$`f@D z_=JC)Vm$5Zl)NwRTJQgQzkY2^9&bZDvzT2%QICey`E2bak-o2c{!CvxA<ca4<+wH4 zb0!>%?8=UMEpSNj|MY0PoHyr~)+&5SNt?mV$NqY8PFVJf55C<#pS$;bd-#32;NpYN zW)`2^QvH5y|1U3XF7EWRw?gkf_^-=gJwN}iAjb@byjLrqS3W(``EX`$Z@A%SZ-zC` zq_xua-8VVA@$3ovU&=pg@{1SP=4{q)=rLxnnex8Q=W@u|1;sLQ=Ts9}9S%qs2p4f_ zIV`tYQ?ppR|FzxaJF)M-?`J>uaN61RKW6W|w(;J3dCp@7w}V&rns?Qli(~&#I{W&r zU<RFcd!}8}XD-=!_S9qF%R1)1n|<eH*orKzd!Z*W|AMY!)XJ^<-fh<o%X#@NHuPND zcjb!9OZnUPNcgPzFEL+lme?BwM@5glk~di#Ji2vWndDxHiz~F;y;*o!_p{m4E3~uc z^vS8LJ6chHXr+JP3_rHdRi_=8XEG@&+;(8z_2M8qm*maO$-mOgGB18<*-~KeW7@YW zz8{ZnbxVWVl0kLrFHg5zQ)d`o$jdMzW9MP!wed&S#ion?_xQQ|Tz}lIhtGa~KL6t6 z^Qwz)Zmw_qSlsSrvFN5jT?-ROPGGh}G-HeCI_)EdTP2Q_Gqh_KarsYox@~OmLT!J2 z%(mMzmqoHYkZGTE|HY?jj?c#5@@Lx^J}+Wip1VCv`A6PF_pbWVi0W6qy}fhO0*~CP zIGI?QYg~Cw^Vz@KOpMbEORpEy#m3qj)Q3kca{t6BICo>#%}t%Qjxm#GJC;AY<z3!V zSM#!b;R~Cjz1p6jtpQ2vP4$j!mQ&pnC{}s7a&~Bi%(8hOll<R0y^pOq6|E&>*D1MP zTqP<!?BB&Ak+Yk=^-o)zaqQ+Y)sE~l7p(4xakZ`c^XXQ1->rh1m9L++sd6ms&YUGD zu<yNrMco>K-#fFvy*bbD=k&LU$2E54&pcZE{GV`vjDfcAtLw&6Qhl#aK9BjiXFKDK zCm;SjWY2JDTryo<=3DWXGe7^yKMDSIrj<K;#>OLxr`K(Z+v}wkv^D9}uZrj?yLk96 zm(G0gf7h=aCLeYje)ag3wA4TC_Ud3&<8@o#Mz-9a?fUO=?21*dEDv1!J~O;^=f2Ii zc1Ruk&X`jyVR6RDcXLMa?R)1IRY&gI_l>36=FC=xdA%`NPW*}H!e>_ozWQ)qC;FR@ zzm<XDja`-xU+ev=<*2e3z1AN%$zf7f<&}?Y^M9D-Po1{^gjjvynfY^0pKwoEtUmLQ z`r}K*cCTOleSY`-{Ec=Im+OR#?Wcq<V4Uk4wU3eI&E=AFOpy<dY%S3EQUB2B&GwJ( z;(vqQ1vCZx+9Gl6Cd0R_k$3YdY*uq^Gd`rumwkTc({H!gMgBHyUBxa?bmC&S!}+V{ z^Z(TO+dc>7P}XHH`69D&{yt6ZyuP5Ff#uCn#Xn2-Equ5n=G4BzmzTKsSi%@K@G>0e znJ-@as*vycfv3iQ|25xD+kevJw{b?F^R%y5AAa~8TN~m1>|E{5lm5!h|E!}Kmqo6; z&2WRgO`&SRjpL=?zr0+Vu%^Ib{`EU1_5UL0UOcueGiyWh1W$?UOKi+V3jZsX3EVst z6?N>C@K%d8F&mTau6la<d}x%skIVN3Axzsjb_y_jzMFdR!3p(gy4f{99=2EC*^(!C zql)Re|1H@)4<~td9Qwc1B)@5`>FnPx7XIwaVeQeGHAU5Z>)F3+0@W@!{d*FB|LBs< z<?nUxroX+J&ThBo$CuL#`?_W}TXv=$owIIcaMZ*jrn!piUV2nn$mDUge{q$r|ME9K zZ&%Kv@S<d)mUoS1TVx(Df4Af7wcOTQ;Tkgkwl?2*#M@SK(RJ<7XSw-Ido-N4X$jaz z-GA`^FHiA7LEDde^yiuXHe|97ee?HD-R<1j2Y<9WPxES+xBmO@{5fUs_u6fLdhgDK zf+gEm{(R3+d;a0ql`GFIey6u_*>|JICuc6RywSQKFmu92t_J70xWs84+-yu@7Hh08 z-M+Hrl*!p5^VG9B89T%lM9XaYqbt?3_(cnE6wiXIc{(dS{^r{$-3F!iv@_r11K)q2 zKlh{S+^ha`*;rWOV(woks5JY%|LM2ezt7HjZ=U|^@Ae%Q$G6qj@Mr(qXcO3d`c(Yi zthf2obaw}C-Nx5+?Rj(M)WgQ18oEsiRWqCyHixf`F#NmmxZLeq!TcdjGG7#&uE+jT znr2tm@R0ZZ;U()FbmoMtvajF0Vu5C6OUKusvV(j=aj&^VBTY2DH#W(wu<iNq)aGZ; z@$c9EeSUZ}{m-KV?*Be13fl7>I}pRnd&BkP7QVCzljdbFVD!6vY7tkC=*ELi>S;^T zQ(q@7KD0IMue<-w^jG53{r~)bd$+nq^y}RJAHS!oJ-pY{A-Y=c>!zz!FOOckR(5gP z-T7CuRz{eLxo(JMjTY?|(w*L-=;(0hP}f@Ri(!*)JSx(j7WQ`C+Pv+%?&fZN9hD!w zHYAo?OCg+d&d<8KdKHhNBEO;r6_pQFc5*fr#?P(OjqcAho__vk-G2GHK;~T&IX#Uo zL`mO1x%lYYo%?=zZrZnH(W8eoj)KPW%9)Pt`Q`TomgV+#*(v|LzcuiSwpi;!;pO3W za;{ODn~y)%sH(iS#53Pqdd0oFd9&>P2Dn}{oLI7IN&ksIF{K|ru2?K^Y<b|Ho+WXz zJLmN*_ndfix<<YCNx7o4ufLu<He20q{hsSee^+Vr&7Wgh`Kj9eTFm|g$Mg53&FfCw zJ#UifGGXrZYrKIf`g1K)Pu<ds_<Foj#NKw}rlPF<CVvwrsYGweQ(3cR)2B6SH`NEd zzUjQ(T~X(ambB^eH94-Cu1}LE?VIpB?ApF9s#;ZPkG@C>oAcVeIrysZaoIKwv(T_Q zl^tn2zFZ9po67d{?A)!fpO^X7uHBM!Ea&9%=bE4XomdpQ^s@HqvzKSK_C#7{K0D)F zo@SJO`puqz{g0iDzZP#dV-6{vtXZ$Ic1?`Z^`({k)i>{&hlliR(3o}CdUB;wIK#JN zlE!^~!Msyjy^UsmiJ4hdonf8WJhSfcJnPk~J;nX!#98j1zx=7^q&Fw(>^&#h&A#$@ zMdisS|DV3voj*-4c9-)dFHdcKN$YL<uV0UU@Gjirm-XA54R>BtNI#96tf@8Y_kq3N z<wOoY6G*VWa3|tZo>uSWrr+;-bk}^)uro_<SlMu9kx{l>O7_y2dFsMjvnS-PKP4uT zQho077MJjOzuz3J`|;=Fr{cQOM~~Xio!FsodVTpU_MKeZODg9*h<exmQEmR!nz-zl zmY-QK)$liGx3XTcabJ9<tx|ExYn@l6CuhCZtC}*I|H5Ap_lv1|PqR(8T>bs!Pv-9R zR~E~k`qN}HefwoKwe58!c}7c}H`}RsPMT>_{A{VU@k@Q5UlFs<Pg%C`os?F2s?(}V zrzBTuY2BZ;CH4|S=(!i`HO>{jdw(lU{iL_K|N1>=eJ@)T*?yj!^7qK8Q>V{<{cQGb zFZ=AwNima+W`-;kow}~=<NB%>b9-y|eoR|7VO42nWN73~r>WD+ufCE`S+{$e+sC&{ zMW^nc_+?hi?7Jm1wDSM%NI5RPVe02R?@8giFS+e}DgEr%+$D`W-+TS7m>Kph{`a$E zm%2{<pODk*ecR_D$7H{<>+QGq9sYXz-@-kAw$I%eTkD+mOsxC7;pOL_L^@M{EsM6< zR#NqJ@+7(K9{<(9pUo4S{pFuP$%>is`Zqmi`c&;X`Dm}Df5fbNF9K`I_F3gw{Ciu& zU-$2tM&0f$i$3*F+OHXzzmx4m$(knqtcoc&Hb?jr{1>16xAx!UrFl2AKCZabCCTsk z(0B5$ojDVhJl^KD{OBngjZBvC``<Qi*;Tc8NtEYS<#l^LIlI0S-~B~&XT9G~Ba6kx zHu~RLt*gGTiw%w4`!?ZL!LAOu702q|zAU->KzPvvzv<PpHlNP8e8NrpuH)JRMV0v< zx%S<B*K%gjwMR}7&u_o-SKqPiHn;NrEx%UqfBUy)ci!g*``&l5S#9J_mwvo>>usCq z%jf+IxP4hMd!6bIwvzC7X3M6sKNT(Z_TIkjck`<BFwOr99vX2kwobmC?mKUf9`DQh zUcb)ojj)+kvSW$jq+jLFlONo5{&jxRpVq#(^LI9Fil24cd`o(B$!saM@9%fFudZHF z=kP!9Y?S1?dTZ5sz2kr8O|sL^oZ@re<Ym%i`FMx3f4+ZXWY*es>!Zo`HE*UKTcVj; z8vR=TWz5O-CO@~U?7omHua_WdA6xsVbFQ4J?<AGr7@2;9pZ~X2<{8vRE#rJQ>-DDA zqPs8G-AvP(`o_sq{f+m7WWPy!6fZxWbcv~pf6|wm$HETBPkDK{_wzTe{Q_YgS*u&` zO`H_3dNXBu@AQ(HOU`>}JzI5qW0+plma0hKvv;1Fnx?b9EHIW<-n?{@S+Mooq`h}m zE5AJRbn8}i{q?JNzfRy@=gD$|FX!Y2pJ%@&dQR}`Y5MPfj)jBQU*hcl``0UV<%5g% z<!sKGo&P>~LT>l$SUI=a!Y#*m?;ksO=}z+Dw$!*?kM_JjQM$1D#s%GD?%F0h#J<(V zaX2da#)r?E_wiZj^!})5t14}G?hCeer<}3zymleT{P|P0mZP#8@2Plho1IyyJ$-dx zvbf%xDeN16dTy%w-SBVz^w-s|#B$Hwice;0$hJ!U{oH4ERQj@RmC^@W53l;&_T`V> z)Ef&v&OGca5$4daOkjP~EWY<mw>3OhX=(o!|7@^_`P=7HZ<&9^@7c0M<*xi~)9g=A zws$@Hp)+~j8>Z4f8}6(Nc+DAY_2|#siMP)>P5=J*)~(XhSy@@ruV0z+=Ec?Q4W7y| zQ5rA%ulVi0^(gK8?wiy3-(JoB@M+hsLhtPC`q~Zmf<0Jn@bO)rwr9%DZ<G4HA6o4! z+mdlsZL6fsW|_}dZta=YuVop(Eppr0?ccRde4BIpAy2Q>Z+97)wbhwte)6CAQds`~ z>^`>Zhvd`+ZcMLS%X0SCnGPwDS?99n@F})zFxIiisqKG!t!MwA{T5aY@6PJ%-86Ok z{aZE_ACzUceG-T|tycBp_w_x0kDgoAZhfqO{rXv9Wpkg*pZ;>c_3}@($<w(yrcD1o zd&$wc8`oK;rfNT)P#1G4`R$*J^=6k{L!Sm8e=7BVC3i<Gmuq3ow3zBz-qM#ZO*SoT z?fJab{_IS%xAAAcczV9QICb+q-{9YEUl#q94VeR~?Cca}wXVO_TElu%&SpxRtyfr} zY3{3}lmEklmiN8BGDG31{LZd2`PHjdZ`WPDwl={v_pRya>}-1(*NcMB;*`E;d9Gf$ z(AHM)_xvYuy5HC5yuM$5p=;KxiP~9Nbz!lwdncb#JWys}>sj&R+S2>nnHCqFew=Un z5fwHe_xp6U>*6b)YOq$G+FBL8MSXh!>;Bje&v%`C_et)r-O|%9grZj1_sacyHR0-e z>&wml<@}kS-_4I?+#L3NtDr*mcD*^jB|NJ2EySgs@4V#mt7gj0pBK01$&?=6?0J%} zk844-_av1~ZFw<2*BN>j@jBeg<G=s(X}{;R@5}BjGFZ0x^^#S4{@h=^%+J<$*=JST zHQ#b2KlOQQ``GDmy_~S>)2B`A%6vqQU+kS^R&s0?sE!DIntE93^)JD<xAp&?pYi9G z&;EV#GlRpnEz+)k|H#5F=h+m^Y;(SU2LjBeW}n}cyEl7X^lSDn|Ih4M8NB<b!_DGT zr{dm7UphbYwX|M!roNq$@=Lp!esiP4%Cf^xPMf82^4qG+)cfBA=B8bmRBIE?GTHt~ zoa_|_2HxMEE{-8j@|1tI6kNYIXZxP=_5CxlcP-g__Q#&!O|Gu<#P<BNeEL+_r*7|y zsvEkxv0F0EZrZhL>FL+6j_IynYwH&HC9!<J*QL9Y=7p(m?|JhpktJF?v(@`?@aD(U zuV0njzGq$Dolm=Vh4SAmWRHy5JmJZMgyPzh+AB-k{@ne&|5@Ng+pab5t8ZGyu2nZI zm_F0=yw0sCrWPB2-ASS|mM`daI(skgGxPNdkz>D7pRakOaHF_i^{~;TN&I*B{z=@v z!tc_@Sk;RT-xMdxJ}EsPw;}V|r8iHw@8wudH_}@lQ6KVt<}LqNBZe*e-(HIM{FZR< zba!+q`~9`M!b7IaTx48qUsP2)NhNT(eZcI>sb3Z>VOLi<c_2yq*QC?-+Am9H_JzJq z7H9R$eo__ttiEu&c*?(!Ko0-2^UU5p-7Cv~Cg%I8HR*k|Uv_`H^JQl6vNd~mZu+EE zZoT|#hC{}7o`%rWRDQ3j56dKt+g#o~pZQv6y4}M|6V<++7A~k<ns{c%i|~nu&gX0E z*Du>$^FC<vVHMl^5_{JDIkzVAzOV7jz@pkn-sF(4=XWj3H@umD_D{N^@9R~Qo}Arl zw<UIe(dIe#)y-}1Hy&Kkv!r^m%F3HDAtok#50$3ZhF#K}RQ3D^-(J0+`KjNym%i*@ zJt@UE{O<hTlM#AzYhJHyPrvkq>15l^l3h!bRlc6wd_(%(ugRY0J-%fG7JfM$Iaz)E z?dAIyC$2e@a%fNG_M@}6&&^);S>=C^_wgq`<=%!kuU?w&`)@+~hsk?aKDT`O^#0rl zD)w4kUB|rY{2m+5+3R0Eqh{;rf8L+mA3u5|U(EWhYMOr37kASV*}wZ#c;&6P`4`sy zRTnw*GVNQYsm%4`uO4K~c`_-k;AP?Dy0scrNs-Qf7hHJF8(JXn``)C38{fqBKQ2z) zX036}#9~_dJn@KiXAhsd^-y5zwbQe6GG9#G>8AR8UHbC(yM_1tKk)k=@64Tgy`i6H zOu5G$_ml(N1pNGnmF-f|mMLFk?oKOazhv{;|AejVo%vm<%J=tW^1QslxIi)DLi%hI zgGp5_7J7Y`O48kK1zp+v{9N4Eud}6_IWy+(dbcrDYK28z{G4T(d%v8!rrdYq&O}}9 z+lSAJPW}HT$n)H7)61@Fw{F_4>B;6=cqcw+iOJnNQ=7eiznY}#{pfLgRc6Ec8yD?+ zA6uB-{`b!(Ew{S-{obXE9$is5J$>qro2x!;3bso6t#)Si_1oKWrA2ms@49RfdVZet ztLkre?EW8<zW?@2)xNreP4ir5oAGKDz2E%$eT03%gK2y}<#yg)61kZz?NUj?oMo9> zxzV+kJo9y*vfpBUY+Zd))z)dgU45?N9F@(<u~w0nJbV9Fm0v!4OW~#EPJ8Xm&y`-D z{IzJ&^7>EB@)wMX<pmO&AMKvTTYgh1(qzML_M5Y&)?R*kJ>!b_&#fz%Yd*|NJ-j%i z+{<d!$8%0QrB|l1?w)lf+id^Z1(C^;=gse`Y`R{ipnJZEcki<MQ~$Jm6<)t*d3S08 zGs6P!Y~2ITK20n>efs_KX;$a|acy8^@7Aw*$nDD9#v>Udb0~1-m+*-<FXokPxziuy zyzH&AD(@Zt`g>NM>t}vhwR?Tp%c~w$SC@uYrx@w$$L;x%`z_)3;%<#8am63C?rwgv zesRycDT};6m;Jmm``w~S)0dZSroBJM^lS3I@FfphJ-wYmO4jO0AM0G)yr=N$(ba5v zJKo=~68*l$<n!w%yl0n1=l3p~7Hd&_CfjzxwJp-=*Q93qZGXXcE5+)3(Ys%%PhQUW zx;^IaF0cLP{MZ;67$#g!?zf#b@k`O;{c|R%bjH<uJlbeo_07g5)5_q;N5zT16}b`@ z%>2q7q@SI`njR!y{{H5VC6}&C$?e$gG3iWMMtE7$=BncR&n|^czvh0aO~6&!rsb<^ z;U356ZENCpm1wS2|IW;mlTi?Q@|QyG+866YyPK+e7rkJ%WKNCz?2{#za#}C^L`6=d z{%xJxS%&pDQ_X*frvLAmd+X!1e)+AQmw4Up?5vonxhwh-=UZF5Tkodtb3eV6V@c)a zZ@D+u-ZI<yXH~Cx{MIRZxfmGu1XQ*#f7^WQW61ryKkR<HEM}yv`}ykd!LI&^>CaB* zd_NFrd2IWwult|QSYGov>cbq6m6vuuv%70->nC_{tKawO`MrO>n?EY|EB&6oyWRKZ zOxwfj*39uWDrtL@nSbKOPV46M!$rJLH!XAi_tYt4*FLq=m3`-V*9lx=zobztbI_E5 zp+Ld&EMMl+ZB^Q)EDUeE#d0z-?|jI0+!c6Ld%Eko-zxUYF61p{J$t&a_5Si{IeGS_ ztsm`v%?ZCz`TO$@$?c!@FTHJk7qMr{iNiV5-8?tFnU+#*YZvvcr2E~1o02}8h4oT& zpYJ=j_{Dqk`t&!<Z)_MC3Kkf?6kfZ>^OHV9M*5Zn=elHf8^Nj^3(rrMpDs+eW#i9n zdfL!`?b+<a^--Jt-t&F_<HhFo?gvrRKYshFd_ThY-=~Xtb!i+AJ7aZE&f2Pzom04N zcWUJ1m&?}Ph|;;9vg>8hy*;VXo6moI^Yo7Gk3({W7Y%3cFE$1H^?>K3B_8YcFrS+B z(lm>c;g-1WjSIWh*Vk50$h&x#|Bu0^g84dDrt#dSx2HyyOlLY)aJnkEwRiI}@jHif z_Wqgu`^tsovauItU+=GqxpZH~YX7tUJG0k$%4@4!Jh0CB;O401PovIlj#_Riov!P? z+N^wUUSQgnX`0vVy#8e}FkD!>GkRUmbKz%aU+>L*ea-rbmFfRQ|FX3N7;cF(nu$Dn z#r;oRrGK87?9S9hQ^HP!&e5(23rM@@)ReO`DR<rVJ0{NV-+wf=@t)ogysN!b_?XQi zRd2h>6WP&jS~pZY)whayoPPIg=j#cXn;iOzdM}?<-s3x+n`_mrS9^u0*4A2AvobK0 zlrNoXEEn#YI&t>A%?rw7Zmsi>-=Z6RzAUpqyZhZ4my7x<92qj=S#AXENQqGM*u1si z>M0Aa>^omy#vI(t$Fa%w>AU|c;%5JgR8_UUA$T{y({q>OE`QHYiy8O!%P8JdnQk|= zx@OC<moky|(*Hg`TYGC$Q<iS@#-GJSu^V-FzSAsYVPLRGm{E1Abk<J4>2JMku6;|& z`*rcp%HaR~Tr3UWTpM_+^X_~Q5BhHWs5&h6?YqyZ*Ovcn&f%IQ_vOL%>@z$2175Os zsBpgb&{kRd!v6I;|6PCBcJ6x?v~d%2`q?}oZq6lJXPonRD1YzjuOd~>#z+PRhRoPG z%btcXGi<SE%DG{kHqYzouIK6Y=I8I^rHO9|p754+`dxL`QmNW+t3$ptW<OrCdj1rX zUFX+w=XWj*d}rtOX>#%Qq}#T4f2@kU)FXD+x%vMk+nUvN$F|2WS;ok~pyGM^%;BZm zRXM-kV7S1@u_5t(OzFS*u~LGe|DT+e%UpNIKSRpEcxB~;-09Cg&ojU5eDF_Q@2^Yw zE3Y)a@ykE8W536$Ng-F4Kbmi+_%r-z-NGf4H#4W-yz4yMf0xSIvdl|;r=;I4Ph(_Y zxVKyLfAjK-Csr+a!ym%NP{PBMlOg`{#`-@YCl~V{ch8r5`tJU;o5#yoFV14Uc_(=0 z-h_4cSzmIBw$Fe4>GS_LA&M%w+W()uSN$6o6gmG%AHSDbh}=K59c^B}RxDW*t9yM` zDZ8od^LO{}MsE4|yM&#Ufq|VlU!qLe?4^ijVV_dIXVo1a)7nd4)IEd5R+uupuy7My z;9T>+Q8?+Q<|MWgIo&q*rp)@crY<@z(DUT(5P@$IlSIDWvV3u($H-af<%hfF)4%=c zn`!<bTZe(+_f1_<(dEn1+MidgcNeiWE<QD7>y;q)J4&jx+q~sHLTwbZKGkt0KJL?q uvadfi#XRNM`x^|SU^E1VRR}DI{Zp^}XEod0OHKhGk9oTKxvX<aXaWHDE+2dV diff --git a/Assets/TESTS/logo-ring.scale-400.png b/Assets/TESTS/logo-ring.scale-400.png index ced77bd421a3feb7c78c83a8393e7f0aa41f62b5..f60d411aa8ccb557122f3a8fb721dbb0a2e351b1 100644 GIT binary patch literal 237152 zcmeAS@N?(olHy`uVBq!ia0y~y;M~Z-z_NjZje&vTeEHOG3=9lxN#5=*4F5rJ!QSPQ z85kHi3p^r=85nr4gD|6$#_S3P1_t&LPhVH|hwQ?FtXzp~lYTKUC@^@sIEGZ*dULn3 zLM6Rc{lop}+6<Lm{zIA7lN}7^N%AB+8%Qum7Uwlgkf=E3%~5vX_>Gu*rVp}ngpW?R zA@lKI?raB(!;jufVrfct>JaC6xZ!Y5?_<eijtw#ojSkA4Rb6@Suk-OOOY&B#Ze23% z+2=|*-|+DLt5(&meieHDh4p@OCWcWk8UmvsFd71*Aut*OBP;}F>|es&u(MCPw*SxC z<khY}r^p;tR!(yE`nW+RGk1xFhSDjIOoQho@m(eon)T-5AMc7xeLp3z&Rl$Ba`>N5 z-*$YxrWnhqvs*pyRqwrtyc0h!?wTSe82GQM@5_abiU5~8`ERl{l)kySxb)4P_{duG z>Fv`oHMXBVh(DVDudKa~1svK9SKm(Km0mP0Xvv(#I;SsQ2$kxMTRKIlsPE3g+TQ&2 zKAK%~l%LCJF4Z_~)VKHby3m{ZopKzi&GOfM{hRP!K6Kybwc>6|zCLFD`0w~ednvhM zpIqaMW%+$ubY1tUicXC_RrF-q!RYxl?nfL}E^c%+HV8N(zQ3-dXNkJlM86Z7^8^I@ zJ33A=ZLbM`+HwEKi4ULW6}Zl+`D7={3w9lY_IX)%dD+8<4^K=sahbMwcXO!b(i2Z3 z&MeY+G>_fhVqVqfv)bGKx87)oT)Xqhs`M#`mFvTQey?92zP~Vfa=@)G3ekByTh3l8 zd-E|}@MwCG;C#KdRpxigU#r(Id)~-u{c%aV+r)V@mF9^G`geE4NA}#k(r1&k<J*S& z5?vvd$sZ0G+pT)c2zJT>>$~4xxV!Hx&lhpMxbalx-IP69(W|Z|J$}1={fx(ANz75! z-%s7kivJa_`KVG*@N50QBoX`HFK@iKXf<cr@{p9-&J%L~Y&<h@-!!E>ouI<Ud;fph z5gn4reCuD%=Pi@_w2M9-n)At1u<%OIn=KYUCPaL05k5Bmp4E+D8|}E_W43<mU{^5c z%#W`7Y`%D3cDT!tjMS}sem{36_4s=JTJiSw?%kW_oEFVkw(aSwVC7HMO0MsJ>@uDI zXLiS?9La>!o7*pc<G0?tb><fddk;;!d8fW?tp5KrIKH&3A#;BEykAYiT~o}To;cs{ zv45Kk`^E2P(#^v}?uEP6y?xhxuB!bqGsJ%H$FE;scRyvRq`Gj0=CR+4dpe?)3c24e zbPt!4Kd|EZzORg1=bego?^5@b(rIg7^!)PtuCUOnxA-=kwLf9DZ+*UdAAflE)bIbF zpRNBZtIorh;9q@ky?bA9a96PMr-`R)E%vJ088442eU-lYc5&d(x3S`L{yD4jKrFY) zzJ07WkdN2(sl%EL+XNm5_dS#8zqfI*HlJq)?~H)^MOR%dkERL+&ixft_<nET{-4FZ zhckBm&2(Dq?6|GNBh{rwPyA(V^UDkVN6yx7JTBS7e4tZ5R`}@N*+EaHyB+Bi3@kal zaBbzG$%`z0JV=|r%}wdic{cq!HI2d?5C?pouAKDxqPzQ29p&_mTl+jTm7cHAD=sxt zG*fuQn_n4`>;H7J;L8_bzFPLb0<Yx#^zz}I_Ec=@&1otp%;H$}F6k>jVpi6S-|Aj! z7BP3;r>4VQQFEp$?^jZiyV2Wz<MWE%K+88BGiUu#SoPAf`T5++*}|Z9KLZ29+uy$e z-CYAktdb@!?U0DvtR}a)^!27U(iRC%L+%%So&QASxw}j1vT0ZI-*vqD_VzM!&g4TG zpLsSdZBxwbbKJIPzfrVH*TgB^`+Jj~$XeTf?>uk0e*>4z<0ZnudU2wb^G$ABY`v4U z|J&=p=<g>Y?JAebSlSu=_~0BTr9R*05ep>p9g3snf1dD2U8y|H(Mz-JUU~eS4}ah5 z-?b~XmYI<iy{;;!>qm-TVTJYE*YSUgMC^Z_JaS@UbXe$Y{|UNM%Q@#(H>~~nJ+F7p zeVd4Xf7*8Ze3qCl6E;EEe~sI(sgr|GiMt#*Hnr%6>wm|M&sx;C-~J;WC^nl--|n&e z+yY4OOOzhJ=zjb|N0h)_CHEr*_4PLIu0@O2#yjN{EVx;dyY}0G*z4{~f|ZMICp(<K ze_tZAVuhlG*|+0KKEk)$Zf7!X3%fu2v31~)tIgTpV&v!ld7>xIP_of?_N$MZABry( z5qCclsQpp*i|yx|#lMbB@A`4%ob6We;|ETE+X1nk!9t++^9kkT@U>!r(|Gs)UOs!t zl%&UV%k|#bl^DxdXhpB9%JceoQKaz0oPCDRBR-eU&#^zSt;2EKoi%UQG;Ztg_&B-a z%e8|m_G{aHUg#LkTryGp?>oo9^>gNSS(q2eY@2l7>%MVa^*i}B#c#So<{4I8yjlM; z31asHhmECwe|5}J=3KXy!%``0s+UadaoO%owc(619Bk{}uI7LHE2Hnn-b!AP!-oU+ zzdW{4{j_+>Y2&TA+9#$dDb-C2`gpF&EBs#ZWA}HZg$InPu5JF6yyE?wDVHh*3-@3B zFzuILjho9_v-|$3@!n78J%4wn=$wD748-y^Zu0#drLV88+_9}`s^G^NZ*N=giw$R4 zQ?!+Py_K%k%ejJ;XKS_xzPT&B_545Q$qR1WknfgEk*+>doMCNy;#$dFe<jg;xtQJW zV+#-S?vB;m&{9`itjqWB<msS^Y++STx2~+3|0iDg>$kJNe-|&Q)%^6DUH{e}HF0R_ zUww3Xzm3tatgR<3U-w*9c)sKLhQp6mn%}>((U)uE!K~7I*78BC`D>Mw<o93j4K2GT zef4~OUCxym=@WEKd8~_hHa(pd+;i*=<F+)%ZJz6&%RiZ-ciZ&G;qOP!n)B~2ND$1u z71BAMf9@ouzkx0`C8qn1-aBq@cuBFn?16C9u40w&`J10FnqGUn6_O1Ocx|h_yX%JZ z!e6(vOhTr8+_C%Js}tL}?sBg7^|Os$XSY7={`b9pEH{*tlHTvTcp>6)!wnhd%+I_V zO#j}iWVx|yZ~vo?DVMkY{p+6d_V?W2dCz|}x_-Lye80lqnjhapUjE(a#hfE3Sn1!+ zW&Lc=!bxrK-u=J)`koLov)y_~RkR^#?fs3;4Y^ZSEfv|mHvay^+?`GdqAw*Yjt4&7 zw{U;Ah<jPl?yK@O_FCI>U%xR~n7ieyu5)Jb$`jWr)@%+<?d}knukU{8=WhGI3)k;h zw19cu$3w@LY}#X`RQKAUV)s|&>#koD_g{Q@_MgJ3h4&@*{FoXY8vsoQF5A~eUpL^E zUVYK<_ICXjzhh-LNagI?7FK;=-D;(yr;`P>bi($RmWS-ysXUAAoSK}Kc*^PGnR;91 zZhNcaUuSQ*=*McKPp`}BKQ-SkZaipX^Y`a>eWkeh#e0mDwAfGGUME}Taz$=yq2RVT zMW;Sax4!<)PWPN;`g(32u>B2FpLqX&y5Hsht*ur`qTYfV3mF~F6wM+YW=-Gslyl{p zIwg0RZ5h9Je7?Wv$Gh^V_RDH=Vsa^`i&t&B<~CvN)uPSG^Eb^2zBN<nUrE7>2ilL1 zZRhTFu%7q#&Ac1eKidcSiMt;;$bRegdYO`dFEan19R2g)`{|?|H6Qm*pZ7OYTpH{K z2JMsEN?-eE?>hB#&f^=h*3Z7~UB?r#5|jgZ-|o>{^rQLcz0lg**OmVs?@u~baO=on zo2H!P{z|^wbe`2`jklON-~KN?QD5@UZ2p=Ht?b4XzdY5K&bcQg$ZwzUdx6HH_b>nF zZnXd9dhX-)>~C*vpU!J6epmVs8u3Co)lZa_PX)QJDf-O2iF4yYu8^HiR!#1bk?&Al zRTQ%S>FJ4e|GK{&&iu>)PxF?cvC#po+h(r{-1ljE{ols?om>kKUN)1RnDir8@FUY) z!HeJ5Ja>7r=ZE}1rEeicKf8W!oAbABFCW;q4%<%)Zp{5#mAI7oVa$2u6VG-vOig)k zDt;y3QvT%~>H5F+Njb&Z#{Z}}^59&=36q7ntT)7jQf3#Ok>y(J8z)zLXKv7*%IEL? zo%S_6#rXb+@an*w|Fwgkn7g%bzB&HI{_%EY{kMAgy4@w0-f^G%v+o|Hm9t=Wu4s~V z!jnxs$?tcqe*0}5cZB5jvQ@D)XHP4Cnksm4v&QZjR`0*u_$(s$b+*0u#`N=dmUHGV z&drnbn(aMdZKB2NnvAtSUt9i-4)jdF|2_Qu-=^1-nJ-<A`*0&f<ht9D$0f&7{`yyk zJyHGNGPS+fEC0sU=k57Djf|!<AOZct>;JAq=a8ang6s_<f`=`SC*NLkLhT4!Y~I<{ z@V{=6o&HZcdgsdO2EBehd75&S-EV$D=if<oms_@FO@1Ddy0&-QTb=Eq3A2N5=(>x@ z`yKs|U4HMwzxlhOEEQ~$FDtrE)IU8jPEt@*)+qLWr+@#PuGE|5eI@0AN8Z2N^Wcp2 zTuyM{Gwiy!?d$8(LySu9E^C827r)<;d~KUk&V{vXY^$z5Y}WI#+-s*4YQ5=fnBscL zIB&tg|8LTj+S+dMY&a{Ia{BWuy^^+VYo}SuN6oI0nRslq?q3!6kE`z1m)_;oiwWC& zs^0qN6PZF^7aN!SE!VzB`*+8PoUUNed>*ndJ^cQ?;>UA}eX1e(&LRBfwnXQatQ__! z$=mYhZ|xP3E?IbMX?>ZGmiB*Z_qrcVW>@mIZq+>hd5S>v`SkoQ38_2@(`SOv8X!3$ zccxSJW#*jT+-`r@)E8@F<*V=W#~xjyb>8Z!<H}9%V>OqHzv{X9)&A#xx5$@WN~QLC z!Fv+Ex6a=GWDO)FF6eH{y(6(Pe}13Ege4-!?^u3L33AH0;CpWGrtQnu@7UB+b8XN2 z^OYgd-7{ojW=D0deQsPYZ)hZQmO1t<`^}=$nr_M87;ev5wXSrLQ}mX){er$sIl{UB zjf-|AT<5(W_q-|1bj6=<-R4iH+?N#OzasrM^7oSEE|F_p-?ja>ounLe<oN5~-{w@F zKVbRY${OONlIFFquXF3lCY0sems3CgVb^QMT`r}k=i8bFeVnfO=wR`$V|*devtRxW zdh%lD%VQlAi>_rl-R9b$t8&6DGxo5+wT~BWoyq;IBYNxDH2b-$mDAt;J5jy={i`(B zs(0P*!=LO>Q}VkgS-kn%4|Uhb_3!2LcPpHkru43RQ_-<=-Twb~7(+U62a10G`t>#N zMH{pCxxzDjvbynNNzG5qK3rqJ;;!}nZ0eu5=(o=$qq;L<b90xy6|r>xyUgExN~#I( zoUMW>r$O}s=O$C0NN<@a>G*TT?bl}Q?T=sLv0m!WjotRIoYGZS+B{d)KjT^#{-k2U zy&1c=_S@Tinsx6)viy;6^=hxXPUV=p`qf)he4J@twhR(55qg$NdC~jpj>^?bRr6~u z)hL$h7G2UYNBOBts#l=T$<!%=fm2eaB;OaeboYCCfGeMu_o(6hUty>1Sf_c`o}Q|I zYT`X<&0pzqf32)tU&L&Sd?NGp{2d8Hn@d&&*OU%SLu4?o+0{34pE2A%6FgyAhqTt= z-{<yyZ?oTjJk&qj`sLDgG3CSgT{5#vkNsI|`|ihyy?ccjw;eOMeI?<x(ch^F`Fh>g z-`y%Ywp(fGn;uBE-ypNCw7Nt0xreJ@>N!D6ch#jDT2n24^;wIhmdD$FyP@&zZMVs{ z-$yzN?r2Ra>g&~AwUKk<L8FM`legu~Cb`?mO!UvFOV@iRvaq;vZAZti^nZ3q8S!T# zEZ3$staWzW7IwN@Br2O{(NoK|YqRvkKgtXK+!8Ba`MviY!>+)m<$jfZejlF;eiYcd z(SY6l-w%!IYc6>|3ZyUgCT=T<o_P9y-Ti5sw^?UHf>~$l?LI55qKmAPyPnBR40<w0 zebw@}uiy6{zgzWsll(1RX)_mHx5M$Pmsz>)l{<c??Dm$cPB|N<u(5UB+UFc6=ep0R zXqEpy>FMil-CCo#?fgBFjp_NPUpg&kJNJnvxci)3%Iw_O!xy%CEZq8%aa(1}wV=y& z=O#Y-6<h24{8;Jrw?)nuMCbi|HE+?s)AoHb&wKBF(z&2`+*Z-;+LvuSYo5NFl~l4s z<I&mgZ|zDH*!=E2e*+ETDbqGfMW3_ON|o&Y^~^lnrQy|VcR9)Csa{JKy=ZEZ<bL(T zVwtBYs8(0{svDkvMzdZ=$*kvI?cLzq+-EOclwbY-!7o@{=DJ1D@3ii6iQb#cImN4X zUF+n^4erbLTDtWd>y2f5|K$fRnf~V2gWLPxolA(c{Xd1*HL}J;sqd=f+~O0D`};TD zGhXhMb6PIV`{Vo6nf3MGr)}Q%hzBwmu_0vJx@d7t-MX60Kidnd+u9%h*!@24=ijm` zfr3*{9l5et`)uFa+mD}UzHYgZuyJm6YJP3*$6q#4PgiXE|1R4&L99DIH+R|fpmP_C zKij*#kpXo9CMeuqQp$Tc<hXOT@%FQGdDog|?>1jva_=4gzPGZx_WFq@L+al1`=8a^ ztF83wt6REk(VdTh-@f$lKB#=!ax>`EM0dL@(O2TWZszvee|{z;<0ov)jo+^KP0y)A z*VSca@f2m{k2gXEqM~2@i_UTN`uM{7{hYFM4X#0Vi_TtFo+|I9DZA}SaLc)+Z+U*} z7rC7O|2O7H?e}9oQ*RWV4!9N5l*4=Yl2H4#W79uBYP}Y<Xa0}dUQ?Fe{eH0g-yPY* zlWuJJIU%XyhppgGSF7Yg8LP0)+^mM&r7bsux~fkZ&EJ=OI<o$44m1F7Y+D;`ZhP6l zUsK5}?|$8buMdy)3jY4KcE)30&7*FLW)V!x;j&TEec4J&gJ-vGT4odfO4BKw=d5q# z-VPaXV?w{~q6wCa9<9DiG<WNqeba-hKEC6R`FlQ3PV6f8Ig5QApB4*#G?=@w;$8Wj zkA^|(&3QIy8=sk0T(fFL@0@*~_e}qPB$5@JZ4x$~F+VabsLM#HE6ddEUfu4#o(^z6 z3S85Xe0N9f?<Egr2}qYj{C%|A{OOeS{UI`&UR=HQ?B}f*r()N07e7zccm4B3{i4-@ zYYP>kS3h;-T5HO7?$f2VYqPe>_D%Vha{U4SJpuDO29Nv}EjG(tCGzt@<B7sR6Tj>; zi+0>E^p{wBL~OEi#$=|<VvcRTzwfC|Q7&`Uirf6U>GJySDL%E(`u6zKjvcvwf0;=? z@0hYEYUPoO<#!f-j=Hfe@$i!S=4DSS^-o)TTen+n9`{Da_Ak79{(h)+KK$O-_2Zkg zhilfY+GaLgAo@wf=dJ7A{$1o(-#agTMpVf+h1)r=rP`Lea;^2{-%x6`#cY2=wBOJ9 zL9Z%LuKT|CXZt%XtE9`P<z^H;Rn~ko(<(Xh&#A}r1(dhWo2IzsXWPwXY`3S~xZbs> z=v1xvoPCESLDP>63=1yjMQ_imT9*{#HBsr&bN;#lo3GDimxj&Gv;TBLWA)W_cE^&X zmeq+SHMdGhXk=CM+Zu;nzPeN6n#sN`L95oD{StM`vTFOk>?iMQw<~6tnyxTyhgH+J zr#zk=l)1K;ahqRA#_Wv$kCi@km+$-k>io`w5go6Vo%KIA@qf6B%sTUF=l=Ft+ntKa zE$Qiua82B{ML($W<%4<hv69TphtHXSqn%-H5qRj}#6Qo|$LiI~uJ_3nZhH4JVt?7x zDUW7YzrXYU%FCvotK+MlE-qeIqagay&~oXymTS*0l^HJ6nET1b)#ZKeZKeOex2wHR zR&?Cv`C6)NQD6JDw7l876}MdbwWr6$EC0^dZ1#9DX6B{4dv~tNvC1x9@~5w3#mnBM zrT>r57dU)%V`TL08FD2_J9`gAy=&5R3-+=;HOK#E>BVR3EpJ0yS#m1(^)=TgGQat( zG~~)(ueDm@{LCcwwNP*;uUJ+>f^Y48#r6GOg>{iDL%!V)JZ<6n!s(l#W{YWRg@<76 z?e`sfYJY!WxV@(-r}uW;tqZq)6uoP^a4X00(BIpCL)I>@d!>KB_Ne}yiY-se{jFDA zivIt(V~=OLPXBND|4Srh&Zx4qitEfh_Eu-E(ep3w{?-20`}6XEcDdDSh~qBo-DP^h zY)gK;&AZ$8`#2QMW^8`t8g93AMVMWH*wMp_G}QL*a9YNZyK|lEjJ5Bh%iVwW=1$(9 zf6XEKOs&>M&s^!Y71K@^^Y1<@lkob;mPKo)MQ_Qi(pxsKy`)_05;yz(-`8&6X*{#! z-*5f<5zqdFTRsx3O8#k+pmW4*eODIujIffKhjQ$DM3(c$?f9vdE(dYcuJFE&+}GF3 zLnGFlu$0@IeEh|xV3u5|9j`9jS{lC3_G;Gu?Q25ZnR7ICe}(7$nDxC(Dak~_^z^Py zh3ijBcb1?1S1M?1zih_N+|^G-a$7DP>({--zhUVN#RJolqC|I=G3R7%V~EbWq<`^V z$hyhQIf9yfXDsWNzTa|v?mM?7Q%}9$|3_8Xa-Yh9YpnABj@8-q@P%gHD(cZ)u6EjR z+niZC=Tm2UzxZ(C<M-O>@&D_u{d@Ua?!_C(FoHw5m*B?i^m5-#A%2#231YV5@jv%$ zS`jl}dn&vCs(stKR;~4w7nE8i{P(B-;y;I;FW&poDSf6@@kH&lTe;>xbzQk-TSKPn z?78hXwKuu;{kZV1+5KGC>UFo?o>Ng$0@ci?7CPtmd!)bW(fjdWdeEK!o&J5Bf<>=} zg{5x$U9{x-+g%@eUMnwslf|I&V$W6v=vn}9s5ZRYoO^edSmmVD2|+T&&*v`g_TxR1 za5}X8s`kfqF(Lk^TvZokEbh8y6L)&<jJ7Q|KYzSkqqlIYXZK?6z2E;DeX_6H_Lt%I zoMl{Zk8D{KeE<2AmyXur;7C7v&a=Dt%C58fT@3#mioG8DSK0g}<2%*a{Hv#2{Vyzd z{B_T}fR$GtU3lDgUtZyL07ve=gWEFi?-rSFth_HE<kaQ&w*TMc?@|K0l3~H`oY?Jo zmT8r<)Lf4odwW~?P|2bTPJUav*WZd+FLGaJ_1DQoTdkxLW@nx{H*=Zz+)q*OZkR08 zUB=OSb2-P{eRfjIUgpf%W~`L8_2Tyn@1`sgUhKPhrIUKuzJ^R!Wi@~8TS-+HGB`Gz z&0clkO5D}0J6UdA%3<6lvbp`vCE>+uYS+F$b6xIvoNd9?xG%4chZMa%J@L{<Z^Nw{ z*MHmB6;=8s?ERZB3qH>+GFhghf71U#$MPN?@%u0K|JlX;=&}6z9np{m(SqGqR$YB( zF`=zVMr-3ik+0tCZLEr_;@4e~o4<PMRZG_wOO9T7a$9YE^yc*PCA00tE8ow{$oIN< z>~Hz5OHtLipNqnxvc+CxSG~K%x#g(O>u<|CHnXp<KOMiLm|thAeZ|%Kev$Xx9d>&! z##ZrJnq14Xs5<q0-8p~$TPt(*4lX~J|3qnj&UM!G`;T5h0=3~CXq@pWf8R_$ky$rt za@YP_aCiMl*N<&0u4nIj*w&eLdh?!Z8#SG7&&t~Lu<V^fM((R$^Y&IR`gA_N=hMD; zzx)4VmJ7|jQueCwyg<|Ih=#Som%Fw_<z3vi_On%VL+&w$+oikt-dCsc@bK)O7{0Ty zanY}})q3YAp1&@6cjf;^{;qrN_DNr!ADFV?Mv@QzEsNZjSGMK0KM?!h{M_S7#q)%% z>E3h7UoBV-X#_D$yZ^So!ez?T)Oit}9lUC*<4Ueh?#lYOFJ`Um)YVfn&3!IE)jYp@ z-L0thLphd9SG>O~ytV#s)D-)FAI~(dP32l^x^MX%-i2FlGUdEwxixF<YLmx5|M;w( z6!+zHdHhH2@-JGYw|=sRwtcVBP^$A!FInHrXRlOM_x1Ys{)K{*wdd;=t8SCrzWK$c z?~63fN$h!WroLb)BpeTXy1lLL@1}S5%SDcJZFF>rDLAUQwd(ICkFDX)t8`txP6y}a zN-pEb-Fp8{N^EY1M%BKJx^DZv-@W!8+F72<w^lbH>SEgS4UZYOdET!npZIvm-0S;a z@|l0v`aG$)e@)n_{U-(cuSni~TgP9U5h7Pp;qs*8*qlh0@Yb7Yx1KH1?vn00bwc}H z_1#GO;-fHE-Q1QJ+kNJgQ09swVHUD7E2{MNeX9Ig^?twW-tTkvEK_$4JmS)k`zQO< zE}N&?&wh&r&p-ZRm*?x~HM6(X{mIOVxW6GU>F<=%;8iDl_bmUbeDvS<*d-p>*L-*s zg!^;ZZ(QOzz3~9U?HAvy#1p)`MH0N<`fFOvXSn@hr|l-4OVfXy+w<V&yAM|v|7u@f z7q&F0F0>&xRimovc;4e<8*BcE&9%u}Hsx5})02?m^Z1RTtW9@T=IZU*bZ1I?*W170 zG4-poAx#g4Y5scC%&n%KE=r12HRH2k&ad;>8}oUaMwf5u-hG>vam?Lv!)@zU$z>dK zPj3u4HSxvobK8@De9K*XKYR15tlX`0Q+M`mt30@HYuW8{$vZReZ?iZ)cl8OgNx@ZT z-+hnyXJ-EARM?(3cZ!40<#%>;-HVWvEBaz+xM`ccl=ep7D|WL(X6Byye00T%Z9-a` zm+mM`*-`Oxp7*&Q>sGTvf_mDuZM@QI=QXxoDe6lud(*+8XvU{uc~x)kvnf-$vWxcC zWvuH-brQ?&x)8Q-gX?^yEkA$lX-J4YWy$yJ;`ihitK(mG!D{e1>zmD(bI+cu-7R|a z*!<@uch?<$wZ5mZG4cC<uFaXjOE1+QF%|siHFx7CnX)(e$2|PcZ#fX*GFj6#xhg`Z z{Nj|wXZzM)zVyQGyUURS4-WI!X3wel)Ug^mr#0=^CVzFUBgYz-)twBL4(fV+I_s_H z&M^78Y9)W_UTn+CmgU;~lrOx_`pa|s-o5dE{$%V(^iy2F^7jlymg^fCAZ_wHi*hf2 zo-Y=Wo7-k~_FV1dteTh0Ot1br`F&6AgE-}bT!o-q^y$KJrAL-l$xki+6#92O^fFw^ z6}{$#LG<RwZ?~B2>RxNP)VM6R<k{MFDv%J2sEIbu>DbaU^+wyT-;WEo_x-C1=;*zg z`+4iuU(IFv)wGVLrk<bmtD<6U^3`k8lDjU5{m!-DVzxio=EuGGBOk=~3sh#@KT`|p z!XC3bbypy2_UEk|FT8Y`y>_<g0kg8gC%20u|DAjH`ra4YW~b@aZ~q)#UHN0O;Kzu$ z8;xZD{dk<5@#x?ALpjA$FCmva+R#Y}vGd!$zMh`{T=S@5`8~^zTMDcq)~*tdFLwHS zuzK6GsJ~qk_wB1%7oxP>MC#kD_u)RZa*JQ9t<B$<ck9>3<tr0w5AW*y8hp*PW%055 z=btd#zLGriwBa(f;}*MO#9WvB+vnMQa!GRc4Am{uZskZ%{=F!(VQpfy@s?c4sBEjF z8Izx0@oUi4b!^Cewe`X(-|l3OmlszC{Vck#t!H!Y#D%@D^liUi+-mbjf8wK!7Ynq1 zMOntXZWY?8A(glPZ*peW%j63$CRkMRcxv{p%l@|KWKq}O$6u~IJ(g>pr+#+B+`rB~ zvub*Rr-}QXn=0~i&cB7W+rP)x-8JrkbWa#ISbQ>iZ-4faOxV8bdzbFtx2!BPr2F%! zs{D!CM?d)sT4iqR&C2#Ram|Q6Zn5o#{SM=<{5xWY?f*D-D@3U;6P^33PAxp@wCw6# zpl<uwU;B>koN<22qO<Fo%hpXbd3?ccMzK}u_v(L7gxR{@1=&8{dcMafucO2H%du0T z@89<R&aLrzvp#*=auL1Ly+>~*ott`V+D@U{J+~w0@UO9Sui0_p_qo0Kr&rg#<6;IU zq=s`htF8o2?0UMoewtF!<8N;#&pW*8;^wETo<CFCYrX#E&#RlR8Sl?jxXq<xddKcF z*V?U7_tOe;C7Vk3?q*+H_C40{%i7)P?=Dxu8vJI-4+^&xL|NxP6UfMZ9hIjx-SW}a z-S=yMUUlnv7hwIibouis_hki5_io&@*7i%?#r=7IBR*tbs@=ZoP>yl#=FjtEf|tyx zpA}qn_d#oV-Gxw4fwtk--2cb(d**yPW%J`${j&3#N~bQ~<UQ3fQA7D@7SHj37+Zsa z19Pu`)~j|-*+1*uh0<w{*G`XnRc9?QRr%vIQG+@j9-bo!fk%>#1{OW3c>Oy5eN_Wr z#I=<!%1Yq!XGTR-saFK=ukA5^A1qYbuNuC3`IPJ`<#4TFyED3uTetd!By=BLvCZs% za%N1t*wl`D`>y@H`4CnD)hy%oE#8|a7Bw+<8-JrP=S(Hnn5*^QT=}JIJkIYlGzgG# zoc4bG%&W$6-`y=A^{1Q)Z_mn)cj@szJ5%~lPUagiS^mwv{)Sd^Y0~n>MLqwc5573x zbn*J}<=^LU^!NJzpIQ7w^Yr4~=Y-!%Pgj24`O@L@l&5~V#fEk}o^`Oh9bx~azyIA6 zqo?6-_I+6Me&;Pvw1%ypb1Guv|1_(w_M6?L{+b^Y33L&hcxr{K>bc!-c!hn7Ttr-t z%+}wz<m~@7`-+wdOnddGbeloy#{c)1Mlvq1d-eXn?klyLt{XcZS9sN}XPf)sE3dTD zr%(R`GI%z)a%|kl^-n8!_m@|f+l#8QZ{Du<Sa;R^f869}!5gzCF6YSIc>kMo_UZB- zK|$rIULv)%+#DOu+P*O>MznV_|1V(;i=MsEck|~h8yKP=&no`)FZsUU?l`LtlYVqJ z+8&#v`t4Qt_bX-VE9?7y)Xv>lb*1XJTmJcv52B7_%+P(mzcDy#%^|bs8M!qwb1ctX z(`hl=_4=9OmZ?%{-5%%HKKatSH9V&N;yGLUitPe=pb*i%cf+3ZnM~n5>3b4|H&X=z zT>@Qdey>>ksBN<UHTMHu!8&Cpblm6sKW5(7R^RyZ{_4{*3E9(%1(K4FzS{XDmtX(0 z>2<fQ|GpHRopti$=d$G-xfL0E^QLW^EH-_^ty@a%*OqNN>1x__@1BRNYLQ&$QI55y za@C+7=A6S5xaaC^xw-2c`wgkM>csc6_I`i=b3XI=|L0e;|GT_mlZ)B@Z;V%MU*;Ee z36~su6%@Z&&F$E+Mw^Ktv)6J(AKumZ((3#F)1g^1!o_(KT$fxTa`q{1`S>96vOttH z<Ibi0o1dN#WOrRszUHmvBmPHSug~47eE7^drV`}qHFAspdvDWGmfKb9KBxSq^x_lB z7iSmq$TS2`VA4Kc$;`Y_<f_T$|IhfiH<jMqm1^I%Nn_bs?Kx6ma~d17&Z}Pk)4!?X zc2WKR%cuYSJ8|_@#*Fko+DV^2dmdcYRw}%3f!J%cwf@1^%-<}&xvTT*;)Pp}t$%rZ z(kvP8$$z)m9Lu<5HcKYi#PV2Ly}Q@tTT`x{%9yZlzkXEvwM$RDD&DqSi(<PWwawi5 z_Oyjtmj(BjMf$yExp7H|<;Jpki^Fo$tlBc=@2lBv`SJQg=kK!jf0N#8>-`IDJ}qPc zs*HAi+S&1_#q;}y^`Rd_U&dZ8kY0Y#ApEfH{GhBIx$eiOp7g!slAvSScU0K<`;(0s zCDpp~`awNU;oljXY)Y+-bB)t(q?uUWJNNgjiF@ClBPTMm|3AGRE0|v$-G2}?9M*7E z(|u-_gpSt7UFLff|1DRLzVNnd>B_}Zl#l<+ubTX?t@6gUyt|+LPtOjrdDi!Gt5(a6 zh`_Ar``#LUedxSD=-TS=>Fn}XrdPkZ-0Z2jHO_qbf{0nw8fz3&Ol-G^adThWTH6zR z&G&Bp>a3j2EVqk#)DnaL-}-z1^1@Zwz3(l{*Sw0#ip$LP6TP*p?){aw=dP$dlSr8T zt7e*+EXM}ZocAw6`f7ImU&GyJcuHs9FUjZmD?%Tip7`kEr?}OhwL`Nnzxyw8`S_o2 zhjKP19m*-bnU?;)N$Tp9ORU-DU+a?JKD};#Rs&Q49LSnh<g#|fk=OqsX7IiUvOFH- z>o-G5>HXc+=M($#EMKiSs_Ar5(J5yQ5A*eJSM_)P>gxCrb#wo>jj8`{b%bmY=bHV) z(Cqqxh?0G`Zf!~Sd>dNlUA+2_+4HRI&2?N7x#3}2fnUD+^Q}F*^3|;=ud;%dah>H} zwd-11My?*?wkt|=#DdqazIn^#vqSXltJi{FKR;`)=vOskZ*E_Qh0XFW{@LetJ=o4; zF*n@$^P$J5lxpqVe}!hQ4~=SF8`K>ml6?5slljVv`OhBCxu|l+?B{d$^usy5r;Asv zFnewg{n+qd{kMCzae15feE(}ZDec<dSJ7`+G*ph1`3MC^Y3!aO6!juC|JJ)+!})t} zR;WsME!0(f@+u}LeZ$-%J0G-M*c+|R67}ol^Dim^b^=ig9GusGnd5YT(^G~+=GNuA zZ9#b-b8lw5o&TAfH|g0_w@V(IO*YrX&p6{z_4U<N?Uz&2&R#z+{A13;?TIV2LcZE? z*x8rfu9cr@_vK(^pGAv+6Ne(0NSPtH@^sGich(0)7Pm}rD!jX|cEY~QoQ!`vd^kE! z3P*2SkRs|VT<mnqv9niX-o(4_|Mx$=^=NXG-ut5T^fzH&wys&URxwt^c=MJvp2ce= zpD`|+cz;vJHnFIEj%SM!wkmC8Jh{}gIC5&kfwqqGm7duL>pVqsb-Sl5`XK-OfnjG| z(CYnBaZ*WBz8j`@)|9=Odp-a0iOCOnf5@8uYl`~8<PugM(_X`SHajIp#`OFQaox>| zg|`AFl(ued@B3jC?QN31=DFyTnoTlRM>qFbF@OE>sz>=?>QCFy(2$h&-Anv^WcJiI zD)U493i7aIorrpl^!2d3#PA7MI8+rTJza4n-_osN^|!al$AyKO_4mI?T@kkW=#K9l z3EhfQH5@v7MP_tLzmE*RSNq*P#{1uuxwEPott~SJE-qTK^+C;%o^5RxJks1Ubu+h^ zp47TE>xodV?y4GVA?bu^mmYa$-#ag*xt8_SYqhniUZPrcjk-6)52`OXa`D<G4^647 z%g*VqzPH^XKF>L=zw6O|sru)<`Oh`3SbsYgo6mN~pLs@7K9Bk0$H^D2ZMfu{Hd$aM zFXyE`H}|Y;JBC9l^K_k~0$r}mygB`GRmir@E+5&2x8ME$;YK6BZGXBNl9#hY8lFCy z_5EFXh?&!gO+}?ko9fsSvy+04s4UTT*W1OhR9KyBvfGtDfjG^L6P4@=y)(c6{(pRu zs{gLV$<}vfMy?3%QeUB%x@BuzP|G)&pS-r6rFKRg+r&b*J+qiFQLrO8Z~go3U2QW2 zZ@rqob@i4ukxW-X|0v_BytDmg>xtYe7HU@5u=SmEfUV8PzSrf2HeUWO=U(4`dea(v zk%>XUHy&nJ#485}ug$)$KFje>;0=YkLS2Jvsp^|6^JV{i%(qP4w!&)juf=nn6fa!A z?f3R$XY=>iMz7ZMyFu{@@n*^jK}Np_zI)CSdj&T6+}O6)hgm`6qma-+;plA)-rh$u zCuC)am^BDVYf3Dhx;s8(*UP{2MQ{HK$Sq5YQ&(fqUhk1+u<ZVu=&k_I>BqJ_j`lou z@tV`=#d4jz3~N@N47oIG`+F1dOy5bK*~>br4*uo0WBocu?@IN*)~TIY&c`+0S9ceN zcUVV@SXg{K_xgUm-A|7zQ-lAVmCkQH!LG1DpdkFG)Vc7=932&|+4VKq%SCu6-rQ5n z^te~QH9dT$Z_>$}d*>ZL@-XXc)?^5sD|o_oa&r3rt54SMFK295gXPo~0i!z_Uej7v z^UEZJ3po9<XL|W5_jily+g1T#|D2mmS!=iL5zlD&7^Pcexjrq3M@uw4<@@jT1*@+m z&yc8(%`Icwkn7?W{o2wsqbVbsBQN}sYn^n1$U@Ik;kxWhji#1Y-%ZM6lHN1__3u?1 zPr23bO})10)S~VKZ3jxuOj%^Rl>2Q^+E12k*O)?UzyGi<`)j8q+Rhxxvn_wS_x{Sq z?==gU&#s&LwaCq_v8_T(e`!X?8L<gV{|4R=5V(HpacH&6$Bx8%xj)*bIdolIbGiAL zz>{BUn^!We`=_JxJ6m{r{Rf42d&^sxMIjLiidxAymTjwVY|WS7-6U|yeBI6c^^x1x z`)GQ3u*cusu~Bb>C}-%NA2ZXHx&xAwPy4+*wtM@u)tlolO{(p;wzhuQ*UOx=)Z?_I z{-nr1A`1`x^w7Jwu=>gNr+$L7R_sw-VQKbe<;so~*^Mu<_MOk*&RMx=-O(x6CUN9! zywv(_LXb(>7E{joX8j-bZGV?)`Yq>hQ|rfi+pmE!VUkZfL=Qfl-fxi|_vg64&6|a} zA5HJ*pJqCxdVhzy?Drm>RI`^;ZmKA3_H;<&?)mH(sng$)bt!p^d5X&BtM10Sk*jvA z`S;n|Ro?zPz2JZn$fFQ1ANKmI|EDR|XT3YeOW{pt9Ot<>R8AM*cQ?yxQDvQM9a{MD zvVXa*TW7D1e7KyH_WOO$7u@)iI#=TV%3EJ_u52{!+jeb-oR6lHpwik_*XYTLJ=>-& zdN(V!$;VGICaU@4W-o^X=OfSeEZO>?Zh6<XX|7&@Kh9rIn1B4oFG;-xGfy3#FT3%< z_2ce-wM^FQW<Ge3`e5yK->F%~^F>cc-;~tupA_8GCCahsg(qj$gqsNyZZ;+R1>|+> zZ%#}|*``wZ?MDnxxM;(^2$uL6HWmNhp9z0A_t{Nv4v5!U1f1FgSsz51mC4$iIH%C^ z<P`7rdr=)_J9>_}am>51iPhaK_mob6%QTOjGOJ}&%{J-uyxaGC(x;YE7w@OB@80Zr z+vi)6vV!H}wJJ}+Ssnq+3w2+3uK66lk+o}E+9U?s^{ThqOpTZ{rwYvUy7D<vdFj>$ zmg~Mz-cz(f{xC%s*#9*Sa)~~zv@|1RwoknE#Oz-e^!_~h(en4im2<1Zi$y+vn0G2C zbI+gW0()i!o(y}IU6aJL^_Z!SK=YY4zL{&MZ&_^MlGW^(cRDKVbKSeyXWGt*tg!w2 z(NA>UD%PX<`n`R!bN9U6mn(Aw;oTD(9?i2n?58mCMN#_&CFb)%S9RT-SymV@sYV{O z*_Fz@YF+e+ZJiu?RewH4q-t)Q_^;^i|5?&IU%orME~0<O<Y4`><>|LBUQcp2YBtne zZg?vyP17maqa^my47PQboZO?C|2&%Yp1c3CgG++1-`4(i!?hWIH<wMlHbH5v#v{+{ zWt$Q&XI^e)df_4c`oDn=Q}kn&1OC?&?2Yz)KK51S0z*vQ;aQi0z6xs8wawjFBsqUh zi}t_jDe-C9D>Ecd<ao>}6KV6veY;R&-x;x)a#y0|!L_UH+mBskLTl7>e((L4xa{Bl zuS%aTcHVwhU-9PK@AD65`XGGY#(&V%XQMmE$<isBeH@ieGI9c&9tAM;=iXx39kzP8 znwEmN?bnbuo2K0GxUX^d%RgD=b2IaIEM9DV_h;pc8yX2qJ5#19+=|-GRLo+=lh}13 z?`g6}wp8H0R~8K%Z&t2cr!?!C(ppcW%(GLR%y!f_y05)=xwY&46=|u)wXtth9lqwf z*FT;mzV3zN+wEHEQ)7N}Gi)nriND!ndd#_h*E4@jDGB*MGg~H~%9#|ECLDk3(g%;+ zub$0!(tgYdRWWmMDR*|6YioPOJgBGZ!PmY=uZ7v)?`E3HHNTe=o}5nvC<?@!ec{qF zL1xFcj7d7iU6VwQO)NftG<mk!!V`w3`c_pYftCLP+>6pnzO%<g?0Y%y{DEoxSC*xR z?Y?XraN6yXN7~2W7PjZgX<JMW+bEcPy1igI2kRrxY{#r=%nk{@{>oamE81K$oX?zJ zcqu9*vPAF(lfPkMaM!mfdRx3_HVWT}l8?)Xye95`uk3H7c43V4?nR&eObY$2-4S!5 zWLC}8W5;Z-Z}BwAKEv62=$f2#%_7Mo@~ym&#IN@lNgGYLxyN}*yjb5<CX@axi(+5B zVGV6vb&li7yp<P={}p}u_S^jP%U*aJv4ux?+Ko3XP9D!zh@6!Qj@eyr&(9MnXjAs@ zr^CvSJ0BSjT$*Xzc{j)_N5vji>jYN&xVzV#oEyz5E88iVySDc6YY)LLflOVUTeEl) zw``qKdc14fwcHIGSwfGu8Jp(%@pElq-4+sfJ;^KElVw}POQ&iNO)2YJvs(Py`QCQC zoVjx6g0{8mKWgQP8c(a=m%F>(_UE_Q=&(x{%!+=#D_*_zRy<>cA$wI)wAqrFtP|lv z5<w~tHkVDl*%WxA!SA9E)1sN~Y0e4K^Bhl#+pb-GMr~t?+56`zf>*mVHeYSGY;}rP z?Q&Po-@U)-RCDUQhe*Y8(*ZrpoBQub<!oo$$g*x%fJRjP=gUrS?bfB5m^pd0y|Jp; z5b-#MxwJCpM8W6s=X08sXPY^$WqKW_v_Y2L{_ER(^|+~?jh=c_^7lMf3VB+0eN)`J z%fS~uc^p5y$@78X?ORD2QX*YU!m-cGXNq4u_TcFBFG**Y=6F<|UHNWRu+zzvhot5= zRDViYz22mB$<`gI$u)kH^+J;7MccZjcwhS8+Pg39k&gH~aka8{Rd+jo=hfG|IKHhs z)a>e(Z<UPao_Y8)B;@4CgbJQ7Q0guDd`s-Q)aA8?L9?5tnLSy#tS5B;wJnhWTjKl} zU4O5S`?~$vjMcrqSC1Rz`Ycx6l)2b8gCn6UY~nJ5>lzErehk>Ex;-;_m+c(SY-!&@ zpU~T%W@(vx*m*B4cg^h;_8%-G`d6Myuw7;q{dLLDq}zAI46-`!*qHu$Y<}YH_xCk< z*Khxymu`i~LkWu+`0f=PHp+=8{92vgoEo}tLh9L)<<8Q*xlf<+i<~_tvni&ri|@?D zur)bL!nA#&?<`%K^lc)8HNX6^+V>Ug`E@BTEH+gZzy7)CLh{zvj}9%L=e5;N)ohY3 zsDkuAp~sPTVdBM2)~1{tPb=GcG}oo-Z9Xb;B}H=S)+JA!Pi6I$ny<XYr@)k+#+L3k z*QLBsw|mQ?#QDyrq`oh1&&a-eYR0+M55;fHGCxte>Ro)#{<o{*ZGIkDxSsFzhp>Nd zZKD<5J!jc8uh}-!$nN398&aF1j91O_OuKx|M9OG(eBNq);kun`bvK)~teuy#E$xVD z|Cwi^NA`Swy6ns|!J|^9*S24r<EOdV)iWco)a-Sq@`<JYKCR^vjNzENf9|fo|M>e3 z?0R;;eD7O{^A(6D;3N*gJ?D)hSB4Zg%}M3Fti}{m`9k2`zE`UrzKj>WQ~5b>Ub=0; zafYw=xBmX7$e;P~+}`R6r6rQVTXqCJJhS=!V@4(Cqvq$W`PF5YU-%Rye0|e~uP4=m z*Pkz0q+&d0_Pd`uKec=f-Rf<=+qgKjJWXoDo4ze`?ujgXB|Nc7Q&%~tMQOFjLJhyJ z3l>bVw?r07F4vCLx~lv-GWfCqcTS_o;+2=Wl$@d_zu1&`*_Jbhi7V$|(W}^W(<8sS zH*Synd@51qzSsMEpN+OY(HC8Cz^$go-|t}S_p&Q;+OM2f)xUY+W39FEa^Il|Wg`2g zEcmcol6T2nv5(6nd6$W}DlFBg`QFkuWzh?t$1~llF06Uw^YyzvYe?eCr01EX{eE}L z?$<w*^heY|RSSbwJ~%hK{PDTH)i(Rre&PT9qfm~;$>V%X`2&ZAiyy80ATjab!;ihv zubFN$EU@LuVNf-jbW-^H-ObA8cWZA5{aj>ixbb4_RxT@}CYMW558S_Q>$x_g{lFeR zM_mJcgA+MteLE`mWmX>h6dqQZuD4cIC%!a?fhoOe*GGW~Teqm4Tw)skTQ%0jOd)Ys z!23$EFtt^@vd+8S>mJipxcFuc>$Ye0X-5w|SF3+KYrgz4#dA9sebQR-hqWP8=7Z;i zizhwz?_gVh=9#SB=E*mYC~Wprp1RW0gr6rKwiY0**%5?3-*4YM_2!=W(_PcNe{bMj z>)srEmtms)%w2E)wIApEqj#B87@l}0%-flLUe0HS=@;W^6C2Xl6_=D>(JlMU()C(f zR8GU_f=$s$)ry?YX*-M<zUPHnY`eSp09!zkvTe}5m-F5(U1hU&>7{eGR#jd+xw6V@ zJzwV9y4?m|*@+jgsjSY(4w{pZt@*l7G*|b08M~^L;FTQdYbP|;eDe4mu*^?X>)DqD zotL`UuJc}#4rSwH-S(hly3t{k4Vs5owmtjOvijX&;r)eQU$-Up6zkppoK<+&pLxc! z4u78;ix)rB$l>V7=IBUU`%rz|nYJrNvlq-|GRa(G1|9?0^}{H7O3Sm==dYK)t*R-l zy7gG}t;(W#3AZObS~M?7r0KeK-{-F@Z@;_G`E>tNq_+0nz?C5d&+qMhu{=6#;SEQQ zmz6w{4O7~ZJ||3UeEP9h+VKDS|55x~3>bDO-S~7wc;*$?&fX<Sdp<StKE3<BMn+8T z$df0xUac~{5M=4LW$TWnS<7{jToPWZx@IsgUaRZgbzw=V{!}jphUzLS*DG6RT#6EE z)D7EpK`yB4Sl>3ahnL+ZapYv_tw?;Gy{9Ys=&mW(4}9`#T>DX8GW@8z`n|HJ`uv|P z()VY-U*8cizwt!M@vjHP<CP?2rJc`ii@sj<XUZauj%>D>yo@t>8*?kd`t&z@X3g}i z$@D&~y!EO&Z_(_B#bFa~2ncra3YIRb;#l9`yjehI-mbsR@pE?lZS1YlQbE*jdyAgW zv#l+5@{9OWIYVI5yvfW)Z7Tw9sW!Lk|C+_)q0_olb<dX<7tgGE9L(kEwlrz#w>|ag zTcfO3E&Wu#Zf#uittTN4Hm8(aGkP+zIXbsZEA6_F+Ocg~>D|gLyQ8!il{PG2cCkED z_r|jj@R-M|wR*n40(#%h6xFKD$hLCHSgkJ=I@Q1DfB)(@`wr*1#g$LRb-n+w9ME8| z6FT<fh)Pz#`CQ$VXVe}VMZcM{=tI7;!LiDyC-7#>;YIecC67cFR4x%c>yTEwbzYjt zf%A@c*ZbWst7o0cetM4*qDb)2_sQV>%W-nqAr|JA33A6K^h}<T@#enQ<l-0^IRhgD zn}3hQldo<*&*$^Sl<~n0GrfP;wi~UTE+pOQTX}vV_vx!Q_X|JRU~Os|8oiY(YdVio zh)Y*M%2Xwhqn?7d*4F52I&n*=t~)vDu>-@DWy_e8lmxs%eUK~qP9<9mEn?LAK)tSu zE6hr5`hMO^ve~CP>#ls`*=nWLiStDmPBGY-Whl)qK6>wZ=L>a*#@>>|sw|<<(^>9J zpYP4zbJ#gPWm|%X*@9q`$qgCLZn81m{=ieT??q;8s#&M%=1P0@&J|%IGkv$pP4#Uw z?6_xR`ss1~jD3Hb^`D12B7)#j(8`d2*N64Dhuq*$%-p%G$Xl<uL;I(PwUQpcl%@^W zgA>Pk3v#8c9CEkiT5lFv6sNIqqJ;lhc{$zp`*t&J-M2=0@%j~OBe~0qw3;)r+bSC@ zT{R};Z`rDnTD`)$I5SuBd-2K4CBk!OG~DR>zvH-{c2~uvSu1mHl-w#==<vK!;*Zt# zORQ$5KGKUf{`|I)=Y{+6``_mMH{m!ux7hXRbC<RK%}mmr2Y-CY`OPKp(qrn)Ny``( zpJ8i0!?yTL8&8Uv%juknny!MN5rr-3{WYKFDNG0w`H-u;wuQ~bBjdEvX3Z=vhbKxa z>M~z_`^~?8<)8DOak7ZCuEN`1_TKFsW5krdJ{+FzazQgpqmKRl_U>$EhR~ZNufU)L zP-nD1|CWixN@wXD+bR?BM&1QS+;#=rDn74$YU}g91Do>7($h|F{aLvpSJ~*+tQ65) z-!9=?-PF4q7p;AI^WBudM~`Zc3x>$<o)=V7wCSsYKz!8XluNVjFY^$ec=ofHf7s{K zD%x=g&a*OEMU+>ZbQYc-`*)X8fBCtozyI+w{u62H?8|P}-^ZkXdfS7Z-qKV48&l1W z_*ru~gG;=F3fs5l@2_jLnR`ZUu2J;yf2=8HoTqaB{X6CA^xE)N^ela@b-M}{PSYsU z>zmf^BWv?V%g$8@Q3Hg0xE}4~!MO9&g@rPUHgLYXv32!7P4)KWX}4`EmQ1kOR;avc z>#c;HPnCB3coAsFHZgTUP~oZF?{BJh?LT(n#Lum!=?7)!cPOr4{C8zxN8f>K-dz`% z+@htwh%EGsEIQS|F=u6FiNC0n^3jazTNWKGZT{*u)v^Dj)9xvfYK^*ON482_e*3mp zGmF1JKI%+I&N<Pk;hnGlNiw(vC~ce}HUG$@h<S-xE6=EPrf&PNW$_ECmAq{pxdtv- z*;glcr8(Ek^!+sb=B8D~-&U-3;N@!F<B{<9>XY2>`{lpivp%%C713W&dAQED`anTu z%Y;P_W$foUuYG$W&(CkuOpOhH53*M>cqUdPofeb1xkJz@;o|ixn+iS#`#;?$>y@*l z`4g}FjgWQc>O6H{C*;=c3z-|wx^?XgO{Zj+XlIWtTh|1)=s9oMy5{w{&37X=Jh2d9 zSo$*48CwbeO!4mbYkSumn<u+bVM)aFPf`){LL!X0bIxuTWRTaMb>i8c^!w+zK4b<Y zD09x3HOu9y5${g9i)#$semwKgW{YYwnw>JC%tT?<V&fobo}$_DX_I3>9hO6<bGTOQ zDhPFTxo2CP_2#s2`JL@k!+GFsY7Wm9uHOv;MpqtBawvR0&vxz0+j)BgD>?V*ziO^< z_K=agy+`tDRPKXI?Ma!O(erCI>Cawt#I0t^w>y8sEVjCr*8EwXm3`gO{dl6tm7wJu zu7yD@%Y3%(ytHVoYhbAiLxZg?@5Z+|OSdNc4t52NsA&9op0{EC;`z@mcr2gkkkD;! zef`VAwJ)z6in{TIV*$UfPR!3+N<EdOjlTB06Frxmc%pqWyQ+%q>N1(DhGq%^t-Nd( z&nRqGRM_nJ=djhKQ#l^Go3~!>Q!)yY=9zdaq2mf$$*J70CktlkdO3Z*%HFT>eC6@* z<;!jF?VH|F)l_;+wk$OEiirNktG_Ni$^E`}vj0q^%x>n?*((qvvu@>`NtIfGty3Ru zzh1IKCitY$=d+*B9ZsHY=2*HxY3(Yld3IGI;`OhiYj3NmnguPNXZK~njdRRfe_l=A zdb9Gtw%yB_T{{+t^@L0fN0f67i`Kdp9@BGF6xb-G>Du^ZrPERU4X$<@mUM#4coqIY z<|%et>e#vF=PecY)mc;OcYU>F@Q(R&B6ie7x|%(|JN3W91%Kulk9-?cQgez{m1ecO zy?N!K+0|gcy8n!rHrH&&G-n4eDv+L6xe;8*yDpdQ?YqL(;*w=tb52W0T1jc6;-Ygq z4zFKzsI>ITrYGgg^LM{jwkXNy2}hdoc-f|Lxl_ogt2y<m(fZ<(@BUQ(c3C^^vK+^~ z;?ue|6H+28-u(Goc&U(0J8*|q2ut+*I;s3u-zyFWw=F2T{_4`DH}jKoa>7f`Mqaph zQEu^C&%#A(m#(o6+p^W>_FN;c82SBni~=hnBD5?UIJ}IFJ;X|N71qu?)#kh0SNv7x z?u|aLA9IP_xMGmob4)Bc;<NvDZK>d?{yy(2uAkRGzTx?v^!wUJC!KF#lJ-34v6Dx4 z`WfY9oteHyQ*H_<&T3sE@|8DPNFvJCNSet=dQpm5io)jBFUkCx4xc@=XT_ui@6cPI zWW8*)alFL-ryr`~T#=%mEBw>%mC-Mb3pxn}tPEKY*`C<^Xx{8Rqde{PQx>IOe|k`* z_W6lrz5&@Ew&<)5JA5tG>#%ocZmV(8;os-vFHT&)YjybkWmfy8Ht4jtMSngAZQL2U zW?b)OkIOx0k;>6<>CGHR7f|t@e_sXM(%)jbpJme{R<k8D-)XIB_3huiK~8S(m#+D* zpWlqxwd#{G)6xTOLB__Wt;T}MMdmYgE!MFsZ~bXkHua{;-ZNrSt!Itdeg}26oyg(H zIec08WD2Be=kGeREMUi~g4pj<`*LlqDu4f-U8yRFDAf%<{b8KWC#|T$sebh2o^vbq zuf1(~GHunRnKQd4%&B-X$-5xs^0LP4?MwwZ(&BcX&ji>pPizXlSNlD!yy(;W)!EnP zE>2FqyLhdl%B`qtnoiRdZ$(`zeSY)Zzr<<Rnsh9`X1IKNA+hF?heMR}^XKa_U7KH< zEl*x1@>Vl81Kf;1+P6b2If^+v)TVLm&m$IjSMRhR|NmRm{%-%~T_s2Ng*&W0?~t<V zvDD-4^)uGLJejHEy5z_ge(9t?MPgHK`b@m_=kVlsP-mt&FwL3GNP1D~wi8npW#lUx zEUW%@LjQg1shqZdr?qS|_NSPIUI{tBNhE&Op3lwt4=-yV%00u0%hMDE$_x}${#8tI z{&7rxZLIXJHwjB81t0M^YRb;{p<&V;%c6UgGwQ$HY|Prc;GguhYm41CKJ8SWwpDk^ zjWDh4|ITTZSAAQbz53djm5&n^fD68p8QFzx%PJntDxZ3JY0&Do=ic~KJHFYnsO^00 zWyCZ=-!Cu8*9*PQvYO`9_J$X(h86eRqBjI|x2#Oub<X6--_IYn|M}+stg>zTx_jS^ zB7W#JNZw=d(D(5@zu;B)rbVgS1WszMJ9Et&JiB>NV5M$U+GqC^U-iwbi#N>trtgyG zoFKjI-)S$W*MSqdwKrc4Nni5p-`OLw@^;<fB8YH!sj~lm=c-fl+c_0K?#TQ9@678E z)_2v%trwksGUfY?Bn7ic#_nc$EHdd2Zs}gt+Gh8+MDf<4<x{4fV4go?)ABI+!sY2< zTjw?V23}>ean+d6yu~c!;<Zbj*#|>oPCH%Qrl=$_bEdD_TGsE@p<A}<1a(!d_MU7P zl3bnE>Lq_`);Xt$*G9Q_*5y};Y0aN^=VSEFB{!sZCjEEY@gq1OLD}}v4Kp{jW4({d z{-<u!xzu+^WAi};5Mn+4^ox=7q10^-^=!Yj`Dg0p&UNt6iez4w<aWn6e(u_uifQ3u z2v24f{oMQgS=9f9r+VL{IC<C<dF;<TY7kPAqci_5W5MCI+du7?6mxFvakKomWeKi( zw^r}G++NlrXfroV;{Rvi=aK2F`m-yaym4}m_KqxHlaXDy%{q0;j(-yaqPlmUnpq^t z@WAK%4_4Fnb>`Z}y5_!+>5_{p%x1Qg^0@s9xZIp(Fn2|G#%s?AW1nhsk$Zhx^L*uI zR-MkzJM(Fc{LZrfJ58nQ87G$dw4MxKzkcS*%sCs+th8@FoTfEXS7Gw+XBCS#u)gxw z-|Wej>27`ee!>zni6>_JJ@k#q0--zhhJ-kS2CF1mKf<Lk$jx8-kez_Yr56GPA6 z4?FL?3QH4GZ8@?eXr+U3AJ<B*I~&veuNRfaR_lK1@`zk}wW7dtnT+N47@KXG!XfP1 zSLTbT)Mf~@FTcX|=!3g?<ceCk4d>R)pZdb?hq~z6NmI@*$dkQL_Py}M%hOuvZ-mq~ zaI6k#vbE~F_2^_->fJ?~j?R2%d23eYJua~ula}zC<|+pTyiVM8?^x;9Sv7fI_V4@r zT<rgk@B1!)p8i*xe@^V$m(N*l9GJ~;vT5f_$vK=oTCZe{ZLUXU@9g*(uifeKxajhM zf^hxy^FDe?U0-T;T$@!Y+x*pf{e0c9%-A(b3|m5PZRT~5zC8E#iuKC9PjAgwcm4W` zm5~8bw{!CrZ;X+$zQFZ+ZN^f=tJl8X7rDOWBJbIcaf+|rM(3LC-M4>UUA9+R){Jku z*<R_Z)>^52kW|`NRa3gHuk*@jvs;h;@?4#EV_D;QLFO-(>!N?J?u>p{f46h?y?+wx zjhr|X_kKFo+S;{hUAn)3(9i9&q#B+x)n`Vq6rB3LMD3Fd!+U+1<1Sy9FsU#2rF^>7 zUvH|H`tkE~etvxN<jKe1?{?>R&h_>%ys<6$xMD}oCiSXE-|fCl?Eg@$rFi<&nnN|^ zEfbzT-;tWSZlY@Eh9w1m|9`O8-Xd7wobh$iy`Qh9=^kk4oXF&`Iy5F^!HeuTjg4zX z-u=H}IW60s>0so=^qg}|VQiabJc}@&w)kC4+uT20vn}3EiJE`f*w|ug#inYli_eZN zjsBlHM{i5?%!uO!OF46v{XOdv!TtM>4fm&=AOHVa7e4>b<NH6SUr~Sdbo;uMUT=#T z;!ezFIN5b`rsSU;lCO7ZT2$&!H<)==WsR%uXRh#h8?{2xCbu2BHsz+&>8+K#+wW{> zICD+l;+EWwg{I35@2*(MK67ngviMA2sZX=mo^1Q||8G(B-hF;EeVH$x{pYQ+@T=BA z(^DP~idV}SXD7aV?#5s9;c55o`p5E>O9h=cUb2eb<a@yMjYW}j{oK6!%bTCNJh)|+ zbNy)M@q;gqy5>YjL@*V|9O!45)AGu*<B!0B{meh)LiR5|uzACp_cvGFXa2B%|9AiY zU-aYuJQ81R!_<<}bK*9m&nD%n1Ev3E7*x%iew{J>{Y_E7)tBLpq%xC`V#}4|Jw1yz zFiyBw^yX9f+q>P_-`_fa6THc?J8viJ_Rj*7<t#T<em=mN!%*<$Mc|&52i`6|vQ21( z&7&K?9`|R?I1pCwv-{$;M>TIx)KAq|wXJtn>cPOZ-Z}rjt=XBc#A?=jVVc&`72lK1 zBX!+oZZIwqVA&Sevh~3hx3~37iMked|J<>BZ*%dMvheNt*H_i$e#M_xv(qe>oujF% zTg!GJ?H-Fq8o%$h-ie)@_xr={ecry`C^~pg))^nw&6(8_Zw1cIT4{7uf1T;}i&;HY zOiL?M%yOspDQ;ewzQa>{^H$}pKYtl2%$upQC9QIDOW1!2-OWqaUOo_YdtI$eJO6&B z_Z95Q72qBckD4k&aqo1)Pc@%^Ud%lc_4Uv5>)Uj7{%|+cGkxf1_-D`h&og8{^X-4n zRu%oU?)l)xq1dv9XPs36!=q>7t-i6{bA32EkA9uXwJEHarOCSNt=G0bj!!2pyx7%K z;d$w^Lc?eCJQg;c+7-L>w$(kBZp~L$-6q<w^`ZOzl@q2{yZvq{pYrc?{H)}=r#H=) zy#MI;Mz5fAQ%)6}o6}}&%DYi##p`1|$F5~0ESV#=+=pr5*(+@k$4xp9ge`cHz4p;w zu581WZ5oNX7P2BYm`;mW$gij^tNMLA?(-dI{yz%ePDZTkncf#_&pL7b6WNB8lW)H8 zoQrrg{py~_?laD$30%9Puybqs>VlbTRqZR48!M0RbTNuHSen5!Q`dxRwx`MG6FIm3 zU60n9r;&3ucg6G9IZ88qrF^@m-CU%!O4K=R@^rs{0`G13Y8t|2K$X#nu7hkJ_8fbi zzV|-&gIz!VJxVIQedtg*LyhpN`z;=S_lEp>cHHjE!vEq7^|c`NZ4IlnMQ^NoR+YSe zbCIz1ECHeJRX1k--*e~Ra+{BZI^5o-=F@BU{M&ZB;6s~q#RgBMeSa2-FAUM+51H-C zvUQ^1o-f()(jDJ|lBCP*{+!U5R#)@4t7F?Sk%hMFFL9^85js{Vl@wW^wtPd$8_VMR zM+I*@;>g`sxz{a4`q7t#$1*S5r5dc|yd|i%f%SApOi1YK%d6|(u3i84yMNt_i0gK{ zK3#}-dE=x%V})owgG%<Z^ks!nYuZ|ueN5f9VMR`d;%3(8>`#|Z@W?&;tx|cbX{y=! zJJ+V%+*2fdVam-}ncf$h&s^&{6qer}Z}NIt&=yO7TW25Vv~0IU+4qd2jw}15W&1pz zC})y9(^s^*;Kc>@!mFXnE3QIXu~+`rRm(MeR`{g7_PyLyt!=tGa~e+=Gt3jXs=n}7 zOVqW=;`=_d`iE+XPLFlxP;B90yB?<1kor7(8Tap*0z&;>OPeN7`n!J`Xm~r}{XLi0 zcd9P?S}qk~y`##uNA2W~TR)#~ue&ZO5mI>Z;$r5jDPB3weW8Cp-d5PO@b}^D`c%VZ z9A_WiK4R2AefivP1x7~3!P9RTiQf?7$X(kna^p{FM#bEfty}Xhd#G(FoicU$e2v@l zkEBlj%T@RPySVfB+UF00ZvML0%(bU&vHi*BpD!i<1TZDL`^?leI;x?RvTZ^~?A=te zeuvhQO!wEB-hU_Fnq@TGJSe)hI1!xqlC3*aKqGsX|FQPFCrhtQzHq~>*ovQ1*KNyo z4aalEHrIRf{r3J;`M|K=3fvI5)M^x>&rr~4F7)N`{eRzzZ;Oe|YkDOZaV`A8uKuX* z?ta@Z7o5{?q_zk+d2HNK_W$3V$E&)S%HP~Qd`_+9$fFjE6LkrbuI%5tI%@5Gg-tG* z-zTxy>?>5>@^kk&h6M~d*N?g~Pp~uLP~G<M`P^r}Sr)JT8dLr)Ub#qjo_V?qyA~6- zLuDG@kNf{+?(Xjl?kbyn)#r2Ah6B@7YFA`RuWa3_ce#*tTf+&p1FDaY&-I^oC$7>~ zZdJ*@i?zR-%QAmS*DvY1UVKBnGN4GN$Iq`UuGKJgTc60{#?O2H8_ljVny}2*`c?mx zu={iDgQA1eKA*}xYo5Pk+r1RC+;HJHpB=KUCDcDv1eI;lZ+#!^V_zkI>gjAtQ10T0 z<n&>#V0DSR*ipn+p0j4x+e_a28LzHq_|e5$lUi8v<zoB$-S1U)cMCXiytEGw(<;ze z{#kxmdN0G{yk1#9j?P{$K6~fgSFf!0%Mw*rou4uFx~xTmb=mu8j_MO_wpAL($S#<l z9TGTq&Jq9Gr`pUn?@zhWCh`1VfBYk-xS)Cu*?>&l#oJQC>|W>d)kZ9x|GQ{c$e|mT zgx+j4yrH~!#oRcT<#XC(Shlq|MXyQTe~HEH^1n2dHLbONG828{&EtMAZ}(@~FLQ%Y z)As$e`>jdV?sb#Ii-Rv)-2E}#>21igHbYgPH11^*ylaGIb_Siy@x8bvaJ$L6w`DGE zZ47La-%NE&`<$a(dMmJg$+l%@p7mY<XU^I2Y1#LjH%$eVU{5tSU$u|cpSkC;^K=<@ zxrbLlc}c*@=uoCxF7t-NtO0Q`Yx1HaESRqD7k!YwB<9~CXMURx%w?b@S(D_ihiM6H zyj}nQl%%)lRIgT9e~!+h>%3U=o+VFybWZNrLa(Jw+4pwaPoMww>Qh7Yi!wKNY<z6K zQ)w~7HoL!H9KKtsZc{ua`h3$3{sWRHL8br9Da*G^d;M?Dw$l>XPx$rEpL=wreE)6L z*cF-cQs(HHfNIc6v>H@aYpH5&c*g_r<M%&YWB31evOVfh)XP`Q<xHQ-`hKbShn+o_ zWH`agr0<N_)TAw2^UP<S{ZOF8sJYs<rc0eG`mcQ*Xt2rj=+<XRx!d=c&s;lmn~3ca z(3lD+tYG<a_sWl{+cY@WR{l{|URC+}i_5Xk%N)Kgb^gj#zDl6<K9^Sxc#uIQUWP%x z`NV0FitT#3SGUDhy}Vp-cfa6+&yOtPYhE0d|0lP*6O__=wfSY6YTu}=IcERo&29gO zOn3IB>+>@xs+g@yeQF@~^<VS$)n+*-?N%*uDy&@E#2@fYl}+yUp2`9iGeM8FZQbk! zwHX3lIfqX@Jgn+aZ@O8UEx2Xb|F#S5p<SEwyO#=Wh|sq*vThIl|1I|auZcxbbBs7! z%r1ZIFSSz<yul?>yEb%Bc%p9G1u@k%tjl-1g?E3v_ajRGt@GbwAOC;4cHi>nNB+I5 zYp(u_7A-PmubpJRdfD=ie<!S%6lfHEe3OaMY|n`9sB060w)~qPFmr9R$hNf0TbAy- z+Wxw&<JzQ~vjT6-x}DLLZF@4OSE|~}`qs4Dw|seJ*eBn)_G14Pp{VsjG9O-Blw|OP z$Ch@5D}b}<OJTDR{e}~)TyL&K@!r<k`^9sGT@K^?Tb~w*|BYQ5l(>e;i9>M-_f#*| z<vQGYQjzR^^E3X}uJPAkDSs>ZPoz?*EBpIf`G4(OCN(#k-#O6T{lu<p?um!(uR5dN zf4aHwRPRogWMPKn%8u%k1(gB^e$F=I4Pn`~^y9}yUwNq(q1zK4-AMo2#C?W+-jhjo zKPBa=9#8j;0yV1N$WQ;h$t&>t)1J2nM7hmGo}Sc<=wsd<<@zZjdl_amYVDhGW%un$ zwQH^u@5|lX`I;&GiK)y-&wD-7PD{wnZqN>kwc*<NzU5R-qNbbe^Q!vPZObaI&X5dG z%ifvrsPj;o&{?OTE;G#5T(|z_pO^dET(Z39FqwSbvM4xs>&$pNwwgKNis0~zG?UWw zh)uW-D*L~K(w#W#k10JpHIEkle)rqZx<kO}gx9j5l@E60GOt+vwj?y6^Owqmr$2v2 zf9#)awywv0s%X)=oy+|{H!1HdzO=1)$BIqfnKA#5f4upB!@Xa}zqK&@cvkuR;Sys9 zsi|6eav#1dbkx|$`}#1?hqhxG^HQGpe`7e2k$sl!Nz|STzmpO+#vD5`^Kt{nDdWu% zfBt>1?%5_5xa{jhrrG=Xc-I?m-Eb{eN^|iV#f=Bp7~UNbxwF!fD`$!RnwfKtYeq*s z?)2v|?lF~J6s>S{#rvSwYMUinOiexV-agciNz4A*Ju$&L_+-w(DT_E$wq4N3QM-6X zc{3>Yn$3C?RV@A1&sSr!=i<zZM$sWITkoWpUH#7i&6`Uc;`<luifw$mYez-e?L&u@ z8UCHW81?pX{TKK8FEYE^1)NSOfHGU>M8P>LuLi6O3v}h2wzwdaF+71WVD-Op?dz_O z-&^XrEdBUh{~+grzx}Gx^^-59{uA_AAW<G`^JSU&M+IRgp^5GnG_RlabDvodE3^I0 z8}~@Yb+@+jw|_JG`^oG1dv>3M%`)ubb$?$wm&<5u<ke34oAlkt(kt8ZwDGN558il- zi_Hy+O=31MGHyRAUvq!|-g%4G&V05up;6cKSHNYnAnxqgWskXX7AnpDl`=mevOGuT z>eg(_bCdUNEXxx+SQR)KwiaMH&-aBIGtchO={+MRHkH>fW!r<A^)9Jd>E3C<TQ)cT zBBH4l;+&T4dM5kMWN1_E`#iZV&N;8uHamVi9WXU49nww<k~zgt$9X_s_tv-fxzQ0n z_H@{kRHZyw%zwZ9zGoS~V#|a@iZ6VuBcoRxVhh-u!x6Kh`@sE;uj<3I{@q>q_q(#@ zE5AqX+1DTTmG5b0pCd4-<F(e*GtC=1nclCyGb6Hgsu%0^ch(IyNd{2~UKgjH3*VmC zx^;(zKyGMg&EuEL4cF|lT7N9@iSzs_!3Oae@5L_FRr;5lKOJG#XL8N^=bG2&eyzO! z{Z#tYr#I)nv3xouDq8crkF!o@{`Ti33m@HQ<;u}qW?HZ@U1812@5N4yXSeu$@W}dY z@$!Vms@LbTWTN-|IQ3sODe>wV9Wh<)FaK10e`>rlI=^>KvI*av=PD`t>NQO6OE2B{ zcirdaw>ejyOJ_-6kNKUv`{~z52Mwd50x$0oHGOLQe#gDMeOum%Dy?06@c*@_j<8;( zebw%@|84eOnZb8||AUVla?JJhKYyLSUEX+pZLWk}`&HpJ!7k@!?)l5F_u#NDIE!mq zEM|yXzp6eUF6PhkTyE~~x$zMdqPsyeTrZ8aW>kN>S#wBJ(5X#o`$Q?r=uQ81Z=F4v zC#bP*=V!lp9NJTk>+KQv#=w#DRY2&#HAS%-3|=|Too^pa`ZhCX+I|tkBU{&nd-hGb zy~!*4tfIog7p4N2qW<-+?rhC^?09^W>=d=-i6S>@&U#J;Ei_CNx*;OTnRD>%SA{i< z4<}v;>dxuq$T?QUs5?C{c0c2Wiq}eilk>8;@^<!A9b?!ma&1q(tDbT10mD?Y{{@jO zGkG_rni-zRS!>BQlb3BK??Uk6Ljk?btgTKb<I{|<X5M_K|G^8g9-;Y*Dc6D9u@Ba7 z*VVDvnw$8rEB@}z;yHJnI22pHFt=)pt+Op)*nRJJTp7Efir7>y*2w2ffeeqM&hA<J z{`Ow!N|z*N2Fube^}}3GPV9W{G<{k?#ouVrptVV_FD`bj_sL-5d91ujb-kbJTHW$5 zTMl_-H_PSb{**2|rMbQD@rgHcA`?Du6;E5JTLxPD%~xB}^}A>BvnHu+`;M*N5xT~^ zl2^xHYfURxPKVg7MJ-z&l+1aNwK1sc+W)1_>3bPu*u7tyJ7{j0Xt%j6Pfq>f%xT6x z5!|t2B8Pmw+qay^X}oB=!|(Vf6Qk$^nXhL*x+NNKHJ^G$&26SHkJ0RwQ#t=$rtun_ z$l;iJbIAvz*&Sbv_XvTPo1SRc#CgE>>CvP0H@77p|NZ}S>h!-X;H?iYnY(tK+4i1c z-TIIl@+}iQ`ksEcy+^gwQjcFneY!(vh0z*=eUK%ZKgzl|{N`9Ra?h_!bCnUl#c=p% z$*)((j8{eWCw5&(V?H3V@aKjXTiAbZylGkg>iE3iuBviN<YgM%iEB@nOxYkd$8VCF z$)+{ZS{qiTCT9L+J5Xq`XY#(yWqD%Dk8ssyoC!`dKFcn2Dkm}igViyAmPH#5D$J5h zF=I(F^H^{*Gu7<Kq??N_BTesJ%gZX7dG@!Z#%4vQw9i*LmmUF)HV8Pe&6VufbGz(r z`nI<>K3;sw&AmQlI%x3XuS4MGoS5zP^?62|iYXs97X6re@2uh4jn}evUeRWX3EtVN zeuV4c#n0!OpG<Nye=QtWcrn=jq5YrF_Uq>ub}oNDq43AUt6X~;E?(=AcK3f2wNPV2 zp!xyL<C&cdVJllM-Ei4`^WL}bbAn6?@=AYhdRE*0`KjK?H~%<t=7sKciuOM=EAiIu zg<F`SKij&^?Av@py3tqX%C+_F(@x9W_q;EuJJrC}u=TQ#Qr*_J`7ct13hjF)-CPvZ z!(<5VLMNWK3hGjdN_#EV%FB3>=fe^a(fc#r-DYdL{ozcvE_g6_sWWIE<n@HxKF8z# zFeL<-<;V(`a1`pt6d!Lt|47smypW@fL0ai{%!BvabaiU-ejhq?`lc$VtM_jOle!N3 z^}rP67M2~`f*il?H`RW3Yq$A!v-^=Ne=sMfbab4aoW%O!MyvRtqB-a8AM9@9(5w6P zQnb8AV<WG0U(Aik5um~THceNJfRs$#8z!O$GjC_kWmev79Ghawl_Ps!W3Q{J->(Zg zEnD+0bFyxGRxRGR_HNi$?i>M~xm(5F-H3Qzc}zUMwqotf`NuUg>qWg(TTPFxxMCz7 zU@(*SWs2GSj5dyoIx0(7<gfUib2vWIX(sQ=6tntU7bn!6u~?fC`XsgH1jsKOiq6Nf zV;}s#w{63Row?R!e?)dS3pjC{lxEeD4u609_&SA_EgLtTZ(33t5D-#)tBoOC&g#hL zq>i7TPRFsW4GaA7WTUtDjvp(RhdtYH<Z{W2z8BuR`1e_Q<uy-JGI^@?_rAE~j<mT& zr`8rHl$4#@Y_#h{R^7qGque<j#&cUYh-FN!vR4<lp>$1fevP<Kx7LbvvCMO4JlWwl zt+%xJvqkDbjaEhXnP)5FUCoT7gHGiveCwmS*|Q2Xh!mY5$7CeUblV|8dfq$_wauP7 zGuJ-;p+4p2gNWz~$V!X}ichx+{A|zV=AK`DIQrhF$#3|aI22XvMZWG&kKJ8wZ`~}w zwBniY`7>*u-TT6MHedSN$HzA2ZBx{@<v6}P(&^-$AS`IHt+#vs*R`V6b2K*c-esJs ztC(&b-12RMSK{|n%UNQRgZ)-+&B`p{DXZKPJN>_N%bIIT&lqs#Y*b!%bjG*b_3Vkf z9R2&QEk2>f(NWk~c0KI;;komkE%2N6QBg3$+Pr(R9OFq7oo9-hJ+B!>v%M8-29;B5 zjf0|BOKwax`=Yn`XVXSj*UfpFt{3mMZBMTe{M-Z@;W7Ra-*Ki*V<vAA<9aVpp)Fwa zWKWpRYkAP{;=}cOzpj<OAqz^Xb{q^E1+uPYPGL6J-`<{H8Rf@X5H24i9<C+&WJ;h& z&>x9d6;^(x71y#_^A<Dhc(HQ%hNqqCVP7^bI%1ZhAvN(vo0)6IXTjN;PQS0|cy7Ox zdAqTyZiD>X*`~`ydS!Ec4=s0YuRK!I5LoQU8y){R^p4iGrF+<>sf%87Vl{K&&J8>i zRbZ7kE8ubU<6`aB6$f-SoISJXTGu`I6Q2ysO?gjiKIB<+bp4H>h!cOe=o>}1y?v** z*>e$W8%VQaQ1q5FVm_L)+|sz+5{=)2e0{*o=kIidry2`-phZ|1lUT#{DXXsL?<-7P zSadUWdhaICc9;n@0j%p5o^U&HN{)Tao6w1MtC)8#6=8L~pZMgD?`*ESc7aE)Eq1S5 z;Lw@-L*VA2jO>K23vsijUEDV($0d2Sch2W|Uj^)yW-sxSU$xP8v(r-kT;FuXHKjBA zgswGR=Dgg}wzpf$g>gl+{SLOqvvX%T<(`%5dzy07GCNPyuk)&6>(6(cZGwg&T->MP z8w+)dW@b+D)!3YR_uUsGX(JD7F7RTjwt$(uk|%OFrr&Hj?oc)DrrF}4hsD<5mPw>$ zk9NUl!|Q*4NteI5aqgW$i-6N7M-k92E$gNUq9?9ex*GjHcdWPecKdEE^QU3kUw@L3 zRNJ?$FnQtQ*PR@CRlhRjR<Qjs%$f1y!u++22GWJ!_&v64P4p7v;>q8#^_`B@(rZ7B zjSM-{ReZfJ9;lQ&$*`24byr972ku;3&g{0#_idNBa?XCYV2XYm>-zfmMU@S`y^D91 z$sR8X;xJni*D5TuL;cW%RmRRUbxR@xIE?SE7gXBJdV6Z&?%G9>$+h?A<V`#sbTa2s zFnFHTG`qnu&3VNcwZBtts)e1ObDD7ysG4b6V{$HZBKvk-otnDaOQ#!I87j62Ok&p4 zd1F;ELDumE*Wqn%WwJs+9f7Z<_A1NgEK)k~^!vTj!l@h<MF&|QHmYznM2YEDz0#D^ z;Gc4%?NwfLv6b8P9ZI(rEamXs>Gl7+E8CvPy>Cx*E`JkUTvFD@6rH`%Gvf2QEbt7f z+1!AH?0w~;H(vcuajZ$bef#Rfz>w?f<ClGG7qAyjPM#q*|A6Pq{UTyJbsEpKP1vTI zRqk=yN;ySIpp`cbyegD&Ca+LNS=3D4jVaq+Y+2mVbA=7EfNbmRSuts!>%<tcqR&6R z3aL-RH1;!Gb-%wO`S@BNLoW`+mXzK_Woeyv9Zq=d{#0DB|4k}KyxP;Eywd)EA1vo- zFrO2S-X>zTW}bG_T7SEf%%TlKw*&6xuHn^IbIn+2Gd<Buu*>KBQne=6)w!Sg&z@CG zU<*j#7QMC$lu%i3ExC7|lVw{+=`6t;uZ|nc5Zh`PsI_ocB6GsWX)av{Z>|ncz9@8M znm5;H9dGT;o?>tLgg+dbR=Px_)e$s2e|OOaMTJ?WuRgpiyr+?~@OH-g!kU@BMjqB$ zvPRN8M$zqe(thv=-dN||*$autlv7$ohe7G}o2+%*Sx|btq`xHDX~BeJ^A9fly8L5W zlIYt1figmWZr2_B{&ClLxd#W;Qd$en{`<T0O7(`Im%sPjsr&o2b{FFW$H(u_Tk~Iy zTD#$GagMZpDvMe1{SDl09H;MIsIcOb%$Q!iWNJ*ecvU>t-8D7epQfzrxp;XwgW!~7 z>JO&42iO){xrA|_nQZY^TA@*Q>xQ%$*H--PS6ri*Vx_TY=Cji3{F=O_0=cz`?{l_C ziLH8l-MN@E+Q-AnY)w?}<HqXcCg<{b?*&VLK3bi|K5c9JX19db2TUcluG!}yb$!y$ zefKVIdzx1syf16pPR&`Sw=c=u-YWPinjzPR`PQT}TP&ZM+8T&vB=6dne`&>fOE%M` z`fKx@XKO_!ORqhaaeDRDvebFGSC*f>o#B=he15_mk(*og@@D32-^qJlUY{}7e8Fb< zy?>wod=upa4OW2%G2u`2L5;J6g%4KQ|2b@Lb5KvQML<ZN^-5E#)T(W~JM?r`{!hNP zDfe;o^Lewqwf3CW7VU`^3t`c_@bCD2)?aHqT?>7eHtn9~=%m>4Mf{@8tC)QseN^Yy zGKpM&cfa5I`<sWJ#tl7|tYHg7K&vz=CO9oPV&)Q|mEQjMz+Rv22llNAx>2i{bNSb9 zef2p)&(7<Z`MDo_@kgew{(EFe?>4d5cYKvLh-&<bT3xaJP!!KXU9Sjkzw(KflJ=V0 zb*ImB`4XD@w<@Euh1o)rXYo>_FyFHetd|*jUe&LyJidx0Xol3Y?bmoG-)u^nk+^5d zhSbwn-=#^NdA0{UByp)=f6|E@-HU4^U#?ZWm>CemeIn;<z3c5iX7@#|g9pU+<(fQG zopf`_SN-C}DQ3Af+g#2)6b0oi0VfWI15GE+O<uLW_VA%Y`F~Ej+kN5ywdXy;MRt6C zw)ga=m;5aqiJ<Z69O+kP|I4=S+3(tUbbc?VWLe&huVEppZ@Mp+y8dd@+sm=L%OBtR z`_pBz$n@uD6h7T}cJ}T4WnABF7VY@)a(U$hrTrf!KXlx1Z@SW!_e{49mU6JNDY>o? zsgFMwVYVu1>oyxZ>-N5k>`7|183uFHwtxDV{#<_ptCXC`H6y_rCen?%iCKXk-4Z6h zC=0v3w%OY3+{W1=U0+v+EllI|s}8oTI<Ds5b<yRe6|b_<q-C#j)+jIA=BgY0tgL*A zE3c<D*8*kLjMb7t9-3N>Qx>fiS+K9oET};#%`5Q0{Gct8rM`=TyPTMIzwy<)m9=4c z{_WCP+ZpehMg3iV<AC-QaNZTTKfPC+^FwQ{b(ze)eYL+;tXl+}PAn)aU)p5-{msEx z^Y;hmR)4>?n6vW#x_jj!yT84a-ck2uS&8hm>9KmBn-phm2r2z6VHFU0PNQ$q{rm@7 z2hJUCuYANK;LfG9;i`+qhNBH$e+3p!*gXB=x(m}oxpwQf=7w$j_OvDV(3?w{3@et4 z$V$3?{gUM2by3kv{??ywB4)Wg`_gV5w>T8Fpm5^l7n-M{ZtP|`)z!8&Ixu>x)VnJt z?0G>J=OXt?9balIC%JfjrP8FMeFb9ERtXy_&6z2;ZMRFBcGB+IO0&(4X4}8bP+-lP z?vd+TcvgDl+Iicq$gf;0ITOU*w{yb@(6HCns=tAkmt2(Vm25q`q29N9ZK;ja?F`xG zV`jJhnjVLS(u8yQ?gBSo_Vxb#^R2b@|Gx|FcAx%l05vsuw8|@kuEmx=aQOS)srH}j zJ>8--C1I@{ub<tuspRPV`(e$_D^-7umMg8>I@vV++?UPwA9orn$lTo_xSU&SgJ#40 znpc`~OC$`0ZU-!U{i`rrdR|60D<AXpRgtZ{neCJPR$e^v%U)S(_U!0NrrAnu2bOi{ zu30K}!({G(YpP1KOV03%-?;Nq^2)Pt$#stVenj1yo@^aqy`SqiZ*s7h;5nbqwXfS; zEx6r`jJN2P%zU|S!<o15<Ywv$?9>rh>B}?mmP#sQ$+N)9v+}0A7bo64B0Y2MMtz|- z-o^iCF1lH%wDIhxNN}&PWkSHY;>P{8j}JL54O;mj|6YrL6WcuNviHa4R)4$le`50d z`foc|6>0M`C_10mTIm`k;(B(|^siH&zke)N+{MSUd}+nJ7KVV+hd?c_hDUM5Z<-RF zmVMg2Wrot0{Iio{!lT6eZkpY3^9p1%urqHLRo|d^wnXeu)B@jEf9E(PbVnSQZ`7S3 zcGcSdVW0nkU1hQyno8+s&mZ2VGiTGMiHEF$O4Bqpx9V|oC3@bH%?UsD_FHG#+JC*1 zZmKZP^sVx;zBT1x!i1X>Jkll~F_PACOHu|;Ff8HjV=}k@_cp)&+x369>mSR@gQh-N z%irB>-u>-OW5lKH^P6&3ZhXus=@im3cfzv!3OBZ%nfT13T<-Rkl^b$z|9Udn#({Ie z5wn<{)L`HKi`Tf08n{MF%VeG{DYnntzFB<wv11Q=`YOw^J6N{e5WJq`^LyL%<_&Bu z?(we!Q@Gs{g75Eq*?VHyg-;w=ug#BG+-uR{f4(NJSGcL_!b`>}hbENn<_)}=wB341 zuI%ZkMUpk&TlnCOj~jEh7)d9c%t@MX(+9GUxA_j6^O9|4!O_S2Cf)$|V>vpHXP;hr zY4L4wvAC1#6j}s~bna}dHdo6s^|0TxgtOr1-tU_(b4n_e$=ckQ|1sI4P`7<<K!V)e zJ(8}rd-ao8wjBvblGZyGY~O2iE2@6BD)T;lO^cU5^4~q)Tx=((I7fwP_AKtK8^5I1 zKMLEZ_tbQQ&B_g8S{oFjGP<FSWvTnp^N()uu~OP(`l?(;XKpRul}EYlBEo_Re^*_V zUFouU!Xcl}jdPZ4ShU63=Ky!~wTVF@Y@ku-((XfT4H?%~9A19Ba`A@Nyv2Kue@rzy zsql71$%z~RSPZJ@ape>=>gPpA>}cBS$f1}Lu_8ok$Kz+VwI}thJ{^93<6#Sr;JZsg z)(em4OWc;PnQ%AY%=@|xq1-pub!%=|+GKXHV4{LhG?!)9#cRJVtU1`bElqCL?e)Uj zF8_*CRqCCx$naYKOXx-##0bp{HIp~7K7u!nT*&NwniUyg^;_n^!~H=DM^oRPk#X}< zmEk|DqV+7$vQ0#6YLdtaPcG>zW$mYOJk&S;bTM}6NCR&w+7i|lZ{n@GSuyw4#ZUe< zKMpV669pcQ;^_31JYajf?2SduN!95e`h`Gy``fJZ@9_qjU(YpI$fbCgb@7I;=RVJ` z>Y5wiAg7-s6)2dq^uRPJubjiKEl13JE?xtTFc|n;y!PkOtogGz#B!I5O0F<5V@oeF zStJKqU$>y!f^GkWYm+ym&G?q5vG%~VnttUCty8A<m1V#Fvu^Eu2HpOG7PX`QK5Z=1 z^<%cU{B)u5RuMLx`Des7-#xMMu7~F4)^GV*GkqVO&e^zl1M4$Ih0Tf^cxP<8I78ey z&HCNB=@nZcdm<(YOq{!V-v2-T`S*7gx6K7d(T>N@W-EGK?h&{&_cfmkgY33@8#BI( z^(jl6i@m!e#$X?@y^nqQ^z7bP1C=|!)0O8QpRDQh`<9Md^y{c!DGKpFj@+s7m@DDa z=*xTgSVm4HNA}%i!jK-z?Copbo4oU}j*8ta_U;GE@r<AhmxkwSW4n_X1+}tTj|4?1 zgr+NLo+%J_<TIN6<VK$7&AiSDH*K`5ezD3LNhh7oc@dlTnKhYv8H?!>kye(no7(HP zO5Mr2_T%N_9y!P+9}laz*Lr&Y-b&y5^Gtk$HmJnlF2A$K`gliX*J~}&G9yK2hjWe6 z;R1&WH+nob4LGr3;ns_Rd!BX2KVf{u=#_K$kXHGg=NZ|oyE%FMw`@(EbZyr5mK&CK zwMYAJ{=0wg`19w?=F=I)Z%jzD;!f1Pp!T)SPho@W8s%l1?tPPH*>>xX)(+#%GV?tj zT4v|TEq-d$*Xr_>Oa9((mDX0*RPM-YQF=xuZ_Q5T{M)klq|(-d0xNmhcIxf~b*80) z)4F>OUAwp6_^Obq8F=)->C)z-MRWGwE_=B&`i3Ydp|viJ(%ru6>b9E)TX-y{da)+R zY<u%yM}&mj{XIJiayP9C-SZ_o{_(+=Tjg)E9xhTjoxJgs;jO6rvy&L_PcMlNzR<nn z*>59Nv2zh`6PKG9HBAhgvW`*cMv{9>x8d4GKX2_dj1MnfuM)ZG!!&!9)VHO3Ys<5^ zwuY{@Fq_=?;Ai&rM9u@6oIQ``X~bW2uKO1>BXeK=T?0)Wje5yjV!L=WVs>9Xo%2HT ztp;fC!i3wqPUpPvOk3S|V+ypqd&$UZ=J0j>{eqjR_J{9*3Ot@WbC)kTRI;>%$3|WE zmBLKE?pq?vCyR=n+$mm|x6z5Gi$kyGnWWqto(C&Tb#z{O{19b!i$1+KQrp}$<5Fnf zZPocE1{<?PCvoN|N^{;VJM%X~^mR}i^XbW4*$bJZ7qxEFNYu5MYv8-$<KB;vhfaBH z$dzl%t&zD}`r1%NNL}(5yQ1Kn&1t6dx~1+OzEoUhxA2)-Yw40#X9Ci|BiEC*Sl?LJ zbNj9E*{HwLs+&F8jAq03B0brb#@nH}dFtwPjg64Wp-a}qk9O7nJ9b)ccS|fND@kl9 z`lUF3<7^JenkhzE&*q4Hd$}oCOH^y>3h<ClMa-tEb&29UoTl6V>O@A&&zcd`!lZ5G znsF+W;lYllKYryT<;gK=Hy)VwWOhj3OXujzksR5v%NB!1-Vd29OniUIHDU6GZ5FCm z&PBzaka^NF!y>y*F8QgT&2`;k4FUb58f?K_r}x}V)O35i#Trsc&D<{3e5S484BO;0 z&vK)pX7Wldk#%i9^K9<AsglsH&4ivALD&CoHrLVF(+2j&g`InYPCi|(weXnR35R0e zr((xupI}Ta*`50Iqwj34>&t{LpGo6dzajBpS<EsH-<vva(Wi4og}bM<8pkCb*k)*E zEWMfWWBPaZgwNl4mnT;VUE{fYk9Vo)jalytS+;d-lDep_)wFc;`L;_N6_}53Ut8xa zdZ5#yNXkmN!gbnt2QK5Y>_w9fbzORAz^I=S>FyOM;bPo>My%&hTf+`e9i;K(^5Z>$ zH=MR#y!ZHr(QKDxvbwuf?RG=9{Z5iiW~%8Dya_4?Sa-4{FaGOvLP7b_CgD#GjoCAT zN+K%+8dgVbxy%?nucC=v-T8;}jSDg-mp0vLZPUDU%fK`Htm2mcmu7V)mz^}X-I!(P zmi*}axzL2*!&?lcqQwqHZGYJU8Vv6{kf!yz)SZW)V=HgE^J!(7{*w>xSm_@8d~MCg zB|^QL%N1MCq{Uqb<?8k_ymj%>nk5??bIVtpX{#`rZOA3f6nMjDQKSQCf&1F2dn27M zpUheJbl$V6pf;?4lgF~2)vxP5@lKEZX8eZBi9?auSMFxul!-SuBtzEOlyt~t^+ojT z*{U;Ve`fH;OC75~lRY*Dk@4|wniLO~O$$ttzLt^Q?AL$sTG5huL0it=c%!4UT;$@4 zADfFYi?P5|)koc{wX(9W9hy7i#h!OR9<4sGo_BRv@{*WC{nl-Do%P2%v^TS|u6`gt zW6=_Wgr6zfX1sOld+X*kQ+G>!@W~vZ__S`>R$T*ra4pKP;-)EdO1dTG{FEK<(zogA z#2f*)byje+8as8cKmSo!=G2#A@PhN?T;=EUqIXo^y|#S*v&NI)!g%GYAbI)LK#!Z< znofaBGO`18qQs^h$@;rNKPfS(&TdKL$Mkfq4M+RH`!8hYg+(wQTD<<N#wO3}o7&!* zFUu}2UUBwpp^O^yasM^3+~Q5b96z#~T)wy3q?lc<NnX9nGqG)(68lWwqMYqZa<;pi z$oa>7U32@v5+7yQFz-*XZ9!f0H0Ljb4r_YYoniQ~`7Jm1`SfrBCk{!MkfI+G-6f87 zPGFQ1xxsE({Py49H!XERdg8D5g{=KF;|YuEw#3AuHz9RX`GdOx5?q&q2EgQGHs{_i zoDs40)`b%jwjGZb2*NVGcF1JmvG2#8uVb3cVRdP`*|eR)!YkHBo;IApBeN~_;T+TK zk8_@Hdc$#STaQt6T2Mqp$hHZoZ~snMn7Q3E?elV3U$K?o?Sm(BPo{25@Ve+XGxs0+ zXINQ$vVU{zMF0Ii&*nede?_@Pz^EXD&;F;DL~6$b$0xH+>H4VN>MxwWDF1#%$>U>A zuKR*RWB!~mwlT1D?97d*_@wWj7X5I;GLF<OTNf3a`L<j{cIJ!*W2-J~1G3&cjlQ~u z-)CxViE+z4eDlxsh!lmJ8?r>*y!h&JEcUnirWv38{ywThL~P1_o?Px&Hj#CAU#6OU znNlVK+WvSV_in1$3*+hkPf5n@1@{bEo^-roT`v24p|{@7BZ=t(M+GXD!qx&X<=o!L ze0zI-y1Rf8!;^_gXBQoDJK>NNX<FtKe=PRFDX&)9i|lWj{)*KaUha5i-L{dttwntA zCDsehC4Grq+su3}Ng3!|irP@vo%GP>L7TDVeyy6VDcnw7O9gN2@%>(sg**w?cR+0U z8jt7V_m5d+-CQy6ug!{7>2;R-erWxB-TM04;noKcNA@a3&s-b*@XwMBeIautPvtB; z-Q*N8sZ9E}eez6R&lIzh4r!BbWV$DIT)E~EU6pp1UH(x#AEc#ua(;Zo*FDeo_TP2z zc<lZDg~sp335*RhnK>01KpVPv4qr2uxt*r|<jllg>F(0~tjw~{cvZJ09$d%da3~|^ zuvBjDgZ)_x)C+SPzCE4s^uPPs$*aT5yEslOZdjRkOQKhoJ8|vp5~s$sKjqvLx^=QU z4lH}Sq<ib;^KH{k%T%9q2-=iuQ~y><hWSC+9rr`;4gPhe7)7sHkt5-wsq?w4eW^t6 z<##)BvpduNef#mnEZ^(m0YekcuDvI7IwqG*S?L1t!%K0c_xH+PF15ZX2<ntJzSf=^ zQzx6e%EpPUfAXP*L$$5{-`M=u)4Q=Z<MqYGHX4@Bow*r(OPCqd7jcW4I7tS#Bt<M< zTlzTSuwVYafcHH;2_;2F$9nD48+kLAZ5Fu3lpFN^ISW(t5i6nPYZk~cU%%qc6#^Qq zu{&5eokvGMVmn`7>SOnS$zMe)pTC^bp}Abqu`4h|xpn5V@+}riMcQOix6QkCcWJKd zX)Ew-Z6$auD$5a5mY^mxuAg6aMBL7JztKI-I&Pa=1tX+ZxuhRr|Do-)-tWvZ7R8nc zi-ITDC^70@n=xs^1jd?<vrEIotuCy$srTRi?f~PwGRu!!x%D)ra6U3}DvV#yWvw%( zkYV*NWrpWl(#0a)P1?8C#D-tM%H{W^KTIlO(_8|+vD}*zv6Zd+c;8p|1aI9nlFOVI zZ!}fg#hJ}9laDKXS>@e(((_frZgz0wa9w%!{NcHCg=bWm&+dGE-I=w*k9oTU@4bAJ zFMdld3STTYa<rYZ{g{S+kpIKmI~V-Bw!_Z!+@@s*uFiO$zptc6+IONa@8ggwn;LV< zgHy7%?UYnpdvn^i#%7Zz?(YqA+<Y!SGt5n4Y~|Xb>CH63Ew25VP424PsQYbZPj?(M z+frN9_2Boq(+QCEfGuApZrbtAef$2mx%#y)8rka(fCig`T-L3-!{x!ZX(p5WijW%z zTX+PnzrCOTtGHH;`Oxog?_^)>+xhTXbl}=&%FkAvF4osy62{FNb0I%ORR8a->lFdN z7*w|<E-aJU@J3!F?8~Ap*TCacf-;+B*Q^SSzC8K!>JQEJfB3dM?wg<dWoy{SxYn%_ zPSK#5`gcl8k5=W^Oxy7~Lh<jC25ZaCTer5#<ezjfwliw_TD<y$vc{baxBV`rY+H~Z z8o}n`k$CpC{Aq>Fq6_Y3&5*zO&TaNqOZ^+?LX2jc+(`wk?XJ2x<>r!$;l4B1Zj1?C zFyX!aRPjndXo85J_daa(e*Op752iS_2sm*aJ9oG}vG)7@qLs5dT{tBjLX7uUu^y0R z*4w~%AlLj}NA|b(?>$_m1|EO>$*c8I{xO?fmBvMzjDlm?S9KjX%YD@NlG#VyO2@)X z;YZ@aTU!<dw_MAQ&^C0<2<nThn;w=U{aAM5zE5H|n0||iAdOafs%(gS_Dy4fvhs@D z8wb{}OL<_Kf0!+T>5s?Xa=FKEHEP-_J&(Jbv5voEviRVY>5Zudy4*`%`Ak`N`9fIB zlGi;xPj~jboi^p|JCAOuoaG1RGnvjv3t`H1lfL|K$|8;>B5Ug>xN%)f@Cx+)!hZkn zx6c(Y|L2F)m)>4FecxnRM-Ig$89w&E^LJj=bt<1d!EsU0N{8Yfy#DPk?icQ`<O)>Y zc6PEsvX1V#oy!@HY_clh+xMw5FiBc$-(OXZluFfYA$+$scx7uI+3I+I`jk0B2PHr9 zy9V#ei2o~aW6$olH=oaIF+IGc+&L38{Vvm}>v(gQVd5(JfZJ|g=M*mxlRt3cLGioD z^n<J)=De4iGX0F$|9{h#o>7bROjO&+ZMbxUBDi+kdRcjU>&YC06FDDF=FBac9hr9c zdtfE6eiEeLHI4b|?rr;@>OSA7%%RvK()#+_`}6vTXEAK&cYLDi6ee_hZOxW`&hm<) zRJmKb&G#RO`%-88^u@7Wp4FS079KIv3DIhJ#9n(h?fj)%3;1nqy|T46Zbg~*naZu1 zm3Q#Q8J;;sk~_I_vSygMC7*VRcx^UU$u~pX(pP9otLnTxH3#hkuAH-zj?yZgqsn~# z&l8bn%a?sjR+!*rqOvOdh0m#+*rgj5{7KD-eqr?3(BoQO%AI##jAs9wajf?WoBtBC ztxtaM>4KELk!HtYPyhPswe-;b<-$%Jkzw2He<-ZGyIub}Pxh)1b`D7smFf5I{;&V` z&gRU-&HKdve*Zpg+Pisi%a*6h-%jq|{;}z;z+?vwmUMMal?TRkddKAScPc(t6aVyt zW%3;czs<2i)8^cHvh%s!$GwczZzeoXESPh6k}%U8i{~sHh7UHd`h2Lke{6Gq`m)_i ztLne^Yk4jWni`@yb;+bJe;e)uU5#G4J<d~g>o4p5;Tvu8f>XY&Jhg;jNAAzs8l|)p z*B^E!Cx3W<m)Pj=|NoAgq5pE4mUFx<ntV|Hbb)pGB@w4crh|8uoju9F_@~#M{Md!L zyLQfXP0+of&Ku`1n2^1>cS(k{rCVe2n!LMQ)|>m(Bc!;+bMCV-#68;W9HbkcxXrKE zU0>u{S*(S?v}N}vKAvAVgE#X~&LqbfXLrAiusjrQC@3f>crjq_pV{nuf7IF=J388) z+VA~+*W!IO|HAq8`N0fFnf}-Kn0VE#_jfeD-gAFv!nXNSpYojEnELQB!|Dyb7Ij>b z>Wj{&?f2hs>(-5s=+pU<JB$U^TszEk@BB>_#ce8#+m47{7rJxpLPVK#1oNZS>%U5* zOcu%A`*2#oY`6b+m-23Sef{$tug4$7I1m23z3pdkXV&N2p--wK9;v;kpW!RidehBN zWLo9^$E!}J-h5wmVa-l^-;ZYYGp=o^cWJ%Z6q_xdwt3AFHy0NdmnqHnbwBR2t^WS* zfro(LMTNbkKWlfqz5BkE`Q`8Ua+a>||Np%&zR>CB5jtmI&4<5_%l9O|IhIvfDfw61 z%(89j>$V4ry!9R``0QY6Pgr9!`ReST`Q|4q-)4V~kv}c4yVQy6#*(YYPOgkO_T^C3 z9Lu^jXTNE#T7PwRxp0JcvGhmLbBpq}ukM>>a^hM1^eMM9bT<nMCTuo-{UGm7%f4$W z>QW12rKcNMoAy4xx^14N%Bv}t_82${*Eb&97rf1E@{#9Rj0=?3K3}_HTb+g1;q~{U zUYw3!C-^$+xlnJ!y-SY^ILvm$seJmQ_^AG(*yg+?zhb#Jtz?t)`?z}I>i^vvzR&3V zF0UcgpQw9hS>y35*6P>y^?cbj@mBs7x5&=kj*gCwj33W*J~%R5FV^VjSTTRv^y!6O zT>r}b$`ZauYkcrO?y|USorP}gkM0i=|7$nAuvigxci)@eQxbVs#&P~Pv;Fu(OG<s+ z%XLE0=dWIKi|xO9&FybQ+r_OM$9+EU7ZPB6W|rT1&;Rq(6!~=~CC?uoh*D!TJF9kJ z+9svhOL#Y|ytev}3+s&lokMr`G3#9Odi<p6?QKQ|cY#@aMt`n}{jR&d(9`Gl4bzY2 zxAuQ-Tedjo_P%zmbkAiHZzCS+tlK4dD|~wP%A#rC>$dx7c3qgVC}Z83X&GLDEz3k$ zduFNs^ioq&Qc^nAYQE>)G3okAhaFs8BCB72GP?I|-S<b^%J)kz?_qu)@6Goq-*(L* zH<K(sPsQJxTNvc`{Qb63b~7kdd|xj$`&0hvy%h!D^Z1xH3f+#_*qWZ8)p@UCSJieY zX{!moMYT4TZ^BrcE*s2fT>G5)nr>c0u+E{iAx^*Fs2vcy6Qca<rf-67$${Mb#mlv_ z3+<P7|6MgP;KkaD>7vcA`Zh1<JNa99zQ)gX*~bs|=tc*KK3K9g^qEk`m13K17E#Hr zpH}5ue7^eGs)UW^xArTyud3Rb`<^{4nt!Ept8uTzwLGmkM?>PXx361z>ZZW2wSuQ_ zf4lvDbKA1)b>BA!r<&E*?lp?mJ+Z98X<_Rt;Tlt6P_BO3Z20Va+}Bm%v6cV-eh;^l za&fuR`}Aq*922&C<{#OZxUcNrEOYMu6Rm5X8Wp7swQ4PreH>JE3V9QL6`T`(P=5b! z-k*yS?F_$vRg1MZ91yr&5&8Yk=ZM(%Oa+VlX2i}-J^oy`Mq&1oZxKbe*FNj@lV~oz z_2Ynoo5AiaoX6+a?%K@|J?o|O>~-IyB3>6*`ySn5cH5(C+t>LI`8WF>*D2VZ*F5di zne`VVEc0K7iEy*ph@bQPxxTHY?dBw3!&w$*rWuG_%UgBs*<mRMjU0);eY2BHT=z#W zbLIWM`QL$`!3)?9<>nsBS<Qa$!>#5y8$c<%Lqk18Klawn&tVMZ1qK}*Zp{)8zTf-* zZ{NM+vtAzxVfAxN3}w_7*!XqAtS*PO-%BrQn*58<cjj4V%Es|y^3$gmt78^c+?M}) z@rdpG^mB6#e&Vo;o3i$PY+T#h!}4FQ`8q84+I%|yc<%cu|9HQ>e}uEYKmO*+$K0s6 zZDUfHcns@2)(y=IP1~-0y1n&BZ=ZDY+Pu$4YCq53{@{nPzxwXO^O$p_3e6>1uRU5< zE(t0EU)#S9zTqmn_)u(A)7;sQPfj^@?r8d4-o^(SIcIjq%N@=+xoXo@^OG89#CGPL zSh%6_oAtU`F_Y@rr@Ob@ob~JGvY=?)Gh!7!^KHJb^MARx#u5_i?XNy%-}|zx+OG7t z>~c#97nj8ax7hA@)pKW9F(in5{nNhU|J#Mv_CKFE=bz@g=Jz$vGwjweC6wkqns<JA z&tY-XgR|<cti9C9>9H!~?|bK)eG3vQD`z@hp0cm-<Ix8xYgi19n8oFXXbCLtXWpcI zQ|xh>)P;R!=f7@zvMc(ed6A-pCfnym1&6{kwx>5E*X%3UbT~FeHsQ6>g==L}m#2tc zzLle_dFxue8`}-0;GT2m4#nQG5L9i-+;ryrnS|q)gu)o-tl2A;<mY?0{ieyjlS|rf z8u7HU{=SwMyZ&#UwQ1Jwx_0O6!qdX-H@Ezo;q>(6ow~!GprYSo=Qh#s@Oth8zb!>v zTue@_y7p8-pmzo+xxYGm|JPj3Sz$kpOw*01c$X0W?Qhe=BQr8N|Fb#S?W;QWdMa<D z&8>xj4~$-!lz8quxkCQ5!LDofd-w43JZhPLZN~jgOV7r(zEjUl&<$)jn=iq)rc^p1 z_-%f}+SLD-R)~s<CTLF!xVx$Md4QC+`21Qkmj-3sse2#Y=Q{d7{`U5ZX57LinYSC4 znSPZ%d4KoonO9Zhf4DxXH~eroOladCxjk8yI+?rTJ0tJaWC-01&%A8@GI{?}|G#;W z@9y*64}bE{RZje$v<j$zTXaY8>h{?BzhAp$IF*#7ZhkjX{&9Ydn2Sk~pY`7r$Cm#% z%xNWm=i}@B_f{xRFkJk{&b~K4rjV7rQEI(B-$9Fw3|}^0IPTx$U$FN0g{XDS*^6z@ zMDl&%G%Wc0JnL=#_s!Dg&Wr4NT-lCq;#gC<<F4KYv3+wbGOqnwzJzl_>-YH6jxMY> zdK^oSm#s)vl5>x%kbK+Cu;a&?%?u3fuikfd)Xnbs#gwjdC})z!88K-tZuZqm*Iebp z&RFnhotgHy&Ybo7pSQE;WyUcXZmF+5lvMPORR&Z{UF3+|AEdFT6;x_3_PF|h`F#aD zdsBu={C=5cpB;Z!x~yc{^VatL!yjs)Ym0bR^eJvDRALkRbmK=@^y~X-&GurlAM?Jx zj}STFsq9<H@L1xEUT)6+mp;x9w<auDyZk`Zk+%<IOQjQ5|Md|{@V;pFDcz@mm*LLZ z+Y65xefHba^YrPPv$GA%ZJRF(tho|D+wgt=PL9n-@4LS4ElJ!KWw0vwHjh(c;OXe9 zJDMV5m(9Nzo-w;nw>>1$xp>CfKtFz_11l;QDg3$N2TFuf+?n<~-Mamr)$xf6N{c2| z{TF)RT>qhrkL4mqRkZ!8rJNrQmhUTmbnKJ!>C?5{AsUn0Iwku=Sw$>Z9)EeI$FT0V zM#_}<C!orvT4(3GTMzo4&ydi`Dn2^%r*3rNrw7Gb%l`&!zjTi;CQ~}#^~191ms{KF zy}GvP+OswoHokRY+_uzr!|Q7w?|3G^p0xQqBa21K)^FAk52h+yd~Vih|MaSoyVPEz zq}kW1uWY-0^nT^#SwE!T*8OKWvfh6==dIrhS5J%Il(kU5ey3VwICnwjkrVCLOn+(B znVUYcSakjB@3n&c0dc=$xi?+?^~OHn>%J>;7R~BgLY{Tc>gdo=UR1SK;<JRi(*IT0 z^dvHu{1lDI4{>e$YT$O|)>pSB3l7+Xh+myi85ql8z@HG;pvr2-q)}+HvfoT(_0{_< zAKGQOl$4}8&mU&0Nnkpx<?`6cmvQF*yJ4mm*XTVyvFgwl)st!!pXdM6{P#vz=Z?=5 zHs_qjPk7fe{d@IZzEyUsm+Y<U&vx2Piz&~pI9}w%D$3Cna3zU3xcIY%-}wbazd}}Y z$Fkk}B^c4Y`(Ek<-=HnL|3iLUebdCa?ZCFOyE=D{eqCeklbpRO<j~IO?Tie3?M@pz z59dgI&u%}$epAVRey`|6-zc$XI%mwh78=x71{>)3?l*m8DCIRn_lp0~#q8^TOYYmy z+0kL7wCeuGRs4l2pU%649K3oU-C$+ywpF#uxN85cx@#01%zbt0R9&S_Cs*XLYzTGT z=3J`YAp7sB48x!4aaY#fzqdL4{Qs@>|Nj|-LgSQiHjDf-kwq@b*_D-&%YS_^kC{7f z-VMXQAKq?%ysdoia(&U8r;hi1^z@!0<ec-^h2_VO<NOJ^8)v;gKJDtYPdB$J%6q@) zewLiHK~um+kn!2}oP!VD`B-+{&Td%S?EtEp7f(~=+2q-^ZKD0_&lk7mEj}u=DtcRz z%`zFau5G{HY<?)wym-}$mN>qzpS><G>JW&~551|hT{>jO+Rs02LTBhEYUmWjx-B&5 zjkssgckfV6Amg5Ozhp0Nzw-Cn@0j%s&vV}=9sJ7}f7Qjs#pUj1ZSCW{1v0DdU*B>6 zJ>!g|LT0V0+-pw!TvXK<y4S%)k70xK0k%Gsts8HiJ9CHQ0UsZ$py1Pq4i9fJ+131h zUu@9fcEeLJCH|b-$A!1^X1^#5z4+^X?IzprpYk`lWEvhZ%aeBszrLQaf~V<oamg+D z6KXr{=G`gF?l^vFA=3>*(VSJb>;HcL-l`j2_+_JeVr=(4=4?);+_y~G4{yhY`E+M# z$L3uA5}Xyx=*9vn<9?eR@VFPB;bMEU_MD{v<Gk%}oio>VA5%OtZH-oR?c|<AITK$S zakZNA>Hao|PW#)p`qZ=~_a8nzdwHkbBKHla!c7GQ1q1)z^m@wCP~Z4!f5wAiNrn|$ zZ;R}>V{z^&gI@4ean1tP2F*U1pYjjxGd=jvy1zhCY0(}*hNVV!e|GOby-`7`a2bDa z-713&(`;Qo$>sXL|LuL6`sd*%qxpMWI6)qs@7(JodY?VzgrZqk^y&2NpF(rj&JAVI zW@72SKFf*m^)$0bPYynJYQK`5p!;ZB*^BB~6QU-WH7;=RzdV79!LWmCgCk@4X|s%l zN7e^tuE~wO)6mP!y@JVNRc~hJYyUqntv7G^WLdpT+{WXacyQm==<C`0Z~GbET6h2K z!mSsIe#$-g)avWv;$o7LbjFy;hWYCGt9FldeSJmw*RP4;n>c;ND{qzx&W6(m-p8n4 zO<lkHVcYzD@8?z99bc%RwCGO2LH7LTUlzJNez5InYKr~oNspZ0@2P!sysWZPGQawI zwN!oB$$(H9yUNZW1DU3ezYVmK_Sv^s^Tqz!?3ve}DiQnoy_@9M@Y(vAx0o&DK6)l5 z-u`wVk+pC2^#f5k4ZhXf8(91I1~=#?-oEjdxvoOV>dCXbn5MZi`zrcAA39wTt9Ns! zaKnQMQCr;RsC-NNvdE>EX|>8eo02DGXA#x)q#xqZE9bgR`g2-);<8gBy04Y`U8RC6 zx5-R1xx4;|PQIN<=bP1AUe5lq@&2Xhb+4V{EM|h5p`V_8IOWB9pgCZ#b3;6H!PTBu zRSfpZ2X-^m$Q|Hv&nmJw_D9UUv7_UY)0%Gne~ipIF3E>e{^zH<M1EbAw)VpO_YYkg z%>VwJU)<0+Y2GUfmd8h(5=5D~HuidF@Je)EnDwo6anG;Y&KbIk{u<7h#&GJ&AEr~A zH+RglGwD7MwfuIhkMJ$UIcl1>-2SbRoiy><zMt3c-n0x67mIG2BOZ6`?IR05J*(e2 z4h_y`-@@5S#M7LYyETSB7D$`ylDO?gz>NL1;R`pMcq|bxLpT4gSmlWgHEN(Cf)f_H zMO+7-i$<`0Fn)GsCND#sn~NRK#QMh^z2>ZOf3?l;*XX%7b#%13F$8w=-}~oR({TB^ zVDCkC-?yi?ACccNH}po<zb9|=&+of1H~;U!W|@RVEfKfs{@gprF!BBO=lOHzD4Fb! zm45VbiRX*uKA*!w3Wb_}CR}rAXkB}|@WT`5M(2L6EepFFqGsO?e7N<&*Sux_dbl=} z?yNUdONxGPA2rLV^t0GJxlE;)9e;JEbhEB;C^X9AI-!=iT(b9O^s>u6YCDdf$aH($ zzhP_Su1vR3As@r8ADV`*7wXqnE_!M8c$q|R#Puz4Dxdbcx%_dyu<y(6$5&SD{c`)% z_a*WB!A<MH`!`>{G-j|{ziK}Fhp@F_<+Gd~K4;wH);OOn;F(6RX!4r9q746~JX~Cu zmj~3mkbUoCcA81BcgpsC-}la}_tuG9*U&6&)4ytw{QcvbAIJuF#jmntNp|B|aPIr2 zUpr1`Wi!9Kwj(_Hb<%zJzx-SWlT3@Fw;d4S;$+VGC$W@wO)1xguU22vmor3n{axKL z--Ppf@WNw`sjtKAH4kR0RZ9Lp-F@ypD`UZhtYFJE-%L+j3QOz089iTnvuob;2j>>A z-c%|#by-;N|B}4<j;)(lJY9RYe`SGK_+6g2t50_xv2o)3rCa-Edvuw+QQQ89LV|*V zy=TMATMs33{n^R1e~X#vR>oE9Sqsb?#4W6nKS?lee|K~9@rR&cmIEsuT)Zp(*m?W? za}Hb=XS_Ndex$5w7PIuHg?3@fe$V~BZ#uKj6b9{$y|W()o_O_WvVaWphJD@syO?jL zILyCwd_}ag-88$f=+{^NsWhx&IQoFy^!UL$&vY&RU75V_;l(N2mEY~Z`<6#*+0}L4 z;<t~i6;?LPZG81i_d?Z!{)|1jF%bv0EmdVWpcs0^yPx$`BJUcb=rh@V3KxD%6})Zw zPPsC4+Y9BKbzEZA%3--~L9Sh=aspM)35Qr@M_%`B-8|z}_S<V$nKEO)TCe&P|NgIC zT3F$SYW~_*{Q@N=rA3AzQIVFs6a5)~ge(o1p&hn*efR@0#yHLmGVeKVFT8wtJ==#& zP*wG{|3K?e`C=`HMH|0cpFUmt!+8E9=k0fo9qg5yUH8Z8*^WQSx`9G#j+o`G+r93a z`-gmWd(M9Ety^WLH@;pK?QAoRF+4i^_8qOhTi2ex-u^y=C-{TctlN<+H-f@aCU0Tf zR`#2nAvx;zOZ(ha-qH!_%MQMZ+2eESY1ilT?F<$RyQVG+2wxy09ktG_j`7OMja#zi zH?P>Jl^eS4nJ6dM_JzMs<#_Is^A4POcKxYqD-T6J*>&QuSNubsyCG?>m)&2ORkZS# z?AJd+ja?O2OQ%o&DLEZ9Ty#cs_0`D??}Q$NYKZ7HoY>81b8e!fuhys4GOS8Ur~dq9 zWfD!8Tl(?f?fVBAq%XD<%z4xO$Ld;9Lh_o|mv5|KsJ8o8$Y&79zUGKoAB(`z?IJ%u z?&#mCX)pTxm-6o)CD|RvCl!9(GVhlA7Tc`GvkOn;X5Q6V_Wb(eGar*Z#3HzROK;zP zvGP>Z9sieQ`vq@nh$PK<_S`o?D#Y5Dx%{uv`F0aSuU4kA`Nez;4|bl2H^_3_cI@ZE z;=damGPm@F-V`$DS~Ka_Ys+=Jo7Y3@>?KogT7_72$B3^8nYQcDOg9@X!Kvq^j$e#T z-FD`eZ17aykp0<_4b330e+pU6&hY18ciG#j>)Yk(euyi65@WDu4NI4nUA6zmuD#XM z-`(E+-hjQiqoYcxVHcZxRGszlri>)}sI-0Ve-!^eELrpPY3iQ0vF|hg>{M~K-v9f( zOu`~Qi6rUc=Qpp~;I>cop@aXf@9XyL^L_q9_(+HBd4c5|zL)HN>`dT2pvij8Gr5;z zL)~${IhJ)MCQ~w*vt{$X3z&5CZb%iFAbeaw@4&L7Osi&ZFW?HCr6E3lv+&a(&d^Yq zylOr#=`?TaqZyCf8bj~4!RqfFE3GCfoDuu_N77-x@^T5&iV4e$KxzBr*R{;-Ik~$6 zv)@iVHe)-(4n~L0#gnUDm5X#6tSv-bT&A>WB^>!(ck&j~vkh&jZ9W}p_oDBAo_FT| zJ@r%hbFCw_B}DGN(caX#Lna37Ip;8*gw^-kmdwzdcJ&(Dm9>Uzw@tgaZ>jI^#bOc9 zXDo}np0+)w?ekxuJEx+OYc_MNIU4)ktYF%r+)0143Z$%gW!o91o{e7Mc0fehcarvb zdwGTrd$jJj`2Q{B*lenQCVYmk_1|UBShqi7O8&ZP^4Zg~&#iu;B+|x`XjWgj+aTKh z*WDmrzJ}1+3m>>yLEUAhgr1*l4e@KO&J`_;s?~O><2_*Fu6BG)Ewe<D^s>n^P4`wj z4*B7px9CmfeO*R_d*2<7m40MwyV{}gZqCK_?T`5H)LDOEuRm}w_p$%Ie`R;BwKFIx zRNVe#bpE$XuE7zrKAncFpV1m&B5#*TCT!ixSdx3<_@wDs*|9Cx4)sMRxG$`f7Hs~R zd%NJvM|b5mYu5zbn%&bEL}o~PUNpPt&v>MzNxV_3Wa`qh7lLN~G@YdpJ$>4S%8Rq@ zzAp&X|G(HXo~@Z{bLQ>4ChMiz4WiF{ne%X4VWVMvW%$AkJ3j0Yxd>Yepy}rP_oeC? zvjuglV^`N~4k-Geqz;PST}`j;7$@FeCBju7vL@_4+XH(hjpCFdk0(>BzrDM=vHt$P z<rWgn<?r{^-d?}=YuJLQrwJv$Mba92+kXBrX4_Df@@w@i4XwlnOnr~P-jABY_92}| z`v<e?#ru^(S!`uW{ktDoXzaWhw&~P=4=t6~k3}DLYrOm&D1R>U)d%bU2G>gydmcJW z_`hrM$Il=4x2_RoeDRp!9N(VfPrscNPrhmz7M*=PuIk43NY;aFm-n=9HD3Pl#q@nQ zZ02VCNX!tA;J$xuL(;60jlRdt`X0;11UH=B{qEe^g}Vxc&o`PB*8Ovj@A58xdq{KZ zkE)}&cJkS`HW$6Nbh$j|^VVQ)-@n%uz71cry86nK_tCeGn)$9Zas9pHd-IBbh$EIU zx97axdib~B?hCQY9pd!=Ufc0lu;%`*Z%NyO4)W*yVBL42vqNKJcK)uH)&YB`C<~sC z*nL~-vw(Zku}44GRLv8uv~PHQ;C<ES7v=BnZhzlz$>Ut*pVFbb`ZLeB`?comO`rx~ z$FKjt+1nF%V#9wsFRzp3x}v{x(&fHP^VrJ|W&5)}FP;B(_nqx6dVAme&Nw2|xb&su znVbkN8?g+(m=wVT?r+8i{XL}<ym!=#Uba~F>+)Itms7k~=;c27*{|leGvbKr^EWLF z73bQ{3qJDwsFC?^lJZ&g^(#Jydslbvy}3&xEkF02%b)+MJAdz}?y)|z#QnytHGj=~ z*Gm0=c_(g3+*6$`i|nQ@Ke8s<Rwwh9c<R}^)2G$vs{Q-x{#ScT+3Qz-`{FKcyf1V+ zzfypKIS15ryE09*lI6gErmNE#e+ap&#EVqOf?BU2k7`J^-8eR5RgJFu-h&=2*MIE} z4C8;3;FKNPc1Ni7+O9j_HCIP)p6ypxim1PKbH()NEUpc$a+~v*a}NG1$xzn3wd~gZ z<OiuYwmg-%DzPT_)}!7XP2zECuZnI~?heqh*uW)I^7x!?=HZ-+oZA{(ZzjEWyj8x_ zcfL@{-CJ^rHFazI6Sut(wQV`HXxIG28E5$)lwN&*;=6C<gw(s89UUDSh7;G{*`0sC zzx#wQm&~JvCr=U?>vGPYHP3(QApjb95)>>wCUAR(5Uawks}H|5UA?yH<@*P#moLqo zUzxGi_xIv;=GJ?EG>S0HxVwY1^;5{_$5(|CxbMG9nstHC(by9-l5}TRRKg<F1J7*b zSI;(MZe^O0@hDYDKRm8Nk>No{REX8Q`J1^ntKL#uhEgN{<=w0*b8$)Hwl&U)u`M?* z95;|o`W5zi`XM`wQv%W;m#LP&y|;JOs^6=oo_fk)@jc#7;`Ofe4-KHMR{fzm%h_O_ z4#S$A%zPW4Zn<@9MeDVO&RI$(f2S<kX8Jyn<@I^1)gNzc<=(*BoFEzIGg%~8_^o-x z?HMx|qyu8_Fj(83)e+VguC%QFES3`!!Qk?tXRD^)CPT+XWpAB1x1AGQV*;r`PbJUL zjhwo*>U7WHoWRqI`Byv7(0yg`TOe&R-(S5cU!+g@zXGR_)})O;WE%EreLBrB?|BE$ z%oFPi1VHJdqoc#>@%&@QrfMw-sgUbZ|5c&>KxE-f+qj);wuxO>ujzF8+wN5dJhyNC z`D^pJHbXVL4Pm=w_sw$zjnMdRx&JGdq0g~cVEx8>e*TAJBN#6G?D44*-4+@ub6M}) z-M3C|7o{tv@AEaBwIeVgbbI19Gha88Gis5oHy<sN=#9K?!FO`aeWgz!rM~mDSDZe- z1?*JQz`sijpK&qFf11H_)qn4|YthdwctA2PE-r5kkC?4nmbQ0(Q_t#+g<ThNeyv`! z?V9s`{@rUur_TxE+#J2l<h}Nu_aDCUEc-WQ$?X#1DaA`ZhOD*q&wkC#8e*RJY-gX^ zwOuPUV`|RbWN1i_<$n9rWL{R+#RHN>OAhCp<^C+1=KZN+D`yX*ZTrnd)6C_gd}gc- zzAyCcwwBzNb@Gq9=Ym45Drs%)w|lj}<9H|jXIXGaP_nD&U@0Q{w;mU`y<^wA;|v@j zPqO#E?YMev)9d#QhvH+~jtaG2D+*G5x8(IAp>-naO}x+NUC$7|r&qK0_=1^BI5#Z4 zS^qYv=ex%hrW`37zJs@x`35MjO+LY`FI=?q)uQeP7OW19={aIoSE(FNG%Lvxi7@3$ zH1iZm>*noYT_*9??94TzqZw_9+f@FVE#h}-d>>OTYkwKkQwTi2?(XjJg}>(WeweKE zNya_p1Iv%dJ|<9778DGu=GoY57|6PSf64txpiGwUx16Jwb6x7*_jPj1wF;KJ3Qhj} z@7a6VgIE68EE5-t`YyQdUh)N>pe?>z|0l%1W@P6LN%~wDVwTe|?Uc>Qi%;q*4B5hC zDg+rGXo#$yIq%+Q2~bBz?@$isyG5rBq8DkpU0iMu{iLvjWAoCN(d~7s4ddGc_uT-O z3Bh7N)T7tN@xFcb+v!!OmNU47b8&HzH8^5+Yz>3M*ZGV$zUdZ6<>p>-%4S&3A$z3o z*XzEJRTCN8kIuE0KHs{9aodBx$Jb02$yKf|+vU$tFz14y2~$p4o>*Dgy00tGaqA10 z>`ZySbH@CcjSLmHw$@rLESF9@e53W|BR=Dog4^zSNccGybX`2ya&ytN?O!bP&Rkp8 z6tlc^q3J7;x%GaZ&nSbME?$44yC2)^G_(Dy#b|f<qQnaB^?Scwi<MymNh&EVs^Hn! zYb@F!=Ev}3`vtCot_y2^&AyzK&A8aeHKXSDimzR!t1TjP=Q<VS-8K{PdV1`#;^D5$ zNsDq9{WXjI<7|4V=1ybbr6j?rM|l&vI;VT?-&65DkKurnNPEoo^Xk90ByM}ba{Iuc zoQ>ZV-tNA$%>VDqq%EIUm~8cuPV0`lXn5vYUf0EI@0N3K-pae{C!<aM|NDjETJE8` zpw!#(YvGnnMOBBdTzSoK=kP^|1zxRJZ-6B_I&LL&<jz?;myMz0)pSeOjIh6<VbQOH z_dmYPBKQ5mCg-VHr<W<Qbw8hT`G$W%{lnC`b!wa&N;m&sVIVD1z@o%9k<rXB;`ScR zZIk#fF1fL5OUv8YW{eE;R_$W05kH}KW?IJV8OJWIt39*m*s3j|H)n-^F+Ve{z-4mV zO{Rq#R+Q!*&T&vnG%JxzV}8;t!0i6h5S-h7J^ygZ>*>AP-`~1U%r7uubMF1g2~WCv znA#J1{=U*@F0bbcdo!K&Q})i6)A@21_xxJ@H*<DiwWM48rhDZ%tlMThZ~Xt*<>=8{ zQ(Qgw*nheHiJ|-XyCVzR|I5D0`t;Ifaow-$OS^N0{;!EO-|FCe#AF3mh<QHK9H(C! z)uoKX<Ev)cr!IN)a$k62_oJmZTudKY2QS#Q$fRydefs2Mw>plk?G`fSS|e0Hb=%v# zJ6$K#bh#f}U)Zv&Zt>?8Cb{}`{#y>4ZB>ZA@;H=xP3!fm_k2tqMKHgP>UWKDdU|i6 z=acGK-51LimS%lW-PrX$rkpqa1E|Ei5`O*N-PNmp-Dc2Y$a~!J<>z+KtKkJA(71ZE z@yOvB!dn}Z<K?o{)mGk$vi~j{oU8k~mj9W><7>x55}ZFznSC&|J$!Fgj?ju1kEfiP zaeLR^=UthT%nnQ|`5!p-S<gp)ZGkJFukYsO-VhvYv+&}PXmitE?{n7T3?KG{uHiGj zd~@BU@GopDSRec{hIU%Q(y}ivd44MA<T9SM+s~{pihi=oVe6J7Q(;AV-+_Hwez_W~ z_W^l;x#a!6+Wp)Q{y+5ia<}h#eEnZPK4xg4W72lx*c?&DdmlFQGgf6Jlv`yjG;IiO z;d^9Z?I*ZOmvO6Gf$v4Bw9k3+>q49sKZ(3m8uz&Fu>E9~8{l%M<Mpc<&$67hzUI17 zBzg7g>q;YKrVq}$%NHleFdPULyv)h(x=PcH`T44ee2~70?#aihx!1o+rFBQ$tI04- zG!yKY@jPU1yQ^iX3CKyj=eAaVf7M;~_Sb#JJ7+Jx&=1!6X8~_VNi7$aE!Ub*ZMVGP zC)a}gH}?OQyx}JK)%<^O?x~J%yI+31+HyK-9-q`_lg!w-Qr*7L7@cXe{L_QEUmNb- zAeY`J>udXU`I3y;Y5ON$=U!&FG5&G8x!)^^5c9kzB8yxYdJK2GdeqIxpdD7|lG|7H z+}|*&`mNesHiji1Z{^!BOv}i9l<BthZQiW#rE}A^R3_Rjlgynv&v?^Xd8NxM%9JKV zov_%l=VdL^#mhb0d<>;t`R~qjbN%R=Klf?(JWz6Bdlk*jcVp?wmGQQlHf?flod2Zb zOZ%#QG6&*|R6z0_9UV~{g>LUC-kZ?R6o0B@|6~)_7fV8-Pbb}%UA?w-9(Q1Hi_!+2 zbxgC(w%cymBz1Ex@ALOwv4*}uTYR^~_pZ<i-<_wD_Gi!RtGv<+`woAW5Nz;1XU$*y z`WmBB#ii2O&3-!-E!Uh8+q^v{B+a`(JT@%N+vKQ5*46WijvcSpQSM*roVxAAV~?<z zXAjkJGWg9+P&EUUq*8khYio;YihXDJQQqfvf6o+W2T;0laS`cN+*VkA+B8nV?L)uq z`_-%e++^_)yp<ZE6PS@J;kd=*ci)}({@|7@i!)+T*DmQF<-V$QZbx2n&R?4Yf4;rd z@R=&ielCeQM=*EdlHAkV8k0pCdxWJ<AA5al?)>JpU+0R)RUEuJJ&uhrLA2tSS=@Wg zO}@-ma%b>P7EJU0@xV3xo>1FmfjLPf28r8NJk_;*Cy-{`_t{nB!wcQ(AB=Ut>8W*X zNS{P@Jo5ty_r>~pw>PKzcY<b6LGHiOrMQh#Az(qt8%BoZLAe&5SFior`F_TOsB6FF z&J-S7>mQlx`*_t_MWr2LQP)h~&bp@W9(HX{>Or6O!VNn<?>V;7_3xMU<vbf$kE>_i zUXdHJ_a!qo+u4PCj_tVlNn{oG>&j0`pK@bwb;!;(XJ+7w63>=0zWek<`^`ndIh7on zx9<JTXYCy})z?Zs_D}D(#gom>i0xgJJVSSrR`f1|+pk_8>SS+awE$Je87I~l@;g4M zf9mnY^`xJF{INs@P_!s1WgQi`&9Y(9gsZKl9Q*EUd$^+Y8iSvpRmbBu7OolMSFc@I zcq_^~<LvIo2^qdlQ}6e!S$80-;z{Gt&*!p3u6NF|Gx2TEwUG0?b;MUWYPQmreR~Yo zW$~=?_O>Y$Wc_pE>GbRC?L*gY%Rgff{W#5~yN`KlBxtDY<Z_9(YS1d<&#Ii*)|(A+ zhjRFR)~<^deR{kY<g`<aSF1&T6!W>n{}E_!fTZmep^eT4j5&e^p(~EscRg4>`&#K# z>&p*iyR-h^O5c(%d9lvicHgXm$kUe{ljo@go;FP?Ut2r*MpwaE@0isVyLPqpUVi#) z@|`Op&$hom@KIeZ-|k;Qh3*!;i|2QgZoJNDag19h<A=qbZC81{1ClS<uX9Px%1dLL zKChmU<pB4!M=Q3TG@J5pf2wPl*PhR_mf3P-%5-nBT@!Hlg2Wa*uPYiGy#9pFN;)I0 ztu%X!PS1OX%d>v<KH=Z?<A0#Xo8NwmH(t4~Zju!H*49gT+V%U%v-nn92HdUDVPgGf z&2XdZw74B8wLNVres(7R_RE*knRm=tJn?0ITX-R?qKMjf<*>?*m&^CeU-aK1Fu29f zYwK2>Z+AD|ih8kAz|>Xa(K3#+>uyCYKb7BpZceAoo~7LS88XZNZ(jN<>OOPMtGR`~ zH4SIy#y8BJ^~kbY<H4)b@hr#r>+K$v3BEg-oVu-S>b_gDF87y7_}<aju<G`yoZMMo zVrJ_8Y@VB%y6r@1BUg5(_U4r}i~=>!cV+)L1RnZ`*>L%C`hqHMhJW7OI>)C@g|$DF zHVWNt5n$X>@<=-((t<Z(*=I53pxm|dMb9POI&JW4(${^$Vdma(xw?^|TW`E7T{ZK| zN1vr#m#1o_b+!KbEXT0SJm<ifHeQR`9|a{1x;6Eg%{dRVvM+SJ7MkH^QWMV=t+&|9 z{ybNX3*%8IM*A(lg*Y0t8q#BL|2@ZIx%w2_{!7!{=HE)<XKFAxSN%47LhH3>i;SW_ zAF2sWyUfxrz98`JqgC5f*PkgnwQk-2^kAzq(7=EDecF1bul|akZp-xaw2AEKSqv?v zu5?Ykq1LjsVU6Az#vjjLh$%<quATq8Z{;?#Df_<cdB5YU=IXVXF<VVtLZY2rwwl)4 zOb&_8e(7Dqx-B7|Z|=8M8$DkfjN0|$(K*I#TSRXvX|K;LnXxuQs$Ik;PUDKjioA$N zon0DFPIZ?jr=6Ou^kb%%Xz0~%q6e%_CWo4J#GmE1Tythx&7Vu*Y1wfz`cLIt`t?lk z>b3Rz#5Nl}i?|h@CT#fs@D#rFPv8FpFVSIH<Lkelc@?{b(9Fm?#iw;=!#iGQBRX?~ zI+z4jocgQuYqGPx`{e0a*|+wU`R4teyX3FIs<lT$5+=|4HECVHdwAG}<T|m|ssjgp zTW(KgKlM6o<F`X6pM5;JNGbYurVFD*U4`S}<L`7=<lJC*E%9W%kH|%V``cVTEDnze z+%G%NYfCQchCXZeGdt5(xWD;t??3fs(zj{dr*b&^Hk>|{qa_p{X!1qotKZj$A15yR zzE5T9&5$qL0*$Gre&F1{@Y1PMnWB}e8S2koJkjwwj^{xo9}6gh2nq%=Yj5=JYX8fW z<F?;m%Klr=x890!NZGnoaD|X~#sp8*&GS~RRorzeszg3{+R|5xw|%)7)qQyR`7JiH zl$v<O<1R>?_OrhnlEnSp-T8OHoEr?$rFnAOV)As`K>f42ofXe3Z*17WAb2n_`(sn@ zJg+HJZ#Jwb%DD-e<hgC2wOO_1gUTnjP3(78p9=f$|NL9w)SG`^Wp`?A=G>>iu<!Hw z^$*g+z+O;gd>8y+zJ<`uf>8Zu8qgsH)8vlaARYZ``_sqwGd;+-|6c!dL)h$ZvG1ZM zDD0SaxbFD&mHKZ4xVUwlV={E@G_Kvz-(Tf7Nz>^uQ&z{$_#=1n+Y|17)}PbYlco30 zN`6^DMo;YW`75>7AN5s^>X_ps!jQAF=hYvZ^ZqV^ab-`Zetq2^zDoACw|?f9jU1a@ z)o*+fNXxGNE?YM3ugKz)@*mb6%DJd*)q0cf|7&LZZ@#Szr|0-j0Ts5NyhHADO`CW= zO~+Lt3EWdsQsR18vPjs)RdF@99?N&<ucbHdJMLS4Yf9pmRGDQQxtG_U$aE^caNKlz z*W>iC4RuwgUZ?Ax3DimW_~&!skKOlk@2S0=vdD9}psv+I!wUyqUtF+h$BciLP9}`o z@^AGNZ_90FvPc$fkC~mZd)_h$-hF{RUrZJ^Hh1j1_49yo+UuOSD`~SX`Ye;kjhk50 zb@7FA&%C59zU_;*iSJjRyG(K|>rInK8Oh5eMK7L@|M*D%)`_e<Pz~*}^Ve6GeM}So zb6t&pnDFJ#Y&m#ORB_D_GtZdi-`GE#Pu;X%a7LE#XH6&ex;cffleIP|I<jut65NvY zMP%W|tJk7_Ewc3&lnVW+Tl9u$`~3QcDFxfM?cx=WWigzzPbhlQO6TV5y^Kd(-kjbY zdvgOvsm#3T9ZGxNtXlo*`3Ln?Q?D%CGH;m#>!;Y6YiBoeh(>4c_x%H@GHyN=+8vwh z+7#(Aai3B2CwA-5RI~c7i+)pYGB~U?pSmJDcHa+B{jKqTO|3lp!g8)TrvqU%_c5=W z$xkNgGwqIJbJ)$l@#)fAv$m~QoqW4aJ=4C&E6s3f>XPOAcoy_a)&G7nGjvYm>V#b( zIaO^_uANQFJ05BA@yFwnO*s$eKg`Mwyxif`(8Sp@)lAkIoEg~CA1Gv*?#~mO9#g=m zz;r#zCi1P_4dZE3Z{7<1l~pcq$%23Bx>I6VcXnw6E>7w9zI`f3>OQzPA^%24doyPP z(;fXaD<9lmU(4#x0E&hw^-A%qANU#8JxuuWB!`a?nv;#gl4h%%KHZ?@@|3+n&SQ&j z-0HQgDRH@L=l}JK$<<x-Dg2RFnn!#t@5QUv7X6mkyypJZYf;CRe17_%bMnIU&h*Di zr>6=eaLWe&-R0ojdQ767DQ8=RTWOx&haDddaqAyE?Y({v7i+Qt!@MG0ElHo9vprL{ z?GgOQRkhTLBUAH&+T2^m@ASl7d4CEtWE476_vB;I$}RnCS6T{0T7k2H#&VV)3hoQj zyFsG@mhe6gvvZE{vak%7BQD{|(v2(4SUH=rE#H*a%>H$#B)COMZ_6}2jcFNO7j`sA zCA||j{C@ka$udvp>}zIs#X@CjABwEHwvFfinPaMFa_-Eq*>SB<>f(W=FMfoUUnq*v z;?t5g`{3dtvN%TP(b4I#Vf+84Y@PJ-Up3d}r<Gk7W7=*`>c3yna#JOA#@f2zkKgaz zX3;Jd5)|Zpd09lia=%OMdZkN0_S*iD?D=nypkTK#|Nec(A9C)C%>9-Yffqx7a`%eH z%bk8Q`Br+|HGU28>=S;kG)tAJm2B5^y8T7_llOx?UpC%-YxY_tX>RDzg~Iv?uYa+w z_kD13%g0IHAAcPD9sT|4wog*G{FPrx9Pn6izPC0^?7Fio<8ndOu5X8@$G5Ev;$$c| zven|@ExWzK-we)X$Ss%n>YVv#{^rkyXEV;+Gn$)ba?sYz&v@1Yj@@(8LR1fmEOt;n zq4tZlkTG<+I)jqZBE=s^_SMR?7?%J2di`<9N|xhM5y=YcxDDBo)_%X)yQ>I1Y%4E1 z(f(0J$$7(PISlvVW6hNkNwZDN|LJUazqz6M8Mi_3RhRRPiY@z>^n)AaOF4qt4jFNE zd5SS^tz&yF#CA1m*(Bc$cNacBzOnRgP4H7`h8edj`MipYBdjZpQX6#D&Zse2v|ju7 z%Y1e5<_%AcK4-fa_6YuYAsT-5{Qv&2YrpE|^K8D#x5V<G*|tP8-)|4Lnp}OtU$M4h zwo>4Xv$|8xJii_$a=+%R{|6NZ7Z;Z+?DD^F92eStcXK-bs>_!J7~ELGM0<7~EtW~2 zzx7+~gYTzfH(#4~7M{%?Oy`;G#<J=CdxrF15^L%to5Htjk#zdu{cFej#;x*hs+;$< zTw}X%oM-jg(p!0JgN|MdUcMo*%<M~$!Ht5Cc{aZf>^HfkzH*ybsceH7S6qQg#hI<M zmolx|T%6F<t8uSeZ<oaD=g%1#($_pnxXSltAM2&RC4I?)Y2AJso+_RZ`@O?OEF^pH z@pGX!lkT}UXFtl{B7d<j(d_5)t)kxz;{Sp&_s<RW|Nm`!{ryf6cTD!)^HrzrzhArc zJlBWqTzjUSpZ88;qAqA68&oGQVr#phHX*dN!@<>FSwR1Y8Ryk&M)%9FO+E8y+IPhr z)0S&G9p1is#kOmicR#!Lu{!1Srr&Gp);n~tzE+?tSNHFgg$G}^Iwh~VRM2pi<C>V6 z3!l8;&-Gq{d;T1?kKvcK4O>|vul0Hx|K5;P?s-uXY29a5W-f2+n)%eY7TWFTt<2|L zm$`Fdfy?7VIZfv|7*1!d0p$p{L;w2gOp1Qa+gtsx>wwQAk)^BZSq0l}?2@y)djcL8 z2_3mYqTLQ#xjO#xtoeD^<+hL0)~zbJzaw*VC4yU)?Y$q8Ydk|~OZ#7z{QU*Lc>LC{ zNl44uRcOy-u~f+{rbLmi_Vw-F+)HgYdzdYjRmw0u4w)OzuWMoRUSMnC!=2BQULW&i zVBkJFdFrVPzl^RWnq3tM?)k+ocp__Se{QQ(+pz_ufs5Qu%1vL`dUKNfjfsh7*XyK| z41ykdf;vbUEpP8{U!Qt&{hbowo~`$KIFf7LWFLK$-gWhrR)f)e&bxnBsm-?F0L7S# ziwiH$M&CuR>!ogdFBcHm$9uz_an9{aYRwxW)D~{t^7eRQ*9Eh`T|DcaF70QYqqJpq zDSN-n@twE#3PgX9chirplH{xZZ5@!kdxl#`!=lR)%a{EQ-EsMH!Sdw?gmPTo?)~&? z`jz$ekt>sQ*@Hj#q|R9TjeX0OM6=92^(o+4^OJJZw<T^fn>>q8{Y;sI>way9egC-E zKY{q;%%8Kd<)(M*{_>hL9P5c)ur^}tJeC6chWU>d-#fZK1G)vt#pOzi;x<lIrGU_m zSNB()$nSY0vM}>@xv6W$olkMg_+%5dg7WvK72C`f2;83d_;}&9X}ua^v;3=<-i$o+ z_D-iTJKvIdZXw>T_5zox{$DE$m>Zu^*Sn&5^R~RB=VYy4EuZgx{Zr^vt;q(__s%gZ zX)crC-Lt#DWX9UchZ_#(xILMi_eUMn2~v_WuCG0B>$^R^{BdtVkLO2zpCX^H`3i>w zqRpL;d%*_2eI=4+2Z-I9@2h(z-Q{h5$(@7{&{BlDjLSu7vQg3w^2Kqvx_NVd1UK8& zKhfBhpZB+};Ie4=qa%m;&A0gqq+NDmOj6lkQ*fUtL`?jz4Rdgg%iBLk`u}A7{dI6v zxA>Z~srHCE!sO$R-mDqE3iAa86_%eb2j#t2>wmx7x4Z7|uh;93M{Rsj|J0!BzT%E! zHRl5BzF$-ggE#ULI&y<Ty&EDKug(3#J}0VN>VS{;>^&jTr)%yTF5Iw=IkE8cZ-JQ8 zmqivnyluH+o0#>oe{Y@J`x9Ot>ostjHSetPY_r6>*K#esp1GXcl)d$@h639oi-io) zi*rl!<f1eT_Pbp<xQthNL-qA_zuvlEyH<2Rz3nCw`=#v$(P!=z38r}$w9Gx6qwY6< z#!vaDHz&`C-+oFM)LyvQ^83bdyRiNHp8MuE#YRf5{Aaz2pSeQjfMtzIaP$KKSOeSO zh}p`#ooqM0-&aU~cFy5Vefy*7Zrg4}P1^Q%%{H?hO{dHE@>gxEou{;={r8Kn|FoxS z^~u`z@piv{eLm;o{0Fnw?Gjo(uWr?6lSKj^8y~Q$Dlz43i*YMWlRa;?S49xE7QoPj zbI&LDI+jQKIsA8swXeQ9@ul_QoUP26ej9r0XRQ4!xGn8o)V80$KfO6=>QMOK^!f)E zP~q=V`uqKk#dUwD=kH`~&D#3$sB7QKSN}yOntu}X$(;rp6uWXj;5JL}Y5~C&+4jmx z`$MAVd1mP5{w|!Mw8eM7Qge3Y%f~Bx1ZQ3RYybU^VopTNmv4d<o6gTK=36EvzOm?u z$L&m)K%J_irAkaWSu!DF&khRZxXjf(bM|4^-RV{OE}=Ftk+LVl`y6(0Z(_Y);BIwB zY;MA7=NY=+3OjXHT&wE8RknLeaF5yDA0`YdB<68+faZ9w)&G6r{`&g=!)MKzuRZ%# zuBKeHpNVJV((oNWpUqzWZqMg)qM+qj;D()Z&g8RJ4TX%aYocU+#|xZW|J8WQv~9KF z!7ayh^M$#jkBKa-eaCIZ`ogWI>q6gep1XFnzj)#-O1X+RFU-nRx>0d8wBi$Ye8*h3 z5H8jg69XF7ZhU|0kWGk8+KmpOil0~Y9S?qVvPoZ1u`B3o=8Dyu=dIer$g`RCaE_p* z>06Tk!_76z)}OkzN9m`?V#E2YP1#cBISW_RhetB^Sl9@H(n+Aw{2ibD7!G9T?-gB| zWm>-9Nb`e!&6Hi6ckQy`ZcqddSt=<hG3YQFp3M7e$<QG3af!n|t^@q<Gd^irv0vTy z_}?pT<!RX&mai5rS>_deF!kVvNyl_n>wjkoJLtV@pTZ*jju+lL`a51IEB%r%{Kl!T zd))MaciMN^Pj?PFPxN1Tv|G=q@b0bvQ8W7kYHY78)}FWDpIMs5wk;&9?oP$S*6Als zpZOvZSM;;{mHu+~>(>&R_1zq2Z(8tE_22)h8;*Sa(F}qeDsQ76C@iVWe3ZN7@&=Wx zDQ^lp@2=aZw8``Ip&xuK*E=3)U+uDC7p!^veEqZZKu{Ur^>niQPY%0{`SNKd@rK)$ zu3Y(^DdMT}lzTIaW(IeGCKv?;1%F0#<{rAb>~>K0`{oC#vgQ)cL>3lKJ+o_GopD~J z{HnE2GrKN)cw4w)+q6$R%ibI*T(f3PQr4<Ff3ght%=W$DviZDJ-;9-?l}lI5>HGBx zo~;26rFUhtHwdbJ*|a*Yr)VV$>jS5cH=<PE`D%R%vEX{YHg5az4MwxoY*$5TtSwyk zrY53sQkLv;&@j}^$CtJlMbGy1y&RS%{FmpxHYh2s2rs{1YtHb%G`~vNYxU}v`<qYS zcsO+`SHpXz9bNr?R(-Fm`kemHiQCS%`FMY^Le-Z;zrM<_fV{6H#nE;{ZBA?W(^FB! z>kHrfzj-NPMR3cpttT}^;3b2kkKnDtb!}FznNeIe-~TASv8i@nD=uJPzTwNF(;x3J z|7Y60>)ChT#w5Ww=3KdI){s4!F0UPVm9kbx=sa4gU$-&*uD59a`p^y6UVgPXnYe9_ z>}HQHO*dx#xJL%jM?@AcJl4#=*;N0H>X|f=`DKh95%YM!zDl3J>oFfg+>Et5c1eA{ zd-XsKGtb7Q%an{|TL1mbum6?~^}-^-Ljt##%&ug#Fy+>K^*!;UEyM2isN7r$$Bkxx zyZ(IA*RPc++q&6=adTs6boM;EP=$sl{Y<u2wq;eef6f?3%$n_ZQRI)=y{gcokKWz2 z__Y51hi!(e2MPs56PmSFedgZ4I?t<f(ym{w;R$zpzRT|IdNA=+)Tdr`!!y&Kugc-s zT$&{m_n~9;4>pFHx6k8FO$HUsf~m{I(y9+j-)q?F#Q3#-rMbhZU-?EYzhz7Nw*CnM z^<O(WI!+vqpQL`b^tz+nua~#pbbM$0RbO&P?ec`^JMsI2+YYrEx@OG(-Q>r(YvU}X zEAq+qK4JXxBj0zfJea%YS~C0Bjh90NyMAqux2)ipZKk(%OLYCmqZYr;=2v}>?&06C zGx&1B@?{pi8i7uIh80Kq|77evaAWgSuDF8TD?Fwi=SuC|b=KhagF`v9D*mvErU^fI z%=O>4ul^2bWMh%tkJbBsX)_$yTK%2x-*)C?IoWSpmM!*>gjI>F9_ycE;m*%8$o^`V zd_gKnx;-nqmUAudg8s!pxw<8>uM$ldwuL=CV{f<m?CT~)lU(`46SpQVKE7eg77pcQ znL9P7Z!EajYEkt-(4Jec$|p2Ymi_9_NP~lJQ|@%@@0aQR{Q2wkuZ>r?zAHCd6nb;d zI^#3f{(~yRHp#T$z1O23d`baV9kr$J_ti2q{4codd-lJ<hW?Nzf{7ivrrA9E=YyLe zN=lzTPETRlz~(6UD|`J<t$&Y#{T;r(37K6Un!9$oR~k~i{de8AWv{~BK7Y^6{kv_I zxSR0DTODOL_?aBHTnTRZ*8h5!Mcp43vFq#k?Y%ctynJf$>qYWCLw0%RuYAj_?D=Jr zRArZkG<7g=Sv)QJ`}66PQ~wk><`k{8`{uXuNq**oDP48Kjlnuq?I}Dy2jlZp3ho{d z>Av^*0Ef?&D=WA9cphxjw1~^t_)=4BO~1;7q>V2>UjI<4F(+wdYBX=VDmP!wRo)!Y z8~se%f;#u`Gi=DtKDbt@Hmo&zEmK{o0q@=IYr_^^Gy8ftEOy2JTN|!+-M{9fef8J2 zS7Cd1Zx_2(#VEEm_j&yK?+c?c-`xIsSTAg0*_LK~H=epjsrsw$+dbQ5@g%JJ{>P5? zn_F)8^@q+_Yk6?mZ-d#}-Us_kR+sy+b9&9!cKhE9*HYT#Z9z#lL&2`_dThnpwc8g( zto`<P->KEB``28pyTANM1Z2B+N5_iB{VKu*r(Z9S|7mi@-EM8bUzLXYIk)XRKdhL4 z^%^K;-}>!)b=&#i7PkD~i6$4Lz8b&Z_G|mms)w_qwr<?<TfAk};!^2ZryCEq_nWoe zIKsb7^jVr={kcesk2fBlWi(^BI#cpS(!xp~mputHA0H^>nvf*;NJ7LbwZpKWOI6}H zcbDZ-B^Mr_oh->RGm;pOX;$3+^>$7Y=c5_FtR&c5i#T;pc28Tr*3G8$w!Qt<v!BDP z_v|xyX1Uhz`t0wLoAuOoi1BUIWLW;>NZZ3X2c|#Qb=)~~=CfKhr<}8iJ6_B`_^RpQ z{Codr*Sl@)&XM0UKVd%8^|h~=UhU1>yFhM1-qq@tVS5Ya?F!Ye&s=@4>UGuMg1;N) z#48G3`|7;1?x@S_s;fe?uQ8uca43J8Iz8#}qqbjf<-Y{A>YnOoyIHmB)U?}={iH$N z&82*sU7uXpa@k?)%vok;DH69g9^=ZiZGZRw;d#3S0!Pj3-+9%218vV-)cEs>yB!ll z#ov2-Up%)z8m%qH&uGD#AnR^x*$$tAc=f~Eh%w{O&8r<d&#%hm-T1T+(WQy>7tG4O zdSQ*dt@?s>;ikG4bJKVKo~-iy{<|HQWP;=7eNK8H!ac!>F+E1SxcGB}U`HWCGDGr) zx6A9qKKt7<Yl<eGQngrWH0Pz}f{3OmU2zd>Rb#HH_I7XB!r7Q{oYi?DXMg#E?>CPY z8<ka<9{#6#BfVm(1aqkVuN0rPpJF9fab0|Q?LchUnyRUfW7ap#*|ANo>T_My^92b4 zet!?lUGXT?{@bTt>-?g-mupS^w{M~0nQ8t0;(J?eKKh*b@pcQm8z_=!cHQuI?`yVc zphk@#@3r{%x7)AZtx)!<UwulR$vNlcKK+2F-#<gUe0KjP`7khOGcE3VHF@*@jIucv z99Pf2-JUUd)ya}q7Z}5$U#D+acRMS4UF(W)%agP3U08iWr7mL0%0p2FyUYH1O3ixx zP2$lph10^}7gwh}6WOaUGg#+<rpQAPE`!#l?f3S-6WQ~1S%AyJh!y(g$6i+0yD|jd zF5kjGl}FWJk@L+h_3evm->xdVz0CK3Py0s!K5Kz27AE$BIlq1?zMOBTcXyX)^z>=3 z+W)=RUVXQH>!hR^y5a7uAMdR;J?rT4`0vioiLF8T3y(STZMOaSb$;E)@OA&*Fvoe! z0#%+F9`APl&bw3d`K-mmU0=Pv+^qXD{cynDlN0@pK81A*DkYMX&+G2z_<3S^!a1wR z)~ml6{#1F-Ug&#zW@$z)L+u+8nbp4cBe|EatlxNT_NC2cSJP*$%6$7y|KTo2f59v+ zKCYva<h`^P252pe&^o9o8mKY#fryvJw7nam7KSth>nx1WVk(T^^6JGtmg>&JmjzbW zukK9`HS}e#*fZ;BL8)NJ<qpFOa<_Od_s`$Ix^C~HuH#zS&AUH)@@;<lcE(ZrRr^|R zDlL=XHI?(5!8?D)ug&}#3^i}l*F8%IPl!mZvVOlun4#e9y}f^be0{y4sN-_)Ov6yv z`k9ICie{^VU)P>ZIZ|_H)!(l-0wS(AZrJg(mSY`nbyvXaUso?}u{%01;<fKlalXD( zL*3^KR<CWn-nk%vd!cByqKSS*n8vhMuep{gas8`W9^w<io9h%;8@u+^XWR0emCbLw z?N?98l;`ufJtxR$H^1z;ilrqNmz}+_aYMlS>xWmbE@;2F-;-za)2}mJgM197EG7u@ zZeIC7IKWTY3zYVL7QNqBTk+S|{AkVnYqH!j&(!ai#AL(k*H4B=+)A$rN`wd2zIy$A zc5b*GbHeQHYKsGI7%b!Pt={i>dsXX>ZE^vhow9Fntjw%=;J#_rv|@&<*SL-fbp@x2 zc&ScVc1mN)@&KLbdryZ*9{nWJ^;C%K>B?u1GGzDtzar>0@rA~;^2-Zz?>yhDS`oWs zr$4Xy*)88!Wk;U*ax2%u_w&z~+NZ3$Up=3z)zBV(z3uiwn=lRUD{l+AH~$Rod1iEG zS?BTf$uoREz6sx7@^$+9x|iV#r`4YWw;gJJzTW-r(ChqtH-8_WezWG3{n0?*<AH18 zi+gN%HU=KnUC;P$zyF~(KNPvI-(!D~ZxZ%x=cJkXMmx-=7|do0Q@r-oIa6#!*xplF z8{$3(JkWl}|6$VAEpuYq?jMSGvg&)xdcjLo#5+|aYvGocnj(KML}g}iwFYq}oq1tX zZyE2J&phqwkFS~@OYiQ{tJ=5y*?g(3G0yhZTi-v6NIs`;#iZZ-dD^ssbB~h#ep6n( zIwIKmPv6NG^UNjExMe)<AIdSTeywz7*@1tn<G+P+GsOR9^;3n!+UM)#_d0F!Yn0ba zcHCNX)wD0;)cp>Nxf<X;o?xJ?bIz4B|8K80{Z*L!S0Fk>BS#{*<=bNYx~C?EcO61a z|1*`yT7dd`Ni0V{i7Z>TEO6F5r@}0*rz<r@mM;&~nf_;0W~#(-o}Ze_lD}8I{9ae$ z@p$cCvlFY5qQd81@B2P8^`O<;SAm?Zw|8+q%-k36e?6w4?(Z(v56xGv)|5_2+*V^N z5!-rmmT*ob_h!yB>LPjvl)!^6Q<8uG|D?b1`7!ClrQ7+}DQ#MHsy=l_(FKV=peR#P zQUWD7U!52Ui3cz9|M}-sUJPz{w_?4It#10Yg<E$#<!s8n=9D8^AQ~Y4C~C#lm&-o; zNJYKg5<C6sHLg~sQ<pFQGntn<WqEqQEUm>6^Nw9PW8!t$xZ}^diS-up{*mXBZ=TOv zTBDm<HQ)A5`I`?}@>c6U*7n7T+Q$~obIMI$AK(9Z+O$`HtCMm?m#;nh{B`D$!#T0- zp~scL-EgHd%jUAJI(ucyzsH~M>^xro;i$X#x#nFpw?Q44MK!nUzu&!4e3*B`-jJu; z%XkmzFA6HWD-IvklWV)N;^z9jd^;ZJCv1yP4P1GT`(X4QQRY?Ku4QNV>K@U0u&ZIM zQ_R;xSqr_~H#YVshC~ZHZj5odxqeF6EWO1hrp-Y+doG1YKAkBk;`Q{#dxloct(=SD zh4;5xZq@Ij)hZ7Q{+a$}{jLv(mfg0Gh&)@r+}-5NwcyZgcjU_Z6Sq0o`A(LrSW)<T zLy6AaYezcn{C;srPn==juPj)~+WvoD^@itd(hK^U^R!m2G!)$+6m50P0CKjFi_4Sb zj^3!B^+&e4+2vi?m#PumViw!GBYtaK!r8CO|CPiZ*!n?j4Yx_}8lmY2MHXs)e=NeK zao%UK&C^g{ZU6HNOpJS1zRaAmY?-3lukR5-@4gB>zVxtU-RkP|tCD8%J*qH0{4i^? zzwgHRH&PdFJau?J_cnc<2ZzqiezkpmZ1iEn@)oZ^!!y&?vpetkp5R+7aOp?S#h)9T zR&Eb?oOd`Ut5E;`LvWpQ<<0)*axvA9dtWSDG%F%HBrM50J*x{ecyMZM`2L?~pB_Ej zo*uS*nON>pqhNuV8xPp5nJYSRQP&yACI7akh3ZNtsBM{@tR?g(>)niq)dH5vtJGt! zP7czN)t+lvyeLL*f5G#)<?9Nbbargon0{Vvd4Pt_I$!_u($`}{uIsKgG+t!2{@4`8 zGYboa=8Gk0?bsU{E1K-be(v+}zn{Nnnm*gH>z!n@hRpV(j~@EpEj*stXOY^dXqJ`e znh?_X|Hm)=hyU;Ww_thB;ukmZwhP<!O+1@->K*xY_3E0|U1oMqjFxCRaUWGWb@{S} zZ}r11o8-f^{rwl)*q(KeJbGbW*w>%)thZfp{I+!d|E}H68NSAM(qGl8&aJAL@ObJ4 zQ}MV9C8vIW4_t9b?5CT-jO$6??w(UPGi`ga*#8y3#L~RYj%Ivbw5@mE&B{Ly>uX99 z#bpljgQp2iqTcQOoflJm*>`3A{*Z}A?)r0|@BjZd7&Lz%HO032+mt&=h0<L|H?!Pe zyqe3U!?{6FNqXTf!2>~mi~jt$lC_W_WVL}(uaVF(mva>&zqcm+kWc!(uw1mUgW;;y zwJz5+k=@zf->vO9AsA}Q@j#N{eCG+r(Aucb`R2!L*7kiq@sOEaZvX#(zgO3UbY@)I z^XqKB-uXE;m3^!7gcI7McDuT4W4@uK6n)itx;|6HmIH^R7(!Oxv%E9oSY?Fu|G(i* zZ&eEX#IqHZ4Ayb)&|7zR_jjHKWd^?A)0Z>Ya6j-2ti2`mdCTHoEa&D_X8r&7S5Mxv z>+t?nfhwP$*FT=SOe<TS>4UYd{~R5rtipw+*IRe!1+1+Ky>?|8e@;qZuI`m{9Sb7# zsuyn2)L&xuwEfz$^z_6(lm9J<&&^#fEPG5l#(M3wg?IAHcVA(=v;3His_Cz#LQyMn z<HHvwUodlDZung!xG*p|&imj?H<K?_T>pbs8(z20UA^%7X0<*2%l=-wb*=uF@}h&s zmwYtdVfSbAJ-rR*AJn$iZ@X8XVEum=+d5~_SMdT-*Vo<MkTZM!@%%lHj=x?$|M0r* zdW*V6|DQL=%(?&R_FKc*Z5AIz7QeNx&X~pQAL1F<y#Ge+ji}#Y3>6R3EvIS-3i4jt zYJT^N?25Qk6Ei-~ZQr_kts(#2-TCtD%`5)?RLPz2c0a?9`xZr=b9a{C-zN#0a!q~O zn_u(zPt?X8-m&H4JvUQB&kIl7{E+q9Hs%{vZtc;nuO16nGF)X=DmuW#Z+)$fd-ZDj z1c#;$x0|o?cO=f%6wwR2+Pz>G_W?_WGOmJkOt%egS<W|Q=x4TAa6mc0Hlaa&$ANNl zU;qCP`mEor_#kO;GorIMDI(u1@WpYSC*@V#Yme%NABeKw@GLYc_;uO8qBY>b@0F|8 zGCp0Y>2v;ELROmWva~dVt$DJ`uAN;Fq4P0wV)!Y=7nuh(N$t05U2byn@7J39x4tcR z)4hJ-yx-g1me*#i3iiCsd)Pm&B=NHP^Y(Kl;q~u#dfhNMnK3WFO6s$Xzu_#cGiEDJ z<=oQ^zq?<=!{^0(aG_&zr}}zqW^>M(Bh$_$g67eeetl)Wf2U3LrzfhfcI{@2N$cHt zfZyUx6r<UpsQjpctIN79lUFcIjAbZuWZ`;$+cKNSz_#|;t-aOz7a!Q}@+6w6CYY<0 z{rmr;@iGsMJ35M7*6saz?em6hWvy1{o<929e5Cu&={ZriHyxZY=b|@*9z#JR!-~0w zc^eLEYfsJo{?1n6z<$TC)mdlu?>cb(-?MeQ`5HPKIu8m+yKY+7YRL3hWPe}Q)7uPs z>*q@?X3Fw(%Fa^U#ucLbVEWXSTPf;yO@dp>egx>PGB~!t=I{T_<<AR?rj-6WV1NHr z^0Mb19!#DVLJAH{oXZy|v2+Rq=(YOH5}ou?GLhGw|In`0i(bDodfmB!i-UvZU`$6E zlg0+Eb}5#8M}^K66Bw^doscrgN6q;1<>R0K{xzIDVdl%-t9Gs4WuG5kIOEl-s(H_E z-~D>!<J{++3-)bf{Q6b!in*E6C6g&z#5g`=KNMTLY@h4t&GKsl_FR3(wJMb}-Y|7_ z@YCC;7(-rktlhGpVye(%FN=&n6*9J|r|#XazMQ#dqDP9I*l*LBXO{=}-0HKOd~?&W z#3xFOBGRm%+83_ZT)z?&e<$wioNiinxiyaKigA)_qL8$pV5(@Z+hH}KnaWDXSH3c2 zIun*)R#nAk?!a(3xad>AhH)2zg=<6bw{uyOe6qZCzNNF)v0ja5>G>J@y!QKE7ByFa zz?pq7UmiOq?DADaqFBkLkKKTMWr(p(_wi5LTNus+C0v`=@`j;dT13urhVz;q)~v8w z-gsa$zfSx=uKtHtJ8xP|x#=#>RK7;`SN_%Cj5ROUihuTD-(_xo*x^jTrddlaT?q8d zwtOm`yY|46tqB?(9?r~4yuBRPuPa}=(c)3e{OZ-~K;F$SxzbtI`OYeDG+z~ZqWt<= zqueReP4~QVI%--y*LeSu56^bnKY0_lc*EaJg?ZcSe9~6O+&`GIZK7n3pXz4GgIO0B zTK)Z2`#xd5tBZ?^%f4$r-{vddy2UlM>7C=-^Btn8+Mt;c27%a3DK%9EA6NoyIhE9% zzPd1<VHCI|^Syhe2GfHK#=f=_?LG=1kM3sJAM}9p^bGm(b#Z^w+d4buSln|F*R?vv z!nEA!$=d+iqYTHp4V^FV<DCC~dV)RcIi`YXT@1$-sEWOAd?kNm)4b3JksW{jH9kEZ zpSI#pzh};rxq%KWZp^EhC;d_?DLHm!MT%Ln!b_D2Ud(E|OU~Z=%4N0l+NI?jyw_U= zGc#P4tmNeN^>x17U}mBqz>#9-yY|RR!-=_36MgSy_w9-b)!ncsDQVfZ*AHUmBy6wc zv(ETaab}iL>ihWaFOtpsQzct<KPOH)ne%l0t|@ZwS9zqJo^vqGc&0D2=FfGU8ZI|~ zf=(X`EPWBPl}mSH1mp52o9r!`91Le1adQc2zIFTd>+<D6`Ij9Y%nhhjZwU6Wv2*@* zCo?HN%1>By2g3o@W1B7rb?;@HD6c%XPDhgO|C5K+@870&bZE@4{QQiS-{Q*!;htA9 z9dp*LdT&_$??C(U67$~n6E>l9x2s>{zJ2Rn$b;tre_K^Q`8@9uJ>OXQVBcXCvs0&7 zSi_<cS)Z==cqr*`Uc!ojXZ->$Pu0eftct1&+b3P)n)GtP-1IG`8(F?iTsZNnQZH{t zMxI-8v9Z&`4a&LeR!uzn<INrMH%kgLQ?<f_Ui$UUSe9pY@mWXqtn5TV&cdiOM*MUC z%(E?4`*tRlKlD$f0$=c<x*2D}-eukHDK}Ny{C4vEWvym4?@#SI$MVH=!H0wCprN~t zKMNd1|NeC233%#}b2N5mPO`|U)v98@MH&uEc5a+>@PWAezVG+y4TQGYCtr6iZHj-L zA9-!lIZ^F-Ppx0B>ArodZ$rraOvdF>59aPYHizXjm*K{Pllhuo{cleFyFWl{YDVYL zc`O@_ty=%T?)j!vTONMFx0X})r+j?$SogG*_<@}ae&(wtKFn6KTeMywbS{$umqJ#^ zMgy_m?M$y1>^j$B^Yy~1sr4(DeREsCr)ZI<%Dy1ec%9R)Vs|GURiAmp?Ply&fgQDH z=RJN~yQr#dNsxn;<&-UHXYBmTxh-y<Gk1Nl;{M@>RxY!o1Tu4+oP(96X3q)~?{u&@ zq892O9(BoEZ~B~a-_qTBdVcm%J_c6~){5<2AM^Iy$5~-7jvc?Cku&-GKe_Ou*_|%? zbQauE*YZizF5bG@Vy5rb4ox@46Vb|NpXFbBvBo@-SMt=H-*124JC@f6D#BJBTNS#x zz_Z#~XY%LurfNn(t`9wOo?d5qFqh|WMCq|Rj18VS-*lT!DAujr!>3v~@AUSI&l;a~ zX{Ra7oyUK5C&RgxS6?3fFxq%9{t&}C_JVz#$JwKkHmbWU*{nD9*T35Dcei&xR9vMy zJ+|!Tzs`UcwTJ&cv1C|gq_xjtyCuhgrvf|gFuAF0U8?(f`Th8fNt4&#p6;X9aAMM` z%KahRnG%GgpC&SN99mK(&vERmd4kEF@7nP<)OFv#pO(6C-$p^+!~d0feLGCdlq9NN zKi*khBLAtz-=VH|f7SoR6Vx5OyVuT{78kFZFu!lx`N#EB&FioEMEo}SfBvJzrJKv6 zb-LDS>T9o@Hu>hBYiW{sQ?pOzRLA%7vpqdn;I;4&-$ZcmoOeDwJ$-JNi6oC%d(cWX zx0Nfhr|#E}+{AKvnr^aA#|hz(uX8eV%(fRlJ(Vued+5w;bA5}C8xH$9S^drPesY)V zjH}ksCGTDZvp;YO-D@Dn!K0Ir`*usn{;g$SUoDrETJ&n`gHNaVrv|*(8?aY{agVq| zN8rbwJI~p9<}!wE*|M#Su|h<t-)GhO`mCFqQa$Hyef}w{X8w#LZkCdq2b{PXcYVBl z;r?HdHlyz1y5OSTZE6g!q?9spa-5utjiqMIx^UqN%jr#R!dJijlMg)To?c$IdaIzp z@>wr~CQaQHG*9enaPi)CJFn@lHT!vMe&&;1UUgCYa`tkY)%@>O_w-A<UVrf5hG?!z z>Cdtdv)OOg<!sG8a%Xj}m}XMf#agML1f$tqHZp!M{TMiwFuj=%%A+f^mg;gh@+{tX zRkFAxv7&3Y{DNQG*M78Mc66DS)bM)3d&_{{+t!z)4CGgRPCUcX@ge_Dw!4c<l9o_* z=h1&k2li%O&9~o@bycjbZ3S1~$K2dv7t>V-*cs-WSUG?7oD)0@-i$hL`;PC9PTDB% z_(X8^x_5@_{gwA7e0;>rxM#Q2eKEC-fqC-zjWv(|Eo9$6?ap$y<8gbQ%o5tNkMHc+ z$KTXeo0^y%<cg~9<Lb%h4U9XK%GEV@dTjU6N;z-XT7d1hVh^qqyv(((;NMI4t1CZs zOBLqkT$-I0HBUFrPI6}MzcrD{eb3hO@F`4PUAJ}4nP;c7!lR9De-K%$r?NS6LzwiE zg#v$m?U{VzIA~-gF!a~IPfsImTw{|hy}SJ77oKyA0#r`_+CA0Jn9t>j>1Ru++aBP| z(Y)}&O{F5fkmt%%t)>JnOf(kVaZl*ypQdfw*qK+Em#&NX8Qs=;B3?`<s-%O3Nta<! zfbCrWE!o#p7`hkkx^d+3%V`mBt~1$83akCGFm!d?r<h#Vf1D1XeJc*An4R)w6$n)c zZalYO>Mqe$XOqK&S`H_=NX>3r#+sYw^ms=aOS9vf$}6*9n}ywrj`6$8yn0b}<{^~> zTy>gzLbg>|tLUjkKlR@h{QS^ry&4e{NF(6ZZu{K*A7_~UY}mVBJ@jKy&4wM13w2dD z|11eHyKT6>H)Y$qd+#13`wCw=a}hM7wP=;Nm&yc=-Z`G`u6+q9U6Z%0`OjUP!mjj5 zfw_cXM*Qlx?_a#wU{+Q-H_1h>;T0?A0~JP{zGKdoEv{di*?uH=>wNQO&Ew+XvAJ^d z=E<B=rT$$iVzX5a*fZ|%X}EmQ`nO3C!-1DvbMiW4?hAGAWqH6pEwy%i@y}1s_Xao$ z{!G})Hs3R6%Ks)+Ne6`qP6<xM``_I9*P*4y&&HgQljW9NEUa{R@tW4A#mgF>Eu2@V zz@F)9R=SPzXzz??Q8!hO`Mhn5^}Z3f@awt@yi+!}yC>cb{&o7Jqe}PM?q0!DGtPu{ zt}>pP`@X$w{<n@-e|?47gc&AqY<LXz`Kz-3f4?U?>X?0+HvI&T-5q@|e~qcHQjc_; zSbQ#SN5x0U?C|w<yTYXQWL#WS$lQ2fr&7_uw(xjc|3=L>*H^eK=Pa1j=@J)x;Z~Km zkx=Bf6Pr^1@^A+}EiEaDc)feqIVJ(-4FV1=feV>rnIA|bpGl8O+BlshLiyO8`#Y<? z&esl{IZb=rjK+{xvR9>Y)HVjz{jbvOtN*jJS!c#&c6PQ`rgPn#oiATFd^_iSX6=tZ z)0Afi?wo4bd%E+~)DU-bH=oV1&t8;XiTh!C-Kq3t?79!WQ<{(WA3t+)@^`sUmybPo zTCwK}^M<tt3}&u1s$DkiUt8sdyGPYFzny)MZO^ai`}eHPcYpt!S#9gO=SSz;F)JL5 zgH${-S2=x~YZvmh!fmO>`Zv|7jxJAjKHifW+pZ<woBM<D!%?Of0rqnO3M`=prM)sm zGdk{sm|Ogq*_xaCU)b<jU+C(vuZB7<PsMwW@`WXQ{Izb~Y6h8e9TR+yYZT0lx>l;2 zn_Dk()h{si;?AtAt5a7y8dcsr!TssgAr&*JYK8dCY9DUxINaBE;^nFt+}!WmmhrPT zc+}d)?B1)Sy5ECmx_mzKlrKSot1UL<vMyVH#xQF3w2!#~Q&bPkG(UUwUCia)X+MQ) z-Wj_0TU^;=WYOVhdQN8dj5E(BgIX|CRW_?WYJTzhW~r3UoN3#b{@*OQ^e5Kh<s5O7 zj{6Y@g1`R#z4rF4!k2m9s$E=MTta;1qPBABu3g)}(Kp-haMb;)M^&~Zt^4m9C#L2l zFmZe6(~O+yTeitb3+!}hWc66;$8sRqaOdsktNj=YlJ}ojE`BU2esW{uZEI`m%JmaY zq{_<5Uh7`JuWDZEnd7_#dJNrxisF2qHjD1?bNyHBsPk<L>z(;**X*_wrEXvSH0)!@ zB8JH~I1YU5-+MvA=;UODmzQ-<+zD^o$?#3uwrj%NJsKM~s(s%0r)WYN#~<nXuXS5L z_gF1EDz;+j_I)=pov!Bnwy{|HB2id9=@}#Yo4<E8K0FU{Pdt59)L`aW^{eY1rEFu8 z(|UVnTke;mhb<V=J*3iCM9lB;=Ug)Debon6);h)qGZP}_-T1lCyKK{A(5R@={>>qY zE*t)By`ILDk>t{~bLRqmV-A-mKb=FT_8hx*>6)2)$YQRTu7wwaJG34$u&y(octSlo zX`_DG|F7$}uaDlYcXWe*<?Bb^zWrr77PE2R>eq{zWELLsVb(hTbR$E$R>3mXJG%_T zs%4bE^IyAa`{c`%OQ6u@esCj;Pi^vztP6$xcD9Nl9Os3n8Y^0fr+r}IXgd73PvqP+ z!}+pomW85kujOquV|o^194lq$%dNA1%U-Jw!N;!!<z7>}zt6;3N9$vz?e`av6KY>w zHkCNuV0cdaiG$JXU&ZVE!ut!~h2CyVF<ZYivMqY**WJr*T->Ys``beU1tFG#O$_SH z5wrX<cKuw}{*UK@WUE~!YmoiTuji-dr7s7clUjFqXO*egktBhulO=kS@;P3dmZ)3s z?Vt9#1BbugJ3T{SqWIjs3)a59%fBw-WAXf}(NR&+_Z6pobqvjId}X4xZeqIKoCE(D z^5&JiSm-UbWozxPgQD91rUxo+TEBE{Zr`dn-D5gz7fy5pu(pcqU|1#I^7!Li-Q3*o zkxKVp#q9f2>HbS_;^|ek4L(V$8Q({JKJBsSrq#_AbMzK{W-U@{5LhC!{OzRA;j4J( z$S5WUyxH^SZiTgJQk3S?mCtl9Ut5uF=^k@>{+DGlr=@pK7gpZ9^T`Tkz5_j;lfTJb z;uWcv>ewB<qIZej{k~Iao9|9tyRCOd_13dWlFKFT?p-Z@^5DTYx36AJjgn$8kUo&p zsB^L8M9=Qm3&ndLJ!ksqsUcXG_50H2@{Nl@Gs;T#8`^|6-aBY*f0VOh&!*@82boT) zFgv;2vpu&uj{QN7{gtnij&}QR(0Sd=@Q?Gr!&PtQo;Vzm&i&!Vp@=ujC;7$St-N1b zpAyi~CEk1Vnbd=*6>$n@Tom5l<X<Ikyh=X1^XNR*4XgB~M*W=oz9!v$rS+7B6H`}9 zO}??}W5V7v-vz4+Z)s{>yV)?$mSYZ^>)sR5{L?nqJP7<X{V01a({A0OCx;Gsr)K}0 zz1%hD@gv`+KVL(he_IK!Sm*uJm}i{*tmA%sxB7+jOHXb4t|uAI)?Xc)dot&6aL>ER zXSOAup7v%nJJSRQjl(~W&tRR#q~7^J#bLeYHQr^j-&eh;?6AvBu)QhHZ{NH0IsYbR z@G0;9^S*!oe%M7R-B9T0T~UvyYu=3JZYJtVMZX$Y=ZNO!+HNksx@!5Ji2dESZ}W3Y zefH<t!f4U<UgGCR>t&4xKI^VsTW-See_z(sRd#Nz8r%E&__F^l^A%rlBAxexo?A=J zqZ9^pezxZ8+qZ1BWxATmzb58qilKGHg?n{cJ(inpF&|agrd4=nvHy7vMH6|kXZsgf z#k;6ke0pO3zd8JQcftM>p9Hs;o$lE)Yj@Ae1Ix~tE!-h^IYxW;j2W3POD{8hi`@9_ zra}6v5TE%5iSyGm<GT1m-rb1uKAB@DJN0bY8QVE$(t<R<yt^^8c56ZHN>&zzIXqJ* z>%Q3PTiX2hS}gzHpwM|+n0}?4|G)PGdr8TMOmR@-tkOwKXl4rIaU&tupV<dy>=hSQ z+H>CB<zAZ0I_3v6Tb_Q8FS|J<z@o-7Bs%eor%ZnDDhCcF@86BwV%xUXmb~o}?Kf6& zNuFE&^=fIat?k>_yLZ`fPE@WG^R)}*zpBxY;jQycsbTl!X<L8&K0W>Yne7WDJ|B$Y z5SV<U=G71Odc&JsuPYrA>=vYR7cA(q`Y|C~Yg6V@1I?aOYtLlHth>JF$<|Qqpu>lj zbC&KiVikY9QPY+6fTjESJJrRpp&xHOP^h~6@>H!%Zco6mlx?TJZoN9`%(mp)VG^b{ zqow(*zfLpPFpyvLxtDPkzfE2Dy`K++r@i18eR#Zj{jLn@>QGQoyGq3SNzRI>9v4IP zpPwG>yZ-gi%Xb|oe%}jzdGQ8l=%G6FzWyph)_dHccK4TLm9(s~+omA)yG%=B&ol5a zgGWc(r0Y^;@BXBJ`4Y4GfQehnsuLd>@^~eRoxOFoU1ORCYPR|;6J2~U<G_^z;EJZ^ zX-oV3nanR*wT$8$Dg!v3xb~k^bk+GPrZ&Sc=Bk@_)yj_0H@T~4UN8AOEvs+#wy0y< z4_;f5Z6@@{#F@v$xn@huN6A{T(hmnM3hw+6JpIo?;QKkl{*yU&t9DJ1%je%(ef*lt z&g6vx39NUtsy1<mX{HEHFgaUp`-5F$Udw}v_srw|sJdr@W)2r^GJ2L%ptA9iUUtvT z1;3B<C~p*;sL%IZRH|3^*0r)thHBeR&p6F`V}9oT5aH)s2il!hUWw!u*UyXHUG?>H z569J2875L@yu5E;y!`3kA#<oBK(w17!_*<$Tj!fPLwOW4^Y@anvUm43H<_87X@1qX zRe(orW95zA*Zvr7vYulXs}sX=l!>98$M#q0k7I2Xo4WSqs(zler}eS$o}w>>f3D8H zs+aKV;-csW2RgE&o^ZFS@>+e6+wmv-_B4)jGfj(+Yzh|^m21_FZa<h}Hb3Nc+8*sY z@BZE0+wuK-`uez+!JT4%zqWufrE_8K=PQr5KUmi;Cw#QuWNH8Rx*A7wYfn%DDDrl9 zZ{NCa_3OVqE*Ilu3O&!Om??c~-_(0dtoJCN*{Zh!ndYn9oh+vFU0vdQbyFQE`agZ! z|L^PP*Vop18>)n8pWFTG)vmVK-Rpv`W-qJ~P<AqXmcd{?+vCY+-HkWA7XLci9=5jX z<chitVdvUs9C>D_Zue#L;Y%Fzw8ivZIalpt_}b8O@|o5@=BR&1wr{%Hnl*XX*67p& zHUVDWQVi9PExa7~ep_0t?d$VAoP}AN%_MK{_pdf});aYx)3)-KqQ!!hne!Kk*1wVe z@XUSg$sD`Y+w3Rb+?IcL)?z=g2NyyXsm|cJ8pawW=(6kQIre(q2Z9|x9p8s?|35OB z9qj!}-Rt*Rg*UA1ahdp?nW^!4;+c-u)k;eC1;r-Y9v*qISz*(W6>&Th1(f|-8W{dt z7XJG3-R1V}#dA+j&rkDMF^l&*>)IDDf95l^f6|$mb;p81e!Gj^HKFdc%mqPfP3Cy! zh}ui7F8$N#KX+YLEXTpt%!F?j7T?jSj|@5x|EyBo)n`wXp_cMfgWQ=-NzYT$AH9v( zHj`U<nPtSbTN?KNO%}GQ?@jfYc3NzGOyQaXy>A;LEV7@S5!~stURCIxRI6^dc#85& z-@lgO%e~_*wy%EcU=%&`R?el&FD3cs_c_JR4L>BsP+-+?dEvFMXUpwwEbVeX>ZHD0 zRu$xR^@vs6mDiVN*dCWHyAgk_ymW7=<>84pI!@Tj$oIZwmj88OOMq4F&tL1-^)t;l zcO-7nMwS`bJwN|8ef!qRuNVI>+pT3)ptp`$eQo&lUIxDulMc6X<_dpZ(;1#QQ!gyM zHs|s6xyvT3P_^%un#w%UHaGXZdhr{llYj2BzF+WQ`sW<&e?PK>Z!V3~iavecMmI@X zJm2ie`sG&J{YxJ%UU2jEoS&*|U$}piZTCICq^(V`^lx%srig9zpX)(pUtg}sF}odm zGwXIo<;+`qHt&{J3l~cNxlBm+8jqk(>#Ix8RvzEmXf0pivcUd^=|!7PZ++hllhr{- z`z5(7zSzJhW+3GH`|huGdXwMpn%{9^HO~dc+5AC^FJ?r%el70s<nS!N{q8?m+E)m$ zcN@NrO4`_Ox1s3iULN+)Zr0q~<<4KL7>Xr%m6&E63A4+-#`27Xzhb&nXV=#&OB;N) z-qAX}a{s-_d${N5ANs3w+WpQg-SyA2y2Da}(`N_V>Bw9+HP+{h%nUV?>vr1L_9?Y8 ziJh~0wL<W8oU~8E^y}`4r%Qd-9ZfNd54*klWRB%>p{-3591id++6f#GYSqcSCwHTB zw_F9ws=0eR+m3Ji^2hPpUQiEWivO;K4{H}y87K!ndD``A{Z!@kf)m&Crx@iYR{!3! z_4M@h+GUqnyT#=*BE!xw$g>x4G<$|@v10hX<w%mTe8kRA#ysplBTdAtZ!p9+zDhEf zIkV&2K@~IewUNRznwjq{o#vwW%YW4jCB2k&ozuU)IIP#^nHZ86rEFTBe8faOYsJ&5 z;45y1ax;UzY&o2su-_wP#l2Mlp*b=yzJC|rAU64Cjg{8yw=;HMcvtbCfvxQQxws|e z%Y<}~)dg%}x^zoK?!|QL>;FO$O5LQ&>_4RGTss~&8#MN|X-;1JQH?1js~>FdVG{iL zFCy)Xc;Jx^%Zm{?>jWdYu6j>7ui81MAlEzk_LO(m<NtryRr)%JhyACgi4^Z_k0;7( zKa?8O+*&%^9-mxv`Pv%JGY4DBm#%dXIlwMzWtrVKMZ~gp1@AxK%Sla=heM60|6^5+ zTCrD%D`q9r<?v@7XM(05nw$B2n_KK=!$-5yIvUeD`lo5zF}!MW-1Gc|@_nl<9S^o1 zbgb_?H0^E0%B6XyQnq~xzbkz*$9h}d$-q8_(yw*@qf8iz7CPy_d7r;)>&tWOavOQx z-50&_&0^gyt&{s^f&9qu0F>2CmRx>rEOa#fpY#KBvBwTB|H`ZOUA&=}mw#VB!AH8G zUm`)wqSR>O;dIekcA2-fJo~(EU)9C_yuDM6wI}Fr*|IGz#U+oiz+$nZ%T0sMvx@HP zf4)2^AS`?$mCZsSSTFG0pG93f%KEITww)mVdCKTcKUKNtj6jG<!mIP<{>AY%ssHlT zqaGZ4vnFe?hI-z;9VN^!?z+n~9^3W7?x=>@m+#@%uU||n5}tfhE3j14_MX}8wX1Gy z%#H5b{Hmb!-18Xgpnl<miCki)v;USq=wp{N?V4IEANfJJW5ah)zFU>pSn}&I15=O7 z#eXTCIf)V-E2Jcntr*To@3pyguWpX#a(ljHF~*FPB^@y;mo8nn94y}J7Hws1EzHAF z8R}jAJJ8_SY=&pXQZ7^YC*R1ic=Yf1vevZ^o@!OGCZt(SE8F^>IiOH!=jn&+tAaN6 zcE&6Xojq~+J}uSiO*7{5Y`J)N$=k~9$Mw$tF?MF%`eoa5sV%<7Tf&XE96wvWb)#O7 zasLd%q?_5DT2igL(btbaD^u^B^7G%`dMw}6fA0O|l`h<-j1H?+Gi1x3GuIoJuc<x3 zaQe6XrVso!)e1^VN~?6&u3g((d%#_ybJCjA-<;gt*{!UsBoviC@iLx^5$N9g{NPmW z`fC?2Ca%4|<t0;xj_I*Eyn=QdN?P-|O@)5G+f(^j@9C9APfR~QJIn1i%kFQo!87lK zBx6C*4$mCdSsR~qepEc+6nI3Ws;$ea$SCecM{1qb`{$-yJ7-*2xR1~4>Fj3_+h%qv zFB1(eV@zH3R^a7|m0@##MY`-hW%1;n<>s`7b|O`)x2?Jnk-K=q(^tE|0~OQFXXYNi zw$}1nD&xU`-Y;)ws2#Y(u%YD6-0b=68)8%o<KKr)&wo6VUr<mm@at=4JGBG<dR#o8 zU-D1goxH2?u^U@QM~!=f{+1(2{p;Sp`o-b0%vi}q)cW|2luKV;YA?Q+k)58NK1)zh zKcn-gA5(#O!(>TbB`vneH@GfdOgw9o_AW9&xH*Y&K`+-1gQO_KaP~=W7cm|UTcYza zZR(lKWII{Q643`=H@#Ikw_@_!a>JWmpQna9-K<>B8CosRdUm`2*RW?7j<m7Osd}+c znQ#7jHMWbBS1rtrXP<QQ%KYNeuzwZdNqcf-nYlB{jqEz^+V0-8J|H|kHMmo(W{17t zfwLDr@SZJSQyUW+{*Eu_za1z`3WFL2i(Xy6cQ5XK_L=<#LQ6eaoBi82^}LgrZ_vo7 zq-1YZ`$JwZ^j@l(&`r(<i+NZ>FS&Y8GiiDJ@jufCPX<P}mX5BYD%)iGBECLWUfZA} z=%{_ghgHisX_iRvyx>&tg{wQe-+ubo4yqQ6KXH8UYV&m5s!?>rBwc&OQd5uEj?QV@ z)~-s6Kfm<J_V2RAJWbQK`d4=G?q+Y}TDR4CLN8M9nE7N*q}khhyHwpBSc1aiU&{td z9B5T4O58m2OWVDT+k!>Ef2l2b*!^ZRXjFcc`}$Yz3^FG?raW01p!KysN5Aj&>*N;D zHjZ`uTaF~Hx7kqi^tvS1s+NrG*E7}R;u#+VxHWfp9aY(O(aLJgO!v7}(>A7bYKS=q zXqXu4eAdWt?U@nQ^y#T^NcuCT$%jtd-l8<yYNNBcn@{ngwx}m<S=)`G4(-#jSo)&z z@v(<XocZKl?QT2$s*67<+{$#5pii3iuK6ExLA}~s<!6%jvKOm;4_UNOV1xf7^@k3O z)3{19Kbu?67d$w3_oUuzP(9by26F6vz5RbaaW=1-pRD4w$4~I*!e={{`Cqwi?BU|# z@}xyteA~8t+sdx4VwdF7ny%_St!3Ns$McO3)Hf_%FF4V+=8;*>wZHxHCXe^Y$5lTG zd|z>u!Qa7@tMG?H^n;Gfsb_g7bmhD{>hXi`@Kf$txhtpbT06JMcx^~y&r})n!mDS^ z55CQG>b`k?g+xZ<#sVw5=jScirtvIi=sdu&Vc&ZD;)7Am@d=uLBeW0yU%k{UeBUdx zq<#Lot9NZzo_fa4dfAn$8;eiZ#mrybb@goH-PyDAql?2Y=Vm`QumIKI|E6%X{^LHN z;<m^nGr4ZY>#re72NeVb1t$vYh(?O$W?Ro(xS%K_Gkf-B+5Z1wjjs=|m?;%4QeOS? zT6sx?ahQ$O|BkEnF_XQP$BCc#+Tc_EI5GEJY}ao8_RW2)>SnLs9@&<(U1XI;D#ssb zgS8QBi{G6;d-2vO3*QyN!E2wzo<ArdYnLgM=0DTw(T6`?^)kCJzr549@@mSqN#?0W z(LYz`>CasI`>c8K9M5P6gP0@fOViF*errzX?1;2~_s!Jb<nFJ%VkLiil$}76**{%Q zi-w=MuyCczN|U_@EB?%k(O%-L=mtuNb1o%>$nQ}Rdn~UoVfGSLvE6K|&NEp|e5jzb z{K}KVi<`r3EHrak*9%SMcP^Nb^hWuplbqqMPZCDwGjfkkf4Q`M>7&z8!MPuvhSWzn zhn}3UCiKsjIaaUk%I&s!Kku!NaFm1Qtc81LEws%$^83)u&F+8Zg(W1{*BAD#TH3t* z#_tcm%Vq^?UY~xica`_Wk8&?wA3yN!?#*zH>%0FQ=dkRr`ByFP()d$p#{E72r=2Z& z{r%mgf?wP2t=7AL%vccAX6E-^n#XuRvBUd&OQ%Z_-&V0F9-tMfPu9F-Oki#3KA@<1 zB60ebZGPKa!Wb>4UsO<9e)Wn+&gJ*DCC3uA<#(#;JiNZ}hY(A<=vL<GazS3Kr^}Xa za?w*uTd}@5sBziODIXqO>d5r#O;~0&%f_tM$K7}9t1IV~ZY_OR_o3gmK#Om-N#T)A z`+0a4=wH{!x%%zzmdpA@DQ5DayLVLN-`->S{obort5++Z+P!OW{HK*#JNP(Xzdw8b z$GcO<qOZ#w-wdjWmEK3*xb@4CLEK2lY@M@<+}Z7Z4ayrq>Flt`js>b>yQfW5a9_`V z>-O_VrSr|4IWA8o&GJZ^z3<P($^5Y&KX_>`sBcWtY&cdMum4hV&12<dQzOdu8GQ~} zqLW!UwdTaxCDuhReD1$az3nL#qJBF+{m7P}Rf)zk_1>E-G%IE>y>GYmQ)K)!j&t*E zt6ltpyhNpcl}-QWW;k<g%h{P{!tP}~?=QESdSu<ZcW<;?4mn@$44Qbn!;rnhiX)2k zS?jXs{ogAN>wcfhA3E<Kc=*Pl<m9A}0zajc6TO3)4$41?)-<s=;Q{iF^u7%X_WliN zYm`yoPTrV(b%r{l%!vYliP5XdtuFTQW&c{J9;YzjJi{{+$$7?GZm1_sdb)pe{)0Eh z=9<fFmY<sD6fP`&`>6i%$sd<xE&8|8b)xbz%V<a4>WZt!?2P?%XK5>5IQV3H@G{@S zSDrl+Y`<^+^?ULGiR$C?qvj-)-2ZlKMp_7{UpAdD(DnP;nMwO<PlwH@-N&B1?dx5Q zoVp((FD<7<JU6-f>n`uF-uL%zgkLYV2h~6qKs!G|+azW7NFH$PY0<SeJ^AEYjrQAh z&%d$?3JUI2(m1xJ&uy`KSy|b;G>a7?)yw!p`}VoHJbkfa)mq2kFuQ9J)1`I@Dg9@9 z@L~JBRnPuwTE^=;8Y(ZFy6N{O*R58@0x{lP$?GI7owPTt6t*sbG~aiMt!hp@v*CQx z_t0mWuFcb0i~H=VR_vF$SAR$%=gn*Bt17yGcbrVwHtDyz+UBYM=Qw=-$yA<yb5bp{ zHUmqu!gU$#3!-N~K07}<`rYo8niKzBn?1h^G&keo;_`I!hOMQItF{>nZCk6Evb59k zUjw)#U#9F+`*%7+%;A85jf*zk*v<2S!Qz*c;8f46XBtgXpC<QS-v9N2>BA=nv>Eam z9~DHOKiz#Mu{i6<mQ!|*r(+h=vN{LC0=Dc4ElQphAT4^0$M6DE`CFG7zxjsDzs=3| zTs7}}(Es<Z#Fd=+VY;>(yDs-k+pzLSxrpC<f8$%b7qg$N=zCf7>Xoc~?Q|nKGd|H1 zXKNomc<sCWPW{~<`S;8l0~M8&l#1>*xpwmfPTVcYc{}J~%BP1;VKr~JUYF1X$@QPO zI(^Hwc}E=r48^u>)ipZc4=SOxl<%u=^o{%(@mTSG)r(mLNe@It@9-pKIo6h5)W2b& zf1>u%gLjsm+m<G6zUP;7I(`4YWju~wS$$&Hm!A8(vdZXB<#JA4RmF7|w(YVoimugY zDNZ{pQ)uBQ(L9}vjjN;cY=hCvwI_UQ=bd@xe0R3_bDQ$X1+u%hewxLS;cnG<T{?f? z`(K6e@x~Js!5%oir}A?X2TK_91Iy`mPb*$k7hZT_o71(}?Rm1ypnG7~&6^dWbo$oq z+m`K?q9wi;gt}wbuUgIMA|a@xrGEchbIF0X*|T0bU7Kok<9j5>vMKjc`+s#Fnzwz| zCm%C^r`c2PSoqI3{<-N|NNkN|>in>r<munHr7z#PTwb@X%1`!dUVm&{fwQbf$7#z= zx9r|t<#}7Eb?<ZfIhSM$n@2ZxFWk@H$+X;Hqv_EX`+8R&&2-y(#kbb#?27ZtBz%uN ze)0C^)Y{ep*@Q@i>HU9ansOJc-8e};dr#)ow~T9dCtlwlw`*=AXjrf4+>*@8c?<<= z$`3n4c|iMFD^CdS?)}Nrz}MEasWYzfsmo-ab&LgOiyd92KG>~Z@caJf=4Z|Cqkiu! zu=p^m>rQ7=b0%ypfX<2e2h?WPX?|O{(_49&r{dGf)LmLDZybAKyiPR&Qf#lZZe0=f z?yc^EoUIpA&Q7_rY;oQF=gZT4+fIMqY-4yftwyEExNnAGQsf<pKP%VoU-I7CJxzO| z_ZHLU?f&j*pHGS`zJ2e`oZrrp&*ZhM940%gGo4hi_2sfq+28eF=cToQ8)^Gmb91{D zK5@Do60{ZS|K9*U?omJRf$_zo-RXuxQ#`$^e_vFa_(OKa0XG-XC$m+yS!Q2r;or0R zbNr!|PgV=m2zGhSyrx|?>%ydYORemZX8ql?w54l`s_yzp{Htf0yYtPxSiQgNRov%K zYad+c$XpuY9P2l2%S`4KKgFyJmu7V8&8X!$)OesH_4V&x6GFCrwG0V=mb*5|C+)LL zGEZ5~S;O1@3JjcVj`IxpCcJ*M@Wbk}@zJHaR{PHKID>{=gj{dm@(a7VTaxp5o^H)` z7bWH%(BW^DK65v&$v5CJxz+UTTX5o;^NL2z7ZnzHeR37L?O48U?~3a79FY^g3~Ify ze!7PzUl3Z(d3H<poZGuBlA`YI4J~Lfv*tg0^c&Y!cZn&tmQ;#YERK>44@&<QT(ES@ zicNF*)<3Iu?7kgVtjcoBC(AnHPsJRg+*=)~wJ%NnUAh1K!t=v!M$x)`r?xG>pKLT+ z{mq?iye~tvs;9nIdNcct%>28r`PEjw`09JMalgs`^Pf~-{E#%}1+`(i3JRld3%Y#` zWUzTy+LfxC4mz^^#Nu<Y7p|2t9(JhK={Tw<m|Vy8fWfV~L#xj6?bB1fJG0+f^Y2MM zdtUU{28}+MzrSugpJ%kkAbL{tN_+2sGaZ>r-|Rc^N#;gjXx)d{>Ko@{jEh?8-8XB! z?#OgCv3$NF<5hyh)nj}`M^7G<*!Ta2<%Gc6W8Ag19;+|E=bn7i>y>kk+UBcCyXS7n z{rv2XcFXG<uAyt1HD4?+@O6Ecl~whZzxV&=x5W}BpxF2$rW03_aA3x9MxRuZIlGQc zwC^(9uUAnTdaS3TqvKTdu0_A5W|&ANsH{*G+wIn{^@02rfr;)FMN^vo=Kp?oW<hGL z;4z&eE4FOexcAM9`7`U!-j5XDaK35V*&R(5o8`;>!?iYPhJIVS_|rwDY16h%>&?Bo z_LA}2bsGdPZ|TWzdwjV??8l_Ejz+N^wJSebzG`4L$o}+1@O0VI;EJ8~2aXoJ{;<%? ztA2gfTMPB2`!7~MT2pt1X-bg{!=~4-@3vOd*MAdz^-9}{OHcG^M5E2UlE<Ia8?UIB z)xVl=ZlD5cNhik&b^8iEaA&YcoiMrQXPV)4zBWN+C8b55tk1b9bu+F>(8vmgj(Wdl zSeIzhal+fiROt4R{55jsPrtpdwM{t5=CJt0*BiHb=V*)1^L{2{c=jp#!m?vc!aD@+ zH-$f9PFiIab;*0`y2aD<x!(0%Tc&5CaoR3+w$jzcicSu@f;V#v-ETavDxa?Uuv2;S z)Ef)ER?g;fPty+iE}j1@u5s~(pBw+r<!70f{p;1<?LGfbnX4Pffn1)ybII1yO{{-J z4siCgEiSt*y?NCQZ_x0<BCa1nCQ?sdM4M_z^|HmidG$*Sl+op$%v9N?xxN1Rq5y>* zj2HYl1Wr|%>hs0DNWZaMWaG@mpH#MZp6t~QXMVGXQErXY(`8q$h^*cCWA%4?u1dG; z%Zt7*UVJZCcW*7<nJ=rBsx80i^QHRtmQ0J3{eRtLvUgAR+#}cj`?>Y;lx;$0Un`BG zXQ~KuetC0a-d?SP3MvvTJ1h2-ub&{m;(fVsSGZLEk87qcUTl!40F8!}zTf|5ljgJ& z{tPnbGc0P)c2E82kRYz?=;GpHSFj;7<A=fFfaqyDkwQkiyx+M$D7rOw>{;=MzmRW7 z?bV5s^MAkV4}F@*aQWN52gghns=hxmclnASkIJ~2+q|^48D11f<;Y<@v+~EzDFq8e zHLFu5%}&a>bo;}c`T2j(Y_B^u|L5(e-%J)QY-s(QCU5)f#Gjn}eAj(Z+uTxb3v;M# z7TvkhfAY;!CR)+opPk()?DP5uduM1tlR;oeUS5aHr;x|J<)0IE1qB7Ku6gn3=w_#d z7xWoqPG{^WC|gzKesQ|(q3Y#Ncy-sV<zW&Gd^>kfjh0kzn`FnWf_qoPub1-kt!vDh za#2CaKW_4oq^aIX)=yq%D^1SdyPjEX1LKA7`%16I{j&S)C!A%hn3tiv+}&q${I>GE z;*N5yW7YOkt?#d0mw4;cCg?hKzup;Pw^~E*X<1t)%)NChhPx}=@U70ZneH;3oD<sw zPn)R={cu+b{P>u4^37AXj~mX+)k)^rwLRzTzNS>hg#y+;Uj6)a##QRPS=|4%>lZ#= z$L0pAOtMZM`u45z*rqzp2OMsPMeR4bn2FTqp5A{)Wqpjn$7NQ6fxK2KvGM11o=IJ} zb?erR9og5F1NP3isGy|3+C%8}lIZYxqWo&+T2HJPN|p5|-20`uxK943@%5u&4_80C z?RxI+4sh}ORNFu2o&ED|kCJx(SXyFq?@6-Xx#X8=TaDI*Jk#{{_TW1$6<4~Uj`fZ4 z<BaT`LQLKrxhf*ZB8~fHHvjp)cdy*99o7@hgjLUFo_tegQ}XMuCBY}(xL&)?KfipV zz22MOFE;8w={RWmy=P6QLdgHE8{^DO>Rz5J{;^C@P%uz8LZbWcW~t8-4V^u0+0PG| zf0{I{qod=Gn~R-w{=Gd4%7J^MqNAmMyVR{&wMX2`WnTC-m2J-Z_Nf`Yd=`4Wd*eKY z0*ipEeKS+M@+SLKPkHlN{LAJg_w2mq##-+#$godcU6|^B>`s>W{M^aPt8^wVZxFnE zr*GP`s1<rweCKvg7CvX4CMM;i?9N<YTObfU*^|HSSFXzD!mf*xejkbQPrJRXviM!` zngHALt8K2-Ke79kRp@!L>#*XdipSI6M_vB&^tPJe3(&ft-bEKPmZ*wFFFSCT!6I}@ zbzDWl)m6v6ZyKDOIKQ)_W5uSv8}+xgwDLG#jpJ`&Z`jIoCe@_l1pldNN6bD>3ti3| z(X8+A<d)!5u?Y=NznLryI$+nmE?V%d_O^59?3t!^<#<i4eZ8XQ4e~PW)SUHJg6o99 zv#nQ-Ro(Q-$~ll}oYwQAJ4Ez+WroPMGanO;qCNjMo=w>nmGga_thIrK!31!_tTTO| z<Tt))p}&q6EQ<_GZjzSTU-bNU#Wg1v7niF~CSALh?CX5^J!8#`iv_=Lx$L_o)IGJN zEb95k>=IC!QK$7uzsKoo<fatQ6DB5WLIv-AS5dlOVB7h2!us`{K07jxel_@I(y+Kq z|5ffik%Gj_MK<$G3V&TZG)p<J{d(i~{>aFX(&hhD_dY2)S$X|R(Y2#zS3bYe%9eU_ z`Qo)FL?<gfDt$O7S#Zl5!N2EDf3zrD7G(GHo59SrOYFkD?uKOP&CGpmfA7Rzr&!yp zY3|FnmaT1UT50g>@G<>+h1^!x3R;Ael$1Vg1+A$UKbCYoN@;)ls~oo@rR&S~|Eo%0 zDP3MxX4C|Vv&{D~7w-KlYg<@VQc@Ce_u~()6>SZbkG3$ug!(*byzb8JhJh<ZG z^$CA17e9&8U|kpA!SlQ1*T&p~zfVuTpyoI2&8N+o8#k(5zFy<BdZlJm^2hM^^&+2C zGBPjzzBuWAuKH*5Efc<3PT8^Tc%rcSqa)6IavODc4}RWV{`=GJQz_eotWwlAKfQAQ zdi%b6u{XmxS```@e*ZO+du)3lk*i^8@4>bEGyZ+bHU8NqC@45le(RAWb>CTbf46hR z@Gs~S)I6PfB3#{f{=6j60rV%XKQ}p6(-XL2-uB|Z%Y4fjcJwS%P}*Op+nKw6y>9=? zrTdu*zFb(isiS>io{w<UC%+@tp1EFKd&6St+S#jb9CLA=qPRiSVELoxL7y7Mg61Ws zW*?hBD|2VxubKIOnVQy0-de$WY{?7`js||2@;ft>Kg|F2>%w%e-`}j4mKk%-JQMb0 znVo;y>Ezqe|4;1g-o>$7_`Dp?oqtBBHPv*_o7X-3mMxJ3ik9vdQ^WmoGIRH`9(d0% z=Sattv+=134{q~-?lcH(<d3^_%W7ughyAT<*Ty%U5OQnkn!vV!c~xxne@1=Ain1&F z?caW`GH;M&sFJWN3cB!8_TB%h)w3oy9*AYo6FzBpYnp}SnkdH0EnUp6mUc-|f=@fA zEcaP{kMW~l=!%*xyV^3fPuFd6`WUub+rl&{%5&=VJ*iff39*^VJ9@pcv{fG-a+`GQ z_A=kY4=1bjMNA7i+FiT*xS7wNZ&$B8%<A6zefzavT$+DRZ&bgw&-&Q&jAEmS4*uW2 zy}8Y%qac!WJkB}YK+=Wb&YcfGZ$D%6eY7f8_W!QAg`nXm{Vun~4@*>vrh2MbD;P}_ z)cl=#T---x(uV4rpgi}4v2>b;bc3`c*Z-`}qqjtU=qLw%p2QH>{_4KsCw{@3Nj;T^ zH?29FIZ@Z~>RPvy@S=i(>1O8N+a7=Xw~%`Z)4G67YbLK)pU?62tM3$tghdh8T$WrG z7M;N|(UU=qX$H#!2ZqaxKFkJv`NFA>GK6l|#s9wM>B+l>@ym%tdIwWWmff6pd}+|H zr+b_^3#UpL`g++Ii0oqC7;0X)G4_v>m1O=WL-pqyOEyPU#}_0Y*}@bZ=X5jj@M^t~ zn9bKMKYP#GyN`97zQ~4xgL7^sPg{R~uk^<)C*#7^HedBR9`q@F@2p8Tx9#0%`S^S8 zd$q4Jt!qzNUu)VfoRAph^gidsj<=8g_4V5yj}Q_RoEQ$uh|*@cS%ymSVh=prmMFzd zZfu+?wXyK8!k+K$E-o%|N|*T5HvYVJ=xF!(fCqYRi<a%tJHWOguf=0J(`=oqzR~}` zZQt)Z%g%P|^D5_1MWukyh*bv8+=5)K4Hb7LcC|eISjWQjm*L;KV^8*8Tj{_2_|fKr znTxDs4;<7o;yq9jYI{e>GAeZWhqr5e`&2jf?td5^n7rnx(ya+EA8SbJo$B@vygm7r znc2(S9Sz&-o<-X~_m?)8K4qIUE7;s>Nsj5dOOvhI8s;nzy?JHtvlXjDLwCPk@pqTy zr2H2JkM39ZS#eF4l5z`CpJ#Ss$L{qTjv35cTlQ;>ly92xN|SB*mB!zz7Fv~g%Dpt! zy05Fv;KO_-*jM&`#_hWszc}uT1Ql7H-qUnAbLD0B<kW^=f39FOS#aeO%{BkF&kel6 zaKHe3D$btLCgb0rHFFgiUtft!@YHASeAFeWHnl2%;ohBfewhr?B0sjSu*>hvaj5-U zCEWjA!$2whNJqk@FE8ii2iOSQV7=PQl_O*Kk3mAN+fg+0^ez3AGiSEE(%HBsa*>sH z<4lQP;ph8ZzHXX-WSQ1k^E;n2TWeTn$}v9QB_Ph;=Dpdnd+Ci8)87hS&M~<yT>a&t z?X*==H+#PC_*1wq{>Y_E*NXNOsZNc%(vdkeYx7yb>swCLW(od2xhp5+&Zp45E7$R* z%a>m1INZWiQTIJhh1*wP<<k^1Kf|b?`LDL8Y<s60J;873=Kc3e1^e0pRQIke{vE_| zVabK96aVk}*~XateE;IbhYj9=g39k=#+H*VO5tV4AOCM#xH5djrnp=Gw(noN?RUWn zyNL-ZogEz~f|(i}v>DVk{(KpgcyiK5HM#nbhQE@%t1c=ZFm`)#J?o7A<%JjCJFN_P zKd*5y&x0ErS@UegBsX7X*e^QqzSI3Gq0&1&lGl#;&gKi9_?Wj~5$l`<2Ra$}o*!Rk zb;B!ZcG2Tg$Novbi{zZhsvK8fP<Zwv;~|y%+<A83Maq|t-jd`#_tkw{(8Wugr+mDt zPClLVdELsq>qn2ibT<}Tqqm1Ot2ln=t=L!D40>~n*}pEl(2=@#rO3ZK*W;_Cvo&X~ zowi(J>&K-69r;2xMI1nF<lDi=?H?@EnJ?GMQIP9gb!X16zI>fq_coS@KL!;udD)rS zvz1qcODeD>*eE}md3r_tY?IomQ}62beV+T?V1|p!lWi;wc09f3t{f-`uv=ACX(F|E z+vd&2XEQ3|q5ZHrhT{fO`=&8{kY=5?p{FwG_Wl3=ZhKx{zC5KuDnNT`QcK&~_pgiu zDn$>hX8MzG{<7xkeRbfigN%MHuQ&xP1y>axxX4+%{E5o8W77L<x9Z#eP!_Z-d~wS5 z^W#TO(^F&TDIZ+(B>haPN0fHO^~y=Vj+~qnTc@FKb}i-CtoU;=t1;@?*RxA!1#A`6 zmOh!;YEkj0V$bIb8|xYW?Y<W$u{-!`SN;CSK55zul|jo<j<3kEy}fH<2Y*_;VhnqP z*zey)ve*A!pZU(#B1Xc0X`S55AFo=OWv~C6n-99t#&Ye}ty?$7KM`VG*YqkT)nm^y zPu9941_FW;Pyb@bVcj5kz>IYp*9KOl{8fgxO$2U8nJi;h;_OiAN&U*`5NorKnPJwf zS!LzNAD_&z_P=u7+~n&wGZm$Yg&s?fbsPF>UE-O@%;3XjAbNmN$tX0GpS3_^21kH4 z-<7tu&5SnZ0xIsety_1V!J>cShoy3%wIMpM7yb%))mfpi!JA=4>dz#rfc1tSEBYDi zk6*BN5S{$$wexMEPT|BeE1BkST@40}(0tl9Y0`~X`wPB5OuE$1Xt8Pmuh+~;C#PmQ zb;rnmdlm4dZjVLj)R3IyMT&cZv-K1Fj-FrY!lJvx=5}iKIcV)){8#Aqs;C=R7DYuw zT{wDNmODGdev|3M1M%#S&g~8KNn6buI_J!`x4q^?>jRGeF8KHU+100a-^La+sWhLz z^7lCJbDp}7m-Ro-1ugd7ZDnP(rZ+Zrx#ZPrbrVlBn0!7rOI_0RS=2-M{Q`m$YwvR9 z2qjEjk!N&3Eh0>O(#h+SeSM=3fBez$()8Orai0ED%Ex$o)t6g+IWNI*Afe#J#rFyG zGM^p#SW&Me^2%LnE3bsttP?Kn@6X$BC|bJbf0s5N&$7$y-LEDtvWj+1b1pS=;bT5< zZe!PqS4jq)XFrQ=*}6A6^#AOMA1;=2-%wMsZ!qNl_I~?)f2pb}wuN043I`tSxOnl{ zV^7Aq_J#G^omft$6nPoQ)Gbdvvyy8Mx6*QkjHE4l7Qay0cI@?gE523sYy}tQEm_^O zc&%sO#ce9bH)Q$Un|pH8`AKe`#WhDvey3JHcbitRH7Vqp-}IYlGtar??0FLf+T{%H zJx&e2XLQ;=VQyblxSQ(Esgqj5pO_t&tx!nwn`e{uGr#<8(YL=JDvf4Oi7HgvJaxm$ z?~`u+s;<6xf4BAV$U+7oo{jH6JrTc={am8@b#aEn+U3&g|K6(pz3*4P{)b-BSW*&f z?Q8nVS4XAeYQHjb`FwmLzw?rvxb>zWo!6FZO&uLvTci(k3sh$MADYFQ<JFbJC9%2q z{oC!fn`2ip9aK2<amRD1OG4e6K`ZMSey}&hznE7nCTOz4jBmxhvmJY!UGDKcn9IQT z`1bqk>07pKGg}w6byfeu4{xMRZU*g*&porpJ#})!34YhopG$uIk}o^{*t287!sYD~ zS2hG_d{GOL51ZJ|ctA>mW67&meOq;2^Dv$ZdEmpqZV)sz_=@A&pQp>`Cx*zg8t9#N zt<e<!SN$*f{rNX53nR-WmNR<Y3RiXWncVa^^cLTdu)9Z&mQB@e_@{V=ZH>&=pqsDW zPOz{_ikhgazi>~|a?Y(YFHhTgZf5+YNvHTbTKQ$l-^_Trp8v?lG^LmC*q#1-ySmL# zYj*$bw-NVWeNNf7_Wuc6uGuZhZ~otSIDOMw5#AZ|UG1tLvogp3ys};*SV>9gl=`iE zcA=r?L$7|mc)55U(_@86A7@RlS$<sT=bFM7dpFJ4;NcRITgLE1Ib^=*>8h~C^nU9< zAEsX`FO^*JZtu}F29{N8?!Om**?i(Mlg-}k^Ea<qIm>VU!UHuOd&HeDPn=Y5!W(hz zD8svCjXld3F9z*8+3MBUEWztvEvIy!PhIG~XN%Kq5r^&Ulc!|Q?R2>$_JOHETx7@F z#;Mv%m#)n<3%SpHwNjwce8!cqFjn=AuKQ}9@9uf=pDE+sW}gN_&rnJCRPBPjXWZ0w zavoFL%Paoj+WDH->3<>@dG*bBcBPk3GrD)R@L|`!3tc&{;)<_aU6s}NR8-h_Yb^Wo zM<HjbiqmEKm}kv$3w8aNlb`?7Zktcq>bd{?yzg$=bTX&&heBCt{`q}Pstz-PJF6DX z|KM{!>O$T(AM0LDCYyU--pAMef2SY++j!qj7Z;Z;>%Yerx)y89wBc3y%s3~z$C7W) z>?fClBi<Su%PGrg|NECmOK_t9ZWe}mwhwbw?OU*_o}<m_{Opn{ZH70q=j_|JdUaZJ zO3zK6iGB=o4;Ri<UL_xJwYz<J-s7JWzTZD`G(l*#I%r+bW&z9T6F)4O!f;>wff%z5 zbEt~b9L8h*QAviauiO}<6^m{&YlojwUAwkeXJVyKmUe&Bq#H`{dw++Ve$l_tpDEh0 zNHx-P<Kwldx7^Rgci)NmbbaTHO))>bt^D6!Y+pVtDE9D{iT>+SxMQPkMfHWRTXJcx zl%en4oJF^^U5a&elob8CBf}i-C@nO&SAAxU;pzWZuJ_Mf8S>NqjZfO@x}^8JLsq72 z%gx_2akI<H?hW}%g{+tCo$EN+u)^fiP5t@SAEws-XKnUyaS7SI=<VBJU#q`m9dq~+ z^nzBFJGA)g{>gv*Z{mr!etmN;+`M^mg^=J+XQl)14NY2~8JBh*(HCBL!Hhvbu!F<L z>a51o#k&IAg_!oOdHF?g!<ts5Pl^o3jV<JAPrE#GU%#g)>ACIqoOBbLlD!wNm2C=q zo1kKoZr!k3_rYwoAKJ%nu9MT<ID_d1L&D*COSVmmc;mwGzV%gg`})6?XWuW_<C()7 z|MQw>(wY8^??o1|sw}rue9e&PXO~ivJm2-mk(Wttdsv_U+8n(y<E6_}yS@4^Ri}HO z+r4a8tho4cd0jP$R}bvE?}e``dtRY?`HIo=vvyLwi{1LYRz3Q8cenQMjq8ts8-`Dw zJ@roWRu8_hFV*|q=Pg!!hr&v0b1&`=l-_;W);d!l+4fe&+pnL0?fW%T{Kr25LBY`d zprHYEnW7VO8dCS(T`^BlX}NTAAH(v_HM@lUMSo_L+srE|=<m@IoLK&q=|?Za{(uLP z*$EHC)r2G&7#?<5^-XYi@SY)$t-#pjnZwr5Ms3y`^Dlm!vS3-z^Tx#+E00x%$H%5u zRqg9lO1rH*U0<XjSFB+7mFxFY9(|NMJRxN7!zJ778GbOktOK<PS{{GA%y5SN1E^i) zWoA7;M&E5;)py0DGlv<D^;_(eDBh-cbGe{y!rq?O?{)`p#n@lxoOoCEhGupMkI_H# zH`@)Li|O6B7M9Nbv~6B}RpO`YKUaUtx7wKJZ@qCU^X1p8Oy6E+{Px;YSnCih>}UVy zgW>7x@9*_CZuxlZ`PONZZe~?>1xnxNZ`?8O#J1ee(gut73;*8dU;4En;!XOg0-g0w z3_ZX525CRtv95K`GKLNFSN+@YZ*u$$>HqWp*G!e?Qc_y<>f*h7ar?O~&KW(+UG>Y1 zLEZ6*1;f{_g%cxIMEMt&PGzt!{}OcSktv7Z#P&B0Cnm4jrI!%tf8O%VhThk^cb%Dc zx>mT;!0BDt7HP(sv^lAzZ;YNXGu3b$uw=LqS@qcFg_1$%S!1d4cYFNW*Ez2Ew2kY- zR+rkpYadqZiI<hxIP;IHO#gT0ilQI)(*=0WIat}sAE;TePy9EZm>cU!&^XSo-N)2> z{s|mV{I>3d_m0No&-41FISc*nwh5^}eqy%r#xa+}>BsZlhGi=!_?cc_x`d^4sg3Td z<<F{Oi`T|S<$l^~fB8h|O|O`OKZP89yI$U%@0Wb|on3yd%F+J&Dr%dj-g%p?IeVA6 z)@(zzyZJfiV(Vh}etvHH^v`Qft#=Qi=N;k~;<Ph+CoH@C-L93*mvsdM1%I9arI7Ib z#m@t$rJfB+Q0uXba`Ag(nzoI>k@djDYgwnH8w-92tIaGaS^g(FP-#(@m-dG>9e*M& zy*!>$@WEV7$dkM6o$A{6uaa7{7F?gPgW*2&hrJ;R2D($cYGYidG2H0CxN^mJ-N;QU zTXJr0QgIH9<i2(L{<>o|T@zRAkX`j_se{cwU*S%kmYI9p7B3BoWtheoam~K2CiZWi z?0Y^Irsu0)u`=`}HGDcf=g77+UxkgC&!ZS_8dtXGUrUi`^eyVyrfRwA#HKs{HD7KE zm{u#cM?c)%M|;tmqN$Npse8fe<kxQZaoqTMQ#Nd<<)G*}`@bu!LhAxO`I9H#Gr9aJ z=i??zquXmvPBu(`b;WRN<+^h7pg3vHlgB+{ebP1;Mm?CAvhAI@netSx)OzJtuNdNc z8Xg2q+LS(f_0iU&-%1wveNW?Ja9_&w@V(-$XSFZ(n4A>`%_--1##KH&5~5T%A>!IX zCZG0KI)SoYQLkTGiYPIz;G64el(=@A<mbT2K34zQIm7Dhlf7L+;_@Ay7#cp?xaEYf z*ahCu6{(Jvmu5X@x%_hf$`e~pCVc2VnDWU>@Mk!~Wr>+x68mclKHO!fI}{Ld4it~- zbKJIEniR12a7WEOp_k7z=7w~%&70>KaZPyDFO~-Xh+{IDI<J{{d{_G3JjZOLn{#K& zXK#sFo3|FI_U<sVy6mH6<-0;;leBn#jOV^jpQh%%e`<5PYxCQpRY`eojx)F1Y?!(@ zPAht^tdRKRrJvMquPlBTDsIO$YcHt%(sX+J5vS81kM~;sdF!+EL(%_+@B5?eeABdl z?l=Ql1LCmzWR4r}w!I(S-c5a#_0%aiHg<2CpWv1mGc-kJ$j|)tT%VU=e&Uyoj*dIx zpd((23JU&Dc(r6os;@}08q*9FrQj<wGN+wT<dWe@nB}P^tus+jc8^hH@3CF-)4tZ4 zm)*H}^W+O5!JXQi4<tkXZd_&e?ZT_8`rD2qtx}q^_>#NR$`E~*ym#{U|N7eI&Ex0( z5Xs7ylyWM&!Yfd1V`zZ0zdw6}Wsgg1M~%GF{5C`V&HReiJ*j({9*8lRHy(CQHC5|e z`|#Ipy@p4ZEBCKHsxvt#__Eu-DL$uDubi)WZC!o9NwZKZ{HAN`t-n&?g*&q0YXLHs z9~GFOJe@)G=9P!5XPo&T+qY`f-zPj<rN0F&Tc=&IWZ}fub1RSV_{f@<{rYnM?X9Q% zfr7QOuB2v%n8|Oyy|Hc+)5#p`?K!SS6Hn}O(%|7_xxxB#)#i`U)gl5vOP&bF|2ccW z_y0!$dv_O?dlUKCj$c(564u-Qr-<!v>h9OCl@$}-{CRt<Mfd8lhjPXCp`whh7D@%4 z7UJ=jUV7|}`n0PW4vVEO^Gy6GkSTE0jrACF2Acun0T<zZb|wZMhSM_yuZJidvZ>X2 zSLO2LY=F{66G5(>Wiwq|T>841D|}q!c+@BN^RP8ryRaxVO^fKc_;DjB!7*$<dEkKU zvVH%u1b@mj6!!SsjNy0?FVS|YLodqYHpBm89wA5mcfJZ@m23IbHEBhRo65%C|EJ8= zmxN3ct<jyUJyGj;_M~L3OF`?uEj`iee$C<2cJ=tkqdhay_V1i}cQOC_Egq%3m)-0F zo|)*WYlR2N-jy&sTQ+m?^}y<f*JHS^E-kn8zBB99p^Ez#-TNc|xg`nI_wxVx?0qO@ z+bxBq^_E_qX~7K9|K7{*41ZK`KlR_IjL7{f<+64-Y*_O#Sa$!b-5ZmQ?Kxar<Sb1M zpKWh;Ja;IFZ()em>uj}Pe!Hv^6Ul$I@3Rj-7p<vrST}#K)aQpT8e7iJo%>nX$K}Za zMh1JqiRX5Oy!!poAz}Kersq{xPr4{EGu=sOsMfjqzv;wrh7apQ?v}fhTwHW>?)SUj z-P;y1&HwH2z>GoBZPA*bfWON``|HoSDD9TyTl8s@Tb*>Xx$=F3HL7asM73Xo8ZBQ+ zGaI%!B|j?J7&I+NX6>BquRNYe=)PR46jqoJUApDYp{_G_7#q*|{_jcnCgXBwp<&`* z-+q6$#M5FDUz4|9jXP6&EARGmrfo$pmOglLa9-~12_45buNUBQWZE<H<@w~cuwSR+ z4`uJ#?-_ae$1~9Sxu3`WJ3JBGUS`)>AK>hga-EN1waeE_Y*(2XVwSAZe%yFKuWgxG zgoC-uy1>)3xCPb1rZ%!Mi5qe~y?*IhnPkIv1EJKfYYd->bi^EHF<aF2^|Q0ozMAhp z89wzbw>I19!!<i9WRrcFj@kZ|S5A8Vx37LLr+z*1Ugf`e+gI&c9la^l`^JqQZK=sU zjFTPSP3UY)kuXaTYBBP3$bFnL$Fpqi>lCy3iZ?rI)NUF~K6&oZ8Fd%yhAW#Cy`zmL zY{*d)=lRXKQ=q6(!s);!-RNmL(bMx*?q0R)^`7(p0<TVAW%d2{%3rni(^mhU^L@|s z=W{;qJHPVt>*t-Zj+3^v<vjRRd`;K;P~GyfH44Xr9fQ95Wj4LK6@U8vTL#A_x7>io z{dQTi0(`CZacH`(-<!j}@AEP7{x`p>R<}OCe(l%az^<D`@5{K7ws|VE8{RHv47`yt zOTX9Sp83LkrQe?4JFWklL$O7`$?Lt`D{-IIUr$Gx6+U42zpqiiDXAc;@&4v(|4zrA zea6jrX61=PT_=oujdylzt>0Pna_Rc82j&bGTRh5c#CZiyQZBz&d|ox+@A)k*ebaZo z`t7^=YwWQZ^$RRHH2datyiJy0-T5Ma>3iEF70xpatY*2a34U~K=Ek{P;^m%+?829v zH?Im)Kb(-sYrME4Q)<)Riml5&tX#bJO3Pl(Ro<~V8%uBB&aW5k@yI{>V!d>1=%2T( zs@Gr7N!qq&_uK=|CQD4sy&LPHkyiZp(9Yrv-QP9!k*k?`-Qt%!Pu#D(NbEo7@9)Me z3LtNKR9faY)aRzBg&BYLo9Q)0z-iG1#t-d_emU=+bvB#z$M$10?Cmb+t-olJGWX`u zqkRnT11FkueBjZY#LHCkdtdGEZ5M@p8a}ny&-FkmN=bZP$i(a47q4G?Nv1`lo3Y_- zzwSQf1E&wI581RYVdtAJjT2k~YnQHEI;rEa^iRv5O!8}UQxYa`iJewd*7Kyp$Y=KK zz)5fP*6+RCHA8H<ZT~h?$KS8Mb^n_B<zLA5w{hRP1ZTdTy?(EldHlzwiC-Uii|apH z^!P`d{#3Eep(TDxX6UwA3;ymGcU!#4_IHVc$hNe}uR~tu$>`osS!h?9edZlUUhcf9 z<)2!Foj4R*rhF+pcdI;l;&J0#mmjQJiY+Y_O8@7q`nThyYfSa(E}eiKZcPGL&s(m# z&-1`|i<_EB)UiF&(oVG7mf!ta6#6$aN=aNU!|L4IMZYX(HBBf=_~rlNWZbfr+8=TP z?K|J}-CA?KZOuOJ69!4MSZ;YIg-r0XU&{5$r0&1-r79ae-`lhPe=s>@DEaScL4m#L zUMtgPZ^ymA-|X|QT|Hyf)q>~R@peIJHw!;J?G|?~Te&D{8&~%(jkNBa)6_*a>+0(! z9#yq^xa@g$!!eQT)<UUF{y(j*%P*YE35rs$pBA518$5e_bJy&y_UF$tbDTH|pL;UA zFLsGzdQk21q<P!jxFwMuB0VQw8Xxcf@7+<;aP0&`_WK2bMNVJ$GbC6|%!zD0;m>&E z`ns#rGWeXlw#@q;bnArl=HF}%d-h9pe9)}>eRO@ziM*;mGPN;+uRX6W3w(WY-|?Us z6N?-+t(w-ghx4-wx1~vH`mMjuZFWh8UU(){=sS5<tg*}zt$PKhy*Ff+nRtD_ucMo& z`{;*en)agCRudol?b&xMhRff+_R#)U&wN$|mYrO(X6LMDPybfk`Tj3+9ych;CIl6J zS@`qke-C2;Cy#gjFV8dokX=#7-XPBWW9h6{$y<0l53PH>{=L&zb=C^~wG%(tYJaMV zQmp>=?)G<EhI=mFDW^D@?=W7yzf_Y$Q$8*F@vPenXWT4TESH>oF;{y3k0sKj+VWF9 zruKB*JCa*{LVQ-I@-kJ4Jk6{%531w44tX&0-(R>rY~k~b-mAqf9sZE%bosr{i!`TY zB71Yv*z)&0oi<S^{o1t;y;G;M#4ewqdp}S6Xii~mABT5EcBQ2Fx%uB$`Zs81wSU_E z!Su?~*tw~J&gF4`57+yhy>@=zByn)5<B|E}cjVQbw#CIWcP~%kS?kN8=n&rE&-H<M zYuIZkhVPC~)@O)KGUIv^KJmYU_mWfD_p09S-E88#O>eRCr}-IeK0kXxYqzrgYg(qT zWR8Ty9-BW~G(UcG)e$%K&CqJv;WJJ0<l4xSwFNi7&AAZs_}7&wP7_m(uc|(IX8+2s zg2owr+x$dIbsH7@VsjSgeUn`G>s<IArpsGzdDPaI)@>~Ja4Hl&np0UmJ87HF^?m8g zi#8<gI;oK}HOAWXk#EqylgF)`1f@Yq(8JOqwPE|(4xQ(pGA2LhzsRAO!t*1YvCebt z-nho?njbi=jW>I3p5Svm?&^QpRr`Ism$)sy__Buk>;&2T`Lk~;AJ~3TDAJd!s33gv zPc`MDS;rKX?2%ZpSMN)$Z29aXJ*}z_Z*_;bYAt+l=yv*QUZXjM$z@tQH4m{Lo*Z&p z)pC)E<3hH}S@Ue}Pjg-(-)qw(qO{J{S6Ir=WW~pCj1?cx&8;|FdOh#V^w-7Dgx8AA zds*UUJvrb^*v;F$N!vIpcYG<Av05u8c7EQ+uZNdd9#-vIvc*kpALII^f5G{SE1mPe z|CGkZKW#2^h>3}1lscU_vT0ND@wZ%i{Cg}tvnRv|{w!sDw_Nek!4-AtYbWqle}A`@ z^F#I)7qu0j;gH?ux7^M)VOLa*&rT>Poz(t5;`cVO;@_&vc6t6WJ0@}@RcQ;ChkewJ z9jmu2e0$=_4xz}<)sqtqbiZeQJhy3D+X9F7bK9!kegAXiN%Hs0`&)0SF?`$e>f1!g z(1kw^J(^U1SnB`31v7Nt=Pg%An{8rqB<K9Rid*%3i6Ul`{w;c1&%f&a;)Xci!$P18 zC30%j)^D;5|Ma%IOFoV71c|wR?7F+VUhF_%l#->^C)q7dW;fD4%Q5ILR=xE7Z|GM& z)^C?ZT0)qawe`Ec9l2Z0_(G~tcb$TEyU9YK!kSEF&8@NXuCEWe);G~+ZfIL(v9Z^r zyH7WjiwRy1%83@<B0opXWY3GU@jB0q_2$>!uRP4V<KL#!Ze2E2iIUxS^L8)>oe5jH zGvx974V~hf*OpmX{QvWL-@mCo<~!}CzFKsBj#|s4ZHg6w`b;3#PdKz;(J#H^GxE=W zaa_*2_^Cy}$-}Yc=MBT`sI|Kp{wS}VC=l9p!|1`g-S6|9o`h$1UWsJ;@K>p5#xjK^ zRuZB+)#j^zU3>9(n_b`~lZBS9K9ePK-CufaDp@ERusqPgJ*aTc=_}iw+3(S~c-%-t zp5=S+<<-H)J4Ei7<gA+ab=B#LwB^e_{M~-nY}4Lk-GBcMwZ8Z}GsG}jb+@l!w2b_N zo$2!$qvjtpmufJKdA_5-eg6K<uiA~~YJl@cVcwE|Te_aizCL-S3#VesghLyRjm3Mn z+H*XxSv#>~^}9XK<^DCMor)=#BhOsGt2<HaG}j){1M@G4w1jXozu=y1*W!L({blW` z7vEHxc3g7z@zxHSlX5><^Nfe3LS(47s~o3i<Pj}Jm(-|)+v{X6{;0hyP^$Ly?Dl(I zZ!ZTc-~M0rlIhm9WBcROe9wd>28tied04nB+v4||&Hw6xi>0sgJhIKt?(noR$jxvG z-Ev~8jbMv_6NlnY<pb3UpYDIkyMC;8nmQ=BcV%xfyx(x5|FY1@8L!IXUA31S-~0XE z?S>Qk7pn$6-6QpRFH=q1GKD2o5{!DCKQ`DaEs^?hR{!pb=${*M-Bulm{-Tz5+nMXI zkh@Q}<I1cx3-)y_GMHpOEAi!}?>0`qF0QFsQ8_bG*yM5Y?A7`^S=R6U*f#NP_g%ex zyY|fao+)QFC28BA-F}AA0?Ym9e5qHwGNb8A7Uy5dUqYVGw>eEWeXCw~ZI2XBXv--t zaC(^|_`sIykDFlb{#VOpS1@rXwoKTxpo)bdm|M+I(Lpe}YtGw}I+g?7nVnbGoqx`_ z$8pVH@2KVpSxGFnc)l;uhZUrYu6IT5oBTyG`_|d8?^m_rxh}^DKQVHx+Ah1gbwaDj z)iP&0ku;-c2fR!pqoo#|`;Znsf0udv?c(2W4UA@e`>_7J{vl6qg-HQ-TnwWHW3PA0 zlneN6?|$w-?~DGGIhqHn&a&F9H9cIOds@LL&26<|h{0K5Ur_BZX?1tpj0RuEH~06? zS8o(>;?NXac5@H^0nR9;W%bHVg3(@Y?(e_9;?@4;szJ#s)jq9f_#^A<=+SyTv(=}y z=0^W^-=t%QCKbGOU8R(#v17)!n_10&CI&p7vgVjgfJad7^d~PnFR`>r`K+$|R1@7N zu-3O&W|P|;K|d3Twa)8zzKgo^r72dq)c*3z2c2csvxQv^qg!{a71_-D@s6>2g6#3# z2c~$7Y%7e2{xnBM{gV5|7s0#StmBgmSwUehFp1lh>juLCuKld4Edoxb+H$vxD}FNG z;*#_KRaumx?7osWH*PcTnKR9!bz0!w%d6@pE>l=?OQO~6(b|BM%9~yNg{3yF6R=jz zoVzi+?Eja=lir<}m|yxQsBMb4Y_#jVuvMb@8zY1Y&lUWb`*pMJuDgFPFKw2pe^Ym` z;Y#Wru7q82$D{Lh=O)Z%3JCpkbm!4G{_Ff6>~%GaURt<|Z=QYSsr?te@OVfGZ|(cd z@HyXk%Q5a=P=Z%sU+(kddAG<0#skOsWgpE{0CfyrYQ7L;v~zVnvgxjG_4jvAzej5- z9Qg00y`)Kb)%#6K^OtIJth94`FlqalVzsGXIj^RM`#6S8%XCt1&pYkbqN=$yR<2Xx zXqJle!>+Jf8Z&uyx9klLo}DUTsOxoG@z#|i%RSqJ)-L-hSr?PP>#6DuLtERRXBVHQ z&Uw4;Y5Cu*Kd&bzZTs^);jGG^1k;LlGnYRssa>?eRBA%i-0sp$y@<0vm+9>cUSM$J zw_)8ycW|<iUA^en;()*QU2j@6f@MJdN_Bhvbw1k$FK?H$TX97vc}<*+zP-8qU5(+s zlefzLsi9x*Y86dcrjTM|FhNGdlNnS-POP03;CbiyoXd%Bf|orP-PQcM{ebq2DyvCd z)yDU7vuD+w_`n^(o2Bn|yD`&AIPK--1y;^qezxA;{&;u!eT#}7t+2I6@9V~DJe##- z##*PlehHtu`fk3os`xi^^1s$un`3T!a9;cT&-Yo``n`X&za)Wc+D(Z!r9PX9{`|Yh zTIsFXc{arsfuOWqcasHv?$79W5s{t0P;`=2w@>EmF3HAt;faU0uqZxm_ADt`GiA}F zd&_hF))wTqbn4#PsOj!AS>x?eQBA)?Vw2y@TJb5{`sAvpeWz6%B1KdeRtXv=MeUNk zQo(#msbK0c>#*O+J3fo*w+k8vJ<AuHeqr0T8{G*(M{}mW`Szsa<~-{{B?YeAB8xZl zz7<+|^xlVA!PelyQDxoruX`BpC9L^d&;7m!)H0|D0+le6l6xxk8@ji+xa^Mn9TcT# zSAGBMy4j3-I;VM@x!C^f`F(F=0i(2RpC#$<|1tkKu}zo%x$^C{Q>tCNo<)0Zc;S0z zTf0cxPV<>-Uuf8SUasg`uEC}JbeT^kgK6c<7QxGxUMzI8G1w^Pn0&=FW%lj$`?$8p z6&`i4<$7@EmejsodxGY9mtH!OBib7<?Zz`viS3t5Km0kF{)gK%ea8_{QfLt{s;t?Y z_V%^ThwDo#%wCsOx`ABHl_2}vQt+p3l#<c)%PgGhtdswVtMHn+{L2d~%{zZb=6}<S z35JIqOkFZIiX3t9RGP7LrkcsrX69qhjjtu8h6c%12PU``_bR^H8v0mn_LA7`POLu) z?V8Naeo{%9t7hV5>ueVBe{G;~#p&GbJLSGl@AiHwT(5d5Ht5W>`s>Go&xpyiu05!c zGj(@_>EqcJPiH$AN1Xwu36C6?C;hU?`_4*z-n!|>4tM#Q3F>VEP8=)y^gl*3L~U_V zS+|t)(Z>Ay`*IoHEm9RKyu^?nD;T*<lS9(pNwem!(&}8%oRcqB$@^D77An*YWHIlz z3NFt3V>>@bR(t*0NgM8G%4kbU&UwNde<bWiLR7^1+SjLzqN4jUoi2NA{dH`1eA8Ux z#e$3HWo-RWvit7(#Vt-|T{pF^mCDX8w7#3yp^>vWrf<hLwe{XFc?3ZvU&wLQE6mo* zm+#-7_O?>085HJ)8?Ma@N|-mT<A|w=qfJ=POy&YfUBUm;SPjw}g-uu$A9r@D8hsK@ zQ}sGO^B{+6obgPL^-MX+nLO(ZmQ32KHrX-N)p+tHQSpP}U%t$-D%s|~o&DMz72k}G zuoCb2<!8@5sxEskcag(#)sI7uF1c0S{S*IloqyL&EmQWs<{58y3ZMVsp19hWOM2x6 ztsTYbz1u(~GKc38sgQahCHul<cjL7Cf3L78`eAUM50vE$v-&>QebAR$e83~;<KLt6 zmk0_ee3EDU!^!J-;)jsk^`iKOsjC=HDqBS@T9I9-ye?J5(D%?5b=8Tbfw69feuYQ= z{1}zFSj52O>@vZtkNomGwwWHBQ2In&)@$pmYs>%dc(><m>Wb@U9P&jD*vIYZIGR_! z<osiuwAF9^`WZ&AYw0@lOz7qWk<yKsp80o#EH%>4U;3;D%5t6OIYldNUF-t3^>to2 ztK1^sw5nt6)qPA?&tDQ+Sb6c^-`~7v1$wuiKf71%fOckQg~o@-&6_@DgGvcst?usI zhj&Krx@Zzq<#j~%<E5FuxX&2<)pAn#W1+Ha?W9rz_v8f~jFULORGhk3CUmh=O;=z7 zQ^;l$*F#?xgG#t82GbRO{dW8Rw1z)Q4UfBdd;e0O(;I)ZbBovBmUcIcPF=i7Ri=F7 zT|dV&(~KJfZ%FZa>^*3jyJ-6THJ3x$xi7DbS|r^LN(?DBKYI+HMZ0`GfBMGG_GdFY zdqAmKE6S;{rZdy#*Ae0HOFS0^9^AjcW%%Cz!B43Ve%8j1FG#iYn16K5*%;Jy>csMj z9R5Egf=5(4AE<dAm&sqqbw4gD*ZW4&q=!2y9xu(zH%ils2!$1Mch1gsnY>}E$KJFL z)281wvyuz_^YxKZ*jnCD`J*`!vkS#<zhyByUw9^Q(FV`Sfj5p7M_v)S_XZT+ic1{Q z-_$O<`pYi+?aEDM6F{!N`ZOrnj`4wwuHdzw7qc^3KJ58C_x&D`1Gh6eD>_d6&uJ6} z1-E~O;OsAH?H6-r8y|nMZDG;N<($0wRiDLAADyMy{CiG{(z*Oo^5<K1Ru=|lyIuPD zhTGDlmuqv!jA?HCSMwJy%W#`+<$Qf<m-)RC<Fa$-dS2Aei;q5<tbMv;5znF-xqI^7 zChd;RGmO^fioRZ*xz3!yEm3*r-8D6)o}l_Kh++AHUug{cL!O=B-Wt}O-USL@1MxMv z&R>(axLC+EC~f1|();r|Lt19%3yu$-_hz^F@EugzW}?*4x<Yxn$-=|z-di3m1ea`I z{ew;{Ox@xl8lDzZcO`rEF<Udw-I`_-PH4=^pT5aMc-Df$Rw>P~n>YV>CmnASbd2do z_vh}}Q6{X9x^H?_B>T*ov3615O`+R1iwoO354B0UB`Qm<HL6Rr*xK@157aX_QSs^j zimmJ0PRLKa%N!dK@!+OXi-40>pVZ+y4;J<=y?%*9P+(`bTgTBz!)NLlZ6)(#x7|5@ z;h%kA>sGOVR>8(l)>mJ9>yJsyh|2w3e!Nle<=@x)7jHSnvu|B!U8LWlVE#G&f4Aid z=A3-tBI92@xoFmf0&Af)=Ks0_w`I@09_D%Dy-DBF4_Q57`bKhWm(NtM{l{;-)TBOP z)&+|ui~f!Ger}q+@LKu3ZGIE`*RFYR^W3WkUv|c|X1wq$y(>9I=Gy#-wrM-sv+gqm zoy}a>^g2;#_Hvtd3p8?8T$OBHTO@vChlOOxG*F~C8KrS5?dQ14oaFP;y88FKyB4R4 zK^0HPyv6N&wRPw3+%adk<CD!&B<d^BxA%S3^|N9>^rDo+?335px*8vG5DgPe%i_|$ zz3t)U@Au>9RVTfVyODdFA=~^{)UNW`OAKC3?EkR4!YM97s4CehiR+QkPFtoN<&Es& zX`m7`d7E9h>7-yo_Vk$B%Pv3pReZ&)G$M0b-8T2_?Q$7hO%~g=;wrClf1IQpx8Y*? zTkgHrLq4`1RlQy{spF<gsV#rS&vn_L^0eOTkMOjLJBf=noa9-&-v8CBd2yz*5_lI( zfV3W!?cR5sxf&wB+9};t^!NAo&m%#F)UgKJ;$p6=hXpG2*9xA{o24MLE$lXX=svan zSLw|4%MLJaX<=U_AQ<sw-^z8{qo#K9$u65;egALXi(66~R2?|>Pn^$lsPl%(VS%(q z`z*6e>q^Cp?Dpri_}I_-t`%_M;F7G@iD9Rk!)|G?^7wAfblJM&vh<={UxSoV;q5Ok zypOiK8q6d9#qvbS+BWn1MW-D&FUGyC-@T(n^!P`a)jfZN{3N&7=`bG6d2IA<(epn_ zM{<_?&-u`QC~Q4*?*fe+PFdfe7q=$fGL><@Et9n|a6VJbEJ$H|coEb8hu`k*w*T-n z`FM_Ml}=Omn|r<O74JaJiH`?oC<iR<&^^Jss6%(p$~Cp(i+x;=2`1NttzD|R&8E6T zODa42#|w9Rt8a&6e|%_<-G0CN{oaaociUd>&lbHGo$S8EBWK-8*Q4sUrrl<p{6MN} zmRd;Cy+0d&O}KPKc$cpu<6oVN-3jMhRd}~>#a?;SCLW@&wj;A}*Fwo|RpBfK(~QT{ z{_U^(o)>c~$LaUNg6sc-5(?LLuaDWoVL!FMI>f9Y$*k*U*R1YOLYpn`>YbZo^YT5H zN&2bh1st-|g6_m?x?JzMSD@Hc2CC5~6h7kLz4ey=RoUk&_2sR@WW}ch-T?d3`D-9U zJoASjsl(!3H=I6v+x_lW-imk2RF#xIF=oG=u3jPc$~DrMEq#6kQ@_n8j`f{(?0hl> zck902Eq{Ed>VZJ=f>kxn!GW&~)q7w3PO<R0^(*_r#kcR~N57W3J5{AAT2Sz^N@wrp zIANhX=O*nqz_RY3$*C4A`9|qe7j^lMYfi0Fvd9X&<#&6J)Rx1`-)V2lKU{vN;I0RY zS;vF*V&aMBm+JD?YOI=}8`E{MP;9fOX>n;-QLK;a8L>wfF8jB49x^kn>^{1Kd*LCj z8KoITmwVpK{rwSK@(Z8j4E&oZY8mytBP1@$rQpj2#d(fS9EwMEoFo2cE%|=@GS`7G z*O&LM_X|nf_D0^W?(gmyz4qsg(;i#rFds-NihtetN<HMs{m)*XTa~sMT%WYHTB23g zD1Gg#^|L&sOY8mSu@?OJkQm1*Xj$=L!Rv4GJ6`KuS$kJt+r&@8UPshwm#3%9j<)R2 z?Yz{oE?;oF)a1Hjznhp8kIP^G$a6W4OSFIGW4*{w9}g)x55@MhYoB|>t9$S2zn?p6 zi?O1%07HJ|OYg+0OB)+w-ukcGQn2W*+#3CDGj#VzWyKuLnc915TEU&8W!8;nnUB3$ zQ~I$cKxEs@+!()25f(rGw4LytJ3njIHx*Dgd|b@@;P2*D??DYpOHhpaiu|?j5PQja zVU6qFxbHq|r?FRmf9JaWri*Wi^6L{8%1ZL#4N7M9WtUhM>MgU*Y&l_8y*|*^SW<Z3 zp^k*ax_QrSmF?`lw7ZwzDP%9ZTX4ATui~Vizw?B8s}8UTmMM9LxF^iI&=RSm>N0oY zZ?TJRM|TwkomjZ!MzH&*+66qjP2*Ow9M1|{yW2WyoqhW4Rrya>F6ZRk>CISk`D*yX zw$u9e{~TJlKg|Nv5PX#3pw)G=sZI9Lg|6<KS~uT*ISR_!4R6c#UOsyLwZr0rN0%QE z?Rz}aWH-3oy5yX^m6CmQaBa@gRr&{93tGTw{K&%phhi@Dmn`ebJbuvK?$gAe^6JFI zgT?pn?X6BsPpf+GvsRY7@%HKR_y1Pw%UhRm9SGf%VVkJ3jp5swv$e(z;+KUcR%AWB z<XxX%R#^Cky{hHVR;L2*vsKUg|8Ojm;;q{pFI3~2v+v@yZ59f76AvftRL^Ab?B1h% zbeoZny;PpXP3~7Jg^H^-o%+w<D!e4kKsR6B^!#Zx@2|Vk3>5mU7MmExu7BLSyZrm7 zwWrfm%vL<|7N1tI@v2YNOW3&p^OcT<9uA%{!}nBWw(lfpg<Nxb$L{RxihncH|8$=} zb7}U9D@PZy-f>Zlu6`K}4vsaST}6LZ2L6p%`>6h9UeCjuDlGz!PXCfOKP=Jl*uhFR zUNK^7q4agx@;i;O*W>U1?z=PNl<Ur)pEf3kxylJ%m49~i&B<@(_sj2pS^j?ie&^sF z$_H-$xSEhM`|qzej~+$D1uyEFYiw*$@PNU;<m8Vh?)Fw6en-FGD}J`D+W4;7$*EOa zthFPLZ2fmcxG4F-x&mI$ExU{=HKh`yJ8gIDVVm%TWy*%^lqNZ$tzC2VUOni^j$VJo zK5DkxI`{T-+m6Y{bIpvqUc7RD;`iPgX104b=Ej~VJNWX^#qQG*VcJuj&n#Q_^00TI zzsDxa2GHoj-5p8WE+3!Y_O{z5Hq%6*)GcxL8P~l%mRp;@Y0fVI_rt1e7$1c9ojGs6 zBRy~3C%H*Xt;>p)TLgmqTtu^Ye71A1S=YBVL09MS#JqPq9`n7a`Pj{vt^IlH@`&G& z9RWw49X_+O*qU+95>=bO$K)4?Dt%nCB})F<%$Xk}rCkiRZVUUBF*{{~y@Zg|yW89O z#eXl#$%@;wT<+1iQxEcFf0g_<EipZ*b@G|fWP`U;T{RS1WqnSxiJPyhy>27ryBgHV zSf3^;ofmt{OsncPhx0PU)4S{XimrZpTXEJ@|CWa84Uz4&5B~_wY1}x?|BRYdoTl6M zdH!8DKfT%Iw(a|^S6b)haQ)b~*z&aL<d8Ez7j%JZbK$eW4F6869{Y2THT!n;vuDSW z0zj?FX#!3hA`aW*j;q^$QIt|<IlO2asPK}=R#f$~&1yVv^eyW^t->a5k&Qb)eUtxt zQJUe7pSR1S>u=7S$@-e#6L*0lbGv%n1sgpXyPApz-)nz=TbO$0*zfpBdJB~|?p!7& zIzJ;i&(D2Yrju&xvY`GM)Aqdmv?DKQUSFVj_ygyeeU}rC-MTkxi$j#)<s_?e$5=n( zgt=-~G3>u|lqx>!>Nh%63ErsUFJx$#JeO}?-get(n|36beSGscV`D+rii0AHRcDuI zrmcQ5OYqvg<$d;?*=x%i-I#;cH&4hBud*uv%?PwCIgrU%SH0Wt|8v&t+v0!z{8?2w zQ>jMKl|ylIm)4vpUU~b93EMmx`{k{+eEiJ+?lya{li}^d?fm~Q&)c~(m|@)`$>QaD zMUrbDIIjKH{2=<R#+(~hbL8wcf3=OeD$po+km-8o#`K6Q+sgC!rloo2=XMr<cD<*5 z*lY9G>oXVMZobVQZ?b~xewI<s3^mUjnMF*VSIkcq#O!%^X^Z*FPlxj!v=x<{e(Y#_ z-HiE2$;30OHNTx-eD3<57p@f-mrl=fOL+Y~TJguBM~^aOABArGA>JuF_3Zx{6CZ1) zX+OVX*p{@-Z*^<&`FY>UmC__ybN^g()_qyK?4r1C)_rh0mEi$P!~Z>UmAP|{WWUzC ze^FQe4yR&EkD*e)amTfn7gkuZ%f0Jn{PylHcdnWFKZ89P-_D%XbonQ=%7^o1W9VHs z?FwJzPhwGuO?w-DgC>4L<qiwlY5VAKfBr0O|Nj1d`F^{979msD^Ck&tBu(D8*=*C< zwR4Vddy(lBdnET!*y4)m{9h%{7rLJKczn(R=dIJ7jwbIq;29<=Jc%jl#KN1r?#6Fd z9n*cR9Cdlg+>a|0Zig`ce{|Hm$0b3S;eW+LrfIwS%J<qOZOaMj`6X{$^hcum=8{=E zt+aQV{p`HyXZx|G{>IalnI64?H$1|)7l)-h1dj!1>c%&nsNe09QYUjX`?bmL*m;>w z9Fp!K)fbC<62Hu8x~U~m^LzI_R>P$p&wgq!blupKColN#=|=ASeed^W>gd&p>k7^i zW&iO$)aQQonxlu9`9JVX;{EpizWs;a_vC*Y-uSn934@QLRMV4u=Ep8++@bF;EdRZJ z;p&g8jjwFvJQn`OI!*IQK+v0&%9d6y1h*a2o?7)hY3sbOBPM4H_snYBX;Sm^{oa>q zKHr07*SRMMGn~Hm=;G7ve-~G9iEs9__}#N`#@bDRH--9k-^k;?wP)*|p3mv$e&~0c zmDICPS<Slf#MD`!zUz`#e=I}pmp}RN(Eg6G`Ev1NKTcOLewf%_(~>?%!0A})zw+%y z#?7tF>>2$+MO*Z_c7DHCUAXOP)6_%z4%SXdKYZOiNySV&t%}L4Zl!FQ7aO0{1D~b8 za(McJe)u?T_;8Rv@6Vq4|8+GlJJl7Yopk^EL1bfRw}ZD?`L8u$7h^h1m|Hxb$Y!p) zbaSaZulbxw9IuvKxW;+%{@SjM+K;C(duPq7J^6_{=WK$5Tq&Dr;p3;%A72ySvtYVa zi8qTG>xZLDRZF(tSU4wX+lMTTuA5#~qM@5^+s>X}^{2CUe?@6(7FW>f!jmh{bjmi1 zPk*(UDPzvUU>?wb@Pv&?tOwppC%@Z%?Vqj7hV;C=H|&2eO#5O08bIk>@cmtJ<I8(m zM;mpO4m;KGg?8Pj$=7j9DmL%F!{`>xRXhFan%e!QS33@?t*TftpK0cV6>HoxXSbxk zP-*EuBBt28?1x3iJZaS$+l4k47jj*y+pf*|R&0O#q_otVJ(82kuX|+W9kSqcRX_7D z>YumbfyC=4zGl4HyjGKMM;gz*{O|A1W^G#{T)XY^!H;3m@2a+fN-I4l!{`eeoX^V! z?fsB8HKt&?`1B1W@7ApMSM;spH=6j)ZHa#679Lx0KSZ*8pW1=;-<fsiZgBoQT`1Ui zSbRc@K#=dR&)-j_P6zcC{i}Nz-G43mRQ~4n_K(M(L~h=ceEfQvxVSFEVdDo}${Tn3 z+5ckOC(WO!{h;{TjP;=l*YBQnmN8LRQAPR{qyNjq`OlJTm>>MkzH&G@OsSKv|H}3q zWv8Sx-y}Gh?Gc`IAR+Un{$l+UQ=jUUTi33e|7u%oyIu3C-yh~)kL#8-J{!mPxz3}Q zbwSuib8m6B)gG>A%yw*yNix&C|5mAxf9VWeem}dPOX?e6swMpRE1=o@*s;A8lvssN zYPr}kUS)QF_WXaz`8#v`W|gnI_9)RUN}*)}m+zgu&%Yb{+qSyPRknPS2$r*|k$^TS zou5TAriqJNGt6TzP}O~3bUN^e*`et7d&|Raz0F^$dPwm=`{{k_Btmt*1j`6JZBh?W zF}t3T9eBC-mrG3d<$dvUH{QFwOwLf(saomhmYFF(HN20nn5}(5P<FLJ?#?TVS#L&9 z7W2?fifYoA{Bz64IAQKFEA82jww+F&^<$d&-VEmh+b-4%)}&TSdf#1F-JGnIHd*(v z{$0?>-pdH9a<S9h-FC4eCrT!B8)!~kzu<<5gZM@daIN#?m^h=%wpH?`2Qm|kF3;`Y zxZEM+<RSVj`)b^*fO9v6kM8pL$o~9U!nQi|`Ml>Fl+40=w)!kKJW{g!vlZ*I%+7!q zleO0bt&M|Er86E)WASkEsJo(kZ*Aeb4`1cY>{4HR|4`~`e`GbNVyXG5=b5X+`TDzU zn30Tl{x*}hzFI!BDs?u$xpu5iM`>BBOl8kD+q0`*mdA)xJnr3{*pstFFn0d&Xg~4z z*nJ%Ss)3qEavoXkxtR1&Byjev?H|1ir7Gf989bk|;r8-*2_oB0Ml+ip@80(+7Zj5% zPtHwdsJkEW`~F(P`wSPV6>Sdc#8+vq=W^oE)O>x@KtoS~|NHtz`8~h$X7pT|%U$5q zn7?SNd!S&~jkerHzpA1X-<(zbzkTk^oe}5Oamra$OnBZgfoTQ1Wn*Gc-mj_L|3i=O z+L9ac#q5VtOw;M#b#C((-l^x?;OVtFx$0hxovqyc<%&*|cCT%fnYB=SUS_yyrljw^ z?FxGz=7z^LW|zm@>OORB{^q6M8=Ce<?rJc-svGRVmSpzv)dFzcsk`9t;p6#BBy?}O zco{}(TKvCLoDm!I?Q3I76<bTnK8<5y*1;!0BRLZa3)X&-aOqoRC@-A7pMhaoy$2J6 z!L>)1zu)(F7I5-7xlb@4bXld^I-8mg3ip1VD_<15e))g)pGwO={d|0eOKH<wH;IRQ zvlN~@eQeRbrRBW5h=*{{htCy<S~c(OJ5bebcekE5)^|>wYTt}$2{)Fm*w}Pv?Z&Pg zw}&yQa<dNS^@eMGJ$E$Ac5O%Itm74?uEjsESjMh@y!Co4f9PF-jcfn^DOui}ZYA5l zOEgflY~IRL(SI-B?dj^t3Aw*Ivbp}_*426c*4LO9DCK6l?%$$uaAg3)@_9Dz;#XKQ zOX#(!94>Wo){$z=bl$qabsi{IRT!1x89&%D*L<INxILfkL-%VYvrFa^wZ!Bq8rl?E zCQM2Q`FQH??!uC~c}!-HPB-)0btt#<E&YGB=T&6X^~+{GN4B+Azu&u^(d{kw>6PJk zYCg}Op0#)5G$u1AuZC)sZ95)q={U3wRA*f1)4AXL%O%@;_f3_J4~*(Xby~OidEA>< zxh7U}yG%sT=QrNd>Su~5L|qnPe;RiE^}5}BXRC6H>+9F>HPr7YC{*FOl_8)reM7{` zWfHP?1nrKlsAm78yxG%Ya$jP~wo`7Y-WKnc%(1QHnmbiAe}5p0(OsYWh7((kPyX}# zSIhMs-~NTqv7azG-T~A+5^7+6pdb2mvgy^uuU9(hf=0Hsocj>mpe47+p-I50Ykt40 zL9#C2_vcSoXSKLIc=5;P+qtufYo9FAD)N))Jo`6}Rcgy2we#!O><Q}0yd<=+;>YRZ zeK$9iq=j$pWM=34utp$=>6IM!xeeQ2%ylz4Vs`$m9n<C;>v@X>*0!#*a=4<NxoytJ z>M+lMN$VT5oBA#XlpK1q{^@=ZCb<tLj<ze8a`HxAygEImDLQ^bw!@xncK7SQJ~Emn zo4#S+M)A$9;m(0)!Y=JpKb{wzUHEH9y@=V&c_&pK<vug0tzP!J<vHt`kI#y%0zo~0 z$>M2@HEc@t2`+Y-Yi(7PHaN+fURayIJ(I<WLo<a*Y{k|WWxGM$Hm~XlM|94dPd<OQ zoY`!rn_I)@Ei0_Gf|iSJi_zYCYrDbM9E&wu`DY6)5qc`WQ6R`}lD<yizCR~ad^4_m zy6NIG+2rk%pKD@n9BlcrH+q)B#DkYM#k=usZOhazyDjx9`0lpX7t#ZM>PiUSDLnl3 z@49@!4J#ildi>z^+o=~TH-#jbeFW8&3+^`auU#=i_xOsO^m&$@S9M>Ox!>hx_VF*? z<)3=)`bV?ww4C<_r>8vI;09g_+48(_#XrLady}`{<ZsTL8M@-oC)KD7ndE|$#*K9x ziYodke?LaDxbw*_a`bp5V_6|key^Bc>TcepRT@d3ou(>nTO09P>I1*K)7{{&e$O|T zr7gSQCy~6N;Df?>HbvFL)rl|tH>|sO?TGrVX+K&*y^GI%TVWg~ywcsL`@%dAyIeK1 zl9yI)pT0OA*Y=6l`<mhS?b;I7OI<U>-Y2SWIQxj{+ShZZ%=drrin*5ajV0&x=kopc z>+3%%$%H#P&peXTEPYxvZStqHqLbdpEt`@1;^*DMf?qF}|JmC&Qy}oh4^;=h*Ngjp zGicueO&>d*SRt&W^xrG=|M6YxW4@eT;FZK<cTPN_MPL%Yl0c}(>ehA*IW@`8C;4kR zs^9OEHgj|_3(fs3?dhLoa`3>PZ&Ff<S8Ts(S{rYUTJigSPEzAbXHHGkhgUCdR9eTY zefC=Xb2SgYnFqWl7+g*HkrXoNR)o;C_tk4sEY|JeiBObp%R0dM^%Rr&l*Q4r<CgqB zAGvMjg1sv;ofdD~kX$9Te&?@MzKpl0dF1$)T3PJf_N*}dxaj82eADLL#~jZr`@10L zvEWqQ4|_rq*Lm%{y?lP1)ZMG5^N(I+;B`xs-kh(z;|4f3Q~D#W#;@EORiBlfCNoR9 zja|KIvB(BNCy#I3VhvZfnl9s3-MP8ogTlRU@5&dyJ5n;$C2XeBCE>0czxMpx_j}pK z9Y4IHlq8bR{J+5Ter4=gHNJoYZXT7-IqcJod`_L+@U$lC<`0pcu6t&edOS~j608<@ zFlEPond~*3xBPyEOz`hN{(WWFgd-V>?P=yRXSb}D+O${0?DCOXhPdjxTMhQkNDR1o z&z>P0)M9_y`}oTCu&;kgOD0$G9}Awb{NBVrSCSJPb^CIz6qH>SkS(*0+gc;OPi=4S z)>(qO!8W3P<-F(TRvfE8Id|s6UEW=h*}?f?!TZ}mMUhiYZRUg0b7#)zUluCtQMWiH zQr03c>9(>7Yt9l4yN?g~4@(HYzg0RXH0r`-{#2`rcDKdF<5?5Brg0oA+g%@a;cJ)j z=g%S=1cQov{_Kun`mS2VKhvQ5X#&5>j`M-HPAPc#tjt>TfICHUy+Q60CH^~!+mX8^ zMIE!&2-^QW`0Kgu?y^U-y!CF1Z1`HfQfuF?O-<XbGH!Hwc{GP{YNp2G><=&Y)PLN5 z?%DrS<&T5Uh;^s;+q2$&TP42YY9rhH_nw=!svW(m+v?iGWd<5+e$vhGf3`$1yRKlb zGAI%`6on5TI@rANQr9(Cjik>9jD&74)1BdEq7y$k>g~%t(xIU?CiecXg@YK~TyqqU zWM)2)RM7Ed^cO32+u(WYtXe1Q^qqQMT)A^6?1`NlvD+xmazn~9p$4AI{ceVB%OaLD zWn6px<J#)=avl4Yt!mIZXB}&E@!bLMgVScuIJ>!3Bk(3$c}xE(H^b;JhqbkGIxXLA zJ*RbU4o}A+GwbMeA)7!&rD976|Ke-sX1gV;`wBk$=~mdHzY#Q6+WGh)yIjY=e@#ke z`IilZZi{^nig(m**){*4%J*XC2QMBT-eRjLdT@u1*<s<%a;b{~Ph(E!-PKS${ab&+ zNiB~{*Cz1B)VqB${3SQ>qjfx}$X~qrQDiStna^RG_1vVc-qdC8;hNi5!;^P~-4@ue zP(N)mSIy5ypDvi1FG=9O>d&jQrtYb&S?*r-Q`%|V<>!tCo(a3TBFFI9-!~uC6J_7; zFPKs#yTW{jnE#yj3nk;12)`2mjR2+u?L4<`osqd8NBkF#_#}{!uy=}mgOZuOL}%__ zBgQx{?UoIbxBgrvv{lUg=W*?p5U$BDURVek3$2>9N#Mv*)h&}u-cC8}6?NfY%a;e$ zk5bsYPuEFya+pm1W^!ryueag*Kh2IQK3Vo=U(WHgle#Ni`qytOyjNKBOG@?ViwReq zUS2uoct$La*VQoE^!dkgr?}3|vwHeE@WmOO<rP5-gbj6+`sBV&vf~9!BYL%-kYo6M zK_Kp#AQxzALV#&C7w7MP(;$wW9G%$|@cmx=lUKj(KQQ$Ac^oy6D=&F}_;H&2&1cru zKg7FK+dr)^E{UD#=F@$lEH3xh`<zH?w<4FHY1htbc$TH7<@-i~=2sS4%gm_@xttZh zIOLLci1~r-@wH#weqC6*(#87PqwKY1Cw7?}7FoQIn>Qx;<B=RYSB*68;v(kve^0qh z`ttJI$>Z|xm)`%H1nQ}(f1As3vUVeAQ6Yz>`TKUmn$BmRY>zm%^IhZvC8~pm+xZW- z{ayS!Z@Q9MzD5#r!E@X1F-#9!x40<ycN?mI&hT(~@mn}3(C5T%nTe-QuDG=3gvmmo zWwUtVCwXO5yRK9az3d<)qua^7<Z3{vz$(UW=hIiVO}nikxvY{~>~?0=v#UR*AJSgG zgXy+ZuOQ>>Rgbi_b=Ta|n6$W1U^8!?&h!~;TZ(y)=0wEB9C<X;cwhEzlk^>Cy;rSP ztM0W}{lWs&1Z+`Bk`9rNxw$cU*0LL4LM0o)<A%|eR`&AmdS#V2{)}o@W01<u)?cdY z^zr)6m??iAi#loba_+uWk;kq3N9ewP;cY$V`HoM6=icS&nK5nJ48Nk+hIjRxY%V(S z`Id8BR9cpLt;}b3CeP-0Guz&1{rfu=V>aL7)?c@(V&CnfC%0aW^9)_Fs3pmaMfBFD zY?&iDQE`URZ=6@_r&T}uc>M2aKVRl$$5NYCC+*DoB0M*H&eJX@3s4~=@=fRetD8rU z-d~_trN2=l0W?e5A${$Zz_}KSEg~QHy7W|Pt`+FgPx&vgq@rV=z2ekkKXguXZ1%4S zn%Fk~Wo<pLO~nRwA)9#%wk>k;@wU5@l)Yv_f%h?OAL*40mZx`IdJ(h6E=|x-w{UjB zMK@K0{Z(f)?^k^dWmux0@cMLT$io$nE{0`qnRco3rcIW1>kQpPmAx8i(%VHAH$Go_ zWR88Ul(x6Go!knCS({@5Jn~+9e_JgKO64A!KP?&W8NGCS;H?AlM@8Y6M)n_BeJaOR z1sxG%5<D4mq-+YvxyO0V%G7Q4suG@Zz0G8AOAphQ)~%km&U)#sU2<z@(btI+u3U)N ztt8_4Fv551-2&e#_w36u{>{q*o_p)<=CNMBJn^FVhL=@Rfe$ub<%^nEKT|aPOxs4` z%|GYQSP^)$X{}K}*5~@Cv#r!z&MeC+{M4!bH@5wm&$7%roSH?V;86)p!9@qydkw>V zS26aTIsaKpp+&%{L;rT~LO~Cs<<bi}bbIFZ{1mFKck&SUx{$LhLv3QgO4p;-Vqqb* z!B?)&tV}!eMc#Yb#ak+A%O}lt5t{O3^~<gU<(ove?Vq;)Hsi$-ldNW``Y%$8&fTnH z*1x}1IE=CJTbj{J&dXs}9(9(fACX!A_kW79a@mS`o!9&S9pCZCYS+odW?$#65q%~5 z^3vBGXU$@wrEk8lJ=AD>Z~u?zlD{%uC&QK$IDfE=@s@A=a>iJF<E^a9{)-X`t4{u$ zKjr$$!2dtz+KDQ*gvf9Fwl(-#-PCC(`u)~^%N6)3!tiYJ`T5#wx5`@?+5i7r{p^|A zv1Gwzf}nK_9v*yhHXY@6O2tEdKIQ8?t83C|&t;P@`+Vn`SN6q!EP8!T%n0cJ@9WSb zzJhb{V$UO1s(EuWl~hH*o1!*7T$vKQ*01g0C8;zw!OJEo)gQBb9|pTu@BDZBZTPz; z!OOd+ZF6xG=J>br>b*&uii~Tw<<FnoaWf_Rw_@K%4VxXB0dJpG`FH;I>wo-7Xmjh9 z7ZP1JYtDNgw79G1XZ!O1h7%e&lXrdVKP`1u-<VS|MW(=In$_1|mQhOK|2UNPb6)*^ zL8SG=v+eJ1e>Z0M_j(6^h>OCihy@McY#vzCF;(=%86IB8M@6>20xy==o34J}A)EZ+ zgmV9d6D>WQ$5Po|)>hPT8f-dSZuUuk%Cc!%C9#sOK9g7EDl^YsvU|#ut;s6xQ}na$ z_Do7CuY5Z<?8p|2w=3DU&D3}`>sRQeou6;Ly<KqiOpbl&ibGln7k~epxiwTLDm{Zk z>XZKFUzu*oU*nXQNXSaXBy?T8(8{*%Y=)*AdwI(Vr>+;7Zik;gm$`1TIMv6n>er9p zf?e77?zygIGg&6|+q<Q^;8T`KLhXstP?Z(|C$%PHf4iOX2cBnkCJ9Wu&+_5yW4m+f zIK*bSb$|*v!N`b+1%e(r-`?G|W=>Go6>NBApBlJ!qnNyX#e{FFDLov1pJczeK5DQy zlUjbHuW}jZ*;jkh+5|7FT!<4|+*I;QGc;iN$5=DZqn291x1qbB+)i`8TfQuOdE5Ov z25kEGcXF??O`PzS`$~xDYB7s#w_bidyR?4c(VW+%Zc>pVhPN-=3+lXC(-m+=?Aa4G znJ7NP+fmD#pU<~^7@v`5ran>X=nu=<j{&_~?fW8h4RTkw+4l)Jam*|zi><HS9=-an z0fXB??Y2w?`RLWx^(C(}n#s27ZvZtRh3?1anq{&G9X>s8Uz;0;>nkNQ(SwJW`7dm0 z>5)`cGP}-^6X#yNuVsqI{72hj+w5vj|5i>sCX^K;_`1_MO216?x14vP+bKrS;!@Z7 zI$I_<UzT;+(vdlHtL)J<slEBzWA_OMn_lieuuMA1EcC&~t!CG@Wu4sf=7C~SvGjB; zH6O@W;5H#YX;IP5b8G%^Mr7~hHj#4JYdEiuVfyzXo$bss7n>e$)7~%-)YMm9_|C$= z^OgSvq1M9Uy|@3q{rH((bp4&Z()@Nm6wVufipZqm2L~86HoHt%(GhS&>{zP!&!}6a za<(NMZK^3eE319B)d?5AKb(90Li(OgyOWMgg|9n3{wy>0vhOm<nOfE>`sK6+m-0^Q zNWpE$8=nqu&fe9Ty*<A<)WJnjOM2?O?R<XgOWB|OFIAkqV-0uRZ#TC^4d0I55<2Rn zC0)Gjm*0Ko>R7J+yh|5v)ksB(cXs^toBo*1yiMcL?Z!r1>HQfmTy_8a)Os;(>W=oT zciAb~Kb6kSwR`(M#Ux$r<?QZ~^dp7hPDh1wv%AVJwj2*y2^wE=iL!MS3n`6rd6v=Z zWOG$s{HlHE#QXByuQ?A~JltN`vK%xsr>JSLcURX{x8^p5hkpZ;*Xh<C>oU4=@|L>l z+V2Ld4BndcdYzcDNwQP7r9gLrh2R;cDfyhHxi=pgU)wT!YE0D0BOZGWXRIqM-k9{Z zD?sJuM!A<~jmqbS8cP;m@iKKYH5J@b^Ze<CT{Fc(LK7FhSoLV*)~#m^SM8c{TluKQ zA-A;4LT+iFSF9D8c+<&bp`z8Bs@FZ?T^A30o@AshZ~g54&6S!SYv--}?^-nXr+QMv zs=!~1lJo1FI22WUw=vqYKFHqU;+Qw}#Cxk_dv?5fykV7vmHl~PFHl?h3TUm2m-2*; zb6exQm0Jvg*M2LBDz)4y1=^4l;&f~ZuVC~IlSPY_Ogz<0xHI&FL?!oK|FU-13h`Bw zye6g`@2d9Pm$a_yxPx%W^?y<4^4dM@r7Br8U1C04eOczM@47keb?5b8FP*Pn?zG!` z&Gqyx#l|V_Lgx-0$&s)&oc;eKx7@>wjRjsC4vH)m+3cG5@=aunMfthw{*yYp4w>=2 zp4j)B;bjD<iOjlLX;Y5NJ<f!w*ECvA_iSzVT^+i5N%``w$WWV_9|q@DK#4TS{YU$j zi8uDw|6ek@;iXG+<hsaeyS2YRKW68@w5X-W@K`#V!<yRY?wx;yitmc=?=@sCoVi1R z@uj=!+==Qh;$iz`GdBorc@){dOt9Ur9kNC0&ZoyqgM)YE-Tt=kpHJd-)|`MXYmTzF z-!y`)1vr^kzTkdc)7A?~+YFL>Rnm&XH#}8K>n^rmRX_ibd+Ox}7X!~sJ8ZMk;_Hvc z|6G?XV+=l7o~&|l=|ao<GO97#S7w5mN;Ml-#fMytU#QyU*l_)3+GpF)FUI|Hc0Gq7 z9X1u^xWdQ1CQdAJwU0VG<@N_15o=q1Y1NB`&g~h#PRHgr3P#75JcVqdI%~4flmDED zr9NzzK*}7~#FI7`S$1FESe})&nMY~a(M)TX*|VOQto-fP_#o9<?``?=>2@W?b2SQb za(T;~1(zu&nQedj`ghIIoWEvHy-J-kbf>&E*|6c))bBU8e4W)NHZ`}veOuDD31YI& zhS9eIZ=Rc1CAPL(y!NmB%z2te?3EvH`j++ad-Ri9FGkR2KA}ms^LM@6?((ERv$ILy zXQ<(`zEvgHqq>zv)`KEgCHdR?`{&n}E&7qsXZ%uaM_0I`g8HQuE|qHqjRa?eWJz|| znSJRLx!kf$v%}jqDXL{3>lWFi$|o<idNnydVY#0@Ib_c)qpfRy^6PsEtmQe%By}aO zXPfDxzOQG^bMCj@jFJs2Rj$p@U#jsT=lVg`t$I}}eG_kabX{C?G-smDBEdzQcqO%` z_~ptR$$1!>AhP*qt!3iJoCEPUPnJwpGBsN0$GHC$s9HPp;c4>mH?Lm3vJ<SFc1?o? z(nC#uX?-i};X`)02a=$e^w7JqW~rdlqGLY0IQ5=~3V3LpuLi9!pQe(+^dUYpX{pH6 zFLtRV)k2OjFO`=q{W>Xp)BBAgX-i}#tXcKc`wwUFZEj1GyNWE_XH5FHExw`SBC=^_ zl<f60=ME(W?^srAcze}Wi-#q9S+kvMPy3$PCa0=5$q~{+%DpKXe&$(lOVTz2b@K-o zek5&sKCg~z_1wPx>6r~H)uuBCP5e52k+Bnp;t~z1-ea2sYR$!;9NKYi-8wmqwdLwf z%AY?+L_|E832tTO=>*uwOI_?Nf2{vFRN%zTC89Dj=PwuKoGHNOl4E=J#)1oJ56t(M zEY5p+SSM$q_D8Y3owvVDIJDu2;N?d;uTocSZ2G0ub;#r1i<U1o7Mo^^U2^t)xP*g6 z|K>i~CSS&zZYE|7$7R|1+KyC5AIZtPef@i@*yf$HLJr?F4eGk6s~aA520W*=P3Yb$ z%g&p-R%ct({?Uxz@3bskqP6$Qw!S5s1v0<5cCEj~sn{}M%d|)S+#jsBxHxvaVJz@p zxr-$sOw^rU_R&vJ(clqiCzR`O$U!jr!rCQOb|*hhbMkaj>#BO7BvaPtCv;HftjWTa zGBWjRGR>o7zjyS>o;B5M2^PuRB<3V`DdaZqb<49UXBwww?b#M*VceVB%eF>qN&V}! z_v^Z^J=#-xhxPVrr)>{wUq61Ie|_!tFBkTmy}V@IqQd>PdDrKBQ=aA}a(HD<NkHxL z`3v{zwYr<X%*eItUBkWXNbT~|h0W5=A|Kx#c(C(U#Uw6U&360vqdwk+*G2Dt-qafG zZ^QSx#P+z}GB%TCJHAZh5pP=a>XA4&b^>+Y-}u<Qxx4#6(}C3)y-pSOJwI*M{9S&? z)-Ji=$pgoEplsD5(xu!ab=3GsJ7~?2iI{kL24}raf!(*?4B&#Z*W(0BBE$a^S^I9Q zr0M8P@5t^{+EICBrr5v6hg}t{(tcYNB6}+rOjvSD@1)?byGNx!yShvcOf30p*(<nY z!ranR5;2$O-0ax1?Q49vu3tp@=J&5N-E5D&n3ZIbm14GDWHE>IOkZz_nP(So3vx;0 zzUXr1M9$-BNhUA$ltk&yvHjXp&uYB+<qwZP+3rCnlDySB1)MlEn{FOG+E+M7o^^v$ zw#Xr~6?Qu|B_A&dloeoDcJ)voWF#Vp$<A+n3(JPThgwf(wgw#OJCgRZuVF&x;&;1D zTTkR%yxh{ZM%!hs(DrjnSeD37EpeN-puSbs$79)x8~bvud2M|Z=|5?I$fbuDvR|iH zm+bzpUhwyf4vR$RAvFfSRY_+T=gNxZ<acf`llq~pU^LtNi)mr!jctWF%O>7rJG^nJ zG{{3e%9}fn8!$_kYik`m&NENjq3XZ(^;wd3JLbIqv+L`gIX2%UuKa4LUTxY?)!cpg zi0-lE4Pw7L<4w<9&};)06N{3vx2|{iDz5Np_ZBxrySuB?#l`EH59mL+yCs<?UIf%M zTT=4jt;Wa2*>9J&rE%=*@3EAB{X5w$Q8`8FrpU&fOZ{)(5DlIXy3Ayu<jNA&rQ1$F zX1OS<EZKEv%O$syIT;Jz&Yg8j=Ws`6;4Qw3%a#?+61ib{^?>TvD*Zz@1+*E?t-L#9 z{n4f8Uv1Oxn{ihAsD@L=O{VLURwS8~vqtA7nSI<Rf24YOd(hhJZf2TpfBPkE!yjv> z33E)FK5fH~KgIt<&z=)`G<o7F{iO@9cm9##?z#YKQ#c9yWN5g~{6kS{u|S=l>p!0m z`>Cg2vVFMl$7Zb`NI}q}i0)kreNOg!{$um)xyhMbDaewTt9`Dz(b(VC^|qi<qe^_~ zQC0PfzDy_8!ugxM+ch0?kFQdgTi52t68)q)ZQo<H(C_oMviN4SBpdZCTI~4tXoj`H z2jBmj^_o^MTNZn{!)leq%CZIWt6trVzg`<1RNv-l{Aye6gNXGei~oLej#LYpb#dXH zMGM#I!Upl)b<IjDDRBQGvRLZQkrVogy1Rbv|8%xf>U+RZ<Nn&a|9`yH>{wa&R<T3{ z)WDzA@iOoGeI^S(Z;_^sSM5E9;i-2o%zS)Y6FlVMv9j_<BYQ@R!t=tW<LeHj?qPDW zO<dz<?*i__m9_XN97|7g_)<IR-g0l2$tq1dg4}$#1ujp$8azSh%fhUA(*h>CU%Pwr zR7q&Jv~P&x>|f<CUcJ<mI1qZ|n~cb6x!MmRJzraM3XkSA&srgKBxfSeO66JGE^Pee z1RdF9HOoudcJ%V{jhl8nd42uF7oO!+L2peXYRz6%=zx~tdWgQb^7{FaTjh)e8NE(B zE=5&;IPs_EReVOL)~vo}<<FmMG+jZyG-C7lBptA^%zAx;K$+1p>8~@M&##%(rkvum zl3&N*k+RfhZ*!^QiIXl&W$C_mB)3{9G2+<Db)TXy9KT$;K%-}hwC<A&CR%5dlA@$+ zuXM1ld%x?*l>*PRw!JS_F+5k4{(a|CY1O-E@g+Og_Bv*|9aX)UHpgVK-CwzPtFx`H zD7;>oQ(|xzH0qaobLqX}{m%<$?{wenX)I-D|J-7U<koACo+KZy`Ky*`#+aB<E3~0+ zO5t1HSo^72p#8+_^jZx6%e&MGuX?}Gl<T2y{{8Lm(;5C;-%{hG+|+uwJu?zC&NHF# z({1(YAHjQ=oG!dwr{onC2g+HCRxVe%<^`z|4Ed*NJpL@1y>b1Lr4yV_XLO!&EDpWF z$v=I4U~vBRwE<hgq?WO91hhM_tmtg)SfIwF+%!wVLA2@Kw$iL)4%bv&xvuoy6ba7# zvtL|ujoPyCb5Sc8+*rlLZmr)g9(d+Zl*84=)<aRPTgAe3*Dw|6$b?#4dzrgktS|3x z$eKv@Yg)Vdn2$$U^tCSLOK8+Ci{)F*_42#VwlAN*Ot`uwo=>v#=8@Fj*Nnxz&OEzl z&be7^wbSp3e(LU!YST>fxytj4YoGVYAJ5wT*48JvVWpZl_oUxmbLzK>Yywpdl||1^ zs(*jK>))^I%s=#^l<Qrdm^0Rh9k{Q$^0?r^<1@{sfO_gFIhC*Xet*QzCo{vQUNYmu z8}{VaUrjffmHZ69SE1Z@A*aPhr*!{`tmya+eN!gS*tj7^X`O1<gJ*&1UETfX&nYe1 z+8QkH5tb~c;qo;!_2KX9NxaMIwohA-#`1OFgflblr61<VGT2*dAmErUU-fA7E|344 zx36bwTr=Ht?_<#eQ&zUVe>CmObmmOW?Mp7l_~)+t`(=*werD$VxA#3*qwW_izG`jv z4UsV3HCi$oHzZXjnPeyODqM4NdGO`<4dGBu5vI@s8Sy8s{%7CXu(jghwp;_HbxPa1 z-7b8T+`fLs+1$U}ifPg}#of<5ySRNp9siV&DIsUn_Fd(9C&g|U?eQ^D@bcY&>AP01 zu6XyOuzq_&nwjeJ_I<1;D>Sd4-Dz-b(|dK9<@KQ4vg91-$dIz^t@7)v&)GBVm?L&_ zE@WsR{_cx1eV5YxS*v>XfI6H4MvPaY*LKQmXW*?<mGI$>;MPtIX88U6{ql<(GoP5I zmTdc4St;@9=%SW;Gip*hF8iphcV}L-)l;fjyNGjL!updb3sftTbAAb)$y#<zeEwIZ zDOVNt)*oA-$F@xV<C=Tov)8)YtiF0?S%$C5-|B28SH;^>yl*nhVlQ`;v07Xg|9VuY z_2<&(JVKi*mrC5dbnZzPbg=XYM{?KAD#34F+nV@zA3iacYc7>}Z+Gpr!(N~I0yR$c zfGXpM>n2aCvt9gmr(^rN=V$V!q=0-bAmnqmaGucB`2iFAFG{r*fJP8<8UCxSnZKg1 zd9nOY4qeb{F##jRjJ0MHA8$J#vfr2Q*vqos79aIpzCV|0DNgqDKl1F`CR<Ipix-7l zW4ombb(I<0MQ)Ut%~e%#4vb)};Zt_tH8t_^PYDxu+<Q%U@zvi>TiR}l%(>d@=zPR@ zSLBP^eG}V*?E0I;&z#%kmLSaVyhqYUxoh8q6HjB7D5ib(Hnb|3%hGu>=9k#&`-fGN zJ8!ay<~&wN6YfuBGkX^n($p_$6aHG$&3jvd_Jv&)jL-dSU*B8%b@nPt>zkANF1++A zo16LO_2sX|?`MN15fp!}*`>t2%1U3Uc#E5&-uwRUSMyh$c)z=Tt>WJF3vSHZ@_!U~ zAyJ)pMJ=S_NXa6_w<<!n{Msc?&YaM>TrMf7aQ1}j<$ZZRAMW`nz3Z5MF67Zy#krDJ zHM5(TerZ}tF>AbYnXs{Zn(GCD%fHikq=H`8&Wby-<<~9--ZbUV<sZG~`!q&A-H}su z%eXgVciIIpV<oQJJd398n{l=@UdC{Cc*r(`zkGZ87I)peBbu|b^X8G&;anf@y<8ab zdh0~ruE77vZs$W!9?9XF^W%B_y&k>i*Ond=QF*ccjYYqk`JVIZh4aOHZ)=?T42s{7 zmfQpWYZ>nIJy^QMjq%-#6YsOO{}vBgZ*TddVzt3qG0;$f3b;5u`BhZC=#J8*05?AF zBONA(mI%M~%W$!GI-yY7FL^!R?AtBFPnvSK|JwgGZ;dk%cyyydWI?Cc+6SS!f48aT z7@jPM*|YM}7W0?Z<}a2%G-=XYxlr--#EUGv!H1_9uINn2QVyCWxnq9?n_9bOvO)Cv z-OB{G3g}$TzS()GNMQ5NWfEUsm)BQk9?jWjwbfzk?F$<N7jNQycOvYJ*ri3Pf}7{o zzl&U>qgVA?Q)$98pLzE=3MO&4s_CqooZG)pv%)AB6k$^)i%v{c{^Ym%S0zL67LRu^ zZB>66FK69NOi!0x@#w@Ko3$X13OFUGmD~}__z?X%VU9qV5X1Z*AKEi@oIL!GJQIsN zrYkftTupO*t)uY7YSlp3e8;4n5-y!H#FqcM<M+NoZ}v>jNiR~LoLcr`jk;I%45?)< zzYcBrdS&k3EA!YMDmi@;VO!u(oh#Z`x?$6$rmbS)x3xE1`&JjuzP3#In%1qkd<;i# zz0%rs&2jtfR;GeAt*cr~Wf-`QZ`_cT7`kxPhE)w)18(1DW4LD3@V2u%gfVpa|6TD5 z!_4pfy}oQ&!OPI_?^BsCWiMA>-V}B8)bxLHWm`8JO2|q{XO-@GvUPp)Q4tsS%N=nU z5;t_M7M*cPtUWmEx!rbC(<L)<RgPxN`YX3D;)<&5s`#H@=k2_C<MWISfj6DRZ*5xL zlVrwg8!f7vwz==<%H#VU?$7ZvXEdA>-T6Akd}6l_s0+5~dvNIf6|43uDZO88`pF$K z#No~-`^z*6yqmdY&Eh`eng2F!<^A`u)Syl9HHV_$3iWl0M~=+#o^|12vuf1GfXAOD zvp1feEK-yqsT*kfKFy{*<i3(uwg>O!V+;72HIofgn>2%+eN`eF%n}2yT$5pc>&O1K zOj<llZ_(YC3pVfSDqG%Lw!8J*Eva4E*)P_tJM^;b;#R(EyRrk0H$Jx55SF->IkYu- z?!2}GxAs-|u($fF9(lR$;h~$xGj7$LY}--wI{opj*Bd@<U0)$rf7LtRb*&|Hw(gSp zGr#t4jpCjA)!;~UP-mJZ*XKLe@5_0gndZE|{r9Sg?~c}0Ye~!cm><n};S^nVRCM!C z71Oy4hPR84&p(p2`|aI%h6ldzaA?ZurpN!7%cIyLFiCRz{gTW1e;+^YuV25aPJV6R z5pnxZtKaYV{qDSN$%hBZCTyS(<zQ6%{&qvxm7i%gJqt@t{TFoJP+T>uOsR#TKyYJg zSDr|C#H6BG0qd=bBMXefLaUE8O>X(?_c&tRG0}37q&R7&D;K*bU7K*Q-ge`xn>V(< zEATn=^l=3H>9uClrt2qU?raUKW?fq*z1B~9^=jFYFzblu=+}RXcNOf~TYv4=ybEWd zR)j`uo!zvUv#uc`)~5g18J#6@_XQT^cHD?7U|lw^nlbFWoqf@rGv{J&6u$ksp?2fF zU-rxgx*j|VIUN2&)Kf&vbwgXpk(@eBx5?k453R{uB^cC`m$~y&(zb)WPlYz8R=ck+ zwW@gcWAeVglb+>xO%|TZ^~nCa$Sao2InY6+Nrv%uWoOo{UHf+StXaR<Lu(avCt16# zoqPXxvi&z-ZuvhCB4<Go*A36oo{QcLE`I_idjHw?Iy6+qqM)Hosf9s8Y~#<p9y~uM z1v=&XbR5Z6n;gEBaoa=_ws0%Z7SDg_TNK%X-3)Zug8!P#FEz}VB_)-_R(z{JQtJG- zS6X^H@du7R71dcEbEIf>>(pypx8CyITAf>BwL0Q;*@j)WS}(^oZ{=I_*x~B3Pn%|a zKfi48ExUTY+v|1|IULxg$1r>6Pq8(B-&SU9-~Dq!!0LymZpU$U&x^=j-NDOntG6ni zVadymLp3e&QX9^PvdB4|G25hnw2r+ubHS2DOOnh!u1zbrZqaemsf$0k=+nmhFF|b8 zofBV|F1Yxh#nt1&9Z<bH;Y@~!)On|`cNy%Cy1#M)kMuBn;G5M1YTC8<ypq?Bp197y zH%&tC^X*JE6IorwBXg_Ny1U#<wzvddf8-W(I^*ILgSS&t4^BJ8r>44y?ckIzK~-i; z!~=7qeDY_{h^sokHhu3RzV!4`-sk!{NiPqv>cqty`gF=DEG#OcG%BOqDkApng5BHN z);)Gud)a%tC;R3L?Xw<gpMAOIVr=BGE8E`wP1^KP^YY~xJ3p$esrj2dd)|BB?FY`B zIS|+yc-KdDRoB)k=G9+ytKKehO{{xq*?c4?PSfr4i|+*|;q$z(rpu++)zihr3;*2= z-dERXmi|(9!lXr(^59@-3jYTh9^$&=o-OjpXMg(nJ9li|pFOvCNrnW(j%<sCkIhzP z|4B2vviWvu-SrcPn)xqzv`pZARoC4e9c8k;WO3%20HH$nJtfOB-F>|8mCZR(y7R=R zt}kXk(rl)kymq<DZ{hT7#a>lOTUXYd@-N&ew>sg~w_93zaeEq$F71wpiaT`lX{yfl zunRA@Tzpq@A#eMI*xN#qXQSc-mhN_lU1z@Da^wEJd#`wFXJu`@n2{5{mm~Z9++(+X z7SFg>D7h`Z`mUSQ#jj=8>f>_#Dm!{F3Ac8h{??l;+;#I$P><WI?cVp3zE<x@(J{Qe zpeZ-!XpZ8dO*_S=K1gOef3>RXqDWdPt6$yY*K$?!>hAVxdaRvx;{Kx``<M44GB$Oa zEY1(Kd428AZf8*c`~z%Y=|1m+*`R@?|MPag|MzENGyDI}WuO^nj+rrPUw_A~z9sr_ z``yOt?XURO*Z%36Dq!SOTO!suF({<%@RGIrx#aG?`}cCwDbGKx{)cpCNxJ!PuUUKG zsE^PN!AUy~s95DrdR2P$hLX>0p@Swo%Y1o*m72@%UN8;Y7JNA}_VCW5n=N*4X<6Fc z9kHuGaP8F8Ew^$@!mMAEU9V~~Y3pBmgH=9u%`;Q;RiRtX%|HB2JjO7f&i2$T)$Mn> zKG**?-|^<!ZMI7tS`3%}-<>(PRrF+x$TmqA?OMaxulHH}{nm9#Y}x(B?645S*}I$8 z@+6s^x4dn-;8sTW%ViS0FFu^u>7|!u{r!#S8Xdh~_n)0jdsob*cyoc=?H^k~o7RF< zK`Y^p72eCt-m1?qW2tLVx^#$q&F9+hwb#MB@`}M}YJ#UzPbBkZ+g5`qZ$4}izRx7! z)V8u+bkC1m?<r~}wcR_e&iG<{O=Z?g7A?iw-U}anjCs6CD!kKZ|24%KMr@Z2GP-hH zB3`=&ON+!$d#h6}%l>@2SmC=rl`%QGj}Nt~#>7M(^IF~Nx4if2RlYfS;t5-}Xj#vi z_-vEH##;`t&bN2J6}xsz*XQgRzK$CV3(R)&PQOznedf#?HxaX&T02%<f9PY%c3XF| zh7P;o?EJ34{dM2BPY*luY*DcA`cLm#x8?Lnfkya$h%A1m{6&0o>y`{3!`Y=eezxCc z{C{h2%iHnL#v|tW2BET53z9*BGRb^f*l(_odPb%F-q|9Lxc61vzI16l^N(^!U3H>m zSIgwz>?gBrelMISsrUU>X-eI^Z;CBE0sK0G>PEM(DLGmTrEQ!dQ0n$By5-~1m&Ln0 z6x%2LxT28Ju^^F!SHj29fc52a2H8Cw?4}$?=Ng0_z4`fh;kP@IbE2b;v_9>Qh>LVv ze)mvTy7v>4e_Id!5O7`dOm#(x@M>1KFES!qw~C)nUS)YXJ6S{O_7(1R4%L~0m#4qG z;i0I-5W;ZAY++rK;r5SH9YwB*uSvc5-e6^5^7rZuDew1RaJsF?I(xfa?hB;0&bETU zn`V5S8fnp$-$Z5|J0Qh;+&3eKWk%MeMum^Hotv(&u#>)W-u+bm5m0yGV{O}C*oYWI zy#Lqd_v^05&bO?3abbA|FQ`2^p|gZTz4*?xvYCM@SH6C9GPgDq)mA*x%P2TI+C;{j z(Rs~Fm0pF+iRDXfgtfhNKg_FM?KoFO??`K!wkd<JVa9=kTVGnTE++-VZ=cK%B(!_& z+S0<jmp13-*mr;K?*8%rX7%?7&vn1|eXd@$>v!4r+OxH1c{DRqY?CCjz001oDqH&L zNPes8b=_p(e*Lwm<>8G_#II>{1SIK*^<DS*XCSiXItPz(QO^v?a~>^gwY54K4|k+` zPtoY!CK6cVwM2u@()rw(+WWWPzpI-2cd`8TRl8RG3Mu{i_}=fo6ME;ZD}FU6c=@W; zt9ILe|E?Xbz2e%c3{$BMI*Vm(dz)^ZRB2nICc?5ME}Hq(swFb50u%b0-Bz~TeEKwQ z_uX_~ju$g^bQZJP&VGF|S1G>X!k2Tkg&h@7y$o-e&vOili0BHuzl}$^RrY$}@8ep@ zcg;(FO?H2Nq9nLSE4)Zlb?Qx}NwfSGo>_L&>|D0hyPx~EGj5U%-F(j|z&tubifz_3 zPUrKB)PgS*{a84K$0Fb7X2TADPyv{Hq$l-nmG<OH`3CMey__|>6`me`9lq|*hhtY) z&z{2viZX#Bt-L1Fvq=s7OZ~a?`J!@+i^UaH8hTzo5iCs#wEnN5FB7rk+Qg3Q*F5UX zWDU%fJ|64MW^TL57;LeH^Nb4{lcnMWXX{B(a!i)tulyC&?1OvLn0HrK->|&lyfesc zZ=n0$K=;iz8**n&*yCxzYu@qK{egg{Lv=3iiq%@HT|G<OHn&M8i`|@A;~(;R-Q=0` z-T!`jJtNYZePQMWqnTx=oaI+~B_?XRF`u$|syERmGe@(xIw9+d;xXNjcY;fLCMI3E z`g!BDn|rvId#Al#Zy&r;#<QEDB=&gC#)e7}28Nq4eBG;`Cs^}ktrc6fmMzPdIdpMn z*6LQT&78C4ubd1yd}UFKfYXW01yfJTa2&66$htNC!oS;2Mseq?`ieylod2i>Ivqvv z$&|vX{qklzK2P0Yo{_lh=94o5PQT9cuH0_XWwNkSTC&$bCFIxaX&%Z+N!s%@Oc){+ zCrr*wTsxOd<OJu#Nm7qIq+SNC3*E4FbMxQB%u`OOUU?mAGTS$zjq&)l9nAj1m$g=F zE|cMv4uAYXU}y33Tkp;1pD?R_KRa+|vGmX4=L^oCE3?yQJsmGR{gBcTeai(pFL(St z6(sY0LGGt3Q)UFs^mQ?NtZT(-G`qb1<+4Vf#gdg?Gh<`2u3t6L5#fr^c+y`t@ztNj zi8EK2&0eu(mWH|1iY-wq%%V4_s%94TOt|=b!;jaXVYHMt(~EtpnVf2bg8qr6CoBDV zQ#)O+_Rr_*>;GH(v4R`wmM<+FTK6y04xF=b&C)Qn;s<d%Hf}sPQ?cdCM8>B2Zz4)c zx55@Im{23Ye7U7dWS5t1(yb4*{^wnNea;^^@+4h}Ie|@T6GPgepawsOpf%UBZrr?m z^xs1}zSF8#UWJ-una*(QUTNnqZ5Y(B>Qu6pro-=FGL37*uFZdZBO~OLhMwNm;5M%5 zXO?AZoY8kkGiq2@8JzBRGRHA_Zjq+W#~p`*dipZ&%$pUgzPWXanW)k1Lt<)EZnjJj za8in2<#KJV<{72gr+N3Bd14&-<hfDA+}W>X<ARucH@AANZathPd^Jos^svL)tB)%G zm>5p0o-+9oJIK?Q65c;M+a9JD^FyIQ{&|kiBW>=FC%dQX*Z<s@eSP22o8Xp&rL0Gx zRj8hChtcKERTnROHP3YLPg?xPorCkRbf>PTSKveQvsIoVzo+r5xLtMhbulwO)RD;? zEq!Ia#HPO|N{@1EfBi%Dk5z*V%ci-{CAS1OeUo>8e0xXGONQw3_YW2X9Zg)@6t$M? zaK=GH-w$dpM2vVhMI91ZaPO#7ZVdCU>}y#wG|wr{KK=FA`)#(Hx3swJz4mVdi_B8D zo=G=T++Ala5K&{A_Wc^~<U=CI*G`cto%8tHbsv?@mAu;~>u=`0cc|{UuW#C9hD}`; zQr%%|0eG2rWwx!dbjp|!8zJ*bB<#e~fD=zQnAzWdePbG5)>^ewYsFUSGEWWTHeKAh zEcf#sf2F<~TV@ryhE5ii0tcMisZ*`o)0V#8KV#$DbOxP5w`1pc8qWXw++Xu#Z~eay zheiFs$~Y`ndK}j*6cf4l)%<Yby!ZQ-9C72|R2J3}($MRkuV&(qC+w)(_2HM-c}|JK zBPO8_m0R2VpB$VOqIUVhHq*^P3hWBpje8ij^le}(VY<<ic}r@m)~Rai6;r%+d_0!D z!c@vYmwVd-)!$c)&WS8A{2e^?YDiFD)vq37v+&5b9~jcl&HK)gbN6}8LWa#38|LZD zu)gJ*aP!wOt31s!@^^U_PrS)=dRgL~f3r5GY)fd)l}g!mAv@&3*QNX21$V~X5n0U4 z#&f`sr{=l+Uw0Ai%^GXgEi|z2pSjcWiMaTLxw-Da+UN8gE`R-EznZJDwTAKY&!*=$ zOmf*p7q@z??hFEzM6I(jzoi^>F?ZdwX5OXzey4el*GNaHJzfuP?r)sD@$L22Df`u0 zf9RwqEA25(j@-}xAlyO}R3R&>%NKenZ@lR=rIbxE&}sAA@*Va1w|16xPj=$qR55<g zHF-_WgQ;h}%lrx2Idg^C)N8)gzmJuB8%zvcE-9NEnak$D_m(5uiebN)@vF1uy<)4{ z+gD8G3%qyVH8X$v=l8ZZrrlhvE`HwO+*$d_k9(ICh|3qelbX0j%$POf!EdERt^oh& z!qlxD-<t%O`f?XWu3fNW!vn!BEdl~g?O`h!jDOzK*kd%?LTH}QiJX<5iHR$%7Amx| zo;_bEyM6yNm6UA^{=O|&`PV&(k}=nsz1_j~XvPOIx6?U)zn1U&6?&z-Jn*>QhhM($ z+dX5Q>*_c+YkSX#x9<MAb+d+^-ohPwdTt&yR^Hu_R>JGu$~29u_1r>@L~FjRWu2=M z7u?AzRoO1~W@4@3f!7;_E`K}PQ!?LcnaWm;{kxSwOZw`&6^^hqxHH(CxH;oMxWWPb z`WKg$?*Dn`>+AYcko>HuK5@;msj_Jjfxl}Mj_kfuU;O9C<No3x4#mbVD%%<l9bB+! z!7FBQo{M2zxyLM4x1Dpmb(de5JMT%bqS~!$`B^#7)lV?ZnD~|>yDHx#N#}6ZwX79y z-Y$sJTexR?`=^6?ua-K8oL1c`UvWBhK?IA5?2{vRT3hG*Z}VZ4y6E;`cR|NLEAz?B z=i65;n)RuMp;@_{v(asB)668nnK{>t{S;Y>ia)Q&%~z~`7Zc5$B^@I>(|6lqJ*`tY z8(TKc2#N?<<)`4p#qHI-%Ie*QD=Q|;ZQq{u`~QlLnt#9U&e99lw%W05{i5}Y|G9ci zjd8uKvAOc~?59Fy|Np&jTK|}-K&G=QQ~v8EyRy7Jk5*3BePUSt&nE4?W&cg%(=(zY z4&C`=ly+Xn@$!}{{wsGaORP&{`)q8yBR!9AQ!&RiU*^=soki-hnO98`t<SNX`<Z#4 zf3DGI&2>EHB~}+qp3j~prPv}+B%|T=Q@T{~9{YpXIlY{B-f@0h`P=T#Lv{QAFBY3y zN<$L&&tvbW)P;wwofe=`@PD<8(z^30O&39<X<JmcNo1NFuA3zs$lY3H&CHomY@-wz z;5yOIS}VIJ;+T;06`A&Z*Tk+p3G@nh$)~JgaLQ-Sw#-E}8`@9(vs=Ypy+Y>Q;;Mp% zR}bypD88*yl<f%OJa@_HyxZ~Kz>`^;CzDTIis;%jYn6g{di3vGZ>NOv^KU5m7IVLh zgHa?s{o<PI3&p$VeziX2?0@CeiJW&H$(ttgU3$EUSKwINghRiAN`GyumeADMa%QTO z={HcNw9Mk&hK;M{-m?CCQdv;@uE^q3Q)65`Q@3?2S*Ce1r+oj1@B$rS35}ZX(`TPm z<BO~2WoQ50@XqV>T27JYVgV5mNB&&mdNwWGVE>k$)~BK`cE-F~e*b0+-_abg=jpdk z%XpadlpWbN>7vup)CE}*8~S%=sJQPt#5uQJarfj^$rJCf{&@%5GCkAkmD3dy#dqaP z{z%<&{C%>*vf1a^<=3xY%ip+hBcX!}(i~iL<HijGy|{gMSSCEr;d%0czuWBt`^T0E zlbzENdQ~#{F8c`2+A;B>i;r;TxyvgAg`+DqN;sdSSRab|9yvL0Vw%Zct8KkeD_c(e z(>wLMdc~Xf3pefWK6S9pe~$#`S1SW^_LQHouR@Ggh0HE&*`SzeI(5q8d3KklTupNM z9&+oM-^|>Z8CO<ooICgR+M91n(>Gr@om%q$*HZP|pRT&`B4#%y-fdY`Vfr*ELh7;H zjHHm%JBrED5~b@eZ>#DG3_pK7D($nLPjuSq`@32%mB;nWsCM1B_8!Bt^!{IkDp^m3 zvYrZ+-QV#vQaOIk(L0~Gx;}Hyh>kjV=aSH~>ERQ!&n>GstsHPBE$~d*Ml<Vb6SdXK z+qOn&Na~vSWc$2S>*p+b&@_2l<MBQ6prBIuwa@)jzL#cwG{?t$OKIUBQLH~W)#v}$ zW%%E=*%37F?Bu7A8juwHP}j{a{*3AD(q7F7PDQ~Krp0SJJ2Ik`l-At(u<!N(GvS}! zE8Ts%FU}Wu{L=Vmg1VJKqhE-r=ETWww=9@9Wr4Cp|Kl4grt=5hyzTxoVY~9`w+pSZ zB6USL3o96QmX)pQ>j`$}sr1p{NZh-v&6n|3WZkP2(^kVPr&6DMVofoYl<CZQyOpcE zTO&7LvHV+%`z9gxxXTJNbzS~htqZzg@c5m!x6!)^8(pXVJU{X6|K)*c!V}L{bgSua z_B?*@?f-AnUx?=&c`)VSzoOGjKHMkx{#AFR?QKijdu@BovVbFRJ{dg|n{KdwOViDz zsb}=pE6hH>yew+|*)+r1XCK|k5e#D5Hf6=Ew;H)m!?>4*aUWB;G+|!Ku_}F2-%k?C z;JMq&XR7ag?7Lt6?`n8`l-Ez=IlY}V&p%nq?<#t#J%4xA*FrzY5V2+A8)l2snGzk- zvd!+ZK8Ti{|IZ}7SwN^uTRB;X`E35I()wAx30rv;4=E;G^>pzOKJ|I(8b-q_H;!;@ z*FJXDlgUzZ;$$Jon_@RiuK!uGvpnat)6)goD`b~4uMIsFJbiYo1lxrS2eB?2?cSPA z%R|C~eJrJ{)@}GF^2F%smBkZl+1E^;wnohK{?to~)55RCTy=e4Sy#tcdfDd6rklol zr!2}mndA67`_$46kFE0j&#s(&(<y2;*UYv1|L)DNkv;qN?c!5~M@{Q1H*=;u6S}`( zi&W{Byz3k5fAgOIl#|C+d|EpqBKGi`OGeMm=_J>c^6py4U(0!+^*~Y{8~09`cXMYm zt6bP58**0clpFWcX`Qn&4^7)LLG9d<?~Oh|YML7aolY43t?}^tSNd<Kw7JY>6aA+} zJJXj;dA>vVSf85g^IN~%?SCmt*MCy~4eRzb+1<}^>X3invchL-&3b`H(Q`PRJVfSw zkZcUR*$`mp_;>Zbcm4POUW#7cd|;aEiBBJ%&+suyii(P#(zUVI;@^c`i)JZLocgx? z-8C84s>iw4vTXy`ZrR;?>D)CI<<+Wl)?ZRgvE%1>#_0e0?^2a?O=xR=4qIfdhiA@< zx3XLACf;7RBX(Qjf_p0xw^=-ox+8Y;OOBYUVqBKj&t#!R#&hFlzV+B8WP9-B{9VQY zX_I9|H9JMbrX^juyL`8e3m3Pq;jKvZ0(-4K>kT=RkejoW*%4c{w#~0dI&kNh$n6|< z17C&dzF$T1q;zF+?j1b%O!oZG4F>l8paeTF^4OhAM$f{-0&O<8B#Qo+vo106e6r>I z_9<^`gN=Qr@G`3|ZtY4ul(J>p<PV}JIbXL6IC)6fd^@2$r^RsdzI}Yl17>*KznN3U z9rRDAVLyZOL;t4j7HuDoGuRzj3GNpts<W=loZVC}vbIIwk-OrN`2}hmih(Ig=af7` z%s#w%Qq5Pl@{Z4>LS9+J+>W#Jy2RYSn9jX7@v70f=ilDnRoc2Q_prm(nvPco<-DwK zuaJAQc+YO;#WyYfy?49awjxAPT&yB3X#Z_ayEVr&SIa&ZS<rR+*7dwwo1%mg&xMBR zPdA*btuXuQ!@eVGEE5?2P1O6y8hv8^M4@#>`#D5qSMqXr-kj;e_1V3_nMYGc=V-<O z8$RXDtkZlC@Azw)d@|=C+ijB*ISb#<I?#~y*S71#*IQrB_x~_2=n4BUGhs$Y4lnbG zRD)Od8J132G5z$4>8Ee({CVr*UU#$ZoyOiXqT>#}nJIckS3fx~RdnW^GXmQ^nTmJn zq!mZrQBG%M@ICEx(<C5MQe(E7)U>17AHLManmqdoDmEvz^!D=JDSyg!q~)K715>?b zgZ-2P$9I^keX>1w6x8o}vN8L*+_MzO*yQ8}wwzDWZcooA+ph}zq1?iAKzrj-jde>U z6?}NKB%Z!sCV27IrFUgBA_|oMf4<njSE4y_t99Tt8TMHvu8v*{PlxU8yY$X%75nZL zaxx3H>~6jF&r!eXtfxze_Jqx@4(C6-5&2*@XP3x=xle=jS1+B*WRkOc@iBqNQj6!@ zyJFhr^^+kz?An6rpssEI=eF16^FC5**v=$$GG*Ihk6aIh%}do<TbI6SX%Z1L=|5h2 z=ijW!6K*oum<op3@0gTbcxOe<y(Y)No3HZs^c{Xa|NAwe06Tq`>DCUHSw8LTjFHQ^ z?2?%-y>xEw`A;(+={yS$H{8CdZKtuf#=J<U!a~hLdt*u2?3qm0KCyZ*v?VW2lF*P= zTeYllSL*y1zbAj$w{*rK%SrFdeNNog$&&>2WR-sYxw`ttg{P;5ch9*dCSJceLhG+E zgZ-hshJybdJesN<U;XCQRdGv5-{Q#)<)>=uj=YR}(k<toXELyqZkb?Ul&IA7YSV?M zf=!W02Qzst%__RgT=zgU^P5eQv+vf*yNsLqdV3x#y!ObDd#~_QVX1PU^&RKTeEz9- zbElM-2i&{em^<&#>**y5UaBXaP7SX5ZnSh$R8L2~QeMjD9h;(#>{Ks}%=HSIxGHCQ z?yMEpvuDho``T2s>an;sYiIiF1Feg_<J{9;>q@9>_Ut&9Ejm+ont@m_SGU(yP8W|v z$IQUc<FeDFN-sVBc1^}Fjr;rMn%67bQiIn$(ejE<o7{I~?*DJ$%=glr-I9%Y64b0G zd2I8{yqcYHcU9u|YiAeFzITTw?fjO@6V9z&msFQ3+IrNu^Ic-mthT8&a;J?e85)#j zr}zqoUUs@_5U|n5V#=IL`#hxzqwgewhL9|NF5JFf_Wa!)h7<R7FAehE{PwqO?0>cf zrSHdX%xs-9KQcbP{{OLKZ3kaM%7x>SoB>I}>idJ&|L13z_b^1j=}-sX_bE?~pP0CW zvp2flMDVi9tj{J{M?Pr3?sGX-IH6c3WzMz(7r$PebS!FepUd8w3u0HT`cJ(x%USl+ zYSv#j*^IMJWpxtvmC_cAL>36<vh34sd$E46#@s23S3NiMpRMVg)EU&El{5WQot(+? zuHSni*DAzoC@fF^<+4rZgQM&Z?dVhgPYSQ}^_u_Xir~Vk-^-LYe|1^gcjj52iJJ9G z1zWw_42d}$nrrk!m*>m1O+4guI%Z{Ha=*3C(TuLg?|z@qV7|1&?P`90On$@5WfGyF zK=)6xu6U(svVD8gd9}kG+5c*<7&X*<5}Eh-fKil2?tRzH-+B2n=bcR|%Vhnmy?Sp( zZn1Xug)bG~EoTWtoO!xo##zRrN;xkVBt@>+;xolpxb*ZArP7#vMW8<1iHM393)?r; z{WQwyQQYmo(6_E$I_Mua$4AX~y`Fc<PJTa?^s$`rk2kFO@a+4x*}*Tld^BeXyk}Q6 zbMj!R6`I|lt<$4q73DFzbC-v0QdG~s7773P&i*CRv0f><?2@+~-K+%W%73|=`7<eY zvutP8Q--N`@Aj>^R(Hd!b!(%H97Fo~#}W6x^mv7Nd&&h*UA-(Q%-fnZ<3yFRCnML_ zj8d=S*R$`RdZ;)pJY3P{@0O)oD<AA-54tBdA-~H{v#T!iw0_plMH^1~Njrt^nN_5z zbG5L2sYIw``H35Ba<k`dd%EE9z1>dFU#gtQdD|McxN+_Jx}(4Qq`YFfHOzGsX0w*O zjfh>9bJ?Y`TKMVP#rD%Km&k7RK0PBk^6;NmQqRKADeX6qe?4mrXXDWvvF@2VDz_%y zS~ab8Q{tkW87t;5sa}}rBPbQ_Hd*lXDV5oNl6?YB9D#|CZ<)sIDakClU(4~)oxzUd zf%pz{wL)o4`@;Lp{B<us_uG6Dp93E47buD;Typ1%#>SQPd>6LNXZhd`YC=flcIpNm zG2Nee?Qdu3UR}ciMxm{yogJA@mHQ@{Dzr&Of4DVEdE!Rdl<G^fY;JWMTIVchx$9n8 zE<JT_ZpgQ?0P7p=k1cAZtKLkX#u}nM;WPK~gbmKi7<gB#S1MS!>~M$|qtrFGC{2gS zXFNmxH{V-gsC0^VPJaB%O>3r=m26+}vvlp_2(_%OQew}Z{dyM8vC(REr~cL4%KYCc z*F80@0@8$GtzR!^P`Pn4+B{V==h0(6$>@;C18zq=3|~pzJdtW9c(Z4_#=0}t;&yyp zs(&cYg#FCLhEB<f|BtlHeI4e%%gFJHx4Kd0zi0pNpz4|P&Mw-qrD^9=(KBn;B-Oo@ z`84-)57#V#h!bgs^G`nVb>+PL(k09I*2G&q!gc$XEGaoU>ERQTo*AGDO!LEyudjDh z{QPv}*ZhrZ;`39D-ZK|8Rwpyv*YN!L;n!4c`#ptUwSo;m<FhRj9#@4|PoFH1ylcrH zhFkl+K6pnsc_{4l$Z@m}WczC&6Ce2c-+{aOdv_KEue#cA*~BP5<w3prt!s+E<W|kC zP`<XLCC@uWMq2WA<F$##E=|3ruS!F{l?C3s?N(YZ-adQwh90r|fthk@Q;kwKa=e(C zxs&s?{i#PCk(^Hrr;02%nBShF>0q0Cbn4Yhep6?r@HC&xR5uV^S-*SMR;^DzZPGT~ z-1qZ*_AmD6ZGT;(t?Zu~UA@J4E@u5+qiFS|8Bs>j7v^YsB-W-TPdU{0dWWs)-=;?n zZn~RWw@jOK=Gu)t-ObPEaqm3Xt+?!{rn#=dY{rtmM`9=EUUo^X78VUZvMpv|$Ihvu zBGbbSx9{oNxz#jfQ<hMC*yRmVPA6*4W>&bkDR+u4x9DY;qb7;ob#?P??y!T3<sCDw zn}n#TeBEv|llh?qzlZN{A%?lt$#3SA$~@O<nE#kp0#q?_SoZyS{`z{kUfjMI_JAij z8ioHJP1Sy11+5MzC^WsDp)#@HkwMC=fcG3n9vB{fnay(XmfE#NF4m?ilqYV?$++Yx zl6iKU&y{cA1Ml8;P0bg7`qtM(D|KJBTkjNsrOqdwUj6u0GWeX(VK@D5&DATpqE{|q z@HLR1SbKc#Y{%QO+uk<c^08)pA#hu?%FJ8wXx7pgr?OPhUFJg43<-wQe?E*oyhB;x zy{Mey%E>||4r#^iS+7s!yz|J7g|?5oy^1Y8xVXIyU%k5=J8zlDGK+TyHcdGuJ4?zm z>(0Mf%bn6D@A%!i|C5>0m2>}{@5*yt^wW;Aklp`Rve)X{{T0dod#_jjR^Gp(W9L*; zP%_Rd<!wExx^(C1msVk=vf4W(JuFs4n`tfUoRqlmpvjxV_X2qLuagP<+#=w_!N?G^ zw@Or8zNR24^VHI1wv38)oSOCB)!3&H+B_K6GyQP%YgO9zmyu!04GzUd8P6QeQ_%|< z54mvVF1@g<>bcUt9hYWpme{)^JF~C3=cz*S?F%xTjf+JVu4>K;JGJ6X-oj10+h6_D zTeaJ|KxX#)X`BjDyeHCxPds-o%F*`p>H0KdRf0+BCMo4vN9P4UHB^~<Uu4lW%W17y zd)toQ+<7jk|G@4|6HeMh8m_Hg`r?EGbIP_CTNYoOc&lN;l)0Wu4C+}dj!ZbjbY#6t z(2a&d_GwE^^8B-|?11+&GN<1BHos1)*LwEhrGlY*&A(jVn0sJT<C&M-Ns5XWHDnhB zS{*spJN@?e)R{b8-rC@C%d4AbL|e1l&Xz2QS2vh_a>0y~4`Sptq^N&gk+~>kMnPZj zlx-V(Li=_|MuAp-pRlNSGts@^<E5n&{}is|sy5HJ+fwxK5If@^i|@yN2s+h#di3;k zeBGN{Tk{LeK&@t{6B~EWXN{XU<;InZTjn!;aG%5B<RLKgg2|$JtPhJ?JEAm1ULW7X z)$@T#IMBl4Z^kFZt|z^o4&^y7rd{sbCZ_MYqC_RDy?Vu)oW)!Ac3!$`?Za)AYi`%h zKH>R!b?YDMDyyNTui?D|+fVIC*{Y)Hz&^)6Ik*0R)$+iwZYk&0QO%ad%`s-rU;1+> ztbhGJKjPYS-Ol+e4FxmL*4p`MZI*S-a%P&TYpSWEqa`h}WWxeW`*n}MUGGud%qpF; zF%>=@tZgN9?QNRy?fTy?KX_+J6xc5+S}AF=zKt_w%f)+JWQAo;JC&w$U!ALahgHF( z@y{QnXW`ckc9-#ePCu_0uEDn>Qru$l*+)KR-R9yAQSKS5Z;44=%lx6tY{`1oD<BQD zVa4ry^7ZwPA3Z%S{IdG#A=cBEzQ&)q@y(cF+75GEa}<6an(;HQ$Ul*}%=!D~*RNmi zfZB2=6<U69^0O*l;+buB<drj5VP>ozsMV%2t7O4UzLJ*?<(=7D(yt@Lw5+37yvbX< zXLIkVZ)!5L1FtQUOpJEe$+UArgX8;f(Tnb?tQqUqCI&Z@P4nNoX4*C%(QS7FlLIpJ zzto7Nzhi&Pe6+B~Ml{pwcBt0$jk|VnofYm}tGiJ5X?k78@{2pTJF0j6bgZ7Zc8NBZ z^o40R`*K##Fq+-+V$ZxSXT)YEi3kQo1Vn}0zu|QHP|#w(syp{)9X^@!urBI{)jrRc z@k>HZhF;OTQ};-F!)xBJzeSd2WE;L)(US3A`?TfMi#OQhEYAgQG23&g@7lDp;)dI| zwf+43Js~fZ_vg>n6WK>|+>Ym@=S6R8UX{8qY37PZF`25chxxXZU*hEV8E!oaDjqt| z_oObIdeUdf`<~qWdQ1M8Y92}7sjha&dh@ie{~3RT!sZskI0~C53v{zC5BRa1;oq!a zM~;t^KhBF+Ueb0zxTs{QOI5hX>{GeDCP`5}`-0yFJ8f1qIi0thbE|Cltlb%B(wMjI ztqmzN3%s?f``5p^_wDa29;*rO`@S-?A&GI5bf8z_|K8BBZbh@s9TU$!I+c|?ZKc!w z>%p_SzAVWLzhS7HD?K%fH~rajhWRI!ajwxxN&B}iMe_TX?zHBhuCnPnmoD$)xH@}( zpUy?$t%p*~?*FW535tkc<@dj)^t7-?;=<H*S5|C1E;}vB<Y?jV_1o{(u9%l3(xBdS zf5Gd$=c_)4%DJUw=jA_qFmrjZ(Djg|TPLhF^;NK*DKFnIowmBM**x#zgWl-3vp@gg zc@}mqsVtZGbN2JV2pi#Dd488S%sHK8IlWc6an{|wOJRn(GcHM<ZCGwPccqP0dG$SY z!`l)uYVFzWp!UQ>n_n*$N9-@*JlC>s^(3bph6<Jg&3B}QABNkNyu2iCU;g*k{30z# zfl;_{vfq>=zdoq`m(<uO=)`nl#eWY;m3CJbHmMpT`3(w@(UUu7s7-n9y_Zo@)#P;J zvl}O7gz2l^U9fD{R3WX~)+^p@3l2A39V+)!{jn2YpdRz;?Aqfqi?}XqNH$!yW|@}R z$`e_u7Dauqd|Yud<Zxd2lR3xkKHs-#^1P(2q3ah<J)f*L`>RV5bAyxK=l-m1KT}Un zw3n1I&7E*YOyJ;Y{oJpeQFHC8n!=XzhkndDwRA%WD0Cqsz7>B;ZcS_M^L@`XS3Pv5 zuENn3>x*(``g-O3`+C1+xA9|v>vt?RDQ`-x<n8agn)C3(x7QYX{#N}?vo&wNIW<%y z+&bv?Ok>6Cu?c?X6a20h+VPv@NT-4ZBoeL8ot&v4`N?LYBPcXeL~?u#)@m?_EdA5F zOW-~82fcT_oOd#@%~m|INMK%{F{iD9<Kup&9~SCO0*}<0S^o2^{Gz;md)bT498r2T z=bK+GuMP^iw@7f#gu~r3H~sjtqAtivPiVe8Yvx(CtlhUY@^cq$sbpUpW%_N~q-3Yn zoEI|~jwZeM7b@BlqN1IespA^?cFF0GQ_q=>z73jnd&%eOLqTh%ol;%1cAe9gC!3Wg z=57tB_@1`5Ogd-}=Zkq&OZ`2(v^IAxPW!WHn*R!}$@?!&IJ79J^xHMxNUqsGb~qms z3l-ZSXc*M9%gu~&=Gzag&ja@tTmQ3lnDuDZ{&|UvJKt!$U**R-Epx$^O7^8^t#@>% zPdNG9aQCLRpPQc>lz)?Za_2j%9@nnErge{V^xCIAUXT=}5v>+=S!v5kx027xnSJva zgyZIef->;U-CeCyxy98kmB)6>QakduZ%RD#gva+JtkWl)tf{K4{mU#ZEp4_OvdY!R zdZycB)8zph7+=icO})3P?&+!B=Ii2W`#^=loZ#QnG&)3`|BB2s@y%Git(+z4!3_3q zqUuSvKFq$|Kjp&Nz8z_i%)xUlr?tMir>Av$_KKX`g=IV5{}!BJFET&lRJ+5*8+Lw= zI1-&tWoc=;+tx1ATs_xdX4V6VMc*19S<FZ>O{kM)f9fUb&HcH6JI9HGqw(p|nSUm; zuYI=nMMQe8{aR(KpDAYLOSY{$^K9DfJx0;yTVuV9qAwIKR%rb?wKtH<dfnr1SH5s} zF-uNAbFJ>F1lzXx6-=FrUM~yMfAnv0Dx>kAyZXLs(zuu2&R<aSo0s9hnKwGm&dqZ! ztQ6gx{d~gN=fAJbyl8Uf%##h1PA__Du_DTB)wI^OTy~ju_12Wz%BgeIo}Qd*=ft6y za>(Z2kH<THOzdZvW;*eotmb~rrGIi2kL-VXPr{xFeL`ZHto3|zmJeDD<wa&mweNo2 zX9!4AZmG!d1~<Ploi3NGb`x1}_I7)~{bM_h>sJ1Otp)J47MhjmxLGG-ny}^HzTCz8 zwl}|er?;xwdd0gOXD{`;j1!Yf#8aH7cptb_^x<8<z}aO^VT*m1ZsQl(rhV>@(a|jF z#Wx+a=ezGyzQPfn_2!Y!x4)v7e=N$hwpTqeu|Y&-v+PpY-o7i>MCad`cx#u@Z0n%t z@Pbdv-|<Yjx#&_1-=sr_f_irSE}6buvsJUtdV|i=!uDluy;9rvKf7`==WY1y`rj;T zs%$UX`aasVYT`{D;S;G0y$7$jyRMFNe!W%tM)g}Zh6Nic*fy_DznygZl~l`zbANl5 zDNYBKtOp8YuINZlwOgpG_{n5e%$Dn*l~aKqZye@-yw7_&+rNX)S5%z0zW1^E{Qh6B z{Jk~n+p3e9I6h*|P|SQ49q!va;gh9jr><O(9m9j|2lXR474?28ZDc*koER_aTGy(Q zbS*qHspWp8YrZ$v#alA$yHcIabvbT3&RD0o)a7r2{MEO*A!XYG@852HeB<F`#pUm- z;?_FNj%U~ux%GS2gn%h-Tmj)XPo!=Y2~PEE_A%WA8u7h){hg-Q#;8?c6J|%Y>ixQH zYi<5}aXH^<bJZi!w^N%_w)Lf$h1|OM!Xx+YYp45r)FvMKBltkTnTuOszmR7l^D)_o zX_t1`t_*zKcRSvA;+bcrH!e-O*|XPH#^!U+r%I(KzO(aU>uoPHeKOwD(BJ8{v&C&^ z%Ux-G=gXxc)4~n6?`muPobOatb}iUk+hoqkEQ`r!4{T6fwXL-)b@5Y~_BFmmR>u#m zj|K&6$j?8J-mc59x_8HTkDHwJ-Wl^wQuC?hyWWk9J&*6)_U~f<zZ1vi|2b&~D+#pc z-Y=ZT`r-4O-iSS=e?L8~-&6SZR=A~T%LKid2bOxOtW;dQxN}Bs*OJ_2o>OcX8Rm9m z@5*(KC|ePcD9yIY`u2)9IScnxil=Qhe5b2;oF~0r{@2gqd&$Wmn{E~MWtbf`x*G8L zw8-jLpI_^j%S>67s&ihyLTO{?ww^6JtfFh`mdEX9;3yQ)IIFt3bn%ALxb5=~rI<Y| zs+@Ex$9>|h2@YxAzFgehr`T9Ebu#|TTrd2ceQeUrCf;o~jAnm0ck=H3pVA)3JInu1 z3vu&~y1u0$rtjhnwZi=g)+^rTEZ(-cckTN<4Kamc#n0azymRxj#yTD5bsD*mz6qYE zANiOupPslPLhRHu)?%THSJh-M`l@M876Bb!H$iZrsZ;@1Yv-4_XVbPTJk@9X!To`I zm*)qu;|BjE4zxp;honRaGAt1|KlhxE=;4PPh4u_yIV}_9Y&(5<gf<=GaxE!*WL!IG z+og^f(@LUu{XGdPH3g;#TWw!k#XI%vZjJoAj=AO6XDdyK@0{o;;d`QrH>s@di>8C} zHOq|?_q!<u8y<a?@x1)PzHfVKqcYA&Xq-D!@hpNt<IIzPh1W9vZq2-Df7fn#`Qi<% zooRYA*J`g@sJyxK=vKd<f#!v&W}Jm44V|ZQCTh9~Dz>sNb^Y3_yG2LG^wpB%Z`WGR zIV1LHx$C;iKhs|x6%XA1x9yhgc@LKD5~a~>0cSq{vVD2G-HrG6`dWSvo;A<0FqOCX z`MJchw>n0~?)E(CEeB@iL}z5*<U6&kcUJCUyKV7@P6%J)2Q59=b>qg314q55t4*7U zJh{*yAg&*`@6W{J>td^COoq(gF8e$!)Pd`xj_NiQ`5jO6*Q{S(Uz41C_(6(*Q^N+2 zoWJS!9@LkMAGMv>t}Ai1JW#X8vMO4oCDqwnCu7;&y0@<{Z_G8}`xbC-SNExBu@b$% z4j2jvwH6n2_!RP8`1&B(+IM2-#Qj&EnPt^2j|j6i(+mqe_E@hoV^xga;({{KyUGV_ zuN8m(Z2#@pzlW=ZDx&MXF0RYC)_dsMPPPh{&5oL`yHDS_6ztye>h12nGuOb)(u?9V zvqQk`();@)+_<=Pi<i3f+P>Q$vRJe4w)u^Fb|L<Tx2!uv7HulMo;lsBt@G`AJHg-o z)E}`(KW6hgvOfKG!{aZpn@_O3SC)~!I@dR(+>B9i!u<FHZ*E1NSvT+SnMX74eKcO2 z8FAHQO^Wdf(0ZHRS-HM5*Qp-gBL^BuId&G*v)aclZ?h|3-gxWLqxW^DdHrWO&|i@6 z(_+7);_0dDa=WX(x<cFhGtHJfesK4F#c}QPcXtFb8=RKxJh~}X<Bv^){o@b;Ck6#! z_Xi(B1FFOvPq)6e+_dkO#+2&;KODnD)rF@qpEX$!Y1X3r`<B_O(vb4)fw%8EmZo#} zrK-MYogg5??zfVqHdXagMEVnbH<Q=d<uRLX83bOfDGCdUe7hp7e(&DHM%T{GdD(qz z8TZD5yu^3AXFol~s@Zx^Ze4uZ=j9@-k51<>3hw!HDQy0Vt1lO;XO#X55M944hReJ3 zPNJq;=rP&!oWG)n7e8WM&v4yw$(*E;=kMpWgsx?qn<0{)B=UNh<_=Tdgl#8Ye-EiU z&17;q)#P;Qo4ucGU)+>QyM8X|-5*;Gz4c79*ccbA$kcddqH~(()!Y|3ytl*NIP;kw z5X>#lxLx$;FepqtOx{=CzWw1&ue9*X-4R+_O>XbIfAMQR!vo*9KVVY}_R1!pR#wY| zmChVC<&WEx8^u{ZB+r>J<1+gn`2|PZI9^WpI6uK!y=%c__l(Fn#sQzER(&kmbGp^z zUg@MSi-VkueKOiuE&S5AE-sCpYIG{PJYZk7_}VPX*0<^^GRuRS%<S27)#Phye)Au` ztQO3=#ylis>yppabAs0-xon!1#C0JtW$Om*rqo$0%%W%LKl%MkcmCOb{jEOFx_M9k zTKR3|{>}U~Mzf>ytg9xyow8`I+vL+Zk4|KN>W<nsWl>^Ns1#_?(z$!PIG1kNkX-uc zv7CX~!lE2+N#&y}vQxN>qO<Ge+5PRG)*aTq$Kh*XH2X2bG}e@>OpKFHCPuTJD!=dW z^PTjCP2e>8=9U!K>hy(~Rwj&RQcKRfwDNhmAno>wC_bG``R28gyH108KSsGWUoJRD z?5~kDQ~NABd-3c0Vh7Y!KDghJp1h-X^82YrAH8S#F?|jXXr+gMQRwzn?(+lZv8rxU z`E&WJcKE%$g<oG4&*5_NaI?J{(!`O*d}h1i+-(;hiu*2U*`RY^!-B}N`~AD!wsw7b zmOJJBz1G0hJiA+4jvTsoxB1&M^RKe`Q&!fzU8cL*@aU>vfB2-l-(>d&*c@fMUc7%z zh}Mj=PZzw7x-W5lZe+#%vvdE3t9~%+@GH@se?~3UTy|xA+GjV|;NQ%%y4x#LxA}Qp z+>)|wLG5Z#^K+?2>q?H~<ArzT&8l+@eEC>UDRtY~<NG;YdbEC@`)F^+svfcBc@egU zUwGu~aktX5Sk`*#?(G$K_VW5(4vdIA_~z#48Mf78PNx-=S;UMbbzV4}-WK@MC4KfB zv15?c(w=FMNdnKm{ehSFU;e?*P{(yZzaZZy;os6fM{4=)ek?t2|LH`00d!z$%Z1D0 zOKPfu=7;uKZ+ra5s^R_v9|0#LNA(+vS(7X->Qn{pQFE)<$DbW_!_4J$lfl})1rLO; zZ+o|>=(|}@)mh{8mLB0usRFIg7u?*8?1rhU7JQwNRO%vhZ$a%_Jx|?LvsSAMmgb2s z{C`JtdO=;~&i58V4j=D4a{8LLGKZUU?`O^>x+<QamgMC=H}|a9UH+h9)0t;wSFTmJ zSa~8RFjJ4+6ST(sZtbqqm!}+BmT+g`%D~0P-mafH=}cJNOVum!^~ncrC-N9YUD~yc zIl^qh*-uP$JcUb|Z@uHo+HHLy?ovQRl;g)YmLlQjonA<ud0|zwi_JYPaC>fuFLztX zrG1|z6N@kHR#>$9!<!XT9)cP|fuBLc{_j6M?fe^wv`GJsbh0~#rhMG~qNnZV>*DS{ zDS>3_Oee3OOBQHPc;hC&qvrqL@Bi=5|9K|;)Er(XKl7Ol>zP9QRsQM=&716c<xq=L z%%juIQyMZIxA1TrZ~U$PIqfCG*15SM+uj|@xf1-MXF|yazHbZ9o^^atb>MgLuGCeT z9<HZER(B-_$oB76$&Ji?VCtwbZ+7gYNx6$dRzE!RCg*<j;u)v+Rhv!!S#;K*UPvG} zeXaI7Ue(Q|Dw`Kx>XSPO8iUr4W?i-~WD2NvS(R2WK}1ZUPIb~DH4CJ1)2-zjk|l2Z zdnKHxZg_O|;y{kP!dF}iu4Z}X?5Vf9X3^Jt>mFZLwY7kgbK*|jEuvxPoi3N2d1aMW z%B$<XC@C@{Ds0C+)#bi_7InCBD7N@mbI)q)dhE00eVAIYg3NQqm6`EOR`nlTj-8A= zUbv3whvmH;kV%tFhmt&>uVJqxmj|q1n(=tek+gLyU+?F6@ZD0hWlo-nLPSxA@E^5{ zySj3<wwtcGnqw`{E4IapchS9u4YCeiCVbyEetxw5<E!v}E!X#dEWc6zmhFt&Vq+t_ zA2TMkKR$5pe!IY;zjfbiT`nyCeUE?DZOza2Q*QCDlD-tTef^QQZaLuzu}9xJ^&n8! ztots>1@jvhAG>Vr&i?&!y&eDS>-E?8rMLfHA-?z9uU{e`JS`k=zr7dJShbh)a?!7+ zeu@QkAJ6=5IdD4n>>A~1Ti2?VTrr+re{t%~s{e;3?zpo0ZIn*+rzrgo)0X$26VlvU zTN3AeJ=@>dy>;%#lXadhWw&^DskKerdF$g*?N3uGPci@M)B4<FdG5xt+B^Sd&8uAz zATM;g{^)m5)Aypubk^lP8jPPv$`M;fYX^$)%NdAmd<Vb-3q`3u^o2z}if`=;(W z>z<EW^^>2sKEH6|e&ZA&<5>s1%(_4Sv=Q4Z`6BtRw~OV%QqW#1qpWptd#x_!a0FeR z*B~(e$-Eg7_SN^7ddokD)>fGdX6qi)6v<(@|DZ?Znfdydos*uM2o&u)$+Je0Y0<3} zY`ZwK^l}_$-M6khCZqVmb4$I8sV>K9Cv%;yt2v9d?d`lY_x1)G!Rr!6Ek62XYrA}k z<)Ri!{GC^@pZ}5{V^_zC_{`-Dy%G5;D~<fKx~@7V2hN>;@0ZiZIdXCS8rQgEoOwEU z#CI(e+Wpk|&hAZ@?C&!ff1ejQW&3w;wT2w)r5X&HB8xXvE?)LEsH^PNmqi;E3eQ|C z-MaR6`|CwZrDnd>$bETnNsAk|w7^514LY7Jn>UCo?&v5Gn<94AeA|Uh8$=cx9+RCZ zW%_bQ?eV!;Dcg=+6Z6uySudd(`0<$5+bN3*l{QQ2DolU8_p0ZgL&qkrc%Qd;-)>%8 z^X5mlB1O*6bI;4;E1t>o><iDVzUE!23o~zDUf6Z=#rKRq;Ds_qd~(%K1Y`D;WF~!| zLd*<-%X{D0`WXF2b=D7#=e(58g)iB|^PnG;4dS*;$Y(s{ckrcc_rIryISR8TKHeqh zAhY0R(~1y<SH1@}J%|unHM_j<`^)78uix+M+8ZACjVq_c$2#cHjhk;d)x83@FM7pv z*j-Cn;4UxYV-M9uGxB!}Y>Hi(BRwIfZgP)e!tN>0%P;I}^RMFW{83hNuD4^=GJ(jo z_64^ZPGr5?CLkB;`{R|XYo_qK|1Atlj?^uEbaQ)b*Up*m=bwN6@1AG_@4|^Us~mU5 z1m3U-y!@c|%(Ko}YSw|5tMYT=Ma*QrKCHScy31zbO@V9dHMKHxos|~PXLNSA;EsAX z_tFH8birh9-N{Bjcl>=Ub#TYSd`+EQG0W$!)vwjuqg#Gt^Noo&k32AQ7o2&PF=57@ zviSu$i(5~<y}t45+Wdsiv*X>L_RikG%WORBK#*Sd)|rxLQcE&A>nr5iUEP9vK?kX( z$?dMIO{!fVvm+sL*S~HCz8&gnhj<#!uUo&~I23#^GsjGgOJDykW3xFaDamyF=YG2n zjr=JVf-Q66`urFKFZNAh^A_GH%{l#^%Y~w&@_VYb`Uo5F94NUJn7PE|^@f&L-(s(n zZ+mEA_UE(XiH*BFH~HLHDzwSln=!vdv*XXyvXbo$Uqcq}o_peLkYxXE7tMgl0q6DC zN`?CVj55e5X5X$pr8s0e_bgpz-NP<+)8AT$oztCH8NYVt*G0U48eX)TG4Gmqvqfa@ zb%&4?vv84Z_a@tCMMWD~&-(8ec%wiiwRHXS+Q8#hwO^EaOMeCQDm}}$U!Y@hXr{f^ z?EJZLSMN<Z)?YB~)sDl9POj{+K6m4nHk;c%>xyTYCgs}>`}uU4J1*`xW47Skf~vJ* z28T0pma}dSbbq-uJaE@fsWdV1K$~j0pG!l}q#MmRopNDA?iC&GX^*EJyCiZV=F>W# z4SJv!@Um%=r=7HoXWq9k+V*$XgiqI(2+V&vZwANv60X+!>>pOofh=A&GK{Hj$Yb`; zT9=})qUN-x_UWP4c$N>Der$@%g}3HcObI%1R9oWJ8rkyH%PdlC3Uj}mu9DsQRySn( z`vYa}j1T))JYh+YeWPq_&#pT=xK4igygFk~u7K8WNxch$#iGNk`830Jn@*jx!6bF7 zNpM4zHpkU&53fy8R|3ADO1-mt7mH#^{t^GiGqc0P((~WFlM*tzK5vuqOy6z18`m9v zHu2`2O!wW;Hn5&#p2W<xvx7_=(mpR0;T2wUX~H44WfHs^pQpHcBqqMU-q~M$;6}@- z-_fV;*=@}>eN*@M^}ER-J-?TTT(0kPDVY4$Uhl;7%8z!bTf9`ac&T=r(bibEW>LXA zIgzyI0T)ap`dqG>BwCykh?i=$S-nOWv7zL{i^cs(e=n(82>*)n=i12lK#+mIDBq_g z{^y0I-tm9Hdmx}|7lnWND5SnO=j6S?{2`X%{i8D~^Dfly-M8=G&E8(#=E;sHUM`;Q zXX0_f<I7clha+1TD(z_9V)^3<+k#YwY1$LEvb_o8erlfg@Lh2H@wv<Q^<9!S-^(Pe zsQ$w3<c+(WKCCk}{-#a3GJWp8q~-U0CNXWP-q$s|&iJj!>cG#|T_Ou=ZyGuWHGH#- z7R+?8RloaS+oR<SU$==*W4kgv+rWZ##fPN~t`1U{4{T{;%=B?he`o!_@;Jwvso8do zYw!BoO|LvXGwI{(yRUnuyq&UW?`yy3rI)rWeyjfebsjf|hw-aAUd`G}@1@%%>$!aE zcb%VbWxA2h*`-dq{HBU5X1-k7w)9nxhV{9}->ys%njK#$)0e2RjMMdy$wID|_Lu!M zZ~b*&ef768a}n43NFDC2Ykl9?{nmYB^Vj#vyL*mqRuQvKCZ?)&H?4EO|8KX7DW@gd zLZ4+pphftKFE<+=+_H!vV9F<RhCN4Y4Hy3QQnV|*-){dW>>LXyt#iy|VLYg_?@**< zmec(_ajyMmIu)LjO!_!i;L15^M}47x8yABob9Wcs3bd6u+%Q4NZEf4HYq3|#wkhlu zl$9v#om23pin(lS*O@;yY<rJ~Ue0gZAK&_lH~NK@vwN7g(A~4)W*bFTYbAG9&J!zC zUdYRnwCvKn>oH<oU)l1SFC9&~5D==b=FaVV*<o?&0)xq~t*4!z8(9;-@?u4x*K>BO zhnH@BYEd_u{l>-Vvs>EaxkcqE+kRxaFIL`Ks=Rq8jFjaKRWyqBnC1QDR(D4MY~5~J z%jOd=(t{1&UAVF$@bSBV-KE@D!}B!uyj2r))%CpFP&L=y%3<Mw?(dq%v&;haebv(1 zp1*LzrmjObKhMxVmt;2C@$RMz24|JO7cW{Qp=$~n0FS!4yOjI1xSo$nx<3&!3q7Lo zVUmhZ#g_=|Kh){j#~`=s|G(e%e`lVrS$5{8!jqDPof<Eb4$M?Omh^OU;HIxE3DyO# zcrB)Ky@?XNdOJVi^UM6C-#3>B+}%~JvO%!OE932(EsJj->HIU*O~h>Ki#&%<Wslv; zKleIsjTKbhHQPgZlT^r}RX?w;=~$7)HSy}6gXdxbPbw*|-uY-lt4pZxzN*GtSC`P& z{cFVJminr0ii(e3q(3dDKE+~T;{GUGp$S#1xj7g=e%qY=S!ji4{tlBJk2X{;-cTA} zerV&)f1N8%<QOR!MXz^_Ut%UHu+mq{CCgeWt3GAhzKq1V8M)0$b69oDb0ZTX<10N{ zj8!@d%-$9LK0Y<!PG4@~@6++`_WN^L^f|v@=_c!{yJDTkg|yQd{{@*88J6TO-nX}P z@ALTw|8bu`aO1XX;Ps7j^cT!H>*oFG)!vr6>r1wEg=B&jj438R`*>Ww{X~k|wf)LZ z&6iHuf7aGelI4T2pWT1Zl5%igyUgV5XQTAn^}G%BF@`ePy0QORmN!lauJG#p_eEa7 zFuf<!DfHI#X}rs$nqyZU(wZJv^_I<S{;&5McdJChHVf)CeK>fWv)<#lTXw$vz9pj0 zLc)eBhEEL{9+oyfWZ6=<B%*Y_z3}O*f5i*ExGsG7b|uC1$h50}zCJpYbuy^o*EU6y zuP-J(dHnYF_T9fy7TjB)$g&|+Pd>Ik=C}Fui}$x!ng4GJH*s#scsBXwgUL6mv=3{~ zQk`^jf=AltQ(^1QdMa!_sX67)F)Pq0n%3iY8~*p^AJCXS>14)Y56x9E`it^jRLeQ6 zKACMUU(3Ha&i&=p_lfUsE)UpW%U$_0Vd;e9IeOf>pC%u&SYtFR8?+?J<kOAA{Qf4) zhpX>>?7J`QRMS|U<OH2iV4lMP8F2`!x&ITiW{KhdTw&uUTbTYQ{XI4H^BhhmKk=vo z?SD7qGhV6|dw2a_P^u5N-%_sSQO?Eb?7#K*HM~vV-+Jp=tVes2u_8l)oZNvtv#BbE zM<yIe;*2#^n#C*1dd{@$$i%CYdJfh;liIyTO+a(?LG{&~u93bjC$kbKUU1V~-Rc_3 z-G50;E|hoTrdxrZ-~GM*@BAj2D^h3wm8^Gq@MdPK{OOmsF5k6&xs73|#%4|T#Lv3T z{%OtY`G5Q>xcln(<eN`QPUdKOBswN@>oT{=nNRAA_S*98+lK#VwqNRA#MWbB6zvjw zwW^Kr!@u5^2Q$=O%`V^Y|IXzVdwy|kYHKt;YV)kfGDG;!#9i-m9M*%ISX^?|PbPML z{d=cZx-U^;dW%5x9bsX|$$iDSe;3QgJ_~_#lRcG|JdxkdbAHZai~st|8z)?LwLZ4b z!t39)@}{r0+Vf{jm6p`myVG4=SK4ngXXcEIH#v*<?PcA4mFM-$3Bmrw+1$nVzt_fb zs=s277gU_V7vZn5<#}d!p^VeUvlk3o)+mQ;%f1j1^89$Yn{>@8uJ!67uUXeAE?Tv! z^_Ga^q*D!nZTz7cYhT4_9OCC`<qkUVLs>7*iJ`sMimO#JrG@Rk>F3<%=l1>Gz1^ID z>4bEKi^A7;1;zU_32(YP?@evh%MPE|g`1^Y*J{Up3(L7K+|a;c_4KX!%}C#pU3uQ= zi?&bReQ8#K?5s_9-QQch=*Zri`>HEjX$e0=(5_!E%x>SCcc8d?%DQiRPw)P$`S<dB zt=B!9HhXS*zqia}snLhp8&j_~9TSVXHuY+o#P;Pn=XNYTaxHv*!<MHF$srnZor2cR zUNP@iweVT7fH_ZFXSXOVbt%s0KfBj9<=L}9n|itK&)fz%?4^rY-IpayJgJg8i3xNR zwoz(EFWVfaM5WsF%{O&DetI+fWBRkGNNCSd!ybFK4~l+}P2-a6On>9~t!8~=ReZYt z(How#%=Yy!FV+7#e|>%Z#9+r0FCC<7u7yrCdL*jy^P5|g*qkihXAc!ut-pWh+-CoU zpN{$7aNBHuieJ9w!^LU~H|}E(7gnwEQJAZdqjm9a&0`6xsHg*Fu1l4C%~@B(pY4Kn zEMD9IcPx~G8o1*3uF%MJ47}>%qGFOiJD_Jx8_UG2Z0@0-UBW*96~B@0F#E2OFGr62 zw7nDmS{ctfnId*hUw@xob){p!({#`K*(@$u&JIhqy*QEcZ^|Oaz{^&F$EE~#EfN=f zlX2wVisXMD$p<H%Nr`CLyzkrZ(>9kM=`sI0E#zjw-M!Du_p#pIA3{>w^S|G>=+)}F zr4rorOI#w&T1tBT-5L#>HBqcj!{gjuF3o3tDkR3mDpI_&p<nOurqdZ4L1Pz}j~qMZ z_TYI_p<?5HkpuEY{yrRvdU1Pdek#L?iDke4+kMNw_eZM1C_TNxMA7bRvHb5FJn2mn zf<Mh;Z(1y)`pfuWLr1o=YXLLE?WWkZ2k+c>|9Lfh<M%tpEAH;(&9r`?Us3a6;kS&p zZw?r)4e<0iGU12|kEhQOfd?)<A`2Wh&FYxUR`N#E;qdLxzmoGVW?4j@jn~iPx?mUS ztI4`z)fzQ5h1H!GzWqA(UQqWozoshRs?h5tGM=-vKYxBd@8r{YR-bOfXhk%f5t~;g z(r6^jlw#I$D#ybyja%$cQ&3mi$#~fL4ts(n^wuP{7)iHDY`>b7^!@$*XVt&^l>RPX z^+0U-*^XU>uS{p}$@?t$I?;UAihDJpPsQi8Ti6_V<RjR6$EW1V%?s<NfhwD#NfmE? zeT^%5>KPCn^T(ILzu4cW2R!k>Umyii;B;aI=dakrr-xX*8TyOMf*$_ne)>t>g12Q3 zU!T%O&AOG!Q^ff?lMk=Edhymx*OyPHZ}@&_bH<w-C$IMX*FPR~KhxggQe3^+J}Y8U zN1CV7QbtfMq`ZOE%~@D@!c`WfR8tMN&~DY$tfx~~ZHn5mK}c<NYiHKOO;IyeEYn(D z`8{4JlK0`JsCtfF2fn@1Wp2x4UG|{v`OeMu94B-ah?nR#o>5~?HIr1>d@^9>+26Zv zGbNqODO#1XZNbxdnp_&((#yRf^Y0vFWj?OkF7f@{WdB2XX2~7d!aa-Bn8bOmt1-+_ zOE8v_mj5W<m%5<rxtN!}9lOlCWX1XJcC)2F2)ZAOvf0oBDlUVMSKs@#t@CTF&eW(` zx%c@OoU=6)OjCTCe(m~o(9kw0tc<*zg70&FjJJ3@Rlfwb7Qp(Y!jeDXula30_?=@> zT>fK@RPD46w(R>u@{WCWvfA*vciWzCd*45Lu=M?c(h81$R>#@p58Ix};!WFXwMXOH zzL#D4t5qjHFmU0zV5gq5VU3tbug<(R(^ObjY`0a7)b**6p1r1xMbklWW>v|AHEarD zTo)=f&9Y}*xBYqC#AS)AV?M_1x5|CJ%k1;Dty{aSzeJu-ZjSyY<(Aew>5SOiGLc$v zBKr=?wboKuJTrA)xFsA3inw7Bdg{W>X)cf1lKOX7e%Cv7|F7PorT<+@?iRWSdN1`o zn2}S%^L4_s-eY&IHTM6=eNZ6(*_btDv*dN_^Z)&$GC?)B=d*?Fa!qCjwfBMM3mBBy ze7H34Yj+>L|I`H(qAe39-YaX<*}n8oF@spThG^HeWwFum@z+5EEIGea%)aw~uH|m; z*rCQI;-Q(ieO5+J?!rHpx-Dv6-ZtRlzqP#fpWJbF`IR<O(X(?q4^8DVoVaG1OVj7A z(`T(=+s{2QCainX=|jN{t4?Jl23~E+@8H@bwO|^PNr;s6(lu(2PG(IEyt+VRHS2PQ z-bq*Y)c$5Z-Z`O;(O39}=G5xrvwjyu&Y4~NJZIsDD+e@kK6Iwd^|#O~JuBV1_IK2` zkS&TSW;2~`1>RKOtmu&TTKKTY(hUcU6hvq8Do?p7U}QG6(7Lbr?fSZ_xBs8GT;HeA z6?Nl~MAK}MhAln^wpHAHmb^n_%eK~M-_*49_jBxxI-0YOBldc7-B}mVVE5z$$F^n* z6ct^s=KRCXP=CzUaN*DCpM<~L{&?{J&`ij780Fp1d4AptWd3$w%A%Eu4d1O>59JrB zaai80P~CQ+#(L5F$QGUcI=%=M#>^Q8<=+A-U#3op|EJgECHd!TFTdTTdW&VP$Ikh! zXiy7DHEmhWz&q)x%N&yh&Py3Y_Zf$~gqZFxQDi%rm3L9AbImjPq)#FXYBxn?cm=9V zxO!y5CMls4SxQ^>URaT(<TXW7XEm$5_20Lwvi8f87vD0nX%F}=QTu!6*7_Bkd)Cbh z64|Gb<G5(1e_FGD+UvDEKOP-Wop5u4)2+bk&r~MdOyLTe;ht6;e)L7kw!~w#Ki+K4 zc>BIL%uU)m#Y`|zzha@tJ@<aL#T!3Pj7!<}?5=gjo=>qU(Y_+wtQk=O23e9nFa7_< ztNC!bH>hvpRr%)E*Uq?=xxT+k8Mg0GS8EaovfESl^i(CRYGvJ(*(UDwQzBg>^xxN` zr>EaPoT>2S$)c|<Qx^FD*q8n^pUp}7<F*$OVm+4_wbt+HIsCqk-R)&Vb;|_7%XjX# z-_2RMl)-h!nroUp;%m>=CP{dOeV$(&64cPPU0i$BEs4~vDVh$AcDddzr?c+uGh~d^ z_2dfR(OmtLzgt1k*yEmH!-ax?)rZSc-rHW<y&`MYw{4%FmwIGYFJ8tw>E@DMXO_vd zp54x4H<Ndtoxm0M^hlkVzJAlsh)qi}S#rksS;t1jrG>Mf8u88hmsTKhaNlG8#S<?c zlbNX-5cOKPU*~{P<wdoX4`-;&+Md7o=PB(IQfx)Wl^mK(_x^&Gm0GUUVd;AF*s*+$ z^Fs@Mh7F)4rJ$kzq!l)xHNG5*EiHFHw5RX5Qu22{LxF|o%8AScZ=c(J+bHSBs;EBs zMSlK~2j{;kr8P1r$V#WJ?0I!sfAOEU`HQ#iufHNMU-QB67JI|3yVm!<%NW$`y1=+8 zYW|DXz>`@_D^FxGzHL2?Xe$eI1~oW&hJEIadpz-K&F>5AUvRoc>SjngrJ4%firXF< zD||y|str^0^q)@u?mhi^^ZA{Hm;PuvHrDObjY>QG!DzO+#O!zzZVyeam!Egvc@&j@ zKu^;<H0`tR4FydeiKsO2D5k(n-J~3&rG@Y9ewtb=ldZdKvP~mP@#`_Qb*wsB+bYgJ zQ~uhXJTv3&UgqEDq)((9pGYbGXRc+h2)a95eah<a^;)&pEwz?_7w4a}H8iaIw$FRI z-MLIi_FH*5qeaZJZ!@RjziE@FXxYc;Os(s`>~P|w%WM7+l}Ud+qg<X{kPAALwJl(G zCHK<zdm64Ctoy-#pk>0uL{q5@S(z0lvm8K~YNi?c=`6>U#*a^Cc_^%|blu<(sk<O< zgUK?j)vTP!g(;>g6Rx_r?3d73{d2j3PuOR%&KsMeB0{!0MDliRlB(G>%VEijmv_&6 z_<pi(tJDv<-38y?^uL((&+GfG=M!hee2NNKVg_oCHQW&cPtu1@xv8{x18a`_pGDK+ zwYaD4cUrmusTFoib+cyA?r*PnujJi*wST@;s8=Av;ZqsStlJfjntnGil#-TIEL+@o zEPFlE?%gv^K3BAv7%5^m|AR6QXr+iw<(rA_YE_c=cUOK^WQcz}Zw8N3hd-$OC10cl zsvey@X65AMxP&KoT@3tC50YT?V^&n>U;CLe?rrnFPlxJcPP-Ln3qKW~=U)6e?>Bpl zTl0hF{!ZJh=;(qRZG*KLIgz|tfmd7JUlCMXrFkMN$s<x%XVt7tYuH%2vR-YHQd3y1 z=*Sh&avD_PyG&WKXcCi%7bv_;RU^+@Up{zSpx{mwe^TSB%tIS=?msG%zW;w(^|U1} z+9BUQxn_CKDidLxcuPQGyP`whXS7z=sT}aBTHscfqUucFS!!kT|LkUb-rZ2WZli0O zw8~6Z@9dLDwl@5m?HjlGr^L&{t3ng^e3Sap))-^=epj1E7kHZj=hM&E*ZHn_Kb2ct z$NPG{-~q<(M_gtwen@})`Zc^2p?Ah7jk)3MOpm$s`~Mwae*efsplH*Dr1gRVg}M(? z`CnQXc(-fR|7N|Cw~y_(iN)&{AI3|C0lPO#>b&MrUH$VsD2xtaX@9PYYFHySjj80# zrdb@h`gL3Z8mF?7G$Pl&S6ZS1YII%P6!l;ur-QhZnRjaV)x~9>Zr=H{bLr9drHfaz zp3X61o$1Rr6&ysnbQPwZQCsc>%4#zgHEh~YxN6GRW3n+1B){JazTa|ng=3`K>=dty z9jym1NwLk5XDfLUbtEGvMd!Oq&>^cEt);*DHtpiGom{&2F=*PWNNDEAzlN7APTu(T z+UZpM<G2|T{|{)2)Xl%_08Tc?T(50<$Dz6Zz)X+1mF}1AzMrrA8s0sJ%gK*V@;kTx zDSLa)qMloAjlbSrPki@Y-Zf6S#fNuo5vSYMt~-Bfjzq_3?ET*wWGh%@C)oA%&^0dm zy(=WQJ6%1)yHcHPt&PHzr2%Wiw^<koZV9lS$$hjcv01e1>mh#QtyPI{J3sUWI&&PE z@mFrwy5!X%$9@`j*QS17r}zIs-PUihmreG|PmsO1eDl(vZK`wEiQTH??U+}r*7Bxz zf%d%4cQPeMH@~}6dUR`^eC&6p6J_#ypY1M+S$;py_2$d)61OXw`SzY1FYRumrvF&< zeb?XpFM8HzZ{<7@CwkL*e#uj_hqJz~+n`qS+p+AOd{fYr?Z?%BeGiU^47Yjx?d84W z`!>bx%%7u`8XKvbbLZGUyHodnZhN%T$>HsR5L@;mnZ^|hLu~yypE9~$&oyammC?VI z^2FnI)6PoqsEr+WE(!Id2~XftZxe9huxtdaf#31|Ap7n4ht&%2D?*R@*=s0R_tbg1 zUhT)?>+An(E^h+2*_Jdqe3^g5$|*+l!2dHdz2?fFGM)Wj@W9^(@v6c_N)}y5#J)A} z|Ii*MEU@qTzx0<D8E@Y#{B!8D!S`>~_9>qavddrozT)0KW(&R$rPZvi%G`Zx)SPa4 zPhz@qJFX(dv{ht*;KZwol;v7o!@P}IHI#z;zqy8fb`4`*FpWvXLm)D@AjEXx45kp< zO|vA7Hbq@g?_AJPuk<B$k&#|7)7LQL2hQCGzVH8eZ@WW>R>Oo9nR{F2H80*!I{l#d zOx}GbawM*}uU9ZIn$6R3=2~{)iY<%poyhy=k^6Q!W8gWfz?*EY7Th|_zZP#(?Ksn> zGVvzUaovr-pIldvz4`r~gr~^XiEc5$zQSB8-Dj>%<jv(a&;{l6+lN=0C*0fF-J`rP zwa77D@cK!`N2Z{W>1DG(%Q}vzm@$A(?_r30G;an^P>28B?+^L+Pc?=tnG4#vUnXGR zg3SM-2N=_{RQ|mG9=q?){{krvOUVp}f)Cvj)+}W9Kj*i&@l<)d%in9OC-j}YfAGhH z<Wut7G8gRIyjW$m>&euInhv3<TQ`U-IQ0Co=83F^D6R_unK@H7&FWBJ?YfMib<vt< z!h72$fLgn)omq?g%Qz=r{d2fWb9L)d2HuHRL$3F~%3B`R-u$n_)_A7RL*Lb>tL0{{ zRNt&P^UO2BvjU2<ex{iH_*GE5<x@vmXNuX931wGoZ9k@NJ783Ab$P<3eV-PHEM|ON zQT{Sv=Gs4V#V_8u*EcPV*>7{^Nl?{c*qOcR>#ow-rJ%ri&n)!qA!9*BL(aYn6ZdAW z1a;fhd+%P4pMOJipPq}a@S{2gw(mz=ETCuYSV5B=&)Ek12`er9gq{9Ks%M#SJOJ%I z{KJsm^ymMZy_I`p(kq|;u3q&!r*=!V@Qq11CpYoN32~IC=_!f}IZg6pQ@eOkF(LZ- ziI2Q$oEvkR59%<pKapiJRGPlPhrx52>605OjXrZECoOPjFz7s-Cf$>J@>coWt>4#u z-&sFr?etaeR=s+)?w#HK_4e!UEZ@EA-mB+pSFL;X>)YoE-;NjEzkKxc!Gwo9a(FhS zpHFzTQ~t2u(u3CVIXQ1H2c@4sbS`c6>8v2{Fm185O((LR&I`zmJgd7ps&&mXrB$Kp zR*6UYzM67Xz#&Zd`qQ0hp_8)~b%KN@UDdMFu}KXro(Pg-mQq@6dDeRSzK;<y>gW8e z{B~76JyqIyZ{G9gDa$5x&)Su0_Em3l<+(#)-(*gum`(Z0xZEyn{%6(Anb{|E^dfKC zoXp|7@lxbm{d>*!$CD0ohTWZcGs`pW>e8(VkD^RHw;h|kX5V5bZnJ;{GqY{a%+HDk zSd>Z`iXPdu%W)!TJn^N@xA*t?JC7^BzQ4kb^?|cYXNJIo(q-GfH}^p1U{;Fj-<Mi- zLeFj0#O2?AY(8s#|4&p~(}Zu!LXw0(POZ%4n|wOyRqOMKmPJdp*oY}EvGrTill1Au z$C<`D=8?Q|n^*muboI^?qx?-#8-y059+JJ|)i2f^cC=QRDN@&iGazL8)g{x`gjL-V zU$^Gjw9vJ-DW;mIUxYcGIdr3BRnE7WE7$FMbBR~%iH(8wyqza<K8IVo9uk#FF{_w% zGhqLjut_~@V@!%QG`Vy?@9sLf^{1%bq?4~E-<-pr^D2hn!tyiEzSLxT#HN_Fms)?X z|Htp6*MIA&{p{&8*KXVLZ26z`uc2IOJ49vGFKgB%Oz!ZTBJ%ABOGy&f$9Zx8@B4ug z@RFsKk3P@;URQgAVO{+GfBh~`vSm6u1b&`)wl@0y0S9ooIbqj^HMf?}JNAdWLEbom zcX7DxYkl@@d3R3)2wXbW9=tyOl7;`$6Z0&aU(Wx-qBgZ?I?Ih4H=_1E4faeqcD!~P z18Y~S;r~riQW~pwriM;tP<42yGkxb&240QTp;ifTDO-zHo?g7>nbO>f$yb;7MXtTo z?kl?~YHRMD%j|RcBiEk#bGg;#Q|qBO!Q92ik`1#Dr|KI=rI=Zs%vqZ1{x>zN*?F0n z#fjX1soOqHS|pdcZB^tAnS1i5SdH6xGUZwgpFa)X7bZ0A(e;K?*I!Mz8Fai)vGPO0 zQM>2fZrQVTgzc4n-xS@OS?jmF^^lL5SzX#@*DF`_4%n5;eT<M1+FYUP$)VU%BH;g~ zOHc7oKc9@j&X~OJjyaD!Tt5HZA+@>s!?oyeLlICPMNvg#(Y?C2t5(&Y%P^hNop|QD z+1--MsXVNTxm6S2y??R$L%puZ1e*$hnU9a(*}Oo&=~mZD;p2%pyR$e0!XwWn?)sHt zy8KOAU5Y8ogsV%u_OF;5%FCg!dgoMz(&<<4cr{#8UA@pJtoZaQwMQS!4o|$gBrfvo z=k!R~O|#eo&u!9~Gh>F1;EiVy_wLs}T$Os7Z;E&L!Bn#=p=Ba`GjBam*nV}|O@Vc1 z!t`cLP4_6Cc+F|*%{yK_R(ryv4xRevyRYH%{l9)MjG}T6uJwF0>vf6Hqz7SNlGM)f zXA4=T6$wo`dHB^kJzEY?a#*r<<E4vpv&%|L=Qh34wOQTKW2!d&_DKVfT+0Nvc>fs@ zZ_YESNN#M~<d?LuzUK7p`*obojvmr-{?Fxf?))y<Q5^9tL~-VkEB^DH6RT!LO5V6( zwL<cC!mA&gA=-?uBEy(vTut9^l2V#*RbT;&#+_8tk4mdWWz%g>WqklAq0cI-LsLSz z6+p?Uc;eMP=iW;${~o`7O<4A}n_}<Z9b5U4^LXa9{ck4m7M`|Z3h@e8U3Bw|uxW}J zuVY&9`Be9Z6ISx_72UogB;b+e?0q7~@BH+Z6Aw+df0g<DFZhJN|Md57&Pn?#oLsYO z%d%4a&Hr?=`Yu<A-4R=M)k!YPSXw%odyA8t(Nvc;yO$d!Yl5oFTazwc3_LEs)P$RL zp2!1ZP!5v3VPjLn%?zn3o8tUC+JAc(CLd$8Io4r1r#Ch>_W$o=()lqb0|YL`MQj#- znJ50fn4jTHP5)%uQl^#6><qWlzHq#BxRjiH!q;E)?eD9prrXzKiEf&;d`%YLrdiRP z7nYsQdbG>tzpBH-z_7`?Qnp@tZ23xuQOY5VSxO%iG{PT4nM_u!3A>m6@lU0o%4W-U zJ=XB`(Zvg$j6Yur*;rz#KT9-FXV%$Tg~dK;&6Ce;GpH<>$*VX;*0uEv8~e<)Ki*$R zF<Z{~MPak$GzngX&8g?-9Q;yj-)dfXHZ_0cY9EaUd;g>>8*M)L_s8qfU7s?8HR~cK zPjk5HuzXoUq@jn+u?A3*kUbz={mtc8ebLWPyBTZdD+^xzIrp8!ja^@*+#szomV*`l z19|HAT$0H<apZA)<>~i-&IN%A;DbfG+BH)Dvoq-4@Yq`-uygbC8I_H_YY*Q(a`C3o z!F}EhOkbxmh~AI9y604u-^~+$PG)f^te)x}o4RS%l}T5<_|M!+F<luPw%W;d)2w!* zIdQ-Eri8A|idl7rDLv44&pG|3;*}yjEB9o)eE;@sbn(O1^i!>Cge+GpaZAg%Y*w1N z)`na9)DhDuooSner@knh_iIM|!S*xD8c+8fQVf<3(A*w+WPQfG14hyT)6XnB_TWwV zzF4grtuaAc%C?!#kG%57M|#N;ja5F;rMnhozGd2SASWkh?PZh6jUqg2*5$>;3OR8o z${zUo`nvnI@}wlC?3>?w8GfAZ&3MuN>fXVFj`MDSO6L}V`#)A(|KQAUKjFwMBenIf zwM71X+}_rvmtew?$*=Q#@6Im*+37|e`+hL-7{?22(%4XJ=`-KvszW3%qgTVCtd|#~ zHc2t$t2zYE2UR}4Hq#i^#)mmOr<kq`5BpqWcGGH8)P++0yp0ty$B!RBtu{OI*=hY< z1-|kA-?={vg>DRZ>Y3JTKJ%<0I4Ia>@}?R|pZXOs!+>QbuidG>U+1qplQ_QV`hzb~ zKZ|1HR#()1``MX3&#kUViK%dHmH9!V&87>NWL$l@q+}P*c~8&oKn;gYmJzml=c&a{ zI{WE*J?P%EZX+Y3rW(8VD@6j74L07`%yj4I#14+D;n_-s_R#F}=h1U6r;wSwYb*C0 zW7=m{aavd0P^4vx9k<Zz<d>$dbyY$yo7oo}OIyZjw$1g*vh(v?_2#;LPBs0gzB=^m zDz^SjQ8Rahw69_7-!yCX3N=xtuJ$+SLJncY(d)X`JS(kxpZ>h`L>A-bU8X@{+Vl5Y zl!b+hpY!uQe=f@EuC{*sZaJl7QKqn)k7ufHdG!8Qs#)pun_gaBS#Nc699Cwq>FR27 z>55(tnAWOmGLv`d$IqIZGd+x=6N{K8``f?W6l!4;x_C*3^HJ0Fmt7-+w#=!Sck{-L zD1BvV5s&4GrRCTE#GDitI$fdZ#i7`;MKAv5_Vu5l7IkWTuw;mT<l!Pxe|5JRFaLiw zWk^X<^YC%p<(tax|AY<%vaQYBbLz&o>+IX}V$TK$T)Gu;HSWwjtJXIclY4{|y9Gmi zWGtB+YENYaEnm~duxZu~z4NB4XN3rx?m3YaG<{82RZzE;cLUpms}09aXXP!5+Pf)g z?M;EEHO~U46!#|Iw22H&`Si0Z@6pB`rB_p@-!is~%!~{yt$6dL+*NGjqL9p|MYj(< ziAy#6G5zKipEPaHW6M$(&2;t*%(%ICQBq-UUF+%-Ij_9aimm_coF?&AWAog<)89Mw zHkyM9RxzKL>>{zPY12hS884kV<`y-@M=VT-FXG+wD8pz?@RXSDxyQT9fB!xheB#Em zuYL^e7D5vh7X7Nc_W*Pz5Qk!&f!(sb32$#Tb=VwQVLCOt*YLi?o}bUOCAplU#E)BR zXYm*v?^Col<NF@{B_}6m?!8Yhd6xOl*PT@OKx6gPKj9C<O`XHIgP258gTiO7QQMlb zRcV&m>d=Lvsir3TSu!#<&5EvHp|^VHx%@~A<GDqD6#t(}_12HsS#pwbdC;P~q}iA6 zPfc~dYrK_lD!76@=$Q9efAiGoB40H&hn_tY_65?MZG5yn*plIu+UBXp&p+HcX@kgK zv%h~npO|O)b`N7{<t9ioZR@_qgr?aoDmxS(7@hX&68m(arg8rDoV7QLDkGF8M4b8f z*nRDe?YkC(+8Lcwu55a-=kpB1$4O_z7|h(2g!Igg)m(fX4mnD-<;<TAcdcuW)r2)} z?uiM$nW6J~cXRZ%J@XbSEHT{}P@}5Hv^6)SPo{0|oM(U4&CJYv=2|gYPj~*hCaYlD z={sHxY*Vgk$r|Wyn#D5tYK)6O{-#-5maP%nz?1&-&sv4mri)lK0`{*7Tl+quT)eNh z-*Ud;`kf`tXEymw=?LcQZ!|z_a|Fyk6ZY}nDVEKjistKGii$9rJ=ZV!5Bq)oz?kCt zQy*IcPSu+&^3jN~mwpwMW_I>`*0yW8tkR1bj_jUeR@^-ubY#27>(5X6WH-EdA!D?4 zO}^6;$3B;oKd+YQMsG9Z0R@QS5$^h(>F3|rdgm{3nWXgTzhRMY`c%Q6_h+}aw@Yw2 zMfFdbt*$oR{nv-Y8E<+v96EOF*fKT=>yjlQPa54L*REOtDi@+T1Ii=Mu4P#f9(mR` zWHQ&nBe6NFyu*rxufCdkbx%<L8nJ*W*~`{E+qJb_<!7ic&)Ri*bLP)mH^VgTXu;cG zr^7W&;&qaKPP_TQJ?*kUirLo~Si9@2E@NYgnTy`$UfZwv20!PVzGh}!seE*6R&=#S zleB=BnCbS+qsw`wpJ&{5_I&oXYq{GRMRFFb-u-0*qgM{7eB5oYt2}>6s_S`KD-)&% zw?X}viR|ocZE;6EK=o^jfWF1O_!Uioe@z-P-PXM<S^Y}foS(P1;pTMCOwBbr^%LLJ z@ZDV8&ba%)Z{M7p997-fbKHt@be;$;cr-86chyOmt*NG0G*?f3u#+XDW0RDU4r3Ik zDP`88u)1=}S*b~(Ywr~bb89X>@r>KGd-lv#``533f2mvFDqLy)<`xo)1Mtv2OF zuGM_z+=cuWCv&(bvroS%;B+%E<U~%vgqvOe`Fzug_c4`Dy?M!<Pr3BVipL+9*%hvJ z^9&4$Ow)L3@2sI2^|s@IcR}$Cv$>DbO{25THP$%EUAnuuKu~P5h`uYQV#|bY4?AOb zE4}{Rv^AT%HR4S!!!Zk?i5Hk3csDmUdrLr;gbJC774RMKb5jy>Y3%3W;s5{j!P@QX zk}NnfXFgU+c)sa`tSyr%*S*xF<mBQkVfX&SPu?<Yikcv_;Dg3$PZm(sa4l_<lvFsA zNXCXW&#s9d(r3KYky8<-(-yq>=8aRAz1Hu2^5|;q-Mj7#2Yl0<MQ7&5om+L{5F7i& zH6Cf&=MS|R74oJoy7|UMwQA0CyJztq6gOu+*tEFd#1*!XQ@NrawPzh)eP-EDn`8g} z-WQM46T2R>J>vUvsmU|fzBwAeVs3w0XO@{qnwhxC^mH?`ZP)U(Ce+AXvYkBfESnm% zb`ZC1bxNr{p8LCF#l2&J9X-9v*1w<3!whPHa;$8<?~}uj5P9u5V~WJy6KrqKs?Gm@ zZ`s=D|H93V9$z9_bIhh&m*qU;(|)hNapT6FCdph9_H`yHk!xdKX-x+AQCrf%9r{%P z;ca@E)}Vawnj@08SCr@R-Mbcsb`L+uv0l&H@yLjA*;P-E&oh^vjm6qH*q~{2`;f{% z<E@s*Hoh@kk@V*GeP_kV>n7&<#>`(;bMUX`aq%d{?kHuit}tt+v+s+!&Mx^GdG;Ec z<V^-m5rw<9FNBsJ0d4!(BH3^IO~T~RrbSvtTnXatN=9|%pQq{OCrf}wRz1E7m;V=< zZTL*3LEoTa;-;{koAw4KU-a6VCS+{nQuj}*aPRExJ?rf~SKd7>X_Fpk=weod4rA2* zHEnGtvJz8Xd~&hf6y*@8H)Tzh-M!t(GR~9!L}^OTD=Sa5361n!w|lksx|rgXGk0Fo z)Dw+zO>-{%w&l|Cqo1e6xLnoUymI%Mu%Muj?DRxtFIVG?OwYiKl{=nkY*u6eHv%*u z&1G-)*lkJQm&?R|P}u=#3aO|Z<Yk<$IrVbtW(H%f&0BrlwjKKMh55bxY41QM4#g#Z ze|%aOJAuJ`=^>?szt|b(J@#;E?y4!f+-trr8GMniQ-}1+soKqRv!yo6I&=y4Op#-- zX4{riS@U69v|f@0M<*M1R^Nv@A!+H^*Uiela9lCt&{}<P@tS99t2|pp9y$6=V%Rk6 ze9@%1=ihylQ?^EJURb$l)@wDfpgXq|rRO;q%+y~Hut7U+cgE9GsdEF@b}%p~FnGE+ zhG<XMvo)>%7&OUu?We*@XhXnrW)Q>Cm6uLE-PU??@2Q**`kOOnf(9*oPrGbZn#r45 zyWqu6p_gl>omsXo#f%}~_Jcpc|IMuZl{c@rdZ*!HL?Q3Pv_NiKW9bH;N%Jq~yuI{q z?fbp_?&aTSgNnA&!fz)8UA{Wb6Y`8wGG{zdsG^j}`skxOJ3D(a4`jVj;iHqX)=X#B zr<FQ2+NZHZGfZSmzU|M?!_RLZ(PAR+EmD8f+A}97CoWoX`tcu~ljTxOS9*tO+eSLf zRdrxKk=3E+93FilORjZ&+Z2Y<nfqloKRmj7S3yqJslrRE_2a8OZN#jlm#oovptsHP zZ){}Q729CxfSI7~qjZS#gqx?lyLO$(3H9z;<P$SH{^28=f~Asg1GLuZ9@$pX6Cx^n z-mcl{qr^5Rv8@{3UDxKU3siMwOf@sx_HCv1FLR9#PN2(bGs6iCP!&4=y;H2EbnW(U zgNEXs1n&aF5P5kCxqsc;_y2t>ZY0xU!hd?(TYJ{}z3v<z4_<kB`Go3ZQ>4~R#e{iG z-`=XNYE@gk^J}|6>Q>iDyz5slXIDR_uB9KQ!@YjTpHEW-Zp=H~HSJ{1)lFM0|Gte) zYkm$Xx!8B|@)bqzFq$29Do6CazxL_P(@x|p{dmgXC*jxf^OXYE@60c%Svb)sYKp4s zYT1n{3wXjmoo#S3&aCs89Hy>qSS^3R1ze3;e?Icu{{8!3Mk%P{Ob@2%u1{A0=je{d zFBh@>es?~_NLcBUg7OWg6@1Tj?W)^Rd3u^7Tl0ix399Sv6o`m@3p=~&@UdgZ!mgc@ zwF{c{GUJ}^2c^}X*{8C6_0(UM-d%mJ>Dg2U)|zPyYs141KRVgAJofGkpLDHd(c4r6 zcfXm`tuAxAxlMQT!TvML_N8t+wQ2D^<E;l3gQaCo^_|mKoN$Kiz0vKQnq&LFi-h!^ zmSbuO{<m2$)ybRh*2SqJrIRnN@(s_vm9y*H$2q;ax3-->_jpU{MkZ0k7J*CeY&K?x zr_}y`aey&dx_C2Wm}u@U!JEbvuh*`YfK*dKg_|Od@9}oAV}4+;_(sqkAJ>0L38$y6 z=g+%aWqa7s<8c4NrWu`g`8TZKRXk$-vqUO*x!?4Tte}a7Ct^RW^bY$xbK&Z#r#-hV zTJtQ5VJ)Mo!%W`%vM6tZdFK!72`);D*#2u$sQ0g5emlJ~LXVim8{OWM5$3Wn!)&|H zl#@9HlWvNs@du}Ujw&n3<1CnP^MS%<(f@Bl(`MH_tV}sS*I6U-$}FXIS7*Ae6;yRy z{nmEgGVS~3>BoC+-tc&x)O~9{14DG{MbJdD6@#|y-JQ!-i=<X<Z_tceoYed5^L$v* zY^hyc&3xWE)yFN={*cBt1*Lq0V>YH6QctV1-~ZV6l!rsH_n?-K-=S-NxS4)BiIz6@ z_V%t_)H~mzvBvDN;p(W4O;Te1ZR-NO8>*&Uy}%IZJA-$<TI}7s7G`!&H`E;58Xi~Z z>0=P+>lDmyB)#fHPQfhk0>QIgDce5j<Y)+A4^W$R)-Pny@zAL^1tQX-HLSVr&%E_u z!phur?$$GpT-khnk!Iu-slcEux2DOsxOM9o&;Hyp%kONTxc%~*QL8mmmTS$M_)ab* zCoKuIy1=UO;>ExS!D*tQ4?G#|4o~dR`8V5~pa1?LNc(F-QrWvZk=ONo^KNWNG;gR+ zREeIX*KsG)Xy$yLoSUD{mG5~h8_UC~_%KN{ZF5ISX=J%`!JO~YZ``=C$1L>dPG@(8 zSE{R{W}nQ;nDd3jBqFT%HMioaEW6DQTdmT*_C<52AAbGn_0g9ry(X^J7CUYl9&>N; zs%2qrTQ_+1?K++FL2a{TTB7sJ9nTatFZ4-sj+A#buAY9=WW$+ds;S=T|0Mn&<WG3x z<Pv#BVB-$9mZ*Q51!vw|a3N>b{L49Ouc;lm*3ZOrQoO-_-{f#`Tf5z0SGKsyp?{N4 zPruLm;I~X?M!;2B=IHHlhhe_e;a#`!FDQj~?%{4Y>#<E|wc@9n#WT+oGdnvUZf<V= zbJb|&sRs`d-fZ8N_jhaK!iBaDOX8Kc{QFq^?wFU}^!Wl)cS{I4b;uh92hXsoKR5eC zaQ~WXj*`2qoWhtlKV*G%+u3Z7lTKfV9{Yk2kLaB_k?&9I?Rc=}`lki+Qq4rt{k3aj zZ1O+e|9U#-mEPt`J<YC5c3$FblMXFE`e@eTGi>LLqJO<eO!1q$V$=79rkhrnE?SbY zb+4L-*jBeGB6I&2cx_%Gl&Kq%-=6AsHs{tI3sCFQ@A0m$ua#e08yZgBn)6$YL9@?A z<%@Ia`v(sa%$*_q?q>mO-&;E@{w2~dw<qOvF>8bVtbO~Iv$wV1=Q`!Nq{r9%{-0Nk zy3ux-zkc;a9JAqkkmk13s<1=n&WX_9-dfk9S#KP<AmFs8=-&rHm1+9!YqHIfS9K>m z?W{UoaORwT>6zEn+a_GU8ywHu6|M3(?EDN@+dR4FUybv^blQq%%IsQek+kvBb@Mel zzdZW5^5o=~F?Cy+1VSBB;yfnbe42UlvE@gBRTnlL512b$_PO4wC2tBpvR=P)|1;B_ zKcCY6&y1Cy`M+9?saW!I%D4BHg}KKrYFUX3vMS6dw@LBaG5f9ivm;w?zIA(+K4-mx z=I2MV9MZ%6#Ny_Nzi@fZvT~8#GiN*PO=tJoYxtP8cP_7gVzcN`;g_S2rwN@ZVO-9e zyQ_6Z`)>W}h-DiaW7uB2eA;f(DHHfNJM^yY_J`+W_k)V|OO`!7Jr8vA>#cX~-u-%C zq$rDUx2^VpSgt>s?#fId@oPJe{AIXzI6(lsBA(&IZL?iEtJkG|5#f?QbL{bK#+V}= z+ib2oeD!8_cK*)zqi3q$dl^|-Ut^u_$&C*mX1kUKG~Q=BaOSRE=l3VvC(4dKpZ{W8 z@%Cqr_pWF9!qwI;@Q5{;=bWr%Q@43e#;P@LFE#i4Tk4toZ0Gt3zw(zQNIct7`nBZo zk1HbA)<lGDlQ>u!9#?sCzuoW0A|b-_RJZIrldUvi({TowRI}x&Oy`Vdi@l$G^mNPS zGit8&=TGJwEs|ca`BS8X(d;v}yzVo7(^Yp_&dmMx^`~NR>$!b)KfhcyxH+eN?lRXS zrXM$6-L`9oSc<&g@`ihHAKLv@lK41x{f~D|``4MW>A(t*|7A~ve|vlQ*}{b<euY0M zW~dW1j-NC+?Rfmxb-srW$N&GdF82Rqa0$$z7=Lp+KXYlEe9GgGhKzO#4$L=PlzVt8 z!@nC}zSbsuzHlLZ_otud-`w8*Ugz+opCX;v`K_<CBl=Y>uKko%<~A=;JP{rHIO}9I z;{_homI}4XI-ZpuKb{hoitxMi`j2j?-=($sEfGvtQtMW3FIjzlpR+Eb)P|C5iNeo8 zOeO2y?@A7LDPP3DTz#3=y!UTkPFsC_?bQpXyQb+bzhyM{pI&6#Pou^~n-+fn^@LO1 z#WyWmxadsANp7p~v@I)^WE9Q})YUeQ`m#OP^WvSE#vbzaulD~*pQ7rT?RT9?)phT? z{(I$*epX(&al!KCgb5iZRwNzB_?C0hZ%c8@L{NXnYRd8Q_v`+<hm<BnU$bVEdF0{J z)bZ*$bSMm*j266@<}4etz3%UG#+vSnIo5h%50rPVTjxBxt?ge)LB)^f5|hq7-o7no zXWr!t7u?y}+UGaEy3AF>azI;R=C2Osh9^21=MN=@aJAM?o?*JCOTY1@Hix2|<@Za9 zU+!+;3DbF&@0Rw0Yis_ryxfO|pZ~EjGA!H9et9O(v@g@9x$LR9dg@=X@Z<DzbL97X zWT%A8u9UDbj^3Ke<Y=_{WsQvZq%A*ntzX#&-;PP!_Q)r<_`mkKD`C3Evv09Yw*SKz z5G1xj@aDBYKDQ5?$yu0I@Okr@1;4|mK3zW9!Qb3J-P44l&cCN})f3Cvx0OIGkC#iP z={hGRDNWj!e5|M2F#5`-eS8YXE@oJXODFH+cwnzQr+ONAtYk^AU~+?%ch|oc2N;_x zYB*XC@iTrgUX|<a)Ns4!RW9@4!{@tRy<1oF@BGZUYi%WEWZoFp*4pzwn9le|tzk9e zl)LsSUxnBkR@(n$5PH9F|C4X?q+~@;@A4CsPn*G^7^m@s+oJx9gkH?{Yfp1>C!Wd* zoW`(r`+tsOI$H{}LnD3n^e>1IQ`=PeMY1{KX6w1Dul4q4B)ytxytC%tq61GI(_4+z zH?FO*oR_lgkxpln%B-_<4{#dnZkcKK?1<@theorjZ(h7<sx|p$*XcgL|6kNKmQ2dn zu|sUugJ<b8x!)V_d0FEpy=_NWPb|Zy$_1<2<u5H+$??U`^w-fzZ=+dG`tO^65S(`A zsF%Mv@W9vn;E_dzC$4PTr@4xM#ff$csfiy}GdnwPx8GR(T^Z8BIPqv%xadp+u@DWJ zfUEqSCzeZGHFNtqmCI(v>sL}Yx1^pHo^~S6bNT<ol9DN^sZlfT-`VxG==6+u@dxHS zAG#TSNlZN^G{1U6)GX)!A>}8#FU!~8KQU>y{4STq+Y(w%9pY;K^N&s9)^~V6N%igY zg{L3?;hj8BZ04G4f;T_x*?Vx;HBdYK`0`~N(|&H6^jz1w;O{YBal5Z){EM_+tW#ec zwN)p#`1D7m6QOB|vwtoRG0~oM^VHF;JEyxoS6<Y`dhyKmGiKM>Yfk4_{bu8OJlSJ^ ziNL)j8^lg5y4I1}rnlI$p}CjE&LLBc_2sf7ZnJ*GvV4e?Si2*0&X%3Bpy`S3){A?q z4GnB$Zm!>WUe5B<Meb|s{;D#pf12TP$eG#M`F=&x_jm81v!C75_f~&TO32Wdl6rST z;^F1>B_AHBt@y{JeEZv%t`ojocb3%FCNn!b#|u9A_~g^m`0AqLeL9DQb<OWpJU-<U zeqF!AFux)7uU1c`>f%c=&s5ENdJf#F)L*m6NB{5pI)~-Ii}&B3|0bI8MZR%Ni-7(d z%O675V!nGhtXgs+_Kf5%nP>UkLJJswzwgMYxOXq1_I9Xfl@RBgIWrEudg|>x@BRDN zlX<iCboUfI$tah2>Udbo@|E7^v#E)*YcKhx6`wiO<~1`n%w_iUo6k0FID0au_)(O@ zOyAz5Pc!AurOo_oFe@-Mt$WR%^zM}C)nDg*{yDQJXQPGv0#D%!dsqH@v-?!Nj0)R< z<?oUzI22nZxE>MSUFNE`DRx6y?m~g?y}Eg~?HM*qT70pjilHX6py0#R#fukT<^kV` zcj8g%L-pTZKQ3lw?@2xLUgGpGyNIwYlOs42A{rkaIdbI4feRPH6+dmiyYtTVh@vf) zd;Y%7-*0gH>Q`>2J#q(LZ$7}gDC_Lq_bO+XKgo;x6)f-cfA@R+nG5Py-By{tto_&I zPL>7vX(u=ox1LyTEMZ;6wE9|1)ciHq&PncCbY@kUiT&n>tscTDTUT+ve0?;<syVfG zuj=HOs*^`Mi-jjYKc=Rx&#~Gj<F3)|I~E})a$G+zh?|+K#~nTKj9I+Um8DBw#K><d zc)4P8_=F}UP?h(^TYr&(;X^x(iBtaP1c+_z6S#io@!FRnDJP5S9450V$NT!}>|c6+ zj`7pk&%P|TJMaNi;dM`#S0i_`!o+@A$L()|fqQ*j|1~KKa!UKg-&bec)4WgtRB%P^ zIl?ew!n9PK*Q~7f^bahTyxEsx*)V%yRq?vjr+IjI|605Jn||Zlf2-;*FUr5YzaO8_ z@hbhpv)SuICSG50;yiPOGvAIdr(J8k4=sEYJ>|(I8KKLzs*A7K-<|C3rzh{BBmG}q z>Bf-_f=*e6b)Qs(R);Mr@BH1*Xtik06D4g%sard?W^rEl={H+rRcQU<&;2^y2C*6n ziMKnBC#eSSE&3}eUh}=(e%6WG-#*QH>gbv_d77?`p4j;<ZwfayY*Uy&)lM(o&+~ur z=V^a=&rH)~ZE!G(uJjC)H=3O-w(Vw}sD{d9k9|LCo-(xRE^gg*=BK&fqY}I2xr&8r zTXMuaZZwEKW;e;a(tbRAa_f)$@A}sB_3ufr9w?b+-=oqZ;3TFE8Yna4<v;(QW5vxC zCo~#j8QLtRCVtpGdwb5$<Hx_h`6&-A&XiQ=vi<ty6n$rU`TKuo4qUjfp5cc+Po8@+ zV+C(W{Nia}4{~2yH&;qR>eo7k`$1RVf06n;cW?D~KO>*3KhLg>*5BS!*~_s0pwDkh z<~0c^QL|6YXX@*5c)v$HsH}NU{mq{>pDwg*{}%u6lDJ}(v9mkJ$~LFMUk@DD?EDrL zacxe+#bc7Y#8$7lcCKmRa=vKCu+RIxRFs?hsRT!CUbAIQhK=0e((w4LU#idl+p%EP zN6U|A0-aVH3rnXxFFkd{Y`e_z)TF%H2CbR5(*DmBfBWp;yw1tfPUaRHMQ^-gw%O14 z<<)00TNR9=Kiyou@LSC+vwY^;o-=RSysu_t-LmUjF6V~d8YZ)wRHl7mo@Mf2iMyQd zx8->+=f7L|Lv>E>?E`(cC6z%7@dZCWjorN=Gecw3{8IIh{|c&~<}<{cz1Z<6B+zd6 z%VW~}KR-P#XMH3ClyqBk?A+Yl4Gm00Zhc~FYrFF5m6X}fKi?VFq_&9jdNcmn#I&DB zFeS;**udmV57Yf^4evQW9L}-%_a)r!|Id|2CFV%y?<q`Ow)=OM;j^iWs<w9h;c2*j zU<UV&ms{lfe!jUp|CfMJ`F-}l)lYu@E7iYsa=KYgY|+t!Q;bBd6qm65ERlMw?w4>i zb$Zo&&8(Lz<sx-YA(w%##dqBQF#X<Sj|WGdsKjl{i9GrF^l#y7Pp9v*`Fm;O<Btxi z4(ZD|x2{=n*oaZzDEe=zJ7ep#)U4T)Z+01PJzEm4wK<hf-Z3xdOmN$t3#yylbc}Nf z*S@@Y?a#jS>6Mow7vy^;8(U6tZC~}rbCrE*_5Tuo*H8v;)|39V9gg5Rx^wb&J)zmx z-IO*hb(u8ngs<Dz+YGxbrF_$&qj>iXtgNz(WkC5`vAh4#E3?FePd`74eK2GGBix|p zRuP!QxFfFNwW#s-gS)s`WhJDn6b|q+{t;MZZ@BSB_r{1fM=#p{|NQywzqajpcW+s< zu4&9&AO1j8V5eKida=`0u3=w=42|P2YQJaPYFoHnJV^e(!n8fl9jB=8eji_cAguYe z!nMr;HC$`>y*XAMy75u?Mf^@7+rOQgjJLT)F>T4H<1D;udwk>E%?~T9o4@9UH~z{w zacT9pY*ir%|D_w10%tW<-8~)teZKsBiP=7C;pgV86rK8!XF?!vM(9l6F0Bb{y4F#% zR^~3VZcN+kvG2p>SC6Ga#Z2ulyG@&^`{2{-y7Q*roEaII&!#Et<*c)qyn*iof9I|5 zU;MvY<uwM^m+(7-w$unP9QgP5x8aUdZXcKUWztudGt_V#I4sl4aZal7`pkRx_?do4 zEC%;cH~l#A?dwA8$(-M1<bU+7+86I)caURpt2cj6Kmv2a{U(kh5)#P<1|}wa502g} z6Hq!H`gKa`nL<Xt^xeDr-KQRX%bQ=}{AZE&x`@aPZ>JVMNRp1=zIs|`;%SC8!4pp} zsJc1DQ2hKJZ_S<WZOhkBEaCf@rSDh&NKWP6?*mT9CS7uVtSpetbD*A`H{Pj(yExTV zfA_mvtbs?L24DTz`fb`(B~8X#3wD^Mp0O#t#T9wg>FvSKk5cW9G;LA!5aD{!cf31J zJZAgHQ&aE%eR%ouwvE%zyl-bz-LmSbqb*0#zLaf`{<@}bT5)z&`i!;8T{l(Fd=H#| zChUs)#4~1pC#NrHb$Y7Mar|JHN_W&1Raa)c{p&2MZe-4xHqno%w)R23fydk@BA@gO zzs<MI^;+fdNf>;zra;iC7xQdy>`C=b+0V7V?(Z-As$UNdny-8{+d@iE;nRK4y!+wl z<!^t9HA4b;$B$R%=1Sbyr26G|di=f3&nGh<KD@sD)ojVspk`5qy1Z?=clK{yvr{Ke zLPE-m*@8F0snL^h8H0~gDU*`0fM<7BR$k*OE8f$m#LE}0vK2F!?zzCfac6wPcjqPi ztF#$KwudrIle*o;dVqoZyO6lpsf*DmN3wk<RQ>qtap&)X&ui_H%bcG`xa?zT_?p70 z*q0Kl*&}P;7&?95ou#LeT2vigzqM}?TA=#3bkUk?jj9fR*X^mOP`h`v_wq^=z35$A zp8R~b&LVE-!>%L!^XeT>r{}o1ZOuA8C%RAEah(zO?KAdE7tL%wW2V0D>|P!2{OI(o z_M|%fwThdc`pt8BcP6qzcw>}9jIg})tt7GQUgu*M-qcyLe7gKO6^(S)6oGAf?^jL^ zSz`CE&aD$vH1^r-OXoMsy&3e?y{`9>J3F7m;;PN6pO_g|TT1z=>#h3DmcRFFy7j^- z{GcW|$H&gpR=vkOJiM9t3k!<X#D0r4yp~7_Qm<vW#+bT2>eOmYQTzC9zT6Dg*UmAL z`dGE&i&5aK$KTJ??R<1W<bT4Wjp2-+raXR~larGp&?9TzSfghAxiReCo<}C{*L-+% zWzU({JOA(8cS?HCFSUQa=hf@;{bh^%9#y;h*v5G~Dyy4QPnY(sT3-0=YW_{Dmdz#d zwbTCZ{4oFe*B72&9{+ffa?^4_($!C?*KS>19sKTj=dKBH<=-}1+03(63~fLD^fYJo zOx4TD-*Uo5jsNTZv0c6RtlgELmmke^)&0|Z)AhXH-Vb*U38nu#_k2RtznxNw^QA35 z8rbk%zBb1%E4}8kN$k(Mr=>F=)i#UCzYYqQ$$sloS02fDDYH&*Gi&bs&D__rubBOw z8^3)*%?$8fY^PPi+&g<Ftk-XH^^-omi#7C}_Jp=gZl8aihfauh_uu=;W$<uP=TSA? ztJ@hY4r>TISuvh|-Ex_K|M{<VeN**iJin>Nvmcaen<DV2W!1rx;&ETXrr+`mSsfns z*$X@?cFs49+xt`T+x2VS_f5JQ^S3!{+SMk(_wSGYe3`P+h3&zo({b1K=Xm~)`1*HK zkd1boOy`+x8;bOdq@5<*eD*AU!p%wN?b#=v-pQXOAh|a0ATNj7j?Vt%*8X1W4O^al zw++9&vFXjeRAKQ?4tB@+(;j_yNsHg4|8rNw8M`NCYy9i}?ClW-C5$X1D=RMVMcVoK zlAp_&YTA?qFJ`K4sQmolgDzzK?ukc9@9*v9jov0`nZY=lAw@FN$zyl&&zTlKKm3k~ zf9?M@brS!+bct#A);8_oIslqBxMQ?Z<e2}wIhGkaQbUFND_2AXhOIW0o~6Eer*#ak z&{ePd312ozS^0+*zYS*DxlS+T)6Y#OS+B?LtV^{Ko4sml#(E*CE_r6rN0C1tKdSo5 z{VDS0<4;egoUSPNA<b7b+kWO+6Yl859G;!Q%e9*CdPwS)6rMd^c=)_qc>cDnZXMbC z%BP)LZaVqNbEDbU!wkgk@xJK&yVCAC&-6v1>nDRo%bZS0-rdSAl=%PT)6?(SKGgQP zn5=l!*SI!%eIjHAP)z*N0r|}m59Tx8Ii?}(bW8U1d!Cc+_sxslk2n7NZntK`S7C#V z*O@*sdGl@DxN++CV)uUK`6nyFd!z!Hw#cTK_RqW+wTxv&_nNTWY>sRCAfJ0BUp$d@ zwWGB3VT@jUApbJ$d#$h6?<(SCxb1!Y=%YwqPF)8zvyhWV+O$rW{JO0RnFU)h<@U2w zv)gX3cFsRzcULL$ij`B0bIYTsx63D<X6E&}?`PHJ?Dn*GTCUy8x;r8&^1Iq6g4zWg z`Rk(h+ilt>EG!&(dRsozghw7OPWB<+`S|$Cj3H}jyW8!OrS2ZpW8gQs)H0#$7?)A- zr^oN-ir$<vd%=hNy?gK4s~@myn;{U?W5}k?FXQ4GdeQAf)`wSiR}@!Uev$54^X!Uv zltWl{N|@<&R!*gfS0A{BWUpHjmb+}83zPaXt;y?jU%#KOtyjJC`>jq#uLiS4YcdjM z`qoaB^_8y>EK`%+xZ~M#i-)B%9XDHF+o<^ap0149Kew*zrzw{f#GHFpXREw8R%4IW zvS-rkF0W8HDzpgHhT%MM;snR1pEb^#4MYCcsfksGHSD$!5?uHz%U9(cbdF1mzxvyo zl^$*aX8v#P{bgkRXT8{$BQt!>0%JA%e{nNr?6~*)<TB&Q0maHL_Zb~0eLr;L#*JrD zRaH{S%l)^uf*0{g1u%(xh-50ccp^(t(3SIogCn=z+fx0=uFaQEc0IqoF7EF3qMMft z<6pm3TpU$>Du<h&d$RC}c@|-{GBv4b-3r}N3XE&-J?`+1a=LHb@;i9nGxrI#+zx8Y zD;_>Kimse3@E~nPWwv8-a^B_0Bm>_@&?<Vx(oa)se+T^3-v4ajf#(c0oyvlNe?s5i zGO_t14a<j$*B*TS-?&h*cj@K#EFZ*s%oLZ%ZhSS<^6!DW2Bv&llD?ex@mU}K;5CoA zVoG0ed%x23lRIQAUQM{l#1+4A3d7oK`-9^@Xsm8^6xlTEx3uf=lUa>>HvfA3V9U;o zc==_UZ+2zI@2vZKYF$Onq4&|*9+ek1q?%1RnWHiJW<V65=&FFl9=88uF7hg~OX{AQ zv?z}K-g!4Ei`%pAe~-zHcAtBb{jT`ymG3XDl|HedN=Wmj%D!BaZ&@pDM&~LqH)~E4 zPz9~E@vzxfUB2Y+ZKU;PKM$^r4u_@6=8Lw~Quo?lzTUjHq>8&iU9!;0V|U`!-3?z3 zzjxlG-<nnaA-Ph<$Ns}RbEiUSh08u44;(v|)^qTrINv!dQN>ePThp95HqCMmT=!Dd z;kmV_|E8!6SF5}CHD>9q_6*q+^~0F;-kr5GS~EGgw#9y`v5`B>8=fDdHz8)i_Im=H zYyBMa662<%COWS?6BZXF;_&T+x4}sfrqdZ~XU)`o@o9DL_QdY&y62_0r~WzjeoIeD z)wR4Q&p#>Uvv$;&e0_B5zxuLP=BvwmpY58k>;Pzm#e@l-y76+6_YISe9i5@ekkjX) z60>I8-`0Zt2B5N+LvgK-agpKdefwh8Z7)~c5cHe@x)#9LW#7pTVW(T1+EbSH^eFti zaQA|idD!p!-#JCE&UITmKk!6d+dP3u^X478aq{w2^(@!OvupKDJi)8i*M=~eyx}SO zpt5>lZ|c^9RmaYKxq0<+^W~YRa&o+X2}SHL>s|T!(JDrx=nJWf-V~;K23nlTQJd=W z?!`s6)IjI<j_eHELfsR8woY5fb|Uph<DMNq%R9cxA2n0{`<nmeRkMvxoXeT#@9Gu= z&E0vtu-Tc+u48T0?xXv9_M%@5?n;Y(bpN?^;KGHsuylJMA}sjV%X29~+fGC?*c@FU z>~yO&pnt+j_WR67bXFYL8mS@U@!e-%pl(icLQ|*wjT>U+*2PZ@if;O>P<6153v<>! znWY#Q&UxY7gsX?*KF<4BH)qbARWm+s>ehd=x8P~l$Ex--`EFa?PUSp3T{8V<+A?qZ z|G_JyzV9$I>W+#~b-nwHbC<5CK;hZM-=G}{$^TdH>{-NlNz-A<{FB}5m%0@AziKu8 z&$#Tv`>X5X1vXEp`H&Z92^ybUvasjf-Q5Mg!i?$tGCwsM@{3iJ9xrTMxG)^r4w!pB zzV>6c?`!R}Gdr%{{_V!_|Ii6xr(2B|Oz%JW`@T)pc5}VueM7I5X%ZX1UY@jlec(jf zJ;f)EZR<GQb*pPKd)%s7*5*^zWI4pDI;hSuiQIZG;d6@Vck`}mQ?DL+dwITsaO)be z1ldz+-TLuupI?R?O}QRZ__OQXyLTH6+ODi_c@`zNCBstnbj*+BeJmM2lNnS`YsRN_ z#+d&ufA_=i#^vCtj@+i*v-%zRRTf-TUi-85{8h6}3cKAS9?kkcJyu;qq@kv9{>koD zk@0~CO|!l%JkoZ!Y-^^enDeK9<)2qg1hq1KA9mVS<6jpx;hg)dAIxHtPx?gc-MgRd zUq-9IB{mb4@TXsxw<~{rP@VO!A|Uyi=f<-W0{<vAq+80g==cQ*PnNK+-L+BG!S+-Z zukckbtF^kTTf>%I{@a^$@kG|c^G`A-XTRvGp5w|Ova5RHx#wQ<`Xj~azOCxjRuqbo zJ(~3K%=DJ9^(@Z=!a`0z*}8MTuUYq<i-$9Oex5JW6qeew<5~6Zb^l7v?yKGV#`)iw zB|j4PSnQLk5?qzvw(<Y!8&ykwO<V5q)la!r{&YJyrgwf3;hOkWcKci9MOD)7ibiI$ z_U-dGf-HZW+n-|O`xdlng7a!T<A+kW`2v?tnQVBlN#XB>>IIA5b=IcMX8r8Ha^;WJ zj6V$;Oxjx~96kQhxqagKr`Fq9R`^HiR_xE12U;Igx?qi%pVGc#C$p}098H$kEV@lo zcmB=mx0|!qMTozvbdXhbkPZynQe!!jS>K`e<8;@x%12CHG}c|MyY>0chfVq{H?}h< z%x3L5%m4VCD(?&T;Jd=t8Go5?724XFns%zaug9PWR8MAFfyS$ry!o|uCU~$)rt`#) zyJw@f?deSfkM+IGadUTHsO0<BSap)mihYtIH#rn_d#=9VyTpH|H|5x>N&!Eelc@{8 zmA&nYXFcf0!LwR+<3`<iX+6D<_4h?YhHbf<vej)GLuu>;1))gZIG3&GCR~-;_h=!1 z{L2$xzI}Zdvg(rH{*<e$-g)aqn9BWX-{0Pob#~g#Pw9RK=Sh_JhYLuq6?`<yMRlEJ zPR+zAoTBHuzg_Lj7I*bex%9{8-JWGiMp-()qgM2(Z1OhRYW6tfyvd~R`=^I@g8bGw z<+yyUh*aW#&a3teA7tE>q(Yu-o}IU+P*xe-hrD$2%abDC_aL9?#{Zjd`1!G@6Gx`y znq^-;t=v6f-~YP-M`Bpo7tMZq^G~3}Uf!@b_8lkeKfaTezWpe3Wv8dl9NWk7VchDz z(~NT!SGT%|s5&sSuC2?|7m8e~xNhO)6CKG$`|hQB7gkwCZfset7r%Sa`t9j^1m*wp zYVu1tq+O2TyQ$o+oh-hsM=Yax)%O`sCox_8ZuaKil=VLaQ|!O}-}Jur+-dHaU)Fe> zJ^#2bL+gJQPu%)rd#-L;+q`v|IAhTF{p~kF*QN+uGMZywV_`H=S9Q`BmprBkk3C!t zaUFTw&&S7i46@Q?!nxG@`)VKFIsL^Gw83F%P=5P~`9&feifh}ho;i1k|4wI$+k&{h zqpgR6vu2xjJn&_h_b@<klZD04ONk;ymi3#WBwQ3%@4V;z-XT(V!hz6w8L4ol5UHKF zLdB!J!&YBgzcqzZ?efh{s@&`Le>x?qG%4#!-Q5+R7R0gceB;gD;KX?Es41t~x}TEg z58S-g#kM;lhI@<e;&VRj@4CNU*}i@{^PBp*@Cy<Ovmde-{w{V2X$$^-|D(L_3-fHb z`3fE1IVOGI-#!ssiFj|U|6g~+WLHg&+gD8n`9~fu%?#@=@7u?3AOwnYMOi<W=YN*1 zKi~H1J!b(wd!xW5uL$4wg=X5)Iv=OG9GtP=f3D{qFW2`C4|s&VH*72|GcIFP=ab9X zutsfO%GL`)={v7mxo%E1?eq%cu3vUZ)x;+(`$blGY=Z5kS+Cposd|(jpSbz$&FsZ9 zyBFV^mlw19Uzgm1jrL#iTh4@K&urcJ**Mjuwlmw#%)<V$wAaiF6ONkh|GX>rf8F!% zTY4CNCr$X-t$udNkH|aw-fm$kU#6BUE&A=<5q7(kTc2%AVtdK{?$DDHv3s;YW62)g zM!VAaRh%Zi?Yz6&p7BAxrO?F%2inbf`TyHMQ}9lkjn(BUH*a*Evy>N_c%L!gL56@+ z6r=X4zToe7TSLB!TsbVe@<{8+JrXvPPKm4wh$v?$npOVl#tp0OzVqdeADOxNAiqIg z<kclpy&Br)I`Yj+G2OCpjhNrn8`maXz2magEzc}AHr8VL>BADipZ=^8J)Jx~uBdR8 z<Z}k!$v3%JpY+SDvJ=ZyT(|J+k*x}!tE1c+a@x1Xf4DLAOv;<n&wobViOY>r<o|js zS=#k$zpyv=&0C)%JbX(Nf8E<%Y3c!*pqcjkqiwa=y3$!^4qTWZbv2q{&Jzz8r<joM zy!WbJYqf#*B`s;z+#P>8C*&)4z+IMvu4YG$PATn6_uSnk?E9~`V8Zv1B$JD>-d!8z zJ&*1-JF{$?%wqweOEc%xyi^tW^z)UlYar8=QpdG1Ok0dowzjRWVA&M4c=E@cr583Y zkzao4W!K8<@nxC+KdE{jn_ZD8vcl%Yo-<)v=1fXGXLnBCmPgmV&x6^kYu8!flHF4k z9?d%JcEzM{?J+i)Z9AUTv#wsV?C>AH-)xzlL0Z2GZ1S#k8h%eHYW38=-C)>s<!?EY zbzV9PCumyO?2G%2?W#q$BChFX6g<m&bV};%bNl0vt$HPT{%>vy|Mlvqxw>MX*a62r z4n-BOHDM8*R}Q~-{<Uv+!_C>hw|YF;bUEvcb7xH1-JUaQ!ZKb?R@~O{2Rg<1&&;z} z_;b^&Y^Ld9)4;8PEkfYdfYhXiYg|)JC$9SYO((jocxA}ZpmlqT{&u~qShI5e>Z6Y$ zKR&KZJp1tDpDlVbZ@lR&yz%^eXkN}db1(Ug{5oqHd9{Uag%qCse|lm^c3krmU*^rK z<(}S?L=G-b{NlCoYi+B{xoVpW3Z?gBPuNtbD}$qRTk`pNwi}dm3{xaOmj~QEII)9` z)hu65ZeQy}NPUu^WOIMM{d@7sTMYlj8`c*)a41fc?T*S!4f=k+^U2MBuS_3zMXg$0 z?G-BDb@X%isuRruGe21AOG`(;-oA2Uq0by^e)XFQCgLYc6}vq^S+wi(J3lSPTV|VP ziU0aN@yt`Nd0oeocKln_d)igy`jyEI0;jvAZo56a5%~Yntoel;OMO<jM5u*i*~M<o zkJo1x@csKGw)7H%b+Xyn^AE+cwTx7o{JRgbneO6k5{`Q&%ouccvWM-5yttpBJzz`L zO5WY7y=l`Th6zy{AMIt>cYb0ATj*WG4W+M5Ax&71^rWe(vK=|L4aLv-<o}6w{NZ$O z6%e{uxZ>!IO6j2QcRTfVr*Auw@m9L8%&sh~r?OsYcI4tNYX+I87lbZJ&awF+^rmLv zNmU2uO?`J<w(?E6y2_G;H})gPrd6g@n?G)R$nt7)#kB~Xwk4v@3*WeT)W^%O+f|cm zQtoauMRcv|=9!a^FWk9iJMT6BCr*Ob1s3iI`<;3I^WoFmBogfTwoQ82k$rUYlFOfO zi+0Z098j}EJ?+}6i@91=r!FsKX;`69c|Z2R3690!nCyGd#w)ELn400?<CCI$dmpDm zm$D$|-+;T;78W<o27p?8EhTb`7cZXpFJtKp?rZCG9lpjg{1b5KTkOn{sTQ_+-Hjv7 z`}@D_EqCH(THpRUB>el76_qNY(zg{ZBr@1P6A-?1@5WD?zWqNIeV4qojwK`gL>6!S z$D=_^B0^sK@7Y>AmgnoAdsbwSI)B^rHBnbL|60U-Z1Jt{SDVi~)7Z9j(uVW%R_^=A zcI&}wiTL}EUl?Q|H4p5}e+3-fx@q54hMPS0EsLKn(0b=_wCcL!*>5p&^ZMPVF}(c! z&gIiTYYA7->XZ@@Wo6|PPm3mY=D-FDCdO*)j}q?uEeSpsbiz56X_-6UFR@SV+#|M% z-NLG6LR#Y1UtG)NZ?%1?Eq7Wgbu+&!YS9Lp<*RlFZ`}A=;ggudzQYUEmekI)vTyrn z>>AYd`rrNzuLiFd##8kaxgyspN}jv5hGm6`)}f<+r*%d$ebI|-GG1A7G)DURn#heR z6D_2l{)_ibTP<)qB+#PjMy2vMsf!P!_x%3xOV0QE@|v^!CJTKu1UzS6Snz1p>-4tE zo*KeFE=RtzSk39`ja4=1SK(SIViU(4Vc2}7wmj+AJ!?sbPj%vNZr8uG<{(!M-+}2C zLK9<^?{Cel_+c)=2?~e_=aNfGwmiLda)n*$*ROk}4otUnYMGFhu=RA;vhDXfpX@Dn zx;ks`)rjAIVT(2#Ixu6s)7fm@gZhj=vKh?U=T7+c_{hQO6V9j3PL|y|X^q%FpQYXz z5u5>;PqM;eGonvq@!qysbvo<ni^zR4>8D-H1P}5`o5x7>A3x__%kx2L^UTZYjWO#w zQ=J~#Tx)bQJ5eSyb%$6&{P+D$dXw31%#7h@G1YjIE|qzzT#;d47H1vjs`X(<-?=2Z zGRnO*4Rw5V&)V?s#&Y9Hpk_d%h|RugbCpB?a!*&OH#p05dI$vm{qx}3+SQWamA@0t z9rjutoj2D<&G_SycXwwq-eGKrpC#-hRV|aVUDWUXcHWcK?_0hrE#Ax?zBs=9RlZW% z+SUh)8O{~`;LMcwIe2X2bAE<f5s|(ct6R78@t#>FHg}C$hGe8~)5)w*f39hIM^ntA zKgHO{9se4h7o*seqb<W7le*1E>e-#h_Y?V+`edAVH0!<Yl3$lie}CJM;s3d6md+}p zg$}VR`Jz8?H}fS69XJ<pW|!Eid_%YW?_O6ZG+o(yd&0i{RA*3KvgwD19%8KEL4WJw zM@d`X>N8B-)dTXp;u6N5zCNa7Tkcfx^6+Xlxa&Na&LH!|L(oa8_3Aq9d3(P5EqS;1 z@b)upO|>#^?m>@>W_IlpZK{8m=HM~=&39p8i~3Jf_RqAjcK2HpRech)9nl)JDRGv` zk}oT!^Rn}5Giv1p?>d>)YoWP;<>tG*CvTiie)j(Tdrj}_YpGE$D+2U3-#p%bRb!>_ zv>k06N4MVcuby}RvJq2C*qXmh$Jf0Qy#DI0V``%0O`Zj7zqdN>RzBb#TIjANwqIn` z_M5D~)%QIUSNMA8^u&Anc=zPHgIWnkPffNiJFsbSF?5Mgfr?Vs{uAqYd3f)hgDi$E zk@L6twIZH*QKrO$`JX@jIPXxZ?%pMEiDOM!J+raVZ8MEEuh`rpz1Lh=v!ci8V?A?4 zZ`Yefk9+5hZrr#r>%O0?RZGsTgG*PgX2~#4-TLe8>R+y=3u05YdU!RMMT8a4HF~lp z%kkx_cgJP~-bi)2@rpZ4cmI>7(DbOcHV&Z+)6X-^EJ=+~WhwM+>d59>Eay4%f?7xR zzwiyGvf5PFu}Z#DDqLH_&AchH?qA#GPYpJDP4Rwt`~OM_+DzKOeR<yV_A@84KNhNN zzt7mSZ)!NWYZm#X=iS}t$H#4YpT3!>EYJEOx6dWT#>Bwni&k4BsQ6v-d4tdEe>--q z4w%t&B6pG1f;DyS9Gt&@T$jvup0MwG*^+Jf+_Q8ZYX-_TsZMA9l<2@$a9LrAso}8) zKe+YJ{b4$|eT~=;0pUe!o-MxJmKr*F!u{3Xzh-Dg`igB|6V^M=g=x8L%Ei^!*6!7~ zc)fhp(lE2>t@Erm3q0Pn>8j}ppN!z6rvLTbmDaIx3*8Ae`X!sSQfb}PiGH6BZ@25y z`Y_?vM&1U#RgdI_{=dEaD*b#D)5_}YXHR4+EB9!C2DCf`K~0{>`{HY2qcx5s<ue-` zo7nN}lk9=%Z0zjQ4Io3$bB{jmx4ZSpR3qfcX@h5M4E{w&I202TOK(Yg-QUi;^6hN} z!>|9HU2e;?&w3lMnQ_(n#uI)Fdx||hx+l(>b?E2g<FnOQx7r846tY^wl5rbc0^M>C zTkUrLQ>w*euc^7Ko21R+Dm``5dbgi(z0~>G)jCLavDCI5&#JpuL52im9J0P%F2Cye z`s6mYmLRn&`LDcgvwf<p`|+zsN~C`Mgzd}f_WUXe-0QyPkl_8_+ZiX_-mX~s-pmcO zn?!L57krZ#)B6V+F2~$1U;pk2i@XV9=Z=}}@0(W2bYOk=t7yhK4_62}y*m2piup8| zoy;$*w;w#hqY`oT#qxwRxwbdwc`vMzZpbezR$NkQQTju}=w!$NV=a@|u+>qDYbR>U zIfj{LdYGB>=WB6A`re8UTkTeJ)5vE^YRc=b;{}J0X;1I)F#9BGQ!aKQt*O6Y!CRG8 zMhi{V*6cjUW|77cee#;f^;dT_FKY_;+bAEXKH3$__F}fn*^EcCgtyISUBR?*M(dSt zxgPi3E5ResN4WcKzeOxD-@#HLb3hNY2lU-D-ROJApsiW4#r<}-%wDfjT5Q{T=xV^- zlM|I&t~6hLnQvfRq(15P`v%e1ZWE+u+<bS2rD1MB?cCIdQLJ)Ix=Bup>?MuZ+~X@4 zqt><+aG%Wjm%$&YJ84Z;Mh<5{;p|JkVXq5ZSXy0}Uj8|={#U8l(U+54l=c<Ao#nGc zd-`d|^Yg#jKgv~IclE}J!+OG6cE8r$47Gg}wb#1b<5AQ}&O|l?u16;%T*_80-Oq6K zb;#GpS>k@b{wJ`ni7>zPJ@4?96Y@r@z~!f1<)4f0%{7dIQn*GABA--M-%g9&{PBl` zOP=t9>x?pwUI;ohCFo8wx3c|I?UB1*cIAzT2l^#FYtMJRvR!GoCXl<i;g4zqkGZnb zB1Pl5M`kWQ&g9|ybvakJOIWr?+h#LuMy=kig7hg2xhxwicqS{IxV`k`6uq4ZS3h}& zt+kN8TJ`c|@`^a~JE_rJTb?Q?f!pO%IC-_!?OayCQ^b+kup?~OQO3x$WbLGdF)K>z zOnY|v=KLwX(7H6~^n_jI(#zcI`X_=$);U%-7q>6k?LP%+D_3ht>03z|nI7l@!nudT z%ipzRRR28?)u_I<<d+r0e1-|nHH4i0B<Sucw=rtEay-vH>$lmFq_71+i#tVUiAKw} z&+@gsIq&KsiMChwKPdQke6}opB5~>RWxe&+@*Pdrv1Bkr>KZKN&f<<-`%g7EjC<m| zeQ|TnhSwd*joJS0kW2pim&?{)__^6ZEjYPGFmBt{X=2xzWWxWfUvPQ}W7(Yzr(3*) z%kTMAJ^NJsF^T09FT;NM%|)x9pKiUSU3-6t2*(wMm2YoPxV4X0VrMIR6u31baASYH zJ=ew;GHQ!|i8SyRswg>q72mS{Ju?prxCBc7_+y@JuKK2#`}Sorlpo%-PV_;2kqD<^ z+(xm_v*%0wbXM7Zzj59jA1S}m&7rHd<oK64vF=v<^ep0Dm1Iah^9Nm>PrK)|m~e+4 zo%lSiVWVhbdMLMh7<ajtJ$H%F)g_8I@7U~FsgYv3aE+K+t@rdtC0eoD-gB(mpLO`? z#)zCfnc9=iI-H-o_KwmavFkPYy;tY2yScsHwR+a|%PE0VIa#CD`K;LPKWk>#3Fe=! zKdW2Q8UL=>_@<Yu*0$mNt!2M;YUZ0q3q%M+PrOrSed&Ad<Ho7rN`djuSMhxUFL~Fg zm%abT(y;%jhf6b){5=z!KcAspl=ivLkKQtQxX$pr_J??eJ)8&nEhn{1h>GB0H28KQ z*CY3S+m=$fq|AiBXWkh-SJ)(c;PsWhwZSK38RjLmaAxZ4ERkByC%?`zRz=l;`P`$@ z#z)~{+`Q(Iyzq8`%9oGtA~(uBKW((2^!V<AyHj6JUm$tYBXps<|G7Fp?*qA@wvMS9 z&u*U;6;%h5!@qW9f0g4=61#rNpX+k>;w3AX>>D2`Z%d8keGui~rXy@EP?E^y`0Ds{ zg`I!-C+_*rCl>^2202Ncd0hR?<=S^VBL~G5kGkV?zHk5VedW{B@vIO2GN@TDY7w~J z9o4p=W1^r+y8JqcpCU!uM2{3OGI*S^V|pOS&>xW%o9$wL@KC<vM=iEl6Fyj$|52H? zHmddC)6-4wwmq#b3{LyF%ONvrzMS=hG`EOZU*g2AA7x6tjBg6DYIQ09{%7;)U%wxR zuZ_0;c-gsqx_J@r*E^94(>WE^Ufuln+Gc)_xr)=Rc1^IlpJaR7VP&y#PgeT%Tl%R+ z2aH&kDA%)pTGLf0+VQtn;`e+-hch#NEy_GTVc&cHiVAS<?QCe#3KBZIb1P&lVVYt6 z>D50yA{PJr^PGXl2wHC*-g&rvW7gYS+iVZ|`S_$T+GLcLzBT#zr<yT``NHXmsx2ai zeRA}A`tNjtiuKwzWe!{QG>>&uvR!y<@GC2L!s*aL_J;lJ0SQYuIk}H+6pw4TwXMIB z>B_Yn56g46W?mI=O*75RNi)5!8OgNe;1%-~VLELg;rvCZzi+9EuZjA%sawzH-iE8^ zmNb6+%y=((!uBZtV_T(!Tjv&@{m-?_M=GJZ!1w=)^2t*=jMiz!7_U3{R+aVAOFt_G z8}5Vd$xY!7U!x3nxcB@$|5YYVM<eK3<r4ccYgRLGw&u9GIh|jp^Ig&{qi63I>}pmP z<mJk_XJb>t4ILD-d~<)l{Hj~u-XDJQ`8ngA#oP7@uCjJaZxRS%Q8nXVvMt~F)8g&Q zsk*IBOw*-V8MM>*IKK$4*rz#d@>L}(o(K5~CyXw&TyfW%e6-WKT_!Gbt<Zv8<<(dB zr<}@~cxgxP%GJxIleewh5piq7vrE(UU;E2&{_i@*u)L2sRR7!|EnzKFP)1%qota}x z-LG|4nYO7;jRB`xyt=1we*N+3Oy@(BS5}fe-!>$0f8Y(hvoPtJ<JTw&*^Rybmh9W0 zB{b6{NPe&EW%=7|Jv|=;d_ZduE;04IyCwS4ciojP(f6!a)*x85@4vHodGfvPBT4Rx zMba*HVoLR`+x|Y9D<Gt%qyDOWVzj~Z>c!uktrI%0J!QTT`%H$XjCq%}s%>XW+Wi$` zY_3oDGesP05PmfOv$}uc%~jkRN}h7{r+X}%UvxFDM0z^I*L@Px7;+zF)~W3MrWe_C zS$Oh}CF_@G__AEj-BWaSzun(A8*3I8WJc7!ym{F{FaGylZ{zR6E0aBzoYQ-yDH@f( zGG%45aqdH-h5P&-<S5K%-?i)ZQ-O&sk6sJ>T;;HDQPzAB27{pMf$oY1+Z2lL?`B}o zl<NWK@Tf`BW;q8gv-7(tZT|cJ&E3iwGG8n8f4z^s`n$*EmH?AZ<B@$QI*#6Gi0GZ1 zki^rW$ezQysglofWAg8lW$Px-zGHpt<jIdGPgeTzRleKX{yV|jc+=k}JuH56B<{D| z=xUzc(r`pe%u|80aoa_s=<hz|SF8WONL{si_3G7CGvCeoS69*Ya^0&{>;C;+wQBeB zeO2|HmzOW+J^iaEch-4kj}7L}V)#S$-@Sjo{_lwsCwOKzcXV`Q)EP|jjQIHD&rX)* zzoZ(fc@IZq-~RTVv4W%F<UF-kmx^U(FECqa|4(SyzJIAcw%<}EvKHJ+C^$549@B@~ zjfMuQi@ig8W`}%{7N~4o>nrl4nXll*TiXprs#DW<r*Z_Clyd~E{NfQ7nr$?*TUP6a z7^gt|7J=j5ZDA%n%;9k*2WPe=Y*O?$G3D%;yY7Nm#zljLkE*XW&Rg;*nB~pqwy>Dh z-(4<sB{~)7vo*GHu1(yZ^S=1lZiaacukHp*#4=s=Ke%mvz-_CT^OYVf0nUa$Z%jA% zdSf~lqnVPDl2TTDb93{InKK)=WMl;1Hi;L1u>Gd6?xL!#vi<)#rJF#$|0f|S*_e6z z^SjcU+x~JjFm}XnCP*|Ky{Godj%TCkfg{)Jg@gNRS%dp)B?H!0r>tq&tD?N^>zo@u zv~qq&-99AM@n;u@TS&?rUB4%~w#Lohzwb5Pe>m&Xoefb(-Hp~<OL;3A!W^?}PYTP4 zf_Qnqr9liuGZjLQEV_7M>GQeL>vw<Joa)Fge{Suvs|U9}*c@%-ld<;T)<vaPtk)H2 zH)VG%W4}HpXr<QS+vk3+RMu^(7n-_WYFiBB)^O*q*BNW<6ZL1V+@8vqa7yCnlk59> zo;(Pzc%-hRr1Z+5{`1}U+rE5W&GcXRK>SAasAuKxs((D(eS^ov#l_|G@e|k93d~); zI6qB$Gw+R6*%Ns;FTMHLg#Sjs-Gv9lZ;ITLNXp)@a(zAP<oMr4%gWX_NMxKawL5&F zeA89qFO4cy)4E@%M=b3<aeL+B;|0HNtT^v3uI^x^v?lETEXlC!mFKuuhsOCe++&?F zYo_KdjZGC7m6ESYreE0}=-$VW8QfI_TMH1jtSv1owBYRXHZ!XoVo!EzuUpJ`^;(ov z47c6xchCKNxBfEu#Mhu6^3j21=F_a#Yq@?)Z@aPn>fcu?w=;s<7kk)ETWiyE&~e_b z&W?@_s~g)EE}T~PdJE5Edxjh5=Ve?Bue+N6E&tY*CSOMv7Z;O$yT|<e%trP4_av2e zGxA8ZZS-nb&uDQlZaLo{vv0c?;+-{06kYP7GbHY(EUw_*$T=(J38PQnlf3W$^^fS= zvpJhq2X5%=UdcJvL-R=_<2+W8X-l6=E8fx6Dt9X27O~B#S+vHv`un2g`HD^x3;x9} z`eA$cYwwbm??W2Z%roA;>rc_h)w7$q<zf0#wVH_ryei6qEk=?pzMBndueP5%_~QtR zpIUI^^_9#08G|1)I%R(~*?+|_`c)0r%H;A%R^^^6legzx-M7~CY*tqYSI7C6$Jc2x z*b7fh4_%v{D53wP|D`1F)w`-%TpJr#PG*q%&*gs~9N8CA;^l>w`)_};)AzQW>bAXs zypNAF_<TDyCwkqqueuELa}I6?r5UBHNh@2qCrU_Xub=2Fb!OY!!whV_DWCS=>OA5c z@Hdx1eDn8}y|PWO$_^W}<y;jPVK9>1*5$wEh?%&XoI}xv?iqh><tK414lvv#&LzDe z>++Pni#|<fcsJ|N3#A+1wl4Y<%5a{^W8=q_vm;;f@V&kHIx5sRDlnAytSnQAmTiz$ zNZ8_M-^*8TbIV%4CTw+qNmnq#n@Rd!(_@PaAGsY+pEr}ut)DI9^Q+0V`uz5HB{tle z#S&FHb@{5q|Enq<aqsHhzUY>e!Scf`Y<K;2SI;~@q4B|Ufj^y!KYmQ<(PNvi_SkIh z4OefkyICKzaK<l%rY8yO9^HBz|4ef(s0^4__3Y#EM3e8vYrd-o9R86W_&4~QOZTn# zC*fv1JRg|t1qB5!+WhXxFFl#P_3=l}6?Ta#lc#sTVoUif@P}RMik=(epZ!S^+t<c! zP7`(6m$bSl<*1aw5wq)T>=R}FC{1dPKlbGMK9<8`$6KHNQYpz~Yx~&LRmXflec7=~ z-XT4+WfpFeEMq90z44;3Mdg=_Y97X03qZw35yu5J;S#TiwV_G2wieU;ru**y)OA`g z==SsN0@77Km=9djstu^!RQ_M_fmM`&PsZWq?5%G;@vN)#@-wUI{XIcmDa0t<p^#am zK0~{1%7vx8KV_CH1xU}BB)s|HR`t5M%PW+Wlosh3etMg~{fj^Aaelc!QVsJ#g@v>< z8{4`hV*x=y!L#!BZ*OAV@OEA0-ZGoKl_!E3>=JK$b7k1a_(0-2OIG7#hPH)O-!DbH z(P8LcmHWOT^}gL~-(YJ#^;=28@&C^rdiz5DAFET_%(Yz?89G}Zs$8k_V?EFK<5)=k zs^#fMReO0K^D(|-C=iuMS)x~v@!tAH<dt?0lc?iSN3JhnTYK~OM4n})k>xy$w{$vN zxeMQ1(bVZa%5~Z2@PT&yoh;Vn`x#C5+%Nm`<6=(h>a4$tyf3^n59~9T-^Q8y^4zl0 zvw1homM?3#*ZOtKZ99hZt6pqY?EQ1&(#*#{^JZLRtMSq2`MatiHTl(R8MP@L9UUDF zxz5fv3=A$zdLFkcD^x9c)_=W}NPWhLGxuf`2Qt)Oy??*{>xmO5SfCZ>jeVurr|lkZ zpOh<6%}`U?n8?$2``cfEN|9Bs53XK$#YSE9$2`U!ozA24WPO)j5;&OA)vRL1<(!k7 z@~eM;)1TDeto#2@KhaXU?T06`-aR$7q{&=1+85Fp4@^0+iN|O=*PCdDNd5#}hRL>$ zpWiX}q(0oc{aeD>Tc=msY?`;hr?l}<)}IVhc8Rd;X*U+RT2%fL5pz#=$g8+mVbkV) z&RRVGjXlHK4^E{uG7{3xwF@s+HDw1q4=zb4@Qtd}Daj}}dva657aoC+qLa2U?BRT1 z+4$#*TUz^yLIwsG#?^tW#h>R(t6ER^_T+(h<t|VOvFH>3@;1iJu2-d;rj-UXy0c0o z`foYXT4wX_K7-AvWeQ44O0(>@@$)7gKGysBc~UUL<85=9Hi)i@=Dm8=Y=fZEeAWWR z?>wufGrZUSP_Fgq`m-xn>~DPh(Zj^E&h&LYTTYXi?ZtmDb6U-K_>>a$+dLkx+QQhd z)c82-4Yma71v6gxem$Zt94@)Yd{vTdgY?0ALC?=ej;y>aQTyLu+Pu9?Zw14WL$_M~ z&A8|neOa|OPcNdQb0g;$x5KTO-qUoBojU0$V__F{PvG+935(skl%0Ax)_FF6<7c}r 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 literal 203528 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%0A+maLiD}wB)_&K!Ny2Hp7fr6e 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�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	ROvJIvzHAfGa^Q>X}e4V9cb)$am?QOMj!NJO! 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 Tj!TQgK~C{>^>bP0l+XkK(tab< diff --git a/Assets/Wide310x150Logo.scale-200.png b/Assets/Wide310x150Logo.scale-200.png index 0bf95e7a8bbf463dbb33a6587f44c8828159e645..335f943175547b7675fe042c5e766cb60f5af3c7 100644 GIT binary patch literal 43765 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 literal 33317 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 diff --git a/Assets/angledGrid.png b/Assets/angledGrid.png new file mode 100644 index 0000000000000000000000000000000000000000..5463c1d9a057e9e00e38f6de172625971a462837 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE(~Ds(|LD20|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=kd;e_Mdf2mbOZwfgKTC<M2T~LZf<H`30S{# zQEFmIYKlU6W=V#EyQgnJie4%^0|UcKPZ!6Kh{JEE9OOD|z~d|`&!ye^chcXd|5h4C zEX-&(O=a19c~XoF2ZwOS8u8^5j_l-E@F#lqP1ys7@Akj&d3fCMWlj?7hc2HJkt+;K zF24K6vSH@UOY=1M3YvK8Fg$oyz1I8vyV)vb3_tvmIGPR|dAn-z^=BSyS81O#4F2%g zHz#<PI%lZpq~zramz<X?Trzt7XjN+3_pjQ1ES(C1DorjEID{OPJXnGS_b{r?GL|%J RDcuk9j;E`i%Q~loCIAx6a~=Qy literal 0 HcmV?d00001 diff --git a/Assets/grid.png b/Assets/grid.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d4ba237b844ab0e3eb2415117ea26282b80d8f GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE(~Ds(|LD20|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=kd>Q{+u-25b+Z{57-Ta;B1)X|b8}PkO2GP^ zi&7IyQd1PlGfOfQ+&z5*QuI>U85kH+JzX3_A`ZX3;>g9I$isZV<xj-F|0~`layPBH z9(Lo2QdQPr1!biVZI#pRv3DuG{5*Fx!xodkYX??x{yTO+b944*Gv;bHKOsxW)$b;8 pG`!`=O(@HKSAT#l2aX;{G4mTfnm191@vjHSDW0x=F6*2UngC1^Qmz01 literal 0 HcmV?d00001 diff --git a/Assets/logo-ring-beta2-tagline-EN-couleur.svg b/Assets/logo-ring-beta2-tagline-EN-couleur.svg deleted file mode 100644 index 28b124f..0000000 --- a/Assets/logo-ring-beta2-tagline-EN-couleur.svg +++ /dev/null @@ -1,456 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="590.4px" height="216px" viewBox="0 0 590.4 216" enable-background="new 0 0 590.4 216" xml:space="preserve"> -<g> - <g> - - <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="23.376" y1="901.8262" x2="15.3598" y2="892.4739" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <polygon fill="url(#SVGID_1_)" points="102.813,103.89 115.141,103.466 108.976,115.113 "/> - - <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="92.3765" y1="905.8604" x2="92.3765" y2="970.1398" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="0.0704" style="stop-color:#0B6070"/> - <stop offset="0.2165" style="stop-color:#0B7285"/> - <stop offset="0.3608" style="stop-color:#0A7D91"/> - <stop offset="0.5" style="stop-color:#0A8195"/> - <stop offset="0.6392" style="stop-color:#0A7D91"/> - <stop offset="0.7835" style="stop-color:#0B7285"/> - <stop offset="0.9296" style="stop-color:#0B6070"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path fill="url(#SVGID_2_)" d="M156.308,106.82c45.552,7.381,52.088,18.776,52.088,18.776c0-0.002,0.111,1.146,0,2.107 - c-0.055,0.482-0.242,0.842-0.372,1.141c-0.261,0.604-4.765,10.004-34.201,16.201L156.308,106.82z"/> - - <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-50.4458" y1="975.0215" x2="-29.5898" y2="937.8878" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#014251"/> - <stop offset="0.0859" style="stop-color:#025262"/> - <stop offset="0.2267" style="stop-color:#046676"/> - <stop offset="0.3658" style="stop-color:#057183"/> - <stop offset="0.5" style="stop-color:#057587"/> - <stop offset="0.6342" style="stop-color:#057183"/> - <stop offset="0.7733" style="stop-color:#046676"/> - <stop offset="0.9141" style="stop-color:#025262"/> - <stop offset="1" style="stop-color:#014251"/> - </linearGradient> - <path fill="url(#SVGID_3_)" d="M41.516,143.514c-10.369,27.344-5.049,36.055-4.692,36.596c0.181,0.271,0.349,0.668,0.755,0.934 - c0.157,0.104,2.143-0.377,2.143-0.377s18.623-0.938,40.443-31.939L41.516,143.514z"/> - - <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="9.0864" y1="848.9443" x2="-25.4381" y2="808.6652" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0D283A"/> - <stop offset="0.0284" style="stop-color:#0C3042"/> - <stop offset="0.1353" style="stop-color:#0B495A"/> - <stop offset="0.2468" style="stop-color:#0A5B6C"/> - <stop offset="0.3647" style="stop-color:#0A6676"/> - <stop offset="0.5" style="stop-color:#0A697A"/> - <stop offset="0.6177" style="stop-color:#0A6070"/> - <stop offset="0.8125" style="stop-color:#0B4758"/> - <stop offset="1" style="stop-color:#0D283A"/> - </linearGradient> - <path fill="url(#SVGID_4_)" d="M109.549,38.875C84.568,11.5,72.487,13.07,71.788,13.185c-0.35,0.059-0.69,0.072-1.158,0.311 - c-0.832,0.426-1.77,3.182-1.77,3.182s-5.283,15.117,15.867,55.791L109.549,38.875z"/> - - <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="77.418" y1="979.4307" x2="50.7482" y2="893.5159" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0D283A"/> - <stop offset="0.0284" style="stop-color:#0C3042"/> - <stop offset="0.1353" style="stop-color:#0B495A"/> - <stop offset="0.2468" style="stop-color:#0A5B6C"/> - <stop offset="0.3647" style="stop-color:#0A6676"/> - <stop offset="0.5" style="stop-color:#0A697A"/> - <stop offset="0.6177" style="stop-color:#0A6070"/> - <stop offset="0.8125" style="stop-color:#0B4758"/> - <stop offset="1" style="stop-color:#0D283A"/> - </linearGradient> - <path fill="url(#SVGID_5_)" d="M131.342,144.072c33.872,38.717,45.761,36.561,45.761,36.561s2.182,0.508,2.332,0.41 - c0.405-0.266,0.572-0.662,0.753-0.934c0.482-0.73,10.052-16.422-22.444-72.979L131.342,144.072z"/> - - <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-41.9321" y1="905.8604" x2="-41.9321" y2="970.1382" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="0.0704" style="stop-color:#0B6070"/> - <stop offset="0.2165" style="stop-color:#0B7285"/> - <stop offset="0.3608" style="stop-color:#0A7D91"/> - <stop offset="0.5" style="stop-color:#0A8195"/> - <stop offset="0.6392" style="stop-color:#0A7D91"/> - <stop offset="0.7835" style="stop-color:#0B7285"/> - <stop offset="0.9296" style="stop-color:#0B6070"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path fill="url(#SVGID_6_)" d="M87.52,150.014c-69.822-2.938-78.172-20.346-78.529-21.17c-0.109-0.25-0.417-0.746-0.371-1.141 - c0.145-1.238,2.695-3.439,2.695-3.439s18.578-11.404,49.362-17.545L87.52,150.014z"/> - - <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-6.5659" y1="842.7871" x2="18.668" y2="842.7871" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path opacity="0.4" fill="url(#SVGID_7_)" enable-background="new " d="M107.614,36.783 - c-6.985,7.438-15.034,17.199-24.18,30.008h1.784c5.405-6.887,18.892-23.848,23.45-28.838L107.614,36.783z"/> - - <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="26.7622" y1="869.4707" x2="26.7622" y2="808.8428" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#014251"/> - <stop offset="0.5" style="stop-color:#057587"/> - <stop offset="0.6934" style="stop-color:#057384"/> - <stop offset="0.8038" style="stop-color:#056B7C"/> - <stop offset="0.8932" style="stop-color:#035E6E"/> - <stop offset="0.971" style="stop-color:#024B5B"/> - <stop offset="1" style="stop-color:#014251"/> - </linearGradient> - <path fill="url(#SVGID_8_)" d="M135.817,68.23c18.261-43.152,11.11-53.051,11.11-53.051s-0.377-1.594-0.542-1.684 - c-0.308-0.168-0.917-0.268-1.159-0.309c-0.884-0.148-19.868-2.605-60.008,53.604L135.817,68.23z"/> - - <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-28.6187" y1="987.1406" x2="82.1423" y2="819.7172" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0824" style="stop-color:#379FB2"/> - <stop offset="0.1675" style="stop-color:#5CB4C7"/> - <stop offset="0.2527" style="stop-color:#79C5D7"/> - <stop offset="0.337" style="stop-color:#8DD1E3"/> - <stop offset="0.42" style="stop-color:#9AD8EA"/> - <stop offset="0.5" style="stop-color:#9EDAEC"/> - <stop offset="0.58" style="stop-color:#9AD8EA"/> - <stop offset="0.663" style="stop-color:#8DD1E3"/> - <stop offset="0.7473" style="stop-color:#79C5D7"/> - <stop offset="0.8325" style="stop-color:#5CB4C7"/> - <stop offset="0.9176" style="stop-color:#379FB2"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_9_)" d="M108.172,176.496c-24.74,26.969-36.709,25.414-37.406,25.299c-0.967-0.162-2.927-1.459-2.927-1.459 - l-30.261-19.295C50.32,178.332,66,163.186,82.504,143.922L108.172,176.496z"/> - - <linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-38.5698" y1="990.498" x2="5.3" y2="951.2192" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#057B8F"/> - <stop offset="0.0822" style="stop-color:#038DA1"/> - <stop offset="0.1808" style="stop-color:#029AB0"/> - <stop offset="0.3007" style="stop-color:#01A2B8"/> - <stop offset="0.5" style="stop-color:#01A4BB"/> - <stop offset="0.6993" style="stop-color:#01A2B8"/> - <stop offset="0.8192" style="stop-color:#029AB0"/> - <stop offset="0.9178" style="stop-color:#038DA1"/> - <stop offset="1" style="stop-color:#057B8F"/> - </linearGradient> - <path fill="url(#SVGID_10_)" d="M109.192,177.518c-24.74,26.967-36.708,25.412-37.404,25.297 - c-0.969-0.162-2.928-1.459-2.928-1.459l-31.281-20.312c12.742-2.709,29.441-16.834,45.945-36.1L109.192,177.518z"/> - - <linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-42.4941" y1="818.5723" x2="59.365" y2="988.3375" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#057B8F"/> - <stop offset="0.0176" style="stop-color:#0A8093"/> - <stop offset="0.1407" style="stop-color:#279AAD"/> - <stop offset="0.2631" style="stop-color:#3BAEBF"/> - <stop offset="0.3837" style="stop-color:#48B9CA"/> - <stop offset="0.5" style="stop-color:#4CBDCE"/> - <stop offset="0.6163" style="stop-color:#48B9CA"/> - <stop offset="0.7369" style="stop-color:#3BAEBF"/> - <stop offset="0.8593" style="stop-color:#279AAD"/> - <stop offset="0.9824" style="stop-color:#0A8093"/> - <stop offset="1" style="stop-color:#057B8F"/> - </linearGradient> - <path fill="url(#SVGID_11_)" d="M43,72.677C32.01,44.38,37.481,35.419,37.844,34.87c0.541-0.818,2.524-2.08,2.524-2.08 - l30.261-19.295c-2.627,12.354,4.059,31.447,14.324,53.541L43,72.677z"/> - - <linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="67.6885" y1="987.3125" x2="2.19" y2="904.8143" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#057B8F"/> - <stop offset="0.0257" style="stop-color:#0A8093"/> - <stop offset="0.2053" style="stop-color:#279AAD"/> - <stop offset="0.384" style="stop-color:#3BAEBF"/> - <stop offset="0.5599" style="stop-color:#48B9CA"/> - <stop offset="0.7296" style="stop-color:#4CBDCE"/> - <stop offset="0.7925" style="stop-color:#48B9CA"/> - <stop offset="0.8577" style="stop-color:#3BAEBF"/> - <stop offset="0.9239" style="stop-color:#279AAD"/> - <stop offset="0.9905" style="stop-color:#0A8093"/> - <stop offset="1" style="stop-color:#057B8F"/> - </linearGradient> - <path fill="url(#SVGID_12_)" d="M106.755,106.365c-15.667,0.17-31.37,1.221-45.417,3.326c0.451,0.944,7.535,12.603,12.601,20.399 - c48.579,74.806,71.339,71.863,72.307,71.701c0.968-0.16,2.928-1.457,2.928-1.457l30.262-19.293 - C158.819,176.66,130.159,143.062,106.755,106.365z"/> - - <linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="-26.9561" y1="860.165" x2="-39.709" y2="814.2545" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#057B8F"/> - <stop offset="0.0822" style="stop-color:#038DA1"/> - <stop offset="0.1808" style="stop-color:#029AB0"/> - <stop offset="0.3007" style="stop-color:#01A2B8"/> - <stop offset="0.5" style="stop-color:#01A4BB"/> - <stop offset="0.6993" style="stop-color:#01A2B8"/> - <stop offset="0.8192" style="stop-color:#029AB0"/> - <stop offset="0.9178" style="stop-color:#038DA1"/> - <stop offset="1" style="stop-color:#057B8F"/> - </linearGradient> - <path fill="url(#SVGID_13_)" d="M41.981,73.699c-10.99-28.299-5.519-37.26-5.157-37.809c0.542-0.816,2.524-2.08,2.524-2.08 - l31.281-20.314c-2.627,12.354,3.038,32.469,13.303,54.561L41.981,73.699z"/> - - <linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="117.4731" y1="891.126" x2="-81.2289" y2="891.126" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0128" style="stop-color:#118B9E"/> - <stop offset="0.1121" style="stop-color:#36A5BA"/> - <stop offset="0.2115" style="stop-color:#53BAD0"/> - <stop offset="0.3099" style="stop-color:#67C8E0"/> - <stop offset="0.4066" style="stop-color:#74D1E9"/> - <stop offset="0.5" style="stop-color:#78D4EC"/> - <stop offset="0.5934" style="stop-color:#74D1E9"/> - <stop offset="0.6901" style="stop-color:#67C8E0"/> - <stop offset="0.7885" style="stop-color:#53BAD0"/> - <stop offset="0.8879" style="stop-color:#36A5BA"/> - <stop offset="0.9872" style="stop-color:#118B9E"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_14_)" d="M156.279,110.549c23.614,3.406,43.153,8.193,52.116,17.154V91.777c0,0,0.02-2.35-0.372-3.25 - c-0.259-0.594-4.659-9.783-33.169-15.98L156.279,110.549z"/> - - <linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="60.5166" y1="888.2246" x2="117.3075" y2="891.2853" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#096F80"/> - <stop offset="0.0061" style="stop-color:#097181"/> - <stop offset="0.0912" style="stop-color:#0B8395"/> - <stop offset="0.1876" style="stop-color:#0C8FA4"/> - <stop offset="0.3049" style="stop-color:#0D97AC"/> - <stop offset="0.5" style="stop-color:#0D99AF"/> - <stop offset="0.6951" style="stop-color:#0D97AC"/> - <stop offset="0.8124" style="stop-color:#0C8FA4"/> - <stop offset="0.9088" style="stop-color:#0B8395"/> - <stop offset="0.9939" style="stop-color:#097181"/> - <stop offset="1" style="stop-color:#096F80"/> - </linearGradient> - <path fill="url(#SVGID_15_)" d="M156.279,109.178c23.614,3.406,43.153,9.564,52.116,18.525V90.406c0,0,0.02-2.35-0.372-3.25 - c-0.259-0.594-4.659-9.783-33.169-15.98L156.279,109.178z"/> - - <linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="-81.3799" y1="888.3203" x2="21.0851" y2="888.3203" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0225" style="stop-color:#118B9E"/> - <stop offset="0.1971" style="stop-color:#36A5BA"/> - <stop offset="0.3718" style="stop-color:#53BAD0"/> - <stop offset="0.5447" style="stop-color:#67C8E0"/> - <stop offset="0.7147" style="stop-color:#74D1E9"/> - <stop offset="0.8788" style="stop-color:#78D4EC"/> - <stop offset="0.9015" style="stop-color:#74D1E9"/> - <stop offset="0.9249" style="stop-color:#67C8E0"/> - <stop offset="0.9487" style="stop-color:#53BAD0"/> - <stop offset="0.9728" style="stop-color:#36A5BA"/> - <stop offset="0.9969" style="stop-color:#118B9E"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_16_)" d="M134.862,67.619c-5.318-0.258-16.663-0.682-26.354-0.682c-89.197,0-99.124,20.689-99.517,21.59 - c-0.391,0.9-0.371,3.25-0.371,3.25v35.926c8.678-8.678,27.775-13.406,50.98-16.885c14.048-2.105,29.596-3.254,45.263-3.424 - c2.771-0.029,5.546-0.029,8.315,0C113.178,107.394,140.18,67.876,134.862,67.619z"/> - - <linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="-9.3242" y1="861.8027" x2="-47.8329" y2="856.3875" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path opacity="0.2" fill="url(#SVGID_17_)" enable-background="new " d="M83.947,64.845 - c-18.644,0.945-32.06,2.318-43.277,5.354l0.536,1.471c1.021-0.166,2.295-0.514,3.332-0.67c12.669-1.9,26.317-3.637,40.416-3.963 - L83.947,64.845z"/> - - <linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="29.8599" y1="894.7402" x2="-78.9636" y2="879.4369" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0382" style="stop-color:#1694A7"/> - <stop offset="0.1177" style="stop-color:#26A8BA"/> - <stop offset="0.2081" style="stop-color:#32B6C8"/> - <stop offset="0.3177" style="stop-color:#39BED1"/> - <stop offset="0.5" style="stop-color:#3BC1D3"/> - <stop offset="0.6823" style="stop-color:#39BED1"/> - <stop offset="0.7919" style="stop-color:#32B6C8"/> - <stop offset="0.8823" style="stop-color:#26A8BA"/> - <stop offset="0.9618" style="stop-color:#1694A7"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_18_)" d="M134.862,66.248c-5.318-0.258-16.663-0.682-26.354-0.682c-89.197,0-99.124,20.689-99.517,21.59 - c-0.391,0.9-0.371,3.25-0.371,3.25v37.297c8.678-8.678,27.775-14.775,50.98-18.256c14.048-2.106,29.596-3.254,45.263-3.424 - c2.771-0.029,5.546-0.029,8.315,0.002C113.178,106.025,140.18,66.505,134.862,66.248z"/> - - <linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="80.2974" y1="819.3965" x2="28.5478" y2="908.5208" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.1238" style="stop-color:#379FB2"/> - <stop offset="0.2516" style="stop-color:#5CB4C7"/> - <stop offset="0.3797" style="stop-color:#79C5D7"/> - <stop offset="0.5064" style="stop-color:#8DD1E3"/> - <stop offset="0.631" style="stop-color:#9AD8EA"/> - <stop offset="0.7513" style="stop-color:#9EDAEC"/> - <stop offset="0.7911" style="stop-color:#9AD8EA"/> - <stop offset="0.8324" style="stop-color:#8DD1E3"/> - <stop offset="0.8743" style="stop-color:#79C5D7"/> - <stop offset="0.9167" style="stop-color:#5CB4C7"/> - <stop offset="0.959" style="stop-color:#379FB2"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_19_)" d="M108.502,109.08c24.314-36.528,42.304-74.786,37.882-95.584l30.262,19.293 - c0,0,1.98,1.264,2.521,2.082c0.542,0.818,12.487,20.414-36.094,95.221c-3.575,5.504-6.885,11.99-8.103,12.592 - C126.681,134.578,108.502,109.08,108.502,109.08z"/> - - <linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="86.8013" y1="864.2285" x2="67.9593" y2="899.5872" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path opacity="0.25" fill="url(#SVGID_20_)" enable-background="new " d="M175.734,71.333 - c-5.28,12.918-11.025,25.32-19.455,39.147l2.229,0.424c9.653-16.59,15.203-28.776,18.983-39.131L175.734,71.333z"/> - - <linearGradient id="SVGID_21_" gradientUnits="userSpaceOnUse" x1="78.5996" y1="821.3535" x2="26.6853" y2="918.7758" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0382" style="stop-color:#1694A7"/> - <stop offset="0.1177" style="stop-color:#26A8BA"/> - <stop offset="0.2081" style="stop-color:#32B6C8"/> - <stop offset="0.3177" style="stop-color:#39BED1"/> - <stop offset="0.5" style="stop-color:#3BC1D3"/> - <stop offset="0.6823" style="stop-color:#39BED1"/> - <stop offset="0.7919" style="stop-color:#32B6C8"/> - <stop offset="0.8823" style="stop-color:#26A8BA"/> - <stop offset="0.9618" style="stop-color:#1694A7"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_21_)" d="M144.094,131.111c48.582-74.807,36.636-94.401,36.094-95.221c-0.541-0.816-2.521-2.08-2.521-2.08 - l-31.282-20.314c4.396,20.678-12.935,60.498-37.042,96.872c8.118,12.356,16.496,24.437,25.324,34.678 - C136.426,143.201,140.834,136.129,144.094,131.111z"/> - - <linearGradient id="SVGID_22_" gradientUnits="userSpaceOnUse" x1="82.6289" y1="823.5488" x2="30.2568" y2="921.8301" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B879A"/> - <stop offset="0.0382" style="stop-color:#1694A7"/> - <stop offset="0.1177" style="stop-color:#26A8BA"/> - <stop offset="0.2081" style="stop-color:#32B6C8"/> - <stop offset="0.3177" style="stop-color:#39BED1"/> - <stop offset="0.5" style="stop-color:#3BC1D3"/> - <stop offset="0.6823" style="stop-color:#39BED1"/> - <stop offset="0.7919" style="stop-color:#32B6C8"/> - <stop offset="0.8823" style="stop-color:#26A8BA"/> - <stop offset="0.9618" style="stop-color:#1694A7"/> - <stop offset="1" style="stop-color:#0B879A"/> - </linearGradient> - <path fill="url(#SVGID_22_)" d="M133.788,146.396c0.107-0.057,0.26-0.195,0.43-0.375c-8.828-10.242-17.602-22.018-25.719-34.373 - c-0.14,0.209-0.276,0.422-0.416,0.633C108.083,112.281,125.002,139.004,133.788,146.396z"/> - - <linearGradient id="SVGID_23_" gradientUnits="userSpaceOnUse" x1="-1.8975" y1="935.2969" x2="11.5351" y2="971.6878" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#0B5463"/> - <stop offset="1" style="stop-color:#0B5463"/> - </linearGradient> - <path opacity="0.2" fill="url(#SVGID_23_)" enable-background="new " d="M108.506,178.262 - c-0.398-0.457-18.246-21.541-26.364-33.9l-1.325,1.512c10.186,14.547,19.059,25.396,26.666,33.479L108.506,178.262z"/> - - <linearGradient id="SVGID_24_" gradientUnits="userSpaceOnUse" x1="23.6108" y1="897.8691" x2="39.4245" y2="996.3225" gradientTransform="matrix(1 0 0 1 90 -791)"> - <stop offset="0" style="stop-color:#096F80"/> - <stop offset="0.0244" style="stop-color:#107B8C"/> - <stop offset="0.0888" style="stop-color:#2095A6"/> - <stop offset="0.1599" style="stop-color:#2CA8BA"/> - <stop offset="0.2403" style="stop-color:#34B6C8"/> - <stop offset="0.3378" style="stop-color:#39BFD0"/> - <stop offset="0.5" style="stop-color:#3BC1D3"/> - <stop offset="0.6718" style="stop-color:#39BED1"/> - <stop offset="0.7751" style="stop-color:#33B6C8"/> - <stop offset="0.8603" style="stop-color:#28A8BA"/> - <stop offset="0.9351" style="stop-color:#1894A7"/> - <stop offset="1" style="stop-color:#057B8F"/> - </linearGradient> - <path fill="url(#SVGID_24_)" d="M134.217,146.021c-8.828-10.242-17.602-22.018-25.719-34.373 - c-0.929-1.416-1.853-2.834-2.763-4.264c-15.667,0.17-31.37,1.221-45.418,3.325c0.451,0.947,7.536,12.603,12.601,20.399 - c48.58,74.808,71.339,71.865,72.308,71.703c0.968-0.162,2.927-1.459,2.927-1.459l31.282-20.312 - C166.633,178.32,150.338,164.723,134.217,146.021z"/> - </g> - <g> - <path fill="#535E5E" d="M343.781,154.282h22.16l-33.586-46.504l2.139-0.639c4.254-1.265,7.98-3.055,11.08-5.32 - c3.074-2.248,5.531-4.83,7.293-7.666c1.795-2.877,3.125-5.902,3.955-8.993c0.832-3.106,1.254-6.431,1.254-9.878 - c0-4.01-0.484-7.669-1.447-10.873c-0.945-3.176-2.166-5.828-3.621-7.88c-1.453-2.038-3.299-3.849-5.498-5.38 - c-2.252-1.566-4.438-2.762-6.498-3.557c-2.09-0.805-4.531-1.46-7.26-1.945c-2.752-0.492-5.131-0.804-7.061-0.934 - c-1.965-0.131-4.137-0.195-6.449-0.195h-46.498v109.764h16.861v-43.787h21.547L343.781,154.282z M290.605,95.221V59.71h23.754 - c17.24,0,25.98,5.853,25.98,17.397c0,3.053-0.605,5.762-1.812,8.047c-1.199,2.288-2.759,4.109-4.627,5.412 - c-1.812,1.27-4.143,2.271-6.91,2.976c-2.66,0.683-5.287,1.138-7.809,1.356c-2.465,0.215-5.344,0.322-8.559,0.322h-20.021v0.001 - H290.605z"/> - <g> - <polygon fill="#535E5E" points="378.113,44.518 378.113,62.887 396.881,62.887 396.881,52.147 396.881,44.518 "/> - <rect x="379.307" y="78.931" fill="#535E5E" width="16.383" height="75.351"/> - </g> - <path fill="#535E5E" d="M461.748,93.69c2.494,0.852,4.33,1.846,5.615,3.04c1.285,1.192,2.297,2.726,3.018,4.558 - c0.689,1.75,1.098,3.199,1.252,4.435c0.141,1.169,0.209,2.528,0.209,4.05v44.51h16.383v-44.748c0-3.497-0.182-6.69-0.541-9.495 - c-0.35-2.707-1.137-5.615-2.326-8.641c-1.16-2.93-2.73-5.377-4.682-7.275c-1.949-1.9-4.705-3.521-8.188-4.814 - c-3.52-1.307-7.771-1.967-12.643-1.967c-9.117,0-19.146,2.309-29.812,6.865l-1.373,0.584l-2.93-5.86h-11.107v75.351h16.379V97.319 - l1.014-0.391c7.73-2.971,14.875-4.475,21.238-4.475C456.48,92.454,459.338,92.866,461.748,93.69z"/> - <path fill="#535E5E" d="M570.332,187.288c2.246-2.07,4.096-4.261,5.494-6.511c1.41-2.269,2.59-4.778,3.498-7.461 - c0.92-2.702,1.562-5.347,1.92-7.856c0.355-2.537,0.541-5.201,0.541-7.924V78.931h-11.994l-1.371,3.942l-1.555-0.646 - c-7.771-3.243-15.076-4.886-21.725-4.886c-3.574,0-7.248,0.401-10.91,1.197c-3.633,0.785-7.42,2.182-11.254,4.15 - c-3.811,1.955-7.219,4.412-10.141,7.306c-2.877,2.854-5.271,6.629-7.113,11.226c-1.852,4.606-2.789,9.864-2.789,15.624 - c0,5.572,0.801,10.664,2.373,15.131c1.566,4.443,3.666,8.156,6.242,11.033c2.602,2.9,5.709,5.369,9.248,7.342 - c3.561,1.982,7.264,3.41,11.021,4.25c9.814,2.188,20.922,1.555,31.471-2.211l2.115-0.756v2.963c0,2.865-0.184,5.523-0.537,7.902 - c-0.365,2.445-1.17,5.014-2.396,7.627c-1.252,2.682-2.967,4.961-5.094,6.775c-2.115,1.799-5.016,3.291-8.613,4.438 - c-3.561,1.129-7.803,1.703-12.604,1.703c-6.861,0-13.92-1.176-20.996-3.498l-1.848-0.674l-4.854,12.545l1.545,0.668 - c8.832,3.439,18.32,5.195,28.143,5.195c5.01,0,9.648-0.434,13.785-1.279c4.111-0.844,7.688-2.002,10.629-3.447 - C565.484,191.118,568.1,189.345,570.332,187.288z M564.355,138.841c-5.449,1.959-10.977,2.955-16.434,2.955 - c-8.879,0-15.84-2.502-20.682-7.432c-4.834-4.916-7.287-11.27-7.287-18.869c0-7.321,2.432-13.26,7.229-17.661 - c4.762-4.361,11.119-6.574,18.914-6.574c5.055,0,11.164,1.037,18.168,3.084l1.141,0.333v43.787L564.355,138.841z"/> - </g> - <path fill="#758283" d="M433.446,24.791h10.493c1.174,0,2.246,0.091,3.224,0.271c0.974,0.181,1.797,0.416,2.468,0.706 - s1.271,0.639,1.791,1.046c0.522,0.406,0.938,0.819,1.239,1.238c0.303,0.42,0.552,0.865,0.745,1.336 - c0.191,0.472,0.32,0.897,0.387,1.278s0.097,0.758,0.097,1.132c0,0.878-0.236,1.769-0.716,2.672 - c-0.478,0.903-1.078,1.665-1.801,2.284c1.445,0.594,2.604,1.521,3.476,2.778c0.871,1.259,1.309,2.637,1.309,4.134 - c0,0.426-0.042,0.861-0.126,1.307c-0.084,0.446-0.249,0.958-0.494,1.539c-0.245,0.581-0.564,1.133-0.958,1.655 - c-0.396,0.522-0.926,1.042-1.597,1.559c-0.674,0.516-1.446,0.958-2.323,1.326c-0.878,0.367-1.959,0.668-3.243,0.899 - c-1.284,0.232-2.694,0.349-4.229,0.349h-9.737V24.791H433.446z M442.836,28.895h-4.511v7.627c2.8-0.063,4.756-0.193,5.865-0.387 - c2.685-0.49,4.115-1.606,4.298-3.35c0.013-0.142,0.02-0.283,0.02-0.426c0-0.413-0.07-0.797-0.213-1.151 - c-0.142-0.355-0.396-0.72-0.765-1.094c-0.367-0.374-0.952-0.671-1.752-0.891C444.979,29.004,443.997,28.895,442.836,28.895z - M443.146,39.62c-0.104,0-1.712,0.071-4.82,0.213v7.977h4.336c0.517,0,0.959-0.003,1.326-0.01c0.367-0.006,0.875-0.035,1.521-0.087 - c0.646-0.052,1.2-0.126,1.664-0.223c0.465-0.097,0.977-0.242,1.53-0.436c0.555-0.193,1.003-0.426,1.345-0.697 - s0.633-0.616,0.871-1.035c0.239-0.42,0.358-0.896,0.358-1.423c0-1.33-0.732-2.375-2.197-3.137 - C447.614,40,445.636,39.62,443.146,39.62z"/> - <path fill="#758283" d="M460.621,52.3V24.79h19.302v4.491h-14.401v6.602h13.338v4.492h-13.338v7.434h14.401V52.3H460.621z"/> - <path fill="#758283" d="M484.271,24.791h24.855v4.491h-9.989V52.3h-4.879V29.282h-9.989L484.271,24.791L484.271,24.791z"/> - <path fill="#758283" d="M519.071,24.791h5.344l10.88,27.51h-5.015l-3.078-7.201h-11.229l-3.077,7.201h-4.725L519.071,24.791z - M525.499,40.626l-3.911-10.202l-3.93,10.202H525.499z"/> - <path fill="#D12828" d="M551.295,48.571c0.76-2.221,1.76-4.299,3.003-6.234c1.244-1.935,2.543-3.578,3.9-4.927 - c1.356-1.347,2.775-2.604,4.257-3.771c1.479-1.166,2.875-2.181,4.187-3.045c1.311-0.863,2.494-1.68,3.56-2.449 - c1.062-0.768,1.906-1.526,2.533-2.277c0.626-0.749,0.938-1.494,0.938-2.235c0-1.481-0.887-2.777-2.661-3.887 - c-1.773-1.11-3.942-1.665-6.505-1.665c-3.113,0-6.882,0.758-11.304,2.276l-1.081,0.371l-2.191-5.865l1.025-0.455 - c4.457-1.897,9.327-2.847,14.604-2.847c4.744,0,8.514,1.029,11.304,3.09c2.789,2.059,4.187,4.644,4.187,7.757 - c0,1.347-0.271,2.609-0.812,3.785c-0.541,1.179-1.28,2.24-2.223,3.19c-0.939,0.95-1.99,1.869-3.158,2.761 - c-1.167,0.894-2.421,1.817-3.761,2.777c-1.335,0.957-2.632,1.935-3.886,2.931c-1.254,0.997-2.482,2.178-3.687,3.545 - c-1.205,1.367-2.206,2.799-3.003,4.299h21.266V52.3h-30.489v-3.729H551.295z"/> -</g> -<g> - <path fill="#758283" d="M289.526,195.816l-2.072-5.764h-7.933l-2.029,5.764h-3.576l7.763-20.832h3.689l7.762,20.832H289.526z - M286.56,187.131l-1.943-5.646c-0.143-0.379-0.339-0.977-0.589-1.789c-0.251-0.812-0.424-1.408-0.519-1.787 - c-0.255,1.164-0.629,2.436-1.121,3.816l-1.873,5.406H286.56z"/> - <path fill="#758283" d="M311.904,184.562h7.635v10.416c-1.249,0.404-2.447,0.693-3.597,0.863c-1.15,0.172-2.395,0.258-3.729,0.258 - c-3.141,0-5.562-0.932-7.266-2.789c-1.703-1.857-2.557-4.48-2.557-7.867c0-3.342,0.959-5.953,2.881-7.842 - c1.923-1.889,4.563-2.832,7.935-2.832c2.167,0,4.22,0.416,6.159,1.25l-1.192,2.822c-1.684-0.773-3.368-1.162-5.052-1.162 - c-2.214,0-3.964,0.693-5.251,2.086c-1.286,1.391-1.933,3.291-1.933,5.703c0,2.535,0.581,4.465,1.738,5.781 - c1.159,1.32,2.826,1.98,5.003,1.98c1.1,0,2.271-0.141,3.521-0.412v-5.352h-4.3L311.904,184.562L311.904,184.562z"/> - <path fill="#758283" d="M341.805,195.816h-4.155l-10.203-16.533h-0.113l0.07,0.922c0.133,1.76,0.196,3.369,0.196,4.826v10.785 - h-3.078v-20.748h4.114l10.175,16.447h0.085c-0.02-0.219-0.057-1.012-0.11-2.377c-0.061-1.367-0.086-2.436-0.086-3.199v-10.871 - h3.105V195.816L341.805,195.816z"/> - <path fill="#758283" d="M363.546,175.068v13.426c0,1.531-0.329,2.873-0.986,4.021c-0.655,1.146-1.605,2.033-2.853,2.652 - c-1.244,0.619-2.732,0.932-4.463,0.932c-2.574,0-4.574-0.684-6.003-2.043c-1.429-1.363-2.146-3.236-2.146-5.619v-13.369h3.405 - v13.127c0,1.715,0.397,2.977,1.192,3.789s2.015,1.223,3.66,1.223c3.195,0,4.798-1.682,4.798-5.037v-13.102H363.546L363.546,175.068 - z"/> - <path fill="#758283" d="M384.008,196.1c-1.983,0-3.525-0.717-4.626-2.146h-0.198c0.135,1.326,0.198,2.129,0.198,2.414v6.428h-3.335 - v-22.676h2.696c0.076,0.293,0.229,0.992,0.469,2.104h0.17c1.041-1.592,2.604-2.387,4.687-2.387c1.958,0,3.48,0.709,4.573,2.129 - c1.096,1.42,1.642,3.41,1.642,5.977c0,2.562-0.559,4.562-1.667,6.002C387.501,195.381,385.967,196.1,384.008,196.1z - M383.199,182.561c-1.324,0-2.292,0.389-2.902,1.164c-0.609,0.773-0.915,2.016-0.915,3.719v0.496c0,1.91,0.303,3.295,0.908,4.15 - c0.604,0.854,1.594,1.283,2.966,1.283c1.154,0,2.044-0.475,2.668-1.42s0.938-2.295,0.938-4.045c0-1.76-0.312-3.09-0.933-3.994 - C385.312,183.012,384.4,182.561,383.199,182.561z"/> - <path fill="#758283" d="M402.115,179.836c0.672,0,1.226,0.047,1.661,0.143l-0.327,3.105c-0.476-0.111-0.965-0.17-1.479-0.17 - c-1.334,0-2.415,0.438-3.239,1.309c-0.828,0.869-1.242,2-1.242,3.393v8.201h-3.335v-15.695h2.608l0.44,2.77h0.17 - c0.521-0.939,1.199-1.682,2.036-2.23C400.25,180.111,401.15,179.836,402.115,179.836z"/> - <path fill="#758283" d="M420.025,187.939c0,2.561-0.658,4.562-1.976,6.004c-1.312,1.438-3.146,2.156-5.492,2.156 - c-1.467,0-2.763-0.332-3.889-0.994s-1.991-1.611-2.597-2.854c-0.606-1.238-0.908-2.678-0.908-4.312 - c0-2.545,0.653-4.531,1.959-5.961c1.305-1.43,3.146-2.145,5.52-2.145c2.271,0,4.068,0.73,5.396,2.193 - C419.362,183.49,420.025,185.459,420.025,187.939z M408.602,187.939c0,3.623,1.342,5.436,4.019,5.436 - c2.646,0,3.974-1.811,3.974-5.436c0-3.586-1.334-5.379-4.002-5.379c-1.397,0-2.415,0.465-3.044,1.393 - C408.916,184.879,408.602,186.207,408.602,187.939z"/> - <path fill="#758283" d="M422.252,202.797c-1.003,0-1.835-0.117-2.497-0.354v-2.641c0.646,0.172,1.301,0.256,1.973,0.256 - c1.422,0,2.131-0.805,2.131-2.41v-17.527h3.335v17.752c0,1.619-0.427,2.844-1.271,3.676 - C425.073,202.381,423.851,202.797,422.252,202.797z M423.657,175.963c0-0.598,0.163-1.057,0.489-1.379 - c0.323-0.318,0.791-0.48,1.396-0.48c0.586,0,1.043,0.162,1.369,0.48c0.326,0.322,0.489,0.781,0.489,1.379 - c0,0.566-0.163,1.016-0.489,1.342c-0.326,0.324-0.783,0.486-1.369,0.486c-0.604,0-1.072-0.162-1.396-0.486 - C423.82,176.979,423.657,176.531,423.657,175.963z"/> - <path fill="#758283" d="M438.812,196.1c-2.439,0-4.352-0.713-5.728-2.137c-1.377-1.426-2.063-3.387-2.063-5.885 - c0-2.562,0.64-4.578,1.914-6.045c1.277-1.465,3.032-2.199,5.268-2.199c2.072,0,3.709,0.631,4.91,1.889 - c1.201,1.26,1.802,2.99,1.802,5.193v1.803h-10.458c0.047,1.521,0.459,2.693,1.234,3.514c0.772,0.818,1.865,1.229,3.275,1.229 - c0.93,0,1.79-0.088,2.59-0.264c0.802-0.176,1.657-0.467,2.575-0.873v2.711c-0.812,0.389-1.637,0.662-2.469,0.822 - C440.833,196.018,439.883,196.1,438.812,196.1z M438.203,182.363c-1.062,0-1.908,0.336-2.547,1.008 - c-0.642,0.672-1.021,1.65-1.146,2.939h7.124c-0.02-1.297-0.332-2.277-0.937-2.943C440.096,182.697,439.263,182.363,438.203,182.363 - z"/> - <path fill="#758283" d="M455.033,196.1c-2.374,0-4.182-0.693-5.413-2.08c-1.235-1.387-1.854-3.375-1.854-5.969 - c0-2.641,0.646-4.668,1.938-6.088c1.291-1.42,3.157-2.129,5.598-2.129c1.656,0,3.146,0.311,4.474,0.924l-1.011,2.684 - c-1.407-0.549-2.57-0.822-3.488-0.822c-2.718,0-4.072,1.801-4.072,5.406c0,1.76,0.338,3.082,1.015,3.967 - c0.676,0.885,1.667,1.326,2.976,1.326c1.482,0,2.891-0.369,4.215-1.107v2.91c-0.599,0.352-1.232,0.602-1.909,0.752 - C456.819,196.023,455.998,196.1,455.033,196.1z"/> - <path fill="#758283" d="M468.94,193.404c0.812,0,1.627-0.129,2.438-0.385v2.512c-0.369,0.162-0.845,0.297-1.427,0.404 - s-1.188,0.164-1.812,0.164c-3.156,0-4.736-1.666-4.736-4.996v-8.457h-2.146v-1.479l2.299-1.221l1.138-3.32h2.058v3.49h4.471v2.525 - h-4.471v8.398c0,0.807,0.201,1.398,0.604,1.781C467.761,193.207,468.288,193.404,468.94,193.404z"/> -</g> -</svg> diff --git a/Assets/logo-ring.svg b/Assets/logo-ring.svg deleted file mode 100644 index df2f84b..0000000 --- a/Assets/logo-ring.svg +++ /dev/null @@ -1,944 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.1" - id="Calque_1" - x="0px" - y="0px" - width="216" - height="216" - viewBox="0 0 215.99999 216" - enable-background="new 0 0 590.4 216" - xml:space="preserve" - inkscape:version="0.91 r13725" - sodipodi:docname="logo-ring.svg"><metadata - id="metadata3885"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs - id="defs3883" /><sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="1536" - inkscape:window-height="811" - id="namedview3881" - showgrid="false" - inkscape:zoom="2.339092" - inkscape:cx="295.20001" - inkscape:cy="108" - inkscape:window-x="-8" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:current-layer="g3337" /><g - id="g3337"><g - id="g3339"><linearGradient - id="SVGID_1_" - gradientUnits="userSpaceOnUse" - x1="23.375999" - y1="901.82617" - x2="15.3598" - y2="892.47388" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3342" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3344" /></linearGradient><polygon - points="102.813,103.89 115.141,103.466 108.976,115.113 " - id="polygon3346" - style="fill:url(#SVGID_1_)" /><linearGradient - id="SVGID_2_" - gradientUnits="userSpaceOnUse" - x1="92.376503" - y1="905.86041" - x2="92.376503" - y2="970.13977" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3349" /><stop - offset="0.0704" - style="stop-color:#0B6070" - id="stop3351" /><stop - offset="0.2165" - style="stop-color:#0B7285" - id="stop3353" /><stop - offset="0.3608" - style="stop-color:#0A7D91" - id="stop3355" /><stop - offset="0.5" - style="stop-color:#0A8195" - id="stop3357" /><stop - offset="0.6392" - style="stop-color:#0A7D91" - id="stop3359" /><stop - offset="0.7835" - style="stop-color:#0B7285" - id="stop3361" /><stop - offset="0.9296" - style="stop-color:#0B6070" - id="stop3363" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3365" /></linearGradient><path - d="m 156.308,106.82 c 45.552,7.381 52.088,18.776 52.088,18.776 0,-0.002 0.111,1.146 0,2.107 -0.055,0.482 -0.242,0.842 -0.372,1.141 -0.261,0.604 -4.765,10.004 -34.201,16.201 L 156.308,106.82 Z" - id="path3367" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_2_)" /><linearGradient - id="SVGID_3_" - gradientUnits="userSpaceOnUse" - x1="-50.445801" - y1="975.02148" - x2="-29.5898" - y2="937.88782" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#014251" - id="stop3370" /><stop - offset="0.0859" - style="stop-color:#025262" - id="stop3372" /><stop - offset="0.2267" - style="stop-color:#046676" - id="stop3374" /><stop - offset="0.3658" - style="stop-color:#057183" - id="stop3376" /><stop - offset="0.5" - style="stop-color:#057587" - id="stop3378" /><stop - offset="0.6342" - style="stop-color:#057183" - id="stop3380" /><stop - offset="0.7733" - style="stop-color:#046676" - id="stop3382" /><stop - offset="0.9141" - style="stop-color:#025262" - id="stop3384" /><stop - offset="1" - style="stop-color:#014251" - id="stop3386" /></linearGradient><path - d="m 41.516,143.514 c -10.369,27.344 -5.049,36.055 -4.692,36.596 0.181,0.271 0.349,0.668 0.755,0.934 0.157,0.104 2.143,-0.377 2.143,-0.377 0,0 18.623,-0.938 40.443,-31.939 l -38.649,-5.214 z" - id="path3388" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_3_)" /><linearGradient - id="SVGID_4_" - gradientUnits="userSpaceOnUse" - x1="9.0864" - y1="848.94427" - x2="-25.438101" - y2="808.66522" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0D283A" - id="stop3391" /><stop - offset="0.0284" - style="stop-color:#0C3042" - id="stop3393" /><stop - offset="0.1353" - style="stop-color:#0B495A" - id="stop3395" /><stop - offset="0.2468" - style="stop-color:#0A5B6C" - id="stop3397" /><stop - offset="0.3647" - style="stop-color:#0A6676" - id="stop3399" /><stop - offset="0.5" - style="stop-color:#0A697A" - id="stop3401" /><stop - offset="0.6177" - style="stop-color:#0A6070" - id="stop3403" /><stop - offset="0.8125" - style="stop-color:#0B4758" - id="stop3405" /><stop - offset="1" - style="stop-color:#0D283A" - id="stop3407" /></linearGradient><path - d="M 109.549,38.875 C 84.568,11.5 72.487,13.07 71.788,13.185 c -0.35,0.059 -0.69,0.072 -1.158,0.311 -0.832,0.426 -1.77,3.182 -1.77,3.182 0,0 -5.283,15.117 15.867,55.791 l 24.822,-33.594 z" - id="path3409" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_4_)" /><linearGradient - id="SVGID_5_" - gradientUnits="userSpaceOnUse" - x1="77.417999" - y1="979.43073" - x2="50.748199" - y2="893.51593" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0D283A" - id="stop3412" /><stop - offset="0.0284" - style="stop-color:#0C3042" - id="stop3414" /><stop - offset="0.1353" - style="stop-color:#0B495A" - id="stop3416" /><stop - offset="0.2468" - style="stop-color:#0A5B6C" - id="stop3418" /><stop - offset="0.3647" - style="stop-color:#0A6676" - id="stop3420" /><stop - offset="0.5" - style="stop-color:#0A697A" - id="stop3422" /><stop - offset="0.6177" - style="stop-color:#0A6070" - id="stop3424" /><stop - offset="0.8125" - style="stop-color:#0B4758" - id="stop3426" /><stop - offset="1" - style="stop-color:#0D283A" - id="stop3428" /></linearGradient><path - d="m 131.342,144.072 c 33.872,38.717 45.761,36.561 45.761,36.561 0,0 2.182,0.508 2.332,0.41 0.405,-0.266 0.572,-0.662 0.753,-0.934 0.482,-0.73 10.052,-16.422 -22.444,-72.979 l -26.402,36.942 z" - id="path3430" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_5_)" /><linearGradient - id="SVGID_6_" - gradientUnits="userSpaceOnUse" - x1="-41.932098" - y1="905.86041" - x2="-41.932098" - y2="970.13818" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3433" /><stop - offset="0.0704" - style="stop-color:#0B6070" - id="stop3435" /><stop - offset="0.2165" - style="stop-color:#0B7285" - id="stop3437" /><stop - offset="0.3608" - style="stop-color:#0A7D91" - id="stop3439" /><stop - offset="0.5" - style="stop-color:#0A8195" - id="stop3441" /><stop - offset="0.6392" - style="stop-color:#0A7D91" - id="stop3443" /><stop - offset="0.7835" - style="stop-color:#0B7285" - id="stop3445" /><stop - offset="0.9296" - style="stop-color:#0B6070" - id="stop3447" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3449" /></linearGradient><path - d="M 87.52,150.014 C 17.698,147.076 9.348,129.668 8.991,128.844 c -0.109,-0.25 -0.417,-0.746 -0.371,-1.141 0.145,-1.238 2.695,-3.439 2.695,-3.439 0,0 18.578,-11.404 49.362,-17.545 l 26.843,43.295 z" - id="path3451" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_6_)" /><linearGradient - id="SVGID_7_" - gradientUnits="userSpaceOnUse" - x1="-6.5658998" - y1="842.78711" - x2="18.667999" - y2="842.78711" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3454" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3456" /></linearGradient><path - enable-background="new " - d="m 107.614,36.783 c -6.985,7.438 -15.034,17.199 -24.18,30.008 l 1.784,0 c 5.405,-6.887 18.892,-23.848 23.45,-28.838 l -1.054,-1.17 z" - id="path3458" - inkscape:connector-curvature="0" - style="opacity:0.4;fill:url(#SVGID_7_)" /><linearGradient - id="SVGID_8_" - gradientUnits="userSpaceOnUse" - x1="26.762199" - y1="869.4707" - x2="26.762199" - y2="808.84277" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#014251" - id="stop3461" /><stop - offset="0.5" - style="stop-color:#057587" - id="stop3463" /><stop - offset="0.6934" - style="stop-color:#057384" - id="stop3465" /><stop - offset="0.8038" - style="stop-color:#056B7C" - id="stop3467" /><stop - offset="0.8932" - style="stop-color:#035E6E" - id="stop3469" /><stop - offset="0.971" - style="stop-color:#024B5B" - id="stop3471" /><stop - offset="1" - style="stop-color:#014251" - id="stop3473" /></linearGradient><path - d="m 135.817,68.23 c 18.261,-43.152 11.11,-53.051 11.11,-53.051 0,0 -0.377,-1.594 -0.542,-1.684 -0.308,-0.168 -0.917,-0.268 -1.159,-0.309 -0.884,-0.148 -19.868,-2.605 -60.008,53.604 l 50.599,1.44 z" - id="path3475" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_8_)" /><linearGradient - id="SVGID_9_" - gradientUnits="userSpaceOnUse" - x1="-28.6187" - y1="987.14062" - x2="82.142303" - y2="819.71722" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3478" /><stop - offset="0.0824" - style="stop-color:#379FB2" - id="stop3480" /><stop - offset="0.1675" - style="stop-color:#5CB4C7" - id="stop3482" /><stop - offset="0.2527" - style="stop-color:#79C5D7" - id="stop3484" /><stop - offset="0.337" - style="stop-color:#8DD1E3" - id="stop3486" /><stop - offset="0.42" - style="stop-color:#9AD8EA" - id="stop3488" /><stop - offset="0.5" - style="stop-color:#9EDAEC" - id="stop3490" /><stop - offset="0.58" - style="stop-color:#9AD8EA" - id="stop3492" /><stop - offset="0.663" - style="stop-color:#8DD1E3" - id="stop3494" /><stop - offset="0.7473" - style="stop-color:#79C5D7" - id="stop3496" /><stop - offset="0.8325" - style="stop-color:#5CB4C7" - id="stop3498" /><stop - offset="0.9176" - style="stop-color:#379FB2" - id="stop3500" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3502" /></linearGradient><path - d="m 108.172,176.496 c -24.74,26.969 -36.709,25.414 -37.406,25.299 -0.967,-0.162 -2.927,-1.459 -2.927,-1.459 L 37.578,181.041 C 50.32,178.332 66,163.186 82.504,143.922 l 25.668,32.574 z" - id="path3504" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_9_)" /><linearGradient - id="SVGID_10_" - gradientUnits="userSpaceOnUse" - x1="-38.569801" - y1="990.49799" - x2="5.3000002" - y2="951.21918" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#057B8F" - id="stop3507" /><stop - offset="0.0822" - style="stop-color:#038DA1" - id="stop3509" /><stop - offset="0.1808" - style="stop-color:#029AB0" - id="stop3511" /><stop - offset="0.3007" - style="stop-color:#01A2B8" - id="stop3513" /><stop - offset="0.5" - style="stop-color:#01A4BB" - id="stop3515" /><stop - offset="0.6993" - style="stop-color:#01A2B8" - id="stop3517" /><stop - offset="0.8192" - style="stop-color:#029AB0" - id="stop3519" /><stop - offset="0.9178" - style="stop-color:#038DA1" - id="stop3521" /><stop - offset="1" - style="stop-color:#057B8F" - id="stop3523" /></linearGradient><path - d="m 109.192,177.518 c -24.74,26.967 -36.708,25.412 -37.404,25.297 -0.969,-0.162 -2.928,-1.459 -2.928,-1.459 L 37.579,181.044 c 12.742,-2.709 29.441,-16.834 45.945,-36.1 l 25.668,32.574 z" - id="path3525" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_10_)" /><linearGradient - id="SVGID_11_" - gradientUnits="userSpaceOnUse" - x1="-42.494099" - y1="818.57233" - x2="59.365002" - y2="988.33752" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#057B8F" - id="stop3528" /><stop - offset="0.0176" - style="stop-color:#0A8093" - id="stop3530" /><stop - offset="0.1407" - style="stop-color:#279AAD" - id="stop3532" /><stop - offset="0.2631" - style="stop-color:#3BAEBF" - id="stop3534" /><stop - offset="0.3837" - style="stop-color:#48B9CA" - id="stop3536" /><stop - offset="0.5" - style="stop-color:#4CBDCE" - id="stop3538" /><stop - offset="0.6163" - style="stop-color:#48B9CA" - id="stop3540" /><stop - offset="0.7369" - style="stop-color:#3BAEBF" - id="stop3542" /><stop - offset="0.8593" - style="stop-color:#279AAD" - id="stop3544" /><stop - offset="0.9824" - style="stop-color:#0A8093" - id="stop3546" /><stop - offset="1" - style="stop-color:#057B8F" - id="stop3548" /></linearGradient><path - d="M 43,72.677 C 32.01,44.38 37.481,35.419 37.844,34.87 c 0.541,-0.818 2.524,-2.08 2.524,-2.08 L 70.629,13.495 c -2.627,12.354 4.059,31.447 14.324,53.541 L 43,72.677 Z" - id="path3550" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_11_)" /><linearGradient - id="SVGID_12_" - gradientUnits="userSpaceOnUse" - x1="67.688499" - y1="987.3125" - x2="2.1900001" - y2="904.81427" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#057B8F" - id="stop3553" /><stop - offset="0.0257" - style="stop-color:#0A8093" - id="stop3555" /><stop - offset="0.2053" - style="stop-color:#279AAD" - id="stop3557" /><stop - offset="0.384" - style="stop-color:#3BAEBF" - id="stop3559" /><stop - offset="0.5599" - style="stop-color:#48B9CA" - id="stop3561" /><stop - offset="0.7296" - style="stop-color:#4CBDCE" - id="stop3563" /><stop - offset="0.7925" - style="stop-color:#48B9CA" - id="stop3565" /><stop - offset="0.8577" - style="stop-color:#3BAEBF" - id="stop3567" /><stop - offset="0.9239" - style="stop-color:#279AAD" - id="stop3569" /><stop - offset="0.9905" - style="stop-color:#0A8093" - id="stop3571" /><stop - offset="1" - style="stop-color:#057B8F" - id="stop3573" /></linearGradient><path - d="m 106.755,106.365 c -15.667,0.17 -31.37,1.221 -45.417,3.326 0.451,0.944 7.535,12.603 12.601,20.399 48.579,74.806 71.339,71.863 72.307,71.701 0.968,-0.16 2.928,-1.457 2.928,-1.457 l 30.262,-19.293 c -20.617,-4.381 -49.277,-37.979 -72.681,-74.676 z" - id="path3575" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_12_)" /><linearGradient - id="SVGID_13_" - gradientUnits="userSpaceOnUse" - x1="-26.9561" - y1="860.16498" - x2="-39.709" - y2="814.25452" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#057B8F" - id="stop3578" /><stop - offset="0.0822" - style="stop-color:#038DA1" - id="stop3580" /><stop - offset="0.1808" - style="stop-color:#029AB0" - id="stop3582" /><stop - offset="0.3007" - style="stop-color:#01A2B8" - id="stop3584" /><stop - offset="0.5" - style="stop-color:#01A4BB" - id="stop3586" /><stop - offset="0.6993" - style="stop-color:#01A2B8" - id="stop3588" /><stop - offset="0.8192" - style="stop-color:#029AB0" - id="stop3590" /><stop - offset="0.9178" - style="stop-color:#038DA1" - id="stop3592" /><stop - offset="1" - style="stop-color:#057B8F" - id="stop3594" /></linearGradient><path - d="M 41.981,73.699 C 30.991,45.4 36.462,36.439 36.824,35.89 c 0.542,-0.816 2.524,-2.08 2.524,-2.08 L 70.629,13.496 c -2.627,12.354 3.038,32.469 13.303,54.561 l -41.951,5.642 z" - id="path3596" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_13_)" /><linearGradient - id="SVGID_14_" - gradientUnits="userSpaceOnUse" - x1="117.4731" - y1="891.12598" - x2="-81.228897" - y2="891.12598" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3599" /><stop - offset="0.0128" - style="stop-color:#118B9E" - id="stop3601" /><stop - offset="0.1121" - style="stop-color:#36A5BA" - id="stop3603" /><stop - offset="0.2115" - style="stop-color:#53BAD0" - id="stop3605" /><stop - offset="0.3099" - style="stop-color:#67C8E0" - id="stop3607" /><stop - offset="0.4066" - style="stop-color:#74D1E9" - id="stop3609" /><stop - offset="0.5" - style="stop-color:#78D4EC" - id="stop3611" /><stop - offset="0.5934" - style="stop-color:#74D1E9" - id="stop3613" /><stop - offset="0.6901" - style="stop-color:#67C8E0" - id="stop3615" /><stop - offset="0.7885" - style="stop-color:#53BAD0" - id="stop3617" /><stop - offset="0.8879" - style="stop-color:#36A5BA" - id="stop3619" /><stop - offset="0.9872" - style="stop-color:#118B9E" - id="stop3621" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3623" /></linearGradient><path - d="m 156.279,110.549 c 23.614,3.406 43.153,8.193 52.116,17.154 l 0,-35.926 c 0,0 0.02,-2.35 -0.372,-3.25 -0.259,-0.594 -4.659,-9.783 -33.169,-15.98 l -18.575,38.002 z" - id="path3625" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_14_)" /><linearGradient - id="SVGID_15_" - gradientUnits="userSpaceOnUse" - x1="60.516602" - y1="888.22461" - x2="117.3075" - y2="891.28528" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#096F80" - id="stop3628" /><stop - offset="0.0061" - style="stop-color:#097181" - id="stop3630" /><stop - offset="0.0912" - style="stop-color:#0B8395" - id="stop3632" /><stop - offset="0.1876" - style="stop-color:#0C8FA4" - id="stop3634" /><stop - offset="0.3049" - style="stop-color:#0D97AC" - id="stop3636" /><stop - offset="0.5" - style="stop-color:#0D99AF" - id="stop3638" /><stop - offset="0.6951" - style="stop-color:#0D97AC" - id="stop3640" /><stop - offset="0.8124" - style="stop-color:#0C8FA4" - id="stop3642" /><stop - offset="0.9088" - style="stop-color:#0B8395" - id="stop3644" /><stop - offset="0.9939" - style="stop-color:#097181" - id="stop3646" /><stop - offset="1" - style="stop-color:#096F80" - id="stop3648" /></linearGradient><path - d="m 156.279,109.178 c 23.614,3.406 43.153,9.564 52.116,18.525 l 0,-37.297 c 0,0 0.02,-2.35 -0.372,-3.25 -0.259,-0.594 -4.659,-9.783 -33.169,-15.98 l -18.575,38.002 z" - id="path3650" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_15_)" /><linearGradient - id="SVGID_16_" - gradientUnits="userSpaceOnUse" - x1="-81.379898" - y1="888.32031" - x2="21.0851" - y2="888.32031" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3653" /><stop - offset="0.0225" - style="stop-color:#118B9E" - id="stop3655" /><stop - offset="0.1971" - style="stop-color:#36A5BA" - id="stop3657" /><stop - offset="0.3718" - style="stop-color:#53BAD0" - id="stop3659" /><stop - offset="0.5447" - style="stop-color:#67C8E0" - id="stop3661" /><stop - offset="0.7147" - style="stop-color:#74D1E9" - id="stop3663" /><stop - offset="0.8788" - style="stop-color:#78D4EC" - id="stop3665" /><stop - offset="0.9015" - style="stop-color:#74D1E9" - id="stop3667" /><stop - offset="0.9249" - style="stop-color:#67C8E0" - id="stop3669" /><stop - offset="0.9487" - style="stop-color:#53BAD0" - id="stop3671" /><stop - offset="0.9728" - style="stop-color:#36A5BA" - id="stop3673" /><stop - offset="0.9969" - style="stop-color:#118B9E" - id="stop3675" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3677" /></linearGradient><path - d="m 134.862,67.619 c -5.318,-0.258 -16.663,-0.682 -26.354,-0.682 -89.197,0 -99.124,20.689 -99.517,21.59 -0.391,0.9 -0.371,3.25 -0.371,3.25 l 0,35.926 c 8.678,-8.678 27.775,-13.406 50.98,-16.885 14.048,-2.105 29.596,-3.254 45.263,-3.424 2.771,-0.029 5.546,-0.029 8.315,0 0,0 27.002,-39.518 21.684,-39.775 z" - id="path3679" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_16_)" /><linearGradient - id="SVGID_17_" - gradientUnits="userSpaceOnUse" - x1="-9.3241997" - y1="861.80267" - x2="-47.832901" - y2="856.38751" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3682" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3684" /></linearGradient><path - enable-background="new " - d="M 83.947,64.845 C 65.303,65.79 51.887,67.163 40.67,70.199 l 0.536,1.471 c 1.021,-0.166 2.295,-0.514 3.332,-0.67 12.669,-1.9 26.317,-3.637 40.416,-3.963 l -1.007,-2.192 z" - id="path3686" - inkscape:connector-curvature="0" - style="opacity:0.2;fill:url(#SVGID_17_)" /><linearGradient - id="SVGID_18_" - gradientUnits="userSpaceOnUse" - x1="29.8599" - y1="894.74017" - x2="-78.9636" - y2="879.43689" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3689" /><stop - offset="0.0382" - style="stop-color:#1694A7" - id="stop3691" /><stop - offset="0.1177" - style="stop-color:#26A8BA" - id="stop3693" /><stop - offset="0.2081" - style="stop-color:#32B6C8" - id="stop3695" /><stop - offset="0.3177" - style="stop-color:#39BED1" - id="stop3697" /><stop - offset="0.5" - style="stop-color:#3BC1D3" - id="stop3699" /><stop - offset="0.6823" - style="stop-color:#39BED1" - id="stop3701" /><stop - offset="0.7919" - style="stop-color:#32B6C8" - id="stop3703" /><stop - offset="0.8823" - style="stop-color:#26A8BA" - id="stop3705" /><stop - offset="0.9618" - style="stop-color:#1694A7" - id="stop3707" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3709" /></linearGradient><path - d="m 134.862,66.248 c -5.318,-0.258 -16.663,-0.682 -26.354,-0.682 -89.197,0 -99.124,20.689 -99.517,21.59 -0.391,0.9 -0.371,3.25 -0.371,3.25 l 0,37.297 c 8.678,-8.678 27.775,-14.775 50.98,-18.256 14.048,-2.106 29.596,-3.254 45.263,-3.424 2.771,-0.029 5.546,-0.029 8.315,0.002 0,0 27.002,-39.52 21.684,-39.777 z" - id="path3711" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_18_)" /><linearGradient - id="SVGID_19_" - gradientUnits="userSpaceOnUse" - x1="80.297401" - y1="819.39648" - x2="28.5478" - y2="908.52081" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3714" /><stop - offset="0.1238" - style="stop-color:#379FB2" - id="stop3716" /><stop - offset="0.2516" - style="stop-color:#5CB4C7" - id="stop3718" /><stop - offset="0.3797" - style="stop-color:#79C5D7" - id="stop3720" /><stop - offset="0.5064" - style="stop-color:#8DD1E3" - id="stop3722" /><stop - offset="0.631" - style="stop-color:#9AD8EA" - id="stop3724" /><stop - offset="0.7513" - style="stop-color:#9EDAEC" - id="stop3726" /><stop - offset="0.7911" - style="stop-color:#9AD8EA" - id="stop3728" /><stop - offset="0.8324" - style="stop-color:#8DD1E3" - id="stop3730" /><stop - offset="0.8743" - style="stop-color:#79C5D7" - id="stop3732" /><stop - offset="0.9167" - style="stop-color:#5CB4C7" - id="stop3734" /><stop - offset="0.959" - style="stop-color:#379FB2" - id="stop3736" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3738" /></linearGradient><path - d="m 108.502,109.08 c 24.314,-36.528 42.304,-74.786 37.882,-95.584 l 30.262,19.293 c 0,0 1.98,1.264 2.521,2.082 0.542,0.818 12.487,20.414 -36.094,95.221 -3.575,5.504 -6.885,11.99 -8.103,12.592 -8.289,-8.106 -26.468,-33.604 -26.468,-33.604 z" - id="path3740" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_19_)" /><linearGradient - id="SVGID_20_" - gradientUnits="userSpaceOnUse" - x1="86.8013" - y1="864.22852" - x2="67.959297" - y2="899.58722" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3743" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3745" /></linearGradient><path - enable-background="new " - d="m 175.734,71.333 c -5.28,12.918 -11.025,25.32 -19.455,39.147 l 2.229,0.424 c 9.653,-16.59 15.203,-28.776 18.983,-39.131 l -1.757,-0.44 z" - id="path3747" - inkscape:connector-curvature="0" - style="opacity:0.25;fill:url(#SVGID_20_)" /><linearGradient - id="SVGID_21_" - gradientUnits="userSpaceOnUse" - x1="78.599602" - y1="821.35352" - x2="26.685301" - y2="918.77582" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3750" /><stop - offset="0.0382" - style="stop-color:#1694A7" - id="stop3752" /><stop - offset="0.1177" - style="stop-color:#26A8BA" - id="stop3754" /><stop - offset="0.2081" - style="stop-color:#32B6C8" - id="stop3756" /><stop - offset="0.3177" - style="stop-color:#39BED1" - id="stop3758" /><stop - offset="0.5" - style="stop-color:#3BC1D3" - id="stop3760" /><stop - offset="0.6823" - style="stop-color:#39BED1" - id="stop3762" /><stop - offset="0.7919" - style="stop-color:#32B6C8" - id="stop3764" /><stop - offset="0.8823" - style="stop-color:#26A8BA" - id="stop3766" /><stop - offset="0.9618" - style="stop-color:#1694A7" - id="stop3768" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3770" /></linearGradient><path - d="M 144.094,131.111 C 192.676,56.304 180.73,36.71 180.188,35.89 c -0.541,-0.816 -2.521,-2.08 -2.521,-2.08 L 146.385,13.496 c 4.396,20.678 -12.935,60.498 -37.042,96.872 8.118,12.356 16.496,24.437 25.324,34.678 1.759,-1.845 6.167,-8.917 9.427,-13.935 z" - id="path3772" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_21_)" /><linearGradient - id="SVGID_22_" - gradientUnits="userSpaceOnUse" - x1="82.628899" - y1="823.54883" - x2="30.2568" - y2="921.83008" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B879A" - id="stop3775" /><stop - offset="0.0382" - style="stop-color:#1694A7" - id="stop3777" /><stop - offset="0.1177" - style="stop-color:#26A8BA" - id="stop3779" /><stop - offset="0.2081" - style="stop-color:#32B6C8" - id="stop3781" /><stop - offset="0.3177" - style="stop-color:#39BED1" - id="stop3783" /><stop - offset="0.5" - style="stop-color:#3BC1D3" - id="stop3785" /><stop - offset="0.6823" - style="stop-color:#39BED1" - id="stop3787" /><stop - offset="0.7919" - style="stop-color:#32B6C8" - id="stop3789" /><stop - offset="0.8823" - style="stop-color:#26A8BA" - id="stop3791" /><stop - offset="0.9618" - style="stop-color:#1694A7" - id="stop3793" /><stop - offset="1" - style="stop-color:#0B879A" - id="stop3795" /></linearGradient><path - d="m 133.788,146.396 c 0.107,-0.057 0.26,-0.195 0.43,-0.375 -8.828,-10.242 -17.602,-22.018 -25.719,-34.373 -0.14,0.209 -0.276,0.422 -0.416,0.633 0,0 16.919,26.723 25.705,34.115 z" - id="path3797" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_22_)" /><linearGradient - id="SVGID_23_" - gradientUnits="userSpaceOnUse" - x1="-1.8975" - y1="935.29688" - x2="11.5351" - y2="971.68781" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#0B5463" - id="stop3800" /><stop - offset="1" - style="stop-color:#0B5463" - id="stop3802" /></linearGradient><path - enable-background="new " - d="m 108.506,178.262 c -0.398,-0.457 -18.246,-21.541 -26.364,-33.9 l -1.325,1.512 c 10.186,14.547 19.059,25.396 26.666,33.479 l 1.023,-1.091 z" - id="path3804" - inkscape:connector-curvature="0" - style="opacity:0.2;fill:url(#SVGID_23_)" /><linearGradient - id="SVGID_24_" - gradientUnits="userSpaceOnUse" - x1="23.6108" - y1="897.86908" - x2="39.4245" - y2="996.32251" - gradientTransform="translate(90,-791)"><stop - offset="0" - style="stop-color:#096F80" - id="stop3807" /><stop - offset="0.0244" - style="stop-color:#107B8C" - id="stop3809" /><stop - offset="0.0888" - style="stop-color:#2095A6" - id="stop3811" /><stop - offset="0.1599" - style="stop-color:#2CA8BA" - id="stop3813" /><stop - offset="0.2403" - style="stop-color:#34B6C8" - id="stop3815" /><stop - offset="0.3378" - style="stop-color:#39BFD0" - id="stop3817" /><stop - offset="0.5" - style="stop-color:#3BC1D3" - id="stop3819" /><stop - offset="0.6718" - style="stop-color:#39BED1" - id="stop3821" /><stop - offset="0.7751" - style="stop-color:#33B6C8" - id="stop3823" /><stop - offset="0.8603" - style="stop-color:#28A8BA" - id="stop3825" /><stop - offset="0.9351" - style="stop-color:#1894A7" - id="stop3827" /><stop - offset="1" - style="stop-color:#057B8F" - id="stop3829" /></linearGradient><path - d="m 134.217,146.021 c -8.828,-10.242 -17.602,-22.018 -25.719,-34.373 -0.929,-1.416 -1.853,-2.834 -2.763,-4.264 -15.667,0.17 -31.37,1.221 -45.418,3.325 0.451,0.947 7.536,12.603 12.601,20.399 48.58,74.808 71.339,71.865 72.308,71.703 0.968,-0.162 2.927,-1.459 2.927,-1.459 l 31.282,-20.312 c -12.802,-2.72 -29.097,-16.317 -45.218,-35.019 z" - id="path3831" - inkscape:connector-curvature="0" - style="fill:url(#SVGID_24_)" /></g></g></svg> \ No newline at end of file diff --git a/Assets/message_notification_sound.wav b/Assets/message_notification_sound.wav deleted file mode 100644 index e2e531157d773e65ad6f6529d007aa67fbfb4fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44716 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 M2VI+!!Vtp%0K=X9DF6Tf diff --git a/Assets/qrCodeIcon.png b/Assets/qrCodeIcon.png deleted file mode 100644 index da203cfa26e6ddf03a6720bfe97613af8e5d3ceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0y~yU=U|uU=ZVAV_;y=E@Nk9U|?WN@^*J&0E3^-yXzSk z7&r?&B8wRqxP?KOkzv*x2?hoR_7YEDSM~>7BD}mzGRjXY85kI3GeaUuobz*YQ}ar| z`kjkX6H8K46v{J8G8EiBeFIYTQrQ_87}`Bu978NlzYTHZJD|X^nLGZ&|Npc56U2SZ z9xoBF)rstPYV^<y37yQy@Z!G2yqRCb(kqO-<$TYWWbRSUJrZBT@lmIL>dVCzOK&#F z?B}-F-+0q8M`(40{Pd2(jbVz@=BS;0Kc{$A@$$l{ZmWGi^>MS7F7$h1RT>#LXDe5v i?(q$UmHaMcQWscVrup*iVLW6Ha;>pUXO@geCxy7hEU+ diff --git a/Assets/qrCodeIconBlack.png b/Assets/qrCodeIconBlack.png deleted file mode 100644 index d8afae3364dbb3ac6166188d3c8c81ca4454874c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1340 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rdh4mJh`2J2k+UknTkY)RhkE(}i?J~I3aDd@Ck zU|`@Z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=if@bL1Ph`6Qn)iE$I$YzE_lsM<-=BDPA zFo1w_QEFmIYKlU6W=V#EyQgnJie4%^0|UzfPZ!4!3qi)IELp!n>L|vHP!s+`X>1fo z4Iz23K3s}m;xHPl7>NLjvmgn8m|#H=gMono<N_!YPGOa2f=g4tpo$^r-ofStWH(}! zM>Yi6zsMS4Y(nxdb>z`7=i##jrUs`C$lk%G7};=SHq1b<9%Ms6637a{3P6HL7+LHU zk~o+N(+r|v7$gB=gJ=+jX@ZHtXa;i939@TIhBKgh2SWi^6@(CFU|;~*{u;tXkT6Xk iNrWgW3#JBDl-j&m43cjp*i#;X%=L8jb6Mw<&;$TD96?e5 diff --git a/Assets/qrCodeIconWhite.png b/Assets/qrCodeIconWhite.png deleted file mode 100644 index 022c354896bd7f66c8fdac9666c17a2c38bac651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1340 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rdh4mJh`2J2k+UknTkY)RhkE(}i?J~I3aDd@Ck zU|`@Z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=if@bK~(n;3ap6f!U{$YzE_lsM<-=BDPA zFo1w_QEFmIYKlU6W=V#EyQgnJie4%^0|UzfPZ!4!3qi)IELp!n>L|vHAQS%o|NkFE zW5bM$jEscj!TNA1f{DXuuwo<vCeDH+#sCupiGf@IqLDE!c_w5<<g%$^2#R;Gc>&pV zxa8r6Ao~|tBaBT*9;S|Lny7R_$aJ`Ou=y9+3&?Dkp)fsgLqHP93SkOB;xLRX_W%F? zS1@r>qWCpP6Ou)uAU+6_VhBh*1F~zt0t^fcDBi)Q0H%<Efk71N3b2ci#2Kg(JIDr- Y&2BgH{4YFBxesK3r>mdKI;Vst0L8^|NdN!< diff --git a/Assets/ringtone_notify.wav b/Assets/ringtone_notify.wav new file mode 100644 index 0000000000000000000000000000000000000000..af3dcaf5b974525d8cd6fa1e81398d0293fc8aa4 GIT binary patch literal 165952 zcmWIYbaS)lU}6Y&40BD(Em06)U|?WmU}A7t!@wZ0k%@tYL4YA8u_SR#I}-yd12e-3 zh7^YN>>4cgG7AMO)GZV@3G_-Y;7R5S5nU#5jq4=;T$yO$8B!wBN@CB&8-+dyKV$vD zy`Fsy+g=`KE)SMSjtT7NS<Qu&cz^P{3LciM5GiFl&+oyzp0i(ATELlIi+38gJ?BHI zyF%~(Y~*I)NoMgCOyX0KJs}n-dPKrUpit<Fn3=GkWR3V%!M`GL+%9}hLhXDWyjA>h zEGsywxxCoTM0@!6^D7CN@NDIsBs_z^LsU~_A8QitT;6)lZgDH2<HC-jA9#2Lez2V2 zVB);P)^l;;TipZCPoBJ!bw28i*wdR=*FALk%J+=_W7_9^e?-3veP{g@^gZT#-0!NN zdp=lw)BLgaOTt^`&*{t^Km1;|e!tCT`qPp58;jX*`~UoZcKqJ>`_pf;Uwpr<euVv8 z^jYECgZ~eHGQ6GrZRbD1Z(2W@{``Lz^yLTRoFDUk#Qwefw&=6rAFHp&-x_>9@@evi zQy)7&Y5!jJ&E&_KpN$`;eDVD)@lE1w<`;oizh1NdJ^Z=$74w&x*Rijke`)-%^nL3m zn-?K(%s&gfTgAlr`-?)A;8DXV8n?6xba%_nQI?lVlWr4E6}v0yC-O_;x7cEdFo{)S zrs6R?dV&U=Q@DzmjoG+37PBs5+{@C&Ue8j?8OdQRFoUOoN1X3E=Vz{Y>=QX^xZ^oJ z*>-YV<Vxh2$JN30lw~@*I_pOkcYZdmUSUzeAfahOU-$wAG=%I0I)oU6X7M=+aC1-P zQQ(Q?{>Tx|70CLJt&-yin>3#gH#ct(FBgw5k0gIEuQ^{V-&2lg?h@`FoT`G{e0Bl} z0)kx6c{Z``V-Nqq{=ete{g>NL|Gcbp)8n%ABj<a|9({Ne_qy`=k<Sm`^M0T8)%v^t zcZToo-)p|T{-*V%?dyV1i$3>#x$^nUxBFkUzpH&e^>^B@lMKH9z5Y!2xAE81-x<G_ z{8Ib*{O6%>(m%Mr3w;m%9`(KC>!fdLKYo1k`~Kwnim%JRDgNU7G2{F1AB#R;{@V1# z<BQFw`JX?3xc%|V=N+FqzrXp~{LS?Ht}o}lF8cEH%a-@~pW@%&cpv_G@kjIby&oIj zZg|J}amM=}@4P=;d}H^H;mf8E8LUVD?2&dBsMP$d$f{nat|#|NakF^7l$l7EXtT&~ z;VLmv(b-~(Vj{u?B9D1C@z=Be<rHGoWs753z;c?Ifn@^g43;j=H1<fI{aoGL+qkcB zFmiEoxN|6Ryk}p`zL&j~<2Abyhb~7d>q52(Z1-5Zc@jBy2}JQl3fKr(@K^FP3xx7> z3vB0);?3v#&GnZ14yP5@cJ}!kKUsIMePO@GX2hMud4$`Y`wVvv_X!?Bp6lEqJS#Z6 zxc+k~b1Coz@l58O!5hYD&E3XymG#kQkKYIG9ela&^81@RZ!lcXcwlk&{S({APOm#& z*nARwfAy>Vm(AZwzg2!a^lkB1hi|N3*uNTmzWLef%a6}*zWRT4_~HEB`cK#|(|_K7 z<NpNyE&J8_d+|@TUnxH{elmT(`F+_p=I?3WHh#1E*7WWEw;kVhe*5w5+_#V4K7a50 ze)rq7?-Rc~{#yIl<%`cJ#n1OXMt!>bS?06wH~p{d->kkp`m*Y)<7clghd;P}O8IdA zgY`$TkEh>X_;B^zg7*vG_q_l0Zti=n_o?rLzWw=hidE_#uf#&WB4tC_BIV;s0<z2G zzl*g<UJ_;$ogo}7yj<jvaD<4Yh>>89kO)sSUj}<W=NXp2tlOBiS#~q8WKLu)XUXF@ z&eq1|#c9Z;!&Sqf$=S?)lii%%n%$9If<2Gjl>HVPGy8g06*eJu7dA8Q?;JDu*6_&k zPv=|Cx14VuUjv^%UpQY0k2P;Pmk;*|juuWn_B-slZ1dO}*w3+T;_Tr#$|cWbz<rym zlv|T~H`hn5lbljqOSwe2B6%XX&vU=xX687>X~ZDGlKZLdr^ut-uO8koxL0?p{8sw| zvwQr{9z1^hy8PwLk4o<yzV7{8{7vp#;<pXon!cKSi}_;n_1fpuFO$ABelh#D?CZK8 zE50xP9sEn?Z`~jJKWG1J{x$P=+fUD5*+0~O#($UmarT?v_X*!#ew*;^%(u(m-h6xe zP3*hdchB#uzEAo7{#)4hfUlb0{(WBmh3oU=&+MP2Kc{>-@%i~ztFQ9k#J*{KJ@B>R zbIF&BAFqG1|G49$*~k2kH6H{%K6;<=;re^o4@ch%eaQQG^TUE4CSNVs(*Bo<cJao_ z-;<oE5G2nbvqtu!*fWV^!dFFfgaw3qh2IH16}l=UE+8hjmwP_%a`t>q23B>pN6elq zj4bDv`&j3(ykPHTo5I=1(aagdnaZ(+qmX?wy9hfUy9oPjHV*bXZ0&5lZ0c;PY`yG@ z*j97h=1Ac^$nC>7jn{~emydz(BX1(_6y8VN?L7Qkues7VbU8n>En%-<Tg;Zhew|H- zQ<B4ktC;fumowK{u68b8E>Et9oEJGOxn6T7a<AZ;%XNtBC|fhfxqsW3LO*T$@$Cug zn;&=DAO5>D|L%f^kM1izzx!mx8_!p(KbF3i`nu?I*Efc5)4v`1_Tp>qH~z27zV80Q z`ZfBi($}}&48EEC6#g;$cjT|Le-!?t{;B<=^n3H~_dn}?UHg&w^Ue2yAHm<Zei!)e z_nq&%_IJDQPTzCCr+wf3ea`oD-w%A({hsyx(bw#6i@)f8z4cl9%csxxK7aU9{zc&1 zysy6BqQA9#mH8(2h2!h)PisC4ep>oz$48Y<HXk>C-1))$W8a6TA0B=9@gezh>Zi_M z3g64vsu?PUxAN%8M2d^bwaUDcdLq40%uM3A@LG|(LKlVh3i%3M7Q86v%r7TU%+1cb zhdqT;jy00)D|0uC2#X*~F6&8_F!n6A?HqsEZ*c745avka@L`|B{*aA<{T$m~wnc0U z*#g<(*h1K>**37hU^C)6#Zk$l%iYO)hi4;iJ#Q*+HSbOyX5M6OexAdelen}wzH)qG zt7o6awuUW`{UY0Jj^pebIX`h&aqZxA;`+z=mh%?pUe3v!s$4rbySU`I$~iA^wy?&r zANo6=asH>oA2!c}-s(T_c@lCz=fSl{#~wa-&iYL7t;p*+AMd@t{AKIs_;0M=mVJBh zP50Z5Z&SWXeoOzl?CamJr@xkcKl!cUXTy)`-xa@l{xJOU`BU^K;`ig<+Q07pQvG@U zr{|9sKQ@22`cd@#>i3lITfTRG-~D~p_xs;JerNpg<U7|7-|s8Gn|?d?P3`N>uLWPO zf0_Pe(HH-(a$j}6{rwvAZNj%rUt_-2eJT7J`Pt{ooKF#-4L|MrbmF7er?`)gK6-sz z{PF9@uOAt{p8Wjy_u3!zY)*{31V3`ONIHq0lvb45E@>oXB$g;XLpWX}L#R&Zo!~mb zs{(HYO8M;gmAUJ94zPQ2MzMCVX|h~qabgK&NoW1U@|De%O@X6_-Je6A;{y8wb`^Ge z_5*CI*e0_ju%)sYv01Tku@$n3v+ZWT$996Vo#Oy^57%WLVIB$I(>#}XF7wFp#PGc2 zD&o%LRN(r`zJ%j8TQvJ5w&iT{?1$M*Il9@EIIB3;aVm4J;q>Or;k4oO<y7SC;<VtL z!kNNp%CUpPgoT&w!JkTo*Ps4;7knA=Zug_iXB7{3Khl0u{&@2XspqwCm%ZNpQRc(0 zFOxrqe7pDcz_%mca=xwj_W!Hdw|igje69J$`0e!ff8XZ*ocP1<chE1pKdXML|B?F> z`}^qcm|u^6<^6p6bJ-7`pAtU`e_Z;`{o~;GSKn`c|Ms2#hvW~tAF4lOe@OqB^nLsH z8Q)%iTlw|pSJAI7UyZ(se!cOv;A`7AiEkUf^?p<MmibNM>zc1ZU#@=%|E&Gx-lyrG z8$Stt*7>yilkumHPnMrqKev1n`KtK$-Os6Prx`N^oVZiOTZC^&%1Lxctd!U;+AkI$ z{7;xsNKMF8P*9LTKtbRvZyn!xE*74%>{^_Ctn1j)SwvY2SSGWiu!^&8Wz%Qdz;4O@ zf&C==B=%YCf7vA2YuM(oS+IGtF|$dteP(4~i)Pbj>t_GR7Q~su!OX4A#mCdfox<bK zqsEiTQ^oy-JCaL~`ya=1&IRnP9Lw3_*fZFUv)yL9!nT(^gM9{vIEMu11P(RMLmcd! zn>oI4tmY8r+|O~AV=IR_`&o89W)@c8KlA^`d_Mnu=PQHvzn*BlXnDN)$)u;8Pba?= zeev_H?VDF0qd)BZvgmWfw+mmde>?nb`M1m8BEQvr3;yQz?Zvm+Z*o5pzVG^Z>4(nm zxL?12Px$@k_y6AszqkKx|Mlb7nxDMCKL2q0nek)U55XUSKYn~y|H1pi@Q2NhpdZmc zGJjb9i1@MP`}^;YzS(`}|CaG>^4HT}mwsLGRq5NeudBY*e>?c?{5P*}tG=au<^R_3 z#qaCM&l|q@f7br;`qP2WYd;lzzVj*mv-%glFY~_pf4lvc=XVO5E0ZAqL9P^05uq32 zxni2)?&6O{PKoXonkO72cttQkV6nhIzE=LHJWqJ_xMp$}vvYA~upVIZXK`bVU^&bp z&T7f(#%97M%PzrQ$llAY!Ct|>jg5!hj%^;>SJn`=v#hFYH(90F0@>WyGTAxV|8Tf) zRB&zP%;$c}b(DKPcOUnD?uT5N+?P40a82T<<BVjt<7i?tWw&8l&bFLwGg}h7I=ceL zM)qkOY8=}*A~@!A#Bfw|L~?|2BygN&*X8)m%E$hO(S)VxH|PI?&u_l(eXa3f?z4w4 zHJ{FU_UhT@XEm>EUrv1Y^Nq`=Lmz&9x&FE3+oP}Y-(P)W`!4qV?zgAkK7QN&t^WJp zZ?k@^{{H{xg&(@Vm4AKsZT9=i@A<!TewY59@$1^J6F)_NN&k%gIsM1UAC5oLeyIO& z`{D4z`$y`Jq91iXx_>17$p7)?JKqoe?`hwwzODEs{!QVV^tb<CtG_vXd-iR`x9{Ix zerx`A^xO8Yj^EyVnfBG=%l|J|K39BM{aN(OvCo%3JAAqI`PA2KUjlwge%JZG;`b@G zK&D*2XPo>ZodVTjlSCxNHj6rmtQPSVx+HW}KwoeP|4V*nz7>2{Jp8;{IbU!&v3GOC zvX-%>u*k6bvutExVHIHg%X)|P5Zg31N%p^NZ`i)Gb+RpH(_nLFyU+TEbvx?~);p}% zStHrx*y7nQu^r?1%r3-b!TF9Wkjs*rk(-~}m^*{(CRYikB3B596sIOTBS$J57rQ=N zGg~cN1Dh)Q6}FS?p6u2f>)G8op0G=Ed||)A{*k?({UiG&wkhnlSp3<(F=R6{|L*>G z^fTj+4{ta=`o9Q$ee0Rk3yT+wFXCRyz7lz#@wVmDlMjMlk9}VF?fO^y@4vqVevkQX z@;&H#)OYXiPruLj{`iOE51C&9KMj7@|GM_O`1iBl*MArN-uHXQFN@z_f42Pc_<8Q< z$scAvtA1Shk@REXkIEm*eysYj>&J;7r+#euvEqmO51${KzVG}l@LlNpv2QcJo&Hw+ zP3HTWZyDd2zGr<m{Lc1W;(O4yt>316HTd@D%e=2Mzes=0`Lg%R#4n9s^uDh6^61<8 zuK~X#ejNK>{bv>145nJ%JkHrdRs3wCF~TgOTSO)ai;3J4oGO$lz$d7}zlMJ&uOHtT z?s+`5oE=;)?BN`(tZ8gBS)^GzSr)Pgu|8*c&pL^99-Ao}2m53;X7*`p>)7JhBH4J^ zq}YzL{$yRjs?N5Nbp_i$)^7H-Y->4ouy5mh$Wg-eh;t`b7gsmePOfj9X<V|LJ2|B| zPIJhzpI}dCd&H*17R8p%=Ee4et%R+D{Se!Ib}sg}>>lhF*}d84u}84`vHP%Ru-#${ zWvOB9WthXn`1|kQ{4c-1JG@)?k?U3Ao4yx~FXz3~ei`xR^Q+_U-@kqFN#SG6*Snu@ zeY^X${X5(DMc=Ex_kHjFzUBL@?`A)qei#1P`a||t%TJ!)&A%Fdr~EGYeek!)?=`<0 ze_8xK^|Sw%>CcxxkNk-E+5F@0kCGqffAst~@?+bNTR*P<xb$P&k5xa?e}w#a@cqp9 z=<inF1;5|@Cjb4yx4`eL-&?*1eXsxC_Fdt7)A#0Yw%;#*J@d`ytN*u0U+#WA_NDUc z`!60}SA6aNTK;|hx9h(|f4=+g_}7x{DN_uO9H)@r9KK><JE8r;>x7pIc?wGjvI=eG z?-5Ak)8hZcvxnD!TarhUQ;$oYU6*4nYYy9f7Aw~IEQeSmSwFMfW36VL!N$q<pDlsy zFIy(t4mKCIBsL~CIkuCmtZeI8P1*LcZe){Y>tNr_*2J-iy^`}dhb-4t&N!|hE<LUq zu0@=NT$ec-IiIrka<H*?v&XP)V^e1{VDn%TW!uhX&Zf`az}C)woNYe)Pqr?0UUpx0 zPWJ0;FW649hOw<;zR$wNz{B+L*ZRMoz8L+8eqa8n_VwPke_t}aKKiQrmEK$KH`X6k zzSIBQ|FP(+%9qFA*uS-YxBR~D`_AthzQ6f?>pRzv=pS)EWPh^%6!~@U=c8YTentJR z{vG}M=x_Gl>wj1Nvi*Ji=dxc8Kbd~r`%(OJ)(?rFlYe~pG4IFg9~Xc8`ElpR=N}h; zT=-G*qx^@^kAL51eQ*38`Q7+?#CNstwckU(FZe$1`?T+;zWaYa_Wi`S*6$|YRK9Qe zy6#)bSL<(qUmt#*^Y!r8;%^e)!hbk^U-Wy^&t!&`f2G*&Fs<Tl=XlBA$7?3^O<<l- zzR-R_51~u}TS0FAhy3Sw8~O5i<ap0>b#TAtIKnB){)BxEs~g)@7D?76Ed4B8tZP_S zu^O^^vF&7C%_hgTkIkN~olT3)hV3^i3)^|t&#Ze{rPyw=PGVDF^Jm}BX3H_1U4*lf zV>M?Q=O@l@oJTm7xm-E#bGC7~aBgRh=Xk|d%O1_PhE0dfh|QCYooz9jEE@-V1X~jO z47LpRV{BIJkJw(ZU1LjUo5yCy`i51BIf-TM|M`sHf3^H=`&#m&^Mm2%Z*OkAYj|z; zM)b|**E;XMzWMgS_x;k(Up}7u8u!KYyY{z7-#x#J|G4#C>xcA@upf~>F8$d1qxom# z&x~KPzhr+u`Ze))@$Y%R_xuk1J^%OPUrxWner^7B;-}KD)SrufD*g2O$^TR7r^HXO zpSC}Re)|4o`Dym^`j5{)I)8NiQ2L?tW6Sp^-;2Iq|DO5%$@j_M|9wC6{n_{5-{*e+ z{9WbyuJ1FyMSs`%_UYT>uN~iRd^P{3`px8<;P*w}e*AdzUHebauLTT3|DLcuWctn} z!101_3y+-OcmAb<HG=;HIt9=0FA-?sOXPRpW#)Uw-NzHd#m>EyBY^We+Z6U?tO9Je zSbnn1W2s_!&eF(|&H9YxGix-fH`^B0M7Ha!YHVj&AFwWFUB%kKI)$~I^%(0URx7p_ ztc>iHY&Y2**cWgpaTs#G<VfQz<h0|Q#(97vhLexuG>0cU2ghVKeRe^%8n!#EY;6Bn z@3OkFePZ3oCdc-NEtyS(y_@YV+gi3cY|Gf#*%H~#vdm#!!^FuF^*@F2-LICvzrWu7 zk@E5HXZd$5AGW^feyjMF;q8xiT<<DBs(kqJx$o2OuNS|Beed|j@?*(&?;ln_qJB*L z(f{MhkMBP`e=hy`=x4^SxxZw8d;f0#ed+hC-@Jd4et-MT`g_jr&R?>>C4SBNwdbeO zug0Gjeun*A@iXG*oS$hw=lv}F+5a=~XWCEIpCUhR{n+}W_ea2wgdbu*{C{x#2>YS^ zBjrcf59c4nKYo9Y_|g7d<p=Zk)8A)(OZ^`6?ccZXZ->5Z{dVBn!tbu%JAQWjnD*zw zuj34U|E98TWpd)GV1LfLlbc=O5Z_9H009kwCINB&)BF#3H}TEm$>t5@=HR))*~R6; z@rL6Zn=ktu)<>*QS+27zWr=0E#uCF~!McHEHmeltC)ONR4z>xbPg&bpSF$Ft7P8v2 zCbJr|cC)&%GP2EMUCyS&md}2UO_`&UeJzI*$9;~?90xh>a0GH}<k-sY!tsf1GP@t! zCAKrH#%!}$kFu_0ozD86bvCOH+cwrNwpXl+*?8GH*)-X-*`(NdS<kZuu<){4G0kG; z`!CJ-<5$z)(r?y3-9DZCV*6h4<L$R6-)X$lcz5jmuXjwJE`5mp^8b_HH}S9YzHj^H z@#D<*{vSm@7X3K=<LnQWpV~jWf1dp*|EulSv0ui&qkm8Sef9U+-+z8r{eJda?RVer zy}wj`hyGgdi|Lo+ucJSo{9O6-#LpE!cmCY^^YG7|KllAy{&VKff}hbpRet{daqq{h zA8UR@|Csi}>&N6D$v?V(O#D&)W8DvnAM1Wx{XXMI_V>^q9N(FKT>7@^`-5*4-#x!q zeE0nE{kz&PwV(WdgMWWynETJ2bsbY1CqMgDo?l##_|Ec9;1A+=<)6(T%g4oU$IHdX z#B+^jCs!+XD5ntDb@mAyb!=?xsjM4Vce5N|X=ia@*~((bBE(wDQpoy{We=+b>t)tl z)?KXGtc|SUtU;{Ctgft@tl6v{tXEiPv*xl%vnjA2U^~K|&Thx?lf8^1oFj>&h~q!I z4@Uv}9rojFmh8H0y=?nff3dc)PGId~O=dmBn#jt=R?6zbHiI>kZ7Zt*+bP!ltZP{X zSVLHkF?X}<W)x;V@^2Lb^Y5U)PrgO}6#VS<)$_y4k6+&%d$0Ol{e9hs%kR5C6@1+I zCI55hx2Uhjzu)>+{o~p9%ReUkc=zMe5A~leKkI(({VDh>?AO{~pMUxMF8{sg_x;~T ze*gGA<@bZ%p}!~m{_;!b_w-+Tf4Tk&{Uz{=_t&SN&wjr9`QYdOpC5nn{rdIu+s_X_ zcmCY?GyiAGPsN`+KcD`%^yAQvT|ajHIQ3)4k5@lt{`mhR^~c{I;y-Tx*z|qzkD%}V zKeWFy{;>Ui>ig>N558~xk@=(b*NUH^f6x8?%<%djGwUv<*BocqSa|Zee)CH4Zs(iI z*U$H!Z!d2(-)5dp-g53h9$PLZ?)x0GIGflFIULzev)QxGW}U;bk|m8rk)@M`gXI>B zBZ~>^Y?f@+*DSTHGOTf|@~q0NoUGqi-m^SqdBMWV%FCL?n#jt@c8_%>TQQp-I|uu2 z_6~Lij@#_N*gvsvW<SlY!5+^(o$VwW1DiJ6EY?M=@vJ_qNvyi8ovf;?XIPzBS=ka; zh1nWdpR-P2tzu1Q-OIwnn$N7uQp&iNY4*Qp29@6ifBn7}{k-sb<yX6pO`ra}Z~7ql z;p+RKk9i-=KR^3u^7Y#1x8Ih1Rs5my{rV5pANoJf{s{l6{<HIE=g&t!S$@U;n*8g> zFZJI&znA>}@|)q0`X8A;f`9n`-2Z*%cgydh-$uU~f4~2=<ky;Ck-s{A8UL#JrTVM! zm+7ynUpBu&f9d=Z`Stnd>7N^aHvEkL>Hbsyr~FUlpF%&aelq+F`1$@v($9TAVt!Wt zF#oCW<I|73-xvJY@ICy;weKcBJbr}#i2M2Fhw^XNUl;$z{xM<n{r{8Y5z|zTd2ChO zUpeD>>v?4P-t&IvjpMW7{mg5@BhJgm{hIqS=Nhgqj%ZG6c0LYXwli$vtn*l_Saz}4 zuo$rTv+%G?V6kMmz|zF>o8=M<2P-q{TNX~%^DJLk7O=czS;X>)Wj_las}ySh>k8I` zthQ|CY?s;gv)QuivNy0-vUjpiV)tUtXTQTHz#hcb!*+)CCu=TiIjc3R3ab_CUzTK6 z7S>6u{H!Nf4OvgIy0Wfd4P`ZEHDaw~xy+)*{F7OSv5BeTpFM-tZ@a(qzaRV=^~Leq zpN|2bFMP=T`0&HQ5C1;eeq8^#|I>u80bew~|NNT#BjdZq&(I&Ue{%i2`LpDw`mg6d z>wm@ndjIR~ugu?7zu*3T_1o=_<DY^*F@NIzc>K}+!}jOi?=8P4{Pz3p@tfth*zZ%n zp8Y!X>(;N`zi$3I^XtT~W51UE+W0FS97`s@9{&6SF56mu?)jPf^XSjOpErK${Jit? z!;dXL*ZpYz8SumM=l}1we%$&#@yEyS`9BJNEcns%)9I(z@BUvm{?7fw&Y1FlHp?C+ zUJets^IY+qOL$Ilr}5hG2Jvp;ox+pHJDqzTPcqjOZX?bZu6OLJoV(esu}@>2#kQHH zgjIxPCd&h6ZkE@~_n2i^{xbWqn6VVHl(W>a%x1}FS;G>{GL6NKrH93qrGX`xWj@Pp zmfI|rtWK=QSa-47v6-_iWn08{i|rBHeYU4;tJv1Fd9sDDU1q(?n#mf%s>u3=g^hI+ z3m@xx79-X}EV-<YSk|$!u^wbqW?jgt$7;gL!<xael0}U90<#ihGE@6M1BSTYQGZ!~ zNdEf!<?gqApOn8W`563Z`NugQSAP2O(e#Vt=jUG+eaZc<@onOd%I{%6%YK~xsrggp z*YcmKzodTc`!(^G#&3<^^L}spE%e9iPuidUKa>8f|I_ei`Jc!?1%CwosQkJ5`^@hN zzpH-d{PzCs{@e7o?Qi4X=D#g|Yy7tO&H7vZ_r+hofA#&^`OE!R(=X0n0l&`wbpEyQ zr}eMepPs)We_H&K{VDkC&X3zan}78EwEtoAQ}V~>A8tP`|G4(!_m3|>XZ>9L`_V6{ zf0zGAFqZ$%Vd-U>!G4(4lxrQw2k!4&dw7z0cJO@Qk>xqUW6Z6=Bf@3R{ftAOYcKmB zjxM%i>`km~Z1Y))SfyARSe`OJWq!jvhgq0q6|*(VIc8554i-NaITjlh6&4j1Ar^iX zP8LxX78WNKNtO<lNS2>0dsr%1HCaEi&Swp0`^P$q&5CUmn<HBXn-H5Z+i}(#tf8#c ztPfetSX)?lSwmUaSnXNFSVLIsShHC&SbJG&SvRtHvYukO$FhxupCy>(C{ru*eFjmc zn18GcIlqJd2K?~()%n%?d+Fz6Un)QGd@lRs^C|vw=cjXD%05SZJM`t$ciC?@e?)#? z{4?N(<S+K0nZM@!-2O}T7t`;pzlwgl{C@KL{O{yHZhsE`nfB+^pPhdm{8{&B$Di6i zxqqzx2><!~``qvKzo-9h|6TDr?|0<yg5UnXvws`?&iT#$+xPdSUxvTCfBpOA`s?B^ zmS0<bUH&=m*Vdnle@*^5?^ngo3BUY)#{c5_src*2k7GZZeq{VC_#yFg;g8QhtbQv0 z4E=TXr|=(<---V?{<<<w{2$EH#^lf5%({!yha;A|h)bI1Dz^kr3{N|^6VD2+4ctpP zZ*fiHxXszjet@HzZ8CcWYZ2Q9mKauPmL`^)%#WG3GEZUN&D_s?o_QVf9p*dCkD0$P zKW1iTdBV)X@`;&|g@=Wi#g0XurJco_<qOL^mMqqPEcaN`SzXw6u-37?W}VLVk+p>F zAgdNz0qc2IF4i*E`7CCvfh;_%YAiggQY@0J#w<3hfh;Mk%`7Rb>sZWL_p<C~S-|p< zS(;@rlNs}IhFy%Q|F->K^jrDwt{?ut<i0h2*ZiXL)%0`gXS2^&KCyoJ`ziG6sn18g z{r$rH!|~hyAKBkG|BU^i{!9F4^RMkcZ~k)n<@EdVuU)@mejELH{(IS<z(0TfEd3+@ z_rxFmzuW)Z{L}rX|Bu@r-9Jo!9{;}Zd(H24zdL@<|6TTb_V1+MvwsKup8Q+;chB#i zzbbz3`jzy%`j^RX`(I+e#eRMH_2K7}U#EZG{5AFGkzdh2r~i`t8T;$<5B6URer)+U z^GD9lOFzPYHvL@ibJDM{Uv7Vv{LcAT^;d}T#sAmL%b7N_HM9QYkmKm&QsZ*uZsd01 z=HxlW#lyqG)yXZvd6r9p;|`|``#BCtw&m<vtgUR}ETyamm}j!2F>|muGVf(}XFk9j z#e9!BhnbV5fmwy6o!Nk82D35C8fJBt%gm}QEG#-K0W6U$>sS`BNU{E6sb!62J;%C= zm6z=}s~FoM*6*zCtQ%RaSfg0)vT(BYu-s$uX1T~>!t#K{h~*<o0E-H1A&V*NEEWUS ztt{_Y*0N->6tGNTe!?8Z^p9yeLqB8wzXkuV{&x6l@N>bhz27*0eE4$x>yOXgU*3J5 z`gzWmMW4@o4gVtcJ^rijkJ@iGKc{?u|Fix_-Y?gmCx1QosrWndSIh4=zh3`N`5pJ? z!tXPG^#4fw&Hv;0ck&<0za4)#|7QN#_Q&8)=%3HOx&9peefIbI-z$F4_`Uph)9-n| zOMcJ%o$<Twck1u3-`>Afe_Q{4_e<>ekzenB&HQ!aSIMu#zubRq`^EEX#;;>Pi+`2= zH2tOi^X<=HKW6{@`6K(M%g>~rZ+|ZT$@@F@*YZEpfA9Vm^VgJd@&9|wrcAkPuUT3+ zBH5X^0y%eZP2{@FrOBPkrNMoab2Had4rZ=z>>8X*?0Ou6Y)b3~tio(XEb^>Rm_u16 zFrQ@3W$t7yV6JCwV4lf5m3bTUO6HTyTbQpgA7j46e1Z82^9SZ@%+f5+nKM|pS+=tT zvWT#*Vo7G@W}V9#&ANxRmvujD2kTVU7*>B)4ps)%tt=Z@B3Rm46j;hxSXla51Xwn) zsIXjP@nLz#lEw0XrI}?uOFfG)iz|yg^AToNraMg03=NE~|5p9K`#bw@!p|?il)rcU zDE?agt@jJt*Q_soU;cgZ|MLIq&o7qW-+m4L@$Z|*Pp%*Df4=^a_G{tK)4z;<DgNI0 ztLL}gZ{|O<f0zDY`E&J8<{$CDOaEy7J^M%c@8Li1|1ABp{7=@OxIY$uWd88{dGq_z z?{mNJ{yzHq;_s8ckN!UTd&BRYzvum){=4UQ@$Z7)cE6*3%l)?d{qvW>?@Pbre=q#? z{a5_2YrlklE&O%xXWXympW?qFexCc8`E&KpbwAhqjQ#cVXUXr)zyAEW_xr=YDSvGl z_x#_*Y``SMww;BKgN?nK^9_ePmo8T!*C{S7uG3uIoGDzpIW};fX1~tyfb9<Z57sAa z(yZ@T<5`4RuQNxoWHaAjHfNs1tjXNSY|h-x9KpPjIhT14a}V=L<^{|bn0GQ?W4_6J zi<zJ0HFE$97t4GWJC>I$eJt9n4_QK4wOI>ULs(N-BUx=&jamP)JZ9O>GJ&O(#g!$1 zMTo_l<v(*03m;1hiyF&17Jrs~EIBOOSn63ySjt#_FgviwGH+pi&Uk^zl_8DM{omsM z?0-uB?)$0!d-L}vKlHzS_~!j};#bM9m%ns=J^!WPThQ0C@5bLcf0%yH_-Xz_^q26@ z)?WvIKK&K^%k%fyU%P%g{nq)j<oDt~Tz`K2@&04-x9*SK-;O_Ke|!G0{muV#=#R^v znm=-XZ2o-w&G_g3@B6<m{l4(~<nPPBPyfF3d*AP)zjyxL`Fs8EslTWEF8N*Y+wXVG zZ{^>vzrX&{{=MoK$M5uCFMbL9+V$(e&$?d~KdpcH{ABv&|MU9KNk1?DH2)>{E8zF3 zUnl<j{=NF&oWB<sHvX4k=3=s8EoKp9U&B_)QOse-xs|hl)0r!fGm`5F$1hF}j#y3& z_6Z#BY|GipSP!tRV7bl8&ce*v%pAa?!F-wdJ<~+yhfH0}Z<&@b|6#huEW-SYS&o^P z#hO`yC5l;wrGZ(PWiK-q%P(dzmLL{umYFQ2EcaRVvhcEgWszf*W#wU&W_`fIz`C4e z8%qjHHj5LB5{ov=duB712h8p)kC;<felt&D5oOuJV!*P4#g=6ji!qBD3lob!b0f15 z(<-JSh9t(`f9w8d{8{wZ_gC)kf**E2S-+=z*Z#)&?d#WouOZ(Yzsi5#{#E2h`!}JV zjo<J8tol**E9~c!U;Mvpe$V<f>$l8rhCi*pOa8q1{p63)ALqZ>f6D(h|LObN^{4i4 z+aJ%r`G1)I`v2Mf$KX%HACW(<e;EI${`vn~_|LcBJbzgJ{P@lN=k;&iKlgwC|9$TF ztKSEIU--S^_qyLrzvut<``z)I=XcTXGrz)q*Zk7?t@Z2MuWLVd|62I7?$_j>LBB5i z^!Zi$tNYi)-+I3}|2qD;_3zr>rwsf5voXJ8WMtK0*~Mng_JjQ+`(6$i&R-lmI4^UY z;tb*_=Um8so8u;%C<hCh1G^n-JX;-0GwWmKJuGR=tSlVNjm&qLteH<R88M$@a%H~8 zRLcB?X)!Y=^C4zc=CjOh%x9SMn2$0qVm`$Dka<6|9?L`KY8Gym!z@88uUL9nKC$d! zImdE>Wg^Q~7GIVc7C9DUmOsqznLjgcW&X@OkC};O9<w;hCT3ffQ_LYO51Hdw{xVy! z{ARw$e3qG&*_ZhaV>wd<gDqprzoq}%{+#{W`s?QJ<3DcxO#80%W68HG-wM8Iemnk+ z_gl;Nl5eR$EWd~Ul>H(1i|6OMUsr$1{x1EM_xt;=Q@>Mw>;Ad;d)gnhKVScp{4xH! z=ugt$qkmHW-u{#P_tqb?zgPco{oVWL`k&>0mi+1e)A*<3Px7DIKdyhu{uum8`Xlrw z<PYB;_dm>kO#U$ck^b}X_rKquoOJB>(ck^QSNx9nJ?%Ho@3P;=e+B(6{-yj|@7L2` z48Lao`tmdRm+`NdUl)HZ`gQHM$8U?jk$+zNd-V4P!}|YMnD#L4XF1Cp%(kDko!yV! zjw6<%h~pVYAjf--yX?z3Y}q9^a@g|OH?nSG`_1x=HG##Q^*r-rmSpD7%)-po%+HvN znC~$0Ge2YEWd6XU!2FBJfmxV2j9G&@iP@7mfjOQzfVq>|nRzd>6EibQI&%oi66WbF zpPBcuII$dK$!A&4(!^58lEz}nV$1TE`2+JU=1t7Un46g|GN&+KW=>*$%3Q+y58U29 z#Vo<{jQKtDJLXBu+nKL0nKJKXOl5Ls&}E$TZ}tCGe;)lk`HSn1>`%jAFTXGTVfDTG zyX5yf-!i`M`zHKD?E9l1+rDr8+3_RsSIEy>zu13S|DN`%{kP!n_rHsN`~SK5d)*(C zKfHfC|9Jg9{HOBo&p+*dx&M~^mHiw0SM0CWU(UZwe?R@X_2=H7{eRB=ne%7&pXNVH z|787X{S))2>`(BYls~?IlK;5>iTGpr$M=uYAA>)ff5iV>|IP4c!tW=)U4I|^{ry+> z@3p_ee`o&^|84#2&M&85%YU`}TJ=lz_v>FWf0}=%|84*C=ik4-dl`2ApU1S3F@|L& z^JUg*);Dag*%q@uV*kjV!f}(mkfVm(jN=L0c6JpuIrdD}O19lB7g#k}Oj+kL_p{hB z|7QNo)Xsd7$(ngDlOXdRCO+mvO!CafnXH+wG5IpTW{P9}&y>b2&YZ?<&78_yz?{Xr zlX)8RcjlAKYAoU`)+})>Ml3xnqAU|w?lD)etYvm&X=VP+T*ADPxskbyc`|bp^G4=S z<}=LM%<q|JFmtmUWaebK#Qcc)3Ue{@T;{DzO3VuwotUf`#2KgloB#jfpC^BXeyjYM z_Otd^{ST3!_r8n$IPkse`=9TX-&=p|`)>Nv^T+d_Y(JZSZTb24m;bNC--mwf{B8bQ z_Rp-}^?$znzV|2SkKW&<f3p7G{?qmM-=A53CI9yPmH1onm+No%-`9Wi{$BXQ^>_cD zhkthbIr3-upOt?m{F(Qs;LpN8(SMfx@%}UakMo}ef2{sY{G<D)@Q?Z*w?A@!{`?mD zv-0=f-|oL3{(kUl>+fm5YJP|R^84-dOX7FPFNWV6e*O6s^4sBe$e&xkC;dJ5NBqD3 zzrzey{+BUrV3cE-$Xv*3%i7G=&8ESg$ll0)i@k*X8M_wyCibap*6i<Cx3QVCDzZ&u znaIk*@|UHNxqw9$)S_bQVqVVV%sh)pg1MJTg1M7Pj=7!5g}IF>nz@guj(I*)H}f8* zUgpnCear^TQ<$5X_b{Jje#`ui*_1_;C5uIXWh%>i=9w%9nCn^kncY|lm_IUSGtXvj zV@_aR&+Nc_h1r(*D|09_GfN>eC(Cr^AIxi+cQbEcc4n?+?qgzOu4dF?(qIr}ob_+T z|M!1b{ssOH`}6SU>0eiVwExukG35u#549h<KiGdP{o(b)>F2>8kAD{bEd0gu>&>ru zzk+`Y|K9bx>o?z@yT1$n*!(&7r{|CS-wS`L{{H^6@vp$&tAAzwzW6Ko_txM4e-8Y8 z^JmiEGk=o)9{l6@ckLg^zl;7b{_Xtp=ugp~TYpmi9Q_md=fEG&Kl}eU|JnP;`p@z| zHh(JrSp2d2qyFdNZ?Qj3zu)~<_`U7-tzRX-SN<~oJ^k0OUpszX`z8AO!LOaaRe!Je zv-|hezZ?EI|7ZSpmSOt;Y^HF=_sr7FR;;U7bl6_9o@d+7ro?W}uE8F{{*FzZy^ifD z+bdQ-HXGK1tczGISQ%KBvh*{{vFI_cW&XkB$9$1VfO##`2c~|epG=ud?972oa?JKj z+RRQ&R?GoRKFmc-vCQ+BvY78Ml`*R^FJjJRKFvIznU!S+vmVPP<`9<I%z-Rb%;qfK z%nU46%!in*nA^bRT{W{k^Kxc0=55Tu%*U9^nD;WzU|!F>mN|!cIrDF(JZ4X(S4?4y z0!)ewzZf?BoA+Pgugt$`zgzw|{}TP}{PX_LeLom}PX1B%W9yHc9~?ht{Al<o`jhR~ z!k@Lj41Rt5wenZyZ?WG8ewY82{&V4X!5_UpC;wFbk^Fn$Pv+kbf7bsM`1|;;(O-st z=70bEHU0bOFYn*If8YL@`uD=0(!U4(g#TUf$MSF2AKAa<e?<P~{bBo?^5^@Xs6TK2 zME<$|C+yFWKf!;d{0aOM^~dcG%O8tB8-7dviTwTSx6to(zwiIb{e9z?<?qkG6n{tm zHv9eQchB#$e+>RS`>X!f{(s)TBMf)`2QXDJo?sSX{>#$A@_}_L>qNF@wy$iT*?8Cm z*q^h#V(Vp_&c?)M$QH}Gj&(bWCaW^b9F`T#Vl0Ww%b9hVotSx<nV4TQU0^!SbdqU4 z(_y9trXx(bOy`)=neH-GF@0s4&LqTqlu4DDk=dKsgSmvcmw65IQRbV>515%*E;F;U z9A;)@S;%~yxsrJ)b24)(a~88Qb0hNyrUlH`m<}^vWO~Z{h3O@;0P|O71Lj-Imdx{* z)tL>MA2PKu#W5{qoXJ?s(8s|0Kk$Fu-`9V+{?z~3_)Gowrk|3(M1T7Iyz}GMj}Jfg z{jmD^^2g?%zCZ1Mo&9;}m-jEz-^YF}`EB(3_wUKSz5cxXJ>ie{pT~cu{xSOd@lVZP zjlU=UCj4diSM^u+U&~*qf0ch(|Hb{i{#X0&hQGXji~hd&6Z-e`AGN>h{`~qg_s^3* zOaI*bv+U1_Ka2kC`?KWFu0PBFZ27a`&*VP~{>1;8`$y|f@1M)RbN{sbHvVJw`_J!R zzqbCq`>W~q>tAKRO@2@OeeCy#-`#&&{;d9+_m}Jc+<%i8zW(QDs$r~UW?<gR62>x( zHIdbjO^L08t)FcU+h(?Ew#96!Y?*8;SmoFRS(mfcv*@#aW?s$G#jMC;#XN)gFOvcD zWu}`<i<#Ci<uc7@a$uUvB+ayliJ563(_hBjOk7MCn2eZSFr_kaGp}LNXa2;L&uqoK zl(~@kHghxcFXnpY|IB&JpP7A`&oQep&t(>1j%4O!7GM@-zRP6Jyq776`2bTZ^Bt!3 z%uLKDm?fDHF-tMeV*byh&%BXo3X>+&CdPEeHii@i?f)A8xBb2H*W*w5AGY64zqx-| z{L1-R_fzF3&rj{2uYY9z<okL4XY5bEUsrw}_~rh~;`h;CGk=@?e*1gYZ?ivtemDII z{d48d)<3F$8UMEZb^3e#Z{A<Uf0O_E|6BMs<=^bT(f_Lcn*a0t%k@v`?}NV|{_OvI z>d)N2v;Q>yZTXY`x9(5$-?l$)fBXNK{_Xyw{<rH7&)>#BPyST>+4iUWPsyL`KPrEM z|D5=({-@#h*Wb3kkN#Hvz3{gVcog99@6W$g|E&CT=+D-_YyW=#ckW*XgFeF*#yO0p z%mU0YEMY8;tWm7bS-IF;*izY&*;?7W*pk`U*tFTEv0i26VJ%>-Wck9v&Qis)fcYJ> zH**2A5Hln5bEch4>zLY^@|YT!w3tenelgZEonvfd+Q&GVX+PsqrU#6>nHZVgFj+B) zG1oAqG4Ezt&-|U~J+l<E6pIP7B8wKYAd3|9bLKxxo0#7+<uN~HGG>0w^oL1|`8|_8 z^An~b=D$p{m<5<OF)K4KW0qu&Xa2$TooOLc7?UtlBV!O_5rZ3p_J7s?_x|4a+xlnT zpP1j(zw>{!|2p^c_RpH1)j!LBCjDIgv;F7ipI3i+{<8hG;@8?=g1;qyC;e{vz3=yx z-vWPh{zUz$`ZMp(r9Z#_DE>|SoB#LN-^G8q|6TfP|L@t~;D1m4y8b))SMA^YzyJT1 z{Jr(p{qNzwl7H9#ef($s-`#&&|IYlA@wexX&)@Dp7JsMwk@`F9&yPQ|{#^Mp`OmyR zU4N4Q6#Y^B<MZd%Z}~ryf4}*i{Cm&uz~A$Kr~Y2{d+qP@zm@+O{JH$+(4Uikm;QbE zZ~H%chM)iEGX^p~WLn9@$a0PO8OtS>4%SlEr>wVFx!69kva;P{z0JCrwTiWXm6KJB zwS{E|3lEDg%RJ_X%t6dW%o5Ck%+Hw4Gp%Bp#+1vH&!o!~%k+^kl<7QU0Mil1RHh@0 zl}xu77c>22JkF%b^o1#g$)0&SQ#12<rgO}Hm{?g@nI&16n0Z;=Fuh>D!nBq7C{qRV z1tuHjCrq5otjs@{44B_A#WR0pYG7tzZebQ?PGja`)?j|hw2NsTlO~fIQzm0BV+}(S zgWvzW|GfX~{~iA$@OSQS=0B@{$^Yj4Rr>4bPrhGUf4=^C^XK26qQ6XjW&Udab^O<d zUxvRUf6w^6>G$8?jDOt!IREMX)BNZBpW}ZN|4RR@`<wUo=HK0aRsMbZ8~0E0U(P?d ze;NOn{ssNJ{MY>7qQ5f#O8;{Iv-|tuFZ<tzf3N*H^moml4S%Qone%trpN_vv{}lgS z{wMVB`afoWSO4MsyX4P>KmC8Y{^b5~`Q!fQ_ivd$$9}*0z54gf-+O=G`px!-|4-we z$Uo+PpZ}5ix9zX(|3m+38Q%TB!DzwA!<@$?&(g{Kj-`yHn^m6m7Hc~zC);M$U#tgM zFS2fAtz~Us<z=;FoyKyJMTI4u<rMQf=33@DW-n%0W&!4FOm~<jGtFemWr||*V^U+X zV*10V&h(B^o#_Rm8Pj*h5GDbpCMH*=ZA`69f0&Li`7(cIn#9b>e2kf&`4Te&^AYAZ zOnuBZm;#tDGYK+ZVY<QejA;WC7xPRe1Lj^PU*=^@Da`wsa+t3%xiVj6`p>kJX%bTf z6C2Y%MrTGJ#t?=S29y6m|9}2<{deY%@!u`K9sk__mGe9F*U4WZzfynk{?h!V^-Jwn z;xETvD}GJ<_2<{CU$MV~e{cG|`8Vqyu0J+^0{+zfnf_<jpSynq{u=zv_*?mR-``Vz z|NrIsr}NMFpV>c?e>(qk{)ztk^Y_c&+kbEUUH*6H-<rRx|2q7g{#W>K$KS_)^8eoY z6ZZG|ADzE%|1kgk{^!vjmcRS{{Q5KX&x1e7e@_0f`?KT^=by$u_kV}~S^L}i&+^|| ze~$h({v-S+>d%Bf8~?cdHTtXd@55ia|BwF_G5q?!o>7PK5>qhKW#%mAsVsgh%B=rb za#=H2C$P?9oy5A9HH~!ws{(5R>oyi%)<BkZEU%b7SmrWcV~%C6VAf_<V`gD~$aINm zCDUT2CZ;T=NG4k*HzpM(6DDCMYbFUMM<z+85GFIGT&8TMSxl>#t}(r1Qe~E8E@!r4 z-oWh2e4N>p`2e#Sb3d~ta}cvUvk0>S^Iawl=Dkc-%yXE+m?tqMF!wSQGcRRIXI{_b z$h?N>6H`A^GgAQ5Q^xy@s*JXb<_yUUYX6h}|M;8u@AjX#zgK_P{Net+>38oh>EAKG zw)~3tRr9O#SMjf1zoz_R`u*@%+HZ^B2Y*lgE%E2|@5nzoe_H><{aN~F;-3qDj{jl$ z%l+5uZ`|K$e;5Bf`}h6dAAh<3{rM~X@6TWMe{cRi{d?i>?!O!UcK)66H~eq=U(vsL zf1mt``n&Uw)8EB^RQ}HT!}52{pKE`P|2g>Q(w~Wc&iyI)bL5ZLpEZ9}|4jMw`FG); zv%drWtod#JXWehxKi7Wy{xSd4`Df>!>whx-#{Bj9$NA6e|Eqr$3@`pqX8g^tg^7)6 z0rMZG6qXark63b9<XEq;*s}7ns<BG3eqs5`vV`R%iwjF7%WY<DmL}$N%x=t$%+kzS z%>S6)F+F2i!?cU3fvJ}%fGLv6ib;z}nTd-@o9QK^5z~D}Kc;t#*-T7Klb9Tt_A^y7 zePP<qq|f}3DU(@%c_Onq^Gaq_=0(hE%uUQ{%wEiz%;L-z%nzBInYS~=GWRp(GM6$H zFlRAkGp8{5Gp8{LF-J1(VzOZJX8OXojj@f9mGK>eE`u_I^?&F8hW|qUDgG_`tMzC0 zpS<5Mf4}>c{CoQ^&fg1v-TAfm*NtB<e{ugd{~hwX|M$AzuYdpjZS%+fPy3&?KO6sS z{d4iplRqE-$o`f68}v8+@1(zT{+{@I{qLW@jQ=?PN&Vyfr}yu}UyXm4|H}QF_xIo5 zg1;~R`usipSL*Nfzu*7N_<QY7?cbw+0{?FRqyG2EpKpI|{yFpK^`9kwUjM24^X5;) zpC^Aj|D6A$^k>H(zCR28u>6_+N9fP&Kdygv{h9pd`ycMV!GGudz5F-&U(P>=|DOMS z7|a;r87&y|m@Jv%nH89&SROOaX31swz;c5{fb|ax3+q3Y%Pc2Z+F80-^jK_J_A<X@ z&Szf2tjiqD%)zY2{Eq1b(=DcbOb3~InWi$OGUYS5GdVDsG6^wRGCg2)VLHzk&vcZr zlj$krHYRDN=S(q7;>`1y+?g*i6*2!~n!qf}JeS#sc^0z;a~-o0vlp`-vkJ2&^H(M< z=1WW#%$u3)nddWEGf!eNWo}_oWG-QP#uUXglSz(Ahv_2YI>snQe#SEl-VD49ssFY9 zr~Y&Mm-{#QZ`YrNe{TF{`V;Yc!f&D9?!W*1()=y>Tlcr!@9f`gzt{bK`uqQHyFc!K zI{sAsIsRwKpBH}){$cq02^=Hdf203S_&f3MmA~iyiv9cj*XbYkzr=sc|8o94`J41_ z>tFYOb$^xqdH!YoC-?X5U#`D5{yzV6=<nS>Oa31FQ~dYjAKSnC|M2}i|L66e%YTmi zx%g+@pHqJ(|Jnbi^Uu;hrGKXV$^6szC+W|$KLvkw|LOhn`p>mLhJUsGPWrp!FXz96 zf2;r5{xAEl!w|t>!RW<kz@*M3%lwAvBy$(D6AL#>CrcX3Dwb}R`7B*5)hsD2N-QQU z=a}Cyr!jA2mSiqqzRYC7yqt-HxrONlQySA|CP$_YCLX42rkji&Oluh3m>L+(nGzV? zn1UE%nIagcFx4>bXIjU|#QcI$i<zG(oY{&gojIJTg}IukjJcPof_W-aF!Nj{W9G?B ztjx2SZZpki+QGD%X)4odrh2CJOvy}3nf#ghn6#NvnOK-4na(ioVXS0yU{qjS$uO1S z&HoSoW&cb6*Z=4DFXV5{-`YP{|J?cQ@u%YV)8F>Lm;cuIJ?XdU@9DpTf1mt4<u}8h z*T1d)xc|xhGxty5pND@|{}K6n@Q>c#$A3Kja{bNyYxj5M-|W9n{x10|^Y7$ekAL_7 zX8ybWxA@<dzvcg0{wDu(`s@FX^RM2&_kX1SUH!xI@64aCe=q#G{rBdd{eK_*nfUk7 zpOn9!|5*QJ{44aA>F@hLJb%yqVfef4&)Yxi|6Kbs`OmpO)BarlGwsjYKL`GZ|NZ+X z<Zs&FO@CkhmH9XC-`;=G|4aY-F$6F;GwLwvGksy?U|!6$1XOykOl1ycxy_u#@|8J< z<tMWf%R}Z*%m<j~F;8T6WKLuL#N^1ll1Z4kmFXi>4%05CAf`ShYo-JyK_(-n*Noy! zyBIl`IvKf{@))(4!WpBP(ij&qH8S30+QcZx{D{$pnVTt)S(ho4*^$YcIf%)HIf2QT zIgd%2xt!@2Qxnq}rXHrnOf#8Um=-a`Gp%IuVOqjuz%-pnj;WOCFQYTlS;qg2lNc8; zdNArSK4h56kjU`z|Ka}%|Ns2+`e*j9@^9tet$*(SQT!AC=iqOiKa+po{oVBY^6v@1 zZ~k8SoA=MN-!6Z&{xtom{Il%OnLh{q@c+H|$K~(6KdFCz{Av2D^LP2*w7)n1F8Is) z@A_Zof4~1`{QLX2``?4V)BmmiJMUlJ-x>ex|F-{Q|C{&k>7ST?*Z+9@yY$E6->pB2 z|6cz2^Y`1I`+vXu+47g^FKGNS>#x9HufM{7_5O1H75V$;57*!Ke}4UW_2=84FMl}x za{bl#tN*wBZ~osqe=q(8<#DF}kN>Uzzwm!0LotIFqbs8t(@)0xOw*W}nT45OG8Zyy zvm9i0W_ihM!}66`l;tk-S?2xBHOw=Z)tC#JuQEk2cQR=+hcmG=8#A3@5@TA#^ocQ_ z=@?@W(-cNKrbI?JCNsuRCMCvlCRxUXO!|yhm;x9%nVT6cnYS>;GT&n?WB$!p%q-57 z%dEu|&uq)&!yLe5&K$|a#hk+QoGFcIKT{^t9Hu;`dZuiqWTto~KPDF@D<)+o38v4C z-xyaj?qPIg%w@dHAk65((9N*+|I`1B|8@U6{mc8;{P*zR+kXuIdj8q_=i~3}KL>sr z|5^82{LjJPQh%QOcKW0Ar{Yi6pN)U^{<-=`<nPBnNq-stF8(X>_u^mezpwr#{uTSz z^Vjp=zP~O19{%0^@8{n)|GxYc`2XOq(ElBO#s7Ex{rb=6@7aG6e`o!B`={*Rtv|8< zF8^`(_u`M%KbF5D{{;Vj{ww?U%3t-rEB~th?fxtGH~FvhU(dgsf6f2?{-gEx<sX&5 z&;BU?ef~%P?~gwbe}(@p`Wy6D;NPmhGym!SGy8w(-?RUH{}(dEGh{GIGpaM4W4y!^ z!W7GVl<6R|9P=;c6lPJD9%devKIWIqmCWmyBbW=B^_iuZ#h6bpy<^H_I>uzq)X&7p zl*IIcQIqKyBNNj?#s`cUjCU9<8SgOiF@9wH$H2$*m%)}vf-#B7opCl(C*ygh<BUI; zelYSgYcdHl+cSwWhcO8=M>DZACo}zE%4fRERLHc4sflSmQxDU0rYTIFOw*Y1nHrgr znNpd2ne3U&nK+rmn07P1Vhm%P&v=``m@$}PEyLFT><l9RL;lD8oAqz)-~WFF{?`5N z|D*WV?9a_V|9-Fd^X&JuKd*n!_`~t%$RDdeU;kA7(foV*kJn#`zd3)?|91Xe_IJkL z3x9Y1ef0O%U!H%={~Z45{;T{K{BOg*)PFDkCH@os@BB~vKi@xr|2O`A`Zw?I;eQ!_ zyZ$-<jsB<m*W#bbU$uW)e?|V8{$>AX{`c=+hrbX1I{ZEK*YoepzczoX|C;;_`K$QX z_piv`kiRT{6aRAmP5aC8xB4&t-(`O_|33Mf_}BQ~vA-+-x&E{K|K{J7|8xGgGsG}> zFbXiTFl}O7#$?H)%{+%`0`o_v^UM~^ubAVQzcWWNKVbG^-ovcG+`#;m$&&d5(=Dd? zOr=b@OlnMSOrIHLnGP}jV_e2~ld+cZ0Amc}W=12%jf{MZhZ)%zKQi(#$}uT2Mll63 zPGXwCc#`QR;}<4gCRSz(CQfE=rvFTdOz)Wzn65J=GM!>dW?Ie^&or4S9o(j_V2WeP zXL4qWWKv>sW%|LW$8?dAm#K&GIb#IlHby?ibjF<we;LdeN*Ff$zxrS3zrz2_fBFBm z{Jr>B@o&K2rGI|@as9L7&+p%}|D6Bb_viTUIe%{cKK6(G&(}Ymf0X{t{A2(3*PqP4 zF@J0SuK7Fb@14Ip{{H`a|F70RhJW7w^#A4jOZ+$SU*o?c|H}V8`4{-_^*`l*FaJIH zd+guxzcc?;{7wAl_t)y5^<SBPmVX)lx&3|nH|FpCzlnd(|1JN!=Wp5HrGKmbw*Afg zoBB8GZ}?x2zrKI<|3?4S{+st#`EU1M{lDw}8vMQWH|ekNzd3&s{&D@g@~{10#DDGo zU;p3#zl>oaLoA~|qX^SS#_de`OfJlqnAS3@Fu!L`WaeY(U>0EMW&X@u!+eT47Tkky zW@cc1%yg8g3EZ|#Vd7-6WBSM_#dL-7591-mD~wYZk1=L3?qPIiJi}<t_>s|wQI^S` zF_0;qv7f1h@gUO<#@9@57}=Snn3$NYnZ7dxFx_QJWje}~!L*4fk7+7X8dD8Z4pTW( zCQ}+y2vZu9A(I~yE0Yt`6-Irg`HcKbS&Xk4wHdcEK43^=tYrAd@Z*02L)QPB|1bSh z`)~QL_}_%Tm;MU=4g5R#55r%}Kj;6v|GoCl!Qb=#?D)Ox&&l7%|NQ#>_K(>g@xPsa z?EXIclls^BZ};Dtzl;Aa`+Ml`j=%T+-ulb_@55i4e~SOo{w4ft`nTX;#lOq{LjS$_ zC-?8mzvq9S{agL_$iK$FQ~pK%P5bBn*X5tzU-f_Ke`WsF{N?=D`}f=5nSUSto%{FH z-`Rhc{O$kS^tb+R!Qbq^#eXCJ*8lbRJMXXg-)(=5{yzL`@%Q)Nh`)yaru?n?_wMhb ze>wj`|8x9*_5aBK9)=nQOGZn^w~Ut<XEC`m88FXfn$P@<=@YXQvp9=Avm}cz^Iv8M z=6lRq%uARVm?N3*FflN%WLnEq$CSqu$YjT)$E3u>%*4U;kntAdPR3P?>lw=#mobJg z9%3|Re9frID9ohH=)q*iSi_XcxQ=NC;|Zpdj5nCRFrH)LVcO25#Wah_lBtf#g(;cI zoynUil*ybann|B2ib<Kti%FG9n@NU=kx88C8Y2hOI>tAQlNgUN#xQm<@-x~pu41^y zpu>>Fu;l-_|NQ?|{+Iu&`FH2<<G+4?bN*ibqwqK5&+9)De~$mT_j~J~OTYL0x%~Uw zpKrfE{?Yg&_P61W_1~+1!v7llt@>N|ciP_te>eU;@b}E$JAXg?{r*?!pVB{<e<A-u z{!RMl{qMj(m4DCv{rda;-|@fS|1J4@>tFrfHUCon*8U6q8}l#vukF9Yzb5|*|Em0J z{ww;g@9&Sllm6cNJM-_#zw`cf{GI)`=x^8G%D>fr+y7?$UHmut@7}*bf3N<H{mbyL z@~_dqeSf?E3I2QeZ^FN*|H}VC?Uh!BDh6FfMaH{~TNwM8)R{DyYnbLUA7c8;{GCaU zMUL5oMW0!QMTz+%Ge7ed=66hS%*U97nP)MbVajKkz+}sm%A~;L!t|3-is>oiOUC1j z>llwRRx=)B3}AfDXu!zJB*Un~B*qxdq{mpr6vViksg?00(`LrkOivkKF#Tt|%_PBe zlu40kHIpt=ACnDJ3R5VP15+}SI#ULd6jLY@FOwk?2h%@BW~LL2Ul`{xK4mOn+|KCC z*vj~oL5p!V!wm)<hGd3S|8M`7`fv5W{NJp9xBhbebN}1__tGDmzqx<d|BC;4^5^C6 z%YV-OzWwLH?>~Q-|H%Dy{^Rg>#-EJ8U;lLe_58c~Z};D0e-HnC^!MrCUw?W2Dg0CV z7x*viU;e+Af0h4s{)_$h@SpBKrvHEcO8h_dSNs3mzvBPP{(k)z{P*}jm%nrVx%{pC z=l(bSU+mw2e;I#`{?+|u`PcXN>fc#^*Zy7lcf#Kpf9w8E_}lom`fu~!)W7rphX39A z*W>TizoCDB{Vo4%^l#7KvVYS5&i$MEPxHUV|CRsG{I_MOWVp>B!r0F^h0%oR7vm`= z4<-lZ9;SZgBTPq_zcU?UW@O&L%+6fJ{DaAe`7P6BrX5UeOdU)XO#V#28P%C?GyZ4X z#`ubHHsf{1JjOGO4vdEw#Tc(LzGV2oc$`6iX)S{p(-ekirbP^snGP{*X8O+XkV%{I zD^n!nAEqY8cT6)GFEFiT+`@E%v4iOoV;B<$lQokjlMa(HlPQxilM$0RlMT}=Mr)?M zjD}2|jN(iojISAG7}qd9WC&(#XZXTk#8A#~=>LcRPXB}culjfNAJ0GMe=UFS{^j~R z^Y8LM1%IRd`2W@X<M>zfkMm#EKS6)}|HS>B`X~PHlRx=?ZT>d?o%nb1-)nz&{AK=k z^{>{yzkgl-Y5t4+7xl03U+uqn{~G=s`j_?Z^*{4}eE&KBS^vNGH{}1OzmfkZ{<Z&K z@mKDD%HOa5GXCEDm-=_dzuLe3|EB&8`?u|{%)je@U;cgack|z;e|!F3|6B5R@88_N z%l?-C?fpC9Z^_@ae{=ty{+s*v``?*=b^hJ`oBz-E-=2RL|4IE%```2b*MD(_E{4qv z!i>?3nT-D#cQ8(5ddtYetizPS9LF@Bxsz!r^Kzzk=EF=;%;%VRm`^YrW?Icu!c@tm z&E(AVjZu{8B;zl}HH>!{dl@e<7BTK+bZ6YcsKj`b@jJtH#`6sS88<K}GIcWeFtsyO zGEHMx%5;d~4AWDFCrr|eubJE!?=s~vZe!|TtY_N5=)rV}k(cQW<4Z<irhAMkOph6L znO-uAGd*W~&-j6H591TYI>sA}4vZ@q`52QK&oXc@b~4OkFk>)bxc-0V|JeUl|Ihy0 z|Ig`P(7%I!zx;LjyW{V@Kb?R3{uKR<{ge7P_)q%Z#6RVKr~YaDd-hNNU*5lS{zm@Y z_;>!_lYg)Mee;+3AIm@Ee+K`2|Hb?(`q%ew+P{_mj{Mv3@6o^M|Nj2V`6u?@`k&>0 zo`0_Y@BR(?zy5FF|4Dxx{uln${h$6<<bU?x@BiBVUi`QG@2r1k{^tLC_SgL1x4%69 z{{OxH_v_yyf8YGw`1khToqu=yJ@$9{-^YK;{(kve@mKQSw7(Jm?*E<f&-dTsf2aOg z{15-X^#8s85)6q9^BJx&STO1_USq6e%w$^6_?YQ2qYJYTQzf$_Qwwt(QxS7DlQVNW z6EAZ$(;22jrfw!(rU0gYjQmWe7+*3jV?4*$%D9TLfw6%xk1>$3no*B&3Zo$7GR7|q z`xx&q++sY;z{IqN!Gh^1Low5BhOJEh8SXM^FurB-V7$we#<-oSim{DpI%6=?Vn!{d z<BWVv*BE~@eq#K>_?z)N<2%N$jMo{zGj3%3z&MlfDPtbv7DgAwLPjn|X~v@r#~Df) z5*b7oe*T~JzwN*Bf4=`S{w?_@{m<>+lD{1P9RJ?@`~J_azuW(;`8)B?roU7E?Ebs* z&%wXf{#^OX_xHwM@4v7APW;RK@8DnEf3N>W{1g6H^UvzvntvJp&i$M5@7lj3|91a- z{crU@=Kody#Q#VCQ~Yo8Pxn99KkNTj|62cF@Ym{p>0iD7X@AxJXa1G?U;Fp_zXg9! z{@e3+=D*8-OaDFn>-F#bU&DXT|H}P)_E+-X^}oXZPW=`9xAZUDzZrjd|4siZ`)~i> zz<&(?I{sz;yZG<&Kh6Ik|EK=H{GXX2kYNJDUIr~j8O9@wDU1<JYZ%Wn-DNan=4DD_ zHezaE_F}4Fj%NyBPGQny4rO}6q{Fm|=?h~d(^f_`rdq~NjNXjb7}XiqGpaClGiov> zGCDFEGbS=}FcvVrXQ*Mk$S{fV1j9DQBMk2tuQBK|ePzgG5@npoWXw2^$(yl{$%`?Y zDTdL8DV~vssfh78V-4de#wm;&8J9AyU|h<$m~l4aBF0w6g^Z<)ix>kKCoq~ZrZ5UH zDl%SYxW&-R&;TBPJoSIy|A_zo|8M-e@h|FM#=k3n1^=c0-T(LhpPs+l{-pk``V;Xt z`A^W_#6OXLoBw3|-SnsJ?~gxA{<{1<|9AS|Z-1}+RsF~LFZiFuzuJG<|Caol_;268 zUH|s~d-!k5KgR#F{)zr?`X~24<DdF}kAEir<^Ea!fAiP&|Bk<Q|NH-%{jdA$@W1x2 z+5c&OHUDq^%k}@p-@E@l{N4JG>tD-1@qg+6<o@~olmF-TPw=1JKjwdC|6cvo`FH8B z<-cp-xw3|T!vBu_3;QSbf78F*|0@4a{a^aufkBnwD8ojE2u2OY_l$jvRZO=TzcR@% z`7wJiH82-4^)q)eRWQ$E@?f69^oOaDX){v{Qv#C`lK|5L#w(2T8Rsx&FqSadGX^pm zGTJd3GD<UgF#cnRVtmSw!+3?Ej`0w~Ovd#LCmB~W@G<RR@MAj1(8YA0VHMLihW$)m z88$HeWSGFj!WhjY&Zxzt!}yQUjqxF4Hsd+QCdOlot&B$*n-~v*+t&V!yBW0^7cnw3 z_A}mMNMW4KV8<B7@Qs0;VF|<P|CS6c|9AaA_s{Tu(7)CH?*6s?m;3kOU)jI2{$Br+ z|9A7BsJ}D8vrMsnFa62?EAqGhZ}i`-e;59J^!MRk!G99}oc_7|tNNG!Z{5G?|8D== z_V35PJO94_`}ptuKY{<3{)znG^-uc$w10B{v;JxQ*Z*ho|0g(3-2S)z_4=Ru*XMu4 zUx)wMe>MKM{AK(<=kJMs+x|}bcj#~Ozbk*8|6Tg4|L@9QwSPzdYW>^tSMT3~zt;cy z{)YeS{oC?y+TU&ej{p7hkN2PL|I&YL|3Ce^{J;FaDZ{`28yK1xj2M40Y+;OLRApMv z*w6Ht@idbH(@!QpCPwCDrdLcAOvjiqnA(_pn7o<fn3$LzG9G4}&Dh2m$e6+?!syBP zltF~agVBxa6zd-460vU6TiR;!M>X}ug{2$ii=<Zy|CDT&cqpdI)gZ*eE6p3p<H2{B z^*C3*&_Uiru@j>4e9giiIW2g9u^;C&`0vTmC3uA62lq=p4)G2_Ay#$1g*<AU(?x>> zqlHXG)I=r=KNEN_B*|IL8^ybX`zil9zI-8BK|LM;{<A#VJU#+Cd`V&-gpAp{_{@Z+ z@o2Cw=DB-q`uml87o7fjW7V16_g>!VKOS}E(8o1*J)WDr)qVT%Rot7Lw~t=Lzs}^+ z`L+IY^M8KEC%+P2@BHS<q4KNkL*buY-<7{?cqaEg{P*Gyt=}jAxc))r^Odh0pLYG# z{qgEI-|tGM)W3Rfj(=7EAM|DGo3mf$yx@7o{_feUA0M~BzxMpxo0Xre-uAu!^TFfC z+RxPt&wnSqulc^{SI3vhqL%Cx4&|CVEKXUSSAMC(s`E^(Qevj!133@rMWR0><@t69 zt`;!hzr|L~y^#MQ*BY+XJW1kt0xq0e`P+GKa}_gGu=TJvF{iWMXT8n;owJGa3wJ!1 zEvGiSG{+hNdu|oJBYal{82J^s*YbvQt>hBsyufM7_lWy14>#XVo@u-p++w_)0+#%$ z0$T-(_znsD<1y#o|Nkp{=>4>hFVA`0{CVx;6_49TZ@JuFaOc?b$&XIFo$~t2+ZpfX zyq)sy+~@9(>VKVo7XKCacjU*r-+4bue{%dT`=$Cr<yZAb+povpzx)vLMfp?D*JoeU zKRx-}@}=qXmLE61$^2IT74U=g*Q(D2-#9;i`~2&z^GA)B9dESXY<V5}_R!nxH;>*P zc-Q{U<Wu~|3*WDPz4dd_&-iZ-f0+Jz{mV=ug*)FcQ01MGo#73Q(>jlp4yx>tnIhLL zVJjIcoGvn*_bQ(fml4+%c6)Xv4hyzkuFdQZxOZ?ea;kI2vMgrZ#c+_ZmErsU>&%^u ztn9m3-m_V-MY0C6_OfxYe&w`hf53f;Gljc~D}>XLvx&W(-I&9QJ(TMihaL9{u7_Ow z+&8$>xI_8=^91ux<tyN;<V)xJ#x3{fHdDpZ<sUX)-*~U>hT9F_J7u@H9?0Lbd|vwa z#hU{!)!!Ms&3T{suJ_BNkE?zOeE<6Uz^}tU(|>9HRQ$Q)r|r+u?_EE<KF|KD{mJ=r z_ZO`%*S|V^oAmYXxAO1bzl;3d`Ro0k!oMEB>;ESH(D;4lYupd@Pg-A--=F{Z@_pZj z+aJ_F3Vhu9vE@_ir_*2Ge5wDL`(yjBcfa(1pZzV#lEV-pv6Jtr)?~$BdNn%dHH@`S zC|0Pj%lwmlCN@c;N3coQgQtYgnS+;$pG}3GpG}i(20JUe9)}u-K3g^WN~X&!d<<6^ z%@|fOTw?mqn8Mo5@{E;_t%_Bft&eRQ8v|zq$9k@Cu41l_TsJx1a871V;keAci=B_t zgJT)zTaJFt_Z%Wz4>-)Y8#$+OOK^SV%;NmXyoELPoA#fYCzsz8-iW*xa;@XK{!QK+ z8}A;!-SznHgQ^$C&)8pIf0^>u<jswb&F^!+J^HNi<MX%j?^)mfe!Kte{I}KL_`d%6 z+Vn}|%axDUKV^T;{QT?7r!T_aWWVYBX#Z~d`{vI(f4Ki}|B3js?dQQ?FTR=o*!S7t zYxT$8PwXG{KBj$C{CM$W+eh`!8K3TdP5iR=hsgKjUrs-T|0exTWs7AzD<;IZOtn^a zi&mt%in_Z7ui_cy<<b>$&&AG2#t8L@s_+#Ee&Kq+8^PJk-Nw0vYay2g_iL_&+-{tQ zxoX&AIigsOvHGw~Vc}p)WIf6*#O}>uz~RnO#v#vngX0_*AJ=Q{6z=KVN4TB2?sBPe z)^qZ6ZseH6xs&50Cj;jc&OaP0I5{{!aYk{@=IrFuVGrS`VEE1~`(@v+l&76<U)(Z& z`1JamTPnA#Z>_o4d{^X2#G{Qbbf4dU&HQ@bJEnIFKV^MP|7QKw{>R(zra#vF*#6z? z2ix~a-?P5Dek=Iw|7G>3<Da}f*L<@5!uDC_>-NtxzU}>z`y=3++s~!nQ-AFHuKF$L zThM3jFO?tCKTdq7|DNI9@3+zKp1w7HU;6IWhXd~uKA-#e_N)IF*&iFfY5qC(GoIC# z!B%($_fGjO5@M<w72}k*D^HW#t8hwELuRt*R`F$mGlezyuJKRj-oTT}wVJDm>p!P0 zw;z`s_av^voclQg*^jfwvQA<B$5O=dpY;rjCi^Sa1MKJ6*f{jr&v2|@7voyb@t*58 z=Si+8u5+B9IDc|Dah~R2<y7O$;+)8-#Px#n8doh>AGaKLFb^m9cAf<sHQbI&3hZg$ zyZ<r2{`TqgLxmS{_jW$qcfa$&g2#UznZICvZvDpKwcGn8@034H{8;>T;+LWyGrkM| zy7*J~SI@7BKlOff{xJRd^4t3Fl3#Cp<^B@%<;UkkpQFC~`uzOM<S+NW)_vvtzW!V5 z_od(0f1CXMz?ZmhfuBOZ2z(I!H0Pb|2lsd0@6WvRegEk_^M{=ub3gKbsro$O+sCh- zKRbSi|Fit_m~Ai9A)%c-5wiW_rAj>VYZN~yOpy(iyC|_&(oW=q2#-LrfFDmdPd4Xo zj?3()*^=1Lu$HqQVHIQF#=3&_AIl=<bY@Ye1B`bVpEI0d@?iYK9LIE)C7U^&)riHC zjhi)yU5HJBLyldCV-@={_9^Uk?7r;b>=EoA*dMZQ=UB<n&Y8wp$fe8W#r>E|gPWIo zJI8F!nM^*cFMj0zWq)V=dGXV=FW*0$_PF%Xmxp~%S3S;sDfXQ8?TJ@hA2{Bf`Sk9? zy06DR8~>Q~ZPU+_KYstb_p|vY^RLz)jX!n1cl|j1HS4?F*LmN<zs~z6|IOvQ^Y_#r zOMh(t$@xp@_s(CxetZ7<^?TQk+rJinyYXYnml@xbKCk^U<x}V91D|X@PyM{%GyB&Q zUzopFd~^NT_(SIp>u+Ah>;D8eRah;A|M4oxc!+OQI3{bRut0vQOsVW`aYsoN;h7>E z_%sDBa9Qy@V`t;kWxK{Uh4mzBBWpjaHfu4fILl3zWlSrXXEHW3^)h~COkj#&YGw{& zE@a7Lab(S4)nE%_GiMKG|Hv-QA;yuwv4@?HBZIw#J)T{LeKk8DJ1>V8dksf4`z?+} z_CFjm*x5J~*&ngUurByFjbZLr&7T)vOMlRNvhI2D1M5dKAIx~*^;r1Pk7wRb7rc7@ z;>O#EH-|rjzwiBQ^y&5217FI%@A~%l`?>Gezl;2E{(km*@;B4(i@$b$%lNAB?Za2A zZ-2hM|5p5i`G?f6xSvygum9!#XTk4#zc>8O__gC#$`8h$$={xSd;Uf2tJ0UppQXN3 zecttD@8{oNmwws&UF6&2pUgi#{aN|zCF7xgS)5X=2}0Gpwo;5@wQ?phv*fzv&PZp- zo)`C*S})us_L~2R&~cuH{4HF}yuO?k+)p_yxUO*==d9oe=d5RM<}hG$W7lD2V|&69 z#~Q$z%__*o#CDl&2U`bwKDz^lEXPld6CClJk({oaWt>MiR5%Sdnm7)!e`KG@K8<|} zdnNl+_Ez?K_G#>l>_zNltkc<kFxs(v`Mv)CrO)SnxW8WdVa5~jmo5(#p5#27@#y{I zcaO`Szj^lmRpBd>cQ@b4ef;?0^5;XJWxlC?TloF<ch?_FepvjN`D4-dzuzx^<NeP3 z?f2KIU)8^^{krvw@3#wIjJ`*GHT_}r?avRz@1{Q&e4qTI_Pf~k?r*wZg}=Ig4*&e- z<ExK8AHRHP{dnp_{wM#B&p&5;y7KkkXOkblzt;Xf`ePEqgFma;|1o{!zr<xAepRSZ zdZ&b&OtiGG)C(y&ac_ym!Vg561)2n3@lNLB<niTs$F-3wlj{zrELR$56X$o1N)8bY zb@sb#ylg93r?9?e*~fZ-#fMFh^%dI|)(-YUHe(J)_VXO#9J-w6IYc-;IJa~7bDD7I zaK2zy;=Ir9$H~C4fm4^mo-2l9BbO}4W3F3lT3kn%AFvny>t(k8F8O!s`>e04UOK(2 zdY1Xp_1XOAYA<qMh`ql1%KY7vw<aI&eE9l#_UDXmqTf<~82?!QbIVV@UzNYk{7nA! z?Z?KSFTc<KapPOrcd>6h-;RFe`F8*7@2@W3Lcd-A_UN0}_nhyE-<N(r^DXoH+^<u< ziGB(Cy64lY&qqJ*`Bd}q|HmsIKYu*`sqItXmvx`rzxjMU`y=7I+aIf6o{aYYzOX-L z&f?$2^-Q!z@V;b{*kY+viBA&i#ZQU;5wQ}g6FklLmiHX@4X!fIG>%v7E7<<CO=gW} zV_==i+Qib%a)sHC`5jXZlM<5#(@w?;rqhfv%pOdqnLjagu<T&AV=ZHO#cIV`$o7PF z5nC?Xa<;>4bJzsf_p(K?3$h<!pT=&>VZd>XV=sp*=RuBq&ZX>oIrgz^W?T0E2ouB4 ze}Ddd)c@xHX7hWNmy)j|UvR(N@G}3U=9{?J|K9PwJN)tLhv+ZUJ}>_!@vZHL>yJG@ zpZzra_59bfpE|$we!lzV^&{n1`S%My8NV0&{Q9lrXZH7dKaGCO`K9+W_V?ePKYl0v zGWsL*>(Fn-pBH{z|DOJH!nX(C7k<tEruKEp*MP54UwOW*`I_{-;+xUWUEgQ_p8fOb zKi5B9%$5x0oNcV{`A={ch#nK%BcUT^DJddRB;F=&CZZ%-AaF_W7*8PI5>82OWA-wR zC9E}US6SRyQ&=Xld|(!4acAykp3L-;=^tYl(=J9XCT1p0rnO8<naY{NnY~#gS%g?` zu$*8mWc6k{#X5oQG3!#c$E;J?4zW&Wo6WkHt&jB=+cH*T_8qLI>}Od!*y>piv-GoM zFgh@0{R#Ld@$KP{Y43M^a(>18R^|Ec7lqHXp6`6#^<3*!^2;A@KEB@fe$%_iPXQk{ ze%bW7_uKBT=e}Ei&--Eeqx#3RAErNgfBgJz`{VWZkKcKJ?El{S<L&p{pBX=jf4TfD z`R(#c{g3`{|37PfKlr`!_kmw*zY~65`uY63(~ryF?tGK|cH^u3x00`GzpeOs=X>?H z`k%MHU;X{~r}F<}f0i&`VKC(6V-w&P<`EIOB<Lt^E5<BQB5^{jMZ#L-nV6QKzlauJ zzTi&o4SWwcGkMl?%;DnVaOLb{59APJ&u33&o5a@4x{GxM3ool7%N`almW?b&Sr}P! zSW8&>+5WOFW9ws6V;5mBVvk|ZWG`Y@VUK0s$7aBu!N$N2sykTN_Oe}OUB(v7TEG^< za+NiSshCCb|6RtyUr+w-{j%c+`+LsMxvy@&J^NhqmH+eB7n5EbeR1Pe&#UgYTyH%; z?0J9dlglUJuN`0Re2e=g@?+`u-9P+)-2PGcW62MJA5lM&zf1pE`Hks^*f-T5*S|LY z`119~kAiP0KNY^u|GD>j%TM7SuYR!oc=o;T`|NM4zomTb`&#j(_zU}&ji1fGq<#MJ zWzA>vZ#7^3f4}lI>(|BayZ+AkrNq?uuZ6vW*_>C5Q$whbuU2%b&>pc{BC29?qOKyh zgzpN@5=`e8<G1F$$dkj(z^%@;ozso;1;-)|AC6D#v)DoB2`R8$Wi@7HW?jxw#xjw` ziRC^^F-sEbKNdE&8LTteT-ij}U$NP<=doL{pJo5cCd6@o&7WfyTN}r0wj&%H*u*)H zv88dYV{7JAV^ibY!t##&En^4kvA^3GC;V9Y$M3V`_jm7pee``3@NVMk+BXSrCcJTZ z$MkO12cr*KpQn9l{rc`p>vyK_96uNTVEVQ4r{^#4U;MvPepUSx{&na_^H13yPk+q) z?*1e8`@8Q+-!FV$`2GF&Ki~C#nEXilVeq5;$NBFeKe)f2`7ZN~<GamQ-fy$N_<YU$ za`?;EFB`wqeP#H1^xKuMc|X*@pZ+ENlk4Bn-@Z&4|MS?-Gq2%U%^@Oa#QRuyp1@a; zU?EqLP$4^^8v-l%JNRz%{NwiLTFmLdv6+1zTOivh)(Td3*4He7Ea@yg%(t1(Fj+Gz zGp%Pj#puCwjS(~hk<WCK=_*qVa{{v>%Uk9>Eafa(tdCf#S*=*-vsSQPW!=Ck!1kK8 zl+B*)JKJWq9Clsye)bY}A@&IN39Q*{2bkhn*8XE)-1)Qq&$=%S-+Mls`}Fs%*L%LV zS#M{&HF#_KKImP>N6!yCJ}><A?d$C?XTRV3=J2!nhvctKKU;s*{3`kN@R!)Hx4#zs z-22P)XX!77pHaW0f2RIw{<-v*^{>Cbp8YERUGjU^@9Dp{|MvYI@q5y*-e0qR7XO_2 zBl^d=?>XPIzTf}W@_qF;%^xqm`TSh@{l%~6KlJ`y{AI+D`j?aC1w#pkDC<L>Rh%6H zZ+XuN=?fMK-w>K0bWx~IAVKg5uQ)#|cQVf;j(ePQ*fz2ou<Ehdv*@$VVV=w)!z{?M znrRlZ36nhYF~%cIO^lsPJ&co>o-tl#%44!&7H2-me3aRnrIO_c3n!~MYbL8D>s(fQ z*3GQatOr=%uv})n%<_!&0?S3#+bl7x=UGBnl3DVYf|;BChcfp4w*L3}o82$3Pq)9e zy}R(y@Xf||X|Fln{(F7;P1oB)Zx_AKegE=f&PT~FHJ^pPg?wH9{l>RTKi+@u{JHGM z`=0_od48$=l=~&~)9M%3&-!2TKmY&o|2g;f&YzBdynh||^X}KTKPA8K{8|4y;Ln8L znZLjN3i>7c%l)U!&*UGPKR$i0`Ofge`1{l!;olej<osdw+wf=VUzXot3`KvLSS~TB zbNplR<7wc$$bXtwR7h3uy^w-%q|h|s;{tny*71o5&gOZ=w~A{kj~eGju21Z$oQmvE z*)!OFv0Y<TVv}dBVl830%W{r6jU|&=ktK#%ie);pD~klna+W15QmlHcOIhc!3bLJL z4P)ENTE`a6TEWJ|8p^hVMUpLz<q4}T%TCt!%oABNnGINdm`Yj78047`|NYOP|BK<D z(l@<dil3yu{eKtyiT7>W`^q<b?|9zceB1SI|GVZ7-X9ixGXAvbi`<vKZx6l-{BZoP z|I_Hly`LL?nEtx>!|vDIABw+>e+d1$@LlRx=XdpA)!zett^eNeOYX;nU$cKq{l)Ur z=a<*d{XhMGKKmi`lle!@56$m~zqfz;|IOoD!MB`my59u8`+ZaX@#5R@pG-f5|7`pz z^k4MPAtsyu@7Y9|rMPX`_wbo<y9#FWRS4Az6bk7HCJOEpIKp4ce~<SZuPBcYPYqWi zmlmfDrznRVhaP(tdjQ*dwrtjKtP@yFS#L3SvBWbgvp6w-Wv*ZrWqHXQ$x_8~nB^CX z4r?jvRMyq3KUi0>hO<p&oz0fXdY8?DRgqncHHlrEbrHKL>jw6FEN$#YEYI04GR<eL zV`yLw{+r3L;Aj1xk6)vH-2Bw{<;;g8AAh`8{9yUv$ouGznIHarI`i?~ml>beeJlCu z@<ZW!`_J?rUcY>Q&i-}$XZ5dlKjnU%{yFbw=}*m{!ar~QIP+u0kNH2A{FwG*?~k27 zZvXi9<HrxzpZ9-M{9N**@~6oU`=49C@B3l(UG>MCZ&SYC|7QDL^Sj{pQ{SDxKmBp@ zd&;lxKidDy_~rlq*`E_kxBstX^I)#z`pmY5*Nf{p|3{uz0(pGv1P<^u^Yinq<lV;8 z!_CND&gsE9pZx^8GTRci?<`MQ1zD0<!<m1v%weixdCT~XIg7E5S&C7XS(@<~Q!?W% zrYDT|nI<stFxxSEFh5{k#+=XcmH8q|0E-;!a+YLP2G$v@DXbq^kF(mbsk2qHWw3>@ z<*==0Wn{Bq`OWf_QH6QkzZ8ZyzrO!5_-^x)`^&|zH$L)zKKmi><Gl|LJ{<cP@zL{h z=O^~B`d==7d-^r^NA35uKTrQi`*r!}u3rtmF8%uQYwIuF-#Nb=f1CYs|E>AU@3-Tx z%-?f=&HK&q`@`?v-^PEQ{to!_=eN|KbHBI!j{nX7``EAWUmCxr|J?lZ&yVh((|)Y@ zS@y&1*WMo@zcYUp|C#;E{h!~T{S5v8mNQ2(K4oiR`NnyLy@BTnmo}dX??t}Zd=Y%# z`1pC<_>8z8@@Q~!bK9{SarUrIVs~PRV9R07WqrkTlck+0oJE1@CG&B{TIL2uedZ*_ zPfYEM*O;C%UScX>`pv}8tjoNbxry0{<s$P&77mu@EJ`fDSmaq4Sy@?_SYI%+uwG^U z&vKdhEXze^8<u&@O3WP0(Tx8XAN=!TSoQnUU)3M%zxRH5^8M?_+h6{^ulS_+{^<wP z_c0%|Kdk<+=;PXt6`y%OCw{H_qWS&h*QGyXzaRLi@}v6KyC00dn}2%#zVoy3x5BSY zzwLj0|DE&8_0Ozdoqyi_I`=2xH}~Ijzvcdl{CWLH?N8;Ox4$p_?*A?J``s`9U*5lV z|J?Ai<Y(Z|uAhcK`G3{^{PRohSJWS;-**45{F%z|?Ozu2X2w3Yn=C6htvS4SQn;1) ze)2N&Z{YvJ7b76d$18A%hlO8{dn)e=&Trgy9Nt{=?7KO<*z(zTu%@%=v-YvBW_iM5 z$&$$Ol$noZ7xQ)Iqs*t6KQg~%c4kp$naq;Ma+_rr%YT+PET36eS=X@qVF_e;&hnXg z56fKU87zU!l`Q<sIV=m9Oj$UX4lpw?erKxuf0WVXFAKw@Uu*v^_<rZt;V)0V=YA6Z z`sBmiPfj1AKK6Xr`Jw*fmk<9wo&31*i{$6>Z>?X%eth|w_fz(J$}jdGAAimMVfXv- z5AWaafB5}A`NQn@@*fJnC;VXfJ>kcrUmJd0{`Kd_?q7*NSN}TnGxwLkFOgrSzo!0_ z{l)h4)X$6`;XfaLzx8A7_m&^mzX$%P_>uUd>F50)>c5Zw)c<Ss``~|vznhtE|L0<R z!sN-R#m3I##VN)2n%j|oId2_*0pDFdAHFrb4ZIdS@jUCeB)QEwFL8cgU%~O3Z9cmo z+Zi@b)}O2sS-e<ZFmGikU=C)HWEN%NXJ%wEVwPs9V|HP=#@xUn!g7Gco<)S!ktKrF zoMj=aB+Elq1{Mys7tBg*&zNo5o-li|U1YXko5uW-^(B)5>q5p4%!mGSFuDHi_}~3& z@t>35C;Y7Wdgj~r&lA4{em41>^Lg1P*)Q)t>3zNax#k=H*9+e>zy0~K;rol9`+pSu zn(%YeFRov6ep&oV{AKcs;}`F*EkB?CjQhFzr}EE=pR7N9e{%lx{;Bpe;iuEjj-P=) zSN(MVx$CFW&(%La{wVvo{)gGm&L6LT^!?cN<Nl9@KYD&%`Z4QQ+E2+pxxbkIefpir zaQCk@vp<79+Z!es&dsb%+<F{tyvAILd}Z8Pe4n_(co%Vh=RVBk#x<L>l_Q?xF`GGi zGpjjU1xo?zD&`9;ADJvz+?ZA}uVYkac4a)kB+6LJq{0}(RK!@q^owyJQ$N#1CT(Uu z=9SEW%rY!1nKM}aGjCw=WBI}|fyI&a5K9B=bCwmX;;frktyz;<wOFUI>|oJiKEf=? zXvNg@kDX!8@5H~Sesuo||90j3nlG!qp8jn1W%K7%pN+me|E&FW*_XU;hrX`)&hY)h z59=Sxf2RKQ{}u3S%P+y-Z+=bv{p;74-#>mC{Q2<9^UtSW9)GxgJN>c$ZT_e6x7DBH zzYYFy{L%g+{)geuuix8#@A@77yW}^^Z>!(ie+mAs`X%r?;+O63_+N{D&-xYpNB?*I zU*SJL|CRrJ!QlR1lev_!kM$1oHTEF34V*JLK5(UTm2yw!cH{oboyj$o+mLfD*IxEK zPA@h|4kp%1Yz!=0S>2hRv7BYHX31qb%B;YY#C(@ghIudJbEd<Lr<r~;US^7A;%2_W zWWyZ6T*`cvc@eWM%R%N&mZQvTSvE26VQFFB!{Wreg5?X-1eP;QNi4^ixLK|<B{3gl z@?r90+Q?AKxagk}gZdwre-%G@|J?f4`E$V+jqd`V)xNrY+WFb_6aVL@pHx17|9tp! z<kwYSE_^%v)#%5kZ}C4_e+2&e@Pp&`{+~U+Q-6K<eg2orAHLr;e;j{r`jhng&Y%9@ z9Dg_eR{i_px5r<_KTdyb|8V~`{4@Ix^B<u<+kdzI_WccN$u9iW`zz~L=&#;ij=w(q zO8d3>_qAUq{~Y}7`cLz(J_FbPEG93;$1K;Gec1chqB&(aZ*tjlui;+BbA#KKw}_jK zcNLd6&jL<U?lz7OoQ3T3IO^EK*jKX}vvIN7vG%aEvuLsKvYcZ+$UK30B69?D2eSwB zRAwLMea!jHpP8pK8?c;Uj$?VsT+8y7xrXH&b398cvp$O^^9SbJOq-b}F*PxVFeNa* zVzg#XWc<LC&k)C?@;{L={Vxwg)Ng}-%0ET_y!&?Xr{vdD-*0~w{ucK6`<Kek9bY8B zZ2zM5HSBB6H`8xVzT18`|LOe0|CicN&EMC5ZvE}`>-X=xUn+lse<}Wv|0VF}&(FKR zU;JG2`{U2j-~7K^e!Krt_}%~O>96a*mi%J=?fy&r_w}FOe`WvN@r&(e+^-!!SblB$ zvE}EtAG3eX`?>MwieJjVB>(*U_582PA8rPLe;rI_4A!h0n69#0vZ``TX1~GR%=w7t zESC&#F867kGVU+j4BQ{M%(*smT5&dTsBpxv3$rJ(iL&*x8n9kw$zaiAImtYa*@xMX z`9IS;rdv$6n65G1XL`-_mr0CSjX8!nhIuLTB<2UqyP5S_E;ARf++$wL@__jX%M)f^ z*6+-QtUsA`SuZk6u;wr?Vp+rVn7NK|71Q1S+>H1B3jSaH`_`Z7Kll7P{{85WDc?-L zzxk^4?aJ3RUuC}S|GN2`@3;2va^LfR$o}yA$?=or*W;g!zj}Xd{>A)z-7o#$4ZqBP z2mRvvt?=vluTMYM{yOus_t&<c4ZpVhocwFs&mF(c{e1E3{7<&uCw{X3-thD5uUS9e z{A&7n{a5?XgTFTYT>ne$*U?|se*OM+?{~#-qrVn^Ui>Tk`+?!hKU?PW46|8JFx_L{ z!?K67k&S`-A$t?|NscsbQ_lTd%AD&tS8?QXd}NnomtjB4YR9&crG|AI^D34<Oy8KJ znH-oOGHzwcW%OY(Vf@Lc&3KbB9K1g9I->&9d&b2~5=?r`u1qVKJDAj1jxzPJh%kR( z@nN=PtzfQTUClg`^$~L?s~n3rs~O877G{=5%%#kgOeIXS85kH-|0(@v|HJfm|IeGh zZhk-iqv4zC_j_Oef8Fyn`>W))?5}&jJ@`85``&MbKTdvk`+5Ec_pif0XZ>3Ci{p3p zZ`a>kfAW6U{F(au$e*phpZ$68`_muZKhOVI{<-@n@z23O?SHoYnf7P)pNW6U|0Mni z{$u%v{}1P%hre(CUh;d@@8aLnfBXI3`#bTs%AYyEkNna5v+pm@U+(`d|8_B4`QOPj zo3WUskJ*qdk98iq2zxI_0moYoE6!US6`Y|QTAY*ETR0}N&1av_x}I%4%W2jZ%s*K? znax=)FimI9WD;gpX4=nmpRtqa24gMLSH^ZG3#PS9Q<*L?eP{Z~l+G;3e2!U`S(8PO zIho}@Qy0r^rl~9|nWnJhGc~igF!{4MF|o3^GUYKlF|A|bVd`X@$jHO6ox$Q?>3_99 zC;$HVdH46b@2`KFev|#d`*r2F&M$MnwtP|k`sa($*V|v0e`Wbz@J;(i(D$^T_CFea z>Hh5e&Gjqf&;4IN{*?bN_<Q&F`oFq=PW(;#v*qukKTH0u{WJaVzCY9dUiee@_wgV1 zzi<CM{PXEg#h>$k82)tsnfKf1kLB;9zaRff_`T^D`|mTq9{iH~{rA_|-#x!C|7rMR z`|thVcmFs1f6Taz@e}h4=Ig9{Y$fdC95Xo9ar$u{=4$3N=Z@f%<i5yJ%q7oJ${ENW z!_m#=$bO1dmra({p0$akf`yyqA@f4!Eam`a9cDRZQD#1731&8C3uYGPc;^31vzS?# z_cF6FUt(rvKFfTE={WN`rj5*HOp}=dn6j8HnQWO=m^hjLGoEEy%-F{y&S=17!?1u+ z^#5jt8GnoazxsXiul6s=KRrLve_4LN^&{xp;_rXIKK>^1ZQ-|h-)?^^`X2ec_6O&W zj-Q8qO#7Afv+6h3FRMSZe;xV5`CII-?Qh$^_P=fZYW^1b%lrGtpHIK?{yh7o_~*;7 z6Tbz2*Zp?+t@1nL_vK#=zng!R|F-<)^ZVaVmft6SZu+(2XZo+TKTUuA{i*tE&M&WD zlYZ~}b@R`x-|heI{%K=q{&$!uok55-pUINFoP~+glg*CnD*IcmHyi@o4V?S9=5Q)< zxp2C3uHgvexXbRy&cbfaCd+2aYRj6+lEAVUbYcqgAEth$Dkdi;RVH<&H;hV5j~I2C zc$wUp0+~{ob}-Fk;$}X`6vKR<X(sb4riaWwnKW1gnPXYZncG;xnJ2JhFn6)IGY7N$ zX1c+g%p}d6$;iUQz_5TJ`rqe&J%0@UUi($|JN@UEpOHV7{@C{Y<oDX|iQgA}FZ<5% z<Lvk8KT>|!{S^Co>gU0qzQ1yR&Hcss`|_`@-*0~1{r&pa&)+Y9z5jjp*V*4^el7XE z<yZahg}=&vPx)2&d-AW=-yOeZ{cibn@OS60<G*`<9r-=;*XG|#el7WZ?AO%aUw=*f z?elx(@B6=h{NDa2{?F~d@_(cL3;Yvh^!xvvX+Ogi7GI_wwmZz<*xgzGa+I)Db9%Bj zac*K4<UGml&(X;q%Pzp~&z8^T&AN%zm*pKx4YLHxA*L{9S*8t46BtdI^cYVu@-bF3 zsxta8Rx%nh-eGiL3}wn@JjJw^F^ZX)=?=3alOIbt(*l-NOxIcNG5ul@W@cseU>0QU zV1B`}nt3J5W@c@cdgdf%7G_N*W2RXQKNwE_%lQB7&$hp8zwiC7|Ec%O^v9kbY2Ocg zXZf!FUFtjQ_q^{u-+z67_<iAz)ju46&iwiC=fq#>znXu4_!a&q;`gsVTYty>{quYJ zU%NkB{}%n({deJ?d4G@pDf;{9kMG|vfAs&}{Uh`D=pV_y)BbS$E&B7}kLRC*fAs(K z{89Sj_eb)N#vi>ua(`0)1pK-A=kTB2zm<PG{+0ea_J8|-Wkxf`Sxgt1_*l|dB3Vzf zMzOtR`^`3q-JJarJ3spl_StNq>}+iN*kW1#v#w<^V-;mdWvO9a%FM&e$-J0p22&VQ z43h?vIg<pF7LyE<E|Uk76;myf7t=MSY$ko?I;I}xHl`cQX-rHkwoC#nd`$nDUot*q zzRI|f`4D3T^BG2Y=6j4&ncg!#W<19Do*|R*(Em*gA^$r5ANj-nPxW`?pD90g{sN63 zXnz;|(f=*@d)~L--!^^w@h#xH{db8U=f4a7Z2s~4r|-{qzw~|``py2k{LjJPKmIuX z3I03vPxaq(e`f#v^JmguwZD`8I{j_>8~Zo<Z_!`fzde6n{h9rD!k_tnE&eqAz4qJb zZ~yN*fBb&e{89QX`bXvW(cb~T7yRD%`}A+$KjD8A{~G-@`<MBz>HpXNzZrHjPGst3 zmS+iPox=Kp?J%1R$3pg-9FiRJoH`u8Ili!$bF{LrXaCH0o-LT|5$jr39#$S!KbC5i zP0U;@&de*AUo%BBZ(x#VZee=Ml*V*}DS_z}Qx?;4rW&TpOf#5nFzsYI%d~@OBhxmf zUZy2Xu}ssMESRd8c$k8izA(x$ZD)MXn98`C@dbk$qZh+^hK&EW{zv`W^iSz;%-?&z znf@&Kwe8oUpYwlS`*HC{^pE@>DnF8cIQ>}gW5EyRpAJ7Oe=`62|MTpxx?gR-fB#bY zll;5q&(hz=|D5=J{m<#&`~RHzJ?+n#-_d`b{FeK}{^$H}n?H@ebN?9sp8DteueE=+ z{aW;=?^na0qF-Kr;(v+!@&EPtcl@vOznA_x^IP`!%im{y+x%Je=g^-Ee|!FF{Gb1C z6T_GPc}(?;YAnLcXIQ7O7_)z4b?0DWf6uXt-I9}!LzPpI;~>Wgb_EVU_9*rZY>jLT zY>QdVSTD1bvWT$kWv*b>Wq!!ChAEH9kx7&386!W_1V(wLbVe_xIK~>LR>mDnM;V_n zX)v)fw=fAZUuWWBmSq-a_G4CM&SrLFPG<IE_GPwXmSJXQKFze0$&HDhsgKcyaT<d< zL;3&9|CIiv{Jr{z?N8h9Gr#hFUHduxr`k`>pDTV`|Iz*9<&W7vtbcy`vG`}$PqSaA zexCnj^(*A}ykBR2KmMiqhx2#pAK~9+e}sNl|6%@J{^#qj+CR5{)%`j0YvP|-zh?aD z{I&H@@2^9Dru@44XYH>mf6o0n|A+JUo<B~%_x!2(z4y=l-}nE>{t@{*;ZNRQtH0m> zD*jvj&+Grh|MM7TFi114Vw}r-j){}?DYFLKRhExzJ*=th3~Zh3)@;G-`fRt^-m&Vk z)v!jherKs=@nYG;Jdv4+`8rcJlQYvB#v_bV84DRJ7|j@a8HE^6GJauDX8Op`$MlZj zAJZR(a%O(Ud(3`}CM;7Jvsi90*0G2)O=JmVn$A+gG@Yf7sh4FYQy9y1CO(#Erheux zj3=4G7!NX5F;p>R{{Qh$;9tz&Er0I)4*uQ!OXFA7PxqgDe{A`Y{-f+i`j3_$Ykyq% zq4G26=fR(!f5!Ye^6TBNDZf*HC;qwkTllZcpM`%@|NQ<t;g9~m-GBW4o&FQ?@8+Mx zf4Bcc|GW7o;@{mrzW+}Aarn3KkLtg^KmY%h{kirx?a#`;-hZ0@+Wd+6tMez~ugRbE zzo~zY{5|o<>tEtu?*F#`KK}Rl|B7J(!$-zvjAG0R%sMPuEE=qLS#Gd~vHG)3WUXQA zWX)xZWR+)o#<GYtnT4D6GIJ!05A#~)+f1^|g-mOijG5w?c$pNLgqWC_l$bs<+A+Og z%w~GVxQOW<;}fRajK<987;BghF>YX9&3Kr34&zqla>lvLp^UA}nv4<5+>GkX?-;Hy zonwe(n!~W2(Usu>!-@YV|1*PD8~^k8`{mE)-@AVw`PKF7=+EY#ygyI=Sn(tM$J`&m zKW_i1{NeHQ=#Ni7Er0I&b>!#l-zC4||7iV|_<Q;H(!c3{*#F)6WBSkZug$-Lzxw}{ z|CRc8{4eLf`+pz({qlFqU#@@oe^vkK{nh>V=#Rj^<$s?4P5HC<ugah3zmI>5{@wBW z>7T8?&;EJ(`_3P?KT3aZ{Mr0>_TTn@v;NKgfBgS-1{Fp_rY5GD%(s}CSiiH_vpr(f zXRl)0$9{>8m*W*1GshXW4eTXsy6it#r?SPdzGgkhV!*1*(#bM|`5Utub2TVsGIua- zVDexJWm0DnW@2M{&G?P+CgUf@%Zz^*4={2u?Pp|T+Qs;haR=i$#$Am28MiYoWn9a+ zkZ~&GM8*cjTE-YgGe&L3hYZIVLK&19=KhcRzxiL$zuAAQ{&xMz`7`Br*6$0yT7K#N zdhv7r&$genKa+pf|7`!c=jW-P*1r^gJ^oettLOLKU#fp>f6xEZ`}^;o6TemezWuHD zSLlz>U(G*X{}}u^^vB`Pj6XqtqW<Lkk^a;D=g#jHe>VO;^Jn7k6Mx!%@BLH!d)A+- z-)(=|erNsZ|6ToO^Y5vD-u%A!C-INT-`{_Z{QdTK#y_?H-T&t^tYA=LI?K44nU7hN z)t|+bEsgajTOeBl`+c@u>@w`z+1c1r*-x`QVM}LoVEf8i$C}8xhh;m<4`yB#JLUrB zE~aNpzZgrH<}*q$H8GxJY-F6vxRP-q<3Ywg#?Oo^8AX}SF<LW;F*z}%F?lm>W{PHd z%~Z$4#=L<EbPn4GCKKkHOrSHm+?eZ`-Z617<uDa6PG(%h(8jRgzxV$+{{;V){Js0f z|Id}*{=eV+YX4>Z>+8=;Kezmx`g8Tqg+Cwsy!KP<m+`N{U-N(6|Hbgz?|0<yt-l+8 z^ZZ%#JLJ#Q-_3vee=qyf@O$r{mfsiubpC$!XW{Q(e-`}~{k!M4`ro6!ZT~+09rTys zPxN2OKUsf`|J47r{4?pV?w>V()&Fe&Yxw8--{wD}|HS`x|NHq@?my%IbN@{kx)|~p zBN^8**)m;bwqicSBFB=)dYk14t1s(K)&|z)taYqztZu9)Se~$GvgEMzF+XHxVvb^- z#`J{Am?@v>H6stxF2*g4D;V1t*DxkBo@0z<WMGP7bY_ZSoXeEL_?4-Z(T#ZvV>|N$ z#uLnfOn;e$nKW30n7mlNG3K$nVQgeM!I;akj!~Q?i*W+89OG4{<qQuP|NP&}AoIWE zzx+R;e}De$|MTQ`|L+UG*8SrCCHAY~=cS)PKTrKk`}ywYhM%^-lz(mbHS3qwZ-?Kr ze&7Dh@Td7t#2?PT%l>ryz47PjU#7o&|8)MU{|ox7{V)5k?!S(|hW{r1HT>87*Zg1d zU(J91f2IHF{T2Dg|5yIs!#_&@*8b7|SNccgpY0#*e>#7x{u%vA|JU~C<Uf|bUjHxt zef|IJza<QB|5q@wGv+bLGUYR~F^973Vdh{pW2t9tW?9X;f@KNoVwN=4A{JIwRhBlE z1I+9!am*8#|1)VZ?_xU5G?A&EDTyhZ$%@I0Nr6d)Ns@_&Nt20#DVXUGV=vQt#(hk0 z8SgSZVEoQ>k&&5s3Zo#i10w_T7X~Kg-3*M(oeVt8aSX4RbQxwb{rS(qwD!LjqxJt- zhQ0q{{<Hrx{Acu+{jbBHPrt)|EBx;JRq>1Im)Nf@KkxqB{`2<F$3J<0x&5m9wf>jv zZ<pWae_#7u^CuI$kAB_X$iE!_Hvjeb_vCN%Kem6#|G56S|NHmX_TP`cn*aX)mHfx| z@9SUge<%L_{oDKZ{a?qw_x}F+bK&pmKO6t%{h9mM@z2D+R)3cL4f}KN@9aPN|AhX| z|F`e2?f<#|xEL1x|G}`2fg5yw6tfhw8H);w9P2NZ)2zL$R&1|WquB)6Y}iED9<e@U zO=In4y~M)BYR1yXvW8idMTdD6^C>1*=0c{oOv+5lm>x0aGp%FvV(MfxW-4S9V+vs8 zU@~C*!zjx5jggD-9U}wd4aV0Ddl^qL%wb%^(9PJ*Fp05<VJ2fV!%RjqhAc*21|7zu z|2Hw@{Fh;P^e^DQ*T1}fv;G$SefFpAkIkR`zgPX1`)&Dq-LJ2|Qh&YpmGw*VcmJ=9 z-+zCd{+<6@=MVdzvOkS~mi&44XWJjezo-AW|GoFe?eCjEwts*9k^9T?_sbu)zsLW` z{ayLT<Zs8Hu)pztGXFaMDgG<>r}!`TpYp$~f9n4V{+aMs@XwOJN`FrM_4@PqZ|fh6 zfA{`O`j`8c@4w!^mH#dN=QG4J7&Go;lx0$4=3!1{`N~|tx`)M_Er4|s+jQ1PY!g^7 zu|=~^Vf)Xb&Nh){0;>qi8<xe)&McbD%b7PYNif?n&0@OFXvNgb_?OX@@gAcR;}b?< z#;1%NjPDpZ7=JM;F|sfPFfudsG72&6XH;Z*!sy8KgE4`Lk*SO6593~@w~Wu2&N6;w zn#=frDU7k3iJ6g~sgA*x@zwu$2K)cE|EK)p`*-v2$3Jp^8ULjJar%Ap_x4{^ze9gT z|5o{x^;`8<@9&Ubdw(ze_2&1-U)q1{e`o%w|2^~1+TZ8?9Qyt7&*|U%e=q(v`g`%W z``=T)WBy+Lo%8q8@AAI_f4cvQ{8{!__0PV)`hV{J_4vc}FY=GUznDL%{}TSR|4aTe z?_ceoP5+ksx%Th>AA$c(e+&P+|9k#l|9=vLE5jLvT*eT_#Y`_5S2DLVwX;Yw>$0{n z_p=^nUdei#xr=o=vl(j;^C^~pOpYwem^L#zGbu8^WL(44${50A$|%P4pW!p(GlqwZ zPZ%CEzGL{u$iS$~B+D4b<jgpaDV^~H(=0{{=EID&%#RtjG5=)z#Qcp>gyk8d4$Ce^ zEtWn;B^E!%f6P3LE18cl=rd<BG%~&Yzk$)`|0;%+|8o96{44uU@b9BPrhl&g&il>r z`^B&JU(0`){@VUa>eshls=q>iXaCyy`{*yLKPJBq{@L)``>)2I3x6m5vH5rVPxn9m zzeoO={QdMV_%F}@yua-KJOBRuH|Ou8f0O^-{MYgK(7(dJNB$-JJ@(J}@5z5Ee~<k8 z{b%>Tvwzn9+xTbpzm`9p|0@5?{a5+t%)i}#H2<sr?fHNDFAKwxe@zVY{!210VmQLM zh_Rljgh`!QpZOs3dS($8E*57NH5Nk_brvp`_snOR7cqA*Yctz1A7FaRl*zP$Nt3CF z={KW2(^W=Arqhhy7>_bOXS~X|kMSMjVMaNo)r=ub>lr(lrZFyOs%2co6wEk_Ns@6Y z(`|+hrpXK~Oc4zEObQIqOb`BRFs=Uokg?)_CZpZ|+YG<{DKSj_XZK&`pYy-wzqWs` z{)ze{@n_=imfxR#$^D-Ei|KduFX7+QentQO{A<(ihTmd;^#0WUx%=nEpJ{)?{>uE@ z{I~7j@4s9A>40}@9{A_;Z_husf7|}){G0br;9upx?|*~;-TABc@BClxfBXJk{JZY& zqQCS1M*W@qSMzWGU&g<a|9<;3|L>PS7ykbGBlu6}Z_U4ne}DXw{@4Eh<Ua$3HUHl* zY+yLdc$RSo(<P>b%=?+MSZZ0=S=m|RSfg31Sj$;6SW{S4SS4A{u`FXrW>IEgV_C?& zl-Zcsi}@VW2c{~fMNFnl;Y@EBrI=PT-e)XeT*~OqSi)$`=*%d>sKxk=L5%S(gAn6R z24=<;48Is=F+62h!*GpZAHxZT>kKOyJ~A{g{9s69c+cR$u!cdAA%NlW|DFG5|Nr~X z>c7Un!~fj=8vM)sGw1K--$H-oe{cJ9{#VhTmA?}HocR^|NA!2zpVr^SfB64Y|C#xx z=#RkP%0CHzOaFBKZTd6&@6<o@{;vGf_xHq~mcN(&Wc|JO$LH^@KZbu_{gM0o<B!~5 zuD@b`75)nU)&I-+*Y7Xa-|WAC{>=LO@6VCHzyEysEB#mRU;N*;e;5D0|5y93@W1!} zfB!ugmN7&#hA~z#aWhR~-pAC+Qo!uV`jz=1t1pWkTNz6#TP2GLTQJKrRvDH!)@#gX zSSB$WvA8fVWq!kC%RG_k3X>|+1g2ArkxUhgrc9BHf=o7y-x;kKA2V7r-eq)UyvZ2G zc#^S*@g(B{#siFZ880#NF+F26W0GgGWeQ`mWolsJVVc5pma&(qo-vZikntVkRfb%~ zQih`p!VH`Yv;GVIXa2AGFW{fm-=4ooe;)st_dDs2$Zz&P$A4Y<z2w)f-&=oe{Qd0L zg5RdUC;YDdJ>&QK-&=n_{{8DW>mR#6ihm~kk^gi1kNzL=zg~Y_|EBy&{agQM!rw)I z_WnKl=j-45f7JiI{uBQ1^`D9VKK(iN@8zF&|8D=`{D13@(EnS1#QyXARr??Q*Yf|F zzsdh2{>}c+^#8{HUH>&1x*6&j;uvo*m@>IDer7txIEC4pNt$H?Qx3}qraBfD=4cjf z=3mUenVOg%GJRs&&s5IT$HdJP$aI8JoT-8F4Wl39UPd#<m5e%!^T2zVa~M}Ju3_BD z_>*xjqc771#@S4F86Pu!XXIl3#i-59$mGa;n=y`gH)AGq2V)AeAEPNVALB=+Z4BK^ zISjl^+zi!>tNveR(E88IFz=tif5v~V|2+Q|{GIq`!yl$U3V&Ar-uk=#ckA!w-<7|2 z{9gY1`|mHmZT^J*$@{b7&yGJ#e<lBVgU{|`{CDhc^1s)A*Z<@F_u!x2zwiGX|NZ(G z_V4e%sDFR{mHqqqul^tN|Biou|5g4I`5*g_`@io$#{W|PZvXrK_t3v1e;54Q^|$Ze zj=wGcF8*Em@7LcO|J?p*{9pfX?tj<+Y7DRc?`Bxa5W(or_?7WHV?R?Z6Fc)qrf_C! z<__in=GDyp%tx37n9nmGXS&Xu&9skMk7+IQYsPBk4UE3b^^APX-i&9M3>YUeX)^jT zxibng<uhJmT*|nJ@djfy<2Ob##vhEo7(OxXV0g?}$Z&^Io8cDY_y1=Z_y6C>*#Ezb zG4{U^qw4?T44?nSG3@?#=YRLVu>Yq2*8h9>_s8G-zovh`{Hgxa^ymI>?LTF|8U8r@ z{{7qYx7430zoY(0|5@<o=%4F<ivDu`W&LONx8h&c-_!pV|7HDu=da3t)_+F-HU1g@ zxA`aa-{RlTe`^0u{$u(#?cbfhh5vT_4gR<EufxCPe?|Un{`>CluD@sg?)bau@7}+2 z|DOIk=kLS6d;jwMd-6B=pVq${|I+?N|3CNd>woY6n;8E8Z(}^f5Y053QG+>}=^?We za~aEK=A$h7EN@s!SRS%;u^eZ~Wm&|c&r-m0oY|HopZPztB=c(K%S>U+6PP|R1v5=& z;$*U9I?H&2v7ND&F^o}zQH$|D0}taehOZ1Q45t~27*;YAF-&79V3^2I!Z4Ykf?*y* zCBtlnREAj$(F}bIP7Ey!W(@HRG7RzzJPb$v-~Au*f93!4{{sJ;{d@hd`ESm@8-Jev z_4$+i_rq`Qzx#e4{<HP>>_3-(H~umBQ~YPqpNKzle_j4${WbZs_^<Y#(|^_fy!>nS z=kH(dKWzUB{;>a>{^$GO9e+;#z4d3(-=}}V{(k$T_Lt``%U_ef@Bc*oz4WK&@6JDa z{;vJ=;qS&j>i@3&iT@|{cfr5@zc2oY|8w}i?cdt}ng5L$6d1NJ++lEIT*Y{Wv4$y) z$&~pC(>>-4<}8*o%%@qnS-!D|u>55C#(aV01alKhBeOh<3G-6s*G#I+GnrO11v3RP zu`@9+9cR4C*v7b&F@mv&(U`G;QJb-xQIoNr(S~sfV<_WX@NVkmjPn@pFm7QKVLHm_ z%Jh;kgy}t_2NM&MEYn}cH;hjhmoe^TjAv|O<X|*pT*GjK!Gj@%;pYG6|Kt7#|3C9@ z=|7u)0{>S3E&VI|_vfGGfBOD}{;~Zd`-kVxr{AJ~?*2CW^ZIxCpTEC*|H%DW_s8|m z)jwT-ZvQ#;=h+{Qzt8>z{r&J~#$TSlSO04LW&7v(*YID!-?V>0e;fYA{$2Jj{qNa- zNq@im^Zm>JU+=H}f2F@J|4sfz{!jTE^Z(f2@c%~ta{h1m*Y@A`|L*_C{=fVm!l1}- zpCN%En{hP*GkEuM6eADwKE`ln4yIOSJ*FyVC#C>qM<ym_2c}g_I!tCv!c4~)-!Nt| zo?(<>T)}vkVG83mhI+=e3}uW*8A=%cGfZT3Wn9g;nDGMRN5&V7o=hxEWlZ8sE1Be( z4l$`RU1btuy2A90@ha0U#=T4xj8m8t86B98F+61qW@u!*{a=$Y@&9gym;am@n*S~T z&-ahv|AN1M|CIl(|GWB+!r$OOtNzIRarq<phyRc5ALc*BfAszw`jh)d@bA7qrGEwg z-u)Z!*YRKT-x>dw{(bRp`(K6sC;xi?zx6lv|LebL|Ns6C_|Ndq>A%1~&Hw!W1po8@ zWB4!h@6|u4f0zF8{5$@S?ce5qpZ>1@_vY{Hf3N@c{A2o8`cM5|!#}%!EB>Yb`}J?m zzmWf5|84)D_FtFb=l_KalNe+fO&RAfo@A6|3TCQjI>U5?NsRd~lNGZ*vn;bC^9?31 z=4vK8W_2cI<{ONR%zcapnF1L*nUomqnS>Y_nWPzaF<LUVFlI3ZG0tREWjx3DiQzBf zb_OM;W(GZ`5C&By2?iymkN+i^&j06N+VuYeWB>m%jP?H~GS>XJWsLZLmqF)$9>d#z z3=C`k75$I-cm1EzKc#<H|Caon^!M@~o4@XVe*Ag-`|O`pzpwpS`}^&m55J}VhW&B= z`|MBU--5qe{=WVD=CAKRjeisW#s53_Z{oiz|91Yn@bA>WUH^9doAGbjzlMKV|4RN@ z{LB2u|Ih#5&%b*Ae*P8s$NKN>U%`Lp|Em34_ZM^`a_Yb7e;fX-{=4$u<-dpjG5_QH zZ}+eGfB(O)|3Cd}WT^SC$SBHigz*SNAX63N4JI9?aOR6l2bhDH|1fW67G`<QEXMMZ z`6u&P=9A2`n5Qr&Glw!OGYc?3W7^ELnkkv7kx7Wji|H7nJW~<lS4Km|D~w+lwlSVy zn83JzA)m35A&@beL7UNqfss*{;T3}v!&3%shGz`F|G#E<_x~fqi~r1wzy32Z@-p0K zkYZTLz|9cF@b>@z|2zKo{jc~h_}}P%@4tKh82{D&tNAPRkNxkqzq9|u{*Cyf_t)yr zuRn2ruKbzzXT=|uzx{uL{+9lk^f&9zAyBL1Z{?rgf2aN7{&(mP*S|Y|MF0K%Bk+&s zFaJO3zwH0y|Gxff`S;vkzrXALR{x#;cgNqfzd!z3{q^|A{kQuc^WT&Ir2aDgPx!0% zfAim<|LXsm|Ihk&<iF;BMTX=5n;G&M{xQff7Be1Ve8rf|l*q)$e1@rwS(5oBvnjI> ziz%}bix}v3Kc>sf`<eQf`<V=x!<p_dDKgbFy<=2mI?8y4aW-QOV*{fVV=ALEV+^At zV<V#?<2pup#wUz2jC@S8j5<t`jDbvwjL}RQjL}RsjDbu}jAl&UjEYSDjDHxt7#}e@ zGHzxRWo%@8%wW#Ah~Y6qB0~cM9|H@+j{lASL;nB#_w!%XznTAj{uTMx@psl=)4x)G zfBrf8=gglOe-8ZV`m_Jf{69zjto?KE&)z?8|J?WkI(=F6FWX<+zrug>{u=$A`8WFS zzQ1*UpZs0;m*L;xzrz16|26)1|8MBOCx3hYz4?3K-`l^x{(bqY_@DEi<$tw*9{&^m zx&80`XZ!!yKiU7>{{{Z%{pbIG{=e3LEry`~%?us?A2S^O@6O1<u%0oFL567$!*nJ= z#y3pyjM~hT7!8<LGiow#VtmK6f^iwsWX4dYenu{)F2-GqGa1tvmoN%4E@ZsRu$=KA z!ve<L4C@%5F&tr3Wqiz-&G?0J8RH+ur;Ps?*_qgwgqVIX3NSro{K0sf@ipTT#`BDM zj4K$`7^@hsGq^BzGB7flFl=ME@jsWL{=Wi)(*Fbh_x?-yANKF}zyE(H|6BG~{$Il1 z&3`rj`u`RF%lcRN@1;M6e|P_h{(I`rgun0qoc*i)SM*=OU$1|g{&xO*_ILL`fq(D* zss0oEZ~ssBKj?&uq<??@mH&J8uLXSO$=QD^|Ly;G;@{SPpZ@LtC-ML2KimIT|3&|Q z{IB%?`+qh6zyE9e|M_3jf8PHs|5g7__#gOx;{S>NSN*^A|Jr|P26={Th608|4Cfe> z88sPu7<(9BFg{`QXVPQpXG&l?##GAmkg1gE7gHP)53?SV81pYiDdzo*V$2g5KQSdR zo?voh>|)Yo^kx!c<Y$s%yv%6ExSTPVv5GN|F@Q0hQJgV|@jZhQ;|hk~3>gep7&IC7 zF#P&Im*L$1DuxCB{TYh?OE5V9fB66Zzs3I#{7d}b_)q%3^S=}SME~Xdd;XXE-?6{@ z{!aK?`ZxQp<zN55f`5JfGXIVG%ksDIujJqQzX5-%|1SMI<?p}0EB^-kyZU$5zqfzy z{FDC2{NMhc#Q%VQ3jaO-ss2~}r}+Q>Uy=X2{{H_r_3!I{*?%AZi~W1|U)bO4|0@2T z|F`t-wSSNQ-UFSE{IB?*-2Zd`eE;kJZ~Z^}|C;}d3^)E~Gw?9nWpHN*V4TXZoAC{U z0h0@3KhqS(r%bOI)tJqgBAC0FN|}!_wJ?8Ws$u44&Sd6e_G4ydR%L$6^o403(+;LS zrdB3jCT}K5CJCkoj87O>F>Yt9Wo&0mVoYWXXAEcbV02~FXLMu~XVho>&LGNoo#8#h za)vz&eGE$&(ixf<Y#9m}co`xYuKssnSoB|qA@9E=gV}#32Co0t{$KgG;Q!2jk^fWv zvHmyyx8Wbhzqo&w{__8u|9AV}#J?4PjsCj+75}UHSNSjVU+cdg|K$FC^JnqjD}V0& zJ@-fE-_<|<|Gxdn{U`o6_n*z*w11#8wX6Qx{cHRy@~`CY-@iG3pZ?AMd;V|J--CZQ z{ay9<%iqO+ZU1fh+xqX;-%J0b{|Wxj`<L+l#=k}XZU2AxKkL5^!_WWe46zLR7!ETC zF-kGkGFCD^V!X@f$z;hii)j+mDW+>okC;T5Uo)A4Z)94><iT9cWWemq#LBG1bc*R8 zV-wRWMl+_<jE@<&GOlEt%UH-bhcSV10b?}d4#s50+l)DkoJ_flDomA({!Dd@=}hH} zg-l6|aZFB(#!T{ztV}G7ml!`WOlG{w5W={Xft#_G;TnS*!(s+*hBStg|797b{NMiH z=fB5)ssG3SJ^B~)Z~eb#e>46~{ww&;;_t@4Jbx4aKK`Td_tu|Zf1dn#@aNT^SARbJ z;r;vTkJDeizXgBQ|IYsF{deo%y1!fg9{9WC@2|fb{u=+=^f&3>y1(83cK+S+Z|mRd z{|@~9@o&#x!T-nps{g<A*XIATzd`?b|E2yn`Iq;<{9nfZGykIhYy1!Y-}FEJ|M~yf z|5X{f{x>k}{ePE%oxzncm0=m<aRz24Jw|V)8pcYdvy97`SePy`sWaVWQfIo)B*}Dy ziIr(K6Ejmh6AKd`6Ccw)MhT`IMiC}0Ms6ks#&?WNjPDpF81FEeGrnO=W4z5cneiOs zdd8iMXBby8-eH`;c$cw;@gZX><0D2}#+!^nj3*dRF|1^)W=LR^WDsOL^M4yd_5VZ$ zt^dpn_x>&Z-~Z3`zwf`7|9<_Q^l!^w?|-F#fB&`ryY;W?->knn;8F~9Q`o;hTmOpv zefrn=FW0|<zuNzn{dM?v@o(V2KYwHXiT!K(XZ~;QKbL=d{`vpg|1ad<g@394ZvD&r z_xNA-zeoQP|K0zW@bAdKw12z*RsLK1Z{olG|5pCH{O`cO5C0zjWBo7nU;4l2f8+mU z|D*rU`akLax&J5s3or;Xq%$Nj>}EL3z{x1fXv^5dSjzZ<aV29g(?iB}OdL$ln8cY_ zn8ldbnYozQn13>UWxB!miD@n4X{LI{O-w$F^-SuFeoXv~tW3g;`xq4%(-{pIH5h{! zpD^Swu3@NVtY+wB%w(uxjAzJYjAZa)^k8siv|!L>6k-rz{PO<_!{Pta8P@&xWN7&R z<$uKg1^?Cld;Dkm|K{I=e-r<0{Acv9@!yxf_W!p3W%@Vm@8Q3Nf0zAD{X6S#^xwIE zOaIRP+y8gj-<^Ng{(bv*-CwzXd;Z4%yYY9~Kem6*{^|VV{~!2I`G3Mct^e`=wEp}5 z)A+CdPx8O?KmPw*|DON*`}f{IhJWY(iTu0s&*0yKe?k8q{hRRb`M=Bm{{B<@Z}7kB zf5HFr|5yK4VtDpHpFx{p7efKVH-<wD4vb=qrHrYJ`xrMcvM{}5jAAlln!{AV^qgrk z6Cd*>COPH@OcKmbnEo?eWV*?8kZA?eB&KqvI3@=sWhNP>hm1cNS2JE@tYuun7|WQ& z=+9`&XvZkbXwCSG!JP34g9YPx1_j3B3_lrmFdSuA%h1Izn<0x~5`!m0KZ7zuC&S18 zH4Iz+S1=U+&t<UqAI8A(-;m+{KW2t?{|@}G{8#(m=bz?(^?#TD@&1eb_ww)ezi0k7 z{oVLi|L>f?cm6E=yY|n@ztjJ0{M-KL^xsK;-v3?sN9Ny|KOz6#{ptEA{&&$o=f5-m zRsXI3x8iTszsr9^{=NF^{EzLQ#y`n_3jfUiiT{iGr~NPgpUuD4f8qb;{mcD#=->2z zpa0$XXY}9Zf6M<_|4;q@^Z);UBL;JZEQVNyNet}_7a0yP@G^d8h+%YMoXt3i@jBxL zMouOMCVM6&rc@>irV1uQrb;GBrUIt_j1f#v7}c3BGQMFv%Q%<uBx4xkX+{plU5vLG z)-xVwSjc#oVJ_nth6Ril88$M$VmQjk!T5qvhVefmFQWw0Ck7FwLkwI@^BA5mRxuo5 zOl9a}^kIl$G-lvoWM;U^@c#cyh713r8TR}aW|;PW&;P9d+5c_-3;pN(fBN6~e=YwO z{ImR*{O{dgwSTkze*PQt_sn0Nzx)33|K0qT;qTtRY=6)GRrveqZ`fa<e+_?){vG-o z{Ey*Z@V}6Mf&V7{Gx>MnpZ34M|AhVt{ulVi_Fv%N>wi-J&i=Fcx9DHazp{U8|E2u9 z`7iGu_y6X9hW}^$i~PUzU;qC@{|^4Y{qOJpU;jiH)c)%*c>MQdsQX{Qu=@WJhNu6Z zFlaNVGgdJ~F`i^7W>jRH%vi*@m~j{50>)R26B)UgY8X|RA{mvL%ovrJ7#TU4&NF;v zoXv2Fv5sLUV?D!s#`z307|$~FGyY(h!l=MFm(huF4`T%5J;q4J4~(vie;Ab*KQjJd zxW)LGVJYJ&hC;?247!X<816H4GjucLG8iz}GCcn;$1wN*%m3;BxBU0~pZVYXzu14d z|7ZXG_&4d_wSO`Hmi%-4SMpCCe43d3Ked0x|1|&U{d4(e{4epJ=fA#xN&j~K>-u;5 z-`an_{$2gY^#8{{;s2ul`Tnc@=lE~?|L;GO{~!K|{r~ju{=aYkX8q&(pZibyztg|a z|62d@|11Bi_;2^G`hV2F(*L#ps{haV*Z%*&zq$Wk{oDRu{Qv3y9{+FuZ}|V||DpdP z46F>E3{DJn41EmS7@jiRWbkDC%dnP_myw@ImNA)0ig7-Z6ypvi9>#r4zZe!Vy<{k5 zy2oJ7bdiCP={&<e#tRI!jF%W}8SgUuWO&7JfZ;R4Tn0AAJ_a_%MGQX}wlUmfILEMz z;W0xE!$XEphWiYT45t_j7&bA8F!V7nF(ffO`ftu~=s##a@9qD}|JVMf{onTA;Q!?R zAO7Y3pZm}Hf5<=X|2qFJ{8RWh;h)jJgnvH&bpDn7<NG)5-|N4d|6Tuk;op(J-~S!_ zEAap1U!(u8{(Afu{TKD$=U?RihJW7w7yQ%wzxAKM|26-9{A>I7^Izb<AOA%EvHpMe zSNQ+Kze@jK|F!tf^w0Fa{6E|O-v5mMxBj#LfBIkKf42W~{`>vE_rK@A9K)sm!3<0c zeGIM)hZ!muelsj*&||#M5XC6Z*ut34xR7xl<2FV~rbCQrOnVu(G3{i0%d~}&lX(^6 zf2Ns?kC_@6*Dz%<mNNx08ZkLDeq^*`T*c_gn9S(OsK@BU$i`^P$iQgA$igVkD9y;q z=+1b9p^$L{!z{*9hJ}nC4AU4j8R{7Y7!n!3{C8x$_Fs{4&3|Ub;{Q(>?Ear-5c|KC z;n%;(4EO#8F|7M1%FzAq@c)E=dH;R?ef#JBuMRXW`nULB<KO0g5`U-syZL9vza@XB z{p<QO{a^2&MgLa)+4S$?pHu(7|GE9o=<nTs*?;%_Tlja@zaxK({yq8|{_n|Ozkk>M zhW^|9H}~J-zrFuv{oU|y(ccUI*8jcs@6z8V|G59X`WO9A`v2O0asR*k+xK7pzYs&p z|3rqV|7S96{C|Pr?*HEm3=GzcW(<{#Sqz&Q_b}XIWM=%x7|QsMaW>;G##@YBOq@(y zOlnMGOa@HMOa@HP80DFEF|sjrF@9o<W4y%Z!nljkig5*_2je`(P{!$uMT~P9D;U=@ z)-WDt%x8SVn8C=$<jH8vq`_#x^o_xY=_G>$({hHdjGYXJ7%LbiFs3pjFeWqTGx{=o zWw2s6%OJrppW)^IJci}}bs56{|NPJOfARlw|APK6{P+Cdlz+wl>i_-uTk>z>-?)Ev ze?9(v{-gQt)E~uvd;SRgyZlG;-`78i|J42({tNr-^snWw?Z2IWRsa3}`{S?szsrBC z|84y{=imOntN%UxyXv3Fzq$Xy{!RTi<zMr^Gyf|8z5AE@kL!QgKf(X4|K$Hq`)B!o z>A$r9oBmDxf8gJV|0n+a{D1zR9K+Lp5e$F+^)TrEKg^KwpMi1je|<&)h6Ki9hC;?0 z3@wb7j5UlC87mm?GL|uNGG#N$Fr_dGGI=q6WHeyB!N><L>rXODGu~kIVZ6s!!T5}E zG2>mv9gO!F4=~<i+{Ac+aWeD_ZCA#ljLM8h7?~NjFy3XD&3J+#jd2%)I^#BmYYbZ% zIvHj&I5AW)urTN_oc;gq|J?r*|JVFC`yc!N(m$*J&HuRmyZpQTPvPIJe=`3v{;B=b z`DgZz=bzQTpMUNDefaD0@7Ld;f4u)v|7rd!`RDzw{a@n03IB@!_5JJo*Z6PFzwCee z{^kBV_pkcjqkl{P-T!yt-_d`6{%!gv|9|m6<NuTXdH>J<=l?(ZpXdL~fA;@-{^|c; z_|N+P`G0QzU;WGaFZh4*f4%=F{>T0Q{lD+O0mIJ!=?t&_&tOntxXzHvz{hxy!I4pk zF@Uj)F^2ICV=|)+Qx0PzxSchb@eI>6#@$TqjPsbv8B3XR86%jo81<NH7&(|48Lu<W zW?aHJgRzux5~BxW3!^M!8Y35@HRBrw7RK8QR~RlbtYJ9D(8jQbp^#xQLnuQlgB?Qz zgEWII!=L{T{~!Io?Ej?yW&gwe`~DaDulxVTKgIvk{|Wt%{m1cN|KI0-0{`Cr6a9Dl zpVGf0|GfT9{}=Nw>tE<UtAF1Ag#Wqz`}Wu8-|N3g|6c#C`S;^*@4x?lC;k)s*ZfcE zU*SK^f0_Rj|E2#E{#W#m<zL^wcYl}sd;IsrzZ-w={rm9u=f6*X|Nr~-m+3#}zwiG{ z|9$#b^6%rni~q#_>-~56-}Ao=>^4mXc7_~=P=+N89Sj#44l{5wGB8>)nlt7y7BS9d zOkpx+TFPn9Hd8@G^qn!gmbc0SZ86zp3bU2X6!!4QOIQf>^Ce2268Xu!Pe_yVAlG;C za)C&Z6QX~Z&v9q)Tx1Urw-dZ1QY<=?$46iVs~~3tn;n}2uQQi4`+ctU!g_peeES5g z1zQB9g#v_p1ojB}i0l;F%2~w!mhC1-js&kjE7MEfYR<WAi~c*aPPlyWRoV8)<B#q; zosD|J|M>QWyxS44xbK~O{_928dzaT6zJC2U<>mW#Gd^E`JOAUhkBRT6zQ6oU;nRli zj^E~fe)2_^!SUz6FIvCmzc>DL{EO`;jUS!gw*IL6@#J&DxA!0ae0uZq?$_F{{onQe z?f5z8Bh!y(Kh}LUd*}W|;gR>t`5!u8vHaZk^(b2n!(+uLkrhUZHDzsl&HkuAG04&H z(2|l?QTZYzBK26XTeL~^flxpHZb3&L2i`}*(fm?;1_JF|J=~R?-kkozTX}={Hwe7p zw&!JHxxxONt%3Cf8$0_}u0I?eJSVyJ`C0f(`8fHV1lI94^H&Nq@LLKz;GDoK&7I24 z$@_%In)598B9=P#&EMz#Q@ttt(*LyR<?A<2TylHx<Ia-1KKCa+DSvq971N8*_pxtp zen|On^_}5|m+x1;-|?a0!-5ZcKivOp{OQ#f%`Xn$BEEM2(D=^&b@Mm=k365fKbw9^ z`gZC|`ZwQiyFW90&HudYbI;dpU!1;Q{AT_A!S|nEetf(1>GqeNH~T-#e=hlY>)Xk% zi+*hVT*V&Duu{5N&_}0R`L=$lu7Xye&PU~9wHMM=^7lnpB&r1W2;JoW%WuOwkJp@M z2KN=-Bi!;ltGRD-L~}B5wQ_9Y)#fhXRpu4qRN%H^4Q4;X62aQQ_MP=C$8&Z!ZbPo) zJbFBJyg|JDd_sJQe6#qtc@6m9a#i!(<_hKx<WAy#!{NoXlIc6^htCUtZ@BmG<)h0^ zw~pP2yv}p~+?|AnOb<^#HG6XMwfalp56|9i{8;m$_v70SPe0!KQ1i+2qt|DFPdC0~ zd^Y|j{I&3V=eO728^3S;y7yb;=Z-I;Uygp}`X=*L{F~snEnkwp7JTXZa{jB%SBvkn zzNvlp|GwmF`?n>Z?7zHz8~ma8^~N`w-Z#B{_H*i&7LGFv7bP17I@C|f-`Ae1k*mR~ zDWIgOa$l-ewqE3#Sh2uy!5h32_!e;o@GR!K%hk;_mCK4#l4~OS8IE+0M2`7fyEzwe z&F8wt{*Oa~m7T4b#hT?jYYoc}b|*F=t`?5D+_SmLdDwaW@-Xr~;VI=^!_CHP#&w%} z9p_svcg_y3^=wj{Q~w9CeE2BzYu&@3*Q;-wy(fC>_O18#w%*<TXy?Nx&x)RYd41;P z^Y;wz7JZ!ef&Ek4$G}f}KmPe-{OSK^>Ce$$BfjkUw*TwJ@9)1|`d<6p@7w-w2fjpn z{qW`dm&adcf4%b6``g<u(%)8nIsSF_SD$YazXg5o{dVrV#@GMfTt2P)vi_a-$Hcd5 z-r0QI_<r`Ue_zcw#2DkmMfe?*4Q1}CYpEPo4N#R)C{mm#St)&9I7@Ul|6BofUVmOG zZXs@2t__@BoS!-BIE*-o*e%%ivcF>6!?A+hor9Nyk?kGZ7UrKUe9RY_by#d!jM?t9 zhH$)K=j7VPY03SD>mK)F?#JAxxTUzAxMjHfx%xS4I8Soi;dsR=&A#%VJyYkWOFxXB zX1=kz%kk*wo%eTr9+cmgd&2)%=Ea+5@o&Dqy7qq6yFDKrKBj%D`*h<I&*z5Evpz5S zQuamV+uE<&zB7Nn`NR6hrytvY{P=GDgW<cyced|`zD@ov_kH5`;_qzV?Y>|A_UT*T zcg^qTzwi8>{r%7PEnf}4pZsL-_3ZoBPeSjneK_$c;#2wW*dJHedzef`-|_Xxn@O>$ z7%DDQYE`-_8zlcn{H5ekAvckyeDnANc^rAxa{c98!#R`V9>;d}qwHVU-m%%S-D8tv zvtw^#o6oj{?KsO4)(1@gnN69VFflNTGtXx!Vo7ClV7toxh5a&zA7>7yDOWdV50@OL zBUc?qC+AQ0Jsfw~7O^j4Hf3G#=kEU>AOC;5`%Ll8+xt3?Z{1V6KlkD1`*lwp9#45` z|GfWg{OcnhINmS&wEbh{XZ6n?KHvJ>{H63u+E=Hq6Tc;WyYPMX_Z2@@|Je0I_ov(s zo}UxGPx-O#d)5!5AM1ZK|M>o+;m7kIi+=3;A^G#pkE)-lKc#+({G9UL`iIt6k8hto zF?~7o>CmULZy8^5|4IH@z}dnaA$pN7S58^7SZTL>p<<#Um+S+%HgPE_KcTxKc6<>6 z;oO&a@;Otv3^)#QxU+9%uVcHyCd6jNro;A~wU|wsO_1#Y>v@)EEQ!pe%)6QDne>^v zn2K5YnV+(<vdXbHv3+7+#_qw9%b~-um18k`7sq!tehwM7RQ3iId$wB)i<tlXEc}=L z!R6cGXG`8>K3MVO!M#-vUOzbgVD6L1$BSRwd^Y7x{i{>&FTVZo(eZ=v=W`#~z8v~= z@5|E9&%bW{!uy^3oA!^=@3(&}`0?R~{m<$jHa}T^y#4X}`^g^$KmPnk{NegD=||qr zML#C})cpD5=hB~fzv_N={z~|<`DfL)|KC4;`TsTetMFHWp9jB{GyMBKpR1C^TC|(5 zTK1%Pr{YOjWyLP}1+opY7bRjPB}EpB*a?&fg!7v4x^n;GI?q|bxs0QLV<r1ac1CtC z_6=-%*oxR@vmIa!W@}`rV|8GTWm(5GlUbg*i`kRKk7WgGHS0sRrEHhkd)bpYzOff^ z{AB0g=w<g~f5~RW_MO$9C5t7Ep_B3U&$K_rAAfvV_+svx(~s6Yz4d_Ok;<co5BZ;p zJ?VH6^8EDcgRh$2op~GnLFGf)#~mMSK3)B!`1$DP;4eqN?EZS=tMvDO-(-Kh`(FJc z=||R&q#ss4%zwoEF!-_PNA8c$KaT!T{K@w-<!9>8EkBR_y!q4MSHe%FU$Q^ae)@j< z_MP=>_qVxU9lzQBjQOF=F#m4_=S)@^;U|1Yq@2Zf$z70nBsWP;UgovT4{=?|O~Qvn zgar->1o1B5P2n!&X5@Ov`JdxFhbhM=_KoZ@?8WTt?27Cc*$UZ8+5B1evzoKKW?94R z&2op?k7X6hE0)!)Z&??zv9brV-(+9K9?CJ7J&{9${U3V`n-zOFs~TGXa|TP<e-Fmu zpSpjJeN_4y@GAE$=hJ`BI3CA6e*XB>ql#w@Pv*VMdcOY6{8wi0d*8Buy!_tiQ`<+8 z&zn9y`Ml-x^)GY3-2S@y>)~&^zGZx0_I=8C=O0zyTYmU{Z~u|;ee#b*-<SR1`Elz< z;SZLdZ-1Entod2|^U}}NKNtU;_Ve<O_dlk5zxe&>w_V@ve!umt@weH}w~Su@BDs#T zz7;a!TQ7N0R8#hYl)LOnncY$=rJsn+l6Wk1Riu>PUGNQ00iOnUA`dIqTP_36r<^M| zm^pnok~su9-m)KOU%{@(uFr1BR>$VaI-m6z3nS}qmfI{VS-n~3v&pg*vh%Praa?CN z<nZTs&7RK@!mh}Xz*fQjhQ*()lqr)X{htP7?GNogK_BOSEq&GdZpzcn7jqupe`5TE z?Mc(K$fpf2Z$Gbjv+ouA`}nsnKBT^v`1J6@%TM1v&is7tQ}~zlpAElm`ttkh-mmrF zdcW=cCj0&3x3uqfzV&<;_`d49&-Y8;7ky{@@#eexkI)~Je{A{j_{YT`f<GI7JpQrb zyY7#b-z2_!eY5`7_dWlc?e9ZB>KOa~W^&fEOcR{MBO}2ea#EUK(nm&FI$Wwlib<SX zB2##Sh><|5;6C0?zPH?kJWILWaqZ=N&nd<k$+?E(8%G|;Sq@c>#T=X1gE)S%9boro z6JdYN+Q7!o7SA@1Z4O&9y9>Jt2Rp}lj<p;gIKFb+;kd(*!qLDnk^L;YCfjPZ1I+hW zF8x2lX!A?{@66A#-&Nku{}B5^@-_Ff`sbX_qMvPf&huRD75mHeZ|YvZdiU_{gb&Z( zpZ=KpaqXu?pPD~U`<(Wr{Y&`Q#;;c2BEQ}H_Tii6cgyeU-)+AueK-6r{9Wa{>UYiW z_TRm}r+hE`KH>YW?+3qs{eI%R+>e^?55AxIX8xV?TgbN;Uk`kB`yTl1*so(hsu&Xg zPGmpHe4Fnt*8!0#L3;^yvHucZ#21QB6#p!eD*9ZoUPzRGHve@VV_rS(Oz!WTx?B>R zp`3N#aLDDj&92MQ!Tyk)n?0L7kL@Dc2Ua(>jjVrJKd{QNO<`NlR>j`U9?4P8A;D?E zS<ShOvzl`eCpV`Drz}SmM+2KJ`weCj*4zITnI`{Q`gh_Njvvq8seRi1O8M=!7tdav zd2#kd_N%EccfYB5t^NM|Tdj}(->?33{o|U?mY+kuczpTrh5u{!*8^W|zh!)T_)YM8 z#P<o`+rK~i-u#{IN5*%_AF<yRek6X^{n7p1_{YWXHb3-!SpCTQVfZ8K2g?t^A9KH_ ze1G+A&NuaM9p5&7z41N%o9yp>KOz_e|2|`5U~c4X<2)~v&3{9*UASH>P*h&@n@FRO zq;MmDxxh}Id%W#jbGScnJmGx7K8wST{VY2NyDR%+woh!=*e<iJVq3}<&6dvglvRMO zk@X;}KWjT{E$bRq1~yx^Eo}eTqS#Nd-)2wXkmlIRA;htlV-0&T$2+!n?2W7s*_4^3 zSttFsVY>E<_h0MR*FPFQ^nAYX=IgtMulV0=dG+trv)7AXpL`qm_UilC_bWa|el+|n z{n_SA;}?am)nEUAjr?}~o5J_0-|v0*`%(5|>yKwY9{f=KdGLqR&(%Mye@^{j_;c|O z>7V<5u>O4U<LwWHpErJ({9N@z=4Zi=c|U%BfAT%$yZZMd-%P$Ye4F~i=KGG{xj$zy z`23x~HjSx^r;1~O;6vUGBI^Y!L`#KzM4W{=gysnb^E>dL;W@>#g=-#{0_SUvzwFD| z_1X8atz?s6vt~QM`iixWwVbt(^#_X~YbMJ*7ABTXmLJR>EPgEMEdN>VvfN=^#CnLW zgsq+3fc-uDA$D#KR*ntqZ`r@H)v?#IcCsljUuK#2pPfnQx5&Q_U+sTNezf}%^7hSp z_t%ndpS)st^Y?ZBn~QIMz5V|F&HE1@AADT$dCuoIUnIW%_-gg->NoB0Grs@*?(}2# zk83|temebp@w51+*{_zLKEIlOI{upYQ|;HfpR&J>{*?Un{HMUL*FS&#Jn?h)&-kB7 zKUe-Z|KrGa-XF@}Bfsl>7x>=!<K*{=zt8_vVaWWuoz;aYh<iOdo4_(2c40?>Kf)YB zQo;g4l7edl+W8jo{pL>QImQ{nrOvT{<1d>vyD6J1+X~itR$ta%EbOdvSZ=T+vCL;t zWl3at#caj0p4o<FDsvvoa^|}%k}OHAn^}IaCbK58y<y$T7RGjvt$?kEErjg_>mAl* zEZ<q$nLL>*|F30e_|5y5`}@8hr#^*z$$H=Vq2jH?JMOodZ$G}B`L_T4t9KP2mwxd3 zT=wb47qu@!-xhoo`F`}<&+l8mANw);N5Rk9pPav(ex>|6`K$An#P5b*-oJx>1^hPn z<?>tTm+o)bUt+&KfBpT{^Xu!c{l6akTK{YEuh?J8zb^lr@w4uy#?Q?^Re%2Z_50_v zzkh$1Fvk9uVLQ%zj%zN*5x&1X9)c1AJVG-CJp`u-Hu6UaxbtT4iE!KV=y2L`ZDQ}{ zn8Bvcew0;*EsQma^*zgWmYFP}EDkJ!EH{}?GdD8NVGd-@WcFr`X0BzfWWK|Ejk%H~ zgGGk*FUuU(Le}f7M_Bi=USc(4ox$qF!o#|jiIb(A!ILTN@09=ZezN?T_VvQ|J0B;1 z=6?U}eZ|{FZ{6OWd872s;q8+56W^754ErGU+4NJ>m#3dke@*-P;@jqL7ryWPzV*kB zA6-AE|FruR|Lg3p_rJt{`~Eim-SFG&_q5*zzo-B9{5|1!{O{)99lvvbPy6lhd%|!1 z-`2nX{5tq+-Y?BxlD{tg-11Z7*T$dIe^2?9{%`J|7^bKHh1i8y4skEx*vx;G$4=-M zzk={G!8)Pyf@cIa2~6jE%9p@%fhULSJl9zccFtz@M)p>=2)6UAg{-Em=UKM01hY7@ zd}lt+Je@g!*_Qbi(=VpyOy`-zn4dFEVb)=GWSPeNo`sJkpS6r-JL?ISwXFA899dVf z1hc5J+-8ztp3RWSIPdT6f8Tz#{{H=S{dbE`M?V|AFZmGt*67`dHx6&3-qyTb^RD5Y z`-fNWUw*9kSn>J$r(a*PzxaRK_%;9gwQp5Fo_vq~`TB><uk$~r{p$L4>zCy3zrV76 zgZ9M#|25+`|L-}!O@6QX?e}}p?}Xnoe_Q<S|NZt?@$b4{M!!XWJ^c0h=bT?zzb^fH z`g`l|rhnW2+A^JE=w{o@a*^vMM?Bw5o~;5Y{4)iA3aATO3Etq(5n$wdz-P+yho^^2 zmfMiCf|Hj+mBXA}lD&q_gY6;f3RW*x9o7>p7g>B*s#)$atFrVk-)GKZ-o;$VypMT1 z^IK+V7FU)|mW3>*SYCi{UtY(;!Ro}alO>&*frWwT2on>-a|YYLcK?3;Wci){E%m$7 z=ewV)KAin<<=vWhzVFt*J^JqK+o$gjzH|R5^<mGaO&=M*SbvuIy6y|(w`X6^ePjFH z`ThTQn;%zyT=`M{Gw$b`pGSXM{1X2a|105F#;>WrQhwe0RsPHB_talgejogG{P*Wy zH-F3jUiDk;x6AMUzwZ1x`|HrJv%jo=YyR%}WBlj(Kj(jnO!kZ)S^u+K;e5j(!rR6Z z%df*9DX>yNSKxzy2EUcSGTsM#+&o&m&0Klh9-OB*H91N-64>L|53=>LIk3HB-OO6W z8pf)@%E0=bWdX}kmKc_uEVeACS<G18u!OR(v39UHux@8bXT8YM!@85Dj<t;?i1i=y z6BcD=DVC#*cbG2z7i84@+xL(6SK9AW-`;;;_qphc*2lV!z3(I6e|hKr&g8w)JCzTY z-X(r~_I~Flw~yaGul&UG_4{YRZ#G{)d`tLt^?T*_O+U(iRQ$C4$@1&M&){F0ze;~4 z{Hp#{^{en#>94w9)xTPP)&H9DtMAw1U$cL${5AF0tY5{yDt<Zqiu%RztM3=XFSp-C zzb^fm{@eWj#=j*@TNzZ?a#*f%x^VpC*~zWKAIT>r@SOh>f1m&(|3m(HyeIjjd7^kX zbKT*t<t*XK=WyigWq0Jb!j`~p&$fu|2&*VtBI_hp7FHA1?JO@@idZ(XWU(w@nZ>e_ z<vGhm7H?Kw);X-cte03jS?{xMWZlZToz;M~oYjNnAj?sv4(5dn+ZeC^HTpm0m&_ll z@2h`EeewM|=VRh0)(_Snvfp#RU;F;fyU8Eo-yi)L`9bLOgpXcd?thB?s`4fMo84E3 z@4?>$egu3!^26pw+)w78w|@5j6#ez=r`9j=Uy8qUe@XuG`lawI_Lupux?cgmru>Ti zHUF3AuZh3-f93x=^waoP|Id#<xBa~OGx3+!uhYMEeoOx2_^Zu$>i;Gd6J{rl3vB+} z7F^}LS9yB)>iFjKDf7SN{mOTiM~<(K`x%c3R}Z%!ryG|nhY_bgyDi5ewnBCxwq0xs zS*_UISTC@$uy(VaVzFag%_7LUf#nU$W0oH*daOdMeXO3WXIZORU$IVSy}>$@bph)H zRs+^3)?k)hEIiChn5`LqG2Z)k`oGK{!N0aY6@ImS)A;W8W#X6ppE^GM|Csmj??>s6 z4WIHq27K22r1Qo4^S>{#Uyglk{#yI3AJlI6e&@T_k10Ri{jm61_VeP;M?Xb>Y5em4 z<@GD&SIVzKaO#-zYtpY>zgGXc@N53B8^1b!?fvERYr!w3Us=D-{xtmc<frMc>R)qy z?fu>N`}kk?zqJfI{!d{($TXkrIcpr}9S%QkC2nt?HlBDMR^IE}r+MCRaqv9i{KWN& zV>hP|#{`aK_KED5*|xDou&J_rVBNqvgSCv+mNkg=D~lKFY8F%0Y8DOFbQTrXA{I&3 zNi52&hghsx|FcB1nz1Iby0N;jTC#p+dCk(w;=*#4S(14xQ#PX_qvU_~|Ji@a|Fr+y z{qyQK;qUXmT>fJ5S?}|rPu8E#eG>iD^ts|w)0fE4Grv}TS^90w*U8`SeJlF$=DX(4 z`#%o;ob}V{m;SHWzvlhA`|HWCSHJ%MdhqMluT#J7{95^I|F523^L{n_YW~&ttMFIb zuZUk&zifYb|5E!U_e=8Ezn?<CRDU`DI`r%IFR?$re~bOw|93lsHp50{LFQ>}Vr=r9 zZ#f=vX>ecT?&kTx&BB|+y@@A_>l(K+=X5Rs4mZxXY@8f_Szog0uzqIkV^Lz2V*#BW zF2}Ns`8o3u=Bvz4n4d6nvwURsWf5cPW{F}s!!nnJk@X#mJ*xq05Nk544{HXi6l)0U zG8T5$yUe*Py-ab;#~B_lPW*T5ztA7czjZ&ue(8Rn@ICdb!B>|r>7O5bF8L(<#q86r zFY`W4`<ni_?OX4cobPA9di-Gh&iT{f$C01@Kl6Xt|N8gq->-<@-M^cDzx>_#TjEdY zZ`nWLznT9i|335k=dY>1Fa1jUz2}$1?^(Yjf9L&r`OD$gu3sv@N`J}!(*G6xOZ=C> z@BCkhe>{GB{5$z)83WJ%VCD;qpIDEu7;rSQ-{CyNxu46O`x)08?o_Vh+<lxJ+!HuH zarUsE;8@DGo&6f?Q8ruF->hd@+*xZ_wzF8VSg`zNzR!G;c_s5g<~HVj=5%Jz$z|)9 z6PPbCS2F)*p3H2<vXi--<uUUNmOsobEYF#ZSQar?G3zr2GQ~0NVK8Al{IBnS!=L)U zGQaeHfB$~}hwZmp-;}=kd|mS;<;&?WoL_>!I(!lScIpe;_uj9Mzc+l_^ds+k@z2;F zn!ogZ?)mlVr}gi$U-N!H`t|a+<8Qt{y}!l(9RAJm=kf2CzrX$7{+r=X|8MR;g}+7r zg#K3eWBpt7kIwJEzg2!;|1JG{^>6RrtAC&Q{pR<BKimIQ{A2hxkKyxw5oRl<64o^= zli8oKNptSuc*psLQ--UNYXfH@*9VRZoJ<^lIhfgbIE>k>*y~x#+1|2TX3b-9XZ^~2 zjHQk_o<)vXnB^SPeddKs+nL*#)-f+)n#z2KX&SR0b0>2R^91H2%w5cXnERQ3F;_8P zXSQQbVZO>VlSz*$n9-DR>;L!vul)7-cldYGpB+D)f8GAB{-g9;#<#YwN?&ch)_uwT zn*QbQ*Nb0HeQW)?^n1>?_8+O=9ezgt`1#Z1=d52pero()^lSQWgWvyuPy6lu=iKk6 zKd*jI|MTnjra$a|7XFd{GvklipRzx~f71W3{jvJ<_&3j=6Tk2Mp8b30?-{>0{$B9= z?eF`)=l{w2bLDUG-<kh^|GUNbo57zYh<PU42G&ZB%j|nN3ps<i3b~BAu5-=jT*<Ya zgN<tqyCmmqHW`l9tTOCRS@hU~St3~<F)v}6%B;Z>z<h^Uop}{A7jru^BXbJ#FD8Fx zR%TCTUgij9RpxwVE9Q1)f94s?e$4ZkjhJUKe`Ts-u42++-pbg{)WOir$n;;4LGy3M zKjYt7f3$!4{7U$4^5gT@^lxHc#lNoo;`!y#7mY7XUu(YPeKY%7`d#5$^$)}E@joqp zX#O(!dHI*@uaMtge(n9e@%P`~?te7@to>v0=lLJqKfnG+|M~id{m<<`KYm~R^X>PE zKMa4?{gM1r@yF(m`=6vgT7PE!k@@rHkJX>7zm<P%|FQnf{eSoGcLvk{Cz<{;>}Szq zUd)!wYRS>Up1^6y`GYf*i<#>l*J{o?TwI*#TtOVGI1AYia?D~o%YL5qHk%47C)+%h zP*xq5!z|~R-B@awuQJ;**D&)it22LM0`2u$%Ji41nn{K^naPehiz$Y=nJJ37i^+t! zlIb>+2a_|?3&s-0U`A(#ScXIYl>dMG)AyJ2_vPQ}KR^F0{BHI`<J<giiC;6mihiB* z#qn$6mxEtteyRAT@Kx>m?XS1Lul-i=Bk%jSANoIPet!G$@8`CkQ+{RrlK%bq*XrLn zzeWCR`yKb^_3xHH;(r$YiTgA6&%!@b|2+Ov`G@y!`XAZ9L4Sn*dj0wF$K}u6Kbe27 z|Jm_}`ET0a*uRDUr2jE6IRAgl_?m%*<sOp~+Z&eu>|fYYIcIZdaGl|d;|k|e;>zHf z%qhWjkz)zxQ+9q%CiX%O1-29H8LV3D*IByRa#{G;R9L34K4&&zUBY~kC7ro~#gti+ zMTB`D^G~J%=I=}j%s-f3FtIUjX5wI;%JhOMnrSJM1d}n-BF0KaR>m|20|tTr^8Yjb zp8GrRx7(isKiB_K_#yc7`nR>;KYZ=@R`m7aSNE@JUrWB`e0}is$k&o@Dc|(IOMd_I z{p|N+Kbn6``KkUh;@63vzkWsjD*Ao;*Z$v%zt8;+{(b&;!SBPrTYhi*J^lBV-)nxK z{C({AgWvCe3;yByWBP~xPvIY>KWqOO{*nG$`e)JK$A2>aP57JlzxLk|hMoT-nM@gl zS-vuzVLi<f#Xgy>m4lDNnp2Ilk@F~L6z3bx4;))LlR4Zt_p`6%P-JJ|=w=IG7hqe$ zwwCoRYcy*ds{rd0mU}E+EHhZVSwdMvS;Sf1F~4R$#e9|dF!M>~P0ZJsH#6U6-pIV0 zc?ok0b1CyBCP8Kvrb?zS3`-d|{-4ia^)KuH@;{&c{`?j5C-dk0Uo1cV{dn=M^Sk4> zs&8!H4t>@5R`PZBx7M!)-~WHT@qNR$+8;IF1%G<|==;g`^YPCuKNWv@{_^~F>{tCS zv)_w<_5VKnYxnP0zpnr0{eAhj)9-!1>wnMvz2<k-??=B=fAjo_`)&0n;CI#^x8GC$ z*!_O~C+>IT-*vya{yF^N{BQU-gQ4>u50g8?Rc1@3nXG0kj_e|AMI1-j#W|Td9XXG3 zvUC38tl-$hxs6?i^EF#JhYs6e_UWuY+0<E$*dDQzvTkR2z%rdBo28aTo+Xjx4YLQ! z7G`~x3T9ar7iJz7aps@Q?9BI=zcTG%W@2t*=3zEu=3?H*^qEPXX(>|#qZm^NgCC>N ze@}*ae+B+C{h9hV_1CZ8kAFn`TJ`<-kCWf(zdL<f`AzYg;WzVdGT-KWbN(j#ecQL) z-vhtr{*d`0|MTgO(?3`LjQQpB>+`RRzw&;Y|GxFR<F~+{v%k&$u>LXpqw`1hkL#b0 zzr+3<`yKjc%kQ*5>wjneIrh8q&(q&!f295-|B3q(`{%@;qCcg75B#b87yI}2|Ac?F zj0gXlF{d%UV3A}lX1l<$gguh2m}5HoU5*NlFC6bUc5|?DI&d82SjTS7A;i9ny@ic~ z{SRw3TO;drR#8?D)&(qwS@c=lSuQX?WNv0|VGd<hWOimg&E&+~#uUjM!PLlX#k81N zpJ_j{KGS+;S*AkfSB(Fe`WUU5_!vzX;~CEUpY-4E-<*GSf13YZ`Q`Y>>F3*DLO*8z z^!eWQ<M+2+-+z8f`fmT-=lh25ecxSweENRtN6n9lpG-fQe@*yV^^5!0!C!s9KKy$B zOX#=dZ?)eAza4%r`5pB8?(eeStbb<xR{68-x8<MHzk~if{GITJ<xkNc{Xb2ALjTP9 zQ}Ji}pUyw`{%rfB`B&xd^uOQ#M*TDVAN&6d!#aivCIcoVmZQw`Slw7pv-Pl*vrl9{ z!fwd1mOYchi9LX09@{7O$E=C$+N`VD`dNOn8nfiHin4rXVPjdz!poAw!oy;~qQt_* zqR;Y#*@EQ)vp&l#W(k&j=8w$I%sZHMm<ySCnMIlJGA(0T$)w6;&oqbe6ypO1bw(kE zYzEf<HUB^TP5F1^kHz0vzn}iD`8Dg;grCtr@BB#kQT1c@_t+l|-&=ny`+ngE%MX{I ztA6bHnfeoS7XQUxJAb+S_Ws@S`{M6ozwQ4#`(69z`|rtrUj1J5=i=|qKc{||{W<VE z;LqXT_J5B2miqJPH^ZO5zu*6s{qy>_<DZ|u%m0Y|+4Lv;kI>)Uf7bkU`P=?a^xumA z3jg0T<S+y=ePo=*+|0a}g@JV*t0$Wcn>TwK+c)-^Yz7=DY!VzoZ0p&VvHoSVX4PQ3 z&l1eq$})+?l;t<`N9JkF>zQMjOPQ6J9hh%0i841bePS|Z`pEQx@i)_XMlR-ijMB_3 zOp46%Oxn!GOj67yOy8L#nOd06Fg|BYVEn^ynBmU<=l>`FyY<ig@8Z8Ke^US4{3Y`H z{?GeAwSK<*vEzr^k4Zm1f8YD##do!zazBp#T=1j(m*r3G-*<i<`wcpE?BB2De_DUP z`t$R*{NM0D27j0Sart}akJaB_f6V_f{Wbr~{@3`g!e7<D8h?fVTK)a`$K>ykKbC(x z|A_sK{loP)_Rs%6^?xM){`(X0_vqhye;@x_{?DA@?Em$QhK%CO2bscI99R-rXRyk% zEoJLwi({X{wwgVLZ6*6t)@XKX*4J!pETL>CnUAoVGF!6lVcN}7&J@C8!1SG2oM|5O zS4JD=cZ|20zA;uXF)+z9$uM1Iv|`%I=*hI4(T%BxQGqF)@fo8t<4i^#Mt#OZ3`-dr z7@qz&W_a~)&;P4`S^n?*BmQsOZ>7JNe~JE4|0Vl-(NEJ~**~ZLjQeTyv-2n4&yPQ4 zf42Mz_-X!o>Cd0P1%J){Gx3+`Uy<J#e`oxj{P)f8wSVRR9QbSV=jdOfKl}fx|5^W6 z<j;)1YJWQZ2LCDh+wv#w?~y<8e?R>R{VVd<?XTuvpTB{B8~--`efRgu-#P!>{`LNU z`EMP=j{h$ik1z-^-)B^2VP}59qRx`Xs>Zs8^#$u1)?&6C*3E1}tjpLIvShMJvHW12 z&0NoF&-{wzFH;)JWv0)}o0ujuFJcN|p24KdT*ma5$(!jBlRVRTrWcH>nf5VGW}3~| z!BoOn%oNEO%4ESP!6d<Wf$=6o9%DVjdxk&%iy0FC-~M0o&-Q=e--3Vse>(np{hstE z_Sc->JANMgmGD#Lm+Q~{Kl6Vs|9ST3j-Lg;zWmht?f2`)@3X&F{fYXm`uE}QlE0pR z`v1=R)B5+|pQ679{>1)W^e6If$)EVY{(tiR+WndH*YeMazb=11{`L7I_%G;>>c5CT zivQyOu>VW^^Yib7KMen#{;~U)^mpe!o`049pZ!Z`c>O<<k)5%Y$&jgyIgYuFrIjU& zwT<;3s~cN5+ex-`wpVP1Y)9EnvU;)Uu+CyFV!6w*j#+`_15+!rClfRCA;t|%rHqYC zp^QmP-i)qHK8z|%(Tx8YqZzL-1~Tquv}atzsK&T}@ejiS#`6q|80Rs}VDw|CVSM=C zf-(003x)&#iWz?Yz4~A3@ArRZf4=<n`+e_E$*(iNcm2Hk%krn<uU|hF{QUSM<fq(E zub;I)3x6{Fy7+V6ujpUCzlDGQ{C)BFq(4*tsQgv=+x55l@8`b@|C;<;{5SXCguey< zO8zGN3;ApE&-3s9zxIE3{nhzf|5xsB#9yJmK7aZCM*WrhJL|9WU*Uh1e>eX-|F`eI z>%TsR&;M329{GQQ=>o%h=I4y>SVWjlvO2Sru*I?7VY6mqVSmAPkIk07pUszDfQ^wo zi?xPrBg-LHE*2)%3T7u3ZstkMOPJW0{g`@~_?a}A9x+~L+{`$Mv5_%|F@#Z_QI%1M zk&#h?@fw2~<6#Cn##IcajNJ?ZjByMX7{30W$dLWtoMHCA6aN?dRr_E4C;MOI@0owS ze_i<#^Hbo@{vScV(|&CKmHfly*MuK@zyAGr{&V)vhd<qZar|Qa?fq-n@8iD={v`bF z_`~|=_@ACXum3#%!~R$9ui#(pzubS-{tEw<`782Q?ytpP#lLZXE&k5=8~FF;-}Ju% z{|f%P{cHPM`ftJC&Hs-4W&Z!`Z`}XDfA{~N`Zt{+?|&nsAwwIJ7UNuIW2RLs-pq?x zLs(MT^jLqfU1oJ>H)L~U4`E|sS7+;EyTi)F7RH*udXnV=iyDg`%L3-N%$m$?%;%Y0 znERM`n0=WZFv&A*W_rU|%5<4gpJ_MaEylf!ZH(&}O&QlRK4O@_IF})fF@nL6@#p^+ z4Bh`HGW`Fi$`JZ*$^VwWT>qE<as7Ahcg0_Z-!uOB|2p=2@6SKKGJY2PGWyB;OXcUM zpEf@ke^vi<|8?%?g<qz>%73r;rTItl_n|*6zy1H-{=NRM;-6c8BmbQI+xDmJ@47!u zf6x74`}^+C!$16gkNq+GyZcY<-+h0o|L*$J^LO2!*?)Kcng93ppOb%O{&N4T{X6v^ z+dt3$+x~elbo|d{tYTQe)X#XDc@@)BmSfB}Sue8Gvn^-6%*M#}hRvGoEt@IZRJQx9 zHf%+#8(8nND6;yo%wXBWti+<ie42SaQz^47lNIw0#@|dCjF*_q8J97MGgdIkGCDA6 zF#ce)XI#%1$e6&G#;DGi#>mDP$M}lDmhlLKAY&fGX@;NwGZ_s2KmG6c&+WhR-`0Oj ze^&jy`Rl}=$3MUR*8J)8d;O2yzw&;h|0@1r@oUcy=U+}gtABm}dHvVnUoO9EejocS z@h9w0&!63Y9{dsg%l+5)uk>Hg$qFTZZ~bZbyZTS(-}XN<{}%jN`M2cHj=#l!R{!n$ zGwtuXKP7+f{Yn0-^f&%*>EHan5B@IwTlSCtpU(d||CAY0|7$XOFvKu<GgdPPG1agH zGbgaRvZ%80vhHNt$ST4v!lub?#`c*_nyr@Y9_wY+Dpq~gzbunjqF9(&mN2(4zhjbP z_GWs<bdK>PQyJq?CKJYOOn(`6GQD8f$#jolKhrISMND@X8kk-(gfP8e5Mg@CaD(v< zLk;6u1`fs*3?U4O3^o558LI!)|8M^L_+RrM`G3oPC;t8VYvrHPUu=I=e|7(6`DO9@ z_fPiU;=exq^8Us3yZx8h?+d?rezX35_S^Y)_@9#BTmEeQ{pQcx--3Tt{>cBe_#^!{ z?vLW%@;@qn=l!w#yZevd--~|&{@(uM|M$ip+rJP0SpB{E$KmgbKM{W!{&xKh`}^?k zxxdN(%KowZcmKcZzd1t}gFRz9qYIN0lQXjbvpCCn=F=>ZEKaP)SZ1;QVcEdS%Q~C& z2TLI9F_xb!c`U10gjkAMrZC&F2r`SX%x8MS9K>{rS%7IG^D{<o<|~ZPm`*a5GVNm& zW?I2`fN?To8)F4y24gH^3Zpw?9-|3k8KV$m8RJWaP{z#+%#3*qEeyZ@KloqtU*-SK ze<}Z7{GIVv>hIG(g@26xy!yTL_r%`@zbk$-|L*zy``5<b>c4;fF8}TP=h5%gf1LmP z|I_=&@9(}py?^ihnfdqapRT`8|K$9=^vC`0wm*V@SN!?#XX&5Ef7bqa_~*c%+kYPX zx%ub)p9g=w{`vCf`yYwFEPuWKO8;H-H}tQ-zg>U3{<-~=|Nr*i{r}tkA7Yryu%5A& zaWYdaQw(!7vjU4E%Py8REK;n`S-e=^v)HgMVi9GvVOhzthgq4$i@BEh5z`f>DNI^S zE==<nxtaVJuP|ycu40sAoXn^R-fdmQ7|vMEn9EqsSjgDHSi-oNv4C+uV<zJP#$?9* zjG>HE80{I&7`YkOGi+zzWUyp#```Az;otdxYya~9`~1i6uhpN0f7box{bT=o<!_$f zNx!*%8~?Wbt@wNKZ|&bYe^P%R{&VoR!(X#MGym@RbMvp%-~WHJ{!0Jr`z!Eo$=^SJ zxBdO__tf7@e^38C@b}!`b$^fjUHf<K-_3ug|6TsK_V2X6Wq+Igmj7-1JO6L{-`9Wl z{|);m_wUfZBmX@Acl>|(znWnULkD98<6NdFruobo%(W~}n2lMRSmv@av94ovWi4e* zVEw`3%Nob>pJfMgFN*>*Bg-VFGG<Yx8%&!SeVMWuA2Yf$PG&S_Okh-HG-Z@zRA%I1 zWMKTp@P^?D!!?F;49^+%GW=xN#$d>}n8BN|lOc|=oWYGTib0D}lHno4`TxZXVgDcg zKl#u2zv{n+e}#Wf{yq9f{;%AhmOm4JfBLQPyZiT>U!V~m&)=56gMTmhUG-bz&-&jB z{`~$e^w<7R=HJFYoByu-bMx=&KR^C%{loch#~=QGr~WYhd-&($-@kvJ|K<Ao{IAsC zkALO<vi{TiEB?>@uin4Xzk&ZY{jLA^=kJk!QU9d>ANV)*zwLh+hO_^dGqf}KF*-3a zGx0HPXS%@@!90ceC9^(D49g^zK9&P43t0}cl(H;hF=B~lIm`TsIf=Q1`76^8rh2AM zCV3`Jrk#vTOa+WgOj?ZMO!pZSndUN>Gi5NiGX*mEGI=oAFhw({GBq+tGi_uLWV*=k zmGL^mamF1Cjf|ZPMvMjwXBhVU4`a~&f8+nee_{W>{yq0E>aXX&w}1BhZTjQ<SMSfA zKb(Jh{_y+>|KtD1`p>FAhJQr<I{qpAoAhVX-~K=M|8D;C`S0aF3jZ$svHo}RPx`;D ze<u7}{%6a-Nq;W?EBo{0U&NnR|GfX4{b%=Q@juT$J^#Y~RQ#Lxr}*EkKk5H0{^tCf z`FHX^o_{a?wf#%|FY*7+|Be5*G9)u}GAc0UFx_KxVeVvl&&<i3$x_Wcf#ooB8Ou{< zZkCtK<;;7Tk1@3|D>IoecQf8)l4WdVI?SNQ)WGnLF_7U5qaVXzMmvT*j3x{_7!?@S zGm10pVw7aq%&5k2meGvi9it0_5>p6+3sWXT98&>9B2y@X4-+SYD$~6Grx+Ff2Qha3 zTg&kGuK+{t-<bao|E&6#^5@rI=0Aad_y0cqXU*@JKl^_h{t^G9_NVWU@gKFn;eU?) zo%$!>-?Kl5{we)c_#gW>?tj(a`v3KRTmP5+ZTMgCH|2lYU)TRZf6f0p|CRr5^H=D< z?O*QyZh!gzNB@=jU;bC)f6w2L|2=;v{-6E#!T$|^y%_HNy~LpLuaI%pKMf|E|F4<8 z{-4f#hC!8OIb#<~0n-f@S?0$qGnn_VTxL#TdB^;L`6_c7^J?asOy10~Ojns+F@`fu zXMD~Wz}Uhl$mqrRf<c3EFM}#$AA<>FG(!lZDnlNl07C~O3&T{#fB&~IGBF%u{QLh2 z<M02s8K3_@$$0$#M8@v_5sY&G#TcjlyT$PFZx@62UloSsf0q0g`Xl+j|98zlx!<4v zKK|AC_wFx|zYM?k{7L&=^XKvJs6UN=0{;B}ll`ac@3cRA|6cg>`Y-F>?|&Ws^8Jhc ztMsqnuf@Npzsdi?|IYvC`}g`ko4^16>Hbyxum0Eazv^GN{}zAU|A+mx{$Kak>i^Ea zuKz#%4g2r<Z|eWe|JWGx|IcPP_&<R$lEISc6@xHy660m&bBt9is!ShPvYE75moPc7 zo?ud9y~}ip<r$L`%L}Fj%(s}hnYT0bGu1I^Gx;z*VH9Ip#K^*w#K^^@%qYQhmqCeX zHG?!$1A``02!jEWBZCE#I)e+72ty3h&;N-`xBvSx9saM)wC(=~#+m<@F~<IPV&wgQ zong|y90rkpum0Em&HMl7&+C5`e-i)k|9SX#$M43!6Mnn>?fb3q_uy}dzZ`$0{zm;# z_`C9t&EL;|BK~Uq4gZ_|*Zc3BzgmB9fX{S#^T*)d!9OwoX8vjaSNmuFzmh-e{?+|i z`)~Q5t^XeW+44{F?~Z@Lf3N-P`}_ajk-rZAIsVP~AM}rlVg0|k4E+D?7@PjTV`O5O z#8l6q#mvgMl)0UelZBDVk|l#Fj^zMTEXyAz4;E48U(COlW-#w!GG@+Yy2d2R)XlUP zeAc}glRl#YlLX@jMp?#9jE;={j46z4jMEvnFdSoSV0g+H%fQRz%b?C=%izXj!{EcD z%wWzWz#z)>;Qw95+5aaqO8+-xZ2Y%};o4s}2Gzg&|9Aa~|Ih#D*}wh2tN+dV{qt|% z@7BMoeyjhz`}@fsi$BNzO#8F-&+9)s|LFWZ`zQYImp{3GHUGB!t^Qm4_w?W1zwG}e z{?+=o;IGlY)qgeq9r-Kq@5bL>f8YPT^H=cS>Ayz*&iqaKckb`xf7kyW{deQ<&wsD} z+W(jPH{*ZmKL&>T|GF8H{+lzhGJIoP#Bh+wm$8=lE~7R}2Ge?$!%Q5k?94W-3d}mJ zddzoNl$nEBn3;DmUtrQ;p2)O{$(AXI=>?+*(^SScjERgF7)=;=GRlDVk}`%diZH4$ ziZL=XsxrP{uwp#J5Xrckp__3v!&=6v43`+Q8D22jGkjzeV7SeA<Nrp++W$$6BL818 zH2w=?xbt`2f5X4*|Cjtp_^0&e;@_>mL;q&~{_sch_sTy?zbpP&{!aZ<@jK(s{@+!9 z6#q>5)A8r<pSOR0{IUM4{kP(;=ie27-Tz+wtN-`?Uy;A;|33c_{P*;a@V^&-#Qq8W zmHOxPSM^`_U$cLw{`&m;`#1fc-oFO$&a~!#C;n~uC-tB4|Dylt|D70a|L0+hVmQnA zkYN#1JYxd$X~y5o7EHM;6PVVrykgqMqR-sL636VwQpNm~xrDio*`Ha9`5)6Yro~M4 zOukGiOq@&?86PvYGoE9#V!Y1yi{Sy|0R|4Hl?<v(%NhKcwlJhIon$Cuy2?<_bcZ2| z=?;Su(|LxQjO!Vy7<(Ah8NC=TGq5l;Gc5kE!yxzn`v1Cr_5aWQ)&6h(_t3vBe-i#h z{Q31)_0N>Q0)Gtu%Kv%u$Lr6cKOKLn|2+B=`A6+<#-D<}t$$|!-TY_Q->ZKP{{8yr z!rwoCuKoS{=iy(jzwiDE|NZ?}=dZv&_rF^IlK<NMEB>4Kuk~-&zbSvW{9E?-@xOC_ zdH?hMbN!$Gum1nNe|P>z|94}!@&7zS1VcRIC58`-mW&lleT)y8PBNM@GcqMJYca(z zhcOv4r!hTcDrK6$RK(=Kl*IIv(Sm6mqcBqr<8wwm#&e8pjHektGu&eQ#PE^vBLfrD z4+a4yW=16@Ax2v!3C0j6amF;Je+)THHyEmz7BM6<B{O(4=`sj2{rG={aqs^I#-9I5 zj3NKmGI0D?V_5aC?SH_(8~<+nb^KTQck5sKzy5!X|1$gy_<Q0{`rmbbCjH&{=k(tb ze>ngB{1fs|@o&Swq`$rYdj9tRTl2T)-|WBr|0@1Y{pa|1%0JP+GyeVjGvyz{-|7Fj z|Mvak|J(LY_HWTY<G&sMBL8muSNE6s|K`8p|9}5I{XhPnF2jX?a~Yie^E2-J-^r-U zAiy-AVG@%BBNKBSV<7W$#ujD|rm4&;n2MO6Fv&8DGOu6~Wj0`9VBW#Fhbf#ffr*dt zFXIJ<#f<Y9q8W1;bQ!%Fj2QJ8A{dnzrZY-1+-H<xP-RkJs9;iO*v@3k@QBHk;SZA^ z0~d2J!%rr6hO<m&47E&h4C+kx{x4x{{V&1z;$J0$`@g&YXa05h&;EDgzp6jV|78EH z`FroT!{58V-~M6vv-D5EpMpQj{<!~<_-pm2@vqCDhkr}|82_8|r{LeEKU4ob{<H8O z<KLD4SpP2nC-`^uKk2`l|5^Rr_Al=5o_}qB5B^*5_vXLNe_#IF`IqDWw!hl{7ykAC zzvXY$|4V<@|Cjjp{eRWJ2!`ALE-(cCFK0aQUz5p=;RDlghWX4^jK(ax8Jk!%nAWqj zF!iw<Vsd1;!*qc8DU%`dVWt&K>zEXnrZ6pIY-Dm{tYTth%xAj6P{eeKp^9l2Ll4tx zhG|T*7-loIFic{qWhi4RWe8v@U@&1yXV7O#V$flVVNhf8VNhYRW)NqRVfe*(@Bbyn z-v1qp^8Za3C;mIdAn?zYVaDGT|1JLV{QvwX<KOW=kN&RtllXVxpZ|Y${Mr5I&Y%82 z3V-wdRQ=8PbL(&AAH{zY|G58K_9yV)(m&4s=KL}H*Z4>6U(Fxxe@%Zl|E>JP`tQ;o zp?@rY_5K<BjsKVScgepgf4}@Y@HgcDqrXf3Gyi+_-|U|(L-M}}hAIE%F<klgok8h; z5@YTEhm1G=M==>OTw>~H&}4qj5XJ1k7|-0!Xvutt@iWsq#+gh!OlC}COb-~vnHm{| zne-T?n4U6-Fl}StWa?-5&DhBBj<Jm46JsTV5K{$%JySV2ET%AJFl=E8V>rZQ&Tx`R zn&B+d=l^Gz_WWPRRQtb$$@#w(6X*XsjHmx)GdBHu#i0E!n&JH4bN{RU`u^Ab`{>_` zKYjo9{c-rW{m;L@m;YS;EBtrQ-}t}F{_g%e>#y{`$$ty}P5!&_-^9Ns{x$wR_Ale_ z?tgxNxBWBxyZxW)-@X4#{~r7o{P)zqy1#e+t^E7_-=V+a|L^{_`Tz27-2eA~XZ`>7 z_s;*nf7Kbd|5Y=n|9i|3|1W}Z`@e^bn*Vc{7XAOnB+JmoJelDS^KS-c7Ei`7mR?2` zmK}^&m`^f>GaqL>%e0QsnW=;EAY&?HETaSCX9jh~MGSI`aSVox1`J`0;tb7<91IH> zzx+ST`1k)u#y|h1nYbBDnRprOnIsr&nfMsYndBI>nFJV=n124}W;*l#6=T!?&5Vlw z>lv5-(`MB8caCA=-#CV!e;)o%_!Ij7@$Xarru}yOm-YMN-=g2Se>ePA`z!qC^Pk2) z@Be)I!~QqzufyL1e@p*<{5$in!oLlFjsETV>+$cz-|&Ce|JMC``FHNWKYzFV6Zv=X zpTfU~|J46|_$Tu3@4tV4`Tu|XtM>oxU%&r<|91UX{`dBO+P`py<^Rqwy!q$PsQ3Rm zW8ME8rfdKIFzGO~GuJZwV&2E#!otd!&f?0L&eF_i!*Y=E6Z31vHfByHW@cfgZYFsq zAto`Vt&H4E>5Ly4H5qR+vM?TDe9W+p@f5>K#uW^U8T&zfWrkghc?@?MlNnf<au|%5 zsu&`f+8I)qIvMhqY8eukk{P_1R2le~Zv9`wSo+_R@x#CE4C()@8Ls|4{XgPw!vAM~ ze*RnfXT`tLKhgiP{)qkS{Bz~+;XhOVe*csA*Z8l)-;BSSf7}1E{O$ew`A_%XkAEir zefMX{U(Ua0{u=)M^*8UY%D<I=ga6(B+wkx2-{t?5{vG^h_3zd{|9|}dBmVjQ5B)dc zzx%)A|Ly<%{qOismm%(7GDFM1?F@VVNinkipU&w1U!G~+|20gX{;M#%Fk~=KWoTr+ z!;r%)#c0kP$oPn<im{$)CL<&04iLt*jINA}!RLZ~V3@)9jG>?LDML5oD~1lnR}AwR z?=$RVyuxsU@dCqd#@!5jOsg1lm?kh-GvzZ_Gx;*;G3hhNG4V2RF@663i1FP24UBXC zmoWPNH)6c@?=eHbzg~tde=Qj_{@(k)>QBS}#6J@ME&pu&=k~|%U)G;rf7kxm^7q4^ z34bmBR{t&iTk?0+-;BQ}{}%oI`nU40#J_oez5kv0oBxmPU++JYe^dWC{cHWF`>*t$ z%)g|6|NaL2d-6B!-}S$f{@wih@ZYDu+W&<?r#$|<|3CSk9mD*8s~KMW(`Iz}znyW` z|461c{~4K87^X8PF#KcgV^Cw+%Amn=j^PXQdxmw)OpM{o{EXk3cp0ZKi8GopNiaTP zRAHRVXvApE=)?G%A%<}?Lp)<ILlk2HLl9#=Log%g^xHWM?TkklwlKb90G%@@$fU)n z#bnCp%p}L?%JhlBnQ1wL5|b^%N5-xH*D(tJk6?`Zcb#GG-%y5!f6o55`{VHc`0r!? z%74fG^ZhOHFXH#hzs<id{yq2m{9oBWXaDB?x%_w2pX-00|GD;8_3!b&@qhRKUHEtT z-)n!j|CRc8=&%33yMJ^4-S}Jf@9y8Cf6xAA{bTqS_)q1Z-@kx=asTT7)&5)lZ^6IK z|33WN_Rs78s(-8hul}dbu<qY#hNJ&N8Q=Z;#Ay3}0n?QKdd$E6uV&6;U}L$%V8P<V zXv;E*QJ&=t<A3J6jN6!RF~&0QXZ*`FgK;raEn_rOETc4&593EhGsY8)dW@SHl^AC- z+A>aKjA3kL>|`ur+{_rsc$3ke@eQL7;}1qZ##fAijF%aG85c8JGFCBiF@`eUW-w;# zVi0CjWca`^{r^dZ-~W0T;{Q1^oca6ozx&_D|2O`~{criR?_cnrxPSJ4e*O*qGwpBG zAMd}#e}w;5|M~f6!XMVZ3;wA8-To)x?}I<f{&M~O_}A{Q&cA}cVgKg+P5yV{Z_dBZ ze^dX-{fqo(_AlgL+`ou_eg8uK9r_pjkKup7Kb!v<|MLIW|6A~X`@gIIU;i^^Q2W1_ zA@aW@W5fS$#&!R{F<$#0#KgnU$K=ScgQ<++4AT;ZvrM-bHZZX=)-h=@S~7VtzG19m z+|0O&aWdm^#yZBcj7^NY80Ro9WZc5o!nlXAlyMVd9pfy<CdO9AX^eS{%NS!BH!ub; z9%l4ryu|3oc$d+e@d=|9;}b>(#+!_L7`8EnF*GpV{O`f&{{IKV&VNf7bp9DIZ25cS zzxUt7|9pS>{=fcn`QP0?^Zq^m)AWzwZ}LBlzwZD1|Em70`z!fx&0qe1kN*n(6Z|Lt zPy3(6Kl^`<|6KlA{`38(`Oo8@$UpOc0{?XWN&M6NXZz3aU)n#1e|`UQ|Ly#@?BC^o zFaACKXY&8`zvlm+{@wil@1Grm;QuWQTL0Y`o&KL<%>3`iwCMk4rdR)2nN1i}m|GbP znXfV^GjlTjWwK@5!xYAt!4$;!mC=i_j?tV^kx_^78G|h283qPM(74wXhMx@g7`PZ; zF&Hs^V#s4;VO+*2$as@cf$=k=IU_Su93vA`DI+UW9U}u%8sl3=6UI}Fw-}}}W-<gZ zzWC3?82x`a!-apL48H%E8P5FO_dn!s#s9~D9RE-I^Z#GepRNBK{*?c-`(ySm>krev z)qk%4efwwIU(3JC|F-{K_IKCcqkljDz4=%CAJadxe=`59{%QSl{%82l<)7ZaxPMmv za{h(>tNoY%Z^FOEe>48o{oDGl?%#`lIscUYr~QlnpZss;|Ga-s{#XCAW?24j0mH3- ztc)W6^B5!lpJQC~-<awB|EWxN3@@3cF{m-$Wbk3;VDw{FW;A2AWMpG@V?4<e&RE8j z!Dz(Pz{tQfoADLn3dSdlCm8QAK4(13_=6ENPS(T7!IZ|x%jC|;&1A&L&7{xB#$?6F z%H+-{#1zJ;%;dso$YjiD!o<vI%ygVVo~e%EBcm?Ee#T4xTNz{in={`3_mm;%Un#@& zzw8W=e{28${=@fw`=6EnX8lR|H~o+5zvX{e|Ly<t<?p>eAO8OO^Y5?VU#@=|e|i5o z{pJ6c^7qf*DSu!8J^1(JUzUH%|62W<__yR==if#D7XLl-Z~x!#|Gxc|{?GEy<-hvB ztp7^?Cj8g<x8}dXzZ?Jc{xLG>{BvZ`{#V9e`tLl0<v%gTjDHo3TmPM66#cKvRR7<H z>Cyi%CMyP4rfvoWrhTB>k{C8IerM=sWM#}{WM|A}{L4_s_>^HW;{%2>jISBqF$yyN zV6<a=%-F!Vjqwa)FQY6|I%5ixJ>zsHX~ttr+>BS4{xjTRy2NmlX%WL@rc{OyCOL+G zjOYLFXUzIv$0+<ij&ajJ6Gs1kzZw4iy~42l?*xX4f4v#%|GxU)@^{Mr?!O-Y=lo^) zzwPhQf4BZF`o{}C*S6|k!N0<Peg7){P5zhhZ|c8{e?9-g|5f}8{g?gE;a|o-i+?Tu zbpNgUXZ-KcKe>OB|3ClD{J-b#{{Pi~g%|?=hB3JPoyw5(_YTAKzw(UF{$?|p{M*6U z^pBTm-#=d_*8h!6cK_!ymH*$wwBY|jrYrxen124ZW>RN(&FI81i7}JGlChEDJHvE_ z0}Q(u7BgICSk3T}VIKoO<0A$eMrOu*MpechMm@&mjCPF67;P9gFj_KhWK?84&nV3J zjqx>uKGQCSIHnYaekM+a#Y~g`FJsdFKaFX}zYL~?f96ad{(fZa`n#M__pc}8=|4{y z>i^U-xc%W}(EYRWzvdsW|F(Zb{wMwU@Ne3md;hNex&F`O?~Q*8{+|D*`0wPuqJKO8 zE&aFj--dr3|JMI2|F`B}`oDGmGXL%WSMu-9zlML@{~P{={jdKw_kY>Hm;a0Z=`qCr zOJ{KWH<7{Q-!=x_fA<-5|8X(u|MOrp|JTE4|L+N-^FIrwlz)v(v;G}mdiw7VlktBw z=I;NN%(wr0GwU)qG8ZxEFz;sg%JiIJ3lk$_1``LPGLr=3YeqrFBaA|fQyE1VvltB- zZ5bUI`503fzcJJ@-e;J{c!^;<<1U7)j8hq&F;+6LF$FS+FsU%8F}?k-z_jr{KU35H zZ;Y=0k27-rpU8OZUoK<DKSxIHe}arl{$6GX`a7H9$DeG5b$^T*QvQ7UulZ;Ff7w4- z|E2#Z|9ATH>0iO0P5*ZO>G{Y0x8Psc-}HZz{+9kb^LO$;&VNh(dH&n^um0b`f4Bb~ z{Ac<9;J+pR5B>Z0f5$&-hMoU{8J7RcX6XHw$58RFkRkG43xnOiDGW0IPBF;;V_?+! zXTs?GuYfV*-(1Fd|Bf+U|96W~_&)=a{eMZOod2dwo&TMg7X9~R+Vo$a>H2>jrceK$ zF$ytUU{qr`!05+tim`~{IO76_ON=KN4m18`*u<#D*v%Ng7{yq@sKGds@dv|d#(fN1 z7%Lg}G8!=)XZ-O0JmZ%CR~Q@rpJxpGe}+-%|1ri}|28sC`q#y%`!AXC!Cwc)Nq<=x zgZ>_8ko{Z8@bixz!_7ZW{vZFd`2X=gdH?VJ@%zvD*Xh5{U$_7B{-*tZ_P6D~;lGvt zQ~&M!U-xg_|Ed4_{xABM{D12|<NrJV{rPwG--&-r{}=r8`QP_%^8c29_y70)lVh0k zFP&k<zXc3i|2<_``%i^&*}rVYY5&$R_WgUy*!fS2sr{c3Q~f^&roMlEOw0cHGadOC z%5?u<0u$H&5+;xT*-TacQ<%2@w`Y3&pPxyJ;S{4H!vsc6hIB>+20uo1hG0fj24_ZN z24_Y`1|!B~22;i!206y#3@nU47_KoWGj3+^W2|N<WprccW&HPlDdX<{D;RVCPi0j4 zU&?s*pFd;AKV?SMe_V`v{{CQy|NDV~^Y2B5%YW7~Z242gu<TC|L;oLXhQ>dS|L6bN z_`m#5$N#=R8UIiI3H{IaH|l@U-^BlC{^tKz{Fnbf_+RD!(tr8?r~j+`fAC+^{}2DB z{8#_K;eY-AWB*V7zwlpzVc-8mhE@L;FqHp4#}NAeEra@hX2$>jWEr3Qvu3>TFN5*) zzp0F;{vBXE`|lCs^?x!<-~R<LiT!V6GXKAxDe(Ulrpo{CnO6MgWPbUdhgq0`pV^Y( zF;g_ddZr|XN~RQsXr>4TTc%(JJtiLp5vD+fAB>3%j~N>njxo+<n8&z_p@4B8gB9a( zhBpkm8J02ZVu)lo!l24<o#Dy<7Yy_N|6&OI|CvGZ|3`+q|6VXG`1hQ_>)$Pgzkhc# ztoz%?kpI_*!Q`(5!{0yW{-68P`+xo)-~Ua2)c;rhVf#Pr&)a{e{=E3d_xHoU<iFhi zxBS)q|NpQ1f9roq|C9ga{cro1^ncaA<o{>>#r}WuFXq40|D^u`|D*p`|4;hA@_*d_ z!~YZi|M?&GUxy*|e-eZ1|0xV+|Bo~1{{O`w^<S5f<G&Xp>;G^@@&7rDR{yIRBmd7} zto*-~anAp<j3@rTW@Kh~$7sp$jWL$tA0wz{oW^jAaWTVD#?=f<7*{fsGj3oAVcf}} z&3J-=kMSDAcZQn`4;k(-++%piaE{>-!#;**49gjwGITTCXNYCE!Jx}<m*L<4dkmZZ z-(X1jzlVYA|9XbS|0Xdw|7&6R__vT@)!#&hyuZ#2wtwXq6#styFY@>Jf9bzn|8@Sx z{P+HA|3B@o+5f43J^vs18~UH)U-W;+e^LK){ssM?`Y-VRx_@^65C7Bq|Ms82f2IG- z|3m+O`&aw__rDeYIsRYxukruafA{}#45|OE8EXCqF!cV<W$6AtgQ4vIS%#SZ?2JzT zZ5a*zS22qIpU24Xe<vg3|3{1x|Jj+W{!20?{g+~z_FshQ+<$f^Hio;5CJb8{V;Gtl z%Nar$I~kN2Co%9cu3_M3JjkHH_?1DOQJB$|QJvA9(S$LG(UCET(TmZ6(T7opF`jWB zLpfs(Lo1^QLk;7p|B;OK|1}uh|G#En_`iYS?7td@Y5&p~vi`*}sQfEnc=5N1VgBEF z4AFn*GD!ceXZZWanc?1_5C2d7ne~6)AGiM(|NQ&+@6V-w`hSo9>;8M`-`&5@|Jnch z^RMk6|Nm3}1pdGKC;Xq`ztDfy|6>2e{~P|-_;35)`M=Bm)c<b(C;d17f9Su`|JVQd z|En^v{7+(F`ahL{{r>?5zW+}d#Q*<hQ2Z~(DF0uHQRKfJ<Ntp?jQ{@SG5-EHn^EHb zNk)bLKNw^Fi!$~8H)Hzp-+{@A!JTOygA3DF23;maMph<U#w(0|jB6O980#357!w%7 z7!4U67^N6h89y_yGJazC%J6{UJ;N=A{|vhs6c}eP*f16|1TwlY_%X^dI5GbHFUxrI z{~Lz2|IaZL{XfEB{{J|`+kY1rdj1_@u>QA+;ojd4hIxM@8FKzgFvR@5`akgRwEy0J zBmW2d)&3v#m-&C)-%tNm{eAiG+ux`EJpNt&*YfYszdip}{rmE7&Oep^9slD0cl~So z-~Vs^|F!?N{J-$;^#8a2p8se6|Lecxe;x+4|GW%}|0Nk@|8p`3{ugFo{x8h%?w=aN zt$+FqNB;#d?E2TrFz??!h8h3fGc5V1#dz>vB;(tEg^V))%NV2n7c%zz&tbgsKa!D` zA%M}3!HKbo!IW_+gAwCN26@I;46KaejE@=Y8Lu*wF`i^t#CV(G9OG4nmy9PEelX5w zc+Qx_aGz0*VJ+kR|E-KG{<|_({1;}7_<xbX;{O^3mH)FDxc;wT`10>4!|8vY8Rq}v zWo-K=%^3fWpV8~z3kLIln;9JbwK2H;i(&Blr^Ar*@6Z39f0zCr{<r@B=YJFbyZ$fu z-~T`O|JDBv|Ctz!{&O=J{1;)6`7g#G{$G-T;lDV;<9~__r~j!l?EmM$u;X6>!_I#l z414~qWjOioAj9o{=NX>=JJ0a--wTFk|JWF>|C43h^3RB|_n!@8;y)io_kRJ5&i~>W z{r`nACjAR#?D%KPxbB|`<Mn^4jNkuBG3x*4U@Z9mhGF0TlMH+eiy2}Wsu(6SgfgsU zFlX4xpun(?L7U+igC)aN27iVp4E7AK7*rTo7=QlfWjy&`o^jcK1;(lWWf;5vi!oOH z=V5gJ&&nwMpNH}0KXt}M|Lhrk{zWpf{fl8d_}7VX%3l%2;=lJ8BL41R2>d&dA^dM4 zL-F5eh6R898D9SNV6gsY!Lan71OxN`fB&=pKl*>-|LOlc44eMDG0gs-$I$eD0z=*Z zH4M%F&oDIpf5_1B{~JT&|8ER+|9>)+{eQwx@c%eN>i>-lp8sbt$o%hOc=E5CVfMdy z3{n3MFlhXH!@&Pfl=0VJGsa(k6B(KR^)PDuJId(z?=55LKVhah|FoD+{nKT7|4)TU z_5WYSxc?^^d;ixl9{8`p_~8Fl23CfN3}Or!42BHm43-Qc3;_(^|7SCt_&=Rt(f{2H z#s6<Jc>jOPp!xqEgUbJd408YHGZ_D`Vle(6!(jB^fkEVdD8q+;H4G>I?O|B>?=M5e zKW#>@e^!i&|I8S_|CMGu{r3;U^1sIzCjaeb==~eQ(DhfBVfkNChTDHx8MOcX`QP{N z>Hi=9?)?w@fA{~||9AhhGhF!}#&GoiT!wxBk20+I|C(Xt|9=cC{|hoM{V&Hj^}iBh z!+#mZ-2c3c0snt7*#CdeVDkSpgYy5647~sUF}(W6&3NvgIAh;GL&k`I&Wu|B0vP%J zr8EBho5d*buaeR7Uom6mziP&%|C$*e{i|g({GZ5J@ZXMc=YJu_pa1VMC@`#Kux6-Y z@MiF1h-c7bC}m(~=wf*Ee<s7S|4SK4{;y^5{J)Vw?EhwlpZ``f-26A4Vb8xdhFSlL z7;^sAF!=nN%AoLXFT?-8uNiLtm1W%g*PF5TZ$4wj-wMWzzbTBlf2|lR{&F(5{e8%= z@$XTF>wkAJ2>e^i;PGz}L)X6<45$9pG6?*SV~GFn&anEwIm46xdJIwwstmpiG7L=& zybK!{SQ#EL{QA$y`2W8lBM(CuqZmUAqXNTRMq!36jKBYHW4!SHFyq4iM;J5zUuM+) zf0yy?zh{i|{(WJL`^U#5^G}iK=U;24FMr*c`2U44Isfxys{d!jwCA5L)BS(4Ox*vu znRNa?XAJ$nhcV-SFJsGpKgQ1g{EXfIPcd}=?`G)z@69mx|F8e+{%`(&`G3Oy-~VO) z%QL+HXU1^gp98~^e>Mz-|8y9_|0y$Q{gYzg{HMwA<gYEm!M}bC3;z}})c>8p;Qx0Q zgUsLi3@`qCWjOZd6T|vHcNk{>*}*XD&s2ule<~T4{K;n6@h6|**`G`Xt-lEjb$>k= zZv3@lu>WVvu<~CbgXsT0hO+;=8Ls}n%%IC~jUkI+55r7`DGWOqk{B*BSTj6hP-S?| zz|HW2;qCut45$BpWZ3-wH^Z#|@{F_on=tnO4`r<TU(Xoye+{Gd|JRJa|7kM4|Ch$} z_um30ng2(aJpVssO8Wnusqp`ArpEt2nEL-eW?J_DG}EsCQ<yINk7auQUyzB3;S?h? zLmA`C|Hh2R{=Z__`hN+-vj0&GEB-4oZ2kZ4|E2%u{=fRa;s5{t3;we+^!{gNDE-gE z5cr>&LH$1$!<&EN4BP%GG1UHZWzhSV!tn8LH^cJ3%NcV2Zf3CkyOu%b?+ga!zvT>X z{{%C9{A0lI_m2#N@?Qalh`;O%)Bb+?fB)~3|0@4({?Gk)@BgNMAO64n$H$=gUymXB zzYRm%e;<Yw|7{r#{x@KF@L!eT%YPLHQ3f*x6$V=deFg^xGX`e{dj@9)7Y0Ly00t?B z7=|bR3m6vtpUU9#{{+Lge<F<g{>3xS`L~R5$-n1}hyL*~z5A!dr0`#xDd@izQ}cff zrZxX1nXdikX8QC0JEI!I4MrP=ZH&$gHH_{I&Wu(J0*u-W&ln^aPBX|ctY%PQn9N|q zP|V=X;K&fmAk7fX@ch3g!}kAr488xE7&89f{vZ5*%YUc;tNv^LKk}dZ|F{3o|2Z&h z|JTCM@ox`<@4pueivK<{eEj={;q>2g49ownVwm^0mSMr)FoxZKZ5i(Tm1ki4$HCzG z@A?0(e-Hj&|M&F2{QsZ-WB>Cp%=|CNu<gGT!?piP43GY+G5r27#lXiP%wWLq_kRe( zum3p=Z~r$i{QTd-@biBw0}DeX!{`5v46pw;GMxKAiDBvg6%6(N?}5h(9sYYT8vU<l zbojr3G4%g##)|*f7<>MIV4VM7lxg{YRi-WfO_)ypH)4AJUzUl9;VYvA!!AZ8hDt^? z1`|echF=Uk47(V9|L<Y=_dkSzfx&=5l7W>$mErP#Q-<09Eg7=@YcSaU7iUoT|MUO< ze{cW){CDsF<A3-5pZ@ps|Dt~k49Wjg88rTxGQ9ok$Z+_tF2jt!TnvSOAN&veyXC+3 z-`@W+f0O>}{Pp<n_t)uv>0i(P^Zo|?Km9lAKi|KM|33e^{?Grn;s29=Pyd_$XJ%;r zFU7F+zcR!9{~`?E|1&TMG2H&I#IWzb8N<T=4h*yZ`!X!~@6B-NzX!vu{~-)-{--cJ z`d`Oz=>GzSrT>pGwEzFikn~@h(e-~eqrv~pjIRG*GUoqRWLow=lIimQP9|1{6-*`! z`<QYVb}_AFSitm%A(iPLgAo%8;}^zP40{-NF_bZuF<3F0GJIiRWjM_6_5U=6|Nk2p zBpGrT92f!^q8Qv6;uy>sJQ>Ux)EML${`~**|MLH{|9AiI|G(_N&;LdL+5WHlzv18c z|0)0e{a5*?!0_#_9>a;hDhvz%iZRsu{ro@d@8$o#e>eS)`P==!`ftMj<$sO;pZv@5 z|Ht1a|8)PI`Ir6g^uI0tUjO_3Px-&=|Dyk;|M&c#^#9NQW&dRvR{hsy*!16=VeNlY zhPD5l80P%<VVLzljA8cwXoj`_qZm&8_hNYcU!OsoftA6M;o|=yhNb^EGBp1G$&mWr zfidNOA7ktP>x`TJ3o*U^Z_Fge;J_5dV9eCcz{9ke;T_`}hQr`nYQh*NG3GNiF;+3g zGiEdDGkP#GGfFTXWq8cc%dnLpn4ynBg`t??_kSOT%l{P^*8czafARkv|EK)#```b+ z_<zIyqW|UpTmPs2U;N+o|JnbbvV{4+A;Z0YkqrC(B{EF>m&g$N&z?c|p8&&;zlZ+c z{M-Kj<X_MK_y5ZO|M~a*KZ$=Q{(1h}^snRJx_@{6?fz%@|MtJy|6Kof|M&j?@_*fb zUWQHo)fi6ww_>>aKa%10|4N4Q{}(ar{(pjD=l>fFNB-YnIQ#!R!<GNL87}`{!*K5Z z5{7O6XEQAQKZT*?{{n`L|N9t%|9@q0_^-)m|G$bc<o^!FhX2195B*nS;$pC6ies>0 zTFPL`^pHV@Nq~`^$&~R4qc7tTMmNSDMiWL`Moz{j47V7X7-ldSGNdy6`tQMT_P-;; zqW_Kz#s6IyT>d*V=>E55ko)h(ApYNlf&0G?!>@lf3{U=PF<kt|$FTd~xBpZB-T7bi z@4|nZf9L-5|GV)2<=?yi5B+`kf8E~)|J(lF`rq>R^#5sp*Zkl6x90!jzY+ic{MGxf z^^fg;%D-R#HvaqjkL|z4|FHj2|L6Yi{eSEKy8rA9hyEKg-2U&yaOZzC!{h&{3>W_w zFl_tZ$gu8zJHy8RZ46ugmox17pTV%>e;&j7|CJ02|4(6<2CgUnGqnFVXKegm!&v)& z2V>>`AB@fawV0OvcVoKx--k(<!J5f~L58V`;XC6dh8v6z7}hZUU}$AzVGLpX%b>vc zp5Z3Ld4^7gO$^Qqy$pZ;r!!poZ_cpozZ}Dg|J)39{}~w4{{Q&z^8eF+m;Vp{yZ^ua z-|hdI{}%uE|Cjr}_5Z(rtN!2lxBCCae~11z{d@V}<(~`#?>|?DYky-HHvUaynE%(8 zVa{KDhN*u){h$AL<NwWnv;N=uYw%y<AM^jje=q-S|M&hM+kck-$^UKs@Bg3vpO0a| ze+Pz>|I-=X{cmL8V(4KIVVKOI$}ovRfuW5-o}rCFfuV&#jG>=_pJ6%!C&N63U;pPY zJpDhP;l%%C44eM%VCeaOk|FK?dj`k<!i?Jg9T^q>7cr{;pTQXT{~Tk-|4)pk{_`^l zGw?HoF)%arGkj(|$Z&)4KEqzd_Y9qkuNiC^?=w7LILuJOuz-P$p_*awe^*e+%%J-J z(|_jwH~!!Icjf<~f4Bax`}gtx)_?#0Z}`W~u=5`)!{&cK|8M{I>;L?Jpa1v%V`nJ* z$H@@(PnN;`pBjVnKXV4le|8K;|Ew5P{>d^J{bOO!`*-!f`M>S|E&lcYclcNM-~C_M z|D=C5|J(oB{6F%~{y+bJ@Bf+q6aSz1U;SU6Vfz0ZhNJ)YGd%sz%*ept!pOtWz$nA8 zk&%O8KO-B%F2?8o7c<`fU(LAhzZ>J4{{oDC|35KI0JrHMFtq+>W~}~i##s8lg0bTN zUdFcnZy4A9XJWedpOJ}|;WeWX!&632hEt4@40{-J7&b9hF|1=OW0=NR!cfXs%wWgZ z#PEh;B10=fJA*7k3B%F<VGJez9T*J%t1&$PC(bbC-~a!f|Gxd_`1khz`@eVpKl^+0 z|NFnk|NsBH<v;Jg_5a2G9s1Av@A`k%fA9Xk{`>9!@xKfVEB<mawEdM}DEuqOkoZ@D zA?B|%L&{%PhQ`0&{%`&J;Qy<?SN<FRJNZBD-+}+T{_X$I^?%d<g8v);AOFAcKM%vk z|Aq|P|JyO_`|rze{C_0Fx&OHg_x|@WeEh$jfsNrPgEqq*h5&|745bX*j7<#6j1w4) z8Cw`a7%Ld67(*CVFxoR*Wt3syW%~c$lj-jNLZ-9-r!XD(zntmD|20f6|F35fVOYT= z!?2RcieV*_2g5?9GKNZ~E(S-YWel$wcQEua9%PVYJi@S*;UGf}!&(MohDi*<49N_i z{#!FV_%Fh6{Qr~xv;QCdU;cmA|DgZH|5g7-{^$Mg`2X!c`~L_3Is9+_=k?$9U*><7 ze=Yxy{oU|?-ruwT+yB1#U;Fpx|GK{d3{`*S7@GbnGqnB{W0>>z$Nz1AFaE#ucjEtN ze}n)3`fKoC{-5xFuYdgid;bakzx+?`ztVrb|5^V%|F8OA@c+*L75_i}zw)1lfr-JG zL5m@p!IPn$A(5epp@gB0p_8GCp@X5Ep_QS6A(x?r!Ixn^gA~IFhM)hxF}(V3$oTtz zA)_$Eaz;yrdyHWWoJ@5LW=xY9LYS5^WH7B`sAD?BP|b9bp_%C^LpIY727e|wMhPZ2 z#@me1jLnQujGBx#j3>bRSWYoWF!VE={2$0r{a=AW^Z&2^H~wAyzvAEV|GocK|8M)( z^}p+1<p1gaT>o$QXZ`=szu^Ce{$>8({;%!-vVRl)_y6ntU-qx#f6BkQ{{jCh|6Bbl z_%HM?@&Av%e*f?PwfO(?uk8Qte}Dbs|9APH{=fbIV*YLZH|5{{f7k!*{ipH&_`l}= z7ye!T|NfsWgZTew2G{@77>fSyW|#rGwfMgP<DvgXj5q#!Gk*FX%qYU($7ssn!05tY z&gjoz%;?SF${4^9$r#K~%b3Ejl(C%QFk=<NOU6b9E~Z)rb*2^uOQtdg2c}Yn5T*u( zP^MW7Nlg0~QklLnL^H`V+B1bSiZj(QUSpic*u%J#QG;;;;|_)_Mr#HW#`FKbGvxk1 z#vuEDHp8QTl?)sH#WKwMr^V3yPl%!V-~Io&|MvZl{x|Et*S`t>mH##W=lIw1|LNcE z|HuEf{h#%>`hU~klK+K&EB@F0t@}UeZ~y;ge`o*S^LOh1tAE@6fBIYfU+iDvf6ITa z|6~72|F8M?>)(Wb=fHC=7ys4$WB#A@&+vcAzpVe${>}S;<=>_Ma{n0_qW_yPbp6j_ z*z$ia!;SxY8UFph$iT;NpFx4)BZCS9H={a(2BQK)2%|7V4<j4HRYn#D38p{)<CvHk zrZT<ze~9Vb|1(S<|6gVL{r@l%FT)-tO@^sVK@7!AEesJ%TNsR)UNLYpaWS4@)MV^q zv|tQn3}jSc^kDqTV8VEbfsb($!###>hLsGV4229*3>FMe{{R2K_5Ys#_5VBnJN{4l zFZ|!~|IL4P|9AfL`@i^K<^QSwR{n4Qclm$bzt{i${{8r``Hz)><)0+Ov%f0fHrcwr z5)7;Ve)zxX?~(s||4#gW>2K`+w||xYOa1%*&;8%Sf35$n{yXyT^grhR$N$;=zy2@o z|F3_Y|MmXQ|6lU|$p01pum3;w|IPn9|DXPU_y6nv|Nj{o_!tx!6d24Ij2U7Xj2S8! zY#5d?7%-e?P-Xbaz{eoO$ikq(_~XAF<J14)j5q(cFkbn;jPc(8vy89)zhdNIU}rLB z5Mrui;Ac9*z{$kN_?pp?@gie1<8;Ox#sJ0)#(xZ<j7u5h7{eIuF>o@>VYu=?k74$I zCx)#5at!YOSs0A|KmD)w|IB~W|NH(s{NMUN?Em)v+5b2HFZqAsf6@PA|C9co|L^wy z)PL>&hyL^a-}V3TzdiqV{=4>n(!cxvoBw_PU;gjo|FVBi{+ImQ`M>;M%m3<sf&bh7 z$^M`5@7cdi|MvX5{%_tt-v5*S`TU>pZ|eV5|1SPN_wWDzZ~u%LRQ|^?xc%>7NdLcp zq2~X3hW`J180P*z!La!MWrpqlFEJede~IDp{{sw9{_kS={C^w6&;LglI2ax>urqvS z5MYpEWMpt)eEGkE@yP$hjBEd&WSsv09^?A|pw&C47<m~MGlntLGcI8WXMDq8!YI$k z!05$zo*|TRAwv{n9D^UDCWAHOlmA?d>;B(nsQSN<!S8=2gXVv02Il{443Ga^{(t)4 zjQ^YdRsG-iFaH1Le<A-j{B!%i<e&Hd>HmWNH~%aDU;S_4|FVCV|Cj#bWhnpWz)<op zpP~5Q1ctJIlNn0?wKCNH^I_=yC(E$#-?jf+{>}M+@n87=Z~rv@OaA}+&+`AZf9d~s z{p<g~>fiSNEB`(EfBYX4!((tcV#r|gKawH$e>Fqb|3wU&{~usD_x~=#m;XN)xERD3 zl^FCH<rvHv<r#b!xfmiDfB&yz{P2G%<E{Va7?1sb!MN=|Bh$?PtV|96S($47e_)*c z{|4jL|LYm$8G0BS7%~};GPp7RV^Ct0XXIscV*JJ6&3K=|f^jE<Fk=J5M+SR_lMKuZ zYZ=b`Z)2GAKbj%?zY&AYe^Ca7|DXQ<`gisJ?SJe3ANsfa|DJyf{_g{`5C7l$@6P{? z|Gxj9`cHtN>YoNf`agFDw|`L#s{fK0SpLN^y!-3J@bs@S!^^*-46Oe?{Wtn|<bTA! zx&J5pEBwFZU-18H{~Z5+{TKLO<bTwEga0M}?f!TEPx!z3f6f1M|5yKi_5ay_b_NXw zZiWm7X@+GCLJU_Jco_aLeEToJc>BLF<FWrdjJy6bGOqsrm0{EWPYiqi|6@4!U!L*8 ze;>y4|LYk~{$Is-;{OH4!~fqip8fxm@!9|1jJym#7`+)jF!nH9W<0>KmGLw~1LF~f z2*xE0%8b<vKNy@D&M@#ZEMmC-KaXM4e^-VX|AiU4{=fKN^ndUF)c^heJ^n}kH~p{q zU-19Oe+>Um{`>uJ(?6#FOaF2HU-3`t|B`<`|L6QG{6G8Ol>amSZT~;v-_`&9|33b2 z`^U&o@lTi`<DVQu)IR}+$bawtr~Etczv$nj|1<vO|KI%2<Nw)zM*koE)BFGDpZkBw z|B3(Y|M&h+`9J^vjQ>ae@A-e}|BL^R|8p^X`)|s?%n-uB&QQ<5$1s_JlVKHuG{bQQ zZHA`|t_-Y<i3~c74Gdn4(-?9X*D<s)u4h=rIFn%?V=2QWMhAxLj2sNt7_a?5&$##h zLB@;!H!yzxKY`JPp`5XkA(ZhngBjyD1~En!#!n19jHehl85cABV`yQx#}Lb~g~5oS zg5leLH-`QHMHuS;KmPCcf5(5d{|o*z|F8M~_FvHdga6F`ul}d{f8syU|6TvM{+Ip} z`=9hr@4wzZ+yC7EV*lU&TmAp^-+li#{{8lU^<OiFMSl|+*8DAGIR3YZ;oaYO28Dmd z4F3N<|F8YG{r`r4rT@?Wv;Y76pVa?v|M>p%{b&EL@n7VB$bZBCt^d9MANn8n|L6ar z|LP2V|3ew({;y@&{(lw2#s7C1KK~bB6k_mVRA)$LbY$pa3}l$Y7|pPSF_GaEV>-ia z#x#bHj8P1tOg;=2Ov(&#ObiSKOppJUGF|<j$8_s|B-5Y&22839j7)J1=NTt4Okv!^ zkj!|V!JhFHgA(I*hA#|L7)~=JGE8RBW{6|>@?VDG;{WIWcl}@cf7So`|1<u({O|rR z|G)PChkr@`xBT<{-}le$f9ya1|K9(?|C{{F_^<J={J+4zmj5jOdjJ3WyY&B$zeoSy z{rmC%`M+Wed;gj-to!TAu<oxn!|uP94CnqzF+BVG`~UyH*Z)iZ+x6f0-~9jn|7QNr z`nU4`%zwxKANY6g|CfL7|EvA~{y+Zz=l?VQzx{vq|HJ>^|DXD=!f^P1Aj6*jl?-S8 zFJZXw|0Kh?|F0RY|7T!)^<RWhltGWtlOceyks*h13qu#<O@@t(j~Q+=K4oBFy38QQ zbdW)VX%mAA(@F+0rmYN2Oj{Tjnf5b$VBEp*gmELoDaN@BD;X;p8W>#|;u!z^R{_mw zGEDlvj-ly)HABUJXNI2t{0uAqKl{Js|GxiQ{?Gou<bU)3w*Ptmv;Rl^kNj`-Kj^>Q ze~<q^{yF}?@X!4JmVbKx7ydK&Kl7i-|NeiL|7-sF{LlLr@jvEY=6~OR+5bKNW&L;l zm-*lSU*iAhe<A-1|AqhW`RD(C`9IJ9NB@QYzxJ=_|C@hH|MUDm{@?8XoB#3u|Nigz z&%v<mKO@8Q|F8c`GF<xa%CO^qI>Va(O$<B#_c9#+zl7oL|LqK4|6gH{WO&Em#=y#0 z!XU@El0lR47=tI{RfaIeiwuQ~7Z|D-_c8P^9%g7`Ji*Y-_>7^EQHrsiF_5v0v5c{X zaS~%5<4ndh#y&<X#&kvrMkU6343`)dGgLB^F=#UcGCcgR&9L+T&;Qf^pZeebf8ziC z|1tl2{~P>o{?GQm@c*5E>HoL<%lO~*ul#@3zbXF%|1JCP`fta7kAKJhyZpQRKm6bG z|9=0z{rCR&^S|9cZU)nT0t}Y_q#6AG@iJum`}Dv5-}e8L|CRn<_)q`;s(&B<ZU1-Z z-?4v(|K0m{;orA^!vCfINB(#Czx;ph|F{2V{+DGq_TP%(+kaaINd^lBX9hinNCtU^ z76xgC6%0}g*BEpeI2a8W>>1q|3K;zvW;4bx>}HH%c*dB>@Ru=#L7pjrL7OR(L7&N= zL4(PiL72&o;Xk84!vn@VhGUGA7`8C(VOYj^gJBxu3x-C<=L`vqR~ZZ$H!!d>mNVRB zFlE@o@aO+*hGYMm7$*HsXUO>P$Kdl{lfmjgH-pCicmH+&U-_^3fA@dw|5N{4|4;oN z{NMP0>3@d*z5lQNTk?O&zm5M}!R^-5{|*10`Ty_lwg2b--u=Jj@2mf-|Ni{H{qN8J zcmBQvkBvC~Tk${kU)%q(fBFA={^kE)^{@B;k$<be`-fToGc(BlS7b2xZ^q#E-;N>f zzd1wUe+`D3{{jpR|JfKi|9}5K@Bi!nYyZFdf8zhw{}2DOF#P+k&Y;5J!QjM@&5*%R z%P^H;7Q<DBwG4uc=NLQ~Uoez1GB7S=<Y7F-D9U)Ak%{pf<3EPOjL#SrGoEK?X57M% z%Gk}|!x+h+#;C%;$oT&MEr#9y4={B6pUDvQzk<Q_zZ-+$e;o#w|56O`|2Y`i{&O%a z_|M9)`#%@M)&Fb^kN)#Ay#3F^@bf<x!>|8e|Ns1d_y4c|r~ZHczv2Iz|5N{8`d|Ei z_kXwlYyR{9pZEXfzv=(i|C{iC$-l1u%l|d}-~O-i|Al`Q|L_0H{{QP=)_>mrMgPVA zH-lTF_Ww`*kNN-cf7yRQhI#+h7>@kcV|evnf`Oai*M9?s+y4U?4*ySN*ziA-VZr|b zhDrZ382bJvGEDg&%CPc(0K=aD0SssU2Qu9FAI<RPe;I=i!y*O)hO-P_3_lnO82A_` zGUzZaV=!af#bC?0kHMUA6N3!nItE6@wG59LHZ$B|Si*3Tp_}0_LoCB41{sD)4A=f= zGfez%$q@Hnh{5vz`~Uj?uYy;h=>4DmU*mt-fBpX<|4siJ{rCCL^S}82mw(ItfBpCL zKjVK@29f_!3~K*-7&QN{V$l1)pF#Kk2?nkI+Znk2&tUlUuZrRHzc_}&|7;lc{NrG_ z@bCKn_y0Ei7x~})-{ODaf1m#)|6~6*{7?Ho<A2Tn?f={UKmNbqKNrLL{|XG3|LZV3 z`LE3I_rCyxIK!v^1`JRB`!GEFU(Rs<|3Zcb|93E4`+tVv`2YJ1d;kAt*zjM0an*k{ z##R4~8CU&xVBGpYnDM~>48}A63mG5%uVVc6zk-pAp@LD9A(zpSA(b(ZA%roJ!I!a! zL6@<TfuAv*;T3})!vO|yhCYT1|05Y%{u?vc{pVs({r~&F;{Q+o4ZtH}PyR>zzxhA; z|JnaV{}2A}`@iJ>mj7-4@BL5t|Kq>Me_;l*|EdgX|Fs!}{~Iy9{%6W?_@5!eq<_W? z+5Zd~-2OQ+nEvx)(ES&}VD`_G!Tz5qL(V^GhMs>v{_p>H<^Sz}oBx0KxBCCPe;fY) z`nT`D#Q)p>E&jj#pY)%Vq5nTS!~Xvg4A1_HGcYnpGDtG;Fi0}6G4L?_`~UO*xBnmh zzyJT?|HuFT{(t{3!0_k49s>hI1cMku34<2HItB-Z8w`;Q9E?c}=8Rbkd5k3tOBhQS zPBP{(++j>)IL#Q$u$9q*VIiXm!$d|2h8jlDeQw+g&WvCFD=^;q|Apb$|5FUR{_kd3 z`+p9@ivM*CoBu~MZ2hmp0GfrG^8ecZ+W&k1XZ_#wKMh>ct@=Ot|JMIo{$Kik>;IGg zKmPyxFU|1gzazuJ|1k`c|K~7-{m*BR{U5<_^`9TZtbaBPmH*5ba{lQsRQ!`<X#Ds8 z|Kxvf{?Gb%@Biw5xBsvC_vruTf8YM^`Nzp{^`8dAw|`~~%Kyz6qW)_$O#Cmzu=77V z!=3-!4D1X747v<T4Bia73~3DB3?&TV4D}2-3{?!d3|S1x42cW@4E_wJ42}${4E79y z41VC-#=iew!tnq94TjJE`5BoROc{9?LKsCDq8LROLK(RkTp8II>=@tww`aWl-;QzD ze_h6||00a>|DQ0J|KH4@^uL3F@qZM<*MB+;um3SIy!?0j|J{FE{y+FP<^QvP761SK zEB?>>KkL8A|E&K(|8xG={?Gou;D6Qs>;G&2|M=hdUxA_UzcE9=|5OI!|Ah>K|En23 z|EpuT^RJTO<i8SzQ~%N!PX2RdxbRPe;nu&`|8M`h@c-ez6aU};JO7{W|Lgxc|9Kef zz~K<dQ1!o_VafmL443{dVqj!g!=S>jlfi-E07D|f8HPND^9)@K2N@<YtYnzX(818j zP{z>25YN!V5WvvM;K?wT!HHo9gC)Z&1|tSxMr{UXMj3__Miz#8#$W#@F@F0$kMZOG zd5oX_PiFk}znby)|8&M*|NR)>{5NO3@?VN^>;In&Q~zIJ$oapR!S#O`gY<t7hM)hW z7@qz6{Qug&3;(bFTmJvTzqbE({-yl?^e^&1-+#aVCjUMEhyHi|U-{qu|E&LR|M&fO z{(tqq;s5XdW&f)(eE1j4aOz(f!}Nds3<dwDGI;)*$)NGChe7OL6$8t^1P0E3b_~M* z)EPAYNiewo6K2T#$Ij68kAY#$KX!%#{{$Hx{F7z)`A>sE`@a@L#D7(WS^rfT4*xf0 zc=q3k;rIU(22O??21$k%1{H>01|5bu3|0*58N3*FGGsFxVQ6MJ!my6vAj3_D6$~tl zy$pto$qXrsjto7FVho!Yzy80%`0)Q1#xws#nD+kHU|Rp*jA`9}U8a@)m6+E3XJOj- z|32fk|BD!R{f}W>|6hV}=KuQ)mH*c>#Qm>g@cSRa;PKy>!SlZ~gWG>D29N(t3@-l} z89e_pF}VKcVQ~L1%HZ>#k0JFx14GOI=l@szKm7mH{|Wy;{7?BW!l3qFmEqSvD~7B8 z>={n}3uQR?FOXr|zhH)C|9lwc{<CA~{HMy$_)mhN^xxP2mH+PjZ~V9a|BQb-|8M@c z`~UNQm;ZytvUC3PGpze>!0_n5JA(j241*^4_Sbp_WrisX0t~Ym{`_Ca@csX6hIjva z7{30mW?*DUWZ+=%Vi0F=Vz6e=Wr$}`W$0#*V%WqW!Elv9h~Xmx9|H%Y0)srGHiIdn z6GITAB||KuK0^khG(#pMBSRYF+y9A-xBlBPp8qe%xc&bfhB^P|GSvM~U;z2Z@BgL$ z_W$SoxBOrD-{F7Mf6xEn|NZ|b{`dQz_doJ~`Twl{)&KkcxBcJsf6o8U|5yCiWLWq= zn4$ZBCPVT65{82R$qe!TLl{E-TQWHOmt)ZR|NFnd|I`0}|6BV1)4z`Y_y1M=KmV`b z|Gs~@|F`_B_`l;{-~XfkcK^Ti@9}@8|GW$q{|y+@{yQ@)`X9(}=6@&y14AH#Izu3M zMMfq=GD8hR8N&jGDGYlVRxw;)SkG{kVG+Y+hDL^q3{eb+8T1*BFmN&)V|e`kD#J1G zx*q|?UH`Qh5B+yzy!hXf@#TLXMs|ikMk$7PMoWf7MpuShMh}KqMk|I;Mp*`HMkWRs z#%uq7Fl_jLl%ehaB!;B_kqln{H5k19vogf}|M0)?|Gobm|IhuO`hVyDS^p>hpZY)J z|Fr+M|7ZSJ|G(<L@c-Tax&Gh#&-MT3f4={U48s4d8AShwF>w7)V)*+nkKxI`JciT% z@);KY^JZxKC&5ts@9F=fe;fbj{cHJO_Alvw-#?%KbN~7M-~TW3|HFUN!0mOz{~!MQ z{pVpw`7g&%^52l5?Y{>@|Nkh4#s3Q!w*GHqIR1YE!=3;08UFuY&mhjQk-?B*IfFOD zOok+e3WipOScVng`bC9-jgf~zoALL5H^x{0qZse~&tkmtzlHJi|0#@T{%>SF`F}U# zwf{#LU;W?6`2YW0MlpsQMo9)+Mll8kMqY-i3_t%bVtDyKhvEKz6NW4Q1sJaV=V3Va zUy|Y8e_e)~|E(D={WoLS{9lV<!G9r!8UMK$mi}jA*#H0M|A+s-{%2(P@?VeP(f<&J ztN%+FR{ZZ^X#U^A;Pt<pLGXVX!_j{+4DJ8y7y|#PFqr@Q`(OLti~olIPW^ZOxAA}S zzd8SF!J|Me|M&lE{r~abwExooSO1UwfAoLn|C|4}{{Qs<$bS)rd;bj?UjL6``1QY@ z;qU(m3}60(?r2@haR2`XhU@>AGu->%!*Jt&2E(KORtzuyi!d-SJozuraPhwd!_NPy z47>hMVp#tF48y|zLX4CD2QW_m-^n=n|2oFW|93Oa{J)-Y<Ns#H{r>|QFa76bJoEn? z!}0%33@iS-F--Z-$<Xot$^Xv(r~h~TKk|RV|K0zW{onF`%l~!%PyJu?|JwiA|L^?o z`2Y5Q*Z+V2d;TjkEcx%naOi(A!=3+K4DbHWV0iO?GQ+$7Eeucp=QG^-9|fL)pZ(vO zA^pE8gTa482B!bU3^)GiFs%8f#xVPz0K@cuzyB}$_xAs(e^38^|M&90`u|`5L;i~~ zH2ha#So7bI;o5&&hOhrk7}yx}8H5-l8I%~L7_1oN82lLY7~&a>88R638L}9p7|I!# z89Ep~{h!Hj^ZzP_Gyk_U?EQa`Vdwv|4BP)-XW0DzF~ipX-x*f_=U|-iUyZTxzZGNg ze;3C1|Bj5&|1B7!|0^=4|L0*W{QsVz?f-FxzW=is=KL>YSn%JKVb_02hV%cw{C@?W z`8e=jnPJ+0Cx*2D4h)X}9T?R9n=^?0H)D|gZ@{4W-+{s6e+Yxm|2&4!|Md*9|JxY+ z|4(8t``^hR_P>>Z;eR2+y?@yZ=l{hsEc+M5(DToQA^D#cL-Ic<hNOSI4E6um7^eUG z`+xgCCWcf0I2qpl6JTKcuf!nx-+;mJzdnQ0e_e)*|8fkS|HT>h{}%(d-31x684MWA z7`zzV7-ATL7_u0G7~&YL7$O*W8T=V;|IcDr_P>jv=KmUonEw|UJpaFDu>8-<=<wf> z(e-~BW6=MNjG_PUGe-RX!x;Uaiz)R#8&mE7_l(p2UuInWe<9<p|4EDo|I0HT{(p;M z`~M{jJO4K@toa|!u=9Tq!`}a1443~0FnsuL$H2v)#vskW!=S?O`@asu*Z*b=fBri$ zh%>~2*8mtYOk<E`SjiyFaE#&S|BDPS|6gS||Nk_@w*Lnin*MKQ@cKWGf#ZKO!^MB` z3{(GEGUWf`XK?@b{=dh+EB{0O9r<7S@9_WW|4#qk_V3*P>;JC*|Nrmle~tef3<3Y; z7}EY5G1ULJXXyVQ$T0hV0>k|O1q{>vr!zGF4`L|(Z^4lDUy`Bp|BwF-|1bSt46f%o z|3CPj^Z)z*!2i4qcK_8FH2xbiNc{I<`2DYh;mN<n3>W@gX1Mr|m+|sHJH`+H;usbF zr!a>94*{>YI{KfJ@#X((3}62*V)*yJmVuWcmO+rgi$Q_GltGa}mcfXDhryiT(|<RH zTmOR?F8)tqxcon#;rah+hX4P27!(+$G1xQAV(?~I%;3zhfWeYs7K0YU3<d#)ZUz>H zYKBk$OBt^GuVL8ozm1{l|6~U5|5F&m{<krF_?N|S^`AS#;eR>|yZ`Yp?EUxc|G|In z{vZ4I;{T0*_y2$Ycl*D@|11B!|6l)K_5c3=<^SLPzx@CA|5yLN{pV!(_FtIc{eLBf z7yk_y?*BJuIQ`#(Vf%j@hFSj|89M&kGSvMyWhnoz!BFsDogw|dEJNIXEr!7VJ`6Vh zs~FV&uV&!-e~aPMKL*B+|I`>i{WD}_|F6TS{9l04@&8AL@c*Y7D*sPsSolAS;lh6p z20;d024@CohB^iohE)t-{~u>~`u{q^ng3TAR{g)mF!TRKhVK6-7<&J2WtjSZ4a1`U zOBgo&pTV&A|5S!U|EDt?`#+Q6#Q&KLXaDyx-1y(j@Zf(Y!;Sxu3<v-FGfes)#1Qk} zhe7PWEyJCE1`I3y$uqS4(`Ly3XTgy4&zYg%p9jOFe@+Ys|LHUQ`Nz#*`~UI(>i?Vn zulT<h+;6(}f7<^y{}=rK{eSy^CWb@**%+?<=V!S0pNHYye;$T=|9Khq|CeW&_}_{l z`+pFF=l^mBlmAm0B>(SZ5dD9OLE!&G2GRfj86^M9GOGU9Wwicp&KU9Ema*W!8{_2v zK8(x%`!eqN@5*@azd7TX|8k6%|9@q8^Zy6~E5j59ErtRHX9fp`1O@?yQiiYp`xtKj zU(0aj|4D`m|DQ2D`2U{aA83_0!(RpuhHnf-3@;eE8SXLkFq~zmWZ2IT%&?h3iD4_l z=l|;%_WxhQ(Di=_L)`!A45t4Z8ASi5GW_~y$?)=@2*cxlFaAIJ_vrtPf7kwB|M%$s z^?z^w-~IRR|I>dQ4B!57F|hsTW03hT%3%6mp27XUB180lZHAKnG7J;{vodV?fBpZ3 z|4aVA`d{+@#ec{DSN_ZV-|_$Zzm@-A{9FA0;lCySU;o?k|HHr2|Ns8`@ShvB`s}|y z1H=DDh9Cd7GCcfuli|U?9}Ktt@i6}QC%`E1pOMk-|5JwK|63U9|93E~`5(w|{=Wpn zzyJUKD>J<P@51ose<TANLkfd5LlT2FLq3BNLlpx*LodVY|I--G|6k0o<Np$dwf|Qz z?E1d~T-W{kzl1@FVG4sY!*qsJhN%n{49gj+8CEjnF|1|?U|7wd%dmps!~Zo5yZ<j> zsQAB-!RvnygY^Gq2G;)-4B!71GW`9Q%^>wZox$zDKSSw%J%$bc1sLx9|MCCx{}=zc z8J_&-XL$5qnBnPvafbK*l^H(%w`6$!Kak<V|2&3+|BD&c|F33P_P?BA*8ehw&i}a# z)&KJtV*lqbIR4LLQ2U?G!1}+C;n}}3h9m#F8Rq?)!qD|^IYaHg^$flL&NHn3cbnnX zzi$lO|GzWX{r|{N@c$&klK*oVZvRhZ5M%IQ@M4f;C}-een8@(*|8j==|5q^_`M-@} z{{KS^E&s1DME-xk;QRjxgWLZH3=#jYF%<nj$1wH(c81me*E4MWKb2wQ|8|BA|7#fL z|1W0f{GZ1V_dl1x>whJK%Ksh)ng5FzSpOepVE%uV;rqX93~&D(WO(~;1;g8a%?#iE z#WJw|*I|(Q&%&Vf|H6OE|NH;D|6l#z<NuETVgFD6&-nl9f7Ab;|JVNi_y6YqKmSD- z-u$;^IQu`6VebDNhW!6U3{L+G7$pB!GJOBn#BlfDT!zd4wleJhcZK2bzYh$T|A{f) z{inuw`=1fxrGNU2d;b|SuKQ=ixbB}Z<CcG_j2Hh&Fh2VCnSuHLB?kTfs~B?sH!`gJ zpU&{(e+YvGLpVbjLpsAuh6aXJ43inwGAw3T&M=Q*GQ$jp9)@a$28MKoc7_OsNeq4r zGZ>s0HZmA69A}VXc*^ka|96JR|Nk)@{Qr+(`TxfZ&HpbjWc=UE;P-z8gZcki49fp| z8QA~VGJN@$&G6`-Kf|qmHVl{lX)&Drr_FHwpB%&Gf4U6s{@F47`RC3c{@<BF<G($F z>3<gn*Z)=wf&cXw690=bl>h$&9xs~u|MdU)|2O`h^MBU=h5wuW&;OtHf7O4V|NH(M z{(tyi^glntkADsfkNy=g9QikeVe7x03`_p)W0>{t3d6jA*BMs)d&IE&-+hL2|DG_s z{db!|_Wu<IpZ|Lq>i;iiSo^<&;r9Ow1{Q{J1`P%;25$yihHwU5hDZh#h8PAOhE#_4 z|0@};{GZ9N<^O($CI25X%=izQ3FBcr@L!Pe>3?xXP6jqcLxxWbUJPd$LKs#u1Tsuy zaAs&_kYQ+Hc=dk@!^Z!s7%KlCVQ~F_he754BL=Sj=NY*FuVxVY-^ifyKZ3#NzdnP* z|Ns9z{y+R5`v36%$p7oWqbv>oSN@;>f7kz=|4;tE|Nq>7Muv<3jTx@~Ph+_Fe;&iR z|K}O@{eQu*=>KnqrvLvLg8qMEu=xLiLG1q(2EqSl8UFn{%<%8u5r(h-HZpwux0~Vh zzg-OX|6OD_`|mNso`0Vh*8XE<T=|cKannCm##{g1fc1p`U&yfTe+2_OLjXfKgB3$B zgBrtj23dwP41x@o8Mqj3F?{&{nBmm_2Mn|S-()EHf0e=c|4|01{~H;8{hP+{<X;!V z^?ywar~frF9RJtFaQI&f!{L7u820|_VmSD362rlN6B+jZYhl>+ubJWCzj}s4|2i2? z{Oe*k^RJ)b)V~Ub%m0!X&i?aYxbV-0;le*HhAaOh86N&)XL$MV#ebgv7yg_4-}681 z|K|Tw|F8Xj=>Mw!Pyes}FUhdtzd6IA{|O9}|5q?n{O@Ln{y&|;<^MJYz5kaPWdHwX z;QX(~$o)T+k@bH!BlG_)j4c26Ff#r>$;kEpAS2`dy^PHNw=(|!w}|oIzg|Y(|2d4Z z|2-M)|En;j|Np@-_5TBgv;R*qh%lUB@MAd4(86$%VG+YVhFuJs7%ni(W4Oam&hVKb znBgabECUPUpZ|Xtp8WsAaQFXbhAaPHGhF`vn&I&OCk$);-)5Ne|0YBK|Kki5|MxKj z{a?(W_<s_^n|}oiYyU+ul>KvO@cHM)VDZm~!S-J&L(sn>hLV3Z3{(F#F>Lx*$8hdn z6~mK%=?o12{TL+vYcLr7=VEaG|M-8@|5N`9{%`!>@PEbs>Hp{bU;iI8Qr-Li+5e{h zEDW{(B^h%6>obJ^w_tGk@5*5O--ki+zb6C7|4@c^|FRfv|LbNr{cjD!u7AfF_Wyg$ zaQGhw<L!UijBo$BGBW;;VU+ow%V_XFgVFJS5@YaxAI9|mMvPtm1sFH~f6DOc|6v9N zhJ_443^fc@3~>x|8SEL3FlaEmV&G!{?J7`UeEeUQ@!Wr5#=ZaFGwl3-gJJ9cBMh7W zA7t44e-FdX|9cpY|KH1S;r}*<>;HE$9Q(hOVe|j34Bh{CGX($N!yx&8AH(y1`xq|$ zJH&A4-w}or|8_DQ`nQMS<iC{+JN_+X*!gb?!|H!s3|szHG3@)7&+z153WLP|Foux- z)(o@$Ycf3l&&U93cU3ZM_`io?`u|T1_5TGK3;)Y72LI=0wEO>`!TA3>2EG3`7?l6- zU=aSlh~dw_ISfz#t!23UZ$HDSf7cjJ{CmxC`X4jn^?$;Q7yoH7o(1m(vShsTPmA%x zKVC+r|KAxj|KA3;#U}he$Z+!ieg<ZSLkt=WM;P20jxhu?>|sb@SjSMtP|wiA;KHzs z;rsss3~T;hV#xXbm_h&lTL$j`4;eoFyTQQv{{VyP|4j@&{}(Z2{h!28`@fZ;<bN$g z^#6JW+yC7R!vE(peE7G4;mE%|46FYgW0>*pB*VOaR~eT7yUwuX-yMd%|IRU-__v$k z`oAR%@BXzj@cd6=kooV(VDevz!TSHt|9=1P{tx?q`G3a$lm8R{ANb$+f5-nN|2O=< z_kZetd4|gWp$xwNI~nx<Z(!j6e}&=wzxNEc|FJV(_$S7A^dCRtiGNItm;QZYc>M1h z!^?k+j9>ooF+Tby!}#Ez4&(WMri>T<Su>ver^a~ypAaM0|Bnpr|8FvM{y)aB{r@(G z&;M65NHWZ3aAD|Uh-c_!sAgzqn8Z-Wu#TaU;V45o!+nMzhBpk}4Br@x7=AKnGW=!W zXZXwT>pu(Qga7P|`~J%?F8Hs&SoYtH(fhwKqtJg{#&`cj7$5&*V|?`Q1;g`y_ZZ&( zyUFnI-%ExU|Neo-1R0<G(_wt_&xrB&KRHJ3|34Uv{vT!V`QOD*_&<(e+JAM1z5n?b zF8zP||K<O?|KI*U{Qvj=wf}_}I{qs$B>lH!@CNrPZ5Y1)Q)RgPPm*EVKURhn|5zDj z{S#zZ^v{@K`oD07ng8k;CjFbku;|}zhBg20G3@@wz<BbXEaR<z@{CXZi7|fv_n(33 z|1$>Z|ECyi{;y?-`9F!F^M3=w>i=mB*Z#*b{Qhsxpv+*v;LRYxPzi3SzWu*~;ne@7 z44eP2XXyS9*&CGje<MT0|6>fX|F1EW{Qt->?LQmiw*ShENB<i#p84;@xck2y<BI>< zj1B)q7^D6(Fv|V^#PIIlBZi~@-Z8BD_nBepKQ_kBe=Lk0|JWE8{QJpp^4~p%zyJ0y z=>2bJNc<nmFyp^Dc+`cBfrmkj;opC6hQI$a8D9KvXE^hJJ;VC{cNr#v_lxl`Cj94P zbo<Z9X!QRxgZTg34B!48W4Q8fJ;R27vlyoSo4`>0ubH9fUn4`=zfOjhe=`{t{oBHD z<ll9MSO2~+u>2QeRQ_+ksPo^7(e1wtW5j<`#;X6?jBEZ&G2Z(BfkBF44}%Xw9YZ;T zFT)fDb%rJ2{>!!hYZ%u4U&jEttJMAfS_Y;6yBNOxJHYVt-&uwm|4uVp|967n@xN0H zZ~lSKgE<P`Px$%YVTODE_A?y+camYxzZ(oI|Gj3I{_i_O+dn48x_`Wkwf~qIoBuH} zPX70aVb;GV3>*F(WZ3s_8pDf!aSR;)jTwyp3o`iq|N6i3|KtC2|6lum>Hnes0t_4f zyE3%@uVYB~zn#J4|1Ac||9=^{{&O%g{^ww1|If(y<KGvCum9dMy!`iu;laO~3@`p& zVR-Rx55v!YhZxxYpJ5RG|CT}Wzci!Be`iMK|H+JB{uMC3_*cvL=3hJ`+kYoU+y7#W zP5*x}Jp6x)L5<-wLnFfuhRqCH7@ja}VR+84jo~)K4u+EqD;PF2Okh~c5X`WTfsf%1 z!_ohYpq1c^VgH>NP5=8bD*pFkRQm70sPkWk(dNGtqsxDGMz{Z;80`MvWibAKg+c27 zF^2E|PBWbUcZp%$zsC&S|Nb!K{9|EE{>R0b@Q;hJ=-)qv-ha;-cK+MO@Zn!6gXVu# zhQ$95{?GZp>HmTMbN^rYKl%TI|C9ee`#<&nhyPvw|Nbxg&%@yVU!6hnza_)df8h+< z{$(>v{MW*e_pg`1|6d=2_P-hirGM!Rs{i~MT>g17l>D<~nDx(-;mE&OhMWJI7+(Kd z!SL$e6^3X3-Z8xT$HDmXpCqI3e_3#yTl`;;aqa*A3{U<)W#DJn&S1|lgCT|?lc9{k zk)eS>jG>L;=l_WecmL00IQ)Mr!^Z#D7*_xP$gt$U0OOYbvWz?b%Q2q%ugrMvzc%Bg z|IUp2{wFdn`CrV~^uK~J;eQdM?f*nZ<^O(+y#LJ^|NWC-{P9nS@zXy+#$W$r8Grnf zWBmP3obk^;W=7`!4;Tdg?_yB<-^$?g-<6@@KQF`5|BwG){eSj97sHYNRt&rUr!%bh z-^0-Le;GsA|Dz0A|F1KA`}ct1*1zivyZ#+ySod!Z!~B2w4AcL)Ff{#BU?>EyB;aAl z|7XBZ`7es0@85ieng8xEtokR+xb&YH<NAM2jNAV?F&_J;&-m=03?uu0Rz}1B9~e^p z-(r~k|0KiB{~H<D8QK|a7}CM37t0ug8JZbh|8HeD{lA4_?*B%HtpCjnR{tk5i2Ps1 z@a^9bhR6TzFx>z5gW=&n7RJy2WEk20YctCHcVaa8@4;yI-;L4!zcr)He|bi|{{oD{ z|CtzH|Knmj^iPO!-aiAz&VP=KmH&bn^ZxlV7XH&`Z2R|_VcEY`46ptrGwA=<W2pPj z#<1`I<NqK2ANw!Mu=&3k!@U1N44vSS`*w!l|8p6%{_kbr{eO<(_rJ#sAO1aOxb^QT z!_j}288-bp&M^JoI)=u7ix~?3Edb-Hf9n`}{~cu5^6xRjp?^$_m;Z?~UizoVc<P@4 z<H3KfjA#F4F+Tm*%E<PAHlyMHxs190r!p@6U(9&_zb~UGg9xKF!vlsWhMf%Y43ik* z7)lwU7@QdV7~cK2WSIM3ouTf3G(+tF0tVy%jSTkxmosSpU(aCl{}_Yb|0fJa|35OA z{uf|0`!B<2^xue4<G(SZ+J9$8(f?kIV*isEx&CJ{iv6!*l>1-GXz)Lu(dvIBqvL;j zMu-1=jCTKTGPwPp&EWjMoFVwXD?`YCeTK;Y{0t%gzx+@7fA@d&|C9gM{NMHe{{Ic& z(aRu)hW}*@G5=c_9RE*bkpJJt!1lkA;o-knhMoVM85aFBVVL?)m0|urZH86<Oc?h4 z^JO^nFO%W;zXpbV|K>96`L~*3_rDzs+y5P4IQ;Jz!<~QU85sT_VbK4-mm%u^T!zX2 z+Zm4hk7r<D2xHJ;2x4$yNMvwkh-NTk2xX9Guwf8oP-GBhc>7<MVaI<*hL-<H3{n59 z7@Yr41lLlI|4%T4{C~p`|DTDm?7tvm(|=jUDgRX&7yegcT>W2!arJ*;#@YY>G4%fD zWUTtn$5`@T6+DU?^*@Nw>wgks=>KTO!vEHcv;XrjUjBcXfsbJxgC9czLk)ug!$Jlg zh7Al%3>z7K{$I@S`~PHyum7hry#GIq;qw2v3_Jc$W9a=qk0Jg4bOy)&a~S0R&tTyD zKbzs_zbOpw|Ftqa`3DN4JcbYd3K)L;t7KsKU&rw6UoFG$e^m^B{xvc%{O@8A{ol)= z^1qM4=6?-?!~ZOX=>OpidH?MhCj6IS*!2JV{~Q1B{QvX+^nZ4St^b7?=KU9DsQu5w z5dL2nyo+4szZ8SOe=!D*{~8Sc|7kG%{AbPZ|6d5huYdIn9RJra{Qh^E;m5y+3?KeI zVfg&-DFfsGhYURbpD{@Mf6XBO{|$rD|DOzQ{}~wL{xdPw{Qtqw_x}OIg8%y%R{rm0 z*#1A9;qZTR2GHpq*Z*@f-2czS09se_{QtlIzy5#wFUbH}<@f4;F~jBm8yGhHzsoS; zKPO|(e@Vvh|Kf}m|2Y^{{=Z=m`hS^0@c(`WuKybt*#9qL`2KGp!^?lG86N*T#PI0f zHHHuW9x$-}zsVr;|0IL{|HBNv|5q~P{a?y3>wh=H&i|DRPyS~zurVYuC^KX+*fFFt zL@^XHq%mYO#52S(_%b*!7&9m^C^P*0&&_c7KQlwee-?&-|6&YE|BV=a{|jMw{I8zj z#=jK|cm5q_`1tPu1MmNL495R|F}VC^VT}LJ&KUonhcW&?D`VJyUdG`6f{cFur5Jtx zi!uiO=U`0v|AC?M|7C`j|LYhg{qJU2@IQ=U*?&!jZU4C#_JhYuZ~uSr|JeVp|JVKJ zXPEL|ouTT#D?|SOG={|gbqtCBCo=f|pT*$$e-VSl|78qn|K~A?|DOoDxr*WIzf6V) z{}LI_{0m_?@Gpj8^S=m&eg9GzPX9}0c>J%Jf#ZKEgZ%$i2HXF=49@?jGWh*pz>x5N zIYYz$SqvNhcQf4kpU1$#5YM2%;Lc#qV8&p>pw3{=z{Ow&zWZp;e{+WZ{|*eP|9u(E z{wFdB{4ZyC`>&hf*1xF?SO2YLc=>M!1N;A545t5IGx+`IXUzJq#8~*>p0VP85M$;4 zaK_UA5sZ2Ny%|gY+cUQPH)5Rs-;i<Ze=Wu%|HT+j|Np^o{{JP0d!U&7U%|l3;KCry zAjhD@@a?}A!}b3r3@86PGHn0v%dqT!48x@Vr3_{NCo{zTKf+-D|1pE^e@;fu|I&<a z{z)@l_$R}-=ih&Zz5iY?Z1{JCVa>lK3`_s@FwFi}$FSsI1H+<!O$<B#^)qbyH;>`u zzl99v|7~D+{BIq@?|*9;ME=iUu=?M~koG^8Va<PYh8Lh6qzoJk_6&>+kqnFs(F`mM zF$|0hp$vcihcdkSAINa-e;~t>|2_<P|9u%O{)aKJ{7+}N`mdE?^S^}*Gym;nnE3A* z!?b@)jO+jDFrN75$9NZ9YF9IU`&Y}z`oEr0^?xO!^Zz==^#28n_5UjvC;zWvoc2GD zan}D}#@YX68CU&(#Bk#OB!*l6Lm9q<*T1~@FT}9@zW_tue`$v5|4Izm|IHYR{(CZH z|IcEG``^Lf_kTTu{r{T`M*qJtX#E#ql=?5tDEMEJ@%KM|#%KT78TbGD!?5JvdxqM7 z?-&yQeP9Us_lhCt-&=<Ce@_@1|2<<^^6vq|Y0ydW|L!m-{=dfH{QoXP&HuX$v%qt{ zXBi&<Kgsa-|8538hBXY_44@rB)eL+LUJNn}VhoxL_y5~4tp4xKQ1d^W!TWzIgU<hA z2I2oL41E6=GYI_O!yxtl8H4(Nc1GL(MvOlHLm8w0w=qWkU&I*re>bD^|E-KB|F<)m z{a?dq_J0MV_5Zny8vkn;RsRPwO8u8&)cpUP!R-G!hLHc24B`Jn88ZLdGL-z+VQBs@ z$1v|d7sHDG@BW|tfBpa4|6Bh{F)aP>2p%8J1?QKA3=aQSFlhdt%^>-|hk@yTHpA<G zo(vcNnJ{eqr_QkGpC-eEf2Ium|9lua{$((9{Oe_C`nQ3h@83m+x&J;fZ1~5*c;TNY z<HvtIjPn1P7(M>KWT^gsj$!Tpr3|P3w=+EcpTh9+zc0g^{~iqQz_Wzb4FCQsFmN%j zFvu|6`LD{b{=Wu8%YO@o@c&K>j{jpBwEx$GdzUu<pD_gd7h=r)Z_C*9Kb>*T|1QQw z|5q`t_`ip7(f`AY)Bo>f?EHU<u?dVXGB*F;&)EEb4r9yzLdJ>zjTmSC|H-iO|7M2m z|H~N8{5NH|^Ph|1`Tslr--Bmw7ySSJzvutA{~iCC8Cw5~F*N?yW9azr%h2>cjiKg$ z3q!{LSqy&v*D;v<U&|o$e>ua?e+w9{{F}<K`QK!Qwtw9W1^=coMEsl15dCijL-fDJ z49WkNGL-zA#!&ySi($pTR)$0Wsu;fiOJxxI@5kW%-;|;7zcj<b|7;8g{{Q)Z^Z%Fs z5B`7o|Kk7i|DXR~2hVnJGfe)^%aHV6gu(bf7X!n8Ifgs`)ESQab7t7}FOK2hzcz;J z{|+#G`1gZ><-aYX<o_y0jsI&IP5xhHwD|vq(fa>)M)&{!7=8c$W{my+mofYQC&q^V zw;B7uVKtd?`~L*S`~P(qzx;p6AjGhfL587=L6sqgL5IPIL4!e;L61RzL6hP4e;bCU z|9u$l{4Zd*{C^(9!T+GOT~8SL|9@sE`_ILg@c$Qs-Tw~^>i^F$@ciG$@aErIhKv7J zFs%8vl3~ifwG8e5_AoU6JHjyG-x-EQ|E`03R+s-hWO(!MF$3%WmkcWZZ!*~YKg<yP ze<4HU|2Bq%|M?8b|3evy{+lq={0FV&fAxRb|3m+m{h#rF&HtkRJO79LKlI=D|GEDH z|DXK-{_pGmJO5-EPW^LaIQ*}W;n=^G3>W`BX1M=Pobls7A4ZP<IgEV&TNoApPi0j8 zzlhQB|6)e-|4SI1|IcL%`rpGC{y&>B;lB@K_J3o>;{TG2pb^lP|JN9%{NK#5=zkl- z!T%`?PygF9@G!_Q7&83$AI0$Ke<j0JaJyqQ!=3*}8Sef+&v4`aHHJg~uQ06mf0m)` z{{e=~|7#c`{?BA^`#+08<^N0u*8i&+9{t<PaPi-1hC~0JfyYe`{QJ*v{vS8v+kcFV z|Ns4Gkoy0QLF4~R28aI-8N&YGWGMW9hN1TVVTLLH*E1~mKb2w6|00HK|9u#~{?}yq z|Nr-YMutoO-~C_o|Iz<~|JVLo|G)U3>HqEjcmF;9f8gKS|A+svFr5A;$MF20KLgwU zHU`E28yRf=pJDL%|CS;6KP#i_e^o~9|JICR{{tD>|3@(j{!e9;{~yZe@ZXFv{l6f1 zMbe4?n;5?SZ)D(Q2xCxYP+`z!`263LVb6a{hFSk@7|Q-zFjV~4WoY|v#xV20GsF7- zi3|t+cQRc3zk%V}|0@hP{=Z^4_5UNon*Yxk`v0F}sQSN?A@Bb(hM51e7~K9(WYGIR znL+gbEC$B^s~LX$+sp9v-%W<!|2{GN`}d!L`#&S2!vC)fw*T)lWc@$LFysG1hC~0` z8Q%U+W{_cUXRu*VWe8{BVMt*3_CJE*<9|<vC;v?tF8)_w*!-V~VdDSi|D*n&{jc@^ z?Ef$SuKa)e@8kcA|2P<~{?lN1{4bi}!@qupfB#N02>gG~AopK{QSZMhqs4z?M$7+} zjHdsc8IAtCGMfIkWpw_p!|3y$i!tv1H-?h`*BCnf?_!w#e<H*3|Ah?O|2s3B`_IGh z;{TKXoDAFl>oP3-@5V6we>}sA|Ah>@|93N7`ahT9`u`mam;WDUxc>hJ!{z_C7;gN( z$#C}nS%$;^cQb7Jzmj3q|CtO^|MxRA{_kPP`9Fmr`u{=(-~T%pJpW%{2>AbkA^txj zWBz|G#>W3bj7|SJ7$^S!!7%s#1BMm<FEi}?zl-7g|5XgH{&z4iF{CjFGB`7+GN>@< zF|aTgF+BaR$gust97FeiX@<oAvJ6K5RT$X+t1&$JXTWgfpCiN7e<2LF{$(+I|JTaE z^?xpd%Kyy_hX404SpGlFVEg|ZgWdmA3}*iiG3fq3!l3y76ob<Lv)~+V{{Jw8+y8wG z>Hk+U)cx;gSn<D{;lO`yhR6Sv7+4ve|5sz!_1~GH>wh3a;r|GRxc?Ch8UI5V%Kis3 zH2e=?X#JnSQ2#%hq4s|pL+St740-?8F=YSW#*q4d9Ye<dwG65MmolXMU&fI1e;q^G z|J~p`Q1Sl>L-YS%3|;@38N2@TF;4u?#yIysE8~j)-x+rNf5vd)|8a&}{}(Yl|KG;& z?SDK2H-jUCGJ`yWEdvun7{l}b(F|w*$1rUC@4_(ezcEAee<g;@{}K$o|G60q|BEn4 z|CeEq`ESJ_``?Q}>3<P}{QpS|Qvdfc@cqBZ!1Vt<!~cH|8Gih`$H4Oc5d+)*M+}nx z-!Mr1f6Ji#{~3eL|3?fF|Bo;f{@=hb`+p0=-v99okN>MOFf;u6FU7F)zX?O{e=mlZ z|6vSv|5F(B{%0^4{f}et`k%;<{6CJN`hONf&;MM8>Hl*X=KW7$nEOA5VdnophN=I( z8QT8aGt~UoWk~$5!w~Y{gu(W|H-qW_BnF-TO$^%q=QAk(Kgyu+|2c#7|33_>|5+I= z{{LWz_<x_F_5WUmo&Wn79{<l~;AL=N&|%PG@MaKWNMK-RC}Q~Wzl!0(|8j<d|Kk}J z|Mz65`ESb*@L!EV|Gx?Y_kRh7zyBl|KK+wt`1Q}2f&afBgZ%$02HXGZ8Jz#$V+i^G zpCRr)H)H;PVaA^SB8;>COENC|FAp9+T=3tXvFpD(W95H)#<Kqgj5Ytc8Rz`J!?5@N zQifOmix~JBY#1yUI2a-s?)<M}So6PuVZ#4DhLZpN4Eg^jF=YOq#*p}b5ku1d%?y$M z4=}|3zrqmx|2jj!|MLuP|4%U3{olo)^?xIS;{RC;JpX$bIR4i#{Qp<TAo4$#LG6Db zgTwzy2EYGR43Yn*GKBtL$Pn>=2SddF0}P@6PcuaPKgkgNe>X$&|D_DM|0gii{7+?= z@!y+a)qf?1OaK4>fBpZ)e?Eo{|5X?!{I_IC`|r=-{Xd?;_<s(A#{WVFng0z8g8!#6 z@cduN@aNxYhA;m<GQ9dH!T8~y72~&m_KckWtr>;>OEW6{XJWMYe~-cM{{@DG{|CV* zP!#^(&Cu|FKSSsLBMkHYpJ3Sbe?P;u|2x2|PlOm689=KfT^O_(q8WaJR-OH?V3_y6 znW6sw6ovxu85XM<V*YPo2>!pDA?W{3hM@o37()JUU<mrZn!)e?Y6kQFYZ$ctFJ<8R zzlwqJ|2l@x|8_Hc`*)Oq<^N>{(f@ZD^!`6&u>Sv?!T0||hJgPM7^45*W=Q;hmLdE9 zc81FT(-<26moW5!%PVPy_5XkWKk@(J|L6ZN|NsAg|9^3Y)&G?lrvEo&sQYivkow=9 z!Rfy*gW7*z2EPB14B!6cFueNL&T#ABVuoA)_A=c0cZ=ckzwZnj|9Kb{|4TFK|JPzP z`LD-l`QMJw?!N=0^?zqZm;W}5F8?(dBmeU<CjNiMQ22i@L&yI)46FY)Fr5A$!|>|A zHN*e^oD50~_x@Wkto<Lx(EdM$q3C}aL;C+LhP40144MC{8FK%(F=YR5V@Uqr$B_8H zk0J7Z2SfP(Zid+ZoeUZOTN%>+*E6L5uVqO1U(XQ!zlp*7e-DHE|0xW1{}(aX{9n#s z@P8+R#{c~c3ja?tX#79PU;>^=-2$HHEBs%{(E2}uVcLHKhUNbS8TS8w|NqwiJOBUw z-~C^lVeWq;hP?ka44(g886^MvGcf&6VtDnhg5lA>K89!iRx-T$w~vA2{}l$M|IZj) z{{Ll&{V&Lv{a=wW|Gz$C;eRv6{QuUB8UHO93;tU(7X7zjtoU!oSo`0MvH8CaW5<7K z#>xLV8Q1@3WIXx*1;dB`w-|UBHZ$lk^f7ocgfK)gC@|zRy!c<lu=9T{!=(Qm3^o6! zGo<|A$`JVf1cSx@*9;o}zcR@EXJi!r|B*rV{|yEy@Otyf3@ZO?85I84GARA8VBr7X z%OLU}bZ^o@2KE0B81%s@R-V!Hzc!=6e*;Fn|B8$%|2Y{|{@-N~`M;Jy@P7pZ!+$#l zhW~sF9RHvF7yZBgztR8Y|AYU}_}}!u_y6+$mH%)2Py7Gvzvq8N2A%(|3>^Q<7~cMy z#c=!IUho+4rGNJsF8_PQaR1*IhS&cX7#aTyGs^y#VpRPv%V_priqYaf7o+2UCPtJ0 zzZlHHvtU0MbpA6iD*fkTwE8c|81SEmvGzYZ<JSN08J_;X$RNtFj=_MTmBE1_oWX;^ zjKPUPgu#Y^jlq!N>wgP|+y9*z_WzG#nD;-Eq3M4aL-GGghP?lc45j~T84CV4G1UHV zW+(*bt>p|!|Bo`H|G&+U4sO4GWT^lDm!bRrUxwEItc=zF*%`C{b1(+{=VWyF&&;Uz z{|AH8|3?fG|Bo?<{$IwR|G$#K^M4=%WFI37!<zrE|8M<&_5Z&AC;uP*zyANJ|8xIe z`rq>Z@&CO4U;oGb7hnkdufgE^-;=@pe;R}5|9%Fq|En2-|6gE;{QrR=?LRAH?tcNs z^#2^-R&>DscMLw@H6yne0{&lTi2Z+xA?N>ThR**x7*_vZ$#CL-55w#KX$-&rTQTr3 za4>K&JpIqkaP&U|!|wk~47>mHF&z7^&T##|3&Xwtu?$cCmoVJ>-^g(He;vck|9K1# z|0gj#`tQwf|Gx*r#s9Vp+y8qrO#AQ6Q1CyJA>w~BgV+Be2Iv1>40ivQGC2P~#$f*c z8H4qI21dL8!i>KE`9SLo86yARW(fPgk|F$mB}4LmM~2M*q70?~-~R9UfAjz3|EK>i z`G4mBg8%3L&-j1g|E&Kf{xA8z<Nv|`^ZwudKk@(H|MmX`87lr8GF1F`V<`Qfz|io& zgkj?UK8B_L7clJnzlGuW|2+(6{_kZt@_z@z_WyerHvQkvu=M{)hROfWGBo`^%TW6N z1VhRH{S1}=w=vB8Kb2wi|5Aoa{{t9a|2JabV31-^X5eHnV)*ypmEqTaPw<EXGebNB z8$%KU14A~$yZ@;SkN-z8od565aPq%7!;$~m49ET}GVJ;<$FSqSI>W~QmJA#I`!a0) zpUAM|e=)<c|7{Fs{!e7M@_#<Vh5uU_4*WmNFz5d%hT8wf7{dQ=VX*l>mqGD=HG|0i z1O~4EP7M72l^In3b2E7V|Ng(||KI;p{{Q~J;{U(@8~*?Nzx)5w|A)cj{@eaP{6Fje z>;H}aSs8Nwi!c=ZH)AOO@5j*hKbK+d|1yS6|N9tr{+|pU(cJOBfnoXoG=^FKJs9f1 zWsnI&)PF|?|Nn6e-v4tMqW{-1l>KjISoFVx;llqqhQI$y!R=x*20I2D26+Zhs3<f1 z{?E_w>Ho+7FaO{CfA9av|Dg3^m;T@Xf8qbH|L6V-GhF$v#&GMu6~q1ijtr0gyD+@| z@5J!-zb(Uy|8@-T|64Hp_;1O;$>7K!!4SqE&QQ$2$1scG|NqkrPyc^sIQCx@+zROV zFU#2Q|1U%H|MLtz|7S5Q`k%&d=)WPu)&IZ#zxsdX|F{1u|Ns2I4BX4U_y73+z5nn1 zU-SRV|K<OG{NMHe&;LvRKm7mx|K5KwhJF8S8J7P~WSIWHfnn1BNemPJPh*(yzn@{| z|4xSG|H~P+|IcSQ{6CrD#Qz+Io&T#D*8ZQz(D#1_L-qfY49WkGGNk<9&XD|nK11pM zQil5f?hLd3b2F^@f9?N~|BL@W{NMin&;N%15)4!Rt1_(qugh@pzdXa||1u0h3_J|_ z41fOHGQ9oo#_;UF8N<E*pxTIy;mZFH|DXTA{r}_tlmCSncK<hJ*ziA)Vfp`ThUNcj z8J7Q_#IWZ7a)#yq_b|-(zmK5?+%n$A;Q4<8gTwzt4Ceo*GC2RQWk~#A$k6mZoMFR% z4~A?16&XJL=V9Psc=cb3;r4%JhSUG0!E1syfKNCQV3_z{l%eszDns6XbB5gi0SpEI zlNj3mmoO~)-_Ee}|5S$4|5r0y{lA{!_W#Wc*TM6?3mLZlpTn@^|9pmN|K~9D{a?T^ z_5T8fCI4429QwbK;mQ9s3~UV38I%~B8T1)q8T1(38FU#G88jG#7!(+O{8wW5@?V1C z@qdtuSQ+mBXJ>f&pM&B0e^G`D{}mYa{nuyM`rnyh>3<)Fwf~bC*8ERk*#AF;;oARH zhS%V=Ur7v~|3@->_#e#h{C^O`)&B_$hyUj>EdSrc(Dc8SA?kl6gZ=+h295u|3>yD6 z8BG5(F!=vJ|G)VE>i?7e*Zkl1KkxsA{~`Zh{SW*9`+wMf28QhaObjLe*%;dYOE5J2 z*JWr1kLD&a#Qm>h@cciI!Seqm2Ce^_8MOYdXHfq?jY0c=7lYydN(P(%`3#=_Qy7B( zM=-?xk6=jrpTv;+zn-Dx|15^Z|2H!n{eOhv(f=b1|3K|~hGh)049yIx3_%Pg3^EMP z46px3Fr5CM0bZ52?tcrz;{SCFYyKBA?Eas|aPB{-?HbAO80^PzhP(fx8Ls|MWjOV} zgyGEpT84xFCo$~%KbK+M{~Zj=|DR`A^8XdX;{U9SbN&l6w*Qx7%>FOV7!E#P`4xlF z|6L4*|N9uU|3@)c{WoC<_|M5u^#9%e>HjbM-~WI2|L6ag{%2#D@n42v!hcl;(CUhb z|J4{~{Fh|t1&`esGL-yxVaWO)&Jh1Uogog~;^||^`#+hX;r|MTzW>V@rvBf-F#Z32 zhDraAF!cXF%h3M+B17f>+YBlHZ!(1bf65T>{|-asf6&>}Cm6c_Z)I5ee;UKF|3wV< z{)6Vb6c{)d*cl`lUj8>`xcA?l;m&_AhWG#785kMt8KfAr8Dtq$7^E4L7+4rA8J_<4 zV>tOgmtp<?c80nCXE03oKbxWd|7?ct|C1SN|4(G7_&<>$^?xrz{QrLN8V0}rvl)W^ zFK2N6zly=(|0)K}|4SH@|IcHP0<EzAU(TQhK9|RWA>+RcL;wGO|9Aht_y5lSJ^$bT zpY#9q|EB-9{uli}`ak#o;r|8ycmA*ZfAN3u{|Eoe{xdVA{nuhh{U5~;@xPHF?EhQ_ z|Npxf0{<Up2>kz$A>{u%hKT<^8RGuGWytw|m7(_kPKM_HGZ`lRZ)BJW-UCv`u>5}o z!`}b(42Qv^lXVQB(<tBm_hESPU!CE_|G)n~|9|(Nnc>ENafbW<br>G}cV>9|-;d$f z|40S_hExVAh6)BbhJFTihWQLX|8HWr^?xtJwf~104*%c9u<id^hROdoGF1Iv&k*we zFoV<oa|~wxA2Zngf5YJV{}V&V|JMu&|8Fy7{y)Z${(lWa@c(uOyZ@;Sy8j&*jQ^`M zxcuj3Nc{infBpYg|7ZNa{eRv6bN>(g-~Io>|26+F{Gapx%>VZP=l)mxzxY4$|I7d0 z|9|~g{x875^<ReJ-aj3NlmBcOcK!2Y*!M4#;n=@)hDZO(8NU9Tz`*%`K7-)@T@3R7 z4>QRAKgl5Xe>a27|6L3!|93E0{6EML{QoFJ;r~+%)Bf*f*zkW1!`c7c3^)I$Fg*Kj z!|>t1Is*fPBm*CVG=ms}6oWK_CW9P<8iNe@yhJ4iZ3YnrKL%cga)v+umofbKf1Tmg ze=f$C|5X|9|F>j(^52&6;eQv#>;HWj_x+DxT=PGbamxQ3#?JqRj79%*8RP#aGTQ%l zWt9D|!N~NVhw<&drwq@)D>are2><V7u>2pxQ1aiNVex+jhO__K8J_(A{Qvv^TmKmt z&i?=R|M35h|F`^q@PGaP8~<ngKl{J_|MmZA|KI+1{?E>!_FtYs;J-5i%l~Kw*8i;x zod0Jqu>ar2!2bUz!=HaA8J_$*#c=!I0fsaGRxup?H-+K+zg~vN;PH_j2IK!T7-Ijg zVyOSWf??+W#SE+dw=-<}U&C<Ve=Ng={{i3>@#DWf10#bL10RD7g9w8>g9JFQs4!SE z=rTkx7&0_47&6ReFl0EupviE7L6qSx!;k-W7%u(4$}s2ub%xCUcNr}Ie`Zkr&(0|N zUx`urzbT`^e|JXz|IUo*|LqtH|I0BJ{Qu98_5UhE^8XbK>Hq5)QvUleB>z`oi2u*d zko5o4|E&M7|Cj&2|G)PC{r?mH-}pcI|IPo4|6lsQ{QsH%yZ*2Lf8_t<|2O^@{r~ts z;y*is>3<~#>Hp>oEdRY2e*cSO`1dcDfeAeKFoQwh{|W}d|LYip{?B3%|KG=;{J(@j z?|(6a)&C*}_x}|Pss9@oa{sq5H2yDTX#1bZF!O%|!;b%+3^)E;F#P|o!ywL}!k`Eq zHB?}bWl#jqOo=e4F-S6)GsrPmFqkn|GI%g(G2}7GF-&F<W7xsK&2WX`-~SH`FaCdL zIQyTQan*k@#)<#s!E1eL{%bSlgJ;LY7<2zKF{b~2&Jg+k1cTH6)eQRo=P)S!?_-ev zU&dhiKbpbgzcWJx_$*NshI9V~89?VYu`%5IF9O~TH1|J0L+k%v|118#`k(gy;s2!n zkN$`LfAc@+|DXRJ|G5|}{>w9H|2JX~|L?}Y4c;eL#qjRmB8L0_HZolPcZA{azkLk* z|E*y-_-_Kk`G0K;ufS&{cQ9!G?`8=4Kbax-e=kGJ{}zUs|8p4@{*Px^|KE|}$bVgi zv;X-S9{y)wxC>6LZ~n70y#BAi@a4Y)!%xt;^9;2NYz%W4xEZ!H2r%4c5Mp=(Duo&U z{pVtQ{9l6c#D7V~Isc6q%l^AD2LDfIbogJ&X!5_AQSW~fqsjjYM%({sjL!dU8NL6@ zG6w&D&k*<jDnr8m6$}Oc8yG78$1qI!@5Zp?zcIt!|0)b8{tGkQ{Ljen^8efapa0+e z|L_0R|11nA|MM_x`7g;Z_rDrL?SET_`2PV67XOnOr2ZE&F#WG#c>S-L;lsbl46pw! zXL$8*GsEM5`xzemJHT+|-(H3b|8_B)`L~hb`o9efPyQ`u`0;No1JD0846^?>Flhc? z&S3Swo52e_+vdbj_Fs{q<3A6>!vFvNFZloM|GNKw|8M@!#c=SyIKz?uS`0V-t1*1| z4@xJ33=RzJ40#N1|1V&8@&5qB<^RtZj{pD0umQY}n31vmKPO|>e<8+%|B{Rm|3w*N z{tGZB{AXoM{{NLB@Ba&i<o_2L;{P9K@cO@l!Sw$+2Ce^d88rX5FxdPrVhH%3#8Cd< zlVQ<+3x@OmwHUtq7iZvQ;9(GF`1W6l;oE-^hCBcH7|#9|WLWoKnql&PO@^fZRtz@( zeHi%v$1;5Xm&@?}Ume4%e?1KE|AEdeSj_MR?C<#upZ;|-{P<VG!2UmqLHNH9gYkb) z2ABVS3^D(s84~_yFl7HPWyt?u#nAG<l%e;37Q=%7@eJ$!hcF!c@5gZNzXQXC|7Hv~ z{;M+F{x8aK?>`&E$N#_nb2Gg7uK})|ul%n7@2Yt4{{qAF{~s7${^w-8_g{+f^nYE( z4gakeC;j(i%>N(67z18W5y9y3-<#3(zYU|ue+5SW|2&Mo|9>)s{=df%`u`+D%KxPd zrT<$P+W#jqEdKAtaNxfI!_EIH3?KiCF|aZSG6*wpFi0{mFvu|c{IA6D?!P9()&I5( z`~L?q%=w?qPzD}#Yhcj%-wGa;`|+=r;mN;g4A=iHVA%a{4a3HNdl=^aJHjyg-*JYS zV0@Bc`M;wKoBr)(xbklU!_$Au7?}T0WDxvcz+mw|m?8MTIz!igPKIUwU;aPy|Kb0~ z|8M_)^Z(xeH~$~~2erUI{QvO(@Bgp=*%|)*S7Z49-;;rXA(`Rl{|<)l|Ccj7`+t?; z*8i^z`~FKXF8i;^*!bUtG4{Vdqr?9QM#cZ>j9mW<7{C3iW_<duf${FYQpTtMGQs=9 znE!h+^8PnwRQ@l{X!idbL*V~o3~B$TF?9SdWSIXykm108D~22YRT%#N7i8dP`1fCy z;SKoQVpWC{|CJcl{#Rz0@Lz$U{J#!E!hbym-~TQQX8-*dr2l6!u>P-P`1x-h!}EU| z7;gSM&v5YH1BPw?J}|8P_k&^ezb_0c|Gi;Y_wOOY=6_ci4*xsKaOU3@h8zDDF+2dL zsd@&s|M?7R|I-*;{zow6{tsbj`R@o`p}z9J62p=I(hRr%b2EJV&%&U>@bAAT!{`6i z3_t(RV|erbFvG|H&lsNl|IhH?zYycu|B{SH|0^@D{IAZq_`d;T<9~g|%>R~*7XKX? zrT_ade*YKD_~f5I<Gp{LjCcQ8F@FB1#`xo(AS1_rCPvZ!pBXg%-(ax*e~2OK|5}FX z{}UPd{#P-q|DVlp?0*8oga5${-~XF1Ff+(Ah%kKlFUWBDzYxR9|6&Y1|797n{~I%e z{kLFn`R~bK_CJI{`+qot!v9zX`Tt1_qW`lQc>WhLu>P+CuaEiquYuwBzkUYp|C1S{ z|1V_F_`iU`@c%*vv;PYitp878u>If85c0o>A^(2{L;wFUhL!(=8IJsSVL1Qag5k!0 zb%qE36&XJKmu2|(Uxh)EL65<R!IZ&|!JHwB!H}VYL6c!FgE+%VhQI$0FueGGp5glc zXAB4a|72MEUx2aqzb<3`e;3B!|B;NA{}UK>{wFeO{|{rd_;1hX{9l1F=>K1a$p6<E z;{NYoNc%sBA?JS;L*@T$hVK7?3{(EwGA#SA#IX85Kg0I_fB*0M|N8&F|JVK>_<!pE zzW-bQZ~MRg|Azl_{xAJM@Bi}u{r|W8@Be@JfA#;H{|o+q{2%=vwDw+!LF2zO1IPbN zhUfoU7%u-?z_9(_T81tE_A;#ex0m7Izr74+|E*#8{BI(I=>KX4-T#RU0sp-jGXI-` z`vP14YcX8-Z^H2AzZJvp|4s~C3=RzZ40a5%;B(e387vrV8C)3x86p{S8PXUk81fmK z7|I#y85$W%89Etq7?v_bFzjM*XL!T_I_rjoL7VZ$e|yF)|C1Oy|7S8L{I6nk_+QCr z{J)4%=YKq-;eRJaxBuFVasL?^>;AuFSp5Ge!;$|B7+!<M<Nv2Hfc8=fF&HoiGe|Ii z_B8V|y!$WAaQ{Ca!{z@x3@83GF>L++@Bf<rpZ?GL|MLHo|BwDR{=fV`>;HxSe*Z83 zH~RnhzsUbD|G)g>Vz~KFmf`q6O@<x+92mC#3t`y!FP>rNzhs6}|B@K){!3=~_AiQo z<9{@R<bPKNmH&<mM*r0q?EcF#g#G7bi2KjTQ1k!G|Nj4P{;&Ce^Z)+;cmH4ef9L<3 z|L^|uG5r0n%)rlJ#-PAp#h}69z@W|G!Jy6%%Am}U!63!Z&cM&Gj)9NiCIbV*e}+&0 zWf<@OH(=cT--2<$e{;sx|3-}E|Bb-yu#EpgjM@KxFckcM#!&PBEJN%6!wh}@H!{rn zznWp~|G5l@|4(AL{=bRg!~b-K|NkQxxEahDBp5WHBUC@ZJqUG%bN@LRcK`qPe>3<L zhj;%$YeQ%MfAPQV|BL^5|9}4X|Ifyt|6hbb;J+%vkAHd$Fa9|*y!hwA@Z?`0!>@m? z4BY=67_|P|GC2RYV~F~1&5-rqg`w)d6+`=f9fpPf`5AWoXJ)we|HJ<`;FE|x{byrf zVBlq7XAor&VNhaFV=!j0VQ^sxVhCeMV2EYNU`S?&XGmg5VMu1kU?^nB1h2Q>$PmbI zjlq`TCxZ$DFZfoPTmKaqH-hiJkY=3ppPzBUe+I^d|DQ1|`G1UI+5cq>tN&Lsto$Fz zu>Zd?!<GNy3_t(B{4d3D;lDY<8t{z`eheM|-N18CW&gDqivEi+6#Qpp$o~K4fAask z|KtB3{h#=M*Z+k7TmQ%W-}>ME|K9(){}27={D1EMgMU~4ANcp;|Ga-+|M&f4WoZ8= z$S~udAj8^!91JJ^effX)->v_@{+;~K|Nr2Bwf_hIyZqnxKlcCb|E>R5{$Kll`v1HC zyZ`_G-|%07p&7jM*o|T4{~(6t|C1Sx|IcB#^S_1R_y6e(k_>AYtQgia1Tk!7NMTsT zkioE>p_t(?LpsA7hGYhLMhAv)Mooq`#^3)}GT#2blX2Vs!;DM*Z)cqLe>LO$|I-*( z{x4<R|34AD%KqYiK}OJ=@00&~8Q%S$!@$B&!yv;D%3#Z&#Sp^4&ydOR{eLdQo&Pxu zC;w+LZ1|tZF#CTXL+5{YhT8uY40Zoi8S4H^GqnC^WN7&R`G5ZZJO5+;pZISHS}*(m z$o~)jF8#mo@4^3-;P4P+X#A(b(D%=pVd_6ShSmSf88-gYWH|XxlHvS6c7}WZe*FLb z@9lrC{}2D0{y+Xd_5arY6aLTrzv=(P|A+r~{J;Lc_5bt#z5f{)W`fr{f?6W63{U@; zF#P>r!@$YV$RN#7!Jy2L!=TTQ%3#Nk!r;JA&*06llEIPT8iO?hBcm#VG$SX2DdS7< zK3WULt^aiy7yMUc?Ef#t*zjMHvFN`DW8Qxr#)|(;jJ^LqGHm&Oo8jsIEev7|?F?QF zehirm$_yP0Z~sqWIP!lc!@U1f80x_*%PJXs|EDoH|Bq#`{U5;K_TP)a?Y||1|9=gJ z!2e<luK$@B-2Q+2Z}|V!f6&Qf!vEj>|NZaF|IhzE|9|!G{r~U(KK^I;|LMQ*|9}6* z|1&a3{}*MD{V&U)_Ft31_`f!T{eK09Fz^V>>;Dt~9|y0sJ^p{e|9k)E{{Q=b>VHLs z`Tu<xw*0SUIQ@Sq!^8i(7+(KB!SMF~VTL#V_b_|{&%ZBc`1OAS!~g%s7<d^TgVr!H zax%y;{`s%R_~E|}<KzFTjCcP_GT!>n%XsTQE90&IUl?xxzsGRp|0RZF{|_)6`@e@_ z-~W{i=l{=Pc<{fH;otvI1_=f|1_K5G26KkD|NR**{tsl>@IRVi;s0=k_W#igW#G1C z5<|fM7zT&`$qah`;}{hFhcXEMcVqbf&xGOKKXr!d|HK)N{1akW{f~uV>OW3~mVZnP z_5c3=Z~pi0|IB}n{%`qr_W$L7NB@8Ncj!L{_!g|g|E>P-{vQB7Pj>zP+W$-b&;Gyc z|N8&S|DXK7`TwK;yZ-<9f8@U~!>#|S4A1_1Fns?X#qjfgKEucVB@FNX*DyTz-^Fn6 z|4fD(|MxK5`+u3?&i}s*xBg2oUixp!c=~@J<BtE?jEnwPGEVv5!r1-4ld<Q2JLAOv zO^gfwS1@k;pUHUae;DKK|IUmr|LZU^Ge|H>F??gNX1K)=!mu8ECUql2GD9bW8^c5f zQ-%o)iVVFB{0wajpZ`}eJpEtJaP)sV!?yp?472}-GPM2oWGMS@$B_8nlp*rJ8iVV9 zWd@7?Dh#s!^%(yDb7Z*v&y(TczYvBM{}LD${Yzk&@h_NR&ObYb+5dDHX8)6AnEOwF zVcNf6|7ZWZ|9{TEJ^wfVTk`+vzpnp(|JD81|6lk&;D65l`v0KY4^sc1|6lh1<NwD0 zVhmIM>oUyy@5Zp{e=x(r|8Wf0{^u|}{h!D1_kS^i2tzG{G(#JMBEv)m9)_6=-~X>- zxb=S@!-oGi7`p$zXGr+Z$msT;hf(Lh0HgAM2}XneDvY-O%^4&A2Qe1^Pi36<zlia` z|18Fr|6>{18FU%77#JBn7!ESzFid9XWk_aN$zaZ~nL&Wz0K>EYhZv6kKgO`?|6zvy z|2r5O|1V}}_}|J<^FNcJ;lCq8#eZ3b{QrOdXa0ZxKluN%|E~W({@3~c<G;dxeg?7s zN(>VJ?HSbmM=}`vFJdtK-@>5ve;R|r|CtQ@|0gi~{8z#7@?R{&<9`+mum34A{Qt+r zAoKs<f5ZRJ{s(~DHRt|M|9|fPk^iUvfBAp(zaqn-|1J!B{>L#K|6jy#;eP|e!~fmj zGFFsfI)f?0A_fnJl?)LK+ZZAkPB4TrTw`!#_`qPw@Pk2&frat^|4$6J{=a0{_x~ir z^#A)9YX5Iwi2uKf!T<je2KWCL8AAVGX2|+~o}uIaCWdAI=Q5oCU(4|Ke;$JdLlT2M zgEvDcgE2!qgD^uR!<YY2443}<F|7XY#Lxqt=T~G1{Ljf?_W$F5z5mz#EBrtEU+n+U z|Lp${{{Qjs$o~ib4*b9QZ^!=&|5pFM{cq|2_y6Yq=lQ?lzyAN-|Goa-{U7uH)&GqD ztPENIIT+IaOEDDwmt`pZuf|aSUz4HjzY4?T{|XFq|MM^`|If^@_y6<%NB_V6fA9aJ z|L_05|1Zh_s{JJx0vJpf(is97ni(<~`WZ?YW;4_<tYIi;IK+^|aFxM@;WdLC!!HIV z1_8!5|CJaY{?}r>{a=>x{(m0E`~UwlJpBKG;r0LL3}630Vfgd^0Rtz)T?Rph6AV%e zI~X(=W-;h7G%(mO<S@7~BrpUrBr?P@1T(}lI54C$s4*llFfxQN-1+apu;ITEL-&6< zhP?m(|4014|KH>Pp8vN0SN_-eKl{J>|3&}#|8M!v`2WoR*Z-dXfAH_m|NH+~8J_=> zV)*e-l7ZvD8iVkEIR?@H3Jik(1sHh#|NYPQ|NejG|A+r`{$KcC@_+Y#ga5VvL;u(R z&-!2YzvF+?|JnbW|8M!<_y6+$x&L4O-}Rr1;rM?UhKK)689x6HWDsRYWY7ZFDIMTl z;xP;h84?)gFa$EJWUygaz#zl0p5gER%?vmG?`PQa|2V_+|CbnA{@-H&jRnR0|Hk0{ z|1X2@e-Xx{|B8%l(3R4k{wp!cGw?G8GkjsFX1K~Qo8bV%PKNmmM;PiE&M|~B9Aq$N z*vr7mu#({cc-}3CVflXthAIEW7<&J|`rq*X$p6~^OaGVtpY}iV|AhaU|7ZS>`oHvl z{Qph=lmGAjpZ)*z|FZvg|5yC~^}qSQJVWDuS8zTn{$I|J_P?CLAAHh4ID^%HM+Uq9 znhcKr#Tf$r|NS5T|HJ>H|9Aek{y+VH?*ASCkNjWu|LOlF{{<M9{5N9Q_CJW><o`^D z*PzuW4BZSi4E+r84BZSB3=Irz3}p;G3^@!f3|R~X49N@;;G1fq7~~nk8NU3FWw`y{ zpJDxfPlhS~JsC>=do$$xk7LOFpT|)4zk#9me;dQH{}UJv{GY;b_5WOkm;Yxo{QW<j zL7Jh5!HS`f!Ji?NA(O$BA%{T_eAY!e!{Pr43@iUTFjW6n1(i??PX90cxA?#LztaDn z|H}VC_ZNiyxBBn;-|xTP|C0Y2|J(kn{$Kpx_Wy?eQU6c>Z~TA$|GNLz{$Kuo>i^UK z=l<XSzwiH*|NH-+`oHV{(f?cjAOFAg|M~xG{$KyU`v0x}TmC=#zwZCb|A+p+{(tKK z=l_rY|Nj5sKP!U>g9w8WgBn8=gBAE5w5be13~Lxd84fc9Gu&bbWO%{g$MBiKo8c>i zFT)!KH-^UyK@7(jA{o{(L@@L-L@<;ycrc_gI5Q+MSTN*)+bqruy$qoYix^TE7BDn2 zEMS<-Foj_QLl?t#hH8d$4A~5)7-AUCGq^IGWYA&Q!63x2fZ_lDUWS+dGZ-%XcVpP{ zUxfiQKhp(nuRi|o_5Z?ut^Zg4OaH(8pX>jP|4jdH{{Q{&;{Wge&i-flfAGKH|9$_p z|8M>8_<!yHp#LlW2mYV;Kj?qY|DgY+{{#Pr{`dNC_1_D8Ql{pAzyAjR{r+415B+cZ zKli`K|L*?*|5yBv`hWg^`v158tN*hzbo~dd*U<vc-~ag^$RNXz#9+*j$>7RR%;3XN z!r;YF%izS&%Am>6#=y%kmEr0C$qa}7FJ+kbe-%UX|2+%^|4%Sv{=dSI{r?F=)BkS_ zi~h4Sp8n6v$iTqMXw2}PA&229!yJaw3`ZE&Gu&mE&G3w&hT%0sI>QGBPlk64+6-SA z1R1_CeE<KE;r{<y42S=3V_5Qk62pZ52@Ey=O&K!&bAn9%pY#97|EB*d{`dZ$3tqLm z<^TNu`~L6wf9(I=|HuFHf^YUY`ah9j%l~?Y$^YvZivKq-1pbd>aQtt_;P9W9!Ri0Y z{}KNW|Ihxv=6~n^ng194pYi|9|L*^{|9Ad>^}pu-`~TJdfBrA~&&p8qUyxzae@%wD z|GgM?{?BAM@V}Sg(*I=)H~w#Bc>8}h10%y$24RME;1ft>89EsR844J_|4(7K`rnsf z$A4#r>HlpRn*Q4{6oGdnBr|0GZ(u0;Ka-*1|3-%S|93K+{=bFc+y8~&)`kN^8bbnu zKSLpSZH_R*e1>n}`PZEc`~L4?Snz)%L;e574DtVa87%*oF-ZQ8Vfgvao8iGf6NZcb zlo)pZV`13y@5BGy|E~VO{_oWPcmK}*7yJ)8+3xZG<o}=k_x=C>fAN1#hPD4W8CL%1 zXIT87hhfrxHiowUtPGX^IT<RzYbO*L8vbiBH2ybb=>M<BFyp@*!}9+e4BP*I_<!sF z-Ty!SAN_C0u<L&;!}9;#3@iR`0Qb>XfKTvw$guVQTZTjb|AKm*j2He3F&_V~#JKUl zGI)1%=YLVg`v3flMgQ3ti~ln-7XAOt(Dwfq!~Fj&jK}{oF@E~b&ZxlfnZbwQIYT<b zX@+KooeVt;^BDRW<}h?JbTD)=v@p~%WHK~?ck=5n)G{zI)H0m-U&S!-e;Gsa{}Kl4 z|G5lu{|gv6|0gmq{10dN_0NNW@xL(x_kU#uiT~mZD&VvE3>h^4doyVNPh^n!U%?;% zKBcCC;px9zhO7Sq87}<OX1M*2mEqODr~ifipZc%!f5ZQT|BL>Y{h#uG#{UWb=lq}i zfA0TT|7ZW-_<#QYL;rXEfAat2|M&lY{r~k}g5lSHdxnqyqZnTPuVA?Je<H)a|H~Lw z{@=+k@&7S~QfPa^`2RHqk^h$&e*e42@bTX(hFAaoGQ9jJ%J}x5KI5-{fsB&>a~LiD zw=rh@?`53vzm4(i|4c@924hA$1{TI*hT{yg8D=vaWhh~|4K9r=7@jl8GCX47U^vV0 z@&9&)OaG@bZ2n)wF!R4ZL(_j1hO+;{3|asG{SW*95!?<l`TzC5)_)ELUGPd0R|cj3 zg$zpndl*#yZ)4E?f0{w_|9$XkB;NnG8Gipe#qj9gc7}WZmN4A;H<#hbzfOj)|0)=G z{>LyV{r6<B{;$p8@?VxA<o}=l(f=R+uls)l94@E+&-?%J|E&LV3^V?lGA#Y?#jx*x zG{fcp1q^Thw=(?yKM{Oy5);EhhA02GG3@z&fT8XGU52p#Zy4l3_Y3{!W4!)Pk@4a` zb;e`=bQvG~(_{SdPmfXJzbd2ke__VF|9==J{eK8PGx_rW)eKMm&t>@Xe+mOL!$byg zhDHW?hI9sF1}_HC9FRT3&;L#g$N$?gEc|c9(DYx2A@9E`L+F2ghQR;d|NH#E@;~PP z!T&M;*Z<G_zv+MB|D*pa{=fL&3_f4ZouTf3E<?uu=?p>tH!+z1KguBa{~QDN|FaBC z|Bo?n{6EGZ^nVwF^8c+2`u`U(*#4ivVE?~^!To<TgZKYDhOqyM3`yWSXuKGD!0jM= zhExB|89x74W)Nf$WUymkWJqK9{C^_D)Bo!jUj9GEaO?jShP(f-Go1c^gW=Hs3k)0o zpJiC}|02We|K}NI{C~hO`Tt|^`4IE}vokLFFUq*~zan@S@rnP^jF<m&Fy8wAk>Sq& z8w|JpZ(z9pe+t9B|JmUEFK_=FFueFL#sI4AF8zP{|M>rF;I(AC|L^~Q=>L}g$Nn$+ zfBt{h|MUOr{-6Gz{r~9yr2nV>hyTC!KjQzF|9=047{dNrG6eqjX9)kF!VvmDAAGW^ z_5VT!z5kgETK}UNl>YlN$p3d^5c%)I!1LdSf$@JB1MB~I2FCx{41E8yz^iCY|K~Dz z{4ZcA{$Iw>|39B$`~PBw3;*L8KK}P%U}LagP-ReOaAgo>h-Khn$YJ>XzlP!c|5k=e z|EDqR`oElE*8hDBpdAyS^>lv!IT=mCyMeVB&HrmK`ux{oEc!3XIPE_V<Ej6j7~cGU z2tE%}nqeD*48vju1%{~%0t}rD91PVA-~N{{T>Br-u={^7!!+>dhY~~be@2Fg|Ihvh z|3CXb;s4tIMgJH4Z~EW=zyJS~|C9dr{-6GT_W#BI7ysY$f6M<H|F{0<WZ3-Qh+*mf zbcU(_I~f}OuVyIve}EzJ{|ScZ|5q8p{-0*>`G1VT3w&?tOa{OI4Gcm5vl$})hk)-m zP5<x6kn!JxA?tq#xYbnrzlx#te?P<I|1%i2{-4Ki_Wx{#FaM{4_sRG$G&2-1<S?`| zBr)_exG_v;&}W#+z|Sy~;q(7l3|Ib7XV~|DI>Yq;GZ>nn>s3Lkwfz5Af!D*t{;vbC zO|1W4%`oGCKEu5KX$*V*hcaCG@67Pwza9fSgDist11Ez7!}tF@3{U@m`hWZXmH$Wn zulc{_fA{|-|MULO{vZ9n^S|%^n*Wyn3;yf=FZeJ1Kl{Jf|Dyj&{|o+G{;&C;{J-LV z&;Q2%C;r#`|M9=|zaB&9|1gG*|5Xfa|K~C^{9nUR^Zy`27I@v%NrvG6r@&{X`2F9& z5cz*0L+bz842AzEfX~L9^uLT@&HplnqyN(w-uzEu;A8-u_7udB#1P8R#Sq1?g&~FE zDnlm28-^l=-wdS;{}>t>els*Md}pX+_{xw4ZkzpL&|~<(z{T*1;qm_$3@83SV%Yfq zI>VO#r@?Lclm8De-1@(r;r;&&41fMlXJBP$W?*K>X5eIqVgR*s{{MGn`1s$6;lY1h zhQr`n5*Zn${(tqq^Z%Lu&Hp$4@BKgf|HS`Q|L6YC_&@W1#Q!P(gZ~%)kNThdKly*) z|APOK|EvBd{;&LB^S}K6y#IOs&w=aQ=>G}~0spNSEdP5m=>7L+5dI&|!1Ldaf%U%^ z1NVPR2C4t53@ZPn7;OLZG6ek>W61n3!%*{IiJ|wuDZ||Vb_^^3dovvT@4;~OzbnJn z|85L23|0(o48{yK4BFs3KCUwGF}z@4X86kR_5XK<H~*O!Z~gzxaN++ShHd{pFf9K6 ziecvedkj<l-(#5m|0cuY{|^}U{=dO+@Bdwf-~U0opD!_}F&t$uV%Wl9%P^n8gQ0~X zh#{XLgdvE*hrx=$6};l{&woLNhyUOFKmGsy|C9fZ{XhJF`~M67H~v5Kf8PI7|7ZQ* z{lD-3*8kJ~FZ(~?|HA(Z{`dUf^S|@|qyJU^c^RtzTQQXVPX({UFZ#cRA?N>ohC=WP zwsj1#|EDsz{;y{+{vXbu{@<EG?!O#^;(s;<>HpvUYySW8U+e$(|4#oo8N&Z_GnD=3 zW0?D&gJJ*wzyDwT|N38m;nROphTs2_8JHRB7z7wrGsrUR1fTvS%W#ZAoZ%<~7sDZj zU;lS9y!pSC;mZFF4BNqD=W7^>|F2?*{y&$&<Nr(s=l_!!0{%~ANdMo!(DJ{EVb%Xs zhO_?@7(V?EW8h&3XOLqEXV7B^VbEo8XV7CXXHaL5VGv^Y_y7O@EB{~q-}(Rk|2hB9 z{qO$2>wo3{)&H~pPyHYGzvaKn|Dykf|C9e~{7?L^`9I~q+5hVQe*b6wPyT=8f8+m8 z|0n%d1)m?h^nWMA?Ef1W`u|^IDE$9`A?p8A28aK*8BG75W-tJ+!0%_U|6j!5`#+H( z;lCF{;eT6j-@oU-D8ropKmKq1|Kb0I{}2Cv`~Tv<6nKV)lOc^kieWZ`CBr!eZ-&1N z!3^q*Aq=jJp$y@S0Ss}B_6!M(8VsR~{0x?iU;ZmF-u}<XxcmQihPD46Ff9ImhhfwI z3k>_g_0TzncmK~aureHA5CPvBK8rztp_M^{A)P^)A&5bN!IVLeL54w?;ro9U&??RU zm;XQef93z3|5yK?{D1BL_W$SpFZ{pffB*ma|6Bgo{;&KW^S|xC{r|rI>i;+Wm->JG zKi_|52EqT@3_SmX8TkJfGVuKe&GB|I@cf^|zyfL|{3~Pl{V$f`_dgegzyCBC_`&BB z{{L_M|IdFXaC?S<A>%(AL&JX|hKc`07#4ursd5ba{;M#Y|F6pM>c1)j6N3f=<Q^>r z@J_B$21bVI4DbGLWVrqR1jG6Nw-~nle+533W8(kM3^o5hGGzUK!4UcX2}9)nI}FMH zuQAm8zs4~A|3!u!|4%cV`477Pa0A1~|7#h3{h!Ui#?ZyU!%)f~$`HdK%;3ks$6(Iz z_rD6mhyPLxSN?M|?ElZlu=+nY!>s?j3=_ev?BD+<{D1U+*8ki8H~l~T|IGi>|6l$; z`d^S?-+$1JAb|{<{--gl{NKv3@c%M~ng35QO#J_lq4EDOhNAzBj1m7?86E%sW>EeA zih=+CHHJU`_A~tax18b6zfK0u|K$t{|HBzf|GP1S{?}zF0iRSU%m6ya@Z5iChWG!a z!KdeFGw3t8Gng{OGFUQ{GMF*6G3YbQW>95V%D~UCo`IENJ;RIts~FDxpTV&De=9@B z|2&4w|1k{y|2-M(|2s3-{kLbZ{_n!z{NInk?SCYL`~P?b_y1W8-v28Y;{G==WdHAA z==k5xFzbIM!<PR!4BP(uGi>^A#<1qU1jE$-EDSyW|NpQ3|NVdCe+Gua|L^}7|9|^G z_y0Zc3cKq6NB_6|-|&CN|F!=&{Ga>(?Eks{zx<!^UyNbie`ki(|MM7j{$Idw=>H*x zJ^$}Bto#3gVb=d|488w9FjW74z)=1FG(+D1O$-J9XENl2YrPVN=KpaF6TsuyQ4AaZ zM=%`zAI@;$e;C8F|3M7j|A#V&GI%iPGPp7LFxWC=GFUQnGZ-=~VbEka%Amw>lR=!} zErSrlZw3yAzYM?se`k2{{~^Qe|7RFZ{NKp1?f-m+W&dX|%>3WTFztUe!{q;&43qvR zFwFcP#xVbXD8r`zo(w0z>*Ea>KK_?w`1PNY;luww|8M+%_kZpG_y0TofBPT(pPRw? zzY>Gxe{%+l|9%Ya|9u%k{s%B*{kLam`mf6{?LQC0w*PPbpZk9dJeSGNQ1@SvA?v>d zL)3pChLHcs3_kyh89e?sGC2HiW-$5R&Y=0fmO<)&DTCPmTn6#~u?!0TgBVQyJ2E)_ zH)V+ZFVB$ipO2yCKO4ie|11nE{&O&F_%Fr)I_+cie^Z8K|4kTH|2G8h$=Uy3n&ISs z4u%KdQy=dC=VUnjUzcGExF$+qnEOA2Ve0=<hR*+G3@!g_7%Ki(gU5a9{&z97{qJI! z_J1<Ns{j2A`~FX0I0ZhXwV&a^|89m?;C*vt4FCVfFfcPXGJN~5&hY5J3d52AiVUm& z+c3=d@53<Te>TIc|J4jj{`WDg{oli|>wh=H!T;3^r~a2Roc^E5aQ%N6!`=VB4BtUF zvN4!5=rX7?_%f(7R56G#EMO30ILW}k@S5Spe>TPo|3w&A{TF8J|If;p`Tq}ieWv;U z6AT9bmoXUp?_{tAx6h*)ivRmFwEy>KSoGhMVd;N2hRy$-7*_wcWZ3*)mtpgN8HT<8 zIT$Ye|Nj5U|5yJ(GmK0Oum1BhfbO&4V31%CW8h;DXJBKHWccu(nc*?`CiIj4kN;oz z|M>r^|0n-P{J;F)=Ks_G`u~|2)c;E|X#KZjF#Yez5cofVA^m>}L)-r}hROd!8J7Ha zVwm;cf??)=Er#a*#tenvJ5NBZ?MR03|7i@-|1%g;|EDtK|BqrQ{_n%k{NI+L>%R`e z)c@iPi~ln*to#4v|AGH+{$Kn5=KtIO-~S6SFftf2a5E$_@G^8VuraJ>`2GJh!=wK< z7|#8F%CP?bbB0;}?=!UjKh044e;Y&H|G5l}|63U*{?BEY^FM`Q^Zyuz-TxCAPX13~ zIQ>7H;mrRGhAaOw87}>gX1Mv^pW*R;Plj**y%=~Id>E7&LKr|J;T8-T3<eCj3=Ry* z4CV}B45kb&40;TD3~~$-4AKl73_J`h44e!M3@i*R42%rS3~UUH3~UVl{_`;W`OnMn z{l6f?&;Q~KU;c|QJozudaQ43pIQ0Aet1%S+*I)<+pLgcY;Qim5A>_X=L*joIhQj}* z3=RKv7<&FIF!cSGWtj9|j-mfQ55t`Q3=Av(Km5P@|MmYD{~!PV`2Vs03=Dhz3o~r` zuf;I`za2xze^-Wz{~in({~Z|O|64Ic{MTnl`me^2`d^5l>OT)d<NtsEC;ew&nEn6n z{}uoF8J7Q-Wmxy$jA6xpFNUT6BN$fv4`*2S-=E>ge<Ow~|D_pT|7T=iV)*-Cgn@}c ziGi6xok4;@pFx$uoWUHtMnspvl0ln6i@}6Jj=`QmoWYNQlOchDgCU!NkpWa6RWSVf zU(WFBe+k3?|2Yhd3>ggU4DsN$hX8{o11D%!{J$B)ga4)s$N$?itoiTBF!O&jL&yI# zhW`I$3_bsA8Rq=&Vp#USk748g2@Ko+Phi;be-gu<|D6o`{x>ij`=82i|9=Sh>=w|f zNMi<Vh6Dy-hBAgf|7S7W`oEH4_y1iC%l>a>nDBoCL(BiA42A#aG9>=*Wr+M=!VvgB znIYl72SfIMTZZQU+6>eGYcVYUFUPR;zbeDF|0)do|En_W{V&6C=)X9_G4Ku2Yz)W# zvoRe0ugI|bzZt{M{{ak}|0gl*`d`Gb<9|NG?*E|-+yCn^?D)^haQOd?|Cj&o`v3I* zoc~|{cmHQ%sQ=Hz(D0v=q4B>EI9{j!H)2@+-wJ#d_1^yu49EUkGVK3v!La4OKEs0l z77RWA%^1r6+c2d5w_u3<Z^w}O-;yC8e7=M$L(BgNhPwY*43+=u7;?b(N%k|O{qJJP z|KG*X^uLo~{{JS11OM9?-uy3NP-Mtv@MG|2s9~^Tn9Cr~u#bV40d(i#DTdeJS;mbF zr~gl9IQYMTVb}k7hRy$-8Mgj6VA%CvjbZ<PZH6QN4H!=ScVsy8--Y4oe|Ls!;N2}2 z44?lSG5q<j#K6d)%)ri|#lXy9!NA7g$iU7J&cMVF#lXyv$?y%lqrsEm;eSnrr~i2w z9{vCJ|NZ|5|3Cge`~U0z{r^Ax-~RvW|Be4Y{$KU~$N!c8fBawl|HuC||9|}7@&E7t zJ^vXPj{g7u|G<A9h8_P!8CHWwjWrk+{MTYw`Co-$?SFZOga73j4*geSIRD>};rxF) zhHL-r8E*V{XSn{~l;PfgGlob1<rqL``!F$ZG6*sJ|F6LC_P;s9z5gBzN5JJk62lg7 zU%iy!!2c$O6aTvy&itRka2-6l-^XzGe=Eb)|K$v~|5q^F{a?ZG;C~6j%m3vJFaM`9 z{P-Wn@Z-M~cqIrI!_WUb3^&2C&H%pqY~TN%|1bRi@c+gCcmMzWfAU|D;n9C-hNu5U z7~cK=`~Tnn`~O84PX5<o*z(_-VH>zkjc3^LKZarF|7eC?|NR*@|My|o@ZXMM!+&#z zb^nbRHvBha0Nu;H`o9^&;{Ub`6aTw2bp7{XX!#FX3F6H#`M)Q_vj3h8`~C+o-2NZV z@Zo<P11m!^gBU{wgA7A9gDOKFgDL~)u7ETK1BOTjR|X%3Kn6pGA_fVD2@Eg)Z)G_7 z|2o5h|F0SP{{LmD`w!a1$H`d!pMkOR|3`+(|F;-w|L<jJ|38bN|9>;XjQ<4;bN=Tu ztoWb9u=am3_*8}c|MM75{EuWf@!t)+8uZeCX@>j%1sERw=Vo~QpPS*se}0BH|9Kcb z{%2-*@c-}sYyV&WKl1;^|6TvL{@?U}#{UifEB|l*pYs3s|Iq(e{`>rY_TTIOr~gj> zIl%XX+5T5y@cM7S;QwEbA^yJ^L(YGFhT{J=4E6s_7^?m|GnD>!Vo3S#%@Fb5kHP<c z2t(li5Qeb-kqim{gBVi(M=%us4`HbL@6Rydzca%UaP6neaPB`J!~Or<;Bs4mfs4V3 zfrlZBfs<h}0}I1WhEM;mGCcbKg5l2p#|-EGKV~@d{{q9o|7RKY{@>5A_WvG+CI2@u z%mt6!%wbpvZWT;r*#3VK!}0$!87}>w&hYSmAH&!GEeuQyg$&%_`Jh+^VTO1H0fsmR z5r#Ad5pc|8GAJ^nFsLykGpH~mFeoqtF~~C5Gbl2sGRQM<F=#S;0k3ibomyqdaPq$y z!@>V%49EU!GaLZ#yHjG=^Ix7}_kSsdZU3bhHvLy(SpQ##VF7q#+YG$xC+EL1L&kq$ zhQ$B;44MBqKrzcO1-zS!m*Mb#eugXmxft&KXJB~u|2z0B&M*IO{r~*`+W&9=kN;<5 z*!^FKVd;N$hUWh^;4z)R|Dg;%|3ewP|3@=~{!e6x`Jcj&|396f>VG=J#QzBl3;u^P zZ2a%Wu<O4S!}0&x3}^rAFx>jD!Epb-A;X9Npw^-p0}F#O0~3Q9=r&shUIuOke(-H$ zU;j&h@0I-YUzy<t_%1Cy22KVu25tsR1{Tl_YyYDeKKw6ac=*4a;rjpi45$9DV>s}C z2g8>CN5HYM4m^K7i(%gXPKIg!%NeHr&taJUKZ{}Z|5S$g|Kk~!{EuXq@!yMK=6`2~ z_Wz~~t^ds!YW~|Zbp3Z`nD#%MVa@*#hLite86N)+V)*^vmw|`Dl|hcdj6sJ%gTbCb zf+2u`ks*uW#s3zD)Boo&Z1}&PVcP!#46Xl9Fckbh%a97*B@a5c?I43cc(?f`hT#8m z7*hVXFy#EtXK4H%&CvBflwslj5QcUCBN+DlPh>dyKbGOd{}hJP|Kk~s|Bq%k`QMje z`+s|e&HoJ<mj2gfSnywyVak66a4Trye-4Hj|G)pA_W$Pp1^+kvU-Q51|32`&XqNwf z{8#-i%b@(<ltKA_5QFyr7zTs?c?>rHvl-m~XEFr+PhyDspU9B-Kb|4|KWHy_Iz!_B zWQMT+@eJPJ9+f+TK6qrpj6wCkErZ&BM+WErUJSASeHj}6`!US>@5!+JzbC`F|K1D_ z|NAlg{2$C9#1P3~%n-~F#^A-!!C=F%nn97_Gy@mILx!*apEKP2|B~Uv{|5}~|DR=; z`~Mij^#9Ajd+9)Dj?MjF!?5mu3B$qvxeOQo7ce~hU&-*{e<#D=|DaL7c?{AFa~YHv z<}zqAOl8n!=m*chDKa!Oh%?kM2r-l~Ff-&b{QV!p@b<qi!_)t!47dJEGhF`v<NuZa z*T6T&Jo`WW|Ih!e|2Y}Tz$@aE8FK&YG35MrU`YS(#*q0xj3M)X97DnXRECQG`3&{{ z3mH29mol{f&t|CmpTto4KY$_Sza>M;e?5k<|MCoR{}maM|I0IgR@k-vR|BtLU-(~< zVdZ~$h8_RK8TS3>WjO!;*Z;f!U;Y0MK8<qAe`SVQ|1B9h{|7Ks{ZC*h_+QRY_`j4P z`+p;to%+9wA@_d{L*f4faJziUe+Pz5|8*D+{8wZ+^<Nge((mSfC5ET}mBBm5p8Ypv zc>dp%;qHGEhI{{w8P5DSVK@qIAy_c1`LD;Y>Axn!&j0cZXaCDF-2X4h@cBP40~-Si zgBZh`|C$UJ{u?oD|L@8$`@b(k`~Pr;s{ct0h5vIHD*jh8l>e_|X!~EoFyVg#!|MN4 z47>i<F<k#&!|>>TEyJ__H4N9ldv}W&mjBOXnD)Pzq3eGgL+}4ShH3woGOYN&m0{2S z!wgsdpI~_X{~`k$!*TG~6sWK5#8Ac%$Kb_~%^<^2&G6xWGsC(6GZ{AhU&OHF|90>` zsP6w~7#jZ{V<`WBoT23Zc822rs~H;pcQQ2p&t;hK-<@IRe@%uZ{{<OV|7T~|_Meks z|9^3YOaFBlF8z0Ac<?`t;pYEBhFkwT7>@n#XITG#0>kY8-3(>_s~D31r!)Bc2eqQr z89e^8Gx+|0_CNan$^U8p*Zyz#-}8UU|Lp&p{s;a)^WWzGyZ>hYIT(!p%P~0oH)8Pq zZ^jV!--@B&zX?One=CLs{~Z~2{`X)w_CJ*2;{P~?3;)v?j{i?&*z-S#VeNl^hPnS8 z7`pzuG1UKeVJP_T$&mHm8@$6b?SBMA#s5r(j{oHh>;5+~T>Rg`@b7;EgFHhSgDXQi zLp(z;LmPt~!z>0}2GE@rdl*C+_AqcVY-jlNe;LE||1%j*{cm76`ahT9+<y;-%itR+ zLF1BK3@`ux`2XrZBg41<OboyO^E0q8NHP5VuLiz#@biCrhEM<989x4xWOxrg5v%~b z@9xU~B!&zBV;Bzo_h8ud-=1Ope=UY(|3w&<{r~iT+5c<*H~ruIfBXOC|BwHl`Tsh2 zXW*RwfBrA|&%v+~9QynWoBxY2Z2vF8aP+?#!^Qs^;9Vv6{>y^ziMsax_y3dsU;ID$ z|JMIQ|F8T%{{QU%1OKo7-~IpA|2_X-{@?rm$^WDOKmEV(|MmZ;|G)kJ_W#X)PKLMt zMHn9ZS75mIUzy?je?5lN{|y*U|F>nh_}`x4_J1#i$N#+<Ui|l9c=X?&;qLz+hO7TW z87}|#W4Qg_3fzW#|6dC1e^v%I27U%+22qB;|CJb+7_=Ff84MU$8B7?s7_1m180;BT z8SEHz7_1pg84MVV7_=Dl7$m@Z?RXhj7=HZ!`~Us_zyI(4XJNSfUx4Aje`SU(|4kSc z{dZ?r@IQ!Q?*DLxx!}7V0vYD~_hFa<z7N}lVa|VRa9?)we`kin|9u&*gWFnO4A1{N zG2HrZ#&Gk$HpB7%3Jk~oOEDb&FUWA{Kj<t0ZiYkuIT=p=|NH;S|3Ckq{r~u%i2=0E z{>6Vwh6n${7;gQ~0PlW1^1qW|_y4I3+x|~u*!X`I!-oI;3>*HpGOYPu%CP=_3d8#U zpcY~<!_oiV;FSwc{u?s9{I9|A{=X{2i~kA?PyQ={cUfHiug!4jzcskTz5+Hso#Ed9 zVuok`E5NxMbT8HY|1k^?|JyL!0^j!a>;H}axBuV%f8hV^|I7Zr`QP{d-~WpLLJZme zH5lUl8!{yQH)lxy4?3qxpP}Wy9>c8vIt;7+Ycp*BZ^*Fszdpm^|CS5~{@XGf1>Y6r zz_9thCByRnMhr9mD>F>|FVE2RUlM#{Q|o_0hQ|NA42}QU80x_{Y_c-U`7gw<>Axhy zmH%1{AO34I2r?Kj=rCw9I55aE1Tly(L^H55Br^Q?pTO|ue*(jc|1k`={`)dq`|rVU z`o9&!ng4bS7yny>Tl(+*8!>$Nufg!^zbwP2|Dp{4{tGhv_%Fu5#-PF=#9+dp&EUmg z%@EJv$xy-&!qChR!qCm&!O+KG&M<*N9X!%m$MExiF2jxgiQs(^tN!aTEdMXgu;%~w z|A)b+l%N0q{r~Cz+ziM6%QKw#ugP%bzXQV+@ZMf`hD-k)87}{K0GH6G{u?k{_^-=w z`M)y5o&VwtPyVwpy#D|5|5xz(`Ro5b{6GKyDR`H|j{j%=Z~DLQ|2A+NcpaE^?En7% zPyS#2|M~y3|Evt({tGcMGe|HnF~~5mFi0~nGRQFe`_Ie3$nf|7|Nn3Q|NMXU|F{2J z{(t>H^Z(!fz5m%5djE@pM+=tyS7%uNUzOp&e>sMe|HT<@{by%*^#A|=&;Nh^XJYvE zUzvfKL7#!0!Hz+Q!Hq$h!JR>g!IMFg!IeRi!Hq$K!G=MR!I(jYL772_L4tvcftP`m zfrWvIL6qVDe<_CV|J513{?}%B|KEt=$A1HcpWvPlr1vMp5W~R1ki)>jP|on}e+9$S z|8?Lsxi|lpGTix}$#DCBB*TOMz6_84+cG@<ugCE6zcRzq|56OE|8p?B`OnJm>;M1% z><oYYi!l87ug388zd6H~|E>)0{|7R>`0vkf@4pYj&HuIxr~m6QT==ifaPq$l!>Rvb z3`fCpC%^vh{Qu_v`v1@Vum6AV|LXq_|8M^P?El99um5lP|NZ~!|G)n)`v3d?od1jr zQ~onEO#LsyFzLS{!_5E249ovJGHm+q!muCQ+OcK020qtNhT+kFW`=wJpZ|aK|M357 z|Cj#1`oH`Cx&L+l&-^d_fBk>)|5yL3!Rc9wq36E_!`%Po44eO3Go1f##qjvQJ;Sg6 zb_{$Bt_(s9pxeNF7z7zS7<d_c8Q2({7?>Gc82<k^XZZHtf#L0c2ZsCq-5JjRcV;;B z-<Dz5e+!1q|J51R{nugG`d^9R=znd7+y6BfKL6Kd5MnT5Fkvua2xKs2NN3PsC}U7# zC}a?2C}-ehNM-o@KZW7l{~(6@|D735{5NDc@?V}|^M3(`_5XPo*8JyTSoNQSVe5Y` zhVB1Z7!LktVmR|3baKSE|F{1C`G4m>Bg2#b{0uMu%Yys&KmXe@eEaXq@a2CX!&`9c zI1)UkeE{5!b!M3NUx%UpKR-jye^&5$aZCTd_`m1><^Q+;U;O{+KWLQo^nV$Klm8VN zuKqV*xCr)x9mAdfE)0+U`!PKFAI$LKe*nX$|6UB740a6S4EhXu44Mp<4AKlX3^L#l zGiBgsFlOLokY!+G5N2R!`2C+1ytnQ-_+$wKhL``X7@qxiW%%&lgW>&uH-?Y@9T;Bz zH)VMDUytGOe;J0C|9Kdm|Nrs-!~gsLKmR}b|Ns9Z|3NoR^D*rDFTt?;zcRz2|5^-Z z{~It||F6#Q@V_d<)BpV7l=uXE7dGg2f=B;v{lEGD?*9k>AN_yv|Nj3k|6l+A{{O{) zHgJ9X>OTv^_y3?%us;5O4c=|{5L{Y3{{IMk4&~?npmQpIgZBe!F|aZiF|ae(GW`AT z%JApECwLz2{r_-=NB@(-cM@FuAH#6^e*nXY|6brS<>r4!hS&d{89x8_W%&O;l7WdK zo`HoS9ef@OKSKh8AVVmF0z&|U27@1i1%n%dD}xO~D1#wG41+vFB7+D+3<DQK00Rqy z6~mAJ>J0C|;}HM<U;hv4<30L+;{UDx=l@^)f8_s_|A+ry|G(q^gZ~@AcY*)@Kkq*W z!|eZ33{(CqGEDxj!7v$o|F15?#Qz2iUH?rPCj2*I==pEWF!jF)!|ea249owkGi?4Z z$FT7~JHz(>@Bgp+fByg4|EvD5_z#-%X!*bGf7}1V|GWO*`#<IXyZ?*-^D=Dy&kru0 zF8)_yxcgs+;oX0IhHw8Z89?LboD5#zdvBN+LKuGi4`g`r-;d$_|6qoP|DzZl|4(E% z|G${w?EgB3J^x$5=LBy4-^#Gze+R?b|BVbA|93L%{6CT5(*Jo3Pyf$j`1gMigD}Hf z22F-348{yC3^oh}3`PuL3<eB#45|#u3~~%&45Hvs+h6|~7~cN>{r}njKmV`%|NH;K ze+Gt=|5+K%{AXu4@}HgI*nduj<Nui$PJ{Piaf8ns0j<#9`QM0P<9`eAIQ#7Xfee%W zhcop4k7DThAHh)l-;bf_zbix1e?x}2|1u2z{{<Lg{<AWq|L0?9{?84*U333`eumrs zc^TgS=VoAF;AY@q5M+>K5Mq#G5Mxka;AfCy;9(F0_me^C|LgxB|G)nK@c-Zc*Z=?i z|MZ`e;m?0o22KVh25E+0|5X{j|2GAnJ@e{+Aj2K-$$fd?b>pZ0_b^=l54wA6F2ke$ z3m9JhpU80ke;dQo|7i@@!L2P&y(PzR>OThq==Qv`|G)gd0zO6c-T!C*KmGsu|MUO9 z|Ns7HVqjrl2cMlJ!obNO%)rJV$G{G*qa?vSdeF`7(%^GhF8`NfIQw6g;mCh+hBN;q z7>@lHVmSL>fZ@o0MuxrrzyIIx|Hc31{~!Hd@&Eq+?f)PAKlT5~|2O~N{AUBVYX1B; zXJBOj?Z|Uv5Myv*kYzAuP-QS?P+?GJP-Ku`;A7xn;ALQ9U|{(4pM&AUe{P0n|G5}G z{pVx&`k#q`9bEgr_^-rp=f57qmH*ldXa4IjocXWLaQ?pv!>#|C3?KfhGB7geGe|KQ zF(@!tGN?0HFeo!<Ge|QiGjKETG5q<@%<%I6hyM@$Km32=|CRq&{-6GT@&C#Hm;Rsp zf8+nr|F8a^{QvR)iT{iYr~mVU_r~A)FURoozY4><{~8P*|LZfn1&>17Go1PF&v4*> zFvFJr5e%FDM=@;sAHZ<vzaMzr*75&347<UrG5-Ib`~Us_iU05XpYZ>}|0(}3|6ln3 z*8h$FAOAn{|MUMV|Ct${{+D2Q2d)$K8GipaW?*H|VBls@Vi08zWRPI^|6h#Z(|>M; zC;yok9{m6P|L*^9|F8Z3|Nq8+PKI;;#ToYeS7X@v-<)B=e=ml`|NR+e|Bqyt^*^3r z&i@RCIsXe7R{k$#*!;hQVbA{xhNJ(B7*74qV7T}{f#LFhABJoH-5D<aH)S~eUz=g? ze>H|3{}mWk{a0XE{a=~^bnnxy{~`=$z%jth@c%y_gA{`}gBJLV0tE&q1`P&J26+Y_ z1}X4)*0Bul|EDut`=7^f^nW44f&VoOyZ%=&Z2sTKu=#%-!-D@c470#9a9Ip(|Kk|C z{)aJ4`tQN8{J#^!{{LnScmG>5eEM(3z|7#vz{%jxz{>y{>C9yK_dkQ--TzF6NB^T4 zuKo98IQHL`VaI<RhIRjC8J7R&XIS(9|NmA0Km6bQ|H1z=|F8Xj@&DNWU;hvPmtffQ zUyot;e|Ltx{}ULt{m)_8^}mr}!~b@M?f?52w*GHs*!jPeVcY)#hVB0|7`FWPV%QBn zxu1_=&;QT=H~oL`e<k=<*vtR>{y+HN{Qt@SrvG35cmMzQf9ijBh86!s88-e`WY__| zr@{@K3eNlwVz~X^hvDsiGlswaLFWevFeown`>)6F`oAG~T;nQu?!}Pd)PD^I(EK(i z-yHrAI;D(_;naUnuZ4}_@qb2!um4%V{e2MzZU#995e8)jC1|V7fkB+X7kq*U4?_q8 zFGBzWCqpm;CxZ_ID}yHkBZD0SJA)O&um4&M|G_sCvM~Jl|LH#i!((tOQHbI8e?^AJ z{|y)(fX}b;VfgnyfPtSOl0lszjKPE<oWYhMh{1uukHLn)k-><;i~)4}sU(9413Sat z|G)l!`Ty|$)Bjh&vr{+!@Be@9|Nj4b{~!Lp`u~al^ZuXtKlA^o|Fi#}`#<adx&L$i z-~2!S|D*qN|Ns0y|Gx;s;{RF<YyaCZZ2#}Tu>Zd^!|DGf4CntFFq{X^oN+On|Nrj) zssFeCANqg#|K|V4{;&Rj=>Pox$Nw++fAas*|Cj!6|9|`c(f?2XgL+$_*-VfhIT`F3 zBpEyyR2Tvn^cZ{?^cVsdEWkJDdNY_axHA}l@7y+KFlW$Uuw@WsaAja+aAx@VKY-!O z|8Ry+|1-chbpQC@#qjI@6fkCGn83ip(8(am(99soP{AO<kjEg-kisCw5XK<L02)6u zXJBE_WBC4Gp5e=XUWVuYSs6h6;OGC}|G)qL(SJ~z;`09s|1bW(@c;1tOaJ%%zx99X z|NH;9{(ts=+y6)4KESE}SO4GnfA;_D|GWNw{=eq`-~TiJfBN6~|L6b4|6l(X|Ns5J z^8c^@)&GD0@A%Ka(Eb1a|C#?88J2?EH!KXN|1&Y%{{Qp;^Z$STfBygL|DXR%3>@HE zj++4l85sl_m>49%F8uW0fZ_drD~1pMy}>8)eEA>2@cDl@!|(sW3}62HGW`AT#K6Je z!XU}u#9+YS$l$|Z!H~wF#Zbqfz%YeDkYNFX0K*Cf9){%%><mj8*chfV{Quv;@cVxT zxQ+AUzc$0i|NIP(!DZ2>|7ZR`_<!{Oga5n#-~GSi|5I=t+68WTT>roA|Be4^{@?h& z^8bVXYyQ9ZzxMyT|J(on{D0^_=yVNG&CAGe?*EVf$HD8gKm6bS|MUL?|DXTg`~TJd z)BkV$KlcCZ|7-vE{J-{p+5ad1m;ZnMfA;^E|5yJ1@PGaP_y0k=@6P=H{r}p3c82Hw zg&BVQS7u;muw>w4@L-T&2x1UtNMulDh+|M^$Y#)Eh-ENgh-5HgaAPoGuwXD?P-D<w zkYSKw5M>Z&5N8l%P-PHjuw#&B2w_lR$YRiDC}S{TsAI5asAceCC}oIbC}v1yNMR^s zh-D~c0F8?oGvqVKFeEc@G59n50-qD7$#CtzEW?5S91J`EfBV1W|I7cg|6l*#_aAf< z_Ga*o+ou1s{@48n-Lbgvf7kzA{}=t=`+wK}EB`P5fAs$?cu(?||9}32^6vlt5C5|= zT>8(=u=hU;!}kAdpff)Hul)b<|FZv&|1bT2_W#=dC;spHzxO|=hk5n?E^v<qa`V>t z|Evsm{|hs``!5Ub6$&vJGbl3HG3YWlFxW6SF*q>zF!(TdF}O4MGk7rgGdMB0FjzCV zGMF(KG3YSpG8i%_GMF()GdMDcFo5<TMKG{2fX>b>Vqj*dW#C|FVc=nCV-RO(XV7A3 zVK8B6V6bN>WUyq&WH4q3Vo+tUV&G*^Vqjq4VtDqSfdMo>c=G@2|A+oR{lD%1-Txc@ zU;4lH|H=QW{vZ3l1ia7Z`2YF;FaBTr|N8$W|6lxH{r>^Dhqvqh-T(XkU;lsN|LOl{ z!MSM7|2O}qfOmX|GnD_=W2pLXz)<qvfT8Zc3Pa<635MSPA`GBXdg*^=hV}n{{Xg{o z`~UO*|Negn?ls6WeEe_D@czFi!+Y?$fCz?r|HBz>{*Pq13Em|X#c&VYlMQ5e_CJ8( z>3?5_um1xWe*X6a&w{HlI5BuJxH7~u7&5dlXfRA+5MbEMz{0SV;phLO;Jb0(|3Ap^ z@c(9pyZ@IkT>sz8aPxl=!=3-2U1jDB*Z<2hoCLRz*%>x~PkP~CnEYRuq3ypQL-l_F zhSLAs4B7uV7_$GfF=YSeWGDvjZV+YY{x8Ka;lC`y;{Q?%EB;F`Z2Zs7u;V`i!@>Wr z{~!K;@Bg{~NB>{?4?5Rr?*F_0yZ%4?U;F>j|GNKA|5yEg{J-)4>;Jv~-~FHZ|IhzL z|2Y|!|CeIe{9ljZ$bVOctN$Yzp8n4Q&*U>OR5CC!R50)`R5S20R5FM&fJQlM7^E30 z8Ppi^7~~mJ8KfB!8N?Z48F&~{7<d?x8CV$d7`Pb<8Tc6r7!(-F84MZH8Qd6B8R8fs z!Fi;eA(~+dLoCB|hA4*F4B-r243P|V44w?B;1s9JV9p>7Zr_4xzW4vn{=fYH;QxL9 zH~n7<o;_UszvKUg|K0z$|L^#J@c;DxXa7(AfBpY5@EE|8|J(mR{D0*C^Z&>G-vXbD za`gYz|405``hW2MrT^RhpZ&k_|CRsq{$Kt-^Z%v)t^cq6Zv*d0z52iC|JnaJ|Ihu; z|9|X%>How3>%r%6p8CJz|Hc3J!Q+RI{%bM3`tQ#0^?x*YZG#X)HiH~PA$VrhkfDOX zlA(aXkfE4Cn;{px?^}c+mqCc3gn^Txih+-zn}LU61_KAfY6eb*-3+V@hZxuy&N6T@ z9AOY(I10XVOORnB0|&!W24;ro42%qrG8HsG_4U6g!}tGk3~&GQFnsy{;s4wJH~v5Q ze*k=D*QNi9{-6Cn`~Uv`v;J@TzvTbY|EvDb_`l`<#Q(eg&-}mh|MLG^|L^|4=Kt0I zOaFiRKli@`!{q<g46Xko!K2rp`KpxvS>Rcs*#ChH$^ShV(*Bz;6#X}3sQj<W(EVS9 zVfue%hPD4S8TR}K-GFMt@E9BdUJU>L`!FywfUpO{SMWL-(AjTc46pykFueJn&hX}c zF2lF~l?=cBS2M6N)G=@}lre~c=L%vNbQoM2EEo(K{262z;u#nj${61NZ)Ujhe;UJ; z|8p45|DVrr^ZyKnTmRb_?)@(VpB)J58-rFtf^N#$`2YR?MgOn=Z~uSdfBF9d|C9c2 z`5*Rw<Nx6Q>;8xS-||24|BnBe|Bw8y`hV(w?f*OfL8r?$|9}6#<^T8p?f?J(@BIJo zfB%0LhUx$R{Ga##AGpTY`v3L+z5lQNKlT6k|BL_E|Gy1BTVn42*Z*h#|N4LK|9}4% z{by%b_+OA=)qfd=t^YL`4*fS_xb@$O;qCuG1`dX31__1?1|5b91`~!R23v+{;2YGO z85S|PG0b8JV3^1dz);8F%}~hT%#h4r#1PG(!Vt<J#Sq3Iz!1T}!w}CP$dJGw%aF=o z%#g_7$q>bm%n-^@!Qjcz!r;o#$za3K&tSyR$e_(o!63#E%OJo2I<r-W0W_ET@;^HR z=uWVE{~!K8_y5HIqyM-3-}-;v|JDB|{9pdR^Z&yCwf~p>ul>L3f7$=#|Lgv*{onR~ z$^R+;*Zp7mf8GD>|M&er`v2(vbN|o(zx4m=|I`1k{y+Zz=Kmf4ul-;9|JMH*|8M?p z`+xI)<^M<jGyXsLpZfpB{}k|f8*l#C|9|;^>i@U@H~xR||Kk78|3Cf*t*+)|&}EQi zuw&3>aAB}zaAxpeuxAKnumtZfj$|+dpC9SVV9wykV8vj~V9j6%P7AgSx(wC~x(q%H znhb#qDh%o1^Am&^`WQGF7BKw&znS5~|AP!K|DR>J_x~cpo&Q%DuKd5iaOeLHhTGt? z>?;}G{10XL@L!+d!+#NmkKhql&^XTF|L6bj`hW2M^8cIv@BF{y|K9%#{@?vS_5bt# zv;P14Kk+{o!_5DJ3^V?7Ff9B3^Z(ZWul^tVfA#<M{|Em+`M>7>yZ<x(fBN6@|I`1< z|6l&+{Qvep?*G^SA^-pU_xk_)zxRJO2FL%b3~v9~89e`UGDQ7nWk~(c%24<J|Np7~ zfB#?iA9PaqpZ|~lGckPo&%waTAk4tY0NOKS%D~0o&A<!3?<WVmZs5oNGKTN}(-}Vh zPh<G`-;d$Pe-8#`24e<p26YB`1{nqe@OUC0Lp%dNLoow4Llc7t!$bx#h6xNZ41El; z3>^$2;M=v+8Gii_WBBsl8$4e2^uIZHED_Z90Nnu(8WlVH|2_Ep@)O`*?)m@c{$Kfj z@&Bd&XaC>$fBgUT|GWR+_`m1>?f)D9-}`^y|I7ae{)6Ur{{O%FAJpyujT(Y>n?Ct} z@Biul*Z*($e+Jwp@BhE^|CIlG{`Y~)=-vO9LeJ0J`TxlOGyg$$UHSj?|MmZG{=fMD z{r{)`ObnnlssIB&gA9WpgF1sGg9d{Jc&(WngBOD|LpXy7Ljr>&c;!SIgE~V3gAqdl zgBwExgD*oYLn1>wLn1>OLmERqLkdGRLnK2dLl8qhgFC|%1{a221_y>t1{a1Z23Lku z20w;ihF}Ieh8PAth8PAZhA40!={tC|O^4y;e@TW5|G62C{byu2`k$5IAb2GbJHx*J ztPH#UgKA_}h9&>m80P+GVd(wO$IuU+*$`o<|1ZE$@}G+#{r|uJasS`_5B-1Vf589C z|NZ`-{qOhx;{TxkxBkcdzyCk^|D*q<|8M`V{eS8IwEqYHF9xT>S^v-c@B4r4e*<`b z=GXtN|5+I(gL|$542S*;G2Hww$nfmHIK%7zpcR=K4A1}TGQ9fl%y9pI0K?<|84TC{ zmoeP=-@|a>{~QL;9cJhL?`1gu{{+K@|5q3;{=dy|>;El=d;cFYy#IfL;miM946F?2 z8MqntFo-j(U=U|$V~}DfW)Nox1h;C18PvezPyFB$-Pjqp7?>DX8JHOu8Q2;A{}*ET z{$GaS&3_e!r~efgZvN+Ic<`Tr;pu<SxqK)7b1|&^ufQ<rzX?O-e^-X&|2_<U|9u&3 z|2r}0|F>e$`ftRb@L!if@xLa6H26FTQ3lEXoD2&8zyH_!|N6hv|J(l~|6l%J{Qvy_ zj{g__&j-&{KKQ@q|HuF5{<AV%`7gup;J*gL&Hv^M*Z$iw9RF{_aN@r?!`c6u;Q6n& z|0Nih8AKRl8Mr|wsxbI6eEXly@cMrd!{h&L3=jWLVtDj_1;exdTNz&eKfv(e{|Sa4 z;Jc+xGcYh5Vfg=lKf~Yu>lpt0U&Qbad?!c^cm_&<A&P;I!I?pb!Hj{OL4|>VL6PC@ ze`$t?|7931{Z|6d2Oa*e3#L#1muI*K-f{Hp|G)na|8p^%`Y*+>=f66`3h*vlHHPN@ z(hMd4`5EH>Gcg4I|N7te|HuE%|DXQ%`v2s=`~Tbjy}|g_|ET{@{-^(c_P^%;$N!W6 zzxlu7|I7ae|33uh$~*sW{D1ZT*8dOxAOHUgKG*Hne+~u~20jKM25ANv1|0?!1{(%_ zh9Cw*a2vFML5rb`L6M<>L7btUfs>(&fs>(+fstV$12@A822O@u;P!?P!#)NvhD{8T z4C@&r7?v`KGR$EBmACv1HQ?1ztPG(H><rEf91PkFTnw_{5ja5xb_N*+Mg~;|E(UW3 z9tH;nQSi-NUJN1(9^e(8@BiyE+ysw;@H5Q%FThaopNApozZiqZe>w1(Q=0$P7*zf% zGKl<FXAt<Wz`*}smVx)bFoVc{HU`oEKmN=9fB9ea|IPnK|F8ac`G53(*#A@i^ZxJo zU-y5{|Eb_!5oi_Jk^lStUjXmnIrIPR|MUMp{lD`6%l`}i-~PY#|KtDr|6l(92_B1o z{ojD$&HqS-`~NE$?*E^~aPj{phHL-NFkJb6i{aw`7YtYbzh*f7|1Fq(^8XWt3;(Y( zTmausw1?sD|7{E}{x4$q^nV(|pZ_fk%-~fii41@L2QmEp@51ouzaztk|1J!#{(CUI z_#eUW>VG1`qyL2r_x~3#-1?uzaQS}#!=3+T4EO&FGkp91@joZS`TrUW>;5}3O#dIn zPz_!QoyQRIKb^tte;9-Pe^&;B|9T9D{}mau{|hsK_O)vLXJF9%|L4EO|8M`D|Ns3T z{{P4S?EnA&xBUO|f8zgN|Cj#%{D0~HzyG)XXJpv&Uyxxt_#`6G+IKsKHUHfiR{!^7 z*z!M!VgLUqhWr2H7{30GWKdx6VX$McXNY6aVJKpdVQ6CDV(4M`_kTLWhyQaJ-u++5 z@aq3UhR^>OGW`9&l7Ww534<KNY6dliWege&OBvJ{W-&-GbTIHR<TL#GAII?KzdLxv z%FX|J3^&2&qH8id{IA7u=f4HR{r}bsSO2>)ocQm=aP+?e_|BjG;MKJ33<v-J`hVj8 zo&P8QpZkC9|Caxk{xA9e@PGIJoByl+Kl`8a|Kb1C|9Ac;{J-@-<^RS13I9+1Px*iF zfBgTA|C9f(`k(lJ?*GF7i~pDYU-G~A|CayL{_h6&cz1%wSRVer`Tx!TPyhe_|N5U5 zd@?gPgA{`lg9d{ngBF7#gDHbNgFS-|gENB(gAao<gBL>}gD-d`ODcmSLq3B&Ln(s; zLk)vHLlc7sLkEL5Lmxv3!!(8nhN%p(3=<jR7`hpf8JZbV7^)cJ8M44FwFq$iqQT$~ z9*YxXaAe?Nuw&q7FlFFo&}U#_P-gi5Uz*`7cugb&!|VUQ{)6V6ZvX%M|1$Wb^k?AF zk(K{%|DXK-%Kw)Cm;M)k?+rikKk)zl|6czO|F{3Y`@h})ZU3$RZ~Slnf8l?}|C9cE z{BQUl{J-db+W)No)&H~pPyV0rfA#<T|9k!y{=Wk5?KS=X{J-x%3&XVkTnwxJOET;P zucDG;c=%tQ;ro9@1{MY-1_1_D23ZDO1~~>>1~rCY1_g#326=`S1}TPV45AEk8H5>D zG6*uPVi0B6%OJ{dm_dT!EQ3751@KBReTHKUrVM)-Tp89d1Tf5FhyjO9H8@mK8NwN| z7#tar8SEJn7z`M~8B7_x8MGO!7<3r485F?d#=;CD(0K%L25tsU27U$}1}=v0|M?i+ z{pV%4_@9Si*MCulS^q^CI{wQsWdE08i2E<i;Pzjf!R0>(gW3Pj|1JOD`)~RmbPmg^ z|IYs>{15!!^FR52_y3Cj-T(XkPyN5(|E&M3!9Apv{}26N^Z&~K-T$xsKlA_T{~P~5 z{(t}f-~ZqLIT^SZgc$@FK%<)S;IfVjT<)uaZ-)B)-;9BQ!3n%m;Me~khR^>a82<cE zV)*|*gMpi&f`N~rok5aeDuV*ULIzESB@BiP3m8loW-wSWbTL>kR5F+`WHNy6gVkj4 zVo+wVVUT68VgQ{uD8gXKAk1LEz|5e^@bAAI!^i(Z3_t&KF#HD3iT?!8IkGW)`OnVq z=079DqyM}Nm;SRe9QZHFu<k!6!;1f040Heg`9I_T@Bh93-~Mm=|K@+y|NH+7{@?na z_W#QNl>g`d$NxX`Kkfg?{{{a~|F8dl`2VE;NB=MVzxDr)|6Bi``oHG?o&Rh8fBwJu zKPPyM|MY(yhO7Ur!1ow@`R~ZU#9+t3%isu}p;cmVXV72>U{GU-VNeJ6Z_5}o7}^=+ z89Er08KyGGGE8GoWthXD!7ztGg<%1M2E%*?C59yo$_z8W<AzEM^$Z#eg$&x@^@P3* zrVM5b<_ww)<_uyCb_^U0b_}2YJ2E`_Z^m%tzXijI|LP0}|En+@_%Fq<@4pzsvHyGw zC&4T5I2g|S=VjRYpPOO*e?joMGv)tf7$W{lGuZx@V$l3A&LH$(kb&dBAj98(TnzvI zF*30K|M;K(|Gob@|1bQv1Ft$>^}qK2%>T3gPx!y(f7}1#|2zNR```Be-Tz7dnHi@4 zmuFb^--u!Te;0;>|NR+`{r6?K_1}l#)_)g<r~mC3Ui`OVc>Ujo;SKl(uTX}2;B)=U z7|#7~W4Qc(HpA8bn;35XKh1Fa|1*Y%|9>&O_|L=m`M(I`&;OE)tPEm|><lc7VhryY zq!=zS=rC+$uwa<Z;KoqN5Wo=05X#`n5Xzvz5C|U2|Nq~C;mv;|hG+jZ8Sej=X1McT zmf`7taq!ulPyeekJo|6J@bJGq!_)sx443`~F&zCL%CPEx97ErK(5lCHhM@l`3>N=m z8D#%QFmU|$VEFpao#D+tQ-;U?^cbG}lV^DOPn6;3KPCqD|3Cjr{(tjd<Nw3|w*PPa z5B-1Qf5HFb;I`^Ea2b8=|Cj%e*)~z|YBUiB1qMY1Sq5ze83rQ;83scJbq3IEzAS?i z122OY!;k;b3=jUtGu-%}&v52{HN(08eGKRRFJ!pze>=nZ|3?{4g3ocg&anSK2w!E` z{r?QZf&V8Mj{iTvaQ6RphI{{4Fg*T0pW*%gPKHnas~Nukk7M}x-<RRne;tM||797z z{AXr(`~UC%=l{R_fBgUR|C|3`|G)bGIe4ZA)O$S#9$^QKtk3)pYFYpJp9#J>U68^0 zzXXHUe+dTp|3VD>|3w)D|MN1i|L0|p_|FE$8vj`sKy|L=|3Clj{{Q$N`2YR?sQ(}S z7yf_wzwiIE|Lgug|9|fP%m0u6fBpad|L^~xlZHVvaXbv56WmQ0lo@;&^cg}JEE%F1 zycxn6!WewOXaD6e7&DYJC^0lJC^B?22s12V5MtQQz`}5e;qU*43@`q_VtD-jEyMNy zFBxwAf68#<|2>8W|F1DT{|`DdZwJGV|MMAs|L+91$+#JU7(^M&7(^Jf7=#(b7(o3e zP6lQMR)&B7fBt6&hs`7KcmQbR`^*3P;F+0&|KI)x?XhkD&%%)TpN}E%zcho*e-#Gx z|Jn>9|BV<}{~IxU|7XJR=AR+MtAAPyFa9YoeElcN@aG>FgYf^q|5g6K{crpK!T*T= zSO3@izxsdf{|o;Qf#*se{r~&__kTWcx)5cMX3%C3WiVwBVgSt``7;PI#50I9_%p~e z1Tp9{m@+tkM?F{>(iq<VFJ-v*zmws@|5*&@{%>J8`u{4!zW;9-w*6;jT=SomaqWLD z#`XXIG3@yNf#KNyXABqqUu1an|1`t%|JxWo{9n)T0eqizGsBnvpu04D7{2{C1)mT8 z;y>s%R6&Mo;JY}48P5KfU^ww#lHv4!DTdSFnRf<;m;aysX9UlZ?)tCCu=Kw*L;rtw zhKm3G43YnX8SMXuG06W1?Q8d8`1{Y7;paaahClyI7&!l{FbMybVNm(c&j7kx)Zsq^ zLp1nYxWE6~{{R0!?LQmCy8nC(yZ=ivocpiBa2>qb33S%1GsD;aJ`7*}$1wc(pUUw4 ze>MXXLoNdcLj;2;gFAy9gF3kW)ni~}FlYGl--qGZ|0M7_s*C?;GaUcFg<;+Q6AX*~ z-(%?i|Ae9U|2u~6|IZkv{(r=<;QtMVHUCdB?Eb%<;lTgp4CnthGhF_k&2a0#C&PpP zMhtiV%P`#iFUWA?KMTW||7;A${{Q~J=|2<0+W&vS<6d+AfBQe_|C|3a{@?gN^Z%Lu z3;*x_zvBOf|C|3W{J;PI)c>ddH~+u&KmY&B|6%|C{CED(&0zdrj6vtW41?N#4F=W! zstij14H%UFYcr^T+pRhbj{nsd68@_(RR5P}SomLwVc&mQhWr1O7=HX$0N;!XI>%m} z!G}SIAqhN(qQ}s{U<y64%blTvA&8-YA(A1RA%-E9A(kPYA(<hVA(z3Ip^m|hVH$%G z!x{#4hJ6eY3}+bl8Llz>{C|_->;D@J&;Orec=7)@!;}BJ8J_&##Bl%rLWW!aCoo+3 zU&V0oe-gvZ|85M|{_8Q^|1ZV>TJ;3l^>Fn+=+x{7{}2Da`+w*EEB`nCKk<Lr|K0x= z{$Kuo_Wx=Br~hyIKk0wj|B3&z|4;j$`hUs)i2rN<d;H(=-}3*q|62d|{8#$F?Z4dr z-T#&U@A$9rfB%28|A+rO{6F{K=l`|;VgH}~Px}A<f7$>4|3T*wE%`6Pu=T$*!`c5D z40r$QGraz9!tnLKBg6my9t?l~hchrUBr<R_WPryI)fqCuYZrqVq8Sny0vU=Jd>G0Y zycrr9oEh2}92sUZm@%wm&}G=qpu%v8L5ATjgDAs81_6dg41x^z7$g|3g3k?5WZ1_b z$FPM#ieVXp1j8%_4u&=c1_sdClhF*X{)0wwH5u;y7X_z{%m0}eF8u%h|I~kGhLhmc z8cYm_z_aJi{vQRe_1*OU?EeM-PyMg|f9Zeu|Lgx#|6l(f`v3laum89I8~?xcU+4dw z|I+`j{+IfH?Z5E<v;P(TpZl-*|H6Os|7ZU@|G)O%_y5iRQU9O*&;0-Ef6aeJhDrZr z7*_mO0k3|$_1}@<&Hn&~-~U4xm>7~6co^~+_!!C<#2K0x#2M-sq#2qS)EGdmjXZF; z*fNALcrf@fcr!RKgfLh!#4%_v6flS}v@ozROksHUe>KD7|C<?Z{XYo4PvrLhV+;@f z?_qfMe?9bE{2qo^{~H({{7(h1FM9ajmf_ideTMh{K{H~U3}60#{r~#^tN+jcKmULA z|NZ|*{@?$<;s34w^ZsA>Kk5IW|E>Qw{crrg;(z7;ng1LA&;H-^f8zhX|5N_Y{NMS1 z#sB*MyZ#sdKleZT|BL?-{}~v9!Tny)ZYE8J!2fy-G5@t0GX85Z6#rLaX#KCwF!R4Q z!^ZzQ45$AaGd%yV$H2f~!XU|D!l21u!C=AQ&S1+B#^At^#o)xyz~IU-k->{$0fQgI za)uCw6$~*9OBqra<}hS4^fTlzG%%Df6fqQo`z2lsZ44$1QyByq<}&;RhsPR*tN%AJ z9R0tBVgLVS41501V%YV+o#DX$Dux69Qy7l^_XnRg3|guE=sy?3+y6iQzyJU6|NH-- zJ^cs%-~GQ4JT7zm|Jwft{%`od>HmiR>;7;2zx4m||I7Z*|G)5m|NrIxTmLWlU-N&{ z|Dyj}{-^vu^grzX$^TCO&;GahfA+um|8xJ%|6luW`~T{H$N!K22mF8fKkomJ|Dbae z8~^h$O!_a)u;jlsc;&>I|K1Ewz~i663_=XP;5yZo!Gpnx!IL4F!H*%7A%Y=+A&DV_ zA&a4qA(f#T>}PL=eg<cTi42Aea~PBvW-%x*tY#2q*uo&naDsuC;W`5s!&3$phK~$P z48ItD|NqCp$ncfn`~UY0-~L}=c=!J>!?XX38Seg{$Z+<5EyMo*xeVL?hk#G=TlQa( zVa0zwhGqXh{@?Wf$^T9N&;36Lo+a4*|MLH>|8IcL;#>ItF1QqJ1FsT2|3B^j>HiV` zkN@}kf9Ai}|MUOt|3Cb1@&C<#o&Uf8EBt3*kp9ojAo8DsLFB(MgT#M62F3qU495Ru z865trGlcv%WJvgL!BG0&ouT8uAH$sg5eystM=>1z51NAvWBBwxgn@+t)XxkA*Q+`V z5e%jbkqovBF$|szehfhjZVYJ*W(<W4It)z=Y77$?<QWz)NHc6;5N9~Vz`<~p;rsuW z3^)IOW;pPlnQ{4lcE(Bnc^I4ivocow|ISeM|0P4s|0@hl|4%aX|KGzf@&9Iqx&Ie4 zEdD>4Va@+ahRy$D8Mgm-V%Ym%oniNXLGV4?`~H9Uf8hV)|GU9!8qWV;|Nrv;MgNcf zU;O{j|JnbygJ&WZ{Gb1S_5Ys#+yB@8Kk+~P|IPn_|KI*M`~UC1;(s0nq5ldD9RH0N z*#EmR@c$2Hkolj=VEI3XA?SYz1L*#TrvDWT6aSYpEcsu=u=al$!=C?z49EXhGTi)M z#qi{R1H;$<tqi;jT?|qTy$t#clNjt7rZTuQOlI(B=w|R|XkZ9pC}0R=$YO|Qh+&9h z@Mp+paAK%uFlLy-pun((ftO()!>9k38Sejo$#DGt7lxhxnHZP<|IaYz{}+Zy{~s}Q z{y)yp@_!9O)Bhgu4Se<gLl_$WTQfBLS7iX*&{zGRiJ|QOpZ|IP-~7+}|MGwK|11AX zz-xxL{crfc{D1rZDgP(@@A^OMf7Sm5|EvG6`k(WE{r{Z*yZ*=i-}gWA|MCCc|BwB5 z{(t_z@&D8RHU3}!FZKWafByg9|Fi$+U||2R$iVyGoI&}2AcOh;M23+6`3#x=OBq`J zS2N81-^#G=|73>U;MVmzh6n$5F?{}iltF;uEQ2D$83s#+(+r*r2N+@)wlHKcEMTZ) z=whg4C}fz(5DxBltYR=`*vz2LaF9WY;Ua@D!wm)=hNlc1;4^q$G5r1ik>SVxHw<sU z=gPiiIQIVq!?OQ(87BQd%TV!u7ens<RSYTrCo;tTZ)S-8pUDvWKZGIXzb!+;e;I~^ z|AGw3|G)lE{{QTM_J7a`{>T1T{NMAx_W!#7t^XJP@BKgR|0M7UbWQ)4{;&VP_J79z zJ^y3=9|4Dh>Hk~*CI8?1&-VZ2|1baE{(trF_y0%#xEP-QlVEuB&y0cfzXyZV|4at6 z|J4j$|0gj-|6j(C`F|fn(f{)d4gc>mbp3zKFz^2hhE4yUF`W7TnBm#~hYbHgC)F`r zVNhf^%b>?_j=_N8D1$Y_DF$nXT?~#4dl`Hf)-VJztYt`Kn9h*F&<hTy$qdm9s~PMV z4l*b(Tw!2lc**ec{}+Z+{}~v!{Qu1`_5TNk#{Ul)^8X)WNdLcqA@2V)hS>kr3{n46 z7^45XGDLv)8%Z*_{^w#a`Tyy^>Hk;%b^l-gZ}|Vrf0O?Q{u}(?`d|D1ivKGASN@mz zKmWhf|E2#${?Gp}_kZDk+5dC@>;Iqp-{ybk|G@t>|FiyQ{BQdo{(s4ThyREF8~uOs zU*$gwgYti628I7l40_=4!yE>m|1}Kp{~H)G|MxJ|{O@Dv{6Cjr?*F9>8~*QRIR5_- z!@d7^7=HhM#K6n&l|h5yFX-+^24@BqMt_EX43P{Bj0p^188R5&Fr+g)W+-O3&QQv5 zouQ85Bts*^35FJijSQ0*RxwOx=wn#MP|2_oe2$eZ!*&K0hMf!?;GIot81DUF$Z+oe zRE8t}TN!r!uVz^PA9O-&BEzizfec;$Z5WFF>o7$Bmtyev&%t2x|I>e?|F{1e{Xg<w z=l}ZudjIGB*ZM#CzxMy`|2qHM{u}<U`ET>T?7!{*qW_-%GyXgMPyO%tKl;Dp|B(M4 z|9$>@|9AQy{@?O{#(&fQwf{~3&-!owf8&2Y@L5%l{#XD1^?&kzK8A(=Wf(U6H)PoM z--+SS|1gHr;L+I@hFAaRGyMI(1zalXFq~lUWjM<a%W#UJn&A{f7sFA8c?^3Q)-r5i z*ut=aVK2i%hTRNv81^&FWZ1zli(v=DbcS^dQy4ZgbTe#bXk^&MP{6R4A&KD#gAc<= z24{w247v=*7~~lCGVn5NVPIfb!|><-42F0AI~kt;FJ!p!KZ@b<e`kh+{}mXv|L0;@ z@c-TaY5%YO@BF|2fAjx^;L{n){@4G{{$Kn*^MB_5wEwaH)BXql&;0N9KlQ);|J?sJ z|I`0F{?GpJ_&@W%`~STEF8>SvyZvwcZ~MRdzvchs|Be1{`EUIH(tpkWpmC3n|8@WW z{BQD~mBHmd7lY4#QHI$6k_`F(H5l6d8!#;U@5ZqIKWJS`76T(gE`t_BGlL65D?>a( zKSKe-6ov+d*$iC_ix?&|EMS<+u!Lbg!#svX3^N!OF!V6YWoTuX%TUcQi=l{N4nrEl ze1<TFB@Av1YZwd|)-gyiY+>MK*un7Y|6Yb~|Bo@e0OJb`_x_(`c=Z1i!_EJ@7;gMu z$8i4tB!-j!>lya_k7d~M-;ZGhct@-t!?gdO{!jRS9lVyj>HkLX3G0RbXa3Lr-}gV| zfBXML@EK(l{}cb0{m=Mc`ak!7+5gJ_#s9nh=lq}bKkNVI|6%`+{}1~A_`lo#xBuP# zgYK*P{onULBSZNA-~Z$P|Nox`KD~#Xq4+;PL-T({hOYm540HcGfp4rl{XdoA+5db7 zc7|34Wri*WD~6d20SvPk;usb(WHGE`C}G&ZP{FX3p^jk-Lj}WXh8l*I422By7)lxD zFyt~!VJKkeVJKy&1D7LB4B-qt49*Pg42BF78KfBc8H5=oF|adCVqj(HXZZiWnSqg^ zis9S;Oa{=&+b{lmF+BKh#&GSw8pDzQq70k<|NB1=+)q3GzxV&v|C9gE`aki1@BbP9 zoBvPzU;ls7|Em9!{@4GX@xS{2od2!==l^g0Kkt9<|9Str{?7!fYxzI<KWNOW=>NR` zS^ro6&-lL;e12EP|5N|7{@?ju@c+U8s{ddAH~;_lzvn*>!}R~+3@iRiGaUG@!Eo)r z4*14kZU$!tT?TIkcZOhwOok|iN``ob2@DAg(-{&NmN3LHtYZjc*vR0`u#Ul=VKsvZ z!yE>EhA9j>3~dYs4Al(Q43!La4Al%S3@r@y4BZUY43iji8D=u5FwA2RVpz_=%dm>! z-+$2QE-M+{|6juJ`2P%soBz8QPW~?i@6Fuv-v->X-unM1xIMo4|Caxo{?Gis|9{Q@ zUH^0bAN`;7|KR_~{|EmE|3C0Q;Qyij9{*4O2ld4~{@?o_^#8^G@c-}sC;tENKk@%} z@IB0N|5+KL{&O+-|CeQO|F6d2@!y!i>Ax9+=YMMkm;crbzW+gYCfG1UfKMQ>W@!9x z&amXaGsA)ZUJUpCCouf{pT!`|P|KjlP{-iP(9Dp?(9V$0(8$oi(8|!wP|Yxdp@Lxw zLpH+{hA8kU{7npI4CM?e40#N~40#Of4A~4{{#P)({9ny*@qZt~k^d7JHvXT^u;TwT zhWY=eGt35`g*cmG*8gb?^Zw6ZSO7kYx}IU>|73<W;Jv9P;Pu!G!MnxZ{O|pL_kYv> z<Nq7}@BClzf93zI|4aVI{Gazf^#9EN;r}Q8Px{~WzXF_I+WxQl-}V2<|4ILE{h#vx z#sA6wfBtX(&&W{sUxcCLzXC({e^Z9M|85M0{{tE7{>L(O{ZC++_&=Rt*8hBl`Tq+T zR{gJF*z&)G;pqQLh8zDI8D9QxVfg!h0{A3HRfc&Cb_}Z+!Wq^v<TLDIXkj?aFoEF= z!*qtr4AU4cF-&AQ!_dxfh@pvLB||yGRE83U3WgkpWQJS@FNS>ZUJZ4I8t~cw%na=e zum86(+y&n$+`_O6yyv5tVgCO%h8h3s8T$U0GW7pXXK4N(z|i*J9(>|<<$qCzlK(&d z=l*~7KmY&b|2hBn{xAH$@_*6)>Hl;7_kvGV2bC4^|1<x`{!jlO`#<A<+W+GJx&Isg zm;Rsdzv=(f|E>S0{-5^0^Z%m%b^o{gFZ_S@fByeR;Ptmv{{<M@{!23S{MTZb{9lJ* z+J6&<dH-#}yF@qr_h&f#Ka%0j|8$10{|gxe8JZY089EqT7-loXGR$QtV_3n^%CLxG zCc{dGISlg{Rxr$FSimrmVF^P!!*qsPhUpAd42=xA3=IsK3>ggZ3@Hpz458q23q8So z+$aWhhByXZhIH^c+eiQN8P5GLWH|W0h+z{HZ~ULmu=al(!^Z#K3~T>eGOYTq#xVcC zFvFDp|NgiBfBV1o|JDC_|4;k}?Tb$MzxaRZ|GEF;|9AY)_}}?I=YRG8%Kz2>JN{RJ z+o;R_H~-)MzwZCO|84(I{;&9d>VNV7tKc#s<Nt^M<^LHO%KwWnH2+s(X#cOz(EQ(w zq4~cxL(P9%hPwZ@3?2XN8D{;rWmxmync>KPZ-(>#0~sFwPiA=kKbPV6{}u*LhJFSS zhWQMt49gfy7&b6CGi+c8Vc5VB!?1=SlVJrz4#QN20)}RWEbttX7egq68G}EA7=sf7 zCxa9C{=YZ>T^OGH_h7j9-=E>e{|JWb{}UN5{!eE(|38i4<o|5&{_Xw$6B%~@4`A2< zKHuGrVfBA=hUx#682bN<GZg)2XGs13`@cVURP)Jy)Bkt=tNy?7U*-S#|MLIO{a5*a z@V~+TZT}tqFZv($f7buZ|5N_gfKN=G`G3{_+5b=eU-JLK|5g8g|KI#ym|@3%Rffa= zO&AXScVIa5--cn=e`|&v|4qQV`F8%-Vc79si{aFNBZjO0Eg7EucLT2;WM(K~5M}6P zP-a-mV8(Em!HwYtgFnL?hH!?T45186j3Eq+j6n=+jD8G%7`zyMF}O24W3Xqq%wWT? zhrx_t5rYv!Cxb3S4TBy-3izf>Z3Z_6eFkF&9R_*uiXlseAOCF_Ui^1sxC6dnGKAsg z|6qoD|3era|Mz2f37$330^c-s8hrlF_5U;epZZ_-f8+n8|Lgt-{9pLr`v2VjM*rvh zSNlKxzx@B{|7HHq{xA1`_J8I7OaE*AU;f|Z|BnC8|F{1S{(tO$>i<LkEB_z=KjHu3 z|I7a$`@j4DQSf<yxBegb|Kk6t|L^}F`2Y9+;r~nwd;aq<9QZHHuphkUMvmbs_>3MM zhTs2983Y*|7}Od38EhG%83Gt`84?)E7(l1R<}!3M6fsO^$Yq$vkk7D;A(dezLn6Zx zhERru3?2-V7;M0&w}VzYq%eS1Zip~=flu@hXRu(9W-tMdt{O9_GB`0PFt{@)GK7Io z`ch|zWl&)VW>9AEW)NYpVBls@X87`-o8jUApa0MOfB1jT|11C3fKL<N^?%m?E&r$f zU-f_D|0Vw?|DW=|>;HuRJ^$<f*Mo0q0JYRA|M&i{{@({)SJ(T0&Hu&!5By*I|Lp&R z|8M?3{r~CzoB!YbfAIhP|L6Zd{(t@d<^SjZU;cmb|Kb1p|8M_){QvI%C;xB$fA#<2 z|4;v4{r~s>|9^h){tnQbiU)%YLn4DcLj{8?LlgL<dMAcf21kZ^23Lj}25*KkhA@VF zh8Xa8NB~17gAGF_gC;{VgD67?12cmc_<Xrn|BV@5{MTc6_FseH<$o21*Wg`CN(>+V ztAkg?|M{=Nz`>x(z{{Y>z{jA>0NT;R$sh<m*X-B-zyDwU|MdUn{}2C<gIB~o`oG}+ z?f*UhFZ^%&fA)Xt|9$_P{_pzV_kYd*zW*!!&-*|3|JwgE{_p!g>Ho$5lm0*dKNURM z%*U|&zXHQ%@R+b3_>_Sw|8>D@c%J=N1fLb~^FJr}Of?>cU;m{T*cj9pe*HIP;AC)M zU}JD+5Mpp;kY;cL@AWrguxD^!uwrll?|-xfpKz4L;KoqE;KNYO;KoqJ;KoqF;K-1{ zV8sy1V9H?2pvR!VpvAz=0NSmk&hX$r=q53J2GH5>`~Mp=?D%iZu;;%8!?ypn42S<) zF&y}B#BdRO4uTlNz5k#S^Pc~I`~U3!PyY}6|M7q0|3CjX{{Q`d?f<X;H~)YCf5-nv z|9Aes_5Z;C<Nx>k-}`^(|Mma3{9pcm)&Keb7yX~|fBOGv|NH(=_}}(_(f{86>;Cuu zKl6Xd|EK@g{%2s=_g|3V#D8Um3;#74F8|kOxb)wU;WGGyD|Lpe|HZ*Kia-9(3!V#S zX5eKIV&G!XW#D44Wnf_lW?*25XZZC$li|<*0tN=?3T<(QDh3UPQU)W290nJL6b5gG zREB7VWQGuiJcdw)d<GAOGVpnsnhXUD0t^`pObn?Eul`3dJp3QVaN)l{!|DIt49EVv zGaUZ!$8hq$7sI*#pi>!w8SefMVYvU_o8kF?XNKqC9V7}2Z~k*LeEJVs+42m0Cd#M( zd;Wj;zvTbx|MUJo|KIcf(f{uMpqq8?{xAA}^MCgL+yCSLU;7{T|IYtd@V#Yk{-^%` z^*{4JFGIn9d4`hznha(C%@}I`n=w>^M^|haI{!N|O!)7_u;{-N!<zp#412(9z)Tn} z{Rgd@H)nYC--6-Ae`|&>|7{o;8JrpT85|fC89W$F8JrmG7`zz57@Qcw89W(s7#tZ2 z80;7t7%ahU@Cghm3{x3Eck2B8Kat_%|9*z6|7#h}|F2-!^*^6s|Nl~kwf`#_cKmN; zSoy!3Ve|iK4D0_-W7zP2GQ*DlJ>Xl6_x~?oIQ&0`;lzI*h714g!6$g!_^-uq?Y}fQ z)-L~NW4QSL>;IGgU;RJ&|Hl9Q|Br+3INbAp_Wy(byZ#^kU-<v@|J46i{s;em{6Fyj zr~lsn*%<=<%P@rh*I|hL@4%1(K5Zm~A?tr6L&5(<hP?l&3`PHQ8A|?VG1UG~V`%>$ z%h2~fh++DFFYvjdEB-q$Z2WJ}u>ZdU!|DHS4EO%KGrR%MFL*HUF$6HkG6XQ_FvKyK zGQ=^sGUPINGvqUbFqDD!u0$|oFeETUGDI?1G9)pmGej}`{h!G25`0=wCc}pRg$%R* zS21*f@2Br(s05$F(#}x&zm1{te=S4n|0;&w|Ah<-{--l+{2#-x?|%rxrT^{>SN=OO z-1%<|UVnP!zYxR4{|pQ#{=fde=l}KpyZ#^kzxMye{~P`<{J--56mXk#$^Yj6EC1L1 zU;n@Q|4#4-TIK)S|4aUV_+R&*gQ5JtBt!XsQ-<vSjtn{fqZpF^r!b`cFJ#F4U&2uI zzks3ne+I*Z|49tX{)aJa{T~EQ$v6JHf#=6R{I_BF`rnq}-+wy>2Jnur00v%$2nJz> z3<hb2d<Hd!Dh6$aat3pTQU+^=GzM3OXa+w97ltqfONJ;0C5CA5s!>LU7=~~ElNlcV z&tbUuzlP!P|2Bqo|EDo5{6Cjr(*K1F?f;j7PaSOgzks3V{|ts1|GO9#|F2-!^go$l z?|(mrQ~#|PF8<eKxc*<7;p%^WhO7VC7|w&|UH<+*`Tz6(BjB4{?txdJpZ<UJ|AqhS z|DOYww*CL_{qOky`hUy+&;MJ%cjvG$H2h~{sQ53;Q1D-xA@9E~L+XDkhV=hl42l0E z8B+hpF=YNvXUP4Z%TV?|hoSs`Aw%2$42GWnSq$_3$1`mFpTKYgyecl5;qCtj21bT( z2403p262W623ZEs&c9FwEd~z;69#JrD+YZAdj>fMCk8PFcLo*)XNLda6KFgc-u(Au zxbr`X;l}?sh7<pD7!Ld|XV~z+8GL@@wExo>dj8L5sQW*iq3-`&hKm2w7#jXhXK4IC ziJ|p>H$(gX2JksUo&U2L`u}G!bo~!znDpP1VbXt7hFSj=8Rq;KU|0_B>pl9v>;J|7 z2mkN?e*%0;H)zM$;{SL4FaQ7g|MLHz|F8Z3>;LNiTnwxK^D->{F9$w}WXgXNhVK6s z4DJ6t8Cw7Qflp9u_#eU0_&=PX>3;-6*Z&}f3IBr`X8-qRSPEVv7tF91d@ffy!{z^l z3|Id*GTi^)44x4Ho$dDKe>cNNaND(pL6{*Ie2$woLjZ#&g9C#OgBpVt122OP!?*v& z43GYsGF<s@&2ap`2gAPqJ`9`x$1|+@pTV#Ud_Qg_!{YyC3@gBCBA?;V|3Zd~|1%gK z{!eFk@jsE_)&DStr~iW(Zh~{L1;Z}zsU#{4bN?$a^#2!SX!|e5(Da{`q4+-=1LzL5 zy#H_im;b-^zyAOE|I`2P|G)PC4)Fe#r~fzn|NDRCe=&vy|J50${I_A~`0vTk@;`*3 z;eRwk^Zz7<*8eFCz5i1gru~m&SO`AH4Ybo0bf<$Q!`1($4EO(AGCcin4L)Vz{r@0_ zum6)6KK(Cd`1Zev;miLnhTs3EGW`8NlYxU_4g){KTn0&onGEs_eGEzrP2kl*pw-&O z3?2-iTg$x|6d9r!1Q>D{e*JG^c=f*<ytm`r|CtO2{!e4r`M;ZC)BhHRE&q!ccK^>| zIQ&13;lh7Vd)15K(SK)#$KbOyKrYf}xCTBMN{ivde--daAfS~&yZ^H=tor}w|Kk5I z|4;va|No@_m;U$sKmEV^|Iz<F&^GCm|EK;h_`mo6^8dU3Z~DLD|AGJ0|DXTg{r|=P z>i>WLm;V=IC<X5ovt_9H@5NB}--n^|zX!vl|E>%R{#!Dv`ESaw^S>^`{{OlR=l^Rn zT=;Lw@Zi4{!-M}W3?KjdGkpFZz`({3#=yxC#30EK!XU{I$e_sJ2gdRYE)4PvZs4}9 z0E0OLBZDOaJA*C*D}y$J5Q74P9D^W(9s@IYZCMb*i~ku6_x=|#T>Ia|aP5CP!<GMC z40r$cF+BL+#_$|`zGoG~oBst2um7ij*PA~1@6K@lzYW9f|7r}^{tGc&_z&7`@ECkX z(_ZjCkOTjZf=@Cz{Qow1F7L|!xBu_{|N8&Y|KI;#{0FV%=U{mBpNHZ0e=&wj|7E}{ znveX~X4w7Th++4CO@>YXH5fMhmtt7?UzB0_e;x+Vjaw`K^D?aeFU7F?zXHQ?@VP9` z4EO#AFg*L8#_;)nJ_BgK7-+|nI70=40z(mlHbV+{-Ms;W7lS5)HTWJ?Q3hcK9`Fv; z&)}UAObk!|b1^*sFTijWygpHt;pBfEhO_@Ipr>_!PK456c>P}+++O|vUyXr>L6d=t zL7#zx!HnV0e`|&h|1BAA|2Jc}^k0u*=YJ)JE&oLrW`cLge*EA2|IYtu|1bYv@&CmC zt^bewKllI8|HuFL|NroR-+vZ{J^$Gmc7jj8l4sZkJ`2{IVaI<<hF$+%84iF?YIR^Z z``?7&&VK{&$u&R!3o$S-Ffwp6fLI^FyYxXVSVe|U|CJej|5sq(WRPKyWDsM}XAos@ zVi05qVUS`-WKaUHc}Qch0^iIP%;3i0#^A_c!r;ar$KcGs&EUrH?Y}$2^Z$MfxBdq+ zocSNmaQJ@`!=C?{47>hkFzo%G%CP@`EW<Hy&E^U|gX+<L9flA8)fj&Mmt|mO0Ikm! zV-RH!Vi05C2A`J24_yuP_y5)Z@BSbC|NQ^%|BwIg_<!&J+W$}gZ~p(}|C0Y7|8MyJ z{r}4UjNqMz>;4Oa_t3BUug9?Dzd6I)|2_=U{zou${!d|O0pEw1&d~5bhM^OD=7l@M z-2YY#tN!bQ*Byg)Eu4g&F>~$z$N#tgfBOIA|L6Z-{{Q&T$nfvK1o#94E(UuBUIsq~ zVTM=+K86ei0fsyV4u%2-CWZ`#U;pD7K7mjEabvjo-;&|te=~+d;L~Z17*_pv0^ju7 z`#+7L^?xNp)&Dkzs{a!h%KuM>&UAD!O#a`@u>5}m!<PS*42S<0Go1UM&2Z^|6vHj> z{I)5>`Tq(G2mbRg?Ee4Z|Cax^{%`)j`~R;0Oa34D-}C?K|Em8F|L6Vx@<01OGeiD= z4u<;wpi_Rt7?%83VOaNHkzvn&6NY{Ntr>Rx4`A5(KZ;@X{}hHr|I-<!gX`5~hPMCl z3=RLI7@GcvFf{%5XXyOz#nAoViDBk{M}~R-%^5a<M=)&|&j0sdxclFq;rah4u#XuT z5*S1n5*ZX2LK#dLJQ>^>EWmd)q%!a_<S~2)=l5cUC;xL9?)}eXxc5Je;l}?ohHL-R z8P5FAXE^r1jNt%yuBDIR!2g*H2mjA!IR1YQ!@2+S7%u*w%5d}lWN<lh`+qgV+5dSA zm;T2v?EfFku<O4w!@B?W3=972G0gj~%P{f3B*V1-d<@h7|Ng)9|MUN#8UI874}ecv zeExsY|NsBzf%m_F*5L{>RDjzYir}-Rll~hpME^HsNd0flkoDh`q4>WJL-T(HhR*+z z4AcJ$FiiW;$*}N07sJB;tPJbG>o$29wt`PFRbtrt-wfPdJ^VkK;qd=thExB`z^A?3 z{$IxM?0+`H&;Q8`+zbH>>I@DHW(=U!)nedNCDIu_{V!m6^1qhh%KsLIv;QYD?EgQ5 zVdwu93>*HhVp#QmGsA}es~I-_U&*ld{~U%x|EDut{NKZH`+qCL<NuWmZ^2=j%<%bt zG{f`%0SwRodotYmZwI~|{lI@6hAsa==RWc=EcyTM|NQ^Y|Ihz_<Nvb%NB*z+zxV%+ z|EvFl&L6n;AG9}c=Ko*+XM)d`5@qQBFU<g&KLFj1R{h_Dq4IwSL&5)WhW!6w3_1S; z88ZI+G35MrX2=AOty(jb{I_Fh`ESfH;lBaH67b1Sx(vtu8!%k{Z^8gtmGa`h6T_eX z9t>;@z6|2vRoS87eS<a(Q4C%TF$@6=VGMx`{tST(&J6wxh76tzY77Ak0t}uE|H1ys zWVrCZnqeRK{)2@K3;*w6nDKuf!^HoG87BNc%+T|HKf~nzTN$SOU&S!}KWLn}fnnkQ ze1@g}eHd2$w`W-UUx8uWe=&wl|Ns2o@c-@q?f-B5-|_zxI0TOV-|+v)|Aqfg{9pY4 z;Q!hG5C32EfA{~z|9Agi^?&#O_5b((U-SRO{|*1|{9pP1)BpMZIT@z@S7E6CZ_H5k z--RLNzb`}d{}6_N|6vS)|DzfF{zotb{EuUZ`yb1Y@jsTK=6^iH#Q%xl8-6zb&t};F zzlh=7|4N4I|En3E|F2~D^1p<EjUkUg6nvI$B!f9a2zcMRCxa7%JA)B;1*RK=CW8xu z3WF<y3WE!S41+I&D7c1BWBBvGl;Pd~R)$Ca`xvf+_nIzbIPrf8!_ogs7>@s+&2Z@d zB!*-E+Zp!#uVmQuKZ{}G|3ro*|3et2{r6#L|L@FD^WTA?<i9>c_J0+I^#8mJY5)KH z&;S4Cf5rdn|2x1V9-wq`@c*X&2mhb_zaM;m<J<rH|9||y_dhekzW>Y&yTNM&L8TBc z!*+08D#)<xzc|Cf|DdzUbQos;H)fdr-=1Ome^-Wi|NR&i{tsYS^*@?n$^Qg~W&g7n z=KL>Vm<v8PrIlgP|6YdG|EDtS{XZR?<6r)t&hY*JbOr&2ZU$+FdInvFd<GMSXa*|= zKk%Lp&`5{_gEE5)0}q2Y10zE)!{`5T3@`r2FgygG)dnhCiWzSF&tbR@-k+Yza1~tE zgfg7`9||59IPl*ST#{}0Z^JO}zX`*V|7Hx6|LZf%_^-*({$GKi^}i59^?zoD^8a7{ zmx5QLU;SVD|HS`_{|Em!{Xg=5;{QYc7yUo^f9wAf|BwGa{{JrMR__1%|FeNl{oeXt zn_(IFR8BXBDgS*KrvCQ>-^>XLi#h)-85aLH1fPt(|GzfFssA<%SN~gp&j<vK1V8$p z!0-TiCg!vM#SHKM*D!qeU(4|Oe<K4kLk$BjLk)u<c-LDYgCs*11L!75S%y#sRq*-# zMhwmjQVbysTnrfu@BddZJow+vaP0qNhF$+>GOYYRi(%3K84Pp(_cJW|-_Ee&e+k2u z|EUan{`-JWXg&U4gW&}D3`ib^J^#P`-|+w2|E1tjkhlM*{D1v_>i<vwyZ^uc-}nF5 z|2FVyeP)Kf|6Jg+ndkrKXISwcbcz-m!;$|V|6c{4Dt7Mw$NvYwB{3hv-2XBRo&R+i z`oaAfH-_H-ehj_;gBWJ~4`rAQUZoVtu=0O2!>0d<4BP%EFzo)H#Bk_;3d5=YNemak zr#)qZd#q3XmomKnU%~MCe?7yG|E=KG_}~A{41fPuG5iMKTAs!5<9|4~cgMk?%ODQE zQ=65+nc?IA5Qb;}QyFgj&tf?HznI}P_%xq%h9m!z7*6~TW!UpSkm1mOH-_#1?HD%x zH)mM(-<V<Ae<Oyz|GEry|1}uu|0^+6{}*Ct`p?S%x=()U|F8e&{eSm=A^5C{$Nv}o zzx98~|NH+Jfcc;kJih+l@&CvF{r{O6uK#Cd0G)O5{r`{u><sU~D>ya5C(IrDZ^dx* zza_)L|CS7U{+lu!{cpf<;J+>d=!_*$yY%>fBZf2otr#wV&#@0<xc@($;qm_phS&d_ z89x5+X87^Hn}LO)oq?C3i9v>;ib0j347_vSm?4M3lp%q^m?43|kRbp(=V{1b3?4~# zV&G%&W%&0$lHtk!c!rDMetjClw*SctEB?nYtO4Js;Lfn_zbnJm|N0EO{;M<W`!CLL z^gkQJ-v2-U@A?1Y|Hl8f{xAD~>Hot2XZ}z9f8zhd|7ZU9{6G1>`TrU4IfGUIPyVm| zf9`+N|1<x){$Ke&`~Ow&eCJW{eMA?)C+#tT&&l2TUxi`ie<OxD|6Ld+{dZ^R{U69M z@xMRA<o^K-bN+iXtoZNCu<pMT!|wl%3<tpHXBsoy{tsFut;_K1zXby`gBb%ag9~{7 zo*Y9kgC;`^g8@T2gDpcIgFQnHgBwFFg9}3kg9AeYgCj#DgAI7qR2+jlg9AeVg91Ye zcs=R;|LqJX|4(LE_aAhR%o2ua{}(gN|38~y@&6u%)&J`lw*F6J*#18ld}ipL|0)c7 z{!21!`_IU*_W!s4E5RoLT?Vf#o%Vm<|Jna{{GS58du#pwiT^kKp8y^$-Tc4%|Azll z{_p%h`Twr}^Z)PszXn_jZT)`<e45PK|Np^f3C;U&#L)HMi=hL2x^p%|#s3P1n*VtW zjsNo)djH2U%>Ez2u=KwN!^Z#44150DGaUc#z;NTgC&Qcn{tSQqCopg`q%w#z6f?*& zlryL@R5R!>G%)BhR6=*~6foE`WHZ=<M^xh&0vN&>q8NO^JDUm_bQvlbq!`-4cPM@M zKat_#{}~Jy{?BAM{C_^f&i~UH*8ZOczJqAd{~Crx|Faq9{f}W-@;``S@qZhJmEhW6 zoMHKYR)(ejKmT9!|K9(_|IhuO_kZvIx&Jr)pZtII|H=PX{O|g|@_+yTmEf?L^ncC& z>HoL=U+{m^|Be6G{ont8<^Svd7yN(ofBt_)hUxz$87BT$W9a&C!BG3(mZ9puD?{FY zdxnbt4h)6=Ef^aATQM~Lw`7>`-<o08e;0=3;FDZ~84mpqX1Mb|j^WAw7>0lUQyI7! z;u+)^G8l}(Hvwld1TrKsgfOHtq%b5fWHDreZ&NN}$Ysc5NMgugh+;@*@L@=2Fa_V) zl?y&O1k^U${(lO?oc}8r`u^`?==gt%q5b~_hDra=FwFXYm|^+<H4K~oPiNTuznbAV zctpyJ;lzIvhCTmf7`FW9U|9VB?f)77@Bi=pf8u}p|GnT-KU)4T{@?w7_W!Q`{r~&^ zcmJRCzxn^<|Be4={IB>w>wnq*#sBmEZ}?yE|H%LB{}2Bc{r~en8{Ag4Wk~$*#}M{E zi^1=IK7;-LN(P(%6$}>tix?dLXEONxk7J1W@5503-+`g^zahiI|LP1I{wp$^{;$CB z_`eFnxBq$!ybLxB5)9r9Dhx>sI^Z&*mcfdlp23}=j=_haoFST_06Ys*$Pmp?$>7h> z!C=oYi$RlNIfDSh9`O2?8~?8{9Ql8jVcq|i4D<iLWtjZ`D?`Ws_Y4jHUolkuzs^wk z{{%zX|Md*D|L1{ku>swQG6Q^`y&uE6{}v3}!FwkK84myd{(leno}7pO*Z+U;fA#-M z|L1^DLD~0z;{TohCxFiYS@eI||Ed4C{%`+(`hUg$2mf>b|N0;MUzj1}zbb?Ce`^M- z{|*dV|GgO0{(CaW|MzB4`0vZ0`9Fxk;D028>;EK%;Qtv6ng8<{O2K1?1q}WF^B5NW z&th2jKaJtg|2T#-|Kk|0{|{$)@;{Q{_5WywZ~vnh*um#m#DMQN&|^qpuwqDMZ~~7t zXE1~@q%$NifbQe7W2k44Vd!RHWth+K>i<fHyZ?7Gocn*8;q?D23@83SWH|c&0mIS% zHyQSWZ(!KTu<8F2h7JEGFo5#U{Qv0;6aI%X^nq``0p)l_hROe>7^eN_WdNOGvkZLl z+xPz)|G)je?*HTe+rTGTT>8KJ|B3&H{vZB-`2YU@Xa4W}fBpZq|Ihxf{r~Cz>i_Hv z^ZyGl%=oVaKGn7MzcxeRe*=b;|3(Zk|1B9J|64Ic|F>m`|8K&O4Q|6~GIadcW0><_ zi(%b=V{i-L(tmq~2mhTJUjKImpK$u?zZU}&gC7GAgCBz+Ll6U~e3fGeW6)&?X3%B` zWUyp#X0Tu|XYgc@W(Z<nVn}9q@xPqm!v7YAL;vS6?D@ZhVaxv=3_JesVc7crFvGV0 z`x$or-^;M)|7wP#|5q@a{y&-F+W!`Y8~;lg?*30;xc@(h;VyWrOrPP-e<g;;|M?hh z|L0)1_5bVtOaH(8Kl1;{|Gobo{9pI~#{U)IlXA}eU-kdW|MmY*gJ-SI|KI)p_5V%( z85rjOS7n&~-<YB4e=tMw|7Zr#*)ZY%vl#;ZXE6l)Pi6@G9|^v*EBU`2L*9QwhWh_% z41ND480LZZBnmKW|1S!j-#z?am|-t?bud4}uK)btGa*m^mtna2Ux(rGe<KD^-{#wY zXNF(@y&1T{tx;PBIR-5TRR&20ONM{{y};w4r~el*Z2jNQu<-wUhKc_-Ftq*O%Fy_K zD?{!7O$^QdmoapK?=9;9pJll7e>}sn|A7pb|64KK0N*jB&hX;DHp7empwk&a=RayO zeEP4)@aex6!~6d_4DbGHGQ9pT&+z2GEW?xk+zj{rGcnx%|K<OK|4;ru`+x60=mshV zhBN;K8BT)FzOiT6^gn=M+5ZHFIp7iN0)~nIYZ%)9S2A?{Z(wNuU(7J!e=)<%|EUaX z{zrmubvg0hhT-~u6NcOWK`xPJc=2C~;pKl(hIjvk7+(GtX7~iY<xrmC9r#osErv(` zjTs*P*8}g|dHG+5;T8DIcR2<o1_1_PhJXJR89x38omSz%aPhwv!><3444eNaGA#a| z&M@zP0mIb)Sq#(v=P^wGpUg1*e=NhC{{am1{yQ-&0pErO+GQZku=l?R!|DHQ47b52 zpMLrO9emC_=$vTKi4Kqd|NQ^zKS&g`x9;hG9)|n>`5A8g7iW0<Uy9+ye@TY#|HT<t z8F(0k82<d1WqA8vh2akPJY7|WWB;`ncK%mm*z;ctd=BHG|Aq|b{u?qp_^;3K?!O@e z1A_qrJA(;>7=sCeD1#w`G=l+yD1$141cNezG=ngMI)gBSAp<{y9Rp~52y{j@KZ8Ak zG=m+36!_+2T?R=8H3m@zc?LEHX@(#F<rp6Smj}<K?EP=Vu=&3O!?OQD3@iV~GOYfe z&9LEr62tEQ>EKg0&;NI2xb$D0;mUtehExB)|3CBp(f@t_&;LLC|LFe%|M&hs^Z(%g zbKo(t1OFfX-vyqX0?kmp_`mD_tN+{nKmNbz|C|4-z;g}X|1bFe@BhO8{0wvcD=;kh zZ^E$fzdOUC|G^B4|Hm=R`k%ls<9{l{<p0SG6aObMO#C0gFy((Z!<_$~42%D}f^U90 z{@;}0(SHMmum24hco_^CWEm_Nv>2=zEEt>^%)z}_R|Y%qnK|wZPT)Ncz6_xA*qj*r z8SEK+8Qd5=!J+{Sh76GmQVgK;fpZw1gKr;hWZ3b)pJB!S84R=kFJ+kWe=);kFrLFO z<$o8$9PqulNepxUyD`lFZ^W?RzX-#U|Lov8cG>^C|5yCK@PEVqqyM-5KM0=1-t&Lo z|3m+G|KIn2|NoQ!xBWlxf9L-b;I_uP|A+oB`@jGHQZRk;|FZvA|F8J}^#7{=KmUWy z-UN-8&G>J|(DUDgq4vKYL+<}DhP3~23`zgv8M6MTF;x9eX6X5!$gtvn9K+%N5e$$1 zM=<>QAIc!i;Lo7M5C}d2$dtjK!3w+<#Gk>H!I#06!JEOC!H2<{!HofQ6A5VaG@ikm zA%Ve_A%(%6A)CR9Aqm{}P-RGFkYY$;;ATi?`1e1D;objIhKK(<8P5L)-Cw?xVb%W? z4D<ePV3_!S2}A$?*$jRE8yP13PX)Jx=Kq&vfZRz1I+0-e|4siFfmd5@1D`R_`G42{ z-v8VF_y0fif71WG|NH-+_&?!4XqEwlL8rN#0JqqC|6l*#|NrU#3I9L*pYs35|B3$@ z7&`y|{onAP6?FF{L)L!*hUEW(3<>{L8B+i2GNk{v1GmxI{|7QG_#eiw{eL9GmH#me z@Bf3&bB<;JtyFPjh+v3dh+`;Xh+$}8NMh(^h-a9{kiyW;kiyWwkjzlX5D(rpm%!l5 zki_7~5YM2;kij6ukjKEqP{r``e+R>d|1%h#{$I)P@c(Xx>;I22T>XEM;o|>`45z?% zfgWHu{eL~fiT^VgPW-P2*Y11&yD_Z$ufeeTzc9o6|G)pw`Ty+y^#9lX&-#D-|GfYE z{xAN&_Wz3iOTjzqH~gRYe=9hQ+WznQKLL!7{Gb2-9Qc&3mH%J<Uk*O;kdtBVe_@91 z|I!Q%{}mb1|I0H(|5s%2{V&Vl`d^vB^S?5K&wmw$wEx-+rT<kKX8qR(uc12q-<09W ze+Pyi|6Lil7$U(ZhN&=QGUziDFqktGGFUSdGx#u+F!(d%F{CgQFr+f1gTteYArQP0 zq>;gtp@~72p_M^|0dzxC8^agyIAANo&Hob^F8rU&aQOdXhCTmRFl_q2kzw8c%?zvl zuV+~Me>KC}|Fal2|L<bh_CKFt=l>A!XyxAjk_@}SBRL=bZ~gxiJfgns|E>Q!|KI+< z<^SdXJO7{kzZtv|1T?n1@&6(4eAAr&$No?IfBJvV|11AH|3Ca+_y6Vp%KzW~=l=iq zKM}kRm50IezZiqde@O=G|0)cY|8*Fw{+lt_{C8$>|L@EY{NI}){l61K?SEH>{{K!4 zE5T>idox`9@5k@~d>Tn0gAjv1_#OpS27d-)h7bl5@R>(Z3|0)`3{DJD40a4b44^X| z-5DIgEs!_{ZH9CPHHKOS35HJaUNJ_7jSQdv?`L@Q{|dv||F;?T|9`}=`u}}~1^=%y z%=&+vVcP#K472~wU|9IS3EbaZ_uq?Q19;?8iecM-KJeL=2mZ4#od3_j09scDI<MyX z|5yKSgV#CT`+xmE=<bPI|F8VN`TyqstN(9;Mb7=d58k=G`~TDb>;B*UKjZ(~|MmZ0 z|4;q@=fCfNHt?QPz5j{~vi}VjRR3EtX#96(u=wxB;P>B;A@#o(Lld~B^Jdub-<#q3 ze-DP|{~Z{9{kLXdV=!UhV=xBSH{uK?3=#|$3{nhcP+E^cnn8_0i9v=zjX{{fn1O@A zf`Nm<m4Su98@#rLjUkqSi6M)DnW38D_x}kD-~KOT`1F4p!>j+h7+(E9%5eYxeugLi zw=&%Pzn<aF|0xXT|2Ht4`=7*c^1nNH?&<>g-dr|@2mk;72b}}^4tydBXoc7P|KI=L z`Tyhp?f*ai-~IpZ|K0z8|KI)3%W(C-0K>We3g8o$H~-gWSn^+wVcLIn2GGrs75`-z z3jT{TMEw_L2>;K^;QODK!RJ34gYSP%2A}`z3=#kN8Djp6F%<llW2pSE$uQx+J_D#f zyyd?s!?FK*443~KGCcpU$?);N76T)LCipy483ru|bp|c)?tLQ$RR%`}2?l!xeg=Pr z|Nny-KK)N%xc5Ju;p+b)h7<oQ820|}V%QB{1GAc8^Z#uOoBkhV*zx}a!-4;27>@ow z$Z+oeW`=A3moVJ;-@|bKe>KC+{}~Lo|3@%f{qM<e{l62#jsKPm5C2;+y!mg=@ZrA^ z!%y(-9nuWH{_}u$u7Cai9^Co@rIuI!FaCf1|MdUQ|M&m@^MBWW(7tK`hGqXH80P+0 zVd(#_!_e^Gf+6p}9Ygqk4+ii5J`AS+{TWRD`!lHh_h2yl@4{g5--aRhzZFB;f6&cn zRtz)#n=`EcZ^Hn(QSH)yBZkZWbr~LjZ|sm|c=lg{;mLnthS&ck7~cPv1m8^d^S=xO zGXv;85kc_zB;pKg450fkl^Op3*Jb$p-+<xOe@BKJ|NR(F{7+@r{=b}I`TsVCDgP%i zO!_~Cq5l6IhR*+!8Jhq1GEDqm$1w9hXb(&*!^ZzE;Q6f6|HT*{{^w+P`Ty^K1_sa> z0$=`%F?|28!0`3IJj0Lw@(lm~%Y*IbV-REDW#DHJ1fPupx(Vms|G(gqjXwPct;)Oh z|NH+_|NsBr@Lzxd)Fx^DZ^lsk-;*KZe;h;N{~U(I{}l`w|LYhk{<ko+{%>NK`@a#q zvI%r2*OmW?3{U?DFnkBEi7{Z{W>91h0iSm(z@Wkanok6+!2{j7^YgzV!-xN>4A1|| zf$zBmoqT@dzdXYw@QLpV49EVfG93JG%CP;vBg2OO;S9_ECxOoxpY*?oq5ppgL-YS) zhNl0Z5t$T*ivK|j<^P=-s{X5i*E96~|NDQ=|1bYn{D1v_+y6J<H82<dzyE*x|LgzH z|G)eH>i^UKpws5Q{eSfT-~a3XSs8Bs7iKu~Uj{rEfBL^E!>RvH;Pp<&|NDUNKic!( zpJDxfZ-yoR{TQbG_hab$AI#A7KboQbe+)zA|15^a|2YgT|0@`#{;y=1|G$A@^Z$B= z!~d%pZvC%dc=bP<;s5_k1}=tJ1__3E26={X1`UR225p8Q22+MW24e<i23zo{g=!4$ z3?dBf41fRoF+Bh8&v5p?AH!a74<UeI{{LWxe(;R|NeoT@Ga2gt7ctcRFJ-9uU&>JZ zzl5Rue;z~W{|ttb|0xUw|HBya|9deM{I_8!_^-!M_g|Tz^}hnc?Em5nOaF^A?D)?G zzPaP%|F8d#{eSWQ(EmsOxBtKSf8+lf|JVM%{C~s$bN_e$KMNjBzxn_8|9Afn{QvWR z=YK(lP5)&WmjBlW-%-~6-<zTKe=tMd|0IU={}~L4|H~NS|5q}k{%>W-{ol$^_rINC z>i<rLrT-fl_Wy5YI0e1~GoRt*|1^d#|3euV8GINx7#tad7_1mX8LYr30E5o)F=Mb| zuxGGgaA&Y&@L{lI@MbV%0L{JFGe|O6FmN&$GkpDT3|_-=`o9Omj{lJii~grEO!{BN z(Dc8Cq56LZL-GG+hQj}i40->{8H)aAFqHofWvKk`z)=5Ri=pMeG(-P?7KR!B|ASZh zZ2JEJJd<+t|J(n^{=fTw4BT1=-9Pp0|K|Ts|8Mz!|NrLyxBqYbf93z4{};gR{G;Gm z2GA)}pi_Ug{(t#@>HlB<r~emZX#KCjQ1Rb}A@hGAL(2a&hM4~)3~~P(8Iu2ZF_ir8 zWoY}~$FS^wKlsLpyZ<{F-u`c9;AJQUum90tNMKN72xl;2@M17z@Mf@La0ahObqAkz z>BJDgV9gN7U;<w8;18bPmt^o{;9+nBp9c-v@&EOID#Ppl`3$%I*DzfEU&nCde+R?X z|BVc5{`WA<0=G$98G8R$GPL|JV(9%J&(QrpjA6!q2ZmYy4H;JcS7g}uUkE&xef&Q& z!|DGF3>W@?{eR;B2k^><t^e=*U;qE&|26+XJGS@z-~4|U_~y++|F`}>{(lpAFZb2| zEB`<JKNoxh)X)DF;FE<V7()IlGWh>DV{rcO#NhTnh{5fDB7^_`9ERBc6%4umYrvyY zQ~ozIto#q!k<q|#@qZckzNt6=GZ_B<Ph;R>NClsIZN!kl;J}c{5X6wd5X+FpkODpl z%99}tyuMHsJiqM^o`d3IaAx=eK26z|;pP7rhP(gM7%u%UWjGGr57y7H`Ttag_5bHG zEd4)^Vfp{54D<i@FwFm7$uRprXh%vI!_5CK4D<e5FwFU{$*}mp3d4f`(hLj#i!)6B z&&M$BKQja9e)5k0FaNjvzx}`W|C#@jz%!TI|F8HDYTs}Azw7^&|9k##{12Mb1f3~= z{r{Z*5B~T5|NOuHKLbP7e=+cR76Jb)7(D*_GPwT_VQ>bIA?7iJ|F31p_+QUZ_rC>P zmVj1_9{!)jaP5CK!wc|PYe@{83^5EM3@HpM49N^y47m&@4CxG(3>geI3<(Sl3}Fm5 z44`>AX9jBqTk!eXRt!1}HViThUJPOk!3<0ci45QWXMk^^z4yNsye8=U|4#7DwFm#V zGwk}`z_8(e3B$VoSq#hn$1tq@AI`A;zaPVn|6UAx|2s0A{%_52?!OVkwf|ZSm;TE# zocS-xaQHvytS8WEao_*1`v3VqsCB;d|EvE?|33tuqQ3q=XkEnh|Hu9x2j`*}|Cj$~ zWSIJ20NiHJ{jbRo_g{}8;=d_F=znvD*#Axp$^X3=D*lHuwEa(JSolAOVblLYhEw1c zKoP_9|K$uH{--c}{~yo5#1P29!r;mv!T>s3-U@sYxDJCkgE4~zgAIczgFUzxY`|d8 zV9H?4pbuWPZ3VugN|M2yfuA9i;phJthByCn7#{yGW4QXip5ey-PKJyByBV(h?_s$7 zzlY({|9XZC|BD&U{7+&y3Z9d4WZ3%Ogkj5nJ%(lfL3gt&GA#Ws$*|<VG{f@$5)4cJ zOERqdFTem=(X<x4s{7ObUH_l_-~IpQ|AYT8{NMZk?EgLgkN)5O|H%K{;9l{D{}=u* z`G50&&;K|7YybcHpZ1@dA@aWjgYSP$29N({3~v7&8N9*c%)tzq|6>?x|0gj_`k%tE z=6@!51<$4bX$+wI*xvn*W%&F*l;Pk1a0XU}Fa|z`aPV2catt91nhYKc+6)d1`V0mP z`V1Njx(xE*v*=YAq!{EFB*C|#C^CpKXfg1E?@YC4U||Sk`1?PW;oJWl@Z9C&{|yZH z{`WGR``^rP`aftNZV|)I|Je*H!FQj6W`=ATmj5?oSn*$rVa0!ChNb`I7?%E*VVL`0 zh+)Qm9)?N(|ABKr_y33g`~Khg-~a#Y|0(}3{-5>#%>P;cFaBTh|MLG;|1bUD`v2np zqyLY9R|P!yzvBPB|Fiyo`QP&Y@BfPbybM|Y6&Vu$>oFw#cVI~P@5@l|KN@`I;pG2C z;1!Su|5q_w{|~w`teD}~|7?bT|5F&a7$U&yas?QC7(^KY8H5>J86?4{!P<dWpsFxf zF{m-vGiWeaGiWndGH5cGg75p&WYA{NWzb+SU{GK%XOL%bU=U&OWZ-51&1QmDrR6a^ z`(Md$>wgi$mH&kdC;z8_Z!bRh-<#nGcvr9~!;$~S;M<`N|JP<X@L!8zH~2IPEr!ki z)fiTT*MmqhEdMXau>3y<!>0d#|8M;N?f;(t&;B3$e;0g);l=-l|6l&U<^T2nYyRK; zKkxs&|MUL8{oe;ZeUFu)<-Z6+*MC)p&i}>?lm9z2%=z!nu=0N-!_NQd45$BRFkJgz z#PIrmCc}sSN#HryzyDnr{{6RNU}Df`U}gZ_B&7{Lg_DQD0DPvPB!dC?>@8IW6$W(% zIR--p0R}Awb_PR+KmWBEzW>(+k1&1wZvfs0^yR-3!|(s@4B!3-F?|2;2fi`v<$r&M zhyUFeuKu@SIQn0oVcUOshUNby8Rq@xW0?A%n_)Ki%s|i_3=?>MdgFg4hTY)%xqtjW z1g?Ldf@kkf{J;GF?Eee@&;393|NQ?G|3PgK5PtrD|NmG2_y7O?f6M=W|5t<eVT&?M z{I9{#2i`Mg&(HzBS<{DM;{PCqMgQX&HvP{9pXqSte>=n5|C1P)8D=u@GE8NVVwl1p z%h1B02tGk8i$RkioI#txpTP`VVi+)3gZG4pFjz7OFqnW>SF$mvGjK2{F>rwIRh9wo zYvEwfWMF47X87~pp5gO<Pljjz!x%3Ak779eKY?M(|7eEo|6>`J{10GQ`QHP4uiL!; znhcZwi!)64&&|;CpMjzE|F8d*|Nnw_m6!hi|G(n@zyH<$|NXE1{~df9C+Gye>HlB- zU-JL?|MmZ${@?Zg;r~<rpZ>q}|IYtA|L^~Q_W$Dl=l?JK|M7p{|L^~|{TBeA+7GJD zC;j(fnDjrAVe0>KhB^Oh7?%BSXW03_li}q5c7_-KI~czG?`05W=w^^$=x5Mn=w{Gj z=wvWtXlBr4sAW)NsAP}>-|JlhzLf;DVvL_5g@KJBfq{)7gn^a8gMpR7fq|PrkAVw( zVwg08AcHW21OqpNJOc}Z8u(_RkN@o$p8WS=xbi=c;qd=hhMoT-7}kR86JPM|@TLEC z80P<1WSI7!gJHt|AOD;GgHHZ__P^@?^Zyn9Km4!y|MP$Ge+Gu~|LhD||5+Jw{&O;< z|7T&y`p?Et^8e5Os{h~r_x*qUe<pbU&_nR~(kK332cQ1=?ElICfB*0J4_XVO20n3R z)&DSt<^OXS*8i_$*z&)LVIR0X+R1SBe*?p-|7{FE{<kpjGl0(e=wi@jXlF2BsAsTb zC}Xf-C}OZ;$Yd~O$YL;L0Hu?325E*&1~G;da6Qb;5XQg(-Wvv*#kXb<VK8QpV9;QY zW>9311)rnK!=M1ZWAy8PRfdQEH5jgfNB%Xz<6!gtt24~{ufZ_kzXHRg|FYn_8Cw6d zGgSZo|G(z{m;Yt|-~X@t|LT9~|L6ZJ|3CO&`TybnivQRCm;b-?zx4lw|7HKr|1bZ4 z@qhjQTmM`CU-{qr|JMJR|F8XD^#8*Djo`NG;r|!@ANYUo|Hl6x{;&DZ$gupsC<EyB z^0ogR8P@-gVA%UVo#FWZLhwy!xBoXWJorC>;q(6~48Q*`U=U<j${@zDoI#ag34=Dn zA_hZ-X$<BJ{R|EaEey5{RSYf+r3`iqISf_|DGX)|2@Ki{(cqIDl^7BjWEc_|<QP&I zq``NRM=&UZZ<ups&;jo#1eLh#42}#x{`)XI`0vGV`hOV1zW-hf>;4BZtoU!oF#o?T z!>s?x4Bh`l8QT9dFckm){y+c!yZ?#*U;j`1|LTA2|9AgW|G)d6{{P+o;{UJySNwnV zzv2JW|84)D{qF_u4tw~2=Ksh4=l;L?fARnG;GJ`;|8M=j;{U4u+yBq~zYly*L+}45 z|0n!sWa#}b#xU`}A;Z-FP7HJZ2Qw`BpTw}?e=5Vi{{;*e{+BR3`(MrQ=YIzSH$xYL zJi}xLb%sd{dJIz-^cW^HXfsR$pHwN$FpWWwVG08mLmvY(Lnrvw-hcl~8UFq+VgQ{? z$HS1pAi<EtpvsWQV8{@`V8IZ;;Kbkz?&J6~=rBZq_kwURq%wT{pT_Xue<s7_{}~L2 z{--i*`yb7)`hO6^{Qve0Gydy<M>^a7bAi)H@&8}{v;TkjpZx#l|JeUu{)hkn`9J9Y zhyNb`KmB+8|N6hv|L6Z*|KI-~^#A(*$p4rA7ydu_zvlnp|C9gk`9Jgjj{ocbZ~njI z|3>f~NVos5`2XbpLU7NSi(&46Nrt)qwHOxsH)2@v-<4s_e-DQJ|HBzh{SRlj`#+Z9 z#s66FZXP!99f2tfk_^e<HmL+d7K0!|9s@r^4TAtf1N4;WUIq?^$qa1Zn|`K&PncI? z=w{GiXl5{D0G*1P#o){k&fvx1&)~&i!w|+`%n-&P%aF(*#E{DH`+p|5PjlmcF2jlc z1q}QCXEJR0pUAN3zaPWO|5glZ{;M)9{V&Y0>^~#JlK<cTFZur#yo+Pm|L6Z#{D1y` z0T@5~Kk@&w|2_Yo{IC80@PF0++yBe|U-)19|M>sf|J(j||6lcg!vBT;=l-Akf8GCS z|9AfH`hW5Nl>hhsPyGMo|MdS%3=94XGc5nF%CO<TKEsaxt_-{XgH{zpFr5A$!*Kh5 zBE#eVF$|yn$1pH6fO;T44B`w<3~~&X42ldE3`z`o3~~%c43Z4S3<3-m3@i+w^V$3u zzWfK>OPj^;`+qqD7egb16hkwEF8DOI28LjUT82c1JcfLRWQKBv5b(LdjSN~0wG1K* z%?v;P*E78S-^6g^e?7yQ|K;GbrMCQ!V%YHClVRn56R=Ac{TE@F|DTIt@&Et-m;L|s zfBpZD|2O~t_<!sF=inO}SO0(hf8PHO|7ZRG_`m!AxBuP$KZ9?DYXAT2fBXN(|3Np% zO$V<^-3lI+Kk$F<|KtCs{=fBq!v9DAC;Wf+f5QKt|7ZPYWLWT@mtoC+5%3E6WB=6{ zuKYJ-c=+Ft;q8AbhVTEa82<jZWnc#1SZT%Z|3BzVRvU)5|Lqx`{C8$}^xuu)F1Qp3 zWw`%88hppc+y7|{zy9YkFfgPturs7Gh%!VnNP_ppxH1?rm^0Xe*JCO&gfS>EBrymu z<TCIw6f&@YZ<GP;6v$%u|38f3`+p~fFaPzyGo+9H3ou*(pU%k2aOgiX!`}a_4BP&5 zGpzZ~&9L@A55xTbybN>yvoTEn&&Dw0KQqJJ|G)n)`~Us_I`CM)L-1a^YyVIGzy1I4 z{}=!F{eSs?=l{3=K`XvNw-_A!54uh2@BgF!K_}cXFdX|2T6M?3aP~ht188^JUGU9a z|Nj5@&%*HQKj`K|ZU!a>Q3h5935Gxabr^p9*I{@K-hJ-M@Bo~@q8J|kj|T5=fAc>A zyqD_Je;0<I{~Z{Z88jIL7&I8<7^E0986+4i8HB-Ssr!I;iv0T@#_;=p1jC2_(G0J_ zvtYpt_y7AcT>Wnko;AMkUyb1c_!cxC@a<lg{(t>{?*G^S*Z;r#f9e0n{}=wh`G4mB zm;d|zfBnDf|F8dR{{Q>G>i>Um&9U<Tpa0wcfBC=v|C|38{y+Tx;Q#Ia@BUu~-*L&# zaN<8d!}0&(4Ez7fgZFUk_^-{d;lDb=mjC+Td&3X@*8$%}clW;r!<YY>3=9mK4B`x+ zn-X;xlo<>d<iRIJYcudNs4#Fcs4#r_51PZ)W_b8tpW*g@M~3VFeHbqMj|T4wyZ%3k z;mQ9f@O{4j{=0%l+SM39cQ1;7N0cHMzWh&Mc=A7+;p+c9h9m#W8TR}Kof%Zeu=0Nm z!_xny4D<h|G0giP$}sc44a1E8ir_Vq)Bb<@KjZ(S|MULe{J-M=mH(^%-}%20d@t1d z|LgyM`@iu&3&WcKYz(Xa3xZdiuldi%unD}v^xyx3|G$Grm+$<4^#A?;8~^|O2gUuN z|6&Y#|I0FL`mfKh5q$cuGx!AH4gb9vw*B{I*!JIxVL$jDM|XzP|AQE=fOp>bGrauo z#qjAr=xk3PhCly7H+=<z`*h!-{r^|s-CdwN><bt!{x4#<`ahfD^#3G=oBu-@ZvXcM z-`x50zbOMRgBF7fgDisqgD?YVCoAY~7tns7P=?3<;}|aePhdC!Ubi2{u=&3)!&>mE z6NU_P{wp%f|1ZQa?LP~{qW^#X&j+6d|MCB-|L^{<{{QCx%Ky*7XV!swX4}AHLbw0# z{r~9yf&b6`pZfpx|F!>r{y+H7#_;(+2gASrYz&}NTtyjv{+D9-`d^me1^9kT1%^BS zRl#c*Zh}`I=rY{<ugh@%zb?be|Aq|j|C=#<`R~NQ%;3(zz!1a$y32-*A&P;6A%Wrl z|8Rz%|3ewR{tpD-*!%gvGsBPn)(pS?gKo<+VPIh}W)Ni12k)E{0pCC&#~{ui!~nWy z6f`d&!|>_9BE$Xv+6*`U8#0{yZ^Ll-zbnJO|L)-NjcwpHmX-`_{~I!_`!C0^;y*vb z(*OVeFZuue|HA)|{x1RF7k2*tivOT<u8)Jq!a$>6pt-rd;2!I#|0n;S0^gT&{r`#o zxBef8w%8B<fBpZ&|DXT&|Nr;@7<g5$EW_#lS_~)u+cAK4wVnarIho9G>3;#k?f=CL zcmEeNJpG@`04fWA{s-M=6vZF}o}CY4P-6%L_f-tRYmD6)v>2Qjlo`AjBpLj{JM_63 zA{qD?Vj0*NlEHUdaxug)h%f{($TD~^Xo1I>H5t4ZBp5;&I2f|PCGGS7RSdWPmopsy zU&^rKe=)<-|LF|V{-=WXPd5MeWvKaY&QJk9fmMj1=KoJ{J8R1S3;*Z+Km32g|DFGL z|KIWd@c&)^PyIjq|J47}|3U5WL;r96-}nC+cno#t|5yLl|9}2}+y9sUcl>__E=A8n z=kH$sKllIV|I`0j8TS7dVA%6tjA7S*Ifl*u6&QB@S7+GyUzcIee*=ai|INTVT|qs| zhyPs}K&N$pPPOF#_v!r^q!~av0=*gJ7#ta7z&&+G1_1^;22KV~24)5q21W)ihJXJ( z85kJc85kMd7+4tW8F&~h7{nQLz_+z(F^DjzGjKAPfm71Q|DaRDeHiZl4`sOeKat`5 z{~YiMU&sHKgWDj-|7SCt_#eh_<i8`s;s0t32mkXhfXdAM|L_0b`~Twq{r?YxZ`nKi zf6xB||F`@<`TyYm)BpGWzwrO$|11B`|G)MhbRYC{@NTAu|9^mQ^7;6miQ)Z!&@Gz( z|Ns5}^*<BCNARuhoD7fub1^*r&(8q5Y3JsDF@`h$`54ar7h^c_pPS+Ie*uQ`|G5~h z|L117{a*mQ4(K!ZqysqyVes7qdJIb7y9q2Alo{+9WWeDATA%B{APl~_-JC&~!H7YK zL6<?2L5V?%L4iS@L5M+vfeUn&+kZ2LkN@o%Uj6rGxbr`Z;nx3DhExC3!E<+e{%14n z{h!CM<$oB%HgJh%%&`5xGQ-~gJPe2b|NnpH|HuE={y+c!=>OCIPyXNi|LXtU|Ihzl z`Tz9)wf~R)gJS>u|2yEjevbaX4z6Jj{J;MH$o~ibkNto4|M>sU|4;vCW;phrgW>dl z35Naur5TR>S7F%u-+*E7e=~-?|D71N{dZ&7@!uVMqw1#ro($Xmdot|&@6E9PzZb)q z|Go^D{(Cdr`|ri@_`fs5)BiRM&;MI8-2ZRHaR0vv!*%eP@YW2s{yQ+-`tQ#0?!Onq z*Z;u`{0xEM{g(RR@ppFyF9s8a5C(nlO<V~K0t_h(KmVsQyaSK1gZ9~0FdX_{%dqo* zEyJ4sP0;$Km|@xfOorwE0~yx*cVXD@UyEVae<g-p|9Kfs|L0~n4xVvhX1M&Hf#KGF zHikR@K{qFIFg*Ov!f^9HGsCU_zy6>9|KtC;|L^}F2bUU;z$M9r|5w2GXn|TIFaGcO z|LOmZ|9}2({?Ej)<v%~e`u~y)oBqo)to*OZu=>9?!_xn{42%C8F|7Qr&#?TzIm6EX zrr>i>&;B=KIP>3_;R<-Z(wO1&e=~-Y;L|DW!K1sNJ5%@kcVyW2-<;vtf6%HhL-2lx zC;zn=-u%~P`0`(sft^8-fr~+gL5V?<L6t#-!G?jK!I6Q3A(Y|Q|0ssf|5F*B{?A}| z@IQ;;=KmCiEB|8|u7bw_>={6JDBt`q#c=aKC&PpPfB)b6|Ly<d{~!N90pD}}?f;wq zfBwJ!&&=@YKQqJk|J)2;{)28R0G$T`x|Lao;oE;P@H#C91~~?121W1~3_pW3187E* zkAa(kjo~l&c6UaGhyNMDtNc%c+hQCHd;f#h41(4VN-`YyFVAr5za029j@$p`7#{pr zV0iXln&Bz<EPPPypv-XhzdFO+|Edhv{wp!u{4d9F4Sa5fF!%-~&^_CrJPEpG8gxI; z|Nr0rb1=O5F9_brdHcUA!;Sy?45$BFGMogD1G+LC29F#2G8_fp*zCw~^1m^|+5hSc z7ynBzT>H<(@aR7)!}I??|9|-Z>;I4cpTIX+{rms%|F8ca{{R2~=|3aG+y6`qum7_$ zy!y|`@ajJ&14!)qe=hK8DqIZw44~OuQ3eqP0R~A1(7hxq42lfD|En;3{;$LE=Dz{> zJc~#F?HHc_cV~F?-;3e-f6z@{J`B(QyMfyaPyd@Sy!fxiaPPki!>#|q44^w9&VcVI z=V3SszIR)J;naW7`61d2xBlxhy!@}r@bSMk10#bP0|$dLgE)gIgERwZj+cQ!mEqHW zHSoDGSO04<oc?bJzIA!ye>;X%|D73T{s-;Cab@WG@66Eh-;|*lyt7Z7q5VH6!({N? zc_037`Tz0%ng4IVs~JFH^6ft}!+-G2=KKu*{tGeu_%F)v=|2y{v;Vvd_y4mqT>j6> za2|X|H4DR)|J)3>{&O%q`_IAf{yzu9*Z+(Rj0}JNb2I$;FUIiUzY@c@|C-Q~Ys?w$ z{kH?JB)Ib5pW)(vKZZ;H0~oG>M=@O)Ui`Ob_yj&vTa)4Ee<g;G|E0il`FH<|G28;5 z058sP;=c^TzW*`|hyN=w9R07raN)l)!|ngF46px#!e5esg+Us;cNP>kpgU1Ob&M&) zzyCH2AOCwWJpS*=aOuB4!;$}94BP*EGOYV=$FTChG5DOV_5Vc}w*2R1*!TbE|D*pu z{lEPG+5emWAOC;w|Iz=4|DXJS{{Qv=*Z)8K|N8&`|DXRk82<kU-QTUoz{Ft8z{Ft5 zz{%joz{}vt0BRFUF!(Wuf@fMC7`Pa87#JBqD>lR#{{0tZU<TjC{`Wr@!{`5k4DbF+ zGQ0uL%4;*c`ESbb^1m6w=l{kG-~a0{{Qob<z{DWVz|O$Oz{bGEz`?-Fz``KJ@b|w2 z!<YX`46pwyF}(b*&G7iYI>Yn->I_f+D>A$S-!{h2@aF%&|8M{Q`u`T}>ev6@{=fJC z_5b_e`{955zw)1j;p~4d2GDIB$Nvj49Qn`3aPU7b1L(%;ga7~jKl1<Qf6y5pXZ}C` zfBFBN|9Agi0N>X8@&Eq+pnWS04Ez6cf$IuTn!Wa)li}`vW^j&r_y6<%AOGL{|NH;_ ze>R4X|G60$8AKSk7$g}a7?c>47*rVa7}UWx!do#YGdMBGGB`2FF!(WuGk7zIGWanF zFnBX?F}Q-yeqvy-WngD8XJBH`VPIyEW8eYrH)m%MVPImAVPIeYt?p1|;AK!{5N1#T zuK|){P+-ttP-M_%P+>5D-e+OJV91~eJ&jv}!G=MM!It6Qe<z0T{~Z~g{C8wH``?=3 z@PBiLrT_IAKqD}n|5X_p{>w1b{1;`Y`p?VI2)?QL=YP<OCQzGd&;LjNZ~VXc|H=Pb z|Nny5GTi*n&v5-e55vv>Yz(*lGcerv|Kb0=|F8bv{C^kR=6dk|=Kp8^@Be@G|H=RN z|KI-q`2WNIxBtKY{{U`@{QLj>KLfZ_y8d5?;lzJ=hLiubz%v=3w(8mc&J1V&dox@F z=NHhe?*8Ca;*Y?s1TBVV|5d=Jo<I37!0_fjKf^<Csi*{Q??3o&$#4gJYcXh6Hk9G} z|40TFh7fSu6m+J6DtLBIk3o|`1H8*!he3z|lvhBvjJq(r1fSpyI-4yNJf?gCoNt^M z_Wn0y*zsSUVdsB#hTZ@F{y+Ht)&FzgR>r;mp!?+B|9=8rgUrnE`#%c<GXp1sD0tls zBZD5pzyD?oKmVICeEV<4@cq9b!^i*n44?jMGQ9t<#PAk;Kb;Ub&45bVKj5792E22O zo#6(!Z_mbX;y*jX;r|>Ad;aq=?D{Xru=~Fx!?FKj4CnsKGCTmU%a&yL{a=KE9XvWN z&A`PV$H2h=+FcLo<7zTI`>)FI_`edv!~aSQPyWj=y!#L8p@=dtF@SO==xinq1`!5U z204cR{}mWM{|DttP;beU;lh72hGYLt!8fRG`LDyU@xM01+W(5+9VXlVi!to~FUWA} zKQF_b|I7?e|1&Ur{tr5Z9u&t<{(t`uYIWZH|KtDt|G)m<{r~6x+y8(6zx@wd2gJ<4 z$iU3N#lX!Vz`z4uxdX~8pmw1og9?KvgE9j@gFXXjHiUt}l;P8VeTFySmGPzwxBr9o zp<6SY{_n(a_`f~Fk^lA#2f%yjK==R3G93CZ!f@_C6X>L4hTH%D{s*}Xltw@y{p-Ir z!~g&0;Je;HV`owf_6*t#)(kq}yWy1?Kr8Od82<e?Wcc*oh~d_MU50buQ}950_>CB5 z{<mW2`ESe6{@;nA?!OyD<9`>1y8o^Wt^X|<+W%WHO!=?FFz3HE!|MMk;Iwk~zbwP; z|Kbeq{);nw{V&4s`@bj{fB!GW@bSM4!{h%F3=jWHGo1M^z;O9L55uwl|NdY2|L_0V z{~!O~{Qvv^{r?~Szxw~{|L_0r|FbfD0=FGB81DTyXSnd+nc)z)Z|}#j=6?volK=h; zi~jpFEd1}vu=u|{!}9-nU{|dBFUkPAA!+M>28Nyg|Nh_mpMe21i+<$4IKyG^$|p01 zga54<j{kRKIQQR!;TE{g_GS3;-<5%x!JR>n!ID89yv|#l!GuAc!JI*m!HMA?_#{9d z@W~mM{|A8gF6{Xq#IOUrL(Q9E!+#5gjsMLUwuAdD3Je$jOEEnB54s;pn1O>qfI*x= zl0lw9fkB2rhe3wHoPm$Qk%61Rli~M&e}<p`gBafZ_htC_-;d!H_>>Y?hByCh89x2D zVR-xBh~dM34TcZ@MH#;TXJz>I|24QJ`~N>^m*VdK91Lszb1<v`-$KpHu<*YK!}9;a z3@iRiGi(N*ks-uz@IN2Jx&Mp|Xa6%Z+y&PPzy9C(|M~yL|9}32#?X%cXJt6?Ux;D< ze_@7G{}sUX?v?+F3^)EuGu#L7Cg5Xu@t=+1<^TWxKmY#@zJrU2;pKlOhCBbo7(i{# zi~n^P&iyxGIQ!p@;lzJuh7<o?7><G0Ggva5|F6$*_rD6mqyLiN^zi3DCj&3|WHe3& zNpPD=1UyeJ!Jxt*#9+W60-htcW#DD7XJBJ+W#C|NVqjwMVqgdNE<G987+e_G8SEIi z8B7?2z@sqY3<?aq4EhYe|AS7~Fb9uoUH)&taP+@6!;b&z46DJT4WOA)9){)r*%?;+ z|M7p*|6kxcD?z=f3;!7zuKX8Zxbt6z;og7HDT`(dpnmYv|85M={`)b!2lru|7`}nq zD_RVH{!23a{4dV%_dg56&;N`JObj3XGcthgTe|X}m*LERVTNu0g&8*emjcfSEr+gM zSoL3uVe5Z!hJF9#8Ls}9WdPl|_xZmD0~7dsI9&z-1|tSR@VZtjhClyJ8Q%Z5X1M>~ z7<_KXx&QhMSHPounhaO}t1w*pufcHRzZ%0GaH~?8;lY0ihG+i;z%c}>alS*>-hplh z;bu7UpPympe<6mQ;C_rK`0S4j|3w*gg3rR_V%YQl|Ns5}fBrx8|MUNS|G)h|{QuYg zt>7^OF@|mbRTy^vH)YrdE^k~JPXG5}xC%b)*oEQUe@BL||1BAq7)%&g!Smc248jab z3=#~|;B#_R7<d>|7+AnDqs;&sH3Ri>UjH`&hw=mPe4Przz5j9ycmB(R$C5w)muFyP z0L}lZFi0{eGsrR+GAJ;ZF~~5uGl($+FbFe5gLkZfZY>9$!ok7-+W80?vGQd2@!x^r z{eL5d&;L~z-uxG4`0$^F;rag$|6l(Hwdl_MfBF9?_$-xI|2O}C^?xn+c8D+FvjIUj zu<!ZL&Ts_W=jUcP|DS{58u%_#Muz+U|NOuC|Ih#1V48v9>VH;->;JhJF8$|YIRBrY z;o^UO@LjZ5{&O+h{LjvC|NsC0um1o3|LOnN|3CkK`437PpgT$g8Qy~Lg;fN%0AKt! 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
t?~;z&c(p+@;@v1=EZ0K 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 T7#M={(@M${i&7cfkjw!9t-Q5n literal 0 HcmV?d00001 diff --git a/Assets/share_b.png b/Assets/share_b.png new file mode 100644 index 0000000000000000000000000000000000000000..00b856761b7ecc3af8a0df8907642a3805cf988d GIT binary patch literal 589 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZsBOiAAEE)4(M`_JrWU|`@Z z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=ifvh#|v8}I)0fq{X6@t&uPV@Sl|x6|!2gac)c z+iUvji8`ro?5Zyac%k6Y&a;$*)wrX3ardJKX$x+t`Q`b&y|UBke@npb(v{uG?2|7E z2%p#Bl646v&@l7O?4Phl?_ovx&exyn*mb|$EwkA-U;h60z54GT)Xe>BdL;YRmds#f z_n@eMZ1)3iU4Ag@&6oQ&pSW6kRoPE`J*h3S{t3fX2M1Ta0uc_2E8BToCTOd&&N#qX zlke?QIrXYTwMf^Rl{=0~M=ksm`Y7#F|Bb?<RyrSUs@LCishQG0>xNo+BTM9|Eg7FW z#nmqJ8~fiD{eLz&czN=?HMY;^Py4(*#^B}jJ-7QVM;x#aJv*Z`Z`PUGyW#Qi8ker_ z`m}GRuBX((kH61*v-#G}=M;SZp|AVm*2j9u7q>lb>`W2KtzvqR{XnjLi%6c<lL@<Z zjFlKStY|;B#dBVZ<s&ZBcx$~(`CI;Svy_EWG%u#i4_YsKd5Y;1_Po>XipPTg?civ) z4Ei)dWV40d6aDixwc1<qHZGjG^=fy1n^I|($Vm?exeteh?|+{cu*Nf{{_&F=+`XSy z^+ZmOxbo<At=dvQm9y&|4lKH}@H!LY?eu4PQrGrvyR&AdL-#w+TN|&b$4~fb{c?Az v_@DX=p<1Jp!tWMrh)n$aXaB!1Ym+C&Ro`6k$4s4pfq}u()z4*}Q$iB})guZ@ literal 0 HcmV?d00001 diff --git a/Assets/share_w.png b/Assets/share_w.png new file mode 100644 index 0000000000000000000000000000000000000000..55bc2192ff8f2861a8c37b12935d31016bad2da1 GIT binary patch literal 607 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZsBOiAAEE)4(M`_JrWU|`@Z z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=ifvh#|vYZ%VAe8a%N_`%b~F(l&f+v(OGGJzs( z?>+9sif$A#bvb&dp;bU<n}DF$Cf5xceS|#|pF8zLu6?s+%O<l2-LBic7xyl0?N>-M zf6dI=t)Q{w!^W;%I=><%j_sa2Q{kSmz`@J0?>^MG|DX5sd0)`^uTQ##*gPhy`*&F= zX8x?&b}@T$)XjI>3&PqK$SCwh*G^+zvzzJKmvkNF15=AOKR%_kGhXDUVZ^UP3=XqT z?aWJ2nN@R?Cr;E@l;7yY&gFlsj;4K@`{riS^`4K172}hY?j31T+jc^FDThFEYw;$X zi^&&kMSCV~Kl;5g|J9anZ2>Ok`*S~fw`rK3oL*-w`<p|{RXcl@;r$GQm%Gmi#@l-q zEKYqIZ5-{CQ`L8$bMGF5uYbGSf0)Lv{Gu=0pHaDI+1G}WJsVER@qbYE{m*!#pjOR2 zLhFQmrOYSZ$syhhO-pQ#n|RwZ79a5r>MNOZA#O{o)fqv?B%R4md!FttQ90AqHs|@) zKknBSbu&v(Ol~Qv^sqeqB<F;p{KhAWy=OAh*52#Y4-{JBIZ;82vGTaz!5`<ucwB=X z{PH#|^s_x)>2_?5*0HT0b=P!U>1_G=luJUK%lh?htFpTp->iKnGUxm#Gyi)z>&jQ2 zTdH?G{;AsQW|yBRJUy@M-$KqOoPu8+O|?VZd?UNh+kg8Xf0wC<_uuV3zQ^Jj7#J8l MUHx3vIVCg!04ReDApigX literal 0 HcmV?d00001 diff --git a/Buttons.xaml b/Buttons.xaml new file mode 100644 index 0000000..f476777 --- /dev/null +++ b/Buttons.xaml @@ -0,0 +1,1110 @@ +<!-- ********************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/> . * +***********************************************************************--> +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + <Style x:Key="WizardButtons1" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="SemiLight" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Rectangle x:Name="OuterRing" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="ContentPresenter" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{TemplateBinding Background}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="36" + Height="36" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{TemplateBinding Background}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundSendButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="36" + Height="36" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{TemplateBinding Background}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundListItemButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="30" + Height="30" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundSettingsListItemButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="31" + Height="30" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundShareListItemButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="31" + Height="30" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <Grid> + <Image x:Name="shareIcon_w" + Width="17" + Height="17" + Source="Assets/share_w.png" + Visibility="Collapsed" /> + <Image x:Name="shareIcon_b" + Width="17" + Height="17" + Source="Assets/share_b.png" + Visibility="Visible" /> + </Grid> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="shareIcon_w" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="shareIcon_b" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="shareIcon_w" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="shareIcon_b" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatRoundCallButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid"> + <Ellipse x:Name="OuterRing" + Width="36" + Height="36" + Fill="{TemplateBinding Background}" /> + <ContentPresenter x:Name="ContentPresenter" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="{TemplateBinding Foreground}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.10"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.10" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterRing" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatButton" TargetType="Button"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="Padding" Value="4" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid> + <Border x:Name="Border" + Margin="0" + Background="{TemplateBinding Background}" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" /> + <ContentPresenter x:Name="ContentPresenter" + Margin="{TemplateBinding Padding}" + HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" /> + <Rectangle x:Name="FocusVisualWhite" + IsHitTestVisible="False" + Opacity="0" + Stroke="{ThemeResource FocusVisualWhiteStrokeThemeBrush}" + StrokeDashArray="1,1" + StrokeDashOffset="1.5" + StrokeEndLineCap="Square" /> + <Rectangle x:Name="FocusVisualBlack" + IsHitTestVisible="False" + Opacity="0" + Stroke="{ThemeResource FocusVisualBlackStrokeThemeBrush}" + StrokeDashArray="1,1" + StrokeDashOffset="0.5" + StrokeEndLineCap="Square" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPointerOverBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Border" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPointerOverForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPressedBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPressedForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBorderThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + <VisualStateGroup x:Name="FocusStates"> + <VisualState x:Name="Focused"> + <Storyboard> + <DoubleAnimation Storyboard.TargetName="FocusVisualWhite" + Storyboard.TargetProperty="Opacity" + To="1" + Duration="0" /> + <DoubleAnimation Storyboard.TargetName="FocusVisualBlack" + Storyboard.TargetProperty="Opacity" + To="1" + Duration="0" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Unfocused" /> + <VisualState x:Name="PointerFocused" /> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="FlatToggleButton" TargetType="ToggleButton"> + <Setter Property="Width" Value="37" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="15" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="ToggleButton"> + <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> + <Border x:Name="RootBorder" + Margin="0" + Background="{TemplateBinding Background}" + CornerRadius="6,6,0,0" /> + <ContentPresenter x:Name="ContentPresenter" + Padding="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.20"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.20" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Checked"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedPointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedPressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedDisabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Indeterminate"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminatePointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminatePressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminateDisabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="ButtonStyleHome" TargetType="Button"> + <Setter Property="Width" Value="39" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="15" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> + <Border x:Name="RootBorder" + Margin="0" + Background="{TemplateBinding Background}" + CornerRadius="6,6,0,0"> + <ContentPresenter x:Name="ContentPresenter" + Padding="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" /> + </Border> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Checked"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedPointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedPressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="CheckedDisabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueLightBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Indeterminate"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminatePointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminatePressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="IndeterminateDisabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootBorder" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight3Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary> \ No newline at end of file diff --git a/Call.h b/Call.h index fc96d3a..3c024b3 100644 --- a/Call.h +++ b/Call.h @@ -1,7 +1,7 @@ -#pragma once -/************************************************************************** +/*************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -16,53 +16,25 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ -using namespace Platform; -using namespace Windows::UI::Xaml::Data; +#pragma once + +#include <set> +#include <chrono> namespace RingClientUWP { -/* enumerations. */ -public enum class CallStatus { NONE, INCOMING_RINGING, OUTGOING_RINGING, SEARCHING, IN_PROGRESS, ENDED }; -public ref class Call sealed : public INotifyPropertyChanged +struct Call { -public: - - /* functions */ - Call(String^ accountId, String^ callId, String^ from); - - /* properties */ - virtual event PropertyChangedEventHandler^ PropertyChanged; - - property String^ accountId; - property String^ callId; - property String^ from; - property CallStatus state { - CallStatus get() { - return state_; - } - void set(CallStatus value) { - state_ = value; - PropertyChanged(this, ref new PropertyChangedEventArgs("state")); - } - } - property bool isOutGoing; - property int code; - - /* events */ - -protected: - /* properties */ - void NotifyPropertyChanged(String^ propertyName); - -internal: - //void refuse(); - //void accept(); - //void cancel(); - -private: - CallStatus state_; - + Call() { }; + Call(const std::string& id, const std::set<std::string>& participants) + : id(id) + , participants(participants) + { } + + std::string id; + std::chrono::time_point<std::chrono::steady_clock> callStartTime; + std::set<std::string> participants; }; -} +} diff --git a/Contact.cpp b/Contact.cpp index ae14b20..0964e1c 100644 --- a/Contact.cpp +++ b/Contact.cpp @@ -37,8 +37,11 @@ Contact::Contact( String^ accountId, String^ name, String^ ringID, String^ GUID, - unsigned int unreadmessages, - ContactStatus contactStatus) + uint32 unreadmessages, + ContactStatus contactStatus, + TrustStatus trustStatus, + bool isIncognitoContact, + String^ avatarColorString) { vCard_ = ref new VCardUtils::VCard(this, accountId); @@ -50,18 +53,7 @@ Contact::Contact( String^ accountId, GUID_ = Utils::GetNewGUID(); conversation_ = ref new Conversation(); - - // load conversation from disk - StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; - String^ messagesFile = localfolder->Path + "\\" + ".messages\\" + GUID_ + ".json"; - - String^ fileContents = Utils::toPlatformString(Utils::getStringFromFile(Utils::toString(messagesFile))); - - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - if (fileContents != nullptr) - DestringifyConversation(fileContents); - })); + create_task([this]() { loadConversation(); }); notificationNewMessage_ = Windows::UI::Xaml::Visibility::Collapsed; unreadMessages_ = unreadmessages; @@ -73,11 +65,36 @@ Contact::Contact( String^ accountId, _accountIdAssociated = accountId; _vcardUID = ""; - _avatarImage = ref new String(L"ms-appx:///Assets/TESTS/contactAvatar.png"); + _avatarImage = ref new String(L" "); + _avatarColorString = avatarColorString; _displayName = ""; contactStatus_ = contactStatus; - lastTime_ = "never called."; + trustStatus_ = trustStatus; + + unreadContactRequest_ = trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST ? true : false; + + lastTime_ = ResourceMananger::instance->getStringResource("m_never_called_"); + + _isIncognitoContact = isIncognitoContact; + presenceStatus_ = -1; + subscribed_ = false; +} + +void +Contact::loadConversation() +{ + // load conversation from disk + StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; + String^ messagesFile = localfolder->Path + "\\" + ".messages\\" + GUID_ + ".json"; + + String^ fileContents = Utils::toPlatformString(Utils::getStringFromFile(Utils::toString(messagesFile))); + + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + if (fileContents != nullptr) + DestringifyConversation(fileContents); + })); } void @@ -101,9 +118,13 @@ Contact::ToJsonObject() contactObject->SetNamedValue(ringIDKey, JsonValue::CreateStringValue(ringID_)); contactObject->SetNamedValue(GUIDKey, JsonValue::CreateStringValue(GUID_)); contactObject->SetNamedValue(unreadMessagesKey, JsonValue::CreateNumberValue(unreadMessages_)); + contactObject->SetNamedValue(unreadContactRequestKey, JsonValue::CreateBooleanValue(unreadContactRequest_)); contactObject->SetNamedValue(accountIdAssociatedKey, JsonValue::CreateStringValue(_accountIdAssociated)); contactObject->SetNamedValue(vcardUIDKey, JsonValue::CreateStringValue(_vcardUID)); contactObject->SetNamedValue(lastTimeKey, JsonValue::CreateStringValue(_lastTime)); + contactObject->SetNamedValue(trustStatusKey, JsonValue::CreateNumberValue(Utils::toUnderlyingValue(trustStatus_))); + contactObject->SetNamedValue(isIncognitoContactKey, JsonValue::CreateBooleanValue(_isIncognitoContact)); + contactObject->SetNamedValue(avatarColorStringKey, JsonValue::CreateStringValue(avatarColorString_)); JsonObject^ jsonObject = ref new JsonObject(); jsonObject->SetNamedValue(contactKey, contactObject); @@ -130,9 +151,11 @@ void Contact::DestringifyConversation(String^ data) { JsonObject^ jsonObject = JsonObject::Parse(data); - String^ date; bool fromContact; String^ payload; + std::time_t timeReceived; + bool isReceived; + String^ messageIdStr; JsonArray^ messageList = jsonObject->GetNamedArray(conversationKey, ref new JsonArray()); for (unsigned int i = 0; i < messageList->Size; i++) { @@ -141,16 +164,24 @@ Contact::DestringifyConversation(String^ data) JsonObject^ jsonMessageObject = message->GetObject(); JsonObject^ messageObject = jsonMessageObject->GetNamedObject(messageKey, nullptr); if (messageObject != nullptr) { - date = messageObject->GetNamedString(dateKey, ""); - fromContact = messageObject->GetNamedBoolean(fromContactKey, ""); - payload = messageObject->GetNamedString(payloadKey, ""); + if (messageObject->HasKey(fromContactKey)) + fromContact = messageObject->GetNamedBoolean(fromContactKey); + if (messageObject->HasKey(payloadKey)) + payload = messageObject->GetNamedString(payloadKey); + if (messageObject->HasKey(timeReceivedKey)) + timeReceived = static_cast<std::time_t>(messageObject->GetNamedNumber(timeReceivedKey)); + if (messageObject->HasKey(isReceivedKey)) + isReceived = messageObject->GetNamedBoolean(isReceivedKey); + if (messageObject->HasKey(messageIdKey)) + messageIdStr = messageObject->GetNamedString(messageIdKey); } - conversation_->addMessage(date, fromContact, payload); + conversation_->addMessage(fromContact, payload, timeReceived, isReceived, messageIdStr); } } } -void RingClientUWP::Contact::deleteConversationFile() +void +Contact::deleteConversationFile() { StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; String^ messagesFile = ".messages\\" + GUID_ + ".json"; @@ -185,7 +216,7 @@ Contact::getVCard() } void -Contact::notifyPropertyChanged(String^ propertyName) +Contact::raiseNotifyPropertyChanged(String^ propertyName) { NotifyPropertyChanged(propertyName); -} \ No newline at end of file +} diff --git a/Contact.h b/Contact.h index e6b9419..02b66a4 100644 --- a/Contact.h +++ b/Contact.h @@ -19,6 +19,7 @@ #pragma once #include "VCardUtils.h" +#include "Utils.h" using namespace Platform; using namespace Windows::Data::Json; @@ -31,12 +32,15 @@ String^ displayNameKey = "displayname"; String^ ringIDKey = "ringid"; String^ GUIDKey = "id"; String^ unreadMessagesKey = "unreadmessages"; +String^ unreadContactRequestKey = "unreadContactRequest"; String^ contactKey = "contact"; String^ contactListKey = "contactlist"; String^ accountIdAssociatedKey = "accountIdAssociated"; String^ vcardUIDKey = "vcardUID"; String^ lastTimeKey = "lastTime"; - +String^ trustStatusKey = "trustStatus"; +String^ isIncognitoContactKey = "isIncognitoContact"; +String^ avatarColorStringKey = "avatarColorString"; namespace RingClientUWP { @@ -45,84 +49,107 @@ ref class Conversation; public ref class Contact sealed : public INotifyPropertyChanged { public: - Contact(String^ accountId, - String^ name, - String^ ringID, - String^ GUID, - unsigned int unreadmessages, - ContactStatus contactStatus); + Contact( String^ accountId, + String^ name, + String^ ringID, + String^ GUID, + uint32 unreadmessages, + ContactStatus contactStatus, + TrustStatus trustStatus, + bool isIncognitoContact, + String^ avatarColorString); JsonObject^ ToJsonObject(); - void notifyPropertyChanged(String^ propertyName); + void raiseNotifyPropertyChanged(String^ propertyName); virtual event PropertyChangedEventHandler^ PropertyChanged; - property String^ _name - { - String^ get() - { + property String^ _name { + String^ get() { return name_; } - void set(String^ value) - { + void set(String^ value) { name_ = value; NotifyPropertyChanged("_name"); + NotifyPropertyChanged("_bestName"); + NotifyPropertyChanged("_bestName2"); + NotifyPropertyChanged("_bestName3"); + NotifyPropertyChanged("_avatarColorString"); } } + property String^ ringID_; property String^ GUID_; + property bool subscribed_; - property Conversation^ _conversation - { - Conversation^ get() - { + property Conversation^ _conversation { + Conversation^ get() { return conversation_; } } - property Visibility notificationNewMessage - { - Visibility get() - { + + property Visibility notificationNewMessage { + Visibility get() { return notificationNewMessage_; } - void set(Visibility visibility) - { + void set(Visibility visibility) { notificationNewMessage_ = visibility; NotifyPropertyChanged("notificationNewMessage"); } } - property uint32 _unreadMessages - { - uint32 get() - { + + property uint32 _unreadMessages { + uint32 get() { return unreadMessages_; } - void set(uint32 value) - { + void set(uint32 value) { unreadMessages_ = value; NotifyPropertyChanged("_unreadMessages"); } } - property String^ _avatarImage - { - String^ get() - { + + property bool _unreadContactRequest { + bool get() { + return unreadContactRequest_; + } + void set(bool value) { + unreadContactRequest_ = value; + NotifyPropertyChanged("_unreadContactRequest"); + } + } + + property String^ _avatarImage { + String^ get() { return avatarImage_; } - void set(String^ value) - { + void set(String^ value) { avatarImage_ = value; NotifyPropertyChanged("_avatarImage"); } } - property Windows::UI::Xaml::GridLength _contactBarHeight - { - Windows::UI::Xaml::GridLength get() - { + + property String^ _avatarColorString { + String^ get() { + return avatarColorString_; + } + void set(String^ value) { + avatarColorString_ = value; + NotifyPropertyChanged("_avatarColorString"); + NotifyPropertyChanged("_avatarColorBrush"); + } + } + + property SolidColorBrush^ _avatarColorBrush { + SolidColorBrush^ get() { + return Utils::solidColorBrushFromString(avatarColorString_); + } + } + + property Windows::UI::Xaml::GridLength _contactBarHeight { + GridLength get() { return contactBarHeight_; } - void set(Windows::UI::Xaml::GridLength value) - { + void set(GridLength value) { contactBarHeight_ = value; NotifyPropertyChanged("_contactBarHeight"); } @@ -137,45 +164,108 @@ public: } } property String^ _vcardUID; - property String^ _displayName - { - String^ get() - { + + property String^ _displayName { + String^ get() { return displayName_; } - void set(String^ value) - { + void set(String^ value) { displayName_ = value; NotifyPropertyChanged("_displayName"); + NotifyPropertyChanged("_bestName"); } } - property ContactStatus _contactStatus - { - ContactStatus get() - { + property int _presenceStatus { + int get() { return presenceStatus_; } + void set(int value) { + presenceStatus_ = value; + NotifyPropertyChanged("_presenceStatus"); + } + } + + property ContactStatus _contactStatus { + ContactStatus get() { return contactStatus_; } - void set(ContactStatus value) - { + void set(ContactStatus value) { contactStatus_ = value; NotifyPropertyChanged("_contactStatus"); } } - property String^ _lastTime - { - String^ get() - { + property String^ _lastTime { + String^ get() { return lastTime_; } - void set(String^ value) - { + void set(String^ value) { lastTime_ = value; NotifyPropertyChanged("_lastTime"); } } + property bool _isTrusted { + bool get() { + return trustStatus_ == TrustStatus::CONTACT_REQUEST_SENT || + trustStatus_ == TrustStatus::TRUSTED; + } + } + + property String^ _bestName { + String^ get() { + String^ bestName; + if (displayName_) + bestName += displayName_ + " - "; + if (name_) + bestName += name_; + else if (ringID_) + bestName += ringID_; + return bestName; + } + } + + property String^ _bestName2 { + String^ get() { + String^ bestName; + if (displayName_) + bestName = displayName_; + else if (name_) + bestName = name_; + else if (ringID_) + bestName = ringID_; + return bestName; + } + } + + property String^ _bestName3 { + String^ get() { + String^ bestName; + if (_bestName2 == displayName_) { + if (name_) + bestName = name_; + else if (ringID_) + bestName = ringID_; + else + bestName = ""; + } + else if (_bestName2 == name_) + bestName = ""; + else if (_bestName2 == ringID_) + bestName = ""; + return bestName; + } + } + + property TrustStatus _trustStatus { + TrustStatus get() { + return trustStatus_; + } + void set(TrustStatus value) { + trustStatus_ = value; + } + } + + property bool _isIncognitoContact; VCardUtils::VCard^ getVCard(); @@ -184,7 +274,7 @@ internal: String^ StringifyConversation(); void DestringifyConversation(String^ data); void deleteConversationFile(); - + void loadConversation(); protected: void NotifyPropertyChanged(String^ propertyName); @@ -194,6 +284,9 @@ private: Conversation^ conversation_; Visibility notificationNewMessage_; unsigned int unreadMessages_; + int presenceStatus_; + bool unreadContactRequest_; + String^ avatarColorString_; String^ avatarImage_; String^ displayName_; String^ accountIdAssociated_; @@ -201,6 +294,7 @@ private: ContactStatus contactStatus_; String^ name_; String^ lastTime_; + TrustStatus trustStatus_; }; } diff --git a/ContactListModel.cpp b/ContactListModel.cpp index 7592000..2c4b0e5 100644 --- a/ContactListModel.cpp +++ b/ContactListModel.cpp @@ -21,6 +21,7 @@ #include "ContactListModel.h" #include "fileutils.h" +#include "presencemanager_interface.h" using namespace Windows::ApplicationModel::Core; using namespace Windows::Data::Json; @@ -63,12 +64,23 @@ ContactListModel::findContactByRingId(String^ ringId) } Contact^ -ContactListModel::addNewContact(String^ name, String^ ringId, ContactStatus contactStatus) +ContactListModel::addNewContact(String^ name, String^ ringId, TrustStatus trustStatus, bool isIncognitoContact, ContactStatus contactStatus) { auto trimmedName = Utils::Trim(name); if (contactsList_ && !findContactByName(trimmedName)) { - //if (contactsList_ && !findContactByName(trimmedName) && !findContactByRingId(ringId)) { - Contact^ contact = ref new Contact(m_Owner, trimmedName, ringId, nullptr, 0, contactStatus); + String^ avatarColorString = Utils::getRandomColorString(); + if (auto acc = AccountsViewModel::instance->findItem(m_Owner)) { + if (acc->accountType_ == "RING") { + if (ringId) + avatarColorString = Utils::getRandomColorStringFromString(ringId); + else + avatarColorString = Utils::getRandomColorStringFromString(name); + } + else if (name != "") { + avatarColorString = Utils::getRandomColorStringFromString(name); + } + } + Contact^ contact = ref new Contact(m_Owner, trimmedName, ringId, nullptr, 0, contactStatus, trustStatus, isIncognitoContact, avatarColorString); contactsList_->Append(contact); saveContactsToFile(); AccountsViewModel::instance->raiseContactAdded(m_Owner, contact); @@ -128,14 +140,18 @@ void ContactListModel::Destringify(String^ data) { JsonObject^ jsonObject = JsonObject::Parse(data); - String^ name; - String^ displayname; - String^ ringid; - String^ guid; - unsigned int unreadmessages; - String^ accountIdAssociated; - String^ vcardUID; - String^ lastTime; + String^ name = ""; + String^ displayname = ""; + String^ ringid = ""; + String^ guid = ""; + uint32 unreadMessages = 0; + String^ accountIdAssociated = ""; + String^ vcardUID = ""; + String^ lastTime = ""; + uint8 trustStatus = Utils::toUnderlyingValue(TrustStatus::TRUSTED); + bool unreadContactRequest = false; + bool isIncognitoContact = false; + String^ avatarColorString; JsonArray^ contactlist = jsonObject->GetNamedArray(contactListKey, ref new JsonArray()); for (int i = contactlist->Size - 1; i >= 0; i--) { @@ -144,18 +160,60 @@ ContactListModel::Destringify(String^ data) JsonObject^ jsonContactObject = contact->GetObject(); JsonObject^ contactObject = jsonContactObject->GetNamedObject(contactKey, nullptr); if (contactObject != nullptr) { - name = contactObject->GetNamedString(nameKey); - displayname = contactObject->GetNamedString(displayNameKey); - ringid = contactObject->GetNamedString(ringIDKey); - guid = contactObject->GetNamedString(GUIDKey); - unreadmessages = static_cast<uint16_t>(contactObject->GetNamedNumber(unreadMessagesKey)); - accountIdAssociated = contactObject->GetNamedString(accountIdAssociatedKey); - vcardUID = contactObject->GetNamedString(vcardUIDKey); - + if (contactObject->HasKey(nameKey)) + name = contactObject->GetNamedString(nameKey); + if (contactObject->HasKey(displayNameKey)) + displayname = contactObject->GetNamedString(displayNameKey); + if (contactObject->HasKey(ringIDKey)) + ringid = contactObject->GetNamedString(ringIDKey); + if (contactObject->HasKey(GUIDKey)) + guid = contactObject->GetNamedString(GUIDKey); + if (contactObject->HasKey(unreadMessagesKey)) + unreadMessages = static_cast<uint32>(contactObject->GetNamedNumber(unreadMessagesKey)); + if (contactObject->HasKey(unreadContactRequestKey)) + unreadContactRequest = contactObject->GetNamedBoolean(unreadContactRequestKey); + if (contactObject->HasKey(accountIdAssociatedKey)) + accountIdAssociated = contactObject->GetNamedString(accountIdAssociatedKey); + if (contactObject->HasKey(vcardUIDKey)) + vcardUID = contactObject->GetNamedString(vcardUIDKey); if (contactObject->HasKey(lastTimeKey)) lastTime = contactObject->GetNamedString(lastTimeKey); + if (contactObject->HasKey(trustStatusKey)) + trustStatus = static_cast<uint8>(contactObject->GetNamedNumber(trustStatusKey)); + if (contactObject->HasKey(isIncognitoContactKey)) + isIncognitoContact = contactObject->GetNamedBoolean(isIncognitoContactKey); + if (contactObject->HasKey(avatarColorStringKey)) { + auto oldColorString = contactObject->GetNamedString(avatarColorStringKey); + if (oldColorString != "") { + avatarColorString = oldColorString; + } + else { + if (auto acc = AccountsViewModel::instance->findItem(m_Owner)) { + if (acc->accountType_ == "RING") { + avatarColorString = Utils::getRandomColorStringFromString(ringid); + } + else if (name != "") { + avatarColorString = Utils::getRandomColorStringFromString(name); + } + else { + avatarColorString = Utils::getRandomColorString(); + } + } + else + avatarColorString = Utils::getRandomColorString(); + } + } } - auto contact = ref new Contact(m_Owner, name, ringid, guid, unreadmessages, ContactStatus::READY); + auto contact = ref new Contact( m_Owner, + name, + ringid, + guid, + unreadMessages, + ContactStatus::READY, + Utils::toEnum<TrustStatus>(trustStatus), + isIncognitoContact, + avatarColorString); + contact->_unreadContactRequest = unreadContactRequest; contact->_displayName = displayname; contact->_accountIdAssociated = accountIdAssociated; // contact image @@ -163,9 +221,11 @@ ContactListModel::Destringify(String^ data) if (lastTime) contact->_lastTime = lastTime; - std::string contactImageFile = RingD::instance->getLocalFolder() + ".vcards\\" - + Utils::toString(contact->_vcardUID) + ".png"; + std::string vcardDir = RingD::instance->getLocalFolder() + ".vcards\\"; + std::string pngFile = Utils::toString(contact->_vcardUID) + ".png"; + std::string contactImageFile = vcardDir + pngFile; if (Utils::fileExists(contactImageFile)) { + //RingClientUWP::ResourceMananger::instance->preloadImage(Utils::toPlatformString(contactImageFile)); contact->_avatarImage = Utils::toPlatformString(contactImageFile); } contactsList_->Append(contact); @@ -178,11 +238,12 @@ void ContactListModel::deleteContact(Contact ^ contact) { unsigned int index; - auto itemsList = SmartPanelItemsViewModel::instance->itemsList; - auto item = SmartPanelItemsViewModel::instance->_selectedItem; if (contactsList_->IndexOf(contact, &index)) { contact->deleteConversationFile(); + RingD::instance->removeContact( + Utils::toString(contact->_accountIdAssociated), + Utils::toString(contact->ringID_)); contactsList_->RemoveAt(index); } @@ -196,13 +257,14 @@ ContactListModel::modifyContact(Contact^ contact) } void -ContactListModel::OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string &address, const std::string &name) +ContactListModel::OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& accountId, const std::string &address, const std::string &name) { if (status == LookupStatus::SUCCESS) { - for each (Contact^ contact in contactsList_) + for each (Contact^ contact in contactsList_) { if (contact->ringID_ == Utils::toPlatformString(address)) { contact->_name = Utils::toPlatformString(name); saveContactsToFile(); } + } } } diff --git a/ContactListModel.h b/ContactListModel.h index 1640d07..73bbbf9 100644 --- a/ContactListModel.h +++ b/ContactListModel.h @@ -35,7 +35,11 @@ internal: /* functions */ Contact^ findContactByName(String^ name); Contact^ findContactByRingId(String^ ringId); - Contact^ addNewContact(String^ name, String^ ringId, ContactStatus contactStatus = ContactStatus::READY); + Contact^ addNewContact( String^ name, + String^ ringId, + TrustStatus trustStatus, + bool isIncognitoContact, + ContactStatus contactStatus = ContactStatus::READY); void saveContactsToFile(); void openContactsFromFile(); String^ Stringify(); @@ -59,7 +63,7 @@ private: Contact^ oldItem_; String^ m_Owner; - void OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string &address, const std::string &name); + void OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& accountId, const std::string &address, const std::string &name); }; } } diff --git a/ContactRequestItem.cpp b/ContactRequestItem.cpp new file mode 100644 index 0000000..e4e6292 --- /dev/null +++ b/ContactRequestItem.cpp @@ -0,0 +1,50 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ +#include "pch.h" + +#include "ContactRequestItem.h" + +using namespace Platform; +using namespace Windows::UI::Core; +using namespace Windows::ApplicationModel::Core; + +using namespace RingClientUWP; +using namespace RingClientUWP::Controls; +using namespace ViewModel; + +ContactRequestItem::ContactRequestItem() +{ +} + +void +ContactRequestItem::NotifyPropertyChanged(String^ propertyName) +{ + CoreApplicationView^ view = CoreApplication::MainView; + view->CoreWindow->Dispatcher->RunAsync( + CoreDispatcherPriority::High, + ref new DispatchedHandler([this, propertyName]() + { + PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName)); + })); +} + +void +ContactRequestItem::raiseNotifyPropertyChanged(String^ propertyName) +{ + NotifyPropertyChanged(propertyName); +} \ No newline at end of file diff --git a/ContactRequestItem.h b/ContactRequestItem.h new file mode 100644 index 0000000..c7f0b47 --- /dev/null +++ b/ContactRequestItem.h @@ -0,0 +1,90 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#pragma once + +using namespace Platform; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Data; + +namespace RingClientUWP +{ +namespace Controls +{ + +public ref class ContactRequestItem sealed : public INotifyPropertyChanged +{ +public: + ContactRequestItem(); + + void raiseNotifyPropertyChanged(String^ propertyName); + virtual event PropertyChangedEventHandler^ PropertyChanged; + + property Contact^ _contact { + Contact^ get() { return contact_; } + void set(Contact^ value) { + contact_ = value; + NotifyPropertyChanged("_contact"); + } + }; + + property Visibility _isVisible + { + Visibility get() { + return isVisible_; + } + void set(Visibility value) { + isVisible_ = value; + NotifyPropertyChanged("_isVisible"); + } + } + + property bool _isSelected + { + bool get() { + return isSelected_; + } + void set(bool value) { + isSelected_ = value; + NotifyPropertyChanged("_isSelected"); + } + } + + property bool _isHovered + { + bool get() { + return isHovered_; + } + void set(bool value) { + isHovered_ = value; + NotifyPropertyChanged("_isHovered"); + } + } + +protected: + void NotifyPropertyChanged(String^ propertyName); + +private: + Visibility isVisible_; + bool isSelected_; + bool isHovered_; + + Contact^ contact_; +}; +} +} diff --git a/ContactRequestItemsViewModel.cpp b/ContactRequestItemsViewModel.cpp new file mode 100644 index 0000000..72b5a28 --- /dev/null +++ b/ContactRequestItemsViewModel.cpp @@ -0,0 +1,118 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#include "pch.h" + +#include "ContactRequestItemsViewModel.h" + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::Data::Json; +using namespace Windows::Storage; +using namespace Windows::Storage::Streams; +using namespace Windows::UI::Core; +using namespace Windows::Globalization::DateTimeFormatting; + + +using namespace RingClientUWP; +using namespace ViewModel; + +ContactRequestItemsViewModel::ContactRequestItemsViewModel() +{ + itemsList_ = ref new Vector<ContactRequestItem^>(); + itemsListFiltered_ = ref new Vector<ContactRequestItem^>(); +} + +ContactRequestItem^ +ContactRequestItemsViewModel::findItem(Contact^ contact) +{ + for each (ContactRequestItem^ item in itemsList) + if (item->_contact == contact) + return item; + + return nullptr; +} + +unsigned int +ContactRequestItemsViewModel::getIndex(Contact^ contact) +{ + unsigned int i; + for (i = 0; i < itemsList_->Size; i++) { + if (itemsList_->GetAt(i)->_contact == contact) + break; + } + return i; +} + +void +ContactRequestItemsViewModel::removeItem(ContactRequestItem ^ item) +{ + unsigned int index; + + if (itemsList->IndexOf(item, &index)) { + itemsList->RemoveAt(index); + + // If the same item exists in the filtered list, remove it as well. + // Maintaining both lists in tandem, reduces flickering caused by a complete + // refresh of the filtered list. This is a pretty alternative to the more + // elegant solution of XAML visibility filtration through IValueConverter object + // bindings, which causes a buggy scrollbar to appear when the collapsed list items + // are before the visible ones. + if (itemsListFiltered->IndexOf(item, &index)) { + itemsListFiltered->RemoveAt(index); + } + } +} + +String^ +ContactRequestItemsViewModel::getAssociatedAccountId(ContactRequestItem^ item) +{ + if (item->_contact->_accountIdAssociated->IsEmpty()) + return AccountListItemsViewModel::instance->_selectedItem->_account->accountID_; + else + return item->_contact->_accountIdAssociated; +} + +void +ContactRequestItemsViewModel::update(const std::vector<std::string>& properties) +{ + for each (ContactRequestItem^ item in itemsList) + for each (std::string prop in properties) + item->raiseNotifyPropertyChanged(Utils::toPlatformString(prop)); +} + +void +ContactRequestItemsViewModel::refreshFilteredItemsList() +{ + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + + std::for_each(begin(itemsList), end(itemsList), + [selectedAccountId, this](ContactRequestItem^ item) { + static unsigned spi_index; + auto isInList = itemsListFiltered->IndexOf(item, &spi_index); + + if ((item->_contact->_accountIdAssociated == selectedAccountId) && + item->_contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST) { + if (!isInList) { + itemsListFiltered->InsertAt(0, item); + } + } + else if (isInList) { + itemsListFiltered->RemoveAt(spi_index); + } + }); +} \ No newline at end of file diff --git a/ContactRequestItemsViewModel.h b/ContactRequestItemsViewModel.h new file mode 100644 index 0000000..5194d2b --- /dev/null +++ b/ContactRequestItemsViewModel.h @@ -0,0 +1,99 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#pragma once + +#include "ContactRequestItem.h" + +using namespace Platform::Collections; +using namespace Concurrency; + +using namespace RingClientUWP; +using namespace RingClientUWP::Controls; + +namespace RingClientUWP +{ + +namespace ViewModel { + +public ref class ContactRequestItemsViewModel sealed +{ +public: + String^ getAssociatedAccountId(ContactRequestItem^ item); + void refreshFilteredItemsList(); + +internal: + /* singleton */ + static property ContactRequestItemsViewModel^ instance { + ContactRequestItemsViewModel^ get() { + static ContactRequestItemsViewModel^ instance_ = ref new ContactRequestItemsViewModel(); + return instance_; + } + } + + /* functions */ + void update(const std::vector<std::string>& properties); + ContactRequestItem^ findItem(Contact^ contact); + unsigned int getIndex(Contact^ contact); + void removeItem(ContactRequestItem^ item); + + property IObservableVector<ContactRequestItem^>^ itemsList + { + IObservableVector<ContactRequestItem^>^ get() { + return itemsList_; + } + } + + property IObservableVector<ContactRequestItem^>^ itemsListFiltered + { + IObservableVector<ContactRequestItem^>^ get() { + return itemsListFiltered_; + } + void set(IObservableVector<ContactRequestItem^>^ value) { + itemsListFiltered_ = dynamic_cast<Vector<ContactRequestItem^>^>(value); + } + } + + property ContactRequestItem^ _selectedItem { + ContactRequestItem^ get() { + return currentItem_; + } + void set(ContactRequestItem^ value) { + oldItem_ = currentItem_; + currentItem_ = value; + + if (oldItem_ != nullptr) + oldItem_->_isSelected = false; + + if (currentItem_ != nullptr) { + currentItem_->_isSelected = true; + } + } + } + +private: + ContactRequestItemsViewModel(); // singleton + + Vector<ContactRequestItem^>^ itemsList_; + Vector<ContactRequestItem^>^ itemsListFiltered_; + + ContactRequestItem^ currentItem_; + ContactRequestItem^ oldItem_; +}; +} +} diff --git a/Conversation.cpp b/Conversation.cpp index 4683e27..6be9902 100644 --- a/Conversation.cpp +++ b/Conversation.cpp @@ -19,6 +19,7 @@ #include "pch.h" #include "Conversation.h" +#include "MessageTextPage.xaml.h" using namespace Windows::ApplicationModel::Core; using namespace Platform; @@ -29,30 +30,127 @@ using namespace RingClientUWP; Conversation::Conversation() { messagesList_ = ref new Vector<ConversationMessage^>(); + + /* + messageListBox_ = ref new ListBox(); + messageListBox_->Name = "_messagesList_"; + messageListBox_->Margin = Windows::UI::Xaml::Thickness(0.0, 0.0, 0.0, 0.0); + messageListBox_->Padding = Windows::UI::Xaml::Thickness(0.0, 0.0, 0.0, 0.0); + auto backgroundBrush = dynamic_cast<Brush^>(Application::Current->Resources->Lookup("RingMessagePageBrush")); + messageListBox_->Background = backgroundBrush; + auto itemContainerStyle = dynamic_cast<Style^>(Application::Current->Resources->Lookup("messageBubbleStyle")); + messageListBox_->ItemContainerStyle = itemContainerStyle; + auto itemTemplate = dynamic_cast<Style^>(Application::Current->Resources->Lookup("ConversationMessageTemplate")); + messageListBox_->ItemTemplate = itemTemplate; + messageListBox_->ItemsSource = messagesList_; + */ +} + +ConversationMessage^ +Conversation::findMessage(uint64_t messageId) +{ + for each (ConversationMessage^ message in messagesList_) + if (message->MessageIdInteger == messageId) + return message; + return nullptr; +} + +unsigned +Conversation::getMessageIndex(uint64_t messageId) +{ + unsigned i; + for (i = 0; i < messagesList_->Size; i++) { + if (messagesList_->GetAt(i)->MessageIdInteger == messageId) + break; + } + return i; } void -Conversation::addMessage(String^ date, bool fromContact, String^ payload) +Conversation::addMessage(bool fromContact, + String^ payload, + std::time_t timeReceived, + bool isReceived, + String^ MessageId) { ConversationMessage^ message = ref new ConversationMessage(); - message->Date = date; message->FromContact = fromContact; message->Payload = payload; + message->TimeReceived = timeReceived; + message->IsReceived = isReceived; + message->MessageId = MessageId; + + message->MessageIndex = messagesList_->Size; /* add message to _messagesList_ */ messagesList_->Append(message); + + update(ViewModel::NotifyStrings::notifyConversation); +} + +void +Conversation::update(const std::vector<std::string>& properties) +{ + for each (ConversationMessage^ message in messagesList_) + for each (std::string prop in properties) + message->raiseNotifyPropertyChanged(Utils::toPlatformString(prop)); } JsonObject^ ConversationMessage::ToJsonObject() { JsonObject^ messageObject = ref new JsonObject(); - messageObject->SetNamedValue(dateKey, JsonValue::CreateStringValue(Date)); messageObject->SetNamedValue(fromContactKey, JsonValue::CreateBooleanValue(FromContact)); messageObject->SetNamedValue(payloadKey, JsonValue::CreateStringValue(Payload)); + messageObject->SetNamedValue(timeReceivedKey, JsonValue::CreateNumberValue(static_cast<double>(TimeReceived))); + messageObject->SetNamedValue(isReceivedKey, JsonValue::CreateBooleanValue(IsReceived)); + messageObject->SetNamedValue(messageIdKey, JsonValue::CreateStringValue(MessageId)); JsonObject^ jsonObject = ref new JsonObject(); jsonObject->SetNamedValue(messageKey, messageObject); return jsonObject; +} + +void +ConversationMessage::NotifyPropertyChanged(String^ propertyName) +{ + CoreApplicationView^ view = CoreApplication::MainView; + view->CoreWindow->Dispatcher->RunAsync( + CoreDispatcherPriority::High, + ref new DispatchedHandler([this, propertyName]() + { + PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName)); + })); +} + +void +ConversationMessage::raiseNotifyPropertyChanged(String^ propertyName) +{ + NotifyPropertyChanged(propertyName); +} + +String^ +ConversationMessage::getMessageAvatar() +{ + if (ViewModel::SmartPanelItemsViewModel::instance->_selectedItem) + return ViewModel::SmartPanelItemsViewModel::instance->_selectedItem->_contact->_avatarImage; + //return "ms-appx:///Assets/TESTS/contactAvatar.png"; + return L" "; +} + +SolidColorBrush^ +ConversationMessage::getMessageAvatarColorBrush() +{ + if (ViewModel::SmartPanelItemsViewModel::instance->_selectedItem) + return ViewModel::SmartPanelItemsViewModel::instance->_selectedItem->_contact->_avatarColorBrush; + return ref new SolidColorBrush(Utils::ColorFromString(L"#ff808080")); +} + +String^ +ConversationMessage::getMessageAvatarInitial() +{ + if (ViewModel::SmartPanelItemsViewModel::instance->_selectedItem) + return Utils::getUpperInitial(ViewModel::SmartPanelItemsViewModel::instance->_selectedItem->_contact->_bestName2); + return L"?"; } \ No newline at end of file diff --git a/Conversation.h b/Conversation.h index 6a9a04c..67da4bd 100644 --- a/Conversation.h +++ b/Conversation.h @@ -1,4 +1,3 @@ -#pragma once /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * @@ -17,52 +16,100 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ +#pragma once + using namespace Platform; using namespace Windows::UI::Xaml::Data; /* strings required by Windows::Data::Json. Defined here on puprose */ String^ conversationKey = "conversation"; String^ messageKey = "message"; -String^ dateKey = "date"; String^ fromContactKey = "fromContact"; String^ payloadKey = "payload"; +String^ timeReceivedKey = "timeReceived"; +String^ isReceivedKey = "isReceived"; +String^ messageIdKey = "messageId"; namespace RingClientUWP { -public ref class ConversationMessage sealed + +public ref class ConversationMessage sealed : public INotifyPropertyChanged { public: - property String^ Date; + void raiseNotifyPropertyChanged(String^ propertyName); + virtual event PropertyChangedEventHandler^ PropertyChanged; + property bool FromContact; property String^ Payload; + property std::time_t TimeReceived; + property bool IsReceived; + property String^ MessageId; + property int MessageIndex; + + property String^ MessageAvatar { + String^ get() { + return getMessageAvatar(); + } + } + + property SolidColorBrush^ MessageAvatarColorBrush { + SolidColorBrush^ get() { + return getMessageAvatarColorBrush(); + } + } + + property String^ MessageAvatarInitial { + String^ get() { + return getMessageAvatarInitial(); + } + } + + property uint64_t MessageIdInteger { + uint64_t get() { + return strtoull(Utils::toString(MessageId).c_str(), nullptr, 0); + } + } /* functions */ JsonObject^ ToJsonObject(); + String^ getMessageAvatar(); + SolidColorBrush^ getMessageAvatarColorBrush(); + String^ getMessageAvatarInitial(); + +protected: + void NotifyPropertyChanged(String^ propertyName); + }; public ref class Conversation sealed { -private: - - public: - /* functions */ Conversation(); - void addMessage(String^ date, bool fromContact, String^ payload); + + /* functions */ + void addMessage(bool fromContact, + String^ payload, + std::time_t timeReceived, + bool isReceived, + String^ MessageId); internal: /* properties */ - property Vector<ConversationMessage^>^ _messages - { - Vector<ConversationMessage^>^ get() - { + property IObservableVector<ConversationMessage^>^ _messages { + IObservableVector<ConversationMessage^>^ get() { return messagesList_; } } + /* functions */ + void update(const std::vector<std::string>& properties); + ConversationMessage^ findMessage(uint64_t messageId); + unsigned getMessageIndex(uint64_t messageId); + private: /* members */ - Vector<ConversationMessage^>^ messagesList_; + IObservableVector<ConversationMessage^>^ messagesList_; + ListBox^ messageListBox_; }; #define MSG_FROM_CONTACT true diff --git a/Globals.h b/Globals.h index f947bdd..e1dafb0 100644 --- a/Globals.h +++ b/Globals.h @@ -1,5 +1,49 @@ namespace RingClientUWP { + +namespace ViewModel +{ +namespace NotifyStrings +{ +const std::vector<std::string> notifySmartPanelItem = { + "_isSelected", + "_contactStatus", + "_lastTime", + "_presenceStatus", + "_displayName", + "_name", + "_bestName", + "_bestName2", + "notificationNewMessage", + "_unreadMessages", + "_unreadContactRequest", + "_trustStatus" }; +const std::vector<std::string> notifyContactRequestItem = { + "_isSelected" }; +const std::vector<std::string> notifyAccountItem = { "nothing" }; + /*"_isSelected", + "_unreadMessages", + "_unreadContactRequests", + "_sipUsername", + "_sipHostname", + "_bestName", + "_bestName2", + "name_", + "ringID_", + "_registrationState", + "_upnpState", + "_autoAnswer", + "_dhtPublicInCalls", + "_turnEnabled", + "accountType_", + "accountID_", + "_deviceId", + "_deviceName", + "_active" };*/ +const std::vector<std::string> notifyConversation = { "" }; +} +} + /* public enumerations. */ public enum class CallStatus { NONE, @@ -12,7 +56,30 @@ public enum class CallStatus { PEER_PAUSED, ENDED, TERMINATING, - CONNECTED + CONNECTED, + AUTO_ANSWERING +}; + +public enum class DeviceRevocationResult { + SUCCESS, + INVALID_PASSWORD, + INVALID_CERTIFICATE +}; + +public enum class TrustStatus { + UNKNOWN, + INCOMING_CONTACT_REQUEST, + INGNORED, + BLOCKED, + CONTACT_REQUEST_SENT, + TRUSTED +}; + +public enum class RegistrationState { + UNKNOWN, + TRYING, + REGISTERED, + UNREGISTERED }; public enum class LookupStatus { @@ -23,9 +90,11 @@ public enum class LookupStatus { }; public enum class ContactStatus { - WAITING_FOR_ACTIVATION, // waiting for lookup + WAITING_FOR_ACTIVATION, READY }; -constexpr bool DEBUG_ON = false; +/* public enumerations. */ +constexpr bool DEBUG_ON = true; + } \ No newline at end of file diff --git a/HttpUtils.h b/HttpUtils.h new file mode 100644 index 0000000..809cdcf --- /dev/null +++ b/HttpUtils.h @@ -0,0 +1,50 @@ +#pragma once +#include <pch.h> + +using namespace Platform; +using namespace Windows::Web::Http; +using namespace Windows::Web::Http::Filters; +using namespace Windows::Web::Http::Headers; + +namespace RingClientUWP +{ +namespace Utils +{ + +HttpClient^ httpClient = ref new HttpClient(); + +//bool +//isVideoContent(Uri^ uri) +//{ +// auto res = httpClient->GetBufferAsync(uri).then +// ([uri](task<HttpResponseMessage^> responseTask) { +// bool isVideoContentResult = false; +// try { +// MSG_(uri->ToString()); +// auto httpResponse = responseTask.get(); +// auto httpHeaders = httpResponse->Headers; +// /*auto httpHeaderString = httpHeaders->ToString(); +// MSG_("header string:"); +// MSG_("\n" + httpHeaderString); +// +// auto httpContentHeaders = httpResponse->Content->Headers; +// auto httpContentHeaderString = httpContentHeaders->ToString(); +// MSG_("content header string:"); +// MSG_("\n" + httpContentHeaderString);*/ +// +// /*create_task(httpResponse->Content->ReadAsStringAsync()).then([=](String^ contentString) { +// MSG_(uri->ToString() + ": "); +// MSG_(contentString); +// }, task_continuation_context::use_current());*/ +// return isVideoContentResult; +// } +// catch (Platform::Exception^ e) { +// EXC_(e); +// } +// return false; +// }, task_continuation_context::use_current()); +//} + +} + +} \ No newline at end of file diff --git a/MainPage.xaml b/MainPage.xaml index 74ccab1..9dbf8e7 100644 --- a/MainPage.xaml +++ b/MainPage.xaml @@ -30,7 +30,7 @@ <DoubleAnimation Storyboard.TargetName="_loadingOverlay_" Storyboard.TargetProperty="Opacity" - From="1.0" To="0.0" Duration="0:0:1" Completed="hideLoadingOverlay"/> + From="1.0" To="0.0" Duration="0:0:0.25" Completed="hideLoadingOverlay"/> </Storyboard> <Storyboard x:Name="_fadeInModalStoryboard_"> <DoubleAnimation @@ -91,10 +91,11 @@ <Frame x:Name="_consolePanel_"/> </SplitView.Pane> <SplitView.Content> - <SplitView x:Name="_innerSplitView_" - IsPaneOpen="True" - CompactPaneLength="60" - DisplayMode="CompactInline"> + <SplitView x:Name="_innerSplitView_" + Style="{ThemeResource AnimatedSplitView}" + IsPaneOpen="True" + CompactPaneLength="60" + DisplayMode="CompactInline"> <SplitView.Pane> <Grid> <Grid.RowDefinitions> @@ -104,7 +105,7 @@ <Grid x:Name="_hamburgerButtonBar_" Canvas.ZIndex="0" Grid.Row="0" - Background="#3bc1d3" + Background="{StaticResource RingBlueMidBrush}" Width="320" HorizontalAlignment="Left"> <Grid.ColumnDefinitions> diff --git a/MainPage.xaml.cpp b/MainPage.xaml.cpp index 8989a6e..01facb1 100644 --- a/MainPage.xaml.cpp +++ b/MainPage.xaml.cpp @@ -21,7 +21,6 @@ #include "ContactListModel.h" #include "MessageTextPage.xaml.h" #include "SmartPanel.xaml.h" -//#include "RingConsolePanel.xaml.h" #include "VideoPage.xaml.h" #include "PreviewPage.xaml.h" #include "WelcomePage.xaml.h" @@ -62,11 +61,12 @@ MainPage::MainPage() _welcomeFrame_->Navigate(TypeName(RingClientUWP::Views::WelcomePage::typeid)); _smartPanel_->Navigate(TypeName(RingClientUWP::Views::SmartPanel::typeid)); - //_consolePanel_->Navigate(TypeName(RingClientUWP::Views::RingConsolePanel::typeid)); _videoFrame_->Navigate(TypeName(RingClientUWP::Views::VideoPage::typeid)); _previewFrame_->Navigate(TypeName(RingClientUWP::Views::PreviewPage::typeid)); _messageTextFrame_->Navigate(TypeName(RingClientUWP::Views::MessageTextPage::typeid)); + isSmartPanelOpen = true; + /* connect to delegates */ RingD::instance->stateChange += ref new RingClientUWP::StateChange(this, &RingClientUWP::MainPage::OnstateChange); auto smartPanel = dynamic_cast<SmartPanel^>(_smartPanel_->Content); @@ -95,16 +95,50 @@ MainPage::MainPage() RingD::instance->registrationStateErrorGeneric += ref new RingClientUWP::RegistrationStateErrorGeneric(this, &RingClientUWP::MainPage::OnregistrationStateErrorGeneric); RingD::instance->registrationStateRegistered += ref new RingClientUWP::RegistrationStateRegistered(this, &RingClientUWP::MainPage::OnregistrationStateRegistered); + RingD::instance->registrationStateUnregistered += ref new RingClientUWP::RegistrationStateUnregistered(this, &RingClientUWP::MainPage::OnregistrationStateUnregistered); RingD::instance->callPlaced += ref new RingClientUWP::CallPlaced(this, &RingClientUWP::MainPage::OncallPlaced); - RingD::instance->setLoadingStatusText += ref new SetLoadingStatusText([this](String^ statusText, String^ color) { - _loadingStatus_->Text = statusText; - auto col = Utils::ColorFromString(color); - auto brush = ref new Windows::UI::Xaml::Media::SolidColorBrush(col); - _loadingStatus_->Foreground = brush; - }); + RingD::instance->setOverlayStatusText += ref new SetOverlayStatusText(this, &MainPage::OnsetOverlayStatusText); RingD::instance->fullScreenToggled += ref new RingClientUWP::FullScreenToggled(this, &RingClientUWP::MainPage::OnFullScreenToggled); + + Window::Current->CoreWindow->KeyDown += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>( + [this](CoreWindow^ c, KeyEventArgs^ e) + { + auto ctrlState = CoreWindow::GetForCurrentThread()->GetKeyState(VirtualKey::Control); + RingD::instance->isCtrlPressed = (ctrlState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; + auto shiftState = CoreWindow::GetForCurrentThread()->GetKeyState(VirtualKey::LeftShift); + RingD::instance->isShiftPressed = (shiftState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; + //MSG_("KEYDOWN -- isCtrlDown: " + isCtrlPressed.ToString() + " isShiftDown: " + isShiftPressed.ToString()); + }); + + Window::Current->CoreWindow->KeyUp += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>( + [this](CoreWindow^ c, KeyEventArgs^ e) + { + auto ctrlState = CoreWindow::GetForCurrentThread()->GetKeyState(VirtualKey::Control); + RingD::instance->isCtrlPressed = (ctrlState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; + auto shiftState = CoreWindow::GetForCurrentThread()->GetKeyState(VirtualKey::LeftShift); + RingD::instance->isShiftPressed = (shiftState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; + //MSG_("KEYUP -- isCtrlDown: " + isCtrlPressed.ToString() + " isShiftDown: " + isShiftPressed.ToString()); + }); + +} + +void +MainPage::OnsetOverlayStatusText(String^ statusText, String^ color) +{ + _loadingStatus_->Text = statusText; + auto col = Utils::ColorFromString(color); + auto brush = ref new Windows::UI::Xaml::Media::SolidColorBrush(col); + _loadingStatus_->Foreground = brush; +} + +void +MainPage::focusOnMessagingTextbox() +{ + auto messageTextPage = dynamic_cast<MessageTextPage^>(_messageTextFrame_->Content); + auto messageTextBox = dynamic_cast<TextBox^>(messageTextPage->FindName("_messageTextBox_")); + messageTextBox->Focus(Windows::UI::Xaml::FocusState::Programmatic); } void @@ -117,16 +151,25 @@ MainPage::OnKeyDown(KeyRoutedEventArgs^ e) } } -void RingClientUWP::MainPage::_toggleSmartBoxButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +void +MainPage::_toggleSmartBoxButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - _innerSplitView_->IsPaneOpen = !_innerSplitView_->IsPaneOpen; - if (_innerSplitView_->IsPaneOpen) { - dynamic_cast<SmartPanel^>(_smartPanel_->Content)->setMode(Views::SmartPanel::Mode::Normal); - _hamburgerButtonBar_->Width = 320; - } - else { - dynamic_cast<SmartPanel^>(_smartPanel_->Content)->setMode(Views::SmartPanel::Mode::Minimized); - _hamburgerButtonBar_->Width = 60; + if (Window::Current->Bounds.Width <= 638) + return; + + isSmartPanelOpen = !isSmartPanelOpen; + setSmartPanelState(isSmartPanelOpen); + + RingD::instance->raiseWindowResized(Window::Current->Bounds.Width, Window::Current->Bounds.Height); +} + +void +MainPage::setSmartPanelState(bool open) +{ + if (_innerSplitView_->IsPaneOpen != open) { + _innerSplitView_->IsPaneOpen = open; + auto newMode = open ? Views::SmartPanel::Mode::Normal : Views::SmartPanel::Mode::Minimized; + dynamic_cast<SmartPanel^>(_smartPanel_->Content)->setMode(newMode); } } @@ -138,12 +181,16 @@ RingClientUWP::MainPage::showFrame(Windows::UI::Xaml::Controls::Frame^ frame) _navGrid_->SetRow(_videoFrame_, 0); if (frame == _welcomeFrame_) { + _currentFrame = FrameOpen::WELCOME; _navGrid_->SetRow(_welcomeFrame_, 1); } else if (frame == _videoFrame_) { + _currentFrame = FrameOpen::VIDEO; _navGrid_->SetRow(_videoFrame_, 1); } else if (frame == _messageTextFrame_) { + _currentFrame = FrameOpen::MESSAGE; _navGrid_->SetRow(_messageTextFrame_, 1); } + } void @@ -171,6 +218,7 @@ RingClientUWP::MainPage::showLoadingOverlay(bool load, bool modal) auto whiteBrush = ref new Windows::UI::Xaml::Media::SolidColorBrush(Windows::UI::Colors::White); _loadingOverlayRect_->Fill = whiteBrush; _loadingOverlayRect_->Opacity = 1.0; + _loadingOverlay_->Opacity = 1.0; } } else if (!load && isLoading) { @@ -180,15 +228,31 @@ RingClientUWP::MainPage::showLoadingOverlay(bool load, bool modal) } void -RingClientUWP::MainPage::OnResize(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e) +MainPage::OnResize(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e) { - RingD::instance->raiseWindowResized(); + if (e) { + auto windowWidth = e->Size.Width; + auto windowHeight = e->Size.Height; + RingD::instance->raiseWindowResized(windowWidth, windowHeight); + + if (windowWidth <= 638) { + setSmartPanelState(false); + return; + } + + if (isSmartPanelOpen && !RingD::instance->isFullScreen) { + setSmartPanelState(true); + } + } } void RingClientUWP::MainPage::DisplayProperties_DpiChanged(DisplayInformation^ sender, Platform::Object^ args) { OnResize(nullptr, nullptr); + SmartPanelItemsViewModel::instance->update({ "" }); + ContactRequestItemsViewModel::instance->update({ "" }); + AccountListItemsViewModel::instance->update({ "" }); } void @@ -197,14 +261,19 @@ RingClientUWP::MainPage::hideLoadingOverlay() _loadingOverlay_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } -void RingClientUWP::MainPage::OnsummonMessageTextPage() +void +RingClientUWP::MainPage::OnsummonMessageTextPage() { - auto messageTextPage = dynamic_cast<MessageTextPage^>(_messageTextFrame_->Content); - messageTextPage->updatePageContent(); + updateMessageTextPage(nullptr); showFrame(_messageTextFrame_); - } +void +RingClientUWP::MainPage::updateMessageTextPage(SmartPanelItem^ item) +{ + auto messageTextPage = dynamic_cast<MessageTextPage^>(_messageTextFrame_->Content); + messageTextPage->updatePageContent(item); +} void RingClientUWP::MainPage::OnsummonWelcomePage() { @@ -226,7 +295,7 @@ void RingClientUWP::MainPage::OnhidePreviewPage() void RingClientUWP::MainPage::OnsummonVideoPage() { auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto videoPage = dynamic_cast<VideoPage^>(_videoFrame_->Content);; + auto videoPage = dynamic_cast<VideoPage^>(_videoFrame_->Content); if (item) { switch (item->_callStatus) { @@ -247,10 +316,10 @@ void RingClientUWP::MainPage::OnsummonVideoPage() void RingClientUWP::MainPage::OnpressHangUpCall() { - OnsummonMessageTextPage(); } -void RingClientUWP::MainPage::OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code) +void +MainPage::OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code) { auto item = SmartPanelItemsViewModel::instance->_selectedItem; @@ -258,14 +327,23 @@ void RingClientUWP::MainPage::OnstateChange(Platform::String ^callId, RingClient /* send the user to the peer's message text page */ case CallStatus::ENDED: { - if (item) + auto selectedItem = SmartPanelItemsViewModel::instance->_selectedItem; + + if (!selectedItem) { + return; + } + + if (item && + selectedItem->_callId == callId && + _currentFrame == FrameOpen::VIDEO) { OnsummonMessageTextPage(); + //showFrame(_messageTextFrame_); + } break; } default: break; } - } void @@ -285,6 +363,7 @@ MainPage::Application_VisibilityChanged(Object^ sender, VisibilityChangedEventAr auto vcm = Video::VideoManager::instance->captureManager(); if (e->Visible) { MSG_("->Visible"); + RingD::instance->isInvisible = false; bool isInCall = false; for (auto item : SmartPanelItemsViewModel::instance->itemsList) { if (item->_callId && item->_callStatus == CallStatus::IN_PROGRESS) { @@ -308,13 +387,14 @@ MainPage::Application_VisibilityChanged(Object^ sender, VisibilityChangedEventAr })); } catch (Exception^ e) { - WriteException(e); + EXC_(e); } }); } } else { MSG_("->Invisible"); + RingD::instance->isInvisible = true; bool isInCall = false; for (auto item : SmartPanelItemsViewModel::instance->itemsList) { if (item->_callId && item->_callStatus == CallStatus::IN_PROGRESS) { @@ -351,48 +431,44 @@ void RingClientUWP::MainPage::OncloseMessageTextPage() void RingClientUWP::MainPage::OnregistrationStateErrorGeneric(const std::string& accountId) { - showLoadingOverlay(false, false); } - -void RingClientUWP::MainPage::OnregistrationStateRegistered() +void RingClientUWP::MainPage::OnregistrationStateUnregistered(const std::string& accountId) { - showLoadingOverlay(false, false); + RingD::instance->volatileDetailsChanged += ref new RingClientUWP::VolatileDetailsChanged(this, &MainPage::OnvolatileDetailsChanged); +} +void RingClientUWP::MainPage::OnregistrationStateRegistered(const std::string& accountId) +{ /* do not connect those delegates before initial registration on dht is fine. Otherwise your going to mess with the wizard */ RingD::instance->nameRegistred += ref new RingClientUWP::NameRegistred(this, &RingClientUWP::MainPage::OnnameRegistred); - RingD::instance->volatileDetailsChanged += ref new RingClientUWP::VolatileDetailsChanged(this, &RingClientUWP::MainPage::OnvolatileDetailsChanged); + RingD::instance->volatileDetailsChanged += ref new RingClientUWP::VolatileDetailsChanged(this, &MainPage::OnvolatileDetailsChanged); } - void RingClientUWP::MainPage::OncallPlaced(Platform::String ^callId) { - showFrame(_welcomeFrame_); } - void RingClientUWP::MainPage::OnnameRegistred(bool status) { showLoadingOverlay(false, false); } -void RingClientUWP::MainPage::OnvolatileDetailsChanged(const std::string &accountId, const std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<const std::string, std::string>>> &details) +void RingClientUWP::MainPage::OnvolatileDetailsChanged(const std::string &accountId, const std::map<std::string, std::string>& details) { showLoadingOverlay(false, false); } void RingClientUWP::MainPage::OnFullScreenToggled(bool state) { - static bool openState; if (state == true) { - openState = _innerSplitView_->IsPaneOpen; _innerSplitView_->IsPaneOpen = false; _innerSplitView_->CompactPaneLength = 0; } else { - _innerSplitView_->IsPaneOpen = openState; + _innerSplitView_->IsPaneOpen = isSmartPanelOpen; _innerSplitView_->CompactPaneLength = 60; } } \ No newline at end of file diff --git a/MainPage.xaml.h b/MainPage.xaml.h index a24b11a..8257c33 100644 --- a/MainPage.xaml.h +++ b/MainPage.xaml.h @@ -19,26 +19,44 @@ #pragma once #include "MainPage.g.h" +#include "SmartPanelItem.h" -using namespace Windows::UI::Xaml::Controls; using namespace Windows::UI::Xaml::Input; using namespace Windows::Foundation; using namespace Windows::ApplicationModel::ExtendedExecution; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::Networking::Connectivity; namespace RingClientUWP { -namespace Views { -} +enum class FrameOpen { + WELCOME, + MESSAGE, + VIDEO +}; + public ref class MainPage sealed { public: MainPage(); + void showLoadingOverlay(bool load, bool modal); void hideLoadingOverlay(); + void OnsetOverlayStatusText(String^ statusText, String^ color); + void focusOnMessagingTextbox(); + void updateMessageTextPage(SmartPanelItem^ item); property bool isLoading; property bool isModal; + property bool isSmartPanelOpen; + +internal: + property FrameOpen currentFrame { + FrameOpen get() { + return _currentFrame; + } + }; protected: virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override; @@ -59,9 +77,11 @@ private: void DisplayProperties_DpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); EventRegistrationToken dpiChangedtoken; Rect bounds; + FrameOpen _currentFrame; bool editionMode = false; void _toggleSmartBoxButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void setSmartPanelState(bool open); void showFrame(Windows::UI::Xaml::Controls::Frame^ frame); void OnsummonMessageTextPage(); void OnFullScreenToggled(bool state); @@ -73,9 +93,10 @@ private: void OnstateChange(Platform::String ^callId, CallStatus state, int code); void OncloseMessageTextPage(); void OnregistrationStateErrorGeneric(const std::string& accountId); - void OnregistrationStateRegistered(); + void OnregistrationStateUnregistered(const std::string& accountId); + void OnregistrationStateRegistered(const std::string& accountId); void OncallPlaced(Platform::String ^callId); void OnnameRegistred(bool status); - void OnvolatileDetailsChanged(const std::string &accountId, const std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<const std::string, std::string>>> &details); + void OnvolatileDetailsChanged(const std::string &accountId, const std::map<std::string, std::string>& details); }; } diff --git a/MessageTextPage.xaml b/MessageTextPage.xaml index 5cfa805..9dd956d 100644 --- a/MessageTextPage.xaml +++ b/MessageTextPage.xaml @@ -15,55 +15,215 @@ * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/> . * -*********************************************************************** --> -<Page - x:Class="RingClientUWP.Views.MessageTextPage" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP" - xmlns:views="using:RingClientUWP.Views" - xmlns:ctl="using:RingClientUWP.Controls" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - NavigationCacheMode="Enabled" - mc:Ignorable="d"> +***********************************************************************--> +<Page x:Class="RingClientUWP.Views.MessageTextPage" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:core="System.Windows.Interactivity" + xmlns:ctl="using:RingClientUWP.Controls" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" + xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" + xmlns:local="using:RingClientUWP" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:uc="using:RingClientUWP.UserAndCustomControls" + xmlns:views="using:RingClientUWP.Views" + NavigationCacheMode="Enabled" + mc:Ignorable="d"> <Page.Resources> - <!-- bubble --> - <views:BubbleBackground x:Key="_bubbleBackground_" /> - <views:BubbleHorizontalAlignement x:Key="_bubbleHorizontalAlignement_" /> - <DataTemplate x:Key="ConversationMessageTemplate" - x:DataType="local:ConversationMessage"> - <Grid Margin="6,0,12,0" - HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}" > - <Grid.ColumnDefinitions> - <ColumnDefinition Width="2*" /> - <ColumnDefinition Width="8*" /> - </Grid.ColumnDefinitions> - <Border Background="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" - CornerRadius="10" - Grid.Column="1" - Width="auto" - Height="auto" - Padding="5" - Margin="5" > - <ContentPresenter> - <!--Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."--> - <TextBlock x:Name="_msgContent_" - TextWrapping="Wrap" - IsTextSelectionEnabled="True" - Text="{x:Bind Payload}" - Foreground="White"/> - </ContentPresenter> - </Border> + <Storyboard x:Name="_fadeInMessagesListStoryBoard_"> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="_messagesList_" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.40"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.40" Value="1" /> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + + <Storyboard x:Name="_fadeInMessagesPageInfoStoryBoard_"> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="_contactInfoGrid_" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.40"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.40" Value="1" /> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + + <Storyboard x:Name="_easeUpMessagesListStoryBoard_"> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="_messagesListTranslateTransform_" + Storyboard.TargetProperty="Y" + Duration="0:0:0.15"> + <EasingDoubleKeyFrame KeyTime="0" Value="-80" /> + <EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="0"> + <EasingDoubleKeyFrame.EasingFunction> + <CubicEase EasingMode="EaseOut" /> + </EasingDoubleKeyFrame.EasingFunction> + </EasingDoubleKeyFrame> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + + <DataTemplate x:Key="ConversationMessageTemplate" x:DataType="local:ConversationMessage"> + <Grid Margin="12,0,20,0" HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}"> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToHeight_}, Mode=OneWay}" /> + </Grid.RowDefinitions> + <!-- avatar, message spikes, and message body --> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="40" /> + <ColumnDefinition Width="10" /> + <ColumnDefinition Width="2*" /> + <ColumnDefinition Width="8*" /> + </Grid.ColumnDefinitions> + <!-- avatar --> + <Grid Grid.Column="0" + Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Ellipse Width="36" + Height="36" + Canvas.ZIndex="1" + Margin="0,2,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Top" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactAvatar_" ImageSource="{x:Bind MessageAvatar, Mode=OneWay}" /> + </Ellipse.Fill> + </Ellipse> + <Grid Width="36" + Height="36" + Canvas.ZIndex="0" + Margin="0,2,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Top" + Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Grid Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Ellipse x:Name="_defaultAvatar_" Fill="{x:Bind MessageAvatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="21" + Foreground="White" + Text="{x:Bind MessageAvatarInitial, Mode=OneWay}" + TextAlignment="Center" /> + </Grid> + </Grid> + </Grid> + <!-- left spike --> + <Grid Grid.Column="1" Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Polygon Name="_chatLeftBubbleSpike_" + Fill="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + Points="10,0,0,5,10,10" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Polygon.RenderTransform> + <TranslateTransform X="8" Y="15" /> + </Polygon.RenderTransform> + </Polygon> + </Grid> + <!-- message --> + <Border Grid.Column="3" + Width="auto" + Height="auto" + Margin="5" + Padding="10,6,10,6" + Background="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + CornerRadius="4"> + <ContentPresenter> + <RichTextBlock x:Name="_msgContent_" + uc:TextBlockExtension.FormattedText="{x:Bind Payload}" + Foreground="#ff303030" + IsTextSelectionEnabled="True" + TextWrapping="Wrap"> + <Paragraph /> + </RichTextBlock> + </ContentPresenter> + </Border> + <!-- right spike --> + <Grid Grid.Column="3" Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Polygon Name="_chatRightBubbleSpike_" + HorizontalAlignment="Right" + Fill="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + Points="0,0,10,5,0,10" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}"> + <Polygon.RenderTransform> + <TranslateTransform X="3" Y="15" /> + </Polygon.RenderTransform> + </Polygon> + </Grid> + </Grid> + <!-- message info --> + <Grid Grid.Row="1"> + <StackPanel x:Name="_messageInfo_" + Margin="10,0,10,0" + HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}" + Orientation="Horizontal"> + <Grid Grid.Column="2" + x:Name="_confirmationCheckGrid_" + Margin="0,1,8,0" + Visibility="Collapsed"> + <Rectangle x:Name="_checkHider_" + Width="12" + HorizontalAlignment="Right" + Canvas.ZIndex="999" + Fill="{ThemeResource RingMessagePageBrush}" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}"> + <Rectangle.RenderTransform> + <TransformGroup> + <ScaleTransform ScaleX="1.0" /> + <TranslateTransform X="0" /> + </TransformGroup> + </Rectangle.RenderTransform> + <Rectangle.Triggers> + <EventTrigger> + <BeginStoryboard> + <Storyboard x:Name="_showCheck_"> + <DoubleAnimation Storyboard.TargetName="_checkHider_" + Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" + From="1" + To="0" + Duration="0:0:0.5" /> + <DoubleAnimation Storyboard.TargetName="_checkHider_" + Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform.X)" + From="0" + To="12" + Duration="0:0:0.5" /> + </Storyboard> + </BeginStoryboard> + </EventTrigger> + </Rectangle.Triggers> + </Rectangle> + <TextBlock Margin="6,0,0,0" + FontFamily="Segoe MDL2 Assets" + FontSize="12" + Foreground="Green" + Text="" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}" /> + </Grid> + <TextBlock x:Name="_messageTimeFrom_" + FontSize="10" + Foreground="Gray" + Text="{x:Bind MessageIndex, Converter={StaticResource _MessageDateTimeString_}}" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <TextBlock.RenderTransform> + <TranslateTransform X="50" /> + </TextBlock.RenderTransform> + </TextBlock> + <TextBlock x:Name="_messageTimeTo_" + FontSize="10" + Foreground="Gray" + Text="{x:Bind MessageIndex, Converter={StaticResource _MessageDateTimeString_}}" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}" /> + </StackPanel> + </Grid> </Grid> </DataTemplate> - <!-- barre d'envoi de message --> - <Style TargetType="TextBox"> + + <Style x:Key="MessageSendBox" TargetType="TextBox"> <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> <Setter Property="Foreground" Value="Black" /> - <Setter Property="Background" Value="white" /> + <Setter Property="Background" Value="White" /> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto" /> @@ -71,12 +231,12 @@ <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> - <Setter Property="Padding" Value="4,4"/> + <Setter Property="Padding" Value="4,0,8,4" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TextBox"> - <Grid> - <Grid.ColumnDefinitions> + <Grid> + <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> @@ -84,188 +244,257 @@ <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> - <Border x:Name="BackgroundElement" - Grid.Row="1" - Background="{TemplateBinding Background}" - Margin="0" - Opacity="1" + <Border Grid.Row="1" + x:Name="BackgroundElement" + Grid.RowSpan="1" Grid.ColumnSpan="2" - BorderBrush="#3bc1d3" + Margin="0" + Background="{TemplateBinding Background}" + BorderBrush="{StaticResource RingBlueMidBrush}" BorderThickness="0" - Grid.RowSpan="1"/> - <ScrollViewer x:Name="ContentElement" - Grid.Row="1" - HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" - HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" - VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" - VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" - IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" - IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" - IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + Opacity="1" /> + <ContentPresenter Grid.Row="0" + x:Name="HeaderContentPresenter" + Grid.ColumnSpan="2" + Margin="0,0,0,0" + Padding="2,4,2,2" + x:DeferLoadStrategy="Lazy" + Content="{TemplateBinding Header}" + ContentTemplate="{TemplateBinding HeaderTemplate}" + FontWeight="Normal" + Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" + Visibility="Collapsed" /> + <ScrollViewer Grid.Row="1" + x:Name="ContentElement" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" - IsTabStop="False" + VerticalAlignment="Center" AutomationProperties.AccessibilityView="Raw" + HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" + HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" + IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" + IsTabStop="False" + IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" + VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" + VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="Disabled" /> - - <Button x:Name="_sendBtn_" + <Button Grid.Row="1" + Grid.Column="1" + x:Name="_sendBtn_" + MinWidth="34" + Margin="8,0,0,0" + VerticalAlignment="Stretch" Background="Transparent" BorderThickness="0" - Grid.Row="1" - FontFamily="Segoe MDL2 Assets" - Foreground="#3bc1d3" - Content="" - IsTabStop="False" - Grid.Column="1" Click="_sendBtn__Click" - Visibility="Visible" - MinWidth="34" + Content="" + FontFamily="Segoe MDL2 Assets" FontSize="20" - VerticalAlignment="Stretch"/> + IsEnabled="False" + IsTabStop="False" + Style="{StaticResource FlatRoundSendButton}" + Visibility="Visible"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_send_message_" /> + </ToolTipService.ToolTip> + </Button> + <ContentControl Grid.Row="1" + x:Name="PlaceholderTextContentPresenter" + Grid.ColumnSpan="2" + Margin="{TemplateBinding BorderThickness}" + Padding="{TemplateBinding Padding}" + VerticalAlignment="Center" + Content="{TemplateBinding PlaceholderText}" + Foreground="Gray" + IsHitTestVisible="False" + IsTabStop="False" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> - <DataTemplate x:Key="_AssociableAccountsListDataTemplate_" - x:DataType="local:Account"> - <Grid> - <TextBlock Text="{x:Bind name_}"/> - </Grid> - </DataTemplate> </Page.Resources> - <Grid Background="#FFF2F2F2"> + <Grid Background="{ThemeResource RingMessagePageBrush}"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> - <RowDefinition Height="*"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> <RowDefinition Height="auto" /> </Grid.RowDefinitions> <Grid Grid.Row="0" - Background="White" - Height="auto"> + x:Name="_contactInfoGrid_" + Height="auto" + Background="White"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="60"/> - <ColumnDefinition Width="auto"/> + <ColumnDefinition Width="62" /> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="auto" /> </Grid.ColumnDefinitions> - <Ellipse Grid.Column="0" - Width="50" - Height="50"> - <Ellipse.Fill> - <ImageBrush x:Name="_contactBarAvatar_" - ImageSource="ms-appx:///Assets/TESTS/contactAvatar.png"/> - </Ellipse.Fill> - </Ellipse> - <Grid Grid.Column="1"> + <Grid.RowDefinitions> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + </Grid.RowDefinitions> + <Grid Grid.Column="0" x:Name="_contactBarAvatarGrid_"> + <Ellipse Width="50" + Height="50" + Canvas.ZIndex="1"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactBarAvatar_" /> + </Ellipse.Fill> + </Ellipse> + </Grid> + <Grid Grid.Column="0" + x:Name="_defaultContactBarAvatarGrid_" + Width="50" + Height="50" + Canvas.ZIndex="0"> + <Ellipse x:Name="_defaultAvatar_" Fill="#ff808080" /> + <TextBlock x:Name="_defaultAvatarInitial_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="30" + Foreground="White" + Text="?" + TextAlignment="Center" /> + </Grid> + <Grid Grid.Column="1" x:Name="_contactInfoGridData_"> <Grid.RowDefinitions> - <RowDefinition Height="25" /> - <RowDefinition Height="25" /> + <RowDefinition Height="32" /> <RowDefinition Height="30" /> </Grid.RowDefinitions> - <Grid Grid.Row="0"> - <Grid> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="280"/> - <ColumnDefinition Width="auto"/> - </Grid.ColumnDefinitions> - </Grid> - <TextBlock x:Name="_title_" - Grid.Column="0" - Text="" - TextWrapping="NoWrap" - TextTrimming="CharacterEllipsis" - VerticalAlignment="Center" - FontSize="16" - Margin="4,0,4,0" /> - <ComboBox x:Name="_associableAccountsList_" - Grid.Column="1" - Margin="6,14,6,6" - Visibility="Collapsed"> - <ComboBox.ItemTemplate> - <DataTemplate x:DataType="local:Account"> - <TextBlock Text="{x:Bind name_, Mode=OneWay}" /> - </DataTemplate> - </ComboBox.ItemTemplate> - </ComboBox> - </Grid> - <TextBlock x:Name="_profilName_" - Grid.Row="1" - Text="" - FontStyle="Italic" - VerticalAlignment="Center" - FontSize="16" - Margin="4,0,4,0" /> - <Grid Grid.Row="2"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="auto"/> - <ColumnDefinition Width="auto"/> - <ColumnDefinition Width="auto"/> - <ColumnDefinition Width="auto"/> - </Grid.ColumnDefinitions> - <Button x:Name="_videoCall_" - Click="_videoCall__Click" - Grid.Column="0" - Content="" - FontFamily="Segoe MDL2 Assets" - FontSize="14" - Style="{StaticResource ButtonStyle4}" - Margin="6,2,6,6"/> - <Button x:Name="_audioCall_" - Grid.Column="1" - Click="_audioCall__Click" - Content="" - FontSize="14" - FontFamily="Segoe MDL2 Assets" - Style="{StaticResource ButtonStyle4}" - Margin="6,2,6,6"/> - <Button x:Name="_clearConversation_" - Grid.Column="2" - Click="_clearConversation__Click" - Content="" - FontFamily="Segoe MDL2 Assets" - FontSize="14" - Style="{StaticResource ButtonStyle4}" - Margin="6,2,6,6"/> - <Button x:Name="_deleteContact_" - Grid.Column="3" - Click="_deleteContact__Click" - Content="" - FontFamily="Segoe MDL2 Assets" - FontSize="14" - Style="{StaticResource ButtonStyle4}" - Margin="6,2,6,6"/> - </Grid> + <TextBlock Grid.Row="0" + x:Name="_contactName_" + Margin="8,4,8,0" + HorizontalAlignment="Left" + VerticalAlignment="Center" + FontSize="18" + FontWeight="Normal" + Text="" + TextTrimming="CharacterEllipsis" + TextWrapping="NoWrap"> + <ToolTipService.ToolTip> + <TextBlock x:Name="_tt_contactName_" /> + </ToolTipService.ToolTip> + </TextBlock> + <TextBlock Grid.Row="2" + x:Name="_contactName2_" + Margin="8,-10,8,0" + HorizontalAlignment="Left" + VerticalAlignment="Center" + FontSize="15" + FontWeight="SemiLight" + Text="" + TextTrimming="CharacterEllipsis" + TextWrapping="NoWrap"> + <ToolTipService.ToolTip> + <TextBlock x:Name="_tt_contactName2_" /> + </ToolTipService.ToolTip> + </TextBlock> + </Grid> + <Grid Grid.Row="0" + Grid.Column="2" + x:Name="_contactButtonsGrid_" + Margin="0,0,14,0" + HorizontalAlignment="Right"> + <StackPanel Orientation="Horizontal"> + <Button x:Name="_sendContactRequestBtn_" + Click="_sendContactRequestBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Style="{StaticResource FlatRoundButton}" + Visibility="Visible"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_send_contactrequest_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_videoCallBtn_" + Click="_videoCallBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Style="{StaticResource FlatRoundButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_video_call_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_audioCallBtn_" + Click="_audioCallBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Style="{StaticResource FlatRoundButton}" + Visibility="Collapsed"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_audio_call_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_clearConversationBtn_" + Click="_clearConversationBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Style="{StaticResource FlatRoundButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_clear_conversation_" /> + </ToolTipService.ToolTip> + </Button> + </StackPanel> </Grid> </Grid> - <ScrollViewer x:Name="_scrollView_" - BorderThickness="0,0,0,0" - BorderBrush="#3bc1d3" - Grid.Row="1" - ScrollViewer.VerticalScrollBarVisibility="Auto"> + <Rectangle Grid.Row="1" + Height="1" + Margin="16,0,16,0" + Fill="LightGray" /> + <ScrollViewer Grid.Row="2" + x:Name="_scrollView_" + VerticalAlignment="Bottom" + BorderBrush="{StaticResource RingBlueMidBrush}" + BorderThickness="0,0,0,0" + ScrollViewer.VerticalScrollBarVisibility="Auto"> <StackPanel> + <Rectangle Height="6" Fill="Transparent" /> <ListBox x:Name="_messagesList_" Margin="0" Padding="0" - ItemContainerStyle="{StaticResource messageBubleStyle}" + Background="{StaticResource RingMessagePageBrush}" + ItemContainerStyle="{StaticResource messageBubbleStyle}" ItemTemplate="{StaticResource ConversationMessageTemplate}"> + <ListBox.RenderTransform> + <TranslateTransform x:Name="_messagesListTranslateTransform_" X="0" Y="0" /> + </ListBox.RenderTransform> </ListBox> + <Rectangle Height="6" Fill="Transparent" /> </StackPanel> </ScrollViewer> - <Grid Height="50" - Grid.Row="2" - Margin="0" - Padding="0" - Background="#FFF2F2F2"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="*" /> - </Grid.ColumnDefinitions> - <TextBox x:Name="_messageTextBox_" - HorizontalAlignment="Stretch" - TextWrapping="NoWrap" - VerticalAlignment="Center" - Margin="8,6,8,6" - Background="White" - KeyDown="_messageTextBox__KeyDown"/> - </Grid> + <StackPanel Grid.Row="3" Orientation="Vertical"> + <Rectangle Grid.Row="0" + Height="1" + Margin="16,0,16,0" + Fill="LightGray" /> + <Grid MinHeight="52" + MaxHeight="128" + Margin="0,0,0,0" + Background="{ThemeResource RingMessagePageBrush}"> + <TextBox x:Name="_messageTextBox_" + x:Uid="_messageTextBox_" + MinHeight="24" + Margin="16,0,16,0" + HorizontalAlignment="Stretch" + VerticalAlignment="Center" + AcceptsReturn="True" + Background="{ThemeResource RingMessagePageBrush}" + IsSpellCheckEnabled="False" + IsTabStop="True" + KeyDown="_messageTextBox__KeyDown" + ScrollViewer.VerticalScrollBarVisibility="Auto" + Style="{StaticResource MessageSendBox}" + TextChanged="_messageTextBox__TextChanged" + TextWrapping="Wrap" /> + </Grid> + </StackPanel> </Grid> </Page> diff --git a/MessageTextPage.xaml.cpp b/MessageTextPage.xaml.cpp index a5e0404..fdbcd65 100644 --- a/MessageTextPage.xaml.cpp +++ b/MessageTextPage.xaml.cpp @@ -1,6 +1,7 @@ /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -19,7 +20,7 @@ #include "ContactListModel.h" #include "MainPage.xaml.h" - +#include "SmartPanel.xaml.h" #include "MessageTextPage.xaml.h" using namespace RingClientUWP::Views; @@ -37,76 +38,168 @@ using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Navigation; using namespace Windows::ApplicationModel::Core; -using namespace Platform; using namespace Windows::UI::Core; - +using namespace Windows::UI::Xaml::Media::Animation; +using namespace Windows::UI::Xaml::Shapes; using namespace Windows::UI::Popups; +using namespace Windows::ApplicationModel::DataTransfer; +using namespace Windows::System::Threading; // refacto : the message text page should be MessageTextPage::MessageTextPage() { InitializeComponent(); - /* bind the source to account only able to be used to contact the contact */ - _associableAccountsList_->ItemsSource = AccountsViewModel::instance->accountsList; - _associableAccountsList_->SelectionChanged += ref new Windows::UI::Xaml::Controls::SelectionChangedEventHandler(this, &RingClientUWP::Views::MessageTextPage::OnSelectionChanged); - /* connect to delegates */ - RingD::instance->incomingAccountMessage += ref new IncomingAccountMessage([&](String^ accountId, - String^ fromRingId, String^ payload) { + RingD::instance->incomingAccountMessage += ref new IncomingAccountMessage([&](String^ accountId, String^ fromRingId, String^ payload) + { scrollDown(); }); RingD::instance->incomingMessage += ref new RingClientUWP::IncomingMessage(this, &RingClientUWP::Views::MessageTextPage::OnincomingMessage); -} + RingD::instance->messageDataLoaded += ref new MessageDataLoaded([&]() { scrollDown(); }); -void -RingClientUWP::Views::MessageTextPage::updatePageContent() -{ - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto contact = item->_contact; + RingD::instance->messageStatusUpdated += ref new MessageStatusUpdated(this, &MessageTextPage::updateMessageStatus); - if (!contact) /* should never happen */ - return; + RingD::instance->windowResized += + ref new WindowResized([=](float width, float height) + { + if (RingD::instance->mainPage) { + bool isSmartPanelOpen = RingD::instance->mainPage->isSmartPanelOpen; + if (width <= 728 && (width > 638 && isSmartPanelOpen)) { + _contactButtonsGrid_->SetValue(Grid::ColumnSpanProperty, 3); + _contactButtonsGrid_->SetValue(Grid::ColumnProperty, static_cast<Object^>(0)); + _contactButtonsGrid_->SetValue(Grid::RowProperty, 1); + _contactButtonsGrid_->Margin = Windows::UI::Xaml::Thickness(6.0, 0.0, 14.0, 6.0); + _contactButtonsGrid_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Left; + } + else { + _contactButtonsGrid_->SetValue(Grid::ColumnSpanProperty, 1); + _contactButtonsGrid_->SetValue(Grid::ColumnProperty, 2); + _contactButtonsGrid_->SetValue(Grid::RowProperty, static_cast<Object^>(0)); + _contactButtonsGrid_->Margin = Windows::UI::Xaml::Thickness(0.0, 0.0, 14.0, 0.0); + _contactButtonsGrid_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Right; + } + } + }); - /* show the name of contact on the page */ - _title_->Text = contact->_name; - _profilName_->Text = contact->_displayName; - contact->_unreadMessages = 0; + RingD::instance->vCardUpdated += ref new VCardUpdated([&](Contact^ contact) + { + Utils::runOnUIThread([this, contact]() { + if (auto item = SmartPanelItemsViewModel::instance->findItem(contact)) { + updatePageContent(item); + } + }); + }); - String^ image_path = Utils::toPlatformString(RingD::instance->getLocalFolder()) + ".vcards\\" + contact->_vcardUID + ".png"; - if (Utils::fileExists(Utils::toString(image_path))) { - auto uri = ref new Windows::Foundation::Uri(image_path); - _contactBarAvatar_->ImageSource = ref new Windows::UI::Xaml::Media::Imaging::BitmapImage(uri); - } - else { - auto uri = ref new Windows::Foundation::Uri("ms-appx:///Assets/TESTS/contactAvatar.png"); - _contactBarAvatar_->ImageSource = ref new Windows::UI::Xaml::Media::Imaging::BitmapImage(uri); - } + lastMessageText = ""; - /* show messages */ - _messagesList_->ItemsSource = contact->_conversation->_messages; + conversation_ = ref new Vector<ConversationMessage^>(); + converstationChunk_ = ref new Platform::Array<ConversationMessage^>(20); +} - /* select the associated accountId stored with the contact */ - auto accountIdAssociated = contact->_accountIdAssociated; - auto list = AccountsViewModel::instance->accountsList; - unsigned int index = 0; - bool found = true; +void +MessageTextPage::updateMessageStatus(String^ messageId, int status) +{ + MSG_("message status update [id: " + messageId + ", status: " + status.ToString() + "]"); + if (status < 2) + return; - for (auto item : list) - if (item->accountID_ == accountIdAssociated) { - found = list->IndexOf(item, &index); - break; + // One does not simply begin a storyboard nested in a datatemplated item. + // We won't check the validity of the UIElement refs so an InvalidCast exception will be thrown + // if the xaml gets changed without adjusting this messy workaround. + auto items = _messagesList_->Items; + for (int i = 0; i < items->Size; ++i) { + if (auto message = dynamic_cast<ConversationMessage^>(items->GetAt(i))) { + if (message->MessageId == messageId) { + auto depObj = _messagesList_->ItemContainerGenerator->ContainerFromItem(items->GetAt(i)); + auto gridElement = Utils::xaml::FindVisualChildByName(depObj, "_confirmationCheckGrid_"); + auto grid = dynamic_cast<Grid^>(gridElement); + auto rect = dynamic_cast<Rectangle^>(grid->Children->GetAt(0)); + auto eventTrigger = dynamic_cast<EventTrigger^>(rect->Triggers->GetAt(0)); + auto beginStoryboard = dynamic_cast<BeginStoryboard^>(eventTrigger->Actions->GetAt(0)); + if (beginStoryboard) { + beginStoryboard->Storyboard->Begin(); + grid->Visibility = VIS::Visible; + } + } } + } +} - if (found) - _associableAccountsList_->SelectedIndex = index; - else - ERR_("mismatch between accountIdAssociated and associable accounts!"); +void +MessageTextPage::updatePageContent(SmartPanelItem^ item) +{ + if (auto selectedItem = (item ? item : SmartPanelItemsViewModel::instance->_selectedItem)) { + auto contact = selectedItem->_contact; + + if (!contact) /* should never happen */ + return; + + /* show the name of contact on the page */ + auto firstChoice = contact->_bestName2; + auto secondChoice = contact->_bestName3; + _contactName_->Text = firstChoice; + _tt_contactName_->Text = firstChoice; + if (firstChoice == contact->ringID_) { + _contactName2_->Visibility = VIS::Collapsed; + } + else { + _contactName2_->Visibility = VIS::Visible; + _contactName2_->Text = secondChoice; + _tt_contactName2_->Text = secondChoice; + } - /* scroll to the last message on the page*/ - scrollDown(); + //_contactBarAvatar_->ImageSource = RingClientUWP::ResourceMananger::instance->imageFromRelativePath(contact->_avatarImage); + if (contact->_avatarImage != " ") { + auto avatarImageUri = ref new Windows::Foundation::Uri(contact->_avatarImage); + _contactBarAvatar_->ImageSource = ref new BitmapImage(avatarImageUri); + _defaultContactBarAvatarGrid_->Visibility = VIS::Collapsed; + _contactBarAvatarGrid_->Visibility = VIS::Visible; + } + else { + _defaultContactBarAvatarGrid_->Visibility = VIS::Visible; + _contactBarAvatarGrid_->Visibility = VIS::Collapsed; + _defaultAvatar_->Fill = contact->_avatarColorBrush; + _defaultAvatarInitial_->Text = Utils::getUpperInitial(contact->_bestName2); + } + if (contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST || + contact->_trustStatus == TrustStatus::CONTACT_REQUEST_SENT || + contact->_trustStatus == TrustStatus::UNKNOWN || + contact->_trustStatus == TrustStatus::INGNORED) + _sendContactRequestBtn_->Visibility = VIS::Visible; + else + _sendContactRequestBtn_->Visibility = VIS::Collapsed; + + if (item == nullptr) { + contact->_unreadMessages = 0; + + /* show messages */ + _messagesList_->ItemsSource = nullptr; + _fadeInMessagesPageInfoStoryBoard_->Begin(); + Utils::runOnUIThreadDelayed(50, [this, contact]() { + auto start = std::chrono::steady_clock::now(); + /*auto conversationSize = contact->_conversation->_messages->Size; + if (conversationSize > 20) { + conversation_->Clear(); + contact->_conversation->_messages->GetMany(conversationSize - 20, converstationChunk_); + for (auto message : converstationChunk_) { + conversation_->Append(message); + } + _messagesList_->ItemsSource = conversation_; + } + else */{ + _messagesList_->ItemsSource = contact->_conversation->_messages; + } + _fadeInMessagesListStoryBoard_->Begin(); + _easeUpMessagesListStoryBoard_->Begin(); + scrollDown(); + auto end = std::chrono::steady_clock::now(); + auto diff = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); + }); + } + } } void RingClientUWP::Views::MessageTextPage::scrollDown() @@ -121,37 +214,34 @@ RingClientUWP::Views::MessageTextPage::_sendBtn__Click(Platform::Object^ sender, sendMessage(); } -void -RingClientUWP::Views::MessageTextPage::_messageTextBox__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) -{ - if (e->Key == Windows::System::VirtualKey::Enter) { - sendMessage(); - } -} - void RingClientUWP::Views::MessageTextPage::sendMessage() { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto contact = item->_contact; + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { + auto contact = item->_contact; - auto txt = _messageTextBox_->Text; + auto message = _messageTextBox_->Text; - /* empty the textbox */ - _messageTextBox_->Text = ""; + IBuffer^ buffUTF8 = CryptographicBuffer::ConvertStringToBinary(message, BinaryStringEncoding::Utf8); + auto stdMessage = Utils::getData(buffUTF8); + MSG_(stdMessage); - if (!contact || txt->IsEmpty()) - return; + if (!contact || message->IsEmpty()) + return; - RingD::instance->sendAccountTextMessage(txt); - scrollDown(); + /* empty the textbox */ + _messageTextBox_->Text = ""; + + RingD::instance->sendAccountTextMessage(message); + scrollDown(); + } } Object ^ RingClientUWP::Views::BubbleBackground::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { - auto color1 = Windows::UI::ColorHelper::FromArgb(255, 0, 76, 96); - auto color2 = Windows::UI::ColorHelper::FromArgb(255, 58, 192, 210); // refacto : defines colors used by the application as globals - return ((bool)value) ? ref new SolidColorBrush(color1) : ref new SolidColorBrush(color2); + auto c1 = Utils::ColorFromString("#ffebefef"); + auto c2 = Utils::ColorFromString("#ffcfebf5"); + return ((bool)value) ? ref new SolidColorBrush(c1) : ref new SolidColorBrush(c2); } // we only do OneWay so the next function is not used @@ -186,61 +276,35 @@ void RingClientUWP::Views::MessageTextPage::OnincomingMessage(Platform::String ^ void RingClientUWP::Views::MessageTextPage::OnSelectionChanged(Platform::Object ^sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs ^e) { - auto account = dynamic_cast<Account^>(_associableAccountsList_->SelectedItem); - SmartPanelItemsViewModel::instance->_selectedItem->_contact->_accountIdAssociated = account->accountID_; -} - -void RingClientUWP::Views::MessageTextPage::_deleteContact__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto contact = item->_contact; - - auto messageDialog = ref new MessageDialog("Are you sure you want to remove this contact?", "Remove Contact"); - - messageDialog->Commands->Append(ref new UICommand("Cancel", ref new UICommandInvokedHandler([this](IUICommand^ command) - {}))); - messageDialog->Commands->Append(ref new UICommand("Remove", ref new UICommandInvokedHandler([=](IUICommand^ command) - { - closeMessageTextPage(); - String^ accountIdAssociated = SmartPanelItemsViewModel::instance->getAssociatedAccountId(item); - if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountIdAssociated))) - contactListModel->deleteContact(contact); - SmartPanelItemsViewModel::instance->removeItem(item); - }))); - - messageDialog->DefaultCommandIndex = 1; - - messageDialog->ShowAsync(); } - -void RingClientUWP::Views::MessageTextPage::_clearConversation__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +void RingClientUWP::Views::MessageTextPage::_clearConversationBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto contact = item->_contact; + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { + auto contact = item->_contact; - auto messageDialog = ref new MessageDialog("Are you sure you want to clear the conversation?", "Clear conversation"); + auto messageDialog = ref new MessageDialog("Are you sure you want to clear the conversation?", "Clear conversation"); - messageDialog->Commands->Append(ref new UICommand("Cancel", ref new UICommandInvokedHandler([this](IUICommand^ command) - {}))); - messageDialog->Commands->Append(ref new UICommand("Clear", ref new UICommandInvokedHandler([=](IUICommand^ command) - { - contact->_conversation->_messages->Clear(); - contact->saveConversationToFile(); - }))); + messageDialog->Commands->Append(ref new UICommand("Cancel", ref new UICommandInvokedHandler([this](IUICommand^ command) + {}))); + messageDialog->Commands->Append(ref new UICommand("Clear", ref new UICommandInvokedHandler([contact](IUICommand^ command) + { + contact->_conversation->_messages->Clear(); + contact->saveConversationToFile(); + }))); - messageDialog->DefaultCommandIndex = 1; + messageDialog->DefaultCommandIndex = 1; - messageDialog->ShowAsync(); + messageDialog->ShowAsync(); + } } -void RingClientUWP::Views::MessageTextPage::_audioCall__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +void RingClientUWP::Views::MessageTextPage::_audioCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto button = dynamic_cast<Button^>(e->OriginalSource); if (button) { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - if (item) { + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { auto contact = item->_contact; if (contact) RingD::instance->placeCall(contact); @@ -249,15 +313,77 @@ void RingClientUWP::Views::MessageTextPage::_audioCall__Click(Platform::Object^ } -void RingClientUWP::Views::MessageTextPage::_videoCall__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +void RingClientUWP::Views::MessageTextPage::_videoCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto button = dynamic_cast<Button^>(e->OriginalSource); if (button) { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - if (item) { + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { auto contact = item->_contact; if (contact) RingD::instance->placeCall(contact); } } } + +void +MessageTextPage::_messageTextBox__TextChanged(Object^ sender, TextChangedEventArgs^ e) +{ + bool carriageReturnPressed = false; + if (_messageTextBox_->Text->Length() == (lastMessageText->Length() + 1) && + _messageTextBox_->Text != "\r") { + unsigned cursorPos = 0; + auto strMessage = Utils::toString(_messageTextBox_->Text); + auto strLastMessage = Utils::toString(lastMessageText); + for (std::string::size_type i = 0; i < strLastMessage.size(); ++i) { + if (strMessage[i] != strLastMessage[i]) { + auto changed = strMessage.substr(i, 1); + if (changed == "\r") { + carriageReturnPressed = true; + } + break; + } + } + + if (strMessage.substr(strMessage.length() - 1) == "\r") { + if (lastMessageText->Length() != 0) { + carriageReturnPressed = true; + } + } + } + + if (carriageReturnPressed && !(RingD::instance->isCtrlPressed || RingD::instance->isShiftPressed)) { + _messageTextBox_->Text = lastMessageText; + sendMessage(); + lastMessageText = ""; + } + + DependencyObject^ child = VisualTreeHelper::GetChild(_messageTextBox_, 0); + auto sendBtnElement = Utils::xaml::FindVisualChildByName(child, "_sendBtn_"); + auto sendBtn = dynamic_cast<Button^>(sendBtnElement); + if (_messageTextBox_->Text != "") { + sendBtn->IsEnabled = true; + } + else { + sendBtn->IsEnabled = false; + } + + lastMessageText = _messageTextBox_->Text; +} + +void +MessageTextPage::_messageTextBox__KeyDown(Object^ sender, KeyRoutedEventArgs^ e) +{ +} + +void +MessageTextPage::_sendContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { + if (auto contact = item->_contact) { + auto accountId = Utils::toString(AccountListItemsViewModel::instance->getSelectedAccountId()); + auto uri = Utils::toString(contact->ringID_); + auto vcard = Configuration::UserPreferences::instance->getVCard(); + RingD::instance->sendContactRequest(accountId, uri, vcard->asString()); + } + } +} diff --git a/MessageTextPage.xaml.h b/MessageTextPage.xaml.h index 8dd8d7d..d5e70c6 100644 --- a/MessageTextPage.xaml.h +++ b/MessageTextPage.xaml.h @@ -1,6 +1,7 @@ /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -17,6 +18,7 @@ **************************************************************************/ #pragma once +#include "TextBlockExtension.h" #include "MessageTextPage.g.h" namespace RingClientUWP @@ -44,23 +46,29 @@ public ref class MessageTextPage sealed { public: MessageTextPage(); - void updatePageContent(); + void scrollDown(); + void updateMessageStatus(String^ messageId, int status); internal: + void updatePageContent(SmartPanelItem^ item = nullptr); event CloseMessageTextPage^ closeMessageTextPage; private: + String^ lastMessageText; + Vector<ConversationMessage^>^ conversation_; + Platform::Array<ConversationMessage^>^ converstationChunk_; + void _sendBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _messageTextBox__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); void sendMessage(); void OnincomingMessage(Platform::String ^callId, Platform::String ^payload); void OnSelectionChanged(Platform::Object ^sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs ^e); - - void _deleteContact__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _clearConversation__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _audioCall__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _videoCall__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _clearConversationBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _audioCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _videoCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _messageTextBox__TextChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::TextChangedEventArgs^ e); + void _sendContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _messageTextBox__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); }; } } diff --git a/Package.appxmanifest b/Package.appxmanifest index 8fa1a09..55e756b 100644 --- a/Package.appxmanifest +++ b/Package.appxmanifest @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap uap3 mp"> - <Identity Name="Savoir-faireLinux.GNURing" Publisher="CN=8121A5F7-3CA1-4CAA-92B2-4F595B011941" Version="1.1.65.0" /> + <Identity Name="Savoir-faireLinux.GNURing" Publisher="CN=8121A5F7-3CA1-4CAA-92B2-4F595B011941" Version="0.0.1.0" /> <mp:PhoneIdentity PhoneProductId="2385953f-9019-423d-aa82-d1bbacfa258b" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> <Properties> <DisplayName>GNU Ring</DisplayName> @@ -28,7 +28,6 @@ <Capability Name="internetClient" /> <Capability Name="privateNetworkClientServer" /> <uap3:Capability Name="backgroundMediaPlayback" /> - <uap:Capability Name="userAccountInformation" /> <DeviceCapability Name="microphone" /> <DeviceCapability Name="webcam" /> </Capabilities> diff --git a/ResourceManager.cpp b/ResourceManager.cpp new file mode 100644 index 0000000..af6918d --- /dev/null +++ b/ResourceManager.cpp @@ -0,0 +1,105 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ +#pragma once + +#include <pch.h> + +#include "ResourceManager.h" + +using namespace RingClientUWP; + +using namespace Windows::UI::Core; +using namespace Windows::ApplicationModel::Resources; + +String^ +getFriendlyResourceName(String^ path) +{ + return Utils::toPlatformString(Utils::fileNameOnly(Utils::toString(path))); +} + +ResourceMananger::ResourceMananger() +{ + stringLoader = ref new ResourceLoader(); +} + +void +ResourceMananger::preloadImage(String^ path) +{ + IOMSG_("attempting to preload image: " + path); + auto friendlyName = getFriendlyResourceName(path); + if (!preload.HasKey(friendlyName)) { + preload.Insert(friendlyName, nullptr); + IAsyncOperation<StorageFile^>^ getFileTask; + if (Utils::toString(path).find("ms-appx") == std::string::npos) { + getFileTask = StorageFile::GetFileFromPathAsync(path); + } + else { + auto uri = ref new Uri(path); + getFileTask = StorageFile::GetFileFromApplicationUriAsync(uri); + } + create_task(getFileTask) + .then([=](task<StorageFile^> t) + { + StorageFile^ storageFile; + try { + storageFile = t.get(); + create_task(storageFile->OpenAsync(FileAccessMode::Read)) + .then([=](task<IRandomAccessStream^> fileStreamTask) + { + try { + auto fileStream = fileStreamTask.get(); + auto bmp = ref new BitmapImage(); + bmp->SetSource(fileStream); + IOMSG_("preloading image: " + friendlyName); + preload.Insert(friendlyName, bmp); + } + catch (Platform::Exception^ e) { + EXC_(e); + } + }); + } + catch (Platform::Exception^ e) { + EXC_(e); + } + }); + } +} + +BitmapImage^ +ResourceMananger::imageFromRelativePath(String^ path) +{ + auto friendlyName = getFriendlyResourceName(path); + if (preload.HasKey(friendlyName)) { + IOMSG_("loading preloaded image: " + friendlyName); + return preload.Lookup(friendlyName); + } + else { + preloadImage(path); + } + auto uri = ref new Uri(path); + auto bmp = ref new BitmapImage(); + bmp->UriSource = uri; + IOMSG_("loading image from disk: " + friendlyName); + return bmp; +} + +String^ +ResourceMananger::getStringResource(String^ key) +{ + return stringLoader->GetString(key); +} \ No newline at end of file diff --git a/CallsViewModel.h b/ResourceManager.h similarity index 57% rename from CallsViewModel.h rename to ResourceManager.h index 28e0864..cc80f9a 100644 --- a/CallsViewModel.h +++ b/ResourceManager.h @@ -1,8 +1,6 @@ -#pragma once /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * -* Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * -* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -17,49 +15,47 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ +#pragma once + +#include <pch.h> + +using namespace Platform; using namespace Platform::Collections; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::Storage; +using namespace Windows::Storage::Streams; +using namespace Windows::System; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Media::Imaging; +using namespace Windows::ApplicationModel::Resources; namespace RingClientUWP { -/* delegate */ -delegate void CallRecieved(Call^ call); -delegate void CallStatusUpdated(Call^ call); -delegate void CallStarted(); -delegate void CallEnded(); -namespace ViewModel { -public ref class CallsViewModel sealed +public ref class ResourceMananger sealed { -internal: - /* singleton */ - static property CallsViewModel^ instance - { - CallsViewModel^ get() - { - static CallsViewModel^ instance_ = ref new CallsViewModel(); +public: + /* properties */ + static property ResourceMananger^ instance { + ResourceMananger^ get() { + static ResourceMananger^ instance_ = ref new ResourceMananger(); return instance_; } } - /* properties */ - property Vector<String^>^ _callIdList - { - Vector<String^>^ get() - { - return callIdsList_; - } - } + void preloadImage(String^ path); + BitmapImage^ imageFromRelativePath(String^ path); - /* events */ - event CallRecieved^ callRecieved; - event CallStatusUpdated^ callStatusUpdated; - event CallStarted^ callStarted; - event CallEnded^ callEnded; + String^ getStringResource(String^ key); private: - CallsViewModel(); // singleton - Vector<String^>^ callIdsList_; + ResourceMananger(); + + Map<String^ , BitmapImage^> preload; + ResourceLoader^ stringLoader; }; -} -} + +} \ No newline at end of file diff --git a/RingConsolePanel.xaml.cpp b/RingConsolePanel.xaml.cpp index 7d58386..723ff67 100644 --- a/RingConsolePanel.xaml.cpp +++ b/RingConsolePanel.xaml.cpp @@ -31,7 +31,11 @@ RingConsolePanel::RingConsolePanel() InitializeComponent(); RingDebug::instance->messageToScreen += ref new debugMessageToScreen([this](Platform::String^ message) { - output(message); + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() + { + output(message); + })); }); } @@ -147,27 +151,6 @@ void RingConsolePanel::sendCommand() MSG_("id : "+Utils::toString(id)); return; } - else if (input == "getContactsList") { - auto list = ContactListModel::instance->contactsList; - MSG_("list of calls returned by the daemon :"); - for (auto contact : list) { - MSG_("name : " + Utils::toString(contact->_name)); - MSG_("ringId : " + Utils::toString(contact->ringID_)); - } - return; - } - else if (input == "placeCall") { - if (parameter1.empty()) { - MSG_("contact name missing"); - return; - } - auto contact = ContactListModel::instance->findContactByName(Utils::toPlatformString(parameter1)); - if (!contact) { - MSG_("contact "+parameter1+" not found"); - return; - } - RingD::instance->placeCall(contact); - } MSG_(">> error, command \'" + input + "\' not found"); } diff --git a/RingD.cpp b/RingD.cpp index b969492..5734526 100644 --- a/RingD.cpp +++ b/RingD.cpp @@ -29,11 +29,9 @@ #include "fileutils.h" #include "account_schema.h" #include "account_const.h" -#include "string_utils.h" // used to get some const expr like TRUE_STR +#include "string_utils.h" #include "gnutls\gnutls.h" -#include "media_const.h" // used to get some const expr like MEDIA_TYPE_VIDEO - -#include "SmartPanel.xaml.h" +#include "media_const.h" using namespace Windows::ApplicationModel::Core; using namespace Windows::Storage; @@ -42,43 +40,82 @@ using namespace Windows::Media; using namespace Windows::Media::MediaProperties; using namespace Windows::Media::Capture; using namespace Windows::System::Threading; +using namespace Windows::Globalization::DateTimeFormatting; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; using namespace RingClientUWP; using namespace RingClientUWP::Utils; using namespace RingClientUWP::ViewModel; -using namespace Windows::UI::ViewManagement; - -using namespace Windows::System; - void -RingClientUWP::RingD::reloadAccountList() +RingD::InternetConnectionChanged(Platform::Object^ sender) { + hasInternet_ = Utils::hasInternet(); + networkChanged(); + connectivityChanged(); +} + +RingD::AccountDetailsBlob +RingD::getAllAccountDetails() +{ + RingD::AccountDetailsBlob allAccountDetails; std::vector<std::string> accountList = DRing::getAccountList(); + std::for_each(std::cbegin(accountList), std::cend(accountList), [&](const std::string& acc) { + allAccountDetails[acc] = DRing::getAccountDetails(acc); + }); + return allAccountDetails; +} - /* if for any reason there is no account at all, screen the wizard */ - if (accountList.size() == 0) { - summonWizard(); - return; +void +RingD::subscribeBuddies() +{ + for (auto account : AccountsViewModel::instance->accountsList) { + if (Utils::hasInternet()) { + auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(account->accountID_)); + for (auto contact : contactListModel->_contactsList) { + if (!contact->subscribed_) { + MSG_("account: " + account->accountID_ + " subscribing to buddy presence for ringID: " + contact->ringID_); + subscribeBuddy(Utils::toString(account->accountID_), Utils::toString(contact->ringID_), true); + contact->subscribed_ = true; + } + } + } } +} - std::vector<std::string>::reverse_iterator rit = accountList.rbegin(); - - for (; rit != accountList.rend(); ++rit) { - std::map<std::string,std::string> accountDetails = DRing::getAccountDetails(*rit); +void +RingD::parseAccountDetails(const AccountDetailsBlob& allAccountDetails) +{ + std::for_each(std::cbegin(allAccountDetails), std::cend(allAccountDetails), + [=](std::pair<std::string, AccountDetails> acc) { + auto accountId = acc.first; + auto accountDetails = acc.second; auto type = accountDetails.find(DRing::Account::ConfProperties::TYPE)->second; if (type == "RING") { auto ringID = accountDetails.find(DRing::Account::ConfProperties::USERNAME)->second; if (!ringID.empty()) ringID = ringID.substr(5); - + bool active = (accountDetails.find(DRing::Account::ConfProperties::ENABLED)->second == ring::TRUE_STR) + ? true + : false; bool upnpState = (accountDetails.find(DRing::Account::ConfProperties::UPNP_ENABLED)->second == ring::TRUE_STR) - ? true - : false; + ? true + : false; + bool autoAnswer = (accountDetails.find(DRing::Account::ConfProperties::AUTOANSWER)->second == ring::TRUE_STR) + ? true + : false; + bool dhtPublicInCalls = (accountDetails.find(DRing::Account::ConfProperties::DHT::PUBLIC_IN_CALLS)->second == ring::TRUE_STR) + ? true + : false; + bool turnEnabled = (accountDetails.find(DRing::Account::ConfProperties::TURN::ENABLED)->second == ring::TRUE_STR) + ? true + : false; + auto turnAddress = accountDetails.find(DRing::Account::ConfProperties::TURN::SERVER)->second; auto alias = accountDetails.find(DRing::Account::ConfProperties::ALIAS)->second; auto deviceId = accountDetails.find(DRing::Account::ConfProperties::RING_DEVICE_ID)->second; - auto accountId = *rit; + auto deviceName = accountDetails.find(DRing::Account::ConfProperties::RING_DEVICE_NAME)->second; auto account = AccountsViewModel::instance->findItem(Utils::toPlatformString(accountId)); @@ -87,16 +124,77 @@ RingClientUWP::RingD::reloadAccountList() account->_upnpState = upnpState; account->accountType_ = Utils::toPlatformString(type); account->ringID_ = Utils::toPlatformString(ringID); + // load contact requests for the account + auto contactRequests = DRing::getTrustRequests(accountId); + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(accountId))) { + for (auto& cr : contactRequests) { + auto ringId = cr.at("from"); + auto timeReceived = cr.at("received"); + auto payload = cr.at("payload"); + auto fromP = Utils::toPlatformString(ringId); + auto contact = contactListModel->findContactByRingId(fromP); + if (contact == nullptr) { + contact = contactListModel->addNewContact(fromP, fromP, TrustStatus::INCOMING_CONTACT_REQUEST, false); + + contactListModel->saveContactsToFile(); + AccountsViewModel::instance->raiseUnreadContactRequest(); + + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + } + else if (ContactRequestItemsViewModel::instance->findItem(contact) == nullptr) { + // The name is the ring id for now + contact->_name = Utils::toPlatformString(ringId); + // The visible ring id will potentially be replaced by a username after a lookup + RingD::instance->lookUpAddress(accountId, Utils::toPlatformString(ringId)); + + auto vcard = contact->getVCard(); + auto parsedPayload = VCardUtils::parseContactRequestPayload(payload); + std::string vcpart; + try { + vcpart.assign(parsedPayload.at("VCARD")); + } + catch (const std::exception& e) { + MSG_(e.what()); + } + if (!vcpart.empty()) { + vcard->setData(vcpart); + vcard->completeReception(); + contact->_displayName = Utils::toPlatformString(vcard->getPart("FN")); + } + + auto newContactRequest = ref new ContactRequestItem(); + newContactRequest->_contact = contact; + ContactRequestItemsViewModel::instance->itemsList->InsertAt(0, newContactRequest); + + ContactRequestItemsViewModel::instance->refreshFilteredItemsList(); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + } + } + } accountUpdated(account); } else { - if (!ringID.empty()) - RingClientUWP::ViewModel::AccountsViewModel::instance->addRingAccount(alias, ringID, accountId, deviceId, upnpState); + if (!ringID.empty()) { + AccountsViewModel::instance->addRingAccount(alias, + ringID, + accountId, + deviceId, + deviceName, + active, + upnpState, + autoAnswer, + dhtPublicInCalls, + turnEnabled, + turnAddress); + } } } else { /* SIP */ auto alias = accountDetails.find(DRing::Account::ConfProperties::ALIAS)->second; - auto accountId = *rit; + bool active = (accountDetails.find(DRing::Account::ConfProperties::ENABLED)->second == ring::TRUE_STR) + ? true + : false; auto sipHostname = accountDetails.find(DRing::Account::ConfProperties::HOSTNAME)->second; auto sipUsername = accountDetails.find(DRing::Account::ConfProperties::USERNAME)->second; auto sipPassword = accountDetails.find(DRing::Account::ConfProperties::PASSWORD)->second; @@ -112,15 +210,21 @@ RingClientUWP::RingD::reloadAccountList() accountUpdated(account); } else { - RingClientUWP::ViewModel::AccountsViewModel::instance->addSipAccount(alias, accountId, sipHostname, sipUsername, sipPassword); + AccountsViewModel::instance->addSipAccount(alias, + accountId, + active, + sipHostname, + sipUsername, + sipPassword); } - - sipPassword = ""; // avoid to keep password in memory } - } + }); +} - // load user preferences - Configuration::UserPreferences::instance->load(); +void +RingD::connectivityChanged() +{ + DRing::connectivityChanged(); } /* nb: send message during conversation not chat video message */ @@ -139,21 +243,20 @@ void RingClientUWP::RingD::sendAccountTextMessage(String^ message) std::string accountId3(accountId2.begin(), accountId2.end()); /* payload(s) */ - std::wstring message2(message->Begin()); - std::string message3(message2.begin(), message2.end()); + IBuffer^ buffUTF8 = CryptographicBuffer::ConvertStringToBinary(message, BinaryStringEncoding::Utf8); + auto stdMessage = Utils::getData(buffUTF8); std::map<std::string, std::string> payloads; - payloads["text/plain"] = message3; + payloads["text/plain"] = stdMessage; /* daemon */ - auto sent = DRing::sendAccountTextMessage(accountId3, toRingId3, payloads); + auto sentToken = DRing::sendAccountTextMessage(accountId3, toRingId3, payloads); /* conversation */ - if (sent) { - contact->_conversation->addMessage(""/* date not yet used*/, MSG_FROM_ME, message); + if (sentToken) { + contact->_conversation->addMessage(MSG_FROM_ME, message, std::time(nullptr), false, sentToken.ToString()); /* save contacts conversation to disk */ contact->saveConversationToFile(); - } else { WNG_("message not sent, see daemon outputs"); } @@ -182,9 +285,20 @@ void RingClientUWP::RingD::sendSIPTextMessage(String^ message) std::map<std::string, std::string> payloads; payloads["text/plain"] = message3; - /* daemon */ - DRing::sendTextMessage(callId3, payloads, accountId3, true /*not used*/); - contact->_conversation->addMessage(""/* date not yet used*/, MSG_FROM_ME, message); + auto task = ref new RingD::Task(Request::SendSIPMessage); + + task->_callid_new = callId3; + task->_accountId_new = accountId3; + task->_payload2 = payloads; + + tasksList_.push(task); + + // No id generated for sip messages within a conversation, so let's generate one + // so we can track message order. + auto messageId = Utils::toPlatformString(Utils::genID(0LL, 9999999999999999999LL)); + contact->_conversation->addMessage(MSG_FROM_ME, message, std::time(nullptr), false, messageId); + + /* save contacts conversation to disk */ contact->saveConversationToFile(); } @@ -196,8 +310,13 @@ void RingClientUWP::RingD::sendSIPTextMessageVCF(std::string callID, std::map<st std::wstring accountId2(accountId->Begin()); std::string accountId3(accountId2.begin(), accountId2.end()); - /* daemon */ - DRing::sendTextMessage(callID, message, accountId3, true /*not used*/); + auto task = ref new RingD::Task(Request::SendSIPMessage); + + task->_callid_new = callID; + task->_accountId_new = accountId3; + task->_payload2 = message; + + tasksList_.push(task); } void @@ -205,8 +324,9 @@ RingD::createRINGAccount(String^ alias, String^ archivePassword, bool upnp, Stri { editModeOn_ = true; - auto frame = dynamic_cast<Frame^>(Window::Current->Content); - dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(true, true); + showLoadingOverlay(ResourceMananger::instance->getStringResource("_m_creating_account_"), SuccessColor); + + isAddingAccount = true; auto task = ref new RingD::Task(Request::AddRingAccount); @@ -223,7 +343,9 @@ RingD::createSIPAccount(String^ alias, String^ sipPassword, String^ sipHostname, { editModeOn_ = true; - auto frame = dynamic_cast<Frame^>(Window::Current->Content); + showLoadingOverlay(ResourceMananger::instance->getStringResource("_m_creating_account_"), SuccessColor); + + isAddingAccount = true; auto task = ref new RingD::Task(Request::AddSIPAccount); @@ -257,6 +379,7 @@ void RingClientUWP::RingD::placeCall(Contact^ contact) auto task = ref new RingD::Task(Request::PlaceCall); task->_accountId_new = Utils::toString(contact->_accountIdAssociated); task->_ringId_new = Utils::toString(contact->ringID_); + task->_sipUsername = contact->_name; tasksList_.push(task); } @@ -275,9 +398,21 @@ void RingClientUWP::RingD::unPauseCall(const std::string & callId) tasksList_.push(task); } -void RingClientUWP::RingD::raiseWindowResized() +void RingClientUWP::RingD::raiseWindowResized(float width, float height) +{ + windowResized(width, height); +} + +void +RingD::raiseVCardUpdated(Contact^ contact) +{ + vCardUpdated(contact); +} + +void +RingD::raiseShareRequested() { - windowResized(); + shareRequested(); } void RingClientUWP::RingD::cancelOutGoingCall2(String ^ callId) @@ -305,7 +440,7 @@ void RingClientUWP::RingD::unPauseCall(String ^ callId) // do not use it, rm dur tasksList_.push(ref new RingD::Task(Request::UnPauseCall, callId)); } -void RingClientUWP::RingD::askToRefreshKnownDevices(String^ accountId) +void RingClientUWP::RingD::getKnownDevices(String^ accountId) { auto task = ref new RingD::Task(Request::GetKnownDevices); task->_accountId = accountId; @@ -343,8 +478,6 @@ void RingClientUWP::RingD::updateAccount(String^ accountId) { editModeOn_ = true; - auto frame = dynamic_cast<Frame^>(Window::Current->Content); - auto task = ref new RingD::Task(Request::UpdateAccount); task->_accountId_new = Utils::toString(accountId); @@ -353,71 +486,124 @@ void RingClientUWP::RingD::updateAccount(String^ accountId) void RingClientUWP::RingD::deleteAccount(String ^ accountId) { - editModeOn_ = true; + isDeletingAccount = true; - auto frame = dynamic_cast<Frame^>(Window::Current->Content); + editModeOn_ = true; auto task = ref new RingD::Task(Request::DeleteAccount); - task->_accountId = accountId; + task->_accountId_new = Utils::toString(accountId); tasksList_.push(task); } void RingClientUWP::RingD::registerThisDevice(String ^ pin, String ^ archivePassword) { + isAddingDevice = true; tasksList_.push(ref new RingD::Task(Request::RegisterDevice, pin, archivePassword)); archivePassword = ""; pin = ""; } void -ShowCallToast(String^ callId, String^ from = nullptr) -{ - String^ payload = - "<toast scenario='incomingCall'> " - "<visual> " - "<binding template='ToastGeneric'>" - "<text>GNU Ring - Incoming call"+ (from?(" from " + from):"") +"</text>" - "</binding>" - "</visual>" - /*"<actions>" - "<action arguments = '" + callId + "' content = 'Accept' />" - "</actions>"*/ - "<audio src='ms-appx:///Assets/default.wav' loop='true'/>" - "</toast>"; +RingD::ShowCallToast(bool background, String^ callId, String^ name) +{ + auto item = SmartPanelItemsViewModel::instance->findItem(callId); + + if (!item) + return; + + auto bestName = name != nullptr ? name : item->_contact->_bestName2; + String^ avatarUri = item->_contact->_avatarImage; + if (avatarUri == nullptr || avatarUri == L" ") + avatarUri = ref new String(L"ms-appx:///Assets/TESTS/contactAvatar.png"); + + String^ xml = + "<toast scenario='incomingCall'>" + "<visual> " + "<binding template='ToastGeneric'>" + "<image placement='appLogoOverride' hint-crop='circle' src='"; + + xml += avatarUri + "'/>"; + + xml += "<text>" + bestName + "</text>"; + + auto acceptArgString = "a:" + callId; + auto refuseArgString = "r:" + callId; + + xml += + "</binding>" + "</visual>" + "<actions>" + "<action activationType='foreground' arguments= '" + acceptArgString + "' content='Accept' />" + "<action activationType='foreground' arguments= '" + refuseArgString + "' content='Refuse' />" + "</actions>" + "<audio silent='true' loop='true'/></toast>"; auto doc = ref new XmlDocument(); - doc->LoadXml(payload); + doc->LoadXml(xml); - auto toast = ref new ToastNotification(doc); - ToastNotificationManager::CreateToastNotifier()->Show(toast); + toastCall = ref new ToastNotification(doc); + toastCall->Dismissed += ref new TypedEventHandler<ToastNotification ^, ToastDismissedEventArgs ^>( + [this](ToastNotification ^sender, ToastDismissedEventArgs ^args) {callToastPopped_ = false; }); + toastCall->Failed += ref new TypedEventHandler<ToastNotification ^, ToastFailedEventArgs ^>( + [this](ToastNotification ^sender, ToastFailedEventArgs ^args) {callToastPopped_ = false; }); + toaster->Show(toastCall); + callToastPopped_ = true; } void -ShowMsgToast(String^ from, String^ payload) +RingD::ShowIMToast(bool background, String^ from, String^ payload, String^ name) { + auto item = SmartPanelItemsViewModel::instance->findItemByRingID(from); + + if (!item) + return; + + IBuffer^ buffUTF8 = CryptographicBuffer::ConvertStringToBinary(payload, BinaryStringEncoding::Utf8); + auto binMessage = Utils::toPlatformString(Utils::getData(buffUTF8)); + + auto bestName = name != nullptr ? name : item->_contact->_bestName2; + String^ avatarUri = item->_contact->_avatarImage; + if (avatarUri == nullptr || avatarUri == L" ") + avatarUri = ref new String(L"ms-appx:///Assets/TESTS/contactAvatar.png"); + String^ xml = - "<toast scenario='incomingMessage'> " - "<visual> " - "<binding template='ToastGeneric'>" - "<text>" + from + " : " + payload + "</text>" - "</binding>" - "</visual>" - "<actions>" - "<action arguments = '" + from + "'/>" - "</actions>" - "<audio src='ms-appx:///Assets/message_notification_sound.wav' loop='false'/>" - "</toast>"; + "<toast scenario='incomingMessage' duration='short'>" + "<visual> " + "<binding template='ToastGeneric'>" + "<image placement='appLogoOverride' hint-crop='circle' src='"; + + xml += avatarUri + "'/>"; + + xml += "<text>" + bestName + "</text>"; + + xml += "<text>" + binMessage + "</text>"; + + xml += + "</binding>" + "</visual>"; + /*"<actions>" + "<input id='replyTextBox' type='text' placeholderContent='Type a reply'/>" + "<action content='Reply' arguments='action=reply&convId=9318' activationType='background' hint-inputId='replyTextBox'/>" + "</actions>";*/ + + xml += "<audio src='ms-appx:///Assets/ringtone_notify.wav' loop='false'/></toast>"; auto doc = ref new XmlDocument(); doc->LoadXml(xml); - auto toast = ref new ToastNotification(doc); - ToastNotificationManager::CreateToastNotifier()->Show(toast); + toastText = ref new ToastNotification(doc); + toaster->Show(toastText); } void -RingD::HandleIncomingMessage( const std::string& callId, +RingD::HideToast(ToastNotification^ toast) +{ + toaster->Hide(toast); +} + +void +RingD::handleIncomingMessage( const std::string& callId, const std::string& accountId, const std::string& from, const std::map<std::string, std::string>& payloads) @@ -459,11 +645,10 @@ RingD::registerCallbacks() dispatcher = CoreApplication::MainView->CoreWindow->Dispatcher; callHandlers = { - // use IncomingCall only to register the call client sided, use StateChange to determine the impact on the UI DRing::exportable_callback<DRing::CallSignal::IncomingCall>([this]( - const std::string& accountId, - const std::string& callId, - const std::string& from) + const std::string& accountId, + const std::string& callId, + const std::string& from) { MSG_("<IncomingCall>"); MSG_("accountId = " + accountId); @@ -480,19 +665,36 @@ RingD::registerCallbacks() CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync( CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { - incomingCall(accountId2, callId2, from2); - stateChange(callId2, CallStatus::INCOMING_RINGING, 0); - + auto account = AccountListItemsViewModel::instance->findItem(accountId2)->_account; if (auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(accountId))) { - auto contact = contactListModel->findContactByRingId(from2); + Contact^ contact; + if (account->accountType_ == "RING") + contact = contactListModel->findContactByRingId(from2); + else if (account->accountType_ == "SIP") + contact = contactListModel->findContactByName(from2); if (contact) { auto item = SmartPanelItemsViewModel::instance->findItem(contact); if (item) item->_callId = callId2; } } + + if (account->_autoAnswer) { + incomingCall(accountId2, callId2, from2); + acceptIncommingCall(callId2); + stateChange(callId2, CallStatus::AUTO_ANSWERING, 0); + } + else { + incomingCall(accountId2, callId2, from2); + stateChange(callId2, CallStatus::INCOMING_RINGING, 0); + } })); }), + DRing::exportable_callback<DRing::CallSignal::SmartInfo>([this]( + const std::map<std::string, std::string>& info) + { + Utils::runOnUIThread([this, info]() {updateSmartInfo(info); }); + }), DRing::exportable_callback<DRing::CallSignal::PeerHold>([this]( const std::string& callId, bool state) @@ -551,46 +753,42 @@ RingD::registerCallbacks() MSG_("state = " + state); MSG_("code = " + std::to_string(code)); + auto item = SmartPanelItemsViewModel::instance->findItem(Utils::toPlatformString(callId)); + if (item == nullptr) + return; + auto callId2 = toPlatformString(callId); auto state2 = toPlatformString(state); auto state3 = translateCallStatus(state2); - if (state3 == CallStatus::OUTGOING_RINGING || - state3 == CallStatus::INCOMING_RINGING) { - try { - Configuration::UserPreferences::instance->sendVCard(callId); - } - catch (Exception^ e) { - EXC_(e); - } - } - - if (state3 == CallStatus::INCOMING_RINGING) { - if (isInBackground) { - ringtone_->Start(); - ShowCallToast(callId2); - } - else - ringtone_->Start(); - } - - if (state3 == CallStatus::IN_PROGRESS) { - ringtone_->Stop(); - } - - if (state3 == CallStatus::ENDED || - (state3 == CallStatus::NONE && code == 106) ) { - DRing::hangUp(callId); // solve a bug in the daemon API. - ringtone_->Stop(); - } - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync( CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { stateChange(callId2, state3, code); })); }), + DRing::exportable_callback<DRing::CallSignal::IncomingMessage>([&]( + const std::string& callId, + const std::string& from, + const std::map<std::string, std::string>& payloads) + { + MSG_("<IncomingMessage>"); + MSG_("callId = " + callId); + MSG_("from = " + from); + + handleIncomingMessage(callId, "", from, payloads); + }), + DRing::exportable_callback<DRing::DebugSignal::MessageSend>([&](const std::string& msg) + { + if (debugModeOn_) { + DMSG_(msg); + } + }) + }; + registerCallHandlers(callHandlers); + + configurationHandlers = { DRing::exportable_callback<DRing::ConfigurationSignal::IncomingAccountMessage>([&]( const std::string& accountId, const std::string& from, @@ -600,18 +798,38 @@ RingD::registerCallbacks() MSG_("accountId = " + accountId); MSG_("from = " + from); - HandleIncomingMessage("", accountId, from, payloads); + handleIncomingMessage("", accountId, from, payloads); }), - DRing::exportable_callback<DRing::CallSignal::IncomingMessage>([&]( - const std::string& callId, - const std::string& from, - const std::map<std::string, std::string>& payloads) + DRing::exportable_callback<DRing::ConfigurationSignal::AccountMessageStatusChanged>([this]( + const std::string& account_id, + uint64_t message_id, + const std::string& to, + int state) { - MSG_("<IncomingMessage>"); - MSG_("callId = " + callId); - MSG_("from = " + from); + MSG_("<AccountMessageStatusChanged>"); + MSG_("account_id = " + account_id); + MSG_("message_id = " + message_id); + MSG_("to = " + Utils::toPlatformString(to)); + MSG_("state = " + state.ToString()); + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { - HandleIncomingMessage(callId, "", from, payloads); + // acquittement de message + auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(account_id)); + if (auto contact = contactListModel->findContactByRingId(Utils::toPlatformString(to))) { + auto conversation = contact->_conversation; + if (conversation) { + for (const auto& msg : conversation->_messages) { + if (msg->MessageIdInteger == message_id && + state == Utils::toUnderlyingValue(DRing::Account::MessageStates::SENT)) { + messageStatusUpdated(msg->MessageId, state); + msg->IsReceived = true; + contact->saveConversationToFile(); + } + } + } + } + })); }), DRing::exportable_callback<DRing::ConfigurationSignal::RegistrationStateChanged>([this]( const std::string& account_id, const std::string& state, @@ -619,101 +837,311 @@ RingD::registerCallbacks() { MSG_("<RegistrationStateChanged>: ID = " + account_id + " state = " + state); if (state == DRing::Account::States::REGISTERED) { - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - reloadAccountList(); - // enleves ce qui suit et utilises des evenements. - registrationStateRegistered(); - // mettre a jour le wizard - /*if (editModeOn_) { - auto frame = dynamic_cast<Frame^>(Window::Current->Content); - dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(false, false); - editModeOn_ = false; - }*/ - setLoadingStatusText("Registration successful", "#ff00ff00"); - })); + auto allAccountDetails = getAllAccountDetails(); + Utils::runOnUIThread([this, account_id, allAccountDetails]() { + if (auto account = AccountsViewModel::instance->findItem(Utils::toPlatformString(account_id))) + account->_registrationState = RegistrationState::REGISTERED; + parseAccountDetails(allAccountDetails); + subscribeBuddies(); + if (isAddingAccount) + OnaccountAdded(); + else if (isUpdatingAccount) + OnaccountUpdated(); + }); + } + else if (state == DRing::Account::States::UNREGISTERED) { + auto allAccountDetails = getAllAccountDetails(); + Utils::runOnUIThread([this, account_id, allAccountDetails]() { + if (auto account = AccountsViewModel::instance->findItem(Utils::toPlatformString(account_id))) + account->_registrationState = RegistrationState::UNREGISTERED; + parseAccountDetails(allAccountDetails); + registrationStateUnregistered(account_id); + if (isAddingAccount) + OnaccountAdded(); + else if (isUpdatingAccount) + OnaccountUpdated(); + }); } else if (state == DRing::Account::States::TRYING) { - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - setLoadingStatusText("Attempting to register account...", "#ff00f0f0"); - })); + auto allAccountDetails = getAllAccountDetails(); + Utils::runOnUIThread([this, account_id, allAccountDetails]() { + if (auto account = AccountsViewModel::instance->findItem(Utils::toPlatformString(account_id))) + account->_registrationState = RegistrationState::TRYING; + parseAccountDetails(allAccountDetails); + subscribeBuddies(); + Configuration::UserPreferences::instance->load(); + registrationStateTrying(account_id); + if (isAddingAccount) + OnaccountAdded(); + else if (isUpdatingAccount) + OnaccountUpdated(); + }); } else if (state == DRing::Account::States::ERROR_GENERIC - || state == DRing::Account::States::ERROR_AUTH - || state == DRing::Account::States::ERROR_NETWORK - || state == DRing::Account::States::ERROR_HOST - || state == DRing::Account::States::ERROR_CONF_STUN - || state == DRing::Account::States::ERROR_EXIST_STUN - || state == DRing::Account::States::ERROR_SERVICE_UNAVAILABLE - || state == DRing::Account::States::ERROR_NOT_ACCEPTABLE - || state == DRing::Account::States::ERROR_NEED_MIGRATION - || state == DRing::Account::States::REQUEST_TIMEOUT) { - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - reloadAccountList(); + || state == DRing::Account::States::ERROR_AUTH + || state == DRing::Account::States::ERROR_NETWORK + || state == DRing::Account::States::ERROR_HOST + || state == DRing::Account::States::ERROR_CONF_STUN + || state == DRing::Account::States::ERROR_EXIST_STUN + || state == DRing::Account::States::ERROR_SERVICE_UNAVAILABLE + || state == DRing::Account::States::ERROR_NOT_ACCEPTABLE + || state == DRing::Account::States::ERROR_NEED_MIGRATION + || state == DRing::Account::States::REQUEST_TIMEOUT) { + auto allAccountDetails = getAllAccountDetails(); + Utils::runOnUIThread([this, account_id, allAccountDetails]() { + parseAccountDetails(allAccountDetails); registrationStateErrorGeneric(account_id); - setLoadingStatusText(Utils::toPlatformString("Failed to register account: " + state), "#ffff0000"); - // ajoute cet event dans le wizard - })); + if (isAddingAccount) + OnaccountAdded(); + }); } }), DRing::exportable_callback<DRing::ConfigurationSignal::AccountsChanged>([this]() { MSG_("<AccountsChanged>"); - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - reloadAccountList(); - /*if (editModeOn_) { - auto frame = dynamic_cast<Frame^>(Window::Current->Content); - dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(false, false); - editModeOn_ = false; + if (isDeletingAccount) { + /*if (AccountListItemsViewModel::instance->itemsList->Size != 0) { + accountUpdated(nullptr); }*/ + OnaccountDeleted(); + } + else { + auto allAccountDetails = getAllAccountDetails(); + Utils::runOnUIThread([this, allAccountDetails]() { + parseAccountDetails(allAccountDetails); + }); + } + }), + DRing::exportable_callback<DRing::ConfigurationSignal::GetAppDataPath>([this]( + const std::string& name, std::vector<std::string>* paths) + { + paths->emplace_back(localFolder_); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::GetDeviceName>([this]( + std::vector<std::string>* hostNames) + { + hostNames->emplace_back(Utils::getHostName()); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::KnownDevicesChanged>([&]( + const std::string& accountId, const std::map<std::string, std::string>& devices) + { + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + if (isAddingDevice) { + isAddingDevice = false; + hideLoadingOverlay("This device has been successfully added", SuccessColor); + } + MSG_("<KnownDevicesChanged>"); + getKnownDevices(Utils::toPlatformString(accountId)); })); }), - DRing::exportable_callback<DRing::DebugSignal::MessageSend>([&](const std::string& msg) + DRing::exportable_callback<DRing::ConfigurationSignal::ExportOnRingEnded>([&]( + const std::string& accountId, int status, const std::string& pin) { - if (debugModeOn_) { - dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - std::string displayMsg = msg.substr(56); - setLoadingStatusText(Utils::toPlatformString(displayMsg.substr(0,40) + "..."), "#ff000000"); - DMSG_(msg); - })); - } - }) - }; - registerCallHandlers(callHandlers); + auto accountId2 = Utils::toPlatformString(accountId); + auto pin2 = (pin.empty()) ? "Error bad password" : "Your generated PIN : " + Utils::toPlatformString(pin); + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + exportOnRingEnded(accountId2, pin2); + })); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::RegisteredNameFound>([this]( + const std::string &accountId, int status, const std::string &address, const std::string &name) + { + MSG_("<RegisteredNameFound>" + name + " : " + address + " status=" +std::to_string(status)); + if (accountId.empty() && address.empty() && name.empty()) + return; + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, + ref new DispatchedHandler([=]() { + switch (status) + { + case 0: // everything went fine. Name/address pair was found. + registeredNameFound(LookupStatus::SUCCESS, accountId, address, name); + break; + case 1: // provided name is not valid. + registeredNameFound(LookupStatus::INVALID_NAME, accountId, address, name); + break; + case 2: // everything went fine. Name/address pair was not found. + registeredNameFound(LookupStatus::NOT_FOUND, accountId, address, name); + break; + case 3: // An error happened + registeredNameFound(LookupStatus::ERRORR, accountId, address, name); + break; + } + })); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::VolatileDetailsChanged>([this]( + const std::string& accountId, const std::map<std::string, std::string>& details) + { + ref new DispatchedHandler([=]() { + volatileDetailsChanged(accountId, details); + }); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::IncomingTrustRequest>([&]( + const std::string& account_id, + const std::string& from, + const std::vector<uint8_t>& payload, + time_t received) + { + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + auto payloadString = std::string(payload.begin(), payload.end()); + MSG_("IncomingTrustRequest"); + MSG_("account_id = " + account_id); + MSG_("from = " + from); + MSG_("received = " + received.ToString()); + MSG_("payload = " + payloadString); + + // First check if this TR has a corresponding contact. If not, add a contact + // to the account's contact list with a trust status flag indicating that + // it should be treated as a TR, and only appear in the contact request list. + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(account_id))) { + auto fromP = Utils::toPlatformString(from); + auto contact = contactListModel->findContactByRingId(fromP); + + // If the contact exists, we should check to see if we have previously + // sent a TR to the peer. If, so we can accept this TR immediately. + // Otherwise, if it is not already been trusted, we can ignore it completely. + if (contact) { + if (contact->_trustStatus == TrustStatus::CONTACT_REQUEST_SENT) { + // get the vcard first + auto vcard = contact->getVCard(); + auto parsedPayload = VCardUtils::parseContactRequestPayload(payloadString); + vcard->setData(parsedPayload.at("VCARD")); + vcard->completeReception(); + + DRing::acceptTrustRequest(account_id, from); + MSG_("Auto accepted IncomingTrustRequest"); + return; + } + else if (contact->_trustStatus != TrustStatus::UNKNOWN) { + MSG_("IncomingTrustRequest ignored"); + return; + } + } + else { + // No contact found, so add a new contact with the INCOMNG_CONTACT_REQUEST trust status flag + contact = contactListModel->addNewContact("", fromP, TrustStatus::INCOMING_CONTACT_REQUEST, false); + } - getAppPathHandler = - { - DRing::exportable_callback<DRing::ConfigurationSignal::GetAppDataPath> - ([this](const std::string& name, std::vector<std::string>* paths) { - paths->emplace_back(localFolder_); - }) - }; - registerCallHandlers(getAppPathHandler); + // The visible ring id will potentially be replaced by a username after a lookup + RingD::instance->lookUpAddress(account_id, Utils::toPlatformString(from)); - /*getAppUserNameHandler = - { - DRing::exportable_callback<DRing::ConfigurationSignal::GetAppUserName> - ([this](std::vector<std::string>* unames) { + auto vcard = contact->getVCard(); + auto parsedPayload = VCardUtils::parseContactRequestPayload(payloadString); + vcard->setData(parsedPayload.at("VCARD")); + vcard->completeReception(); + + // The name is the ring id for now + contact->_name = Utils::toPlatformString(from); + contact->_displayName = Utils::toPlatformString(vcard->getPart("FN")); + + contactListModel->saveContactsToFile(); + AccountsViewModel::instance->raiseUnreadContactRequest(); + + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + + // Add a corresponding contact request control item to the list. + auto newContactRequest = ref new ContactRequestItem(); + newContactRequest->_contact = contact; + ContactRequestItemsViewModel::instance->itemsList->InsertAt(0, newContactRequest); + + ContactRequestItemsViewModel::instance->refreshFilteredItemsList(); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + } + })); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::ContactAdded>([&]( + const std::string& account_id, const std::string& uri, bool confirmed) + { + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + MSG_("ContactAdded"); + MSG_("account_id = " + account_id); + MSG_("uri = " + uri); + MSG_("confirmed = " + confirmed.ToString()); + + // If confirmed is false, we have just sent the TR and nothing need be done. + // If confirmed is true, the sent TR has been accepted and we can change the + // TrustStatus flag for the contact under the account_id, that matches the uri + if (confirmed) { + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(account_id))) { + auto contact = contactListModel->findContactByRingId(Utils::toPlatformString(uri)); + if (contact == nullptr) { + contact = contactListModel->addNewContact( Utils::toPlatformString(uri), + Utils::toPlatformString(uri), + TrustStatus::TRUSTED, false); + RingD::instance->lookUpAddress(account_id, Utils::toPlatformString(uri)); + } + else { + contact->_trustStatus = TrustStatus::TRUSTED; + } + + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + + AccountsViewModel::instance->raiseContactDataModified(Utils::toPlatformString(uri), contact); + + contactListModel->saveContactsToFile(); + } + } + })); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::ContactRemoved>([&]( + const std::string& account_id, const std::string& uri, bool banned) + { + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + MSG_("ContactRemoved"); + MSG_("account_id = " + account_id); + MSG_("uri = " + uri); + MSG_("banned = " + banned.ToString()); + + // It's currently not clear to me how this signal is pertinent to the UWP client + })); + }), + DRing::exportable_callback<DRing::ConfigurationSignal::DeviceRevocationEnded>([&]( + const std::string& accountId, const std::string& device, int status) + { + MSG_("<DeviceRevocationEnded>"); + MSG_("account_id = " + accountId); + MSG_("device = " + device); + MSG_("status = " + status.ToString()); + switch (Utils::toEnum<DeviceRevocationResult>(status)) { + case DeviceRevocationResult::INVALID_CERTIFICATE: + hideLoadingOverlay("Certificate error while revoking device ID: " + Utils::toPlatformString(device), ErrorColor); + break; + case DeviceRevocationResult::INVALID_PASSWORD: + hideLoadingOverlay("Incorrect account password. Can't revoke device ID: " + Utils::toPlatformString(device), ErrorColor); + break; + case DeviceRevocationResult::SUCCESS: + getKnownDevices(Utils::toPlatformString(accountId)); + hideLoadingOverlay("Device with ID: " + Utils::toPlatformString(device) + " has been successfully revoked", SuccessColor); + break; + } + })/*, + DRing::exportable_callback<DRing::ConfigurationSignal::GetAppUserName>([this]( + std::vector<std::string>* unames) + { unames->emplace_back(Utils::toString( UserModel::instance->firstName + "." + UserModel::instance->lastName)); - }) + })*/ }; - registerCallHandlers(getAppUserNameHandler);*/ + registerConfHandlers(configurationHandlers); - incomingVideoHandlers = - { - DRing::exportable_callback<DRing::VideoSignal::DeviceEvent> - ([this]() { + using namespace Video; + videoHandlers = { + DRing::exportable_callback<DRing::VideoSignal::DeviceEvent>([this]() + { MSG_("<DeviceEvent>"); }), - DRing::exportable_callback<DRing::VideoSignal::DecodingStarted> - ([&](const std::string &id, const std::string &shmPath, int width, int height, bool isMixer) { + DRing::exportable_callback<DRing::VideoSignal::DecodingStarted>([&]( + const std::string &id, const std::string &shmPath, int width, int height, bool isMixer) + { dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { Video::VideoManager::instance->rendererManager()->startedDecoding( @@ -724,27 +1152,24 @@ RingD::registerCallbacks() incomingVideoMuted(callId2, false); })); }), - DRing::exportable_callback<DRing::VideoSignal::DecodingStopped> - ([&](const std::string &id, const std::string &shmPath, bool isMixer) { + DRing::exportable_callback<DRing::VideoSignal::DecodingStopped>([&]( + const std::string &id, const std::string &shmPath, bool isMixer) + { dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { Video::VideoManager::instance->rendererManager()->removeRenderer(Utils::toPlatformString(id)); auto callId2 = Utils::toPlatformString(id); incomingVideoMuted(callId2, true); })); - }) - }; - registerVideoHandlers(incomingVideoHandlers); - - using namespace Video; - outgoingVideoHandlers = - { - DRing::exportable_callback<DRing::VideoSignal::DeviceAdded> - ([this](const std::string& device) { + }), + DRing::exportable_callback<DRing::VideoSignal::DeviceAdded>([this]( + const std::string& device) + { MSG_("<DeviceAdded>"); }), - DRing::exportable_callback<DRing::VideoSignal::ParametersChanged> - ([&](const std::string& device) { + DRing::exportable_callback<DRing::VideoSignal::ParametersChanged>([&]( + const std::string& device) + { dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { MSG_("<ParametersChanged>"); @@ -756,16 +1181,17 @@ RingD::registerCallbacks() stoi(settings["rate"])); })); }), - DRing::exportable_callback<DRing::VideoSignal::StartCapture> - ([&](const std::string& device) { + DRing::exportable_callback<DRing::VideoSignal::StartCapture>([&]( + const std::string& device) + { dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { VideoManager::instance->captureManager()->InitializeCameraAsync(false); VideoManager::instance->captureManager()->videoFrameCopyInvoker->Start(); })); }), - DRing::exportable_callback<DRing::VideoSignal::StopCapture> - ([&]() { + DRing::exportable_callback<DRing::VideoSignal::StopCapture>([&]() + { dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { VideoManager::instance->captureManager()->StopPreviewAsync(); @@ -775,56 +1201,58 @@ RingD::registerCallbacks() })); }) }; - registerVideoHandlers(outgoingVideoHandlers); + registerVideoHandlers(videoHandlers); - nameRegistrationHandlers = - { - DRing::exportable_callback<DRing::ConfigurationSignal::KnownDevicesChanged>([&](const std::string& accountId, const std::map<std::string, std::string>& devices) + presenceHandlers = { + DRing::exportable_callback<DRing::PresenceSignal::NewBuddyNotification>([&]( + const std::string& account_id, const std::string& buddy_uri, int status, const std::string& /*line_status*/) { dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - MSG_("KnownDevicesChanged ---> C PAS FINI"); - })); - }), - DRing::exportable_callback<DRing::ConfigurationSignal::ExportOnRingEnded>([&](const std::string& accountId, int status, const std::string& pin) - { - auto accountId2 = Utils::toPlatformString(accountId); - auto pin2 = (pin.empty()) ? "Error bad password" : "Your generated pin : " + Utils::toPlatformString(pin); - dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - exportOnRingEnded(accountId2, pin2); - })); - }), - DRing::exportable_callback<DRing::ConfigurationSignal::RegisteredNameFound>( - [this](const std::string &accountId, int status, const std::string &address, const std::string &name) { - //MSG_("<RegisteredNameFound>" + name + " : " + address + " status=" +std::to_string(status)); - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, - ref new DispatchedHandler([=]() { - switch (status) - { - case 0: // everything went fine. Name/address pair was found. - registeredNameFound(LookupStatus::SUCCESS, address, name); - break; - case 1: // provided name is not valid. - registeredNameFound(LookupStatus::INVALID_NAME, address, name); - break; - case 2: // everything went fine. Name/address pair was not found. - registeredNameFound(LookupStatus::NOT_FOUND, address, name); - break; - case 3: // An error happened - registeredNameFound(LookupStatus::ERRORR, address, name); - break; - } + ref new DispatchedHandler([=]() { + MSG_("NewBuddyNotification"); + MSG_("account_id = " + account_id); + MSG_("uri = " + buddy_uri); + MSG_("status = " + status); + // react to presence + dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + newBuddyNotification(account_id, buddy_uri, status); + })); })); - }), - DRing::exportable_callback<DRing::ConfigurationSignal::VolatileDetailsChanged>( - [this](const std::string& accountId, const std::map<std::string, std::string>& details) { - ref new DispatchedHandler([=]() { - volatileDetailsChanged(accountId, details); - }); }) }; - registerConfHandlers(nameRegistrationHandlers); + registerPresHandlers(presenceHandlers); +} + +void +RingD::OnaccountAdded() +{ + isAddingAccount = false; + hideLoadingOverlay("Account created successfully", SuccessColor, 2000); + // new account will be at index(0) + Configuration::UserPreferences::instance->raiseSelectIndex(0); + Configuration::UserPreferences::instance->save(); +} + +void +RingD::OnaccountUpdated() +{ + isUpdatingAccount = false; + hideLoadingOverlay("Account updated successfully", SuccessColor, 500); +} + +void +RingD::OnaccountDeleted() +{ + isDeletingAccount = false; + if (AccountListItemsViewModel::instance->itemsList->Size == 0) { + auto configFile = RingD::instance->getLocalFolder() + ".config\\dring.yml"; + Utils::fileDelete(configFile); + Utils::runOnUIThreadDelayed(100,[this]() {summonWizard(); }); + } + else { + hideLoadingOverlay("Account deleted successfully", SuccessColor, 500); + } } void @@ -838,6 +1266,8 @@ RingD::init() return; } + setOverlayStatusText("Starting Ring...", "#ff000000"); + gnutls_global_init(); RingD::instance->registerCallbacks(); RingD::instance->initDaemon( DRing::DRING_FLAG_CONSOLE_LOG | DRing::DRING_FLAG_DEBUG ); @@ -871,6 +1301,13 @@ RingD::startDaemon() IAsyncAction^ action = ThreadPool::RunAsync(ref new WorkItemHandler([=](IAsyncAction^ spAction) { + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, + ref new DispatchedHandler([=]() { + if (!isInWizard) { + setOverlayStatusText("Loading from config...", "#ff000000"); + } + })); + daemonRunning_ = DRing::start(); auto vcm = Video::VideoManager::instance->captureManager(); @@ -907,10 +1344,6 @@ RingD::startDaemon() case StartingStatus::NORMAL: default: { - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, - ref new DispatchedHandler([=]() { - reloadAccountList(); - })); break; } } @@ -921,6 +1354,10 @@ RingD::startDaemon() fileDelete(tokenFile); } + if (!isInWizard) { + hideLoadingOverlay("Ring started successfully", SuccessColor, 1000); + } + while (daemonRunning) { DRing::pollEvents(); dequeueTasks(); @@ -932,11 +1369,54 @@ RingD::startDaemon() RingD::RingD() { + toaster = ToastNotificationManager::CreateToastNotifier(); + + NetworkInformation::NetworkStatusChanged += ref new NetworkStatusChangedEventHandler(this, &RingD::InternetConnectionChanged); + this->stateChange += ref new StateChange(this, &RingD::onStateChange); ringtone_ = ref new Ringtone("default.wav"); localFolder_ = Utils::toString(ApplicationData::Current->LocalFolder->Path); callIdsList_ = ref new Vector<String^>(); currentCallId = nullptr; - WriteLine("XBOX: " + isOnXBox.ToString()); +} + +void +RingD::onStateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code) +{ + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync( + CoreDispatcherPriority::High, ref new DispatchedHandler([=]() + { + if (state == CallStatus::OUTGOING_RINGING || + state == CallStatus::IN_PROGRESS) { + try { + Configuration::UserPreferences::instance->sendVCard(Utils::toString(callId)); + } + catch (Exception^ e) { + EXC_(e); + } + } + + if (state == CallStatus::INCOMING_RINGING) { + ringtone_->Start(); + } + + if (state == CallStatus::IN_PROGRESS) { + ringtone_->Stop(); + if (callToastPopped_) { + HideToast(toastCall); + callToastPopped_ = false; + } + } + + if (state == CallStatus::ENDED || + (state == CallStatus::NONE && code == 106)) { + if (callToastPopped_) { + HideToast(toastCall); + callToastPopped_ = false; + } + DRing::hangUp(Utils::toString(callId)); + ringtone_->Stop(); + } + })); } std::string @@ -945,6 +1425,24 @@ RingD::getLocalFolder() return localFolder_ + Utils::toString("\\"); } +void +RingD::showLoadingOverlay(String^ text, String^ color) +{ + Utils::runOnUIThread([=]() { + setOverlayStatusText(text, color); + mainPage->showLoadingOverlay(true, true); + }); +} + +void +RingD::hideLoadingOverlay(String^ text, String^ color, int delayInMilliseconds) +{ + Utils::runOnUIThread([=]() { setOverlayStatusText(text, color); }); + Utils::runOnUIThreadDelayed(delayInMilliseconds, [=]() { + mainPage->showLoadingOverlay(false, false); + }); +} + void RingD::dequeueTasks() { @@ -956,15 +1454,25 @@ RingD::dequeueTasks() break; case Request::PlaceCall: { - auto callId = DRing::placeCall(task->_accountId_new, "ring:" + task->_ringId_new); + auto selectedAccount = AccountListItemsViewModel::instance->_selectedItem->_account; + std::string callId; + if (selectedAccount->accountType_ == "RING") + callId = DRing::placeCall(task->_accountId_new, "ring:" + task->_ringId_new); + else if (selectedAccount->accountType_ == "SIP") + callId = DRing::placeCall(task->_accountId_new, "sip:" + Utils::toString(task->_sipUsername)); CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { + ref new DispatchedHandler([=]() { if (auto contactListModel = AccountsViewModel::instance->getContactListModel(task->_accountId_new)) { - auto contact = contactListModel->findContactByRingId(Utils::toPlatformString(task->_ringId_new)); - auto item = SmartPanelItemsViewModel::instance->findItem(contact); - item->_callId = Utils::toPlatformString(callId); - if (!callId.empty()) - callPlaced(Utils::toPlatformString(callId)); + Contact^ contact; + if (selectedAccount->accountType_ == "RING") + contact = contactListModel->findContactByRingId(Utils::toPlatformString(task->_ringId_new)); + else if (selectedAccount->accountType_ == "SIP") + contact = contactListModel->findContactByName(task->_sipUsername); + if (auto item = SmartPanelItemsViewModel::instance->findItem(contact)) { + item->_callId = Utils::toPlatformString(callId); + if (!callId.empty()) + callPlaced(Utils::toPlatformString(callId)); + } } })); } @@ -1044,33 +1552,21 @@ RingD::dequeueTasks() std::map<std::string, std::string> deviceDetails; deviceDetails.insert(std::make_pair(DRing::Account::ConfProperties::TYPE, "RING")); - //deviceDetails.insert(std::make_pair(DRing::Account::ConfProperties::UPNP_ENABLED, "true")); - //deviceDetails.insert(std::make_pair(DRing::Account::ConfProperties::ALIAS, "MonSuperUsername")); deviceDetails.insert(std::make_pair(DRing::Account::ConfProperties::ARCHIVE_PIN, pin)); deviceDetails.insert(std::make_pair(DRing::Account::ConfProperties::ARCHIVE_PASSWORD, password)); - DRing::addAccount(deviceDetails); - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - auto frame = dynamic_cast<Frame^>(Window::Current->Content); - dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(true, true); - })); + DRing::addAccount(deviceDetails); } break; case Request::GetKnownDevices: { - auto accountId = task->_accountId; - auto accountId2 = Utils::toString(accountId); - - auto devicesList = DRing::getKnownRingDevices(accountId2); + auto devicesList = DRing::getKnownRingDevices(Utils::toString(task->_accountId)); if (devicesList.empty()) break; - auto devicesList2 = translateKnownRingDevices(devicesList); - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([=]() { - devicesListRefreshed(devicesList2); + devicesListRefreshed(Utils::convertMap(devicesList)); })); break; } @@ -1091,17 +1587,21 @@ RingD::dequeueTasks() std::map<std::string, std::string> accountDetails = DRing::getAccountDetails(task->_accountId_new); std::map<std::string, std::string> accountDetailsOld(accountDetails); - - accountDetails[DRing::Account::ConfProperties::ALIAS] = Utils::toString(account->name_); + accountDetails[DRing::Account::ConfProperties::ENABLED] = (account->_active) ? ring::TRUE_STR : ring::FALSE_STR; + accountDetails[DRing::Account::ConfProperties::RING_DEVICE_NAME] = Utils::toString(account->_deviceName); if (accountDetails[DRing::Account::ConfProperties::TYPE] == "RING") { + accountDetails[DRing::Account::ConfProperties::UPNP_ENABLED] = (account->_upnpState) ? ring::TRUE_STR : ring::FALSE_STR; + accountDetails[DRing::Account::ConfProperties::AUTOANSWER] = (account->_autoAnswer) ? ring::TRUE_STR : ring::FALSE_STR; + accountDetails[DRing::Account::ConfProperties::DHT::PUBLIC_IN_CALLS] = (account->_dhtPublicInCalls) ? ring::TRUE_STR : ring::FALSE_STR; + accountDetails[DRing::Account::ConfProperties::TURN::ENABLED] = (account->_turnEnabled) ? ring::TRUE_STR : ring::FALSE_STR; + accountDetails[DRing::Account::ConfProperties::TURN::SERVER] = Utils::toString(account->_turnAddress); if (accountDetails == accountDetailsOld) break; - - accountDetails[DRing::Account::ConfProperties::UPNP_ENABLED] = (account->_upnpState) ? ring::TRUE_STR : ring::FALSE_STR; CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { + setOverlayStatusText(ResourceMananger::instance->getStringResource("_m_updating_account_"), SuccessColor); auto frame = dynamic_cast<Frame^>(Window::Current->Content); dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(true, true); })); @@ -1110,9 +1610,14 @@ RingD::dequeueTasks() accountDetails[DRing::Account::ConfProperties::HOSTNAME] = Utils::toString(account->_sipHostname); accountDetails[DRing::Account::ConfProperties::PASSWORD] = Utils::toString(account->_sipPassword); accountDetails[DRing::Account::ConfProperties::USERNAME] = Utils::toString(account->_sipUsername); + if (accountDetails == accountDetailsOld) + break; } + isUpdatingAccount = true; DRing::setAccountDetails(Utils::toString(account->accountID_), accountDetails); + Configuration::UserPreferences::instance->save(); + break; } case Request::DeleteAccount: @@ -1122,13 +1627,11 @@ RingD::dequeueTasks() std::map<std::string, std::string> accountDetails = DRing::getAccountDetails(task->_accountId_new); - if (accountDetails[DRing::Account::ConfProperties::TYPE] == "RING") - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { + Utils::runOnUIThread([this]() { + setOverlayStatusText(ResourceMananger::instance->getStringResource("_m_deleting_account_"), "#ffff0000"); auto frame = dynamic_cast<Frame^>(Window::Current->Content); dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->showLoadingOverlay(true, true); - })); - + }); DRing::removeAccount(accountId2); break; @@ -1174,12 +1677,12 @@ RingD::dequeueTasks() case Request::LookUpName: { auto alias = task->_alias; - DRing::lookupName("", "", Utils::toString(alias)); + DRing::lookupName(task->_accountId_new, "", Utils::toString(alias)); break; } case Request::LookUpAddress: { - DRing::lookupAddress("", "", Utils::toString(task->_address)); + DRing::lookupAddress(task->_accountId_new, "", Utils::toString(task->_address)); break; } case Request::RegisterName: @@ -1199,16 +1702,35 @@ RingD::dequeueTasks() })); } - - //const wchar_t* toto = task->_accountId->Data(); - //auto accountId = ref new String(toto);// Utils::toString(task->_accountId); - //auto accountDetails = DRing::getAccountDetails(Utils::toString(accountId)); - - //if (accountDetails[DRing::Account::ConfProperties::USERNAME].empty()) - // registerName(task->_accountId, task->_password, task->_registeredName); - //else - // DRing::registerName(Utils::toString(task->_accountId), Utils::toString(task->_password), Utils::toString(task->_registeredName)); - + break; + } + case Request::SubscribeBuddy: + { + DRing::subscribeBuddy(task->_accountId_new, task->_ringId_new, true); + break; + } + case Request::SendContactRequest: + { + std::vector<uint8_t> payload(task->_payload.begin(), task->_payload.end()); + DRing::sendTrustRequest(task->_accountId_new, task->_ringId_new, payload); + break; + } + case Request::RemoveContact: + { + DRing::removeContact(task->_accountId_new, task->_ringId_new, false); + break; + } + case Request::RevokeDevice: + { + auto msg = ResourceMananger::instance->getStringResource("_m_revoking_device_"); + showLoadingOverlay(msg + Utils::toPlatformString(task->_deviceId), SuccessColor); + DRing::revokeDevice(task->_accountId_new, task->_password_new, task->_deviceId); + MSG_("revoking device, (id=" + task->_deviceId + ")"); + break; + } + case Request::SendSIPMessage: + { + DRing::sendTextMessage(task->_callid_new, task->_payload2, task->_accountId_new, true /*not used*/); break; } default: @@ -1274,14 +1796,6 @@ void RingClientUWP::RingD::muteAudio(const std::string& callId, bool muted) tasksList_.push(task); } -void RingClientUWP::RingD::lookUpName(String ^ name) -{ - auto task = ref new RingD::Task(Request::LookUpName); - task->_alias = name; - - tasksList_.push(task); -} - void RingD::registerName(String^ accountId, String^ password, String^ username) { @@ -1293,6 +1807,16 @@ RingD::registerName(String^ accountId, String^ password, String^ username) tasksList_.push(task); } +void +RingD::subscribeBuddy(const std::string& accountId, const std::string& uri, bool flag) +{ + auto task = ref new RingD::Task(Request::SubscribeBuddy); + task->_accountId_new = accountId; + task->_ringId_new = uri; + + tasksList_.push(task); +} + void RingClientUWP::RingD::registerName_new(const std::string & accountId, const std::string & password, const std::string & username) { auto task = ref new RingD::Task(Request::RegisterName); @@ -1303,16 +1827,59 @@ void RingClientUWP::RingD::registerName_new(const std::string & accountId, const tasksList_.push(task); } +void +RingD::removeContact(const std::string& accountId, const std::string& uri) +{ + auto task = ref new RingD::Task(Request::RemoveContact); + task->_accountId_new = accountId; + task->_ringId_new = uri; + tasksList_.push(task); +} + +void +RingD::sendContactRequest(const std::string& accountId, const std::string& uri, const std::string& payload) +{ + auto task = ref new RingD::Task(Request::SendContactRequest); + task->_accountId_new = accountId; + task->_ringId_new = uri; + task->_payload = payload; + tasksList_.push(task); +} + std::map<std::string, std::string> RingClientUWP::RingD::getVolatileAccountDetails(Account^ account) { return DRing::getVolatileAccountDetails(Utils::toString(account->accountID_)); } -void RingClientUWP::RingD::lookUpAddress(String^ address) +void +RingD::lookUpName(const std::string& accountId, String ^ name) +{ + auto task = ref new RingD::Task(Request::LookUpName); + task->_alias = name; + task->_accountId_new = accountId; + + tasksList_.push(task); +} + +void +RingD::lookUpAddress(const std::string& accountId, String^ address) { auto task = ref new RingD::Task(Request::LookUpAddress); task->_address = address; + task->_accountId_new = accountId; + + tasksList_.push(task); +} + +void +RingD::revokeDevice(const std::string& accountId, const std::string& password, const std::string& deviceId) +{ + auto task = ref new RingD::Task(Request::RevokeDevice); + + task->_accountId_new = accountId; + task->_password_new = password; + task->_deviceId = deviceId; tasksList_.push(task); } @@ -1356,18 +1923,16 @@ RingD::getUserName() return nullptr; } -Vector<String^>^ RingClientUWP::RingD::translateKnownRingDevices(const std::map<std::string, std::string> devices) +void +RingD::startSmartInfo(int refresh) { - auto devicesList = ref new Vector<String^>(); - - for (auto i : devices) { - MSG_("devices.first = " + i.first); - MSG_("devices.second = " + i.second); - auto deviceName = Utils::toPlatformString(i.second); - devicesList->Append(deviceName); - } + DRing::startSmartInfo(refresh); +} - return devicesList; +void +RingD::stopSmartInfo() +{ + DRing::stopSmartInfo(); } void RingClientUWP::RingD::setFullScreenMode() @@ -1395,3 +1960,9 @@ void RingClientUWP::RingD::toggleFullScreen() else setFullScreenMode(); } + +void +RingD::raiseMessageDataLoaded() +{ + messageDataLoaded(); +} diff --git a/RingD.h b/RingD.h index f6e51f8..dc5cdea 100644 --- a/RingD.h +++ b/RingD.h @@ -30,34 +30,40 @@ using namespace Windows::UI::ViewManagement; namespace RingClientUWP { -// its ok to keep this enum here and to use it with the wizard, because in pch.h headers are a-z sorted, -// but it would be much more consistent to move this enum in globals.h when merged - public enum class StartingStatus { NORMAL, REGISTERING_ON_THIS_PC, REGISTERING_THIS_DEVICE }; -/* delegate */ +/* delegates */ delegate void IncomingCall(String^ accountId, String^ callId, String^ from); delegate void StateChange(String^ callId, CallStatus state, int code); delegate void IncomingAccountMessage(String^ accountId, String^ from, String^ payload); delegate void CallPlaced(String^ callId); delegate void IncomingMessage(String^ callId, String^ payload); -delegate void DevicesListRefreshed(Vector<String^>^ devicesList); +delegate void DevicesListRefreshed(Map<String^, String^>^ deviceMap); delegate void ExportOnRingEnded(String^ accountId, String^ pin); delegate void SummonWizard(); delegate void AccountUpdated(Account^ account); delegate void IncomingVideoMuted(String^ callId, bool state); -delegate void RegisteredNameFound(LookupStatus status, const std::string& address, const std::string& name); +delegate void RegisteredNameFound(LookupStatus status, const std::string& accountId, const std::string& address, const std::string& name); delegate void FinishCaptureDeviceEnumeration(); delegate void RegistrationStateErrorGeneric(const std::string& accountId); -delegate void RegistrationStateRegistered(); -delegate void SetLoadingStatusText(String^ statusText, String^ color); +delegate void RegistrationStateRegistered(const std::string& accountId); +delegate void RegistrationStateUnregistered(const std::string& accountId); +delegate void RegistrationStateTrying(const std::string& accountId); +delegate void SetOverlayStatusText(String^ statusText, String^ color); delegate void CallsListRecieved(const std::vector<std::string>& callsList); delegate void AudioMuted(const std::string& callId, bool state); delegate void VideoMuted(const std::string& callId, bool state); delegate void NameRegistred(bool status); delegate void FullScreenToggled(bool state); -delegate void WindowResized(); +delegate void WindowResized(float width, float height); +delegate void NetworkChanged(); +delegate void MessageDataLoaded(); +delegate void UpdateSmartInfo(const std::map<std::string, std::string>& info); +delegate void MessageStatusUpdated(String^ messageId, int status); delegate void VolatileDetailsChanged(const std::string& accountId, const std::map<std::string, std::string>& details); +delegate void NewBuddyNotification(const std::string& accountId, const std::string& uri, int status); +delegate void VCardUpdated(Contact^ owner); +delegate void ShareRequested(); using SharedCallback = std::shared_ptr<DRing::CallbackWrapperBase>; using namespace std::placeholders; @@ -65,57 +71,89 @@ using namespace std::placeholders; public ref class RingD sealed { public: - /* functions */ - void raiseWindowResized(); - /* properties */ - static property RingD^ instance - { - RingD^ get() - { + static property RingD^ instance { + RingD^ get() { static RingD^ instance_ = ref new RingD(); return instance_; } } - property bool daemonInitialized - { - bool get() - { + property bool daemonInitialized { + bool get() { return daemonInitialized_; } } - property bool daemonRunning - { - bool get() - { + property bool daemonRunning { + bool get() { return daemonRunning_; } } - property bool isFullScreen - { - bool get() - { + property bool _hasInternet { + bool get() { + return hasInternet_; + } + } + + property bool isInWizard; + + property bool isFullScreen { + bool get() { return ApplicationView::GetForCurrentView()->IsFullScreenMode; } } - property bool isOnXBox - { - bool get() - { + property bool isOnXBox { + bool get() { auto dev = Utils::toString(Windows::System::Profile::AnalyticsInfo::VersionInfo->DeviceFamily); std::transform(dev.begin(), dev.end(), dev.begin(), ::tolower); return !dev.compare("windows.xbox"); } } - property bool isInBackground; + property bool isInBackground { + bool get() { + return isInBackground_; + } + void set(bool value) { + isInBackground_ = value; + connectivityChanged(); + } + } + + property bool isInvisible { + bool get() { + return isInvisible_; + } + void set(bool value) { + isInvisible_ = value; + } + } + + property Ringtone^ ringtone { + Ringtone^ get() { + return ringtone_; + } + } + + property MainPage^ mainPage { + MainPage^ get() { + auto frame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); + return dynamic_cast<RingClientUWP::MainPage^>(frame->Content); + } + } + property StartingStatus _startingStatus; + property bool isCtrlPressed; + property bool isShiftPressed; + + /* functions */ void cancelOutGoingCall2(String^ callId); // marche + void raiseWindowResized(float width, float height); + void raiseShareRequested(); internal: // why this property has to be internal and not public ? property Vector<String^>^ _callIdsList @@ -126,8 +164,10 @@ internal: // why this property has to be internal and not public ? } } + std::map<String^, std::function<void(String^ username)>> unpoppedToasts; -internal: + using AccountDetails = std::map<std::string, std::string>; + using AccountDetailsBlob = std::map<std::string, AccountDetails>; /* functions */ std::string getLocalFolder(); void registerCallbacks(); @@ -135,7 +175,9 @@ internal: void startDaemon(); void init(); void deinit(); - void reloadAccountList(); + AccountDetailsBlob getAllAccountDetails(); + void parseAccountDetails(const AccountDetailsBlob& allAccountDetails); + void subscribeBuddies(); void sendAccountTextMessage(String^ message); void sendSIPTextMessage(String^ message); void sendSIPTextMessageVCF(std::string callID, std::map<std::string, std::string> message); @@ -146,11 +188,11 @@ internal: void placeCall(Contact^ contact); void pauseCall(const std::string& callId); void unPauseCall(const std::string& callId); - /*void cancelOutGoingCall2(String^ callId);*/ // marche pas CallStatus translateCallStatus(String^ state); String^ getUserName(); - Vector<String^>^ translateKnownRingDevices(const std::map<std::string, std::string> devices); - void HandleIncomingMessage( const std::string& callId, + void startSmartInfo(int refresh); + void stopSmartInfo(); + void handleIncomingMessage( const std::string& callId, const std::string& accountId, const std::string& from, const std::map<std::string, std::string>& payloads); @@ -158,11 +200,12 @@ internal: void toggleFullScreen(); void setWindowedMode(); void setFullScreenMode(); - + void connectivityChanged(); + void onStateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code); void hangUpCall2(String^ callId); void pauseCall(String ^ callId); void unPauseCall(String ^ callId); - void askToRefreshKnownDevices(String^ accountId); + void getKnownDevices(String^ accountId); void askToExportOnRing(String^ accountId, String^ password); void eraseCacheFolder(); void updateAccount(String^ accountId); @@ -173,12 +216,27 @@ internal: void switchDebug(); void muteVideo(String^ callId, bool muted); void muteAudio(const std::string& callId, bool muted); - void lookUpName(String^ name); + void subscribeBuddy(const std::string& accountId, const std::string& uri, bool flag); void registerName(String^ accountId, String^ password, String^ username); void registerName_new(const std::string& accountId, const std::string& password, const std::string& username); std::map<std::string, std::string> getVolatileAccountDetails(Account^ account); - void lookUpAddress(String^ address); + void lookUpName(const std::string& accountId, String^ name); + void lookUpAddress(const std::string& accountId, String^ address); std::string registeredName(Account^ account); + void removeContact(const std::string & accountId, const std::string& uri); + void sendContactRequest(const std::string& accountId, const std::string& uri, const std::string& payload); + void raiseMessageDataLoaded(); + void raiseVCardUpdated(Contact^ contact); + void revokeDevice(const std::string& accountId, const std::string& password, const std::string& deviceId); + void showLoadingOverlay(String^ text, String^ color); + void hideLoadingOverlay(String^ text, String^ color, int delayInMilliseconds = 2000); + void OnaccountAdded(); + void OnaccountUpdated(); + void OnaccountDeleted(); + + void ShowCallToast(bool background, String^ callId, String^ name = nullptr); + void ShowIMToast(bool background, String^ from, String^ payload, String^ name = nullptr); + void HideToast(ToastNotification^ toast); /* TODO : move members */ String ^ currentCallId; // to save ongoing call id during visibility change @@ -198,14 +256,23 @@ internal: event FinishCaptureDeviceEnumeration^ finishCaptureDeviceEnumeration; event RegistrationStateErrorGeneric^ registrationStateErrorGeneric; event RegistrationStateRegistered^ registrationStateRegistered; - event SetLoadingStatusText^ setLoadingStatusText; + event RegistrationStateUnregistered^ registrationStateUnregistered; + event RegistrationStateTrying^ registrationStateTrying; + event SetOverlayStatusText^ setOverlayStatusText; event CallsListRecieved^ callsListRecieved; // est implemente a la base pour regler le probleme du boutton d'appel qui est present lorsqu'un appel est en cours, mais il n'est pas utilise. Voir si ca peut servir a autre chose event AudioMuted^ audioMuted; event VideoMuted^ videoMuted; event NameRegistred^ nameRegistred; event FullScreenToggled^ fullScreenToggled; event WindowResized^ windowResized; + event NetworkChanged^ networkChanged; + event MessageDataLoaded^ messageDataLoaded; + event UpdateSmartInfo^ updateSmartInfo; + event MessageStatusUpdated^ messageStatusUpdated; event VolatileDetailsChanged^ volatileDetailsChanged; + event NewBuddyNotification^ newBuddyNotification; + event VCardUpdated^ vCardUpdated; + event ShareRequested^ shareRequested; private: /* sub classes */ @@ -232,10 +299,16 @@ private: MuteAudio, LookUpName, LookUpAddress, - RegisterName + SendContactRequest, + AcceptContactRequest, + DiscardContactRequest, + RegisterName, + RemoveContact, + RevokeDevice, + SubscribeBuddy, + SendSIPMessage }; - Vector<String^>^ callIdsList_; ref class Task @@ -270,35 +343,51 @@ private: internal: std::string _accountId_new; + std::string _payload; + std::map<std::string, std::string> _payload2; std::string _password_new; std::string _publicUsername_new; std::string _callid_new; std::string _ringId_new; + std::string _deviceId; bool _audioMuted_new; }; /* functions */ RingD(); // singleton + void dequeueTasks(); -// CallStatus translateCallStatus(String^ state); + void InternetConnectionChanged(Platform::Object^ sender); + //CallStatus translateCallStatus(String^ state); /* members */ Windows::UI::Core::CoreDispatcher^ dispatcher; - std::string localFolder_; + bool hasInternet_; + bool isAddingDevice = false; + bool isAddingAccount = false; + bool isUpdatingAccount = false; + bool isDeletingAccount = false; + bool isInBackground_ = false; + bool isInvisible_ = false; bool daemonInitialized_ = false; - bool daemonRunning_ = false; + bool daemonRunning_ = false; + bool editModeOn_ = false; + bool debugModeOn_ = true; + bool callToastPopped_ = false; + + std::string localFolder_; std::queue<Task^> tasksList_; StartingStatus startingStatus_ = StartingStatus::NORMAL; - bool editModeOn_ = false; - bool debugModeOn_ = true; Ringtone^ ringtone_; + ToastNotification^ toastText; + ToastNotification^ toastCall; + Windows::UI::Notifications::ToastNotifier^ toaster; + std::map<std::string, SharedCallback> callHandlers; - std::map<std::string, SharedCallback> getAppPathHandler; - std::map<std::string, SharedCallback> getAppUserNameHandler; - std::map<std::string, SharedCallback> incomingVideoHandlers; - std::map<std::string, SharedCallback> outgoingVideoHandlers; - std::map<std::string, SharedCallback> nameRegistrationHandlers; + std::map<std::string, SharedCallback> configurationHandlers; + std::map<std::string, SharedCallback> presenceHandlers; + std::map<std::string, SharedCallback> videoHandlers; }; } diff --git a/RingDebug.cpp b/RingDebug.cpp index d90ffd1..f573561 100644 --- a/RingDebug.cpp +++ b/RingDebug.cpp @@ -43,11 +43,11 @@ getDebugHeader(std::string file, int line) static uint64_t secs = s.count(); static uint64_t millis = ms.count() - (secs * 1000); - std::ostringstream out; - const auto prev_fill = out.fill(); - out << '[' << secs - << '.' << std::right << std::setw(3) << std::setfill('0') << millis << std::left - << '|' << std::right << std::setw(5) << std::setfill(' ') << tid << std::left; + std::ostringstream out; + const auto prev_fill = out.fill(); + out << '[' << secs + << '.' << std::right << std::setw(3) << std::setfill('0') << millis << std::left + << '|' << std::right << std::setw(5) << std::setfill(' ') << tid << std::left; out.fill(prev_fill); out << "|" << std::setw(32) << (file + ':' + Utils::toString((line.ToString()))); out << "] "; @@ -59,96 +59,96 @@ void RingDebug::print(const std::string& message, const Type& type, std::string file, int line) { - std::string _message; + Utils::runOnWorkerThread([this, message, type, file, line]() + { + std::string _message; - if (type != Type::DMN) - _message = getDebugHeader(file, line) + message; - else - _message = message; + if (type != Type::DMN) + _message = getDebugHeader(file, line) + message; + else + _message = message; - std::wstring wString = std::wstring(_message.begin(), _message.end()); + std::wstring wString = std::wstring(_message.begin(), _message.end()); - /* set message type. */ - wString = (type>Type::WNG)?(L"(EE) "):((type>Type::MSG)?(L"(WW) "):(L"")) + wString; + /* set message type. */ + wString = (type>Type::WNG) ? (L"(EE) ") : ((type>Type::MSG) ? (L"(WW) ") : (L"")) + wString; - String^ msg; - msg = ref new String(wString.c_str(), wString.length()); + String^ msg; + msg = ref new String(wString.c_str(), wString.length()); #if UWP_DBG_VS - /* screen it into VS debug console */ - OutputDebugString((wString + L"\n").c_str()); + /* screen it into VS debug console */ + OutputDebugString((wString + L"\n").c_str()); #endif -#if UWP_DBG_CLIENT - /* fire the event. */ - messageToScreen(msg); +#if UWP_DBG_CONSOLE + /* fire the event. */ + messageToScreen(msg); #endif #if UWP_DBG_FILE - /* output to file */ - std::ofstream ofs; - ofs.open (RingD::instance->getLocalFolder() + "debug.log", std::ofstream::out | std::ofstream::app); - ofs << Utils::toString(msg) << "\n"; - ofs.close(); + /* output to file */ + printToLogFile(Utils::toString(msg)); #endif + }, WorkItemPriority::Normal); } void RingDebug::print(String^ message, const Type& type, std::string file, int line) { - /* add header */ - auto messageTimestamped = Utils::toPlatformString(getDebugHeader(file, line)) + message; + Utils::runOnWorkerThread([this, message, type, file, line]() + { + /* add header */ + auto messageTimestamped = Utils::toPlatformString(getDebugHeader(file, line)) + message; - /* set message type. */ - messageTimestamped = (type>Type::WNG)?("(EE) "):((type>Type::MSG)?("(WW) "):("")) + messageTimestamped; + /* set message type. */ + messageTimestamped = (type>Type::WNG) ? ("(EE) ") : ((type>Type::MSG) ? ("(WW) ") : ("")) + messageTimestamped; #if UWP_DBG_VS - /* screen it into VS debug console */ - std::wstringstream wStringstream; - wStringstream << messageTimestamped->Data() << "\n"; - OutputDebugString(wStringstream.str().c_str()); + /* screen it into VS debug console */ + std::wstringstream wStringstream; + wStringstream << messageTimestamped->Data() << "\n"; + OutputDebugString(wStringstream.str().c_str()); #endif -#if UWP_DBG_CLIENT - /* fire the event. */ - messageToScreen(messageTimestamped); +#if UWP_DBG_CONSOLE + /* fire the event. */ + messageToScreen(messageTimestamped); #endif #if UWP_DBG_FILE - /* output to file */ - std::ofstream ofs; - ofs.open (RingD::instance->getLocalFolder() + "debug.log", std::ofstream::out | std::ofstream::app); - ofs << Utils::toString(messageTimestamped) << "\n"; - ofs.close(); + /* output to file */ + printToLogFile(Utils::toString(messageTimestamped)); #endif + }, WorkItemPriority::Normal); } void RingDebug::print(Exception^ e, std::string file, int line) { - /* add header */ - auto message = Utils::toPlatformString(getDebugHeader(file, line)) + "0x" + e->HResult.ToString() + ": " + e->Message; + Utils::runOnWorkerThread([this, e, file, line]() + { + /* add header */ + auto message = Utils::toPlatformString(getDebugHeader(file, line)) + "Exception : 0x" + e->HResult.ToString() + ": " + e->Message; #if UWP_DBG_VS - /* screen it into VS debug console */ - std::wstringstream wStringstream; - wStringstream << message->Data() << "\n"; - OutputDebugString(wStringstream.str().c_str()); + /* screen it into VS debug console */ + std::wstringstream wStringstream; + wStringstream << message->Data() << "\n"; + OutputDebugString(wStringstream.str().c_str()); #endif -#if UWP_DBG_CLIENT - /* fire the event. */ - messageToScreen(message); +#if UWP_DBG_CONSOLE + /* fire the event. */ + messageToScreen(message); #endif #if UWP_DBG_FILE - /* output to file */ - std::ofstream ofs; - ofs.open (RingD::instance->getLocalFolder() + "debug.log", std::ofstream::out | std::ofstream::app); - ofs << Utils::toString(message) << "\n"; - ofs.close(); + /* output to file */ + printToLogFile(Utils::toString(message)); #endif + }, WorkItemPriority::Normal); } RingDebug::RingDebug() @@ -159,3 +159,14 @@ RingDebug::RingDebug() ofs.close(); } +void +RingDebug::printToLogFile(std::string msg) +{ + { + std::lock_guard<std::mutex> l(debugMutex_); + std::ofstream ofs; + ofs.open(RingD::instance->getLocalFolder() + "debug.log", std::ofstream::out | std::ofstream::app); + ofs << msg << "\n"; + ofs.close(); + } +} diff --git a/RingDebug.h b/RingDebug.h index a7d4951..44bcdbd 100644 --- a/RingDebug.h +++ b/RingDebug.h @@ -17,10 +17,14 @@ **************************************************************************/ #pragma once -#define UWP_DBG_CLIENT 0 +#define UWP_DBG_CONSOLE 0 #define UWP_DBG_VS 1 #define UWP_DBG_FILE 1 +#define UWP_DBG_CLIENT 1 +#define UWP_DBG_IO 0 +#define UWP_DBG_DAEMON 1 + using namespace Windows::Storage; namespace RingClientUWP @@ -57,40 +61,56 @@ internal: std::string file, int line); void print(Exception^ e, std::string file, int line); + void printToLogFile(std::string msg); + /* event */ event debugMessageToScreen^ messageToScreen; private: + std::mutex debugMutex_; RingDebug(); // singleton }; -void WriteLine(String^ str) +void +WriteLine(String^ str) { std::wstringstream wStringstream; wStringstream << str->Data() << "\n"; OutputDebugString(wStringstream.str().c_str()); } -void WriteException(Exception^ ex) +__declspec(deprecated) +void +WriteException(Exception^ ex) { std::wstringstream wStringstream; wStringstream << "0x" << ex->HResult << ": " << ex->Message->Data(); OutputDebugString(wStringstream.str().c_str()); } -#define DMSG_(str) CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, \ -ref new DispatchedHandler([=]() { RingDebug::instance->print(str, RingDebug::Type::DMN, __FILE__, __LINE__); })) - -#define MSG_(str) CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, \ -ref new DispatchedHandler([=]() { RingDebug::instance->print(str, RingDebug::Type::MSG, __FILE__, __LINE__); })) - -#define WNG_(str) CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, \ -ref new DispatchedHandler([=]() { RingDebug::instance->print(str, RingDebug::Type::WNG, __FILE__, __LINE__); })) - -#define ERR_(str) CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, \ -ref new DispatchedHandler([=]() { RingDebug::instance->print(str, RingDebug::Type::ERR, __FILE__, __LINE__); })) - -#define EXC_(e) CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, \ -ref new DispatchedHandler([=]() { RingDebug::instance->print(e, __FILE__, __LINE__); })) +#if UWP_DBG_DAEMON +#define DMSG_(str) RingDebug::instance->print(str, RingDebug::Type::DMN, __FILE__, __LINE__) +#else +#define DMSG_(str) +#endif + +#if UWP_DBG_CLIENT +#define MSG_(str) RingDebug::instance->print(str, RingDebug::Type::MSG, __FILE__, __LINE__) +#define WNG_(str) RingDebug::instance->print(str, RingDebug::Type::WNG, __FILE__, __LINE__) +#define ERR_(str) RingDebug::instance->print(str, RingDebug::Type::ERR, __FILE__, __LINE__) +#define EXC_(e) RingDebug::instance->print(e, __FILE__, __LINE__) + +#if UWP_DBG_IO +#define IOMSG_(str) MSG_(str) +#else +#define IOMSG_(str) +#endif +#else +#define MSG_(str) +#define WNG_(str) +#define ERR_(str) +#define EXC_(e) +#define IOMSG_(str) +#endif } diff --git a/CallsViewModel.cpp b/RingDevice.h similarity index 69% rename from CallsViewModel.cpp rename to RingDevice.h index 1bdb5a8..ea0aaa6 100644 --- a/CallsViewModel.cpp +++ b/RingDevice.h @@ -1,4 +1,4 @@ -/************************************************************************** +/*************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * * Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * @@ -16,23 +16,21 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ -#include "pch.h" +#pragma once -#include "CallsViewModel.h" - -using namespace RingClientUWP; -using namespace ViewModel; -using namespace Windows::UI::Core; -using namespace Windows::ApplicationModel::Core; +namespace RingClientUWP +{ -CallsViewModel::CallsViewModel() +struct RingDevice { - callIdsList_ = ref new Vector<String^>(); + RingDevice() { }; + RingDevice(const std::string& id, const std::string& name) + : id(id) + , name(name) + { } - /* connect to delegates. */ + std::string id; + std::string name; +}; - RingD::instance->incomingCall += ref new RingClientUWP::IncomingCall([&]( - String^ accountId, String^ callId, String^ from) { - callIdsList_->Append(callId); // TODO : check if the string is remove when the call ends. - }); } diff --git a/Call.cpp b/RingDeviceItem.cpp similarity index 64% rename from Call.cpp rename to RingDeviceItem.cpp index 1854a8f..ef913b2 100644 --- a/Call.cpp +++ b/RingDeviceItem.cpp @@ -1,6 +1,6 @@ /************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * -* Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -17,30 +17,24 @@ **************************************************************************/ #include "pch.h" -#include "Call.h" +#include "RingDeviceItem.h" using namespace Windows::ApplicationModel::Core; using namespace Platform; +using namespace Windows::Data::Json; using namespace Windows::UI::Core; using namespace RingClientUWP; +using namespace RingClientUWP::Controls; +using namespace ViewModel; -// REFACTORING : for the whole Call class, change "from" to "peer" - -Call::Call(String^ accountIdz, String^ callIdz, String^ fromz) +RingDeviceItem::RingDeviceItem(String^ deviceId, String^ deviceName) + :device_(std::make_unique<RingDevice>(Utils::toString(deviceId), Utils::toString(deviceName))) { - this->accountId = accountIdz; - this->callId = callIdz; - this->from = fromz; - - isOutGoing = false; // by default, we consider the call incomming, REFACTO : add this to the constructor params... - - this->state = CallStatus::NONE; - this->code = -1; } void -Call::NotifyPropertyChanged(String^ propertyName) +RingDeviceItem::NotifyPropertyChanged(String^ propertyName) { CoreApplicationView^ view = CoreApplication::MainView; view->CoreWindow->Dispatcher->RunAsync( @@ -48,22 +42,11 @@ Call::NotifyPropertyChanged(String^ propertyName) ref new DispatchedHandler([this, propertyName]() { PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName)); - })); } -//void RingClientUWP::Call::refuse() -//{ -// RingD::instance->refuseIncommingCall(this); -//} -// -//void RingClientUWP::Call::accept() -//{ -// RingD::instance->acceptIncommingCall(this); -//} -// -//void RingClientUWP::Call::cancel() -//{ -// MSG_("!2--->> cancel"); -// RingD::instance->cancelOutGoingCall(this); -//} +void +RingDeviceItem::raiseNotifyPropertyChanged(String^ propertyName) +{ + NotifyPropertyChanged(propertyName); +} diff --git a/RingDeviceItem.h b/RingDeviceItem.h new file mode 100644 index 0000000..d5de79b --- /dev/null +++ b/RingDeviceItem.h @@ -0,0 +1,80 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#pragma once + +using namespace Platform; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Data; + +namespace RingClientUWP +{ + +namespace Controls +{ + +public ref class RingDeviceItem sealed : public INotifyPropertyChanged +{ + +public: + RingDeviceItem(String^ deviceId, String^ deviceName); + + void raiseNotifyPropertyChanged(String^ propertyName); + virtual event PropertyChangedEventHandler^ PropertyChanged; + + property String^ _deviceName { + String^ get() { + return Utils::toPlatformString(device_->name); + } + void set(String^ value) { + device_->name = Utils::toString(value); + NotifyPropertyChanged("_deviceName"); + } + } + + property String^ _deviceId { + String^ get() { + return Utils::toPlatformString(device_->id); + } + void set(String^ value) { + device_->id = Utils::toString(value); + NotifyPropertyChanged("_deviceId"); + } + } + + property bool _isSelected { + bool get() { + return isSelected_; + } + void set(bool value) { + isSelected_ = value; + NotifyPropertyChanged("_isSelected"); + } + } + +protected: + void NotifyPropertyChanged(String^ propertyName); + +private: + std::unique_ptr<RingDevice> device_; + + bool isSelected_; +}; +} +} + diff --git a/RingDeviceItemsViewModel.cpp b/RingDeviceItemsViewModel.cpp new file mode 100644 index 0000000..6870702 --- /dev/null +++ b/RingDeviceItemsViewModel.cpp @@ -0,0 +1,67 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#include "pch.h" + +#include "RingDeviceItemsViewModel.h" + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::Data::Json; +using namespace Windows::Storage; +using namespace Windows::Storage::Streams; +using namespace Windows::UI::Core; +using namespace Windows::Globalization::DateTimeFormatting; + + +using namespace RingClientUWP; +using namespace ViewModel; + +RingDeviceItemsViewModel::RingDeviceItemsViewModel() +{ + itemsList_ = ref new Vector<RingDeviceItem^>(); +} + +RingDeviceItem^ +RingDeviceItemsViewModel::findItem(String^ deviceId) +{ + for each (RingDeviceItem^ item in itemsList) + if (item->_deviceId == deviceId) + return item; + + return nullptr; +} + +unsigned int +RingDeviceItemsViewModel::getIndex(String^ deviceId) +{ + for (unsigned i = 0; i < itemsList_->Size; i++) + if (itemsList_->GetAt(i)->_deviceId == deviceId) + return i; + + return 0; +} + +void +RingDeviceItemsViewModel::removeItem(RingDeviceItem ^ item) +{ + unsigned int index; + + if (itemsList->IndexOf(item, &index)) { + itemsList->RemoveAt(index); + } +} \ No newline at end of file diff --git a/RingDeviceItemsViewModel.h b/RingDeviceItemsViewModel.h new file mode 100644 index 0000000..6bdd769 --- /dev/null +++ b/RingDeviceItemsViewModel.h @@ -0,0 +1,83 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#pragma once + +#include "RingDeviceItem.h" + +using namespace Platform::Collections; +using namespace Concurrency; + +using namespace RingClientUWP; +using namespace RingClientUWP::Controls; + +namespace RingClientUWP +{ + +namespace ViewModel +{ + +public ref class RingDeviceItemsViewModel sealed +{ +internal: + /* singleton */ + static property RingDeviceItemsViewModel^ instance { + RingDeviceItemsViewModel^ get() { + static RingDeviceItemsViewModel^ instance_ = ref new RingDeviceItemsViewModel(); + return instance_; + } + } + + /* functions */ + RingDeviceItem^ findItem(String^ deviceId); + unsigned int getIndex(String^ deviceId); + void removeItem(RingDeviceItem^ item); + + property IObservableVector<RingDeviceItem^>^ itemsList { + IObservableVector<RingDeviceItem^>^ get() { + return itemsList_; + } + } + + property RingDeviceItem^ _selectedItem { + RingDeviceItem^ get() { + return currentItem_; + } + void set(RingDeviceItem^ value) { + oldItem_ = currentItem_; + currentItem_ = value; + + if (oldItem_ != nullptr) + oldItem_->_isSelected = false; + + if (currentItem_ != nullptr) { + currentItem_->_isSelected = true; + } + } + } + +private: + RingDeviceItemsViewModel(); // singleton + + Vector<RingDeviceItem^>^ itemsList_; + + RingDeviceItem^ currentItem_; + RingDeviceItem^ oldItem_; +}; +} +} diff --git a/Ringtone.cpp b/Ringtone.cpp index d0685c9..516d2d1 100644 --- a/Ringtone.cpp +++ b/Ringtone.cpp @@ -42,20 +42,20 @@ Ringtone::Ringtone(String^ fileName) void Ringtone::Start() { - _graph->Start(); + _deviceOutputNode->OutgoingGain = startingGain; + _graph->ResetAllNodes(); } void Ringtone::Stop() { - _graph->Stop(); - _graph->ResetAllNodes(); + _deviceOutputNode->OutgoingGain = 0.0; } task<void> Ringtone::CreateGraph() { - AudioGraphSettings^ settings = ref new AudioGraphSettings(Windows::Media::Render::AudioRenderCategory::Media); + AudioGraphSettings^ settings = ref new AudioGraphSettings(Windows::Media::Render::AudioRenderCategory::GameChat); return create_task(AudioGraph::CreateAsync(settings)) .then([=](CreateAudioGraphResult^ result){ if (result->Status != AudioGraphCreationStatus::Success) { @@ -74,6 +74,9 @@ Ringtone::CreateDefaultDeviceOutputNode() MSG_("CreateDefaultDeviceOutputNode failed"); } _deviceOutputNode = result->DeviceOutputNode; + startingGain = _deviceOutputNode->OutgoingGain; + _deviceOutputNode->OutgoingGain = 0.0; + _graph->Start(); }); } @@ -86,12 +89,6 @@ Ringtone::CreateFileInputNode() .then([=](StorageFolder^ assetsFolder){ create_task(assetsFolder->GetFileAsync(fileName_)) .then([=](StorageFile^ ringtoneFile){ - // functions as a Background task but will force a SMTC panel into the thumbnail - //mp = ref new MediaPlayer(); - //mp->Source = MediaSource::CreateFromStorageFile(ringtoneFile); - ////mp->CommandManager->IsEnabled = false; - //mp->IsLoopingEnabled = true; - //mp->Play(); create_task(_graph->CreateFileInputNodeAsync(ringtoneFile)) .then([=](CreateAudioFileInputNodeResult^ result){ if (result->Status != AudioFileNodeCreationStatus::Success) { diff --git a/Ringtone.h b/Ringtone.h index bd26f78..9acce11 100644 --- a/Ringtone.h +++ b/Ringtone.h @@ -22,7 +22,6 @@ using namespace Platform; using namespace Windows::Media::Audio; using namespace Windows::Media::Core; -using namespace Windows::Media::Playback; namespace RingClientUWP { @@ -39,8 +38,8 @@ private: AudioFileInputNode^ _fileInputNode; AudioGraph^ _graph; AudioDeviceOutputNode^ _deviceOutputNode; - MediaPlayer^ mp; String^ fileName_; + double startingGain; task<void> CreateGraph(); task<void> CreateDefaultDeviceOutputNode(); diff --git a/ScrollBars.xaml b/ScrollBars.xaml new file mode 100644 index 0000000..1db8bf9 --- /dev/null +++ b/ScrollBars.xaml @@ -0,0 +1,600 @@ +<!-- ********************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/> . * +*********************************************************************** --> +<ResourceDictionary + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + <Style TargetType="ScrollBar"> + <Setter Property="MinWidth" Value="6" /> + <Setter Property="MaxWidth" Value="6" /> + <Setter Property="MinHeight" Value="12" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="Transparent" /> + <Setter Property="BorderBrush" Value="Transparent" /> + <Setter Property="IsTabStop" Value="False" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="ScrollBar"> + <Grid x:Name="Root"> + <Grid.Resources> + <ControlTemplate x:Key="RepeatButtonTemplate" TargetType="RepeatButton"> + <Grid x:Name="Root" Background="Transparent"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + <ControlTemplate x:Key="HorizontalIncrementTemplate" TargetType="RepeatButton"> + <Grid x:Name="Root"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAltHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <FontIcon x:Name="Arrow" Visibility="Collapsed" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" FontSize="6" MirroredWhenRightToLeft="True" /> + </Grid> + </ControlTemplate> + <ControlTemplate x:Key="HorizontalDecrementTemplate" TargetType="RepeatButton"> + <Grid x:Name="Root"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"/> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAltHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <FontIcon x:Name="Arrow" Visibility="Collapsed" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" FontSize="6" MirroredWhenRightToLeft="True"/> + </Grid> + </ControlTemplate> + <ControlTemplate x:Key="VerticalIncrementTemplate" TargetType="RepeatButton"> + <Grid x:Name="Root"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAltHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <FontIcon x:Name="Arrow" Visibility="Collapsed" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" FontSize="6" /> + </Grid> + </ControlTemplate> + <ControlTemplate x:Key="VerticalDecrementTemplate" TargetType="RepeatButton"> + <Grid x:Name="Root"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAltHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Arrow" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <FontIcon x:Name="Arrow" Visibility="Collapsed" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" FontSize="6" /> + </Grid> + </ControlTemplate> + <ControlTemplate x:Key="VerticalThumbTemplate" TargetType="Thumb"> + <Rectangle x:Name="ThumbVisual" Fill="{StaticResource RingBlueMidBrush}"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ThumbVisual" + Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource RingBlueDarkBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ThumbVisual" + Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource RingBlueUltraDarkBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ThumbVisual" /> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Rectangle> + </ControlTemplate> + <ControlTemplate x:Key="HorizontalThumbTemplate" TargetType="Thumb"> + <Rectangle x:Name="ThumbVisual" Fill="{ThemeResource SystemControlForegroundBaseLowBrush}"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ThumbVisual" + Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ThumbVisual" + Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ThumbVisual" /> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Rectangle> + </ControlTemplate> + </Grid.Resources> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver" /> + <VisualState x:Name="Disabled"> + <Storyboard> + <DoubleAnimation Duration="0" + To="0.5" + Storyboard.TargetProperty="Opacity" + Storyboard.TargetName="Root" /> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalTrackRect" + Storyboard.TargetProperty="Stroke"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalTrackRect" + Storyboard.TargetProperty="Stroke"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalPanningThumb" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalPanningThumb" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + <VisualStateGroup x:Name="ScrollingIndicatorStates"> + <VisualState x:Name="TouchIndicator"> + <Storyboard> + <FadeInThemeAnimation TargetName="HorizontalPanningRoot" /> + <FadeInThemeAnimation TargetName="VerticalPanningRoot" /> + <FadeOutThemeAnimation TargetName="HorizontalRoot" /> + <FadeOutThemeAnimation TargetName="VerticalRoot" /> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalRoot" + Storyboard.TargetProperty="Visibility" + Duration="0"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <Visibility>Collapsed</Visibility> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalRoot" + Storyboard.TargetProperty="Visibility" + Duration="0"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <Visibility>Collapsed</Visibility> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="MouseIndicator"> + <Storyboard> + <FadeInThemeAnimation TargetName="HorizontalRoot" /> + <FadeInThemeAnimation TargetName="VerticalRoot" /> + <FadeOutThemeAnimation TargetName="HorizontalPanningRoot" /> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalPanningRoot" + Storyboard.TargetProperty="Visibility" + Duration="0"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <Visibility>Collapsed</Visibility> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + <FadeOutThemeAnimation TargetName="VerticalPanningRoot" /> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalPanningRoot" + Storyboard.TargetProperty="Visibility" + Duration="0"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <Visibility>Collapsed</Visibility> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsHitTestVisible" + Storyboard.TargetName="HorizontalRoot"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <x:Boolean>True</x:Boolean> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsHitTestVisible" + Storyboard.TargetName="VerticalRoot"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <x:Boolean>True</x:Boolean> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="NoIndicator"> + <Storyboard> + <FadeOutThemeAnimation BeginTime="0" TargetName="HorizontalPanningRoot" /> + <FadeOutThemeAnimation BeginTime="0" TargetName="VerticalPanningRoot" /> + <FadeOutThemeAnimation BeginTime="0" TargetName="HorizontalRoot" /> + <FadeOutThemeAnimation BeginTime="0" TargetName="VerticalRoot" /> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <Grid x:Name="HorizontalRoot" IsHitTestVisible="False"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="Auto" /> + <ColumnDefinition Width="Auto" /> + <ColumnDefinition Width="Auto" /> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="Auto" /> + </Grid.ColumnDefinitions> + <Rectangle x:Name="HorizontalTrackRect" + Grid.ColumnSpan="5" + Margin="0" + StrokeThickness="{ThemeResource ScrollBarTrackBorderThemeThickness}" + Fill="{ThemeResource SystemControlPageBackgroundChromeLowBrush}" + Stroke="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <RepeatButton x:Name="HorizontalSmallDecrease" + Grid.Column="0" + MinHeight="12" + IsTabStop="False" + Interval="50" + Margin="0" + Template="{StaticResource HorizontalDecrementTemplate}" + Width="6" + VerticalAlignment="Center" /> + <RepeatButton x:Name="HorizontalLargeDecrease" + Grid.Column="1" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + IsTabStop="False" + Interval="50" + Template="{StaticResource RepeatButtonTemplate}" + Width="0" /> + <Thumb x:Name="HorizontalThumb" + Grid.Column="2" + Background="{ThemeResource SystemControlForegroundChromeHighBrush}" + Template="{StaticResource HorizontalThumbTemplate}" + Height="12" + MinWidth="6" + AutomationProperties.AccessibilityView="Raw" /> + <RepeatButton x:Name="HorizontalLargeIncrease" + Grid.Column="3" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + IsTabStop="False" + Interval="50" + Template="{StaticResource RepeatButtonTemplate}" /> + <RepeatButton x:Name="HorizontalSmallIncrease" + Grid.Column="4" + MinHeight="12" + IsTabStop="False" + Interval="50" + Margin="0" + Template="{StaticResource HorizontalIncrementTemplate}" + Width="6" + VerticalAlignment="Center" /> + </Grid> + <Grid x:Name="HorizontalPanningRoot" MinWidth="6"> + <Border x:Name="HorizontalPanningThumb" + VerticalAlignment="Bottom" + HorizontalAlignment="Left" + Background="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" + BorderThickness="0" + Height="2" + MinWidth="2" + Margin="0,2,0,2"/> + </Grid> + <Grid x:Name="VerticalRoot" IsHitTestVisible="False"> + <Grid.RowDefinitions> + <RowDefinition Height="Auto" /> + <RowDefinition Height="Auto" /> + <RowDefinition Height="Auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="Auto" /> + </Grid.RowDefinitions> + <Rectangle x:Name="VerticalTrackRect" + Grid.RowSpan="5" + Margin="0" + StrokeThickness="{ThemeResource ScrollBarTrackBorderThemeThickness}" + Fill="Transparent" + Stroke="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <RepeatButton x:Name="VerticalSmallDecrease" + Visibility="Collapsed" + Height="12" + MinWidth="6" + IsTabStop="False" + Interval="50" + Margin="0" + Grid.Row="0" + Template="{StaticResource VerticalDecrementTemplate}" + HorizontalAlignment="Center" /> + <RepeatButton x:Name="VerticalLargeDecrease" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + Height="0" + IsTabStop="False" + Interval="50" + Grid.Row="1" + Template="{StaticResource RepeatButtonTemplate}"/> + <Thumb x:Name="VerticalThumb" + Grid.Row="2" + Background="{ThemeResource SystemControlForegroundChromeHighBrush}" + Template="{StaticResource VerticalThumbTemplate}" + Width="6" + MinHeight="12" + AutomationProperties.AccessibilityView="Raw" /> + <RepeatButton x:Name="VerticalLargeIncrease" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + IsTabStop="False" + Interval="50" + Grid.Row="3" + Template="{StaticResource RepeatButtonTemplate}" /> + <RepeatButton x:Name="VerticalSmallIncrease" + Visibility="Collapsed" + Height="12" + MinWidth="6" + IsTabStop="False" + Interval="50" + Margin="0" + Grid.Row="4" + Template="{StaticResource VerticalIncrementTemplate}" + HorizontalAlignment="Center" /> + </Grid> + <Grid x:Name="VerticalPanningRoot" MinHeight="24"> + <Border x:Name="VerticalPanningThumb" + VerticalAlignment="Top" + HorizontalAlignment="Right" + Background="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" + BorderThickness="0" + Width="2" + MinHeight="32" + Margin="2,0,2,0"/> + </Grid> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style TargetType="RepeatButton"> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="Padding" Value="8,4,8,4" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="RepeatButton"> + <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <ContentPresenter x:Name="ContentPresenter" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTransitions="{TemplateBinding ContentTransitions}" + ContentTemplate="{TemplateBinding ContentTemplate}" + Padding="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw"/> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + +</ResourceDictionary> \ No newline at end of file diff --git a/SmartPanel.xaml b/SmartPanel.xaml index a6358ad..ecd8686 100644 --- a/SmartPanel.xaml +++ b/SmartPanel.xaml @@ -15,338 +15,683 @@ * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/> . * -*********************************************************************** --> +***********************************************************************--> <Page x:Class="RingClientUWP.Views.SmartPanel" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP" xmlns:controls="using:RingClientUWP.Controls" - xmlns:views="using:RingClientUWP.Views" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="using:RingClientUWP" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:views="using:RingClientUWP.Views" NavigationCacheMode="Enabled" mc:Ignorable="d"> <Page.Resources> - <!-- converters --> - <views:NewMessageBubleNotification x:Key="_NewMessageBubleNotification_" /> - <views:IncomingVisibility x:Key="_IncomingVisibility_" /> - <views:OutGoingVisibility x:Key="_OutGoingVisibility_" /> - <views:HasAnActiveCall x:Key="_HasAnActiveCall_" /> - <views:AccountTypeToSourceImage x:Key="_AccountTypeToSourceImage_" /> - <views:AccountSelectedToVisibility x:Key="_AccountSelectedToVisibility_" /> - <views:CollapseEmptyString x:Key="_CollapseEmptyString_" /> - <views:ContactStatusNotification x:Key="_ContactStatusNotification_" /> - <views:boolToVisibility x:Key="_boolToVisibility_" /> - <views:uintToVisibility x:Key="_uintToVisibility_" /> - <views:OneToVisibility x:Key="_OneToVisibility_" /> - <views:MoreThanOneToVisibility x:Key="_MoreThanOneToVisibility_" /> - <views:SelectedAccountToVisibility x:Key="_SelectedAccountToVisibility_" /> - <views:CallStatusToSpinnerVisibility x:Key="_CallStatusToSpinnerVisibility_" /> - <views:CallStatusForIncomingCallAnimatedEllipse x:Key="_CallStatusForIncomingCallAnimatedEllipse_" /> - <views:CallStatusForIncomingCallStaticEllipse x:Key="_CallStatusForIncomingCallStaticEllipse_" /> - - <!-- template for contacts. --> - <DataTemplate x:Key="ContactTemplate" - x:DataType="local:Contact"> - <Grid> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="310"/> - </Grid.ColumnDefinitions> - <Grid.RowDefinitions> - <RowDefinition Height="60"/> - <!-- use the height of _contactBar_ to make it visible or collapsed. --> - <RowDefinition x:Name="_contactBar_" - Height="{x:Bind _contactBarHeight, Mode=OneWay}"/> - </Grid.RowDefinitions> - <Grid Grid.Row="0"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="60"/> - <ColumnDefinition Width="*" - MinWidth="200"/> - </Grid.ColumnDefinitions> - <Image x:Name="_XcontactAvatar_" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Grid.Column="0" - Width="55" - Height="55" - Source="Assets\TESTS\contactAvatar.png"/> - <!-- visual notifications. --> - <Border x:Name="_visualNotificationVideoChat_" - Visibility="Collapsed" - Style="{StaticResource BorderStyle1}"> - <TextBlock Text="" - Style="{StaticResource TextSegoeStyle1}"/> - <Border.RenderTransform> - <TranslateTransform X="17" Y="-14"/> - </Border.RenderTransform> - </Border> - <Grid Grid.Column="1"> - <Grid.RowDefinitions> - <RowDefinition Height="30"/> - <RowDefinition Height="30"/> - </Grid.RowDefinitions> - <!-- name of the contact. --> - <TextBlock x:Name="_contactName_" - Grid.Row="0" - Text="{x:Bind _name, Mode=OneWay}" - TextTrimming="CharacterEllipsis"> - </TextBlock> - </Grid> - </Grid> - </Grid> - </DataTemplate> - <!-- template for AccountListItems. --> - <DataTemplate x:Key="AccountListItemsTemplate" - x:DataType="controls:AccountListItem"> + <!-- template for AccountListItems. --> + <DataTemplate x:Key="AccountListItemsTemplate" x:DataType="controls:AccountListItem"> <Grid Margin="0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="40"/> - <ColumnDefinition Width="280"/> + <ColumnDefinition Width="60" /> + <ColumnDefinition Width="260" /> </Grid.ColumnDefinitions> - <Border Grid.Column="0" - Margin="5,0" - Style="{StaticResource BorderStyle3}"> - <Image x:Name="_AccountTypeIcon_" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Source="{x:Bind _account.accountType_, Converter={StaticResource _AccountTypeToSourceImage_}, Mode=OneWay}"/> - </Border> - <Button x:Name="_editAccountMenuButton_" - HorizontalAlignment="Right" - VerticalAlignment="Top" - Content="" - FontFamily="Segoe MDL2 Assets" + <Image Grid.Column="0" + x:Name="_AccountTypeIcon_" + Width="32" + Height="48" + Margin="5,0" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Source="{x:Bind _account.accountType_, Converter={StaticResource _AccountTypeToSourceImage_}, Mode=OneWay}" /> + <!-- display share/home/about --> + <Grid Visibility="{x:Bind _account.accountType_, Converter={StaticResource _RingAccountTypeToVisibility_}, Mode=OneWay}"> + <Button Grid.Column="1" + x:Name="_shareMenuButton_" + VerticalAlignment="Bottom" + Click="_shareMenuButton__Click" + Style="{StaticResource FlatRoundShareListItemButton}" + Visibility="{x:Bind _isSelected, Converter={StaticResource _AccountSelectedToVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_share_menu_" /> + </ToolTipService.ToolTip> + </Button> + <Grid.RenderTransform> + <TranslateTransform X="244" Y="0" /> + </Grid.RenderTransform> + </Grid> + <!-- edit acccount --> + <Button Grid.Column="1" + x:Name="_editAccountMenuButton_" + Width="31" + Height="36" Click="_editAccountMenuButton__Click" - FontSize="20" - Foreground="White" - Background="Transparent" - BorderThickness="0" - Padding="0,4,0,2" - Margin="0,0,12,0" - Width="28" - Visibility="{x:Bind _isSelected, Converter={StaticResource _AccountSelectedToVisibility_}, Mode=OneWay}" - Grid.Column="1"> + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Style="{StaticResource FlatRoundSettingsListItemButton}" + Visibility="{x:Bind _isSelected, Converter={StaticResource _AccountSelectedToVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_edit_account_" /> + </ToolTipService.ToolTip> <Button.RenderTransform> - <TranslateTransform Y="-10"/> + <TranslateTransform X="218" Y="10" /> </Button.RenderTransform> </Button> - <StackPanel Grid.Column="1"> - <TextBlock x:Name="_accountName_" - Style="{StaticResource TextStyle5}" - Text="{x:Bind _account.name_, Mode=OneWay}"/> - <TextBlock x:Name="_ringID_" - Grid.ColumnSpan="2" - Style="{StaticResource TextStyle6}" - Visibility="{x:Bind _account.ringID_, Converter={StaticResource _CollapseEmptyString_}, Mode=OneWay}" - Text="{x:Bind _account.ringID_, Mode=OneWay}"/> - <TextBlock x:Name="_sipUsername_" - Grid.ColumnSpan="2" - Visibility="{x:Bind _account._sipUsername, Converter={StaticResource _CollapseEmptyString_}, Mode=OneWay}" - Style="{StaticResource TextStyle6}" - Text="{x:Bind _account._sipUsername, Mode=OneWay}"/> + <StackPanel Grid.Column="1" Orientation="Vertical"> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="180" /> + <ColumnDefinition Width="80" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" + x:Name="_accountName_" + Style="{StaticResource TextStyle5}" + Text="{x:Bind _account._bestName3, Mode=OneWay}" /> + <TextBlock Grid.Column="1" + x:Name="_registrationState_" + Margin="0,0,22,0" + HorizontalAlignment="Right" + FontSize="12" + FontWeight="Bold" + Foreground="{x:Bind _account, Converter={StaticResource _AccountRegistrationStateToForeground_}, Mode=OneWay}" + Text="{x:Bind _account, Converter={StaticResource _AccountRegistrationStateToString_}, Mode=OneWay}" /> + </Grid> + <Grid> + <TextBlock x:Name="_ringID_" + Width="160" + Style="{StaticResource TextStyle6}" + Text="{x:Bind _account.ringID_, Mode=OneWay}" + TextTrimming="CharacterEllipsis" + Visibility="{x:Bind _account.ringID_, Converter={StaticResource _CollapseEmptyString_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock Text="{x:Bind _account.ringID_, Mode=OneWay}" /> + </ToolTipService.ToolTip> + </TextBlock> + </Grid> <StackPanel Orientation="Horizontal"> - <TextBlock x:Name="_unreadMessagesNotification_" - Grid.ColumnSpan="2" - Visibility="{x:Bind _account._unreadMessages, Converter={StaticResource _uintToVisibility_}, Mode=OneWay}" - FontSize="12" - FontWeight="Bold" - Foreground="OrangeRed" - Text="{x:Bind _account._unreadMessages, Mode=OneWay}"/> - <TextBlock Grid.ColumnSpan="2" - Visibility="{x:Bind _account._unreadMessages, Converter={StaticResource _OneToVisibility_}, Mode=OneWay}" - FontSize="12" - FontWeight="Bold" - Foreground="OrangeRed" - Text=" Unread message"/> - <TextBlock Grid.ColumnSpan="2" - Visibility="{x:Bind _account._unreadMessages, Converter={StaticResource _MoreThanOneToVisibility_}, Mode=OneWay}" - FontSize="12" - FontWeight="Bold" - Foreground="OrangeRed" - Text=" Unread messages"/> + <Border x:Name="_unreadAccountNotifications_" + Width="20" + Height="14" + Padding="0" + Style="{StaticResource BorderStyle2}" + Visibility="{x:Bind _account._allUnread, Converter={StaticResource _MoreThanZeroToVisibility_}, Mode=OneWay}"> + <TextBlock VerticalAlignment="Bottom" + FontSize="12" + Style="{StaticResource TextStyle3}" + Text="{x:Bind _account, Converter={StaticResource _UnreadAccountNotificationsString_}, ConverterParameter=Summary, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock Text="{x:Bind _account, Converter={StaticResource _UnreadAccountNotificationsString_}, Mode=OneWay}" /> + </ToolTipService.ToolTip> + </TextBlock> + <Border.RenderTransform> + <TranslateTransform X="0" Y="4" /> + </Border.RenderTransform> + </Border> </StackPanel> </StackPanel> </Grid> </DataTemplate> - <!-- template for smartpanelitems. --> - <DataTemplate x:Key="SmartPanelItemsTemplate" - x:DataType="controls:SmartPanelItem"> - <StackPanel Visibility="{x:Bind _contact, Converter={StaticResource _SelectedAccountToVisibility_}, Mode=OneWay}"> - <Grid PointerReleased="Grid_PointerReleased" - PointerEntered="Grid_PointerEntered" - PointerExited="Grid_PointerExited" - PointerMoved="Grid_PointerMoved" - Visibility="{x:Bind _showMe, Mode=OneWay}"> + + <!-- template for RingDeviceItems. --> + <DataTemplate x:Key="RingDeviceItemsTemplate" x:DataType="controls:RingDeviceItem"> + <Grid Margin="10" HorizontalAlignment="Center"> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="52" /> + <ColumnDefinition Width="180" /> + <ColumnDefinition Width="42" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" + x:Uid="_deviceName_" + VerticalAlignment="Center" + FontWeight="Bold" /> + <TextBlock Grid.Column="1" + x:Name="_deviceName_" + Width="180" + VerticalAlignment="Center" + Text="{x:Bind _deviceName, Mode=OneWay}" + TextTrimming="CharacterEllipsis" /> + <Button Grid.Column="2" + x:Name="_revokeDeviceButton_" + Width="38" + Height="32" + Margin="4,0,0,0" + Background="Transparent" + BorderThickness="0" + Click="_revokeDeviceButton__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + FontSize="19" + Style="{StaticResource FlatRoundListItemButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_revoke_device_" /> + </ToolTipService.ToolTip> + </Button> + </Grid> + <Grid Grid.Row="1" Margin="0,10,0,0"> + <TextBlock x:Name="_deviceId_" + VerticalAlignment="Center" + FontSize="12" + Text="{x:Bind _deviceId, Mode=OneWay}" + TextTrimming="CharacterEllipsis" /> + </Grid> + </Grid> + </DataTemplate> + + <!-- template for smartpanelitems. --> + <DataTemplate x:Key="SmartPanelItemsTemplate" x:DataType="controls:SmartPanelItem"> + <Grid DoubleTapped="SmartPanelItem_Grid_DoubleTapped" + PointerEntered="SmartPanelItem_Grid_PointerEntered" + PointerExited="SmartPanelItem_Grid_PointerExited" + PointerMoved="SmartPanelItem_Grid_PointerMoved" + RightTapped="SmartPanelItem_Grid_RightTapped" + Visibility="{x:Bind _isVisible, Mode=OneWay}"> + <FlyoutBase.AttachedFlyout> + <MenuFlyout x:Name="_SPI_MenuFlyout_" + LightDismissOverlayMode="Off" + Placement="Bottom"> + <MenuFlyoutItem x:Name="_videoCall_MenuFlyoutItem_" + x:Uid="_call_" + Tapped="_videocall_MenuFlyoutItem_Tapped" /> + <MenuFlyoutItem x:Name="_addToConference_MenuFlyoutItem_" + x:Uid="_add_to_conference_" + Tapped="_addToConference_MenuFlyoutItem__Tapped" + Visibility="{x:Bind _contact, Converter={StaticResource _ContactConferenceableToVisibility_}, Mode=OneWay}" /> + <MenuFlyoutSeparator /> + <MenuFlyoutItem x:Name="_copyRingID_MenuFlyoutItem_" + x:Uid="_copy_ring_id_" + Tapped="_copyRingID_MenuFlyoutItem__Tapped" + Visibility="{x:Bind _contact, Converter={StaticResource _ContactAccountTypeToVisibility_}, ConverterParameter=RING, Mode=OneWay}" /> + <MenuFlyoutItem x:Name="_removeContact_MenuFlyoutItem_" + x:Uid="_remove_contact_" + Tapped="_removeContact_MenuFlyoutItem__Tapped" /> + </MenuFlyout> + </FlyoutBase.AttachedFlyout> + <!-- the first rectangle helps to detect mouse overing --> + <Rectangle Fill="Transparent" /> + <!-- curtain over item with contact not ready (e.g. lookup is in progress) --> + <Rectangle Canvas.ZIndex="2" + Fill="White" + IsHitTestVisible="False" + Opacity="0.6" + Visibility="{x:Bind _contact._contactStatus, Converter={StaticResource _ContactStatusNotification_}, Mode=OneWay}" /> + <!-- contact. --> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="320" /> + </Grid.ColumnDefinitions> <Grid.RowDefinitions> - <!-- row definition for the contact. --> - <RowDefinition Height="auto"/> - <!-- row definition for the incoming call bar. --> - <RowDefinition Height="auto"/> + <RowDefinition Height="60" /> </Grid.RowDefinitions> - <!-- the first rectangle helps to detect mouse overing--> - <Rectangle Fill="Transparent" - Width="320" - Grid.Row="0"/> - <!-- the two next rectangles offer a better visibility correlation between the call button and the - backgrounds. Using them, avoid some visual bugs --> - <!-- the second rectangle controls the background for a selected item --> - <Rectangle Fill="#3bc1d3" - Width="320" - Visibility="{x:Bind _isSelected, Converter={StaticResource _boolToVisibility_}, Mode=OneWay}" - Grid.Row="0"/> - <!-- the thirs rectangle controls the background for an hovered item --> - <Rectangle Fill="#ced9e1" - Width="320" - Visibility="{x:Bind _isHovered, Converter={StaticResource _boolToVisibility_}, Mode=OneWay}" - Grid.Row="0"/> - <!-- curtain over item with contact not ready (e.g. lookup is in progress) --> - <Rectangle Fill="White" - Width="320" - Grid.Row="0" - Canvas.ZIndex="2" - Opacity="0.6" - Visibility="{x:Bind _contact._contactStatus, Converter={StaticResource _ContactStatusNotification_}, Mode=OneWay}"/> - <ProgressBar Canvas.ZIndex="3" - Visibility="{x:Bind _contact._contactStatus, Converter={StaticResource _ContactStatusNotification_}, Mode=OneWay}" - IsIndeterminate="True"/> - <!-- contact. --> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="310"/> + <ColumnDefinition Width="60" /> + <ColumnDefinition Width="*" MinWidth="200" /> + </Grid.ColumnDefinitions> + <StackPanel Grid.Column="0"> + <!-- black magic replaced --> + <StackPanel> + <Grid x:Name="_contactAvatarGrid_"> + <Ellipse x:Name="_contactAvatarEllipse_" + Width="50" + Height="50" + Margin="5" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Canvas.ZIndex="3" + Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallEllipse_}, ConverterParameter=Inverted, Mode=OneWay}"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactAvatar_" ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}" /> + </Ellipse.Fill> + </Ellipse> + <Ellipse x:Name="_contactAvatarEllipse2_" + Width="50" + Height="50" + Margin="5" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Canvas.ZIndex="2" + Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallEllipse_}, Mode=OneWay}"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactAvatar2_" ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}" /> + </Ellipse.Fill> + <Ellipse.Triggers> + <EventTrigger> + <BeginStoryboard> + <Storyboard x:Name="_incomingCallStoryboard_"> + <DoubleAnimation AutoReverse="True" + RepeatBehavior="Forever" + Storyboard.TargetName="_contactAvatarEllipse2_" + Storyboard.TargetProperty="Opacity" + From="1" + To="0.25" + Duration="0:0:1" /> + </Storyboard> + </BeginStoryboard> + </EventTrigger> + </Ellipse.Triggers> + </Ellipse> + <Grid Visibility="{x:Bind _contact, Converter={StaticResource _HasAvatarToVisibility_}, ConverterParameter=Inverted, Mode=OneWay}"> + <Grid x:Name="_defaultAvatarGrid_" + Width="50" + Height="50" + Canvas.ZIndex="1" + Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallEllipse_}, ConverterParameter=Inverted, Mode=OneWay}"> + <Ellipse x:Name="_defaultAvatar_" Fill="{x:Bind _contact._avatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="30" + Foreground="White" + Text="{x:Bind _contact._bestName2, Converter={StaticResource _NameToInitialConverter_}, Mode=OneWay}" + TextAlignment="Center" /> + </Grid> + <Grid x:Name="_defaultAvatarGrid2_" + Width="50" + Height="50" + Canvas.ZIndex="0" + Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallEllipse_}, Mode=OneWay}"> + <Ellipse x:Name="_defaultAvatar2_" Fill="{x:Bind _contact._avatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="30" + Foreground="White" + Text="{x:Bind _contact._bestName2, Converter={StaticResource _NameToInitialConverter_}, Mode=OneWay}" + TextAlignment="Center" /> + <Grid.Triggers> + <EventTrigger> + <BeginStoryboard> + <Storyboard x:Name="_incomingCallStoryboard2_"> + <DoubleAnimation AutoReverse="True" + RepeatBehavior="Forever" + Storyboard.TargetName="_defaultAvatarGrid2_" + Storyboard.TargetProperty="Opacity" + From="1" + To="0.25" + Duration="0:0:1" /> + </Storyboard> + </BeginStoryboard> + </EventTrigger> + </Grid.Triggers> + </Grid> + </Grid> + </Grid> + <Grid> + <Ellipse x:Name="_presenceNotificationCircle_" + Width="14" + Height="14" + Fill="{x:Bind _contact._presenceStatus, Converter={StaticResource _PresenceStatus_}, Mode=OneWay}" + IsHitTestVisible="False" + Stroke="{x:Bind _contact._presenceStatus, Converter={StaticResource _PresenceStatus_}, ConverterParameter=Border, Mode=OneWay}" + StrokeThickness="1.5" + Visibility="Visible"> + <Ellipse.RenderTransform> + <TranslateTransform X="16" Y="-21" /> + </Ellipse.RenderTransform> + </Ellipse> + </Grid> + </StackPanel> + <Border x:Name="_visualNotificationNewMessage_" + Width="24" + Height="20" + Padding="2" + Style="{StaticResource BorderStyle2}" + Visibility="{x:Bind _contact._unreadMessages, Converter={StaticResource _NewMessageBubbleNotification_}, Mode=OneWay}"> + <TextBlock VerticalAlignment="Bottom" + FontSize="14" + Style="{StaticResource TextStyle3}" + Text="{x:Bind _contact._unreadMessages, Converter={StaticResource _NewMessageNotificationToNumber_}, Mode=OneWay}" /> + <Border.RenderTransform> + <TranslateTransform X="-17" Y="-58" /> + </Border.RenderTransform> + </Border> + </StackPanel> + + <Grid Grid.Column="1"> + <Grid.RowDefinitions> + <RowDefinition Height="60" /> + <RowDefinition Height="30" /> + </Grid.RowDefinitions> + <StackPanel Grid.Row="0" Padding="0,4,0,0"> + <!-- name of the contact. --> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="180" /> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" + x:Name="_contactName_" + MaxWidth="180" + Text="{x:Bind _contact._bestName, Mode=OneWay}" + TextTrimming="CharacterEllipsis"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock Text="{x:Bind _contact._bestName, Mode=OneWay}" /> + </StackPanel> + </ToolTipService.ToolTip> + </TextBlock> + <StackPanel Grid.Column="1" Orientation="Horizontal"> + <ProgressBar Width="80" + Padding="4,0,4,0" + HorizontalAlignment="Right" + Foreground="#333333" + IsIndeterminate="True" + Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusToSpinnerVisibility_}, Mode=OneWay}" /> + <ProgressBar Width="80" + Padding="4,0,4,0" + HorizontalAlignment="Right" + Canvas.ZIndex="3" + Foreground="#333333" + IsIndeterminate="True" + Visibility="{x:Bind _contact._contactStatus, Converter={StaticResource _ContactStatusNotification_}, Mode=OneWay}" /> + </StackPanel> + </Grid> + <StackPanel Orientation="Horizontal"> + <TextBlock x:Name="_contactLastTime_" + MaxWidth="180" + FontSize="10" + FontStyle="Italic" + Foreground="#FF333333" + Text="{x:Bind _contact._lastTime, Mode=OneWay}" + TextTrimming="CharacterEllipsis" /> + </StackPanel> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" + x:Uid="_contactRequestSent_" + MaxWidth="200" + FontSize="12" + FontStyle="Italic" + Foreground="#FF339933" + TextTrimming="CharacterEllipsis" + Visibility="{x:Bind _contact._trustStatus, Converter={StaticResource _PartialTrustToVisibility_}, Mode=OneWay}" /> + <!-- call action buttons. --> + <Grid Grid.Column="1" + x:Name="_callActionButtonGrid_" + Margin="5,5,7,5" + HorizontalAlignment="Right"> + <Grid.RenderTransform> + <TranslateTransform X="0" Y="-19" /> + </Grid.RenderTransform> + <Button Grid.Row="0" + x:Name="_callBtn_" + HorizontalAlignment="Left" + VerticalAlignment="Bottom" + Content="" + FontFamily="Segoe MDL2 Assets" + GotFocus="_callBtn__Click" + Style="{StaticResource FlatRoundListItemButton}" + Visibility="{x:Bind _isCallable, Converter={StaticResource _boolToVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_video_call_" /> + </ToolTipService.ToolTip> + </Button> + <StackPanel Grid.Row="0" + HorizontalAlignment="Right" + VerticalAlignment="Bottom" + Orientation="Horizontal" + Visibility="Visible"> + <Button x:Name="_acceptIncomingCallBtn_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Content="" + FontFamily="Segoe MDL2 Assets" + GotFocus="_acceptIncomingCallBtn__Click" + Style="{StaticResource FlatRoundListItemButton}" + Visibility="{x:Bind _callStatus, Converter={StaticResource _IncomingVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_accept_call_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_rejectIncomingCallBtn_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Content="" + FontFamily="Segoe MDL2 Assets" + GotFocus="_rejectIncomingCallBtn__Click" + Style="{StaticResource FlatRoundListItemButton}" + Visibility="{x:Bind _callStatus, Converter={StaticResource _IncomingVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_reject_call_" /> + </ToolTipService.ToolTip> + </Button> + </StackPanel> + <Button x:Name="_cancelCallBtn_" + HorizontalAlignment="Right" + VerticalAlignment="Bottom" + Content="" + FontFamily="Segoe MDL2 Assets" + GotFocus="_cancelCallBtn__Click" + Style="{StaticResource FlatRoundListItemButton}" + Visibility="{x:Bind _callStatus, Converter={StaticResource _OutGoingVisibility_}, Mode=OneWay}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_cancel_call_" /> + </ToolTipService.ToolTip> + </Button> + </Grid> + </Grid> + </StackPanel> + </Grid> + </Grid> + </Grid> + </Grid> + </DataTemplate> + + <!-- template for ContactRequestItems. --> + <DataTemplate x:Key="ContactRequestItemsTemplate" x:DataType="controls:ContactRequestItem"> + <!--<StackPanel Visibility="{x:Bind _contact, Converter={StaticResource _SelectedAccountToVisibility_}, Mode=OneWay}">--> + <StackPanel> + <Grid PointerEntered="ContactRequestItem_Grid_PointerEntered" + PointerExited="ContactRequestItem_Grid_PointerExited" + PointerMoved="ContactRequestItem_Grid_PointerMoved" + PointerReleased="ContactRequestItem_Grid_PointerReleased" + Visibility="{x:Bind _isVisible, Mode=OneWay}"> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="320" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> - <RowDefinition Height="60"/> - <!-- use the height of _contactBar_ to make it visible or collapsed. --> - <RowDefinition x:Name="_contactBar_" - Height="{x:Bind _contact._contactBarHeight, Mode=OneWay}"/> + <RowDefinition Height="60" /> + <!-- use the height of _contactBar_ to make it visible or collapsed. --> + <RowDefinition x:Name="_contactBar_" Height="{x:Bind _contact._contactBarHeight, Mode=OneWay}" /> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="60"/> - <ColumnDefinition Width="*" - MinWidth="200"/> + <ColumnDefinition Width="60" /> + <ColumnDefinition Width="*" MinWidth="200" /> </Grid.ColumnDefinitions> - <StackPanel Grid.Column="0"> - <!-- so far, I haven't fond any way to make a nested animation, inside a datatemplate, starting with the begin method from the code. - I use a black magic workaround with two ellipses... --> - <Ellipse x:Name="_incomingCallAnimatedEllipse_" - Height="50" - Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallAnimatedEllipse_}, Mode=OneWay}" - Width="50" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Margin="5"> + <Grid Grid.Column="0"> + <Ellipse Width="50" + Height="50" + Margin="5" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Canvas.ZIndex="1"> <Ellipse.Fill> - <ImageBrush x:Name="_contactAvatar2_" - ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}"/> + <ImageBrush x:Name="_contactAvatar_" ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}" /> </Ellipse.Fill> - <Ellipse.Triggers> - <EventTrigger> - <BeginStoryboard> - <Storyboard x:Name="_toto_"> - <DoubleAnimation Storyboard.TargetName="_incomingCallAnimatedEllipse_" - Storyboard.TargetProperty="Opacity" - From="1" - AutoReverse="True" - RepeatBehavior="Forever" - To="0" - Duration="0:0:1"/> - </Storyboard> - </BeginStoryboard> - </EventTrigger> - </Ellipse.Triggers> </Ellipse> - <Ellipse Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusForIncomingCallStaticEllipse_}, Mode=OneWay}" + <Grid Width="50" + Height="50" + Margin="5" + Canvas.ZIndex="0"> + <Ellipse x:Name="_defaultAvatar_" Fill="{x:Bind _contact._avatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="30" + Foreground="White" + Text="{x:Bind _contact._bestName2, Converter={StaticResource _NameToInitialConverter_}, Mode=OneWay}" + TextAlignment="Center" /> + </Grid> + </Grid> + <Grid Grid.Column="1"> + <Grid.RowDefinitions> + <RowDefinition Height="60" /> + <RowDefinition Height="30" /> + </Grid.RowDefinitions> + <StackPanel Grid.Row="0" + Margin="0,3,0,0" + Orientation="Vertical"> + <!-- name of the contact. --> + <TextBlock x:Name="_contactName_" + MaxWidth="240" + HorizontalAlignment="Left" + FontSize="14" + Text="{x:Bind _contact._name, Mode=OneWay}" + TextTrimming="CharacterEllipsis"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock Text="{x:Bind _contact._name, Mode=OneWay}" /> + </StackPanel> + </ToolTipService.ToolTip> + </TextBlock> + <TextBlock x:Uid="_contactRequestPending_" + MaxWidth="200" + HorizontalAlignment="Left" + FontSize="12" + FontStyle="Italic" + Foreground="#FF339933" + TextTrimming="CharacterEllipsis" /> + </StackPanel> + <StackPanel Grid.Row="0" + Margin="0,0,6,6" + HorizontalAlignment="Right" + VerticalAlignment="Bottom" + Orientation="Horizontal" + Visibility="Visible"> + <Button x:Name="_acceptContactRequestBtn_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Click="_acceptContactRequestBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + Style="{StaticResource FlatRoundListItemButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_accept_cr_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_rejectContactRequestBtn_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Click="_rejectContactRequestBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + Style="{StaticResource FlatRoundListItemButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_ingnore_cr_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_blockContactBtn_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Click="_blockContactBtn__Click" + Content="" + FontFamily="Segoe MDL2 Assets" + Style="{StaticResource FlatRoundListItemButton}"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock x:Uid="_tt_block_cr_" TextWrapping="Wrap" /> + <TextBlock x:Uid="_tt_block_cr_2" + FontStyle="Italic" + TextWrapping="Wrap" /> + </StackPanel> + </ToolTipService.ToolTip> + </Button> + </StackPanel> + </Grid> + </Grid> + </Grid> + </Grid> + </StackPanel> + </DataTemplate> - Height="50" - Width="50" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Margin="5"> + <!-- template for BannedContactTemplate. --> + <DataTemplate x:Key="BannedContactTemplate" x:DataType="controls:SmartPanelItem"> + <StackPanel> + <Grid Background="{StaticResource RingBlueHighLight3Brush}" Visibility="{x:Bind _isVisible, Mode=OneWay}"> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="260" /> + </Grid.ColumnDefinitions> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="60" /> + <ColumnDefinition Width="*" MinWidth="200" /> + </Grid.ColumnDefinitions> + <StackPanel Grid.Column="0" Canvas.ZIndex="1"> + <Ellipse Width="50" + Height="50" + Margin="5" + HorizontalAlignment="Center" + VerticalAlignment="Center"> <Ellipse.Fill> - <ImageBrush x:Name="_contactAvatar_" - ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}"/> + <ImageBrush x:Name="_contactAvatar_" ImageSource="{x:Bind _contact._avatarImage, Mode=OneWay}" /> </Ellipse.Fill> </Ellipse> - <Border x:Name="_visualNotificationNewMessage_" - Visibility="{x:Bind _contact._unreadMessages, Converter={StaticResource _NewMessageBubleNotification_}, Mode=OneWay}" - Style="{StaticResource BorderStyle2}"> - <TextBlock Text="{x:Bind _contact._unreadMessages, Mode=OneWay}" - Style="{StaticResource TextStyle3}"/> - <Border.RenderTransform> - <TranslateTransform X="-17" Y="-58"/> - </Border.RenderTransform> - </Border> </StackPanel> - + <Grid Grid.Column="0" + Width="50" + Height="50" + Margin="5" + Canvas.ZIndex="0"> + <Ellipse x:Name="_defaultAvatar_" Fill="{x:Bind _contact._avatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="30" + Foreground="White" + Text="{x:Bind _contact._bestName2, Converter={StaticResource _NameToInitialConverter_}, Mode=OneWay}" + TextAlignment="Center" /> + </Grid> <Grid Grid.Column="1"> <Grid.RowDefinitions> - <RowDefinition Height="60"/> - <RowDefinition Height="30"/> + <RowDefinition Height="60" /> </Grid.RowDefinitions> - <StackPanel Grid.Row="0"> - <!-- name of the contact. --> - <StackPanel Orientation="Horizontal"> - <TextBlock x:Name="_contactName_" - Text="{x:Bind _contact._name, Mode=OneWay}" - TextTrimming="CharacterEllipsis"> - </TextBlock> - </StackPanel> - <StackPanel Orientation="Horizontal"> - <TextBlock x:Name="_contactLastTime_" - FontStyle="Italic" - Foreground="#333333" - MaxWidth="200" - TextTrimming="CharacterEllipsis" - FontSize="10" - Text="{x:Bind _contact._lastTime, Mode=OneWay}"/> - <ProgressBar Foreground="#333333" - HorizontalAlignment="Right" - Width="150" - Visibility="{x:Bind _callStatus, Converter={StaticResource _CallStatusToSpinnerVisibility_}, Mode=OneWay}" - IsIndeterminate="True"/> - </StackPanel> - <!-- call action buttons. --> - <Button Grid.Row="0" - Visibility="{x:Bind _isCallable, Converter={StaticResource _boolToVisibility_}, Mode=OneWay}" - Click="_callContact__Click" - VerticalAlignment="Bottom" - HorizontalAlignment="Left" - Style="{StaticResource ButtonStyleForCallBar}" - FontFamily="Segoe MDL2 Assets" - Content=""/> - <StackPanel Orientation="Horizontal" - Visibility="Visible" - Grid.Row="0" - VerticalAlignment="Bottom" - HorizontalAlignment="Right"> - <Button x:Name="_acceptIncomingCallBtn_" - Click="_acceptIncomingCallBtn__Click" - Visibility="{x:Bind _callStatus, Converter={StaticResource _IncomingVisibility_}, Mode=OneWay}" + <StackPanel Grid.Row="0" + Margin="0,3,0,0" + Orientation="Vertical"> + <!-- name of the contact. --> + <TextBlock x:Name="_contactName_" + MaxWidth="180" + HorizontalAlignment="Left" + FontSize="14" + Text="{x:Bind _contact._name, Mode=OneWay}" + TextTrimming="CharacterEllipsis"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock Text="{x:Bind _contact._name, Mode=OneWay}" /> + </StackPanel> + </ToolTipService.ToolTip> + </TextBlock> + </StackPanel> + <StackPanel Grid.Row="0" + Margin="0,0,6,6" + HorizontalAlignment="Right" VerticalAlignment="Bottom" + Orientation="Horizontal" + Visibility="Visible"> + <Button x:Name="_addBannedContactBtn_" HorizontalAlignment="Center" - Style="{StaticResource ButtonStyleForCallBar}" - FontFamily="Segoe MDL2 Assets" - Content=""/> - <Button x:Name="_rejectIncomingCallBtn_" - Click="_rejectIncomingCallBtn__Click" - Visibility="{x:Bind _callStatus, Converter={StaticResource _IncomingVisibility_}, Mode=OneWay}" VerticalAlignment="Bottom" - HorizontalAlignment="Center" - Style="{StaticResource ButtonStyleForCallBar}" + Click="_addBannedContactBtn__Click" + Content="" FontFamily="Segoe MDL2 Assets" - Content=""/> - </StackPanel> - <Button x:Name="_cancelCallBtn_" - Click="_cancelCallBtn__Click" - Visibility="{x:Bind _callStatus, Converter={StaticResource _OutGoingVisibility_}, Mode=OneWay}" - VerticalAlignment="Bottom" - HorizontalAlignment="Right" - Style="{StaticResource ButtonStyleForCallBar}" - FontFamily="Segoe MDL2 Assets" - Content=""/> + Style="{StaticResource FlatRoundListItemButton}"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock x:Uid="_tt_add_banned_" /> + </StackPanel> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> @@ -358,936 +703,1211 @@ <Grid> <Grid.RowDefinitions> - <!-- where accounts and share menu drop down are. --> - <RowDefinition Height="auto"/> - <!-- where contacts and settings are. --> - <RowDefinition Height="*"/> + <!-- connectivity notification. --> + <RowDefinition x:Name="_networkConnectivityNotificationRow_" Height="32" /> + <!-- where accounts and share menu drop down are. --> + <RowDefinition Height="auto" /> + <!-- where contacts and settings are. --> + <RowDefinition Height="*" /> </Grid.RowDefinitions> - <!-- drop down menus. --> - <Grid Background="#3bc1d3"> + <Grid Grid.Row="0" Background="#FFFF4343"> + <TextBlock x:Uid="_network_unavailable_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + FontSize="12" + Foreground="White" /> + </Grid> + <!-- drop down menus. --> + <Grid Grid.Row="1" Background="{StaticResource RingBlueMidBrush}"> <Grid.RowDefinitions> - <!-- where the selected account is shown. --> - <RowDefinition x:Name="_selectedAccountRow_" - Height="60"/> - <!-- where the drop down menus are shown. --> - <RowDefinition Height="auto"/> + <!-- where the selected account is shown. --> + <RowDefinition x:Name="_selectedAccountRow_" Height="60" /> + <!-- where the drop down menus are shown. --> + <RowDefinition Height="auto" /> </Grid.RowDefinitions> - <!-- selected account. --> + <!-- selected account. --> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> - <ColumnDefinition x:Name="_selectedAccountAvatarColumn_" - Width="60"/> - <ColumnDefinition Width="*"/> + <ColumnDefinition x:Name="_selectedAccountAvatarColumn_" Width="60" /> + <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> - <Ellipse - x:Name="_selectedAccountAvatarContainer_" - Height="50" - Width="50" - Grid.Column="0" - Stroke="White" - StrokeThickness="3" - PointerEntered="_selectedAccountAvatarContainer__PointerEntered" - PointerExited="_selectedAccountAvatarContainer__PointerExited" - PointerReleased="_selectedAccountAvatarContainer__PointerReleased" - Margin="5"> + <Ellipse Grid.Column="0" + x:Name="_selectedAccountAvatarContainer_" + Width="50" + Height="50" + Margin="0" + PointerEntered="_selectedAccountAvatarContainer__PointerEntered" + PointerExited="_selectedAccountAvatarContainer__PointerExited" + PointerReleased="_selectedAccountAvatarContainer__PointerReleased"> <Ellipse.Fill> - <ImageBrush - x:Name="_selectedAccountAvatar_" - ImageSource="Assets\TESTS\contactAvatar.png"/> + <ImageBrush x:Name="_selectedAccountAvatar_" ImageSource="Assets\TESTS\contactAvatar.png" /> </Ellipse.Fill> </Ellipse> - <Ellipse - x:Name="_shaderPhotoboothIcon_" - Visibility="Collapsed" - Height="50" - Width="50" - Grid.Column="0" - IsHitTestVisible="False" - Fill="Black" - Opacity="0.3" - Margin="5"> - </Ellipse> - <TextBlock x:Name="_photoboothIcon_" - Grid.Column="0" - Visibility="Collapsed" + <Ellipse Grid.Column="0" + x:Name="_shaderPhotoboothIcon_" + Width="50" + Height="50" + Margin="5" + Fill="Black" + IsHitTestVisible="False" + Opacity="0.3" + Visibility="Collapsed" /> + <TextBlock Grid.Column="0" + x:Name="_photoboothIcon_" IsHitTestVisible="False" Style="{StaticResource TextSegoeStyle-Centered-40pt-white}" - Text=""> - </TextBlock> - <StackPanel Grid.Column="1" - VerticalAlignment="Bottom"> - <TextBlock x:Name="_selectedAccountName_" - Text="the wizard will be summoned..." - Margin="10" - VerticalAlignment="Center" - TextTrimming="CharacterEllipsis" - Style="{StaticResource TextStyle2}"/> + Text="" + Visibility="Collapsed" /> + <StackPanel Grid.Column="1" VerticalAlignment="Bottom"> <StackPanel Orientation="Horizontal"> - <!-- contacts list --> - <ToggleButton x:Name="_contactsListMenuButton_" - VerticalAlignment="Bottom" - Content="" - Click="_contactsListMenuButton__Click" - Style="{StaticResource ToggleButtonStyle2}"/> - <!-- account menu --> + <TextBlock x:Name="_selectedAccountName_" + MaxWidth="125" + Margin="4,6,6,4" + VerticalAlignment="Center" + FontSize="18px" + FontWeight="SemiLight" + Style="{StaticResource TextStyle2}" + Text="[TEXT MISSING]" + TextTrimming="CharacterEllipsis" /> + <TextBlock x:Name="_selectedAccountUsername_" + MaxWidth="120" + Margin="4,6,6,4" + VerticalAlignment="Center" + FontSize="18px" + FontWeight="Light" + Foreground="#FFF0F0F0" + Style="{StaticResource TextStyle2}" + Text="" + TextTrimming="CharacterEllipsis" /> + </StackPanel> + <StackPanel Orientation="Horizontal"> + <!-- contacts list --> + <Grid> + <ToggleButton x:Name="_contactsListMenuButton_" + VerticalAlignment="Bottom" + Click="_contactsListMenuButton__Click" + Content="" + Style="{StaticResource FlatToggleButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_contact_list_menu_" /> + </ToolTipService.ToolTip> + </ToggleButton> + <Ellipse x:Name="_unreadMessagesCircle_" + Width="8" + Height="8" + Fill="OrangeRed" + IsHitTestVisible="False" + Stroke="OrangeRed" + StrokeThickness="1" + Visibility="Collapsed"> + <Ellipse.RenderTransform> + <TranslateTransform X="11" Y="-8" /> + </Ellipse.RenderTransform> + <Ellipse.Triggers> + <EventTrigger> + <BeginStoryboard> + <Storyboard x:Name="_unreadMessagesAnimation_"> + <DoubleAnimation AutoReverse="True" + RepeatBehavior="Forever" + Storyboard.TargetName="_unreadMessagesCircle_" + Storyboard.TargetProperty="Opacity" + From="1.0" + To="0.4" + Duration="0:0:1" /> + </Storyboard> + </BeginStoryboard> + </EventTrigger> + </Ellipse.Triggers> + </Ellipse> + </Grid> + <!-- contact request list --> + <Grid> + <ToggleButton x:Name="_contactRequestListMenuButton_" + VerticalAlignment="Bottom" + Click="_contactRequestListMenuButton__Click" + Content="" + Style="{StaticResource FlatToggleButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_cr_list_menu_" /> + </ToolTipService.ToolTip> + </ToggleButton> + <Ellipse x:Name="_unreadContactRequestsCircle_" + Width="8" + Height="8" + Fill="OrangeRed" + IsHitTestVisible="False" + Stroke="OrangeRed" + StrokeThickness="1" + Visibility="Collapsed"> + <Ellipse.RenderTransform> + <TranslateTransform X="11" Y="-8" /> + </Ellipse.RenderTransform> + <Ellipse.Triggers> + <EventTrigger> + <BeginStoryboard> + <Storyboard x:Name="_unreadContactRequestsAnimation_"> + <DoubleAnimation AutoReverse="True" + RepeatBehavior="Forever" + Storyboard.TargetName="_unreadContactRequestsCircle_" + Storyboard.TargetProperty="Opacity" + From="1.0" + To="0.4" + Duration="0:0:1" /> + </Storyboard> + </BeginStoryboard> + </EventTrigger> + </Ellipse.Triggers> + </Ellipse> + </Grid> + <!-- account menu --> <Grid> <ToggleButton x:Name="_accountsMenuButton_" - VerticalAlignment="Bottom" - Click="_accountsMenuButton__Click" - Content="" - Style="{StaticResource ToggleButtonStyle2}"> + VerticalAlignment="Bottom" + Click="_accountsMenuButton__Click" + Content="" + Style="{StaticResource FlatToggleButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_account_list_menu_" /> + </ToolTipService.ToolTip> </ToggleButton> - <Ellipse x:Name="_unreadAccountMessagesCircle_" - Visibility="Collapsed" - IsHitTestVisible="False" - Fill="OrangeRed" - Height="8" - Width="8" - StrokeThickness="1" - Stroke="OrangeRed"> + <Ellipse x:Name="_unreadAccountNotificationsCircle_" + Width="8" + Height="8" + Fill="OrangeRed" + IsHitTestVisible="False" + Stroke="OrangeRed" + StrokeThickness="1" + Visibility="Collapsed"> <Ellipse.RenderTransform> - <TranslateTransform X="10" Y="-10"/> + <TranslateTransform X="11" Y="-8" /> </Ellipse.RenderTransform> <Ellipse.Triggers> <EventTrigger> <BeginStoryboard> <Storyboard x:Name="_unreadAccountMessagesAnimation_"> - <DoubleAnimation Storyboard.TargetName="_unreadAccountMessagesCircle_" - Storyboard.TargetProperty="Opacity" - From="1.0" - AutoReverse="True" - RepeatBehavior="Forever" - To="0.4" - Duration="0:0:1"/> + <DoubleAnimation AutoReverse="True" + RepeatBehavior="Forever" + Storyboard.TargetName="_unreadAccountNotificationsCircle_" + Storyboard.TargetProperty="Opacity" + From="1.0" + To="0.4" + Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Ellipse.Triggers> </Ellipse> </Grid> - <!-- _shareMenuButton_ --> - <ToggleButton x:Name="_shareMenuButton_" - VerticalAlignment="Bottom" - Click="_shareMenuButton__Click" - Style="{StaticResource ToggleButtonStyle2}"> - <StackPanel> - <Image x:Name="_qrCodeIconWhite_" - Source="Assets/qrCodeIconWhite.png" - Visibility="Visible" - Stretch="None"/> - <Image x:Name="_qrCodeIconBlack_" - Visibility="Collapsed" - Source="Assets/qrCodeIconBlack.png" - Stretch="None"/> - </StackPanel> - </ToggleButton> - <!-- _devicesMenuButton_ --> + <!-- _devicesMenuButton_ --> <ToggleButton x:Name="_devicesMenuButton_" VerticalAlignment="Bottom" Click="_devicesMenuButton__Click" Content="" - Style="{StaticResource ToggleButtonStyle2}"/> - <!-- _settingsMenuButton_ --> + Style="{StaticResource FlatToggleButton}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_devices_list_menu_" /> + </ToolTipService.ToolTip> + </ToggleButton> + <!-- _settingsMenuButton_ --> <ToggleButton x:Name="_settingsMenuButton_" - Click="_settingsMenuButton__Click" VerticalAlignment="Bottom" - Content="" - Style="{StaticResource ToggleButtonStyle2}"/> + Click="_settingsMenuButton__Click" + Content="" + Style="{StaticResource FlatToggleButton}"> + <ToolTipService.ToolTip> + <StackPanel Orientation="Vertical"> + <TextBlock x:Uid="_tt_settings_menu_" /> + </StackPanel> + </ToolTipService.ToolTip> + </ToggleButton> </StackPanel> </StackPanel> </Grid> - <!--sub menus like the accounts list or the share menu are just below, technicaly they are nested inside the - same row. To summon them we use the visibility of their own grid, by linking it to a toggle button--> + <!-- + sub menus like the accounts list or the share menu are just below, technicaly they are nested inside the + same row. To summon them we use the visibility of their own grid, by linking it to a toggle button + --> </Grid> - <!-- smartList and settings. --> - <Grid Grid.Row="1" - Background="#FFE4F1F9"> - <!-- accounts menu. --> - <Grid x:Name="_accountsMenuGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + + <!-- smartList and settings. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueLightBrush}"> + <!-- accounts menu. --> + <Grid Grid.Row="0" + x:Name="_accountsMenuGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <ScrollViewer x:Name="_accountsListScrollView_" + <TextBlock Grid.Row="0" + x:Uid="_accountsTitle_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <ScrollViewer Grid.Row="1" + x:Name="_accountsListScrollView_" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollMode="Enabled"> <ListBox x:Name="_accountsList_" - Grid.Row="0" - SelectionChanged="_accountList__SelectionChanged" - Width="320" - ItemContainerStyle="{StaticResource contactsListBoxStyle}" - Background="#FFE4F1F9" - ItemTemplate="{StaticResource AccountListItemsTemplate}"/> + Width="320" + Background="{StaticResource RingBlueLightBrush}" + ItemContainerStyle="{StaticResource contactsListBoxStyle}" + ItemTemplate="{StaticResource AccountListItemsTemplate}" + SelectionChanged="_accountList__SelectionChanged" /> </ScrollViewer> - <StackPanel Orientation="Horizontal" - Grid.Row="1"> - <!--Style="{StaticResource ButtonStyle6}"--> + <StackPanel Grid.Row="2" + Background="{StaticResource RingBlueMidBrush}" + Orientation="Horizontal"> <Button x:Name="_addAccountBtn_" - VerticalAlignment="Center" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_addAccountBtn__Click" - Style="{StaticResource ButtonStyle5}"/> - <!--Style="{StaticResource ButtonStyle6}"--> + Content="" + Style="{StaticResource AccountMenuButtonStyle}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_add_account_" /> + </ToolTipService.ToolTip> + </Button> <Button x:Name="_linkThisDeviceBtn_" - VerticalAlignment="Center" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_linkThisDeviceBtn__Click" - Style="{StaticResource ButtonStyle5}"/> + Content="" + Style="{StaticResource AccountMenuButtonStyle}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_link_device_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_deleteAccountButton_" + Width="106" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_deleteAccountButton__Click" + Content="" + Style="{StaticResource AccountMenuButtonStyle}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_delete_account_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> - <!-- account edition menu. --> - <Grid x:Name="_accountEditionGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + <!-- account edition menu. --> + <Grid Grid.Row="0" + x:Name="_accountEditionGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <ScrollViewer x:Name="_scrollViewerEditionMenu_" - Grid.Row="0"> - <StackPanel Orientation="Vertical" - Padding="10,0" - Grid.Row="0" - Background="#FFE4F1F9"> - <!-- alias sub menu. --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Alias"/> + <TextBlock Grid.Row="0" + x:Uid="_accountEditionTitle_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <ScrollViewer Grid.Row="1" x:Name="_scrollViewerEditionMenu_"> + <StackPanel Padding="0,10,0,20" + Background="{StaticResource RingBlueLightBrush}" + Orientation="Vertical"> + <!-- enabled --> + <StackPanel Margin="20,20,10,10" Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsEnabled_" /> </StackPanel> - <Grid Margin="10,0,10,10"> + <ToggleSwitch x:Name="_enabledState_" Margin="30,0,20,10" /> + <!-- alias sub menu. --> + <StackPanel Margin="10,30,0,10" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsAlias_" /> + </StackPanel> + <Grid Margin="10" Padding="10,0"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <TextBox x:Name="_accountAliasTextBoxEdition_" - Grid.Column="0" - TextChanged="_accountAliasTextBoxEdition__TextChanged" - PlaceholderText="Enter alias"/> - <TextBlock x:Name="_accountAliasValidEdition_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_accountAliasInvalidEdition_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + <TextBox Grid.Column="0" + x:Name="_accountAliasTextBoxEdition_" + x:Uid="_accountAliasTextBoxUid_" + Margin="10,0,10,0" + IsSpellCheckEnabled="False" + TextChanged="_accountAliasTextBoxEdition__TextChanged" /> + <TextBlock Grid.Column="1" + x:Name="_accountAliasValidEdition_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-green}" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_accountAliasInvalidEdition_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-red}" + Text="" /> </Grid> - <!-- edition sub menu. --> - <StackPanel x:Name="_ringStackEdition_"> - <!-- register account on blockachain --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Register public username"/> + <!-- edition sub menu. --> + <StackPanel x:Name="_ringStackEdition_" + Margin="0,10,0,0" + Padding="10,0"> + <!-- register account on blockachain --> + <StackPanel Margin="10,20,0,10" Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsRegisterPublicName_" /> </StackPanel> <ToggleSwitch x:Name="_RegisterStateEdition_" - IsOn="True" - Toggled="_RegisterStateEdition__Toggled" - Margin="0,10"/> - <TextBlock x:Name="_whatWilHappenEdition_" - Margin="0,10,0,0" - Style="{StaticResource BodyTextBlockStyle}" - Text="peoples will find you with your username"/> - <HyperlinkButton Content="Learn more" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> + Margin="20,0,20,10" + IsOn="True" + Toggled="_RegisterStateEdition__Toggled" /> + <TextBlock x:Name="_whatWillHappenEdition_" + x:Uid="_whatWillHappenEditionUid_" + Margin="20,10,0,0" + Style="{StaticResource BodyTextBlockStyle}" /> + <HyperlinkButton x:Uid="_accountsEditionLearnMore_" + Margin="20,0,0,10" + NavigateUri="http://ring.cx" /> <Grid Margin="10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <TextBox x:Name="_usernameTextBoxEdition_" - Grid.Column="0" - PlaceholderText="Enter your full name" - KeyUp="_usernameTextBoxEdition__KeyUp"/> - <TextBlock x:Name="_usernameValidEdition_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_usernameInvalidEdition_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + <TextBox Grid.Column="0" + x:Name="_usernameTextBoxEdition_" + x:Uid="_usernameTextBoxEditionUid_" + Margin="10,0,10,0" + IsSpellCheckEnabled="False" + KeyUp="_usernameTextBoxEdition__KeyUp" /> + <TextBlock Grid.Column="1" + x:Name="_usernameValidEdition_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-green}" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_usernameInvalidEdition_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-red}" + Text="" /> </Grid> <Button x:Name="_registerOnBlockchainEdition_" - Content="register" - Visibility="Collapsed" - Click="_registerOnBlockchainEdition__Click"/> - <StackPanel Orientation="Horizontal" Margin="10"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Text=""/> - <TextBlock Text="UPnP" Margin="10"/> - </StackPanel> - <ToggleSwitch x:Name="_upnpState_" - Margin="20,10"/> + x:Uid="_registerOnBlockchainEditionUid_" + Click="_registerOnBlockchainEdition__Click" + Visibility="Collapsed" /> </StackPanel> - <!-- SIP parameters. --> + <!-- SIP accounts section --> + <!-- SIP parameters. --> <StackPanel x:Name="_sipAccountStackEdition_" - Visibility="Collapsed"> - <StackPanel Orientation="Horizontal" - Margin="10"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Text=""/> - <TextBlock Text="SIP account parameters" - Margin="10"/> + Margin="0,10,0,0" + Padding="10,0" + Visibility="Collapsed"> + <StackPanel Margin="10" Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock Margin="10" Text="SIP account parameters" /> </StackPanel> - <TextBox x:Name="_sipHostnameEdition_" - Margin="10" - PlaceholderText="Enter hostname"/> - <TextBox x:Name="_sipUsernameEditionTextBox_" - Margin="10" - PlaceholderText="Enter username"/> + <TextBox x:Name="_sipHostnameEdition_" + x:Uid="_sipHostnameEditionUid_" + Margin="20,10,20,10" + IsSpellCheckEnabled="False" /> + <TextBox x:Name="_sipUsernameEditionTextBox_" + x:Uid="_sipUsernameEditionTextBoxUid_" + Margin="20,10,20,10" + IsSpellCheckEnabled="False" /> <PasswordBox x:Name="_sipPasswordEdition_" - Margin="10" - PlaceholderText="Enter password"/> + x:Uid="_sipPasswordEditionUid_" + Margin="20,10,20,10" /> + </StackPanel> + <!-- END SIP accounts section --> + <!-- other settings --> + <!-- auto answer --> + <StackPanel Margin="10,20,10,0" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock x:Uid="_accountsAutoAnswer_" + Margin="10,20,10,10" + TextWrapping="Wrap" /> </StackPanel> - <!-- delete account sub menu. --> - <StackPanel Orientation="Horizontal" Margin="10"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Text=""/> - <TextBlock Text="Delete account" Margin="10"/> + <ToggleSwitch x:Name="_autoAnswerToggle_" + Margin="30,0,20,10" + Padding="10,0" + IsOn="False" /> + <!-- RING accounts section --> + <StackPanel x:Name="_ringStackEdition2_" Visibility="Collapsed"> + <!-- incognito contacts --> + <StackPanel Margin="10,20,10,0" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock x:Uid="_accountsIncognitoContacts_" + Width="240" + Margin="10" + TextWrapping="Wrap" /> + </StackPanel> + <ToggleSwitch x:Name="_dhtPublicInCallsToggle_" + Margin="30,0,20,10" + Padding="10,0" + IsOn="True" /> + <!-- turn settings --> + <StackPanel Margin="10,20,10,0" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock x:Uid="_accountsTurnEnabled_" + Width="240" + Margin="10" + TextWrapping="Wrap" /> + </StackPanel> + <ToggleSwitch x:Name="_turnEnabledToggle_" + Margin="30,0,20,10" + Padding="10,0" + IsOn="True" + Toggled="_turnEnabledToggle__Toggled" /> + <TextBox x:Name="_turnEditionTextBox_" + x:Uid="_turnEditionTextBoxUid_" + Margin="30,10,60,10" + IsSpellCheckEnabled="False" /> + <!-- upnp state --> + <StackPanel Margin="20,20,10,0" Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock x:Uid="_accountsUPnP_" Margin="10" /> + </StackPanel> + <ToggleSwitch x:Name="_upnpState_" Margin="30,0,20,10" /> + <!-- banned list --> + <StackPanel Margin="0,10,0,0"> + <StackPanel Margin="10" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <HyperlinkButton x:Name="_accountsShowBannedList_" + Margin="10,0,0,10" + Click="_showBannedList__PointerPressed" + Content="Show banned contact list" /> + </StackPanel> + <Grid x:Name="_bannedContactListGrid_" Visibility="Collapsed"> + <StackPanel> + <ListBox x:Name="_bannedContactList_" + MaxWidth="260" + Margin="0" + Padding="0" + Background="{StaticResource RingBlueLightBrush}" + ItemContainerStyle="{StaticResource bannedContactListBoxStyle}" + ItemTemplate="{StaticResource BannedContactTemplate}" + ScrollViewer.HorizontalScrollBarVisibility="Auto" + ScrollViewer.HorizontalScrollMode="Disabled" /> + </StackPanel> + </Grid> + </StackPanel> </StackPanel> - <ToggleSwitch x:Name="_deleteAccountEdition_" - Toggled="_deleteAccountEdition__Toggled" - Margin="20,10"/> - <TextBlock x:Name="_whatWilHappendeleteRingAccountEdition_" - Margin="0,10,0,0" - Style="{StaticResource BodyTextBlockStyle}" - Foreground="Red" - Visibility="Collapsed" - Text="Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted."/> - <TextBlock x:Name="_whatWilHappendeleteSipAccountEdition_" - Margin="0,10,0,0" - Style="{StaticResource BodyTextBlockStyle}" - Foreground="Red" - Visibility="Collapsed" - Text="Your account will be deleted from this computer."/> - <HyperlinkButton x:Name="_learnMoreDeleteAccountEdition_" - Content="Learn more" - Visibility="Collapsed" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> + <!-- END RING accounts section --> </StackPanel> </ScrollViewer> - <!-- buttons yes/no to accept the modification. --> - <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - HorizontalAlignment="Center"> - <Button x:Name="_acceptAccountModification_" - Grid.Row="1" - VerticalAlignment="Center" + <!-- buttons yes/no to accept the modification. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> + <Button Grid.Row="1" + x:Name="_acceptAccountModification_" HorizontalAlignment="Center" - Content="" - Click="_acceptAccountModification__Click" - Style="{StaticResource ButtonStyle5}"/> - <Button x:Name="_cancelAccountModification_" - Grid.Row="1" VerticalAlignment="Center" + Click="_acceptAccountModification__Click" + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_accept_account_mod_" /> + </ToolTipService.ToolTip> + </Button> + <Button Grid.Row="1" + x:Name="_cancelAccountModification_" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_cancelAccountModification__Click" - Style="{StaticResource ButtonStyle5}"/> + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_cancel_account_mod_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> - <!-- account creation menu. --> - <Grid x:Name="_accountCreationMenuGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + <!-- account creation menu. --> + <Grid Grid.Row="0" + x:Name="_accountCreationMenuGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <ScrollViewer Grid.Row="0"> - <StackPanel Orientation="Vertical" - Padding="10,0" - Background="#FFE4F1F9"> - <!-- alias sub menu. --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Alias"/> + <TextBlock Grid.Row="0" + x:Uid="_accountsCreation_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <ScrollViewer Grid.Row="1" x:Name="_accountCreationMenuScrollViewer_"> + <StackPanel Padding="0,10,0,20" + Background="{StaticResource RingBlueLightBrush}" + Orientation="Vertical"> + <!-- account type chooser --> + <StackPanel Margin="20,20,0,10" Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsType_" /> </StackPanel> - <Grid Margin="10,0,10,10"> + <ComboBox x:Name="_accountTypeComboBox_" + Width="195" + Margin="30,10,20,10" + VerticalAlignment="Center" + SelectedIndex="0" + SelectionChanged="_accountTypeComboBox__SelectionChanged"> + <ComboBoxItem Content="Ring" /> + <ComboBoxItem Content="Sip" /> + </ComboBox> + <!-- alias sub menu. --> + <StackPanel Margin="10,30,0,10" + Padding="10,0" + Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsAlias_" /> + </StackPanel> + <Grid Margin="10" Padding="10,0"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <TextBox x:Name="_accountAliasTextBox_" - Grid.Column="0" - TextChanged="_accountAliasTextBox__TextChanged" - PlaceholderText="Enter alias"/> - <TextBlock x:Name="_accountAliasValid_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_accountAliasInvalid_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + <TextBox Grid.Column="0" + x:Name="_accountAliasTextBox_" + x:Uid="_accountAliasTextBoxUid_" + Margin="10,0,10,0" + IsSpellCheckEnabled="False" + TextChanged="_accountAliasTextBox__TextChanged" /> + <TextBlock Grid.Column="1" + x:Name="_accountAliasValid_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-green}" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_accountAliasInvalid_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-red}" + Text="" /> </Grid> - - <!-- account type chooser --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Account type"/> - </StackPanel> - <ComboBox x:Name="_accountTypeComboBox_" - SelectedIndex="0" - Margin="10,10,0,0" - SelectionChanged="_accountTypeComboBox__SelectionChanged" - VerticalAlignment="Center" - Width="195"> - <ComboBoxItem Content="Ring"/> - <ComboBoxItem Content="Sip"/> - </ComboBox> - <!-- RING account. --> + <!-- RING account. --> <StackPanel x:Name="_ringAccountCreationStack_" - Margin="0,20" + Margin="20,10,10,10" Visibility="Visible"> - <!-- register account on blockachain --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Register public username"/> + <!-- register account on blockachain --> + <StackPanel Margin="0,20" Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_accountsRegisterPublicName_" /> </StackPanel> <ToggleSwitch x:Name="_RegisterState_" - IsOn="True" - Toggled="_RegisterState__Toggled" - Margin="0,10"/> - <TextBlock x:Name="_whatWilHappen_" - Margin="0,10,0,0" - Style="{StaticResource BodyTextBlockStyle}" - Text="peoples will find you with your username"/> - <HyperlinkButton Content="Learn more" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> + Margin="10,0,0,10" + IsOn="True" + Toggled="_RegisterState__Toggled" /> + <TextBlock x:Name="_whatWillHappen_" + x:Uid="_whatWillHappenEditionUid_" + Margin="10,10,0,0" + Style="{StaticResource BodyTextBlockStyle}" /> + <HyperlinkButton Margin="10,0,0,10" + Content="Learn more" + NavigateUri="http://ring.cx" /> <Grid Margin="10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <TextBox x:Name="_usernameTextBox_" - Grid.Column="0" - PlaceholderText="Enter your full name" - KeyUp="_usernameTextBox__KeyUp" - /> - <TextBlock x:Name="_usernameValid_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_usernameInvalid_" - Grid.Column="1" - Padding="10,0" - Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + <TextBox Grid.Column="0" + x:Name="_usernameTextBox_" + x:Uid="_usernameTextBoxEditionUid_" + Margin="0,0,10,0" + IsSpellCheckEnabled="False" + KeyUp="_usernameTextBox__KeyUp" /> + <TextBlock Grid.Column="1" + x:Name="_usernameValid_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-green}" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_usernameInvalid_" + Padding="10,0" + Style="{StaticResource TextSegoeStyle-20pt-red}" + Text="" /> </Grid> - <!-- password sub menu. --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Password"/> + <!-- password sub menu. --> + <StackPanel Margin="0,20" Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock Text="Password" /> </StackPanel> <Grid Margin="10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <PasswordBox x:Name="_ringPasswordBoxAccountCreation_" - Grid.Column="0" - PasswordChanged="_passwordBoxAccountCreationCheck__PasswordChanged" - PlaceholderText="Enter password"/> - <TextBlock x:Name="_passwordValid_" - Grid.Column="1" + <PasswordBox Grid.Column="0" + x:Name="_ringPasswordBoxAccountCreation_" + x:Uid="_ringPasswordBoxAccountCreationUid_" + Margin="0,0,10,0" + PasswordChanged="_passwordBoxAccountCreationCheck__PasswordChanged" /> + <TextBlock Grid.Column="1" + x:Name="_passwordValid_" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_passwordInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_passwordInvalid_" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> <Grid Margin="10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <PasswordBox x:Name="_ringPasswordBoxAccountCreationCheck_" - Grid.Column="0" - PasswordChanged="_passwordBoxAccountCreationCheck__PasswordChanged" - PlaceholderText="Repeat password"/> - <TextBlock x:Name="_passwordCheckValid_" - Grid.Column="1" + <PasswordBox Grid.Column="0" + x:Name="_ringPasswordBoxAccountCreationCheck_" + x:Uid="_ringPasswordBoxAccountCreationCheckUid_" + Margin="0,0,10,0" + PasswordChanged="_passwordBoxAccountCreationCheck__PasswordChanged" /> + <TextBlock Grid.Column="1" + x:Name="_passwordCheckValid_" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_passwordCheckInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_passwordCheckInvalid_" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> - <!-- upnp sub menu. --> - <StackPanel Orientation="Horizontal" - Margin="0,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="UPnP"/> - </StackPanel> - <ToggleSwitch x:Name="_upnpStateAccountCreation_" - IsOn="True" - Margin="0,10"/> </StackPanel> - <!-- SIP account. --> + <!-- SIP account. --> <StackPanel x:Name="_sipAccountCreationStack_" + Padding="10" Visibility="Collapsed"> - <StackPanel Orientation="Horizontal" - Margin="10"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Text=""/> - <TextBlock Text="SIP account parameters" - Margin="10"/> + <StackPanel Margin="10,10,10,0" Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" Text="" /> + <TextBlock x:Uid="_accountsSIPParameters_" Margin="10" /> </StackPanel> - <TextBox x:Name="_sipHostnameTextBox_" - Margin="10" - PlaceholderText="Enter hostname"/> - <TextBox x:Name="_sipUsernameTextBox_" - Margin="10" - PlaceholderText="Enter username"/> + <TextBox x:Name="_sipHostnameTextBox_" + x:Uid="_sipHostnameEditionUid_" + Margin="20,10,20,10" + IsSpellCheckEnabled="False" /> + <TextBox x:Name="_sipUsernameTextBox_" + x:Uid="_sipUsernameEditionTextBoxUid_" + Margin="20,10,20,10" + IsSpellCheckEnabled="False" /> <PasswordBox x:Name="_sipPasswordBoxAccountCreation_" - Margin="10" - PlaceholderText="Enter password"/> + x:Uid="_sipPasswordEditionUid_" + Margin="20,10,20,10" /> </StackPanel> </StackPanel> </ScrollViewer> - <!-- buttons yes/no to create the new account. --> - <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - HorizontalAlignment="Center"> - <Button x:Name="_createAccountYes_" - Grid.Row="1" - VerticalAlignment="Center" + <!-- buttons yes/no to create the new account. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> + <Button Grid.Row="1" + x:Name="_createAccountYes_" HorizontalAlignment="Center" - Content="" - Click="_createAccountYes__Click" - Style="{StaticResource ButtonStyle5}"/> - <Button x:Name="_createAccountNo_" - Grid.Row="1" VerticalAlignment="Center" + Click="_createAccountYes__Click" + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_create_account_yes_" /> + </ToolTipService.ToolTip> + </Button> + <Button Grid.Row="1" + x:Name="_createAccountNo_" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_createAccountNo__Click" - Style="{StaticResource ButtonStyle5}"/> + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_account_cancel_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> - <!-- add account menu. --> - <Grid x:Name="_accountAddMenuGrid_" - Visibility="Collapsed" - Grid.Row="0" - Background="#3bc1d3"> + + <!-- add account menu. --> + <Grid Grid.Row="0" + x:Name="_accountAddMenuGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <StackPanel Orientation="Horizontal" - Background="#FFE4F1F9" + <TextBlock Grid.Row="0" + x:Uid="_accountsAddDevice_" + Margin="12,6,4,2" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <StackPanel Grid.Row="1" Padding="10" - Grid.Row="0"> + Background="{StaticResource RingBlueLightBrush}" + Orientation="Horizontal"> <Button x:Name="_step1button_" Click="_step1button__Click" - Content="Step 1"/> - <TextBlock Text=">"/> + Content="Step 1" /> + <TextBlock Text=">" /> <Button x:Name="_step2button_" Click="_step2button__Click" - Content="Step 2"/> + Content="Step 2" /> </StackPanel> - <!-- step 1. --> - <StackPanel x:Name="_step1Menu_" - Background="#FFE4F1F9" - Padding="10" - Grid.Row="0"> - <TextBlock Text="To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account." - TextWrapping="Wrap" - TextAlignment="Justify"/> - <HyperlinkButton Content="Learn more" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> + <!-- step 1. --> + <StackPanel Grid.Row="1" + x:Name="_step1Menu_" + Padding="20" + Background="{StaticResource RingBlueLightBrush}"> + <TextBlock x:Uid="_accountsAddStep1_" + TextAlignment="Left" + TextWrapping="Wrap" /> + <HyperlinkButton x:Uid="_accountsEditionLearnMore_" + Margin="0,0,0,10" + NavigateUri="http://ring.cx" /> </StackPanel> - <!-- step 2. --> - <StackPanel x:Name="_step2Menu_" - Background="#FFE4F1F9" - Visibility="Collapsed" - Grid.Row="0"> - <TextBox x:Name="_PINTextBox_" - Margin="10" - GotFocus="_PINTextBox__GotFocus" - PlaceholderText="Enter PIN"/> + <!-- step 2. --> + <StackPanel Grid.Row="1" + x:Name="_step2Menu_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> + <TextBox x:Name="_PINTextBox_" + x:Uid="_accountsAddEnterPIN_" + Margin="20,10,20,10" + GotFocus="_PINTextBox__GotFocus" + IsSpellCheckEnabled="False" + KeyUp="_addAccountInputValidation__KeyUp" /> <PasswordBox x:Name="_ArchivePassword_" - Margin="10" - PlaceholderText="Enter your password"/> + x:Uid="_accountsEnterArchivePassword_" + Margin="20,10,20,10" + KeyUp="_addAccountInputValidation__KeyUp" /> <TextBlock x:Name="_response_" - Foreground="Red" HorizontalAlignment="Center" - Text=""/> + Foreground="Red" + Text="" /> </StackPanel> - <!-- buttons next step and yes/no to add the account. --> - <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - Padding="10,0" - HorizontalAlignment="Center"> + <!-- buttons next step and yes/no to add the account. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <StackPanel Padding="10,0" + HorizontalAlignment="Center" + Orientation="Horizontal"> <Button x:Name="_nextstep_" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Content="" - Click="_step2button__Click" - Style="{StaticResource ButtonStyle2}"/> + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_step2button__Click" + Content="" + Style="{StaticResource ButtonStyle2}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_add_account_next_" /> + </ToolTipService.ToolTip> + </Button> <Button x:Name="_addAccountYes_" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Visibility="Collapsed" - Content="" - Click="_addAccountYes__Click" - Style="{StaticResource ButtonStyle5}"/> + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_addAccountYes__Click" + Content="" + Style="{StaticResource ButtonStyle5}" + Visibility="Collapsed"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_add_account_yes_" /> + </ToolTipService.ToolTip> + </Button> <Button x:Name="_addAccountNo_" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Visibility="Collapsed" - Content="" - Click="_addAccountNo__Click" - Style="{StaticResource ButtonStyle5}"/> + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_addAccountNo__Click" + Content="" + Style="{StaticResource ButtonStyle5}" + Visibility="Collapsed"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_account_cancel_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> - <!-- share menu. --> - <Grid x:Name="_shareMenuGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + <!-- devices menu. --> + <Grid Grid.Row="0" + x:Name="_devicesMenuGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <Grid Background="#FFE4F1F9"> - <Grid.RowDefinitions> - <RowDefinition Height="auto"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="*"/> - </Grid.RowDefinitions> - <Grid Background="white" - Margin="10" - MaxHeight="140" - Grid.Row="0" - MaxWidth="140" - Padding="5"> - <Image x:Name="_selectedAccountQrCode_" - Width="200" - Margin="5" - Grid.Row="0" - Stretch="None" - Height="200"/> - </Grid> - <TextBlock x:Name="_ringId_" - Padding="1" - Style="{StaticResource TextStyle4}" - Text="" - Grid.Row="1" - IsTextSelectionEnabled="True" - HorizontalAlignment="Center"/> - </Grid> - <Button x:Name="_shareMenuDone_" - Grid.Row="1" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Content="" - Click="_shareMenuDone__Click" - Style="{StaticResource ButtonStyle6}"/> - </Grid> - <!-- devices menu. --> - <Grid x:Name="_devicesMenuGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> - <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> - </Grid.RowDefinitions> - <Grid Background="#FFE4F1F9"> + <TextBlock Grid.Row="0" + x:Name="_devicesMenuTitle_" + x:Uid="_accountsDevices_" + Margin="12,6,4,2" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <Grid Grid.Row="1"> <Grid.RowDefinitions> - <RowDefinition Height="auto"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="*"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="auto"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> </Grid.RowDefinitions> - <!-- about this device --> - <StackPanel Orientation="Horizontal" - Grid.Row="0" - Margin="10,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="Your device ID"/> + <!-- about this device --> + <StackPanel Grid.Row="0" + Margin="10,20,10,10" + Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_thisDevice_" /> </StackPanel> - <TextBlock x:Name="_deviceId_" - Margin="10" - Text="[TEXT_MISSING]" - TextTrimming="CharacterEllipsis" - FontSize="12" - Grid.Row="1" - IsTextSelectionEnabled="True" - HorizontalAlignment="Center"/> - <!-- about linked devices --> - <StackPanel Orientation="Horizontal" - Grid.Row="2" - Margin="10,20"> - <TextBlock Style="{StaticResource TextSegoeStyle-20pt-black}" - Margin="0,0,10,0" - Text=""/> - <TextBlock Text="other linked devices"/> + + <!-- this device --> + <Grid Grid.Row="1" + Padding="10" + HorizontalAlignment="Center" + Background="AliceBlue"> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="52" /> + <ColumnDefinition Width="180" /> + <ColumnDefinition Width="42" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" + x:Uid="_deviceName_" + VerticalAlignment="Center" + FontWeight="Bold" + Text="Name " /> + <TextBox Grid.Column="1" + x:Name="_deviceName_" + Width="180" + Height="32" + IsSpellCheckEnabled="False" + KeyUp="_deviceName__KeyUp" + LostFocus="_deviceName__LostFocus" + MaxLength="16" + Text="[TEXT_MISSING]" + TextWrapping="NoWrap" /> + </Grid> + <Grid Grid.Row="1" Margin="0,10,0,0"> + <TextBlock x:Name="_deviceId_" + VerticalAlignment="Center" + FontSize="12" + Text="[TEXT MISSING]" + TextTrimming="CharacterEllipsis" /> + </Grid> + </Grid> + + <!-- other linked devices --> + <StackPanel Grid.Row="2" + Margin="10,20" + Orientation="Horizontal"> + <TextBlock Margin="0,0,10,0" + Style="{StaticResource TextSegoeStyle-20pt-black}" + Text="" /> + <TextBlock x:Uid="_other_linked_devices_" /> </StackPanel> - <TextBlock x:Name="_waitingDevicesList_" - Text="waiting for devices list..." - Grid.Row="3" - IsTextSelectionEnabled="True" - HorizontalAlignment="Center"/> - <ListBox x:Name="_devicesIdList_" - Visibility="Collapsed" + <TextBlock Grid.Row="3" + x:Name="_waitingDevicesList_" + x:Uid="_waitingDevicesListUid_" + HorizontalAlignment="Center" /> + <TextBlock Grid.Row="3" + x:Name="_noDevicesList_" + Margin="20,-10,0,0" + Foreground="OrangeRed" + Visibility="Collapsed" /> + <ListBox Grid.Row="3" + x:Name="_devicesIdList_" Padding="10,0" - Background="#FFE4F1F9" - Grid.Row="3"/> + Background="{StaticResource RingBlueLightBrush}" + ItemContainerStyle="{StaticResource otherdeviceListBoxStyle}" + ItemTemplate="{StaticResource RingDeviceItemsTemplate}" + Visibility="Collapsed" /> + </Grid> + + <!-- button to add device. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <Button x:Name="_addDevice_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_addDevice__Click" + Content="" + Style="{StaticResource ButtonStyle6}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_add_device_" /> + </ToolTipService.ToolTip> + </Button> </Grid> - <!-- button to add device. --> - <Button x:Name="_addDevice_" - Grid.Row="1" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Content="" - Click="_addDevice__Click" - Style="{StaticResource ButtonStyle6}"/> </Grid> - <!-- add device (pin generator) menu. --> - <Grid x:Name="_addingDeviceGrid_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + + <!-- add device (pin generator) menu. --> + <Grid Grid.Row="0" + x:Name="_addingDeviceGrid_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <Grid Background="#FFE4F1F9"> + <TextBlock Grid.Row="0" + x:Uid="_addDeviceMenuTitle_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <Grid Grid.Row="1"> <Grid.RowDefinitions> - <RowDefinition Height="auto"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="*"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> </Grid.RowDefinitions> - <TextBlock VerticalAlignment="Center" - Text="PIN generator" + <TextBlock Grid.Row="0" + x:Uid="_accountsPINGenerator_" + Margin="10,10,0,10" HorizontalAlignment="Center" - Grid.Row="0" - Margin="10,10,0,10"/> - <PasswordBox x:Name="_passwordForPinGenerator_" + VerticalAlignment="Center" /> + <PasswordBox Grid.Row="1" + x:Name="_passwordForPinGenerator_" + x:Uid="_accountsEnterArchivePassword_" Margin="10" - Grid.Row="1" - KeyUp="_passwordForPinGenerator__KeyUp" - PlaceholderText="Enter your password"/> + KeyUp="_passwordForPinGenerator__KeyUp" /> </Grid> - <!-- buttons yes/no to generate a PIN. --> - <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - HorizontalAlignment="Center"> - <Button x:Name="_pinGeneratorYes_" - Grid.Row="1" - VerticalAlignment="Center" + <!-- buttons yes/no to generate a PIN. --> + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> + <Button Grid.Row="1" + x:Name="_pinGeneratorYes_" HorizontalAlignment="Center" - Content="" - Click="_pinGeneratorYes__Click" - Style="{StaticResource ButtonStyle5}"/> - <Button x:Name="_pinGeneratorNo_" - Grid.Row="1" VerticalAlignment="Center" + Click="_pinGeneratorYes__Click" + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_pin_gen_yes_" /> + </ToolTipService.ToolTip> + </Button> + <Button Grid.Row="1" + x:Name="_pinGeneratorNo_" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_pinGeneratorNo__Click" - Style="{StaticResource ButtonStyle5}"/> + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_pin_gen_no_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> - <!-- waiting for a PIN. --> - <Grid x:Name="_waitingForPin_" - Grid.Row="0" - Visibility="Collapsed" - Background="#3bc1d3"> + <!-- waiting for a PIN. --> + <Grid Grid.Row="0" + x:Name="_waitingForPin_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <Grid Background="#FFE4F1F9"> + <TextBlock Grid.Row="0" + x:Uid="_accountsAddDevice_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <Grid Grid.Row="1"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="*"/> + <RowDefinition Height="*" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> </Grid.RowDefinitions> - <TextBlock x:Name="_waitingAndResult_" - VerticalAlignment="Center" - Text="Exporting account on the Ring..." + <TextBlock Grid.Row="0" + x:Name="_waitingAndResult_" + x:Uid="_accountsWaitingAndResult_" + Margin="10,10,0,10" HorizontalAlignment="Center" - Grid.Row="0" - Margin="10,10,0,10"/> + VerticalAlignment="Center" /> </Grid> - <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - HorizontalAlignment="Center"> - <Button x:Name="_closePin_" - Grid.Row="1" - VerticalAlignment="Center" + <Grid Grid.Row="2" Background="{StaticResource RingBlueMidBrush}"> + <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> + <Button Grid.Row="1" + x:Name="_closePin_" HorizontalAlignment="Center" - Content="" + VerticalAlignment="Center" Click="_closePin__Click" - Style="{StaticResource ButtonStyle5}"/> + Content="" + Style="{StaticResource ButtonStyle5}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_pin_gen_close_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> - <!-- contacts + calls => smartpanelitems. --> - <Grid x:Name="_smartGrid_" - Grid.Row="0"> + <!-- contacts + calls => smartpanelitems. --> + <Grid Grid.Row="0" + x:Name="_smartGrid_" + Background="{StaticResource RingBlueLightBrush}"> <Grid.RowDefinitions> - <RowDefinition x:Name="_rowRingTxtBx_" - Height="40"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="*"/> + <RowDefinition x:Name="_contactsTitleRow_" Height="54" /> + <RowDefinition x:Name="_rowRingTxtBx_" Height="48" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> </Grid.RowDefinitions> - <Grid> + <TextBlock Grid.Row="0" + x:Name="_contactsTitle_" + x:Uid="_contactsTitle_" + Margin="12,6,4,2" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <Grid Grid.Row="1" Margin="0,0,0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="Auto"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> - <Border x:Name="BackgroundElement" - Grid.Column="0" - Background="White" - Margin="6" - Opacity="1" - Grid.ColumnSpan="2"> - </Border> - <TextBox x:Name="_ringTxtBx_" - Grid.Column="0" - VerticalAlignment="Center" - BorderThickness="0" - HorizontalAlignment="Stretch" - Padding="4" - Margin="6" - Foreground="Black" - Background="White" - TextWrapping="Wrap" - KeyUp="_ringTxtBx__KeyUp" - Text=""> - </TextBox> - <Button x:Name="_addButton_" - Background="Transparent" - Grid.Column="1" - FontFamily="Segoe MDL2 Assets" - Foreground="#3bc1d3" - Content=" " - Click="_ringTxtBx__Click" - BorderThickness="0" - Visibility="Visible" - IsTabStop="False" - FontSize="20" - Width="38" - Margin="6" - Padding="4,4,8,4" - VerticalAlignment="Stretch"> + <Border Grid.Column="0" + x:Name="BackgroundElement" + Grid.ColumnSpan="2" + Margin="12,4,12,4" + Background="White" + BorderBrush="LightGray" + BorderThickness="1" + Opacity="1" /> + <TextBox Grid.Column="0" + x:Name="_ringTxtBx_" + x:Uid="_ringTxtBx_" + Margin="14,7,7,7" + Padding="7,6,7,7" + HorizontalAlignment="Stretch" + VerticalAlignment="Center" + Background="White" + BorderThickness="0" + Foreground="Black" + IsSpellCheckEnabled="False" + KeyUp="_ringTxtBx__KeyUp" + TextWrapping="Wrap" /> + <Button Grid.Column="1" + x:Name="_addButton_" + Width="38" + Margin="0,4,12,4" + Padding="4,5,6,2" + VerticalAlignment="Stretch" + Background="Transparent" + BorderThickness="0" + Click="_ringTxtBx__Click" + Content=" " + FontFamily="Segoe MDL2 Assets" + FontSize="18" + Foreground="{StaticResource RingBlueMidBrush}" + IsTabStop="False" + Visibility="Visible"> <Button.RenderTransform> - <TranslateTransform X="0"/> + <TranslateTransform X="0" /> </Button.RenderTransform> </Button> </Grid> - <ListBox x:Name="_smartList_" - Grid.Row="2" - Background="Transparent" - Margin="0" - SelectionChanged="_smartList__SelectionChanged" - Padding="0" - ScrollViewer.HorizontalScrollBarVisibility="Auto" - ScrollViewer.HorizontalScrollMode="Disabled" - MaxWidth="320" - ItemContainerStyle="{StaticResource contactsListBoxStyle}" - ItemTemplate="{StaticResource SmartPanelItemsTemplate}"/> + <ListBox Grid.Row="3" + x:Name="_smartList_" + MaxWidth="320" + Margin="0" + Padding="0" + Background="Transparent" + GotFocus="_smartList__GotFocus" + ItemContainerStyle="{StaticResource contactsListBoxStyle}" + ItemTemplate="{StaticResource SmartPanelItemsTemplate}" + ScrollViewer.HorizontalScrollBarVisibility="Auto" + ScrollViewer.HorizontalScrollMode="Disabled" + SelectionChanged="_smartList__SelectionChanged" /> + </Grid> + <!-- trust requests --> + <Grid Grid.Row="0" x:Name="_incomingContactRequestGrid_"> + <Grid.RowDefinitions> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + </Grid.RowDefinitions> + <TextBlock Grid.Row="0" + x:Name="_contactRequestsTitle_" + x:Uid="_contactRequestsTitle_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <ListBox Grid.Row="1" + x:Name="_incomingContactRequestList_" + MaxWidth="320" + Margin="0" + Padding="0" + Background="Transparent" + ItemContainerStyle="{StaticResource contactsListBoxStyle}" + ItemTemplate="{StaticResource ContactRequestItemsTemplate}" + ScrollViewer.HorizontalScrollBarVisibility="Auto" + ScrollViewer.HorizontalScrollMode="Disabled" /> </Grid> - <!-- settings. --> - <Grid x:Name="_settingsMenu_" - Grid.Row="0" - Visibility="Collapsed" - Background="#FFE4F1F9"> + <!-- settings. --> + <Grid Grid.Row="0" + x:Name="_settingsMenu_" + Background="{StaticResource RingBlueLightBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="*"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> </Grid.RowDefinitions> - <ScrollViewer - ScrollViewer.VerticalScrollBarVisibility="Auto"> - <Grid x:Name="_videoSettings_" - Grid.Row="0"> - <StackPanel Margin="10"> - <TextBlock Text="Video Device" - Margin="10"/> - <ComboBox x:Name="_videoDeviceComboBox_" + <TextBlock Grid.Row="0" + x:Name="_settingsTitle_" + x:Uid="_settingsTitle_" + Margin="12,6,4,8" + Style="{StaticResource SubheaderTextBlockStyle}" /> + <ScrollViewer Grid.Row="1" + x:Name="_settingsScrollView_" + ScrollViewer.VerticalScrollBarVisibility="Auto" + ScrollViewer.VerticalScrollMode="Enabled"> + <!-- video settings --> + <StackPanel Margin="4"> + <TextBlock x:Uid="_settingsVideo_" + Margin="8" + Style="{StaticResource TitleTextBlockStyle}" /> + <TextBlock x:Uid="_settingsVideoDevice_" + Margin="10" + Style="{StaticResource BaseTextBlockStyle}" /> + <ComboBox x:Name="_videoDeviceComboBox_" Margin="10" - SelectionChanged="_videoDeviceComboBox__SelectionChanged"> - </ComboBox> - <TextBlock Text="Video Resolution" Margin="10"/> - <ComboBox x:Name="_videoResolutionComboBox_" + SelectionChanged="_videoDeviceComboBox__SelectionChanged" /> + <TextBlock x:Uid="_settingsVideoResolution_" + Margin="10" + Style="{StaticResource BaseTextBlockStyle}" /> + <ComboBox x:Name="_videoResolutionComboBox_" Margin="10" - SelectionChanged="_videoResolutionComboBox__SelectionChanged"> - </ComboBox> - <TextBlock Text="Video Rate" Margin="10"/> - <ComboBox x:Name="_videoRateComboBox_" + SelectionChanged="_videoResolutionComboBox__SelectionChanged" /> + <TextBlock x:Uid="_settingsVideoRate_" + Margin="10" + Style="{StaticResource BaseTextBlockStyle}" /> + <ComboBox x:Name="_videoRateComboBox_" Margin="10" - SelectionChanged="_videoRateComboBox__SelectionChanged"> - </ComboBox> - </StackPanel> - </Grid> + SelectionChanged="_videoRateComboBox__SelectionChanged" /> + </StackPanel> </ScrollViewer> </Grid> </Grid> </Grid> - </Page> diff --git a/SmartPanel.xaml.cpp b/SmartPanel.xaml.cpp index cd00803..667561e 100644 --- a/SmartPanel.xaml.cpp +++ b/SmartPanel.xaml.cpp @@ -1,4 +1,4 @@ -/*************************************************************************** +/*************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> * * Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * @@ -16,13 +16,23 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ + #include "pch.h" -#include <string> -#include <direct.h> #include "SmartPanel.xaml.h" -#include "qrencode.h" +#include "ResourceManager.h" +#include "Wizard.xaml.h" +#include "WelcomePage.xaml.h" + #include <MemoryBuffer.h> // IMemoryBufferByteAccess #include "callmanager_interface.h" +#include "configurationmanager_interface.h" +#include "presencemanager_interface.h" + +#include <string> +#include <direct.h> +#include <regex> + +#include "lodepng.h" using namespace Platform; @@ -35,6 +45,7 @@ using namespace Windows::Media::MediaProperties; using namespace Windows::UI::Xaml; using namespace Windows::Storage; using namespace Windows::UI::Xaml::Media::Imaging; +using namespace Windows::UI::Xaml::Media::Animation; using namespace Windows::UI::Xaml::Shapes; using namespace Windows::UI::Xaml::Media; using namespace Concurrency; @@ -43,21 +54,35 @@ using namespace Windows::Graphics::Imaging; using namespace Windows::Foundation; using namespace Concurrency; using namespace Platform::Collections; - +using namespace Windows::UI::Popups; using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::DataTransfer; using namespace Windows::Storage; using namespace Windows::UI::Core; using namespace Windows::System::Threading; +using namespace Windows::UI::Xaml::Interop; + SmartPanel::SmartPanel() { InitializeComponent(); - /* populate accounts listBox*/ + /* populate account list */ _accountsList_->ItemsSource = AccountListItemsViewModel::instance->itemsList; - /* populate the smartlist */ - _smartList_->ItemsSource = SmartPanelItemsViewModel::instance->itemsList; + /* populate account's device list */ + // As the user must have the account in question selected before interacting with + // it's device list, no filtered list is required. + _devicesIdList_->ItemsSource = RingDeviceItemsViewModel::instance->itemsList; + + /* populate the contact list */ + _smartList_->ItemsSource = SmartPanelItemsViewModel::instance->itemsListFiltered; + + /* populate banned contact list */ + _bannedContactList_->ItemsSource = SmartPanelItemsViewModel::instance->itemsListBannedFiltered; + + /* populate contact request list */ + _incomingContactRequestList_->ItemsSource = ContactRequestItemsViewModel::instance->itemsListFiltered; /* connect delegates */ Configuration::UserPreferences::instance->selectIndex += ref new SelectIndex([&](int index) { @@ -66,63 +91,90 @@ SmartPanel::SmartPanel() if (accountsListSize > index) { _accountsList_->SelectedIndex = index; } - else { - if (accountsListSize > 0) - _accountsList_->SelectedIndex = 0; + else if (accountsListSize) { + _accountsList_->SelectedIndex = 0; } - updatePageContent(); - updateUnreadMessagesState(); + updateNotificationsState(); } }); + Configuration::UserPreferences::instance->loadProfileImage += ref new LoadProfileImage([this]() { + MSG_("LOADING PROFILE IMAGE"); StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; String^ image_path = localfolder->Path + "\\.profile\\profile_image.png"; auto uri = ref new Windows::Foundation::Uri(image_path); _selectedAccountAvatar_->ImageSource = ref new BitmapImage(uri); + Configuration::UserPreferences::instance->profileImageLoaded = true; }); AccountsViewModel::instance->updateScrollView += ref new UpdateScrollView([this]() { _accountsListScrollView_->UpdateLayout(); _accountsListScrollView_->ScrollToVerticalOffset(_accountsListScrollView_->ScrollableHeight); }); + + RingD::instance->networkChanged += ref new NetworkChanged([&]() { + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync( + CoreDispatcherPriority::High, ref new DispatchedHandler([=]() + { + _networkConnectivityNotificationRow_->Height = RingD::instance->_hasInternet ? GridLength(0.) : GridLength(32.); + })); + }); + RingD::instance->incomingCall += ref new RingClientUWP::IncomingCall([&]( String^ accountId, String^ callId, String^ from) { auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountId)); auto contact = contactListModel->findContactByRingId(from); - if (contact == nullptr) - contact = contactListModel->addNewContact(from, from); + if (contact == nullptr) { + contact = contactListModel->addNewContact(from, from, TrustStatus::UNKNOWN, true); + } if (contact == nullptr) { return; } - RingD::instance->lookUpAddress(from); + contact->_isIncognitoContact = true; - SmartPanelItem^ item; + RingD::instance->lookUpAddress(Utils::toString(accountId), from); - item = SmartPanelItemsViewModel::instance->findItem(contact); - item->_callId = callId; + // buffer a toast + RingD::instance->unpoppedToasts.insert(std::make_pair(contact->ringID_, + [callId](String^ username) { + RingD::instance->ShowCallToast(RingD::instance->isInBackground, callId, username); + })); - /* move the item of the top of the list */ - unsigned int index; - if (_smartList_->Items->IndexOf(item, &index)) { + if (auto item = SmartPanelItemsViewModel::instance->findItem(contact)) { + item->_callId = callId; SmartPanelItemsViewModel::instance->moveItemToTheTop(item); _smartList_->UpdateLayout(); _smartList_->ScrollIntoView(item); } - - SmartPanelItemsViewModel::instance->update(); }); - AccountsViewModel::instance->newUnreadMessage += ref new NewUnreadMessage(this, &SmartPanel::updateUnreadMessagesState); + AccountsViewModel::instance->newUnreadMessage += ref new NewUnreadMessage(this, &SmartPanel::updateContactNotificationsState); + AccountsViewModel::instance->contactDataModified += ref new ContactDataModified(this, &SmartPanel::OncontactDataModified); + AccountsViewModel::instance->newUnreadContactRequest += ref new NewUnreadContactRequest(this, &SmartPanel::updateNotificationsState); RingD::instance->stateChange += ref new StateChange(this, &SmartPanel::OnstateChange); RingD::instance->devicesListRefreshed += ref new RingClientUWP::DevicesListRefreshed(this, &RingClientUWP::Views::SmartPanel::OndevicesListRefreshed); - AccountsViewModel::instance->contactAdded += ref new ContactAdded([this](String^ accountId, Contact^ contact) { + AccountsViewModel::instance->contactAdded += ref new ContactAdded([&](String^ accountId, Contact^ contact) { auto smartPanelItem = ref new SmartPanelItem(); smartPanelItem->_contact = contact; SmartPanelItemsViewModel::instance->itemsList->InsertAt(0, smartPanelItem); + if (contact->_accountIdAssociated == AccountListItemsViewModel::instance->getSelectedAccountId()) { + SmartPanelItemsViewModel::instance->itemsListFiltered->InsertAt(0, smartPanelItem); + } }); + RingD::instance->vCardUpdated += ref new VCardUpdated([&](Contact^ contact) + { + Utils::runOnUIThread([this, contact]() { + SmartPanelItemsViewModel::instance->update({ "_bestName2", "_avatarImage", "_contact" }); + }); + }); + + RingD::instance->registrationStateRegistered += ref new RingClientUWP::RegistrationStateRegistered(this, &SmartPanel::OnregistrationStateChanged); + RingD::instance->registrationStateUnregistered += ref new RingClientUWP::RegistrationStateUnregistered(this, &SmartPanel::OnregistrationStateChanged); + RingD::instance->registrationStateTrying += ref new RingClientUWP::RegistrationStateTrying(this, &SmartPanel::OnregistrationStateChanged); + RingD::instance->exportOnRingEnded += ref new RingClientUWP::ExportOnRingEnded(this, &RingClientUWP::Views::SmartPanel::OnexportOnRingEnded); RingD::instance->accountUpdated += ref new RingClientUWP::AccountUpdated(this, &RingClientUWP::Views::SmartPanel::OnaccountUpdated); RingD::instance->registeredNameFound += ref new RingClientUWP::RegisteredNameFound(this, &RingClientUWP::Views::SmartPanel::OnregisteredNameFound); @@ -135,9 +187,19 @@ SmartPanel::SmartPanel() RingD::instance->callPlaced += ref new RingClientUWP::CallPlaced(this, &RingClientUWP::Views::SmartPanel::OncallPlaced); RingD::instance->incomingAccountMessage += ref new RingClientUWP::IncomingAccountMessage(this, &RingClientUWP::Views::SmartPanel::OnincomingAccountMessage); + RingD::instance->newBuddyNotification += ref new RingClientUWP::NewBuddyNotification(this, &RingClientUWP::Views::SmartPanel::OnnewBuddyNotification); + + _networkConnectivityNotificationRow_->Height = Utils::hasInternet() ? 0 : 32; + selectMenu(MenuOpen::CONTACTS_LIST); } +void +SmartPanel::OnregistrationStateChanged(const std::string& accountId) +{ + AccountListItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyAccountItem); +} + void SmartPanel::OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code) { @@ -149,19 +211,27 @@ SmartPanel::OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus st } switch (state) { + case CallStatus::INCOMING_RINGING: + { + updateCallAnimationState(item, true); + break; + } case CallStatus::NONE: case CallStatus::ENDED: { + updateCallAnimationState(item, false); auto callsList = DRing::getCallList(); if (callsList.empty()) _settingsMenuButton_->Visibility = VIS::Visible; - SmartPanelItemsViewModel::instance->update(); break; } case CallStatus::IN_PROGRESS: { + updateCallAnimationState(item, false); SmartPanelItemsViewModel::instance->_selectedItem = item; + _smartList_->SelectedIndex = SmartPanelItemsViewModel::instance->getFilteredIndex(item->_contact); + _settingsMenuButton_->Visibility = VIS::Collapsed; summonVideoPage(); break; } @@ -177,6 +247,30 @@ SmartPanel::OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus st } } +void +SmartPanel::updateCallAnimationState(SmartPanelItem^ item, bool state) +{ + auto items = _smartList_->Items; + for (int i = 0; i < items->Size; ++i) { + if (auto message = dynamic_cast<SmartPanelItem^>(items->GetAt(i))) { + if (message == item) { + auto depObj = _smartList_->ItemContainerGenerator->ContainerFromItem(items->GetAt(i)); + auto gridElement = Utils::xaml::FindVisualChildByName(depObj, "_contactAvatarGrid_"); + auto grid = dynamic_cast<Grid^>(gridElement); + auto ellipse = dynamic_cast<Ellipse^>(grid->Children->GetAt(1)); + auto eventTrigger = dynamic_cast<EventTrigger^>(ellipse->Triggers->GetAt(0)); + auto beginStoryboard = dynamic_cast<BeginStoryboard^>(eventTrigger->Actions->GetAt(0)); + if (beginStoryboard) { + if (state) + beginStoryboard->Storyboard->Begin(); + else + beginStoryboard->Storyboard->Stop(); + } + } + } + } +} + void RingClientUWP::Views::SmartPanel::updatePageContent() { @@ -184,32 +278,23 @@ RingClientUWP::Views::SmartPanel::updatePageContent() if (!accountListItem) return; - // update ContactListModel with account's contact list - //ContactListModel::instance->_contactsList = accountListItem->_account->_contactsList; - - auto name = accountListItem->_account->name_; // refacto remove name variable and use the link directly on the next line... like _upnpnState..._ - - accountListItem->_isSelected = true; - - Configuration::UserPreferences::instance->PREF_ACCOUNT_INDEX = _accountsList_->SelectedIndex; - Configuration::UserPreferences::instance->save(); - - _selectedAccountName_->Text = name; // refacto : bind this in xaml directly - ///_devicesIdList_->ItemsSource = account->_devicesIdList; - _deviceId_->Text = accountListItem->_account->_deviceId; /* this is the current device ... - ... in the way to get all associated devices, we have to querry the daemon : */ + _selectedAccountName_->Text = accountListItem->_account->_bestName; + _selectedAccountUsername_->Text = accountListItem->_account->_bestName2; + _deviceId_->Text = accountListItem->_account->_deviceId; + _deviceName_->Text = accountListItem->_account->_deviceName; _devicesMenuButton_->Visibility = (accountListItem->_account->accountType_ == "RING") ? Windows::UI::Xaml::Visibility::Visible : Windows::UI::Xaml::Visibility::Collapsed; - _shareMenuButton_->Visibility = (accountListItem->_account->accountType_ == "RING") - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - + _enabledState_->IsOn = accountListItem->_account->_active; _upnpState_->IsOn = accountListItem->_account->_upnpState; + _autoAnswerToggle_->IsOn = accountListItem->_account->_autoAnswer; + _dhtPublicInCallsToggle_->IsOn = accountListItem->_account->_dhtPublicInCalls; + _turnEnabledToggle_->IsOn = accountListItem->_account->_turnEnabled; + _turnEditionTextBox_->Text = accountListItem->_account->_turnAddress; - if (_upnpState_->IsOn) { + if (_RegisterStateEdition_->IsOn) { _usernameTextBoxEdition_->IsEnabled = true; _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -218,11 +303,17 @@ RingClientUWP::Views::SmartPanel::updatePageContent() _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } + ContactRequestItemsViewModel::instance->refreshFilteredItemsList(); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); } void RingClientUWP::Views::SmartPanel::setMode(RingClientUWP::Views::SmartPanel::Mode mode) { - _rowRingTxtBx_->Height = (mode == RingClientUWP::Views::SmartPanel::Mode::Normal)? 40 : 0; + _contactsTitleRow_->Height = (mode == RingClientUWP::Views::SmartPanel::Mode::Normal) ? 54 : 0; + _rowRingTxtBx_->Height = (mode == RingClientUWP::Views::SmartPanel::Mode::Normal)? 48 : 0; selectMenu(MenuOpen::CONTACTS_LIST); } @@ -231,10 +322,12 @@ void RingClientUWP::Views::SmartPanel::_addAccountBtn__Click(Platform::Object^ s _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible; + _accountCreationMenuGrid_->UpdateLayout(); + _accountCreationMenuScrollViewer_->ScrollToVerticalOffset(0); + _createAccountYes_->IsEnabled = false; _accountTypeComboBox_->SelectedIndex = 0; - _upnpStateAccountCreation_->IsOn = true; _RegisterStateEdition_->IsOn = true; _accountAliasTextBox_->Text = ""; _usernameTextBox_->Text = ""; @@ -249,7 +342,7 @@ void RingClientUWP::Views::SmartPanel::_createAccountYes__Click(Platform::Object { RingD::instance->createRINGAccount(_accountAliasTextBox_->Text , _ringPasswordBoxAccountCreation_->Password - , _upnpStateAccountCreation_->IsOn + , true , (_RegisterState_->IsOn) ? _usernameTextBox_->Text : ""); _ringPasswordBoxAccountCreation_->Password = ""; @@ -276,53 +369,105 @@ void RingClientUWP::Views::SmartPanel::_createAccountYes__Click(Platform::Object selectMenu(MenuOpen::ACCOUNTS_LIST); } - void RingClientUWP::Views::SmartPanel::_createAccountNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { selectMenu(MenuOpen::ACCOUNTS_LIST); } -/* using the usual selection behaviour doesn't allow us to deselect by simple click. The selection is managed - by Grid_PointerReleased */ void SmartPanel::_smartList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e) { - auto listbox = dynamic_cast<ListBox^>(sender); // same as _smartList_ - listbox->SelectedItem = nullptr; - return; + auto listbox = safe_cast<ListBox^>(sender); + auto item = safe_cast<SmartPanelItem^>(listbox->SelectedItem); + + if (!item) + return; + + auto contact = item->_contact; + + if (contact == nullptr) + { + ERR_("SmartPanelItem without contact"); + return; + } + + if (contact->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION) { + return; + } + + /* we set the current selected item */ + if (SmartPanelItemsViewModel::instance->_selectedItem != item) { + SmartPanelItemsViewModel::instance->_selectedItem = item; + + /* at this point we check if a call is in progress with the current selected contact*/ + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); + // TODO: don't clear messages if the user does not see the message panel from the VideoPage + if (contact) { + contact->_unreadMessages = 0; + updateNotificationsState(); + contactListModel->saveContactsToFile(); + } + + /* summon the video when in a call */ + if (item->_callStatus == CallStatus::IN_PROGRESS + || item->_callStatus == CallStatus::PAUSED + || item->_callStatus == CallStatus::PEER_PAUSED) { + summonVideoPage(); + return; + } + + /* else, summon the message text page*/ + summonMessageTextPage(); + } } void SmartPanel::_accountList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e) { auto listbox = safe_cast<ListBox^>(sender); - // disable deselction from listbox - if (listbox->SelectedItem == nullptr) - { - if (e->RemovedItems->Size > 0) - { + // disable deselection from listbox + undoListBoxDeselection(listbox, e); + auto accountListItem = safe_cast<AccountListItem^>(listbox->SelectedItem); + if (accountListItem == nullptr) { + listbox->SelectedIndex = 0; + accountListItem = safe_cast<AccountListItem^>(listbox->SelectedItem); + } + _selectedAccountName_->Text = accountListItem->_account->_bestName; + _selectedAccountUsername_->Text = accountListItem->_account->_bestName2; + AccountListItemsViewModel::instance->_selectedItem = accountListItem; + accountListItem->_isSelected = true; + + SmartPanelItemsViewModel::instance->update({ "_avatarImage" }); + ContactRequestItemsViewModel::instance->update({ "_avatarImage" }); + + updatePageContent(); + updateNotificationsState(); + + Configuration::UserPreferences::instance->PREF_ACCOUNT_INDEX = _accountsList_->SelectedIndex; + Configuration::UserPreferences::instance->PREF_ACCOUNT_ID = accountListItem->_account->accountID_; + Configuration::UserPreferences::instance->save(); +} + +void +SmartPanel::undoListBoxDeselection(ListBox^ listBox, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e) +{ + // disable deselection from listbox + if (listBox->SelectedItem == nullptr) { + if (e->RemovedItems->Size > 0) { Object^ itemToReselect = e->RemovedItems->GetAt(0); - for each (auto item in listbox->Items) { + for each (auto item in listBox->Items) { if (item == itemToReselect) { - listbox->SelectedItem = itemToReselect; + listBox->SelectedItem = itemToReselect; continue; } } } } - auto account = safe_cast<AccountListItem^>(listbox->SelectedItem); - AccountListItemsViewModel::instance->_selectedItem = account; - - updatePageContent(); -} - -void RingClientUWP::Views::SmartPanel::_ringTxtBx__Click(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) -{ - RingD::instance->lookUpName(_ringTxtBx_->Text); } void -RingClientUWP::Views::SmartPanel::_rejectIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +SmartPanel::_rejectIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto button = dynamic_cast<Button^>(e->OriginalSource); if (button) { @@ -335,7 +480,7 @@ RingClientUWP::Views::SmartPanel::_rejectIncomingCallBtn__Click(Platform::Object } void -RingClientUWP::Views::SmartPanel::_acceptIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +SmartPanel::_acceptIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto button = dynamic_cast<Button^>(e->OriginalSource); if (button) { @@ -355,38 +500,47 @@ RingClientUWP::Views::SmartPanel::_acceptIncomingCallBtn__Click(Platform::Object } void -SmartPanel::_callContact__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +SmartPanel::_callBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto button = dynamic_cast<Button^>(e->OriginalSource); if (button) { /* force to hide the button, avoid attempting to call several times... */ button->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _settingsMenuButton_->Visibility = VIS::Collapsed; - auto item = dynamic_cast<SmartPanelItem^>(button->DataContext); - if (item) { - auto contact = item->_contact; - if (contact) - { - for (auto it : SmartPanelItemsViewModel::instance->itemsList) - if (it->_callStatus == CallStatus::IN_PROGRESS) - RingD::instance->pauseCall(Utils::toString(it->_callId)); - - if (item->_callStatus == CallStatus::ENDED || item->_callStatus == CallStatus::NONE) { - item->_callStatus = CallStatus::OUTGOING_REQUESTED; - RingD::instance->placeCall(contact); - item->_contact->_lastTime = "looking for " + item->_contact->_name + "."; - } + if (item) + placeCall(item); + } +} - /* move the item of the top of the list */ - unsigned int index; - if (_smartList_->Items->IndexOf(item, &index)) { - SmartPanelItemsViewModel::instance->moveItemToTheTop(item); - _smartList_->UpdateLayout(); - _smartList_->ScrollIntoView(item); - } - } +void +SmartPanel::placeCall(SmartPanelItem^ item) +{ + auto contact = item->_contact; + if (contact) { + // select item + //SmartPanelItemsViewModel::instance->_selectedItem = item; + unsigned index = SmartPanelItemsViewModel::instance->getFilteredIndex(item->_contact); + //_smartList_->SelectedIndex = index; + + for (auto it : SmartPanelItemsViewModel::instance->itemsList) + if (it->_callStatus == CallStatus::IN_PROGRESS) + RingD::instance->pauseCall(Utils::toString(it->_callId)); + + if (item->_callStatus == CallStatus::ENDED || item->_callStatus == CallStatus::NONE) { + _settingsMenuButton_->Visibility = VIS::Collapsed; + item->_callStatus = CallStatus::OUTGOING_REQUESTED; + RingD::instance->placeCall(contact); + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + auto lookingForString = loader->GetString("_callsLookingFor_"); + item->_contact->_lastTime = lookingForString + item->_contact->_name + "."; + } + + /* move the item of the top of the list */ + if (_smartList_->Items->IndexOf(item, &index)) { + SmartPanelItemsViewModel::instance->moveItemToTheTop(item); + _smartList_->UpdateLayout(); + _smartList_->ScrollIntoView(item); } } } @@ -404,7 +558,8 @@ void RingClientUWP::Views::SmartPanel::_cancelCallBtn__Click(Platform::Object^ s } } -void RingClientUWP::Views::SmartPanel::Grid_PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +void +SmartPanel::SmartPanelItem_Grid_PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { auto grid = dynamic_cast<Grid^>(sender); auto item = dynamic_cast<SmartPanelItem^>(grid->DataContext); @@ -416,8 +571,8 @@ void RingClientUWP::Views::SmartPanel::Grid_PointerEntered(Platform::Object^ sen item->_isHovered = true; } - -void RingClientUWP::Views::SmartPanel::Grid_PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +void +SmartPanel::SmartPanelItem_Grid_PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { auto grid = dynamic_cast<Grid^>(sender); auto item = dynamic_cast<SmartPanelItem^>(grid->DataContext); @@ -428,73 +583,16 @@ void RingClientUWP::Views::SmartPanel::Grid_PointerExited(Platform::Object^ send } } -void RingClientUWP::Views::SmartPanel::generateQRcode() +void +SmartPanel::SmartPanelItem_Grid_PointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - auto ringId = AccountListItemsViewModel::instance->_selectedItem->_account->ringID_; - auto ringId2 = Utils::toString(ringId); - - _ringId_->Text = ringId; - - auto qrcode = QRcode_encodeString(ringId2.c_str(), - 0, //Let the version be decided by libqrencode - QR_ECLEVEL_L, // Lowest level of error correction - QR_MODE_8, // 8-bit data mode - 1); - - if (!qrcode) { - WNG_("Failed to generate QR code: "); - return; - } - - const int STRETCH_FACTOR = 4; - const int widthQrCode = qrcode->width; - const int widthBitmap = STRETCH_FACTOR * widthQrCode; - - unsigned char* qrdata = qrcode->data; - - auto frame = ref new SoftwareBitmap(BitmapPixelFormat::Bgra8, widthBitmap, widthBitmap, BitmapAlphaMode::Premultiplied); - - const int BYTES_PER_PIXEL = 4; - - - BitmapBuffer^ buffer = frame->LockBuffer(BitmapBufferAccessMode::ReadWrite); - IMemoryBufferReference^ reference = buffer->CreateReference(); - - Microsoft::WRL::ComPtr<IMemoryBufferByteAccess> byteAccess; - if (SUCCEEDED(reinterpret_cast<IUnknown*>(reference)->QueryInterface(IID_PPV_ARGS(&byteAccess)))) - { - byte* data; - unsigned capacity; - byteAccess->GetBuffer(&data, &capacity); - - auto desc = buffer->GetPlaneDescription(0); - - unsigned char* row, * p; - p = qrcode->data; - - for (int u = 0 ; u < widthBitmap ; u++) { - for (int v = 0; v < widthBitmap; v++) { - int x = static_cast<int>((float)u / (float)widthBitmap * (float)widthQrCode); - int y = static_cast<int>((float)v / (float)widthBitmap * (float)widthQrCode); - - auto currPixelRow = desc.StartIndex + desc.Stride * u + BYTES_PER_PIXEL * v; - row = (p + (y * widthQrCode)); - - if (*(row + x) & 0x1) { - data[currPixelRow + 3] = 255; - } - } - } - - } - delete reference; - delete buffer; - - auto sbSource = ref new Media::Imaging::SoftwareBitmapSource(); + auto grid = dynamic_cast<Grid^>(sender); + auto item = dynamic_cast<SmartPanelItem^>(grid->DataContext); - sbSource->SetBitmapAsync(frame); + for (auto it : SmartPanelItemsViewModel::instance->itemsList) + it->_isHovered = false; - _selectedAccountQrCode_->Source = sbSource; + item->_isHovered = true; } void RingClientUWP::Views::SmartPanel::checkStateAddAccountMenu() @@ -604,10 +702,8 @@ void RingClientUWP::Views::SmartPanel::checkStateEditionMenu() if (isPublic) if (isUsernameValid && isAccountAlias || isAlreadyRegistered) { _acceptAccountModification_->IsEnabled = true; - //_registerOnBlockchainEdition_->IsEnabled = true; } else { _acceptAccountModification_->IsEnabled = false; - //_registerOnBlockchainEdition_->IsEnabled = false; } else if (isAccountAlias) _acceptAccountModification_->IsEnabled = true; @@ -633,7 +729,8 @@ void RingClientUWP::Views::SmartPanel::ringTxtBxPlaceHolderDelay(String^ placeHo Dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([this]() { - _ringTxtBx_->PlaceholderText = ""; + auto placeHolderText = ResourceMananger::instance->getStringResource("_ringTxtBxPlaceholderText_"); + _ringTxtBx_->PlaceholderText = placeHolderText; })); }), delay); } @@ -705,7 +802,7 @@ Object ^ RingClientUWP::Views::HasAnActiveCall::ConvertBack(Object ^ value, Wind RingClientUWP::Views::HasAnActiveCall::HasAnActiveCall() {} -Object ^ RingClientUWP::Views::NewMessageBubleNotification::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +Object ^ RingClientUWP::Views::NewMessageBubbleNotification::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { auto unreadMessages = static_cast<uint32>(value); @@ -715,13 +812,15 @@ Object ^ RingClientUWP::Views::NewMessageBubleNotification::Convert(Object ^ val return Windows::UI::Xaml::Visibility::Collapsed; } -Object ^ RingClientUWP::Views::NewMessageBubleNotification::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +Object ^ RingClientUWP::Views::NewMessageNotificationToNumber::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { - throw ref new Platform::NotImplementedException(); -} + auto unreadMessages = static_cast<uint32>(value); -RingClientUWP::Views::NewMessageBubleNotification::NewMessageBubleNotification() -{} + if (unreadMessages > 9) + return "9+"; + + return unreadMessages.ToString(); +} void RingClientUWP::Views::SmartPanel::_addDevice__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { @@ -731,12 +830,33 @@ void RingClientUWP::Views::SmartPanel::_addDevice__Click(Platform::Object^ sende } -void RingClientUWP::Views::SmartPanel::OndevicesListRefreshed(Platform::Collections::Vector<Platform::String ^, std::equal_to<Platform::String ^>, true> ^devicesList) +void RingClientUWP::Views::SmartPanel::OndevicesListRefreshed(Map<String^, String^>^ deviceMap) { + if (!AccountListItemsViewModel::instance->_selectedItem) + return; + _waitingDevicesList_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - AccountListItemsViewModel::instance->_selectedItem->_account->_devicesIdList = devicesList; - _devicesIdList_->ItemsSource = devicesList; - _devicesIdList_->Visibility = Windows::UI::Xaml::Visibility::Visible; + + RingDeviceItemsViewModel::instance->itemsList->Clear(); + + for each (auto device in deviceMap) { + if (AccountListItemsViewModel::instance->_selectedItem->_account->_deviceId == device->Key) { + AccountListItemsViewModel::instance->_selectedItem->_account->_deviceName == device->Value; + _deviceName_->Text = device->Value; + } + else { + RingDeviceItemsViewModel::instance->itemsList->Append(ref new RingDeviceItem(device->Key, device->Value)); + } + } + + if (deviceMap->Size < 2) { + _noDevicesList_->Visibility = VIS::Visible; + _devicesIdList_->Visibility = VIS::Collapsed; + } + else { + _noDevicesList_->Visibility = VIS::Collapsed; + _devicesIdList_->Visibility = VIS::Visible; + } } @@ -761,6 +881,7 @@ void RingClientUWP::Views::SmartPanel::OnexportOnRingEnded(Platform::String ^acc _waitingAndResult_->Text = pin; _closePin_->Visibility = Windows::UI::Xaml::Visibility::Visible; + RingD::instance->hideLoadingOverlay("PIN generated", SuccessColor, 500); } @@ -769,13 +890,8 @@ void RingClientUWP::Views::SmartPanel::_closePin__Click(Platform::Object^ sender selectMenu(MenuOpen::CONTACTS_LIST); // refacto : do something better... - _waitingAndResult_->Text = "Exporting account on the Ring..."; -} - - -void RingClientUWP::Views::SmartPanel::_shareMenuDone__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - selectMenu(MenuOpen::CONTACTS_LIST); + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _waitingAndResult_->Text = loader->GetString("_accountsWaitingAndResult_.Text"); } Object ^ RingClientUWP::Views::AccountTypeToSourceImage::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) @@ -788,6 +904,13 @@ Object ^ RingClientUWP::Views::AccountTypeToSourceImage::Convert(Object ^ value, return ref new BitmapImage(uri); } +Object ^ RingClientUWP::Views::RingAccountTypeToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +{ + if (dynamic_cast<String^>(value) == "RING") + return VIS::Visible; + return VIS::Collapsed; +} + Object ^ RingClientUWP::Views::AccountTypeToSourceImage::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { throw ref new Platform::NotImplementedException(); @@ -798,9 +921,7 @@ RingClientUWP::Views::AccountTypeToSourceImage::AccountTypeToSourceImage() Object ^ RingClientUWP::Views::AccountSelectedToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { - //auto accountId = static_cast<bool(value); - - if (/*AccountListItemsViewModel::instance->_selectedItem->_account->_isSelected ==*/ (bool)value == true) + if ((bool)value == true) return Windows::UI::Xaml::Visibility::Visible; return Windows::UI::Xaml::Visibility::Collapsed; @@ -817,25 +938,26 @@ RingClientUWP::Views::AccountSelectedToVisibility::AccountSelectedToVisibility() void RingClientUWP::Views::SmartPanel::_editAccountMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - auto account = AccountListItemsViewModel::instance->_selectedItem->_account; + _scrollViewerEditionMenu_->UpdateLayout(); + _scrollViewerEditionMenu_->ScrollToVerticalOffset(0); - auto volatileAccountDetails = RingD::instance->getVolatileAccountDetails(account); + auto account = AccountListItemsViewModel::instance->_selectedItem->_account; _accountAliasTextBoxEdition_->Text = account->name_; _accountEditionGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible; - _deleteAccountEdition_->IsOn = false; - _deleteAccountEdition_->IsEnabled = (AccountListItemsViewModel::instance->itemsList->Size > 1)? true : false; _createAccountYes_->IsEnabled = false; - _whatWilHappendeleteRingAccountEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _whatWilHappendeleteSipAccountEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _sipAccountStackEdition_->Visibility = (account->accountType_ == "SIP") ? Windows::UI::Xaml::Visibility::Visible :Windows::UI::Xaml::Visibility::Collapsed; _ringStackEdition_->Visibility = (account->accountType_ == "RING") ? Windows::UI::Xaml::Visibility::Visible : Windows::UI::Xaml::Visibility::Collapsed; + + _ringStackEdition2_->Visibility = (account->accountType_ == "RING") + ? Windows::UI::Xaml::Visibility::Visible + : Windows::UI::Xaml::Visibility::Collapsed; + _sipHostnameEdition_->Text = account->_sipHostname; _sipUsernameEditionTextBox_->Text = account->_sipUsername; _sipPasswordEdition_->Password = account->_sipPassword; @@ -849,8 +971,8 @@ void RingClientUWP::Views::SmartPanel::_editAccountMenuButton__Click(Platform::O _usernameTextBoxEdition_->Text = registeredName; _RegisterStateEdition_->IsEnabled = false; - //_registerOnBlockchainEdition_->IsEnabled = false; - _whatWilHappenEdition_->Text = "You are already registered."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappenEdition_->Text = loader->GetString("_whatWillHappen_0_"); _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } else { _RegisterStateEdition_->IsOn = false; @@ -859,11 +981,20 @@ void RingClientUWP::Views::SmartPanel::_editAccountMenuButton__Click(Platform::O _usernameTextBoxEdition_->Text = ""; _RegisterStateEdition_->IsEnabled = true; - //_registerOnBlockchainEdition_->IsEnabled = false; - _whatWilHappenEdition_->Text = "You are not yet registered."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappenEdition_->Text = loader->GetString("_whatWillHappen_1_"); _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } + auto nBannedContacts = AccountsViewModel::instance->bannedContacts(account->accountID_); + if (nBannedContacts) { + _accountsShowBannedList_->IsEnabled = true; + } + else { + _accountsShowBannedList_->IsEnabled = false; + } + setBannedListState(false); + checkStateEditionMenu(); } @@ -873,41 +1004,29 @@ void RingClientUWP::Views::SmartPanel::_acceptAccountModification__Click(Platfor auto account = AccountListItemsViewModel::instance->_selectedItem->_account; auto accountId = account->accountID_; - // mettre ca en visibility du bouton delete - auto accountsListSize = dynamic_cast<Vector<AccountListItem^>^>(_accountsList_->ItemsSource)->Size; + account->name_ = _accountAliasTextBoxEdition_->Text; - /* if the delete button is toggled, just delete the account */ - if (_deleteAccountEdition_->IsOn == true && accountsListSize > 1) { - AccountListItem^ item; - for each (item in AccountListItemsViewModel::instance->itemsList) - if (item->_account->accountID_ == accountId) - break; - - if (item) - AccountListItemsViewModel::instance->removeItem(item); - - RingD::instance->deleteAccount(accountId); - - } else { /* otherwise edit the account */ - - account->name_ = _accountAliasTextBoxEdition_->Text; + if (account->accountType_ == "RING") { + account->_active = _enabledState_->IsOn; + account->_upnpState = _upnpState_->IsOn; + account->_autoAnswer = _autoAnswerToggle_->IsOn; + account->_dhtPublicInCalls = _dhtPublicInCallsToggle_->IsOn; + account->_turnEnabled = _turnEnabledToggle_->IsOn; + if (_turnEditionTextBox_->Text != "") + account->_turnAddress = _turnEditionTextBox_->Text; + } + else { + account->_sipHostname = _sipHostnameEdition_->Text; + account->_sipUsername = _sipUsernameEditionTextBox_->Text; + account->_sipPassword = _sipPasswordEdition_->Password; + } - if (account->accountType_ == "RING") { - account->_upnpState = _upnpState_->IsOn; - } - else { - account->_sipHostname = _sipHostnameEdition_->Text; - account->_sipUsername = _sipUsernameEditionTextBox_->Text; - account->_sipPassword = _sipPasswordEdition_->Password; - } + RingD::instance->updateAccount(accountId); - RingD::instance->updateAccount(accountId); - } + selectMenu(MenuOpen::ACCOUNTS_LIST); updatePageContent(); - selectMenu(MenuOpen::CONTACTS_LIST); - if (_usernameValidEdition_->Visibility == Windows::UI::Xaml::Visibility::Visible && _usernameTextBoxEdition_->Text->Length() > 2) RingD::instance->registerName_new(Utils::toString(account->accountID_), "", Utils::toString(_usernameTextBoxEdition_->Text)); } @@ -922,6 +1041,7 @@ void RingClientUWP::Views::SmartPanel::_cancelAccountModification__Click(Platfor void RingClientUWP::Views::SmartPanel::OnaccountUpdated(RingClientUWP::Account ^account) { updatePageContent(); + updateNotificationsState(); } void RingClientUWP::Views::SmartPanel::_passwordBoxAccountCreationCheck__PasswordChanged(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) @@ -949,7 +1069,6 @@ void RingClientUWP::Views::SmartPanel::_accountTypeComboBox__SelectionChanged(Pl _ringAccountCreationStack_->Visibility = Windows::UI::Xaml::Visibility::Visible; _sipAccountCreationStack_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _createAccountYes_->IsEnabled = false; - _upnpStateAccountCreation_->IsOn = true; } else { /* SIP type is selected */ _ringAccountCreationStack_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _sipAccountCreationStack_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -998,83 +1117,42 @@ void RingClientUWP::Views::SmartPanel::_selectedAccountAvatarContainer__PointerE void RingClientUWP::Views::SmartPanel::_selectedAccountAvatarContainer__PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - CameraCaptureUI^ cameraCaptureUI = ref new CameraCaptureUI(); - cameraCaptureUI->PhotoSettings->Format = CameraCaptureUIPhotoFormat::Jpeg; - cameraCaptureUI->PhotoSettings->CroppedSizeInPixels = Size(40, 40); - - create_task(cameraCaptureUI->CaptureFileAsync(CameraCaptureUIMode::Photo)) - .then([this](StorageFile^ photoFile) - { - if (photoFile != nullptr) { - auto brush = ref new ImageBrush(); - - auto circle = ref new Ellipse(); - circle->Height = 40; - circle->Width = 40; - auto path = photoFile->Path; - auto uri = ref new Windows::Foundation::Uri(path); - auto bitmapImage = ref new Windows::UI::Xaml::Media::Imaging::BitmapImage(); - bitmapImage->UriSource = uri; - - std::string fileBuffer = Utils::getStringFromFile(Utils::toString(photoFile->Path)); - std::string profilePath = RingD::instance->getLocalFolder() + ".profile"; - _mkdir(profilePath.c_str()); - std::ofstream file((profilePath + "\\profile_image.png"), - std::ios::out | std::ios::trunc | std::ios::binary); - if (file.is_open()) { - file << fileBuffer; - file.close(); + create_task(Configuration::getProfileImageAsync()).then([&](task<BitmapImage^> image){ + try { + if (auto bitmapImage = image.get()) { + _selectedAccountAvatar_->ImageSource = bitmapImage; } - - Configuration::UserPreferences::instance->PREF_PROFILE_HASPHOTO = true; - Configuration::UserPreferences::instance->save(); - - brush->ImageSource = bitmapImage; - circle->Fill = brush; - _selectedAccountAvatar_->ImageSource = bitmapImage; + } + catch (Platform::Exception^ e) { + EXC_(e); } }); } - void RingClientUWP::Views::SmartPanel::_selectedAccountAvatarContainer__PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { _photoboothIcon_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _shaderPhotoboothIcon_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } - void RingClientUWP::Views::SmartPanel::_smartList__PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { } - -void RingClientUWP::Views::SmartPanel::Grid_PointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) -{ - auto grid = dynamic_cast<Grid^>(sender); - auto item = dynamic_cast<SmartPanelItem^>(grid->DataContext); - - for (auto it : SmartPanelItemsViewModel::instance->itemsList) - it->_isHovered = false; - - item->_isHovered = true; -} - // NAME SERVICE void RingClientUWP::Views::SmartPanel::_registerOnBlockchainEdition__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { auto account = AccountListItemsViewModel::instance->_selectedItem->_account; - - //RingD::instance->registerName(account->accountID_, "", _usernameTextBoxEdition_->Text); RingD::instance->registerName_new(Utils::toString(account->accountID_), "", Utils::toString(_usernameTextBoxEdition_->Text)); } void RingClientUWP::Views::SmartPanel::_usernameTextBoxEdition__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) { - RingD::instance->lookUpName(_usernameTextBoxEdition_->Text); + auto accountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + RingD::instance->lookUpName(Utils::toString(accountId), _usernameTextBoxEdition_->Text); _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; @@ -1082,8 +1160,23 @@ void RingClientUWP::Views::SmartPanel::_usernameTextBoxEdition__KeyUp(Platform:: checkStateEditionMenu(); } -void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& address, const std::string& name) +void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& accountId, const std::string& address, const std::string& name) { + // In the case where the lookup was for a local account's username, we need just + // update the account's username property and return. + if (status == LookupStatus::SUCCESS) { + if (Account^ account = AccountsViewModel::instance->findAccountByRingID(Utils::toPlatformString(address))) { + MSG_("Account username lookup complete"); + account->_username = Utils::toPlatformString(name); + // If the the account is currently selected, update the account best-name + if (AccountListItemsViewModel::instance->_selectedItem->_account == account) { + _selectedAccountName_->Text = account->_bestName; + _selectedAccountUsername_->Text = account->_bestName2; + } + return; + } + } + if (menuOpen == MenuOpen::ACCOUNTS_LIST) { // if true, we did the lookup for a new account /* note : this code do both check for edit and creation menu. It doesn't affect the use and it's easier to implement. */ @@ -1092,10 +1185,8 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look switch (status) { case LookupStatus::SUCCESS: - _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Visible; - break; case LookupStatus::INVALID_NAME: + case LookupStatus::ERRORR: _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Visible; break; @@ -1103,10 +1194,6 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Visible; _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; break; - case LookupStatus::ERRORR: - _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Visible; - break; } checkStateEditionMenu(); return; @@ -1117,10 +1204,8 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look switch (status) { case LookupStatus::SUCCESS: - _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; - break; case LookupStatus::INVALID_NAME: + case LookupStatus::ERRORR: _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; break; @@ -1128,10 +1213,6 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Visible; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; break; - case LookupStatus::ERRORR: - _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; - break; } checkStateAddAccountMenu(); return; @@ -1139,10 +1220,13 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look } else { // if false, we are looking for a registered user (contact) - auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); - auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); + auto contactListModel = AccountsViewModel::instance->getContactListModel(std::string(accountId)); auto contact = contactListModel->findContactByName(Utils::toPlatformString(name)); + // Try looking up a contact added by address + if (contact == nullptr) + contact = contactListModel->findContactByName(Utils::toPlatformString(address)); + if (contact == nullptr) return; @@ -1152,84 +1236,135 @@ void RingClientUWP::Views::SmartPanel::OnregisteredNameFound(RingClientUWP::Look if (contact->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION) { contact->_contactStatus = ContactStatus::READY; contact->ringID_ = Utils::toPlatformString(address); - ringTxtBxPlaceHolderDelay("username found and added.", 5000); + contact->_avatarColorString = Utils::getRandomColorStringFromString(contact->ringID_); + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsUserAdded_"), 5000); + + // send contact request + if (contact->_trustStatus == TrustStatus::UNKNOWN) { + auto vcard = Configuration::UserPreferences::instance->getVCard(); + RingD::instance->sendContactRequest(accountId, address, vcard->asString()); + contact->_name = Utils::toPlatformString(name); + contact->_trustStatus = TrustStatus::CONTACT_REQUEST_SENT; + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + } + else if (contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST) { + contact->_name = Utils::toPlatformString(name); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + } contactListModel->saveContactsToFile(); } else { - /* in that case we delete a possible suroggate */ - for each (Contact^ co in contactListModel->_contactsList) { - if (co->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION - && co->_name == Utils::toPlatformString(name)) { - auto item = SmartPanelItemsViewModel::instance->findItem(co); - contactListModel->deleteContact(co); + /* in that case we delete a possible temporary item */ + for each (Contact^ contact in contactListModel->_contactsList) { + if (contact->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION + && contact->_name == Utils::toPlatformString(name)) { + auto item = SmartPanelItemsViewModel::instance->findItem(contact); + contactListModel->deleteContact(contact); SmartPanelItemsViewModel::instance->removeItem(item); } - } - } - - /* open the text message page */ - auto item = SmartPanelItemsViewModel::instance->findItem(contact); - - //if (item->_callStatus != CallStatus::INCOMING_RINGING) {// refacto : do something better - // SmartPanelItemsViewModel::instance->_selectedItem = item; - // summonMessageTextPage(); - //} + if (!contact->subscribed_) { + MSG_("account: " + accountId + " subscribing to buddy presence for ringID: " + Utils::toString(contact->ringID_)); + RingD::instance->subscribeBuddy(accountId, Utils::toString(contact->ringID_), true); + contact->subscribed_ = true; + } } break; case LookupStatus::INVALID_NAME: - if (name.length() == 40) { - + { + MSG_("INVALID_NAME LOOKUP RESULT"); + std::regex sha1_regex("[0-9a-f]{40}"); + if (std::regex_match(name, sha1_regex)) { /* first we check if some contact is registred with this ring id */ auto contactAlreadyRecorded = contactListModel->findContactByRingId(Utils::toPlatformString(name)); if (contactAlreadyRecorded) { - ringTxtBxPlaceHolderDelay("you already have a contact with this ring id.", 5000); /* delete the contact added recently */ auto item = SmartPanelItemsViewModel::instance->findItem(contact); - contactListModel->deleteContact(contact); - SmartPanelItemsViewModel::instance->removeItem(item); - - /* open the message text with the contact already recorder*/ - item = SmartPanelItemsViewModel::instance->findItem(contactAlreadyRecorded); - - //if (item->_callStatus != CallStatus::INCOMING_RINGING) { // refacto : do something better - // SmartPanelItemsViewModel::instance->_selectedItem = item; - // summonMessageTextPage(); - //} - break; + if (item->_contact->_trustStatus != TrustStatus::INCOMING_CONTACT_REQUEST && + item->_contact->_trustStatus != TrustStatus::UNKNOWN && + item->_contact->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION) { + contactListModel->deleteContact(contact); + SmartPanelItemsViewModel::instance->removeItem(item); + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsContactExists_"), 5000); + } + else if (item->_contact->_trustStatus == TrustStatus::UNKNOWN) { + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + } } + else { + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsRingIdAdded_"), 5000); + contact->ringID_ = Utils::toPlatformString(name); + contact->_contactStatus = ContactStatus::READY; + + if (contact && !contact->subscribed_) { + MSG_("account: " + accountId + " subscribing to buddy presence for ringID: " + Utils::toString(contact->ringID_)); + RingD::instance->subscribeBuddy(accountId, Utils::toString(contact->ringID_), true); + contact->subscribed_ = true; + } - ringTxtBxPlaceHolderDelay("ring id added.", 5000); // refacto : we should check if it's an actual ring id - contact->ringID_ = Utils::toPlatformString(name); - contact->_contactStatus = ContactStatus::READY; - contactListModel->saveContactsToFile(); + // send contact request + if (contact->_trustStatus == TrustStatus::UNKNOWN) { + auto vcard = Configuration::UserPreferences::instance->getVCard(); + RingD::instance->sendContactRequest(accountId, address, vcard->asString()); + contact->_trustStatus = TrustStatus::CONTACT_REQUEST_SENT; + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + } + } } else { - ringTxtBxPlaceHolderDelay("username invalid.", 5000); + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsUsernameInvalid_"), 5000); auto item = SmartPanelItemsViewModel::instance->findItem(contact); contactListModel->deleteContact(contact); SmartPanelItemsViewModel::instance->removeItem(item); - contactListModel->saveContactsToFile(); } + contactListModel->saveContactsToFile(); break; + } case LookupStatus::NOT_FOUND: { - ringTxtBxPlaceHolderDelay("username not found.", 5000); - auto item = SmartPanelItemsViewModel::instance->findItem(contact); - contactListModel->deleteContact(contact); - SmartPanelItemsViewModel::instance->removeItem(item); - contactListModel->saveContactsToFile(); + std::regex sha1_regex("[0-9a-f]{40}"); + if (std::regex_match(address, sha1_regex)) { + RingD::instance->lookUpName(accountId, Utils::toPlatformString(address)); + } + else { + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsUsernameNotFound_"), 5000); + auto item = SmartPanelItemsViewModel::instance->findItem(contact); + contactListModel->deleteContact(contact); + SmartPanelItemsViewModel::instance->removeItem(item); + contactListModel->saveContactsToFile(); + } break; } case LookupStatus::ERRORR: - ringTxtBxPlaceHolderDelay("network error!", 5000); - auto item = SmartPanelItemsViewModel::instance->findItem(contact); - contactListModel->deleteContact(contact); - SmartPanelItemsViewModel::instance->removeItem(item); - contactListModel->saveContactsToFile(); + std::regex sha1_regex("[0-9a-f]{40}"); + if (std::regex_match(address, sha1_regex)) { + RingD::instance->lookUpName(accountId, Utils::toPlatformString(address)); + } + else { + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_contactsNetworkError_"), 5000); + auto item = SmartPanelItemsViewModel::instance->findItem(contact); + contactListModel->deleteContact(contact); + SmartPanelItemsViewModel::instance->removeItem(item); + contactListModel->saveContactsToFile(); + } break; } + + auto unpoppedToast = RingD::instance->unpoppedToasts.find(Utils::toPlatformString(address)); + if (unpoppedToast != RingD::instance->unpoppedToasts.end()) { + unpoppedToast->second(Utils::toPlatformString(name)); + RingD::instance->unpoppedToasts.erase(Utils::toPlatformString(address)); + } } } @@ -1239,19 +1374,22 @@ void RingClientUWP::Views::SmartPanel::_RegisterState__Toggled(Platform::Object^ auto toggleSwitch = dynamic_cast<ToggleSwitch^>(sender); // avoid trouble when InitializeComponent is called. - if (_usernameTextBox_ == nullptr || _whatWilHappen_ == nullptr) + if (_usernameTextBox_ == nullptr || _whatWillHappen_ == nullptr) return; bool isPublic = toggleSwitch->IsOn; if (isPublic) { - RingD::instance->lookUpName(_usernameTextBox_->Text); + auto accountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + RingD::instance->lookUpName(Utils::toString(accountId), _usernameTextBox_->Text); _usernameTextBox_->IsEnabled = true; - _whatWilHappen_->Text = "peoples will find you with your username."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappen_0_"); } else { _usernameTextBox_->IsEnabled = false; - _whatWilHappen_->Text = "you'll have to send your ringId."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappen_2_"); _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } @@ -1264,21 +1402,22 @@ void RingClientUWP::Views::SmartPanel::_RegisterStateEdition__Toggled(Platform:: auto toggleSwitch = dynamic_cast<ToggleSwitch^>(sender); // avoid trouble when InitializeComponent is called. - if (_usernameTextBoxEdition_ == nullptr /*|| _registerOnBlockchainEdition_ == nullptr*/ || _whatWilHappen_ == nullptr) + if (_usernameTextBoxEdition_ == nullptr || _whatWillHappen_ == nullptr) return; bool isPublic = toggleSwitch->IsOn; if (isPublic) { - RingD::instance->lookUpName(_usernameTextBoxEdition_->Text); + auto accountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + RingD::instance->lookUpName(Utils::toString(accountId), _usernameTextBoxEdition_->Text); _usernameTextBoxEdition_->IsEnabled = true; - //_registerOnBlockchainEdition_->IsEnabled = true; - _whatWilHappen_->Text = "You are not yet registered."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappen_1_"); } else { _usernameTextBoxEdition_->IsEnabled = false; - // _registerOnBlockchainEdition_->IsEnabled = false; - _whatWilHappen_->Text = "You'll have to send your ringId."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappen_2_"); _usernameValidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalidEdition_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } @@ -1289,35 +1428,11 @@ void RingClientUWP::Views::SmartPanel::_RegisterStateEdition__Toggled(Platform:: void RingClientUWP::Views::SmartPanel::_usernameTextBox__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) { - RingD::instance->lookUpName(_usernameTextBox_->Text); + auto accountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + RingD::instance->lookUpName(Utils::toString(accountId), _usernameTextBox_->Text); _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - - -} - - - -void RingClientUWP::Views::SmartPanel::_deleteAccountEdition__Toggled(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - auto accountType = AccountListItemsViewModel::instance->_selectedItem->_account->accountType_; - - if (accountType=="RING") - _whatWilHappendeleteRingAccountEdition_->Visibility = (_deleteAccountEdition_->IsOn) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - else - _whatWilHappendeleteSipAccountEdition_->Visibility = (_deleteAccountEdition_->IsOn) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _learnMoreDeleteAccountEdition_->Visibility = (_deleteAccountEdition_->IsOn) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _scrollViewerEditionMenu_->UpdateLayout(); - _scrollViewerEditionMenu_->ScrollToVerticalOffset(_scrollViewerEditionMenu_->ScrollableHeight); } // VIDEO @@ -1389,7 +1504,7 @@ SmartPanel::_videoRateComboBox__SelectionChanged(Platform::Object^ sender, Windo })); } catch (Exception^ e) { - WriteException(e); + EXC_(e); } }); } @@ -1469,43 +1584,6 @@ SmartPanel::populateVideoRateSettingsComboBox() } - -void RingClientUWP::Views::SmartPanel::_ringTxtBx__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) -{ - if (e->Key == Windows::System::VirtualKey::Enter) { - for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - if (item->_contact->_name == _ringTxtBx_->Text || item->_contact->ringID_ == _ringTxtBx_->Text) { - SmartPanelItemsViewModel::instance->_selectedItem = item; - summonMessageTextPage(); - } - } - - auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); - auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); - auto contact = contactListModel->addNewContact(_ringTxtBx_->Text, "", ContactStatus::WAITING_FOR_ACTIVATION); - RingD::instance->lookUpName(_ringTxtBx_->Text); - - _ringTxtBx_->Text = ""; - - for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - item->_showMe = Windows::UI::Xaml::Visibility::Visible; - } - return; - } - - for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - auto str1 = Utils::toString(item->_contact->_name); - auto str2 = Utils::toString(_ringTxtBx_->Text); - - if (str1.find(str2) != std::string::npos) - item->_showMe = Windows::UI::Xaml::Visibility::Visible; - else - item->_showMe = Windows::UI::Xaml::Visibility::Collapsed; - } - -} - - void RingClientUWP::Views::SmartPanel::_linkThisDeviceBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; @@ -1524,6 +1602,7 @@ void RingClientUWP::Views::SmartPanel::_step2button__Click(Platform::Object^ sen _addAccountYes_->Visibility = Windows::UI::Xaml::Visibility::Visible; _addAccountNo_->Visibility = Windows::UI::Xaml::Visibility::Visible; + _addAccountYes_->IsEnabled = false; _PINTextBox_->Text = ""; _ArchivePassword_->Password = ""; _response_->Text = ""; @@ -1544,17 +1623,18 @@ void RingClientUWP::Views::SmartPanel::_addAccountNo__Click(Platform::Object^ se void RingClientUWP::Views::SmartPanel::_addAccountYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - this->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal, ref new Windows::UI::Core::DispatchedHandler([this]() { - RingD::instance->registerThisDevice(_PINTextBox_->Text, _ArchivePassword_->Password); - _ArchivePassword_->Password = ""; - _PINTextBox_->Text = ""; - })); + selectMenu(MenuOpen::ACCOUNTS_LIST); + RingD::instance->showLoadingOverlay(ResourceMananger::instance->getStringResource("_m_add_device_"), SuccessColor); + RingD::instance->registerThisDevice(_PINTextBox_->Text, _ArchivePassword_->Password); + _ArchivePassword_->Password = ""; + _PINTextBox_->Text = ""; } void RingClientUWP::Views::SmartPanel::OnregistrationStateErrorGeneric(const std::string& accountId) { - _response_->Text = "Credentials error or PIN expired."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _response_->Text = loader->GetString("_accountsCredentialsExpired_"); } @@ -1564,14 +1644,18 @@ void RingClientUWP::Views::SmartPanel::_PINTextBox__GotFocus(Platform::Object^ s } -void RingClientUWP::Views::SmartPanel::OnregistrationStateRegistered() +void RingClientUWP::Views::SmartPanel::OnregistrationStateRegistered(const std::string& accountId) { - _addAccountNo__Click(nullptr, nullptr); } void RingClientUWP::Views::SmartPanel::OncallPlaced(Platform::String ^callId) { - SmartPanelItemsViewModel::instance->_selectedItem = nullptr; + //SmartPanelItemsViewModel::instance->_selectedItem = nullptr; +} + +void RingClientUWP::Views::SmartPanel::OncontactDataModified(Platform::String ^account, Contact^ contact) +{ + updateNotificationsState(); } Object ^ RingClientUWP::Views::ContactStatusNotification::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) @@ -1595,54 +1679,6 @@ RingClientUWP::Views::ContactStatusNotification::ContactStatusNotification() void RingClientUWP::Views::SmartPanel::selectMenu(MenuOpen menu) { - - - _contactsListMenuButton_->IsChecked = (menu == MenuOpen::CONTACTS_LIST) ? true : false; - _smartGrid_->Visibility = (menu == MenuOpen::CONTACTS_LIST) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _accountsMenuButton_->IsChecked = (menu == MenuOpen::ACCOUNTS_LIST) ? true : false; - _accountsMenuGrid_->Visibility = (menu == MenuOpen::ACCOUNTS_LIST) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _shareMenuButton_->IsChecked = (menu == MenuOpen::SHARE) ? true : false; - _shareMenuGrid_->Visibility = (menu == MenuOpen::SHARE) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _devicesMenuButton_->IsChecked = (menu == MenuOpen::DEVICE) ? true : false; - _devicesMenuGrid_->Visibility = (menu == MenuOpen::DEVICE) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - _settingsMenuButton_->IsChecked = (menu == MenuOpen::SETTINGS) ? true : false; - _settingsMenu_->Visibility = (menu == MenuOpen::SETTINGS) - ? Windows::UI::Xaml::Visibility::Visible - : Windows::UI::Xaml::Visibility::Collapsed; - - /* manage the account menu */ - _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _accountEditionGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _accountAddMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - - /* manage the share icon*/ - if (menu == MenuOpen::SHARE && menuOpen != MenuOpen::SHARE) { - generateQRcode(); - _qrCodeIconWhite_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _qrCodeIconBlack_->Visibility = Windows::UI::Xaml::Visibility::Visible; - } - else if (menu != MenuOpen::SHARE && menuOpen == MenuOpen::SHARE) { - _qrCodeIconBlack_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _qrCodeIconWhite_->Visibility = Windows::UI::Xaml::Visibility::Visible; - } - - /* manage adding device menu */ - _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _waitingDevicesList_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _waitingForPin_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - /* manage the video preview */ if (menu == MenuOpen::SETTINGS && menuOpen != MenuOpen::SETTINGS) { auto vcm = Video::VideoManager::instance->captureManager(); @@ -1658,91 +1694,118 @@ void RingClientUWP::Views::SmartPanel::selectMenu(MenuOpen menu) auto vcm = Video::VideoManager::instance->captureManager(); if (vcm->deviceList->Size > 0) { vcm->StopPreviewAsync() - .then([](task<void> stopPreviewTask) + .then([](task<void> stopPreviewTask) { try { stopPreviewTask.get(); Video::VideoManager::instance->captureManager()->isSettingsPreviewing = false; } catch (Exception^ e) { - WriteException(e); + EXC_(e); } }); } hidePreviewPage(); } + _contactsListMenuButton_->IsChecked = (menu == MenuOpen::CONTACTS_LIST) ? true : false; + _smartGrid_->Visibility = (menu == MenuOpen::CONTACTS_LIST) ? VIS::Visible : VIS::Collapsed; + + _contactRequestListMenuButton_->IsChecked = (menu == MenuOpen::CONTACTREQUEST_LIST) ? true : false; + _incomingContactRequestGrid_->Visibility = (menu == MenuOpen::CONTACTREQUEST_LIST) ? VIS::Visible : VIS::Collapsed; + + _accountsMenuButton_->IsChecked = (menu == MenuOpen::ACCOUNTS_LIST) ? true : false; + _accountsMenuGrid_->Visibility = (menu == MenuOpen::ACCOUNTS_LIST) ? VIS::Visible : VIS::Collapsed; + + _devicesMenuButton_->IsChecked = (menu == MenuOpen::DEVICE) ? true : false; + _devicesMenuGrid_->Visibility = (menu == MenuOpen::DEVICE) ? VIS::Visible : VIS::Collapsed; + + _settingsMenuButton_->IsChecked = (menu == MenuOpen::SETTINGS) ? true : false; + _settingsMenu_->Visibility = (menu == MenuOpen::SETTINGS) ? VIS::Visible : VIS::Collapsed; + + /* manage the account menu */ + _accountCreationMenuGrid_->Visibility = VIS::Collapsed; + _accountEditionGrid_->Visibility = VIS::Collapsed; + _accountAddMenuGrid_->Visibility = VIS::Collapsed; + + if (menu == MenuOpen::CONTACTREQUEST_LIST) { + _incomingContactRequestList_->SelectedIndex = -1; + ContactRequestItemsViewModel::instance->_selectedItem = nullptr; + } + + /* manage adding device menu */ + _addingDeviceGrid_->Visibility = VIS::Collapsed; + _waitingDevicesList_->Visibility = VIS::Collapsed; + _waitingForPin_->Visibility = VIS::Collapsed; + menuOpen = menu; } -/* if you changed the name of Grid_PointerReleased, be sure to change it in the comment about the selection */ -void RingClientUWP::Views::SmartPanel::Grid_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +void +SmartPanel::_addAccountInputValidation__KeyUp(Platform::Object ^ sender, RoutedEventArgs ^ e) { - auto grid = dynamic_cast<Grid^>(sender); - auto item = dynamic_cast<SmartPanelItem^>(grid->DataContext); - - if (item) { - /* if the contact is not yet ready to be used, typically when we are waiting a lookup from the blockachin*/ - auto contact = item->_contact; + bool isPasswordValid = (!_PINTextBox_->Text->IsEmpty()) && (!_ArchivePassword_->Password->IsEmpty()) ? true : false; + _addAccountYes_->IsEnabled = isPasswordValid; +} - if (contact == nullptr) - { - ERR_("SmartPanelIem without contact"); - return; - } +void +SmartPanel::updateNotificationsState() +{ + updateContactNotificationsState(nullptr); +} - if (contact->_contactStatus == ContactStatus::WAITING_FOR_ACTIVATION) { - return; +void +SmartPanel::updateContactNotificationsState(Contact^ contact) +{ + if (contact != nullptr) { + auto smartListIndex = SmartPanelItemsViewModel::instance->getIndex(contact); + auto smartPanelItem = SmartPanelItemsViewModel::instance->findItem(contact); + auto selectedSmartPanelItem = SmartPanelItemsViewModel::instance->_selectedItem; + auto frame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); + auto mainPage = dynamic_cast<RingClientUWP::MainPage^>(frame->Content); + if (_smartList_->SelectedIndex != smartListIndex && + !(selectedSmartPanelItem == smartPanelItem && mainPage->currentFrame == FrameOpen::MESSAGE)) { + contact->_unreadMessages++; + /* saveContactsToFile used to save the notification */ + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); + contactListModel->saveContactsToFile(); } + } - /* if the contact was already selected, just do a deselection and live the message text page*/ - if (item == SmartPanelItemsViewModel::instance->_selectedItem) - { - SmartPanelItemsViewModel::instance->_selectedItem = nullptr; - summonWelcomePage(); - return; - } + auto selectedAccountId = Utils::toString(AccountListItemsViewModel::instance->getSelectedAccountId()); + if (!selectedAccountId.empty()) { - /* we set the current selected item */ - SmartPanelItemsViewModel::instance->_selectedItem = item; + auto selectedAccountMessages = AccountsViewModel::instance->unreadMessages(Utils::toPlatformString(selectedAccountId)); + auto selectedAccountContactRequests = AccountsViewModel::instance->unreadContactRequests(Utils::toPlatformString(selectedAccountId)); - /* at this point we check if a call is in progress with the current selected contact*/ - auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); - auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); - if (item->_callStatus == CallStatus::IN_PROGRESS - || item->_callStatus == CallStatus::PAUSED - || item->_callStatus == CallStatus::PEER_PAUSED) { - if (contact) { - contact->_unreadMessages = 0; - updateUnreadMessagesState(); - contactListModel->saveContactsToFile(); - } + _unreadMessagesCircle_->Visibility = selectedAccountMessages ? VIS::Visible : VIS::Collapsed; + _unreadContactRequestsCircle_->Visibility = selectedAccountContactRequests ? VIS::Visible : VIS::Collapsed; - summonVideoPage(); - return; - } + auto totalMessages = AccountListItemsViewModel::instance->unreadMessages(); + auto totalContactRequests = AccountListItemsViewModel::instance->unreadContactRequests(); - /* else, summont the message text page*/ - summonMessageTextPage(); - contact->_unreadMessages = 0; - updateUnreadMessagesState(); - contactListModel->saveContactsToFile(); + auto totalNonSelectedNotifications = (totalMessages + totalContactRequests) - (selectedAccountMessages + selectedAccountContactRequests); + _unreadAccountNotificationsCircle_->Visibility = (totalNonSelectedNotifications > 0) ? VIS::Visible : VIS::Collapsed; } -} -void -SmartPanel::updateUnreadMessagesState() -{ - _unreadAccountMessagesCircle_->Visibility = AccountListItemsViewModel::instance->unreadMessages() ? - VIS::Visible : VIS::Collapsed; + ContactRequestItemsViewModel::instance->refreshFilteredItemsList(); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); + + AccountListItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyAccountItem); } Object ^ RingClientUWP::Views::boolToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { + auto direction = static_cast<String^>(parameter); + Visibility if_true = (direction == "Inverted") ? Visibility::Collapsed : Visibility::Visible; + Visibility if_false = (direction == "Inverted") ? Visibility::Visible : Visibility::Collapsed; if (static_cast<bool>(value)) - return Windows::UI::Xaml::Visibility::Visible; - - return Windows::UI::Xaml::Visibility::Collapsed; + return if_true; + return if_false; } Object ^ RingClientUWP::Views::boolToVisibility::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) @@ -1768,6 +1831,31 @@ OneToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName ta return Windows::UI::Xaml::Visibility::Collapsed; } +Object^ +UnreadAccountNotificationsString::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +{ + auto account = static_cast<Account^>(value); + String^ notificationString; + std::string notification_string; + std::string description; + if (static_cast<String^>(parameter) == "Summary") { + notification_string = std::to_string(account->_unreadMessages + account->_unreadContactRequests); + } + else { + if (account->_unreadMessages) { + description = account->_unreadMessages == 1 ? " Message" : " Messages"; + notification_string.append(std::to_string(account->_unreadMessages) + description); + } + if (account->_unreadContactRequests) { + if (account->_unreadMessages) + notification_string.append(", "); + description = account->_unreadContactRequests == 1 ? " Contact request" : " Contact requests"; + notification_string.append(std::to_string(account->_unreadContactRequests) + description); + } + } + return Utils::toPlatformString(notification_string); +} + Object^ MoreThanOneToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { @@ -1777,12 +1865,42 @@ MoreThanOneToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::Typ return Windows::UI::Xaml::Visibility::Collapsed; } +Object^ +MoreThanZeroToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +{ + if (static_cast<unsigned>(value) > 0) + return Windows::UI::Xaml::Visibility::Visible; + + return Windows::UI::Xaml::Visibility::Collapsed; +} + +Object^ +PartialTrustToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +{ + auto direction = static_cast<String^>(parameter); + Visibility if_true = (direction == "Inverted") ? Visibility::Collapsed : Visibility::Visible; + Visibility if_false = (direction == "Inverted") ? Visibility::Visible : Visibility::Collapsed; + if (static_cast<TrustStatus>(value) == TrustStatus::CONTACT_REQUEST_SENT) + return if_true; + return if_false; +} + +Object^ +TrustedToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +{ + if (static_cast<Contact^>(value)->_isTrusted) + return Windows::UI::Xaml::Visibility::Visible; + + return Windows::UI::Xaml::Visibility::Collapsed; +} + Object^ SelectedAccountToVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { auto contact = static_cast<Contact^>(value); auto callStatus = SmartPanelItemsViewModel::instance->findItem(contact)->_callStatus; auto isCall = ( callStatus != CallStatus::NONE && callStatus != CallStatus::ENDED ) ? true : false; + if (contact->_accountIdAssociated == AccountListItemsViewModel::instance->getSelectedAccountId() || isCall) return Windows::UI::Xaml::Visibility::Visible; @@ -1803,8 +1921,17 @@ void RingClientUWP::Views::SmartPanel::OnincomingAccountMessage(Platform::String _smartList_->ScrollIntoView(item); } - _unreadAccountMessagesCircle_->Visibility = AccountListItemsViewModel::instance->unreadMessages() ? - VIS::Visible : VIS::Collapsed; + auto selectedAccountId = Utils::toString(AccountListItemsViewModel::instance->getSelectedAccountId()); + if (!selectedAccountId.empty()) { + auto selectedAccountMessages = AccountsViewModel::instance->unreadMessages(Utils::toPlatformString(selectedAccountId)); + auto selectedAccountContactRequests = AccountsViewModel::instance->unreadContactRequests(Utils::toPlatformString(selectedAccountId)); + + auto totalMessages = AccountListItemsViewModel::instance->unreadMessages(); + auto totalContactRequests = AccountListItemsViewModel::instance->unreadContactRequests(); + + auto totalNonSelectedNotifications = (totalMessages + totalContactRequests) - (selectedAccountMessages + selectedAccountContactRequests); + _unreadAccountNotificationsCircle_->Visibility = (totalNonSelectedNotifications > 0) ? VIS::Visible : VIS::Collapsed; + } } Object ^ RingClientUWP::Views::CallStatusToSpinnerVisibility::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) @@ -1828,105 +1955,153 @@ Object ^ RingClientUWP::Views::CallStatusToSpinnerVisibility::ConvertBack(Object RingClientUWP::Views::CallStatusToSpinnerVisibility::CallStatusToSpinnerVisibility() {} -Object ^ RingClientUWP::Views::CallStatusForIncomingCallAnimatedEllipse::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +Object ^ RingClientUWP::Views::CallStatusForIncomingCallEllipse::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { + auto direction = static_cast<String^>(parameter); + Visibility if_true = (direction == "Inverted") ? Visibility::Collapsed : Visibility::Visible; + Visibility if_false = (direction == "Inverted") ? Visibility::Visible : Visibility::Collapsed; + auto callStatus = static_cast<CallStatus>(value); if (callStatus == CallStatus::INCOMING_RINGING) { - return Windows::UI::Xaml::Visibility::Visible; + return if_true; } else { - return Windows::UI::Xaml::Visibility::Collapsed; + return if_false; } } -Object ^ RingClientUWP::Views::CallStatusForIncomingCallAnimatedEllipse::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) +Object ^ RingClientUWP::Views::CallStatusForIncomingCallEllipse::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) { throw ref new Platform::NotImplementedException(); } -RingClientUWP::Views::CallStatusForIncomingCallAnimatedEllipse::CallStatusForIncomingCallAnimatedEllipse() -{} - -Object ^ RingClientUWP::Views::CallStatusForIncomingCallStaticEllipse::Convert(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) -{ - auto callStatus = static_cast<CallStatus>(value); - - if (callStatus == CallStatus::INCOMING_RINGING) { - return Windows::UI::Xaml::Visibility::Collapsed; - } - else { - return Windows::UI::Xaml::Visibility::Visible; +void +SmartPanel::addToContactList(String^ name) +{ + // invalidate temporary contact item creation early for poorly formatted searches + static const std::regex RINGID_VALIDATOR("[0-9a-f]{40}"); + static const std::regex NAME_VALIDATOR{ "^[a-zA-Z0-9-_]{3,32}$" }; + auto isUsername = std::regex_match(Utils::toString(name), NAME_VALIDATOR); + auto isRingId = std::regex_match(Utils::toString(name), RINGID_VALIDATOR); + if (!(isUsername || isRingId)) { + ringTxtBxPlaceHolderDelay(ResourceMananger::instance->getStringResource("_contactsUsernameInvalid_"), 5000); + return; } -} - -Object ^ RingClientUWP::Views::CallStatusForIncomingCallStaticEllipse::ConvertBack(Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object ^ parameter, String ^ language) -{ - throw ref new Platform::NotImplementedException(); -} -RingClientUWP::Views::CallStatusForIncomingCallStaticEllipse::CallStatusForIncomingCallStaticEllipse() -{} + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + auto account = AccountsViewModel::instance->findItem(selectedAccountId); + auto hasInternet = Utils::hasInternet(); + if (account->accountType_ == "RING" && (!hasInternet || account->_registrationState != RegistrationState::REGISTERED)) { + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + ringTxtBxPlaceHolderDelay(loader->GetString("_accountNotRegistered_"), 5000); + return; + } -void RingClientUWP::Views::SmartPanel::_ringTxtBx__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ + auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - if (item->_contact->_name == _ringTxtBx_->Text || item->_contact->ringID_ == _ringTxtBx_->Text) { + if ((item->_contact->_name == name || item->_contact->ringID_ == name) && + selectedAccountId == item->_contact->_accountIdAssociated && + item->_contact->_trustStatus >= TrustStatus::CONTACT_REQUEST_SENT) { SmartPanelItemsViewModel::instance->_selectedItem = item; summonMessageTextPage(); + return; } + else if ((item->_contact->_name == name || item->_contact->ringID_ == name) && + item->_contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST) { + // In this case, we are potentially attempting to send a trust request to a + // peer who has already sent us one. For now we shall just send a trust request, + // so they receive our vcard and remove our corresponding contact request control item. + /* DRing::acceptTrustRequest( Utils::toString(item->_contact->_accountIdAssociated), + Utils::toString(item->_contact->ringID_)); */ + auto vcard = Configuration::UserPreferences::instance->getVCard(); + RingD::instance->sendContactRequest(Utils::toString(item->_contact->_accountIdAssociated), + Utils::toString(item->_contact->ringID_), + vcard->asString()); + item->_contact->_trustStatus = TrustStatus::TRUSTED; + contactListModel->saveContactsToFile(); - auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); - auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(selectedAccountId)); - auto contact = contactListModel->addNewContact(_ringTxtBx_->Text, "", ContactStatus::WAITING_FOR_ACTIVATION); - RingD::instance->lookUpName(_ringTxtBx_->Text); + auto spi = SmartPanelItemsViewModel::instance->findItem(item->_contact); + SmartPanelItemsViewModel::instance->moveItemToTheTop(spi); + SmartPanelItemsViewModel::instance->refreshFilteredItemsList(); + SmartPanelItemsViewModel::instance->update(ViewModel::NotifyStrings::notifySmartPanelItem); - _ringTxtBx_->Text = ""; + if (auto cri = ContactRequestItemsViewModel::instance->findItem(item->_contact)) + ContactRequestItemsViewModel::instance->removeItem(cri); - for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - item->_showMe = Windows::UI::Xaml::Visibility::Visible; + ContactRequestItemsViewModel::instance->refreshFilteredItemsList(); + ContactRequestItemsViewModel::instance->update(ViewModel::NotifyStrings::notifyContactRequestItem); + + MSG_("Auto-accepted Contact Request from: " + item->_contact->ringID_); + return; } - return; + } + + if (isRingId) { + contactListModel->addNewContact(_ringTxtBx_->Text, "", TrustStatus::UNKNOWN, false, ContactStatus::READY); + RingD::instance->lookUpAddress(Utils::toString(selectedAccountId), name); + } + else { + contactListModel->addNewContact(_ringTxtBx_->Text, "", TrustStatus::UNKNOWN, false, ContactStatus::WAITING_FOR_ACTIVATION); + RingD::instance->lookUpName(Utils::toString(selectedAccountId), name); } for (auto item : SmartPanelItemsViewModel::instance->itemsList) { - auto str1 = Utils::toString(item->_contact->_name); - auto str2 = Utils::toString(_ringTxtBx_->Text); + item->_isVisible = Windows::UI::Xaml::Visibility::Visible; + } +} - if (str1.find(str2) != std::string::npos) - item->_showMe = Windows::UI::Xaml::Visibility::Visible; - else - item->_showMe = Windows::UI::Xaml::Visibility::Collapsed; +void RingClientUWP::Views::SmartPanel::_ringTxtBx__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + if (_ringTxtBx_->Text != "") { + addToContactList(_ringTxtBx_->Text); + _ringTxtBx_->Text = ""; } } +void RingClientUWP::Views::SmartPanel::_ringTxtBx__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) +{ + if (e->Key == Windows::System::VirtualKey::Enter) { + if (_ringTxtBx_->Text != "") { + addToContactList(_ringTxtBx_->Text); + _ringTxtBx_->Text = ""; + } + } +} void RingClientUWP::Views::SmartPanel::_contactsListMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { selectMenu(MenuOpen::CONTACTS_LIST); } +void RingClientUWP::Views::SmartPanel::_contactRequestListMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + selectMenu(MenuOpen::CONTACTREQUEST_LIST); +} void RingClientUWP::Views::SmartPanel::_accountsMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { selectMenu(MenuOpen::ACCOUNTS_LIST); } - void RingClientUWP::Views::SmartPanel::_shareMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - selectMenu(MenuOpen::SHARE); + auto frame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); + RingD::instance->raiseShareRequested(); + showWelcomePage(); + //selectMenu(MenuOpen::SHARE); } - void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { selectMenu(MenuOpen::DEVICE); + _pinGeneratorYes_->IsEnabled = false; _passwordForPinGenerator_->Password = ""; // refacto : do something better... - _waitingAndResult_->Text = "Exporting account on the Ring..."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _waitingAndResult_->Text = loader->GetString("_accountsWaitingAndResult_.Text"); _waitingDevicesList_->Visibility = Windows::UI::Xaml::Visibility::Visible; _devicesIdList_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; @@ -1934,15 +2109,30 @@ void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Click(Platform::Objec auto account = AccountListItemsViewModel::instance->_selectedItem->_account; _deviceId_->Text = account->_deviceId; + _deviceName_->Text = account->_deviceName; if (_deviceId_->Text->IsEmpty()) { - _deviceId_->Text = "No device id found!"; + _deviceId_->Text = loader->GetString("_accountsNoDeviceId_"); ERR_("device Id not found for account " + Utils::toString(account->_deviceId)); } - RingD::instance->askToRefreshKnownDevices(account->accountID_); - + RingD::instance->getKnownDevices(account->accountID_); } +void +SmartPanel::showWelcomePage() +{ + if (menuOpen == MenuOpen::SETTINGS) + selectMenu(MenuOpen::CONTACTS_LIST); + + // de-select item from Listbox only + _smartList_->SelectedIndex = -1; + + if (SmartPanelItemsViewModel::instance->_selectedItem) { + SmartPanelItemsViewModel::instance->_selectedItem = nullptr; + } + + summonWelcomePage(); +} void RingClientUWP::Views::SmartPanel::_settingsMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { @@ -1951,12 +2141,17 @@ void RingClientUWP::Views::SmartPanel::_settingsMenuButton__Click(Platform::Obje void RingClientUWP::Views::SmartPanel::_passwordForPinGenerator__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) { - if (e->Key == Windows::System::VirtualKey::Enter) + bool isPasswordValid = (_passwordForPinGenerator_->Password->IsEmpty()) ? false : true; + _pinGeneratorYes_->IsEnabled = isPasswordValid; + + if (e->Key == Windows::System::VirtualKey::Enter && isPasswordValid) requestPin(); } void RingClientUWP::Views::SmartPanel::requestPin() { + RingD::instance->showLoadingOverlay(ResourceMananger::instance->getStringResource("_m_generating_pin_"), SuccessColor); + _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _waitingForPin_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -1969,3 +2164,589 @@ void RingClientUWP::Views::SmartPanel::requestPin() RingD::instance->askToExportOnRing(accountId, password); } + +void +SmartPanel::ContactRequestItem_Grid_PointerReleased(Platform::Object ^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs ^ e) +{ + return; +} + +void +SmartPanel::ContactRequestItem_Grid_PointerEntered(Platform::Object ^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs ^ e) +{ + return; +} + +void +SmartPanel::ContactRequestItem_Grid_PointerExited(Platform::Object ^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs ^ e) +{ + return; +} + +void +SmartPanel::ContactRequestItem_Grid_PointerMoved(Platform::Object ^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs ^ e) +{ + return; +} + + +void +SmartPanel::_acceptContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + if (Utils::hasInternet()) { + auto button = dynamic_cast<Button^>(e->OriginalSource); + if (button) { + auto item = dynamic_cast<ContactRequestItem^>(button->DataContext); + if (item) { + auto contact = item->_contact; + auto accountId = contact->_accountIdAssociated; + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountId))) { + DRing::acceptTrustRequest(Utils::toString(accountId), Utils::toString(contact->ringID_)); + contact->_trustStatus = TrustStatus::TRUSTED; + contactListModel->saveContactsToFile(); + + auto spi = SmartPanelItemsViewModel::instance->findItem(contact); + SmartPanelItemsViewModel::instance->moveItemToTheTop(spi); + + ContactRequestItemsViewModel::instance->removeItem(item); + + updateNotificationsState(); + + MSG_("Accepted Contact Request from: " + contact->ringID_); + } + } + } + } +} + +void +SmartPanel::_rejectContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + if (Utils::hasInternet()) { + auto button = dynamic_cast<Button^>(e->OriginalSource); + if (button) { + auto item = dynamic_cast<ContactRequestItem^>(button->DataContext); + if (item) { + auto contact = item->_contact; + auto accountId = contact->_accountIdAssociated; + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountId))) { + DRing::discardTrustRequest(Utils::toString(accountId), Utils::toString(contact->ringID_)); + contactListModel->deleteContact(contact); + contactListModel->saveContactsToFile(); + + ContactRequestItemsViewModel::instance->removeItem(item); + + updateNotificationsState(); + + MSG_("Discarded Contact Request from: " + contact->ringID_); + } + } + } + } +} + +void +SmartPanel::_blockContactBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + if (Utils::hasInternet()) { + auto button = dynamic_cast<Button^>(e->OriginalSource); + if (button) { + auto item = dynamic_cast<ContactRequestItem^>(button->DataContext); + if (item) { + auto contact = item->_contact; + auto accountId = contact->_accountIdAssociated; + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountId))) { + DRing::removeContact(Utils::toString(accountId), Utils::toString(contact->ringID_), true); + + contact->_trustStatus = TrustStatus::BLOCKED; + contactListModel->saveContactsToFile(); + + ContactRequestItemsViewModel::instance->removeItem(item); + + updateNotificationsState(); + + MSG_("Blocked Contact with ringId: " + contact->ringID_); + } + } + } + } +} + +void +SmartPanel::OnnewBuddyNotification(const std::string& accountId, const std::string& address, int status) +{ + for (auto account : AccountsViewModel::instance->accountsList) { + auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(account->accountID_)); + for (auto contact : contactListModel->_contactsList) + if (contact->ringID_ == Utils::toPlatformString(address)) + contact->_presenceStatus = status; + } +} + +Object^ +ContactAccountTypeToVisibility::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto contact = static_cast<Contact^>(value); + auto parameterString = static_cast<String^>(parameter); + auto associatedAccount = AccountsViewModel::instance->findItem(contact->_accountIdAssociated); + if (associatedAccount->accountType_ == parameterString) + return VIS::Visible; + return VIS::Collapsed; +} + +Object^ +ContactConferenceableToVisibility::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + // Hide the option until more or less fully functional + return VIS::Collapsed; + + auto contact = static_cast<Contact^>(value); + if (SmartPanelItemsViewModel::instance->isInCall()) { + auto selectedItem = SmartPanelItemsViewModel::instance->_selectedItem; + if (contact != selectedItem->_contact) { + return VIS::Visible; + } + } + return VIS::Collapsed; +} + +Object^ +CachedImageConverter::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto path = static_cast<String^>(value); + if (path == nullptr) + return nullptr; + return RingClientUWP::ResourceMananger::instance->imageFromRelativePath(path); +} + +Object^ +NameToInitialConverter::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto name = static_cast<String^>(value); + return Utils::getUpperInitial(name); +} + +Object^ +HasAvatarToVisibility::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto contact = static_cast<Contact^>(value); + auto parameterString = static_cast<String^>(parameter); + auto positiveResult = parameterString != "Inverted" ? VIS::Visible : VIS::Collapsed; + auto negtiveResult = parameterString != "Inverted" ? VIS::Collapsed : VIS::Visible; + return contact->_avatarImage != L" " ? positiveResult : negtiveResult; +} + +Object^ +AccountRegistrationStateToString::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto account = static_cast<Account^>(value); + auto registrationState = account->_registrationState; + + if (account->accountType_ == "SIP") + return "Ready"; + + if (registrationState == RegistrationState::REGISTERED) { + return "Online"; + } + return "Offline"; +} + +Object^ +AccountRegistrationStateToForeground::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto account = static_cast<Account^>(value); + auto registrationState = account->_registrationState; + + if (registrationState == RegistrationState::REGISTERED || account->accountType_ == "SIP") { + return ref new SolidColorBrush(Utils::ColorFromString(SuccessColor)); + } + return ref new SolidColorBrush(Utils::ColorFromString(ErrorColor)); +} + +// This converter will be used to determine the visibility of the +// message bubble spikes. +Object^ +MessageChainBreakToVisibility::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + if (SmartPanelItemsViewModel::instance->_selectedItem) { + auto msgIndex = static_cast<int>(value); + auto messages = SmartPanelItemsViewModel::instance->_selectedItem->_contact->_conversation->_messages; + + if (!messages->Size) + return VIS::Collapsed; + + auto message = messages->GetAt(msgIndex); + auto parameterString = static_cast<String^>(parameter); + + if (parameterString == "First") { + // The converter is being used to determine if this message is the first + // of a series. If it is the first message of the chain, return visible, + // otherwise, return collapsed. + bool isFirstofSequence = false; + if (messages->Size) { + if (msgIndex == 0) { + isFirstofSequence = true; + } + else { + auto previousMessage = messages->GetAt(msgIndex - 1); + if (message->FromContact != previousMessage->FromContact) + isFirstofSequence = true; + } + } + if (isFirstofSequence) + return VIS::Visible; + } + else if (parameterString == "Last") { + // The converter is being used to determine if this message is the last + // of a series. If it is the last message of the chain, return visible, + // otherwise, return collapsed. + bool isLastofSequence = false; + if (msgIndex < messages->Size) { + if (msgIndex == messages->Size - 1) { + isLastofSequence = true; + } + else { + auto nextMessage = messages->GetAt(msgIndex + 1); + if (message->FromContact != nextMessage->FromContact) + isLastofSequence = true; + } + } + if (isLastofSequence) + return VIS::Visible; + } + } + + return VIS::Collapsed; +} + +// This converter is being used to determine if this message is the last +// of a series. If it is the last message of the chain, return a positive +// GridLength otherwise, return a GridLength of 0. +Object^ +MessageChainBreakToHeight::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + if (SmartPanelItemsViewModel::instance->_selectedItem) { + auto msgIndex = static_cast<int>(value); + auto messages = SmartPanelItemsViewModel::instance->_selectedItem->_contact->_conversation->_messages; + if (!messages->Size) + return GridLength(0.0); + + auto message = messages->GetAt(msgIndex); + + // If this is the last message in the list, then make it visible by returning + // a positive GridLength + bool isLastofSequence = false; + if (msgIndex < messages->Size) { + if (msgIndex == messages->Size - 1) { + isLastofSequence = true; + } + else { + auto nextMessage = messages->GetAt(msgIndex + 1); + if (message->FromContact != nextMessage->FromContact) + isLastofSequence = true; + } + } + if (isLastofSequence) + return GridLength(14.0); + } + + return GridLength(0.0); +} + +Object^ +MessageDateTimeString::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + if (SmartPanelItemsViewModel::instance->_selectedItem) { + auto msgIndex = static_cast<int>(value); + auto messages = SmartPanelItemsViewModel::instance->_selectedItem->_contact->_conversation->_messages; + if (!messages->Size) + return "Now"; + + auto message = messages->GetAt(msgIndex); + + bool isLastofSequence = false; + if (msgIndex < messages->Size) { + if (msgIndex == messages->Size - 1) { + isLastofSequence = true; + } + else { + auto nextMessage = messages->GetAt(msgIndex + 1); + if (message->FromContact != nextMessage->FromContact) + isLastofSequence = true; + } + } + + if (message && isLastofSequence) { + auto messageDateTime = Utils::time::epochToDateTime(message->TimeReceived); + auto currentDateTime = Utils::time::currentDateTime(); + auto currentDay = Utils::time::dateTimeToString(currentDateTime, "shortdate"); + auto messageDay = Utils::time::dateTimeToString(messageDateTime, "shortdate"); + if (messageDay != currentDay) + return Utils::time::dateTimeToString(messageDateTime, "dayofweek"); + else if (Utils::time::currentTimestamp() - message->TimeReceived > 60) + return Utils::time::dateTimeToString(messageDateTime, "hour minute"); + } + } + return "Now"; +} + +Object^ +PresenceStatus::Convert(Object ^ value, TypeName targetType, Object ^ parameter, String ^ language) +{ + auto parameterString = static_cast<String^>(parameter); + auto presenceStatus = static_cast<int>(value); + + auto offlineColor = ref new SolidColorBrush(Utils::ColorFromString("#00000000")); + SolidColorBrush^ onlineColor; + + if (parameterString == "Border") { + onlineColor = ref new SolidColorBrush(Utils::ColorFromString("#ffffffff")); + } + else + onlineColor = ref new SolidColorBrush(Utils::ColorFromString(SuccessColor)); + + return presenceStatus <= 0 ? offlineColor : onlineColor; +} + +void +SmartPanel::_smartList__GotFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto frame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); + dynamic_cast<RingClientUWP::MainPage^>(frame->Content)->focusOnMessagingTextbox(); +} + +void +SmartPanel::_showBannedList__PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + if (_bannedContactListGrid_->Visibility == VIS::Collapsed) { + setBannedListState(true); + } + else { + setBannedListState(false); + } +} + +void +SmartPanel::setBannedListState(bool visible) +{ + if (visible) { + _bannedContactListGrid_->Visibility = VIS::Visible; + _accountsShowBannedList_->Content = ResourceMananger::instance->getStringResource("_accountsHideBannedList_"); + _scrollViewerEditionMenu_->UpdateLayout(); + _scrollViewerEditionMenu_->ScrollToVerticalOffset(_scrollViewerEditionMenu_->ScrollableHeight); + } + else { + _bannedContactListGrid_->Visibility = VIS::Collapsed; + _accountsShowBannedList_->Content = ResourceMananger::instance->getStringResource("_accountsShowBannedList_"); + } +} + +void RingClientUWP::Views::SmartPanel::_addBannedContactBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto button = dynamic_cast<Button^>(e->OriginalSource); + if (button) { + auto item = dynamic_cast<SmartPanelItem^>(button->DataContext); + if (item) { + auto contact = item->_contact; + auto accountId = contact->_accountIdAssociated; + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountId))) { + DRing::addContact(Utils::toString(accountId), Utils::toString(contact->ringID_)); + + contact->_trustStatus = TrustStatus::TRUSTED; + contactListModel->saveContactsToFile(); + + updateNotificationsState(); + + MSG_("Added blocked contact to contacts with ringId: " + contact->ringID_); + } + } + } +} + + +void +SmartPanel::SmartPanelItem_Grid_RightTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::RightTappedRoutedEventArgs^ e) +{ + auto grid = static_cast<Grid^>(sender); + auto item = static_cast<SmartPanelItem^>(grid->DataContext); + if (_smartList_->SelectedIndex == -1) { + // if no item is already selected, select the one right tapped + _smartList_->SelectedIndex = SmartPanelItemsViewModel::instance->getFilteredIndex(item->_contact); + item->_isSelected = true; + } + auto flyoutOwner = static_cast<FrameworkElement^>(sender); + auto menuFlyout = static_cast<MenuFlyout^>(FlyoutBase::GetAttachedFlyout(flyoutOwner)); + auto videoCallButton = menuFlyout->Items->GetAt(0); + videoCallButton->Visibility = item->_isCallable ? VIS::Visible : VIS::Collapsed; + FlyoutBase::ShowAttachedFlyout(flyoutOwner); +} + + +void RingClientUWP::Views::SmartPanel::_videocall_MenuFlyoutItem_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) +{ + auto item = static_cast<SmartPanelItem^>(static_cast<MenuFlyoutItem^>(sender)->DataContext); + placeCall(item); +} + +void RingClientUWP::Views::SmartPanel::SmartPanelItem_Grid_DoubleTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::DoubleTappedRoutedEventArgs^ e) +{ + auto grid = static_cast<Grid^>(sender); + auto item = static_cast<SmartPanelItem^>(grid->DataContext); + placeCall(item); + auto index = SmartPanelItemsViewModel::instance->getFilteredIndex(item->_contact); + _smartList_->SelectedIndex = index; + SmartPanelItemsViewModel::instance->_selectedItem = item; +} + +void RingClientUWP::Views::SmartPanel::_addToConference_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) +{ + auto item = static_cast<SmartPanelItem^>(static_cast<MenuFlyoutItem^>(sender)->DataContext); + auto selectedAccount = AccountListItemsViewModel::instance->_selectedItem->_account; + auto selectedAccountId = selectedAccount->accountID_; + std::vector<std::string> participantList; + String^ prefix = selectedAccount->accountType_ == "RING" ? "ring:" : ""; + auto selectedItem = SmartPanelItemsViewModel::instance->_selectedItem; + participantList.emplace_back(Utils::toString(prefix + selectedItem->_contact->ringID_ + "," + selectedAccountId)); + participantList.emplace_back(Utils::toString(prefix + item->_contact->ringID_ + "," + selectedAccountId)); + DRing::createConfFromParticipantList(participantList); +} + + +void RingClientUWP::Views::SmartPanel::_copyRingID_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) +{ + auto item = static_cast<SmartPanelItem^>(static_cast<MenuFlyoutItem^>(sender)->DataContext); + DataPackage^ dataPackage = ref new DataPackage(); + dataPackage->SetText(item->_contact->ringID_); + Clipboard::SetContent(dataPackage); +} + + +void +SmartPanel::_revokeDeviceButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto button = static_cast<Button^>(sender); + auto deviceItem = static_cast<RingDeviceItem^>(button->DataContext); + + auto stackPanel = ref new StackPanel(); + stackPanel->Orientation = Orientation::Vertical; + auto textBlock = ref new TextBlock(); + textBlock->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Center; + textBlock->FontSize = 14; + textBlock->Text = "Please enter your account password"; + auto passwordBox = ref new PasswordBox(); + passwordBox->PlaceholderText = "Password"; + passwordBox->Height = 32; + passwordBox->Margin = Windows::UI::Xaml::Thickness(0.0, 20.0, 0.0, 0.0); + stackPanel->Children->Append(textBlock); + stackPanel->Children->Append(passwordBox); + auto dialog = ref new ContentDialog(); + dialog->Content = stackPanel; + dialog->Title = ""; + dialog->IsSecondaryButtonEnabled = true; + dialog->PrimaryButtonText = "Ok"; + dialog->SecondaryButtonText = "Cancel"; + + create_task(dialog->ShowAsync()) + .then([=](task<ContentDialogResult> dialogTask) { + try { + auto result = dialogTask.get(); + if (result == ContentDialogResult::Primary) { + auto accountId = Utils::toString(AccountListItemsViewModel::instance->getSelectedAccountId()); + auto password = Utils::toString(passwordBox->Password); + auto deviceId = Utils::toString(deviceItem->_deviceId); + RingD::instance->revokeDevice(accountId, password, deviceId); + } + else { + MSG_("revoking device cancelled"); + } + } + catch (Exception^ e) { + EXC_(e); + } + }); +} + + +void RingClientUWP::Views::SmartPanel::_deviceName__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) +{ + if (e->Key == Windows::System::VirtualKey::Enter) { + auto selectedAccount = AccountListItemsViewModel::instance->_selectedItem->_account; + if (_deviceName_->Text == "") { + _deviceName_->Text = selectedAccount->_deviceName; + } + else { + MSG_("changing device name, (" + selectedAccount->_deviceName + " -> " + _deviceName_->Text + ")"); + selectedAccount->_deviceName = _deviceName_->Text; + RingD::instance->updateAccount(selectedAccount->accountID_); + } + _deviceName_->IsEnabled = false; + _deviceName_->IsEnabled = true; + } +} + + +void RingClientUWP::Views::SmartPanel::_deviceName__LostFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto selectedAccount = AccountListItemsViewModel::instance->_selectedItem->_account; + _deviceName_->Text = selectedAccount->_deviceName; +} + + +void RingClientUWP::Views::SmartPanel::_turnEnabledToggle__Toggled(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto toggleSwitch = dynamic_cast<ToggleSwitch^>(sender); + auto isTurnEnabledToggleOn = toggleSwitch->IsOn; + // grey out turn server edit box + if (_turnEditionTextBox_) + _turnEditionTextBox_->IsEnabled = isTurnEnabledToggleOn; +} + + +void +SmartPanel::_deleteAccountButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + auto messageDialog = ref new MessageDialog("Are you sure you want to delete this account?", "Delete Account"); + + messageDialog->Commands->Append(ref new UICommand("Cancel", ref new UICommandInvokedHandler([this](IUICommand^ command) + {}))); + messageDialog->Commands->Append(ref new UICommand("Delete", ref new UICommandInvokedHandler([this](IUICommand^ command) + { + auto accountItem = AccountListItemsViewModel::instance->_selectedItem; + auto account = accountItem->_account; + auto accountId = account->accountID_; + + RingD::instance->deleteAccount(accountId); + AccountListItemsViewModel::instance->removeItem(accountItem); + }))); + + messageDialog->DefaultCommandIndex = 1; + + messageDialog->ShowAsync(); +} + + +void +SmartPanel::_removeContact_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) +{ + if (auto item = static_cast<SmartPanelItem^>(static_cast<MenuFlyoutItem^>(sender)->DataContext)) { + auto contact = item->_contact; + + auto messageDialog = ref new MessageDialog("Are you sure you want to remove this contact?", "Remove Contact"); + + messageDialog->Commands->Append(ref new UICommand("Cancel", ref new UICommandInvokedHandler([this](IUICommand^ command) + {}))); + messageDialog->Commands->Append(ref new UICommand("Remove", ref new UICommandInvokedHandler([this, item, contact](IUICommand^ command) + { + RingD::instance->raiseShareRequested(); + showWelcomePage(); + String^ accountIdAssociated = SmartPanelItemsViewModel::instance->getAssociatedAccountId(item); + if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountIdAssociated))) + contactListModel->deleteContact(contact); + SmartPanelItemsViewModel::instance->removeItem(item); + }))); + + messageDialog->DefaultCommandIndex = 1; + + messageDialog->ShowAsync(); + } +} diff --git a/SmartPanel.xaml.h b/SmartPanel.xaml.h index 68c927e..83f3e73 100644 --- a/SmartPanel.xaml.h +++ b/SmartPanel.xaml.h @@ -1,7 +1,7 @@ -#pragma once -/************************************************************************** +/************************************************************************** * Copyright (C) 2016 by Savoir-faire Linux * * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -16,12 +16,17 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * **************************************************************************/ +#pragma once + #include "SmartPanel.g.h" +#include <regex> + using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Controls; using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml::Documents; namespace RingClientUWP { @@ -36,6 +41,96 @@ delegate void HidePreviewPage(); namespace Views { +public ref class ContactAccountTypeToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + ContactAccountTypeToVisibility() {}; +}; + +public ref class ContactConferenceableToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + ContactConferenceableToVisibility() {}; +}; + +public ref class CachedImageConverter sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + CachedImageConverter() {}; +}; + +public ref class NameToInitialConverter sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + NameToInitialConverter() {}; +}; + +public ref class HasAvatarToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + HasAvatarToVisibility() {}; +}; + +public ref class AccountRegistrationStateToString sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + AccountRegistrationStateToString() {}; +}; + +public ref class AccountRegistrationStateToForeground sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + AccountRegistrationStateToForeground() {}; +}; + +public ref class MessageChainBreakToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + MessageChainBreakToVisibility() {}; +}; + +public ref class MessageChainBreakToHeight sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + MessageChainBreakToHeight() {}; +}; + +public ref class MessageDateTimeString sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + MessageDateTimeString() {}; +}; + public ref class IncomingVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); @@ -43,6 +138,15 @@ public: IncomingVisibility(); }; +public ref class PresenceStatus sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + PresenceStatus() {}; +}; + public ref class OutGoingVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); @@ -64,6 +168,15 @@ public: AccountTypeToSourceImage(); }; +public ref class RingAccountTypeToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + } + RingAccountTypeToVisibility() {}; +}; + public ref class AccountSelectedToVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); @@ -71,11 +184,22 @@ public: AccountSelectedToVisibility(); }; -public ref class NewMessageBubleNotification sealed : IValueConverter { +public ref class NewMessageNotificationToNumber sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); - virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language); - NewMessageBubleNotification(); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + NewMessageNotificationToNumber() {}; +}; + +public ref class NewMessageBubbleNotification sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + NewMessageBubbleNotification() {}; }; public ref class CollapseEmptyString sealed : IValueConverter { @@ -117,6 +241,15 @@ public: OneToVisibility() {}; }; +public ref class UnreadAccountNotificationsString sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + UnreadAccountNotificationsString() {}; +}; + public ref class MoreThanOneToVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); @@ -126,34 +259,54 @@ public: MoreThanOneToVisibility() {}; }; -public ref class SelectedAccountToVisibility sealed : IValueConverter { +public ref class MoreThanZeroToVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { return nullptr; }; - SelectedAccountToVisibility() {}; + MoreThanZeroToVisibility() {}; }; -public ref class CallStatusToSpinnerVisibility sealed : IValueConverter { +public ref class PartialTrustToVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); - virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language); - CallStatusToSpinnerVisibility(); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + PartialTrustToVisibility() {}; +}; + +public ref class TrustedToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + TrustedToVisibility() {}; +}; + +public ref class SelectedAccountToVisibility sealed : IValueConverter { +public: + virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); + virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language) { + return nullptr; + }; + SelectedAccountToVisibility() {}; }; -public ref class CallStatusForIncomingCallAnimatedEllipse sealed : IValueConverter { +public ref class CallStatusToSpinnerVisibility sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language); - CallStatusForIncomingCallAnimatedEllipse(); + CallStatusToSpinnerVisibility(); }; -public ref class CallStatusForIncomingCallStaticEllipse sealed : IValueConverter { +public ref class CallStatusForIncomingCallEllipse sealed : IValueConverter { public: virtual Object^ Convert(Object^ value, TypeName targetType, Object^ parameter, String^ language); virtual Object^ ConvertBack(Object^ value, TypeName targetType, Object^ parameter, String^ language); - CallStatusForIncomingCallStaticEllipse(); + CallStatusForIncomingCallEllipse() {}; }; @@ -176,6 +329,7 @@ internal: private: enum class MenuOpen { CONTACTS_LIST, + CONTACTREQUEST_LIST, ACCOUNTS_LIST, SHARE, DEVICE, @@ -183,18 +337,18 @@ private: } menuOpen; /* functions */ + void setBannedListState(bool visible); void _addAccountBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _createAccountYes__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _createAccountNo__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _smartList__SelectionChanged(Platform::Object^ sender, SelectionChangedEventArgs^ e); void _accountList__SelectionChanged(Platform::Object^ sender, SelectionChangedEventArgs^ e); - void _ringTxtBx__Click(Platform::Object^ sender, KeyRoutedEventArgs^ e); void _rejectIncomingCallBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _acceptIncomingCallBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); - void _callContact__Click(Platform::Object^ sender, RoutedEventArgs^ e); + void _callBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _cancelCallBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); - void Grid_PointerEntered(Platform::Object^ sender, PointerRoutedEventArgs^ e); - void Grid_PointerExited(Platform::Object^ sender, PointerRoutedEventArgs^ e); + void SmartPanelItem_Grid_PointerEntered(Platform::Object^ sender, PointerRoutedEventArgs^ e); + void SmartPanelItem_Grid_PointerExited(Platform::Object^ sender, PointerRoutedEventArgs^ e); void generateQRcode(); void _videoDeviceComboBox__SelectionChanged(Platform::Object^ sender, RoutedEventArgs^); void _videoResolutionComboBox__SelectionChanged(Platform::Object^ sender, RoutedEventArgs^); @@ -207,13 +361,15 @@ private: void ringTxtBxPlaceHolderDelay(String^ placeHolderText, int delayInMilliSeconds); void showLinkThisDeviceStep1(); void OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code); + void addToContactList(String^ name); + void undoListBoxDeselection(ListBox^ listBox, SelectionChangedEventArgs^ e); + void placeCall(SmartPanelItem^ item); void _addDevice__Click(Platform::Object^ sender, RoutedEventArgs^ e); - void OndevicesListRefreshed(Platform::Collections::Vector<Platform::String ^, std::equal_to<Platform::String ^>, true> ^devicesList); + void OndevicesListRefreshed(Map<String^, String^>^ deviceMap); void _pinGeneratorYes__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _pinGeneratorNo__Click(Platform::Object^ sender, RoutedEventArgs^ e); void OnexportOnRingEnded(Platform::String ^accountId, Platform::String ^pin); void _closePin__Click(Platform::Object^ sender, RoutedEventArgs^ e); - void _shareMenuDone__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _editAccountMenuButton__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _acceptAccountModification__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _cancelAccountModification__Click(Platform::Object^ sender, RoutedEventArgs^ e); @@ -226,13 +382,12 @@ private: void _selectedAccountAvatarContainer__PointerReleased(Platform::Object^ sender, PointerRoutedEventArgs^ e); void _selectedAccountAvatarContainer__PointerExited(Platform::Object^ sender, PointerRoutedEventArgs^ e); void _smartList__PointerExited(Platform::Object^ sender, PointerRoutedEventArgs^ e); - void Grid_PointerMoved(Platform::Object^ sender, PointerRoutedEventArgs^ e); + void SmartPanelItem_Grid_PointerMoved(Platform::Object^ sender, PointerRoutedEventArgs^ e); void _registerOnBlockchainEdition__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _usernameTextBoxEdition__KeyUp(Platform::Object^ sender, KeyRoutedEventArgs^ e); - void OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& address, const std::string& name); + void OnregisteredNameFound(RingClientUWP::LookupStatus status, const std::string& accountId, const std::string& address, const std::string& name); void _RegisterState__Toggled(Platform::Object^ sender, RoutedEventArgs^ e); void _usernameTextBox__KeyUp(Platform::Object^ sender, KeyRoutedEventArgs^ e); - void _deleteAccountEdition__Toggled(Platform::Object^ sender, RoutedEventArgs^ e); void _RegisterStateEdition__Toggled(Platform::Object^ sender, RoutedEventArgs^ e); void _ringTxtBx__KeyUp(Platform::Object^ sender, KeyRoutedEventArgs^ e); void _linkThisDeviceBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); @@ -242,11 +397,16 @@ private: void _addAccountYes__Click(Platform::Object^ sender, RoutedEventArgs^ e); void OnregistrationStateErrorGeneric(const std::string& accountId); void _PINTextBox__GotFocus(Platform::Object^ sender, RoutedEventArgs^ e); - void OnregistrationStateRegistered(); + void OnregistrationStateRegistered(const std::string& accountId); void OncallPlaced(Platform::String ^callId); - void updateUnreadMessagesState(); + void OncontactDataModified(Platform::String ^account, Contact^ contact); + void OnnewBuddyNotification(const std::string& accountId, const std::string& address, int status); + void updateContactNotificationsState(Contact^ contact); + void updateNotificationsState(); void selectMenu(MenuOpen menu); - void Grid_PointerReleased(Platform::Object^ sender, PointerRoutedEventArgs^ e); + void _addAccountInputValidation__KeyUp(Platform::Object^ sender, RoutedEventArgs^ e); + void OnregistrationStateChanged(const std::string& accountId); + void updateCallAnimationState(SmartPanelItem^ item, bool state); void OnincomingAccountMessage(Platform::String ^accountId, Platform::String ^from, Platform::String ^payload); void _ringTxtBx__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _contactsListMenuButton__Click(Platform::Object^ sender, RoutedEventArgs^ e); @@ -254,8 +414,31 @@ private: void _shareMenuButton__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _devicesMenuButton__Click(Platform::Object^ sender, RoutedEventArgs^ e); void _settingsMenuButton__Click(Platform::Object^ sender, RoutedEventArgs^ e); + void showWelcomePage(); void _passwordForPinGenerator__KeyUp(Platform::Object^ sender, KeyRoutedEventArgs^ e); void requestPin(); + void ContactRequestItem_Grid_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void ContactRequestItem_Grid_PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void ContactRequestItem_Grid_PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void ContactRequestItem_Grid_PointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _contactRequestListMenuButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _acceptContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _rejectContactRequestBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _blockContactBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _smartList__GotFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _showBannedList__PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _addBannedContactBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void SmartPanelItem_Grid_RightTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::RightTappedRoutedEventArgs^ e); + void _videocall_MenuFlyoutItem_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e); + void _addToConference_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e); + void _copyRingID_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e); + void SmartPanelItem_Grid_DoubleTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::DoubleTappedRoutedEventArgs^ e); + void _revokeDeviceButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _deviceName__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); + void _deviceName__LostFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _turnEnabledToggle__Toggled(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _deleteAccountButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _removeContact_MenuFlyoutItem__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e); }; } } diff --git a/SmartPanelItem.cpp b/SmartPanelItem.cpp index eb7131d..2f50388 100644 --- a/SmartPanelItem.cpp +++ b/SmartPanelItem.cpp @@ -46,6 +46,12 @@ SmartPanelItem::muteVideo(bool state) RingD::instance->muteVideo(_callId, state); } +void +SmartPanelItem::startCallTimer() +{ + call_.callStartTime = std::chrono::steady_clock::now();; +} + void SmartPanelItem::NotifyPropertyChanged(String^ propertyName) { @@ -67,7 +73,7 @@ SmartPanelItem::OncallPlaced(Platform::String ^callId) } void -SmartPanelItem::notifyPropertyChanged(String^ propertyName) +SmartPanelItem::raiseNotifyPropertyChanged(String^ propertyName) { NotifyPropertyChanged(propertyName); } \ No newline at end of file diff --git a/SmartPanelItem.h b/SmartPanelItem.h index 56580ee..3c11b11 100644 --- a/SmartPanelItem.h +++ b/SmartPanelItem.h @@ -23,6 +23,8 @@ using namespace Windows::Data::Json; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Data; +#include <chrono> + namespace RingClientUWP { namespace Controls @@ -33,11 +35,12 @@ public ref class SmartPanelItem sealed : public INotifyPropertyChanged public: SmartPanelItem(); - void muteVideo(bool state); - - void notifyPropertyChanged(String^ propertyName); + void raiseNotifyPropertyChanged(String^ propertyName); virtual event PropertyChangedEventHandler^ PropertyChanged; + void muteVideo(bool state); + void startCallTimer(); + property Contact^ _contact { Contact^ get() { return contact_; } void set(Contact^ value) { @@ -46,7 +49,27 @@ public: } }; - property String^ _callId; + property String^ _callId { + String^ get() { + return Utils::toPlatformString(call_.id); + } + void set(String^ value) { + call_.id = Utils::toString(value); + } + }; + + property String^ _callTime { + String^ get() { + auto duration = std::chrono::steady_clock::now() - call_.callStartTime; + auto hours = std::chrono::duration_cast<std::chrono::hours>(duration).count(); + auto minutes = std::chrono::duration_cast<std::chrono::minutes>(duration).count() - hours * 60; + auto seconds = std::chrono::duration_cast<std::chrono::seconds>(duration).count() - minutes * 60; + auto hoursString = !hours ? "" : (hours < 10 ? "0" + hours.ToString() : hours.ToString()) + ":"; + auto minutesString = minutes < 10 ? "0" + minutes.ToString() : minutes.ToString(); + auto secondsString = seconds < 10 ? "0" + seconds.ToString() : seconds.ToString(); + return hoursString + minutesString + ":" + secondsString; + } + }; property CallStatus _callStatus { CallStatus get() { return callStatus_; } @@ -62,11 +85,12 @@ public: property bool _audioMuted; - property Visibility _showMe { - Visibility get() { return showMe_; } + property Visibility _isVisible { + Visibility get() { return isVisible_; } void set(Visibility value) { - showMe_ = value; - NotifyPropertyChanged("_showMe"); + isVisible_ = value; + NotifyPropertyChanged("_isVisible"); + NotifyPropertyChanged("_isCallable"); } } @@ -75,6 +99,7 @@ public: void set(bool value) { isSelected_ = value; NotifyPropertyChanged("_isSelected"); + NotifyPropertyChanged("_isCallable"); } } @@ -99,13 +124,15 @@ protected: void NotifyPropertyChanged(String^ propertyName); private: - Visibility showMe_ = Visibility::Visible; + Visibility isVisible_; + bool isSelected_; + bool isHovered_; + CallStatus callStatus_; Contact^ contact_; String^ callId_; + Call call_; bool videoMuted_; - bool isSelected_; - bool isHovered_; void OncallPlaced(Platform::String ^callId); }; diff --git a/SmartPanelItemsViewModel.cpp b/SmartPanelItemsViewModel.cpp index 0253e37..5cc7837 100644 --- a/SmartPanelItemsViewModel.cpp +++ b/SmartPanelItemsViewModel.cpp @@ -20,6 +20,8 @@ #include "SmartPanelItemsViewModel.h" +#include "configurationmanager_interface.h" + using namespace Windows::ApplicationModel::Core; using namespace Windows::Data::Json; using namespace Windows::Storage; @@ -34,20 +36,20 @@ using namespace ViewModel; SmartPanelItemsViewModel::SmartPanelItemsViewModel() { itemsList_ = ref new Vector<SmartPanelItem^>(); + itemsListFiltered_ = ref new Vector<SmartPanelItem^>(); + itemsListBannedFiltered_ = ref new Vector<SmartPanelItem^>(); + RingD::instance->stateChange += ref new RingClientUWP::StateChange(this, &RingClientUWP::ViewModel::SmartPanelItemsViewModel::OnstateChange); } bool SmartPanelItemsViewModel::isInCall() { - bool isInCall = false; for (auto item : itemsList) { - if (item->_callId && item->_callStatus == CallStatus::IN_PROGRESS) { - isInCall = true; - break; - } + if (item->_callId && item->_callStatus == CallStatus::IN_PROGRESS) + return true; } - return isInCall; + return false; } SmartPanelItem^ @@ -102,12 +104,28 @@ SmartPanelItemsViewModel::getIndex(Contact^ contact) return i; } +unsigned int +SmartPanelItemsViewModel::getFilteredIndex(Contact^ contact) +{ + unsigned int i; + for (i = 0; i < itemsList_->Size; i++) { + if (itemsListFiltered_->GetAt(i)->_contact == contact) + break; + } + return i; +} + void RingClientUWP::ViewModel::SmartPanelItemsViewModel::removeItem(SmartPanelItem ^ item) { unsigned int index; - if (itemsList->IndexOf(item, &index)) + if (itemsList->IndexOf(item, &index)) { itemsList->RemoveAt(index); + + if (itemsListFiltered->IndexOf(item, &index)) { + itemsListFiltered->RemoveAt(index); + } + } } void RingClientUWP::ViewModel::SmartPanelItemsViewModel::moveItemToTheTop(SmartPanelItem ^ item) @@ -127,6 +145,12 @@ void RingClientUWP::ViewModel::SmartPanelItemsViewModel::moveItemToTheTop(SmartP itemsList->RemoveAt(spi_index); itemsList->InsertAt(0, item); + } + } + if (itemsListFiltered->IndexOf(item, &spi_index)) { + if (spi_index != 0) { + itemsListFiltered->RemoveAt(spi_index); + itemsListFiltered->InsertAt(0, item); item->_isHovered = false; } } @@ -149,17 +173,23 @@ void RingClientUWP::ViewModel::SmartPanelItemsViewModel::OnstateChange(Platform: auto timestampFormatter = ref new DateTimeFormatter("day month year hour minute second"); switch (state) { + case CallStatus::NONE: + { + break; + } case CallStatus::ENDED: { item->_contact->_lastTime = "Last call : " + timestampFormatter->Format(dateTime) + "."; String^ accountIdAssociated = getAssociatedAccountId(item); if (auto contactListModel = AccountsViewModel::instance->getContactListModel(Utils::toString(accountIdAssociated))) contactListModel->saveContactsToFile(); + refreshFilteredItemsList(); break; } case CallStatus::IN_PROGRESS: { item->_contact->_lastTime = "in progress."; + item->startCallTimer(); break; } case CallStatus::PEER_PAUSED: @@ -181,6 +211,11 @@ void RingClientUWP::ViewModel::SmartPanelItemsViewModel::OnstateChange(Platform: } case CallStatus::INCOMING_RINGING: item->_contact->_lastTime = "incoming call from " + item->_contact->_name + "."; + refreshFilteredItemsList(); + break; + case CallStatus::AUTO_ANSWERING: + item->_contact->_lastTime = "in progress."; + refreshFilteredItemsList(); break; default: break; @@ -197,10 +232,68 @@ SmartPanelItemsViewModel::getAssociatedAccountId(SmartPanelItem^ item) } void -SmartPanelItemsViewModel::update() +SmartPanelItemsViewModel::update(const std::vector<std::string>& properties) { - for each (SmartPanelItem^ item in itemsList) { - item->notifyPropertyChanged(""); - item->_contact->notifyPropertyChanged(""); + for each (SmartPanelItem^ item in itemsListFiltered_) { + for each (std::string prop in properties) { + item->raiseNotifyPropertyChanged(Utils::toPlatformString(prop)); + item->_contact->raiseNotifyPropertyChanged(Utils::toPlatformString(prop)); + } } -} +} + +void +SmartPanelItemsViewModel::refreshFilteredItemsList() +{ + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + + std::for_each(begin(itemsList_), end(itemsList_), + [selectedAccountId, this](SmartPanelItem^ item) { + static unsigned spi_index; + auto isInList = itemsListFiltered->IndexOf(item, &spi_index); + auto isCall = ( item->_callStatus != CallStatus::NONE && + item->_callStatus != CallStatus::ENDED ) ? true : false; + auto account = AccountsViewModel::instance->findItem(item->_contact->_accountIdAssociated); + // 1. Filters out non-account contacts that are NOT incoming calls + // 2. Filters out account contacts that don't trust us yet + if ((item->_contact->_accountIdAssociated == selectedAccountId || isCall) && + (item->_contact->_isTrusted || + (account->_dhtPublicInCalls && item->_contact->_isIncognitoContact && + item->_contact->_trustStatus == TrustStatus::INCOMING_CONTACT_REQUEST || + item->_contact->_trustStatus == TrustStatus::UNKNOWN))) { + if (!isInList) { + if (isCall) + itemsListFiltered_->InsertAt(0, item); + else + itemsListFiltered_->Append(item); + } + } + else if (isInList) { + itemsListFiltered_->RemoveAt(spi_index); + } + }); + refreshFilteredBannedItemsList(); +} + +void +SmartPanelItemsViewModel::refreshFilteredBannedItemsList() +{ + auto selectedAccountId = AccountListItemsViewModel::instance->getSelectedAccountId(); + + std::for_each(begin(itemsList_), end(itemsList_), + [selectedAccountId, this](SmartPanelItem^ item) { + static unsigned spi_index; + auto isInList = itemsListBannedFiltered->IndexOf(item, &spi_index); + auto isBanned = item->_contact->_trustStatus == TrustStatus::BLOCKED ? true : false; + auto account = AccountsViewModel::instance->findItem(item->_contact->_accountIdAssociated); + // Filters out non-account contacts that are NOT banned + if (item->_contact->_accountIdAssociated == selectedAccountId && isBanned) { + if (!isInList) { + itemsListBannedFiltered->InsertAt(0, item); + } + } + else if (isInList) { + itemsListBannedFiltered->RemoveAt(spi_index); + } + }); +} \ No newline at end of file diff --git a/SmartPanelItemsViewModel.h b/SmartPanelItemsViewModel.h index 96822ae..2a690cf 100644 --- a/SmartPanelItemsViewModel.h +++ b/SmartPanelItemsViewModel.h @@ -26,14 +26,16 @@ using namespace RingClientUWP::Controls; namespace RingClientUWP { -namespace ViewModel { +namespace ViewModel +{ -public ref class SmartPanelItemsViewModel sealed +ref class SmartPanelItemsViewModel sealed { public: bool isInCall(); String^ getAssociatedAccountId(SmartPanelItem^ item); - void update(); + void refreshFilteredItemsList(); + void refreshFilteredBannedItemsList(); internal: /* singleton */ @@ -47,49 +49,73 @@ internal: } /* functions */ + void update(const std::vector<std::string>& properties); SmartPanelItem^ findItem(String^ callId); SmartPanelItem^ findItem(Contact^ contact); SmartPanelItem^ findItemByRingID(String^ ringID); unsigned int getIndex(String^ callId); unsigned int getIndex(Contact^ contact); + unsigned int getFilteredIndex(Contact^ contact); + void removeItem(SmartPanelItem^ item); void moveItemToTheTop(SmartPanelItem^ item); - property Vector<SmartPanelItem^>^ itemsList + property IObservableVector<SmartPanelItem^>^ itemsList { - Vector<SmartPanelItem^>^ get() - { + IObservableVector<SmartPanelItem^>^ get() { return itemsList_; } } + property IObservableVector<SmartPanelItem^>^ itemsListFiltered + { + IObservableVector<SmartPanelItem^>^ get() { + return itemsListFiltered_; + } + void set(IObservableVector<SmartPanelItem^>^ value) { + itemsListFiltered_ = dynamic_cast<Vector<SmartPanelItem^>^>(value); + } + } + + property IObservableVector<SmartPanelItem^>^ itemsListBannedFiltered + { + IObservableVector<SmartPanelItem^>^ get() { + return itemsListBannedFiltered_; + } + void set(IObservableVector<SmartPanelItem^>^ value) { + itemsListBannedFiltered_ = dynamic_cast<Vector<SmartPanelItem^>^>(value); + } + } + property SmartPanelItem^ _selectedItem { - SmartPanelItem^ get() - { + SmartPanelItem^ get() { return currentItem_; } - void set(SmartPanelItem^ value) - { + void set(SmartPanelItem^ value) { oldItem_ = currentItem_; currentItem_ = value; if (oldItem_ != nullptr) oldItem_->_isSelected = false; - if (currentItem_ != nullptr) + if (currentItem_ != nullptr) { currentItem_->_isSelected = true; - - //newContactSelected(); + } } } private: SmartPanelItemsViewModel(); // singleton + Vector<SmartPanelItem^>^ itemsList_; + Vector<SmartPanelItem^>^ itemsListFiltered_; + Vector<SmartPanelItem^>^ itemsListBannedFiltered_; + SmartPanelItem^ currentItem_; SmartPanelItem^ oldItem_; + void OnstateChange(Platform::String ^callId, RingClientUWP::CallStatus state, int code); }; } diff --git a/SplitViews.xaml b/SplitViews.xaml new file mode 100644 index 0000000..0c0fba0 --- /dev/null +++ b/SplitViews.xaml @@ -0,0 +1,473 @@ +<!-- ********************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/> . * +*********************************************************************** --> +<ResourceDictionary + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + <Style x:Key="AnimatedSplitView" TargetType="SplitView"> + <Setter Property="HorizontalContentAlignment" Value="Stretch"/> + <Setter Property="VerticalContentAlignment" Value="Stretch"/> + <Setter Property="OpenPaneLength" Value="{ThemeResource SplitViewOpenPaneThemeLength}"/> + <Setter Property="CompactPaneLength" Value="{ThemeResource SplitViewCompactPaneThemeLength}"/> + <Setter Property="PaneBackground" Value="{ThemeResource SystemControlPageBackgroundChromeLowBrush}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="SplitView"> + <Grid Background="{TemplateBinding Background}"> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="DisplayModeStates"> + <VisualStateGroup.Transitions> + <VisualTransition From="OpenInlineLeft" To="Closed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" Storyboard.TargetProperty="TranslateX"> + <!--<SplineDoubleKeyFrame KeyTime="0:0:0.5" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"/>--> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:2" Value="{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"/> + </DoubleAnimationUsingKeyFrames> + <!--..--> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="ContentTransform" Storyboard.TargetProperty="TranslateX"> + <!--<SplineDoubleKeyFrame KeyTime="0:0:0.5" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"/>--> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}" /> + <LinearDoubleKeyFrame KeyTime="0:0:2" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <!--..--> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <!--<SplineDoubleKeyFrame KeyTime="0:0:0.5" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"/>--> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:2" Value="{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"/> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="Closed" To="OpenOverlayLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="Closed" To="OpenOverlayRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="ClosedCompactLeft" To="OpenCompactOverlayLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="ClosedCompactRight" To="OpenCompactOverlayRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0"/> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="OpenOverlayLeft" To="Closed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" Storyboard.TargetProperty="TranslateX"> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}"/> + </DoubleAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"/> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="OpenOverlayRight" To="Closed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" Storyboard.TargetProperty="TranslateX"> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"/> + </DoubleAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}"/> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="OpenCompactOverlayLeft" To="ClosedCompactLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}"/> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + <VisualTransition From="OpenCompactOverlayRight" To="ClosedCompactRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX"> + <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0"/> + <SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}"/> + </DoubleAnimationUsingKeyFrames> + </Storyboard> + </VisualTransition> + </VisualStateGroup.Transitions> + <VisualState x:Name="Closed"/> + <VisualState x:Name="ClosedCompactLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimation Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX" To="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}" Duration="0:0:0"/> + </Storyboard> + </VisualState> + <VisualState x:Name="ClosedCompactRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="2"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimation Storyboard.TargetName="PaneClipRectangleTransform" Storyboard.TargetProperty="TranslateX" To="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}" Duration="0:0:0"/> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenOverlayLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenOverlayRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenInlineLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenInlineRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenCompactOverlayLeft"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.Column)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="OpenCompactOverlayRight"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" Storyboard.TargetProperty="Width"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(Grid.ColumnSpan)"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="HorizontalAlignment"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + + <Grid.ColumnDefinitions> + <ColumnDefinition x:Name="ColumnDefinition1" Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneGridLength, FallbackValue=0}"/> + <ColumnDefinition x:Name="ColumnDefinition2" Width="*"/> + </Grid.ColumnDefinitions> + + <!-- Content Area --> + <Grid x:Name="ContentRoot" Grid.ColumnSpan="2"> + <Border Child="{TemplateBinding Content}"/> + <Rectangle x:Name="LightDismissLayer" Fill="Transparent" Visibility="Collapsed"/> + </Grid> + + <!-- Pane Content Area--> + <Grid x:Name="PaneRoot" + Grid.ColumnSpan="2" + HorizontalAlignment="Left" + Visibility="Collapsed" + Background="{TemplateBinding PaneBackground}" + Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"> + <Grid.Clip> + <RectangleGeometry x:Name="PaneClipRectangle"> + <RectangleGeometry.Transform> + <CompositeTransform x:Name="PaneClipRectangleTransform"/> + </RectangleGeometry.Transform> + </RectangleGeometry> + </Grid.Clip> + <Grid.RenderTransform> + <CompositeTransform x:Name="PaneTransform"/> + </Grid.RenderTransform> + <Border Child="{TemplateBinding Pane}"/> + <Rectangle x:Name="HCPaneBorder" + x:DeferLoadStrategy="Lazy" + Visibility="Collapsed" + Fill="{ThemeResource SystemControlForegroundTransparentBrush}" + Width="1" + HorizontalAlignment="Right"/> + </Grid> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary> \ No newline at end of file diff --git a/Styles.xaml b/Styles.xaml index 69347a8..7a848d6 100644 --- a/Styles.xaml +++ b/Styles.xaml @@ -15,686 +15,741 @@ * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/> . * -*********************************************************************** --> -<ResourceDictionary - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> +***********************************************************************--> +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <!-- general --> - <Style x:Key="Grid#3bc1d3" TargetType="Grid"> - <Setter Property="Background" - Value="#3bc1d3"/> - </Style> - <Style x:Key="Stack#3bc1d3" TargetType="StackPanel"> - <Setter Property="Background" - Value="#3bc1d3"/> - </Style> - <Style x:Key="TextStyle1" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="20"/> - <Setter Property="Foreground" - Value="Black"/> - </Style> - <Style x:Key="TextStyle2" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="20"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextStyle3" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="15"/> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextStyle_MiniNotification" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="8"/> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextStyle4" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="12"/> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="Black"/> - </Style> - <Style x:Key="TextStyle5" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="15"/> - <Setter Property="HorizontalAlignment" - Value="Left"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="FontStyle" - Value="Italic"/> - <Setter Property="Foreground" - Value="Black"/> - </Style> - <Style x:Key="TextStyle6" - TargetType="TextBlock"> - <Setter Property="FontSize" - Value="12"/> - <Setter Property="HorizontalAlignment" - Value="Left"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="Black"/> - </Style> - <Style x:Key="TextStyle7" - TargetType="TextBlock"> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextSegoeStyle1" - TargetType="TextBlock"> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="FontSize" - Value="15"/> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextSegoeStyle-20pt-black" - TargetType="TextBlock"> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="FontSize" - Value="20"/> - <Setter Property="HorizontalAlignment" - Value="Left"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="Black"/> - </Style> - <Style x:Key="TextSegoeStyle-24pt-black" - TargetType="TextBlock"> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="FontSize" - Value="24"/> - <Setter Property="HorizontalAlignment" - Value="Left"/> - <Setter Property="VerticalAlignment" - Value="Bottom"/> - <Setter Property="Foreground" - Value="Black"/> - <Setter Property="Margin" - Value="0,0,10,0"/> - </Style> - <Style x:Key="TextSegoeStyle-Centered-40pt-white" - TargetType="TextBlock"> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="FontSize" - Value="40"/> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="White"/> - </Style> - <Style x:Key="TextSegoeStyle-20pt-green" - TargetType="TextBlock"> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="Green"/> - <Setter Property="FontSize" - Value="20"/> - </Style> - <Style x:Key="TextSegoeStyle-20pt-red" - TargetType="TextBlock"> - <Setter Property="HorizontalAlignment" - Value="Center"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="VerticalAlignment" - Value="Center"/> - <Setter Property="Foreground" - Value="Red"/> - <Setter Property="FontSize" - Value="20"/> - </Style> - <Style x:Key="ButtonStyle1" - TargetType="Button"> - <Setter Property="Width" - Value="50"/> - <Setter Property="Height" - Value="50"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="HamburgerButtonStyle" - TargetType="Button"> - <Setter Property="Width" - Value="50"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle2" - TargetType="Button"> - <Setter Property="Width" - Value="400"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="#3bc1d3"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle3" - TargetType="Button"> - <Setter Property="Foreground" - Value="Black"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Width" - Value="80"/> - <Setter Property="Width" - Value="120"/> - <Setter Property="FontSize" - Value="70"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle4" - TargetType="Button"> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="#3bc1d3"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle5" - TargetType="Button"> - <Setter Property="Width" - Value="160"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="#3bc1d3"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle6" - TargetType="Button"> - <Setter Property="Width" - Value="320"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle7" - TargetType="Button"> - <Setter Property="Width" - Value="20"/> - <Setter Property="Height" - Value="20"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="ButtonStyle8" - TargetType="Button"> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="#3bc1d3"/> - <Setter Property="BorderThickness" - Value="0"/> - <Setter Property="FontSize" - Value="30"/> - </Style> - <Style x:Key="ToggleButtonStyle1" - TargetType="ToggleButton"> - <Setter Property="Width" - Value="46"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="smartGridButtonStyle" - TargetType="Button"> - <Setter Property="Width" - Value="46"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> - </Style> - <Style x:Key="TextBoxStyle2" - TargetType="TextBox"> - <Setter Property="IsReadOnly" Value="True"/> - <Setter Property="FontWeight" Value="Bold"/> - <Setter Property="Foreground" Value="Black"/> - <Setter Property="Background" Value="Transparent"/> - <Setter Property="BorderBrush" Value="Transparent"/> - <Setter Property="BorderThickness" Value="0"/> - <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/> - <Setter Property="FontSize" Value="12"/> + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="ms-appx:///ScrollBars.xaml" /> + <ResourceDictionary Source="ms-appx:///Buttons.xaml" /> + <ResourceDictionary Source="ms-appx:///SplitViews.xaml" /> + </ResourceDictionary.MergedDictionaries> + + <!-- colors --> + <Color x:Key="RingBlueLightColor">#ffe4f1f9</Color> + <SolidColorBrush x:Key="RingBlueLightBrush" Color="{StaticResource RingBlueLightColor}" /> + + <Color x:Key="RingBlueHighLight1Color">#ffcfebf5</Color> + <SolidColorBrush x:Key="RingBlueHighLight1Brush" Color="{StaticResource RingBlueHighLight1Color}" /> + <Color x:Key="RingBlueHighLight2Color">#ffbae5f0</Color> + <SolidColorBrush x:Key="RingBlueHighLight2Brush" Color="{StaticResource RingBlueHighLight2Color}" /> + <Color x:Key="RingBlueHighLight3Color">#ff90d9e6</Color> + <SolidColorBrush x:Key="RingBlueHighLight3Brush" Color="{StaticResource RingBlueHighLight3Color}" /> + + <Color x:Key="RingBlueMidColor">#ff3bc1d3</Color> + <SolidColorBrush x:Key="RingBlueMidBrush" Color="{StaticResource RingBlueMidColor}" /> + <Color x:Key="RingBlueDarkColor">#ff1ba1b3</Color> + <SolidColorBrush x:Key="RingBlueDarkBrush" Color="{StaticResource RingBlueDarkColor}" /> + <Color x:Key="RingBlueUltraDarkColor">#ff0b91a3</Color> + <SolidColorBrush x:Key="RingBlueUltraDarkBrush" Color="{StaticResource RingBlueUltraDarkColor}" /> + + <Color x:Key="RingMessagePageColor">#ffffffff</Color> + <SolidColorBrush x:Key="RingMessagePageBrush" Color="{StaticResource RingMessagePageColor}" /> + + <!-- general --> + <Style x:Key="RingBlueMidGrid" TargetType="Grid"> + <Setter Property="Background" Value="#3bc1d3" /> + </Style> + <Style x:Key="RingBlueMidStackPanel" TargetType="StackPanel"> + <Setter Property="Background" Value="#3bc1d3" /> + </Style> + <Style x:Key="TextStyle1" TargetType="TextBlock"> + <Setter Property="FontSize" Value="20" /> + <Setter Property="Foreground" Value="Black" /> + </Style> + <Style x:Key="TextStyle2" TargetType="TextBlock"> + <Setter Property="FontSize" Value="20" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextStyle3" TargetType="TextBlock"> + <Setter Property="FontSize" Value="15" /> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextStyle_MiniNotification" TargetType="TextBlock"> + <Setter Property="FontSize" Value="8" /> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextStyle4" TargetType="TextBlock"> + <Setter Property="FontSize" Value="12" /> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="Black" /> + </Style> + <Style x:Key="TextStyle5" TargetType="TextBlock"> + <Setter Property="FontSize" Value="15" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="SemiLight" /> + <Setter Property="Foreground" Value="Black" /> + </Style> + <Style x:Key="TextStyle6" TargetType="TextBlock"> + <Setter Property="FontSize" Value="12" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="Black" /> + </Style> + <Style x:Key="TextStyle7" TargetType="TextBlock"> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextSegoeStyle1" TargetType="TextBlock"> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="15" /> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextSegoeStyle-20pt-black" TargetType="TextBlock"> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="20" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="Black" /> + </Style> + <Style x:Key="TextSegoeStyle-24pt-black" TargetType="TextBlock"> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="24" /> + <Setter Property="HorizontalAlignment" Value="Left" /> + <Setter Property="VerticalAlignment" Value="Bottom" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="Margin" Value="0,0,10,0" /> + </Style> + <Style x:Key="TextSegoeStyle-Centered-40pt-white" TargetType="TextBlock"> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="40" /> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="White" /> + </Style> + <Style x:Key="TextSegoeStyle-20pt-green" TargetType="TextBlock"> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="Green" /> + <Setter Property="FontSize" Value="20" /> + </Style> + <Style x:Key="TextSegoeStyle-20pt-red" TargetType="TextBlock"> + <Setter Property="HorizontalAlignment" Value="Center" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="VerticalAlignment" Value="Center" /> + <Setter Property="Foreground" Value="Red" /> + <Setter Property="FontSize" Value="20" /> + </Style> + <Style x:Key="ButtonStyle1" TargetType="Button"> + <Setter Property="Width" Value="50" /> + <Setter Property="Height" Value="50" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="HamburgerButtonStyle" TargetType="Button"> + <Setter Property="Width" Value="50" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle2" TargetType="Button"> + <Setter Property="Width" Value="200" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle3" TargetType="Button"> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Width" Value="80" /> + <Setter Property="Width" Value="120" /> + <Setter Property="FontSize" Value="70" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle4" TargetType="Button"> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle5" TargetType="Button"> + <Setter Property="Width" Value="160" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="AccountMenuButtonStyle" TargetType="Button"> + <Setter Property="Width" Value="107" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle6" TargetType="Button"> + <Setter Property="Width" Value="320" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="ButtonStyle7" TargetType="Button"> + <Setter Property="Width" Value="20" /> + <Setter Property="Height" Value="20" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + + <Style x:Key="ButtonStyle8" TargetType="Button"> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="FontSize" Value="30" /> + </Style> + <Style x:Key="ToggleButtonStyle1" TargetType="ToggleButton"> + <Setter Property="Width" Value="46" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="smartGridButtonStyle" TargetType="Button"> + <Setter Property="Width" Value="46" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + </Style> + <Style x:Key="TextBoxStyle2" TargetType="TextBox"> + <Setter Property="IsReadOnly" Value="True" /> + <Setter Property="FontWeight" Value="Bold" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderBrush" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontSize" Value="12" /> </Style> - <!-- console --> - <Style x:Key="ConsoleScrollViewerStyle" - TargetType="ScrollViewer"> - <Setter Property="Background" - Value="Black"/> - </Style> - <Style x:Key="ConsoleTextStyle1" - TargetType="RichTextBlock"> - <Setter Property="FontSize" - Value="12"/> - <Setter Property="Foreground" - Value="GreenYellow"/> - </Style> - <Style x:Key="ButtonSendCmdStyle" - TargetType="Button"> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="Width" - Value="50"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="Foreground" - Value="Black"/> - <Setter Property="FontSize" - Value="17"/> - <Setter Property="Content" - Value=""/> - <Setter Property="Background" - Value="Transparent"/> - </Style> - <Style x:Key="ConsoleTextBoxStyle" - TargetType="TextBox"> - <Setter Property="Height" - Value="30"/> + <!-- console --> + <Style x:Key="ConsoleScrollViewerStyle" TargetType="ScrollViewer"> + <Setter Property="Background" Value="Black" /> + </Style> + <Style x:Key="ConsoleTextStyle1" TargetType="RichTextBlock"> + <Setter Property="FontSize" Value="12" /> + <Setter Property="Foreground" Value="GreenYellow" /> + </Style> + <Style x:Key="ButtonSendCmdStyle" TargetType="Button"> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="Width" Value="50" /> + <Setter Property="Height" Value="30" /> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="FontSize" Value="17" /> + <Setter Property="Content" Value="" /> + <Setter Property="Background" Value="Transparent" /> + </Style> + <Style x:Key="ConsoleTextBoxStyle" TargetType="TextBox"> + <Setter Property="Height" Value="30" /> </Style> - <!-- smartlist --> - <!--<Style x:Key="smartListStyle" TargetType="ListBox"> - <Setter Property="Background" Value="#FFE4F1F9"/> - <Setter Property="" Value="#FFE4F1F9"/> - </Style>--> + <!-- smartlist --> <Style x:Key="contactsListBoxStyle" TargetType="ListBoxItem"> - <Setter Property="MinWidth" Value="{StaticResource SplitViewCompactPaneThemeLength}"/> - <Setter Property="Height" Value="auto"/> - <Setter Property="Padding" Value="0"/> + <Setter Property="MinWidth" Value="{StaticResource SplitViewCompactPaneThemeLength}" /> + <Setter Property="Height" Value="auto" /> + <Setter Property="Padding" Value="0" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="TabNavigation" Value="Local" /> + <Setter Property="HorizontalContentAlignment" Value="Left" /> + <Setter Property="UseSystemFocusVisuals" Value="True" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="ListBoxItem"> + <Grid x:Name="LayoutRoot" + Background="{TemplateBinding Background}" + BorderThickness="{TemplateBinding BorderThickness}"> + <Grid.Resources> + <Style x:Key="BaseContentPresenterStyle" TargetType="ContentPresenter"> + <Setter Property="FontFamily" Value="XamlAutoFontFamily" /> + <Setter Property="FontWeight" Value="SemiBold" /> + <Setter Property="FontSize" Value="15" /> + <Setter Property="TextWrapping" Value="Wrap" /> + <Setter Property="LineStackingStrategy" Value="MaxHeight" /> + <Setter Property="TextLineBounds" Value="Full" /> + <Setter Property="OpticalMarginAlignment" Value="TrimSideBearings" /> + </Style> + <Style x:Key="BodyContentPresenterStyle" + BasedOn="{StaticResource BaseContentPresenterStyle}" + TargetType="ContentPresenter"> + <Setter Property="FontWeight" Value="Normal" /> + <Setter Property="FontSize" Value="15" /> + </Style> + </Grid.Resources> + <Rectangle x:Name="PressedBackground" + Control.IsTemplateFocusTarget="True" + Fill="Transparent" /> + <ContentPresenter x:Name="ContentPresenter" + Margin="{TemplateBinding Padding}" + HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" + Style="{StaticResource BodyContentPresenterStyle}" + TextWrapping="NoWrap" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight1Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.15"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.15" Value="0" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight1Brush}" /> + </ObjectAnimationUsingKeyFrames> + <DoubleAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" + Storyboard.TargetProperty="Opacity" + Duration="0:0:0.15"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="0" /> + <LinearDoubleKeyFrame KeyTime="0:0:0.15" Value="1" /> + </DoubleAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Selected"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="SelectedUnfocused"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="SelectedPointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="SelectedPressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PressedBackground" Storyboard.TargetProperty="Fill"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource RingBlueHighLight2Brush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="bannedContactListBoxStyle" TargetType="ListBoxItem"> + <Setter Property="Background" Value="{ThemeResource RingBlueLightBrush}" /> + <Setter Property="MinWidth" Value="{StaticResource SplitViewCompactPaneThemeLength}" /> + <Setter Property="Height" Value="auto" /> + <Setter Property="Padding" Value="0" /> + <Setter Property="Margin" Value="0,0,0,10" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="ListBoxItem"> + <Border Background="Transparent"> + <ContentPresenter /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="SelectionStates"> + <VisualState x:Name="Selected" /> + <VisualState x:Name="Unselected" /> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="otherdeviceListBoxStyle" TargetType="ListBoxItem"> + <Setter Property="Margin" Value="0,0,0,10" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="ListBoxItem"> + <Border Background="AliceBlue"> + <ContentPresenter /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="SelectionStates"> + <VisualState x:Name="Selected" /> + <VisualState x:Name="Unselected" /> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> </Style> - <Style x:Key ="greenRoundedButtonStyle1" TargetType ="Button"> - <Setter Property="Height" Value="50"/> - <Setter Property="FontSize" Value="30"/> + <Style x:Key="greenRoundedButtonStyle1" TargetType="Button"> + <Setter Property="Height" Value="50" /> + <Setter Property="FontSize" Value="30" /> - <Setter Property ="Template"> + <Setter Property="Template"> <Setter.Value> - <ControlTemplate TargetType ="Button"> + <ControlTemplate TargetType="Button"> <Grid> - <Ellipse Name ="OuterRing" Width ="50" Height ="50" Fill ="LightGreen"/> - <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> + <Ellipse Name="OuterRing" + Width="50" + Height="50" + Fill="LightGreen" /> + <ContentPresenter HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="White" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> - <Style x:Key ="redRoundedButtonStyle1" TargetType ="Button"> - <Setter Property ="Foreground" Value ="Black"/> - <Setter Property ="FontWeight" Value ="Bold"/> - <Setter Property ="Template"> + <Style x:Key="redRoundedButtonStyle1" TargetType="Button"> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="FontWeight" Value="Bold" /> + <Setter Property="Template"> <Setter.Value> - <ControlTemplate TargetType ="Button"> + <ControlTemplate TargetType="Button"> <Grid> - <Ellipse Name ="OuterRing" Width ="50" Height ="50" Fill ="LightCoral"/> - <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> + <Ellipse Name="OuterRing" + Width="50" + Height="50" + Fill="LightCoral" /> + <ContentPresenter HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="White" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> - <Style x:Key="BorderStyle1" - TargetType="Border"> - <Setter Property="Background" Value="#3bc1d3"/> - <Setter Property="CornerRadius" Value="6"/> - <Setter Property="Width" Value="25"/> - <Setter Property="Height" Value="23"/> - <Setter Property="Padding" Value="4"/> - </Style> - <Style x:Key="BorderStyle2" - TargetType="Border"> - <Setter Property="Background" Value="OrangeRed"/> - <Setter Property="CornerRadius" Value="6"/> - <Setter Property="Width" Value="25"/> - <Setter Property="Height" Value="23"/> - <Setter Property="Padding" Value="4"/> - </Style> - <Style x:Key="BorderStyle3" - TargetType="Border"> - <Setter Property="Background" Value="#3bc1d3"/> - <Setter Property="CornerRadius" Value="6"/> - <Setter Property="Width" Value="28"/> - <Setter Property="Height" Value="50"/> - <Setter Property="BorderThickness" Value="2"/> - <Setter Property="BorderBrush" Value="white"/> - <Setter Property="Padding" Value="4"/> - </Style> - <Style x:Key="BorderStyle_MiniNotification" - TargetType="Border"> - <Setter Property="Background" Value="OrangeRed"/> - <Setter Property="CornerRadius" Value="3"/> - <Setter Property="Width" Value="12"/> - <Setter Property="Height" Value="12"/> - <Setter Property="Padding" Value="2"/> - </Style> - <Style x:Key="messageBubleStyle" - TargetType="ListBoxItem"> + <Style x:Key="BorderStyle1" TargetType="Border"> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="CornerRadius" Value="6" /> + <Setter Property="Width" Value="25" /> + <Setter Property="Height" Value="23" /> + <Setter Property="Padding" Value="4" /> + </Style> + <Style x:Key="BorderStyle2" TargetType="Border"> + <Setter Property="Background" Value="OrangeRed" /> + <Setter Property="CornerRadius" Value="6" /> + <Setter Property="Width" Value="25" /> + <Setter Property="Height" Value="23" /> + <Setter Property="Padding" Value="4" /> + </Style> + <Style x:Key="BorderStyle3" TargetType="Border"> + <Setter Property="Background" Value="#3bc1d3" /> + <Setter Property="CornerRadius" Value="3" /> + <Setter Property="Width" Value="28" /> + <Setter Property="Height" Value="50" /> + <Setter Property="BorderThickness" Value="2" /> + <Setter Property="BorderBrush" Value="white" /> + <Setter Property="Padding" Value="1,0" /> + </Style> + <Style x:Key="BorderStyle_MiniNotification" TargetType="Border"> + <Setter Property="Background" Value="OrangeRed" /> + <Setter Property="CornerRadius" Value="3" /> + <Setter Property="Width" Value="12" /> + <Setter Property="Height" Value="12" /> + <Setter Property="Padding" Value="2" /> + </Style> + <Style x:Key="messageBubbleStyle" TargetType="ListBoxItem"> <Setter Property="HorizontalAlignment" Value="Stretch" /> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> - <Setter Property="Margin" Value="0,0,2,0"/> + <Setter Property="Margin" Value="0,0,2,0" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <Border Background="Transparent"> + <ContentPresenter /> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="SelectionStates"> <VisualState x:Name="Selected" /> - <VisualState x:Name="Unselected"> - </VisualState> + <VisualState x:Name="Unselected" /> </VisualStateGroup> </VisualStateManager.VisualStateGroups> - <ContentPresenter /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> - <!-- rounded button for call --> - <Style x:Key ="roundButtonTemplate" TargetType ="Button"> - <Setter Property ="Foreground" Value ="Black"/> - <Setter Property ="FontWeight" Value ="Bold"/> - <Setter Property ="Template"> + + <!-- rounded button for call --> + <Style x:Key="roundButtonTemplate" TargetType="Button"> + <Setter Property="Foreground" Value="Black" /> + <Setter Property="FontWeight" Value="Bold" /> + <Setter Property="Template"> <Setter.Value> - <ControlTemplate TargetType ="Button"> + <ControlTemplate TargetType="Button"> <Grid> - <Ellipse Name ="OuterRing" Width ="30" Height ="30" Fill ="#004c60"/> - <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> + <Ellipse Name="OuterRing" + Width="30" + Height="30" + Fill="#004c60" /> + <ContentPresenter HorizontalAlignment="Center" + VerticalAlignment="Center" + Foreground="White" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> - <Style x:Key="ButtonStyleForCallBar" - TargetType="Button"> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="#004c60"/> - <Setter Property="BorderThickness" - Value="0"/> + <Style x:Key="ButtonStyleForCallBar" TargetType="Button"> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="#004c60" /> + <Setter Property="BorderThickness" Value="0" /> </Style> <Style x:Key="ToggleButtonStyle2" TargetType="ToggleButton"> - <Setter Property="Width" - Value="40"/> - <Setter Property="Height" - Value="30"/> - <Setter Property="FontFamily" - Value="Segoe MDL2 Assets"/> - <Setter Property="FontSize" - Value="15"/> - <Setter Property="Foreground" - Value="White"/> - <Setter Property="Background" - Value="Transparent"/> - <Setter Property="BorderThickness" - Value="0"/> + <Setter Property="Width" Value="37" /> + <Setter Property="Height" Value="30" /> + <Setter Property="FontFamily" Value="Segoe MDL2 Assets" /> + <Setter Property="FontSize" Value="15" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="Background" Value="Transparent" /> + <Setter Property="BorderThickness" Value="0" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ToggleButton"> <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> + <ContentPresenter x:Name="ContentPresenter" + Padding="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" /> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"> <Storyboard> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="PointerOver"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="Disabled"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Checked"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Black"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="CheckedPointerOver"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Black"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="CheckedPressed"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Black"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="CheckedDisabled"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#e4f1f9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Black"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Indeterminate"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="IndeterminatePointerOver"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="IndeterminatePressed"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> - <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="IndeterminateDisabled"> <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid"> - <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="#abdaf9" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="White"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> - <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> -</ResourceDictionary> +</ResourceDictionary> \ No newline at end of file diff --git a/TextBlockExtension.cpp b/TextBlockExtension.cpp new file mode 100644 index 0000000..a17d7c4 --- /dev/null +++ b/TextBlockExtension.cpp @@ -0,0 +1,192 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + +#include "pch.h" +#include "TextBlockExtension.h" +#include "HttpUtils.h" + +using namespace RingClientUWP; +using namespace UserAndCustomControls; + +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Controls::Primitives; +using namespace Windows::UI::Xaml::Data; +using namespace Windows::UI::Xaml::Input; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Media::Imaging; +using namespace Windows::UI::Xaml::Navigation; +using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml::Documents; +using namespace Windows::UI::Core; + +TextBlockExtension::TextBlockExtension() +{} + +void +embeddedLoadCompleted(Object^ sender, NavigationEventArgs^ e) +{ + RingD::instance->raiseMessageDataLoaded(); +} + +void +imageLoadCompleted(Object^ sender, RoutedEventArgs^ e) +{ + RingD::instance->raiseMessageDataLoaded(); +} + +void +appendUrlToParagraph(Uri^ uri, Run^ run, Paragraph^ paragraph, bool& frameAdded, String^ str) +{ + Hyperlink^ link = ref new Hyperlink(); + link->NavigateUri = uri; + link->Foreground = ref new Windows::UI::Xaml::Media::SolidColorBrush(Windows::UI::Colors::DarkBlue); + run->Text = str; + link->Inlines->Append(run); + if (frameAdded) { + paragraph->Inlines->Append(ref new LineBreak()); + frameAdded = false; + } + paragraph->Inlines->Append(link); +} + +DependencyProperty^ TextBlockExtension::FormattedTextProperty = +DependencyProperty::Register("FormattedText", String::typeid, TextBlockExtension::typeid, + ref new PropertyMetadata(nullptr, + ref new PropertyChangedCallback([](DependencyObject^ sender, DependencyPropertyChangedEventArgs^ e) +{ + auto text = Utils::toString(static_cast<String^>(e->NewValue)); + auto rtextBlock = static_cast<RichTextBlock^>(sender); + rtextBlock->Blocks->Clear(); + auto paragraph = ref new Paragraph(); + if (paragraph != nullptr) { + static auto regex_opts = std::regex_constants::icase; + const static std::regex abs_url_regex("((((https?):\/\/))[^\ ]+)", regex_opts); + const static std::regex url_regex("((((https?):\/\/)|www)[^\ ]+)", regex_opts); + const static std::regex youtube_regex("(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)([^\=]+)=([^\ ]+)", regex_opts); + const static std::regex image_regex("[^\ ]+\.(gif|jpg|jpeg|png)", regex_opts); + const static std::regex word_regex("([^\ ]+)", regex_opts); + + // emojis + const static std::regex emoji_smile("(^|\s):-?\\)(?!\S)|:smile", regex_opts); + const static std::regex emoji_wink("(^|\s);-?\\)(?!\S)|:wink", regex_opts); + const static std::regex emoji_grin("(^|\s):-?D(?!\S)|:grin", regex_opts); + const static std::regex emoji_meh("(^|\s):-?\\)(?!\S)|:meh", regex_opts); + const static std::regex emoji_sad("(^|\s):-?\\((?!\S)|:sad", regex_opts); + const static std::regex emoji_crazy("(^|\s);-?P(?!\S)", regex_opts); + const static std::regex emoji_tongue("(^|\s):-?P(?!\S)", regex_opts); + const static std::regex emoji_hmm("(^|\s):-?\\/(?!\S)"); + const static std::regex emoji_rofl(":rofl", regex_opts); + const static std::regex emoji_heart("(^|\s)<3(?!\S)|:heart", regex_opts); + + std::sregex_iterator next(text.begin(), text.end(), word_regex); + std::sregex_iterator end; + unsigned elementCount = 0; + bool frameAdded = false; + while (next != end) { + Run^ run = ref new Run(); + Run^ postSpace = ref new Run(); + postSpace->Text = " "; + std::smatch match = *next; + auto str = Utils::toPlatformString(match.str()); + if (std::regex_match(match.str(), url_regex)) { + // it's a url so make it absolute if it's not already + if (!std::regex_match(match.str(), abs_url_regex)) + str = "http://" + str; + auto uri = ref new Uri(str); + + // youtube embed + std::smatch groups; + std::string sub(match.str()); + if (std::regex_search(sub, groups, youtube_regex)) { + if (Utils::hasInternet()) { + WebView^ webview = ref new WebView(); + webview->Width = 372; + webview->Height = 208; + auto videoId = Utils::toPlatformString(groups[5].str()); + String^ bodyStr = "<style>iframe,html,body{border:0px;margin:0px;padding:0px;overflow-y:hidden;}</style>"; + auto iframeStr = "<iframe width='372' height='210' src='https://www.youtube.com/embed/" + + videoId + "' frameborder='0'></iframe>"; + webview->Margin = Windows::UI::Xaml::Thickness(2.0, 6.0, 4.0, 4.0); + webview->NavigateToString(bodyStr + iframeStr); + webview->LoadCompleted += ref new LoadCompletedEventHandler(&embeddedLoadCompleted); + InlineUIContainer^ iuc = ref new InlineUIContainer(); + iuc->Child = webview; + if (elementCount > 0) + paragraph->Inlines->Append(ref new LineBreak()); + paragraph->Inlines->Append(iuc); + frameAdded = true; + } + else { + appendUrlToParagraph(uri, run, paragraph, frameAdded, str); + } + } + // image + else if (std::regex_match(match.str(), image_regex)) { + if (Utils::hasInternet()) { + Image^ image = ref new Image(); + image->Source = ref new BitmapImage(uri); + image->MaxWidth = 300; + image->Margin = Windows::UI::Xaml::Thickness(2.0, 6.0, 4.0, 4.0); + image->Loaded += ref new RoutedEventHandler(&imageLoadCompleted); + InlineUIContainer^ iuc = ref new InlineUIContainer(); + iuc->Child = image; + if (elementCount > 0) + paragraph->Inlines->Append(ref new LineBreak()); + paragraph->Inlines->Append(iuc); + frameAdded = true; + } + else { + appendUrlToParagraph(uri, run, paragraph, frameAdded, str); + } + } + else { + appendUrlToParagraph(uri, run, paragraph, frameAdded, str); + } + } + // text chunk + else { + // convert text emoji representations to unicode + auto ansiEmojiString = std::regex_replace(match.str(), emoji_smile, "🙂"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_wink, "😉"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_grin, "ðŸ˜"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_meh, "ðŸ˜"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_sad, "☹"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_crazy, "😜"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_tongue, "😛"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_hmm, "🤔"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_rofl, "🤣"); + ansiEmojiString = std::regex_replace(ansiEmojiString, emoji_heart, "â¤"); + run->Text = Utils::toPlatformString(ansiEmojiString); + if (frameAdded) { + paragraph->Inlines->Append(ref new LineBreak()); + frameAdded = false; + } + paragraph->Inlines->Append(run); + } + // add space after everything + paragraph->Inlines->Append(postSpace); + elementCount++; + next++; + } + rtextBlock->Blocks->Append(paragraph); + } +}))); \ No newline at end of file diff --git a/TextBlockExtension.h b/TextBlockExtension.h new file mode 100644 index 0000000..aa6fc0c --- /dev/null +++ b/TextBlockExtension.h @@ -0,0 +1,54 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ +#pragma once + +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml::Documents; +using namespace Platform; + +#include "pch.h" +#include <regex> + +namespace RingClientUWP +{ + +namespace UserAndCustomControls { + +public ref class TextBlockExtension sealed : public Control +{ +private: + static DependencyProperty^ FormattedTextProperty; + +public: + TextBlockExtension::TextBlockExtension(); + + static String^ GetFormattedText(DependencyObject^ obj) { + return (String^)obj->GetValue(FormattedTextProperty); + }; + static void SetFormattedText(DependencyObject^ obj, String^ value) { + obj->SetValue(FormattedTextProperty, value); + } + +}; + +} +} \ No newline at end of file diff --git a/UserModel.cpp b/UserModel.cpp index b17caee..b95e468 100644 --- a/UserModel.cpp +++ b/UserModel.cpp @@ -7,7 +7,7 @@ using namespace RingClientUWP; void UserModel::getUserData() { - create_task(User::FindAllAsync()) + /*create_task(User::FindAllAsync()) .then([=](IVectorView<User^>^ users) { for (size_t index = 0; index < users->Size; index++) { auto user = users->GetAt(index); @@ -24,5 +24,5 @@ UserModel::getUserData() }); } } - }); + });*/ } \ No newline at end of file diff --git a/UserPreferences.cpp b/UserPreferences.cpp index fbf8ac1..9b46559 100644 --- a/UserPreferences.cpp +++ b/UserPreferences.cpp @@ -18,12 +18,17 @@ **************************************************************************/ #include "pch.h" -#include "base64.h" +#include <direct.h> + +#include "lodepng.h" using namespace Windows::Data::Json; using namespace Windows::Storage; using namespace Windows::UI::Core; using namespace Windows::ApplicationModel::Core; +using namespace Windows::Media::Capture; +using namespace Windows::Media::MediaProperties; +using namespace Windows::UI::Xaml::Media::Imaging; using namespace RingClientUWP; using namespace Platform; @@ -31,6 +36,8 @@ using namespace Configuration; UserPreferences::UserPreferences() { + loaded_ = false; + profileImageLoaded = false; vCard_ = ref new VCardUtils::VCard(nullptr, nullptr); PREF_PROFILE_HASPHOTO = false; PREF_PROFILE_UID = stoull(Utils::genID(0LL, 9999999999999LL)); @@ -48,29 +55,37 @@ UserPreferences::save() file << Utils::toString(Stringify()); file.close(); } + saveProfileToVCard(); } void UserPreferences::load() { - StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; - String^ preferencesFile = localfolder->Path + "\\preferences.json"; - - String^ fileContents = Utils::toPlatformString(Utils::getStringFromFile(Utils::toString(preferencesFile))); - - CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, - ref new DispatchedHandler([=]() { - if (fileContents != nullptr) { - Destringify(fileContents); - saveProfileToVCard(); - selectIndex(PREF_ACCOUNT_INDEX); - if (PREF_PROFILE_HASPHOTO) - loadProfileImage(); - } - else - selectIndex(0); - })); + if (!loaded_) { + MSG_("loading client preferences..."); + StorageFolder^ localfolder = ApplicationData::Current->LocalFolder; + String^ preferencesFile = localfolder->Path + "\\preferences.json"; + + String^ fileContents = Utils::toPlatformString(Utils::getStringFromFile(Utils::toString(preferencesFile))); + + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, + ref new DispatchedHandler([=]() { + if (fileContents != nullptr) { + Destringify(fileContents); + auto index = PREF_ACCOUNT_INDEX; + if (PREF_ACCOUNT_ID != nullptr) + index = ViewModel::AccountListItemsViewModel::instance->getIndex(PREF_ACCOUNT_ID); + selectIndex(index); + if (PREF_PROFILE_HASPHOTO && !profileImageLoaded) + loadProfileImage(); + } + else { + selectIndex(0); + } + loaded_ = true; + })); + } } String^ @@ -79,6 +94,7 @@ UserPreferences::Stringify() JsonObject^ preferencesObject = ref new JsonObject(); preferencesObject->SetNamedValue("PREF_ACCOUNT_INDEX", JsonValue::CreateNumberValue( PREF_ACCOUNT_INDEX )); + preferencesObject->SetNamedValue("PREF_ACCOUNT_ID", JsonValue::CreateStringValue( PREF_ACCOUNT_ID)); preferencesObject->SetNamedValue("PREF_PROFILE_HASPHOTO", JsonValue::CreateBooleanValue( PREF_PROFILE_HASPHOTO)); preferencesObject->SetNamedValue("PREF_PROFILE_UID", JsonValue::CreateNumberValue(static_cast<double>(PREF_PROFILE_UID))); @@ -90,9 +106,15 @@ UserPreferences::Destringify(String^ data) { JsonObject^ jsonObject = JsonObject::Parse(data); - PREF_ACCOUNT_INDEX = static_cast<int>(jsonObject->GetNamedNumber("PREF_ACCOUNT_INDEX" )); - PREF_PROFILE_HASPHOTO = jsonObject->GetNamedBoolean( "PREF_PROFILE_HASPHOTO" ); - PREF_PROFILE_UID = static_cast<uint64_t>(jsonObject->GetNamedNumber( "PREF_PROFILE_UID" )); + PREF_ACCOUNT_ID = ""; + PREF_ACCOUNT_INDEX = 0; + + if (jsonObject->HasKey("PREF_ACCOUNT_ID")) + PREF_ACCOUNT_ID = jsonObject->GetNamedString("PREF_ACCOUNT_ID"); + if (jsonObject->HasKey("PREF_ACCOUNT_INDEX")) + PREF_ACCOUNT_INDEX = static_cast<int>(jsonObject->GetNamedNumber("PREF_ACCOUNT_INDEX")); + PREF_PROFILE_HASPHOTO = jsonObject->GetNamedBoolean("PREF_PROFILE_HASPHOTO"); + PREF_PROFILE_UID = static_cast<uint64_t>(jsonObject->GetNamedNumber( "PREF_PROFILE_UID")); JsonArray^ preferencesList = jsonObject->GetNamedArray("Account.index", ref new JsonArray()); } @@ -103,6 +125,12 @@ UserPreferences::getVCard() return vCard_; } +void +UserPreferences::raiseSelectIndex(int index) +{ + selectIndex(index); +} + void UserPreferences::saveProfileToVCard() { @@ -114,7 +142,7 @@ UserPreferences::saveProfileToVCard() auto buffer = std::vector<uint8_t>(std::istreambuf_iterator<uint8_t>(stream), eos); auto accountListItem = ViewModel::AccountListItemsViewModel::instance->_selectedItem; vcfData[VCardUtils::Property::FN] = accountListItem ? Utils::toString(accountListItem->_account->name_) : "Unknown"; - vcfData[VCardUtils::Property::PHOTO] = ring::base64::encode( buffer ); + vcfData[VCardUtils::Property::PHOTO] = Utils::base64::encode( buffer ); vCard_->setData(vcfData); vCard_->saveToFile(); } @@ -124,4 +152,52 @@ UserPreferences::sendVCard(std::string callID) { vCard_->send(callID, (RingD::instance->getLocalFolder() + "\\.vcards\\" + std::to_string(PREF_PROFILE_UID) + ".vcard").c_str()); +} + +task<BitmapImage^> +Configuration::getProfileImageAsync() +{ + CameraCaptureUI^ cameraCaptureUI = ref new CameraCaptureUI(); + cameraCaptureUI->PhotoSettings->Format = CameraCaptureUIPhotoFormat::Png; + cameraCaptureUI->PhotoSettings->CroppedSizeInPixels = Size(100, 100); + + return create_task(cameraCaptureUI->CaptureFileAsync(CameraCaptureUIMode::Photo)) + .then([](StorageFile^ photoFile) + { + auto bitmapImage = ref new Windows::UI::Xaml::Media::Imaging::BitmapImage(); + if (photoFile != nullptr) { + auto path = photoFile->Path; + auto uri = ref new Windows::Foundation::Uri(path); + bitmapImage->UriSource = uri; + + std::string fileName = Utils::toString(photoFile->Path); + std::string fileBuffer = Utils::getStringFromFile(fileName); + + // re-encode to remove windows meta-data + std::vector<uint8_t> image; + unsigned width, height; + unsigned err = lodepng::decode(image, width, height, fileName); + if (!err) { + lodepng::encode(fileName, image, width, height); + } + + std::string profilePath = RingD::instance->getLocalFolder() + ".profile"; + _mkdir(profilePath.c_str()); + std::ofstream file((profilePath + "\\profile_image.png"), + std::ios::out | std::ios::trunc | std::ios::binary); + if (file.is_open()) { + file << fileBuffer; + file.close(); + } + + Configuration::UserPreferences::instance->saveProfileToVCard(); + Configuration::UserPreferences::instance->PREF_PROFILE_HASPHOTO = true; + Configuration::UserPreferences::instance->save(); + } + else { + bitmapImage = nullptr; + } + + return bitmapImage; + }); } \ No newline at end of file diff --git a/UserPreferences.h b/UserPreferences.h index fe24b44..5f76441 100644 --- a/UserPreferences.h +++ b/UserPreferences.h @@ -46,10 +46,13 @@ public: /* properties */ property int PREF_ACCOUNT_INDEX; + property String^ PREF_ACCOUNT_ID; property uint64_t PREF_PROFILE_UID; property bool PREF_PROFILE_HASPHOTO; property String^ PREF_PROFILE_FN; + property bool profileImageLoaded; + /* functions */ void save(); void load(); @@ -58,6 +61,8 @@ public: VCardUtils::VCard^ getVCard(); void saveProfileToVCard(); + void raiseSelectIndex(int index); + internal: void sendVCard(std::string callID); @@ -66,10 +71,12 @@ internal: event LoadProfileImage^ loadProfileImage; private: + bool loaded_; VCardUtils::VCard^ vCard_; UserPreferences(); - }; +task<Windows::UI::Xaml::Media::Imaging::BitmapImage^> getProfileImageAsync(); +//void getProfileImageAsync(); } } \ No newline at end of file diff --git a/Utils.h b/Utils.h index 4f163f8..cce7f73 100644 --- a/Utils.h +++ b/Utils.h @@ -20,6 +20,11 @@ #include <pch.h> #include <random> +#include <type_traits> +#include <functional> + +#undef max +#undef min using namespace Platform; using namespace Platform::Collections; @@ -27,24 +32,123 @@ using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; using namespace Windows::Storage; using namespace Windows::System; - -typedef Windows::UI::Xaml::Visibility VIS; +using namespace Windows::Globalization::DateTimeFormatting; +using namespace Windows::UI::Core; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Media::Imaging; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Controls::Primitives; +using namespace Windows::Networking::Connectivity; +using namespace Windows::System::Threading; +using namespace Windows::Security::Cryptography; +using namespace Windows::Security::Cryptography::Core; +using namespace Windows::Storage::Streams; + +using VIS = Windows::UI::Xaml::Visibility; +static const uint64_t TICKS_PER_SECOND = 10000000; +static const uint64_t EPOCH_DIFFERENCE = 11644473600LL; namespace RingClientUWP { namespace Utils { -inline int -fileExists(const std::string& name) + +namespace detail { - std::ifstream f(name.c_str()); - return f.good(); + +#include <stdint.h> +#include <stdlib.h> + +/* Mainly based on the following stackoverflow question: +* http://stackoverflow.com/questions/342409/how-do-i-base64-encode-decode-in-c +*/ +static const char encoding_table[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', + 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', + 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', + 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', + '3', '4', '5', '6', '7', '8', '9', '+', '/' +}; + +static const size_t mod_table[] = { 0, 2, 1 }; + +char *base64_encode(const uint8_t *input, size_t input_length, + char *output, size_t *output_length) +{ + size_t i, j; + size_t out_sz = *output_length; + *output_length = 4 * ((input_length + 2) / 3); + if (out_sz < *output_length || output == NULL) + return NULL; + + for (i = 0, j = 0; i < input_length; ) { + uint8_t octet_a = i < input_length ? input[i++] : 0; + uint8_t octet_b = i < input_length ? input[i++] : 0; + uint8_t octet_c = i < input_length ? input[i++] : 0; + + uint32_t triple = (octet_a << 0x10) + (octet_b << 0x08) + octet_c; + + output[j++] = encoding_table[(triple >> 3 * 6) & 0x3F]; + output[j++] = encoding_table[(triple >> 2 * 6) & 0x3F]; + output[j++] = encoding_table[(triple >> 1 * 6) & 0x3F]; + output[j++] = encoding_table[(triple >> 0 * 6) & 0x3F]; + } + + for (i = 0; i < mod_table[input_length % 3]; i++) + output[*output_length - 1 - i] = '='; + + return output; } -inline int -fileDelete(const std::string& file) +uint8_t *base64_decode(const char *input, size_t input_length, + uint8_t *output, size_t *output_length) { - return std::remove(file.c_str()); + size_t i, j; + uint8_t decoding_table[256]; + + uint8_t c; + for (c = 0; c < 64; c++) + decoding_table[static_cast<int>(encoding_table[c])] = c; + + if (input_length % 4 != 0) + return NULL; + + size_t out_sz = *output_length; + *output_length = input_length / 4 * 3; + if (input[input_length - 1] == '=') + (*output_length)--; + if (input[input_length - 2] == '=') + (*output_length)--; + + if (out_sz < *output_length || output == NULL) + return NULL; + + for (i = 0, j = 0; i < input_length;) { + uint8_t sextet_a = input[i] == '=' ? 0 & i++ + : decoding_table[static_cast<int>(input[i++])]; + uint8_t sextet_b = input[i] == '=' ? 0 & i++ + : decoding_table[static_cast<int>(input[i++])]; + uint8_t sextet_c = input[i] == '=' ? 0 & i++ + : decoding_table[static_cast<int>(input[i++])]; + uint8_t sextet_d = input[i] == '=' ? 0 & i++ + : decoding_table[static_cast<int>(input[i++])]; + + uint32_t triple = (sextet_a << 3 * 6) + + (sextet_b << 2 * 6) + + (sextet_c << 1 * 6) + + (sextet_d << 0 * 6); + + if (j < *output_length) + output[j++] = (triple >> 2 * 8) & 0xFF; + if (j < *output_length) + output[j++] = (triple >> 1 * 8) & 0xFF; + if (j < *output_length) + output[j++] = (triple >> 0 * 8) & 0xFF; + } + + return output; } inline std::string @@ -76,23 +180,77 @@ makeWString(const std::string& str) return std::wstring(); } - return std::wstring(wide.get());; + return std::wstring(wide.get()); +} + +} /*namespace detail*/ + +template<typename E> +constexpr inline typename std::enable_if< std::is_enum<E>::value, + typename std::underlying_type<E>::type + >::type +toUnderlyingValue(E e) noexcept +{ + return static_cast<typename std::underlying_type<E>::type >( e ); +} + +template<typename E, typename T> +constexpr inline typename std::enable_if< std::is_enum<E>::value && + std::is_integral<T>::value, E + >::type +toEnum(T value) noexcept +{ + return static_cast<E>(value); +} + +std::string +fileNameOnly(const std::string& path) +{ + return path.substr(path.find_last_of("\\") + 1); +} + +inline int +fileExists(const std::string& name) +{ + std::ifstream f(name.c_str()); + return f.good(); +} + +inline int +fileDelete(const std::string& file) +{ + return std::remove(file.c_str()); } inline std::string toString(Platform::String ^str) { std::wstring wsstr(str->Data()); - return makeString(wsstr); + return detail::makeString(wsstr); } inline Platform::String^ toPlatformString(const std::string& str) { - std::wstring wsstr = makeWString(str); + std::wstring wsstr = detail::makeWString(str); return ref new Platform::String(wsstr.c_str(), wsstr.length()); } +std::string +getData(::Windows::Storage::Streams::IBuffer^ buf) +{ + auto reader = ::Windows::Storage::Streams::DataReader::FromBuffer(buf); + + std::vector<unsigned char> data(reader->UnconsumedBufferLength); + + if (!data.empty()) + reader->ReadBytes( + ::Platform::ArrayReference<unsigned char>( + &data[0], data.size())); + + return std::string(data.begin(), data.end()); +} + Platform::String^ Trim(Platform::String^ s) { @@ -172,11 +330,22 @@ TrimCmd(Platform::String^ s) while (first != last && last[0] != '\ ') --last; - //last--; - return ref new Platform::String(first, sizeof(last)); } +String^ +getUpperInitial(String^ str) +{ + if (str != nullptr || str != "") { + std::wstring s(str->Data()); + auto it = str->Begin(); + wchar_t ch[] = L" "; + ch[0] = towupper(it[0]); + return ref new String(ch); + } + return "?"; +} + Platform::String^ TrimParameter(Platform::String^ s) { @@ -256,11 +425,11 @@ findIn(std::vector<T> vec, T val) } std::string -genID(long long lower, long long upper) +genID(uint64_t lower, uint64_t upper) { std::random_device r; std::mt19937 gen(r()); - std::uniform_int_distribution<long long> idgen {lower, upper}; + std::uniform_int_distribution<uint64_t> idgen {lower, upper}; uint16_t digits = 0; if (upper < 0LL) @@ -278,6 +447,22 @@ genID(long long lower, long long upper) return o.str(); } +bool +hasInternet() +{ + auto connectionProfile = NetworkInformation::GetInternetConnectionProfile(); + return (connectionProfile != nullptr && + connectionProfile->GetNetworkConnectivityLevel() == NetworkConnectivityLevel::InternetAccess); +} + +std::string +getHostName() +{ + auto hostNames = NetworkInformation::GetHostNames(); + auto hostName = hostNames != nullptr ? toString(hostNames->GetAt(0)->DisplayName) : ""; + return hostName; +} + Windows::UI::Color ColorFromString(String^ s) { @@ -288,5 +473,241 @@ ColorFromString(String^ s) return Windows::UI::ColorHelper::FromArgb(255, 0, 0, 0); } +// 21 XBOX/Web ready colors +// https://docs.microsoft.com/en-us/windows/uwp/style/color +auto colorStrings = ref new Vector<String^>({ + "#ffEB8C10", + "#ffED5588", + "#ff1073D6", + "#ff148282", + "#ff107C10", + "#ff4C4A4B", + "#ff00CC6A", + "#ffBF1077", + "#ff193E91", + "#ff54A81B", + "#ff737373", + "#ff7E715C", + "#ff6B69D6", + "#ffB144C0", + "#ff1081CA", + "#ff547A72", + "#ff677488", + "#ff724F2F", + "#ffA21025", + "#ff744DA9", + "#ff108272" +}); + +String^ +computeMD5(String^ strMsg) +{ + String^ strAlgName = HashAlgorithmNames::Md5; + IBuffer^ buffUtf8Msg = CryptographicBuffer::ConvertStringToBinary(strMsg, BinaryStringEncoding::Utf8); + HashAlgorithmProvider^ algProv = HashAlgorithmProvider::OpenAlgorithm(strAlgName); + IBuffer^ buffHash = algProv->HashData(buffUtf8Msg); + String^ hex = CryptographicBuffer::EncodeToHexString(buffHash); + return hex; +} + +unsigned +mapToRange(unsigned value, unsigned from_low, unsigned from_high, unsigned to_low, unsigned to_high) +{ + unsigned from_range = from_high - from_low; + unsigned to_range = to_high - to_low; + auto factor = static_cast<double>(to_range) / static_cast<double>(from_range); + return static_cast<unsigned>(factor * static_cast<double>(value)); +} + +unsigned +hashToRange(std::string hash, unsigned to_low, unsigned to_high) +{ + unsigned x; + std::stringstream ss; + ss << std::hex << hash.substr(0, 2); + ss >> x; + return mapToRange(static_cast<unsigned>(x), 0, 255, to_low, to_high); +} + +unsigned int +generateRandomNumberInRange(uint32_t min, uint32_t max) +{ + auto rnd = static_cast<float>(CryptographicBuffer::GenerateRandomNumber()); + auto normalized = rnd / std::numeric_limits<unsigned int>::max(); + auto amp = static_cast<float>(max - min); + return static_cast<unsigned int>(min + normalized * amp); +} + +String^ +getRandomColorString() +{ + auto index = generateRandomNumberInRange(0, 21); + return colorStrings->GetAt(index); +} + +String^ +getRandomColorStringFromString(String^ str) +{ + auto index = hashToRange(toString(computeMD5(str)), 0, 21); + return colorStrings->GetAt(index); +} + +SolidColorBrush^ +solidColorBrushFromString(String^ colorString) +{ + return ref new SolidColorBrush(ColorFromString(colorString)); +} + +template <typename... Args> +void +runOnWorkerThread( std::function<void()> const& f, + WorkItemPriority priority = WorkItemPriority::Normal) +{ + ThreadPool::RunAsync(ref new WorkItemHandler([=](IAsyncAction^ spAction) + { + f(); + }, Platform::CallbackContext::Any), priority); +} + +template <typename... Args> +void +runOnUIThread( std::function<void()> const& f, + CoreDispatcherPriority priority = CoreDispatcherPriority::High) +{ + CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(priority, + ref new DispatchedHandler([=]() + { + f(); + })); +} + +template <typename... Args> +void +runOnUIThreadDelayed(int delayInMilliSeconds, std::function<void()> const& f) +{ + // duration is measured in 100-nanosecond units + TimeSpan delay; + delay.Duration = 10000 * delayInMilliSeconds; + ThreadPoolTimer^ delayTimer = ThreadPoolTimer::CreateTimer( + ref new TimerElapsedHandler([=](ThreadPoolTimer^ source) + { + runOnUIThread(f); + }), delay); +} + +namespace time +{ + +String^ computedShortDateTimeString; +Windows::Globalization::Calendar^ calendar = ref new Windows::Globalization::Calendar(); +DateTimeFormatter^ shortdateTimeFormatter = ref new DateTimeFormatter("shortdate"); +DateTimeFormatter^ dayofweekTimeFormatter = ref new DateTimeFormatter("dayofweek"); +DateTimeFormatter^ hourminuteTimeFormatter = ref new DateTimeFormatter("hour minute"); + +DateTime +epochToDateTime(std::time_t epochTime) +{ + Windows::Foundation::DateTime dateTime; + dateTime.UniversalTime = (epochTime + EPOCH_DIFFERENCE) * TICKS_PER_SECOND; + return dateTime; +} + +DateTime +currentDateTime() +{ + return calendar->GetDateTime(); +} + +std::time_t +currentTimestamp() +{ + return std::time(nullptr); +} + +String^ +dateTimeToString(DateTime dateTime, String^ format) +{ + if (format == "shortdate" ) + return shortdateTimeFormatter->Format(dateTime); + else if (format == "dayofweek") + return dayofweekTimeFormatter->Format(dateTime); + else if (format == "hour minute") + return hourminuteTimeFormatter->Format(dateTime); + return nullptr; +} + +std::time_t +dateTimeToEpoch(DateTime dateTime) +{ + return static_cast<std::time_t>(dateTime.UniversalTime / TICKS_PER_SECOND - EPOCH_DIFFERENCE); +} + +} + +namespace xaml +{ + +Windows::UI::Xaml::FrameworkElement^ +FindVisualChildByName(DependencyObject^ obj, String^ name) +{ + FrameworkElement^ ret; + int numChildren = VisualTreeHelper::GetChildrenCount(obj); + for (int i = 0; i < numChildren; i++) + { + auto objChild = VisualTreeHelper::GetChild(obj, i); + auto child = safe_cast<FrameworkElement^>(objChild); + if (child != nullptr && child->Name == name) + { + return child; + } + + ret = FindVisualChildByName(objChild, name); + if (ret != nullptr) + break; + } + return ret; +} + +} /*namespace xaml*/ + +namespace base64 +{ + +std::string +encode(const std::vector<uint8_t>::const_iterator begin, + const std::vector<uint8_t>::const_iterator end) +{ + size_t output_length = 4 * ((std::distance(begin, end) + 2) / 3); + std::string out; + out.resize(output_length); + detail::base64_encode(&(*begin), std::distance(begin, end), + &(*out.begin()), &output_length); + out.resize(output_length); + return out; +} + +std::string +encode(const std::vector<uint8_t>& dat) +{ + return encode(dat.cbegin(), dat.cend()); +} + +std::vector<uint8_t> +decode(const std::string& str) +{ + size_t output_length = str.length() / 4 * 3 + 2; + std::vector<uint8_t> output; + output.resize(output_length); + detail::base64_decode(str.data(), str.size(), output.data(), &output_length); + output.resize(output_length); + return output; +} + +} /*namespace base64*/ + } /*namespace Utils*/ + +String^ SuccessColor = "#FF00CC6A"; +String^ ErrorColor = "#FFFF4343"; + } /*namespace RingClientUWP*/ \ No newline at end of file diff --git a/VCardUtils.cpp b/VCardUtils.cpp index a944cbd..68999c3 100644 --- a/VCardUtils.cpp +++ b/VCardUtils.cpp @@ -18,10 +18,10 @@ **************************************************************************/ #include <pch.h> -#include "base64.h" - #include <direct.h> +#include "lodepng.h" + using namespace RingClientUWP; using namespace ViewModel; using namespace VCardUtils; @@ -38,6 +38,27 @@ getBetweenTokens( const std::string& str, return str.substr(start, length); } +std::map<std::string, std::string> +VCardUtils::parseContactRequestPayload(const std::string& payload) +{ + std::map<std::string, std::string> map; + + std::stringstream _payload(payload); + std::string _line; + + while (std::getline(_payload, _line)) { + auto msgPos = _line.find(Symbols::END_TOKEN); + if (msgPos != std::string::npos) { + if (std::getline(_payload, _line)) + map["MESSAGE"].append(_line); + break; + } + map["VCARD"].append(_line).append("\n"); + } + + return map; +} + VCard::VCard(Contact^ owner, String^ accountId) : m_Owner(owner), m_accountId(Utils::toString(accountId)) {} @@ -46,99 +67,114 @@ int VCard::receiveChunk(const std::string& args, const std::string& payload) { MSG_("receive VCARD chunk"); + static int partsReceived = 0; + static std::vector<std::string> parts; int32_t _id = stoi( getBetweenTokens(args, Symbols::ID_TOKEN, Symbols::PART_TOKEN) ); uint32_t _part = stoi( getBetweenTokens(args, Symbols::PART_TOKEN, Symbols::OF_TOKEN) ); uint32_t _of = stoi( getBetweenTokens(args, Symbols::OF_TOKEN) ); - std::stringstream _payload(payload); - std::string _line; + if (parts.empty()) + parts.resize(_of); - if (_part == 1) { + if (parts[_part - 1].empty()) { + parts[_part - 1].assign(payload); + partsReceived++; - m_mParts.clear(); - - bool foundUID = false; - while (std::getline(_payload, _line)) { - if (_line.find("UID:") != std::string::npos) { - foundUID = true; - break; + if (partsReceived == _of) { + m_data.clear(); + for (const auto& part : parts) { + m_data.append(part); } - } - if (foundUID) - m_mParts[Property::UID] = _line.substr(4); - else - m_mParts[Property::UID] = Utils::genID(0LL, 9999999999999LL); - - bool fnFound = false; - while (std::getline(_payload, _line)) { - if (_line.find("FN:") != std::string::npos) { - fnFound = true; - break; - } - } - if (fnFound) - m_mParts[Property::FN] = _line.substr(3); - - while (std::getline(_payload, _line)) { - if (_line.find("PHOTO;") != std::string::npos) - break; - } - // because android client builds vcard differently (TYPE=PNG: vs PNG:) - size_t pos = _line.find("PNG:"); - if (pos == std::string::npos) { - pos = _line.find("JPEG:"); - if (pos != std::string::npos) - m_mParts[Property::PHOTO].append(_line.substr(pos + 5)); - } - else - m_mParts[Property::PHOTO].append(_line.substr(pos + 4)); + partsReceived = 0; + parts.clear(); - if (_of == 1) { completeReception(); MSG_("VCARD_COMPLETE"); return VCARD_COMPLETE; } - return VCARD_INCOMPLETE; } - else { - if (_part == _of) { - std::getline(_payload, _line); - m_mParts[Property::PHOTO].append(_line); - - bool fnFound = false; - while (std::getline(_payload, _line)) { - if (_line.find("FN:") != std::string::npos) { - fnFound = true; - break; - } - } - if (fnFound) - m_mParts[Property::FN] = _line.substr(3); - completeReception(); - MSG_("VCARD_COMPLETE"); - return VCARD_COMPLETE; + return VCARD_INCOMPLETE; +} + +int +VCard::parseFromString() +{ + std::stringstream _data(m_data); + std::string _line; + + // save hash of old photo + auto md5_0 = Utils::computeMD5(Utils::toPlatformString(m_mParts[Property::PHOTO])); + + m_mParts.clear(); + + bool foundUID = false; + while (std::getline(_data, _line)) { + if (_line.find("UID:") != std::string::npos) { + foundUID = true; + break; } - else { - m_mParts[Property::PHOTO].append(payload); - return VCARD_INCOMPLETE; + } + if (foundUID) + m_mParts[Property::UID] = _line.substr(4); + else + m_mParts[Property::UID] = Utils::genID(0LL, 9999999999999LL); + + bool foundFN = false; + while (std::getline(_data, _line)) { + if (_line.find("FN:") != std::string::npos) { + foundFN = true; + break; } } - return VCARD_CHUNK_ERROR; + if (foundFN) + m_mParts[Property::FN] = _line.substr(3); + + while (std::getline(_data, _line)) { + if (_line.find("PHOTO;") != std::string::npos) + break; + } + + // because android client builds vcard differently (TYPE=PNG: vs PNG:) + size_t pos = _line.find("PNG:"); + if (pos == std::string::npos) { + pos = _line.find("JPEG:"); + if (pos != std::string::npos) + m_mParts[Property::PHOTO].append(_line.substr(pos + 5)); + } + else + m_mParts[Property::PHOTO].append(_line.substr(pos + 4)); + + // avoid updating an unchanged photo + auto md5_1 = Utils::computeMD5(Utils::toPlatformString(m_mParts[Property::PHOTO])); + if (md5_0 == md5_1) { + MSG_("Duplicate Vcard PHOTO received"); + return 0; + } + + return 1; } void VCard::completeReception() { - saveToFile(); - decodeBase64ToPNGFile(); + if (parseFromString()) { + saveToFile(); + decodeBase64ToPNGFile(); + } + else { + return; + } + if (!m_mParts[Property::FN].empty()) m_Owner->_displayName = Utils::toPlatformString(m_mParts[Property::FN]); m_Owner->_vcardUID = Utils::toPlatformString(m_mParts[Property::UID]); if (auto contactListModel = AccountsViewModel::instance->getContactListModel(m_accountId)) contactListModel->saveContactsToFile(); + RingD::instance->raiseVCardUpdated(m_Owner); + SmartPanelItemsViewModel::instance->update({ "_avatarImage" }); } void @@ -213,7 +249,16 @@ VCard::decodeBase64ToPNGFile() if (padding) m_mParts[Property::PHOTO].append(padding, 0); - std::vector<uint8_t> decodedData = ring::base64::decode(m_mParts[Property::PHOTO]); + std::vector<uint8_t> decodedData = Utils::base64::decode(m_mParts[Property::PHOTO]); + + std::vector<uint8_t> image; + unsigned width, height; + unsigned err = lodepng::decode(image, width, height, decodedData); + if (err) { + MSG_("decoded PNG data corrupt - aborting save to file"); + return; + } + std::string vcardDir(RingD::instance->getLocalFolder() + ".vcards\\"); std::string pngFile(m_mParts[Property::UID] + ".png"); MSG_("Saving PNG (" + m_mParts[Property::UID] + ") to " + pngFile + "..."); @@ -223,6 +268,7 @@ VCard::decodeBase64ToPNGFile() for (auto i : decodedData) file << i; file.close(); + //RingClientUWP::ResourceMananger::instance->preloadImage(Utils::toPlatformString(vcardDir + pngFile)); m_Owner->_avatarImage = Utils::toPlatformString(vcardDir + pngFile); MSG_("Done decoding and saving VCard Photo to PNG"); } @@ -238,7 +284,7 @@ VCard::encodePNGToBase64() if (file.is_open()) { auto eos = std::istreambuf_iterator<uint8_t>(); auto data = std::vector<uint8_t>(std::istreambuf_iterator<uint8_t>(file), eos); - m_mParts[Property::PHOTO] = ring::base64::encode(data); + m_mParts[Property::PHOTO] = Utils::base64::encode(data); file.close(); MSG_("Done encoding PNG to b64"); } @@ -267,3 +313,15 @@ VCard::setData(std::map<std::string, std::string> data) { m_mParts = data; } + +void +VCard::setData(const std::string& data) +{ + m_data = data; +} + +std::string +VCard::getPart(const std::string& part) +{ + return m_mParts.at(part); +} \ No newline at end of file diff --git a/VCardUtils.h b/VCardUtils.h index 647429b..105f523 100644 --- a/VCardUtils.h +++ b/VCardUtils.h @@ -44,7 +44,7 @@ struct Symbols { constexpr static const char* SEPERATOR1 = ";"; constexpr static const char* SEPERATOR2 = ":"; constexpr static const char* PHOTO_ENC = "ENDCODING=BASE64"; - constexpr static const char* PHOTO_TYPE = "TYPE=JPEG"; + constexpr static const char* PHOTO_TYPE = "TYPE=PNG"; }; struct Property { @@ -65,19 +65,25 @@ internal: void sendChunk(std::string callID, std::map<std::string, std::string> chunk); void send(std::string callID, const char* file = nullptr); std::string asString(); + std::string getPart(const std::string& part); int saveToFile(); void decodeBase64ToPNGFile(); void encodePNGToBase64(); void completeReception(); + int parseFromString(); void setData(std::map<std::string, std::string> data); + void setData(const std::string& data); private: - std::map<std::string, std::string> m_mParts { }; + std::string m_data; + std::map<std::string, std::string> m_mParts; Contact^ m_Owner; int m_type; std::string m_accountId; }; +std::map<std::string, std::string> parseContactRequestPayload(const std::string& payload); + } } \ No newline at end of file diff --git a/VideoCaptureManager.cpp b/VideoCaptureManager.cpp index 583c43c..c560c3f 100644 --- a/VideoCaptureManager.cpp +++ b/VideoCaptureManager.cpp @@ -60,7 +60,7 @@ VideoCaptureManager::VideoCaptureManager(): }) { deviceList = ref new Vector<Device^>(); - InitializeCopyFrameDispatcher(60); + InitializeCopyFrameDispatcher(120); captureTaskTokenSource = new cancellation_token_source(); } @@ -145,7 +145,7 @@ VideoCaptureManager::StartPreviewAsync(bool isSettingsPreview) MSG_("StartPreviewAsync DONE"); } catch (Exception ^e) { - WriteException(e); + EXC_(e); } }); } @@ -170,7 +170,7 @@ VideoCaptureManager::StopPreviewAsync() MSG_("StopPreviewAsync DONE"); } catch (Exception ^e) { - WriteException(e); + EXC_(e); } }); } @@ -206,7 +206,7 @@ VideoCaptureManager::InitializeCameraAsync(bool isSettingsPreview) return StartPreviewAsync(isSettingsPreview); } catch (Exception ^e) { - WriteException(e); + EXC_(e); return concurrency::task_from_result(); } }); @@ -245,13 +245,13 @@ VideoCaptureManager::EnumerateWebcamsAsync() } catch (Exception^ e) { ERR_("One doesn't simply start Ring daemon..."); - WriteException(e); + EXC_(e); } }); } } catch (Platform::Exception^ e) { - WriteException(e); + EXC_(e); } }); } @@ -379,7 +379,7 @@ VideoCaptureManager::AddVideoDeviceAsync(uint8_t index) DRing::addVideoDevice(Utils::toString(device->name()), &devInfo); } catch (Platform::Exception^ e) { - WriteException(e); + EXC_(e); } }); } @@ -400,7 +400,7 @@ VideoCaptureManager::InitializeCopyFrameDispatcher(unsigned frameRate) isRendering = false; } catch (Exception^ e) { - MSG_(e->ToString()); + EXC_(e); } } @@ -415,7 +415,7 @@ VideoCaptureManager::CopyFrame(Object^ sender, Object^ e) copyTask.get(); } catch (Exception^ e) { - WriteException(e); + EXC_(e); isRendering = false; StopPreviewAsync(); videoFrameCopyInvoker->Stop(); @@ -434,9 +434,10 @@ VideoCaptureManager::CopyFrameAsync() unsigned int videoFrameWidth = activeDevice->currentResolution()->width(); unsigned int videoFrameHeight = activeDevice->currentResolution()->height(); - auto allprops = mediaCapture->VideoDeviceController->GetAvailableMediaStreamProperties(MediaStreamType::VideoPreview); + /* auto allprops = mediaCapture->VideoDeviceController->GetAvailableMediaStreamProperties(MediaStreamType::VideoPreview); MediaProperties::VideoEncodingProperties^ vidprops = static_cast<VideoEncodingProperties^>(allprops->GetAt(0)); String^ format = vidprops->Subtype; + MSG_(format);*/ auto videoFrame = ref new VideoFrame(BitmapPixelFormat::Bgra8, videoFrameWidth, videoFrameHeight); @@ -475,7 +476,7 @@ VideoCaptureManager::CopyFrameAsync() } catch (Exception^ e) { - WriteException(e); + EXC_(e); throw ref new Exception(e->HResult, e->Message); } }).then([=](task<void> renderCaptureToBufferTask) { @@ -484,12 +485,12 @@ VideoCaptureManager::CopyFrameAsync() isRendering = false; } catch (Platform::Exception^ e) { - WriteException(e); + EXC_(e); } }); } catch(Exception^ e) { - WriteException(e); + EXC_(e); throw ref new Exception(e->HResult, e->Message); } } @@ -521,7 +522,8 @@ VideoCaptureManager::SetCaptureSettings() MSG_("SetCaptureSettings DONE"); } catch (Exception^ e) { - WriteException(e); + EXC_(e); + } }); } \ No newline at end of file diff --git a/VideoPage.xaml b/VideoPage.xaml index 8b7afdb..c86658c 100644 --- a/VideoPage.xaml +++ b/VideoPage.xaml @@ -15,73 +15,160 @@ * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/> . * -*********************************************************************** --> -<Page - x:Class="RingClientUWP.Views.VideoPage" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP" - xmlns:views="using:RingClientUWP.Views" - xmlns:ctl="using:RingClientUWP.Controls" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" - NavigationCacheMode="Enabled"> +***********************************************************************--> +<Page x:Class="RingClientUWP.Views.VideoPage" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:ctl="using:RingClientUWP.Controls" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="using:RingClientUWP" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:uc="using:RingClientUWP.UserAndCustomControls" + xmlns:views="using:RingClientUWP.Views" + NavigationCacheMode="Enabled" + mc:Ignorable="d"> <Page.Resources> - <SolidColorBrush x:Key="SemiTransparentBlack" Color="#808080" Opacity="0.5"/> - <Storyboard x:Name="myStoryboard"> + <SolidColorBrush x:Key="SemiTransparentBlack" + Opacity="0.5" + Color="#808080" /> + <Storyboard x:Name="fadeVideoControlsStoryboard"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="_controlsBar_" - Storyboard.TargetProperty="Opacity" - Duration="0:0:4"> - <LinearDoubleKeyFrame Value="1" KeyTime="0:0:0" /> - <LinearDoubleKeyFrame Value="1" KeyTime="0:0:2" /> - <LinearDoubleKeyFrame Value="0" KeyTime="0:0:4" /> + Storyboard.TargetProperty="Opacity" + Duration="0:0:4"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:2" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:4" Value="0" /> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="_headerBar_" - Storyboard.TargetProperty="Opacity" - Duration="0:0:4"> - <LinearDoubleKeyFrame Value="1" KeyTime="0:0:0" /> - <LinearDoubleKeyFrame Value="1" KeyTime="0:0:2" /> - <LinearDoubleKeyFrame Value="0" KeyTime="0:0:4" /> + Storyboard.TargetProperty="Opacity" + Duration="0:0:4"> + <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:2" Value="1" /> + <LinearDoubleKeyFrame KeyTime="0:0:4" Value="0" /> </DoubleAnimationUsingKeyFrames> </Storyboard> - <!-- bubble --> - <views:BubbleBackground x:Key="_bubbleBackground_" /> - <views:BubbleHorizontalAlignement x:Key="_bubbleHorizontalAlignement_" /> - <DataTemplate x:Key="ConversationMessageTemplate" - x:DataType="local:ConversationMessage"> - <Grid Margin="6,0,12,0" - HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}" > - <Grid.ColumnDefinitions> - <ColumnDefinition Width="2*" /> - <ColumnDefinition Width="8*" /> - </Grid.ColumnDefinitions> - <Border Background="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" - CornerRadius="10" - Grid.Column="1" - Width="auto" - Height="auto" - Padding="5" - Margin="5" > - <ContentPresenter> - <!--Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."--> - <TextBlock x:Name="_msgContent_" - TextWrapping="Wrap" - IsTextSelectionEnabled="True" - Text="{x:Bind Payload}" - Foreground="White"/> - </ContentPresenter> - </Border> + + <DataTemplate x:Key="ConversationMessageTemplate" x:DataType="local:ConversationMessage"> + <Grid Margin="12,0,20,0" HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}"> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToHeight_}, Mode=OneWay}" /> + </Grid.RowDefinitions> + <!-- avatar, message spikes, and message body --> + <Grid Grid.Row="0"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="40" /> + <ColumnDefinition Width="10" /> + <ColumnDefinition Width="2*" /> + <ColumnDefinition Width="8*" /> + </Grid.ColumnDefinitions> + <!-- avatar --> + <Grid Grid.Column="0" + Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Ellipse Width="36" + Height="36" + Canvas.ZIndex="1" + Margin="0,2,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Top" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactAvatar_" ImageSource="{x:Bind MessageAvatar, Mode=OneWay}" /> + </Ellipse.Fill> + </Ellipse> + <Grid Width="36" + Height="36" + Canvas.ZIndex="0" + Margin="0,2,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Top" + Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Grid Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Ellipse x:Name="_defaultAvatar_" Fill="{x:Bind MessageAvatarColorBrush, Mode=OneWay}" /> + <TextBlock HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="21" + Foreground="White" + Text="{x:Bind MessageAvatarInitial, Mode=OneWay}" + TextAlignment="Center" /> + </Grid> + </Grid> + </Grid> + <!-- left spike --> + <Grid Grid.Column="1" Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Polygon Name="_chatLeftBubbleSpike_" + Fill="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + Points="10,0,0,5,10,10" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <Polygon.RenderTransform> + <TranslateTransform X="8" Y="15" /> + </Polygon.RenderTransform> + </Polygon> + </Grid> + <!-- message --> + <Border Grid.Column="3" + Width="auto" + Height="auto" + Margin="5" + Padding="10,6,10,6" + Background="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + CornerRadius="10"> + <ContentPresenter> + <RichTextBlock x:Name="_msgContent_" + uc:TextBlockExtension.FormattedText="{x:Bind Payload}" + Foreground="#ff303030" + IsTextSelectionEnabled="True" + TextWrapping="Wrap"> + <Paragraph /> + </RichTextBlock> + </ContentPresenter> + </Border> + <!-- right spike --> + <Grid Grid.Column="3" Visibility="{x:Bind MessageIndex, Converter={StaticResource _MessageChainBreakToVisibility_}, ConverterParameter=First}"> + <Polygon Name="_chatRightBubbleSpike_" + HorizontalAlignment="Right" + Fill="{x:Bind FromContact, Converter={StaticResource _bubbleBackground_}}" + Points="0,0,10,5,0,10" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}"> + <Polygon.RenderTransform> + <TranslateTransform X="3" Y="15" /> + </Polygon.RenderTransform> + </Polygon> + </Grid> + </Grid> + <!-- message info --> + <Grid Grid.Row="1"> + <StackPanel x:Name="_messageInfo_" + Margin="10,0,10,0" + HorizontalAlignment="{x:Bind FromContact, Converter={StaticResource _bubbleHorizontalAlignement_}}" + Orientation="Horizontal"> + <TextBlock x:Name="_messageTimeFrom_" + FontSize="10" + Foreground="Gray" + Text="{x:Bind MessageIndex, Converter={StaticResource _MessageDateTimeString_}}" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}}"> + <TextBlock.RenderTransform> + <TranslateTransform X="50" /> + </TextBlock.RenderTransform> + </TextBlock> + <TextBlock x:Name="_messageTimeTo_" + FontSize="10" + Foreground="Gray" + Text="{x:Bind MessageIndex, Converter={StaticResource _MessageDateTimeString_}}" + Visibility="{x:Bind FromContact, Converter={StaticResource _boolToVisibility_}, ConverterParameter=Inverted}" /> + </StackPanel> + </Grid> </Grid> </DataTemplate> - <!-- barre d'envoi de message --> - <Style TargetType="TextBox"> + + <Style x:Key="MessageSendBox" TargetType="TextBox"> <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> <Setter Property="Foreground" Value="Black" /> - <Setter Property="Background" Value="white" /> + <Setter Property="Background" Value="White" /> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto" /> @@ -89,7 +176,7 @@ <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> - <Setter Property="Padding" Value="4,4"/> + <Setter Property="Padding" Value="4,0,8,4" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TextBox"> @@ -102,43 +189,70 @@ <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> - <Border x:Name="BackgroundElement" - Grid.Row="1" - Background="{TemplateBinding Background}" - Margin="0" - Opacity="1" + <Border Grid.Row="1" + x:Name="BackgroundElement" + Grid.RowSpan="1" Grid.ColumnSpan="2" - BorderBrush="#3bc1d3" + Margin="0" + Background="{TemplateBinding Background}" + BorderBrush="{StaticResource RingBlueMidBrush}" BorderThickness="0" - Grid.RowSpan="1"/> - <ScrollViewer x:Name="ContentElement" - Grid.Row="1" - HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" - HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" - VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" - VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" - IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" - IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" - IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + Opacity="1" /> + <ContentPresenter Grid.Row="0" + x:Name="HeaderContentPresenter" + Grid.ColumnSpan="2" + Margin="0,0,0,0" + Padding="2,4,2,2" + x:DeferLoadStrategy="Lazy" + Content="{TemplateBinding Header}" + ContentTemplate="{TemplateBinding HeaderTemplate}" + FontWeight="Normal" + Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" + Visibility="Collapsed" /> + <ScrollViewer Grid.Row="1" + x:Name="ContentElement" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" - IsTabStop="False" + VerticalAlignment="Center" AutomationProperties.AccessibilityView="Raw" + HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" + HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" + IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" + IsTabStop="False" + IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" + VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" + VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="Disabled" /> - <Button x:Name="_sendBtn_" + <Button Grid.Row="1" + Grid.Column="1" + x:Name="_sendBtn_" + MinWidth="34" + Margin="8,0,0,0" + VerticalAlignment="Stretch" Background="Transparent" BorderThickness="0" - Grid.Row="1" - FontFamily="Segoe MDL2 Assets" - Foreground="#3bc1d3" - Content="" - IsTabStop="False" - Grid.Column="1" Click="_sendBtn__Click" - Visibility="Visible" - MinWidth="34" + Content="" + FontFamily="Segoe MDL2 Assets" FontSize="20" - VerticalAlignment="Stretch"/> + IsTabStop="False" + Style="{StaticResource FlatRoundSendButton}" + Visibility="Visible"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_send_message_" /> + </ToolTipService.ToolTip> + </Button> + <ContentControl Grid.Row="1" + x:Name="PlaceholderTextContentPresenter" + Grid.ColumnSpan="2" + Margin="{TemplateBinding BorderThickness}" + Padding="{TemplateBinding Padding}" + VerticalAlignment="Center" + Content="{TemplateBinding PlaceholderText}" + Foreground="Gray" + IsHitTestVisible="False" + IsTabStop="False" /> </Grid> </ControlTemplate> </Setter.Value> @@ -146,286 +260,474 @@ </Style> </Page.Resources> - <SplitView x:Name="_videoSplitView_" IsPaneOpen="False" OpenPaneLength="400" PanePlacement="Right"> - <SplitView.Pane> - <Frame x:Name="_chatPanel_"/> - </SplitView.Pane> - <SplitView.Content> - <Grid x:Name="_videoContent_"> - <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition x:Name="_rowChatBx_" Height="0"/> - </Grid.RowDefinitions> - <Grid Background="#000000" - Grid.Row="0" - PointerMoved="_videoControl__PointerMoved"> - <StackPanel x:Name="_headerBar_" - Background="{StaticResource SemiTransparentBlack}" - Canvas.ZIndex="99999" - HorizontalAlignment="Stretch" - VerticalAlignment="Top" - Height="50"> - <TextBlock x:Name="_callee_" - Text="callee" - Foreground="White" - Margin="20,10"/> - </StackPanel> - - <!-- video --> - <Image Name="_IncomingVideoImage_" - Grid.Column="0" - Canvas.ZIndex="-1" - DoubleTapped="IncomingVideoImage_DoubleTapped" - /> - <TextBlock Name="_callPaused_" - Grid.Column="0" - Text="" + <Grid x:Name="_videoContent_" SizeChanged="_videoContent__SizeChanged"> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition x:Name="_rowChatBx_" Height="0*" /> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + <ColumnDefinition x:Name="_colChatBx_" Width="0*" /> + </Grid.ColumnDefinitions> + <!-- actual video --> + <Grid Grid.Row="0" + Background="#000000" + PointerMoved="_videoControl__PointerMoved"> + <Border x:Name="_smartInfoBorder_" + MinWidth="140" + Margin="10" + Padding="20" + HorizontalAlignment="Right" + VerticalAlignment="Top" + Background="#80a0a0f0" + Canvas.ZIndex="100000" + CornerRadius="10" + IsHitTestVisible="False" + Visibility="Collapsed"> + <StackPanel Orientation="Vertical"> + <TextBlock x:Name="_si_CallId_" + Margin="0,0,0,10" + FontWeight="SemiBold" + Foreground="GreenYellow" /> + <TextBlock FontWeight="ExtraBold" + Foreground="GreenYellow" + Text="You: " /> + <Grid> + <Grid.RowDefinitions> + <RowDefinition /> + <RowDefinition /> + <RowDefinition /> + <RowDefinition /> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="120" /> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Row="0" + Grid.Column="0" + x:Uid="_si_fps_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="0" + Grid.Column="1" + x:Name="_si_fps1_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="1" + Grid.Column="0" + x:Uid="_si_videoCodec_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="1" + Grid.Column="1" + x:Name="_si_vc1_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="2" + Grid.Column="0" + x:Uid="_si_audioCodec_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="2" + Grid.Column="1" + x:Name="_si_ac1_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="3" + Grid.Column="0" + x:Uid="_si_resolution_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="3" + Grid.Column="1" + x:Name="_si_res1_" + Foreground="GreenYellow" /> + </Grid> + <TextBlock Margin="0,10,0,0" + FontWeight="ExtraBold" + Foreground="GreenYellow" + Text="Peer: " /> + <Grid> + <Grid.RowDefinitions> + <RowDefinition /> + <RowDefinition /> + <RowDefinition /> + <RowDefinition /> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="120" /> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + <TextBlock Grid.Row="0" + Grid.Column="0" + x:Uid="_si_fps_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="0" + Grid.Column="1" + x:Name="_si_fps2_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="1" + Grid.Column="0" + x:Uid="_si_videoCodec_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="1" + Grid.Column="1" + x:Name="_si_vc2_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="2" + Grid.Column="0" + x:Uid="_si_audioCodec_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="2" + Grid.Column="1" + x:Name="_si_ac2_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="3" + Grid.Column="0" + x:Uid="_si_resolution_" + Foreground="GreenYellow" /> + <TextBlock Grid.Row="3" + Grid.Column="1" + x:Name="_si_res2_" + Foreground="GreenYellow" /> + </Grid> + </StackPanel> + </Border> + <StackPanel x:Name="_headerBar_" + Height="60" + Padding="10,10,10,0" + HorizontalAlignment="Stretch" + VerticalAlignment="Top" + Background="{StaticResource SemiTransparentBlack}" + Canvas.ZIndex="99999" + IsHitTestVisible="False" + Orientation="Horizontal"> + <!-- avatar --> + <Grid> + <Grid Grid.Column="0" x:Name="_contactBarAvatarGrid_"> + <Ellipse Width="36" + Height="36" + Margin="0,2,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Top"> + <Ellipse.Fill> + <ImageBrush x:Name="_contactBarAvatar_" /> + </Ellipse.Fill> + </Ellipse> + </Grid> + <Grid Grid.Column="0" x:Name="_defaultContactBarAvatarGrid_" + Width="36" + Height="36"> + <Ellipse x:Name="_defaultAvatar_" Fill="#ff808080" /> + <TextBlock x:Name="_defaultAvatarInitial_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + FontFamily="Arial" + FontSize="21" + Foreground="White" + Text="?" + TextAlignment="Center" /> + </Grid> + </Grid> + <StackPanel Orientation="Vertical"> + <TextBlock x:Name="_contactName_" + Margin="20,0,20,0" + FontWeight="SemiBold" Foreground="White" - FontSize="200" - VerticalAlignment="Center" - HorizontalAlignment="Center" - FontFamily="Segoe MDL2 Assets" - Visibility="Collapsed" - Canvas.ZIndex="-1"/> + Text="[TEXT MISSING]" /> + <TextBlock x:Name="_callTime_" + Margin="20,0" + Foreground="WhiteSmoke"/> + </StackPanel> + </StackPanel> - <!--camera preview--> - <Canvas Name="_PreviewImageRect_" - HorizontalAlignment="Right" - VerticalAlignment="Bottom" - PointerReleased="PreviewImage_PointerReleased" - PointerCaptureLost="PreviewImage_PointerReleased"> - <Polygon Name="_PreviewImageResizer_" - Visibility="Collapsed" - Fill="#FF3BC1D3" - Points="0,0,20,0,0,20" - Canvas.ZIndex="99999" - ManipulationMode="TranslateY"/> - <CaptureElement Name="_PreviewImage_" - Visibility="Collapsed" - Stretch="Uniform" - Width="20" - Height="20" - ManipulationMode="All"/> - </Canvas> + <!-- video --> + <Image Grid.Column="0" + Name="_IncomingVideoImage_" + Canvas.ZIndex="-1" + DoubleTapped="IncomingVideoImage_DoubleTapped" /> + <TextBlock Grid.Column="0" + Name="_callPaused_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Canvas.ZIndex="-1" + FontFamily="Segoe MDL2 Assets" + FontSize="200" + Foreground="White" + Text="" + Visibility="Collapsed" /> - <StackPanel x:Name="_controlsBar_" - HorizontalAlignment="Center" - VerticalAlignment="Bottom" - Orientation="Horizontal"> - <StackPanel.Resources> - <Style TargetType="Button"> - <Setter Property="Margin" Value="10,30"/> - <Setter Property="Width" Value="40"/> - <Setter Property="Height" Value="40"/> - <Setter Property="Background" Value="Black"/> - <Setter Property="Foreground" Value="White"/> - <Setter Property="BorderBrush" Value="Gray"/> - <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}"/> - <Setter Property="Template"> - <Setter.Value> - <ControlTemplate TargetType="Button"> - <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> - <VisualStateManager.VisualStateGroups> - <VisualStateGroup x:Name="CommonStates"> - <VisualState x:Name="PointerOver"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="Gray"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="White"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="White"/> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Normal"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="Black"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="White"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="Gray"/> - </ObjectAnimationUsingKeyFrames> - <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> - </Storyboard> - </VisualState> - <VisualState x:Name="Pressed"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="White"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="Black"/> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" - Storyboard.TargetName="ContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" - Value="Gray"/> - </ObjectAnimationUsingKeyFrames> - <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/> - </Storyboard> - </VisualState> - </VisualStateGroup> - </VisualStateManager.VisualStateGroups> - <ContentPresenter x:Name="ContentPresenter" - AutomationProperties.AccessibilityView="Raw" - BorderBrush="{TemplateBinding BorderBrush}" - BorderThickness="{TemplateBinding BorderThickness}" - ContentTemplate="{TemplateBinding ContentTemplate}" - ContentTransitions="{TemplateBinding ContentTransitions}" - Content="{TemplateBinding Content}" - HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" - Padding="{TemplateBinding Padding}" - VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> - </Grid> - </ControlTemplate> - </Setter.Value> - </Setter> - </Style> - </StackPanel.Resources> + <!-- camera preview --> + <Canvas Name="_PreviewImageRect_" + HorizontalAlignment="Right" + VerticalAlignment="Bottom" + PointerCaptureLost="PreviewImage_PointerReleased" + PointerReleased="PreviewImage_PointerReleased"> + <Polygon Name="_PreviewImageResizer_" + Canvas.ZIndex="99999" + ManipulationMode="TranslateY" + PointerEntered="PreviewImageResizer_PointerEntered" + PointerExited="PreviewImageResizer_PointerExited" + PointerPressed="PreviewImageResizer_Pressed" + PointerReleased="PreviewImageResizer_PointerReleased" + Points="0,0,20,0,0,20" + Visibility="Collapsed"> + <Polygon.Fill> + <ImageBrush ImageSource="Assets/grid.png" Opacity=".9" /> + </Polygon.Fill> + </Polygon> + <CaptureElement Name="_PreviewImage_" + Width="20" + Height="20" + ManipulationMode="All" + Stretch="Uniform" + Visibility="Collapsed" /> + </Canvas> - <Button x:Name="_btnHangUp_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnHangUp__Tapped"> - <SymbolIcon Symbol="HangUp"/> - </Button> - <Button x:Name="_btnPause_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnPause__Tapped"> - <SymbolIcon Symbol="Pause"/> - </Button> - <Button x:Name="_btnChat_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnChat__Tapped"> - <SymbolIcon Symbol="Message" HorizontalAlignment="Left" Width="20"/> - </Button> - <Button x:Name="_btnAddFriend_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnAddFriend__Tapped" Visibility="Collapsed"> - <SymbolIcon Symbol="AddFriend"/> - </Button> - <Button x:Name="_btnSwitch_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnSwitch__Tapped" Visibility="Collapsed"> - <SymbolIcon Symbol="Switch"/> - </Button> - <Button x:Name="_btnMicrophone_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Click="_btnMicrophone__Click"> - <Grid> - <SymbolIcon Symbol="Microphone"/> - <TextBlock x:Name="_txbkMicrophoneMuted_" - Text="" - FontSize="16" - IsHitTestVisible="True" - Visibility="Collapsed" - Foreground="Red" - FontWeight="Bold" - FontFamily="Segoe MDL2 Assets"> - <TextBlock.RenderTransform> - <TranslateTransform X="1" Y="2"/> - </TextBlock.RenderTransform> - </TextBlock> - </Grid> - </Button> - <!--Tapped="_btnVideo__Tapped"--> - <Button x:Name="_btnVideo_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Click="_btnVideo__Click"> - <Grid> - <SymbolIcon Symbol="Video"/> - <TextBlock x:Name="_txbkVideoMuted_" - Text="" - FontSize="16" - IsHitTestVisible="True" - Visibility="Collapsed" - Foreground="Red" - FontWeight="Bold" - FontFamily="Segoe MDL2 Assets"> - <TextBlock.RenderTransform> - <TranslateTransform X="1" Y="2"/> - </TextBlock.RenderTransform> - </TextBlock> - </Grid> - </Button> - <Button x:Name="_btnMemo_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnMemo__Tapped" Visibility="Collapsed"> - <SymbolIcon Symbol="Memo"/> - </Button> - <Button x:Name="_btnHQ_" - PointerEntered="btnAny_entered" - PointerExited="btnAny_exited" - Tapped="_btnHQ__Tapped" Visibility="Collapsed"> - <TextBlock FontSize="12" Text="HQ"/> - </Button> + <StackPanel x:Name="_controlsBar_" + HorizontalAlignment="Center" + VerticalAlignment="Bottom" + Orientation="Horizontal"> + <StackPanel.Resources> + <Style TargetType="Button"> + <Setter Property="Margin" Value="10,30" /> + <Setter Property="Width" Value="40" /> + <Setter Property="Height" Value="40" /> + <Setter Property="Background" Value="Black" /> + <Setter Property="Foreground" Value="White" /> + <Setter Property="BorderBrush" Value="Gray" /> + <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> + <ContentPresenter x:Name="ContentPresenter" + Padding="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + AutomationProperties.AccessibilityView="Raw" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTransitions="{TemplateBinding ContentTransitions}" /> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Normal"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="White" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Gray" /> + </ObjectAnimationUsingKeyFrames> + <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </StackPanel.Resources> + + <Button x:Name="_btnHangUp_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnHangUp__Tapped"> + <SymbolIcon Symbol="HangUp" /> + </Button> + <Button x:Name="_btnPause_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnPause__Tapped"> + <SymbolIcon Symbol="Pause" /> + </Button> + <Button x:Name="_btnChat_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnChat__Tapped"> + <SymbolIcon Width="20" + HorizontalAlignment="Left" + Symbol="Message" /> + </Button> + <Button x:Name="_btnToggleOrientation_" + Content="" + DoubleTapped="_btnToggleOrientation__Tapped" + FontFamily="Segoe MDL2 Assets" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnToggleOrientation__Tapped" + Visibility="Visible"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_change_orientation_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_btnAddFriend_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnAddFriend__Tapped" + Visibility="Collapsed"> + <SymbolIcon Symbol="AddFriend" /> + </Button> + <Button x:Name="_btnSwitch_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnSwitch__Tapped" + Visibility="Collapsed"> + <SymbolIcon Symbol="Switch" /> + </Button> + <Button x:Name="_btnMicrophone_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnMicrophone__Click"> + <Grid> + <SymbolIcon Symbol="Microphone" /> + <TextBlock x:Name="_txbkMicrophoneMuted_" + FontFamily="Segoe MDL2 Assets" + FontSize="16" + FontWeight="Bold" + Foreground="Red" + IsHitTestVisible="True" + Text="" + Visibility="Collapsed"> + <TextBlock.RenderTransform> + <TranslateTransform X="1" Y="2" /> + </TextBlock.RenderTransform> + </TextBlock> + </Grid> + </Button> + <!-- Tapped="_btnVideo__Tapped" --> + <Button x:Name="_btnVideo_" + Click="_btnVideo__Click" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited"> + <Grid> + <SymbolIcon Symbol="Video" /> + <TextBlock x:Name="_txbkVideoMuted_" + FontFamily="Segoe MDL2 Assets" + FontSize="16" + FontWeight="Bold" + Foreground="Red" + IsHitTestVisible="True" + Text="" + Visibility="Collapsed"> + <TextBlock.RenderTransform> + <TranslateTransform X="1" Y="2" /> + </TextBlock.RenderTransform> + </TextBlock> + </Grid> + </Button> + <Button x:Name="_btnMemo_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnMemo__Tapped" + Visibility="Collapsed"> + <SymbolIcon Symbol="Memo" /> + </Button> + <Button x:Name="_btnHQ_" + PointerEntered="btnAny_entered" + PointerExited="btnAny_exited" + Tapped="_btnHQ__Tapped" + Visibility="Collapsed"> + <TextBlock FontSize="12" + Text="HQ" /> + </Button> + </StackPanel> + </Grid> + <!-- in call chat box --> + <Grid Grid.Row="1" + Grid.Column="0" + x:Name="_chatPanelGrid_"> + <Grid Background="{ThemeResource RingMessagePageBrush}"> + <Grid.RowDefinitions> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + <RowDefinition Height="auto" /> + </Grid.RowDefinitions> + <!-- resize bar --> + <Grid Grid.Row="1" + x:Name="_chatPanelResizeBarGrid_" + Width="auto" + Height="4" + HorizontalAlignment="Stretch" + VerticalAlignment="Top" + Background="Transparent" + Canvas.ZIndex="99999" + ManipulationMode="All" + Opacity=".5" + PointerEntered="_chatPanelResizeBarGrid__PointerEntered" + PointerExited="_chatPanelResizeBarGrid__PointerExited" + PointerPressed="_chatPanelResizeBarGrid__PointerPressed" + PointerReleased="_chatPanelResizeBarGrid__PointerReleased" /> + <ScrollViewer Grid.Row="1" + x:Name="_scrollView_" + BorderBrush="{StaticResource RingBlueMidBrush}" + BorderThickness="0,0,0,0" + ScrollViewer.VerticalScrollBarVisibility="Auto"> + <StackPanel> + <Rectangle Height="12" Fill="Transparent" /> + <ListBox x:Name="_messagesList_" + Margin="0" + Padding="0" + Background="{StaticResource RingMessagePageBrush}" + ItemContainerStyle="{StaticResource messageBubbleStyle}" + ItemTemplate="{StaticResource ConversationMessageTemplate}" /> + <Rectangle Height="12" Fill="Transparent" /> </StackPanel> - </Grid> - <!-- in call chat box --> - <Grid Grid.Row="1"> - <Grid Background="#FFF2F2F2"> - <Grid.RowDefinitions> - <RowDefinition Height="auto" /> - <RowDefinition Height="*"/> - <RowDefinition Height="auto" /> - </Grid.RowDefinitions> - <ScrollViewer x:Name="_scrollView_" - Grid.Row="1" - ScrollViewer.VerticalScrollBarVisibility="Auto"> - <StackPanel> - <ListBox x:Name="_messagesList_" - Margin="0" - Padding="0" - ItemContainerStyle="{StaticResource messageBubleStyle}" - ItemTemplate="{StaticResource ConversationMessageTemplate}"> - </ListBox> - </StackPanel> - </ScrollViewer> - <Grid Height="50" - Grid.Row="2" - Margin="0" - Padding="0" - Background="#FFF2F2F2"> - <TextBox x:Name="_messageTextBox_" - HorizontalAlignment="Stretch" - TextWrapping="NoWrap" - VerticalAlignment="Bottom" - Margin="8,6,8,6" - Background="White" - KeyDown="_messageTextBox__KeyDown"/> - </Grid> + </ScrollViewer> + <StackPanel Grid.Row="2" Orientation="Vertical"> + <Rectangle Grid.Row="0" + Height="1" + Margin="16,0,16,0" + Fill="LightGray" /> + <Grid MinHeight="52" + MaxHeight="112" + Margin="0" + Padding="0" + Background="{ThemeResource RingMessagePageBrush}"> + <TextBox x:Name="_messageTextBox_" + x:Uid="_messageTextBox_" + MinHeight="24" + Margin="16,0,16,0" + HorizontalAlignment="Stretch" + VerticalAlignment="Center" + AcceptsReturn="True" + Background="White" + IsSpellCheckEnabled="False" + IsTabStop="True" + ScrollViewer.VerticalScrollBarVisibility="Auto" + Style="{StaticResource MessageSendBox}" + TextChanged="_messageTextBox__TextChanged" + TextWrapping="Wrap" /> </Grid> - </Grid> + </StackPanel> </Grid> - </SplitView.Content> - </SplitView> + </Grid> + </Grid> </Page> \ No newline at end of file diff --git a/VideoPage.xaml.cpp b/VideoPage.xaml.cpp index 411d2f6..075e734 100644 --- a/VideoPage.xaml.cpp +++ b/VideoPage.xaml.cpp @@ -47,7 +47,8 @@ using namespace Windows::Graphics::Display; using namespace Windows::Graphics::Imaging; using namespace Windows::Media; using namespace Windows::UI::Xaml::Media::Imaging; -using namespace Windows::Media::Capture; +using namespace Windows::UI::Xaml::Media::Animation; +using namespace Windows::UI::Xaml::Shapes; using namespace Windows::Devices::Sensors; using namespace Windows::UI::Input; @@ -56,6 +57,8 @@ VideoPage::VideoPage() { InitializeComponent(); + barFading = true; + Page::NavigationCacheMode = Navigation::NavigationCacheMode::Required; VideoManager::instance->rendererManager()->writeVideoFrame += @@ -64,19 +67,19 @@ VideoPage::VideoPage() CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { try { - auto renderer_w = VideoManager::instance->rendererManager()->renderer(id); - if (!renderer_w) { + currentRendererWrapper = VideoManager::instance->rendererManager()->renderer(id); + if (!currentRendererWrapper) { return; } else { - renderer_w->isRendering = true; + currentRendererWrapper->isRendering = true; create_task(WriteFrameAsSoftwareBitmapAsync(id, buf, width, height)) .then([=](task<void> previousTask) { try { previousTask.get(); } catch (Platform::Exception^ e) { - MSG_( "Caught exception from WriteFrameAsSoftwareBitmapAsync task.\n" ); + EXC_(e); } }); } @@ -125,7 +128,7 @@ VideoPage::VideoPage() }); RingD::instance->windowResized += - ref new WindowResized([&]() + ref new WindowResized([=](float width, float height) { }); @@ -135,6 +138,14 @@ VideoPage::VideoPage() scrollDown(); }); + RingD::instance->vCardUpdated += ref new VCardUpdated([&](Contact^ contact) + { + Utils::runOnUIThread([this, contact]() { + SmartPanelItemsViewModel::instance->update({ "_bestName2", "_avatarImage" }); + updatePageContent(); + }); + }); + RingD::instance->stateChange += ref new StateChange([&](String^ callId, CallStatus state, int code) { @@ -147,7 +158,14 @@ VideoPage::VideoPage() _callPaused_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _IncomingVideoImage_->Visibility = Windows::UI::Xaml::Visibility::Visible; -// _PreviewImage_->Visibility = Windows::UI::Xaml::Visibility::Visible; + + callTimerUpdater->Start(); + updateCallTimer(nullptr, nullptr); + + RingD::instance->startSmartInfo(500); + videoPage_InputHandlerToken = Window::Current->CoreWindow->KeyDown += + ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(this, &VideoPage::_corewindow__KeyDown); + break; } case CallStatus::ENDED: @@ -158,7 +176,13 @@ VideoPage::VideoPage() RingD::instance->setWindowedMode(); /* "close" the chat panel */ - _rowChatBx_->Height = 0; + closeChatPanel(); + + callTimerUpdater->Stop(); + + //RingD::instance->stopSmartInfo(); + Window::Current->CoreWindow->KeyDown -= videoPage_InputHandlerToken; + _smartInfoBorder_->Visibility = VIS::Collapsed; break; } @@ -166,11 +190,14 @@ VideoPage::VideoPage() case CallStatus::PAUSED: _callPaused_->Visibility = Windows::UI::Xaml::Visibility::Visible; _IncomingVideoImage_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; -// _PreviewImage_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; break; } }); + RingD::instance->messageDataLoaded += ref new MessageDataLoaded([&]() { scrollDown(); }); + + RingD::instance->updateSmartInfo += ref new RingClientUWP::UpdateSmartInfo(this, &RingClientUWP::Views::VideoPage::OnsmartInfoUpdated); + RingD::instance->incomingMessage += ref new RingClientUWP::IncomingMessage(this, &RingClientUWP::Views::VideoPage::OnincomingMessage); RingD::instance->incomingVideoMuted += ref new RingClientUWP::IncomingVideoMuted(this, &RingClientUWP::Views::VideoPage::OnincomingVideoMuted); VideoManager::instance->captureManager()->startPreviewing += ref new RingClientUWP::StartPreviewing(this, &RingClientUWP::Views::VideoPage::OnstartPreviewing); @@ -182,22 +209,74 @@ VideoPage::VideoPage() _PreviewImage_->ManipulationDelta += ref new ManipulationDeltaEventHandler(this, &VideoPage::PreviewImage_ManipulationDelta); _PreviewImage_->ManipulationCompleted += ref new ManipulationCompletedEventHandler(this, &VideoPage::PreviewImage_ManipulationCompleted); + _PreviewImage_->ManipulationMode = + ManipulationModes::TranslateX | + ManipulationModes::TranslateY; _PreviewImageResizer_->ManipulationDelta += ref new ManipulationDeltaEventHandler(this, &VideoPage::PreviewImageResizer_ManipulationDelta); _PreviewImageResizer_->ManipulationCompleted += ref new ManipulationCompletedEventHandler(this, &VideoPage::PreviewImageResizer_ManipulationCompleted); + _PreviewImageResizer_->ManipulationMode = ManipulationModes::TranslateY; - _PreviewImage_->ManipulationMode = + _chatPanelResizeBarGrid_->ManipulationDelta += ref new ManipulationDeltaEventHandler(this, &VideoPage::_chatPanelResizeBarGrid__ManipulationDelta); + _chatPanelResizeBarGrid_->ManipulationCompleted += ref new ManipulationCompletedEventHandler(this, &VideoPage::_chatPanelResizeBarGrid__ManipulationCompleted); + _chatPanelResizeBarGrid_->ManipulationMode = ManipulationModes::TranslateX | ManipulationModes::TranslateY; - _PreviewImageResizer_->ManipulationMode = ManipulationModes::TranslateY; + TimeSpan timeSpan; + timeSpan.Duration = static_cast<long long>(1e7); + callTimerUpdater = ref new DispatcherTimer; + callTimerUpdater->Interval = timeSpan; + callTimerUpdater->Tick += ref new Windows::Foundation::EventHandler<Object^>(this, &VideoPage::updateCallTimer); + + showSmartInfo = false; +} + +void +VideoPage::OnsmartInfoUpdated(const std::map<std::string, std::string>& info) +{ + auto smartInfo = Utils::convertMap(info); + + if (auto selectedItem = SmartPanelItemsViewModel::instance->_selectedItem) + _si_CallId_->Text = "CallID: " + selectedItem->_callId; + + if (smartInfo->HasKey("local FPS")) + _si_fps1_->Text = smartInfo->Lookup("local FPS"); + if (smartInfo->HasKey("local video codec")) + _si_vc1_->Text = smartInfo->Lookup("local video codec"); + if (smartInfo->HasKey("local audio codec")) + _si_ac1_->Text = smartInfo->Lookup("local audio codec"); + + auto localResolution = VideoManager::instance->captureManager()->activeDevice->currentResolution(); + _si_res1_->Text = localResolution->getFriendlyName(); + + if (smartInfo->HasKey("remote FPS")) + _si_fps2_->Text = smartInfo->Lookup("remote FPS") ; + if (smartInfo->HasKey("remote video codec")) + _si_vc2_->Text = smartInfo->Lookup("remote video codec"); + if (smartInfo->HasKey("remote audio codec")) + _si_ac2_->Text = smartInfo->Lookup("remote audio codec"); + + if (currentRendererWrapper) { + auto remoteResolution = currentRendererWrapper->renderer->width.ToString() + + "x" + + currentRendererWrapper->renderer->height.ToString(); + _si_res2_->Text = remoteResolution; + } +} + +void +VideoPage::updateCallTimer(Object^ sender, Object^ e) +{ + if(auto item = SmartPanelItemsViewModel::instance->_selectedItem) + _callTime_->Text = item->_callTime; } void -RingClientUWP::Views::VideoPage::OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) +VideoPage::OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) { updatePageContent(); - _rowChatBx_->Height = 0; + closeChatPanel(); } void RingClientUWP::Views::VideoPage::updatePageContent() @@ -208,7 +287,21 @@ void RingClientUWP::Views::VideoPage::updatePageContent() if (!contact) return; - _callee_->Text = contact->_name; + _contactName_->Text = contact->_bestName; + + //_contactBarAvatar_->ImageSource = RingClientUWP::ResourceMananger::instance->imageFromRelativePath(contact->_avatarImage); + if (contact->_avatarImage != " ") { + auto avatarImageUri = ref new Windows::Foundation::Uri(contact->_avatarImage); + _contactBarAvatar_->ImageSource = ref new BitmapImage(avatarImageUri); + _defaultContactBarAvatarGrid_->Visibility = VIS::Collapsed; + _contactBarAvatarGrid_->Visibility = VIS::Visible; + } + else { + _defaultContactBarAvatarGrid_->Visibility = VIS::Visible; + _contactBarAvatarGrid_->Visibility = VIS::Collapsed; + _defaultAvatar_->Fill = contact->_avatarColorBrush; + _defaultAvatarInitial_->Text = Utils::getUpperInitial(contact->_bestName2); + } _messagesList_->ItemsSource = contact->_conversation->_messages; @@ -224,7 +317,7 @@ VideoPage::updatePreviewFrameDimensions() double scaleValue = 1 + userPreviewHeightModifier / _PreviewImage_->Height; - scaleValue = max(min(1.75, scaleValue), 0.5); + scaleValue = std::max(std::min(1.75, scaleValue), 0.5); userPreviewHeightModifier = _PreviewImage_->Height * (scaleValue - 1); @@ -235,23 +328,23 @@ VideoPage::updatePreviewFrameDimensions() TranslateTransform^ translate = ref new TranslateTransform(); switch (quadrant) { - case 0: + case Quadrant::SE: translate->Y = -userPreviewHeightModifier; translate->X = translate->Y * aspectRatio; break; - case 1: + case Quadrant::SW: translate->Y = -userPreviewHeightModifier; translate->X = 0; break; - case 2: + case Quadrant::NW: translate->Y = 0; translate->X = 0; break; - case 3: + case Quadrant::NE: translate->Y = 0; translate->X = -userPreviewHeightModifier * aspectRatio; break; - default: + default: break; } @@ -285,8 +378,6 @@ void RingClientUWP::Views::VideoPage::screenVideo(bool state) _PreviewImage_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _PreviewImageResizer_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } - - } void @@ -295,30 +386,23 @@ RingClientUWP::Views::VideoPage::_sendBtn__Click(Platform::Object^ sender, Windo sendMessage(); } -void -RingClientUWP::Views::VideoPage::_messageTextBox__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) -{ - if (e->Key == Windows::System::VirtualKey::Enter) { - sendMessage(); - } -} - void RingClientUWP::Views::VideoPage::sendMessage() { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - auto contact = item->_contact; + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { + auto contact = item->_contact; - auto txt = _messageTextBox_->Text; + auto txt = _messageTextBox_->Text; - /* empty the textbox */ - _messageTextBox_->Text = ""; + /* empty the textbox */ + _messageTextBox_->Text = ""; - if (!contact || txt->IsEmpty()) - return; + if (!contact || txt->IsEmpty()) + return; - RingD::instance->sendSIPTextMessage(txt); - scrollDown(); + RingD::instance->sendSIPTextMessage(txt); + scrollDown(); + } } void RingClientUWP::Views::VideoPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) @@ -328,14 +412,11 @@ void RingClientUWP::Views::VideoPage::Button_Click(Platform::Object^ sender, Win void RingClientUWP::Views::VideoPage::_btnCancel__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - } void RingClientUWP::Views::VideoPage::_btnHangUp__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) { - auto item = SmartPanelItemsViewModel::instance->_selectedItem; - - if (item) { + if (auto item = SmartPanelItemsViewModel::instance->_selectedItem) { _PreviewImage_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _PreviewImageResizer_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; RingD::instance->hangUpCall2(item->_callId); @@ -360,12 +441,11 @@ void RingClientUWP::Views::VideoPage::_btnPause__Tapped(Platform::Object^ sender void RingClientUWP::Views::VideoPage::_btnChat__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) { - if (_rowChatBx_->Height == 0) { - _rowChatBx_->Height = 200; - SmartPanelItemsViewModel::instance->_selectedItem->_contact->_unreadMessages = 0; + if (!isChatPanelOpen) { + openChatPanel(); } else { - _rowChatBx_->Height = 0; + closeChatPanel(); } } @@ -416,57 +496,60 @@ void RingClientUWP::Views::VideoPage::_btnVideo__Tapped(Platform::Object^ sender void RingClientUWP::Views::VideoPage::_videoControl__PointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { if (barFading) - myStoryboard->Begin(); - barFading_ = true; + fadeVideoControlsStoryboard->Begin(); } void RingClientUWP::Views::VideoPage::btnAny_entered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - barFading_ = false; - myStoryboard->Stop(); + barFading = false; + fadeVideoControlsStoryboard->Stop(); } void RingClientUWP::Views::VideoPage::btnAny_exited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - barFading_ = true; + barFading = true; } -task<void> -VideoPage::WriteFrameAsSoftwareBitmapAsync(String^ id, uint8_t* buf, int width, int height) +void +VideoPage::SetBuffer(uint8_t* buf, int width, int height) { - auto vframe = ref new VideoFrame(BitmapPixelFormat::Bgra8, width, height); - auto frame = vframe->SoftwareBitmap; - - const int BYTES_PER_PIXEL = 4; + videoFrame = ref new VideoFrame(BitmapPixelFormat::Bgra8, width, height); + softwareBitmap = videoFrame->SoftwareBitmap; - BitmapBuffer^ buffer = frame->LockBuffer(BitmapBufferAccessMode::ReadWrite); - IMemoryBufferReference^ reference = buffer->CreateReference(); + BitmapBuffer^ bitmapBuffer = softwareBitmap->LockBuffer(BitmapBufferAccessMode::Write); + IMemoryBufferReference^ memoryBufferReference = bitmapBuffer->CreateReference(); Microsoft::WRL::ComPtr<IMemoryBufferByteAccess> byteAccess; - if (SUCCEEDED(reinterpret_cast<IUnknown*>(reference)->QueryInterface(IID_PPV_ARGS(&byteAccess)))) + if (SUCCEEDED(reinterpret_cast<IUnknown*>(memoryBufferReference)->QueryInterface(IID_PPV_ARGS(&byteAccess)))) { byte* data; unsigned capacity; byteAccess->GetBuffer(&data, &capacity); - auto desc = buffer->GetPlaneDescription(0); std::memcpy(data, buf, static_cast<size_t>(capacity)); } - delete reference; - delete buffer; + delete memoryBufferReference; + delete bitmapBuffer; +} + + +task<void> +VideoPage::WriteFrameAsSoftwareBitmapAsync(String^ id, uint8_t* buf, int width, int height) +{ + SetBuffer(buf, width, height); VideoManager::instance->rendererManager()->renderer(id)->isRendering = false; auto sbSource = ref new Media::Imaging::SoftwareBitmapSource(); - return create_task(sbSource->SetBitmapAsync(frame)) + return create_task(sbSource->SetBitmapAsync(softwareBitmap)) .then([this, sbSource]() { try { _IncomingVideoImage_->Source = sbSource; } catch (Exception^ e) { - WriteException(e); + EXC_(e); } }); } @@ -474,9 +557,7 @@ VideoPage::WriteFrameAsSoftwareBitmapAsync(String^ id, uint8_t* buf, int width, void RingClientUWP::Views::VideoPage::OnincomingMessage(Platform::String ^callId, Platform::String ^payload) { - if (_rowChatBx_->Height == 0) - _rowChatBx_->Height = 200; - + openChatPanel(); scrollDown(); } @@ -541,14 +622,12 @@ void RingClientUWP::Views::VideoPage::OnvideoMuted(const std::string &callId, bo : Windows::UI::Xaml::Visibility::Collapsed; } - void RingClientUWP::Views::VideoPage::IncomingVideoImage_DoubleTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::DoubleTappedRoutedEventArgs^ e) { RingD::instance->toggleFullScreen(); anchorPreview(); } - void RingClientUWP::Views::VideoPage::InitManipulationTransforms() { PreviewImage_transforms = ref new TransformGroup(); @@ -564,6 +643,9 @@ void RingClientUWP::Views::VideoPage::InitManipulationTransforms() void RingClientUWP::Views::VideoPage::PreviewImage_ManipulationDelta(Platform::Object^ sender, ManipulationDeltaRoutedEventArgs^ e) { + if (!isMovingPreview) + isMovingPreview = true; + _PreviewImageRect_->RenderTransform = PreviewImage_transforms; PreviewImage_previousTransform->Matrix = PreviewImage_transforms->Value; @@ -578,8 +660,8 @@ void RingClientUWP::Views::VideoPage::computeQuadrant() { // Compute center coordinate of _videoContent_ - Point centerOfVideoFrame = Point( static_cast<float>(_videoContent_->ActualWidth) / 2, - static_cast<float>(_videoContent_->ActualHeight) / 2 ); + Point centerOfVideoFrame = Point( static_cast<float>(_videoContent_->ActualWidth - _colChatBx_->ActualWidth) / 2, + static_cast<float>(_videoContent_->ActualHeight - _rowChatBx_->ActualHeight) / 2 ); // Compute the center coordinate of _PreviewImage_ relative to _videoContent_ Point centerOfPreview = Point( static_cast<float>(_PreviewImage_->ActualWidth) / 2, @@ -595,9 +677,9 @@ RingClientUWP::Views::VideoPage::computeQuadrant() lastQuadrant = quadrant; if (diff.X > 0) - quadrant = diff.Y > 0 ? 2 : 1; + quadrant = diff.Y > 0 ? Quadrant::NW : Quadrant::SW; else - quadrant = diff.Y > 0 ? 3 : 0; + quadrant = diff.Y > 0 ? Quadrant::NE : Quadrant::SE; if (lastQuadrant != quadrant) { arrangeResizer(); @@ -616,35 +698,35 @@ RingClientUWP::Views::VideoPage::arrangeResizer() PointCollection^ resizeTrianglePoints = ref new PointCollection(); switch (quadrant) { - case 0: + case Quadrant::SE: xOffset = 0; yOffset = 0; resizeTrianglePoints->Append(Point(xOffset, yOffset)); resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset)); resizeTrianglePoints->Append(Point(xOffset, yOffset + rSize)); break; - case 1: + case Quadrant::SW: xOffset = scaledWidth - rSize; yOffset = 0; resizeTrianglePoints->Append(Point(xOffset, yOffset)); resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset)); resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset + rSize)); break; - case 2: + case Quadrant::NW: xOffset = scaledWidth - rSize; yOffset = scaledHeight - rSize; resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset)); resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset + rSize)); resizeTrianglePoints->Append(Point(xOffset, yOffset + rSize)); break; - case 3: + case Quadrant::NE: xOffset = 0; yOffset = scaledHeight - rSize; resizeTrianglePoints->Append(Point(xOffset, yOffset + rSize)); resizeTrianglePoints->Append(Point(xOffset + rSize, yOffset + rSize)); resizeTrianglePoints->Append(Point(xOffset, yOffset)); break; - default: + default: break; } _PreviewImageResizer_->Points = resizeTrianglePoints; @@ -652,10 +734,18 @@ RingClientUWP::Views::VideoPage::arrangeResizer() void RingClientUWP::Views::VideoPage::PreviewImage_ManipulationCompleted(Platform::Object^ sender, ManipulationCompletedRoutedEventArgs^ e) { + isMovingPreview = false; anchorPreview(); updatePreviewFrameDimensions(); } +void +VideoPage::PreviewImageResizer_Pressed(Object^ sender, PointerRoutedEventArgs^ e) +{ + isResizingPreview = true; + lastUserPreviewHeightModifier = userPreviewHeightModifier; +} + void RingClientUWP::Views::VideoPage::anchorPreview() { PreviewImage_previousTransform->Matrix = Matrix::Identity; @@ -663,23 +753,23 @@ void RingClientUWP::Views::VideoPage::anchorPreview() switch (quadrant) { - case 0: + case Quadrant::SE: _PreviewImageRect_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Right; _PreviewImageRect_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Bottom; break; - case 1: + case Quadrant::SW: _PreviewImageRect_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Left; _PreviewImageRect_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Bottom; break; - case 2: + case Quadrant::NW: _PreviewImageRect_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Left; _PreviewImageRect_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Top; break; - case 3: + case Quadrant::NE: _PreviewImageRect_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Right; _PreviewImageRect_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Top; break; - default: + default: break; }; } @@ -687,11 +777,15 @@ void RingClientUWP::Views::VideoPage::anchorPreview() void VideoPage::PreviewImageResizer_ManipulationDelta(Platform::Object^ sender, ManipulationDeltaRoutedEventArgs^ e) { - isResizingPreview = true; - if (quadrant > 1) - userPreviewHeightModifier += e->Delta.Translation.Y; - else - userPreviewHeightModifier -= e->Delta.Translation.Y; + if (!isResizingPreview) + isResizingPreview = true; + + if (quadrant == Quadrant::NW || quadrant == Quadrant::NE) { + userPreviewHeightModifier = lastUserPreviewHeightModifier + e->Cumulative.Translation.Y; + } + else { + userPreviewHeightModifier = lastUserPreviewHeightModifier - (e->Cumulative.Translation.Y); + } updatePreviewFrameDimensions(); } @@ -700,12 +794,15 @@ void VideoPage::PreviewImageResizer_ManipulationCompleted(Platform::Object^ sender, ManipulationCompletedRoutedEventArgs^ e) { isResizingPreview = false; + if (!isHoveringOnResizer) { + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::Arrow, 0); + } } void VideoPage::PreviewImage_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - // For some reason, PreviewImage_ManipulationCompleted doesn't always fire when it should + // For some reason, PreviewImage_ManipulationCompleted doesn't always fired when the mouse is released anchorPreview(); updatePreviewFrameDimensions(); } @@ -713,26 +810,222 @@ VideoPage::PreviewImage_PointerReleased(Platform::Object^ sender, Windows::UI::X void VideoPage::PreviewImageResizer_PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { - switch (quadrant) - { - case 0: - case 2: - CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeNorthwestSoutheast, 0); - break; - case 1: - case 3: - CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeNortheastSouthwest, 0); - break; - default: - break; + isHoveringOnResizer = true; + if (!isMovingPreview) { + switch (quadrant) + { + case Quadrant::SE: + case Quadrant::NW: + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeNorthwestSoutheast, 0); + break; + case Quadrant::SW: + case Quadrant::NE: + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeNortheastSouthwest, 0); + break; + default: + break; + } } } - void VideoPage::PreviewImageResizer_PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) { + isHoveringOnResizer = false; if (!isResizingPreview) { CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::Arrow, 0); } } + +void +VideoPage::PreviewImageResizer_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + if (!isHoveringOnResizer) { + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::Arrow, 0); + } +} + +void +VideoPage::_chatPanelResizeBarGrid__PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + if (chtBoxOrientation == Orientation::Horizontal) { + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeWestEast, 0); + } + else { + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::SizeNorthSouth, 0); + } +} + +void +VideoPage::_chatPanelResizeBarGrid__PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + if (!isResizingChatPanel) { + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::Arrow, 0); + } +} + +void +VideoPage::_chatPanelResizeBarGrid__PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + isResizingChatPanel = true; + lastchatPanelSize = chatPanelSize; +} + +void +VideoPage::_chatPanelResizeBarGrid__PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) +{ + isResizingChatPanel = false; +} + +void +VideoPage::_chatPanelResizeBarGrid__ManipulationDelta(Platform::Object^ sender, ManipulationDeltaRoutedEventArgs^ e) +{ + if (chtBoxOrientation == Orientation::Horizontal) { + chatPanelSize = lastchatPanelSize - e->Cumulative.Translation.X; + } + else { + chatPanelSize = lastchatPanelSize - e->Cumulative.Translation.Y; + } + resizeChatPanel(); +} + +void +VideoPage::_chatPanelResizeBarGrid__ManipulationCompleted(Platform::Object^ sender, ManipulationCompletedRoutedEventArgs^ e) +{ + isResizingChatPanel = false; + CoreApplication::MainView->CoreWindow->PointerCursor = ref new Windows::UI::Core::CoreCursor(Windows::UI::Core::CoreCursorType::Arrow, 0); +} + +void +VideoPage::openChatPanel() +{ + resizeChatPanel(); + isChatPanelOpen = true; + SmartPanelItemsViewModel::instance->_selectedItem->_contact->_unreadMessages = 0; +} +void +VideoPage::closeChatPanel() +{ + _colChatBx_->Width = 0; + _rowChatBx_->Height = 0; + isChatPanelOpen = false; +} + +void +VideoPage::resizeChatPanel() +{ + // clamp chatPanelSize + double minChatPanelSize = 176; + double maxChatPanelSize = chtBoxOrientation == Orientation::Horizontal ? + _videoContent_->ActualWidth * .5 : + _videoContent_->ActualHeight * .5; + chatPanelSize = std::max(minChatPanelSize, std::min(chatPanelSize, maxChatPanelSize)); + + if (chtBoxOrientation == Orientation::Horizontal) { + _colChatBx_->Width = GridLength(chatPanelSize, GridUnitType::Pixel); + _rowChatBx_->Height = 0; + } + else { + _colChatBx_->Width = 0; + _rowChatBx_->Height = GridLength(chatPanelSize, GridUnitType::Pixel); + } +} + +void +VideoPage::_btnToggleOrientation__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e) +{ + bool wasChatPanelOpen = isChatPanelOpen; + closeChatPanel(); + + if (chtBoxOrientation == Orientation::Horizontal) { + chtBoxOrientation = Orientation::Vertical; + _btnToggleOrientation_->Content = L"\uE90D"; + + _chatPanelResizeBarGrid_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Stretch; + _chatPanelResizeBarGrid_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Top; + _chatPanelResizeBarGrid_->Width = std::numeric_limits<double>::quiet_NaN(); + _chatPanelResizeBarGrid_->Height = 4; + + Grid::SetColumn(_chatPanelGrid_, 0); + Grid::SetRow(_chatPanelGrid_, 2); + } + else { + chtBoxOrientation = Orientation::Horizontal; + _btnToggleOrientation_->Content = L"\uE90E"; + + _chatPanelResizeBarGrid_->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Left; + _chatPanelResizeBarGrid_->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Stretch; + _chatPanelResizeBarGrid_->Width = 4; + _chatPanelResizeBarGrid_->Height = std::numeric_limits<double>::quiet_NaN(); + + Grid::SetColumn(_chatPanelGrid_, 2); + Grid::SetRow(_chatPanelGrid_, 0); + } + + if (wasChatPanelOpen) + openChatPanel(); +} + +void +VideoPage::_videoContent__SizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e) +{ + if (isChatPanelOpen) + resizeChatPanel(); +} + +void +VideoPage::_messageTextBox__TextChanged(Platform::Object^ sender, TextChangedEventArgs^ e) +{ + bool carriageReturnPressed = false; + if (_messageTextBox_->Text->Length() == (lastMessageText->Length() + 1) && + _messageTextBox_->Text != "\r") { + unsigned cursorPos = 0; + auto strMessage = Utils::toString(_messageTextBox_->Text); + auto strLastMessage = Utils::toString(lastMessageText); + for (std::string::size_type i = 0; i < strLastMessage.size(); ++i) { + if (strMessage[i] != strLastMessage[i]) { + auto changed = strMessage.substr(i, 1); + if (changed == "\r") { + carriageReturnPressed = true; + MSG_("CR inside"); + } + break; + } + } + + if (strMessage.substr(strMessage.length() - 1) == "\r") { + if (lastMessageText->Length() != 0) { + carriageReturnPressed = true; + MSG_("CR at end"); + } + } + } + + if (carriageReturnPressed && !(RingD::instance->isCtrlPressed || RingD::instance->isShiftPressed)) { + _messageTextBox_->Text = lastMessageText; + sendMessage(); + lastMessageText = ""; + } + + DependencyObject^ child = VisualTreeHelper::GetChild(_messageTextBox_, 0); + auto sendBtnElement = Utils::xaml::FindVisualChildByName(child, "_sendBtn_"); + auto sendBtn = dynamic_cast<Button^>(sendBtnElement); + if (_messageTextBox_->Text != "") { + sendBtn->IsEnabled = true; + } + else { + sendBtn->IsEnabled = false; + } + + lastMessageText = _messageTextBox_->Text; +} + +void +VideoPage::_corewindow__KeyDown(CoreWindow^ sender, KeyEventArgs^ e) +{ + auto ctrlState = CoreWindow::GetForCurrentThread()->GetKeyState(VirtualKey::Control); + auto isCtrlDown = ctrlState != CoreVirtualKeyStates::None; + if (isCtrlDown && e->VirtualKey == Windows::System::VirtualKey::I) { + _smartInfoBorder_->Visibility = _smartInfoBorder_->Visibility == VIS::Collapsed ? VIS::Visible : VIS::Collapsed; + } +} diff --git a/VideoPage.xaml.h b/VideoPage.xaml.h index 1dae050..cf83d4d 100644 --- a/VideoPage.xaml.h +++ b/VideoPage.xaml.h @@ -23,7 +23,9 @@ using namespace Platform; using namespace Concurrency; +using namespace Windows::Media; using namespace Windows::Media::Capture; +using namespace Windows::Graphics::Imaging; using namespace Windows::UI::Xaml::Navigation; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Media; @@ -36,7 +38,7 @@ namespace RingClientUWP /* delegate */ delegate void PressHangUpCall(); delegate void PauseCall(); -delegate void ChatPanelCall(); // nobody use this ? +delegate void ChatPanelCall(); // used ? delegate void AddContactCall(); delegate void TransferCall(); delegate void SwitchMicrophoneStateCall(); @@ -51,7 +53,9 @@ public ref class VideoPage sealed { public: VideoPage(); + void updatePageContent(); + void SetBuffer(uint8_t* buf, int width, int height); property bool barFading { bool get(){ return barFading_; } @@ -78,19 +82,40 @@ internal: private: bool barFading_; + String^ lastMessageText; + bool showSmartInfo; + EventRegistrationToken videoPage_InputHandlerToken; + + DispatcherTimer^ callTimerUpdater; + + VideoFrame^ videoFrame; + SoftwareBitmap^ softwareBitmap; + Video::VideoRendererWrapper^ currentRendererWrapper; // For transforming the preview image double userPreviewHeightModifier = 0.0; + double lastUserPreviewHeightModifier; + bool isMovingPreview = false; bool isResizingPreview = false; - int lastQuadrant = 0; - int quadrant = 0; + bool isHoveringOnResizer = false; + enum class Quadrant { + SE, SW, NW, NE + } quadrant = Quadrant::SE, lastQuadrant = Quadrant::SE; TransformGroup^ PreviewImage_transforms; MatrixTransform^ PreviewImage_previousTransform; CompositeTransform^ PreviewImage_deltaTransform; + // Chat panel transformations + bool isChatPanelOpen = false; + bool isResizingChatPanel = false; + double chatPanelSize = 176; + double lastchatPanelSize; + enum class Orientation { + Horizontal, Vertical + } chtBoxOrientation = Orientation::Vertical; + Concurrency::task<void> WriteFrameAsSoftwareBitmapAsync(String^ id, uint8_t* buf, int width, int height); void _sendBtn__Click(Platform::Object^ sender, RoutedEventArgs^ e); - void _messageTextBox__KeyDown(Object^ sender, KeyRoutedEventArgs^ e); void sendMessage(); void Button_Click(Object^ sender, RoutedEventArgs^ e); void _btnCancel__Click(Object^ sender, RoutedEventArgs^ e); @@ -111,24 +136,39 @@ private: void IncomingVideoImage_DoubleTapped(Object^ sender, DoubleTappedRoutedEventArgs^ e); void OnincomingMessage(String ^callId, String ^payload); void OnincomingVideoMuted(String ^callId, bool state); + void OnsmartInfoUpdated(const std::map<std::string, std::string>& info); void OnstartPreviewing(); void OnstopPreviewing(); void OnaudioMuted(const std::string &callId, bool state); void OnvideoMuted(const std::string &callId, bool state); - - // For transforming the preview image + void openChatPanel(); + void closeChatPanel(); + void resizeChatPanel(); void computeQuadrant(); void arrangeResizer(); void anchorPreview(); void updatePreviewFrameDimensions(); void InitManipulationTransforms(); + void updateCallTimer(Object^ sender, Object^ e); void PreviewImage_ManipulationDelta(Object^ sender, ManipulationDeltaRoutedEventArgs^ e); void PreviewImage_ManipulationCompleted(Object^ sender, ManipulationCompletedRoutedEventArgs^ e); void PreviewImageResizer_ManipulationDelta(Object^ sender, ManipulationDeltaRoutedEventArgs^ e); void PreviewImageResizer_ManipulationCompleted(Object^ sender, ManipulationCompletedRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__ManipulationDelta(Object^ sender, ManipulationDeltaRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__ManipulationCompleted(Object^ sender, ManipulationCompletedRoutedEventArgs^ e); void PreviewImage_PointerReleased(Object^ sender, PointerRoutedEventArgs^ e); void PreviewImageResizer_PointerEntered(Object^ sender, PointerRoutedEventArgs^ e); void PreviewImageResizer_PointerExited(Object^ sender, PointerRoutedEventArgs^ e); + void PreviewImageResizer_Pressed(Object^ sender, PointerRoutedEventArgs^ e); + void _btnToggleOrientation__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e); + void PreviewImageResizer_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _chatPanelResizeBarGrid__PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); + void _videoContent__SizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e); + void _messageTextBox__TextChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::TextChangedEventArgs^ e); + void _corewindow__KeyDown(CoreWindow^ sender, KeyEventArgs^ e); }; } } \ No newline at end of file diff --git a/WelcomePage.xaml b/WelcomePage.xaml index edb2b53..b4f03f8 100644 --- a/WelcomePage.xaml +++ b/WelcomePage.xaml @@ -15,53 +15,78 @@ * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/> . * -*********************************************************************** --> +***********************************************************************--> <Page x:Class="RingClientUWP.Views.WelcomePage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="using:RingClientUWP" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" NavigationCacheMode="Enabled" mc:Ignorable="d"> <Grid> <Grid.RowDefinitions> - <RowDefinition Height="1*"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="2*"/> - <RowDefinition Height="2*"/> - <RowDefinition Height="1*"/> + <RowDefinition Height="1*" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="2*" /> + <RowDefinition Height="2*" /> + <RowDefinition Height="1*" /> </Grid.RowDefinitions> <StackPanel Grid.Row="1"> <Image x:Name="_welcomeImage_" - - Source="Assets\Wide310x150Logo.scale-200.png" + Width="310" + Height="150" + Margin="0,10,0,30" + HorizontalAlignment="Center" + Source="Assets\Wide310x150Logo.scale-200.png" /> + <TextBlock x:Uid="_welcomeDescription_" Width="310" + MaxWidth="500" HorizontalAlignment="Center" - Margin="0 10 0 30" - Height="150"/> - <TextBlock Text="Ring is free software for universal communication which respects the freedoms and privacy of its users." - Foreground="#707370" - MaxWidth="500" - Width="310" - TextWrapping="Wrap" - TextAlignment="Justify" - FontSize="12" - FontWeight="Bold" - HorizontalAlignment="Center"/> - <HyperlinkButton Content="Privacy Policy" - FontSize="12" - NavigateUri="https://ring.cx/en/about/privacy-and-anonymity" - HorizontalAlignment="Center"/> - <Button x:Name="_aboutButton_" + FontSize="12" + FontWeight="Bold" + Foreground="#707370" + TextAlignment="Justify" + TextWrapping="Wrap" /> + <HyperlinkButton x:Uid="_welcomePrivacyLink_" + HorizontalAlignment="Center" + FontSize="12" + NavigateUri="https://ring.cx/en/about/privacy-and-anonymity" /> + <Button x:Uid="_welcomeAboutButton_" + x:Name="_welcomeAboutButton_" Margin="0,48,0,0" - BorderThickness="0" - FontSize="12" HorizontalAlignment="Center" - Content="About" - Click="_aboutButton__Click" - /> + BorderThickness="0" + Click="_welcomeAboutButton__Click" + FontSize="12" /> + <Grid Grid.Row="1" Background="White"> + <Grid.RowDefinitions> + <RowDefinition Height="auto" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Grid Grid.Row="0" + MaxWidth="140" + MaxHeight="140" + Margin="10" + Padding="5" + Background="white"> + <Image Grid.Row="0" + x:Name="_selectedAccountQrCode_" + Width="200" + Height="200" + Margin="5" + Stretch="None" + Visibility="Collapsed"/> + </Grid> + <TextBlock Grid.Row="1" + x:Name="_ringId_" + Padding="1" + HorizontalAlignment="Center" + IsTextSelectionEnabled="True" + Style="{StaticResource TextStyle4}"/> + </Grid> </StackPanel> </Grid> diff --git a/WelcomePage.xaml.cpp b/WelcomePage.xaml.cpp index 1b7d42e..4925560 100644 --- a/WelcomePage.xaml.cpp +++ b/WelcomePage.xaml.cpp @@ -21,64 +21,102 @@ #include "WelcomePage.xaml.h" #include "AboutPage.xaml.h" +#include "qrencode.h" +#include <MemoryBuffer.h> // IMemoryBufferByteAccess + using namespace RingClientUWP; using namespace RingClientUWP::Views; +using namespace RingClientUWP::ViewModel; using namespace Windows::UI::ViewManagement; using namespace Windows::UI::Core; using namespace Windows::UI::Xaml::Controls; +using namespace Windows::Storage; +using namespace Windows::UI::Xaml::Media::Imaging; +using namespace Windows::Graphics::Imaging; WelcomePage::WelcomePage() { InitializeComponent(); - Window::Current->SizeChanged += ref new WindowSizeChangedEventHandler(this, &WelcomePage::OnResize); - OnResize(nullptr, nullptr); + + RingD::instance->shareRequested += ref new ShareRequested(this, &WelcomePage::generateShareData); }; void -WelcomePage::PositionImage() +WelcomePage::_welcomeAboutButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - /*Rect imageBounds; - imageBounds.Width = static_cast<float>(_welcomePage_->ActualWidth); - imageBounds.Height = static_cast<float>(_welcomePage_->ActualHeight); - - _welcomeImage_->SetValue(Canvas::LeftProperty, imageBounds.Width * 0.5 - _welcomeImage_->Width * 0.5); - _welcomeImage_->SetValue(Canvas::TopProperty, imageBounds.Height * 0.5 - _welcomeImage_->Height * 0.5);*/ + auto rootFrame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); + rootFrame->Navigate(Windows::UI::Xaml::Interop::TypeName(Views::AboutPage::typeid)); } void -WelcomePage::OnResize(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e) +WelcomePage::generateShareData() { - //PositionImage(); -} + auto ringId = AccountListItemsViewModel::instance->_selectedItem->_account->ringID_; + auto ringId2 = Utils::toString(ringId); -void RingClientUWP::Views::WelcomePage::_aboutButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - // new window? - /*auto currentAV = ApplicationView::GetForCurrentView(); - auto newAV = CoreApplication::CreateNewView(); - newAV->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, - ref new DispatchedHandler([=]() + _ringId_->Text = ringId; + _welcomeAboutButton_->Margin = Windows::UI::Xaml::Thickness(0.0, 24.0, 0.0, 0.0); + + auto qrcode = QRcode_encodeString(ringId2.c_str(), + 0, //Let the version be decided by libqrencode + QR_ECLEVEL_L, // Lowest level of error correction + QR_MODE_8, // 8-bit data mode + 1); + + if (!qrcode) { + WNG_("Failed to generate QR code: "); + return; + } + + const int STRETCH_FACTOR = 4; + const int widthQrCode = qrcode->width; + const int widthBitmap = STRETCH_FACTOR * widthQrCode; + + unsigned char* qrdata = qrcode->data; + + auto frame = ref new SoftwareBitmap(BitmapPixelFormat::Bgra8, widthBitmap, widthBitmap, BitmapAlphaMode::Premultiplied); + + const int BYTES_PER_PIXEL = 4; + + + BitmapBuffer^ buffer = frame->LockBuffer(BitmapBufferAccessMode::ReadWrite); + IMemoryBufferReference^ reference = buffer->CreateReference(); + + Microsoft::WRL::ComPtr<IMemoryBufferByteAccess> byteAccess; + if (SUCCEEDED(reinterpret_cast<IUnknown*>(reference)->QueryInterface(IID_PPV_ARGS(&byteAccess)))) { - auto newWindow = Window::Current; - auto newAppView = ApplicationView::GetForCurrentView(); - newAppView->Title = "About"; + byte* data; + unsigned capacity; + byteAccess->GetBuffer(&data, &capacity); - auto frame = ref new Windows::UI::Xaml::Controls::Frame(); - frame->Navigate(Windows::UI::Xaml::Interop::TypeName(Views::AboutPage::typeid)); - newWindow->Content = frame; - newWindow->Activate(); + auto desc = buffer->GetPlaneDescription(0); - ApplicationViewSwitcher::TryShowAsStandaloneAsync( - newAppView->Id, - ViewSizePreference::UseMinimum, - currentAV->Id, - ViewSizePreference::UseMinimum); + unsigned char* row, *p; + p = qrcode->data; - RingD::instance->isInAbout = true; - newAppView->TryResizeView(Size(200, 200)); - }));*/ + for (int u = 0; u < widthBitmap; u++) { + for (int v = 0; v < widthBitmap; v++) { + int x = static_cast<int>((float)u / (float)widthBitmap * (float)widthQrCode); + int y = static_cast<int>((float)v / (float)widthBitmap * (float)widthQrCode); - auto rootFrame = dynamic_cast<Windows::UI::Xaml::Controls::Frame^>(Window::Current->Content); - rootFrame->Navigate(Windows::UI::Xaml::Interop::TypeName(Views::AboutPage::typeid)); -} + auto currPixelRow = desc.StartIndex + desc.Stride * u + BYTES_PER_PIXEL * v; + row = (p + (y * widthQrCode)); + + if (*(row + x) & 0x1) { + data[currPixelRow + 3] = 255; + } + } + } + + } + delete reference; + delete buffer; + + auto sbSource = ref new Media::Imaging::SoftwareBitmapSource(); + + sbSource->SetBitmapAsync(frame); + + _selectedAccountQrCode_->Source = sbSource; + _selectedAccountQrCode_->Visibility = VIS::Visible; +} \ No newline at end of file diff --git a/WelcomePage.xaml.h b/WelcomePage.xaml.h index 7cf6e94..a69ed7f 100644 --- a/WelcomePage.xaml.h +++ b/WelcomePage.xaml.h @@ -31,11 +31,11 @@ public ref class WelcomePage sealed { public: WelcomePage(); -protected: - void PositionImage(); - void OnResize(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e); + void generateShareData(); + private: - void _aboutButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void _welcomeAboutButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + internal: event SummonAboutPage^ summonAboutPage; }; diff --git a/Wizard.xaml b/Wizard.xaml index a9cae8b..8176bcb 100644 --- a/Wizard.xaml +++ b/Wizard.xaml @@ -1,282 +1,336 @@ -<Page - x:Class="RingClientUWP.Views.Wizard" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:local="using:RingClientUWP" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - NavigationCacheMode="Enabled" - mc:Ignorable="d"> +<!-- ********************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: Jäger Nicolas<nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas<andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/> . * +***********************************************************************--> +<Page x:Class="RingClientUWP.Views.Wizard" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="using:RingClientUWP" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + NavigationCacheMode="Enabled" + mc:Ignorable="d"> <ScrollViewer VerticalScrollBarVisibility="Auto"> <Grid> <StackPanel Width="400"> - <Rectangle Height="50"/> + <Rectangle Height="50" /> + <TextBlock x:Uid="_welcome_" + HorizontalAlignment="Center" + Style="{StaticResource HeaderTextBlockStyle}" + FontWeight="Normal" + FontSize="60" + Foreground="#FF535E5E"> + <TextBlock.RenderTransform> + <TranslateTransform X="0" Y="10"/> + </TextBlock.RenderTransform> + </TextBlock> <Image x:Name="_welcomeImage_" - Source="Assets\Wide310x150Logo.scale-200.png" Width="310" + Height="150" + Margin="0,10,0,30" HorizontalAlignment="Center" - Margin="0 10 0 30" - Height="150"/> - <StackPanel Height="auto" - Background="#3bc1d3" - Grid.Column="0"> - <Button x:Name="_showCreateAccountMenuTitle_" - Content="Create New Account" - Foreground="White" - Click="collapseMenus" - Style="{StaticResource ButtonStyle8}" - Visibility="Collapsed" - HorizontalAlignment="Center"/> + Source="Assets\Wide310x150Logo.scale-200.png" /> + <StackPanel x:Name="_createStack_" + Height="auto" + Margin="0,0,0,0" + Background="{StaticResource RingBlueMidBrush}" + Visibility="Visible"> + <TextBlock x:Name="_showCreateAccountMenuTitle_" + x:Uid="_wizardCreateAccountTitle_" + HorizontalAlignment="Center" + FontSize="30" + Foreground="White" + Padding="4" + Style="{StaticResource SubheaderTextBlockStyle}" + Visibility="Collapsed" /> <Button x:Name="_showCreateAccountMenuBtn_" - Content="Create New Account" - Visibility="Visible" + x:Uid="_wizardCreateAccount_" + Width="400" + Height="36" HorizontalAlignment="Center" - Style="{StaticResource ButtonStyle4}" - Click="_showCreateAccountMenuBtn__Click"/> + Click="_showCreateAccountMenuBtn__Click" + FontSize="18" + Style="{StaticResource WizardButtons1}" + Visibility="Visible" /> <Grid x:Name="_accountCreationMenuGrid_" - Background="#3bc1d3" + Background="{StaticResource RingBlueMidBrush}" Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="auto"/> - <RowDefinition Height="30"/> + <RowDefinition Height="auto" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <StackPanel Orientation="Vertical" - Grid.Row="0" - Background="#FFE4F1F9"> - <!-- note : we propose only RING account from the wizard. --> + <StackPanel Grid.Row="0" + Background="{StaticResource RingBlueLightBrush}" + Orientation="Vertical"> + <!-- note : we propose only RING account from the wizard. --> <StackPanel x:Name="_ringAccountCreationStack_" - Visibility="Visible" - Padding="10,0"> - <Button x:Name="_avatarWebcamCaptureBtn_" - Margin="0,10,0,0" - VerticalAlignment="Center" - Content="" - Click="_avatarWebcamCaptureBtn__Click" - Style="{StaticResource ButtonStyle3}" - HorizontalAlignment="Center"/> + Padding="10,0" + Visibility="Visible"> + <Button x:Name="_avatarWebcamCaptureBtn_" + Width="90" + Height="90" + Margin="0,10,0,0" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_avatarWebcamCaptureBtn__Click" + Content="" + Style="{StaticResource ButtonStyle3}" /> <Grid Margin="0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <!-- ajouter add a new account to et mettre le fullname --> - <TextBox x:Name="_fullnameTextBox_" - Grid.Column="0" - PlaceholderText="Enter your full name" - KeyUp="_fullnameTextBox__KeyUp"/> - <TextBlock x:Name="_fullnameValid_" - Grid.Column="1" + <!-- ajouter add a new account to et mettre le fullname --> + <TextBox Grid.Column="0" + x:Name="_fullnameTextBox_" + x:Uid="_wizardFullName_" + Margin="20,0,20,0" + IsSpellCheckEnabled="False" + KeyUp="_fullnameTextBox__KeyUp" /> + <TextBlock Grid.Column="1" + x:Name="_fullnameValid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_fullnameInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_fullnameInvalid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> - <!-- Register public username --> - <StackPanel Orientation="Horizontal" - Margin="0,20,0,10"> - <TextBlock Style="{StaticResource TextSegoeStyle-24pt-black}" - Text=""/> - <TextBlock Text="Register public username" - Style="{StaticResource TitleTextBlockStyle}"/> + <!-- Register public username --> + <StackPanel Margin="10,20,0,10" Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-24pt-black}" Text="" /> + <TextBlock x:Uid="_accountsRegisterPublicName_" + Margin="10,0,0,0" + FontWeight="SemiLight" + Style="{StaticResource TitleTextBlockStyle}" /> </StackPanel> <ToggleSwitch x:Name="_RegisterState_" - Toggled="_RegisterState__Toggled" + Margin="20,10,0,10" IsOn="True" - Margin="0,10"/> - <TextBlock x:Name="_whatWilHappen_" - Margin="0,10,0,0" - Style="{StaticResource BodyTextBlockStyle}" - Text="peoples will find you with your username"/> - <HyperlinkButton Content="Learn more" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> + Toggled="_RegisterState__Toggled" /> + <TextBlock x:Name="_whatWillHappen_" + x:Uid="_whatWillHappenEditionUid_" + Margin="20,10,0,0" + Style="{StaticResource BodyTextBlockStyle}" /> + <HyperlinkButton Margin="20,0,0,10" + Content="Learn more" + NavigateUri="http://ring.cx" /> <Grid Margin="0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> - <TextBox x:Name="_usernameTextBox_" - Grid.Column="0" - PlaceholderText="Enter your full name" - KeyUp="_usernameTextBox__KeyUp"/> - <TextBlock x:Name="_usernameValid_" - Grid.Column="1" + <TextBox Grid.Column="0" + x:Name="_usernameTextBox_" + x:Uid="_usernameTextBoxEditionUid_" + Margin="20,0,20,0" + IsSpellCheckEnabled="False" + KeyUp="_usernameTextBox__KeyUp" + PlaceholderText="" /> + <TextBlock Grid.Column="1" + x:Name="_usernameValid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_usernameInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_usernameInvalid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> - <StackPanel Orientation="Horizontal" - Margin="0,20,0,10"> - <TextBlock Style="{StaticResource TextSegoeStyle-24pt-black}" - Text=""/> - <TextBlock Text="Ring account password" - Style="{StaticResource TitleTextBlockStyle}"/> + <StackPanel Margin="10,20,0,10" Orientation="Horizontal"> + <TextBlock Style="{StaticResource TextSegoeStyle-24pt-black}" Text="" /> + <TextBlock x:Uid="_wizardRingAccountPassword_" + Margin="10,0,0,0" + FontWeight="SemiLight" + Style="{StaticResource TitleTextBlockStyle}" /> </StackPanel> <Grid Margin="0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> <PasswordBox x:Name="_password_" - Margin="0,10" - PasswordChanged="_password__PasswordChanged" - PlaceholderText="Enter your password"/> - <TextBlock x:Name="_passwordValid_" - Grid.Column="1" + x:Uid="_accountsEnterArchivePassword_" + Margin="20,10,20,10" + PasswordChanged="_password__PasswordChanged" /> + <TextBlock Grid.Column="1" + x:Name="_passwordValid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_passwordInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_passwordInvalid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> <Grid Margin="0,10"> <Grid.ColumnDefinitions> - <ColumnDefinition Width="*"/> - <ColumnDefinition Width="25"/> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="25" /> </Grid.ColumnDefinitions> <PasswordBox x:Name="_passwordCheck_" - Margin="0,10,0,20" - PasswordChanged="_passwordCheck__PasswordChanged" - PlaceholderText="Repeat your Password"/> - <TextBlock x:Name="_passwordCheckValid_" - Grid.Column="1" + x:Uid="_ringPasswordBoxAccountCreationCheckUid_" + Margin="20,0,20,20" + PasswordChanged="_passwordCheck__PasswordChanged" /> + <TextBlock Grid.Column="1" + x:Name="_passwordCheckValid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-green}" - Visibility="Collapsed" - Text=""/> - <TextBlock x:Name="_passwordCheckInvalid_" - Grid.Column="1" + Text="" + Visibility="Collapsed" /> + <TextBlock Grid.Column="1" + x:Name="_passwordCheckInvalid_" + Margin="-20,0,0,0" Padding="10,0" Style="{StaticResource TextSegoeStyle-20pt-red}" - Text=""/> + Text="" /> </Grid> </StackPanel> </StackPanel> - <!-- buttons yes/no to create the new account. --> + <!-- buttons yes/no to create the new account. --> <Grid Grid.Row="1"> - <StackPanel Orientation="Horizontal" - HorizontalAlignment="Center"> + <StackPanel Grid.Row="1" + HorizontalAlignment="Center" + Orientation="Horizontal"> <Button x:Name="_createAccountYes_" - Grid.Row="1" - VerticalAlignment="Center" - HorizontalAlignment="Center" - Content="" - IsEnabled="False" - Click="_createAccountYes__Click" - Style="{StaticResource ButtonStyle2}"/> + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="_createAccountYes__Click" + Content="" + IsEnabled="False" + Style="{StaticResource ButtonStyle2}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_create_account_yes_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_createAccountNo_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="collapseMenus" + Content="" + IsEnabled="True" + Style="{StaticResource ButtonStyle2}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_account_cancel_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> </StackPanel> - <Rectangle Height="50"/> - <!-- add account. --> - <StackPanel Height="auto" - Background="#3bc1d3" - Grid.Column="2"> - <StackPanel x:Name="addExistingAccountStep1"> - </StackPanel> + <StackPanel x:Name="_addStack_" + Height="auto" + Margin="0,36,0,50" + Background="{StaticResource RingBlueMidBrush}" + Visibility="Visible"> + <StackPanel x:Name="addExistingAccountStep1" /> <StackPanel x:Name="addExistingAccountStep2"> - <Button x:Name="_showAddAccountMenuTitle_" - Content="Add Existing Account" - Foreground="White" - Visibility="Collapsed" - Style="{StaticResource ButtonStyle8}" - Click="collapseMenus" - HorizontalAlignment="Center"/> + <TextBlock x:Name="_showAddAccountMenuTitle_" + x:Uid="_wizardAddExistingAccountTitle_" + HorizontalAlignment="Center" + FontSize="30" + Foreground="White" + Padding="4" + Style="{StaticResource SubheaderTextBlockStyle}" + Visibility="Collapsed" /> <Button x:Name="_showAddAccountMenuBtn_" - Visibility="Visible" - Content="Add Existing Account" + x:Uid="_wizardAddExistingAccount_" + Width="400" + Height="36" HorizontalAlignment="Center" - Style="{StaticResource ButtonStyle4}" - Click="_showAddAccountMenuBtn__Click"/> + Click="_showAddAccountMenuBtn__Click" + FontSize="18" + Style="{StaticResource WizardButtons1}" + Visibility="Visible" /> <Grid x:Name="_accountAddMenuGrid_" - Visibility="Collapsed" - Background="#3bc1d3"> + Background="{StaticResource RingBlueMidBrush}" + Visibility="Collapsed"> <Grid.RowDefinitions> - <RowDefinition Height="30"/> - <RowDefinition Height="auto"/> - <RowDefinition Height="30"/> + <RowDefinition Height="0" /> + <RowDefinition Height="auto" /> + <RowDefinition Height="30" /> </Grid.RowDefinitions> - <StackPanel Orientation="Horizontal" - Grid.Row="0"> - <Button x:Name="_step1button_" - Style="{StaticResource ButtonStyle4}" - Content="Step 1" - Click="_step1button__Click"/> - <TextBlock Text=">" - VerticalAlignment="Center" - Style="{StaticResource TextStyle7}"/> - <Button x:Name="_step2button_" - Style="{StaticResource ButtonStyle4}" - Click="_step2button__Click" - Content="Step 2"/> - </StackPanel> - <!-- step 1. --> - <StackPanel x:Name="_step1Menu_" - Background="#FFE4F1F9" - Padding="10" - Grid.Row="1"> - <TextBlock Text="To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account." - TextWrapping="Wrap" - TextAlignment="Justify"/> - <HyperlinkButton Content="Learn more" - Margin="0,0,0,10" - NavigateUri="http://ring.cx"/> - </StackPanel> - <!-- step 2. --> - <StackPanel x:Name="_step2Menu_" - Background="#FFE4F1F9" - Visibility="Collapsed" - Grid.Row="1"> - <TextBox x:Name="_PINTextBox_" - Margin="10" - GotFocus="_PINTextBox__GotFocus" - KeyUp="_PINTextBox__KeyUp" - PlaceholderText="Enter PIN"/> + <StackPanel Grid.Row="1" + x:Name="_step2Menu_" + Background="{StaticResource RingBlueLightBrush}" + Orientation="Vertical"> + <TextBlock x:Uid="_accountsAddStep1_" + Margin="30,20,30,20" + TextAlignment="Justify" + TextWrapping="Wrap" /> + <HyperlinkButton x:Uid="_accountsEditionLearnMore_" + Margin="30,0,0,10" + NavigateUri="http://ring.cx" /> + <TextBox x:Name="_PINTextBox_" + x:Uid="_accountsAddEnterPIN_" + Margin="30,20,30,10" + GotFocus="_PINTextBox__GotFocus" + IsSpellCheckEnabled="False" + KeyUp="_PINTextBox__KeyUp" /> <PasswordBox x:Name="_ArchivePassword_" - Margin="10" - KeyUp="_ArchivePassword__KeyUp" - PlaceholderText="Enter your password"/> + x:Uid="_accountsEnterArchivePassword_" + Margin="30,10,30,10" + KeyUp="_ArchivePassword__KeyUp" /> <TextBlock x:Name="_response_" - Foreground="Red" HorizontalAlignment="Center" - Text=""/> + Foreground="Red" /> </StackPanel> - <!-- buttons next step and yes/no to add the account. --> + <!-- buttons next step and yes/no to add the account. --> <Grid Grid.Row="2"> - <StackPanel Orientation="Horizontal" - Padding="10,0" - HorizontalAlignment="Center"> - <Button x:Name="_nextstep_" - VerticalAlignment="Center" + <StackPanel Padding="10,0" HorizontalAlignment="Center" - Content="" - Click="_step2button__Click" - Style="{StaticResource ButtonStyle2}"/> + Orientation="Horizontal"> <Button x:Name="_addAccountYes_" - VerticalAlignment="Center" HorizontalAlignment="Center" - Visibility="Collapsed" - Content="" + VerticalAlignment="Center" Click="_addAccountYes__Click" + Content="" IsEnabled="False" - Style="{StaticResource ButtonStyle2}"/> + Style="{StaticResource ButtonStyle2}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_add_account_yes_" /> + </ToolTipService.ToolTip> + </Button> + <Button x:Name="_addAccountNo_" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Click="collapseMenus" + Content="" + IsEnabled="True" + Style="{StaticResource ButtonStyle2}"> + <ToolTipService.ToolTip> + <TextBlock x:Uid="_tt_account_cancel_" /> + </ToolTipService.ToolTip> + </Button> </StackPanel> </Grid> </Grid> @@ -285,10 +339,4 @@ </StackPanel> </Grid> </ScrollViewer> - - - - - - </Page> diff --git a/Wizard.xaml.cpp b/Wizard.xaml.cpp index b7af70c..7d94bd8 100644 --- a/Wizard.xaml.cpp +++ b/Wizard.xaml.cpp @@ -1,3 +1,22 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + #include "pch.h" #include <direct.h> #include "Wizard.xaml.h" @@ -34,26 +53,41 @@ Wizard::Wizard() void RingClientUWP::Views::Wizard::OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs ^ e) { - RingD::instance->init(); + if (!RingD::instance->daemonRunning) { + RingD::instance->init(); + } + + collapseMenus(nullptr, nullptr); + _password_->Password = ""; + _passwordCheck_->Password = ""; + _ArchivePassword_->Password = ""; + _PINTextBox_->Text = ""; + _fullnameTextBox_->Text = ""; + _usernameTextBox_->Text = ""; + _RegisterState_->IsOn = true; + + RingD::instance->isInWizard = true; } void Wizard::_createAccountYes__Click(Object^ sender, RoutedEventArgs^ e) { - //RingD::instance->_startingStatus = StartingStatus::REGISTERING_ON_THIS_PC; this->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::High, ref new Windows::UI::Core::DispatchedHandler([this] () { + RingD::instance->isInWizard = false; this->Frame->Navigate(Windows::UI::Xaml::Interop::TypeName(RingClientUWP::MainPage::typeid)); RingD::instance->createRINGAccount(_fullnameTextBox_->Text , _password_->Password , true // upnp by default set to true , (_RegisterState_->IsOn)? _usernameTextBox_->Text : ""); - _password_->Password = ""; })); } void Wizard::_showCreateAccountMenuBtn__Click(Object^ sender, RoutedEventArgs^ e) { + _addStack_->Visibility = VIS::Collapsed; + _createStack_->Margin = Windows::UI::Xaml::Thickness(0.0, 0.0, 0.0, 50.0); + _accountAddMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showAddAccountMenuTitle_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showAddAccountMenuBtn_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -66,6 +100,9 @@ Wizard::_showCreateAccountMenuBtn__Click(Object^ sender, RoutedEventArgs^ e) void Wizard::_showAddAccountMenuBtn__Click(Object^ sender, RoutedEventArgs^ e) { + _createStack_->Visibility = VIS::Collapsed; + _addStack_->Margin = Windows::UI::Xaml::Thickness(0.0, 0.0, 0.0, 50.0); + _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showCreateAccountMenuTitle_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showCreateAccountMenuBtn_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -78,40 +115,20 @@ Wizard::_showAddAccountMenuBtn__Click(Object^ sender, RoutedEventArgs^ e) void Wizard::_avatarWebcamCaptureBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { - CameraCaptureUI^ cameraCaptureUI = ref new CameraCaptureUI(); - cameraCaptureUI->PhotoSettings->Format = CameraCaptureUIPhotoFormat::Jpeg; - cameraCaptureUI->PhotoSettings->CroppedSizeInPixels = Size(80, 80); - - create_task(cameraCaptureUI->CaptureFileAsync(CameraCaptureUIMode::Photo)) - .then([this](StorageFile^ photoFile) - { - if (photoFile != nullptr) { - auto brush = ref new ImageBrush(); - - auto circle = ref new Ellipse(); - circle->Height = 80; - circle->Width = 80; - auto path = photoFile->Path; - auto uri = ref new Windows::Foundation::Uri(path); - auto bitmapImage = ref new Windows::UI::Xaml::Media::Imaging::BitmapImage(); - bitmapImage->UriSource = uri; - - std::string fileBuffer = Utils::getStringFromFile(Utils::toString(photoFile->Path)); - std::string profilePath = RingD::instance->getLocalFolder() + ".profile"; - _mkdir(profilePath.c_str()); - std::ofstream file((profilePath + "\\profile_image.png"), - std::ios::out | std::ios::trunc | std::ios::binary); - if (file.is_open()) { - file << fileBuffer; - file.close(); + create_task(Configuration::getProfileImageAsync()).then([&](task<BitmapImage^> image){ + try { + if (auto bitmapImage = image.get()) { + auto brush = ref new ImageBrush(); + auto circle = ref new Ellipse(); + circle->Height = 100; + circle->Width = 100; + brush->ImageSource = bitmapImage; + circle->Fill = brush; + _avatarWebcamCaptureBtn_->Content = circle; } - - Configuration::UserPreferences::instance->PREF_PROFILE_HASPHOTO = true; - Configuration::UserPreferences::instance->save(); - - brush->ImageSource = bitmapImage; - circle->Fill = brush; - _avatarWebcamCaptureBtn_->Content = circle; + } + catch (Platform::Exception^ e) { + EXC_(e); } }); } @@ -201,12 +218,11 @@ void RingClientUWP::Views::Wizard::_usernameTextBox__KeyUp(Platform::Object^ sen _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; } else { - RingD::instance->lookUpName(alias); + auto accountId = ViewModel::AccountListItemsViewModel::instance->getSelectedAccountId(); + RingD::instance->lookUpName(Utils::toString(accountId), alias); _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; } - - // checkState(); is made in OnregisteredNameFound } void RingClientUWP::Views::Wizard::_RegisterState__Toggled(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) @@ -220,10 +236,12 @@ void RingClientUWP::Views::Wizard::_RegisterState__Toggled(Platform::Object^ sen if (isPublic) { _usernameTextBox_->IsEnabled = true; - _whatWilHappen_->Text = "peoples will find you with your username."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappenEditionUid_.Text"); } else { _usernameTextBox_->IsEnabled = false; - _whatWilHappen_->Text = "you'll have to send your ringId."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _whatWillHappen_->Text = loader->GetString("_whatWillHappen_2_"); } checkState(); @@ -246,6 +264,12 @@ void RingClientUWP::Views::Wizard::_fullnameTextBox__KeyUp(Platform::Object^ sen void RingClientUWP::Views::Wizard::collapseMenus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { + _createStack_->Visibility = VIS::Visible; + _addStack_->Visibility = VIS::Visible; + + _createStack_->Margin = Windows::UI::Xaml::Thickness(0.0, 0.0, 0.0, 0.0); + _addStack_->Margin = Windows::UI::Xaml::Thickness(0.0, 36.0, 0.0, 50.0); + _accountAddMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showAddAccountMenuTitle_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _showAddAccountMenuBtn_->Visibility = Windows::UI::Xaml::Visibility::Visible; @@ -255,34 +279,13 @@ void RingClientUWP::Views::Wizard::collapseMenus(Platform::Object^ sender, Windo _showCreateAccountMenuBtn_->Visibility = Windows::UI::Xaml::Visibility::Visible; } -void RingClientUWP::Views::Wizard::_step1button__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - _step1Menu_->Visibility = Windows::UI::Xaml::Visibility::Visible; - _step2Menu_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - - _nextstep_->Visibility = Windows::UI::Xaml::Visibility::Visible; - _addAccountYes_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; -} - -void RingClientUWP::Views::Wizard::_step2button__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - _step1Menu_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _step2Menu_->Visibility = Windows::UI::Xaml::Visibility::Visible; - - _nextstep_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _addAccountYes_->Visibility = Windows::UI::Xaml::Visibility::Visible; -} - -void RingClientUWP::Views::Wizard::OnregisteredNameFound(LookupStatus status, const std::string& address, const std::string& name) +void RingClientUWP::Views::Wizard::OnregisteredNameFound(LookupStatus status, const std::string& accountId, const std::string& address, const std::string& name) { switch (status) { case LookupStatus::SUCCESS: - _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; - isUsernameValid = false; - break; case LookupStatus::INVALID_NAME: + case LookupStatus::ERRORR: _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; isUsernameValid = false; @@ -292,31 +295,23 @@ void RingClientUWP::Views::Wizard::OnregisteredNameFound(LookupStatus status, co _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; isUsernameValid = true; break; - case LookupStatus::ERRORR: - _usernameValid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - _usernameInvalid_->Visibility = Windows::UI::Xaml::Visibility::Visible; - isUsernameValid = false; - break; } checkState(); } - - void RingClientUWP::Views::Wizard::OnregistrationStateErrorGeneric(const std::string &accountId) { - _response_->Text = "Credentials error or PIN expired."; + auto loader = ref new Windows::ApplicationModel::Resources::ResourceLoader(); + _response_->Text = loader->GetString("_accountsCredentialsExpired_"); _addAccountYes_->IsEnabled = false; } - void RingClientUWP::Views::Wizard::_PINTextBox__GotFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { _response_->Text = ""; } - void RingClientUWP::Views::Wizard::_ArchivePassword__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) { if (_PINTextBox_->Text->IsEmpty() || _ArchivePassword_->Password->IsEmpty()) @@ -325,7 +320,6 @@ void RingClientUWP::Views::Wizard::_ArchivePassword__KeyUp(Platform::Object^ sen _addAccountYes_->IsEnabled = true; } - void RingClientUWP::Views::Wizard::_PINTextBox__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) { if (_PINTextBox_->Text->IsEmpty() || _ArchivePassword_->Password->IsEmpty()) @@ -333,3 +327,9 @@ void RingClientUWP::Views::Wizard::_PINTextBox__KeyUp(Platform::Object^ sender, else _addAccountYes_->IsEnabled = true; } + +void +Wizard::_createAccountNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + +} diff --git a/Wizard.xaml.h b/Wizard.xaml.h index 7e8ebed..71c4761 100644 --- a/Wizard.xaml.h +++ b/Wizard.xaml.h @@ -1,3 +1,22 @@ +/************************************************************************** +* Copyright (C) 2016 by Savoir-faire Linux * +* Author: J�ger Nicolas <nicolas.jager@savoirfairelinux.com> * +* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 3 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +**************************************************************************/ + #pragma once #include "Wizard.g.h" @@ -25,9 +44,7 @@ private: void _RegisterState__Toggled(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void _fullnameTextBox__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); void collapseMenus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _step1button__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void _step2button__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void OnregisteredNameFound(LookupStatus status, const std::string& address, const std::string& name); + void OnregisteredNameFound(LookupStatus status, const std::string& accountId, const std::string& address, const std::string& name); void _password__PasswordChanged(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void _passwordCheck__PasswordChanged(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void checkState(); @@ -42,6 +59,7 @@ private: void _PINTextBox__GotFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void _ArchivePassword__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); void _PINTextBox__KeyUp(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e); + void _createAccountNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); }; } diff --git a/_language-fr.appx b/_language-fr.appx index 51bf9e26b8f25bb43d7a7124c7fb5a83661df0cf..4b9c411cadd65e65de2bf0f43a7299b4abeca66f 100644 GIT binary patch delta 12605 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 delta 3570 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 KCNSC5SOEaA$gfBM diff --git a/_scale-100.appx b/_scale-100.appx index cba6a7476ff3db03c797713c7ccb125cb18aa794..a1b6872643a84b471783f1e0a8083164f9f8a3f8 100644 GIT binary patch delta 51311 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 WorOv+LHGgQZ0sPG=atD^YZL&+GX1y! delta 40494 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 diff --git a/_scale-125.appx b/_scale-125.appx index 6d6ece8d6416fbfc5965c62c9718bdc4b0b5df56..dae8a5197feb1e5c6f03a38333d42a4a9fd23ad6 100644 GIT binary patch delta 63683 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 delta 51458 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 diff --git a/_scale-150.appx b/_scale-150.appx index 09b8ffe25c8097d08c7be5a57bdcaef446b705df..eafedef0938a69e8dd66543bfc54b7d04518800c 100644 GIT binary patch delta 76072 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 U2LnTZHyb-hYP03^70iqZ0L7rU8vp<R delta 62077 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 diff --git a/_scale-400.appx b/_scale-400.appx index 698e354d015f8f98033b918534b6e2417564952d..1763977eae3165e5e4d0cacb53ff092facc95b6f 100644 GIT binary patch delta 242810 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 delta 205213 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	$(6i`d;oOw|fqxgHyIMJLdZn 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 diff --git a/localization/Fr-fr/Resources.resw b/localization/Fr-fr/Resources.resw deleted file mode 100644 index 0ae0ea1..0000000 --- a/localization/Fr-fr/Resources.resw +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <data name="_welcomeMsg.Text" xml:space="preserve"> - <value>Salut!</value> - </data> -</root> \ No newline at end of file diff --git a/localization/US-en/Resources.resw b/localization/US-en/Resources.resw deleted file mode 100644 index 7a8dd42..0000000 --- a/localization/US-en/Resources.resw +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <data name="_welcomeMsg.Text" xml:space="preserve"> - <value>Hi!</value> - </data> -</root> \ No newline at end of file diff --git a/localization/ar/Resources.resw b/localization/ar/Resources.resw new file mode 100644 index 0000000..9525fba --- /dev/null +++ b/localization/ar/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>عن RING</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>الأطراف المصممة</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>مشاركة</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>حسابات</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>الاتصالات</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>سجل</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>إعدادات</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>جهاز</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>نسق</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>دقة العرض (resolution)</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>فيديو</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>عن RING</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>الاسم المستعار</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>أحدث حساب</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>ألغِ</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>حسابات</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>أضف حساب</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>الاتصالات</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>منجز</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>إبعث رسالة</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>إعدادات</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>أضف إلى الاتصالات المعروفة</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>مكالمة</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>مصمم العمل الفني:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>أحدثه:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/bg/Resources.resw b/localization/bg/Resources.resw new file mode 100644 index 0000000..240e02f --- /dev/null +++ b/localization/bg/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Относно</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Затваряне</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Заслуги</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Вижте</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>Общия публичен лиценз на ГНУ, версия 3 или по-нова</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>за подробности.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring е сигурен и разпределен софтуер за общуване.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Клиентът на Ring за „Microsoft Windows Runtime“.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете псевдоним</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Редактиране на акаунта</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Добавяне на устройство</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Въведете ПИН</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Авт. отговор</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Устройства</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Научете повече</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Въведете паролата си</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Регистриране на публично потребителско име</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Споделяне</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Акаунти</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Тип на акаунта</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Контакти</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Научете повече</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Регистриране</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Повторете паролата</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете парола</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Устройство</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Скорост</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Разделителна способност</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Видео</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете име на сървър</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете парола</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете потребителско име</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Въведете потребителското си име</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>изчакване на списъка с устройства…</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Относно</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Декларация за поверителност</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Акаунтът Ви ще бъде изтрит от този компютър. На другите устройства няма да има промени. Публичната Ви регистрация не може да бъде изтрита по никакъв начин.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Акаунтът Ви ще бъде изтрит от този компютър.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Хората могат да Ви намерят по потребителското Ви име</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Вече имате регистрация.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Все още нямате регистрация.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Няма открит идентификатор на устройство!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>мрежова грешка!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Добавяне на съществуващ акаунт</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Създаване на нов акаунт</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Въведете пълното си име</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Парола за акаунта в Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Стъпка 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Стъпка 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Псевдоним</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Създаване на акаунт</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Отказ</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Акаунти</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Добавяне на акаунт</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Контакти</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Устройства</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Готово</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Свържи това устройство със съществуващ акаунт</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Изпращане на съобщение</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Добавяне към контактите</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Добавяне на устройство</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Затваряне</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Обаждане</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Добавяне на съществуващ акаунт</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Създаване на нов акаунт</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>С изображения от:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Създаден от:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ca/Resources.resw b/localization/ca/Resources.resw new file mode 100644 index 0000000..62c98fd --- /dev/null +++ b/localization/ca/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contactes</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Opcions</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vídeo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Àlies</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contactes</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Fet</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Enviar el missatge</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Opcions</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Afegir als contactes</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Trucada</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/cs-CZ/Resources.resw b/localization/cs-CZ/Resources.resw new file mode 100644 index 0000000..c7609a5 --- /dev/null +++ b/localization/cs-CZ/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>O aplikaci</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Zavřít</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Zásluhy</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Tento program je poskytován bez jakékoli záruky</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Podívejte se na</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, verze 3 nebo pozdější</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>na podrobnosti.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring je zabezpečený a distribuovaný komunikační program.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Klient prostředí Microsoft Windows pro Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Zadat přezdívku</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Upravit účet</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Přidat zařízení</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Zadejte PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Pro připojení tohoto zařízení k účtu Ringu nejprve musíte vytvořit PIN z Ringu na zařízení hostujícím účet.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Automatická odpověď</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Zařízení</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Naučit se více</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Zadejte své heslo</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Přijímat hovory a zprávy od osob nevystupujících pod vlastním jménem</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>Tvůrce PIN</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Zaregistrovat veřejné uživatelské jméno</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Sdílet</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>Prametry účtu SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Účty</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Typ účtu</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Účet se exportuje na Ring…</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>hledá</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Poslána žádost o kontakt</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Žádosti o kontakt</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Naučit se více</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Začátek času</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Zaregistrovat</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Zopakujte heslo</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Zadejte heslo</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Nastavení</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Zařízení</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rychlost</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Rozlišení</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Zadejte hostitelské jméno</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Zadejte heslo</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Zadejte uživatelské jméno</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Zadejte své uživatelské jméno</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>čeká se na seznam zařízení...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>O aplikaci</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring je svobodný software určený k univerzální komunikaci, který respektuje svobody a práva uživatelů.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Postoj k soukromí</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Váš účet bude smazán z tohoto počítače. Jiná zařízení nejsou tímto krokem ovlivněna. Vaši veřejnou registraci nelze smazat nikdy.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Váš účet bude smazán z tohoto počítače.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Lidé vás mohou najít pomocí vašeho uživatelského jména</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Již jste zaregistrován.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Ještě nejste zaregistrován.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Musíte poslat své ID Ringu.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Chyba v přihlašovacích údajích nebo vypršel PIN.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Nenalezeno ID zařízení!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>chyba sítě!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Přidat stávající účet</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Vytvořit nový účet</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Zadejte své celé jméno</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Heslo k účtu Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Krok 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Krok 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Přezdívka</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Zrušit</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Účty</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Přidat účet</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Vytvořit účet</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Žádosti o kontakt</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Zařízení</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Hotovo</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Propojit zařízení s již existujícím účtem</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Odeslat zprávu</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Nastavení</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Přidat do kontaktů</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Přidat zařízení</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Zavřít</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Volat</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Přidat stávající účet</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Vytvořit nový účet</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Grafika:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Vytvořili:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/da-DK/Resources.resw b/localization/da-DK/Resources.resw new file mode 100644 index 0000000..ff08809 --- /dev/null +++ b/localization/da-DK/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Om</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Luk</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Krediteringer</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Dette program leveres uden nogen form for garanti</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Se</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 eller nyere</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>detaljer.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring er et sikret og distribueret kommunikationsprogram.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Microsoft Windows Runtime klienten til Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Rediger konto</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Tilføj enhed</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Indtast PIN-kode</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>For at kunne tilknytte denne enhed til en Ring konto, skal du først generere en PIN fra Ring på en enhed som allerede er tilknyttet denne konto.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Besvar automatisk</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Enheder</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Find ud af mere</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Indtast dit kodeord</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accepter opkald og beskeder fra kontakter der er inkognito</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registrer offentligt brugernavn</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Del</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP konto parametre</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Konti</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Kontotype</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Eksporterer kontoen til Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>leder efter</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Kontaktforespørgsel afsendt</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Kontaktanmodninger</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Find ud af mere</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Tidernes morgen</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrér</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Gentag kodeord</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast kodeord</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Indstillinger</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Enhed</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Takst</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Opløsning</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast hostnavn</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast kodeord</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast brugernavn</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Indtast dit brugernavn</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>venter på enhedsliste...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Om</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring er fri software til universel kommunikation som respekterer sine brugeres frihed og privatliv.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privatlivspolitik</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Din konto vil blive slettet fra denne computer. Dette har ingen effekt på andre enheder. Din offentlige registrering kan aldrig blive slettet.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Din konto vil blive slettet fra denne computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Andre personer kan finde dig gennem dit brugernavn</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Du er allerede registreret.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Du er endnu ikke registreret.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Du bliver nødt til at sende dit ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Fejl med legitimationsoplysninger eller udløbet PIN.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Intet endheds-id fundet!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>netværksfejl!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Tilføj eksisterende konto</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Opret ny konto</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Indtast dit fulde navn</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring-konto kodeord</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Skridt 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Skridt 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Opret konto</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annuller</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Konti</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Tilføj konto</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Opret konto</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Kontaktanmodninger</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Enheder</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Færdig</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Tilnyt denne enhed til en eksisterende konto</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send besked</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Indstillinger</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Tilføj til kontakt</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Tilføj enhed</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Luk</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Ring op</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Tilføj eksisterende konto</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Opret ny konto</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Grafik af:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Skabt af:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/de-DE/Resources.resw b/localization/de-DE/Resources.resw new file mode 100644 index 0000000..12f3410 --- /dev/null +++ b/localization/de-DE/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Über</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Abspann</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Freigeben</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Kontos</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrieren</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Einstellungen</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Gerät</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Über</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Konto anlegen</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Abbrechen</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Kontos</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Konto hinzufügen</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Konto erstellen</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Nachricht senden</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Einstellungen</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Kontakte hinzufügen</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Anrufen</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/de/Resources.resw b/localization/de/Resources.resw new file mode 100644 index 0000000..7ed6044 --- /dev/null +++ b/localization/de/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Über</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Schließen</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Würdigung</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Dieses Programm kommt ohne jede Gewährleistung</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Lesen Sie die</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or aktueller</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.de.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>für Details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring ist sichere und dezentralisierte Software zur Kommunikation.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Die Microsoft Windows Anwendung für Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Aliasnamen eingeben</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Konto bearbeiten</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Gerät hinzufügen</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>PIN eingeben</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Um diese Gerät mit einem Ring-Konto zu verknüpfen, musst du dir erst auf dem Gerät, auf dem das Konto angemeldet ist, eine PIN generieren lassen.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Automatisch antworten</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Geräte</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Mehr erfahren</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Geben Sie Ihr Passwort ein</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Anrufe und Nachrichten von unerkannten Kontakten erlauben</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN Generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Öffentlichen Benutzernamen registrieren</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Teilen</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP Kontoeinstellungen</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Konten</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Kontotyp</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Das Konto wird zu Ring exportiert...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>suche nach</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Kontaktanfrage gesendet</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Kontaktanfragen</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Mehr erfahren</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Anfang der Zeit</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrieren</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Passwort wiederholen</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Passwort eingeben</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Einstellungen</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Gerät</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Auflösung</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Servername eingeben</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Passwort eingeben</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Benutzername eingeben</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Geben Sie ihren Benutzernamen ein</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>Warten auf die Geräteliste…</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Über</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring ist eine Freie Software für universelle Kommunikation und respektiert die Freiheiten und Privatsphäre der Benutzer.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Datenschutz-Bestimmungen</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Dein Konto wird von diesem Computer gelöscht werden. Andere Geräte bleiben unverändert. Deine Öffentliche Registrierung kann nicht gelöscht werden.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Dein Konto wird von diesem Computer gelöscht werden.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Unter diesem Namen können dich andere Leute finden</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Du bist bereits registriert.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Du bist noch nicht registriert.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Du musst deine Ring-ID senden.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Fehler mit den Anmeldeinformationen oder abgelaufene PIN.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Keine Gerätekennung gefunden!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>Netzwerkfehler</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Vorhandenes Konto hinzufügen</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Neues Konto erstellen</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Geben Sie Ihren vollständigen Namen ein</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring-Kontopasswort</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Schritt 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Schritt 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Konto erstellen</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Abbrechen</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Konten</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Konto hinzufügen</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Konto erstellen</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Kontaktanfragen</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Geräte</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Erledigt</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Dieses Gerät mit einem vorhandenen Konto verknüpfen</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Nachricht senden</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Einstellungen</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Zu Kontakten hinzufügen</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Gerät hinzufügen</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Schließen</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Anruf</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Vorhandenes Konto hinzufügen</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Neues Konto erstellen</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Visuelle Gestaltung:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Erstellt von:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/el/Resources.resw b/localization/el/Resources.resw new file mode 100644 index 0000000..3224f63 --- /dev/null +++ b/localization/el/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Περί</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Μονάδες</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Συσκευές</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Λογαριασμοί</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Εξαγωγή λογαριασμού στο Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Επαφές</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Εγγραφή</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Ρυθμίσεις</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Συσκευή</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Βίντεο</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Περί</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Το Ring είναι ελεύθερο λογισμικό για παγκόσμια επικοινωνία που σέβεται τις ελευθερίες και την ιδιωτικότητα των χρηστών του.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Ψευδώνυμο</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Ακύρωση</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Λογαριασμοί</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Προσθήκη λογαριασμού</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Επαφές</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Συσκευές</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Σύνδεση αυτής της συσκευής σε έναν λογαριασμό που ήδη υπάρχει</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Στείλε μήνυμα</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Ρυθμίσεις</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Προσθήκη στις επαφές</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Κλήση</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/en-GB/Resources.resw b/localization/en-GB/Resources.resw new file mode 100644 index 0000000..7ef237a --- /dev/null +++ b/localization/en-GB/Resources.resw @@ -0,0 +1,522 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Release: Beta 2 - Gaston Miron</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact.</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent.</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id.</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added.</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added.</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid.</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found.</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> \ No newline at end of file diff --git a/localization/en-US/Resources.resw b/localization/en-US/Resources.resw new file mode 100644 index 0000000..189aec3 --- /dev/null +++ b/localization/en-US/Resources.resw @@ -0,0 +1,561 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is a free and universal communication platform which preserves the users' privacy and freedoms.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_welcome_.Text" xml:space="preserve"> + <value>Welcome to</value> + </data> +</root> \ No newline at end of file diff --git a/localization/en/Resources.resw b/localization/en/Resources.resw new file mode 100644 index 0000000..a566a1b --- /dev/null +++ b/localization/en/Resources.resw @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Release: Beta 2 - Gaston Miron</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact.</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent.</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id.</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added.</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added.</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid.</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found.</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> +</root> \ No newline at end of file diff --git a/localization/eo/Resources.resw b/localization/eo/Resources.resw new file mode 100644 index 0000000..2d23329 --- /dev/null +++ b/localization/eo/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Pri</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Kredito</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Aparatoj</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Kunhavi</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Kontoj</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Elportanta konton sur Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontaktoj</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registri</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Agordoj</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Aparato</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Datumrapido</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Distingivo</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Pri</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring estas libera programo por universala komunikado, kiu respektas liberon kaj privatecon de siaj uzantoj.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Kaŝnomo</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Krei Konton</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Rezigni</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Kontoj</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Aldoni konton</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontaktoj</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Aparatoj</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Finita</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Ligi ĉi tiun aparaton al ekzistanta konto</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Sendi mesaĝon</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Agordoj</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Aldoni al kontaktoj</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Voko</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Grafiko de:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Kreita de:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/es/Resources.resw b/localization/es/Resources.resw new file mode 100644 index 0000000..3226c1b --- /dev/null +++ b/localization/es/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Acerca de</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Cerrar</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Créditos</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Este programa viene con absolutamente ninguna garantía</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Ver</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>Licencia Pública General GNU, versión 3 o posterior</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>para detalles.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring es un programa de comunicación seguro y distribuido.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>El cliente de Microsoft Windows Runtime para Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Introducir alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Editar cuenta</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Agregar dispositivo</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Ingresa tu PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Para asociar este dispositivo a una cuenta Ring primero debes generar un PIN desde un dispositivo previamente dado de alta en la cuenta</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Respuesta automática</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Dispositivos</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Más información</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Ingresa tu contraseña</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Aceptar llamadas y mensajes de los contactos anónimos</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>Generador de PIN</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registrar nombre de usuario público</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Compartir</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>Parámetros de la cuenta SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Cuentas</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Tipo de cuenta</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exportando cuenta en Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>buscando</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Solicitud de contacto enviada</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Solicitudes de contacto</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contactos</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Más información</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Principio de los tiempos</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrar</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repite la contraseña</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Ingresa la contraseña</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Configuración</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Dispositivo</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Tasa</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolución</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vídeo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Nombre del equipo</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Ingresa la contraseña</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Introducir nombre de usuario</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Introduzca su nombre de usuario</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>esperando la lista de dispositivos...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Acerca de</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring es software libre de comunicaciones que respeta las libertades y privacidad de sus usuarios.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Política de privacidad</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Se borrará la cuenta de este equipo. Esto no afecta a otros dispositivos. El registro público del usuario no se puede eliminar.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Se borrará la cuenta en este equipo.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>La gente puede encontrarte mediante tu nombre de usuario</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Ya estabas registrado previamente</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Aún no estás registrado.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Tendrás que enviar tu RingId</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Error de credenciales o PIN caducado</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>¡No se encuentra el identificador del dispositivo!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>¡Error en la red!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Agregar cuenta existente</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Crear nueva cuenta</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Introduce tu nombre completo</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Contraseña de la cuenta Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Paso 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Paso 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Crear Cuenta</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancelar</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Cuentas</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Agregar cuenta</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contactos</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Crear cuenta</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Solicitudes de contacto</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Dispositivos</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Hecho</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Vincular este dispositivo con una cuenta existente</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Enviar mensaje</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Configuración</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Añadir a contactos</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Agregar dispositivo</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Cerrar</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Llamar</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Agregar cuenta existente</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Crear nueva cuenta</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Diseñado por:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Creado por:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/et-EE/Resources.resw b/localization/et-EE/Resources.resw new file mode 100644 index 0000000..1e7a157 --- /dev/null +++ b/localization/et-EE/Resources.resw @@ -0,0 +1,336 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Release: Beta 2 - Gaston Miron</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact.</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent.</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id.</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added.</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added.</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid.</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found.</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> +</root> diff --git a/localization/fa-IR/Resources.resw b/localization/fa-IR/Resources.resw new file mode 100644 index 0000000..aa587a2 --- /dev/null +++ b/localization/fa-IR/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>درباره</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>بستن</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>دستاندرکاران</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>این برنامه بدون هیچ ضمانتی عرضه شده.</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>دیدن</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>جوازنامه عمومی گنو نسخه ۳ و ۳ به بعد</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>جزئیات</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring نرمافزار امن و توزیع شده ارتباطی است.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>ویرایش حسابکاربری</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>اضافهکردن دستگاه</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>پین را وارد کنید</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>پاسخ خودکار</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>افزارهها</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>اطلاعات بیشتر</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>گذرواژهتان را وارد کنید</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>قبول پیام و تماس از طرف مخاطب ناشناس</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>رمز ساز</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>ثبت نامکاربری عمومی</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>همرسانی</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>مشخصات حساب SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>حسابها</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>نوع حساب</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>درخواست تماس ارسال شد</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>مخاطبان</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>اطلاعات بیشتر</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>ثبتنام</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>گذرواژه را وارد کنید</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>تنظیمات</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>دستگاه</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>رتبه</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>ویدیو</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>گذرواژه را وارد کنید</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>درباره</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>رینگ یک نرمافزار ارتباطات عمومی است که به آزادیها و حریم شخصی کاربرانش احترام میگذارد.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>نام کامل خود را وارد کنید</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>نام مستعار</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>لغو</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>حسابها</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>افزودن حساب</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>مخاطبان</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>ایجاد حساب</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>افزارهها</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>ارسال پیام</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>تنظیمات</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>افزودن به مخاطبان</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>اضافهکردن دستگاه</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>بستن</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>برقراری تماس</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>ساختهشده توسط:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/fi/Resources.resw b/localization/fi/Resources.resw new file mode 100644 index 0000000..0876d53 --- /dev/null +++ b/localization/fi/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Tietoa</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Jako</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Tunnukset</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Yhteystiedot</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Rekistöröi</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Asetukset</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Laite</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Arvostele</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Tarkkuus</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Tietoa</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Lempinimi</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Peru</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Tunnukset</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Lisää tunnus</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Yhteystiedot</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Valmis</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Lähetä viesti</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Asetukset</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Lisää yhteystietoihin</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Soita</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Grafiikka:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Luonut:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/fr-CA/Resources.resw b/localization/fr-CA/Resources.resw new file mode 100644 index 0000000..7ccf941 --- /dev/null +++ b/localization/fr-CA/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>À propos</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Crédits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Entrer le NIP</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Appareils</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Inscription</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Entrer le mot de passe</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Réglages</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Appareil</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Résolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vidéo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entrer le mot de passe</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>À propos</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Créer un compte</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Appareils</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Envoyer le message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Réglages</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Ajouter aux contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Appeler</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Créé par:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/fr-FR/Resources.resw b/localization/fr-FR/Resources.resw new file mode 100644 index 0000000..aba6c77 --- /dev/null +++ b/localization/fr-FR/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Réglages</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vidéo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Envoyer un message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Réglages</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Ajouter dans les contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Appel</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/fr/Resources.resw b/localization/fr/Resources.resw new file mode 100644 index 0000000..e4c7c47 --- /dev/null +++ b/localization/fr/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>À Propos</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Fermer</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Crédits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Ce programme est proposé sans aucune garantie</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez l'alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Éditer le compte</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Ajouter un appareil</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Entrez votre code PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Décrocher automatiquement</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Appareils</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>En savoir plus</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Entrer votre mot de passe</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accepter les appels et messages de contacts inconnus</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Enregistrer un nom d'utilisateur public</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Partager</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>Paramètres du compte SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Type de compte</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Export du compte sur le Ring…</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>rechercher</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Invitations</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>En savoir plus</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Enregistrer</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Confirmez le mot de passe</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez le mot de passe</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Paramètres</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Appareil</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Débit</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Résolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vidéo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez le nom d'hôte</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez le mot de passe</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez le nom d'utilisateur</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entrez votre nom d'utilisateur</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>À Propos</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring est un logiciel libre de communication universelle qui respecte les libertés et la vie privée de ses utilisateurs.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Votre compte va être supprimé de cet ordinateur</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Les gens peuvent vous trouver avec votre nom d'utilisateur</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Vous êtes déjà enregistré</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Vous n'êtes pas encore enregistré</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Créer un nouveau compte</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Entrez votre nom complet</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Mot de passe du compte Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Étape 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Étape 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Nom du compte</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Créer un compte</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Comptes</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Créer un nouveau compte</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Ajouter le compte</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Créer le compte</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Invitations</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Appareils</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Effectué</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Lier cet appareil à un compte existant</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Envoyer le message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Paramètres</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Ajouter aux contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Ajouter un appareil</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Fermer</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Appelez</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Créer un nouveau compte</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Graphismes par :</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Créé par :</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/he/Resources.resw b/localization/he/Resources.resw new file mode 100644 index 0000000..5de5f87 --- /dev/null +++ b/localization/he/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>אודות</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>תודות</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>חשבונות</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>אנשי קשר</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>הירשם</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>הגדרות</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>מכשיר</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>רזולוציה</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>וידאו</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>אודות</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>כינוי</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>צור חשבון</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>ביטול</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>חשבונות</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>הוסף חשבון</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>אנשי קשר</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>סיים</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>שלח הודעה</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>הגדרות</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>קריאה</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/hi-IN/Resources.resw b/localization/hi-IN/Resources.resw new file mode 100644 index 0000000..cb31d17 --- /dev/null +++ b/localization/hi-IN/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>वीडियो</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>रिंग हर तरह के संवाद के लिये एक मुक्त/स्विधीन साॅफ्टवेयर है, जो अपने उपभोक्ताओं की स्वाधीनता व गोपनीयता का सम्मान करता है</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/hr/Resources.resw b/localization/hr/Resources.resw new file mode 100644 index 0000000..ea1de97 --- /dev/null +++ b/localization/hr/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>O programu</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Zasluge</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Podijeli</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Računi</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakti</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registriraj</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Unesite lozinku</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Postavke</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Uređaj</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Prijenos</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Razlučivost</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Unesite lozinku</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>O programu</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Unesite vaše puno ime</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>napravi račun</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Poništi</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Računi</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Dodaj račun</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakti</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Napravi račun</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Učinjeno</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Pošalji poruku</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Postavke</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Dodaj u kontakte</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Nazovi</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Napravio:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/hu/Resources.resw b/localization/hu/Resources.resw new file mode 100644 index 0000000..a60a469 --- /dev/null +++ b/localization/hu/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Névjegy</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Készítők</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Eszközök</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Fiókok</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Partnerkérelem elküldve</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Partnerek</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Regisztráció</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Beállítások</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Eszköz</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Felbontás</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Videó</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Névjegy</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring a szabad szoftver az univerzális kommunikációhoz, amely tiszteletben tartja a felhasználók szabadságát és magánéletét.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Álnév</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Mé_gse</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Fiókok</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Névjegyzék</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Fiók létrehozása</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Eszközök</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Kész</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Ezt az eszköz csatlakoztassa egy másik eszközön létrehozott RING-fiókhoz</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Üzenet küldése</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Beállítások</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Hozzáadás a partnerekhez</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Hívás</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Művészi elemek készítője:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Szerző:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/id/Resources.resw b/localization/id/Resources.resw new file mode 100644 index 0000000..cb0d3b2 --- /dev/null +++ b/localization/id/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontak</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontak</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Kirim pesan</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Tambah sebagai kontak</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/it-IT/Resources.resw b/localization/it-IT/Resources.resw new file mode 100644 index 0000000..f809af6 --- /dev/null +++ b/localization/it-IT/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Info</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Chiudi</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Crediti</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Questo programma viene fornito senza alcuna garanzia</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, versione 3 o successiva</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>per dettagli.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring è un software per comunicazioni sicure e distribuite.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Il client Microsoft Windows Runtime per Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Inserisci un alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Modifica l'account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Aggiungi dispositivo</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Inserisci il PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Per collegare questo dispositivo ad un account Ring, devi prima generare un PIN su un dispositivo con quell'account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Risposta automatica</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Dispositivi</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Scopri di più</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Inserisci la tua password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accetta chiamate e messaggi da contatti sconosciuti</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>generatore di condici PIN</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registra nome utente pubblico</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Condividi</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>parametri dell'account SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Tipo di account</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Esportando l'account su Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>in cerca di</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Richiesta di contatto inviata</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Richieste di contatto.</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contatti</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Scopri di più</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Salva</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Ripeti la password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Inserire password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Opzioni</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Dispositivo</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Velocità</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Risoluzione</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Inserire il nome dell'host</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Inserire password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Inserire il nome utente</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Inserisci il tuo nome utente</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>in attesa della lista dei dispositivi...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Info</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring è software libero per la comunicazione universale che rispetta le libertà e la privacy dei suoi utenti.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Sei già registrato.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Non sei ancora registrato.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Devi inviare il tuo RingID</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Errore delle credenziali o PIN scaduto.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Nessun ID del dispositivo trovato!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>errore di rete!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Aggiunti un account esistente</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Crea un nuovo account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Inserisci il tuo nome completo</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Password dell'account Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Passo 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Passo 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annulla</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contatti</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Crea account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Richieste di contatto.</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Dispositivi</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Collega questo dispositivo ad un account esistente</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Invia messaggio</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Opzioni</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Aggiungi alla rubrica</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Aggiungi dispositivo</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Chiudi</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Chiamata</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Aggiunti un account esistente</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Crea un nuovo account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Tema di:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Creato da:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/it/Resources.resw b/localization/it/Resources.resw new file mode 100644 index 0000000..c5c3d2d --- /dev/null +++ b/localization/it/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contatti</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Impostazioni</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancella</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Aggiungiere un account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contatti</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Invia messaggio</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Impostazioni</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Aggiungi contatti</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Chiama</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ja/Resources.resw b/localization/ja/Resources.resw new file mode 100644 index 0000000..b2240bc --- /dev/null +++ b/localization/ja/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>閉じる</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>クレジット</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>PINを入力してください</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>端末</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>パスワードを入力してください</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>共有</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>アカウント</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>連絡先のリクエストを送信しました</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>連絡先</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>登録</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>パスワードを入力してください</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>端末</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>レート</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>動画</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>パスワードを入力してください</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring は、ユーザーの自由とプライバシーを尊重する普遍的なコミュニケーションのためのフリーソフトウェアです。</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>別名</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>キャンセル</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>アカウント</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>連絡先</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>アカウント作成</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>端末</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>メッセージを送信</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>連絡先に追加</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>閉じる</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>通話</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/lt/Resources.resw b/localization/lt/Resources.resw new file mode 100644 index 0000000..23562be --- /dev/null +++ b/localization/lt/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Apie</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Užverti</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Padėkos</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Ši programa teikiama be jokios garantijos</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Žiūrėkite </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU Bendrąją Viešąją Licenciją, versiją 3 arba vėlesnę</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>, norėdami sužinoti daugiau.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring yra saugi ir paskirstytoji susisiekimo programinė įranga.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Taisyti paskyrą</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Pridėti įrenginį</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Įveskite PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Įrenginiai</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Sužinoti daugiau</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP paskyros parametrai</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Paskyros</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Paskyros tipas</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Eksportuojama paskyra Ring sistemoje...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>ieškoma </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Kontakto užklausa išsiųsta</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Kontakto užklausos</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontaktai</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Sužinoti daugiau</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registruoti</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Pakartokite slaptažodį</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Įveskite slaptažodį</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Nustatymai</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Įrenginys</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Raiška</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vaizdas</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Įveskite kompiuterio vardą</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Įveskite slaptažodį</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Įveskite naudotojo vardą</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Įveskite savo naudotojo vardą</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>laukiama įrenginių sąrašo...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Apie</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring yra visuotiniam susisiekimui skirta laisva programinė įranga, kuri gerbia savo naudotojų laisves ir privatumą.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privatumo politika</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Jūsų paskyra bus ištrinta iš šio kompiuterio.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Jums reikės išsiųsti savo ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>tinklo klaida!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Pridėti esamą paskyrą</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Sukurti naują paskyrą</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Įrašykite savo vardą</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring paskyros slaptažodis</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>1 žingsnis</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>2 žingsnis</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Slapyvardis</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Sukurti paskyrą</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Atsisakyti</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Paskyros</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Pridėti paskyrą</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontaktai</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Sukurti paskyrą</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Kontakto užklausos</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Įrenginiai</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Atlikta</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Susieti šį įrenginį su esama paskyra</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Siųsti žinutę</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Nustatymai</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Pridėti prie kontaktų</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Pridėti įrenginį</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Užverti</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Skambutis</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Pridėti esamą paskyrą</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Sukurti naują paskyrą</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Apipavidalino:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Sukūrė:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ms/Resources.resw b/localization/ms/Resources.resw new file mode 100644 index 0000000..7894ed4 --- /dev/null +++ b/localization/ms/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Tentang</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Kredit</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Masukkan PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Perangkat</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Masukkan kata laluan anda</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Akaun</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kenalan</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Daftar</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Masukkan kata laluan</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Tetapan</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Masukkan kata laluan</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Tentang</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Nama panggilan</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Batal</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Akaun</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kenalan</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Cipta akaun</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Perangkat</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Hantar pesan</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Tetapan</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Tambahkan sebagai kenalan</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Panggilan</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Kerja seni oleh:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Dicipta oleh:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/nb/Resources.resw b/localization/nb/Resources.resw new file mode 100644 index 0000000..1adbba7 --- /dev/null +++ b/localization/nb/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Kontoer</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrer</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Innstillinger</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Enhet</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Lag konto</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Avbryt</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Kontoer</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Legg til konto</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Ferdig</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send melding</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Innstillinger</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Legg til kontakter</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Ring</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/nl-NL/Resources.resw b/localization/nl-NL/Resources.resw new file mode 100644 index 0000000..9d5b659 --- /dev/null +++ b/localization/nl-NL/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registreren</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Instellingen</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Beeld</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Account Aanmaken</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Instellingen</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Voeg toe aan contacten</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Bellen</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/nl/Resources.resw b/localization/nl/Resources.resw new file mode 100644 index 0000000..5b7047f --- /dev/null +++ b/localization/nl/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Over</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Sluiten</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Met dank aan</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Op dit programma zit geen enkele garantie</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Zie de</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, versie 3 of hoger</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>voor details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is software voor beveiligde en gedistribueerde communicatie.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>De Microsoft Windows Runtime-cliënt voor Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Voer een alias in</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Account wijzigen</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Apparaat toevoegen</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Voer pincode in</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Om dit apparaat te koppelen aan een Ring-account moet je eerst een pincode genereren op een apparaat waarop je Ring-account staat.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Automatisch beantwoorden</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Apparaten</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Meer informatie</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Voer je wachtwoord in</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Aanvaard oproepen en berichten van anonieme contacten</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>Pincodegenerator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registreer een publieke gebruikersnaam</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Delen</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP-accountparameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Accounttype</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Account wordt geëxporteerd naar de Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>zoekende naar</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>heeft je toegevoegd als contactpersoon</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contactverzoek verzonden</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contactverzoeken</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacten</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Meer informatie</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Begin der tijden</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registreren</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Herhaal wachtwoord</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Voer wachtwoord in</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Instellingen</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Apparaat</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolutie</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Voer hostnaam in</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Voer wachtwoord in</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Voer gebruikersnaam in</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Voer je gebruikersnaam in</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>wachten op apparatenlijst...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Over</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is vrije software voor universele communicatie, die de vrijheden en privacy van haar gebruikers eerbiedigt.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacybeleid</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Je account zal worden verwijderd van deze computer. Op andere apparaten heeft dit geen invloed. Je publieke registratie kan nooit worden verwijderd.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Je account wordt verwijderd van deze computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Mensen kunnen je vinden met je gebruikersnaam</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Je bent reeds geregistreerd.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Je bent nog niet geregistreerd.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Je zult je Ring-ID moeten sturen.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Fout in inloggegevens of pincode is verlopen.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Geen apparaat-ID gevonden!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>je hebt al een contact met deze Ring-ID</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>netwerkfout!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>Ring-ID toegevoegd</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>gebruikersnaam gevonden en toegevoegd</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>ongeldige gebruikersnaam</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>gebruikersnaam niet gevonden</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Bestaande account toevoegen</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Nieuwe account aanmaken</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Voer je volledige naam in</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring-accountwachtwoord</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Stap 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Stap 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Account aanmaken</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account ingeschakeld</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Geblokkeerde contacten verbergen</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Geblokkeerde contacten weergeven</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>Geen verbinding beschikbaar</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accountwijzigingen aanvaarden</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Aanvaard de inkomende oproep</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Voeg deze gebruiker toe aan je contacten</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Annuleren</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Nieuwe account aanmaken</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Volgende stap</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Account toevoegen</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Deblokkeer en voeg deze gebruiker toe aan je contacten</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Voeg een nieuw apparaat toe aan deze account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start een audiogesprek</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Blokkeer deze gebruiker zodat deze geen contact meer met je kan opnemen</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(de gebruiker kan gedeblokkeerd worden in de Accountinstellingen)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Accountwijzigingen verwerpen</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Annuleer de uitgaande oproep</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Berichtvensteroriëntatie aanpassen</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Dit gesprek wissen</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacten</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Account aanmaken</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contactverzoeken</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Apparaten</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Klaar</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open de Accountinstellingen</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Start/Over</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Negeer het contactverzoek van deze gebruiker</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Dit apparaat aan een bestaande account koppelen</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Pincodegeneratie annuleren</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Pincode voor account genereren</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Weiger de inkomende oproep</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Dit contact verwijderen</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Apparaat de toegang tot deze account ontzeggen</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Bericht versturen</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Instellingen</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>QR-code en Ring-ID weergeven</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start een videogesprek</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>TURN-server inschakelen</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Aan contacten toevoegen</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audiocodec:</value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Beelden per seconde:</value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resolutie:</value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Videocodec:</value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Apparaat toevoegen</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Zoeken naar nieuwe of bestaande contacten</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Zoeken naar nieuwe of bestaande contacten</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>Dit apparaat</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN-serveradres</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Account verwijderen</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Typ een bericht</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Sluiten</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Toevoegen aan groepsgesprek</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Oproep</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Ring-ID kopiëren</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Naam</value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Netwerk niet beschikbaar</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Andere gekoppelde apparaten</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Contact verwijderen</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Bestaande account toevoegen</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Nieuwe account aanmaken</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>nooit gebeld</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Illustraties door:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Geschreven door:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Dit apparaat wordt toegevoegd...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Account wordt aangemaakt...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Account wordt verwijderd...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Pincode wordt aangemaakt</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Apparaat met volgende ID wordt ingetrokken:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Account wordt bijgewerkt...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Contact verwijderen</value> + </data> +</root> diff --git a/localization/pa/Resources.resw b/localization/pa/Resources.resw new file mode 100644 index 0000000..7aaeb24 --- /dev/null +++ b/localization/pa/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>ਸੈਟਿੰਗ</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Accounts</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>ਸੈਟਿੰਗ</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/pl/Resources.resw b/localization/pl/Resources.resw new file mode 100644 index 0000000..78d881c --- /dev/null +++ b/localization/pl/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>O programie</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Zamknij</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Podziękowania</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Ten program nie daje absolutnie żadnej gwarancji.</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Zobacz</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, wersja 3 lub późniejsza</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>aby uzyskać szczegółowe informacje.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring jest zabezpieczonym i rozproszonym oprogramowaniem do komunikacji.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Wprowadź PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Podziel się</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Konta</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Wysłano zaproszenie</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Zarejestruj</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Wprowadź hasło</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Ustawienia</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Urządzenie</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Szybkość</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Rozdzielczość</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Wideo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Wprowadź hasło</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>O programie</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Wprowadź swoje imię i nazwisko</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Nazwa konta</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Stwórz konto</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Anuluj</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Konta</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Dodaj konto</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Stwórz konto</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Gotowe</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Wyślij wiadomość</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Ustawienia</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Dodaj do kontaków</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Zamknij</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Dzwoń</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Obrazki przez:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Stworzone przez:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/pt-BR/Resources.resw b/localization/pt-BR/Resources.resw new file mode 100644 index 0000000..b76340e --- /dev/null +++ b/localization/pt-BR/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Sobre</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Fechar</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Créditos</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Este programa vem com absolutamente sem nenhuma garantia</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Veja a</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>Licença GNU General Public, versão 3 ou superior</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.pt-br.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>para detalhes.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring é um software de comunicação seguro e distribuído.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Cliente Ring para Microsoft Windows Runtime.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Entre com o apelido</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Editar Conta</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Adicionar Dispositivo</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Entre o PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Para vincular este dispositivo a sua conta Ring, primeiramente você terá que gerar um PIN a partir do Ring em um dispositivo hospedando a conta.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto atender</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Dispositivos</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Aprenda mais</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Entre sua senha</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Aceitar chamadas e mensagens de contatos anônimos</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>Gerador de PIN</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registrar nome de usuário público</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Compartilhar</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>Parâmetros de configuração da conta SIP</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Contas</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Tipo de conta</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exportando conta no Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>procurando por</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Solicitação de contato enviada</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Solicitações de Contatos</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contatos</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Aprenda mais</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Início do Tempo</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrar</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repita sua senha</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Entre a senha</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Configurações</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Dispositivo</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Taxa</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolução</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vídeo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entre com o nome do servidor</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entre a senha</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Entre o nome de usuário</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Entre seu nome de usuário</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>aguardando por lista de dispositivos...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Sobre</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring é um software livre para comunicação universal que respeita as liberdades e privacidade de seus usuários.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Política de Privacidade</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Sua conta será removida deste computador. Outros dispositivos não serão afetados. Seu registro público nunca poderá ser removido.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Sua conta será removida deste computador.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>As pessoas podem te encontrar pelo seu nome de usuário</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Você já está registrado.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Você ainda não está registrado.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Você terá que enviar seu ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Erro de credenciais ou PIN expirado.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Nenhum ID de dispositivo encontrado!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>erro de conectividade!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Adicionar Conta Existente</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Criar Nova Conta</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Insira seu nome completo</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Senha da conta Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Passo 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Passo 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Apelido</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Criar Conta</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancelar</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Contas</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Adicionar conta</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contatos</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Criar conta</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Solicitações de Contatos</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Dispositivos</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Feito</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Associar este dispositivo à uma conta existente</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Enviar mensagem</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Configurações</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Adicionar aos contatos</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Adicionar Dispositivo</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Fechar</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Chamar</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Adicionar Conta Existente</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Criar Nova Conta</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork por:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Criado por:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/pt/Resources.resw b/localization/pt/Resources.resw new file mode 100644 index 0000000..e28ce4c --- /dev/null +++ b/localization/pt/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Contas</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contatos</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Configurações</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Vídeo</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Apelido</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Contas</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contatos</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Concluido</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Enviar mensagem</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Configurações</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Adicionar aos contactos</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Chamada</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ro/Resources.resw b/localization/ro/Resources.resw new file mode 100644 index 0000000..26675b0 --- /dev/null +++ b/localization/ro/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credite</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Conturi</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrare</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Setari</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Device</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>About</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Cancel</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Conturi</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Contacts</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Trimite messajul</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Setari</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Adaugă la contacte</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Sună</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ru-RU/Resources.resw b/localization/ru-RU/Resources.resw new file mode 100644 index 0000000..c9db5e8 --- /dev/null +++ b/localization/ru-RU/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>О продукте</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Кредиты</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Поделится</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Учетные записи</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Контакты</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Зарегистрировать</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Устройство</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Разрешение</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Видео</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>О продукте</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Псевдоним</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Отмена</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Учетные записи</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Добавить аккаунт</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Контакты</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Ок</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Отправить сообщение</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Добавить контакт</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Вызов</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value><html><head/><body><p align="center"><span style=" font-size:10pt; color:#aeaeae;">Это ваш RingID.</span></p><p align="center"><span style=" font-size:10pt; color:#aeaeae;">Скопировать и поделиться с друзьями!</span></p></body></html></value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/ru/Resources.resw b/localization/ru/Resources.resw new file mode 100644 index 0000000..69e24a9 --- /dev/null +++ b/localization/ru/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>О программе</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Закрыть</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Благодарности</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>Эта программа поставляется без каких-либо гарантий</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>См. </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>Стандартная общественная лицензия GNU (GPL), версия 3 или более поздняя</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.ru.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>для получения более подробной информации.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring — это безопасная и распределённая программа для общения.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Клиент RIng для Microsoft Windows</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Введите псевдоним</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Изменить аккаунт</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Добавить устройство</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Введите PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>Чтобы привязать это устройство к аккаунту Ring, надо сперва сгенерировать PIN на устройстве, на котором размещён аккаунт.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Автоответ</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Устройства</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Узнать больше</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Введите ваш пароль</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Принимать звонки и сообщения от инкогнито пользователей</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>Генератор PIN</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Зарегистрировать публичное имя</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Поделиться</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>Настройки SIP аккаунта</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Аккаунты</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Тип учётной записи</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Экспорт аккаунта в сеть Ring…</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>поиск</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Запрос на добавление в контакты отправлен</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Запросы на добавление в контакты</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Контакты</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Узнать больше</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Начало времени</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Регистрация</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Повторите пароль</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Введите пароль</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Устройство</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Тариф</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Разрешение</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Видео</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Введите имя сервера</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Введите пароль</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Введите имя пользователя</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Введите ваше имя пользователя</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>ожидание списка устройств…</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>О программе</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring — это свободная программа для всеобщей связи, уважающая свободы и конфиденциальность ее пользователей.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Политика конфиденциальности</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Ваш аккаунт будет удалён с этого компьютера. Это действие не затронет другие устройства. Ваш публичный аккаунт не может быть удалён.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Ваш аккаунт будет удалён с этого компьютера.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Люди смогут найти вас по вашему имени пользователя</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Вы уже зарегистрированы.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Вы ещё не зарегистрированы.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Нужно отправить свой Ring ID.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Неверные учётные данные или PIN просрочен</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Не найден идентификатор устройства!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>ошибка сети!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Добавить существующий аккаунт</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Создать новый аккаунт</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Введите ваше полное имя</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Пароль аккаунта Ring</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Шаг 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Шаг 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Псевдоним</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Создать учётную запись</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Отмена</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Аккаунты</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Добавить учётную запись</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Контакты</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Создать аккаунт</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Запросы на добавление в контакты</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Устройства</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Готово</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Привязать это устройство к существующему аккаунту</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Отправить сообщение</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Настройки</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Добавить в контакты</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Добавить устройство</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Закрыть</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Звонок</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Добавить существующий аккаунт</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Создать новый аккаунт</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Дизайн:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Авторы проекта:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/sk-SK/Resources.resw b/localization/sk-SK/Resources.resw new file mode 100644 index 0000000..1ccaf12 --- /dev/null +++ b/localization/sk-SK/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>O programe</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Zariadenia</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Účet</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Nastavenie</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Zariadenie</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>O programe</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Zruš</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Účet</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakty</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Zariadenia</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Vyšli správu</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Nastavenie</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Add to contacts</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Volaj</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/sq-AL/Resources.resw b/localization/sq-AL/Resources.resw new file mode 100644 index 0000000..02cf7d7 --- /dev/null +++ b/localization/sq-AL/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Mbi</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Kredite</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Jepni PIN-in</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Pajisje</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Jepni fjalëkalimin tuaj</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Llogari</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Regjistrohuni</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Jepni fjalëkalimin</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Rregullime</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Pajisje</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Resolution</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Jepni fjalëkalimin</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Mbi</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring është software i lirë për komunikim universal që respekton privatësinë e përdoruesve të tij.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Jepni emrin tuaj të plotë</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Anuloje</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Llogari</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakte</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Krijoni llogari</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Pajisje</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Dërgoje mesazhin</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Rregullime</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Shtoje te kontaktet</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Përkujdesja grafike:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Krijuar nga:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/sv/Resources.resw b/localization/sv/Resources.resw new file mode 100644 index 0000000..13e6784 --- /dev/null +++ b/localization/sv/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Om</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Stäng</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Tack till</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>För det här programmet lämnas inga som helst garantier</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Se</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public Licens, version 3 eller senare</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>för fler detaljer</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring är en säker och distribuerad kommunikationsmjukvara</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Windows-klienten för för Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Ange alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Redigera konto</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Lägg till enhet</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Ange PIN-kod</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>För att länka en enhet till ett Ring-konto, måste du först generera en PIN-kod på en enhet som redan har ett aktivt konto.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Automatiskt svar</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Enheter</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Läs mer</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Ange ditt lösenord</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Acceptera samtal och meddelanden från inkognito kontakter</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN-generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Registrera offentligt användarnamn</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Dela</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP-kontoparametrar</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Konton</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Kontotyp</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporterar Ring-konto...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>söker efter</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>har lagt till dig som kontakt</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Kontaktförfrågan skickad</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Kontaktförfrågningar</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Läs mer</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Tidens början</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Registrera</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Upprepa lösenordet</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Ange lösenord</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Inställningar</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Enhet</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Frekvens</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Upplösning</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Video</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Ange värdnamn</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Ange lösenord</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Ange användarnamn</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Ange ditt användarnamn</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>väntar på enhetslistan...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Om</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring är fri mjukvara för universell kommunikation, med respekt för användarens frihet och integritet.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Sekretesspolicy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Ditt konto kommer att tas bort från denna dator. Andra enheter påverkas inte. Din offentliga registrering kan aldrig tas bort.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Ditt konto kommer att tas bort från denna dator.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>Folk kan hitta dig med hjälp av ditt användarnamn</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Du är redan registrerad</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Du är ännu inte registrerad.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>Du måste skicka ditt Ring-ID.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Fel inloggningsuppgifter eller utgången PIN-kod.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>Inget enhets-ID hittades!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>du har redan en kontakt med detta Ring-ID</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>Nätverksfel!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>Ring-ID tillagt</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>användarnamnet hittat och tillagt</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>användarnamnet ogiltigt</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>användarnamnet hittades inte</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Lägg till befintligt konto</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Skapa nytt konto</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Ange ditt fullständiga namn</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring-kontolösenord</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Steg 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Steg 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Alias</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Skapa konto</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Kontot aktiverat</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Dölj bannlysta kontakter</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Visa bannlysta kontakter</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>Ingen anslutning tillgänglig</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Acceptera kontoändringar</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Acceptera det inkommande samtalet</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Lägg till den här användaren till dina kontakter</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Avbryt</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Konton</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Skapa ett nytt konto</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Nästa steg</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Lägg till konto</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Avblockera och lägg till denna användare till dina kontakter</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Lägg till en ny enhet till detta konto</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Starta ett röstsamtal</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Blockera denna användare från vidare kontakt</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kontakter</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Skapa konto</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Kontaktförfrågningar</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Enheter</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Klar</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Koppla den här enheten till ett befintligt konto</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Skicka meddelande</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Inställningar</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Lägg till i kontakter</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Lägg till enhet</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Stäng</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Samtal</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Lägg till befintligt konto</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Skapa nytt konto</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Bildkonst av:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Skapad av:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/tr/Resources.resw b/localization/tr/Resources.resw new file mode 100644 index 0000000..b903ee6 --- /dev/null +++ b/localization/tr/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Hakkında</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Kapat</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Krediler</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>Bakınız</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU Genel Kamu Lisansı 3. sürüm veya üstü</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>ayrıntılar için.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Takma ad gir</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Hesabı Düzenle</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Aygıt Ekle</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>PIN'i gir</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Kendiliğinden Yanıtla</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Aygıtlar</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Daha çok öğren</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Parolanızı girin</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN üreteci</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Halka açık kullanıcı adı kaydet</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Paylaş</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP hesabı değişkenleri</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Hesaplar</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Hesap türü</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Ring'de hesap dışa aktarılıyor...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>arıyor</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>İletişim istekleri</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Kişiler</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Daha çok öğren</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Kaydol</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Parola tekrar</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Parolayı gir</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Ayarlar</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Aygıt</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Oran</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Çözünürlük</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Görüntü</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Makine adını girin</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Parolayı gir</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Kullanıcı adını girin</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Kullanıcı adınızı girin</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>aygıt listesi için bekleyin...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Hakkında</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring; kullanıcılarının özgürlüklerine ve gizliliğine önem veren, evrensel iletişim için özgür yazılımdır.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Gizlilik Politikası</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Hesabınız bu bilgisayardan silinmiş olacak.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>İnsanlar kullanıcı adınız ile sizi bulabilir</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>Zaten kayıtlısınız.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>Henüz kayıtlı değilsiniz.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>Ağ hatası!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Var Olan Hesabı Ekle</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Yeni Hesap Oluştur</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Tam adınızı girin</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring hesabı parolası</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>1. Adım</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>2. Adım</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Takma ad</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Hesap Oluştur</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>İptal</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Hesaplar</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Hesap ekle</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Kişiler</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Hesap oluştur</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>İletişim istekleri</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Aygıtlar</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Tamam</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Bu aygıtı var olan bir hesaba bağla</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>İleti gönder</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Ayarlar</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Kişilere ekle</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Aygıt Ekle</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Kapat</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Ara</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Var Olan Hesabı Ekle</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Yeni Hesap Oluştur</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Çizenler:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Oluşturanlar:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/uk/Resources.resw b/localization/uk/Resources.resw new file mode 100644 index 0000000..eba5239 --- /dev/null +++ b/localization/uk/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>Про программу</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Подяки</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Поділитися</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>Аккаунти</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Тип аккаунта</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>Контакти</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Зареєструватися</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>Налаштування</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>Пристрій</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Очінка</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>Роздільна здатність</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>Відео</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>Про программу</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>Додаткове ім’я</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Створити Аккаунт</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>Відміна</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>Аккаунти</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Додати аккаунт</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>Контакти</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Готово</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Відправити повідомлення</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>Налаштування</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>Додати контакти</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Дзвінок</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Намальовано:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Стоворено:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/zh-CN/Resources.resw b/localization/zh-CN/Resources.resw new file mode 100644 index 0000000..fa9cc06 --- /dev/null +++ b/localization/zh-CN/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>关于</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>关闭</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>致谢</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>本程序不担保任何责任</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>参阅</value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU通用公共许可证版本3或更新</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value>以获得详细信息。</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring是安全的、分布式的通讯软件。</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>Ring的Microsoft Windows Runtime客户端。</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>输入别名</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>编辑帐户</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>添加设备</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>输入PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>要将该设备与一个Ring帐户进行连接,首先您需要从该帐户的上一个设备生成一个PIN。</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>自动应答</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>设备</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>了解更多</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>输入您的密码</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>接收匿名联系人的通话与消息</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN生成器</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>注册公共用户名</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>共享</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP帐户配置</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>帐户</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>帐户类型</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Ring正在导出帐户…</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>查找</value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>联系人请求已发送</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>联系人请求</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>通讯录</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>了解更多</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>注册</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>确认密码</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>输入密码</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>设置</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>设备</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>码率</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>分辨率</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>视频</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>输入主机名</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>输入密码</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>输入用户名</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>输入您的用户名</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>正在等待设备列表…</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>关于</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring是自由软件,尊重用户的通讯自由与隐私。</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>隐私政策</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>您的帐户将从该计算机删除,其他设备不受影响。您注册的公共信息仍然保留。</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>您的帐户将从该计算机删除。</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>其他用户可通过用户名找到您</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>您已注册。</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>您尚未注册。</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>您必须发送您的RingID。</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>认证信息错误或PIN过期</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>设备ID未找到!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>网络错误!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>添加已有帐户</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>创建新帐户</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>输入您的全名</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring帐户密码</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>第1步</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>第2步</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>别名</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>取消</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>帐户</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>通讯录</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>创建帐户</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>联系人请求</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>设备</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>Done</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>将此设备与已有帐户进行连接</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>发消息</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>设置</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>加入通讯录</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>添加设备</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>关闭</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>通话</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>添加已有帐户</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>创建新帐户</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>界面设计:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>开发者:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/zh-TW/Resources.resw b/localization/zh-TW/Resources.resw new file mode 100644 index 0000000..98368be --- /dev/null +++ b/localization/zh-TW/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>關於</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>裝置</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>輸入你的密碼</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>Share</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>帳號</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>聯絡人</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>註冊</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>輸入密碼</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>裝置</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>Rate</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>解析度</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>視訊</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>輸入密碼</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>關於</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>別名</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>取消</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>帳號</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>加入帳號</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>聯絡人</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>建立帳號</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>裝置</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>完成</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>傳送訊息</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>加到聯絡人</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>Call</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/localization/zh/Resources.resw b/localization/zh/Resources.resw new file mode 100644 index 0000000..b510bf9 --- /dev/null +++ b/localization/zh/Resources.resw @@ -0,0 +1,558 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="_aboutBasicButton_.Content" xml:space="preserve"> + <value>關於</value> + </data> + <data name="_aboutCloseButton_.Content" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_aboutCreditsButton_.Content" xml:space="preserve"> + <value>Credits</value> + </data> + <data name="_aboutDisclaimer_.Text" xml:space="preserve"> + <value>This program comes with absolutely no warranty</value> + </data> + <data name="_aboutGPL_0_.Text" xml:space="preserve"> + <value>See the </value> + </data> + <data name="_aboutGPL_1_.Content" xml:space="preserve"> + <value>GNU General Public License, version 3 or later</value> + </data> + <data name="_aboutGPL_1_.NavigateUri" xml:space="preserve"> + <value>https://www.gnu.org/licenses/gpl-3.0.en.html</value> + </data> + <data name="_aboutGPL_2_.Text" xml:space="preserve"> + <value> for details.</value> + </data> + <data name="_aboutReleaseDescription_.Text" xml:space="preserve"> + <value>Ring is a secured and distributed communication software.</value> + </data> + <data name="_aboutReleasePlatform_.Text" xml:space="preserve"> + <value>The Microsoft Windows Runtime client for Ring.</value> + </data> + <data name="_aboutReleaseTitle_.Text" xml:space="preserve"> + <value>Liberté, Égalité, Fraternité! - Version 1.0</value> + </data> + <data name="_accountAliasTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter alias</value> + </data> + <data name="_accountEditionTitle_.Text" xml:space="preserve"> + <value>Edit Account</value> + </data> + <data name="_accountsAddDevice_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_accountsAddEnterPIN_.PlaceholderText" xml:space="preserve"> + <value>Enter PIN</value> + </data> + <data name="_accountsAddStep1_.Text" xml:space="preserve"> + <value>To link this device to a Ring account, you'll first need to generate a PIN from Ring on a device hosting the account.</value> + </data> + <data name="_accountsAutoAnswer_.Text" xml:space="preserve"> + <value>Auto answer</value> + </data> + <data name="_accountsDevices_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_accountsEditionLearnMore_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_accountsEnterArchivePassword_.PlaceholderText" xml:space="preserve"> + <value>Enter your password</value> + </data> + <data name="_accountsIncognitoContacts_.Text" xml:space="preserve"> + <value>Accept calls and messages from incognito contacts</value> + </data> + <data name="_accountsPINGenerator_.Text" xml:space="preserve"> + <value>PIN generator</value> + </data> + <data name="_accountsRegisterPublicName_.Text" xml:space="preserve"> + <value>Register public username</value> + </data> + <data name="_accountsShare_.Text" xml:space="preserve"> + <value>分享</value> + </data> + <data name="_accountsSIPParameters_.Text" xml:space="preserve"> + <value>SIP account parameters</value> + </data> + <data name="_accountsTitle_.Text" xml:space="preserve"> + <value>帳號</value> + </data> + <data name="_accountsType_.Text" xml:space="preserve"> + <value>Account type</value> + </data> + <data name="_accountsUPnP_.Text" xml:space="preserve"> + <value>UPnP</value> + </data> + <data name="_accountsWaitingAndResult_.Text" xml:space="preserve"> + <value>Exporting account on the Ring...</value> + </data> + <data name="_callsLookingFor_" xml:space="preserve"> + <value>looking for </value> + </data> + <data name="_contactRequestPending_.Text" xml:space="preserve"> + <value>has added you as a contact</value> + </data> + <data name="_contactRequestSent_.Text" xml:space="preserve"> + <value>Contact request sent</value> + </data> + <data name="_contactRequestsTitle_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_contactsTitle_.Text" xml:space="preserve"> + <value>聯絡人</value> + </data> + <data name="_learnMoreDeleteAccountEditionUid_.Content" xml:space="preserve"> + <value>Learn more</value> + </data> + <data name="_msgBeginningOfTime_.Text" xml:space="preserve"> + <value>Beginning of Time</value> + </data> + <data name="_registerOnBlockchainEditionUid_.Content" xml:space="preserve"> + <value>Register</value> + </data> + <data name="_ringPasswordBoxAccountCreationCheckUid_.PlaceholderText" xml:space="preserve"> + <value>Repeat password</value> + </data> + <data name="_ringPasswordBoxAccountCreationUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_settingsTitle_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_settingsVideoDevice_.Text" xml:space="preserve"> + <value>裝置</value> + </data> + <data name="_settingsVideoRate_.Text" xml:space="preserve"> + <value>比率</value> + </data> + <data name="_settingsVideoResolution_.Text" xml:space="preserve"> + <value>解析度</value> + </data> + <data name="_settingsVideo_.Text" xml:space="preserve"> + <value>影像</value> + </data> + <data name="_sipHostnameEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter hostname</value> + </data> + <data name="_sipPasswordEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter password</value> + </data> + <data name="_sipUsernameEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>Enter username</value> + </data> + <data name="_usernameTextBoxEditionUid_.PlaceholderText" xml:space="preserve"> + <value>Enter your username</value> + </data> + <data name="_waitingDevicesListUid_.Text" xml:space="preserve"> + <value>waiting for devices list...</value> + </data> + <data name="_welcomeAboutButton_.Content" xml:space="preserve"> + <value>關於</value> + </data> + <data name="_welcomeDescription_.Text" xml:space="preserve"> + <value>Ring is free software for universal communication which respects the freedoms and privacy of its users.</value> + </data> + <data name="_welcomePrivacyLink_.Content" xml:space="preserve"> + <value>Privacy Policy</value> + </data> + <data name="_whatWillHappendeleteRingAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer. Other devices are not affected. Your public registration can never be deleted.</value> + </data> + <data name="_whatWillHappendeleteSipAccountEditionUid_.Text" xml:space="preserve"> + <value>Your account will be deleted from this computer.</value> + </data> + <data name="_whatWillHappenEditionUid_.Text" xml:space="preserve"> + <value>People can find you with your username</value> + </data> + <data name="_whatWillHappen_0_" xml:space="preserve"> + <value>You are already registered.</value> + </data> + <data name="_whatWillHappen_1_" xml:space="preserve"> + <value>You are not yet registered.</value> + </data> + <data name="_whatWillHappen_2_" xml:space="preserve"> + <value>You'll have to send your ringId.</value> + </data> + <data name="_accountsCredentialsExpired_" xml:space="preserve"> + <value>Credentials error or PIN expired.</value> + </data> + <data name="_accountsNoDeviceId_" xml:space="preserve"> + <value>No device id found!</value> + </data> + <data name="_contactsContactExists_" xml:space="preserve"> + <value>you already have a contact with this ring id</value> + </data> + <data name="_contactsNetworkError_" xml:space="preserve"> + <value>network error!</value> + </data> + <data name="_contactsRingIdAdded_" xml:space="preserve"> + <value>ring id added</value> + </data> + <data name="_contactsUserAdded_" xml:space="preserve"> + <value>username found and added</value> + </data> + <data name="_contactsUsernameInvalid_" xml:space="preserve"> + <value>username invalid</value> + </data> + <data name="_contactsUsernameNotFound_" xml:space="preserve"> + <value>username not found</value> + </data> + <data name="_wizardAddExistingAccount_.Content" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccount_.Content" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="_wizardFullName_.PlaceholderText" xml:space="preserve"> + <value>Enter your full name</value> + </data> + <data name="_wizardRingAccountPassword_.Text" xml:space="preserve"> + <value>Ring account password</value> + </data> + <data name="_wizardStep1_.Content" xml:space="preserve"> + <value>Step 1</value> + </data> + <data name="_wizardStep2_.Content" xml:space="preserve"> + <value>Step 2</value> + </data> + <data name="_accountsAlias_.Text" xml:space="preserve"> + <value>別名</value> + </data> + <data name="_accountsCreation_.Text" xml:space="preserve"> + <value>Create Account</value> + </data> + <data name="_accountsEnabled_.Text" xml:space="preserve"> + <value>Account enabled</value> + </data> + <data name="_accountsHideBannedList_" xml:space="preserve"> + <value>Hide banned contacts</value> + </data> + <data name="_accountsShowBannedList_" xml:space="preserve"> + <value>Show banned contacts</value> + </data> + <data name="_accountNotRegistered_" xml:space="preserve"> + <value>No connection available</value> + </data> + <data name="_tt_accept_account_mod_.Text" xml:space="preserve"> + <value>Accept account modifications</value> + </data> + <data name="_tt_accept_call_.Text" xml:space="preserve"> + <value>Accept the incoming call</value> + </data> + <data name="_tt_accept_cr_.Text" xml:space="preserve"> + <value>Add this user to your contacts</value> + </data> + <data name="_tt_account_cancel_.Text" xml:space="preserve"> + <value>取消</value> + </data> + <data name="_tt_account_list_menu_.Text" xml:space="preserve"> + <value>帳號</value> + </data> + <data name="_tt_add_account_.Text" xml:space="preserve"> + <value>Create a new account</value> + </data> + <data name="_tt_add_account_next_.Text" xml:space="preserve"> + <value>Next step</value> + </data> + <data name="_tt_add_account_yes_.Text" xml:space="preserve"> + <value>Add account</value> + </data> + <data name="_tt_add_banned_.Text" xml:space="preserve"> + <value>Unblock and add this user to your contacts</value> + </data> + <data name="_tt_add_device_.Text" xml:space="preserve"> + <value>Add a new device to this account</value> + </data> + <data name="_tt_audio_call_.Text" xml:space="preserve"> + <value>Start an audio call</value> + </data> + <data name="_tt_block_cr_.Text" xml:space="preserve"> + <value>Block this user from making any further contact</value> + </data> + <data name="_tt_block_cr_2.Text" xml:space="preserve"> + <value>(the user can be unblocked from the Account Settings panel)</value> + </data> + <data name="_tt_cancel_account_mod_.Text" xml:space="preserve"> + <value>Cancel account modifications</value> + </data> + <data name="_tt_cancel_call_.Text" xml:space="preserve"> + <value>Cancel the outgoing call</value> + </data> + <data name="_tt_change_orientation_.Text" xml:space="preserve"> + <value>Change message panel orientation</value> + </data> + <data name="_tt_clear_conversation_.Text" xml:space="preserve"> + <value>Erase this conversation</value> + </data> + <data name="_tt_contact_list_menu_.Text" xml:space="preserve"> + <value>聯絡人</value> + </data> + <data name="_tt_create_account_yes_.Text" xml:space="preserve"> + <value>Create account</value> + </data> + <data name="_tt_cr_list_menu_.Text" xml:space="preserve"> + <value>Contact Requests</value> + </data> + <data name="_tt_devices_list_menu_.Text" xml:space="preserve"> + <value>Devices</value> + </data> + <data name="_tt_done_.Text" xml:space="preserve"> + <value>完成</value> + </data> + <data name="_tt_edit_account_.Text" xml:space="preserve"> + <value>Open the Account Settings panel</value> + </data> + <data name="_tt_home_menu_.Text" xml:space="preserve"> + <value>Home/About</value> + </data> + <data name="_tt_ingnore_cr_.Text" xml:space="preserve"> + <value>Ignore this user's contact request</value> + </data> + <data name="_tt_link_device_.Text" xml:space="preserve"> + <value>Link this device to an existing account</value> + </data> + <data name="_tt_pin_gen_no_.Text" xml:space="preserve"> + <value>Cancel PIN generation</value> + </data> + <data name="_tt_pin_gen_yes_.Text" xml:space="preserve"> + <value>Generate account PIN</value> + </data> + <data name="_tt_reject_call_.Text" xml:space="preserve"> + <value>Reject the incoming call</value> + </data> + <data name="_tt_remove_contact_.Text" xml:space="preserve"> + <value>Remove this contact</value> + </data> + <data name="_tt_revoke_device_.Text" xml:space="preserve"> + <value>Revoke the device from this account</value> + </data> + <data name="_tt_send_message_.Text" xml:space="preserve"> + <value>Send message</value> + </data> + <data name="_tt_settings_menu_.Text" xml:space="preserve"> + <value>設定</value> + </data> + <data name="_tt_share_menu_.Text" xml:space="preserve"> + <value>Display QR code and RingID</value> + </data> + <data name="_tt_video_call_.Text" xml:space="preserve"> + <value>Start a video call</value> + </data> + <data name="_accountsTurnEnabled_.Text" xml:space="preserve"> + <value>Enable TURN server</value> + </data> + <data name="_tt_send_contactrequest_.Text" xml:space="preserve"> + <value>加到聯絡人</value> + </data> + <data name="_si_audioCodec_.Text" xml:space="preserve"> + <value>Audio codec: </value> + </data> + <data name="_si_fps_.Text" xml:space="preserve"> + <value>Framerate: </value> + </data> + <data name="_si_resolution_.Text" xml:space="preserve"> + <value>Resoulution: </value> + </data> + <data name="_si_videoCodec_.Text" xml:space="preserve"> + <value>Video codec: </value> + </data> + <data name="_addDeviceMenuTitle_.Text" xml:space="preserve"> + <value>Add Device</value> + </data> + <data name="_ringTxtBxPlaceholderText_" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_ringTxtBx_.PlaceholderText" xml:space="preserve"> + <value>Search for new or existing contacts</value> + </data> + <data name="_thisDevice_.Text" xml:space="preserve"> + <value>This device</value> + </data> + <data name="_turnEditionTextBoxUid_.PlaceholderText" xml:space="preserve"> + <value>TURN server address</value> + </data> + <data name="_tt_delete_account_.Text" xml:space="preserve"> + <value>Delete account</value> + </data> + <data name="_messageTextBox_.PlaceholderText" xml:space="preserve"> + <value>Type a message</value> + </data> + <data name="_tt_pin_gen_close_.Text" xml:space="preserve"> + <value>Close</value> + </data> + <data name="_add_to_conference_.Text" xml:space="preserve"> + <value>Add to conference</value> + </data> + <data name="_call_.Text" xml:space="preserve"> + <value>撥打</value> + </data> + <data name="_copy_ring_id_.Text" xml:space="preserve"> + <value>Copy RingID</value> + </data> + <data name="_deviceName_.Text" xml:space="preserve"> + <value>Name </value> + </data> + <data name="_network_unavailable_.Text" xml:space="preserve"> + <value>Network unavailable</value> + </data> + <data name="_other_linked_devices_.Text" xml:space="preserve"> + <value>Other linked devices</value> + </data> + <data name="_removeContact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> + <data name="_wizardAddExistingAccountTitle_.Text" xml:space="preserve"> + <value>Add Existing Account</value> + </data> + <data name="_wizardCreateAccountTitle_.Text" xml:space="preserve"> + <value>Create New Account</value> + </data> + <data name="m_never_called_" xml:space="preserve"> + <value>never called</value> + </data> + <data name="_c_artwork_by_.Text" xml:space="preserve"> + <value>Artwork by:</value> + </data> + <data name="_c_created_by_.Text" xml:space="preserve"> + <value>Created by:</value> + </data> + <data name="_m_add_device_" xml:space="preserve"> + <value>Attempting to add this device...</value> + </data> + <data name="_m_creating_account_" xml:space="preserve"> + <value>Creating account...</value> + </data> + <data name="_m_deleting_account_" xml:space="preserve"> + <value>Deleting account...</value> + </data> + <data name="_m_generating_pin_" xml:space="preserve"> + <value>Generating PIN</value> + </data> + <data name="_m_revoking_device_" xml:space="preserve"> + <value>Revoking device with ID:</value> + </data> + <data name="_m_updating_account_" xml:space="preserve"> + <value>Updating account...</value> + </data> + <data name="_remove_contact_.Text" xml:space="preserve"> + <value>Remove contact</value> + </data> +</root> diff --git a/lodepng.cpp b/lodepng.cpp new file mode 100644 index 0000000..3b6bac9 --- /dev/null +++ b/lodepng.cpp @@ -0,0 +1,6230 @@ +/* +LodePNG version 20161127 + +Copyright (c) 2005-2016 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +/* +The manual and changelog are in the header file "lodepng.h" +Rename this file to lodepng.cpp to use it for C++, or to lodepng.c to use it for C. +*/ + +#include "lodepng.h" + +#include <limits.h> +#include <stdio.h> +#include <stdlib.h> + +#if defined(_MSC_VER) && (_MSC_VER >= 1310) /*Visual Studio: A few warning types are not desired here.*/ +#pragma warning( disable : 4244 ) /*implicit conversions: not warned by gcc -Wall -Wextra and requires too much casts*/ +#pragma warning( disable : 4996 ) /*VS does not like fopen, but fopen_s is not standard C so unusable here*/ +#endif /*_MSC_VER */ + +const char* LODEPNG_VERSION_STRING = "20161127"; + +/* +This source file is built up in the following large parts. The code sections +with the "LODEPNG_COMPILE_" #defines divide this up further in an intermixed way. +-Tools for C and common code for PNG and Zlib +-C Code for Zlib (huffman, deflate, ...) +-C Code for PNG (file format chunks, adam7, PNG filters, color conversions, ...) +-The C++ wrapper around all of the above +*/ + +/*The malloc, realloc and free functions defined here with "lodepng_" in front +of the name, so that you can easily change them to others related to your +platform if needed. Everything else in the code calls these. Pass +-DLODEPNG_NO_COMPILE_ALLOCATORS to the compiler, or comment out +#define LODEPNG_COMPILE_ALLOCATORS in the header, to disable the ones here and +define them in your own project's source files without needing to change +lodepng source code. Don't forget to remove "static" if you copypaste them +from here.*/ + +#ifdef LODEPNG_COMPILE_ALLOCATORS +static void* lodepng_malloc(size_t size) +{ + return malloc(size); +} + +static void* lodepng_realloc(void* ptr, size_t new_size) +{ + return realloc(ptr, new_size); +} + +static void lodepng_free(void* ptr) +{ + free(ptr); +} +#else /*LODEPNG_COMPILE_ALLOCATORS*/ +void* lodepng_malloc(size_t size); +void* lodepng_realloc(void* ptr, size_t new_size); +void lodepng_free(void* ptr); +#endif /*LODEPNG_COMPILE_ALLOCATORS*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // Tools for C, and common code for PNG and Zlib. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Often in case of an error a value is assigned to a variable and then it breaks +out of a loop (to go to the cleanup phase of a function). This macro does that. +It makes the error handling code shorter and more readable. + +Example: if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83); +*/ +#define CERROR_BREAK(errorvar, code)\ +{\ + errorvar = code;\ + break;\ +} + +/*version of CERROR_BREAK that assumes the common case where the error variable is named "error"*/ +#define ERROR_BREAK(code) CERROR_BREAK(error, code) + +/*Set error var to the error code, and return it.*/ +#define CERROR_RETURN_ERROR(errorvar, code)\ +{\ + errorvar = code;\ + return code;\ +} + +/*Try the code, if it returns error, also return the error.*/ +#define CERROR_TRY_RETURN(call)\ +{\ + unsigned error = call;\ + if(error) return error;\ +} + +/*Set error var to the error code, and return from the void function.*/ +#define CERROR_RETURN(errorvar, code)\ +{\ + errorvar = code;\ + return;\ +} + +/* +About uivector, ucvector and string: +-All of them wrap dynamic arrays or text strings in a similar way. +-LodePNG was originally written in C++. The vectors replace the std::vectors that were used in the C++ version. +-The string tools are made to avoid problems with compilers that declare things like strncat as deprecated. +-They're not used in the interface, only internally in this file as static functions. +-As with many other structs in this file, the init and cleanup functions serve as ctor and dtor. +*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*dynamic vector of unsigned ints*/ +typedef struct uivector +{ + unsigned* data; + size_t size; /*size in number of unsigned longs*/ + size_t allocsize; /*allocated size in bytes*/ +} uivector; + +static void uivector_cleanup(void* p) +{ + ((uivector*)p)->size = ((uivector*)p)->allocsize = 0; + lodepng_free(((uivector*)p)->data); + ((uivector*)p)->data = NULL; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_reserve(uivector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_resize(uivector* p, size_t size) +{ + if(!uivector_reserve(p, size * sizeof(unsigned))) return 0; + p->size = size; + return 1; /*success*/ +} + +/*resize and give all new elements the value*/ +static unsigned uivector_resizev(uivector* p, size_t size, unsigned value) +{ + size_t oldsize = p->size, i; + if(!uivector_resize(p, size)) return 0; + for(i = oldsize; i < size; ++i) p->data[i] = value; + return 1; +} + +static void uivector_init(uivector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} + +#ifdef LODEPNG_COMPILE_ENCODER +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_push_back(uivector* p, unsigned c) +{ + if(!uivector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* /////////////////////////////////////////////////////////////////////////// */ + +/*dynamic vector of unsigned chars*/ +typedef struct ucvector +{ + unsigned char* data; + size_t size; /*used size*/ + size_t allocsize; /*allocated size*/ +} ucvector; + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_reserve(ucvector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned char*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_resize(ucvector* p, size_t size) +{ + if(!ucvector_reserve(p, size * sizeof(unsigned char))) return 0; + p->size = size; + return 1; /*success*/ +} + +#ifdef LODEPNG_COMPILE_PNG + +static void ucvector_cleanup(void* p) +{ + ((ucvector*)p)->size = ((ucvector*)p)->allocsize = 0; + lodepng_free(((ucvector*)p)->data); + ((ucvector*)p)->data = NULL; +} + +static void ucvector_init(ucvector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*you can both convert from vector to buffer&size and vica versa. If you use +init_buffer to take over a buffer and size, it is not needed to use cleanup*/ +static void ucvector_init_buffer(ucvector* p, unsigned char* buffer, size_t size) +{ + p->data = buffer; + p->allocsize = p->size = size; +} +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#if (defined(LODEPNG_COMPILE_PNG) && defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)) || defined(LODEPNG_COMPILE_ENCODER) +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_push_back(ucvector* p, unsigned char c) +{ + if(!ucvector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned string_resize(char** out, size_t size) +{ + char* data = (char*)lodepng_realloc(*out, size + 1); + if(data) + { + data[size] = 0; /*null termination char*/ + *out = data; + } + return data != 0; +} + +/*init a {char*, size_t} pair for use as string*/ +static void string_init(char** out) +{ + *out = NULL; + string_resize(out, 0); +} + +/*free the above pair again*/ +static void string_cleanup(char** out) +{ + lodepng_free(*out); + *out = NULL; +} + +static void string_set(char** out, const char* in) +{ + size_t insize = strlen(in), i; + if(string_resize(out, insize)) + { + for(i = 0; i != insize; ++i) + { + (*out)[i] = in[i]; + } + } +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_read32bitInt(const unsigned char* buffer) +{ + return (unsigned)((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]); +} + +#if defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER) +/*buffer must have at least 4 allocated bytes available*/ +static void lodepng_set32bitInt(unsigned char* buffer, unsigned value) +{ + buffer[0] = (unsigned char)((value >> 24) & 0xff); + buffer[1] = (unsigned char)((value >> 16) & 0xff); + buffer[2] = (unsigned char)((value >> 8) & 0xff); + buffer[3] = (unsigned char)((value ) & 0xff); +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + +#ifdef LODEPNG_COMPILE_ENCODER +static void lodepng_add32bitInt(ucvector* buffer, unsigned value) +{ + ucvector_resize(buffer, buffer->size + 4); /*todo: give error if resize failed*/ + lodepng_set32bitInt(&buffer->data[buffer->size - 4], value); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / File IO / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DISK + +/* returns negative value on error. This should be pure C compatible, so no fstat. */ +static long lodepng_filesize(const char* filename) +{ + FILE* file; + long size; + file = fopen(filename, "rb"); + if(!file) return -1; + + if(fseek(file, 0, SEEK_END) != 0) + { + fclose(file); + return -1; + } + + size = ftell(file); + /* It may give LONG_MAX as directory size, this is invalid for us. */ + if(size == LONG_MAX) size = -1; + + fclose(file); + return size; +} + +/* load file into buffer that already has the correct allocated size. Returns error code.*/ +static unsigned lodepng_buffer_file(unsigned char* out, size_t size, const char* filename) +{ + FILE* file; + size_t readsize; + file = fopen(filename, "rb"); + if(!file) return 78; + + readsize = fread(out, 1, size, file); + fclose(file); + + if (readsize != size) return 78; + return 0; +} + +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename) +{ + long size = lodepng_filesize(filename); + if (size < 0) return 78; + *outsize = (size_t)size; + + *out = (unsigned char*)lodepng_malloc((size_t)size); + if(!(*out) && size > 0) return 83; /*the above malloc failed*/ + + return lodepng_buffer_file(*out, (size_t)size, filename); +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename) +{ + FILE* file; + file = fopen(filename, "wb" ); + if(!file) return 79; + fwrite((char*)buffer , 1 , buffersize, file); + fclose(file); + return 0; +} + +#endif /*LODEPNG_COMPILE_DISK*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of common code and tools. Begin of Zlib related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_ENCODER +/*TODO: this ignores potential out of memory errors*/ +#define addBitToStream(/*size_t**/ bitpointer, /*ucvector**/ bitstream, /*unsigned char*/ bit)\ +{\ + /*add a new byte at the end*/\ + if(((*bitpointer) & 7) == 0) ucvector_push_back(bitstream, (unsigned char)0);\ + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/\ + (bitstream->data[bitstream->size - 1]) |= (bit << ((*bitpointer) & 0x7));\ + ++(*bitpointer);\ +} + +static void addBitsToStream(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i != nbits; ++i) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> i) & 1)); +} + +static void addBitsToStreamReversed(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i != nbits; ++i) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> (nbits - 1 - i)) & 1)); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +#define READBIT(bitpointer, bitstream) ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (unsigned char)1) + +static unsigned char readBitFromStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)(READBIT(*bitpointer, bitstream)); + ++(*bitpointer); + return result; +} + +static unsigned readBitsFromStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0, i; + for(i = 0; i != nbits; ++i) + { + result += ((unsigned)READBIT(*bitpointer, bitstream)) << i; + ++(*bitpointer); + } + return result; +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflate - Huffman / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#define FIRST_LENGTH_CODE_INDEX 257 +#define LAST_LENGTH_CODE_INDEX 285 +/*256 literals, the end code, some length codes, and 2 unused codes*/ +#define NUM_DEFLATE_CODE_SYMBOLS 288 +/*the distance codes have their own symbols, 30 used, 2 unused*/ +#define NUM_DISTANCE_SYMBOLS 32 +/*the code length codes. 0-15: code lengths, 16: copy previous 3-6 times, 17: 3-10 zeros, 18: 11-138 zeros*/ +#define NUM_CODE_LENGTH_CODES 19 + +/*the base lengths represented by codes 257-285*/ +static const unsigned LENGTHBASE[29] + = {3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, + 67, 83, 99, 115, 131, 163, 195, 227, 258}; + +/*the extra bits used by codes 257-285 (added to base length)*/ +static const unsigned LENGTHEXTRA[29] + = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, 0}; + +/*the base backwards distances (the bits of distance codes appear after length codes and use their own huffman tree)*/ +static const unsigned DISTANCEBASE[30] + = {1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, + 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577}; + +/*the extra bits of backwards distances (added to base)*/ +static const unsigned DISTANCEEXTRA[30] + = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, + 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13}; + +/*the order in which "code length alphabet code lengths" are stored, out of this +the huffman tree of the dynamic huffman tree lengths is generated*/ +static const unsigned CLCL_ORDER[NUM_CODE_LENGTH_CODES] + = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; + +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Huffman tree struct, containing multiple representations of the tree +*/ +typedef struct HuffmanTree +{ + unsigned* tree2d; + unsigned* tree1d; + unsigned* lengths; /*the lengths of the codes of the 1d-tree*/ + unsigned maxbitlen; /*maximum number of bits a single code can get*/ + unsigned numcodes; /*number of symbols in the alphabet = number of codes*/ +} HuffmanTree; + +/*function used for debug purposes to draw the tree in ascii art with C++*/ +/* +static void HuffmanTree_draw(HuffmanTree* tree) +{ + std::cout << "tree. length: " << tree->numcodes << " maxbitlen: " << tree->maxbitlen << std::endl; + for(size_t i = 0; i != tree->tree1d.size; ++i) + { + if(tree->lengths.data[i]) + std::cout << i << " " << tree->tree1d.data[i] << " " << tree->lengths.data[i] << std::endl; + } + std::cout << std::endl; +}*/ + +static void HuffmanTree_init(HuffmanTree* tree) +{ + tree->tree2d = 0; + tree->tree1d = 0; + tree->lengths = 0; +} + +static void HuffmanTree_cleanup(HuffmanTree* tree) +{ + lodepng_free(tree->tree2d); + lodepng_free(tree->tree1d); + lodepng_free(tree->lengths); +} + +/*the tree representation used by the decoder. return value is error*/ +static unsigned HuffmanTree_make2DTree(HuffmanTree* tree) +{ + unsigned nodefilled = 0; /*up to which node it is filled*/ + unsigned treepos = 0; /*position in the tree (1 of the numcodes columns)*/ + unsigned n, i; + + tree->tree2d = (unsigned*)lodepng_malloc(tree->numcodes * 2 * sizeof(unsigned)); + if(!tree->tree2d) return 83; /*alloc fail*/ + + /* + convert tree1d[] to tree2d[][]. In the 2D array, a value of 32767 means + uninited, a value >= numcodes is an address to another bit, a value < numcodes + is a code. The 2 rows are the 2 possible bit values (0 or 1), there are as + many columns as codes - 1. + A good huffman tree has N * 2 - 1 nodes, of which N - 1 are internal nodes. + Here, the internal nodes are stored (what their 0 and 1 option point to). + There is only memory for such good tree currently, if there are more nodes + (due to too long length codes), error 55 will happen + */ + for(n = 0; n < tree->numcodes * 2; ++n) + { + tree->tree2d[n] = 32767; /*32767 here means the tree2d isn't filled there yet*/ + } + + for(n = 0; n < tree->numcodes; ++n) /*the codes*/ + { + for(i = 0; i != tree->lengths[n]; ++i) /*the bits for this code*/ + { + unsigned char bit = (unsigned char)((tree->tree1d[n] >> (tree->lengths[n] - i - 1)) & 1); + /*oversubscribed, see comment in lodepng_error_text*/ + if(treepos > 2147483647 || treepos + 2 > tree->numcodes) return 55; + if(tree->tree2d[2 * treepos + bit] == 32767) /*not yet filled in*/ + { + if(i + 1 == tree->lengths[n]) /*last bit*/ + { + tree->tree2d[2 * treepos + bit] = n; /*put the current code in it*/ + treepos = 0; + } + else + { + /*put address of the next step in here, first that address has to be found of course + (it's just nodefilled + 1)...*/ + ++nodefilled; + /*addresses encoded with numcodes added to it*/ + tree->tree2d[2 * treepos + bit] = nodefilled + tree->numcodes; + treepos = nodefilled; + } + } + else treepos = tree->tree2d[2 * treepos + bit] - tree->numcodes; + } + } + + for(n = 0; n < tree->numcodes * 2; ++n) + { + if(tree->tree2d[n] == 32767) tree->tree2d[n] = 0; /*remove possible remaining 32767's*/ + } + + return 0; +} + +/* +Second step for the ...makeFromLengths and ...makeFromFrequencies functions. +numcodes, lengths and maxbitlen must already be filled in correctly. return +value is error. +*/ +static unsigned HuffmanTree_makeFromLengths2(HuffmanTree* tree) +{ + uivector blcount; + uivector nextcode; + unsigned error = 0; + unsigned bits, n; + + uivector_init(&blcount); + uivector_init(&nextcode); + + tree->tree1d = (unsigned*)lodepng_malloc(tree->numcodes * sizeof(unsigned)); + if(!tree->tree1d) error = 83; /*alloc fail*/ + + if(!uivector_resizev(&blcount, tree->maxbitlen + 1, 0) + || !uivector_resizev(&nextcode, tree->maxbitlen + 1, 0)) + error = 83; /*alloc fail*/ + + if(!error) + { + /*step 1: count number of instances of each code length*/ + for(bits = 0; bits != tree->numcodes; ++bits) ++blcount.data[tree->lengths[bits]]; + /*step 2: generate the nextcode values*/ + for(bits = 1; bits <= tree->maxbitlen; ++bits) + { + nextcode.data[bits] = (nextcode.data[bits - 1] + blcount.data[bits - 1]) << 1; + } + /*step 3: generate all the codes*/ + for(n = 0; n != tree->numcodes; ++n) + { + if(tree->lengths[n] != 0) tree->tree1d[n] = nextcode.data[tree->lengths[n]]++; + } + } + + uivector_cleanup(&blcount); + uivector_cleanup(&nextcode); + + if(!error) return HuffmanTree_make2DTree(tree); + else return error; +} + +/* +given the code lengths (as stored in the PNG file), generate the tree as defined +by Deflate. maxbitlen is the maximum bits that a code in the tree can have. +return value is error. +*/ +static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen, + size_t numcodes, unsigned maxbitlen) +{ + unsigned i; + tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + for(i = 0; i != numcodes; ++i) tree->lengths[i] = bitlen[i]; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->maxbitlen = maxbitlen; + return HuffmanTree_makeFromLengths2(tree); +} + +#ifdef LODEPNG_COMPILE_ENCODER + +/*BPM: Boundary Package Merge, see "A Fast and Space-Economical Algorithm for Length-Limited Coding", +Jyrki Katajainen, Alistair Moffat, Andrew Turpin, 1995.*/ + +/*chain node for boundary package merge*/ +typedef struct BPMNode +{ + int weight; /*the sum of all weights in this chain*/ + unsigned index; /*index of this leaf node (called "count" in the paper)*/ + struct BPMNode* tail; /*the next nodes in this chain (null if last)*/ + int in_use; +} BPMNode; + +/*lists of chains*/ +typedef struct BPMLists +{ + /*memory pool*/ + unsigned memsize; + BPMNode* memory; + unsigned numfree; + unsigned nextfree; + BPMNode** freelist; + /*two heads of lookahead chains per list*/ + unsigned listsize; + BPMNode** chains0; + BPMNode** chains1; +} BPMLists; + +/*creates a new chain node with the given parameters, from the memory in the lists */ +static BPMNode* bpmnode_create(BPMLists* lists, int weight, unsigned index, BPMNode* tail) +{ + unsigned i; + BPMNode* result; + + /*memory full, so garbage collect*/ + if(lists->nextfree >= lists->numfree) + { + /*mark only those that are in use*/ + for(i = 0; i != lists->memsize; ++i) lists->memory[i].in_use = 0; + for(i = 0; i != lists->listsize; ++i) + { + BPMNode* node; + for(node = lists->chains0[i]; node != 0; node = node->tail) node->in_use = 1; + for(node = lists->chains1[i]; node != 0; node = node->tail) node->in_use = 1; + } + /*collect those that are free*/ + lists->numfree = 0; + for(i = 0; i != lists->memsize; ++i) + { + if(!lists->memory[i].in_use) lists->freelist[lists->numfree++] = &lists->memory[i]; + } + lists->nextfree = 0; + } + + result = lists->freelist[lists->nextfree++]; + result->weight = weight; + result->index = index; + result->tail = tail; + return result; +} + +/*sort the leaves with stable mergesort*/ +static void bpmnode_sort(BPMNode* leaves, size_t num) +{ + BPMNode* mem = (BPMNode*)lodepng_malloc(sizeof(*leaves) * num); + size_t width, counter = 0; + for(width = 1; width < num; width *= 2) + { + BPMNode* a = (counter & 1) ? mem : leaves; + BPMNode* b = (counter & 1) ? leaves : mem; + size_t p; + for(p = 0; p < num; p += 2 * width) + { + size_t q = (p + width > num) ? num : (p + width); + size_t r = (p + 2 * width > num) ? num : (p + 2 * width); + size_t i = p, j = q, k; + for(k = p; k < r; k++) + { + if(i < q && (j >= r || a[i].weight <= a[j].weight)) b[k] = a[i++]; + else b[k] = a[j++]; + } + } + counter++; + } + if(counter & 1) memcpy(leaves, mem, sizeof(*leaves) * num); + lodepng_free(mem); +} + +/*Boundary Package Merge step, numpresent is the amount of leaves, and c is the current chain.*/ +static void boundaryPM(BPMLists* lists, BPMNode* leaves, size_t numpresent, int c, int num) +{ + unsigned lastindex = lists->chains1[c]->index; + + if(c == 0) + { + if(lastindex >= numpresent) return; + lists->chains0[c] = lists->chains1[c]; + lists->chains1[c] = bpmnode_create(lists, leaves[lastindex].weight, lastindex + 1, 0); + } + else + { + /*sum of the weights of the head nodes of the previous lookahead chains.*/ + int sum = lists->chains0[c - 1]->weight + lists->chains1[c - 1]->weight; + lists->chains0[c] = lists->chains1[c]; + if(lastindex < numpresent && sum > leaves[lastindex].weight) + { + lists->chains1[c] = bpmnode_create(lists, leaves[lastindex].weight, lastindex + 1, lists->chains1[c]->tail); + return; + } + lists->chains1[c] = bpmnode_create(lists, sum, lastindex, lists->chains1[c - 1]); + /*in the end we are only interested in the chain of the last list, so no + need to recurse if we're at the last one (this gives measurable speedup)*/ + if(num + 1 < (int)(2 * numpresent - 2)) + { + boundaryPM(lists, leaves, numpresent, c - 1, num); + boundaryPM(lists, leaves, numpresent, c - 1, num); + } + } +} + +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen) +{ + unsigned error = 0; + unsigned i; + size_t numpresent = 0; /*number of symbols with non-zero frequency*/ + BPMNode* leaves; /*the symbols, only those with > 0 frequency*/ + + if(numcodes == 0) return 80; /*error: a tree of 0 symbols is not supposed to be made*/ + if((1u << maxbitlen) < numcodes) return 80; /*error: represent all symbols*/ + + leaves = (BPMNode*)lodepng_malloc(numcodes * sizeof(*leaves)); + if(!leaves) return 83; /*alloc fail*/ + + for(i = 0; i != numcodes; ++i) + { + if(frequencies[i] > 0) + { + leaves[numpresent].weight = (int)frequencies[i]; + leaves[numpresent].index = i; + ++numpresent; + } + } + + for(i = 0; i != numcodes; ++i) lengths[i] = 0; + + /*ensure at least two present symbols. There should be at least one symbol + according to RFC 1951 section 3.2.7. Some decoders incorrectly require two. To + make these work as well ensure there are at least two symbols. The + Package-Merge code below also doesn't work correctly if there's only one + symbol, it'd give it the theoritical 0 bits but in practice zlib wants 1 bit*/ + if(numpresent == 0) + { + lengths[0] = lengths[1] = 1; /*note that for RFC 1951 section 3.2.7, only lengths[0] = 1 is needed*/ + } + else if(numpresent == 1) + { + lengths[leaves[0].index] = 1; + lengths[leaves[0].index == 0 ? 1 : 0] = 1; + } + else + { + BPMLists lists; + BPMNode* node; + + bpmnode_sort(leaves, numpresent); + + lists.listsize = maxbitlen; + lists.memsize = 2 * maxbitlen * (maxbitlen + 1); + lists.nextfree = 0; + lists.numfree = lists.memsize; + lists.memory = (BPMNode*)lodepng_malloc(lists.memsize * sizeof(*lists.memory)); + lists.freelist = (BPMNode**)lodepng_malloc(lists.memsize * sizeof(BPMNode*)); + lists.chains0 = (BPMNode**)lodepng_malloc(lists.listsize * sizeof(BPMNode*)); + lists.chains1 = (BPMNode**)lodepng_malloc(lists.listsize * sizeof(BPMNode*)); + if(!lists.memory || !lists.freelist || !lists.chains0 || !lists.chains1) error = 83; /*alloc fail*/ + + if(!error) + { + for(i = 0; i != lists.memsize; ++i) lists.freelist[i] = &lists.memory[i]; + + bpmnode_create(&lists, leaves[0].weight, 1, 0); + bpmnode_create(&lists, leaves[1].weight, 2, 0); + + for(i = 0; i != lists.listsize; ++i) + { + lists.chains0[i] = &lists.memory[0]; + lists.chains1[i] = &lists.memory[1]; + } + + /*each boundaryPM call adds one chain to the last list, and we need 2 * numpresent - 2 chains.*/ + for(i = 2; i != 2 * numpresent - 2; ++i) boundaryPM(&lists, leaves, numpresent, (int)maxbitlen - 1, (int)i); + + for(node = lists.chains1[maxbitlen - 1]; node; node = node->tail) + { + for(i = 0; i != node->index; ++i) ++lengths[leaves[i].index]; + } + } + + lodepng_free(lists.memory); + lodepng_free(lists.freelist); + lodepng_free(lists.chains0); + lodepng_free(lists.chains1); + } + + lodepng_free(leaves); + return error; +} + +/*Create the Huffman tree given the symbol frequencies*/ +static unsigned HuffmanTree_makeFromFrequencies(HuffmanTree* tree, const unsigned* frequencies, + size_t mincodes, size_t numcodes, unsigned maxbitlen) +{ + unsigned error = 0; + while(!frequencies[numcodes - 1] && numcodes > mincodes) --numcodes; /*trim zeroes*/ + tree->maxbitlen = maxbitlen; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->lengths = (unsigned*)lodepng_realloc(tree->lengths, numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + /*initialize all lengths to 0*/ + memset(tree->lengths, 0, numcodes * sizeof(unsigned)); + + error = lodepng_huffman_code_lengths(tree->lengths, frequencies, numcodes, maxbitlen); + if(!error) error = HuffmanTree_makeFromLengths2(tree); + return error; +} + +static unsigned HuffmanTree_getCode(const HuffmanTree* tree, unsigned index) +{ + return tree->tree1d[index]; +} + +static unsigned HuffmanTree_getLength(const HuffmanTree* tree, unsigned index) +{ + return tree->lengths[index]; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*get the literal and length code tree of a deflated block with fixed tree, as per the deflate specification*/ +static unsigned generateFixedLitLenTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*288 possible codes: 0-255=literals, 256=endcode, 257-285=lengthcodes, 286-287=unused*/ + for(i = 0; i <= 143; ++i) bitlen[i] = 8; + for(i = 144; i <= 255; ++i) bitlen[i] = 9; + for(i = 256; i <= 279; ++i) bitlen[i] = 7; + for(i = 280; i <= 287; ++i) bitlen[i] = 8; + + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DEFLATE_CODE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +/*get the distance code tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static unsigned generateFixedDistanceTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*there are 32 distance codes, but 30-31 are unused*/ + for(i = 0; i != NUM_DISTANCE_SYMBOLS; ++i) bitlen[i] = 5; + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DISTANCE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* +returns the code, or (unsigned)(-1) if error happened +inbitlength is the length of the complete buffer, in bits (so its byte length times 8) +*/ +static unsigned huffmanDecodeSymbol(const unsigned char* in, size_t* bp, + const HuffmanTree* codetree, size_t inbitlength) +{ + unsigned treepos = 0, ct; + for(;;) + { + if(*bp >= inbitlength) return (unsigned)(-1); /*error: end of input memory reached without endcode*/ + /* + decode the symbol from the tree. The "readBitFromStream" code is inlined in + the expression below because this is the biggest bottleneck while decoding + */ + ct = codetree->tree2d[(treepos << 1) + READBIT(*bp, in)]; + ++(*bp); + if(ct < codetree->numcodes) return ct; /*the symbol is decoded, return it*/ + else treepos = ct - codetree->numcodes; /*symbol not yet decoded, instead move tree position*/ + + if(treepos >= codetree->numcodes) return (unsigned)(-1); /*error: it appeared outside the codetree*/ + } +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Inflator (Decompressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*get the tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static void getTreeInflateFixed(HuffmanTree* tree_ll, HuffmanTree* tree_d) +{ + /*TODO: check for out of memory errors*/ + generateFixedLitLenTree(tree_ll); + generateFixedDistanceTree(tree_d); +} + +/*get the tree of a deflated block with dynamic tree, the tree itself is also Huffman compressed with a known tree*/ +static unsigned getTreeInflateDynamic(HuffmanTree* tree_ll, HuffmanTree* tree_d, + const unsigned char* in, size_t* bp, size_t inlength) +{ + /*make sure that length values that aren't filled in will be 0, or a wrong tree will be generated*/ + unsigned error = 0; + unsigned n, HLIT, HDIST, HCLEN, i; + size_t inbitlength = inlength * 8; + + /*see comments in deflateDynamic for explanation of the context and these variables, it is analogous*/ + unsigned* bitlen_ll = 0; /*lit,len code lengths*/ + unsigned* bitlen_d = 0; /*dist code lengths*/ + /*code length code lengths ("clcl"), the bit lengths of the huffman tree used to compress bitlen_ll and bitlen_d*/ + unsigned* bitlen_cl = 0; + HuffmanTree tree_cl; /*the code tree for code length codes (the huffman tree for compressed huffman trees)*/ + + if((*bp) + 14 > (inlength << 3)) return 49; /*error: the bit pointer is or will go past the memory*/ + + /*number of literal/length codes + 257. Unlike the spec, the value 257 is added to it here already*/ + HLIT = readBitsFromStream(bp, in, 5) + 257; + /*number of distance codes. Unlike the spec, the value 1 is added to it here already*/ + HDIST = readBitsFromStream(bp, in, 5) + 1; + /*number of code length codes. Unlike the spec, the value 4 is added to it here already*/ + HCLEN = readBitsFromStream(bp, in, 4) + 4; + + if((*bp) + HCLEN * 3 > (inlength << 3)) return 50; /*error: the bit pointer is or will go past the memory*/ + + HuffmanTree_init(&tree_cl); + + while(!error) + { + /*read the code length codes out of 3 * (amount of code length codes) bits*/ + + bitlen_cl = (unsigned*)lodepng_malloc(NUM_CODE_LENGTH_CODES * sizeof(unsigned)); + if(!bitlen_cl) ERROR_BREAK(83 /*alloc fail*/); + + for(i = 0; i != NUM_CODE_LENGTH_CODES; ++i) + { + if(i < HCLEN) bitlen_cl[CLCL_ORDER[i]] = readBitsFromStream(bp, in, 3); + else bitlen_cl[CLCL_ORDER[i]] = 0; /*if not, it must stay 0*/ + } + + error = HuffmanTree_makeFromLengths(&tree_cl, bitlen_cl, NUM_CODE_LENGTH_CODES, 7); + if(error) break; + + /*now we can use this tree to read the lengths for the tree that this function will return*/ + bitlen_ll = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + bitlen_d = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen_ll || !bitlen_d) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != NUM_DEFLATE_CODE_SYMBOLS; ++i) bitlen_ll[i] = 0; + for(i = 0; i != NUM_DISTANCE_SYMBOLS; ++i) bitlen_d[i] = 0; + + /*i is the current symbol we're reading in the part that contains the code lengths of lit/len and dist codes*/ + i = 0; + while(i < HLIT + HDIST) + { + unsigned code = huffmanDecodeSymbol(in, bp, &tree_cl, inbitlength); + if(code <= 15) /*a length code*/ + { + if(i < HLIT) bitlen_ll[i] = code; + else bitlen_d[i - HLIT] = code; + ++i; + } + else if(code == 16) /*repeat previous*/ + { + unsigned replength = 3; /*read in the 2 bits that indicate repeat length (3-6)*/ + unsigned value; /*set value to the previous code*/ + + if(i == 0) ERROR_BREAK(54); /*can't repeat previous if i is 0*/ + + if((*bp + 2) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 2); + + if(i < HLIT + 1) value = bitlen_ll[i - 1]; + else value = bitlen_d[i - HLIT - 1]; + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(13); /*error: i is larger than the amount of codes*/ + if(i < HLIT) bitlen_ll[i] = value; + else bitlen_d[i - HLIT] = value; + ++i; + } + } + else if(code == 17) /*repeat "0" 3-10 times*/ + { + unsigned replength = 3; /*read in the bits that indicate repeat length*/ + if((*bp + 3) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 3); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(14); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + ++i; + } + } + else if(code == 18) /*repeat "0" 11-138 times*/ + { + unsigned replength = 11; /*read in the bits that indicate repeat length*/ + if((*bp + 7) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 7); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(15); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + ++i; + } + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + if(code == (unsigned)(-1)) + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inbitlength ? 10 : 11; + } + else error = 16; /*unexisting code, this can never happen*/ + break; + } + } + if(error) break; + + if(bitlen_ll[256] == 0) ERROR_BREAK(64); /*the length of the end code 256 must be larger than 0*/ + + /*now we've finally got HLIT and HDIST, so generate the code trees, and the function is done*/ + error = HuffmanTree_makeFromLengths(tree_ll, bitlen_ll, NUM_DEFLATE_CODE_SYMBOLS, 15); + if(error) break; + error = HuffmanTree_makeFromLengths(tree_d, bitlen_d, NUM_DISTANCE_SYMBOLS, 15); + + break; /*end of error-while*/ + } + + lodepng_free(bitlen_cl); + lodepng_free(bitlen_ll); + lodepng_free(bitlen_d); + HuffmanTree_cleanup(&tree_cl); + + return error; +} + +/*inflate a block with dynamic of fixed Huffman tree*/ +static unsigned inflateHuffmanBlock(ucvector* out, const unsigned char* in, size_t* bp, + size_t* pos, size_t inlength, unsigned btype) +{ + unsigned error = 0; + HuffmanTree tree_ll; /*the huffman tree for literal and length codes*/ + HuffmanTree tree_d; /*the huffman tree for distance codes*/ + size_t inbitlength = inlength * 8; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + if(btype == 1) getTreeInflateFixed(&tree_ll, &tree_d); + else if(btype == 2) error = getTreeInflateDynamic(&tree_ll, &tree_d, in, bp, inlength); + + while(!error) /*decode all symbols until end reached, breaks at end code*/ + { + /*code_ll is literal, length or end code*/ + unsigned code_ll = huffmanDecodeSymbol(in, bp, &tree_ll, inbitlength); + if(code_ll <= 255) /*literal symbol*/ + { + /*ucvector_push_back would do the same, but for some reason the two lines below run 10% faster*/ + if(!ucvector_resize(out, (*pos) + 1)) ERROR_BREAK(83 /*alloc fail*/); + out->data[*pos] = (unsigned char)code_ll; + ++(*pos); + } + else if(code_ll >= FIRST_LENGTH_CODE_INDEX && code_ll <= LAST_LENGTH_CODE_INDEX) /*length code*/ + { + unsigned code_d, distance; + unsigned numextrabits_l, numextrabits_d; /*extra bits for length and distance*/ + size_t start, forward, backward, length; + + /*part 1: get length base*/ + length = LENGTHBASE[code_ll - FIRST_LENGTH_CODE_INDEX]; + + /*part 2: get extra bits and add the value of that to length*/ + numextrabits_l = LENGTHEXTRA[code_ll - FIRST_LENGTH_CODE_INDEX]; + if((*bp + numextrabits_l) > inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + length += readBitsFromStream(bp, in, numextrabits_l); + + /*part 3: get distance code*/ + code_d = huffmanDecodeSymbol(in, bp, &tree_d, inbitlength); + if(code_d > 29) + { + if(code_ll == (unsigned)(-1)) /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inlength * 8 ? 10 : 11; + } + else error = 18; /*error: invalid distance code (30-31 are never used)*/ + break; + } + distance = DISTANCEBASE[code_d]; + + /*part 4: get extra bits from distance*/ + numextrabits_d = DISTANCEEXTRA[code_d]; + if((*bp + numextrabits_d) > inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + distance += readBitsFromStream(bp, in, numextrabits_d); + + /*part 5: fill in all the out[n] values based on the length and dist*/ + start = (*pos); + if(distance > start) ERROR_BREAK(52); /*too long backward distance*/ + backward = start - distance; + + if(!ucvector_resize(out, (*pos) + length)) ERROR_BREAK(83 /*alloc fail*/); + if (distance < length) { + for(forward = 0; forward < length; ++forward) + { + out->data[(*pos)++] = out->data[backward++]; + } + } else { + memcpy(out->data + *pos, out->data + backward, length); + *pos += length; + } + } + else if(code_ll == 256) + { + break; /*end code, break the loop*/ + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = ((*bp) > inlength * 8) ? 10 : 11; + break; + } + } + + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned inflateNoCompression(ucvector* out, const unsigned char* in, size_t* bp, size_t* pos, size_t inlength) +{ + size_t p; + unsigned LEN, NLEN, n, error = 0; + + /*go to first boundary of byte*/ + while(((*bp) & 0x7) != 0) ++(*bp); + p = (*bp) / 8; /*byte position*/ + + /*read LEN (2 bytes) and NLEN (2 bytes)*/ + if(p + 4 >= inlength) return 52; /*error, bit pointer will jump past memory*/ + LEN = in[p] + 256u * in[p + 1]; p += 2; + NLEN = in[p] + 256u * in[p + 1]; p += 2; + + /*check if 16-bit NLEN is really the one's complement of LEN*/ + if(LEN + NLEN != 65535) return 21; /*error: NLEN is not one's complement of LEN*/ + + if(!ucvector_resize(out, (*pos) + LEN)) return 83; /*alloc fail*/ + + /*read the literal data: LEN bytes are now stored in the out buffer*/ + if(p + LEN > inlength) return 23; /*error: reading outside of in buffer*/ + for(n = 0; n < LEN; ++n) out->data[(*pos)++] = in[p++]; + + (*bp) = p * 8; + + return error; +} + +static unsigned lodepng_inflatev(ucvector* out, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + /*bit pointer in the "in" data, current byte is bp >> 3, current bit is bp & 0x7 (from lsb to msb of the byte)*/ + size_t bp = 0; + unsigned BFINAL = 0; + size_t pos = 0; /*byte position in the out buffer*/ + unsigned error = 0; + + (void)settings; + + while(!BFINAL) + { + unsigned BTYPE; + if(bp + 2 >= insize * 8) return 52; /*error, bit pointer will jump past memory*/ + BFINAL = readBitFromStream(&bp, in); + BTYPE = 1u * readBitFromStream(&bp, in); + BTYPE += 2u * readBitFromStream(&bp, in); + + if(BTYPE == 3) return 20; /*error: invalid BTYPE*/ + else if(BTYPE == 0) error = inflateNoCompression(out, in, &bp, &pos, insize); /*no compression*/ + else error = inflateHuffmanBlock(out, in, &bp, &pos, insize, BTYPE); /*compression, BTYPE 01 or 10*/ + + if(error) return error; + } + + return error; +} + +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_inflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + if(settings->custom_inflate) + { + return settings->custom_inflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_inflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflator (Compressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static const size_t MAX_SUPPORTED_DEFLATE_LENGTH = 258; + +/*bitlen is the size in bits of the code*/ +static void addHuffmanSymbol(size_t* bp, ucvector* compressed, unsigned code, unsigned bitlen) +{ + addBitsToStreamReversed(bp, compressed, code, bitlen); +} + +/*search the index in the array, that has the largest value smaller than or equal to the given value, +given array must be sorted (if no value is smaller, it returns the size of the given array)*/ +static size_t searchCodeIndex(const unsigned* array, size_t array_size, size_t value) +{ + /*binary search (only small gain over linear). TODO: use CPU log2 instruction for getting symbols instead*/ + size_t left = 1; + size_t right = array_size - 1; + + while(left <= right) { + size_t mid = (left + right) >> 1; + if (array[mid] >= value) right = mid - 1; + else left = mid + 1; + } + if(left >= array_size || array[left] > value) left--; + return left; +} + +static void addLengthDistance(uivector* values, size_t length, size_t distance) +{ + /*values in encoded vector are those used by deflate: + 0-255: literal bytes + 256: end + 257-285: length/distance pair (length code, followed by extra length bits, distance code, extra distance bits) + 286-287: invalid*/ + + unsigned length_code = (unsigned)searchCodeIndex(LENGTHBASE, 29, length); + unsigned extra_length = (unsigned)(length - LENGTHBASE[length_code]); + unsigned dist_code = (unsigned)searchCodeIndex(DISTANCEBASE, 30, distance); + unsigned extra_distance = (unsigned)(distance - DISTANCEBASE[dist_code]); + + uivector_push_back(values, length_code + FIRST_LENGTH_CODE_INDEX); + uivector_push_back(values, extra_length); + uivector_push_back(values, dist_code); + uivector_push_back(values, extra_distance); +} + +/*3 bytes of data get encoded into two bytes. The hash cannot use more than 3 +bytes as input because 3 is the minimum match length for deflate*/ +static const unsigned HASH_NUM_VALUES = 65536; +static const unsigned HASH_BIT_MASK = 65535; /*HASH_NUM_VALUES - 1, but C90 does not like that as initializer*/ + +typedef struct Hash +{ + int* head; /*hash value to head circular pos - can be outdated if went around window*/ + /*circular pos to prev circular pos*/ + unsigned short* chain; + int* val; /*circular pos to hash value*/ + + /*TODO: do this not only for zeros but for any repeated byte. However for PNG + it's always going to be the zeros that dominate, so not important for PNG*/ + int* headz; /*similar to head, but for chainz*/ + unsigned short* chainz; /*those with same amount of zeros*/ + unsigned short* zeros; /*length of zeros streak, used as a second hash chain*/ +} Hash; + +static unsigned hash_init(Hash* hash, unsigned windowsize) +{ + unsigned i; + hash->head = (int*)lodepng_malloc(sizeof(int) * HASH_NUM_VALUES); + hash->val = (int*)lodepng_malloc(sizeof(int) * windowsize); + hash->chain = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + hash->zeros = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + hash->headz = (int*)lodepng_malloc(sizeof(int) * (MAX_SUPPORTED_DEFLATE_LENGTH + 1)); + hash->chainz = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + if(!hash->head || !hash->chain || !hash->val || !hash->headz|| !hash->chainz || !hash->zeros) + { + return 83; /*alloc fail*/ + } + + /*initialize hash table*/ + for(i = 0; i != HASH_NUM_VALUES; ++i) hash->head[i] = -1; + for(i = 0; i != windowsize; ++i) hash->val[i] = -1; + for(i = 0; i != windowsize; ++i) hash->chain[i] = i; /*same value as index indicates uninitialized*/ + + for(i = 0; i <= MAX_SUPPORTED_DEFLATE_LENGTH; ++i) hash->headz[i] = -1; + for(i = 0; i != windowsize; ++i) hash->chainz[i] = i; /*same value as index indicates uninitialized*/ + + return 0; +} + +static void hash_cleanup(Hash* hash) +{ + lodepng_free(hash->head); + lodepng_free(hash->val); + lodepng_free(hash->chain); + + lodepng_free(hash->zeros); + lodepng_free(hash->headz); + lodepng_free(hash->chainz); +} + + + +static unsigned getHash(const unsigned char* data, size_t size, size_t pos) +{ + unsigned result = 0; + if(pos + 2 < size) + { + /*A simple shift and xor hash is used. Since the data of PNGs is dominated + by zeroes due to the filters, a better hash does not have a significant + effect on speed in traversing the chain, and causes more time spend on + calculating the hash.*/ + result ^= (unsigned)(data[pos + 0] << 0u); + result ^= (unsigned)(data[pos + 1] << 4u); + result ^= (unsigned)(data[pos + 2] << 8u); + } else { + size_t amount, i; + if(pos >= size) return 0; + amount = size - pos; + for(i = 0; i != amount; ++i) result ^= (unsigned)(data[pos + i] << (i * 8u)); + } + return result & HASH_BIT_MASK; +} + +static unsigned countZeros(const unsigned char* data, size_t size, size_t pos) +{ + const unsigned char* start = data + pos; + const unsigned char* end = start + MAX_SUPPORTED_DEFLATE_LENGTH; + if(end > data + size) end = data + size; + data = start; + while(data != end && *data == 0) ++data; + /*subtracting two addresses returned as 32-bit number (max value is MAX_SUPPORTED_DEFLATE_LENGTH)*/ + return (unsigned)(data - start); +} + +/*wpos = pos & (windowsize - 1)*/ +static void updateHashChain(Hash* hash, size_t wpos, unsigned hashval, unsigned short numzeros) +{ + hash->val[wpos] = (int)hashval; + if(hash->head[hashval] != -1) hash->chain[wpos] = hash->head[hashval]; + hash->head[hashval] = wpos; + + hash->zeros[wpos] = numzeros; + if(hash->headz[numzeros] != -1) hash->chainz[wpos] = hash->headz[numzeros]; + hash->headz[numzeros] = wpos; +} + +/* +LZ77-encode the data. Return value is error code. The input are raw bytes, the output +is in the form of unsigned integers with codes representing for example literal bytes, or +length/distance pairs. +It uses a hash table technique to let it encode faster. When doing LZ77 encoding, a +sliding window (of windowsize) is used, and all past bytes in that window can be used as +the "dictionary". A brute force search through all possible distances would be slow, and +this hash technique is one out of several ways to speed this up. +*/ +static unsigned encodeLZ77(uivector* out, Hash* hash, + const unsigned char* in, size_t inpos, size_t insize, unsigned windowsize, + unsigned minmatch, unsigned nicematch, unsigned lazymatching) +{ + size_t pos; + unsigned i, error = 0; + /*for large window lengths, assume the user wants no compression loss. Otherwise, max hash chain length speedup.*/ + unsigned maxchainlength = windowsize >= 8192 ? windowsize : windowsize / 8; + unsigned maxlazymatch = windowsize >= 8192 ? MAX_SUPPORTED_DEFLATE_LENGTH : 64; + + unsigned usezeros = 1; /*not sure if setting it to false for windowsize < 8192 is better or worse*/ + unsigned numzeros = 0; + + unsigned offset; /*the offset represents the distance in LZ77 terminology*/ + unsigned length; + unsigned lazy = 0; + unsigned lazylength = 0, lazyoffset = 0; + unsigned hashval; + unsigned current_offset, current_length; + unsigned prev_offset; + const unsigned char *lastptr, *foreptr, *backptr; + unsigned hashpos; + + if(windowsize == 0 || windowsize > 32768) return 60; /*error: windowsize smaller/larger than allowed*/ + if((windowsize & (windowsize - 1)) != 0) return 90; /*error: must be power of two*/ + + if(nicematch > MAX_SUPPORTED_DEFLATE_LENGTH) nicematch = MAX_SUPPORTED_DEFLATE_LENGTH; + + for(pos = inpos; pos < insize; ++pos) + { + size_t wpos = pos & (windowsize - 1); /*position for in 'circular' hash buffers*/ + unsigned chainlength = 0; + + hashval = getHash(in, insize, pos); + + if(usezeros && hashval == 0) + { + if(numzeros == 0) numzeros = countZeros(in, insize, pos); + else if(pos + numzeros > insize || in[pos + numzeros - 1] != 0) --numzeros; + } + else + { + numzeros = 0; + } + + updateHashChain(hash, wpos, hashval, numzeros); + + /*the length and offset found for the current position*/ + length = 0; + offset = 0; + + hashpos = hash->chain[wpos]; + + lastptr = &in[insize < pos + MAX_SUPPORTED_DEFLATE_LENGTH ? insize : pos + MAX_SUPPORTED_DEFLATE_LENGTH]; + + /*search for the longest string*/ + prev_offset = 0; + for(;;) + { + if(chainlength++ >= maxchainlength) break; + current_offset = hashpos <= wpos ? wpos - hashpos : wpos - hashpos + windowsize; + + if(current_offset < prev_offset) break; /*stop when went completely around the circular buffer*/ + prev_offset = current_offset; + if(current_offset > 0) + { + /*test the next characters*/ + foreptr = &in[pos]; + backptr = &in[pos - current_offset]; + + /*common case in PNGs is lots of zeros. Quickly skip over them as a speedup*/ + if(numzeros >= 3) + { + unsigned skip = hash->zeros[hashpos]; + if(skip > numzeros) skip = numzeros; + backptr += skip; + foreptr += skip; + } + + while(foreptr != lastptr && *backptr == *foreptr) /*maximum supported length by deflate is max length*/ + { + ++backptr; + ++foreptr; + } + current_length = (unsigned)(foreptr - &in[pos]); + + if(current_length > length) + { + length = current_length; /*the longest length*/ + offset = current_offset; /*the offset that is related to this longest length*/ + /*jump out once a length of max length is found (speed gain). This also jumps + out if length is MAX_SUPPORTED_DEFLATE_LENGTH*/ + if(current_length >= nicematch) break; + } + } + + if(hashpos == hash->chain[hashpos]) break; + + if(numzeros >= 3 && length > numzeros) + { + hashpos = hash->chainz[hashpos]; + if(hash->zeros[hashpos] != numzeros) break; + } + else + { + hashpos = hash->chain[hashpos]; + /*outdated hash value, happens if particular value was not encountered in whole last window*/ + if(hash->val[hashpos] != (int)hashval) break; + } + } + + if(lazymatching) + { + if(!lazy && length >= 3 && length <= maxlazymatch && length < MAX_SUPPORTED_DEFLATE_LENGTH) + { + lazy = 1; + lazylength = length; + lazyoffset = offset; + continue; /*try the next byte*/ + } + if(lazy) + { + lazy = 0; + if(pos == 0) ERROR_BREAK(81); + if(length > lazylength + 1) + { + /*push the previous character as literal*/ + if(!uivector_push_back(out, in[pos - 1])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + length = lazylength; + offset = lazyoffset; + hash->head[hashval] = -1; /*the same hashchain update will be done, this ensures no wrong alteration*/ + hash->headz[numzeros] = -1; /*idem*/ + --pos; + } + } + } + if(length >= 3 && offset > windowsize) ERROR_BREAK(86 /*too big (or overflown negative) offset*/); + + /*encode it as length/distance pair or literal value*/ + if(length < 3) /*only lengths of 3 or higher are supported as length/distance pair*/ + { + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else if(length < minmatch || (length == 3 && offset > 4096)) + { + /*compensate for the fact that longer offsets have more extra bits, a + length of only 3 may be not worth it then*/ + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + addLengthDistance(out, length, offset); + for(i = 1; i < length; ++i) + { + ++pos; + wpos = pos & (windowsize - 1); + hashval = getHash(in, insize, pos); + if(usezeros && hashval == 0) + { + if(numzeros == 0) numzeros = countZeros(in, insize, pos); + else if(pos + numzeros > insize || in[pos + numzeros - 1] != 0) --numzeros; + } + else + { + numzeros = 0; + } + updateHashChain(hash, wpos, hashval, numzeros); + } + } + } /*end of the loop through each character of input*/ + + return error; +} + +/* /////////////////////////////////////////////////////////////////////////// */ + +static unsigned deflateNoCompression(ucvector* out, const unsigned char* data, size_t datasize) +{ + /*non compressed deflate block data: 1 bit BFINAL,2 bits BTYPE,(5 bits): it jumps to start of next byte, + 2 bytes LEN, 2 bytes NLEN, LEN bytes literal DATA*/ + + size_t i, j, numdeflateblocks = (datasize + 65534) / 65535; + unsigned datapos = 0; + for(i = 0; i != numdeflateblocks; ++i) + { + unsigned BFINAL, BTYPE, LEN, NLEN; + unsigned char firstbyte; + + BFINAL = (i == numdeflateblocks - 1); + BTYPE = 0; + + firstbyte = (unsigned char)(BFINAL + ((BTYPE & 1) << 1) + ((BTYPE & 2) << 1)); + ucvector_push_back(out, firstbyte); + + LEN = 65535; + if(datasize - datapos < 65535) LEN = (unsigned)datasize - datapos; + NLEN = 65535 - LEN; + + ucvector_push_back(out, (unsigned char)(LEN & 255)); + ucvector_push_back(out, (unsigned char)(LEN >> 8)); + ucvector_push_back(out, (unsigned char)(NLEN & 255)); + ucvector_push_back(out, (unsigned char)(NLEN >> 8)); + + /*Decompressed data*/ + for(j = 0; j < 65535 && datapos < datasize; ++j) + { + ucvector_push_back(out, data[datapos++]); + } + } + + return 0; +} + +/* +write the lz77-encoded data, which has lit, len and dist codes, to compressed stream using huffman trees. +tree_ll: the tree for lit and len codes. +tree_d: the tree for distance codes. +*/ +static void writeLZ77data(size_t* bp, ucvector* out, const uivector* lz77_encoded, + const HuffmanTree* tree_ll, const HuffmanTree* tree_d) +{ + size_t i = 0; + for(i = 0; i != lz77_encoded->size; ++i) + { + unsigned val = lz77_encoded->data[i]; + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_ll, val), HuffmanTree_getLength(tree_ll, val)); + if(val > 256) /*for a length code, 3 more things have to be added*/ + { + unsigned length_index = val - FIRST_LENGTH_CODE_INDEX; + unsigned n_length_extra_bits = LENGTHEXTRA[length_index]; + unsigned length_extra_bits = lz77_encoded->data[++i]; + + unsigned distance_code = lz77_encoded->data[++i]; + + unsigned distance_index = distance_code; + unsigned n_distance_extra_bits = DISTANCEEXTRA[distance_index]; + unsigned distance_extra_bits = lz77_encoded->data[++i]; + + addBitsToStream(bp, out, length_extra_bits, n_length_extra_bits); + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_d, distance_code), + HuffmanTree_getLength(tree_d, distance_code)); + addBitsToStream(bp, out, distance_extra_bits, n_distance_extra_bits); + } + } +} + +/*Deflate for a block of type "dynamic", that is, with freely, optimally, created huffman trees*/ +static unsigned deflateDynamic(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + unsigned error = 0; + + /* + A block is compressed as follows: The PNG data is lz77 encoded, resulting in + literal bytes and length/distance pairs. This is then huffman compressed with + two huffman trees. One huffman tree is used for the lit and len values ("ll"), + another huffman tree is used for the dist values ("d"). These two trees are + stored using their code lengths, and to compress even more these code lengths + are also run-length encoded and huffman compressed. This gives a huffman tree + of code lengths "cl". The code lenghts used to describe this third tree are + the code length code lengths ("clcl"). + */ + + /*The lz77 encoded data, represented with integers since there will also be length and distance codes in it*/ + uivector lz77_encoded; + HuffmanTree tree_ll; /*tree for lit,len values*/ + HuffmanTree tree_d; /*tree for distance codes*/ + HuffmanTree tree_cl; /*tree for encoding the code lengths representing tree_ll and tree_d*/ + uivector frequencies_ll; /*frequency of lit,len codes*/ + uivector frequencies_d; /*frequency of dist codes*/ + uivector frequencies_cl; /*frequency of code length codes*/ + uivector bitlen_lld; /*lit,len,dist code lenghts (int bits), literally (without repeat codes).*/ + uivector bitlen_lld_e; /*bitlen_lld encoded with repeat codes (this is a rudemtary run length compression)*/ + /*bitlen_cl is the code length code lengths ("clcl"). The bit lengths of codes to represent tree_cl + (these are written as is in the file, it would be crazy to compress these using yet another huffman + tree that needs to be represented by yet another set of code lengths)*/ + uivector bitlen_cl; + size_t datasize = dataend - datapos; + + /* + Due to the huffman compression of huffman tree representations ("two levels"), there are some anologies: + bitlen_lld is to tree_cl what data is to tree_ll and tree_d. + bitlen_lld_e is to bitlen_lld what lz77_encoded is to data. + bitlen_cl is to bitlen_lld_e what bitlen_lld is to lz77_encoded. + */ + + unsigned BFINAL = final; + size_t numcodes_ll, numcodes_d, i; + unsigned HLIT, HDIST, HCLEN; + + uivector_init(&lz77_encoded); + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + HuffmanTree_init(&tree_cl); + uivector_init(&frequencies_ll); + uivector_init(&frequencies_d); + uivector_init(&frequencies_cl); + uivector_init(&bitlen_lld); + uivector_init(&bitlen_lld_e); + uivector_init(&bitlen_cl); + + /*This while loop never loops due to a break at the end, it is here to + allow breaking out of it to the cleanup phase on error conditions.*/ + while(!error) + { + if(settings->use_lz77) + { + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(error) break; + } + else + { + if(!uivector_resize(&lz77_encoded, datasize)) ERROR_BREAK(83 /*alloc fail*/); + for(i = datapos; i < dataend; ++i) lz77_encoded.data[i - datapos] = data[i]; /*no LZ77, but still will be Huffman compressed*/ + } + + if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83 /*alloc fail*/); + if(!uivector_resizev(&frequencies_d, 30, 0)) ERROR_BREAK(83 /*alloc fail*/); + + /*Count the frequencies of lit, len and dist codes*/ + for(i = 0; i != lz77_encoded.size; ++i) + { + unsigned symbol = lz77_encoded.data[i]; + ++frequencies_ll.data[symbol]; + if(symbol > 256) + { + unsigned dist = lz77_encoded.data[i + 2]; + ++frequencies_d.data[dist]; + i += 3; + } + } + frequencies_ll.data[256] = 1; /*there will be exactly 1 end code, at the end of the block*/ + + /*Make both huffman trees, one for the lit and len codes, one for the dist codes*/ + error = HuffmanTree_makeFromFrequencies(&tree_ll, frequencies_ll.data, 257, frequencies_ll.size, 15); + if(error) break; + /*2, not 1, is chosen for mincodes: some buggy PNG decoders require at least 2 symbols in the dist tree*/ + error = HuffmanTree_makeFromFrequencies(&tree_d, frequencies_d.data, 2, frequencies_d.size, 15); + if(error) break; + + numcodes_ll = tree_ll.numcodes; if(numcodes_ll > 286) numcodes_ll = 286; + numcodes_d = tree_d.numcodes; if(numcodes_d > 30) numcodes_d = 30; + /*store the code lengths of both generated trees in bitlen_lld*/ + for(i = 0; i != numcodes_ll; ++i) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_ll, (unsigned)i)); + for(i = 0; i != numcodes_d; ++i) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_d, (unsigned)i)); + + /*run-length compress bitlen_ldd into bitlen_lld_e by using repeat codes 16 (copy length 3-6 times), + 17 (3-10 zeroes), 18 (11-138 zeroes)*/ + for(i = 0; i != (unsigned)bitlen_lld.size; ++i) + { + unsigned j = 0; /*amount of repititions*/ + while(i + j + 1 < (unsigned)bitlen_lld.size && bitlen_lld.data[i + j + 1] == bitlen_lld.data[i]) ++j; + + if(bitlen_lld.data[i] == 0 && j >= 2) /*repeat code for zeroes*/ + { + ++j; /*include the first zero*/ + if(j <= 10) /*repeat code 17 supports max 10 zeroes*/ + { + uivector_push_back(&bitlen_lld_e, 17); + uivector_push_back(&bitlen_lld_e, j - 3); + } + else /*repeat code 18 supports max 138 zeroes*/ + { + if(j > 138) j = 138; + uivector_push_back(&bitlen_lld_e, 18); + uivector_push_back(&bitlen_lld_e, j - 11); + } + i += (j - 1); + } + else if(j >= 3) /*repeat code for value other than zero*/ + { + size_t k; + unsigned num = j / 6, rest = j % 6; + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + for(k = 0; k < num; ++k) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, 6 - 3); + } + if(rest >= 3) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, rest - 3); + } + else j -= rest; + i += j; + } + else /*too short to benefit from repeat code*/ + { + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + } + } + + /*generate tree_cl, the huffmantree of huffmantrees*/ + + if(!uivector_resizev(&frequencies_cl, NUM_CODE_LENGTH_CODES, 0)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != bitlen_lld_e.size; ++i) + { + ++frequencies_cl.data[bitlen_lld_e.data[i]]; + /*after a repeat code come the bits that specify the number of repetitions, + those don't need to be in the frequencies_cl calculation*/ + if(bitlen_lld_e.data[i] >= 16) ++i; + } + + error = HuffmanTree_makeFromFrequencies(&tree_cl, frequencies_cl.data, + frequencies_cl.size, frequencies_cl.size, 7); + if(error) break; + + if(!uivector_resize(&bitlen_cl, tree_cl.numcodes)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != tree_cl.numcodes; ++i) + { + /*lenghts of code length tree is in the order as specified by deflate*/ + bitlen_cl.data[i] = HuffmanTree_getLength(&tree_cl, CLCL_ORDER[i]); + } + while(bitlen_cl.data[bitlen_cl.size - 1] == 0 && bitlen_cl.size > 4) + { + /*remove zeros at the end, but minimum size must be 4*/ + if(!uivector_resize(&bitlen_cl, bitlen_cl.size - 1)) ERROR_BREAK(83 /*alloc fail*/); + } + if(error) break; + + /* + Write everything into the output + + After the BFINAL and BTYPE, the dynamic block consists out of the following: + - 5 bits HLIT, 5 bits HDIST, 4 bits HCLEN + - (HCLEN+4)*3 bits code lengths of code length alphabet + - HLIT + 257 code lenghts of lit/length alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - HDIST + 1 code lengths of distance alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - compressed data + - 256 (end code) + */ + + /*Write block type*/ + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 0); /*first bit of BTYPE "dynamic"*/ + addBitToStream(bp, out, 1); /*second bit of BTYPE "dynamic"*/ + + /*write the HLIT, HDIST and HCLEN values*/ + HLIT = (unsigned)(numcodes_ll - 257); + HDIST = (unsigned)(numcodes_d - 1); + HCLEN = (unsigned)bitlen_cl.size - 4; + /*trim zeroes for HCLEN. HLIT and HDIST were already trimmed at tree creation*/ + while(!bitlen_cl.data[HCLEN + 4 - 1] && HCLEN > 0) --HCLEN; + addBitsToStream(bp, out, HLIT, 5); + addBitsToStream(bp, out, HDIST, 5); + addBitsToStream(bp, out, HCLEN, 4); + + /*write the code lenghts of the code length alphabet*/ + for(i = 0; i != HCLEN + 4; ++i) addBitsToStream(bp, out, bitlen_cl.data[i], 3); + + /*write the lenghts of the lit/len AND the dist alphabet*/ + for(i = 0; i != bitlen_lld_e.size; ++i) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_cl, bitlen_lld_e.data[i]), + HuffmanTree_getLength(&tree_cl, bitlen_lld_e.data[i])); + /*extra bits of repeat codes*/ + if(bitlen_lld_e.data[i] == 16) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 2); + else if(bitlen_lld_e.data[i] == 17) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 3); + else if(bitlen_lld_e.data[i] == 18) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 7); + } + + /*write the compressed data symbols*/ + writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + /*error: the length of the end code 256 must be larger than 0*/ + if(HuffmanTree_getLength(&tree_ll, 256) == 0) ERROR_BREAK(64); + + /*write the end code*/ + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + break; /*end of error-while*/ + } + + /*cleanup*/ + uivector_cleanup(&lz77_encoded); + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + HuffmanTree_cleanup(&tree_cl); + uivector_cleanup(&frequencies_ll); + uivector_cleanup(&frequencies_d); + uivector_cleanup(&frequencies_cl); + uivector_cleanup(&bitlen_lld_e); + uivector_cleanup(&bitlen_lld); + uivector_cleanup(&bitlen_cl); + + return error; +} + +static unsigned deflateFixed(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, + size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + HuffmanTree tree_ll; /*tree for literal values and length codes*/ + HuffmanTree tree_d; /*tree for distance codes*/ + + unsigned BFINAL = final; + unsigned error = 0; + size_t i; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + generateFixedLitLenTree(&tree_ll); + generateFixedDistanceTree(&tree_d); + + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 1); /*first bit of BTYPE*/ + addBitToStream(bp, out, 0); /*second bit of BTYPE*/ + + if(settings->use_lz77) /*LZ77 encoded*/ + { + uivector lz77_encoded; + uivector_init(&lz77_encoded); + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(!error) writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + uivector_cleanup(&lz77_encoded); + } + else /*no LZ77, but still will be Huffman compressed*/ + { + for(i = datapos; i < dataend; ++i) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, data[i]), HuffmanTree_getLength(&tree_ll, data[i])); + } + } + /*add END code*/ + if(!error) addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + /*cleanup*/ + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned lodepng_deflatev(ucvector* out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error = 0; + size_t i, blocksize, numdeflateblocks; + size_t bp = 0; /*the bit pointer*/ + Hash hash; + + if(settings->btype > 2) return 61; + else if(settings->btype == 0) return deflateNoCompression(out, in, insize); + else if(settings->btype == 1) blocksize = insize; + else /*if(settings->btype == 2)*/ + { + /*on PNGs, deflate blocks of 65-262k seem to give most dense encoding*/ + blocksize = insize / 8 + 8; + if(blocksize < 65536) blocksize = 65536; + if(blocksize > 262144) blocksize = 262144; + } + + numdeflateblocks = (insize + blocksize - 1) / blocksize; + if(numdeflateblocks == 0) numdeflateblocks = 1; + + error = hash_init(&hash, settings->windowsize); + if(error) return error; + + for(i = 0; i != numdeflateblocks && !error; ++i) + { + unsigned final = (i == numdeflateblocks - 1); + size_t start = i * blocksize; + size_t end = start + blocksize; + if(end > insize) end = insize; + + if(settings->btype == 1) error = deflateFixed(out, &bp, &hash, in, start, end, settings, final); + else if(settings->btype == 2) error = deflateDynamic(out, &bp, &hash, in, start, end, settings, final); + } + + hash_cleanup(&hash); + + return error; +} + +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_deflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + if(settings->custom_deflate) + { + return settings->custom_deflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_deflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Adler32 */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned update_adler32(unsigned adler, const unsigned char* data, unsigned len) +{ + unsigned s1 = adler & 0xffff; + unsigned s2 = (adler >> 16) & 0xffff; + + while(len > 0) + { + /*at least 5550 sums can be done before the sums overflow, saving a lot of module divisions*/ + unsigned amount = len > 5550 ? 5550 : len; + len -= amount; + while(amount > 0) + { + s1 += (*data++); + s2 += s1; + --amount; + } + s1 %= 65521; + s2 %= 65521; + } + + return (s2 << 16) | s1; +} + +/*Return the adler32 of the bytes data[0..len-1]*/ +static unsigned adler32(const unsigned char* data, unsigned len) +{ + return update_adler32(1L, data, len); +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Zlib / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + unsigned error = 0; + unsigned CM, CINFO, FDICT; + + if(insize < 2) return 53; /*error, size of zlib data too small*/ + /*read information from zlib header*/ + if((in[0] * 256 + in[1]) % 31 != 0) + { + /*error: 256 * in[0] + in[1] must be a multiple of 31, the FCHECK value is supposed to be made that way*/ + return 24; + } + + CM = in[0] & 15; + CINFO = (in[0] >> 4) & 15; + /*FCHECK = in[1] & 31;*/ /*FCHECK is already tested above*/ + FDICT = (in[1] >> 5) & 1; + /*FLEVEL = (in[1] >> 6) & 3;*/ /*FLEVEL is not used here*/ + + if(CM != 8 || CINFO > 7) + { + /*error: only compression method 8: inflate with sliding window of 32k is supported by the PNG spec*/ + return 25; + } + if(FDICT != 0) + { + /*error: the specification of PNG says about the zlib stream: + "The additional flags shall not specify a preset dictionary."*/ + return 26; + } + + error = inflate(out, outsize, in + 2, insize - 2, settings); + if(error) return error; + + if(!settings->ignore_adler32) + { + unsigned ADLER32 = lodepng_read32bitInt(&in[insize - 4]); + unsigned checksum = adler32(*out, (unsigned)(*outsize)); + if(checksum != ADLER32) return 58; /*error, adler checksum not correct, data must be corrupted*/ + } + + return 0; /*no error*/ +} + +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_decompress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + /*initially, *out must be NULL and outsize 0, if you just give some random *out + that's pointing to a non allocated buffer, this'll crash*/ + ucvector outv; + size_t i; + unsigned error; + unsigned char* deflatedata = 0; + size_t deflatesize = 0; + + /*zlib data: 1 byte CMF (CM+CINFO), 1 byte FLG, deflate data, 4 byte ADLER32 checksum of the Decompressed data*/ + unsigned CMF = 120; /*0b01111000: CM 8, CINFO 7. With CINFO 7, any window size up to 32768 can be used.*/ + unsigned FLEVEL = 0; + unsigned FDICT = 0; + unsigned CMFFLG = 256 * CMF + FDICT * 32 + FLEVEL * 64; + unsigned FCHECK = 31 - CMFFLG % 31; + CMFFLG += FCHECK; + + /*ucvector-controlled version of the output buffer, for dynamic array*/ + ucvector_init_buffer(&outv, *out, *outsize); + + ucvector_push_back(&outv, (unsigned char)(CMFFLG >> 8)); + ucvector_push_back(&outv, (unsigned char)(CMFFLG & 255)); + + error = deflate(&deflatedata, &deflatesize, in, insize, settings); + + if(!error) + { + unsigned ADLER32 = adler32(in, (unsigned)insize); + for(i = 0; i != deflatesize; ++i) ucvector_push_back(&outv, deflatedata[i]); + lodepng_free(deflatedata); + lodepng_add32bitInt(&outv, ADLER32); + } + + *out = outv.data; + *outsize = outv.size; + + return error; +} + +/* compress using the default or custom zlib function */ +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_compress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#else /*no LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DECODER +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if(!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if(!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/*this is a good tradeoff between speed and compression ratio*/ +#define DEFAULT_WINDOWSIZE 2048 + +void lodepng_compress_settings_init(LodePNGCompressSettings* settings) +{ + /*compress with dynamic huffman tree (not in the mathematical sense, just not the predefined one)*/ + settings->btype = 2; + settings->use_lz77 = 1; + settings->windowsize = DEFAULT_WINDOWSIZE; + settings->minmatch = 3; + settings->nicematch = 128; + settings->lazymatching = 1; + + settings->custom_zlib = 0; + settings->custom_deflate = 0; + settings->custom_context = 0; +} + +const LodePNGCompressSettings lodepng_default_compress_settings = {2, 1, DEFAULT_WINDOWSIZE, 3, 128, 1, 0, 0, 0}; + + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings) +{ + settings->ignore_adler32 = 0; + + settings->custom_zlib = 0; + settings->custom_inflate = 0; + settings->custom_context = 0; +} + +const LodePNGDecompressSettings lodepng_default_decompress_settings = {0, 0, 0, 0}; + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of Zlib related code. Begin of PNG related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / CRC32 / */ +/* ////////////////////////////////////////////////////////////////////////// */ + + +#ifndef LODEPNG_NO_COMPILE_CRC +/* CRC polynomial: 0xedb88320 */ +static unsigned lodepng_crc32_table[256] = { + 0u, 1996959894u, 3993919788u, 2567524794u, 124634137u, 1886057615u, 3915621685u, 2657392035u, + 249268274u, 2044508324u, 3772115230u, 2547177864u, 162941995u, 2125561021u, 3887607047u, 2428444049u, + 498536548u, 1789927666u, 4089016648u, 2227061214u, 450548861u, 1843258603u, 4107580753u, 2211677639u, + 325883990u, 1684777152u, 4251122042u, 2321926636u, 335633487u, 1661365465u, 4195302755u, 2366115317u, + 997073096u, 1281953886u, 3579855332u, 2724688242u, 1006888145u, 1258607687u, 3524101629u, 2768942443u, + 901097722u, 1119000684u, 3686517206u, 2898065728u, 853044451u, 1172266101u, 3705015759u, 2882616665u, + 651767980u, 1373503546u, 3369554304u, 3218104598u, 565507253u, 1454621731u, 3485111705u, 3099436303u, + 671266974u, 1594198024u, 3322730930u, 2970347812u, 795835527u, 1483230225u, 3244367275u, 3060149565u, + 1994146192u, 31158534u, 2563907772u, 4023717930u, 1907459465u, 112637215u, 2680153253u, 3904427059u, + 2013776290u, 251722036u, 2517215374u, 3775830040u, 2137656763u, 141376813u, 2439277719u, 3865271297u, + 1802195444u, 476864866u, 2238001368u, 4066508878u, 1812370925u, 453092731u, 2181625025u, 4111451223u, + 1706088902u, 314042704u, 2344532202u, 4240017532u, 1658658271u, 366619977u, 2362670323u, 4224994405u, + 1303535960u, 984961486u, 2747007092u, 3569037538u, 1256170817u, 1037604311u, 2765210733u, 3554079995u, + 1131014506u, 879679996u, 2909243462u, 3663771856u, 1141124467u, 855842277u, 2852801631u, 3708648649u, + 1342533948u, 654459306u, 3188396048u, 3373015174u, 1466479909u, 544179635u, 3110523913u, 3462522015u, + 1591671054u, 702138776u, 2966460450u, 3352799412u, 1504918807u, 783551873u, 3082640443u, 3233442989u, + 3988292384u, 2596254646u, 62317068u, 1957810842u, 3939845945u, 2647816111u, 81470997u, 1943803523u, + 3814918930u, 2489596804u, 225274430u, 2053790376u, 3826175755u, 2466906013u, 167816743u, 2097651377u, + 4027552580u, 2265490386u, 503444072u, 1762050814u, 4150417245u, 2154129355u, 426522225u, 1852507879u, + 4275313526u, 2312317920u, 282753626u, 1742555852u, 4189708143u, 2394877945u, 397917763u, 1622183637u, + 3604390888u, 2714866558u, 953729732u, 1340076626u, 3518719985u, 2797360999u, 1068828381u, 1219638859u, + 3624741850u, 2936675148u, 906185462u, 1090812512u, 3747672003u, 2825379669u, 829329135u, 1181335161u, + 3412177804u, 3160834842u, 628085408u, 1382605366u, 3423369109u, 3138078467u, 570562233u, 1426400815u, + 3317316542u, 2998733608u, 733239954u, 1555261956u, 3268935591u, 3050360625u, 752459403u, 1541320221u, + 2607071920u, 3965973030u, 1969922972u, 40735498u, 2617837225u, 3943577151u, 1913087877u, 83908371u, + 2512341634u, 3803740692u, 2075208622u, 213261112u, 2463272603u, 3855990285u, 2094854071u, 198958881u, + 2262029012u, 4057260610u, 1759359992u, 534414190u, 2176718541u, 4139329115u, 1873836001u, 414664567u, + 2282248934u, 4279200368u, 1711684554u, 285281116u, 2405801727u, 4167216745u, 1634467795u, 376229701u, + 2685067896u, 3608007406u, 1308918612u, 956543938u, 2808555105u, 3495958263u, 1231636301u, 1047427035u, + 2932959818u, 3654703836u, 1088359270u, 936918000u, 2847714899u, 3736837829u, 1202900863u, 817233897u, + 3183342108u, 3401237130u, 1404277552u, 615818150u, 3134207493u, 3453421203u, 1423857449u, 601450431u, + 3009837614u, 3294710456u, 1567103746u, 711928724u, 3020668471u, 3272380065u, 1510334235u, 755167117u +}; + +/*Return the CRC of the bytes buf[0..len-1].*/ +unsigned lodepng_crc32(const unsigned char* data, size_t length) +{ + unsigned r = 0xffffffffu; + size_t i; + for(i = 0; i < length; ++i) + { + r = lodepng_crc32_table[(r ^ data[i]) & 0xff] ^ (r >> 8); + } + return r ^ 0xffffffffu; +} +#else /* !LODEPNG_NO_COMPILE_CRC */ +unsigned lodepng_crc32(const unsigned char* data, size_t length); +#endif /* !LODEPNG_NO_COMPILE_CRC */ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Reading and writing single bits and bytes from/to stream for LodePNG / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned char readBitFromReversedStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)((bitstream[(*bitpointer) >> 3] >> (7 - ((*bitpointer) & 0x7))) & 1); + ++(*bitpointer); + return result; +} + +static unsigned readBitsFromReversedStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0; + size_t i; + for(i = 0 ; i < nbits; ++i) + { + result <<= 1; + result |= (unsigned)readBitFromReversedStream(bitpointer, bitstream); + } + return result; +} + +#ifdef LODEPNG_COMPILE_DECODER +static void setBitOfReversedStream0(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream must be 0 for this to work*/ + if(bit) + { + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/ + bitstream[(*bitpointer) >> 3] |= (bit << (7 - ((*bitpointer) & 0x7))); + } + ++(*bitpointer); +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +static void setBitOfReversedStream(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream may be 0 or 1 for this to work*/ + if(bit == 0) bitstream[(*bitpointer) >> 3] &= (unsigned char)(~(1 << (7 - ((*bitpointer) & 0x7)))); + else bitstream[(*bitpointer) >> 3] |= (1 << (7 - ((*bitpointer) & 0x7))); + ++(*bitpointer); +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG chunks / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_chunk_length(const unsigned char* chunk) +{ + return lodepng_read32bitInt(&chunk[0]); +} + +void lodepng_chunk_type(char type[5], const unsigned char* chunk) +{ + unsigned i; + for(i = 0; i != 4; ++i) type[i] = (char)chunk[4 + i]; + type[4] = 0; /*null termination char*/ +} + +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type) +{ + if(strlen(type) != 4) return 0; + return (chunk[4] == type[0] && chunk[5] == type[1] && chunk[6] == type[2] && chunk[7] == type[3]); +} + +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk) +{ + return((chunk[4] & 32) != 0); +} + +unsigned char lodepng_chunk_private(const unsigned char* chunk) +{ + return((chunk[6] & 32) != 0); +} + +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk) +{ + return((chunk[7] & 32) != 0); +} + +unsigned char* lodepng_chunk_data(unsigned char* chunk) +{ + return &chunk[8]; +} + +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk) +{ + return &chunk[8]; +} + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_read32bitInt(&chunk[length + 8]); + /*the CRC is taken of the data and the 4 chunk type letters, not the length*/ + unsigned checksum = lodepng_crc32(&chunk[4], length + 4); + if(CRC != checksum) return 1; + else return 0; +} + +void lodepng_chunk_generate_crc(unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_crc32(&chunk[4], length + 4); + lodepng_set32bitInt(chunk + 8 + length, CRC); +} + +unsigned char* lodepng_chunk_next(unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk) +{ + unsigned i; + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + unsigned char *chunk_start, *new_buffer; + size_t new_length = (*outlength) + total_chunk_length; + if(new_length < total_chunk_length || new_length < (*outlength)) return 77; /*integer overflow happened*/ + + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk_start = &(*out)[new_length - total_chunk_length]; + + for(i = 0; i != total_chunk_length; ++i) chunk_start[i] = chunk[i]; + + return 0; +} + +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data) +{ + unsigned i; + unsigned char *chunk, *new_buffer; + size_t new_length = (*outlength) + length + 12; + if(new_length < length + 12 || new_length < (*outlength)) return 77; /*integer overflow happened*/ + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk = &(*out)[(*outlength) - length - 12]; + + /*1: length*/ + lodepng_set32bitInt(chunk, (unsigned)length); + + /*2: chunk name (4 letters)*/ + chunk[4] = (unsigned char)type[0]; + chunk[5] = (unsigned char)type[1]; + chunk[6] = (unsigned char)type[2]; + chunk[7] = (unsigned char)type[3]; + + /*3: the data*/ + for(i = 0; i != length; ++i) chunk[8 + i] = data[i]; + + /*4: CRC (of the chunkname characters and the data)*/ + lodepng_chunk_generate_crc(chunk); + + return 0; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Color types and such / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*return type is a LodePNG error code*/ +static unsigned checkColorValidity(LodePNGColorType colortype, unsigned bd) /*bd = bitdepth*/ +{ + switch(colortype) + { + case 0: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 || bd == 16)) return 37; break; /*grey*/ + case 2: if(!( bd == 8 || bd == 16)) return 37; break; /*RGB*/ + case 3: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 )) return 37; break; /*palette*/ + case 4: if(!( bd == 8 || bd == 16)) return 37; break; /*grey + alpha*/ + case 6: if(!( bd == 8 || bd == 16)) return 37; break; /*RGBA*/ + default: return 31; + } + return 0; /*allowed color type / bits combination*/ +} + +static unsigned getNumColorChannels(LodePNGColorType colortype) +{ + switch(colortype) + { + case 0: return 1; /*grey*/ + case 2: return 3; /*RGB*/ + case 3: return 1; /*palette*/ + case 4: return 2; /*grey + alpha*/ + case 6: return 4; /*RGBA*/ + } + return 0; /*unexisting color type*/ +} + +static unsigned lodepng_get_bpp_lct(LodePNGColorType colortype, unsigned bitdepth) +{ + /*bits per pixel is amount of channels * bits per channel*/ + return getNumColorChannels(colortype) * bitdepth; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +void lodepng_color_mode_init(LodePNGColorMode* info) +{ + info->key_defined = 0; + info->key_r = info->key_g = info->key_b = 0; + info->colortype = LCT_RGBA; + info->bitdepth = 8; + info->palette = 0; + info->palettesize = 0; +} + +void lodepng_color_mode_cleanup(LodePNGColorMode* info) +{ + lodepng_palette_clear(info); +} + +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source) +{ + size_t i; + lodepng_color_mode_cleanup(dest); + *dest = *source; + if(source->palette) + { + dest->palette = (unsigned char*)lodepng_malloc(1024); + if(!dest->palette && source->palettesize) return 83; /*alloc fail*/ + for(i = 0; i != source->palettesize * 4; ++i) dest->palette[i] = source->palette[i]; + } + return 0; +} + +static int lodepng_color_mode_equal(const LodePNGColorMode* a, const LodePNGColorMode* b) +{ + size_t i; + if(a->colortype != b->colortype) return 0; + if(a->bitdepth != b->bitdepth) return 0; + if(a->key_defined != b->key_defined) return 0; + if(a->key_defined) + { + if(a->key_r != b->key_r) return 0; + if(a->key_g != b->key_g) return 0; + if(a->key_b != b->key_b) return 0; + } + /*if one of the palette sizes is 0, then we consider it to be the same as the + other: it means that e.g. the palette was not given by the user and should be + considered the same as the palette inside the PNG.*/ + if(1/*a->palettesize != 0 && b->palettesize != 0*/) { + if(a->palettesize != b->palettesize) return 0; + for(i = 0; i != a->palettesize * 4; ++i) + { + if(a->palette[i] != b->palette[i]) return 0; + } + } + return 1; +} + +void lodepng_palette_clear(LodePNGColorMode* info) +{ + if(info->palette) lodepng_free(info->palette); + info->palette = 0; + info->palettesize = 0; +} + +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + unsigned char* data; + /*the same resize technique as C++ std::vectors is used, and here it's made so that for a palette with + the max of 256 colors, it'll have the exact alloc size*/ + if(!info->palette) /*allocate palette if empty*/ + { + /*room for 256 colors with 4 bytes each*/ + data = (unsigned char*)lodepng_realloc(info->palette, 1024); + if(!data) return 83; /*alloc fail*/ + else info->palette = data; + } + info->palette[4 * info->palettesize + 0] = r; + info->palette[4 * info->palettesize + 1] = g; + info->palette[4 * info->palettesize + 2] = b; + info->palette[4 * info->palettesize + 3] = a; + ++info->palettesize; + return 0; +} + +unsigned lodepng_get_bpp(const LodePNGColorMode* info) +{ + /*calculate bits per pixel out of colortype and bitdepth*/ + return lodepng_get_bpp_lct(info->colortype, info->bitdepth); +} + +unsigned lodepng_get_channels(const LodePNGColorMode* info) +{ + return getNumColorChannels(info->colortype); +} + +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_GREY || info->colortype == LCT_GREY_ALPHA; +} + +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info) +{ + return (info->colortype & 4) != 0; /*4 or 6*/ +} + +unsigned lodepng_is_palette_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_PALETTE; +} + +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info) +{ + size_t i; + for(i = 0; i != info->palettesize; ++i) + { + if(info->palette[i * 4 + 3] < 255) return 1; + } + return 0; +} + +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info) +{ + return info->key_defined + || lodepng_is_alpha_type(info) + || lodepng_has_palette_alpha(info); +} + +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + /*will not overflow for any color type if roughly w * h < 268435455*/ + size_t bpp = lodepng_get_bpp(color); + size_t n = w * h; + return ((n / 8) * bpp) + ((n & 7) * bpp + 7) / 8; +} + +size_t lodepng_get_raw_size_lct(unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + /*will not overflow for any color type if roughly w * h < 268435455*/ + size_t bpp = lodepng_get_bpp_lct(colortype, bitdepth); + size_t n = w * h; + return ((n / 8) * bpp) + ((n & 7) * bpp + 7) / 8; +} + + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_DECODER +/*in an idat chunk, each scanline is a multiple of 8 bits, unlike the lodepng output buffer*/ +static size_t lodepng_get_raw_size_idat(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + /*will not overflow for any color type if roughly w * h < 268435455*/ + size_t bpp = lodepng_get_bpp(color); + size_t line = ((w / 8) * bpp) + ((w & 7) * bpp + 7) / 8; + return h * line; +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static void LodePNGUnknownChunks_init(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i != 3; ++i) info->unknown_chunks_data[i] = 0; + for(i = 0; i != 3; ++i) info->unknown_chunks_size[i] = 0; +} + +static void LodePNGUnknownChunks_cleanup(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i != 3; ++i) lodepng_free(info->unknown_chunks_data[i]); +} + +static unsigned LodePNGUnknownChunks_copy(LodePNGInfo* dest, const LodePNGInfo* src) +{ + unsigned i; + + LodePNGUnknownChunks_cleanup(dest); + + for(i = 0; i != 3; ++i) + { + size_t j; + dest->unknown_chunks_size[i] = src->unknown_chunks_size[i]; + dest->unknown_chunks_data[i] = (unsigned char*)lodepng_malloc(src->unknown_chunks_size[i]); + if(!dest->unknown_chunks_data[i] && dest->unknown_chunks_size[i]) return 83; /*alloc fail*/ + for(j = 0; j < src->unknown_chunks_size[i]; ++j) + { + dest->unknown_chunks_data[i][j] = src->unknown_chunks_data[i][j]; + } + } + + return 0; +} + +/******************************************************************************/ + +static void LodePNGText_init(LodePNGInfo* info) +{ + info->text_num = 0; + info->text_keys = NULL; + info->text_strings = NULL; +} + +static void LodePNGText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i != info->text_num; ++i) + { + string_cleanup(&info->text_keys[i]); + string_cleanup(&info->text_strings[i]); + } + lodepng_free(info->text_keys); + lodepng_free(info->text_strings); +} + +static unsigned LodePNGText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->text_keys = 0; + dest->text_strings = 0; + dest->text_num = 0; + for(i = 0; i != source->text_num; ++i) + { + CERROR_TRY_RETURN(lodepng_add_text(dest, source->text_keys[i], source->text_strings[i])); + } + return 0; +} + +void lodepng_clear_text(LodePNGInfo* info) +{ + LodePNGText_cleanup(info); +} + +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->text_keys, sizeof(char*) * (info->text_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->text_strings, sizeof(char*) * (info->text_num + 1))); + if(!new_keys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + ++info->text_num; + info->text_keys = new_keys; + info->text_strings = new_strings; + + string_init(&info->text_keys[info->text_num - 1]); + string_set(&info->text_keys[info->text_num - 1], key); + + string_init(&info->text_strings[info->text_num - 1]); + string_set(&info->text_strings[info->text_num - 1], str); + + return 0; +} + +/******************************************************************************/ + +static void LodePNGIText_init(LodePNGInfo* info) +{ + info->itext_num = 0; + info->itext_keys = NULL; + info->itext_langtags = NULL; + info->itext_transkeys = NULL; + info->itext_strings = NULL; +} + +static void LodePNGIText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i != info->itext_num; ++i) + { + string_cleanup(&info->itext_keys[i]); + string_cleanup(&info->itext_langtags[i]); + string_cleanup(&info->itext_transkeys[i]); + string_cleanup(&info->itext_strings[i]); + } + lodepng_free(info->itext_keys); + lodepng_free(info->itext_langtags); + lodepng_free(info->itext_transkeys); + lodepng_free(info->itext_strings); +} + +static unsigned LodePNGIText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->itext_keys = 0; + dest->itext_langtags = 0; + dest->itext_transkeys = 0; + dest->itext_strings = 0; + dest->itext_num = 0; + for(i = 0; i != source->itext_num; ++i) + { + CERROR_TRY_RETURN(lodepng_add_itext(dest, source->itext_keys[i], source->itext_langtags[i], + source->itext_transkeys[i], source->itext_strings[i])); + } + return 0; +} + +void lodepng_clear_itext(LodePNGInfo* info) +{ + LodePNGIText_cleanup(info); +} + +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->itext_keys, sizeof(char*) * (info->itext_num + 1))); + char** new_langtags = (char**)(lodepng_realloc(info->itext_langtags, sizeof(char*) * (info->itext_num + 1))); + char** new_transkeys = (char**)(lodepng_realloc(info->itext_transkeys, sizeof(char*) * (info->itext_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->itext_strings, sizeof(char*) * (info->itext_num + 1))); + if(!new_keys || !new_langtags || !new_transkeys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_langtags); + lodepng_free(new_transkeys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + ++info->itext_num; + info->itext_keys = new_keys; + info->itext_langtags = new_langtags; + info->itext_transkeys = new_transkeys; + info->itext_strings = new_strings; + + string_init(&info->itext_keys[info->itext_num - 1]); + string_set(&info->itext_keys[info->itext_num - 1], key); + + string_init(&info->itext_langtags[info->itext_num - 1]); + string_set(&info->itext_langtags[info->itext_num - 1], langtag); + + string_init(&info->itext_transkeys[info->itext_num - 1]); + string_set(&info->itext_transkeys[info->itext_num - 1], transkey); + + string_init(&info->itext_strings[info->itext_num - 1]); + string_set(&info->itext_strings[info->itext_num - 1], str); + + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +void lodepng_info_init(LodePNGInfo* info) +{ + lodepng_color_mode_init(&info->color); + info->interlace_method = 0; + info->compression_method = 0; + info->filter_method = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + info->background_defined = 0; + info->background_r = info->background_g = info->background_b = 0; + + LodePNGText_init(info); + LodePNGIText_init(info); + + info->time_defined = 0; + info->phys_defined = 0; + + LodePNGUnknownChunks_init(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +void lodepng_info_cleanup(LodePNGInfo* info) +{ + lodepng_color_mode_cleanup(&info->color); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + LodePNGText_cleanup(info); + LodePNGIText_cleanup(info); + + LodePNGUnknownChunks_cleanup(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + lodepng_info_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->color); + CERROR_TRY_RETURN(lodepng_color_mode_copy(&dest->color, &source->color)); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + CERROR_TRY_RETURN(LodePNGText_copy(dest, source)); + CERROR_TRY_RETURN(LodePNGIText_copy(dest, source)); + + LodePNGUnknownChunks_init(dest); + CERROR_TRY_RETURN(LodePNGUnknownChunks_copy(dest, source)); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + return 0; +} + +void lodepng_info_swap(LodePNGInfo* a, LodePNGInfo* b) +{ + LodePNGInfo temp = *a; + *a = *b; + *b = temp; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +/*index: bitgroup index, bits: bitgroup size(1, 2 or 4), in: bitgroup value, out: octet array to add bits to*/ +static void addColorBits(unsigned char* out, size_t index, unsigned bits, unsigned in) +{ + unsigned m = bits == 1 ? 7 : bits == 2 ? 3 : 1; /*8 / bits - 1*/ + /*p = the partial index in the byte, e.g. with 4 palettebits it is 0 for first half or 1 for second half*/ + unsigned p = index & m; + in &= (1u << bits) - 1u; /*filter out any other bits of the input value*/ + in = in << (bits * (m - p)); + if(p == 0) out[index * bits / 8] = in; + else out[index * bits / 8] |= in; +} + +typedef struct ColorTree ColorTree; + +/* +One node of a color tree +This is the data structure used to count the number of unique colors and to get a palette +index for a color. It's like an octree, but because the alpha channel is used too, each +node has 16 instead of 8 children. +*/ +struct ColorTree +{ + ColorTree* children[16]; /*up to 16 pointers to ColorTree of next level*/ + int index; /*the payload. Only has a meaningful value if this is in the last level*/ +}; + +static void color_tree_init(ColorTree* tree) +{ + int i; + for(i = 0; i != 16; ++i) tree->children[i] = 0; + tree->index = -1; +} + +static void color_tree_cleanup(ColorTree* tree) +{ + int i; + for(i = 0; i != 16; ++i) + { + if(tree->children[i]) + { + color_tree_cleanup(tree->children[i]); + lodepng_free(tree->children[i]); + } + } +} + +/*returns -1 if color not present, its index otherwise*/ +static int color_tree_get(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + int bit = 0; + for(bit = 0; bit < 8; ++bit) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) return -1; + else tree = tree->children[i]; + } + return tree ? tree->index : -1; +} + +#ifdef LODEPNG_COMPILE_ENCODER +static int color_tree_has(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + return color_tree_get(tree, r, g, b, a) >= 0; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*color is not allowed to already exist. +Index should be >= 0 (it's signed to be compatible with using -1 for "doesn't exist")*/ +static void color_tree_add(ColorTree* tree, + unsigned char r, unsigned char g, unsigned char b, unsigned char a, unsigned index) +{ + int bit; + for(bit = 0; bit < 8; ++bit) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) + { + tree->children[i] = (ColorTree*)lodepng_malloc(sizeof(ColorTree)); + color_tree_init(tree->children[i]); + } + tree = tree->children[i]; + } + tree->index = (int)index; +} + +/*put a pixel, given its RGBA color, into image of any color type*/ +static unsigned rgba8ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, ColorTree* tree /*for palette*/, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) out[i] = grey; + else if(mode->bitdepth == 16) out[i * 2 + 0] = out[i * 2 + 1] = grey; + else + { + /*take the most significant bits of grey*/ + grey = (grey >> (8 - mode->bitdepth)) & ((1 << mode->bitdepth) - 1); + addColorBits(out, i, mode->bitdepth, grey); + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + out[i * 3 + 0] = r; + out[i * 3 + 1] = g; + out[i * 3 + 2] = b; + } + else + { + out[i * 6 + 0] = out[i * 6 + 1] = r; + out[i * 6 + 2] = out[i * 6 + 3] = g; + out[i * 6 + 4] = out[i * 6 + 5] = b; + } + } + else if(mode->colortype == LCT_PALETTE) + { + int index = color_tree_get(tree, r, g, b, a); + if(index < 0) return 82; /*color not in palette*/ + if(mode->bitdepth == 8) out[i] = index; + else addColorBits(out, i, mode->bitdepth, (unsigned)index); + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) + { + out[i * 2 + 0] = grey; + out[i * 2 + 1] = a; + } + else if(mode->bitdepth == 16) + { + out[i * 4 + 0] = out[i * 4 + 1] = grey; + out[i * 4 + 2] = out[i * 4 + 3] = a; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + out[i * 4 + 0] = r; + out[i * 4 + 1] = g; + out[i * 4 + 2] = b; + out[i * 4 + 3] = a; + } + else + { + out[i * 8 + 0] = out[i * 8 + 1] = r; + out[i * 8 + 2] = out[i * 8 + 3] = g; + out[i * 8 + 4] = out[i * 8 + 5] = b; + out[i * 8 + 6] = out[i * 8 + 7] = a; + } + } + + return 0; /*no error*/ +} + +/*put a pixel, given its RGBA16 color, into image of any color 16-bitdepth type*/ +static void rgba16ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, + unsigned short r, unsigned short g, unsigned short b, unsigned short a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 2 + 0] = (grey >> 8) & 255; + out[i * 2 + 1] = grey & 255; + } + else if(mode->colortype == LCT_RGB) + { + out[i * 6 + 0] = (r >> 8) & 255; + out[i * 6 + 1] = r & 255; + out[i * 6 + 2] = (g >> 8) & 255; + out[i * 6 + 3] = g & 255; + out[i * 6 + 4] = (b >> 8) & 255; + out[i * 6 + 5] = b & 255; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 4 + 0] = (grey >> 8) & 255; + out[i * 4 + 1] = grey & 255; + out[i * 4 + 2] = (a >> 8) & 255; + out[i * 4 + 3] = a & 255; + } + else if(mode->colortype == LCT_RGBA) + { + out[i * 8 + 0] = (r >> 8) & 255; + out[i * 8 + 1] = r & 255; + out[i * 8 + 2] = (g >> 8) & 255; + out[i * 8 + 3] = g & 255; + out[i * 8 + 4] = (b >> 8) & 255; + out[i * 8 + 5] = b & 255; + out[i * 8 + 6] = (a >> 8) & 255; + out[i * 8 + 7] = a & 255; + } +} + +/*Get RGBA8 color of pixel with index i (y * width + x) from the raw image with given color type.*/ +static void getPixelColorRGBA8(unsigned char* r, unsigned char* g, + unsigned char* b, unsigned char* a, + const unsigned char* in, size_t i, + const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i]; + if(mode->key_defined && *r == mode->key_r) *a = 0; + else *a = 255; + } + else if(mode->bitdepth == 16) + { + *r = *g = *b = in[i * 2 + 0]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 255; + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = i * mode->bitdepth; + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + *r = *g = *b = (value * 255) / highest; + if(mode->key_defined && value == mode->key_r) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + *r = in[i * 3 + 0]; *g = in[i * 3 + 1]; *b = in[i * 3 + 2]; + if(mode->key_defined && *r == mode->key_r && *g == mode->key_g && *b == mode->key_b) *a = 0; + else *a = 255; + } + else + { + *r = in[i * 6 + 0]; + *g = in[i * 6 + 2]; + *b = in[i * 6 + 4]; + if(mode->key_defined && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + if(mode->bitdepth == 8) index = in[i]; + else + { + size_t j = i * mode->bitdepth; + index = readBitsFromReversedStream(&j, in, mode->bitdepth); + } + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but common PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + *r = *g = *b = 0; + *a = 255; + } + else + { + *r = mode->palette[index * 4 + 0]; + *g = mode->palette[index * 4 + 1]; + *b = mode->palette[index * 4 + 2]; + *a = mode->palette[index * 4 + 3]; + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i * 2 + 0]; + *a = in[i * 2 + 1]; + } + else + { + *r = *g = *b = in[i * 4 + 0]; + *a = in[i * 4 + 2]; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + *r = in[i * 4 + 0]; + *g = in[i * 4 + 1]; + *b = in[i * 4 + 2]; + *a = in[i * 4 + 3]; + } + else + { + *r = in[i * 8 + 0]; + *g = in[i * 8 + 2]; + *b = in[i * 8 + 4]; + *a = in[i * 8 + 6]; + } + } +} + +/*Similar to getPixelColorRGBA8, but with all the for loops inside of the color +mode test cases, optimized to convert the colors much faster, when converting +to RGBA or RGB with 8 bit per cannel. buffer must be RGBA or RGB output with +enough memory, if has_alpha is true the output is RGBA. mode has the color mode +of the input buffer.*/ +static void getPixelColorsRGBA8(unsigned char* buffer, size_t numpixels, + unsigned has_alpha, const unsigned char* in, + const LodePNGColorMode* mode) +{ + unsigned num_channels = has_alpha ? 4 : 3; + size_t i; + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i]; + if(has_alpha) buffer[3] = mode->key_defined && in[i] == mode->key_r ? 0 : 255; + } + } + else if(mode->bitdepth == 16) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2]; + if(has_alpha) buffer[3] = mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r ? 0 : 255; + } + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = 0; + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + buffer[0] = buffer[1] = buffer[2] = (value * 255) / highest; + if(has_alpha) buffer[3] = mode->key_defined && value == mode->key_r ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 3 + 0]; + buffer[1] = in[i * 3 + 1]; + buffer[2] = in[i * 3 + 2]; + if(has_alpha) buffer[3] = mode->key_defined && buffer[0] == mode->key_r + && buffer[1]== mode->key_g && buffer[2] == mode->key_b ? 0 : 255; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 6 + 0]; + buffer[1] = in[i * 6 + 2]; + buffer[2] = in[i * 6 + 4]; + if(has_alpha) buffer[3] = mode->key_defined + && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + size_t j = 0; + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + if(mode->bitdepth == 8) index = in[i]; + else index = readBitsFromReversedStream(&j, in, mode->bitdepth); + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but most PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + buffer[0] = buffer[1] = buffer[2] = 0; + if(has_alpha) buffer[3] = 255; + } + else + { + buffer[0] = mode->palette[index * 4 + 0]; + buffer[1] = mode->palette[index * 4 + 1]; + buffer[2] = mode->palette[index * 4 + 2]; + if(has_alpha) buffer[3] = mode->palette[index * 4 + 3]; + } + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2 + 0]; + if(has_alpha) buffer[3] = in[i * 2 + 1]; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 4 + 0]; + if(has_alpha) buffer[3] = in[i * 4 + 2]; + } + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 4 + 0]; + buffer[1] = in[i * 4 + 1]; + buffer[2] = in[i * 4 + 2]; + if(has_alpha) buffer[3] = in[i * 4 + 3]; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 8 + 0]; + buffer[1] = in[i * 8 + 2]; + buffer[2] = in[i * 8 + 4]; + if(has_alpha) buffer[3] = in[i * 8 + 6]; + } + } + } +} + +/*Get RGBA16 color of pixel with index i (y * width + x) from the raw image with +given color type, but the given color type must be 16-bit itself.*/ +static void getPixelColorRGBA16(unsigned short* r, unsigned short* g, unsigned short* b, unsigned short* a, + const unsigned char* in, size_t i, const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + *r = *g = *b = 256 * in[i * 2 + 0] + in[i * 2 + 1]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_RGB) + { + *r = 256u * in[i * 6 + 0] + in[i * 6 + 1]; + *g = 256u * in[i * 6 + 2] + in[i * 6 + 3]; + *b = 256u * in[i * 6 + 4] + in[i * 6 + 5]; + if(mode->key_defined + && 256u * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256u * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256u * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + *r = *g = *b = 256u * in[i * 4 + 0] + in[i * 4 + 1]; + *a = 256u * in[i * 4 + 2] + in[i * 4 + 3]; + } + else if(mode->colortype == LCT_RGBA) + { + *r = 256u * in[i * 8 + 0] + in[i * 8 + 1]; + *g = 256u * in[i * 8 + 2] + in[i * 8 + 3]; + *b = 256u * in[i * 8 + 4] + in[i * 8 + 5]; + *a = 256u * in[i * 8 + 6] + in[i * 8 + 7]; + } +} + +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + const LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h) +{ + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + if(lodepng_color_mode_equal(mode_out, mode_in)) + { + size_t numbytes = lodepng_get_raw_size(w, h, mode_in); + for(i = 0; i != numbytes; ++i) out[i] = in[i]; + return 0; + } + + if(mode_out->colortype == LCT_PALETTE) + { + size_t palettesize = mode_out->palettesize; + const unsigned char* palette = mode_out->palette; + size_t palsize = 1u << mode_out->bitdepth; + /*if the user specified output palette but did not give the values, assume + they want the values of the input color type (assuming that one is palette). + Note that we never create a new palette ourselves.*/ + if(palettesize == 0) + { + palettesize = mode_in->palettesize; + palette = mode_in->palette; + } + if(palettesize < palsize) palsize = palettesize; + color_tree_init(&tree); + for(i = 0; i != palsize; ++i) + { + const unsigned char* p = &palette[i * 4]; + color_tree_add(&tree, p[0], p[1], p[2], p[3], i); + } + } + + if(mode_in->bitdepth == 16 && mode_out->bitdepth == 16) + { + for(i = 0; i != numpixels; ++i) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode_in); + rgba16ToPixel(out, i, mode_out, r, g, b, a); + } + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGBA) + { + getPixelColorsRGBA8(out, numpixels, 1, in, mode_in); + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGB) + { + getPixelColorsRGBA8(out, numpixels, 0, in, mode_in); + } + else + { + unsigned char r = 0, g = 0, b = 0, a = 0; + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode_in); + CERROR_TRY_RETURN(rgba8ToPixel(out, i, mode_out, &tree, r, g, b, a)); + } + } + + if(mode_out->colortype == LCT_PALETTE) + { + color_tree_cleanup(&tree); + } + + return 0; /*no error*/ +} + +#ifdef LODEPNG_COMPILE_ENCODER + +void lodepng_color_profile_init(LodePNGColorProfile* profile) +{ + profile->colored = 0; + profile->key = 0; + profile->key_r = profile->key_g = profile->key_b = 0; + profile->alpha = 0; + profile->numcolors = 0; + profile->bits = 1; +} + +/*function used for debug purposes with C++*/ +/*void printColorProfile(LodePNGColorProfile* p) +{ + std::cout << "colored: " << (int)p->colored << ", "; + std::cout << "key: " << (int)p->key << ", "; + std::cout << "key_r: " << (int)p->key_r << ", "; + std::cout << "key_g: " << (int)p->key_g << ", "; + std::cout << "key_b: " << (int)p->key_b << ", "; + std::cout << "alpha: " << (int)p->alpha << ", "; + std::cout << "numcolors: " << (int)p->numcolors << ", "; + std::cout << "bits: " << (int)p->bits << std::endl; +}*/ + +/*Returns how many bits needed to represent given value (max 8 bit)*/ +static unsigned getValueRequiredBits(unsigned char value) +{ + if(value == 0 || value == 255) return 1; + /*The scaling of 2-bit and 4-bit values uses multiples of 85 and 17*/ + if(value % 17 == 0) return value % 85 == 0 ? 2 : 4; + return 8; +} + +/*profile must already have been inited with mode. +It's ok to set some parameters of profile to done already.*/ +unsigned lodepng_get_color_profile(LodePNGColorProfile* profile, + const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* mode) +{ + unsigned error = 0; + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + unsigned colored_done = lodepng_is_greyscale_type(mode) ? 1 : 0; + unsigned alpha_done = lodepng_can_have_alpha(mode) ? 0 : 1; + unsigned numcolors_done = 0; + unsigned bpp = lodepng_get_bpp(mode); + unsigned bits_done = bpp == 1 ? 1 : 0; + unsigned maxnumcolors = 257; + unsigned sixteen = 0; + if(bpp <= 8) maxnumcolors = bpp == 1 ? 2 : (bpp == 2 ? 4 : (bpp == 4 ? 16 : 256)); + + color_tree_init(&tree); + + /*Check if the 16-bit input is truly 16-bit*/ + if(mode->bitdepth == 16) + { + unsigned short r, g, b, a; + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + if((r & 255) != ((r >> 8) & 255) || (g & 255) != ((g >> 8) & 255) || + (b & 255) != ((b >> 8) & 255) || (a & 255) != ((a >> 8) & 255)) /*first and second byte differ*/ + { + sixteen = 1; + break; + } + } + } + + if(sixteen) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + profile->bits = 16; + bits_done = numcolors_done = 1; /*counting colors no longer useful, palette doesn't support 16-bit*/ + + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 65535 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 65535 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + } + } + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + + if(profile->key && !profile->alpha) + { + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + if(a != 0 && r == profile->key_r && g == profile->key_g && b == profile->key_b) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + } + } + } + } + else /* < 16-bit */ + { + unsigned char r = 0, g = 0, b = 0, a = 0; + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode); + + if(!bits_done && profile->bits < 8) + { + /*only r is checked, < 8 bits is only relevant for greyscale*/ + unsigned bits = getValueRequiredBits(r); + if(bits > profile->bits) profile->bits = bits; + } + bits_done = (profile->bits >= bpp); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no colored modes with less than 8-bit per channel*/ + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 255 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 255 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + } + + if(!numcolors_done) + { + if(!color_tree_has(&tree, r, g, b, a)) + { + color_tree_add(&tree, r, g, b, a, profile->numcolors); + if(profile->numcolors < 256) + { + unsigned char* p = profile->palette; + unsigned n = profile->numcolors; + p[n * 4 + 0] = r; + p[n * 4 + 1] = g; + p[n * 4 + 2] = b; + p[n * 4 + 3] = a; + } + ++profile->numcolors; + numcolors_done = profile->numcolors >= maxnumcolors; + } + } + + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + + if(profile->key && !profile->alpha) + { + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode); + if(a != 0 && r == profile->key_r && g == profile->key_g && b == profile->key_b) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + profile->key = 0; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + } + } + + /*make the profile's key always 16-bit for consistency - repeat each byte twice*/ + profile->key_r += (profile->key_r << 8); + profile->key_g += (profile->key_g << 8); + profile->key_b += (profile->key_b << 8); + } + + color_tree_cleanup(&tree); + return error; +} + +/*Automatically chooses color type that gives smallest amount of bits in the +output image, e.g. grey if there are only greyscale pixels, palette if there +are less than 256 colors, ... +Updates values of mode with a potentially smaller color model. mode_out should +contain the user chosen color model, but will be overwritten with the new chosen one.*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in) +{ + LodePNGColorProfile prof; + unsigned error = 0; + unsigned i, n, palettebits, palette_ok; + + lodepng_color_profile_init(&prof); + error = lodepng_get_color_profile(&prof, image, w, h, mode_in); + if(error) return error; + mode_out->key_defined = 0; + + if(prof.key && w * h <= 16) + { + prof.alpha = 1; /*too few pixels to justify tRNS chunk overhead*/ + prof.key = 0; + if(prof.bits < 8) prof.bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + n = prof.numcolors; + palettebits = n <= 2 ? 1 : (n <= 4 ? 2 : (n <= 16 ? 4 : 8)); + palette_ok = n <= 256 && prof.bits <= 8; + if(w * h < n * 2) palette_ok = 0; /*don't add palette overhead if image has only a few pixels*/ + if(!prof.colored && prof.bits <= palettebits) palette_ok = 0; /*grey is less overhead*/ + + if(palette_ok) + { + unsigned char* p = prof.palette; + lodepng_palette_clear(mode_out); /*remove potential earlier palette*/ + for(i = 0; i != prof.numcolors; ++i) + { + error = lodepng_palette_add(mode_out, p[i * 4 + 0], p[i * 4 + 1], p[i * 4 + 2], p[i * 4 + 3]); + if(error) break; + } + + mode_out->colortype = LCT_PALETTE; + mode_out->bitdepth = palettebits; + + if(mode_in->colortype == LCT_PALETTE && mode_in->palettesize >= mode_out->palettesize + && mode_in->bitdepth == mode_out->bitdepth) + { + /*If input should have same palette colors, keep original to preserve its order and prevent conversion*/ + lodepng_color_mode_cleanup(mode_out); + lodepng_color_mode_copy(mode_out, mode_in); + } + } + else /*8-bit or 16-bit per channel*/ + { + mode_out->bitdepth = prof.bits; + mode_out->colortype = prof.alpha ? (prof.colored ? LCT_RGBA : LCT_GREY_ALPHA) + : (prof.colored ? LCT_RGB : LCT_GREY); + + if(prof.key) + { + unsigned mask = (1u << mode_out->bitdepth) - 1u; /*profile always uses 16-bit, mask converts it*/ + mode_out->key_r = prof.key_r & mask; + mode_out->key_g = prof.key_g & mask; + mode_out->key_b = prof.key_b & mask; + mode_out->key_defined = 1; + } + } + + return error; +} + +#endif /* #ifdef LODEPNG_COMPILE_ENCODER */ + +/* +Paeth predicter, used by PNG filter type 4 +The parameters are of type short, but should come from unsigned chars, the shorts +are only needed to make the paeth calculation correct. +*/ +static unsigned char paethPredictor(short a, short b, short c) +{ + short pa = abs(b - c); + short pb = abs(a - c); + short pc = abs(a + b - c - c); + + if(pc < pa && pc < pb) return (unsigned char)c; + else if(pb < pa) return (unsigned char)b; + else return (unsigned char)a; +} + +/*shared values used by multiple Adam7 related functions*/ + +static const unsigned ADAM7_IX[7] = { 0, 4, 0, 2, 0, 1, 0 }; /*x start values*/ +static const unsigned ADAM7_IY[7] = { 0, 0, 4, 0, 2, 0, 1 }; /*y start values*/ +static const unsigned ADAM7_DX[7] = { 8, 8, 4, 4, 2, 2, 1 }; /*x delta values*/ +static const unsigned ADAM7_DY[7] = { 8, 8, 8, 4, 4, 2, 2 }; /*y delta values*/ + +/* +Outputs various dimensions and positions in the image related to the Adam7 reduced images. +passw: output containing the width of the 7 passes +passh: output containing the height of the 7 passes +filter_passstart: output containing the index of the start and end of each + reduced image with filter bytes +padded_passstart output containing the index of the start and end of each + reduced image when without filter bytes but with padded scanlines +passstart: output containing the index of the start and end of each reduced + image without padding between scanlines, but still padding between the images +w, h: width and height of non-interlaced image +bpp: bits per pixel +"padded" is only relevant if bpp is less than 8 and a scanline or image does not + end at a full byte +*/ +static void Adam7_getpassvalues(unsigned passw[7], unsigned passh[7], size_t filter_passstart[8], + size_t padded_passstart[8], size_t passstart[8], unsigned w, unsigned h, unsigned bpp) +{ + /*the passstart values have 8 values: the 8th one indicates the byte after the end of the 7th (= last) pass*/ + unsigned i; + + /*calculate width and height in pixels of each pass*/ + for(i = 0; i != 7; ++i) + { + passw[i] = (w + ADAM7_DX[i] - ADAM7_IX[i] - 1) / ADAM7_DX[i]; + passh[i] = (h + ADAM7_DY[i] - ADAM7_IY[i] - 1) / ADAM7_DY[i]; + if(passw[i] == 0) passh[i] = 0; + if(passh[i] == 0) passw[i] = 0; + } + + filter_passstart[0] = padded_passstart[0] = passstart[0] = 0; + for(i = 0; i != 7; ++i) + { + /*if passw[i] is 0, it's 0 bytes, not 1 (no filtertype-byte)*/ + filter_passstart[i + 1] = filter_passstart[i] + + ((passw[i] && passh[i]) ? passh[i] * (1 + (passw[i] * bpp + 7) / 8) : 0); + /*bits padded if needed to fill full byte at end of each scanline*/ + padded_passstart[i + 1] = padded_passstart[i] + passh[i] * ((passw[i] * bpp + 7) / 8); + /*only padded at end of reduced image*/ + passstart[i + 1] = passstart[i] + (passh[i] * passw[i] * bpp + 7) / 8; + } +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Decoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*read the information from the header and store it in the LodePNGInfo. return value is error*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, LodePNGState* state, + const unsigned char* in, size_t insize) +{ + LodePNGInfo* info = &state->info_png; + if(insize == 0 || in == 0) + { + CERROR_RETURN_ERROR(state->error, 48); /*error: the given data is empty*/ + } + if(insize < 33) + { + CERROR_RETURN_ERROR(state->error, 27); /*error: the data length is smaller than the length of a PNG header*/ + } + + /*when decoding a new PNG image, make sure all parameters created after previous decoding are reset*/ + lodepng_info_cleanup(info); + lodepng_info_init(info); + + if(in[0] != 137 || in[1] != 80 || in[2] != 78 || in[3] != 71 + || in[4] != 13 || in[5] != 10 || in[6] != 26 || in[7] != 10) + { + CERROR_RETURN_ERROR(state->error, 28); /*error: the first 8 bytes are not the correct PNG signature*/ + } + if(lodepng_chunk_length(in + 8) != 13) + { + CERROR_RETURN_ERROR(state->error, 94); /*error: header size must be 13 bytes*/ + } + if(!lodepng_chunk_type_equals(in + 8, "IHDR")) + { + CERROR_RETURN_ERROR(state->error, 29); /*error: it doesn't start with a IHDR chunk!*/ + } + + /*read the values given in the header*/ + *w = lodepng_read32bitInt(&in[16]); + *h = lodepng_read32bitInt(&in[20]); + info->color.bitdepth = in[24]; + info->color.colortype = (LodePNGColorType)in[25]; + info->compression_method = in[26]; + info->filter_method = in[27]; + info->interlace_method = in[28]; + + if(*w == 0 || *h == 0) + { + CERROR_RETURN_ERROR(state->error, 93); + } + + if(!state->decoder.ignore_crc) + { + unsigned CRC = lodepng_read32bitInt(&in[29]); + unsigned checksum = lodepng_crc32(&in[12], 17); + if(CRC != checksum) + { + CERROR_RETURN_ERROR(state->error, 57); /*invalid CRC*/ + } + } + + /*error: only compression method 0 is allowed in the specification*/ + if(info->compression_method != 0) CERROR_RETURN_ERROR(state->error, 32); + /*error: only filter method 0 is allowed in the specification*/ + if(info->filter_method != 0) CERROR_RETURN_ERROR(state->error, 33); + /*error: only interlace methods 0 and 1 exist in the specification*/ + if(info->interlace_method > 1) CERROR_RETURN_ERROR(state->error, 34); + + state->error = checkColorValidity(info->color.colortype, info->color.bitdepth); + return state->error; +} + +static unsigned unfilterScanline(unsigned char* recon, const unsigned char* scanline, const unsigned char* precon, + size_t bytewidth, unsigned char filterType, size_t length) +{ + /* + For PNG filter method 0 + unfilter a PNG image scanline by scanline. when the pixels are smaller than 1 byte, + the filter works byte per byte (bytewidth = 1) + precon is the previous unfiltered scanline, recon the result, scanline the current one + the incoming scanlines do NOT include the filtertype byte, that one is given in the parameter filterType instead + recon and scanline MAY be the same memory address! precon must be disjoint. + */ + + size_t i; + switch(filterType) + { + case 0: + for(i = 0; i != length; ++i) recon[i] = scanline[i]; + break; + case 1: + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + recon[i - bytewidth]; + break; + case 2: + if(precon) + { + for(i = 0; i != length; ++i) recon[i] = scanline[i] + precon[i]; + } + else + { + for(i = 0; i != length; ++i) recon[i] = scanline[i]; + } + break; + case 3: + if(precon) + { + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i] + (precon[i] >> 1); + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + ((recon[i - bytewidth] + precon[i]) >> 1); + } + else + { + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + (recon[i - bytewidth] >> 1); + } + break; + case 4: + if(precon) + { + for(i = 0; i != bytewidth; ++i) + { + recon[i] = (scanline[i] + precon[i]); /*paethPredictor(0, precon[i], 0) is always precon[i]*/ + } + for(i = bytewidth; i < length; ++i) + { + recon[i] = (scanline[i] + paethPredictor(recon[i - bytewidth], precon[i], precon[i - bytewidth])); + } + } + else + { + for(i = 0; i != bytewidth; ++i) + { + recon[i] = scanline[i]; + } + for(i = bytewidth; i < length; ++i) + { + /*paethPredictor(recon[i - bytewidth], 0, 0) is always recon[i - bytewidth]*/ + recon[i] = (scanline[i] + recon[i - bytewidth]); + } + } + break; + default: return 36; /*error: unexisting filter type given*/ + } + return 0; +} + +static unsigned unfilter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + /* + For PNG filter method 0 + this function unfilters a single image (e.g. without interlacing this is called once, with Adam7 seven times) + out must have enough bytes allocated already, in must have the scanlines + 1 filtertype byte per scanline + w and h are image dimensions or dimensions of reduced image, bpp is bits per pixel + in and out are allowed to be the same memory address (but aren't the same size since in has the extra filter bytes) + */ + + unsigned y; + unsigned char* prevline = 0; + + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + size_t linebytes = (w * bpp + 7) / 8; + + for(y = 0; y < h; ++y) + { + size_t outindex = linebytes * y; + size_t inindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + unsigned char filterType = in[inindex]; + + CERROR_TRY_RETURN(unfilterScanline(&out[outindex], &in[inindex + 1], prevline, bytewidth, filterType, linebytes)); + + prevline = &out[outindex]; + } + + return 0; +} + +/* +in: Adam7 interlaced image, with no padding bits between scanlines, but between + reduced images so that each reduced image starts at a byte. +out: the same pixels, but re-ordered so that they're now a non-interlaced image with size w*h +bpp: bits per pixel +out has the following size in bits: w * h * bpp. +in is possibly bigger due to padding bits between reduced images. +out must be big enough AND must be 0 everywhere if bpp < 8 in the current implementation +(because that's likely a little bit faster) +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_deinterlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + size_t pixelinstart = passstart[i] + (y * passw[i] + x) * bytewidth; + size_t pixeloutstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + for(b = 0; b < bytewidth; ++b) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + ibp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + obp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + for(b = 0; b < bpp; ++b) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + /*note that this function assumes the out buffer is completely 0, use setBitOfReversedStream otherwise*/ + setBitOfReversedStream0(&obp, out, bit); + } + } + } + } +} + +static void removePaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /* + After filtering there are still padding bits if scanlines have non multiple of 8 bit amounts. They need + to be removed (except at last scanline of (Adam7-reduced) image) before working with pure image buffers + for the Adam7 code, the color convert code and the output to the user. + in and out are allowed to be the same buffer, in may also be higher but still overlapping; in must + have >= ilinebits*h bits, out must have >= olinebits*h bits, olinebits must be <= ilinebits + also used to move bits after earlier such operations happened, e.g. in a sequence of reduced images from Adam7 + only useful if (ilinebits - olinebits) is a value in the range 1..7 + */ + unsigned y; + size_t diff = ilinebits - olinebits; + size_t ibp = 0, obp = 0; /*input and output bit pointers*/ + for(y = 0; y < h; ++y) + { + size_t x; + for(x = 0; x < olinebits; ++x) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + ibp += diff; + } +} + +/*out must be buffer big enough to contain full image, and in must contain the full decompressed data from +the IDAT chunks (with filter index bytes and possible padding bits) +return value is error*/ +static unsigned postProcessScanlines(unsigned char* out, unsigned char* in, + unsigned w, unsigned h, const LodePNGInfo* info_png) +{ + /* + This function converts the filtered-padded-interlaced data into pure 2D image buffer with the PNG's colortype. + Steps: + *) if no Adam7: 1) unfilter 2) remove padding bits (= posible extra bits per scanline if bpp < 8) + *) if adam7: 1) 7x unfilter 2) 7x remove padding bits 3) Adam7_deinterlace + NOTE: the in buffer will be overwritten with intermediate data! + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + if(bpp == 0) return 31; /*error: invalid colortype*/ + + if(info_png->interlace_method == 0) + { + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + CERROR_TRY_RETURN(unfilter(in, in, w, h, bpp)); + removePaddingBits(out, in, w * bpp, ((w * bpp + 7) / 8) * 8, h); + } + /*we can immediately filter into the out buffer, no other steps needed*/ + else CERROR_TRY_RETURN(unfilter(out, in, w, h, bpp)); + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + for(i = 0; i != 7; ++i) + { + CERROR_TRY_RETURN(unfilter(&in[padded_passstart[i]], &in[filter_passstart[i]], passw[i], passh[i], bpp)); + /*TODO: possible efficiency improvement: if in this reduced image the bits fit nicely in 1 scanline, + move bytes instead of bits or move not at all*/ + if(bpp < 8) + { + /*remove padding bits in scanlines; after this there still may be padding + bits between the different reduced images: each reduced image still starts nicely at a byte*/ + removePaddingBits(&in[passstart[i]], &in[padded_passstart[i]], passw[i] * bpp, + ((passw[i] * bpp + 7) / 8) * 8, passh[i]); + } + } + + Adam7_deinterlace(out, in, w, h, bpp); + } + + return 0; +} + +static unsigned readChunk_PLTE(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned pos = 0, i; + if(color->palette) lodepng_free(color->palette); + color->palettesize = chunkLength / 3; + color->palette = (unsigned char*)lodepng_malloc(4 * color->palettesize); + if(!color->palette && color->palettesize) + { + color->palettesize = 0; + return 83; /*alloc fail*/ + } + if(color->palettesize > 256) return 38; /*error: palette too big*/ + + for(i = 0; i != color->palettesize; ++i) + { + color->palette[4 * i + 0] = data[pos++]; /*R*/ + color->palette[4 * i + 1] = data[pos++]; /*G*/ + color->palette[4 * i + 2] = data[pos++]; /*B*/ + color->palette[4 * i + 3] = 255; /*alpha*/ + } + + return 0; /* OK */ +} + +static unsigned readChunk_tRNS(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned i; + if(color->colortype == LCT_PALETTE) + { + /*error: more alpha values given than there are palette entries*/ + if(chunkLength > color->palettesize) return 38; + + for(i = 0; i != chunkLength; ++i) color->palette[4 * i + 3] = data[i]; + } + else if(color->colortype == LCT_GREY) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 30; + + color->key_defined = 1; + color->key_r = color->key_g = color->key_b = 256u * data[0] + data[1]; + } + else if(color->colortype == LCT_RGB) + { + /*error: this chunk must be 6 bytes for RGB image*/ + if(chunkLength != 6) return 41; + + color->key_defined = 1; + color->key_r = 256u * data[0] + data[1]; + color->key_g = 256u * data[2] + data[3]; + color->key_b = 256u * data[4] + data[5]; + } + else return 42; /*error: tRNS chunk not allowed for other color models*/ + + return 0; /* OK */ +} + + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*background color chunk (bKGD)*/ +static unsigned readChunk_bKGD(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(info->color.colortype == LCT_PALETTE) + { + /*error: this chunk must be 1 byte for indexed color image*/ + if(chunkLength != 1) return 43; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = data[0]; + } + else if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 44; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = 256u * data[0] + data[1]; + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + /*error: this chunk must be 6 bytes for greyscale image*/ + if(chunkLength != 6) return 45; + + info->background_defined = 1; + info->background_r = 256u * data[0] + data[1]; + info->background_g = 256u * data[2] + data[3]; + info->background_b = 256u * data[4] + data[5]; + } + + return 0; /* OK */ +} + +/*text chunk (tEXt)*/ +static unsigned readChunk_tEXt(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + char *key = 0, *str = 0; + unsigned i; + + while(!error) /*not really a while loop, only used to break on error*/ + { + unsigned length, string2_begin; + + length = 0; + while(length < chunkLength && data[length] != 0) ++length; + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + string2_begin = length + 1; /*skip keyword null terminator*/ + + length = chunkLength < string2_begin ? 0 : chunkLength - string2_begin; + str = (char*)lodepng_malloc(length + 1); + if(!str) CERROR_BREAK(error, 83); /*alloc fail*/ + + str[length] = 0; + for(i = 0; i != length; ++i) str[i] = (char)data[string2_begin + i]; + + error = lodepng_add_text(info, key, str); + + break; + } + + lodepng_free(key); + lodepng_free(str); + + return error; +} + +/*compressed text chunk (zTXt)*/ +static unsigned readChunk_zTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, string2_begin; + char *key = 0; + ucvector decoded; + + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + for(length = 0; length < chunkLength && data[length] != 0; ++length) ; + if(length + 2 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + if(data[length + 1] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + string2_begin = length + 2; + if(string2_begin > chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + + length = chunkLength - string2_begin; + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[string2_begin]), + length, zlibsettings); + if(error) break; + ucvector_push_back(&decoded, 0); + + error = lodepng_add_text(info, key, (char*)decoded.data); + + break; + } + + lodepng_free(key); + ucvector_cleanup(&decoded); + + return error; +} + +/*international text chunk (iTXt)*/ +static unsigned readChunk_iTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, begin, compressed; + char *key = 0, *langtag = 0, *transkey = 0; + ucvector decoded; + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + /*Quick check if the chunk length isn't too small. Even without check + it'd still fail with other error checks below if it's too short. This just gives a different error code.*/ + if(chunkLength < 5) CERROR_BREAK(error, 30); /*iTXt chunk too short*/ + + /*read the key*/ + for(length = 0; length < chunkLength && data[length] != 0; ++length) ; + if(length + 3 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination char, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + /*read the compression method*/ + compressed = data[length + 1]; + if(data[length + 2] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty for the next 3 texts*/ + + /*read the langtag*/ + begin = length + 3; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; ++i) ++length; + + langtag = (char*)lodepng_malloc(length + 1); + if(!langtag) CERROR_BREAK(error, 83); /*alloc fail*/ + + langtag[length] = 0; + for(i = 0; i != length; ++i) langtag[i] = (char)data[begin + i]; + + /*read the transkey*/ + begin += length + 1; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; ++i) ++length; + + transkey = (char*)lodepng_malloc(length + 1); + if(!transkey) CERROR_BREAK(error, 83); /*alloc fail*/ + + transkey[length] = 0; + for(i = 0; i != length; ++i) transkey[i] = (char)data[begin + i]; + + /*read the actual text*/ + begin += length + 1; + + length = chunkLength < begin ? 0 : chunkLength - begin; + + if(compressed) + { + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[begin]), + length, zlibsettings); + if(error) break; + if(decoded.allocsize < decoded.size) decoded.allocsize = decoded.size; + ucvector_push_back(&decoded, 0); + } + else + { + if(!ucvector_resize(&decoded, length + 1)) CERROR_BREAK(error, 83 /*alloc fail*/); + + decoded.data[length] = 0; + for(i = 0; i != length; ++i) decoded.data[i] = data[begin + i]; + } + + error = lodepng_add_itext(info, key, langtag, transkey, (char*)decoded.data); + + break; + } + + lodepng_free(key); + lodepng_free(langtag); + lodepng_free(transkey); + ucvector_cleanup(&decoded); + + return error; +} + +static unsigned readChunk_tIME(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 7) return 73; /*invalid tIME chunk size*/ + + info->time_defined = 1; + info->time.year = 256u * data[0] + data[1]; + info->time.month = data[2]; + info->time.day = data[3]; + info->time.hour = data[4]; + info->time.minute = data[5]; + info->time.second = data[6]; + + return 0; /* OK */ +} + +static unsigned readChunk_pHYs(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 9) return 74; /*invalid pHYs chunk size*/ + + info->phys_defined = 1; + info->phys_x = 16777216u * data[0] + 65536u * data[1] + 256u * data[2] + data[3]; + info->phys_y = 16777216u * data[4] + 65536u * data[5] + 256u * data[6] + data[7]; + info->phys_unit = data[8]; + + return 0; /* OK */ +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*read a PNG, the result will be in the same color type as the PNG (hence "generic")*/ +static void decodeGeneric(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + unsigned char IEND = 0; + const unsigned char* chunk; + size_t i; + ucvector idat; /*the data from idat chunks*/ + ucvector scanlines; + size_t predict; + size_t numpixels; + size_t outsize = 0; + + /*for unknown chunk order*/ + unsigned unknown = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned critical_pos = 1; /*1 = after IHDR, 2 = after PLTE, 3 = after IDAT*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + + /*provide some proper output values if error will happen*/ + *out = 0; + + state->error = lodepng_inspect(w, h, state, in, insize); /*reads header and resets other parameters in state->info_png*/ + if(state->error) return; + + numpixels = *w * *h; + + /*multiplication overflow*/ + if(*h != 0 && numpixels / *h != *w) CERROR_RETURN(state->error, 92); + /*multiplication overflow possible further below. Allows up to 2^31-1 pixel + bytes with 16-bit RGBA, the rest is room for filter bytes.*/ + if(numpixels > 268435455) CERROR_RETURN(state->error, 92); + + ucvector_init(&idat); + chunk = &in[33]; /*first byte of the first chunk after the header*/ + + /*loop through the chunks, ignoring unknown chunks and stopping at IEND chunk. + IDAT data is put at the start of the in buffer*/ + while(!IEND && !state->error) + { + unsigned chunkLength; + const unsigned char* data; /*the data in the chunk*/ + + /*error: size of the in buffer too small to contain next chunk*/ + if((size_t)((chunk - in) + 12) > insize || chunk < in) CERROR_BREAK(state->error, 30); + + /*length of the data of the chunk, excluding the length bytes, chunk type and CRC bytes*/ + chunkLength = lodepng_chunk_length(chunk); + /*error: chunk length larger than the max PNG chunk size*/ + if(chunkLength > 2147483647) CERROR_BREAK(state->error, 63); + + if((size_t)((chunk - in) + chunkLength + 12) > insize || (chunk + chunkLength + 12) < in) + { + CERROR_BREAK(state->error, 64); /*error: size of the in buffer too small to contain next chunk*/ + } + + data = lodepng_chunk_data_const(chunk); + + /*IDAT chunk, containing compressed image data*/ + if(lodepng_chunk_type_equals(chunk, "IDAT")) + { + size_t oldsize = idat.size; + if(!ucvector_resize(&idat, oldsize + chunkLength)) CERROR_BREAK(state->error, 83 /*alloc fail*/); + for(i = 0; i != chunkLength; ++i) idat.data[oldsize + i] = data[i]; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 3; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*IEND chunk*/ + else if(lodepng_chunk_type_equals(chunk, "IEND")) + { + IEND = 1; + } + /*palette chunk (PLTE)*/ + else if(lodepng_chunk_type_equals(chunk, "PLTE")) + { + state->error = readChunk_PLTE(&state->info_png.color, data, chunkLength); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 2; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*palette transparency chunk (tRNS)*/ + else if(lodepng_chunk_type_equals(chunk, "tRNS")) + { + state->error = readChunk_tRNS(&state->info_png.color, data, chunkLength); + if(state->error) break; + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*background color chunk (bKGD)*/ + else if(lodepng_chunk_type_equals(chunk, "bKGD")) + { + state->error = readChunk_bKGD(&state->info_png, data, chunkLength); + if(state->error) break; + } + /*text chunk (tEXt)*/ + else if(lodepng_chunk_type_equals(chunk, "tEXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_tEXt(&state->info_png, data, chunkLength); + if(state->error) break; + } + } + /*compressed text chunk (zTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "zTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_zTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + /*international text chunk (iTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "iTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_iTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + else if(lodepng_chunk_type_equals(chunk, "tIME")) + { + state->error = readChunk_tIME(&state->info_png, data, chunkLength); + if(state->error) break; + } + else if(lodepng_chunk_type_equals(chunk, "pHYs")) + { + state->error = readChunk_pHYs(&state->info_png, data, chunkLength); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + else /*it's not an implemented chunk type, so ignore it: skip over the data*/ + { + /*error: unknown critical chunk (5th bit of first byte of chunk type is 0)*/ + if(!lodepng_chunk_ancillary(chunk)) CERROR_BREAK(state->error, 69); + + unknown = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + if(state->decoder.remember_unknown_chunks) + { + state->error = lodepng_chunk_append(&state->info_png.unknown_chunks_data[critical_pos - 1], + &state->info_png.unknown_chunks_size[critical_pos - 1], chunk); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + + if(!state->decoder.ignore_crc && !unknown) /*check CRC if wanted, only on known chunk types*/ + { + if(lodepng_chunk_check_crc(chunk)) CERROR_BREAK(state->error, 57); /*invalid CRC*/ + } + + if(!IEND) chunk = lodepng_chunk_next_const(chunk); + } + + ucvector_init(&scanlines); + /*predict output size, to allocate exact size for output buffer to avoid more dynamic allocation. + If the decompressed size does not match the prediction, the image must be corrupt.*/ + if(state->info_png.interlace_method == 0) + { + /*The extra *h is added because this are the filter bytes every scanline starts with*/ + predict = lodepng_get_raw_size_idat(*w, *h, &state->info_png.color) + *h; + } + else + { + /*Adam-7 interlaced: predicted size is the sum of the 7 sub-images sizes*/ + const LodePNGColorMode* color = &state->info_png.color; + predict = 0; + predict += lodepng_get_raw_size_idat((*w + 7) >> 3, (*h + 7) >> 3, color) + ((*h + 7) >> 3); + if(*w > 4) predict += lodepng_get_raw_size_idat((*w + 3) >> 3, (*h + 7) >> 3, color) + ((*h + 7) >> 3); + predict += lodepng_get_raw_size_idat((*w + 3) >> 2, (*h + 3) >> 3, color) + ((*h + 3) >> 3); + if(*w > 2) predict += lodepng_get_raw_size_idat((*w + 1) >> 2, (*h + 3) >> 2, color) + ((*h + 3) >> 2); + predict += lodepng_get_raw_size_idat((*w + 1) >> 1, (*h + 1) >> 2, color) + ((*h + 1) >> 2); + if(*w > 1) predict += lodepng_get_raw_size_idat((*w + 0) >> 1, (*h + 1) >> 1, color) + ((*h + 1) >> 1); + predict += lodepng_get_raw_size_idat((*w + 0), (*h + 0) >> 1, color) + ((*h + 0) >> 1); + } + if(!state->error && !ucvector_reserve(&scanlines, predict)) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = zlib_decompress(&scanlines.data, &scanlines.size, idat.data, + idat.size, &state->decoder.zlibsettings); + if(!state->error && scanlines.size != predict) state->error = 91; /*decompressed size doesn't match prediction*/ + } + ucvector_cleanup(&idat); + + if(!state->error) + { + outsize = lodepng_get_raw_size(*w, *h, &state->info_png.color); + *out = (unsigned char*)lodepng_malloc(outsize); + if(!*out) state->error = 83; /*alloc fail*/ + } + if(!state->error) + { + for(i = 0; i < outsize; i++) (*out)[i] = 0; + state->error = postProcessScanlines(*out, scanlines.data, *w, *h, &state->info_png); + } + ucvector_cleanup(&scanlines); +} + +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + *out = 0; + decodeGeneric(out, w, h, state, in, insize); + if(state->error) return state->error; + if(!state->decoder.color_convert || lodepng_color_mode_equal(&state->info_raw, &state->info_png.color)) + { + /*same color type, no copying or converting of data needed*/ + /*store the info_png color settings on the info_raw so that the info_raw still reflects what colortype + the raw image has to the end user*/ + if(!state->decoder.color_convert) + { + state->error = lodepng_color_mode_copy(&state->info_raw, &state->info_png.color); + if(state->error) return state->error; + } + } + else + { + /*color conversion needed; sort of copy of the data*/ + unsigned char* data = *out; + size_t outsize; + + /*TODO: check if this works according to the statement in the documentation: "The converter can convert + from greyscale input color type, to 8-bit greyscale or greyscale with alpha"*/ + if(!(state->info_raw.colortype == LCT_RGB || state->info_raw.colortype == LCT_RGBA) + && !(state->info_raw.bitdepth == 8)) + { + return 56; /*unsupported color mode conversion*/ + } + + outsize = lodepng_get_raw_size(*w, *h, &state->info_raw); + *out = (unsigned char*)lodepng_malloc(outsize); + if(!(*out)) + { + state->error = 83; /*alloc fail*/ + } + else state->error = lodepng_convert(*out, data, &state->info_raw, + &state->info_png.color, *w, *h); + lodepng_free(data); + } + return state->error; +} + +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + error = lodepng_decode(out, w, h, &state, in, insize); + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGBA, 8); +} + +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer = 0; + size_t buffersize; + unsigned error; + error = lodepng_load_file(&buffer, &buffersize, filename); + if(!error) error = lodepng_decode_memory(out, w, h, buffer, buffersize, colortype, bitdepth); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGBA, 8); +} + +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings) +{ + settings->color_convert = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->read_text_chunks = 1; + settings->remember_unknown_chunks = 0; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + settings->ignore_crc = 0; + lodepng_decompress_settings_init(&settings->zlibsettings); +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) + +void lodepng_state_init(LodePNGState* state) +{ +#ifdef LODEPNG_COMPILE_DECODER + lodepng_decoder_settings_init(&state->decoder); +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + lodepng_encoder_settings_init(&state->encoder); +#endif /*LODEPNG_COMPILE_ENCODER*/ + lodepng_color_mode_init(&state->info_raw); + lodepng_info_init(&state->info_png); + state->error = 1; +} + +void lodepng_state_cleanup(LodePNGState* state) +{ + lodepng_color_mode_cleanup(&state->info_raw); + lodepng_info_cleanup(&state->info_png); +} + +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source) +{ + lodepng_state_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->info_raw); + lodepng_info_init(&dest->info_png); + dest->error = lodepng_color_mode_copy(&dest->info_raw, &source->info_raw); if(dest->error) return; + dest->error = lodepng_info_copy(&dest->info_png, &source->info_png); if(dest->error) return; +} + +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Encoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*chunkName must be string of 4 characters*/ +static unsigned addChunk(ucvector* out, const char* chunkName, const unsigned char* data, size_t length) +{ + CERROR_TRY_RETURN(lodepng_chunk_create(&out->data, &out->size, (unsigned)length, chunkName, data)); + out->allocsize = out->size; /*fix the allocsize again*/ + return 0; +} + +static void writeSignature(ucvector* out) +{ + /*8 bytes PNG signature, aka the magic bytes*/ + ucvector_push_back(out, 137); + ucvector_push_back(out, 80); + ucvector_push_back(out, 78); + ucvector_push_back(out, 71); + ucvector_push_back(out, 13); + ucvector_push_back(out, 10); + ucvector_push_back(out, 26); + ucvector_push_back(out, 10); +} + +static unsigned addChunk_IHDR(ucvector* out, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth, unsigned interlace_method) +{ + unsigned error = 0; + ucvector header; + ucvector_init(&header); + + lodepng_add32bitInt(&header, w); /*width*/ + lodepng_add32bitInt(&header, h); /*height*/ + ucvector_push_back(&header, (unsigned char)bitdepth); /*bit depth*/ + ucvector_push_back(&header, (unsigned char)colortype); /*color type*/ + ucvector_push_back(&header, 0); /*compression method*/ + ucvector_push_back(&header, 0); /*filter method*/ + ucvector_push_back(&header, interlace_method); /*interlace method*/ + + error = addChunk(out, "IHDR", header.data, header.size); + ucvector_cleanup(&header); + + return error; +} + +static unsigned addChunk_PLTE(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector PLTE; + ucvector_init(&PLTE); + for(i = 0; i != info->palettesize * 4; ++i) + { + /*add all channels except alpha channel*/ + if(i % 4 != 3) ucvector_push_back(&PLTE, info->palette[i]); + } + error = addChunk(out, "PLTE", PLTE.data, PLTE.size); + ucvector_cleanup(&PLTE); + + return error; +} + +static unsigned addChunk_tRNS(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector tRNS; + ucvector_init(&tRNS); + if(info->colortype == LCT_PALETTE) + { + size_t amount = info->palettesize; + /*the tail of palette values that all have 255 as alpha, does not have to be encoded*/ + for(i = info->palettesize; i != 0; --i) + { + if(info->palette[4 * (i - 1) + 3] == 255) --amount; + else break; + } + /*add only alpha channel*/ + for(i = 0; i != amount; ++i) ucvector_push_back(&tRNS, info->palette[4 * i + 3]); + } + else if(info->colortype == LCT_GREY) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r >> 8)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r & 255)); + } + } + else if(info->colortype == LCT_RGB) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r >> 8)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r & 255)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g >> 8)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g & 255)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b >> 8)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b & 255)); + } + } + + error = addChunk(out, "tRNS", tRNS.data, tRNS.size); + ucvector_cleanup(&tRNS); + + return error; +} + +static unsigned addChunk_IDAT(ucvector* out, const unsigned char* data, size_t datasize, + LodePNGCompressSettings* zlibsettings) +{ + ucvector zlibdata; + unsigned error = 0; + + /*compress with the Zlib compressor*/ + ucvector_init(&zlibdata); + error = zlib_compress(&zlibdata.data, &zlibdata.size, data, datasize, zlibsettings); + if(!error) error = addChunk(out, "IDAT", zlibdata.data, zlibdata.size); + ucvector_cleanup(&zlibdata); + + return error; +} + +static unsigned addChunk_IEND(ucvector* out) +{ + unsigned error = 0; + error = addChunk(out, "IEND", 0, 0); + return error; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static unsigned addChunk_tEXt(ucvector* out, const char* keyword, const char* textstring) +{ + unsigned error = 0; + size_t i; + ucvector text; + ucvector_init(&text); + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&text, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&text, 0); /*0 termination char*/ + for(i = 0; textstring[i] != 0; ++i) ucvector_push_back(&text, (unsigned char)textstring[i]); + error = addChunk(out, "tEXt", text.data, text.size); + ucvector_cleanup(&text); + + return error; +} + +static unsigned addChunk_zTXt(ucvector* out, const char* keyword, const char* textstring, + LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data, compressed; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + ucvector_init(&compressed); + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*0 termination char*/ + ucvector_push_back(&data, 0); /*compression method: 0*/ + + error = zlib_compress(&compressed.data, &compressed.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i != compressed.size; ++i) ucvector_push_back(&data, compressed.data[i]); + error = addChunk(out, "zTXt", data.data, data.size); + } + + ucvector_cleanup(&compressed); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_iTXt(ucvector* out, unsigned compressed, const char* keyword, const char* langtag, + const char* transkey, const char* textstring, LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*null termination char*/ + ucvector_push_back(&data, compressed ? 1 : 0); /*compression flag*/ + ucvector_push_back(&data, 0); /*compression method*/ + for(i = 0; langtag[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)langtag[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + for(i = 0; transkey[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)transkey[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + + if(compressed) + { + ucvector compressed_data; + ucvector_init(&compressed_data); + error = zlib_compress(&compressed_data.data, &compressed_data.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i != compressed_data.size; ++i) ucvector_push_back(&data, compressed_data.data[i]); + } + ucvector_cleanup(&compressed_data); + } + else /*not compressed*/ + { + for(i = 0; textstring[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)textstring[i]); + } + + if(!error) error = addChunk(out, "iTXt", data.data, data.size); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_bKGD(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector bKGD; + ucvector_init(&bKGD); + if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r >> 8)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r & 255)); + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r >> 8)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r & 255)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g >> 8)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g & 255)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b >> 8)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b & 255)); + } + else if(info->color.colortype == LCT_PALETTE) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r & 255)); /*palette index*/ + } + + error = addChunk(out, "bKGD", bKGD.data, bKGD.size); + ucvector_cleanup(&bKGD); + + return error; +} + +static unsigned addChunk_tIME(ucvector* out, const LodePNGTime* time) +{ + unsigned error = 0; + unsigned char* data = (unsigned char*)lodepng_malloc(7); + if(!data) return 83; /*alloc fail*/ + data[0] = (unsigned char)(time->year >> 8); + data[1] = (unsigned char)(time->year & 255); + data[2] = (unsigned char)time->month; + data[3] = (unsigned char)time->day; + data[4] = (unsigned char)time->hour; + data[5] = (unsigned char)time->minute; + data[6] = (unsigned char)time->second; + error = addChunk(out, "tIME", data, 7); + lodepng_free(data); + return error; +} + +static unsigned addChunk_pHYs(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector data; + ucvector_init(&data); + + lodepng_add32bitInt(&data, info->phys_x); + lodepng_add32bitInt(&data, info->phys_y); + ucvector_push_back(&data, info->phys_unit); + + error = addChunk(out, "pHYs", data.data, data.size); + ucvector_cleanup(&data); + + return error; +} + +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +static void filterScanline(unsigned char* out, const unsigned char* scanline, const unsigned char* prevline, + size_t length, size_t bytewidth, unsigned char filterType) +{ + size_t i; + switch(filterType) + { + case 0: /*None*/ + for(i = 0; i != length; ++i) out[i] = scanline[i]; + break; + case 1: /*Sub*/ + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - scanline[i - bytewidth]; + break; + case 2: /*Up*/ + if(prevline) + { + for(i = 0; i != length; ++i) out[i] = scanline[i] - prevline[i]; + } + else + { + for(i = 0; i != length; ++i) out[i] = scanline[i]; + } + break; + case 3: /*Average*/ + if(prevline) + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i] - (prevline[i] >> 1); + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - ((scanline[i - bytewidth] + prevline[i]) >> 1); + } + else + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - (scanline[i - bytewidth] >> 1); + } + break; + case 4: /*Paeth*/ + if(prevline) + { + /*paethPredictor(0, prevline[i], 0) is always prevline[i]*/ + for(i = 0; i != bytewidth; ++i) out[i] = (scanline[i] - prevline[i]); + for(i = bytewidth; i < length; ++i) + { + out[i] = (scanline[i] - paethPredictor(scanline[i - bytewidth], prevline[i], prevline[i - bytewidth])); + } + } + else + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + /*paethPredictor(scanline[i - bytewidth], 0, 0) is always scanline[i - bytewidth]*/ + for(i = bytewidth; i < length; ++i) out[i] = (scanline[i] - scanline[i - bytewidth]); + } + break; + default: return; /*unexisting filter type given*/ + } +} + +/* log2 approximation. A slight bit faster than std::log. */ +static float flog2(float f) +{ + float result = 0; + while(f > 32) { result += 4; f /= 16; } + while(f > 2) { ++result; f /= 2; } + return result + 1.442695f * (f * f * f / 3 - 3 * f * f / 2 + 3 * f - 1.83333f); +} + +static unsigned filter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* info, const LodePNGEncoderSettings* settings) +{ + /* + For PNG filter method 0 + out must be a buffer with as size: h + (w * h * bpp + 7) / 8, because there are + the scanlines with 1 extra byte per scanline + */ + + unsigned bpp = lodepng_get_bpp(info); + /*the width of a scanline in bytes, not including the filter type*/ + size_t linebytes = (w * bpp + 7) / 8; + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + const unsigned char* prevline = 0; + unsigned x, y; + unsigned error = 0; + LodePNGFilterStrategy strategy = settings->filter_strategy; + + /* + There is a heuristic called the minimum sum of absolute differences heuristic, suggested by the PNG standard: + * If the image type is Palette, or the bit depth is smaller than 8, then do not filter the image (i.e. + use fixed filtering, with the filter None). + * (The other case) If the image type is Grayscale or RGB (with or without Alpha), and the bit depth is + not smaller than 8, then use adaptive filtering heuristic as follows: independently for each row, apply + all five filters and select the filter that produces the smallest sum of absolute values per row. + This heuristic is used if filter strategy is LFS_MINSUM and filter_palette_zero is true. + + If filter_palette_zero is true and filter_strategy is not LFS_MINSUM, the above heuristic is followed, + but for "the other case", whatever strategy filter_strategy is set to instead of the minimum sum + heuristic is used. + */ + if(settings->filter_palette_zero && + (info->colortype == LCT_PALETTE || info->bitdepth < 8)) strategy = LFS_ZERO; + + if(bpp == 0) return 31; /*error: invalid color type*/ + + if(strategy == LFS_ZERO) + { + for(y = 0; y != h; ++y) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + out[outindex] = 0; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, 0); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_MINSUM) + { + /*adaptive filtering*/ + size_t sum[5]; + unsigned char* attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned char type, bestType = 0; + + for(type = 0; type != 5; ++type) + { + attempt[type] = (unsigned char*)lodepng_malloc(linebytes); + if(!attempt[type]) return 83; /*alloc fail*/ + } + + if(!error) + { + for(y = 0; y != h; ++y) + { + /*try the 5 filter types*/ + for(type = 0; type != 5; ++type) + { + filterScanline(attempt[type], &in[y * linebytes], prevline, linebytes, bytewidth, type); + + /*calculate the sum of the result*/ + sum[type] = 0; + if(type == 0) + { + for(x = 0; x != linebytes; ++x) sum[type] += (unsigned char)(attempt[type][x]); + } + else + { + for(x = 0; x != linebytes; ++x) + { + /*For differences, each byte should be treated as signed, values above 127 are negative + (converted to signed char). Filtertype 0 isn't a difference though, so use unsigned there. + This means filtertype 0 is almost never chosen, but that is justified.*/ + unsigned char s = attempt[type][x]; + sum[type] += s < 128 ? s : (255U - s); + } + } + + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType][x]; + } + } + + for(type = 0; type != 5; ++type) lodepng_free(attempt[type]); + } + else if(strategy == LFS_ENTROPY) + { + float sum[5]; + unsigned char* attempt[5]; /*five filtering attempts, one for each filter type*/ + float smallest = 0; + unsigned type, bestType = 0; + unsigned count[256]; + + for(type = 0; type != 5; ++type) + { + attempt[type] = (unsigned char*)lodepng_malloc(linebytes); + if(!attempt[type]) return 83; /*alloc fail*/ + } + + for(y = 0; y != h; ++y) + { + /*try the 5 filter types*/ + for(type = 0; type != 5; ++type) + { + filterScanline(attempt[type], &in[y * linebytes], prevline, linebytes, bytewidth, type); + for(x = 0; x != 256; ++x) count[x] = 0; + for(x = 0; x != linebytes; ++x) ++count[attempt[type][x]]; + ++count[type]; /*the filter type itself is part of the scanline*/ + sum[type] = 0; + for(x = 0; x != 256; ++x) + { + float p = count[x] / (float)(linebytes + 1); + sum[type] += count[x] == 0 ? 0 : flog2(1 / p) * p; + } + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType][x]; + } + + for(type = 0; type != 5; ++type) lodepng_free(attempt[type]); + } + else if(strategy == LFS_PREDEFINED) + { + for(y = 0; y != h; ++y) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + unsigned char type = settings->predefined_filters[y]; + out[outindex] = type; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, type); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_BRUTE_FORCE) + { + /*brute force filter chooser. + deflate the scanline after every filter attempt to see which one deflates best. + This is very slow and gives only slightly smaller, sometimes even larger, result*/ + size_t size[5]; + unsigned char* attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned type = 0, bestType = 0; + unsigned char* dummy; + LodePNGCompressSettings zlibsettings = settings->zlibsettings; + /*use fixed tree on the attempts so that the tree is not adapted to the filtertype on purpose, + to simulate the true case where the tree is the same for the whole image. Sometimes it gives + better result with dynamic tree anyway. Using the fixed tree sometimes gives worse, but in rare + cases better compression. It does make this a bit less slow, so it's worth doing this.*/ + zlibsettings.btype = 1; + /*a custom encoder likely doesn't read the btype setting and is optimized for complete PNG + images only, so disable it*/ + zlibsettings.custom_zlib = 0; + zlibsettings.custom_deflate = 0; + for(type = 0; type != 5; ++type) + { + attempt[type] = (unsigned char*)lodepng_malloc(linebytes); + if(!attempt[type]) return 83; /*alloc fail*/ + } + for(y = 0; y != h; ++y) /*try the 5 filter types*/ + { + for(type = 0; type != 5; ++type) + { + unsigned testsize = linebytes; + /*if(testsize > 8) testsize /= 8;*/ /*it already works good enough by testing a part of the row*/ + + filterScanline(attempt[type], &in[y * linebytes], prevline, linebytes, bytewidth, type); + size[type] = 0; + dummy = 0; + zlib_compress(&dummy, &size[type], attempt[type], testsize, &zlibsettings); + lodepng_free(dummy); + /*check if this is smallest size (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || size[type] < smallest) + { + bestType = type; + smallest = size[type]; + } + } + prevline = &in[y * linebytes]; + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType][x]; + } + for(type = 0; type != 5; ++type) lodepng_free(attempt[type]); + } + else return 88; /* unknown filter strategy */ + + return error; +} + +static void addPaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /*The opposite of the removePaddingBits function + olinebits must be >= ilinebits*/ + unsigned y; + size_t diff = olinebits - ilinebits; + size_t obp = 0, ibp = 0; /*bit pointers*/ + for(y = 0; y != h; ++y) + { + size_t x; + for(x = 0; x < ilinebits; ++x) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + /*obp += diff; --> no, fill in some value in the padding bits too, to avoid + "Use of uninitialised value of size ###" warning from valgrind*/ + for(x = 0; x != diff; ++x) setBitOfReversedStream(&obp, out, 0); + } +} + +/* +in: non-interlaced image with size w*h +out: the same pixels, but re-ordered according to PNG's Adam7 interlacing, with + no padding bits between scanlines, but between reduced images so that each + reduced image starts at a byte. +bpp: bits per pixel +there are no padding bits, not between scanlines, not between reduced images +in has the following size in bits: w * h * bpp. +out is possibly bigger due to padding bits between reduced images +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_interlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + size_t pixelinstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + size_t pixeloutstart = passstart[i] + (y * passw[i] + x) * bytewidth; + for(b = 0; b < bytewidth; ++b) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + ibp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + obp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + for(b = 0; b < bpp; ++b) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + } + } + } +} + +/*out must be buffer big enough to contain uncompressed IDAT chunk data, and in must contain the full image. +return value is error**/ +static unsigned preProcessScanlines(unsigned char** out, size_t* outsize, const unsigned char* in, + unsigned w, unsigned h, + const LodePNGInfo* info_png, const LodePNGEncoderSettings* settings) +{ + /* + This function converts the pure 2D image with the PNG's colortype, into filtered-padded-interlaced data. Steps: + *) if no Adam7: 1) add padding bits (= posible extra bits per scanline if bpp < 8) 2) filter + *) if adam7: 1) Adam7_interlace 2) 7x add padding bits 3) 7x filter + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + unsigned error = 0; + + if(info_png->interlace_method == 0) + { + *outsize = h + (h * ((w * bpp + 7) / 8)); /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out) && (*outsize)) error = 83; /*alloc fail*/ + + if(!error) + { + /*non multiple of 8 bits per scanline, padding bits needed per scanline*/ + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(h * ((w * bpp + 7) / 8)); + if(!padded) error = 83; /*alloc fail*/ + if(!error) + { + addPaddingBits(padded, in, ((w * bpp + 7) / 8) * 8, w * bpp, h); + error = filter(*out, padded, w, h, &info_png->color, settings); + } + lodepng_free(padded); + } + else + { + /*we can immediately filter into the out buffer, no other steps needed*/ + error = filter(*out, in, w, h, &info_png->color, settings); + } + } + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned char* adam7; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + *outsize = filter_passstart[7]; /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out)) error = 83; /*alloc fail*/ + + adam7 = (unsigned char*)lodepng_malloc(passstart[7]); + if(!adam7 && passstart[7]) error = 83; /*alloc fail*/ + + if(!error) + { + unsigned i; + + Adam7_interlace(adam7, in, w, h, bpp); + for(i = 0; i != 7; ++i) + { + if(bpp < 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(padded_passstart[i + 1] - padded_passstart[i]); + if(!padded) ERROR_BREAK(83); /*alloc fail*/ + addPaddingBits(padded, &adam7[passstart[i]], + ((passw[i] * bpp + 7) / 8) * 8, passw[i] * bpp, passh[i]); + error = filter(&(*out)[filter_passstart[i]], padded, + passw[i], passh[i], &info_png->color, settings); + lodepng_free(padded); + } + else + { + error = filter(&(*out)[filter_passstart[i]], &adam7[padded_passstart[i]], + passw[i], passh[i], &info_png->color, settings); + } + + if(error) break; + } + } + + lodepng_free(adam7); + } + + return error; +} + +/* +palette must have 4 * palettesize bytes allocated, and given in format RGBARGBARGBARGBA... +returns 0 if the palette is opaque, +returns 1 if the palette has a single color with alpha 0 ==> color key +returns 2 if the palette is semi-translucent. +*/ +static unsigned getPaletteTranslucency(const unsigned char* palette, size_t palettesize) +{ + size_t i; + unsigned key = 0; + unsigned r = 0, g = 0, b = 0; /*the value of the color with alpha 0, so long as color keying is possible*/ + for(i = 0; i != palettesize; ++i) + { + if(!key && palette[4 * i + 3] == 0) + { + r = palette[4 * i + 0]; g = palette[4 * i + 1]; b = palette[4 * i + 2]; + key = 1; + i = (size_t)(-1); /*restart from beginning, to detect earlier opaque colors with key's value*/ + } + else if(palette[4 * i + 3] != 255) return 2; + /*when key, no opaque RGB may have key's RGB*/ + else if(key && r == palette[i * 4 + 0] && g == palette[i * 4 + 1] && b == palette[i * 4 + 2]) return 2; + } + return key; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +static unsigned addUnknownChunks(ucvector* out, unsigned char* data, size_t datasize) +{ + unsigned char* inchunk = data; + while((size_t)(inchunk - data) < datasize) + { + CERROR_TRY_RETURN(lodepng_chunk_append(&out->data, &out->size, inchunk)); + out->allocsize = out->size; /*fix the allocsize again*/ + inchunk = lodepng_chunk_next(inchunk); + } + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state) +{ + LodePNGInfo info; + ucvector outv; + unsigned char* data = 0; /*uncompressed version of the IDAT chunk data*/ + size_t datasize = 0; + + /*provide some proper output values if error will happen*/ + *out = 0; + *outsize = 0; + state->error = 0; + + lodepng_info_init(&info); + lodepng_info_copy(&info, &state->info_png); + + if((info.color.colortype == LCT_PALETTE || state->encoder.force_palette) + && (info.color.palettesize == 0 || info.color.palettesize > 256)) + { + state->error = 68; /*invalid palette size, it is only allowed to be 1-256*/ + return state->error; + } + + if(state->encoder.auto_convert) + { + state->error = lodepng_auto_choose_color(&info.color, image, w, h, &state->info_raw); + } + if(state->error) return state->error; + + if(state->encoder.zlibsettings.btype > 2) + { + CERROR_RETURN_ERROR(state->error, 61); /*error: unexisting btype*/ + } + if(state->info_png.interlace_method > 1) + { + CERROR_RETURN_ERROR(state->error, 71); /*error: unexisting interlace mode*/ + } + + state->error = checkColorValidity(info.color.colortype, info.color.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + state->error = checkColorValidity(state->info_raw.colortype, state->info_raw.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + + if(!lodepng_color_mode_equal(&state->info_raw, &info.color)) + { + unsigned char* converted; + size_t size = (w * h * (size_t)lodepng_get_bpp(&info.color) + 7) / 8; + + converted = (unsigned char*)lodepng_malloc(size); + if(!converted && size) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = lodepng_convert(converted, image, &info.color, &state->info_raw, w, h); + } + if(!state->error) preProcessScanlines(&data, &datasize, converted, w, h, &info, &state->encoder); + lodepng_free(converted); + } + else preProcessScanlines(&data, &datasize, image, w, h, &info, &state->encoder); + + ucvector_init(&outv); + while(!state->error) /*while only executed once, to break on error*/ + { +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + size_t i; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*write signature and chunks*/ + writeSignature(&outv); + /*IHDR*/ + addChunk_IHDR(&outv, w, h, info.color.colortype, info.color.bitdepth, info.interlace_method); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*unknown chunks between IHDR and PLTE*/ + if(info.unknown_chunks_data[0]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[0], info.unknown_chunks_size[0]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*PLTE*/ + if(info.color.colortype == LCT_PALETTE) + { + addChunk_PLTE(&outv, &info.color); + } + if(state->encoder.force_palette && (info.color.colortype == LCT_RGB || info.color.colortype == LCT_RGBA)) + { + addChunk_PLTE(&outv, &info.color); + } + /*tRNS*/ + if(info.color.colortype == LCT_PALETTE && getPaletteTranslucency(info.color.palette, info.color.palettesize) != 0) + { + addChunk_tRNS(&outv, &info.color); + } + if((info.color.colortype == LCT_GREY || info.color.colortype == LCT_RGB) && info.color.key_defined) + { + addChunk_tRNS(&outv, &info.color); + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*bKGD (must come between PLTE and the IDAt chunks*/ + if(info.background_defined) addChunk_bKGD(&outv, &info); + /*pHYs (must come before the IDAT chunks)*/ + if(info.phys_defined) addChunk_pHYs(&outv, &info); + + /*unknown chunks between PLTE and IDAT*/ + if(info.unknown_chunks_data[1]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[1], info.unknown_chunks_size[1]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*IDAT (multiple IDAT chunks must be consecutive)*/ + state->error = addChunk_IDAT(&outv, data, datasize, &state->encoder.zlibsettings); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*tIME*/ + if(info.time_defined) addChunk_tIME(&outv, &info.time); + /*tEXt and/or zTXt*/ + for(i = 0; i != info.text_num; ++i) + { + if(strlen(info.text_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.text_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + if(state->encoder.text_compression) + { + addChunk_zTXt(&outv, info.text_keys[i], info.text_strings[i], &state->encoder.zlibsettings); + } + else + { + addChunk_tEXt(&outv, info.text_keys[i], info.text_strings[i]); + } + } + /*LodePNG version id in text chunk*/ + if(state->encoder.add_id) + { + unsigned alread_added_id_text = 0; + for(i = 0; i != info.text_num; ++i) + { + if(!strcmp(info.text_keys[i], "LodePNG")) + { + alread_added_id_text = 1; + break; + } + } + if(alread_added_id_text == 0) + { + addChunk_tEXt(&outv, "LodePNG", LODEPNG_VERSION_STRING); /*it's shorter as tEXt than as zTXt chunk*/ + } + } + /*iTXt*/ + for(i = 0; i != info.itext_num; ++i) + { + if(strlen(info.itext_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.itext_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + addChunk_iTXt(&outv, state->encoder.text_compression, + info.itext_keys[i], info.itext_langtags[i], info.itext_transkeys[i], info.itext_strings[i], + &state->encoder.zlibsettings); + } + + /*unknown chunks between IDAT and IEND*/ + if(info.unknown_chunks_data[2]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[2], info.unknown_chunks_size[2]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + addChunk_IEND(&outv); + + break; /*this isn't really a while loop; no error happened so break out now!*/ + } + + lodepng_info_cleanup(&info); + lodepng_free(data); + /*instead of cleaning the vector up, give it to the output*/ + *out = outv.data; + *outsize = outv.size; + + return state->error; +} + +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, const unsigned char* image, + unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + state.info_png.color.colortype = colortype; + state.info_png.color.bitdepth = bitdepth; + lodepng_encode(out, outsize, image, w, h, &state); + error = state.error; + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_encode_file(const char* filename, const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, image, w, h, colortype, bitdepth); + if(!error) error = lodepng_save_file(buffer, buffersize, filename); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_encode32_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings) +{ + lodepng_compress_settings_init(&settings->zlibsettings); + settings->filter_palette_zero = 1; + settings->filter_strategy = LFS_MINSUM; + settings->auto_convert = 1; + settings->force_palette = 0; + settings->predefined_filters = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->add_id = 0; + settings->text_compression = 1; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/* +This returns the description of a numerical error code in English. This is also +the documentation of all the error codes. +*/ +const char* lodepng_error_text(unsigned code) +{ + switch(code) + { + case 0: return "no error, everything went ok"; + case 1: return "nothing done yet"; /*the Encoder/Decoder has done nothing yet, error checking makes no sense yet*/ + case 10: return "end of input memory reached without huffman end code"; /*while huffman decoding*/ + case 11: return "error in code tree made it jump outside of huffman tree"; /*while huffman decoding*/ + case 13: return "problem while processing dynamic deflate block"; + case 14: return "problem while processing dynamic deflate block"; + case 15: return "problem while processing dynamic deflate block"; + case 16: return "unexisting code while processing dynamic deflate block"; + case 17: return "end of out buffer memory reached while inflating"; + case 18: return "invalid distance code while inflating"; + case 19: return "end of out buffer memory reached while inflating"; + case 20: return "invalid deflate block BTYPE encountered while decoding"; + case 21: return "NLEN is not ones complement of LEN in a deflate block"; + /*end of out buffer memory reached while inflating: + This can happen if the inflated deflate data is longer than the amount of bytes required to fill up + all the pixels of the image, given the color depth and image dimensions. Something that doesn't + happen in a normal, well encoded, PNG image.*/ + case 22: return "end of out buffer memory reached while inflating"; + case 23: return "end of in buffer memory reached while inflating"; + case 24: return "invalid FCHECK in zlib header"; + case 25: return "invalid compression method in zlib header"; + case 26: return "FDICT encountered in zlib header while it's not used for PNG"; + case 27: return "PNG file is smaller than a PNG header"; + /*Checks the magic file header, the first 8 bytes of the PNG file*/ + case 28: return "incorrect PNG signature, it's no PNG or corrupted"; + case 29: return "first chunk is not the header chunk"; + case 30: return "chunk length too large, chunk broken off at end of file"; + case 31: return "illegal PNG color type or bpp"; + case 32: return "illegal PNG compression method"; + case 33: return "illegal PNG filter method"; + case 34: return "illegal PNG interlace method"; + case 35: return "chunk length of a chunk is too large or the chunk too small"; + case 36: return "illegal PNG filter type encountered"; + case 37: return "illegal bit depth for this color type given"; + case 38: return "the palette is too big"; /*more than 256 colors*/ + case 39: return "more palette alpha values given in tRNS chunk than there are colors in the palette"; + case 40: return "tRNS chunk has wrong size for greyscale image"; + case 41: return "tRNS chunk has wrong size for RGB image"; + case 42: return "tRNS chunk appeared while it was not allowed for this color type"; + case 43: return "bKGD chunk has wrong size for palette image"; + case 44: return "bKGD chunk has wrong size for greyscale image"; + case 45: return "bKGD chunk has wrong size for RGB image"; + case 48: return "empty input buffer given to decoder. Maybe caused by non-existing file?"; + case 49: return "jumped past memory while generating dynamic huffman tree"; + case 50: return "jumped past memory while generating dynamic huffman tree"; + case 51: return "jumped past memory while inflating huffman block"; + case 52: return "jumped past memory while inflating"; + case 53: return "size of zlib data too small"; + case 54: return "repeat symbol in tree while there was no value symbol yet"; + /*jumped past tree while generating huffman tree, this could be when the + tree will have more leaves than symbols after generating it out of the + given lenghts. They call this an oversubscribed dynamic bit lengths tree in zlib.*/ + case 55: return "jumped past tree while generating huffman tree"; + case 56: return "given output image colortype or bitdepth not supported for color conversion"; + case 57: return "invalid CRC encountered (checking CRC can be disabled)"; + case 58: return "invalid ADLER32 encountered (checking ADLER32 can be disabled)"; + case 59: return "requested color conversion not supported"; + case 60: return "invalid window size given in the settings of the encoder (must be 0-32768)"; + case 61: return "invalid BTYPE given in the settings of the encoder (only 0, 1 and 2 are allowed)"; + /*LodePNG leaves the choice of RGB to greyscale conversion formula to the user.*/ + case 62: return "conversion from color to greyscale not supported"; + case 63: return "length of a chunk too long, max allowed for PNG is 2147483647 bytes per chunk"; /*(2^31-1)*/ + /*this would result in the inability of a deflated block to ever contain an end code. It must be at least 1.*/ + case 64: return "the length of the END symbol 256 in the Huffman tree is 0"; + case 66: return "the length of a text chunk keyword given to the encoder is longer than the maximum of 79 bytes"; + case 67: return "the length of a text chunk keyword given to the encoder is smaller than the minimum of 1 byte"; + case 68: return "tried to encode a PLTE chunk with a palette that has less than 1 or more than 256 colors"; + case 69: return "unknown chunk type with 'critical' flag encountered by the decoder"; + case 71: return "unexisting interlace mode given to encoder (must be 0 or 1)"; + case 72: return "while decoding, unexisting compression method encountering in zTXt or iTXt chunk (it must be 0)"; + case 73: return "invalid tIME chunk size"; + case 74: return "invalid pHYs chunk size"; + /*length could be wrong, or data chopped off*/ + case 75: return "no null termination char found while decoding text chunk"; + case 76: return "iTXt chunk too short to contain required bytes"; + case 77: return "integer overflow in buffer size"; + case 78: return "failed to open file for reading"; /*file doesn't exist or couldn't be opened for reading*/ + case 79: return "failed to open file for writing"; + case 80: return "tried creating a tree of 0 symbols"; + case 81: return "lazy matching at pos 0 is impossible"; + case 82: return "color conversion to palette requested while a color isn't in palette"; + case 83: return "memory allocation failed"; + case 84: return "given image too small to contain all pixels to be encoded"; + case 86: return "impossible offset in lz77 encoding (internal bug)"; + case 87: return "must provide custom zlib function pointer if LODEPNG_COMPILE_ZLIB is not defined"; + case 88: return "invalid filter strategy given for LodePNGEncoderSettings.filter_strategy"; + case 89: return "text chunk keyword too short or long: must have size 1-79"; + /*the windowsize in the LodePNGCompressSettings. Requiring POT(==> & instead of %) makes encoding 12% faster.*/ + case 90: return "windowsize must be a power of two"; + case 91: return "invalid decompressed idat size"; + case 92: return "too many pixels, not supported"; + case 93: return "zero width or height is invalid"; + case 94: return "header chunk must have a size of 13 bytes"; + } + return "unknown error code"; +} +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // C++ Wrapper // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ + +#ifdef LODEPNG_COMPILE_DISK +unsigned load_file(std::vector<unsigned char>& buffer, const std::string& filename) +{ + long size = lodepng_filesize(filename.c_str()); + if(size < 0) return 78; + buffer.resize((size_t)size); + return size == 0 ? 0 : lodepng_buffer_file(&buffer[0], (size_t)size, filename.c_str()); +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +unsigned save_file(const std::vector<unsigned char>& buffer, const std::string& filename) +{ + return lodepng_save_file(buffer.empty() ? 0 : &buffer[0], buffer.size(), filename.c_str()); +} +#endif /* LODEPNG_COMPILE_DISK */ + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +unsigned decompress(std::vector<unsigned char>& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_decompress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decompress(std::vector<unsigned char>& out, const std::vector<unsigned char>& in, + const LodePNGDecompressSettings& settings) +{ + return decompress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif /* LODEPNG_COMPILE_DECODER */ + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned compress(std::vector<unsigned char>& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_compress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned compress(std::vector<unsigned char>& out, const std::vector<unsigned char>& in, + const LodePNGCompressSettings& settings) +{ + return compress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif /* LODEPNG_COMPILE_ENCODER */ +#endif /* LODEPNG_COMPILE_ZLIB */ + + +#ifdef LODEPNG_COMPILE_PNG + +State::State() +{ + lodepng_state_init(this); +} + +State::State(const State& other) +{ + lodepng_state_init(this); + lodepng_state_copy(this, &other); +} + +State::~State() +{ + lodepng_state_cleanup(this); +} + +State& State::operator=(const State& other) +{ + lodepng_state_copy(this, &other); + return *this; +} + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + unsigned error = lodepng_decode_memory(&buffer, &w, &h, in, insize, colortype, bitdepth); + if(buffer && !error) + { + State state; + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + const std::vector<unsigned char>& in, LodePNGColorType colortype, unsigned bitdepth) +{ + return decode(out, w, h, in.empty() ? 0 : &in[0], (unsigned)in.size(), colortype, bitdepth); +} + +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize) +{ + unsigned char* buffer = NULL; + unsigned error = lodepng_decode(&buffer, &w, &h, &state, in, insize); + if(buffer && !error) + { + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + } + lodepng_free(buffer); + return error; +} + +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + State& state, + const std::vector<unsigned char>& in) +{ + return decode(out, w, h, state, in.empty() ? 0 : &in[0], in.size()); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, const std::string& filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector<unsigned char> buffer; + unsigned error = load_file(buffer, filename); + if(error) return error; + return decode(out, w, h, buffer, colortype, bitdepth); +} +#endif /* LODEPNG_COMPILE_DECODER */ +#endif /* LODEPNG_COMPILE_DISK */ + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned encode(std::vector<unsigned char>& out, const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, in, w, h, colortype, bitdepth); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector<unsigned char>& out, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} + +unsigned encode(std::vector<unsigned char>& out, + const unsigned char* in, unsigned w, unsigned h, + State& state) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode(&buffer, &buffersize, in, w, h, &state); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector<unsigned char>& out, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + State& state) +{ + if(lodepng_get_raw_size(w, h, &state.info_raw) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, state); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector<unsigned char> buffer; + unsigned error = encode(buffer, in, w, h, colortype, bitdepth); + if(!error) error = save_file(buffer, filename); + return error; +} + +unsigned encode(const std::string& filename, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(filename, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} +#endif /* LODEPNG_COMPILE_DISK */ +#endif /* LODEPNG_COMPILE_ENCODER */ +#endif /* LODEPNG_COMPILE_PNG */ +} /* namespace lodepng */ +#endif /*LODEPNG_COMPILE_CPP*/ \ No newline at end of file diff --git a/lodepng.h b/lodepng.h new file mode 100644 index 0000000..65b97e9 --- /dev/null +++ b/lodepng.h @@ -0,0 +1,1761 @@ +/* +LodePNG version 20161127 + +Copyright (c) 2005-2016 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +#ifndef LODEPNG_H +#define LODEPNG_H + +#include <string.h> /*for size_t*/ + +extern const char* LODEPNG_VERSION_STRING; + +/* +The following #defines are used to create code sections. They can be disabled +to disable code sections, which can give faster compile time and smaller binary. +The "NO_COMPILE" defines are designed to be used to pass as defines to the +compiler command to disable them without modifying this header, e.g. +-DLODEPNG_NO_COMPILE_ZLIB for gcc. +In addition to those below, you can also define LODEPNG_NO_COMPILE_CRC to +allow implementing a custom lodepng_crc32. +*/ +/*deflate & zlib. If disabled, you must specify alternative zlib functions in +the custom_zlib field of the compress and decompress settings*/ +#ifndef LODEPNG_NO_COMPILE_ZLIB +#define LODEPNG_COMPILE_ZLIB +#endif +/*png encoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_PNG +#define LODEPNG_COMPILE_PNG +#endif +/*deflate&zlib decoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_DECODER +#define LODEPNG_COMPILE_DECODER +#endif +/*deflate&zlib encoder and png encoder*/ +#ifndef LODEPNG_NO_COMPILE_ENCODER +#define LODEPNG_COMPILE_ENCODER +#endif +/*the optional built in harddisk file loading and saving functions*/ +#ifndef LODEPNG_NO_COMPILE_DISK +#define LODEPNG_COMPILE_DISK +#endif +/*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/ +#ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +#define LODEPNG_COMPILE_ANCILLARY_CHUNKS +#endif +/*ability to convert error numerical codes to English text string*/ +#ifndef LODEPNG_NO_COMPILE_ERROR_TEXT +#define LODEPNG_COMPILE_ERROR_TEXT +#endif +/*Compile the default allocators (C's free, malloc and realloc). If you disable this, +you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your +source files with custom allocators.*/ +#ifndef LODEPNG_NO_COMPILE_ALLOCATORS +#define LODEPNG_COMPILE_ALLOCATORS +#endif +/*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ +#ifdef __cplusplus +#ifndef LODEPNG_NO_COMPILE_CPP +#define LODEPNG_COMPILE_CPP +#endif +#endif + +#ifdef LODEPNG_COMPILE_CPP +#include <vector> +#include <string> +#endif /*LODEPNG_COMPILE_CPP*/ + +#ifdef LODEPNG_COMPILE_PNG +/*The PNG color types (also used for raw).*/ +typedef enum LodePNGColorType +{ + LCT_GREY = 0, /*greyscale: 1,2,4,8,16 bit*/ + LCT_RGB = 2, /*RGB: 8,16 bit*/ + LCT_PALETTE = 3, /*palette: 1,2,4,8 bit*/ + LCT_GREY_ALPHA = 4, /*greyscale with alpha: 8,16 bit*/ + LCT_RGBA = 6 /*RGB with alpha: 8,16 bit*/ +} LodePNGColorType; + +#ifdef LODEPNG_COMPILE_DECODER +/* +Converts PNG data in memory to raw pixel data. +out: Output parameter. Pointer to buffer that will contain the raw pixel data. + After decoding, its size is w * h * (bytes per pixel) bytes larger than + initially. Bytes per pixel depends on colortype and bitdepth. + Must be freed after usage with free(*out). + Note: for 16-bit per channel colors, uses big endian format like PNG does. +w: Output parameter. Pointer to width of pixel data. +h: Output parameter. Pointer to height of pixel data. +in: Memory buffer with the PNG file. +insize: size of the in buffer. +colortype: the desired color type for the raw output image. See explanation on PNG color types. +bitdepth: the desired bit depth for the raw output image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_memory, but always decodes to 32-bit RGBA raw image*/ +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +/*Same as lodepng_decode_memory, but always decodes to 24-bit RGB raw image*/ +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +#ifdef LODEPNG_COMPILE_DISK +/* +Load PNG from disk, from file with given name. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/ +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); + +/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/ +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Converts raw pixel data into a PNG image in memory. The colortype and bitdepth + of the output PNG image cannot be chosen, they are automatically determined + by the colortype, bitdepth and content of the input pixel data. + Note: for 16-bit per channel colors, needs big endian format like PNG does. +out: Output parameter. Pointer to buffer that will contain the PNG image data. + Must be freed after usage with free(*out). +outsize: Output parameter. Pointer to the size in bytes of the out buffer. +image: The raw pixel data to encode. The size of this buffer should be + w * h * (bytes per pixel), bytes per pixel depends on colortype and bitdepth. +w: width of the raw pixel data in pixels. +h: height of the raw pixel data in pixels. +colortype: the color type of the raw input image. See explanation on PNG color types. +bitdepth: the bit depth of the raw input image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_memory, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_memory, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DISK +/* +Converts raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned lodepng_encode_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_DECODER +/*Same as lodepng_decode_memory, but decodes to an std::vector. The colortype +is the format to output the pixels to. Default is RGBA 8-bit per channel.*/ +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + const std::vector<unsigned char>& in, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts PNG file from disk to raw pixel data in memory. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + const std::string& filename, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif /* LODEPNG_COMPILE_DISK */ +#endif /* LODEPNG_COMPILE_DECODER */ + +#ifdef LODEPNG_COMPILE_ENCODER +/*Same as lodepng_encode_memory, but encodes to an std::vector. colortype +is that of the raw input data. The output PNG color type will be auto chosen.*/ +unsigned encode(std::vector<unsigned char>& out, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(std::vector<unsigned char>& out, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts 32-bit RGBA raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(const std::string& filename, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif /* LODEPNG_COMPILE_DISK */ +#endif /* LODEPNG_COMPILE_ENCODER */ +} /* namespace lodepng */ +#endif /*LODEPNG_COMPILE_CPP*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/*Returns an English description of the numerical error code.*/ +const char* lodepng_error_text(unsigned code); +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Settings for zlib decompression*/ +typedef struct LodePNGDecompressSettings LodePNGDecompressSettings; +struct LodePNGDecompressSettings +{ + unsigned ignore_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ + + /*use custom zlib decoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + /*use custom deflate decoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_inflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGDecompressSettings lodepng_default_decompress_settings; +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Settings for zlib compression. Tweaking these settings tweaks the balance +between speed and compression ratio. +*/ +typedef struct LodePNGCompressSettings LodePNGCompressSettings; +struct LodePNGCompressSettings /*deflate = compress*/ +{ + /*LZ77 related settings*/ + unsigned btype; /*the block type for LZ (0, 1, 2 or 3, see zlib standard). Should be 2 for proper compression.*/ + unsigned use_lz77; /*whether or not to use LZ77. Should be 1 for proper compression.*/ + unsigned windowsize; /*must be a power of two <= 32768. higher compresses more but is slower. Default value: 2048.*/ + unsigned minmatch; /*mininum lz77 length. 3 is normally best, 6 can be better for some PNGs. Default: 0*/ + unsigned nicematch; /*stop searching if >= this length found. Set to 258 for best compression. Default: 128*/ + unsigned lazymatching; /*use lazy matching: better compression but a bit slower. Default: true*/ + + /*use custom zlib encoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + /*use custom deflate encoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_deflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGCompressSettings lodepng_default_compress_settings; +void lodepng_compress_settings_init(LodePNGCompressSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_PNG +/* +Color mode of an image. Contains all information required to decode the pixel +bits to RGBA colors. This information is the same as used in the PNG file +format, and is used both for PNG and raw image data in LodePNG. +*/ +typedef struct LodePNGColorMode +{ + /*header (IHDR)*/ + LodePNGColorType colortype; /*color type, see PNG standard or documentation further in this header file*/ + unsigned bitdepth; /*bits per sample, see PNG standard or documentation further in this header file*/ + + /* + palette (PLTE and tRNS) + + Dynamically allocated with the colors of the palette, including alpha. + When encoding a PNG, to store your colors in the palette of the LodePNGColorMode, first use + lodepng_palette_clear, then for each color use lodepng_palette_add. + If you encode an image without alpha with palette, don't forget to put value 255 in each A byte of the palette. + + When decoding, by default you can ignore this palette, since LodePNG already + fills the palette colors in the pixels of the raw RGBA output. + + The palette is only supported for color type 3. + */ + unsigned char* palette; /*palette in RGBARGBA... order. When allocated, must be either 0, or have size 1024*/ + size_t palettesize; /*palette size in number of colors (amount of bytes is 4 * palettesize)*/ + + /* + transparent color key (tRNS) + + This color uses the same bit depth as the bitdepth value in this struct, which can be 1-bit to 16-bit. + For greyscale PNGs, r, g and b will all 3 be set to the same. + + When decoding, by default you can ignore this information, since LodePNG sets + pixels with this key to transparent already in the raw RGBA output. + + The color key is only supported for color types 0 and 2. + */ + unsigned key_defined; /*is a transparent color key given? 0 = false, 1 = true*/ + unsigned key_r; /*red/greyscale component of color key*/ + unsigned key_g; /*green component of color key*/ + unsigned key_b; /*blue component of color key*/ +} LodePNGColorMode; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_color_mode_init(LodePNGColorMode* info); +void lodepng_color_mode_cleanup(LodePNGColorMode* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source); + +void lodepng_palette_clear(LodePNGColorMode* info); +/*add 1 color to the palette*/ +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a); + +/*get the total amount of bits per pixel, based on colortype and bitdepth in the struct*/ +unsigned lodepng_get_bpp(const LodePNGColorMode* info); +/*get the amount of color channels used, based on colortype in the struct. +If a palette is used, it counts as 1 channel.*/ +unsigned lodepng_get_channels(const LodePNGColorMode* info); +/*is it a greyscale type? (only colortype 0 or 4)*/ +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info); +/*has it got an alpha channel? (only colortype 2 or 6)*/ +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info); +/*has it got a palette? (only colortype 3)*/ +unsigned lodepng_is_palette_type(const LodePNGColorMode* info); +/*only returns true if there is a palette and there is a value in the palette with alpha < 255. +Loops through the palette to check this.*/ +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info); +/* +Check if the given color info indicates the possibility of having non-opaque pixels in the PNG image. +Returns true if the image can have translucent or invisible pixels (it still be opaque if it doesn't use such pixels). +Returns false if the image can only have opaque pixels. +In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque values, +or if "key_defined" is true. +*/ +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info); +/*Returns the byte size of a raw image buffer with given width, height and color mode*/ +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*The information of a Time chunk in PNG.*/ +typedef struct LodePNGTime +{ + unsigned year; /*2 bytes used (0-65535)*/ + unsigned month; /*1-12*/ + unsigned day; /*1-31*/ + unsigned hour; /*0-23*/ + unsigned minute; /*0-59*/ + unsigned second; /*0-60 (to allow for leap seconds)*/ +} LodePNGTime; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*Information about the PNG image, except pixels, width and height.*/ +typedef struct LodePNGInfo +{ + /*header (IHDR), palette (PLTE) and transparency (tRNS) chunks*/ + unsigned compression_method;/*compression method of the original file. Always 0.*/ + unsigned filter_method; /*filter method of the original file*/ + unsigned interlace_method; /*interlace method of the original file*/ + LodePNGColorMode color; /*color type and bits, palette and transparency of the PNG file*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /* + suggested background color chunk (bKGD) + This color uses the same color mode as the PNG (except alpha channel), which can be 1-bit to 16-bit. + + For greyscale PNGs, r, g and b will all 3 be set to the same. When encoding + the encoder writes the red one. For palette PNGs: When decoding, the RGB value + will be stored, not a palette index. But when encoding, specify the index of + the palette in background_r, the other two are then ignored. + + The decoder does not use this background color to edit the color of pixels. + */ + unsigned background_defined; /*is a suggested background color given?*/ + unsigned background_r; /*red component of suggested background color*/ + unsigned background_g; /*green component of suggested background color*/ + unsigned background_b; /*blue component of suggested background color*/ + + /* + non-international text chunks (tEXt and zTXt) + + The char** arrays each contain num strings. The actual messages are in + text_strings, while text_keys are keywords that give a short description what + the actual text represents, e.g. Title, Author, Description, or anything else. + + A keyword is minimum 1 character and maximum 79 characters long. It's + discouraged to use a single line length longer than 79 characters for texts. + + Don't allocate these text buffers yourself. Use the init/cleanup functions + correctly and use lodepng_add_text and lodepng_clear_text. + */ + size_t text_num; /*the amount of texts in these char** buffers (there may be more texts in itext)*/ + char** text_keys; /*the keyword of a text chunk (e.g. "Comment")*/ + char** text_strings; /*the actual text*/ + + /* + international text chunks (iTXt) + Similar to the non-international text chunks, but with additional strings + "langtags" and "transkeys". + */ + size_t itext_num; /*the amount of international texts in this PNG*/ + char** itext_keys; /*the English keyword of the text chunk (e.g. "Comment")*/ + char** itext_langtags; /*language tag for this text's language, ISO/IEC 646 string, e.g. ISO 639 language tag*/ + char** itext_transkeys; /*keyword translated to the international language - UTF-8 string*/ + char** itext_strings; /*the actual international text - UTF-8 string*/ + + /*time chunk (tIME)*/ + unsigned time_defined; /*set to 1 to make the encoder generate a tIME chunk*/ + LodePNGTime time; + + /*phys chunk (pHYs)*/ + unsigned phys_defined; /*if 0, there is no pHYs chunk and the values below are undefined, if 1 else there is one*/ + unsigned phys_x; /*pixels per unit in x direction*/ + unsigned phys_y; /*pixels per unit in y direction*/ + unsigned phys_unit; /*may be 0 (unknown unit) or 1 (metre)*/ + + /* + unknown chunks + There are 3 buffers, one for each position in the PNG where unknown chunks can appear + each buffer contains all unknown chunks for that position consecutively + The 3 buffers are the unknown chunks between certain critical chunks: + 0: IHDR-PLTE, 1: PLTE-IDAT, 2: IDAT-IEND + Do not allocate or traverse this data yourself. Use the chunk traversing functions declared + later, such as lodepng_chunk_next and lodepng_chunk_append, to read/write this struct. + */ + unsigned char* unknown_chunks_data[3]; + size_t unknown_chunks_size[3]; /*size in bytes of the unknown chunks, given for protection*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGInfo; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_info_init(LodePNGInfo* info); +void lodepng_info_cleanup(LodePNGInfo* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +void lodepng_clear_text(LodePNGInfo* info); /*use this to clear the texts again after you filled them in*/ +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str); /*push back both texts at once*/ + +void lodepng_clear_itext(LodePNGInfo* info); /*use this to clear the itexts again after you filled them in*/ +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str); /*push back the 4 texts of 1 chunk at once*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/* +Converts raw buffer from one color type to another color type, based on +LodePNGColorMode structs to describe the input and output color type. +See the reference manual at the end of this header file to see which color conversions are supported. +return value = LodePNG error code (0 if all went ok, an error if the conversion isn't supported) +The out buffer must have size (w * h * bpp + 7) / 8, where bpp is the bits per pixel +of the output color type (lodepng_get_bpp). +For < 8 bpp images, there should not be padding bits at the end of scanlines. +For 16-bit per channel colors, uses big endian format like PNG does. +Return value is LodePNG error code +*/ +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + const LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DECODER +/* +Settings for the decoder. This contains settings for the PNG and the Zlib +decoder, but not the Info settings from the Info structs. +*/ +typedef struct LodePNGDecoderSettings +{ + LodePNGDecompressSettings zlibsettings; /*in here is the setting to ignore Adler32 checksums*/ + + unsigned ignore_crc; /*ignore CRC checksums*/ + + unsigned color_convert; /*whether to convert the PNG to the color type you want. Default: yes*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/ + /*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/ + unsigned remember_unknown_chunks; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGDecoderSettings; + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/*automatically use color type with less bits per pixel if losslessly possible. Default: AUTO*/ +typedef enum LodePNGFilterStrategy +{ + /*every filter at zero*/ + LFS_ZERO, + /*Use filter that gives minimum sum, as described in the official PNG filter heuristic.*/ + LFS_MINSUM, + /*Use the filter type that gives smallest Shannon entropy for this scanline. Depending + on the image, this is better or worse than minsum.*/ + LFS_ENTROPY, + /* + Brute-force-search PNG filters by compressing each filter for each scanline. + Experimental, very slow, and only rarely gives better compression than MINSUM. + */ + LFS_BRUTE_FORCE, + /*use predefined_filters buffer: you specify the filter type for each scanline*/ + LFS_PREDEFINED +} LodePNGFilterStrategy; + +/*Gives characteristics about the colors of the image, which helps decide which color model to use for encoding. +Used internally by default if "auto_convert" is enabled. Public because it's useful for custom algorithms.*/ +typedef struct LodePNGColorProfile +{ + unsigned colored; /*not greyscale*/ + unsigned key; /*image is not opaque and color key is possible instead of full alpha*/ + unsigned short key_r; /*key values, always as 16-bit, in 8-bit case the byte is duplicated, e.g. 65535 means 255*/ + unsigned short key_g; + unsigned short key_b; + unsigned alpha; /*image is not opaque and alpha channel or alpha palette required*/ + unsigned numcolors; /*amount of colors, up to 257. Not valid if bits == 16.*/ + unsigned char palette[1024]; /*Remembers up to the first 256 RGBA colors, in no particular order*/ + unsigned bits; /*bits per channel (not for palette). 1,2 or 4 for greyscale only. 16 if 16-bit per channel required.*/ +} LodePNGColorProfile; + +void lodepng_color_profile_init(LodePNGColorProfile* profile); + +/*Get a LodePNGColorProfile of the image.*/ +unsigned lodepng_get_color_profile(LodePNGColorProfile* profile, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); +/*The function LodePNG uses internally to decide the PNG color with auto_convert. +Chooses an optimal color model, e.g. grey if only grey pixels, palette if < 256 colors, ...*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); + +/*Settings for the encoder.*/ +typedef struct LodePNGEncoderSettings +{ + LodePNGCompressSettings zlibsettings; /*settings for the zlib encoder, such as window size, ...*/ + + unsigned auto_convert; /*automatically choose output PNG color type. Default: true*/ + + /*If true, follows the official PNG heuristic: if the PNG uses a palette or lower than + 8 bit depth, set all filters to zero. Otherwise use the filter_strategy. Note that to + completely follow the official PNG heuristic, filter_palette_zero must be true and + filter_strategy must be LFS_MINSUM*/ + unsigned filter_palette_zero; + /*Which filter strategy to use when not using zeroes due to filter_palette_zero. + Set filter_palette_zero to 0 to ensure always using your chosen strategy. Default: LFS_MINSUM*/ + LodePNGFilterStrategy filter_strategy; + /*used if filter_strategy is LFS_PREDEFINED. In that case, this must point to a buffer with + the same length as the amount of scanlines in the image, and each value must <= 5. You + have to cleanup this buffer, LodePNG will never free it. Don't forget that filter_palette_zero + must be set to 0 to ensure this is also used on palette or low bitdepth images.*/ + const unsigned char* predefined_filters; + + /*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette). + If colortype is 3, PLTE is _always_ created.*/ + unsigned force_palette; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*add LodePNG identifier and version as a text chunk, for debugging*/ + unsigned add_id; + /*encode text chunks as zTXt chunks instead of tEXt chunks, and use compression in iTXt chunks*/ + unsigned text_compression; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGEncoderSettings; + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) +/*The settings, state and information for extended encoding and decoding.*/ +typedef struct LodePNGState +{ +#ifdef LODEPNG_COMPILE_DECODER + LodePNGDecoderSettings decoder; /*the decoding settings*/ +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + LodePNGEncoderSettings encoder; /*the encoding settings*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + LodePNGColorMode info_raw; /*specifies the format in which you would like to get the raw pixel buffer*/ + LodePNGInfo info_png; /*info of the PNG image obtained after decoding*/ + unsigned error; +#ifdef LODEPNG_COMPILE_CPP + /* For the lodepng::State subclass. */ + virtual ~LodePNGState(){} +#endif +} LodePNGState; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_state_init(LodePNGState* state); +void lodepng_state_cleanup(LodePNGState* state); +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source); +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_DECODER +/* +Same as lodepng_decode_memory, but uses a LodePNGState to allow custom settings and +getting much more information about the PNG image and color mode. +*/ +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); + +/* +Read the PNG header, but not the actual data. This returns only the information +that is in the header chunk of the PNG, such as width, height and color type. The +information is placed in the info_png field of the LodePNGState. +*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/*This function allocates the out buffer with standard malloc and stores the size in *outsize.*/ +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* +The lodepng_chunk functions are normally not needed, except to traverse the +unknown chunks stored in the LodePNGInfo struct, or add new ones to it. +It also allows traversing the chunks of an encoded PNG file yourself. + +PNG standard chunk naming conventions: +First byte: uppercase = critical, lowercase = ancillary +Second byte: uppercase = public, lowercase = private +Third byte: must be uppercase +Fourth byte: uppercase = unsafe to copy, lowercase = safe to copy +*/ + +/* +Gets the length of the data of the chunk. Total chunk length has 12 bytes more. +There must be at least 4 bytes to read from. If the result value is too large, +it may be corrupt data. +*/ +unsigned lodepng_chunk_length(const unsigned char* chunk); + +/*puts the 4-byte type in null terminated string*/ +void lodepng_chunk_type(char type[5], const unsigned char* chunk); + +/*check if the type is the given type*/ +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type); + +/*0: it's one of the critical chunk types, 1: it's an ancillary chunk (see PNG standard)*/ +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk); + +/*0: public, 1: private (see PNG standard)*/ +unsigned char lodepng_chunk_private(const unsigned char* chunk); + +/*0: the chunk is unsafe to copy, 1: the chunk is safe to copy (see PNG standard)*/ +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk); + +/*get pointer to the data of the chunk, where the input points to the header of the chunk*/ +unsigned char* lodepng_chunk_data(unsigned char* chunk); +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk); + +/*returns 0 if the crc is correct, 1 if it's incorrect (0 for OK as usual!)*/ +unsigned lodepng_chunk_check_crc(const unsigned char* chunk); + +/*generates the correct CRC from the data and puts it in the last 4 bytes of the chunk*/ +void lodepng_chunk_generate_crc(unsigned char* chunk); + +/*iterate to next chunks. don't use on IEND chunk, as there is no next chunk then*/ +unsigned char* lodepng_chunk_next(unsigned char* chunk); +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk); + +/* +Appends chunk to the data in out. The given chunk should already have its chunk header. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returns error code (0 if it went ok) +*/ +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk); + +/* +Appends new chunk to out. The chunk to append is given by giving its length, type +and data separately. The type is a 4-letter string. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returne error code (0 if it went ok) +*/ +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data); + + +/*Calculate CRC32 of buffer*/ +unsigned lodepng_crc32(const unsigned char* buf, size_t len); +#endif /*LODEPNG_COMPILE_PNG*/ + + +#ifdef LODEPNG_COMPILE_ZLIB +/* +This zlib part can be used independently to zlib compress and decompress a +buffer. It cannot be used to create gzip files however, and it only supports the +part of zlib that is required for PNG, it does not support dictionaries. +*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Inflate a buffer. Inflate is the decompression step of deflate. Out buffer must be freed after use.*/ +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); + +/* +Decompresses Zlib data. Reallocates the out buffer and appends the data. The +data must be according to the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Compresses data with Zlib. Reallocates the out buffer and appends the data. +Zlib adds a small header and trailer around the deflate data. +The data is output in the format of the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +/* +Find length-limited Huffman code for given frequencies. This function is in the +public interface only for tests, it's used internally by lodepng_deflate. +*/ +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen); + +/*Compress a buffer with deflate. See RFC 1951. Out buffer must be freed after use.*/ +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into buffer. The function allocates the out buffer, and +after usage you should free it. +out: output parameter, contains pointer to loaded buffer. +outsize: output parameter, size of the allocated out buffer +filename: the path to the file to load +return value: error code (0 means ok) +*/ +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename); + +/* +Save a file from buffer to disk. Warning, if it exists, this function overwrites +the file without warning! +buffer: the buffer to write +buffersize: size of the buffer to write +filename: the path to the file to save to +return value: error code (0 means ok) +*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ + +#ifdef LODEPNG_COMPILE_CPP +/* The LodePNG C++ wrapper uses std::vectors instead of manually allocated memory buffers. */ +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_PNG +class State : public LodePNGState +{ + public: + State(); + State(const State& other); + virtual ~State(); + State& operator=(const State& other); +}; + +#ifdef LODEPNG_COMPILE_DECODER +/* Same as other lodepng::decode, but using a State for more settings and information. */ +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize); +unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h, + State& state, + const std::vector<unsigned char>& in); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* Same as other lodepng::encode, but using a State for more settings and information. */ +unsigned encode(std::vector<unsigned char>& out, + const unsigned char* in, unsigned w, unsigned h, + State& state); +unsigned encode(std::vector<unsigned char>& out, + const std::vector<unsigned char>& in, unsigned w, unsigned h, + State& state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into an std::vector. +return value: error code (0 means ok) +*/ +unsigned load_file(std::vector<unsigned char>& buffer, const std::string& filename); + +/* +Save the binary data in an std::vector to a file on disk. The file is overwritten +without warning. +*/ +unsigned save_file(const std::vector<unsigned char>& buffer, const std::string& filename); +#endif /* LODEPNG_COMPILE_DISK */ +#endif /* LODEPNG_COMPILE_PNG */ + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +/* Zlib-decompress an unsigned char buffer */ +unsigned decompress(std::vector<unsigned char>& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); + +/* Zlib-decompress an std::vector */ +unsigned decompress(std::vector<unsigned char>& out, const std::vector<unsigned char>& in, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); +#endif /* LODEPNG_COMPILE_DECODER */ + +#ifdef LODEPNG_COMPILE_ENCODER +/* Zlib-compress an unsigned char buffer */ +unsigned compress(std::vector<unsigned char>& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); + +/* Zlib-compress an std::vector */ +unsigned compress(std::vector<unsigned char>& out, const std::vector<unsigned char>& in, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); +#endif /* LODEPNG_COMPILE_ENCODER */ +#endif /* LODEPNG_COMPILE_ZLIB */ +} /* namespace lodepng */ +#endif /*LODEPNG_COMPILE_CPP*/ + +/* +TODO: +[.] test if there are no memory leaks or security exploits - done a lot but needs to be checked often +[.] check compatibility with various compilers - done but needs to be redone for every newer version +[X] converting color to 16-bit per channel types +[ ] read all public PNG chunk types (but never let the color profile and gamma ones touch RGB values) +[ ] make sure encoder generates no chunks with size > (2^31)-1 +[ ] partial decoding (stream processing) +[X] let the "isFullyOpaque" function check color keys and transparent palettes too +[X] better name for the variables "codes", "codesD", "codelengthcodes", "clcl" and "lldl" +[ ] don't stop decoding on errors like 69, 57, 58 (make warnings) +[ ] make warnings like: oob palette, checksum fail, data after iend, wrong/unknown crit chunk, no null terminator in text, ... +[ ] let the C++ wrapper catch exceptions coming from the standard library and return LodePNG error codes +[ ] allow user to provide custom color conversion functions, e.g. for premultiplied alpha, padding bits or not, ... +[ ] allow user to give data (void*) to custom allocator +*/ + +#endif /*LODEPNG_H inclusion guard*/ + +/* +LodePNG Documentation +--------------------- + +0. table of contents +-------------------- + + 1. about + 1.1. supported features + 1.2. features not supported + 2. C and C++ version + 3. security + 4. decoding + 5. encoding + 6. color conversions + 6.1. PNG color types + 6.2. color conversions + 6.3. padding bits + 6.4. A note about 16-bits per channel and endianness + 7. error values + 8. chunks and PNG editing + 9. compiler support + 10. examples + 10.1. decoder C++ example + 10.2. decoder C example + 11. state settings reference + 12. changes + 13. contact information + + +1. about +-------- + +PNG is a file format to store raster images losslessly with good compression, +supporting different color types and alpha channel. + +LodePNG is a PNG codec according to the Portable Network Graphics (PNG) +Specification (Second Edition) - W3C Recommendation 10 November 2003. + +The specifications used are: + +*) Portable Network Graphics (PNG) Specification (Second Edition): + http://www.w3.org/TR/2003/REC-PNG-20031110 +*) RFC 1950 ZLIB Compressed Data Format version 3.3: + http://www.gzip.org/zlib/rfc-zlib.html +*) RFC 1951 DEFLATE Compressed Data Format Specification ver 1.3: + http://www.gzip.org/zlib/rfc-deflate.html + +The most recent version of LodePNG can currently be found at +http://lodev.org/lodepng/ + +LodePNG works both in C (ISO C90) and C++, with a C++ wrapper that adds +extra functionality. + +LodePNG exists out of two files: +-lodepng.h: the header file for both C and C++ +-lodepng.c(pp): give it the name lodepng.c or lodepng.cpp (or .cc) depending on your usage + +If you want to start using LodePNG right away without reading this doc, get the +examples from the LodePNG website to see how to use it in code, or check the +smaller examples in chapter 13 here. + +LodePNG is simple but only supports the basic requirements. To achieve +simplicity, the following design choices were made: There are no dependencies +on any external library. There are functions to decode and encode a PNG with +a single function call, and extended versions of these functions taking a +LodePNGState struct allowing to specify or get more information. By default +the colors of the raw image are always RGB or RGBA, no matter what color type +the PNG file uses. To read and write files, there are simple functions to +convert the files to/from buffers in memory. + +This all makes LodePNG suitable for loading textures in games, demos and small +programs, ... It's less suitable for full fledged image editors, loading PNGs +over network (it requires all the image data to be available before decoding can +begin), life-critical systems, ... + +1.1. supported features +----------------------- + +The following features are supported by the decoder: + +*) decoding of PNGs with any color type, bit depth and interlace mode, to a 24- or 32-bit color raw image, + or the same color type as the PNG +*) encoding of PNGs, from any raw image to 24- or 32-bit color, or the same color type as the raw image +*) Adam7 interlace and deinterlace for any color type +*) loading the image from harddisk or decoding it from a buffer from other sources than harddisk +*) support for alpha channels, including RGBA color model, translucent palettes and color keying +*) zlib decompression (inflate) +*) zlib compression (deflate) +*) CRC32 and ADLER32 checksums +*) handling of unknown chunks, allowing making a PNG editor that stores custom and unknown chunks. +*) the following chunks are supported (generated/interpreted) by both encoder and decoder: + IHDR: header information + PLTE: color palette + IDAT: pixel data + IEND: the final chunk + tRNS: transparency for palettized images + tEXt: textual information + zTXt: compressed textual information + iTXt: international textual information + bKGD: suggested background color + pHYs: physical dimensions + tIME: modification time + +1.2. features not supported +--------------------------- + +The following features are _not_ supported: + +*) some features needed to make a conformant PNG-Editor might be still missing. +*) partial loading/stream processing. All data must be available and is processed in one call. +*) The following public chunks are not supported but treated as unknown chunks by LodePNG + cHRM, gAMA, iCCP, sRGB, sBIT, hIST, sPLT + Some of these are not supported on purpose: LodePNG wants to provide the RGB values + stored in the pixels, not values modified by system dependent gamma or color models. + + +2. C and C++ version +-------------------- + +The C version uses buffers allocated with alloc that you need to free() +yourself. You need to use init and cleanup functions for each struct whenever +using a struct from the C version to avoid exploits and memory leaks. + +The C++ version has extra functions with std::vectors in the interface and the +lodepng::State class which is a LodePNGState with constructor and destructor. + +These files work without modification for both C and C++ compilers because all +the additional C++ code is in "#ifdef __cplusplus" blocks that make C-compilers +ignore it, and the C code is made to compile both with strict ISO C90 and C++. + +To use the C++ version, you need to rename the source file to lodepng.cpp +(instead of lodepng.c), and compile it with a C++ compiler. + +To use the C version, you need to rename the source file to lodepng.c (instead +of lodepng.cpp), and compile it with a C compiler. + + +3. Security +----------- + +Even if carefully designed, it's always possible that LodePNG contains possible +exploits. If you discover one, please let me know, and it will be fixed. + +When using LodePNG, care has to be taken with the C version of LodePNG, as well +as the C-style structs when working with C++. The following conventions are used +for all C-style structs: + +-if a struct has a corresponding init function, always call the init function when making a new one +-if a struct has a corresponding cleanup function, call it before the struct disappears to avoid memory leaks +-if a struct has a corresponding copy function, use the copy function instead of "=". + The destination must also be inited already. + + +4. Decoding +----------- + +Decoding converts a PNG compressed image to a raw pixel buffer. + +Most documentation on using the decoder is at its declarations in the header +above. For C, simple decoding can be done with functions such as +lodepng_decode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_decode. For C++, all decoding can be done with the +various lodepng::decode functions, and lodepng::State can be used for advanced +features. + +When using the LodePNGState, it uses the following fields for decoding: +*) LodePNGInfo info_png: it stores extra information about the PNG (the input) in here +*) LodePNGColorMode info_raw: here you can say what color mode of the raw image (the output) you want to get +*) LodePNGDecoderSettings decoder: you can specify a few extra settings for the decoder to use + +LodePNGInfo info_png +-------------------- + +After decoding, this contains extra information of the PNG image, except the actual +pixels, width and height because these are already gotten directly from the decoder +functions. + +It contains for example the original color type of the PNG image, text comments, +suggested background color, etc... More details about the LodePNGInfo struct are +at its declaration documentation. + +LodePNGColorMode info_raw +------------------------- + +When decoding, here you can specify which color type you want +the resulting raw image to be. If this is different from the colortype of the +PNG, then the decoder will automatically convert the result. This conversion +always works, except if you want it to convert a color PNG to greyscale or to +a palette with missing colors. + +By default, 32-bit color is used for the result. + +LodePNGDecoderSettings decoder +------------------------------ + +The settings can be used to ignore the errors created by invalid CRC and Adler32 +chunks, and to disable the decoding of tEXt chunks. + +There's also a setting color_convert, true by default. If false, no conversion +is done, the resulting data will be as it was in the PNG (after decompression) +and you'll have to puzzle the colors of the pixels together yourself using the +color type information in the LodePNGInfo. + + +5. Encoding +----------- + +Encoding converts a raw pixel buffer to a PNG compressed image. + +Most documentation on using the encoder is at its declarations in the header +above. For C, simple encoding can be done with functions such as +lodepng_encode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_encode. For C++, all encoding can be done with the +various lodepng::encode functions, and lodepng::State can be used for advanced +features. + +Like the decoder, the encoder can also give errors. However it gives less errors +since the encoder input is trusted, the decoder input (a PNG image that could +be forged by anyone) is not trusted. + +When using the LodePNGState, it uses the following fields for encoding: +*) LodePNGInfo info_png: here you specify how you want the PNG (the output) to be. +*) LodePNGColorMode info_raw: here you say what color type of the raw image (the input) has +*) LodePNGEncoderSettings encoder: you can specify a few settings for the encoder to use + +LodePNGInfo info_png +-------------------- + +When encoding, you use this the opposite way as when decoding: for encoding, +you fill in the values you want the PNG to have before encoding. By default it's +not needed to specify a color type for the PNG since it's automatically chosen, +but it's possible to choose it yourself given the right settings. + +The encoder will not always exactly match the LodePNGInfo struct you give, +it tries as close as possible. Some things are ignored by the encoder. The +encoder uses, for example, the following settings from it when applicable: +colortype and bitdepth, text chunks, time chunk, the color key, the palette, the +background color, the interlace method, unknown chunks, ... + +When encoding to a PNG with colortype 3, the encoder will generate a PLTE chunk. +If the palette contains any colors for which the alpha channel is not 255 (so +there are translucent colors in the palette), it'll add a tRNS chunk. + +LodePNGColorMode info_raw +------------------------- + +You specify the color type of the raw image that you give to the input here, +including a possible transparent color key and palette you happen to be using in +your raw image data. + +By default, 32-bit color is assumed, meaning your input has to be in RGBA +format with 4 bytes (unsigned chars) per pixel. + +LodePNGEncoderSettings encoder +------------------------------ + +The following settings are supported (some are in sub-structs): +*) auto_convert: when this option is enabled, the encoder will +automatically choose the smallest possible color mode (including color key) that +can encode the colors of all pixels without information loss. +*) btype: the block type for LZ77. 0 = uncompressed, 1 = fixed huffman tree, + 2 = dynamic huffman tree (best compression). Should be 2 for proper + compression. +*) use_lz77: whether or not to use LZ77 for compressed block types. Should be + true for proper compression. +*) windowsize: the window size used by the LZ77 encoder (1 - 32768). Has value + 2048 by default, but can be set to 32768 for better, but slow, compression. +*) force_palette: if colortype is 2 or 6, you can make the encoder write a PLTE + chunk if force_palette is true. This can used as suggested palette to convert + to by viewers that don't support more than 256 colors (if those still exist) +*) add_id: add text chunk "Encoder: LodePNG <version>" to the image. +*) text_compression: default 1. If 1, it'll store texts as zTXt instead of tEXt chunks. + zTXt chunks use zlib compression on the text. This gives a smaller result on + large texts but a larger result on small texts (such as a single program name). + It's all tEXt or all zTXt though, there's no separate setting per text yet. + + +6. color conversions +-------------------- + +An important thing to note about LodePNG, is that the color type of the PNG, and +the color type of the raw image, are completely independent. By default, when +you decode a PNG, you get the result as a raw image in the color type you want, +no matter whether the PNG was encoded with a palette, greyscale or RGBA color. +And if you encode an image, by default LodePNG will automatically choose the PNG +color type that gives good compression based on the values of colors and amount +of colors in the image. It can be configured to let you control it instead as +well, though. + +To be able to do this, LodePNG does conversions from one color mode to another. +It can convert from almost any color type to any other color type, except the +following conversions: RGB to greyscale is not supported, and converting to a +palette when the palette doesn't have a required color is not supported. This is +not supported on purpose: this is information loss which requires a color +reduction algorithm that is beyong the scope of a PNG encoder (yes, RGB to grey +is easy, but there are multiple ways if you want to give some channels more +weight). + +By default, when decoding, you get the raw image in 32-bit RGBA or 24-bit RGB +color, no matter what color type the PNG has. And by default when encoding, +LodePNG automatically picks the best color model for the output PNG, and expects +the input image to be 32-bit RGBA or 24-bit RGB. So, unless you want to control +the color format of the images yourself, you can skip this chapter. + +6.1. PNG color types +-------------------- + +A PNG image can have many color types, ranging from 1-bit color to 64-bit color, +as well as palettized color modes. After the zlib decompression and unfiltering +in the PNG image is done, the raw pixel data will have that color type and thus +a certain amount of bits per pixel. If you want the output raw image after +decoding to have another color type, a conversion is done by LodePNG. + +The PNG specification gives the following color types: + +0: greyscale, bit depths 1, 2, 4, 8, 16 +2: RGB, bit depths 8 and 16 +3: palette, bit depths 1, 2, 4 and 8 +4: greyscale with alpha, bit depths 8 and 16 +6: RGBA, bit depths 8 and 16 + +Bit depth is the amount of bits per pixel per color channel. So the total amount +of bits per pixel is: amount of channels * bitdepth. + +6.2. color conversions +---------------------- + +As explained in the sections about the encoder and decoder, you can specify +color types and bit depths in info_png and info_raw to change the default +behaviour. + +If, when decoding, you want the raw image to be something else than the default, +you need to set the color type and bit depth you want in the LodePNGColorMode, +or the parameters colortype and bitdepth of the simple decoding function. + +If, when encoding, you use another color type than the default in the raw input +image, you need to specify its color type and bit depth in the LodePNGColorMode +of the raw image, or use the parameters colortype and bitdepth of the simple +encoding function. + +If, when encoding, you don't want LodePNG to choose the output PNG color type +but control it yourself, you need to set auto_convert in the encoder settings +to false, and specify the color type you want in the LodePNGInfo of the +encoder (including palette: it can generate a palette if auto_convert is true, +otherwise not). + +If the input and output color type differ (whether user chosen or auto chosen), +LodePNG will do a color conversion, which follows the rules below, and may +sometimes result in an error. + +To avoid some confusion: +-the decoder converts from PNG to raw image +-the encoder converts from raw image to PNG +-the colortype and bitdepth in LodePNGColorMode info_raw, are those of the raw image +-the colortype and bitdepth in the color field of LodePNGInfo info_png, are those of the PNG +-when encoding, the color type in LodePNGInfo is ignored if auto_convert + is enabled, it is automatically generated instead +-when decoding, the color type in LodePNGInfo is set by the decoder to that of the original + PNG image, but it can be ignored since the raw image has the color type you requested instead +-if the color type of the LodePNGColorMode and PNG image aren't the same, a conversion + between the color types is done if the color types are supported. If it is not + supported, an error is returned. If the types are the same, no conversion is done. +-even though some conversions aren't supported, LodePNG supports loading PNGs from any + colortype and saving PNGs to any colortype, sometimes it just requires preparing + the raw image correctly before encoding. +-both encoder and decoder use the same color converter. + +Non supported color conversions: +-color to greyscale: no error is thrown, but the result will look ugly because +only the red channel is taken +-anything to palette when that palette does not have that color in it: in this +case an error is thrown + +Supported color conversions: +-anything to 8-bit RGB, 8-bit RGBA, 16-bit RGB, 16-bit RGBA +-any grey or grey+alpha, to grey or grey+alpha +-anything to a palette, as long as the palette has the requested colors in it +-removing alpha channel +-higher to smaller bitdepth, and vice versa + +If you want no color conversion to be done (e.g. for speed or control): +-In the encoder, you can make it save a PNG with any color type by giving the +raw color mode and LodePNGInfo the same color mode, and setting auto_convert to +false. +-In the decoder, you can make it store the pixel data in the same color type +as the PNG has, by setting the color_convert setting to false. Settings in +info_raw are then ignored. + +The function lodepng_convert does the color conversion. It is available in the +interface but normally isn't needed since the encoder and decoder already call +it. + +6.3. padding bits +----------------- + +In the PNG file format, if a less than 8-bit per pixel color type is used and the scanlines +have a bit amount that isn't a multiple of 8, then padding bits are used so that each +scanline starts at a fresh byte. But that is NOT true for the LodePNG raw input and output. +The raw input image you give to the encoder, and the raw output image you get from the decoder +will NOT have these padding bits, e.g. in the case of a 1-bit image with a width +of 7 pixels, the first pixel of the second scanline will the the 8th bit of the first byte, +not the first bit of a new byte. + +6.4. A note about 16-bits per channel and endianness +---------------------------------------------------- + +LodePNG uses unsigned char arrays for 16-bit per channel colors too, just like +for any other color format. The 16-bit values are stored in big endian (most +significant byte first) in these arrays. This is the opposite order of the +little endian used by x86 CPU's. + +LodePNG always uses big endian because the PNG file format does so internally. +Conversions to other formats than PNG uses internally are not supported by +LodePNG on purpose, there are myriads of formats, including endianness of 16-bit +colors, the order in which you store R, G, B and A, and so on. Supporting and +converting to/from all that is outside the scope of LodePNG. + +This may mean that, depending on your use case, you may want to convert the big +endian output of LodePNG to little endian with a for loop. This is certainly not +always needed, many applications and libraries support big endian 16-bit colors +anyway, but it means you cannot simply cast the unsigned char* buffer to an +unsigned short* buffer on x86 CPUs. + + +7. error values +--------------- + +All functions in LodePNG that return an error code, return 0 if everything went +OK, or a non-zero code if there was an error. + +The meaning of the LodePNG error values can be retrieved with the function +lodepng_error_text: given the numerical error code, it returns a description +of the error in English as a string. + +Check the implementation of lodepng_error_text to see the meaning of each code. + + +8. chunks and PNG editing +------------------------- + +If you want to add extra chunks to a PNG you encode, or use LodePNG for a PNG +editor that should follow the rules about handling of unknown chunks, or if your +program is able to read other types of chunks than the ones handled by LodePNG, +then that's possible with the chunk functions of LodePNG. + +A PNG chunk has the following layout: + +4 bytes length +4 bytes type name +length bytes data +4 bytes CRC + +8.1. iterating through chunks +----------------------------- + +If you have a buffer containing the PNG image data, then the first chunk (the +IHDR chunk) starts at byte number 8 of that buffer. The first 8 bytes are the +signature of the PNG and are not part of a chunk. But if you start at byte 8 +then you have a chunk, and can check the following things of it. + +NOTE: none of these functions check for memory buffer boundaries. To avoid +exploits, always make sure the buffer contains all the data of the chunks. +When using lodepng_chunk_next, make sure the returned value is within the +allocated memory. + +unsigned lodepng_chunk_length(const unsigned char* chunk): + +Get the length of the chunk's data. The total chunk length is this length + 12. + +void lodepng_chunk_type(char type[5], const unsigned char* chunk): +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type): + +Get the type of the chunk or compare if it's a certain type + +unsigned char lodepng_chunk_critical(const unsigned char* chunk): +unsigned char lodepng_chunk_private(const unsigned char* chunk): +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk): + +Check if the chunk is critical in the PNG standard (only IHDR, PLTE, IDAT and IEND are). +Check if the chunk is private (public chunks are part of the standard, private ones not). +Check if the chunk is safe to copy. If it's not, then, when modifying data in a critical +chunk, unsafe to copy chunks of the old image may NOT be saved in the new one if your +program doesn't handle that type of unknown chunk. + +unsigned char* lodepng_chunk_data(unsigned char* chunk): +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk): + +Get a pointer to the start of the data of the chunk. + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk): +void lodepng_chunk_generate_crc(unsigned char* chunk): + +Check if the crc is correct or generate a correct one. + +unsigned char* lodepng_chunk_next(unsigned char* chunk): +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk): + +Iterate to the next chunk. This works if you have a buffer with consecutive chunks. Note that these +functions do no boundary checking of the allocated data whatsoever, so make sure there is enough +data available in the buffer to be able to go to the next chunk. + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk): +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data): + +These functions are used to create new chunks that are appended to the data in *out that has +length *outlength. The append function appends an existing chunk to the new data. The create +function creates a new chunk with the given parameters and appends it. Type is the 4-letter +name of the chunk. + +8.2. chunks in info_png +----------------------- + +The LodePNGInfo struct contains fields with the unknown chunk in it. It has 3 +buffers (each with size) to contain 3 types of unknown chunks: +the ones that come before the PLTE chunk, the ones that come between the PLTE +and the IDAT chunks, and the ones that come after the IDAT chunks. +It's necessary to make the distionction between these 3 cases because the PNG +standard forces to keep the ordering of unknown chunks compared to the critical +chunks, but does not force any other ordering rules. + +info_png.unknown_chunks_data[0] is the chunks before PLTE +info_png.unknown_chunks_data[1] is the chunks after PLTE, before IDAT +info_png.unknown_chunks_data[2] is the chunks after IDAT + +The chunks in these 3 buffers can be iterated through and read by using the same +way described in the previous subchapter. + +When using the decoder to decode a PNG, you can make it store all unknown chunks +if you set the option settings.remember_unknown_chunks to 1. By default, this +option is off (0). + +The encoder will always encode unknown chunks that are stored in the info_png. +If you need it to add a particular chunk that isn't known by LodePNG, you can +use lodepng_chunk_append or lodepng_chunk_create to the chunk data in +info_png.unknown_chunks_data[x]. + +Chunks that are known by LodePNG should not be added in that way. E.g. to make +LodePNG add a bKGD chunk, set background_defined to true and add the correct +parameters there instead. + + +9. compiler support +------------------- + +No libraries other than the current standard C library are needed to compile +LodePNG. For the C++ version, only the standard C++ library is needed on top. +Add the files lodepng.c(pp) and lodepng.h to your project, include +lodepng.h where needed, and your program can read/write PNG files. + +It is compatible with C90 and up, and C++03 and up. + +If performance is important, use optimization when compiling! For both the +encoder and decoder, this makes a large difference. + +Make sure that LodePNG is compiled with the same compiler of the same version +and with the same settings as the rest of the program, or the interfaces with +std::vectors and std::strings in C++ can be incompatible. + +CHAR_BITS must be 8 or higher, because LodePNG uses unsigned chars for octets. + +*) gcc and g++ + +LodePNG is developed in gcc so this compiler is natively supported. It gives no +warnings with compiler options "-Wall -Wextra -pedantic -ansi", with gcc and g++ +version 4.7.1 on Linux, 32-bit and 64-bit. + +*) Clang + +Fully supported and warning-free. + +*) Mingw + +The Mingw compiler (a port of gcc for Windows) should be fully supported by +LodePNG. + +*) Visual Studio and Visual C++ Express Edition + +LodePNG should be warning-free with warning level W4. Two warnings were disabled +with pragmas though: warning 4244 about implicit conversions, and warning 4996 +where it wants to use a non-standard function fopen_s instead of the standard C +fopen. + +Visual Studio may want "stdafx.h" files to be included in each source file and +give an error "unexpected end of file while looking for precompiled header". +This is not standard C++ and will not be added to the stock LodePNG. You can +disable it for lodepng.cpp only by right clicking it, Properties, C/C++, +Precompiled Headers, and set it to Not Using Precompiled Headers there. + +NOTE: Modern versions of VS should be fully supported, but old versions, e.g. +VS6, are not guaranteed to work. + +*) Compilers on Macintosh + +LodePNG has been reported to work both with gcc and LLVM for Macintosh, both for +C and C++. + +*) Other Compilers + +If you encounter problems on any compilers, feel free to let me know and I may +try to fix it if the compiler is modern and standards complient. + + +10. examples +------------ + +This decoder example shows the most basic usage of LodePNG. More complex +examples can be found on the LodePNG website. + +10.1. decoder C++ example +------------------------- + +#include "lodepng.h" +#include <iostream> + +int main(int argc, char *argv[]) +{ + const char* filename = argc > 1 ? argv[1] : "test.png"; + + //load and decode + std::vector<unsigned char> image; + unsigned width, height; + unsigned error = lodepng::decode(image, width, height, filename); + + //if there's an error, display it + if(error) std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl; + + //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ... +} + +10.2. decoder C example +----------------------- + +#include "lodepng.h" + +int main(int argc, char *argv[]) +{ + unsigned error; + unsigned char* image; + size_t width, height; + const char* filename = argc > 1 ? argv[1] : "test.png"; + + error = lodepng_decode32_file(&image, &width, &height, filename); + + if(error) printf("decoder error %u: %s\n", error, lodepng_error_text(error)); + + / * use image here * / + + free(image); + return 0; +} + +11. state settings reference +---------------------------- + +A quick reference of some settings to set on the LodePNGState + +For decoding: + +state.decoder.zlibsettings.ignore_adler32: ignore ADLER32 checksums +state.decoder.zlibsettings.custom_...: use custom inflate function +state.decoder.ignore_crc: ignore CRC checksums +state.decoder.color_convert: convert internal PNG color to chosen one +state.decoder.read_text_chunks: whether to read in text metadata chunks +state.decoder.remember_unknown_chunks: whether to read in unknown chunks +state.info_raw.colortype: desired color type for decoded image +state.info_raw.bitdepth: desired bit depth for decoded image +state.info_raw....: more color settings, see struct LodePNGColorMode +state.info_png....: no settings for decoder but ouput, see struct LodePNGInfo + +For encoding: + +state.encoder.zlibsettings.btype: disable compression by setting it to 0 +state.encoder.zlibsettings.use_lz77: use LZ77 in compression +state.encoder.zlibsettings.windowsize: tweak LZ77 windowsize +state.encoder.zlibsettings.minmatch: tweak min LZ77 length to match +state.encoder.zlibsettings.nicematch: tweak LZ77 match where to stop searching +state.encoder.zlibsettings.lazymatching: try one more LZ77 matching +state.encoder.zlibsettings.custom_...: use custom deflate function +state.encoder.auto_convert: choose optimal PNG color type, if 0 uses info_png +state.encoder.filter_palette_zero: PNG filter strategy for palette +state.encoder.filter_strategy: PNG filter strategy to encode with +state.encoder.force_palette: add palette even if not encoding to one +state.encoder.add_id: add LodePNG identifier and version as a text chunk +state.encoder.text_compression: use compressed text chunks for metadata +state.info_raw.colortype: color type of raw input image you provide +state.info_raw.bitdepth: bit depth of raw input image you provide +state.info_raw: more color settings, see struct LodePNGColorMode +state.info_png.color.colortype: desired color type if auto_convert is false +state.info_png.color.bitdepth: desired bit depth if auto_convert is false +state.info_png.color....: more color settings, see struct LodePNGColorMode +state.info_png....: more PNG related settings, see struct LodePNGInfo + + +12. changes +----------- + +The version number of LodePNG is the date of the change given in the format +yyyymmdd. + +Some changes aren't backwards compatible. Those are indicated with a (!) +symbol. + +*) 27 nov 2016: grey+alpha auto color model detection bugfix +*) 18 apr 2016: Changed qsort to custom stable sort (for platforms w/o qsort). +*) 09 apr 2016: Fixed colorkey usage detection, and better file loading (within + the limits of pure C90). +*) 08 dec 2015: Made load_file function return error if file can't be opened. +*) 24 okt 2015: Bugfix with decoding to palette output. +*) 18 apr 2015: Boundary PM instead of just package-merge for faster encoding. +*) 23 aug 2014: Reduced needless memory usage of decoder. +*) 28 jun 2014: Removed fix_png setting, always support palette OOB for + simplicity. Made ColorProfile public. +*) 09 jun 2014: Faster encoder by fixing hash bug and more zeros optimization. +*) 22 dec 2013: Power of two windowsize required for optimization. +*) 15 apr 2013: Fixed bug with LAC_ALPHA and color key. +*) 25 mar 2013: Added an optional feature to ignore some PNG errors (fix_png). +*) 11 mar 2013 (!): Bugfix with custom free. Changed from "my" to "lodepng_" + prefix for the custom allocators and made it possible with a new #define to + use custom ones in your project without needing to change lodepng's code. +*) 28 jan 2013: Bugfix with color key. +*) 27 okt 2012: Tweaks in text chunk keyword length error handling. +*) 8 okt 2012 (!): Added new filter strategy (entropy) and new auto color mode. + (no palette). Better deflate tree encoding. New compression tweak settings. + Faster color conversions while decoding. Some internal cleanups. +*) 23 sep 2012: Reduced warnings in Visual Studio a little bit. +*) 1 sep 2012 (!): Removed #define's for giving custom (de)compression functions + and made it work with function pointers instead. +*) 23 jun 2012: Added more filter strategies. Made it easier to use custom alloc + and free functions and toggle #defines from compiler flags. Small fixes. +*) 6 may 2012 (!): Made plugging in custom zlib/deflate functions more flexible. +*) 22 apr 2012 (!): Made interface more consistent, renaming a lot. Removed + redundant C++ codec classes. Reduced amount of structs. Everything changed, + but it is cleaner now imho and functionality remains the same. Also fixed + several bugs and shrunk the implementation code. Made new samples. +*) 6 nov 2011 (!): By default, the encoder now automatically chooses the best + PNG color model and bit depth, based on the amount and type of colors of the + raw image. For this, autoLeaveOutAlphaChannel replaced by auto_choose_color. +*) 9 okt 2011: simpler hash chain implementation for the encoder. +*) 8 sep 2011: lz77 encoder lazy matching instead of greedy matching. +*) 23 aug 2011: tweaked the zlib compression parameters after benchmarking. + A bug with the PNG filtertype heuristic was fixed, so that it chooses much + better ones (it's quite significant). A setting to do an experimental, slow, + brute force search for PNG filter types is added. +*) 17 aug 2011 (!): changed some C zlib related function names. +*) 16 aug 2011: made the code less wide (max 120 characters per line). +*) 17 apr 2011: code cleanup. Bugfixes. Convert low to 16-bit per sample colors. +*) 21 feb 2011: fixed compiling for C90. Fixed compiling with sections disabled. +*) 11 dec 2010: encoding is made faster, based on suggestion by Peter Eastman + to optimize long sequences of zeros. +*) 13 nov 2010: added LodePNG_InfoColor_hasPaletteAlpha and + LodePNG_InfoColor_canHaveAlpha functions for convenience. +*) 7 nov 2010: added LodePNG_error_text function to get error code description. +*) 30 okt 2010: made decoding slightly faster +*) 26 okt 2010: (!) changed some C function and struct names (more consistent). + Reorganized the documentation and the declaration order in the header. +*) 08 aug 2010: only changed some comments and external samples. +*) 05 jul 2010: fixed bug thanks to warnings in the new gcc version. +*) 14 mar 2010: fixed bug where too much memory was allocated for char buffers. +*) 02 sep 2008: fixed bug where it could create empty tree that linux apps could + read by ignoring the problem but windows apps couldn't. +*) 06 jun 2008: added more error checks for out of memory cases. +*) 26 apr 2008: added a few more checks here and there to ensure more safety. +*) 06 mar 2008: crash with encoding of strings fixed +*) 02 feb 2008: support for international text chunks added (iTXt) +*) 23 jan 2008: small cleanups, and #defines to divide code in sections +*) 20 jan 2008: support for unknown chunks allowing using LodePNG for an editor. +*) 18 jan 2008: support for tIME and pHYs chunks added to encoder and decoder. +*) 17 jan 2008: ability to encode and decode compressed zTXt chunks added + Also various fixes, such as in the deflate and the padding bits code. +*) 13 jan 2008: Added ability to encode Adam7-interlaced images. Improved + filtering code of encoder. +*) 07 jan 2008: (!) changed LodePNG to use ISO C90 instead of C++. A + C++ wrapper around this provides an interface almost identical to before. + Having LodePNG be pure ISO C90 makes it more portable. The C and C++ code + are together in these files but it works both for C and C++ compilers. +*) 29 dec 2007: (!) changed most integer types to unsigned int + other tweaks +*) 30 aug 2007: bug fixed which makes this Borland C++ compatible +*) 09 aug 2007: some VS2005 warnings removed again +*) 21 jul 2007: deflate code placed in new namespace separate from zlib code +*) 08 jun 2007: fixed bug with 2- and 4-bit color, and small interlaced images +*) 04 jun 2007: improved support for Visual Studio 2005: crash with accessing + invalid std::vector element [0] fixed, and level 3 and 4 warnings removed +*) 02 jun 2007: made the encoder add a tag with version by default +*) 27 may 2007: zlib and png code separated (but still in the same file), + simple encoder/decoder functions added for more simple usage cases +*) 19 may 2007: minor fixes, some code cleaning, new error added (error 69), + moved some examples from here to lodepng_examples.cpp +*) 12 may 2007: palette decoding bug fixed +*) 24 apr 2007: changed the license from BSD to the zlib license +*) 11 mar 2007: very simple addition: ability to encode bKGD chunks. +*) 04 mar 2007: (!) tEXt chunk related fixes, and support for encoding + palettized PNG images. Plus little interface change with palette and texts. +*) 03 mar 2007: Made it encode dynamic Huffman shorter with repeat codes. + Fixed a bug where the end code of a block had length 0 in the Huffman tree. +*) 26 feb 2007: Huffman compression with dynamic trees (BTYPE 2) now implemented + and supported by the encoder, resulting in smaller PNGs at the output. +*) 27 jan 2007: Made the Adler-32 test faster so that a timewaste is gone. +*) 24 jan 2007: gave encoder an error interface. Added color conversion from any + greyscale type to 8-bit greyscale with or without alpha. +*) 21 jan 2007: (!) Totally changed the interface. It allows more color types + to convert to and is more uniform. See the manual for how it works now. +*) 07 jan 2007: Some cleanup & fixes, and a few changes over the last days: + encode/decode custom tEXt chunks, separate classes for zlib & deflate, and + at last made the decoder give errors for incorrect Adler32 or Crc. +*) 01 jan 2007: Fixed bug with encoding PNGs with less than 8 bits per channel. +*) 29 dec 2006: Added support for encoding images without alpha channel, and + cleaned out code as well as making certain parts faster. +*) 28 dec 2006: Added "Settings" to the encoder. +*) 26 dec 2006: The encoder now does LZ77 encoding and produces much smaller files now. + Removed some code duplication in the decoder. Fixed little bug in an example. +*) 09 dec 2006: (!) Placed output parameters of public functions as first parameter. + Fixed a bug of the decoder with 16-bit per color. +*) 15 okt 2006: Changed documentation structure +*) 09 okt 2006: Encoder class added. It encodes a valid PNG image from the + given image buffer, however for now it's not compressed. +*) 08 sep 2006: (!) Changed to interface with a Decoder class +*) 30 jul 2006: (!) LodePNG_InfoPng , width and height are now retrieved in different + way. Renamed decodePNG to decodePNGGeneric. +*) 29 jul 2006: (!) Changed the interface: image info is now returned as a + struct of type LodePNG::LodePNG_Info, instead of a vector, which was a bit clumsy. +*) 28 jul 2006: Cleaned the code and added new error checks. + Corrected terminology "deflate" into "inflate". +*) 23 jun 2006: Added SDL example in the documentation in the header, this + example allows easy debugging by displaying the PNG and its transparency. +*) 22 jun 2006: (!) Changed way to obtain error value. Added + loadFile function for convenience. Made decodePNG32 faster. +*) 21 jun 2006: (!) Changed type of info vector to unsigned. + Changed position of palette in info vector. Fixed an important bug that + happened on PNGs with an uncompressed block. +*) 16 jun 2006: Internally changed unsigned into unsigned where + needed, and performed some optimizations. +*) 07 jun 2006: (!) Renamed functions to decodePNG and placed them + in LodePNG namespace. Changed the order of the parameters. Rewrote the + documentation in the header. Renamed files to lodepng.cpp and lodepng.h +*) 22 apr 2006: Optimized and improved some code +*) 07 sep 2005: (!) Changed to std::vector interface +*) 12 aug 2005: Initial release (C++, decoder only) + + +13. contact information +----------------------- + +Feel free to contact me with suggestions, problems, comments, ... concerning +LodePNG. If you encounter a PNG image that doesn't work properly with this +decoder, feel free to send it and I'll use it to find and fix the problem. + +My email address is (puzzle the account and domain together with an @ symbol): +Domain: gmail dot com. +Account: lode dot vandevenne. + + +Copyright (c) 2005-2016 Lode Vandevenne +*/#pragma once diff --git a/pch.h b/pch.h index 7e942ad..777e3f3 100644 --- a/pch.h +++ b/pch.h @@ -35,13 +35,19 @@ #include "AccountListItem.h" #include "AccountListItemsViewModel.h" #include "AccountsViewModel.h" +#include "Call.h" #include "Contact.h" #include "ContactListModel.h" #include "Conversation.h" +#include "RingDevice.h" +#include "RingDeviceItem.h" +#include "RingDeviceItemsViewModel.h" #include "UserModel.h" #include "MainPage.xaml.h" #include "SmartPanelItem.h" #include "SmartPanelItemsViewModel.h" +#include "ContactRequestItem.h" +#include "ContactRequestItemsViewModel.h" /* ensure to be accessed from anywhere */ #include "RingD.h" @@ -49,6 +55,7 @@ #include "Utils.h" #include "UserPreferences.h" #include "VCardUtils.h" +#include "ResourceManager.h" /* video */ #include "Video.h" @@ -57,4 +64,7 @@ #include "VideoRendererManager.h" /* audio */ -#include "Ringtone.h" \ No newline at end of file +#include "Ringtone.h" + +/* custom controls */ +#include "TextBlockExtension.h" \ No newline at end of file diff --git a/resource.h b/resource.h new file mode 100644 index 0000000..82699c5 --- /dev/null +++ b/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by ring-client-uwp.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/ring-client-uwp.rc b/ring-client-uwp.rc new file mode 100644 index 0000000000000000000000000000000000000000..15f6baff57c8b6631c71d4a068b6ecee5864028e GIT binary patch literal 2942 zcmezWPoF`bL4m=SA(J7Qp@<=$p_n0`A&sGgL4hHRA(Nq)p_Cz!A%{VM!I?puL7PE= zA)O(WA&()Ip@<=op@booA%#JKp@<<Btgn=zh#{FFl|g}_7;IW5LjgkxgB}Af0~Z6x z9uTd}kjaq8kj#+7P|A=3R;z@eUymV!K?$r2q64HZ4Xh7jwj)CTLoh=KLnwm_gC~PO zLp(zegDZn0gA0Q{gCBzrLnK2yLoh=mgD-;<gFk~0LonDRko|)bgZv0`8H`q7aK{qH zY2et&Wl&%!VaNc7TL^<ILj*$zgC~O@gENB<I6Pb#6c~)K#0cRyC<lixBqmYAALO>d zi9sQz%uvdZ2Tn<83<?b7r45idgVTo~SHWDTz~IV|$B@pD1J0Kj3<?Yy4518p44LqJ z7|c)t&6ULrnpjdnF*qlH%md{@P<SaqLk^TDL3vq&!I8m@Ap)AGf*Jf7LK%V>oEcmh z;u%~Rd>DMd=GHLOFeu>E8N%Sm5X9il5YOPs;KvZkpb56shryA-kHMWGl);g~odJ|i zVImN9?hHN*o(#bZ9t=7R3Jk#vp$tw8xKzY5ghF#Q!Y`0A0$U0I<&Q81e+F*`R|Xfb zTR@>YI5EgSAeX^t1qST793~H<LD-N1mr4b&kDVA?8Qj4o1xU350|a6(d1Dw1prtP; z{vaU+(giA4u)7Ao9iX&^Ug9e;V3s#Z3^5Ev3^5FOP}?DHRA2y!V|S4;nZ72~9%XQO zoWhXF0Ln8EcY$JwxYPy;I}irx7@Qd9Iv5Sge<ch>;2I$v9L9+ZNenp*sSGd`AR2~o zhYoehtHBv&AXmXc07ipSdK%u^XlR#3l(kEYvD8SY?Gjixg2HxiVvq}Qr}sRDd~nMd LvlW6F?;w)^<PcRi literal 0 HcmV?d00001 diff --git a/ring-client-uwp.sln b/ring-client-uwp.sln index c6a0c18..2e3a3b1 100644 --- a/ring-client-uwp.sln +++ b/ring-client-uwp.sln @@ -175,6 +175,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpjproject", "..\ring-dae EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libyuv", "..\ring-daemon\contrib\build\pjproject\third_party\build\yuv\libyuv.vcxproj", "{6AC9B65F-0862-4A5C-8A9D-141516993130}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "argon", "argon", "{2D82BD63-5C7C-4552-8118-D261E785C994}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Argon2Ref", "..\ring-daemon\contrib\build\argon2\vs2015\Argon2Ref\Argon2Ref.vcxproj", "{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -231,8 +235,11 @@ Global ReleaseLTO|ARM = ReleaseLTO|ARM ReleaseLTO|x64 = ReleaseLTO|x64 ReleaseLTO|x86 = ReleaseLTO|x86 + ReleaseStatic|ARM = ReleaseStatic|ARM Release-Static|ARM = Release-Static|ARM + ReleaseStatic|x64 = ReleaseStatic|x64 Release-Static|x64 = Release-Static|x64 + ReleaseStatic|x86 = ReleaseStatic|x86 Release-Static|x86 = Release-Static|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution @@ -398,12 +405,21 @@ Global {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseLTO|x86.Build.0 = Release|Win32 {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseLTO|x86.Deploy.0 = Release|Win32 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|ARM.ActiveCfg = Release|ARM + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|ARM.Build.0 = Release|ARM + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|ARM.Deploy.0 = Release|ARM {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|ARM.ActiveCfg = Release|ARM {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|ARM.Build.0 = Release|ARM {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|ARM.Deploy.0 = Release|ARM + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x64.Build.0 = Release|x64 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x64.Deploy.0 = Release|x64 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x64.ActiveCfg = Release|x64 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x64.Build.0 = Release|x64 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x64.Deploy.0 = Release|x64 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x86.Build.0 = Release|Win32 + {90928671-346F-42E4-934F-7A7A512A2D11}.ReleaseStatic|x86.Deploy.0 = Release|Win32 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x86.ActiveCfg = Release|Win32 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x86.Build.0 = Release|Win32 {90928671-346F-42E4-934F-7A7A512A2D11}.Release-Static|x86.Deploy.0 = Release|Win32 @@ -511,10 +527,16 @@ Global {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLTO|x64.Build.0 = ReleaseLib|x64 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLTO|x86.ActiveCfg = ReleaseLib|Win32 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLTO|x86.Build.0 = ReleaseLib|Win32 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|ARM.ActiveCfg = Release|x64 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|ARM.Build.0 = Release|x64 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|ARM.ActiveCfg = ReleaseLib|x64 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|ARM.Build.0 = ReleaseLib|x64 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|x64.Build.0 = Release|x64 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|x64.ActiveCfg = ReleaseLib|x64 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|x64.Build.0 = ReleaseLib|x64 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseStatic|x86.Build.0 = Release|Win32 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|x86.ActiveCfg = ReleaseLib|Win32 {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release-Static|x86.Build.0 = ReleaseLib|Win32 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -620,9 +642,15 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x64.ActiveCfg = Release-Static|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x64.Build.0 = Release-Static|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x86.Build.0 = Release-Static|Win32 {6227F51A-1498-4C4A-B213-F6FDED605125}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -729,10 +757,16 @@ Global {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseLTO|x64.Build.0 = ReleaseDLL|x64 {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseLTO|x86.ActiveCfg = ReleaseDLL|Win32 {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseLTO|x86.Build.0 = ReleaseDLL|Win32 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|ARM.ActiveCfg = ReleaseDLL|Win32 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|ARM.Build.0 = ReleaseDLL|Win32 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|x64.Build.0 = Release|x64 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|x64.ActiveCfg = ReleaseDLL|x64 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|x64.Build.0 = ReleaseDLL|x64 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {6227F51A-1498-4C4A-B213-F6FDED605125}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|x86.ActiveCfg = ReleaseDLL|Win32 {6227F51A-1498-4C4A-B213-F6FDED605125}.Release-Static|x86.Build.0 = ReleaseDLL|Win32 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -839,10 +873,16 @@ Global {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseLTO|x64.Build.0 = ReleaseDLL|x64 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseLTO|x86.ActiveCfg = ReleaseDLL|Win32 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseLTO|x86.Build.0 = ReleaseDLL|Win32 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|ARM.ActiveCfg = ReleaseDLL|Win32 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|ARM.Build.0 = ReleaseDLL|Win32 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|x64.Build.0 = Release|x64 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|x64.ActiveCfg = ReleaseDLL|x64 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|x64.Build.0 = ReleaseDLL|x64 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {9C2C266D-35A3-465F-A297-0E21D54E5C89}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|x86.ActiveCfg = ReleaseDLL|Win32 {9C2C266D-35A3-465F-A297-0E21D54E5C89}.Release-Static|x86.Build.0 = ReleaseDLL|Win32 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -949,10 +989,16 @@ Global {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseLTO|x64.Build.0 = ReleaseDLL|x64 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseLTO|x86.ActiveCfg = ReleaseDLL|Win32 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseLTO|x86.Build.0 = ReleaseDLL|Win32 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|ARM.ActiveCfg = ReleaseDLL|Win32 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|ARM.Build.0 = ReleaseDLL|Win32 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|x64.Build.0 = Release|x64 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|x64.ActiveCfg = ReleaseDLL|x64 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|x64.Build.0 = ReleaseDLL|x64 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|x86.ActiveCfg = ReleaseDLL|Win32 {1D3EEF7A-D248-48C0-B6B5-ECA229FE4B3D}.Release-Static|x86.Build.0 = ReleaseDLL|Win32 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1061,10 +1107,16 @@ Global {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseLTO|x64.Build.0 = Release|x64 {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseLTO|x86.Build.0 = Release|Win32 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|ARM.Build.0 = Release|Win32 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|ARM.ActiveCfg = Release|x64 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|ARM.Build.0 = Release|x64 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|x64.Build.0 = Release|x64 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|x64.ActiveCfg = Release|x64 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|x64.Build.0 = Release|x64 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {C00D492D-9474-4F78-80BF-86F6F337E81B}.ReleaseStatic|x86.Build.0 = Release|Win32 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|x86.ActiveCfg = Release|Win32 {C00D492D-9474-4F78-80BF-86F6F337E81B}.Release-Static|x86.Build.0 = Release|Win32 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1173,10 +1225,16 @@ Global {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseLTO|x64.Build.0 = Release|x64 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseLTO|x86.Build.0 = Release|Win32 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|ARM.Build.0 = Release|Win32 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|ARM.ActiveCfg = Release|x64 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|ARM.Build.0 = Release|x64 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|x64.Build.0 = Release|x64 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|x64.ActiveCfg = Release|x64 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|x64.Build.0 = Release|x64 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.ReleaseStatic|x86.Build.0 = Release|Win32 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|x86.ActiveCfg = Release|Win32 {0DC9504B-4FF5-4590-97B3-FFD4C04F2893}.Release-Static|x86.Build.0 = Release|Win32 {711397CE-E5D5-467D-9457-8716C047E50C}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1285,10 +1343,16 @@ Global {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseLTO|x64.Build.0 = Release|x64 {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseLTO|x86.Build.0 = Release|Win32 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|ARM.Build.0 = Release|Win32 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|ARM.ActiveCfg = Release|x64 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|ARM.Build.0 = Release|x64 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x64.Build.0 = Release|x64 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|x64.ActiveCfg = Release|x64 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|x64.Build.0 = Release|x64 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x86.Build.0 = Release|Win32 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|x86.ActiveCfg = Release|Win32 {711397CE-E5D5-467D-9457-8716C047E50C}.Release-Static|x86.Build.0 = Release|Win32 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1397,10 +1461,16 @@ Global {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseLTO|x64.Build.0 = Release|x64 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseLTO|x86.Build.0 = Release|Win32 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|ARM.Build.0 = Release|Win32 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|ARM.ActiveCfg = Release|x64 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|ARM.Build.0 = Release|x64 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|x64.Build.0 = Release|x64 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|x64.ActiveCfg = Release|x64 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|x64.Build.0 = Release|x64 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.ReleaseStatic|x86.Build.0 = Release|Win32 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|x86.ActiveCfg = Release|Win32 {2B85EA05-086B-4DF6-A140-DF52BDAEEEEA}.Release-Static|x86.Build.0 = Release|Win32 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1509,10 +1579,16 @@ Global {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseLTO|x64.Build.0 = Release|x64 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseLTO|x86.Build.0 = Release|Win32 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|ARM.Build.0 = Release|Win32 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|ARM.ActiveCfg = Release|x64 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|ARM.Build.0 = Release|x64 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|x64.Build.0 = Release|x64 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|x64.ActiveCfg = Release|x64 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|x64.Build.0 = Release|x64 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.ReleaseStatic|x86.Build.0 = Release|Win32 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|x86.ActiveCfg = Release|Win32 {36A40B5B-FBAD-4830-9F74-7B4E5788B7A6}.Release-Static|x86.Build.0 = Release|Win32 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1618,10 +1694,16 @@ Global {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|ARM.ActiveCfg = ReleaseLTO|x64 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|ARM.Build.0 = ReleaseLTO|x64 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {6F610EE8-7F59-4191-AB88-F63843267C02}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1725,10 +1807,16 @@ Global {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|ARM.ActiveCfg = ReleaseDLLStaticDeps|x64 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|ARM.Build.0 = ReleaseDLLStaticDeps|x64 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x64.ActiveCfg = ReleaseDLLStaticDeps|x64 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x64.Build.0 = ReleaseDLLStaticDeps|x64 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x86.ActiveCfg = ReleaseDLLStaticDeps|Win32 + {6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x86.Build.0 = ReleaseDLLStaticDeps|Win32 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {6F610EE8-7F59-4191-AB88-F63843267C02}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1834,10 +1922,16 @@ Global {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|ARM.ActiveCfg = ReleaseLTO|x64 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|ARM.Build.0 = ReleaseLTO|x64 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -1943,10 +2037,16 @@ Global {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|ARM.ActiveCfg = ReleaseLTO|x64 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|ARM.Build.0 = ReleaseLTO|x64 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2050,10 +2150,16 @@ Global {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|ARM.ActiveCfg = ReleaseDLLStaticDeps|x64 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|ARM.Build.0 = ReleaseDLLStaticDeps|x64 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x64.ActiveCfg = ReleaseDLLStaticDeps|x64 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x64.Build.0 = ReleaseDLLStaticDeps|x64 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x86.ActiveCfg = ReleaseDLLStaticDeps|Win32 + {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x86.Build.0 = ReleaseDLLStaticDeps|Win32 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2159,10 +2265,16 @@ Global {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseLTO|x64.Build.0 = ReleaseLTO|x64 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseLTO|x86.ActiveCfg = ReleaseLTO|Win32 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseLTO|x86.Build.0 = ReleaseLTO|Win32 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|ARM.ActiveCfg = ReleaseLTO|x64 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|ARM.Build.0 = ReleaseLTO|x64 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|ARM.ActiveCfg = DebugDLL|x64 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|ARM.Build.0 = DebugDLL|x64 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|x64.ActiveCfg = ReleaseLTO|x64 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|x64.Build.0 = ReleaseLTO|x64 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x86.ActiveCfg = ReleaseDLL|Win32 + {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x86.Build.0 = ReleaseDLL|Win32 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|x86.ActiveCfg = ReleaseLTO|Win32 {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release-Static|x86.Build.0 = ReleaseLTO|Win32 {122A2EA4-B283-4241-9655-786DE78283B2}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2271,10 +2383,16 @@ Global {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseLTO|x64.Build.0 = Release|x64 {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseLTO|x86.Build.0 = Release|Win32 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|ARM.Build.0 = Release|Win32 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|ARM.ActiveCfg = Release|x64 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|ARM.Build.0 = Release|x64 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x64.Build.0 = Release|x64 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|x64.ActiveCfg = Release|x64 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|x64.Build.0 = Release|x64 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x86.Build.0 = Release|Win32 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|x86.ActiveCfg = Release|Win32 {122A2EA4-B283-4241-9655-786DE78283B2}.Release-Static|x86.Build.0 = Release|Win32 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2383,10 +2501,16 @@ Global {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseLTO|x64.Build.0 = Release|x64 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseLTO|x86.Build.0 = Release|Win32 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|ARM.Build.0 = Release|Win32 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|ARM.ActiveCfg = Release|x64 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|ARM.Build.0 = Release|x64 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|x64.Build.0 = Release|x64 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|x64.ActiveCfg = Release|x64 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|x64.Build.0 = Release|x64 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.ReleaseStatic|x86.Build.0 = Release|Win32 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|x86.ActiveCfg = Release|Win32 {1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}.Release-Static|x86.Build.0 = Release|Win32 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2495,10 +2619,16 @@ Global {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseLTO|x64.Build.0 = Release|x64 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseLTO|x86.Build.0 = Release|Win32 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|ARM.Build.0 = Release|Win32 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|ARM.ActiveCfg = Release|x64 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|ARM.Build.0 = Release|x64 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|x64.Build.0 = Release|x64 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|x64.ActiveCfg = Release|x64 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|x64.Build.0 = Release|x64 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.ReleaseStatic|x86.Build.0 = Release|Win32 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|x86.ActiveCfg = Release|Win32 {0C4EAC26-4AAC-3525-BA45-916F44CFD660}.Release-Static|x86.Build.0 = Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2605,10 +2735,16 @@ Global {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseLTO|x64.Build.0 = Release|x64 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseLTO|x86.Build.0 = Release|Win32 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|ARM.ActiveCfg = DLL-Import Release|x64 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|ARM.Build.0 = DLL-Import Release|x64 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|ARM.ActiveCfg = Release|x64 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|ARM.Build.0 = Release|x64 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|x64.Build.0 = Release|x64 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|x64.ActiveCfg = Release|x64 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|x64.Build.0 = Release|x64 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseStatic|x86.Build.0 = Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|x86.ActiveCfg = Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release-Static|x86.Build.0 = Release|Win32 {6BD59A09-0768-40D3-A04B-10F95555689B}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -2717,10 +2853,16 @@ Global {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseLTO|x64.Build.0 = Release|x64 {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseLTO|x86.Build.0 = Release|Win32 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|ARM.ActiveCfg = Release|Win32 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|ARM.Build.0 = Release|Win32 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|ARM.ActiveCfg = Release|x64 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|ARM.Build.0 = Release|x64 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|x64.Build.0 = Release|x64 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|x64.ActiveCfg = Release|x64 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|x64.Build.0 = Release|x64 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {6BD59A09-0768-40D3-A04B-10F95555689B}.ReleaseStatic|x86.Build.0 = Release|Win32 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|x86.ActiveCfg = Release|Win32 {6BD59A09-0768-40D3-A04B-10F95555689B}.Release-Static|x86.Build.0 = Release|Win32 {23913386-5333-4C93-B3F0-0227AFF77B49}.Debug|ARM.ActiveCfg = Debug|ARM @@ -2819,10 +2961,16 @@ Global {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseLTO|x64.Build.0 = Release|x64 {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseLTO|x86.Build.0 = Release|Win32 + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|ARM.ActiveCfg = Release|ARM + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|ARM.Build.0 = Release|ARM {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|ARM.ActiveCfg = Release|ARM {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|ARM.Build.0 = Release|ARM + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|x64.Build.0 = Release|x64 {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|x64.ActiveCfg = Release|x64 {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|x64.Build.0 = Release|x64 + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {23913386-5333-4C93-B3F0-0227AFF77B49}.ReleaseStatic|x86.Build.0 = Release|Win32 {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|x86.ActiveCfg = Release|Win32 {23913386-5333-4C93-B3F0-0227AFF77B49}.Release-Static|x86.Build.0 = Release|Win32 {EA0E0510-749F-47B2-9F53-565CB4893771}.Debug|ARM.ActiveCfg = Debug|ARM @@ -2921,10 +3069,16 @@ Global {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseLTO|x64.Build.0 = Release|x64 {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseLTO|x86.Build.0 = Release|Win32 + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|ARM.ActiveCfg = Release|ARM + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|ARM.Build.0 = Release|ARM {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|ARM.ActiveCfg = Release|ARM {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|ARM.Build.0 = Release|ARM + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|x64.Build.0 = Release|x64 {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|x64.ActiveCfg = Release|x64 {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|x64.Build.0 = Release|x64 + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {EA0E0510-749F-47B2-9F53-565CB4893771}.ReleaseStatic|x86.Build.0 = Release|Win32 {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|x86.ActiveCfg = Release|Win32 {EA0E0510-749F-47B2-9F53-565CB4893771}.Release-Static|x86.Build.0 = Release|Win32 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Debug|ARM.ActiveCfg = Debug|ARM @@ -3023,10 +3177,16 @@ Global {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseLTO|x64.Build.0 = Release|x64 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseLTO|x86.Build.0 = Release|Win32 + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|ARM.ActiveCfg = Release|ARM + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|ARM.Build.0 = Release|ARM {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|ARM.ActiveCfg = Release|ARM {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|ARM.Build.0 = Release|ARM + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|x64.Build.0 = Release|x64 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|x64.ActiveCfg = Release|x64 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|x64.Build.0 = Release|x64 + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.ReleaseStatic|x86.Build.0 = Release|Win32 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|x86.ActiveCfg = Release|Win32 {039AC2C4-C1BE-4B3F-BC4A-4541B2066293}.Release-Static|x86.Build.0 = Release|Win32 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Debug|ARM.ActiveCfg = Debug|ARM @@ -3125,10 +3285,16 @@ Global {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseLTO|x64.Build.0 = Release|x64 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseLTO|x86.ActiveCfg = Release|Win32 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseLTO|x86.Build.0 = Release|Win32 + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|ARM.ActiveCfg = Release|ARM + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|ARM.Build.0 = Release|ARM {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|ARM.ActiveCfg = Release|ARM {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|ARM.Build.0 = Release|ARM + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|x64.ActiveCfg = Release|x64 + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|x64.Build.0 = Release|x64 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|x64.ActiveCfg = Release|x64 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|x64.Build.0 = Release|x64 + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|x86.ActiveCfg = Release|Win32 + {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.ReleaseStatic|x86.Build.0 = Release|Win32 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|x86.ActiveCfg = Release|Win32 {A02FD1CC-618B-428D-AC46-91A2A12D0DCD}.Release-Static|x86.Build.0 = Release|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Debug|ARM.ActiveCfg = Debug-Dll|Win32 @@ -3231,10 +3397,16 @@ Global {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseLTO|x64.Build.0 = Debug-Dll|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseLTO|x86.ActiveCfg = Release-Lib|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseLTO|x86.Build.0 = Release-Lib|Win32 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|ARM.ActiveCfg = Debug-Dll|x64 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|ARM.Build.0 = Debug-Dll|x64 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|ARM.ActiveCfg = Debug-Dll|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|ARM.Build.0 = Debug-Dll|Win32 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|x64.ActiveCfg = Release-Dll|x64 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|x64.Build.0 = Release-Dll|x64 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|x64.ActiveCfg = Debug-Dll|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|x64.Build.0 = Debug-Dll|Win32 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|x86.ActiveCfg = Release-Dll|Win32 + {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.ReleaseStatic|x86.Build.0 = Release-Dll|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|x86.ActiveCfg = Release-Lib|Win32 {9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}.Release-Static|x86.Build.0 = Release-Lib|Win32 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3340,9 +3512,15 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x64.ActiveCfg = Release-Static|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x64.Build.0 = Release-Static|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x86.Build.0 = Release-Static|Win32 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3448,9 +3626,15 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x64.ActiveCfg = Release-Static|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x64.Build.0 = Release-Static|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x86.Build.0 = Release-Static|Win32 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3556,9 +3740,15 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x64.ActiveCfg = Release-Static|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x64.Build.0 = Release-Static|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x86.Build.0 = Release-Static|Win32 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3664,9 +3854,15 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x64.ActiveCfg = Release-Static|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x64.Build.0 = Release-Static|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x86.Build.0 = Release-Static|Win32 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3772,9 +3968,15 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x64.ActiveCfg = Release-Static|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x64.Build.0 = Release-Static|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x86.Build.0 = Release-Static|Win32 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3880,9 +4082,15 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x64.ActiveCfg = Release-Static|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x64.Build.0 = Release-Static|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x86.Build.0 = Release-Static|Win32 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -3988,9 +4196,15 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x64.ActiveCfg = Release-Static|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x64.Build.0 = Release-Static|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x86.Build.0 = Release-Static|Win32 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4096,9 +4310,15 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x64.ActiveCfg = Release-Static|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x64.Build.0 = Release-Static|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x86.Build.0 = Release-Static|Win32 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4204,9 +4424,15 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x64.ActiveCfg = Release-Static|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x64.Build.0 = Release-Static|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x86.Build.0 = Release-Static|Win32 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4312,9 +4538,15 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x64.ActiveCfg = Release-Static|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x64.Build.0 = Release-Static|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x86.Build.0 = Release-Static|Win32 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4420,9 +4652,15 @@ Global {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x64.ActiveCfg = Release-Static|x64 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x64.Build.0 = Release-Static|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x86.Build.0 = Release-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4528,9 +4766,15 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x64.ActiveCfg = Release-Static|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x64.Build.0 = Release-Static|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x86.Build.0 = Release-Static|Win32 {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4636,9 +4880,15 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x64.ActiveCfg = Release-Static|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x64.Build.0 = Release-Static|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {2A3F241E-682C-47E1-9543-DC28708B406A}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x86.Build.0 = Release-Static|Win32 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4744,9 +4994,15 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x64.ActiveCfg = Release-Static|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x64.Build.0 = Release-Static|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x86.Build.0 = Release-Static|Win32 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4852,9 +5108,15 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x64.ActiveCfg = Release-Static|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x64.Build.0 = Release-Static|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x86.Build.0 = Release-Static|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -4960,9 +5222,15 @@ Global {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|x64.ActiveCfg = Release-Static|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|x64.Build.0 = Release-Static|x64 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|x86.Build.0 = Release-Static|Win32 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -5068,9 +5336,15 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x64.ActiveCfg = Release-Static|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x64.Build.0 = Release-Static|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x86.Build.0 = Release-Static|Win32 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -5176,9 +5450,15 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x64.ActiveCfg = Release-Static|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x64.Build.0 = Release-Static|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x86.Build.0 = Release-Static|Win32 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -5284,9 +5564,15 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x64.ActiveCfg = Release-Static|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x64.Build.0 = Release-Static|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x86.Build.0 = Release-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -5392,9 +5678,15 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x64.ActiveCfg = Release-Static|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x64.Build.0 = Release-Static|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x86.Build.0 = Release-Static|Win32 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Debug|ARM.ActiveCfg = Debug|Win32 @@ -5500,11 +5792,134 @@ Global {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseLTO|x64.Build.0 = Release-Static|x64 {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseLTO|x86.ActiveCfg = Release-Static|Win32 {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseLTO|x86.Build.0 = Release-Static|Win32 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|ARM.ActiveCfg = Release-Dynamic|Win32 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|ARM.Build.0 = Release-Dynamic|Win32 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Release-Static|ARM.ActiveCfg = Release-Static|Win32 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|x64.ActiveCfg = Release-Dynamic|x64 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|x64.Build.0 = Release-Dynamic|x64 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Release-Static|x64.ActiveCfg = Release-Static|x64 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Release-Static|x64.Build.0 = Release-Static|x64 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|x86.ActiveCfg = Release-Dynamic|Win32 + {6AC9B65F-0862-4A5C-8A9D-141516993130}.ReleaseStatic|x86.Build.0 = Release-Dynamic|Win32 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Release-Static|x86.ActiveCfg = Release-Static|Win32 {6AC9B65F-0862-4A5C-8A9D-141516993130}.Release-Static|x86.Build.0 = Release-Static|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|ARM.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLL|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dll|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugDLLStaticDeps|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Dynamic|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DebugLib|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Lib|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug-Static|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|x64.ActiveCfg = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|x64.Build.0 = Debug|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|x86.ActiveCfg = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Debug|x86.Build.0 = Debug|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.DLL-Import Release|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|ARM.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLL|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dll|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseDLLStaticDeps|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Dynamic|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLib|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Lib|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseLTO|x86.Build.0 = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|ARM.ActiveCfg = ReleaseStatic|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|ARM.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|ARM.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x64.ActiveCfg = ReleaseStatic|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x64.Build.0 = ReleaseStatic|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|x64.ActiveCfg = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|x64.Build.0 = Release|x64 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x86.ActiveCfg = ReleaseStatic|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x86.Build.0 = ReleaseStatic|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|x86.ActiveCfg = Release|Win32 + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release-Static|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -5568,5 +5983,7 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858} = {F6875B41-FE04-419C-B591-0301263BEA45} {23D7679C-764C-4E02-8B29-BB882CEEEFE2} = {F6875B41-FE04-419C-B591-0301263BEA45} {6AC9B65F-0862-4A5C-8A9D-141516993130} = {F6875B41-FE04-419C-B591-0301263BEA45} + {2D82BD63-5C7C-4552-8118-D261E785C994} = {96846C59-E0A1-4132-B779-065C2EAE3E51} + {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2} = {2D82BD63-5C7C-4552-8118-D261E785C994} EndGlobalSection EndGlobal diff --git a/ring-client-uwp.vcxproj b/ring-client-uwp.vcxproj index 4927f4f..3aff976 100644 --- a/ring-client-uwp.vcxproj +++ b/ring-client-uwp.vcxproj @@ -97,12 +97,12 @@ </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup> - <PackageCertificateKeyFile>ring-client-uwp_StoreKey.pfx</PackageCertificateKeyFile> + <PackageCertificateKeyFile>ring-client-uwp_TemporaryKey.pfx</PackageCertificateKeyFile> <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision> <AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled> <AppxBundle>Always</AppxBundle> <AppxBundlePlatforms>x64</AppxBundlePlatforms> - <PackageCertificateThumbprint>6E2CEF8A6A6A44314AB297CE41FC3BC8F2890973</PackageCertificateThumbprint> + <PackageCertificateThumbprint>A60EB824B6591CA560948145FAC6F93D83E777AD</PackageCertificateThumbprint> <AppxPackageDir>$(USERPROFILE)\ring_packaging\</AppxPackageDir> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> @@ -145,6 +145,7 @@ <PreprocessorDefinitions>STATICLIB;RING_UWP;WIN32_NATIVE;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <WholeProgramOptimization>false</WholeProgramOptimization> <CompileAsWinRT>true</CompileAsWinRT> + <CompileAsManaged>false</CompileAsManaged> </ClCompile> <Link> <AdditionalLibraryDirectories>$(SolutionDir)..\ring-daemon\contrib\build\boost\stage\lib;$(SolutionDir)..\ring-daemon\contrib\build\bin\x64;$(SolutionDir)..\ring-daemon\contrib\build\lib\x64;$(SolutionDir)..\ring-daemon\MSVC\x64\ReleaseLib\bin;$(SolutionDir)x64\Release-Lib;$(SolutionDir)contrib\qrencode-win32\vc8\qrcodelib\x64\Release-Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -175,17 +176,27 @@ <ClInclude Include="AccountListItem.h" /> <ClInclude Include="AccountListItemsViewModel.h" /> <ClInclude Include="AccountsViewModel.h" /> + <ClInclude Include="Call.h" /> <ClInclude Include="Contact.h" /> + <ClInclude Include="ContactRequestItem.h" /> + <ClInclude Include="ContactRequestItemsViewModel.h" /> <ClInclude Include="ContactListModel.h" /> <ClInclude Include="Conversation.h" /> + <ClInclude Include="HttpUtils.h" /> + <ClInclude Include="RingDevice.h" /> + <ClInclude Include="RingDeviceItemsViewModel.h" /> + <ClInclude Include="RingDeviceItem.h" /> <ClInclude Include="Globals.h" /> <ClInclude Include="LoadingPage.xaml.h"> <DependentUpon>LoadingPage.xaml</DependentUpon> </ClInclude> + <ClInclude Include="lodepng.h" /> <ClInclude Include="MessageTextPage.xaml.h"> <DependentUpon>MessageTextPage.xaml</DependentUpon> </ClInclude> - <ClInclude Include="pch.h" /> + <ClInclude Include="pch.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + </ClInclude> <ClInclude Include="App.xaml.h"> <DependentUpon>App.xaml</DependentUpon> </ClInclude> @@ -195,6 +206,8 @@ <ClInclude Include="PreviewPage.xaml.h"> <DependentUpon>PreviewPage.xaml</DependentUpon> </ClInclude> + <ClInclude Include="resource.h" /> + <ClInclude Include="ResourceManager.h" /> <ClInclude Include="RingConsolePanel.xaml.h"> <DependentUpon>RingConsolePanel.xaml</DependentUpon> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> @@ -211,6 +224,7 @@ </ClInclude> <ClInclude Include="SmartPanelItem.h" /> <ClInclude Include="SmartPanelItemsViewModel.h" /> + <ClInclude Include="TextBlockExtension.h" /> <ClInclude Include="UserModel.h" /> <ClInclude Include="UserPreferences.h" /> <ClInclude Include="Utils.h" /> @@ -236,6 +250,9 @@ <SubType>Designer</SubType> </ApplicationDefinition> <Page Include="AboutPage.xaml" /> + <Page Include="Buttons.xaml"> + <SubType>Designer</SubType> + </Page> <Page Include="LoadingPage.xaml" /> <Page Include="MainPage.xaml"> <SubType>Designer</SubType> @@ -245,7 +262,13 @@ <Page Include="RingConsolePanel.xaml"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </Page> + <Page Include="ScrollBars.xaml"> + <SubType>Designer</SubType> + </Page> <Page Include="SmartPanel.xaml" /> + <Page Include="SplitViews.xaml"> + <SubType>Designer</SubType> + </Page> <Page Include="Styles.xaml" /> <Page Include="VideoPage.xaml" /> <Page Include="WelcomePage.xaml" /> @@ -285,15 +308,17 @@ <None Include="..\ring-daemon\contrib\build\restbed\dependency\openssl\out32dll\ssleay32.dll"> <DeploymentContent>true</DeploymentContent> </None> - <None Include="ring-client-uwp_StoreKey.pfx" /> + <None Include="packages.config" /> <None Include="ring-client-uwp_TemporaryKey.pfx" /> </ItemGroup> <ItemGroup> <Image Include="Assets\AccountTypeRING.png" /> <Image Include="Assets\AccountTypeSIP.png" /> + <Image Include="Assets\angledGrid.png" /> + <Image Include="Assets\grid.png" /> <Image Include="Assets\LockScreenLogo.scale-200.png" /> - <Image Include="Assets\qrCodeIconBlack.png" /> - <Image Include="Assets\qrCodeIconWhite.png" /> + <Image Include="Assets\share_b.png" /> + <Image Include="Assets\share_w.png" /> <Image Include="Assets\SplashScreen.scale-200.png" /> <Image Include="Assets\Square150x150Logo.scale-200.png" /> <Image Include="Assets\Square44x44Logo.scale-200.png" /> @@ -338,11 +363,18 @@ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\ring-daemon\MSVC;..\ring-daemon\src\media;..\ring-daemon\src;..\ring-daemon\src\dring;..\ring-daemon\contrib\include;..\ring-daemon\contrib\include\pjlib;..\ring-daemon\contrib\pjproject\third_party\speex\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <ClCompile Include="Contact.cpp" /> + <ClCompile Include="ContactRequestItem.cpp" /> + <ClCompile Include="ContactRequestItemsViewModel.cpp" /> <ClCompile Include="ContactListModel.cpp" /> <ClCompile Include="Conversation.cpp" /> + <ClCompile Include="RingDeviceItemsViewModel.cpp" /> + <ClCompile Include="RingDeviceItem.cpp" /> <ClCompile Include="LoadingPage.xaml.cpp"> <DependentUpon>LoadingPage.xaml</DependentUpon> </ClCompile> + <ClCompile Include="lodepng.cpp"> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader> + </ClCompile> <ClCompile Include="MainPage.xaml.cpp"> <DependentUpon>MainPage.xaml</DependentUpon> </ClCompile> @@ -360,6 +392,7 @@ <ClCompile Include="PreviewPage.xaml.cpp"> <DependentUpon>PreviewPage.xaml</DependentUpon> </ClCompile> + <ClCompile Include="ResourceManager.cpp" /> <ClCompile Include="RingConsolePanel.xaml.cpp"> <DependentUpon>RingConsolePanel.xaml</DependentUpon> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> @@ -376,6 +409,7 @@ </ClCompile> <ClCompile Include="SmartPanelItem.cpp" /> <ClCompile Include="SmartPanelItemsViewModel.cpp" /> + <ClCompile Include="TextBlockExtension.cpp" /> <ClCompile Include="UserModel.cpp" /> <ClCompile Include="UserPreferences.cpp" /> <ClCompile Include="VCardUtils.cpp"> @@ -396,15 +430,61 @@ </ClCompile> </ItemGroup> <ItemGroup> - <PRIResource Include="localization\Fr-fr\Resources.resw" /> - <PRIResource Include="localization\US-en\Resources.resw" /> + <None Include="Package.StoreAssociation.xml"> + <SubType>Designer</SubType> + </None> </ItemGroup> <ItemGroup> - <None Include="Package.StoreAssociation.xml" /> + <Media Include="Assets\default.wav" /> + <Media Include="Assets\ringtone_notify.wav" /> </ItemGroup> <ItemGroup> - <Media Include="Assets\default.wav" /> - <Media Include="Assets\message_notification_sound.wav" /> + <ResourceCompile Include="ring-client-uwp.rc" /> + </ItemGroup> + <ItemGroup> + <PRIResource Include="localization\ar\Resources.resw" /> + <PRIResource Include="localization\bg\Resources.resw" /> + <PRIResource Include="localization\ca\Resources.resw" /> + <PRIResource Include="localization\cs-CZ\Resources.resw" /> + <PRIResource Include="localization\da-DK\Resources.resw" /> + <PRIResource Include="localization\de-DE\Resources.resw" /> + <PRIResource Include="localization\de\Resources.resw" /> + <PRIResource Include="localization\el\Resources.resw" /> + <PRIResource Include="localization\en-GB\Resources.resw" /> + <PRIResource Include="localization\en-US\Resources.resw" /> + <PRIResource Include="localization\es\Resources.resw" /> + <PRIResource Include="localization\et-EE\Resources.resw" /> + <PRIResource Include="localization\fa-IR\Resources.resw" /> + <PRIResource Include="localization\fi\Resources.resw" /> + <PRIResource Include="localization\fr-FR\Resources.resw" /> + <PRIResource Include="localization\fr\Resources.resw" /> + <PRIResource Include="localization\fr-CA\Resources.resw" /> + <PRIResource Include="localization\he\Resources.resw" /> + <PRIResource Include="localization\hi-IN\Resources.resw" /> + <PRIResource Include="localization\hr\Resources.resw" /> + <PRIResource Include="localization\hu\Resources.resw" /> + <PRIResource Include="localization\id\Resources.resw" /> + <PRIResource Include="localization\it\Resources.resw" /> + <PRIResource Include="localization\it-IT\Resources.resw" /> + <PRIResource Include="localization\ja\Resources.resw" /> + <PRIResource Include="localization\lt\Resources.resw" /> + <PRIResource Include="localization\ms\Resources.resw" /> + <PRIResource Include="localization\nb\Resources.resw" /> + <PRIResource Include="localization\nl-NL\Resources.resw" /> + <PRIResource Include="localization\nl\Resources.resw" /> + <PRIResource Include="localization\pa\Resources.resw" /> + <PRIResource Include="localization\pl\Resources.resw" /> + <PRIResource Include="localization\pt\Resources.resw" /> + <PRIResource Include="localization\pt-BR\Resources.resw" /> + <PRIResource Include="localization\ro\Resources.resw" /> + <PRIResource Include="localization\ru-RU\Resources.resw" /> + <PRIResource Include="localization\ru\Resources.resw" /> + <PRIResource Include="localization\sk-SK\Resources.resw" /> + <PRIResource Include="localization\sq-AL\Resources.resw" /> + <PRIResource Include="localization\sv\Resources.resw" /> + <PRIResource Include="localization\tr\Resources.resw" /> + <PRIResource Include="localization\uk\Resources.resw" /> + <PRIResource Include="localization\zh\Resources.resw" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/ring-client-uwp.vcxproj.filters b/ring-client-uwp.vcxproj.filters index efadbad..d3a39c6 100644 --- a/ring-client-uwp.vcxproj.filters +++ b/ring-client-uwp.vcxproj.filters @@ -3,14 +3,6 @@ <ItemGroup> <ApplicationDefinition Include="App.xaml" /> </ItemGroup> - <ItemGroup> - <PRIResource Include="localization\US-en\Resources.resw"> - <Filter>Strings\en-US</Filter> - </PRIResource> - <PRIResource Include="localization\Fr-fr\Resources.resw"> - <Filter>Strings\fr-FR</Filter> - </PRIResource> - </ItemGroup> <ItemGroup> <ClCompile Include="App.xaml.cpp" /> <ClCompile Include="LoadingPage.xaml.cpp" /> @@ -38,48 +30,69 @@ <Filter>Controls</Filter> </ClCompile> <ClCompile Include="Video.cpp"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClCompile> <ClCompile Include="VideoCaptureManager.cpp"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClCompile> <ClCompile Include="VideoManager.cpp"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClCompile> <ClCompile Include="VideoRendererManager.cpp"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClCompile> <ClCompile Include="Account.cpp"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClCompile> <ClCompile Include="Contact.cpp"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClCompile> <ClCompile Include="Conversation.cpp"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClCompile> <ClCompile Include="AccountListItemsViewModel.cpp"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClCompile> <ClCompile Include="AccountsViewModel.cpp"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClCompile> <ClCompile Include="SmartPanelItemsViewModel.cpp"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClCompile> <ClCompile Include="UserModel.cpp"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClCompile> <ClCompile Include="PreviewPage.xaml.cpp" /> <ClCompile Include="VCardUtils.cpp"> <Filter>Common</Filter> </ClCompile> <ClCompile Include="Ringtone.cpp"> - <Filter>Media\Audio</Filter> + <Filter>Models\Media\Audio</Filter> </ClCompile> <ClCompile Include="AboutPage.xaml.cpp" /> + <ClCompile Include="ContactRequestItem.cpp"> + <Filter>Controls</Filter> + </ClCompile> + <ClCompile Include="ContactRequestItemsViewModel.cpp"> + <Filter>ViewModels</Filter> + </ClCompile> + <ClCompile Include="lodepng.cpp"> + <Filter>Common</Filter> + </ClCompile> <ClCompile Include="ContactListModel.cpp"> - <Filter>Model</Filter> + <Filter>Models</Filter> + </ClCompile> + <ClCompile Include="TextBlockExtension.cpp"> + <Filter>Controls</Filter> + </ClCompile> + <ClCompile Include="ResourceManager.cpp"> + <Filter>Common</Filter> + </ClCompile> + <ClCompile Include="RingDeviceItemsViewModel.cpp"> + <Filter>ViewModels</Filter> + </ClCompile> + <ClCompile Include="RingDeviceItem.cpp"> + <Filter>Controls</Filter> </ClCompile> </ItemGroup> <ItemGroup> @@ -115,120 +128,164 @@ <Filter>Controls</Filter> </ClInclude> <ClInclude Include="Video.h"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClInclude> <ClInclude Include="VideoCaptureManager.h"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClInclude> <ClInclude Include="VideoManager.h"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClInclude> <ClInclude Include="VideoRendererManager.h"> - <Filter>Media\Video</Filter> + <Filter>Models\Media\Video</Filter> </ClInclude> <ClInclude Include="Account.h"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClInclude> <ClInclude Include="Contact.h"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClInclude> <ClInclude Include="Conversation.h"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClInclude> <ClInclude Include="AccountListItemsViewModel.h"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClInclude> <ClInclude Include="AccountsViewModel.h"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClInclude> <ClInclude Include="SmartPanelItemsViewModel.h"> - <Filter>ModelViews</Filter> + <Filter>ViewModels</Filter> </ClInclude> <ClInclude Include="UserModel.h"> - <Filter>Model</Filter> + <Filter>Models</Filter> </ClInclude> <ClInclude Include="PreviewPage.xaml.h" /> <ClInclude Include="VCardUtils.h"> <Filter>Common</Filter> </ClInclude> <ClInclude Include="Ringtone.h"> - <Filter>Media\Audio</Filter> + <Filter>Models\Media\Audio</Filter> </ClInclude> <ClInclude Include="AboutPage.xaml.h" /> + <ClInclude Include="ContactRequestItem.h"> + <Filter>Controls</Filter> + </ClInclude> + <ClInclude Include="ContactRequestItemsViewModel.h"> + <Filter>ViewModels</Filter> + </ClInclude> + <ClInclude Include="lodepng.h"> + <Filter>Common</Filter> + </ClInclude> <ClInclude Include="ContactListModel.h"> - <Filter>Model</Filter> + <Filter>Models</Filter> + </ClInclude> + <ClInclude Include="TextBlockExtension.h"> + <Filter>Controls</Filter> + </ClInclude> + <ClInclude Include="resource.h" /> + <ClInclude Include="ResourceManager.h"> + <Filter>Common</Filter> + </ClInclude> + <ClInclude Include="RingDevice.h"> + <Filter>Models</Filter> + </ClInclude> + <ClInclude Include="RingDeviceItemsViewModel.h"> + <Filter>ViewModels</Filter> + </ClInclude> + <ClInclude Include="RingDeviceItem.h"> + <Filter>Controls</Filter> + </ClInclude> + <ClInclude Include="Call.h"> + <Filter>Models</Filter> + </ClInclude> + <ClInclude Include="HttpUtils.h"> + <Filter>Common</Filter> </ClInclude> </ItemGroup> <ItemGroup> <Image Include="Assets\AccountTypeRING.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\AccountTypeSIP.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\blank.png"> - <Filter>Assets\TESTS</Filter> - </Image> - <Image Include="Assets\TESTS\contactAvatar.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\logo-ring.scale-100.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\logo-ring.scale-125.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\logo-ring.scale-150.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\logo-ring.scale-200.png"> - <Filter>Assets\TESTS</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\TESTS\logo-ring.scale-400.png"> - <Filter>Assets\TESTS</Filter> - </Image> - <Image Include="Assets\LockScreenLogo.scale-200.png"> - <Filter>Assets</Filter> + <Filter>Assets\Tests</Filter> </Image> <Image Include="Assets\SplashScreen.scale-200.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> </Image> <Image Include="Assets\Square44x44Logo.scale-200.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> </Image> <Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> </Image> <Image Include="Assets\Square150x150Logo.scale-200.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> </Image> <Image Include="Assets\StoreLogo.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\StoreLogo.scale-100.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\StoreLogo.scale-125.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\StoreLogo.scale-150.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\StoreLogo.scale-200.png"> + <Filter>Assets\Images</Filter> </Image> <Image Include="Assets\Wide310x150Logo.scale-200.png"> - <Filter>Assets</Filter> + <Filter>Assets\Images</Filter> </Image> - <Image Include="Assets\qrCodeIconBlack.png"> - <Filter>Assets</Filter> + <Image Include="Assets\StoreLogo.scale-400.png"> + <Filter>Assets\Images</Filter> </Image> - <Image Include="Assets\qrCodeIconWhite.png"> - <Filter>Assets</Filter> + <Image Include="Assets\LockScreenLogo.scale-200.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\TESTS\contactAvatar.png"> + <Filter>Assets\Tests</Filter> + </Image> + <Image Include="Assets\angledGrid.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\grid.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\share_b.png"> + <Filter>Assets\Images</Filter> + </Image> + <Image Include="Assets\share_w.png"> + <Filter>Assets\Images</Filter> </Image> - <Image Include="Assets\StoreLogo.scale-125.png" /> - <Image Include="Assets\StoreLogo.scale-150.png" /> - <Image Include="Assets\StoreLogo.scale-100.png" /> - <Image Include="Assets\StoreLogo.scale-200.png" /> - <Image Include="Assets\StoreLogo.scale-400.png" /> </ItemGroup> <ItemGroup> <AppxManifest Include="Package.appxmanifest" /> </ItemGroup> <ItemGroup> - <None Include="ring-client-uwp_StoreKey.pfx" /> - <None Include="ring-client-uwp_TemporaryKey.pfx" /> <None Include="Package.StoreAssociation.xml" /> <None Include="Package.StoreAssociation.xml" /> - <None Include="ring-client-uwp_StoreKey.pfx" /> <None Include="..\ring-daemon\contrib\build\FFmpegInterop\ffmpeg\Build\Windows10\x64\bin\avcodec-57.dll"> <Filter>Assets\Dlls</Filter> </None> @@ -259,10 +316,10 @@ <None Include="..\ring-daemon\contrib\build\restbed\dependency\openssl\out32dll\ssleay32.dll"> <Filter>Assets\Dlls</Filter> </None> + <None Include="ring-client-uwp_TemporaryKey.pfx" /> + <None Include="packages.config" /> </ItemGroup> <ItemGroup> - <Page Include="MainPage.xaml" /> - <Page Include="Wizard.xaml" /> <Page Include="Styles.xaml"> <Filter>Styles</Filter> </Page> @@ -290,6 +347,21 @@ <Page Include="AboutPage.xaml"> <Filter>Views</Filter> </Page> + <Page Include="MainPage.xaml"> + <Filter>Views</Filter> + </Page> + <Page Include="Wizard.xaml"> + <Filter>Views</Filter> + </Page> + <Page Include="Buttons.xaml"> + <Filter>Styles</Filter> + </Page> + <Page Include="ScrollBars.xaml"> + <Filter>Styles</Filter> + </Page> + <Page Include="SplitViews.xaml"> + <Filter>Styles</Filter> + </Page> </ItemGroup> <ItemGroup> <Filter Include="Assets"> @@ -298,52 +370,315 @@ <Filter Include="Assets\Dlls"> <UniqueIdentifier>{5cfe090d-7521-4f12-adaf-dd47afd8fa58}</UniqueIdentifier> </Filter> - <Filter Include="Assets\TESTS"> - <UniqueIdentifier>{41024596-5974-4b5d-b9ce-970c3746ac80}</UniqueIdentifier> - </Filter> <Filter Include="Common"> <UniqueIdentifier>{98b4d31d-b4eb-44ec-ab04-2b98816714b8}</UniqueIdentifier> </Filter> <Filter Include="Controls"> <UniqueIdentifier>{befd33e5-463a-42bb-9b9b-68c1ab49f0df}</UniqueIdentifier> </Filter> - <Filter Include="Media"> + <Filter Include="Strings"> + <UniqueIdentifier>{f9db2a3e-6f39-4c23-922e-7143eb98197b}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\en-US"> + <UniqueIdentifier>{a710d34d-6f6b-4a72-a62b-3d0bb132533b}</UniqueIdentifier> + </Filter> + <Filter Include="Styles"> + <UniqueIdentifier>{88bf5748-d567-486c-91cf-1c7a124078d3}</UniqueIdentifier> + </Filter> + <Filter Include="Views"> + <UniqueIdentifier>{b81596e4-e16c-4537-9631-65655360cbf4}</UniqueIdentifier> + </Filter> + <Filter Include="ViewModels"> + <UniqueIdentifier>{259b6ba4-1943-4393-b7a1-5e83f15a0217}</UniqueIdentifier> + </Filter> + <Filter Include="Models"> + <UniqueIdentifier>{04b389af-ccff-45ed-b44a-645c39388eec}</UniqueIdentifier> + </Filter> + <Filter Include="Models\Media"> <UniqueIdentifier>{b4690532-30e8-4640-8478-1a686d31d7a5}</UniqueIdentifier> </Filter> - <Filter Include="Media\Audio"> + <Filter Include="Models\Media\Audio"> <UniqueIdentifier>{851d9f4a-c6b8-40aa-ba0f-44a7185795e2}</UniqueIdentifier> </Filter> - <Filter Include="Media\Video"> + <Filter Include="Models\Media\Video"> <UniqueIdentifier>{6d47b8c1-b056-4461-98d6-5bcb52d30447}</UniqueIdentifier> </Filter> - <Filter Include="Model"> - <UniqueIdentifier>{04b389af-ccff-45ed-b44a-645c39388eec}</UniqueIdentifier> + <Filter Include="Assets\Images"> + <UniqueIdentifier>{a1f4e2c7-201e-4ebc-9b95-f7ac71650a1c}</UniqueIdentifier> </Filter> - <Filter Include="ModelViews"> - <UniqueIdentifier>{259b6ba4-1943-4393-b7a1-5e83f15a0217}</UniqueIdentifier> + <Filter Include="Assets\Sounds"> + <UniqueIdentifier>{7930b368-02a8-4837-b2e4-73821631ec32}</UniqueIdentifier> </Filter> - <Filter Include="Strings"> - <UniqueIdentifier>{f9db2a3e-6f39-4c23-922e-7143eb98197b}</UniqueIdentifier> + <Filter Include="Assets\Tests"> + <UniqueIdentifier>{41024596-5974-4b5d-b9ce-970c3746ac80}</UniqueIdentifier> </Filter> - <Filter Include="Strings\en-US"> - <UniqueIdentifier>{a710d34d-6f6b-4a72-a62b-3d0bb132533b}</UniqueIdentifier> + <Filter Include="Strings\de-DE"> + <UniqueIdentifier>{bf6d27bc-545f-421b-afe5-e1a80723cf8c}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\de"> + <UniqueIdentifier>{b963a96c-a60e-49f6-bb44-7dac6823fe9c}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\zh"> + <UniqueIdentifier>{a4fc64cd-64e4-4986-8d57-98c39fe7443c}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ar"> + <UniqueIdentifier>{87c85455-c1f6-4d0e-a023-5d4ef17036e2}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\bg"> + <UniqueIdentifier>{2e36dc7c-f49b-469a-a8a0-1cbbc2cd1f09}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ca"> + <UniqueIdentifier>{1b873d03-fec9-42ec-8359-55a0cb4dfead}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\cs-CZ"> + <UniqueIdentifier>{c23b4144-e177-489f-9e55-5c20660844c4}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\da-DK"> + <UniqueIdentifier>{c779084e-7ddb-4f30-bde8-8e174b60c6a7}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\el"> + <UniqueIdentifier>{dada0861-1a5e-4109-9cae-e742176adb21}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\es"> + <UniqueIdentifier>{32da36f6-52be-4e7f-8480-7f09178bca59}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\et-EE"> + <UniqueIdentifier>{7f16191c-2e9d-4333-821e-64092a73b9dc}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\fa-IR"> + <UniqueIdentifier>{75bb8c8c-bf06-4d66-a098-efc337967e26}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\fi"> + <UniqueIdentifier>{8044aeac-8990-49a5-bca3-fabd9f53f304}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\fr"> + <UniqueIdentifier>{1f80814e-29d9-44dc-9923-5a0aac42f9aa}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\fr-CA"> + <UniqueIdentifier>{8d244376-ae30-4821-a4e9-05bff7f62f57}</UniqueIdentifier> </Filter> <Filter Include="Strings\fr-FR"> - <UniqueIdentifier>{e97f4433-16c6-425e-b476-f2e3877d4104}</UniqueIdentifier> + <UniqueIdentifier>{37c14f4a-73fe-44a9-ac07-46fb53d4adca}</UniqueIdentifier> </Filter> - <Filter Include="Styles"> - <UniqueIdentifier>{88bf5748-d567-486c-91cf-1c7a124078d3}</UniqueIdentifier> + <Filter Include="Strings\he"> + <UniqueIdentifier>{e1e19e7e-237f-4572-a8e0-82fac13880de}</UniqueIdentifier> </Filter> - <Filter Include="Views"> - <UniqueIdentifier>{b81596e4-e16c-4537-9631-65655360cbf4}</UniqueIdentifier> + <Filter Include="Strings\hi-IN"> + <UniqueIdentifier>{908f7a63-cecd-4b98-be0f-0ee57793f1cf}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\hr"> + <UniqueIdentifier>{0a462d24-d254-4ea9-bd40-74bdc7816aab}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\hu"> + <UniqueIdentifier>{4e8aa18b-781a-4d77-ac27-e0297e411318}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\id"> + <UniqueIdentifier>{11d3c8a9-3a9b-4fb2-9315-7d49a4931aba}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\it"> + <UniqueIdentifier>{1d8edd29-9333-4cb0-a122-c65230a16016}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\it-IT"> + <UniqueIdentifier>{760af0c2-b157-48cf-bf3c-ac4ab3fedd1b}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ja"> + <UniqueIdentifier>{f4471385-687e-4a0e-9069-12d82733d0f8}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\lt"> + <UniqueIdentifier>{cf417697-1ce1-4da0-8f6a-70d953460c9f}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ms"> + <UniqueIdentifier>{c6755019-d09a-4405-aa10-cdc50a4f7cfb}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\nb"> + <UniqueIdentifier>{2a20e2f5-0415-45ee-82c3-98175ab0cb50}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\nl"> + <UniqueIdentifier>{4850a8d4-1b15-4eb7-bbea-90c24c1e2988}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\nl-NL"> + <UniqueIdentifier>{2e060855-5889-4ca4-8b76-5fc7a2c56e58}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\pa"> + <UniqueIdentifier>{c58aaf2d-dc24-4766-9ad1-b7bdf8580791}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\pl"> + <UniqueIdentifier>{73510f37-e648-4fa5-ad8d-89080898da32}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\pt"> + <UniqueIdentifier>{49dd9ab6-7435-428b-aa1e-5448e6ca0651}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\pt-BR"> + <UniqueIdentifier>{1ee2f923-ee9b-4ba9-969e-f750552a330b}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ro"> + <UniqueIdentifier>{50d97b56-4805-4b9e-a70e-8e3651728371}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ru"> + <UniqueIdentifier>{b82f4c3a-26cf-4945-8385-b24a3f1a804b}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\ru-RU"> + <UniqueIdentifier>{30e4ffac-e285-44c8-b942-468dbc7dc193}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\sk-SK"> + <UniqueIdentifier>{92c1e22d-4589-412a-be09-d3d6a756eacb}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\sq-AL"> + <UniqueIdentifier>{1cc0641f-3e86-4cbe-bc28-7c69f2033830}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\sv"> + <UniqueIdentifier>{7fa114b9-6612-469a-b7f3-de92aace1d25}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\tr"> + <UniqueIdentifier>{9d58b1d9-96b0-4b59-80e6-9156d577b840}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\uk"> + <UniqueIdentifier>{06d2516c-75b7-48aa-b47b-88553bcb17cc}</UniqueIdentifier> + </Filter> + <Filter Include="Strings\en-GB"> + <UniqueIdentifier>{83248a19-b0d2-4b71-b0be-c5e9cd98fd65}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> <Media Include="Assets\default.wav"> - <Filter>Assets</Filter> + <Filter>Assets\Sounds</Filter> </Media> - <Media Include="Assets\message_notification_sound.wav"> - <Filter>Assets</Filter> + <Media Include="Assets\ringtone_notify.wav"> + <Filter>Assets\Sounds</Filter> </Media> </ItemGroup> + <ItemGroup> + <ResourceCompile Include="ring-client-uwp.rc" /> + </ItemGroup> + <ItemGroup> + <PRIResource Include="localization\en-US\Resources.resw"> + <Filter>Strings\en-US</Filter> + </PRIResource> + <PRIResource Include="localization\es\Resources.resw"> + <Filter>Strings\es</Filter> + </PRIResource> + <PRIResource Include="localization\et-EE\Resources.resw"> + <Filter>Strings\et-EE</Filter> + </PRIResource> + <PRIResource Include="localization\fa-IR\Resources.resw"> + <Filter>Strings\fa-IR</Filter> + </PRIResource> + <PRIResource Include="localization\fi\Resources.resw"> + <Filter>Strings\fi</Filter> + </PRIResource> + <PRIResource Include="localization\fr\Resources.resw"> + <Filter>Strings\fr</Filter> + </PRIResource> + <PRIResource Include="localization\fr-CA\Resources.resw"> + <Filter>Strings\fr-CA</Filter> + </PRIResource> + <PRIResource Include="localization\he\Resources.resw"> + <Filter>Strings\he</Filter> + </PRIResource> + <PRIResource Include="localization\hi-IN\Resources.resw"> + <Filter>Strings\hi-IN</Filter> + </PRIResource> + <PRIResource Include="localization\hr\Resources.resw"> + <Filter>Strings\hr</Filter> + </PRIResource> + <PRIResource Include="localization\hu\Resources.resw"> + <Filter>Strings\hu</Filter> + </PRIResource> + <PRIResource Include="localization\id\Resources.resw"> + <Filter>Strings\id</Filter> + </PRIResource> + <PRIResource Include="localization\it\Resources.resw"> + <Filter>Strings\it</Filter> + </PRIResource> + <PRIResource Include="localization\it-IT\Resources.resw"> + <Filter>Strings\it-IT</Filter> + </PRIResource> + <PRIResource Include="localization\ja\Resources.resw"> + <Filter>Strings\ja</Filter> + </PRIResource> + <PRIResource Include="localization\lt\Resources.resw"> + <Filter>Strings\lt</Filter> + </PRIResource> + <PRIResource Include="localization\ms\Resources.resw"> + <Filter>Strings\ms</Filter> + </PRIResource> + <PRIResource Include="localization\nb\Resources.resw"> + <Filter>Strings\nb</Filter> + </PRIResource> + <PRIResource Include="localization\nl\Resources.resw"> + <Filter>Strings\nl</Filter> + </PRIResource> + <PRIResource Include="localization\pa\Resources.resw"> + <Filter>Strings\pa</Filter> + </PRIResource> + <PRIResource Include="localization\pl\Resources.resw"> + <Filter>Strings\pl</Filter> + </PRIResource> + <PRIResource Include="localization\pt\Resources.resw"> + <Filter>Strings\pt</Filter> + </PRIResource> + <PRIResource Include="localization\pt-BR\Resources.resw"> + <Filter>Strings\pt-BR</Filter> + </PRIResource> + <PRIResource Include="localization\ro\Resources.resw"> + <Filter>Strings\ro</Filter> + </PRIResource> + <PRIResource Include="localization\ru\Resources.resw"> + <Filter>Strings\ru</Filter> + </PRIResource> + <PRIResource Include="localization\sk-SK\Resources.resw"> + <Filter>Strings\sk-SK</Filter> + </PRIResource> + <PRIResource Include="localization\sq-AL\Resources.resw"> + <Filter>Strings\sq-AL</Filter> + </PRIResource> + <PRIResource Include="localization\sv\Resources.resw"> + <Filter>Strings\sv</Filter> + </PRIResource> + <PRIResource Include="localization\tr\Resources.resw"> + <Filter>Strings\tr</Filter> + </PRIResource> + <PRIResource Include="localization\uk\Resources.resw"> + <Filter>Strings\uk</Filter> + </PRIResource> + <PRIResource Include="localization\zh\Resources.resw"> + <Filter>Strings\zh</Filter> + </PRIResource> + <PRIResource Include="localization\de-DE\Resources.resw"> + <Filter>Strings\de-DE</Filter> + </PRIResource> + <PRIResource Include="localization\de\Resources.resw"> + <Filter>Strings\de</Filter> + </PRIResource> + <PRIResource Include="localization\ar\Resources.resw"> + <Filter>Strings\ar</Filter> + </PRIResource> + <PRIResource Include="localization\bg\Resources.resw"> + <Filter>Strings\bg</Filter> + </PRIResource> + <PRIResource Include="localization\ca\Resources.resw"> + <Filter>Strings\ca</Filter> + </PRIResource> + <PRIResource Include="localization\cs-CZ\Resources.resw"> + <Filter>Strings\cs-CZ</Filter> + </PRIResource> + <PRIResource Include="localization\da-DK\Resources.resw"> + <Filter>Strings\da-DK</Filter> + </PRIResource> + <PRIResource Include="localization\el\Resources.resw"> + <Filter>Strings\el</Filter> + </PRIResource> + <PRIResource Include="localization\fr-FR\Resources.resw"> + <Filter>Strings\fr-FR</Filter> + </PRIResource> + <PRIResource Include="localization\nl-NL\Resources.resw"> + <Filter>Strings\nl-NL</Filter> + </PRIResource> + <PRIResource Include="localization\ru-RU\Resources.resw"> + <Filter>Strings\ru-RU</Filter> + </PRIResource> + <PRIResource Include="localization\en-GB\Resources.resw"> + <Filter>Strings\en-GB</Filter> + </PRIResource> + </ItemGroup> </Project> \ No newline at end of file diff --git a/update-translations.py b/update-translations.py new file mode 100644 index 0000000..e7ae78e --- /dev/null +++ b/update-translations.py @@ -0,0 +1,34 @@ +#!/usr/bin/python + +## +## Copyright (C) 2016-2017 Savoir-faire Linux Inc. +## +## Author: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> +## Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> +## Author: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## + +import os +import shutil + +print("== Pushing sources") +os.system("tx push -s") + +print("== Pulling translations") +os.system("tx pull -af --minimum-perc=1") + +print("== All done") \ No newline at end of file -- GitLab