From 76a8a83930cea7f91a72441b4e611763afa90b9c Mon Sep 17 00:00:00 2001
From: vjrj <vjrj@comunes.org>
Date: Thu, 23 Mar 2023 22:07:22 +0100
Subject: [PATCH] Another hackathon

---
 .gitignore                                    |   3 +-
 assets/translations/ca.json                   |   1 -
 assets/translations/en.json                   |   5 +-
 assets/translations/es.json                   |   5 +-
 assets/translations/fr.json                   |   4 +-
 ios/Runner/Info.plist                         |   1 +
 lib/data/models/app_state.dart                |   9 +-
 lib/data/models/app_state.g.dart              |   2 +
 lib/data/models/node_list_cubit.dart          |  33 +-
 lib/data/models/node_manager.dart             |   1 +
 lib/data/models/payment_cubit.dart            |   6 +-
 lib/data/models/transaction.dart              |   4 +-
 lib/data/models/transaction.g.dart            |  20 +-
 lib/data/models/transaction_cubit.dart        |  19 +-
 lib/g1/api.dart                               |  50 ++-
 lib/g1/transaction_parser.dart                |   4 +-
 lib/main.dart                                 |  25 +-
 lib/shared_prefs.dart                         |   1 -
 lib/ui/screens/fifth_screen.dart              |  32 ++
 lib/ui/screens/first_screen.dart              | 149 ++++-----
 lib/ui/screens/fourth_screen.dart             |   7 +-
 lib/ui/screens/pay_form.dart                  |  21 +-
 lib/ui/ui_helpers.dart                        |  14 +-
 .../widgets/fifth_screen/import_dialog.dart   |   2 +-
 lib/ui/widgets/first_screen/credit_card.dart  |  30 +-
 .../first_screen/pay_contact_search_page.dart |   6 +-
 .../fourth_screen/transaction_page.dart       | 315 ++++++++++--------
 .../widgets/third_screen/contacts_page.dart   |   6 +-
 pubspec.lock                                  |   8 +
 pubspec.yaml                                  |   1 +
 web/favicon.ico                               | Bin 0 -> 149845 bytes
 web/favicon.png                               | Bin 0 -> 12142 bytes
 web/icons/Icon-192.png                        | Bin 0 -> 7911 bytes
 web/icons/Icon-512.png                        | Bin 0 -> 33909 bytes
 web/icons/Icon-maskable-192.png               | Bin 0 -> 7911 bytes
 web/icons/Icon-maskable-512.png               | Bin 0 -> 33909 bytes
 web/index.html                                |  71 ++++
 web/manifest.json                             |  35 ++
 38 files changed, 547 insertions(+), 343 deletions(-)
 create mode 100644 web/favicon.ico
 create mode 100644 web/favicon.png
 create mode 100644 web/icons/Icon-192.png
 create mode 100644 web/icons/Icon-512.png
 create mode 100644 web/icons/Icon-maskable-192.png
 create mode 100644 web/icons/Icon-maskable-512.png
 create mode 100644 web/index.html
 create mode 100644 web/manifest.json

diff --git a/.gitignore b/.gitignore
index 603d6ca8..5615bc8b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,6 +43,5 @@ app.*.map.json
 /android/app/debug
 /android/app/profile
 /android/app/release
-web
 build.sh
-linux/
\ No newline at end of file
+linux/
diff --git a/assets/translations/ca.json b/assets/translations/ca.json
index f5184ee4..a475ce92 100644
--- a/assets/translations/ca.json
+++ b/assets/translations/ca.json
@@ -56,7 +56,6 @@
   "data_load_error": "Error en carregar les dades",
   "add_contact": "Afegeix el contacte",
   "contact_added": "Contacte afegit",
-  "no_transactions": "Encara no tens cap transacció",
   "qr-scanner-title": "Escaneja el QR d'algú",
   "copy_contact_key": "Copia",
   "nothing_found": "No s'ha trobat res",
diff --git a/assets/translations/en.json b/assets/translations/en.json
index 98e2c415..c44742e6 100644
--- a/assets/translations/en.json
+++ b/assets/translations/en.json
@@ -56,7 +56,7 @@
   "data_load_error": "Error loading data",
   "add_contact": "Add contact",
   "contact_added": "Contact added",
-  "no_transactions": "You don't have any transaction yet",
+  "no_transactions": "This wallet has no balance. Start by offering your services in Äž1 markets, for example, to receive your first income.",
   "qr-scanner-title": "Scan the QR of someone",
   "copy_contact_key": "Copy",
   "nothing_found": "Nothing found",
@@ -88,5 +88,6 @@
   "please_confirm_sent_desc": "Please confirm that you wish to send {amount} Äž1 to {to}",
   "yes_sent": "YES, SEND IT",
   "receive_g1": "Receive Äž1",
-  "insufficient balance": "Oops, insufficient balance to pay this"
+  "insufficient balance": "Oops, insufficient balance to pay this",
+  "language_switch_title": "Select your language"
 }
diff --git a/assets/translations/es.json b/assets/translations/es.json
index 2a788d81..082d49fc 100644
--- a/assets/translations/es.json
+++ b/assets/translations/es.json
@@ -56,7 +56,7 @@
   "data_load_error": "Error al cargar los datos",
   "add_contact": "Añadir contacto",
   "contact_added": "Contacto añadido",
-  "no_transactions": "No tiene todavía ninguna transacción",
+  "no_transactions": "Este monedero no tiene saldo. Empieza por ejemplo a ofrecer tus servicios en mercados Äž1 para recibir tus primeros ingresos",
   "qr-scanner-title": "Escanea el QR de alguien",
   "copy_contact_key": "Copiar",
   "nothing_found": "No se ha encontrado nada",
@@ -87,5 +87,6 @@
   "please_confirm_sent_desc": "Por favor confirma que quieres enviar {amount} Äž1 a {to}",
   "yes_sent": "SÍ, ENVÍALO",
   "receive_g1": "Recibe Junas",
-  "insufficient balance": "Upps, balance insuficiente para hacer este pago"
+  "insufficient balance": "Upps, balance insuficiente para hacer este pago",
+  "language_switch_title": "Selecciona tu idioma"
 }
diff --git a/assets/translations/fr.json b/assets/translations/fr.json
index 6a0f5cee..165273fc 100644
--- a/assets/translations/fr.json
+++ b/assets/translations/fr.json
@@ -19,7 +19,7 @@
   "g1_form_pay_hint": "Entrez une description (facultatif)",
   "code_card_title": "Dépôt de code",
   "intro_1_title": "Bienvenue dans notre portefeuille Äž1!",
-  "intro_1_description": "Avec ce portefeuille, vous pouvez facilement et en toute sécurité stocker, envoyer et recevoir de la monnaie Ğ1 (également connue sous le nom de 'Juin').",
+  "intro_1_description": "Avec ce portefeuille, vous pouvez facilement et en toute sécurité stocker, envoyer et recevoir de la monnaie Ğ1 (également connue sous le nom de 'June').",
   "intro_2_title": "Une monnaie numérique libre créée par le peuple, pour le peuple",
   "intro_2_description": "Ğ1 ne dépend d'aucun gouvernement ou entreprise et est écologique (car elle consomme peu d'énergie), transparente et équitable pour tous.",
   "intro_3_title": "La monnaie Ğ1 fonctionne sur le réseau Duniter",
@@ -63,4 +63,4 @@
   "intro_some_pattern_to_export": "Motif pour importer/exporter votre portefeuille",
   "confirm_pattern": "Confirmer le motif",
   "draw_pattern": "Dessiner le motif"
-}
\ No newline at end of file
+}
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 69c8dbd1..cb695055 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -46,6 +46,7 @@
     	<string>en</string>
     	<string>es</string>
     	<string>fr</string>
+    	<string>ca</string>
     </array>
     <key>LSApplicationQueriesSchemes</key>
     <array>
diff --git a/lib/data/models/app_state.dart b/lib/data/models/app_state.dart
index 76c8b2ca..99d588d4 100644
--- a/lib/data/models/app_state.dart
+++ b/lib/data/models/app_state.dart
@@ -11,6 +11,7 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
     this.introViewed = false,
     this.warningViewed = false,
     this.expertMode = false,
+    this.locale = 'en',
   });
 
   factory AppState.fromJson(Map<String, dynamic> json) =>
@@ -19,16 +20,19 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
   final bool introViewed;
   final bool warningViewed;
   final bool expertMode;
+  final String locale;
 
   AppState copyWith({
     bool? introViewed,
     bool? warningViewed,
     bool? expertMode,
+    String? locale,
   }) {
     return AppState(
         introViewed: introViewed ?? this.introViewed,
         warningViewed: warningViewed ?? this.warningViewed,
-        expertMode: expertMode ?? this.expertMode);
+        expertMode: expertMode ?? this.expertMode,
+        locale: locale ?? this.locale);
   }
 
   @override
@@ -38,5 +42,6 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
   Map<String, dynamic> toJson() => _$AppStateToJson(this);
 
   @override
-  List<Object?> get props => <Object>[introViewed, warningViewed, expertMode];
+  List<Object?> get props =>
+      <Object>[introViewed, warningViewed, expertMode, locale];
 }
diff --git a/lib/data/models/app_state.g.dart b/lib/data/models/app_state.g.dart
index dca06c2f..8e1120d5 100644
--- a/lib/data/models/app_state.g.dart
+++ b/lib/data/models/app_state.g.dart
@@ -10,10 +10,12 @@ AppState _$AppStateFromJson(Map<String, dynamic> json) => AppState(
       introViewed: json['introViewed'] as bool? ?? false,
       warningViewed: json['warningViewed'] as bool? ?? false,
       expertMode: json['expertMode'] as bool? ?? false,
+      locale: json['locale'] as String? ?? 'en',
     );
 
 Map<String, dynamic> _$AppStateToJson(AppState instance) => <String, dynamic>{
       'introViewed': instance.introViewed,
       'warningViewed': instance.warningViewed,
       'expertMode': instance.expertMode,
+      'locale': instance.locale,
     };
diff --git a/lib/data/models/node_list_cubit.dart b/lib/data/models/node_list_cubit.dart
index 2136aea8..c6e213ac 100644
--- a/lib/data/models/node_list_cubit.dart
+++ b/lib/data/models/node_list_cubit.dart
@@ -6,34 +6,6 @@ import 'node_list_state.dart';
 class NodeListCubit extends HydratedCubit<NodeListState> {
   NodeListCubit() : super(NodeListState());
 
-  void addDuniterNode(Node node) {
-    if (!_find(node)) {
-      // Does not exists, so add it
-      emit(state.copyWith(duniterNodes: <Node>[...state.duniterNodes, node]));
-    } else {
-      // it exists
-      updateDuniterNode(node);
-    }
-  }
-
-  bool _find(Node node) => state.duniterNodes.contains(node);
-
-  void insertDuniterNode(Node node) {
-    if (!_find(node)) {
-      emit(state.copyWith(duniterNodes: <Node>[node, ...state.duniterNodes]));
-    } else {
-      // it exists
-      updateDuniterNode(node);
-    }
-  }
-
-  void updateDuniterNode(Node updatedNode) {
-    final List<Node> updatedDuniterNodes = state.duniterNodes.map((Node n) {
-      return n.url == updatedNode.url ? updatedNode : n;
-    }).toList();
-    emit(state.copyWith(duniterNodes: updatedDuniterNodes));
-  }
-
   void setDuniterNodes(List<Node> nodes) {
     emit(state.copyWith(duniterNodes: nodes));
   }
@@ -42,9 +14,8 @@ class NodeListCubit extends HydratedCubit<NodeListState> {
     emit(state.copyWith(cesiumPlusNodes: nodes));
   }
 
-  void addCesiumPlusNode(Node node) {
-    emit(state
-        .copyWith(cesiumPlusNodes: <Node>[...state.cesiumPlusNodes, node]));
+  void setGvaNodes(List<Node> nodes) {
+    emit(state.copyWith(gvaNodes: nodes));
   }
 
   List<Node> get duniterNodes => state.duniterNodes;
diff --git a/lib/data/models/node_manager.dart b/lib/data/models/node_manager.dart
index ccf9e382..4f2383e7 100644
--- a/lib/data/models/node_manager.dart
+++ b/lib/data/models/node_manager.dart
@@ -119,5 +119,6 @@ class NodeManagerObserver {
   void update(NodeManager nodeManager) {
     cubit.setDuniterNodes(nodeManager.duniterNodes);
     cubit.setCesiumPlusNodes(nodeManager.cesiumPlusNodes);
+    cubit.setGvaNodes(nodeManager.gvaNodes);
   }
 }
diff --git a/lib/data/models/payment_cubit.dart b/lib/data/models/payment_cubit.dart
index 43f04844..18481227 100644
--- a/lib/data/models/payment_cubit.dart
+++ b/lib/data/models/payment_cubit.dart
@@ -29,7 +29,7 @@ class PaymentCubit extends HydratedCubit<PaymentState> {
 
   void selectKeyAmount(String publicKey, double amount) {
     final PaymentState newState =
-        PaymentState(publicKey: publicKey, amount: amount);
+    PaymentState(publicKey: publicKey, amount: amount);
     emit(newState);
   }
 
@@ -72,7 +72,7 @@ class PaymentCubit extends HydratedCubit<PaymentState> {
     emit(newState);
   }
 
-  void setDescription(String description) {
-    emit(state.copyWith(comment: description));
+  void setComment(String comment) {
+    emit(state.copyWith(comment: comment));
   }
 }
diff --git a/lib/data/models/transaction.dart b/lib/data/models/transaction.dart
index 4218a9e0..9fec0435 100644
--- a/lib/data/models/transaction.dart
+++ b/lib/data/models/transaction.dart
@@ -30,7 +30,7 @@ class Transaction extends Equatable {
   @JsonKey(fromJson: uIntFromList, toJson: uIntToList)
   final Uint8List? toAvatar;
   final String? toNick;
-  final int amount;
+  final double amount;
   @JsonKey(fromJson: uIntFromList, toJson: uIntToList)
   final Uint8List? fromAvatar;
   final String? fromNick;
@@ -65,7 +65,7 @@ class TransactionsAndBalanceState extends Equatable {
   factory TransactionsAndBalanceState.fromJson(Map<String, dynamic> json) =>
       _$TransactionsAndBalanceStateFromJson(json);
   final List<Transaction> transactions;
-  final int balance;
+  final double balance;
   final DateTime lastChecked;
 
   Map<String, dynamic> toJson() => _$TransactionsAndBalanceStateToJson(this);
diff --git a/lib/data/models/transaction.g.dart b/lib/data/models/transaction.g.dart
index 992e707b..62df6223 100644
--- a/lib/data/models/transaction.g.dart
+++ b/lib/data/models/transaction.g.dart
@@ -11,7 +11,7 @@ abstract class _$TransactionCWProxy {
 
   Transaction to(String to);
 
-  Transaction amount(int amount);
+  Transaction amount(double amount);
 
   Transaction comment(String comment);
 
@@ -34,7 +34,7 @@ abstract class _$TransactionCWProxy {
   Transaction call({
     String? from,
     String? to,
-    int? amount,
+    double? amount,
     String? comment,
     DateTime? time,
     Uint8List? toAvatar,
@@ -57,7 +57,7 @@ class _$TransactionCWProxyImpl implements _$TransactionCWProxy {
   Transaction to(String to) => this(to: to);
 
   @override
-  Transaction amount(int amount) => this(amount: amount);
+  Transaction amount(double amount) => this(amount: amount);
 
   @override
   Transaction comment(String comment) => this(comment: comment);
@@ -108,7 +108,7 @@ class _$TransactionCWProxyImpl implements _$TransactionCWProxy {
       amount: amount == const $CopyWithPlaceholder() || amount == null
           ? _value.amount
           // ignore: cast_nullable_to_non_nullable
-          : amount as int,
+          : amount as double,
       comment: comment == const $CopyWithPlaceholder() || comment == null
           ? _value.comment
           // ignore: cast_nullable_to_non_nullable
@@ -146,7 +146,7 @@ extension $TransactionCopyWith on Transaction {
 abstract class _$TransactionsAndBalanceStateCWProxy {
   TransactionsAndBalanceState transactions(List<Transaction> transactions);
 
-  TransactionsAndBalanceState balance(int balance);
+  TransactionsAndBalanceState balance(double balance);
 
   TransactionsAndBalanceState lastChecked(DateTime lastChecked);
 
@@ -158,7 +158,7 @@ abstract class _$TransactionsAndBalanceStateCWProxy {
   /// ````
   TransactionsAndBalanceState call({
     List<Transaction>? transactions,
-    int? balance,
+    double? balance,
     DateTime? lastChecked,
   });
 }
@@ -175,7 +175,7 @@ class _$TransactionsAndBalanceStateCWProxyImpl
       this(transactions: transactions);
 
   @override
-  TransactionsAndBalanceState balance(int balance) => this(balance: balance);
+  TransactionsAndBalanceState balance(double balance) => this(balance: balance);
 
   @override
   TransactionsAndBalanceState lastChecked(DateTime lastChecked) =>
@@ -203,7 +203,7 @@ class _$TransactionsAndBalanceStateCWProxyImpl
       balance: balance == const $CopyWithPlaceholder() || balance == null
           ? _value.balance
           // ignore: cast_nullable_to_non_nullable
-          : balance as int,
+          : balance as double,
       lastChecked:
           lastChecked == const $CopyWithPlaceholder() || lastChecked == null
               ? _value.lastChecked
@@ -227,7 +227,7 @@ extension $TransactionsAndBalanceStateCopyWith on TransactionsAndBalanceState {
 Transaction _$TransactionFromJson(Map<String, dynamic> json) => Transaction(
       from: json['from'] as String,
       to: json['to'] as String,
-      amount: json['amount'] as int,
+      amount: (json['amount'] as num).toDouble(),
       comment: json['comment'] as String,
       time: DateTime.parse(json['time'] as String),
       toAvatar: uIntFromList(json['toAvatar'] as List<int>),
@@ -255,7 +255,7 @@ TransactionsAndBalanceState _$TransactionsAndBalanceStateFromJson(
       transactions: (json['transactions'] as List<dynamic>)
           .map((e) => Transaction.fromJson(e as Map<String, dynamic>))
           .toList(),
-      balance: json['balance'] as int,
+      balance: (json['balance'] as num).toDouble(),
       lastChecked: DateTime.parse(json['lastChecked'] as String),
     );
 
diff --git a/lib/data/models/transaction_cubit.dart b/lib/data/models/transaction_cubit.dart
index 0f2ea856..6e628245 100644
--- a/lib/data/models/transaction_cubit.dart
+++ b/lib/data/models/transaction_cubit.dart
@@ -19,28 +19,19 @@ class TransactionsCubit extends HydratedCubit<TransactionsAndBalanceState> {
     final TransactionsAndBalanceState currentState = state;
     final List<Transaction> newTransactions =
         List<Transaction>.of(currentState.transactions)..add(transaction);
-    final int newBalance = currentState.balance + transaction.amount;
+    final double newBalance = currentState.balance + transaction.amount;
     emit(currentState.copyWith(
         transactions: newTransactions, balance: newBalance));
   }
 
-  void updateTransactions(List<Transaction> newTransactions, int newBalance) {
+  void updateTransactions(
+      List<Transaction> newTransactions, double newBalance) {
     emit(state.copyWith(transactions: newTransactions, balance: newBalance));
   }
 
   Future<void> fetchTransactions(NodeListCubit cubit) async {
-    // Future<TransactionsAndBalance> _loadTransactions(NodeListCubit cubit) async {
-    // carga de datos asíncrona
-    // ...
-    // disabled, as we have to change the nodes
-    // https://g1.asycn.io/gva
-    // https://duniter.pini.fr/gva
-    /* Gva(node: 'https://g1.asycn.io/gva')
-        .balance(SharedPreferencesHelper().getPubKey())
-        .then((double currentBal) => setState(() {
-              _balanceAmount = currentBal;
-            })); */
     logger('Loading transactions');
+    logger('GVA balance: ${gvaBalance()}');
     final String txData = txDebugging
         ? await getTxHistory('6DrGg8cftpkgffv4Y4Lse9HSjgc8coEQor3yvMPHAnVH')
         : await getTxHistory(SharedPreferencesHelper().getPubKey());
@@ -61,7 +52,7 @@ class TransactionsCubit extends HydratedCubit<TransactionsAndBalanceState> {
 
   List<Transaction> get transactions => state.transactions;
 
-  int get balance => state.balance;
+  double get balance => state.balance;
 
   DateTime get lastChecked => state.lastChecked;
 }
diff --git a/lib/g1/api.dart b/lib/g1/api.dart
index cfe6dcf5..8773f85a 100644
--- a/lib/g1/api.dart
+++ b/lib/g1/api.dart
@@ -405,17 +405,11 @@ Future<http.Response> _requestWithRetry(
 
 Future<String> pay(
     {required String to, required double amount, String? comment}) async {
-  final List<Node> nodes = nodesWorkingList(NodeType.gva);
-  if (nodes.isNotEmpty) {
-    // reorder list to use others
-    nodes.shuffle();
-
+  final String output = getGvaNode();
+  if (Uri.tryParse(output) != null) {
+    final String node = output;
     try {
-      // Reference of working proxy 'https://g1demo.comunes.net/proxy/g1v1.p2p.legal/gva/';
-      final String node =
-          'https://g1demo.comunes.net/proxy/${nodes.first.url.replaceFirst('https://', '').replaceFirst('http://', '')}/';
       final Gva gva = Gva(node: node);
-
       logger('Trying $node to get balance');
       final CesiumWallet wallet = await SharedPreferencesHelper().getWallet();
       logger('Current balance ${await gva.balance(wallet.pubkey)}');
@@ -430,11 +424,45 @@ Future<String> pay(
       logger('GVA replied with "$response"');
       return response;
     } catch (e, stacktrace) {
-      // move logger outside main
       logger(e);
       logger(stacktrace);
       return "Oops! the payment failed. Something didn't work as expected";
     }
   }
-  return 'Sorry: I cannot find a working node to send the transaction';
+  return output;
+}
+
+String getGvaNode() {
+  final List<Node> nodes = nodesWorkingList(NodeType.gva);
+  if (nodes.isNotEmpty) {
+// reorder list to use others
+    nodes.shuffle();
+// Reference of working proxy 'https://g1demo.comunes.net/proxy/g1v1.p2p.legal/gva/';
+    final String node =
+        'https://g1demo.comunes.net/proxy/${nodes.first.url.replaceFirst('https://', '').replaceFirst('http://', '')}/';
+    return node;
+  } else {
+    return 'Sorry: I cannot find a working node to send the transaction';
+  }
+}
+
+Future<double> gvaBalance() async {
+  final String output = getGvaNode();
+  if (Uri.tryParse(output) != null) {
+    final String node = output;
+    try {
+      final Gva gva = Gva(node: node);
+      logger('Trying $node to get balance');
+      final CesiumWallet wallet = await SharedPreferencesHelper().getWallet();
+      final double balance = await gva.balance(wallet.pubkey);
+      logger('Current balance $balance');
+      return balance;
+    } catch (e, stacktrace) {
+      // move logger outside main
+      logger(e);
+      logger(stacktrace);
+      throw Exception('Oops! failed to obtain balance');
+    }
+  }
+  throw Exception('Sorry: I cannot find a working node to get your balance');
 }
diff --git a/lib/g1/transaction_parser.dart b/lib/g1/transaction_parser.dart
index dd021a8c..cfcbdc43 100644
--- a/lib/g1/transaction_parser.dart
+++ b/lib/g1/transaction_parser.dart
@@ -10,14 +10,14 @@ TransactionsAndBalanceState transactionParser(String txData) {
   final String pubKey = parsedTxData['pubkey'] as String;
   final List<dynamic> listReceived = (parsedTxData['history']
       as Map<String, dynamic>)['received'] as List<dynamic>;
-  int balance = 0;
+  double balance = 0;
   final List<Transaction> tx = <Transaction>[];
   for (final dynamic receivedRaw in listReceived) {
     final Map<String, dynamic> received = receivedRaw as Map<String, dynamic>;
     final int timestamp = received['blockstampTime'] as int;
     final String comment = received['comment'] as String;
     final List<dynamic> outputs = received['outputs'] as List<dynamic>;
-    final int amount = int.parse((outputs[0] as String).split(':')[0]);
+    final double amount = double.parse((outputs[0] as String).split(':')[0]);
     final String? address1 = exp.firstMatch(outputs[0] as String)!.group(1);
     final String? address2 = exp.firstMatch(outputs[1] as String)!.group(1);
     if (pubKey == address1) {
diff --git a/lib/main.dart b/lib/main.dart
index 85cc6fb8..d24385f3 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -78,6 +78,7 @@ void main() async {
             Locale('en'),
             Locale('es'),
             Locale('fr'),
+            Locale('ca'),
           ],
           fallbackLocale: const Locale('en'),
           useFallbackTranslations: true,
@@ -144,7 +145,8 @@ class _AppIntro extends State<AppIntro> {
                   createPageViewModel(
                       'intro_${i}_title',
                       'intro_${i}_description',
-                      'assets/img/undraw_intro_$i.png'),
+                      'assets/img/undraw_intro_$i.png',
+                      context),
               ],
               onDone: () => _onIntroEnd(buildContext),
               showSkipButton: true,
@@ -169,15 +171,26 @@ class _AppIntro extends State<AppIntro> {
 }
 
 PageViewModel createPageViewModel(
-    String title, String body, String imageAsset) {
+    String title, String body, String imageAsset, BuildContext context) {
+  final ColorScheme colorScheme = Theme.of(context).colorScheme;
+  final TextStyle titleStyle = TextStyle(
+    color: colorScheme.primary,
+    fontWeight: FontWeight.bold,
+    fontSize: 24.0,
+  );
+  final TextStyle bodyStyle = TextStyle(
+    color: colorScheme.onSurface,
+    fontSize: 18.0,
+  );
+
   return PageViewModel(
     title: tr(title),
     body: tr(body),
     image: Image.asset(imageAsset),
-    decoration: const PageDecoration(
-      pageColor: Colors.white,
-      bodyTextStyle: TextStyle(fontSize: 18),
-      titleTextStyle: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
+    decoration: PageDecoration(
+      titleTextStyle: titleStyle,
+      bodyTextStyle: bodyStyle,
+      pageColor: colorScheme.background,
     ),
   );
 }
diff --git a/lib/shared_prefs.dart b/lib/shared_prefs.dart
index 20401c20..780f5612 100644
--- a/lib/shared_prefs.dart
+++ b/lib/shared_prefs.dart
@@ -82,7 +82,6 @@ class SharedPreferencesHelper {
   String getPubKey() {
     // At this point should exists
     final String? pubKey = _prefs.getString(_pubKey);
-    logger('Public key: $pubKey');
     return pubKey!;
   }
 
diff --git a/lib/ui/screens/fifth_screen.dart b/lib/ui/screens/fifth_screen.dart
index 98e19794..40016920 100644
--- a/lib/ui/screens/fifth_screen.dart
+++ b/lib/ui/screens/fifth_screen.dart
@@ -28,6 +28,38 @@ class FifthScreen extends StatelessWidget {
                   padding: const EdgeInsets.symmetric(horizontal: 16),
                   physics: const BouncingScrollPhysics(),
                   children: <Widget>[
+                    const SizedBox(height: 10),
+                    DropdownButtonFormField<Locale>(
+                      value: context.locale,
+                      decoration: InputDecoration(
+                        labelText: tr('language_switch_title'),
+                        icon: const Icon(Icons.language),
+                        border: const OutlineInputBorder(),
+                      ),
+                      onChanged: (Locale? newLocale) {
+                        context.setLocale(newLocale!);
+                      },
+                      items: const <DropdownMenuItem<Locale>>[
+                        DropdownMenuItem<Locale>(
+                          value: Locale('ca'),
+                          child: Text('Català'),
+                        ),
+                        DropdownMenuItem<Locale>(
+                          value: Locale('en'),
+                          child: Text('English'),
+                        ),
+                        DropdownMenuItem<Locale>(
+                          value: Locale('es'),
+                          child: Text('Español'),
+                        ),
+                        DropdownMenuItem<Locale>(
+                          value: Locale('fr'),
+                          child: Text('Français'),
+                        ),
+
+                        // Add more DropdownMenuItem for more languages
+                      ],
+                    ),
                     const TextDivider(text: 'key_tools_title'),
                     GridView.count(
                         physics: const NeverScrollableScrollPhysics(),
diff --git a/lib/ui/screens/first_screen.dart b/lib/ui/screens/first_screen.dart
index ddd1b720..74ba6f2d 100644
--- a/lib/ui/screens/first_screen.dart
+++ b/lib/ui/screens/first_screen.dart
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 
 import '../../data/models/app_cubit.dart';
+import '../../data/models/app_state.dart';
 import '../../data/models/payment_cubit.dart';
 import '../../data/models/payment_state.dart';
 import '../widgets/bottom_widget.dart';
@@ -20,94 +21,66 @@ class FirstScreen extends StatefulWidget {
 
 class _FirstScreenState extends State<FirstScreen> {
   @override
-  Widget build(BuildContext context) {
-    WidgetsBinding.instance.addPostFrameCallback((_) async {
-      if (!context.read<AppCubit>().isWarningViewed) {
-        ScaffoldMessenger.of(context).showSnackBar(
-          SnackBar(
-            content: Text(tr('demo_desc')),
-            action: SnackBarAction(
-              label: 'OK',
-              onPressed: () {
-                ScaffoldMessenger.of(context).hideCurrentSnackBar();
-                context.read<AppCubit>().warningViewed();
-              },
-            ),
-          ),
-        );
-      }
-    });
-    return BlocBuilder<PaymentCubit, PaymentState>(
-        builder: (BuildContext context, PaymentState state) =>
-            Stack(children: <Widget>[
-              Scaffold(
-                  appBar: AppBar(title: Text(tr('credit_card_title'))),
-                  drawer: const CardDrawer(),
-                  body: ListView(
-                      padding: const EdgeInsets.symmetric(horizontal: 16),
-                      //physics: const AlwaysScrollableScrollPhysics(),
-                      //controller: _controller,
-                      // shrinkWrap: true,
-                      children: <Widget>[
-                        CreditCard(),
-                        const SizedBox(height: 8),
-                        Padding(
-                          padding: const EdgeInsets.symmetric(horizontal: 24),
-                          child: Divider(
-                            color: Theme.of(context)
-                                .colorScheme
-                                .onBackground
-                                .withOpacity(.4),
+  Widget build(BuildContext context) =>
+      BlocBuilder<AppCubit, AppState>(
+          builder: (BuildContext context, AppState state) {
+            WidgetsBinding.instance.addPostFrameCallback((_) async {
+              if (!state.warningViewed) {
+                ScaffoldMessenger.of(context).showSnackBar(
+                  SnackBar(
+                    content: Text(tr('demo_desc')),
+                    action: SnackBarAction(
+                      label: 'OK',
+                      onPressed: () {
+                        ScaffoldMessenger.of(context).hideCurrentSnackBar();
+                        context.read<AppCubit>().warningViewed();
+                      },
+                    ),
+                  ),
+                );
+              }
+            });
+            return BlocBuilder<PaymentCubit, PaymentState>(
+                builder: (BuildContext context, PaymentState state) =>
+                    Stack(children: <Widget>[
+                      Scaffold(
+                          appBar: AppBar(title: Text(tr('credit_card_title'))),
+                          drawer: const CardDrawer(),
+                          body: ListView(
+                              padding: const EdgeInsets.symmetric(
+                                  horizontal: 16),
+                              //physics: const AlwaysScrollableScrollPhysics(),
+                              //controller: _controller,
+                              // shrinkWrap: true,
+                              children: <Widget>[
+                                CreditCard(),
+                                const SizedBox(height: 8),
+                                Padding(
+                                  padding: const EdgeInsets.symmetric(
+                                      horizontal: 24),
+                                  child: Divider(
+                                    color: Theme
+                                        .of(context)
+                                        .colorScheme
+                                        .onBackground
+                                        .withOpacity(.4),
+                                  ),
+                                ),
+                                const SizedBox(height: 10),
+                                const PayContactSearchButton(),
+                                const SizedBox(height: 10),
+                                const PayForm(),
+                                const BottomWidget()
+                              ])),
+                      Visibility(
+                        visible: state.status == PaymentStatus.sending,
+                        child: Container(
+                          color: Colors.black.withOpacity(0.5),
+                          child: const Center(
+                            child: CircularProgressIndicator(),
                           ),
                         ),
-                        const SizedBox(height: 10),
-                        const PayContactSearchButton(),
-                        const SizedBox(height: 10),
-                        const PayForm(),
-                        const BottomWidget()
-                      ])),
-              Visibility(
-                visible: state.status == PaymentStatus.sending,
-                child: Container(
-                  color: Colors.black.withOpacity(0.5),
-                  child: const Center(
-                    child: CircularProgressIndicator(),
-                  ),
-                ),
-              )
-            ]));
-  }
+                      )
+                    ]));
+          });
 }
-/*
-Scaffold(
-  appBar: AppBar(
-    leading: IconButton(
-      icon: Icon(Icons.menu),
-      onPressed: () => Scaffold.of(context).openDrawer(),
-    ),
-    title: Text('My App'),
-  ),
-  drawerEnableOpenDragGesture: true,
-  drawer: CustomDrawer(),
-  body: // ...
-);
-
-class Screen1 extends StatelessWidget {
-  const Screen1({Key? key}) : super(key: key);
-
-  @override
-  Widget build(BuildContext context) {
-    return Scaffold(
-      appBar: AppBar(title: Text('Screen 1')),
-      drawer: CustomDrawer(),
-      body: Center(
-        child: ElevatedButton(
-          child: Text('Open Drawer'),
-          onPressed: () {
-            Scaffold.of(context).openDrawer();
-          },
-        ),
-      ),
-    );
-  }
-} */
diff --git a/lib/ui/screens/fourth_screen.dart b/lib/ui/screens/fourth_screen.dart
index 680ca6ae..7a67c4b0 100644
--- a/lib/ui/screens/fourth_screen.dart
+++ b/lib/ui/screens/fourth_screen.dart
@@ -1,7 +1,5 @@
-import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 
-import '../widgets/card_drawer.dart';
 import '../widgets/fourth_screen/transaction_page.dart';
 
 class FourthScreen extends StatelessWidget {
@@ -9,9 +7,6 @@ class FourthScreen extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return Scaffold(
-        appBar: AppBar(title: Text(tr('transactions'))),
-        drawer: const CardDrawer(),
-        body: const TransactionsAndBalanceWidget());
+    return const TransactionsAndBalanceWidget();
   }
 }
diff --git a/lib/ui/screens/pay_form.dart b/lib/ui/screens/pay_form.dart
index 3a629950..af51e2f6 100644
--- a/lib/ui/screens/pay_form.dart
+++ b/lib/ui/screens/pay_form.dart
@@ -1,5 +1,6 @@
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 
 import '../../data/models/payment_cubit.dart';
@@ -36,9 +37,12 @@ class _PayFormState extends State<PayForm> {
             const SizedBox(height: 10.0),
             TextField(
               controller: _commentController,
+              inputFormatters: <TextInputFormatter>[
+                Iso88591TextInputFormatter()
+              ],
               onChanged: (String? value) {
                 if (value != null) {
-                  context.read<PaymentCubit>().setDescription(value);
+                  context.read<PaymentCubit>().setComment(value);
                 }
               },
               decoration: InputDecoration(
@@ -139,3 +143,18 @@ class _PayFormState extends State<PayForm> {
     );
   }
 }
+
+class Iso88591TextInputFormatter extends TextInputFormatter {
+  static final RegExp _iso88591RegExp = RegExp('^[\u0000-\u00FF]*\$');
+  static final RegExp _englishRegExp = RegExp('^[\u0000-\u007F]*\$');
+
+  @override
+  TextEditingValue formatEditUpdate(
+      TextEditingValue oldValue, TextEditingValue newValue) {
+    if (_englishRegExp.hasMatch(newValue.text)) {
+      return newValue;
+    } else {
+      return oldValue;
+    }
+  }
+}
diff --git a/lib/ui/ui_helpers.dart b/lib/ui/ui_helpers.dart
index da2c3924..b3f5a916 100644
--- a/lib/ui/ui_helpers.dart
+++ b/lib/ui/ui_helpers.dart
@@ -70,8 +70,14 @@ Widget humanizePubKeyAsWidget(String pubKey) => Text(
       ),
     );
 
-Color tileColor(int index, [bool inverse = false]) =>
-    (inverse ? index.isOdd : index.isEven) ? Colors.grey[200]! : Colors.white;
+Color tileColor(int index, BuildContext context, [bool inverse = false]) {
+  final ColorScheme colorScheme = Theme.of(context).colorScheme;
+  final Color selectedColor = colorScheme.primary.withOpacity(0.1);
+  final Color unselectedColor = colorScheme.surface;
+  return (inverse ? index.isOdd : index.isEven)
+      ? selectedColor
+      : unselectedColor;
+}
 
 String? humanizeTime(DateTime time, String locale) =>
     timeago.format(time, locale: locale, clock: DateTime.now());
@@ -85,3 +91,7 @@ bool bigScreen(BuildContext context) =>
 
 bool smallScreen(BuildContext context) =>
     MediaQuery.of(context).size.width <= smallScreenWidth;
+
+String formatAmount(double amount) => amount.toStringAsFixed(2);
+
+String formatKAmount(double amount) => formatAmount(amount / 100);
diff --git a/lib/ui/widgets/fifth_screen/import_dialog.dart b/lib/ui/widgets/fifth_screen/import_dialog.dart
index b113eeef..9d4bdc89 100644
--- a/lib/ui/widgets/fifth_screen/import_dialog.dart
+++ b/lib/ui/widgets/fifth_screen/import_dialog.dart
@@ -75,7 +75,7 @@ class _ImportDialogState extends State<ImportDialog> {
                             context.replaceSnackbar(
                               content: Text(
                                 tr('wallet_imported'),
-                                style: const TextStyle(color: Colors.blue),
+                                style: const TextStyle(color: Colors.white),
                               ),
                             );
                           }
diff --git a/lib/ui/widgets/first_screen/credit_card.dart b/lib/ui/widgets/first_screen/credit_card.dart
index 07b82d03..8e3be06b 100644
--- a/lib/ui/widgets/first_screen/credit_card.dart
+++ b/lib/ui/widgets/first_screen/credit_card.dart
@@ -158,17 +158,25 @@ class CreditCard extends StatelessWidget {
                 child: Padding(
                     padding: const EdgeInsets.all(16.0),
                     child: GestureDetector(
-                      onTap: () => copyPublicKeyToClipboard(context),
-                      child: Column(children: <Widget>[
-                        Text(tr('show_qr_to_client')),
-                        QrImage(
-                          data: publicKey,
-                          size: MediaQuery.of(context).size.width * 0.8,
-                          gapless: false,
-                          foregroundColor: Colors.brown,
-                        ),
-                      ]),
-                    ))));
+                        onTap: () => copyPublicKeyToClipboard(context),
+                        child: Container(
+                          color: Theme.of(context).brightness == Brightness.dark
+                              ? Colors.grey[900]
+                              : Colors.grey[100],
+                          padding: const EdgeInsets.all(16.0),
+                          child: Column(children: <Widget>[
+                            Text(tr('show_qr_to_client')),
+                            QrImage(
+                              data: publicKey,
+                              size: MediaQuery.of(context).size.width * 0.8,
+                              gapless: false,
+                              foregroundColor: Theme.of(context).brightness ==
+                                      Brightness.dark
+                                  ? Colors.white
+                                  : Colors.black,
+                            ),
+                          ]),
+                        )))));
       },
     );
   }
diff --git a/lib/ui/widgets/first_screen/pay_contact_search_page.dart b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
index c55905d9..31adea51 100644
--- a/lib/ui/widgets/first_screen/pay_contact_search_page.dart
+++ b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
@@ -200,7 +200,7 @@ class _PayContactSearchPageState extends State<PayContactSearchPage> {
     return ListTile(
       title: Text(title),
       subtitle: subtitle,
-      tileColor: tileColor(index),
+      tileColor: tileColor(index, context),
       onTap: () {
         context.read<PaymentCubit>().selectUser(pubKey,
             contact.nick ?? contact.name, hasAvatar ? contact.avatar : null);
@@ -208,8 +208,8 @@ class _PayContactSearchPageState extends State<PayContactSearchPage> {
       },
       leading: avatar(
         contact.avatar,
-        bgColor: tileColor(index),
-        color: tileColor(index, true),
+        bgColor: tileColor(index, context),
+        color: tileColor(index, context, true),
       ),
       trailing: BlocBuilder<ContactsCubit, ContactsState>(
           builder: (BuildContext context, ContactsState state) {
diff --git a/lib/ui/widgets/fourth_screen/transaction_page.dart b/lib/ui/widgets/fourth_screen/transaction_page.dart
index 71375736..6a596a74 100644
--- a/lib/ui/widgets/fourth_screen/transaction_page.dart
+++ b/lib/ui/widgets/fourth_screen/transaction_page.dart
@@ -11,6 +11,7 @@ import '../../../data/models/transaction.dart';
 import '../../../data/models/transaction_cubit.dart';
 import '../../../shared_prefs.dart';
 import '../../ui_helpers.dart';
+import '../card_drawer.dart';
 import '../header.dart';
 import '../loading_box.dart';
 import '../third_screen/contacts_page.dart';
@@ -28,6 +29,9 @@ class _TransactionsAndBalanceWidgetState
     extends State<TransactionsAndBalanceWidget>
     with SingleTickerProviderStateMixin {
   final ScrollController _transScrollController = ScrollController();
+  final DraggableScrollableController _draggableScrollableController =
+      DraggableScrollableController();
+
   late NodeListCubit nodeListCubit;
   late TransactionsCubit transCubit;
   bool isLoading = false;
@@ -52,16 +56,20 @@ class _TransactionsAndBalanceWidgetState
     if (_transScrollController.position.pixels ==
             _transScrollController.position.maxScrollExtent ||
         _transScrollController.offset == 0) {
-      setState(() {
-        isLoading = true;
-      });
-      await transCubit.fetchTransactions(nodeListCubit);
-      setState(() {
-        isLoading = false;
-      });
+      await _refreshTransactions();
     }
   }
 
+  Future<void> _refreshTransactions() async {
+    setState(() {
+      isLoading = true;
+    });
+    await transCubit.fetchTransactions(nodeListCubit);
+    setState(() {
+      isLoading = false;
+    });
+  }
+
   @override
   Widget build(BuildContext context) {
     final String myPubKey = !txDebugging
@@ -73,148 +81,181 @@ class _TransactionsAndBalanceWidgetState
       // TODO(vjrj): Only fetch last transactions and used persisted ones
       final ContactsCubit contactsCubit = context.read<ContactsCubit>();
       final List<Transaction> transactions = transBalanceState.transactions;
-      final int balance = transBalanceState.balance;
+      final double balance = transBalanceState.balance;
       if (!isLoading) {
-        return Stack(children: <Widget>[
-          Column(crossAxisAlignment: CrossAxisAlignment.start, children: <
-              Widget>[
-            /* Container(
+        return Scaffold(
+            appBar: AppBar(
+              title: Text(tr('transactions')),
+              actions: <Widget>[
+                IconButton(
+                  icon: const Icon(Icons.refresh),
+                  onPressed: () {
+                    _refreshTransactions();
+                  },
+                ),
+                if (!kReleaseMode)
+                  IconButton(
+                    onPressed: () {
+                      if (_draggableScrollableController.size != null) {
+                        _draggableScrollableController.animateTo(
+                          100,
+                          duration: const Duration(milliseconds: 500),
+                          curve: Curves.easeInOut,
+                        );
+                      }
+                    },
+                    icon: const Icon(Icons.savings),
+                  ),
+              ],
+            ),
+            drawer: const CardDrawer(),
+            body: Stack(children: <Widget>[
+              Column(crossAxisAlignment: CrossAxisAlignment.start, children: <
+                  Widget>[
+                /* Container(
                 color: Theme.of(context).colorScheme.surfaceVariant,
                 height: 90,
                 width: double.infinity,
                 child: const Padding(
                     padding: EdgeInsets.symmetric(horizontal: 16),
                     child: Header(text: 'transactions'))), */
-            Expanded(
-              child: Padding(
-                  padding: const EdgeInsets.fromLTRB(0, 0, 0, 50),
-                  child: transactions.isEmpty
-                      ? Column(children: const <Widget>[
-                          NoElements(text: 'no_transactions')
-                        ])
-                      : ListView.builder(
-                          physics: const AlwaysScrollableScrollPhysics(),
-                          shrinkWrap: true,
-                          controller: _transScrollController,
-                          itemCount: transactions.length,
-                          // Size of elements
-                          // itemExtent: 100,
-                          itemBuilder: (BuildContext context, int index) {
-                            return Slidable(
-                                // Specify a key if the Slidable is dismissible.
-                                key: const ValueKey<int>(0),
-                                // The end action pane is the one at the right or the bottom side.
-                                endActionPane: ActionPane(
-                                  motion: const ScrollMotion(),
-                                  children: <SlidableAction>[
-                                    SlidableAction(
-                                      onPressed: (BuildContext c) {
-                                        _addContact(transactions, index,
-                                            myPubKey, contactsCubit);
-                                        // FIXME i18n
-                                        ScaffoldMessenger.of(context)
-                                            .showSnackBar(
-                                          SnackBar(
-                                            content: Text(tr('contact_added')),
-                                          ),
-                                        );
-                                      },
-                                      backgroundColor:
-                                          Theme.of(context).primaryColor,
-                                      foregroundColor: Colors.white,
-                                      icon: Icons.contacts,
-                                      label: tr('add_contact'),
+                Expanded(
+                  child: Padding(
+                      padding: const EdgeInsets.fromLTRB(0, 0, 0, 50),
+                      child: transactions.isEmpty
+                          ? Column(children: const <Widget>[
+                              NoElements(text: 'no_transactions')
+                            ])
+                          : ListView.builder(
+                              physics: const AlwaysScrollableScrollPhysics(),
+                              shrinkWrap: true,
+                              controller: _transScrollController,
+                              itemCount: transactions.length,
+                              // Size of elements
+                              // itemExtent: 100,
+                              itemBuilder: (BuildContext context, int index) {
+                                return Slidable(
+                                    // Specify a key if the Slidable is dismissible.
+                                    key: const ValueKey<int>(0),
+                                    // The end action pane is the one at the right or the bottom side.
+                                    endActionPane: ActionPane(
+                                      motion: const ScrollMotion(),
+                                      children: <SlidableAction>[
+                                        SlidableAction(
+                                          onPressed: (BuildContext c) {
+                                            _addContact(transactions, index,
+                                                myPubKey, contactsCubit);
+                                            // FIXME i18n
+                                            ScaffoldMessenger.of(context)
+                                                .showSnackBar(
+                                              SnackBar(
+                                                content:
+                                                    Text(tr('contact_added')),
+                                              ),
+                                            );
+                                          },
+                                          backgroundColor:
+                                              Theme.of(context).primaryColor,
+                                          foregroundColor: Colors.white,
+                                          icon: Icons.contacts,
+                                          label: tr('add_contact'),
+                                        ),
+                                      ],
                                     ),
-                                  ],
-                                ),
-                                child: ListTile(
-                                  title: Text(tr('transaction_from_to',
-                                      namedArgs: <String, String>{
-                                        'from': humanizeFromToPubKey(
-                                            myPubKey, transactions[index].from),
-                                        'to': humanizeFromToPubKey(
-                                            myPubKey, transactions[index].to)
-                                      })),
-                                  subtitle: Column(
-                                      crossAxisAlignment:
-                                          CrossAxisAlignment.start,
-                                      children: <Widget>[
-                                        if (transactions[index]
-                                            .comment
-                                            .isNotEmpty)
-                                          Text(
-                                            transactions[index].comment,
-                                            style: const TextStyle(
-                                              fontStyle: FontStyle.italic,
-                                            ),
-                                          ),
-                                        Text(humanizeTime(
-                                            transactions[index].time,
-                                            context.locale.toString())!)
-                                      ]),
-                                  tileColor: tileColor(index),
-                                  trailing: Text(
-                                      '${transactions[index].amount < 0 ? "" : "+"}${(transactions[index].amount / 100).toStringAsFixed(2)} Äž1',
-                                      style: TextStyle(
-                                          color: transactions[index].amount < 0
-                                              ? Colors.red
-                                              : Colors.blue)),
-                                ));
-                          },
-                        )),
-            )
-          ]),
-          Padding(
-              padding: const EdgeInsets.symmetric(horizontal: 10),
-              child: DraggableScrollableSheet(
-                  initialChildSize: 0.12,
-                  minChildSize: 0.12,
-                  maxChildSize: 0.9,
-                  builder: (BuildContext context,
-                          ScrollController scrollController) =>
-                      Container(
-                        decoration: BoxDecoration(
-                          color: Theme.of(context).colorScheme.inversePrimary,
-                          border: Border.all(
+                                    child: ListTile(
+                                      title: Text(tr('transaction_from_to',
+                                          namedArgs: <String, String>{
+                                            'from': humanizeFromToPubKey(
+                                                myPubKey,
+                                                transactions[index].from),
+                                            'to': humanizeFromToPubKey(myPubKey,
+                                                transactions[index].to)
+                                          })),
+                                      subtitle: Column(
+                                          crossAxisAlignment:
+                                              CrossAxisAlignment.start,
+                                          children: <Widget>[
+                                            if (transactions[index]
+                                                .comment
+                                                .isNotEmpty)
+                                              Text(
+                                                transactions[index].comment,
+                                                style: const TextStyle(
+                                                  fontStyle: FontStyle.italic,
+                                                ),
+                                              ),
+                                            Text(humanizeTime(
+                                                transactions[index].time,
+                                                context.locale.toString())!)
+                                          ]),
+                                      tileColor: tileColor(index, context),
+                                      trailing: Text(
+                                          '${transactions[index].amount < 0 ? "" : "+"}${(transactions[index].amount / 100).toStringAsFixed(2)} Äž1',
+                                          style: TextStyle(
+                                              color:
+                                                  transactions[index].amount < 0
+                                                      ? Colors.red
+                                                      : Colors.blue)),
+                                    ));
+                              },
+                            )),
+                )
+              ]),
+              Padding(
+                  padding: const EdgeInsets.symmetric(horizontal: 10),
+                  child: DraggableScrollableSheet(
+                      controller: _draggableScrollableController,
+                      initialChildSize: 0.12,
+                      minChildSize: 0.12,
+                      maxChildSize: 0.9,
+                      builder: (BuildContext context,
+                              ScrollController scrollController) =>
+                          Container(
+                            decoration: BoxDecoration(
                               color:
                                   Theme.of(context).colorScheme.inversePrimary,
-                              width: 3),
-                          borderRadius: const BorderRadius.only(
-                            topLeft: Radius.circular(8),
-                            topRight: Radius.circular(8),
-                          ),
-                        ),
-                        child: Scrollbar(
-                            child: ListView(
-                          controller: scrollController,
-                          children: <Widget>[
-                            const Padding(
-                                padding: EdgeInsets.symmetric(horizontal: 16),
-                                child: Header(
-                                  text: 'balance',
-                                  // topPadding: 0,
-                                )),
-                            Padding(
-                              padding:
-                                  const EdgeInsets.symmetric(vertical: 10.0),
-                              child: Center(
-                                  child: Text(
-                                '${(balance / 100).toStringAsFixed(2)} Äž1',
-                                style: TextStyle(
-                                    fontSize: 36.0,
-                                    color: balance == 0
-                                        ? Colors.lightBlue
-                                        : Colors.lightBlue,
-                                    fontWeight: FontWeight.bold),
-                              )),
+                              border: Border.all(
+                                  color: Theme.of(context)
+                                      .colorScheme
+                                      .inversePrimary,
+                                  width: 3),
+                              borderRadius: const BorderRadius.only(
+                                topLeft: Radius.circular(8),
+                                topRight: Radius.circular(8),
+                              ),
                             ),
-                            if (!kReleaseMode) TransactionChart()
-                            /*BalanceChart(
+                            child: Scrollbar(
+                                child: ListView(
+                              controller: scrollController,
+                              children: <Widget>[
+                                const Padding(
+                                    padding:
+                                        EdgeInsets.symmetric(horizontal: 16),
+                                    child: Header(
+                                      text: 'balance',
+                                      // topPadding: 0,
+                                    )),
+                                Padding(
+                                  padding: const EdgeInsets.symmetric(
+                                      vertical: 10.0),
+                                  child: Center(
+                                      child: Text(
+                                    '${formatKAmount(balance)} Äž1',
+                                    style: TextStyle(
+                                        fontSize: 36.0,
+                                        color: balance == 0
+                                            ? Colors.lightBlue
+                                            : Colors.lightBlue,
+                                        fontWeight: FontWeight.bold),
+                                  )),
+                                ),
+                                if (!kReleaseMode) TransactionChart()
+                                /*BalanceChart(
                                     transactions: .transactions),*/
-                          ],
-                        )),
-                      )))
-        ]);
+                              ],
+                            )),
+                          )))
+            ]));
       } else {
         return const LoadingScreen();
       }
diff --git a/lib/ui/widgets/third_screen/contacts_page.dart b/lib/ui/widgets/third_screen/contacts_page.dart
index b9589f6c..19c0bdd8 100644
--- a/lib/ui/widgets/third_screen/contacts_page.dart
+++ b/lib/ui/widgets/third_screen/contacts_page.dart
@@ -138,10 +138,10 @@ class _ContactsPageState extends State<ContactsPage> {
                             : null,
                         leading: avatar(
                           contact.avatar,
-                          bgColor: tileColor(index),
-                          color: tileColor(index, true),
+                          bgColor: tileColor(index, context),
+                          color: tileColor(index, context, true),
                         ),
-                        tileColor: tileColor(index),
+                        tileColor: tileColor(index, context),
                       ),
                     );
                   },
diff --git a/pubspec.lock b/pubspec.lock
index e6a83fdc..34bcdc43 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -49,6 +49,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "2.10.0"
+  backdrop:
+    dependency: "direct main"
+    description:
+      name: backdrop
+      sha256: fdef5a7c1b601a20484df607d852757ebc57f4959832ba77cde5e4d736c91900
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.8.1"
   bip32_ed25519:
     dependency: transitive
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 33f80a24..b9d39b47 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -62,6 +62,7 @@ dependencies:
   timeago: ^3.3.0
   once: ^1.5.1
   pattern_lock: ^2.0.0
+  backdrop: ^0.8.1
 
 dev_dependencies:
   flutter_test:
diff --git a/web/favicon.ico b/web/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..02c4440d0e540f7d28fa188e6a47d7c573c5c5ea
GIT binary patch
literal 149845
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

literal 0
HcmV?d00001

diff --git a/web/favicon.png b/web/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc6aa05607752193de7656dc5420aa5d5a12069a
GIT binary patch
literal 12142
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
Q!cPKdYZ$24sXD&+e{t-y6#xJL

literal 0
HcmV?d00001

diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png
new file mode 100644
index 0000000000000000000000000000000000000000..e58fd125e0483446a22bd4fae74821fe5f38f732
GIT binary patch
literal 7911
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

literal 0
HcmV?d00001

diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0f49fdf9aa9f6154a36525aca939ce1d54d103d
GIT binary patch
literal 33909
zcmX6^2{=^m+deb)eJnBdeapTN5hi;fRETVoEoCojW@Ip!NXn8mN(v#BCCgxpos=I6
znIV*Y-_3l}|GUmL*O__Gne#s9Iq!2n+kH~5+L*I33oru!z-DP-Vh;dd>Q^ugBRzE&
zx>|mXx})_qwl)TUx(t?6Pde&vF@%M^H2_4*000UN0LRoJ)E@x2uL=Om9sr=13jln<
z1<iK))C2Thm(5K8%D=6o^-UIagelm<ISc@JU;O)kI<j<Rse=sRme!^WOEheNj(o|o
z;0X1KfTfA?waA~VXHmIQQPH!>4}bNRtuHSxhaKm}_$>Xr<q=QEluEpmD`f%YF$RCB
zXURnk4t(^^*A(5!ylog~a$L8o|IFH1O4_QlyXTb!^W@qOI;O85BL(#FER)^q!%aQY
z8V@689B=rTwUFl@_hJU$um9Ty-yO$2K&Y!LXsFjWOZ?i{FklnM$CElI&PS-<xjj~)
zvB*~5O3){$X{5ghqs<*^ki=D8_>PlO^&h5HWyc~~&(umlQb#uiHYPwc>SA=wNB3?v
zx$9?x_=^mEKE`X;vVBA;c?eH#Hr~>iloO%RPCcPtfv)7$|Fm&-S*v}BNV^-zDq2bE
zt|4VmaJ7`{XsGqwNl_!lkO1<}n1#3iR+r+WBh%c;&O7ox=^!TF29c$YpcHS-U_!j5
zj*mrd7mQg*EmxYAe5FqJiZL{1XZo-UI<7&swgP#eNh;cMbVho$v%-=3T{}IG*}saL
z7%9wZGl6O?p{Lfz4a<lXcB(MzTR+!m^?X_nz&)Udw5ijrNLKx!l6=w(>m4Sk8>z{~
zl-*hi7#$gG0Wj9tMlSr<_C>2xEaS`GjlbM(@5g$!ub)b({#8v>W4l7*z?)(Fd+IkX
zAb-&SF^l*6ee(G9Aq(hgB<RjF5mZO@d3vk)m81Fb9ro~-vw~Nl;R8YPL1|~d7KeFB
z2AB!xRO@`ybo1x~Kf#Y`Kh11o!{zYc&F!=<at`kt>1sRW5~FyMQK3_v=uiU!7u#lN
z-ni$xy>x|>&}!L~s^WUk`Y@sS(oji~UDsRBhh}Z6r~g$)V&hMkJU3U4)~Y`n*L~d)
zfQGm3id+j~IQW9*oRv9%JW1x*zPDEXFk{o0?6gIO3!VQBf_Tv$e#>8o>wcV}n-Ybe
zHh7txXdEcR|9x>VKa2~O7$N|pD+q^y2A4v}{$BTI2OsO=J1Wfzg!d~O8lvy&94aFh
z8=Cem=rcs9dv&+_69j6RtAGL60PcfJT>JD5)WV>1nD0PI7WA#NEhJLpVy}8yuyHnV
zO@_>3+u=?QIIKr9o@hKD*+Twz?)s|a?$UWY<0ebc-i-CM#o$}n;YM8tp1Nc8KqM{f
z&al2osAv-(&U09zDTw(^ie2*b;Zpe>*~+^OEjy^KFR`h6h8_#PLqd8tqQPF>8+FSO
zD^cKM1F%S6q6wqtKvfPFN}`(#_45{2)ib(tE~8_lWfy{Ugs+M-gBaDoPTeI7gm%wi
zDblbZTR}&Z)T|*$s5|c^c7d<Kd)p03Airl_tN2!b^q}X>x!I;7%0-_#bq*r0OJ-!F
z)n8$!cX!ipA39!`gS}W1S@9qv5kOo-g74R#FD}g_VM*6BEggaZ*M9oV#y!#QD51zf
zVoR4Kei?~X4L7a&6<8;%{a{dMlN=1M;S#g8m<DbPI?)CK6Y&9&)6F4Wo}-VYZJol(
zp2Pf~J~BP*5dP5eO-v(LV_GrpYLvS)e`=;Nb-tuzPbnCi2N;p9|5hbpO;nZ^=TGEJ
zoBB@QgQ-PDdH#CHa2W};Mv{kuPF6PK8Ri+dMckhGcdmqD4`=w?P~HjNVK*$CCG|n3
zxgG(*VUrKuxU@|0os)q`VrWs2E=lqJwQ|OU9l1@~;B=>jVkuf<t$bu^@Wz2)V|-&{
zW56;RkPBQwnXBH6EY4IphE#nMm2kp40lbVH@MW8ZL-Tjhanxm3)=9c0$+!g^xy+tF
z(5QWX>3fL}X<4T%(5~H(MyOu(cmx=U!k{!vs*o>Qz89^zM$7J}cWmSD9Ez1G>P&yA
z5Nk9>Grb2n&NMQ+(kavEC_ZJILPO<_#TzgAq<`<YC)_}{i7;yAk~xe>I;(^vgQ5U*
zB+$}yZJn|nc6f&&ZX;}yrA9p)U1|7XzmPkMY1WyjMpO&4;nq6)j=w|kxlI<OHOtFz
zUWtK-J!PDRGn!ma3PCgeSCCZ1;1R#cTy@povmhuR>Js=7ikRx@h4F5bsm4c6Qo&;j
zh`jT8x_uM0pJ={C*<Tq;*UTGsJh7$8;AV>RRkPtTL((J82azgw!k(%2x~TAZK0;S$
z!pxAE5;<d6dR_xA<}MdVgAQZ-RZUGUFF8M9alFWumGp3chb7qG?5WR~LI3x1MXRGC
zjd|(L1qyBOI99jxvO77n>Bzi5{o2)Gfr<xO)5Be~6T-^#uJp<aQ|Ag4ZYw&4ORZj&
z+(WZUcJ*x|bV(t966xDEJ8RoN!z}y~#ql(_4)r(er0ob;d>H+_o!1^kGq|W%(=b&-
zJggnLNseVD%6!tc{*mLEYH?oQ`1gZpoKp!wBJ)aP`odaT;iuU4=Laf(n!jD>rh$Wv
zFbtQ5%4{f%!Q;dz9k<S?rx-p_No*$%Nf^SAA)^*m_jfBII4Sf-hfJna<CR@#qgkF&
zB%9OV1!!Pt`K39~ORZ$cf$^sn1-bxOk(q3}Jhm+Apv@O03dG^cUXE~f!c4eDRlny&
zLinpB<lywCrp5zUZ{oWyQ*1^&M|?(~0#k5yie>Uy%}8%mzUbTW7!|;c9Pf#|SLgnO
z!3bj@0lLi1<+Xs+-1v3i+Sbab?~}Qz^FTC6(kw5|_o41sU;n#D{k90VOK9fuO}AX4
zVkXR~T4oX$Hz@Y>xTU>@Ed73z6**sni1V3rcU?7?0??BeQVAF9(fJfQVm%swUDn*o
z{6eYyzOm-d)s;`se`hqzZPu3S(})R4kO+ai2XZVM*NZ#y+bwir1a9?p8;JLmK_dDb
z70P0C^uAVg+!hXaeFZSb=#gy!!-61N&inJ-9wLPir6rEmSM#nv;kr&MDDoOTfyxNJ
zNP7{uC^i37_cGK)D%|3akvBGkLSI4ivXTF<nfUtCS6*$%L#9>t)&yG}OGWSg!Z6&9
zh%#jfBOe#mn$x$NcHZp<H|wdtX37!7^km6WBH}mI!qJt#9hmEi8pO^sdtEfnv1eth
zljH*6)6#BDui{SBPfrg#kxNsW!Re5Nhs9cveP#8toT>I|{K&c(t`g4HWD87aCjviv
zjZ?x2*Jy^OQwEDJoLn~9Gm4pXhhw#yrI_ki-kDJ@*Yt$m`@-U2y=?ToP%>|ab#p3S
zRJsKSGn$zc2VKF;*kRS!584i<Pn9&X851a+oC1*yk;QVduBE&5_?6Rgeg>fB^sOh-
zR88@pPvg5bu&dl6(lCGDLW6*D+spuuaBq<{VCM3ACzd{GF>j#Y=evgeQg+tgq*`d|
zO}I$TaDZnmDJNwUCs3PM|9I5+B`BVXcLxKo(J6`pPBvbasR1c`oR|PP7-Bz1i-yRZ
zXS~7Gg)Ah0#Yq$O2+ZCeN?^bLY)j#l4`YIIP7JrsHYw!mk;|H&0u&0umUKYvY=^Hd
zEDgbIZlAGiiM>r%rtjJL?@WLMYP_P!8_lqE3(o2qvb`K%p&cyi!x1iU+x_s|sr#wS
zVPX3@a#_FNnXYpxO$ymLagwg4<$6=r)p`M~4fQp7+qqN5&9e0tquc(rxo>~D>w7#1
zo$EQ*YO2Y8Q^JZ-WzJP9NMltktwiTNEJ*ny-Cc(~n~E(wgJ>dkxzaiBdF9*7A_O+>
z-@9;GldK!4Mr+o2lQoOpPS0s1$QI%to0GEsXo5*?lXLXJAu~zsYvkOeB&ue<yhMKb
zPfUPZApVpx4D<}<5*VI-LPuVmzUecLdDS5!Zea@{7|=ubb%HO_r+Xfa!OJrFKUEQ$
zb!Tp-B9FAb(SEqehKyh`)B{m=A07%KOSU<s?jLATSJ!G%9O$bQ;pC#_?K4Ao)yHe=
zvPrh5)%%N(-v`V1y*R9etFWvOL`W@?cFBII$$p>_q^Mh^clTB8^YV`)!b~GLTYZHx
z<dY`=WNzJmah>ue-j@laI(qU}`H7e2TTZZ8haYheg8XvX#E&Sz$rU+Eq{#^Fq?1rA
z`HBOXP?5`J^SR@|S-SDuX7%^YhdKN`uyqm{`Ror3gqwW(w7a%$iu@{@BA?+Y1hU~|
zLam_dC{N@Ng{p|ol1!skpDG%E<~S0YeL__ck<W1}Pwh}gv<rF0{aoi;RILhCEH6In
zeank6Of|k&UJ(?B)e^G4DjZb~9Hu=)jRqA5MDhy+`*~=F_%LnY7FgeV4?i+JBECq3
zPA>a=w6#w5B_j9HSaRGyNpC&j@2e?(N#fKf95HVY0r^b(E&r6=R~i>Y+=DV@j)cBo
zWK(>aOs`*T;^+OwIFWu|_n-ZOHyV~dv6fH6mg|-cnXe$Qmww-}q{Tc;^?dl8#?-H5
zq1MOSk0_^_q7iRrTapc3VV`+F-@fUC)wH4aVLKgU=^{tZ-JrU<5ElC5sxh^41FLs7
zTzq{N6<l*3R|kbr7SOvetS;7tF+t5^oTNGYW2~v5Q%i?;+NpbT7yaH>;8KhGKSe~0
z8PLBkkeDu8s1^Nq%*XJwQxc-9JnBH?EO>)a#hDTf3L4Zd0)bM)<xK?02H!u76}~?Q
zk5r%ase=IO<T;!t3UTA!d7i!+*%X3f8ZJ+t&xiF*HvaaYX~O-mn?`(HDlMZrkrhIh
zPUmXdU;SGYysV1=q|a^#r?!1P6Wb1}z4nta3h5_Sw~5h8d7q1*-#KcDuY^w2{esP1
z7r0xWq#<9ef9GFTaN!P4it~i3vAki?5DUg+ql{+r`AT#z3(Ra#fEr-!h!bLPQ$}Vv
z&n)fL7wE78%_t_Sin0}$qE^OY^G%jAU?xsmq8khJn))qXvhiW~R0<~%Hmn&k3>}84
z71rMSswP_<(N`3FYS=<=xNTe8J^vbZm?<i_uVbM92P}hMui!lU?ki7+il(G>CGU|1
zTalgNw)T2V%OXqtA5FilN|)x~z=RKi0fjOylmnf=;Fcr*)17_>DDywlN=G+V3_&D3
zz=eiz9w;Zf+&jb~M(xK4Cn9;4?w8~-lPm2{JQ}WM5)R@n?L<<l^F=kpc7BOHx73h%
z`wU<XsgOr_vvrnVfxwBZY6v1H9CBq&Gh|TR!aiGA&%bb$&rNoKt0kLFlQY_X(tX`S
z5+r7lcqiLlBR-Hm!?yE+;3zZ^0#YZ#S?$xs-!HgmY&>(eK$n{zuA*gQbERD$G_H?^
zMrL8tFZtY&*!@a<T%~ZWtqq2Z&WUWIyOR9{T{DA`V-;<2e4!<#_J?k1=2w2AC9%}p
zi8zJ3fO||k&Zfl~o%;v=nWO1yh{MueQ|1!{p0a)7cAK;x<djFKcewR_BX|Y2?wzs0
z8XTd1IplM&%W%d;hqnENS-sWSv6-xE<09^7zzJS0R_3Ld|6v+I4vsnhd0zRMTfHRC
z5~~68O;I%#PLPUg^H7WNV3B>D;2uf06b7TPmbv*$eB`K6D#Os?;$F=f`=E{AaVsw;
z@gt(L(!Bz%1+pBt!rP5ds;k}ET$Xy>;~oBpyWE%HpDic%(b{bG#gA?Gx*v+vSC;RM
zOw`Tpu%2?X8+R3$d3&S^ykM-mJRLKUEAzzTsFx(ic||ds%{S#YP64W;n$3?W<omNN
z6AX4-!nK-%Jq*2Q4hm!lw5lm;Y_0dsw-*i`$YQSSOE|x=k*6*A_9ueT(N)k7<bsnS
z&{H$EYk?CmBT3^*5fr|bLUQ-`WbgW4<`&;v9A+A&db}jxMI*{B9v`vQ;#Jb6{pQa%
za1n~-c|wc+YEX#L69B5#w(B!H1J{*ZY<(U#bV;k{toL1Ed6li<+(Mk)2klGp%rbJV
zpzApg!~y2{c55hQDAq+5OI9D<h+*>0#7c*aGi4Y>lkPV|^Dd>5+@g7UXA@M?HzTiB
zzKBRThFZ35Pb|A*VsP|)ibwZ*%8b9-c{Pq(mfCx~$W?;)PMzZo{(SH8n49b;+5?`p
zx!0n*VZ{RbI@9eI09HHOyzNCGHeZ9T^&VI5$6Px@zdw~D@;As?M{CftmnebPc9qcp
zeIkx`bf^*nu9I#((^8!ED9q(<%S&d}JG{8Xb*=QI2sI(m(0L`v9b<s6Vs*FSo+#p}
zh;ps;Q6kY2dT{4F#QP?%*f+o3W8>pGh^NK*W&OUV>8to`JEXLJJS7$>f?)T}{`NH^
z^GlV|&HFcIChF#NsD*;Wcb*Ddr|+VG|6EaU=-uxstT$A7F>XZ1cm<fFS|G6sQtIi>
zh^l%@OQeswr>;HOGo7hoglX+yEJLO?CJ9T1f{Sp6BAa@f1`&a`3FSSX{M=n_&4igy
z$-Rj>$Lj*=j_O<7B}rMoTR#VgXnhPrcNkh~j=}P0c?0XCSm+FFGH*LP%-GgG4^%mV
zf@NcaXK}49?u_UMZOiR8tl*~H%6(lH&rqfK*LWw5H-)-C6l$`(pZJ*VuiKsKxZ}B#
zDcki6g5+<t*nt0NJf3Ka`DZne7P&z1RsORj8_w(kaJp9kUe`2ItFX~c6V=VCJ?-!P
zWSo_f7)0{<x{RZ2Ydr5-nQoy5l^mIOcvlj2wzVQpLnas(1VfI$y*5k^!#b@wHXx23
zXd<mOG8|m~gJ1uC67f6m=RK!c>lS@h56(N#kp@Xv57Wy~8mC~VD}|;WeG<tYS|Qq8
zzB@lm_0qUQT3+&>oj<o!%D;X~eV|tn4t1Uly2o>|2Eq{kA?0eq2m6xrWF2)5mV$jh
zg;+YLD;_h2)%Z?9)zK%T?JiP)S%Tina9fA>+aq%YGOT2w-KL`+1sBed_7lUic>dyu
z*wb;%?Gg78!xesskl=(0E+?6!_}Jf@MW#(7-u<t-GCSVQ^f~;AHPI$R<v*nYjb$IW
z;L{4c-LMdAwPEfiTVH)2rdWnU<xP;<?TUm>&;gbfN3$r?fE+#lJ;r&#y0fvEUW7(O
zMLW&#7=aEE?kV$6V$<AztG(M4@a1;IQRJTdLRhM?F5)OczLQQ^!q$VWF)55I_W^>d
zERTOr@g<3=`li_f65BWYj?ASS`?Sd1tj;P4^Sj)|Cn5SL^tWXGa49^V3$p|>);Y3X
zV|LPgSf96~TPUSpG;cJ6ZH|{U8@F(JD;?h8@S&Y7K+aP;t=9Ir;V<+`1bjgPv>7bV
zN~ZN3TVkYff4ouL*YMpW7I_|Ned@yYe$X7p8uhnLfr};W!u@2mWG00y?w*~ESVF<&
zPtPh}x#}SLJcb@CCBfte&x@mes=yEQofP;0Z~Ir&5R;?mmuq}%l2InwHS$Wv?cury
z{nGaDb*rwxPo}2ofT*Zq9qAaT1)%TBC6Rp}t9qD0V++c7D!XepzG0hLdCM$zz2*7`
z8V00EdrnyqvV8{!=HzX>ZMwrTFOjKJ+s}w)UL*S#@P;D=XO34|(`?0Q$Jm`P$%&p(
zpT3vj_qJ$5*bL@5c_X>~GQY`yY7l(Co-hz?EPz!`_iD|}kXpqcd@<B=NTU3?&lTU`
zPHIXuFH--ZSR<0vw+O1?QuWMJH6sW;QP5!3R%hSM*TfQr^N-NRT&FCY)`dh6<W6|1
z8tWftx<wk)Jnls{bt6T4EpMr<d_LE(ci14j`eYJ19CQ=Yl^nlt-EO`K0)xBiq(fM+
z_ptYZg3tLm=R9MVcNvvg>(o*3BAz6j-7{lgLK&3WIhV=O&$eNZ`~Is0fuRQiuVY05
z&+75ahx#Ot+zm=rWR2Fw5Vm$}R(kQZxfp1fR|%W8NsxNEY$)?IMj7Es!&^~joG;gz
zA6wg=l7p<JRx+a7xY;RK@^~-e`Gy2K5_gTO@CB^C$uvW`e5*@7>=%tPY1$*-`eJ8P
zQbO=qtk^#t&D=SHZvO4D%+`7PMPuG`wV0+zoR#d{`A2k!!Sf349+uKk26fXkre^&G
z5R;sE4tb5ZLM*$Z|JKybXR$7E$rqyMW*}+hmy;J}uVCytP~{y}=7@UwQN=Z$kXvWG
zUte4H&);=W;7&C)<N^*l6l!u#W&-m_L1t8EtLC8><g>*@{ElXnyK!o+=<3)Z?xz)S
z7Qxlep7@=bnimGiZqM4nKXPgh*A7Pb&4>3&aH@!=36W5?8)r+xjb1!pv75p@zVGvg
z#l@41*>Y=D$@4r99pKM`vc8sD!n3Ypm6kvHo7rT9(pZIW{gezvXqh#BSen)~zP(e-
zP()u8vZU|%r#x)Fed>KI!#Ns7TQS8>pa;-ckv6me%Z6O+Y)Y+1*C&p~C;#Nuf34{6
zD(#h#$Y;c;Cd6#(r8Xh89gYpbHpCyq58SS*vljf#Rv`hZjTplWo@F%+Q24#NDYQ|R
zqOZTSYm!TEnqH-m8H)D0Lr=|#LL>$b*h()?N{~{64DlIxoOKj0)@?O7Eu*-I_L<{I
z={LWm&DwNsxA81o<gfO!+{G=`8h*(PTAcFXWy<Gi_bI}~FahMT-09S1sT5DGGM~{;
z%RHPtaRP@@n_QV|hL<#J<en04pEC4TGNy7j1+NH;+sw_ITzZ0q0M=MRXuuf!zoo#|
z)@t_6wizBjXL&$7{ykYb5vpF~DBxV9v8-4}yaQG$P@4N0%I2%p=Vz@*%HP@SuUv2@
zA6<goZ~}Yqou<rQTX&BXb`R*%c@Hl$dyJtQ;jTRGVVbA#41dQ(WfXUBI1{`Ypsyiv
z+fsUX%Zm&xX<Hz|IrZ#FqhBcDP~fxBjWEvI#G6l;)%0MN(hYK3jUqvdq#w=&4Ji+P
z54ePVl+TYAz9|K)XXufb<6Z<G8RpLx^}y0K5To5z1j;Yf{zYTk#Rgwh8*U~;2NT=P
zQj-m1``^HB41k7|StM+V$ly^Q%J83FrI7-wxR!Rh1|<b_rGUVWME9EMzS@8hQU+P?
z^Qib=xEIsVix5RM5t^ci$PTP8(|^wRBH#!4<dqzE0kEjHxO0-yqfaM$o=(p{C!3%A
z+HoKl$9FJXt&>Yro1zcES&Iu*YPBSIRP$!XF<}n|swXmT|0t}su^O-FNVI|x7cOzJ
zKLHxgwY#oApadPJM0l>y={H?z{ox@p&nZFr&5hf^Gw)U9yp}^@DMgTbMjg=xxDl?(
z4VkZa|7MN6u|{?S@Ae5E5!AVN)b_>E031UaHLUu=C@s<*`Hb<LfT{ZD9Z>C<g&*fc
z)+N6GpX<$ZHN|1j9k=qPc3mfzc9`@2*$8**>Btfjsvf_5t=ywV9$98xYHM`+j8O5_
zQi5+j=2=p-$}G2+%u)7put$P1NDK|-k9HV(EWr8hVf+Voqr%1;(D4CDy>Jr1gko;r
z9SWVrDc|3e?Wx_v3Wz$`A`>hxN8%s*qHIAbo&^l)&d`!1MGDOuKOxOTjl9{Kg@-iF
zDRtLtMvMGE{P-br((kxM;4sfxSZlWv`MqG+nilcy6cPQ5%ajr4O!xulwf3Wbac7=#
zdpTVjG1!=~#sm<g>W*tTmqG_RzxYA<hh=P%go}bvv_^?_{fdXt^z&hx^CNTaXS_on
zheNzxQ=XYd&B|gRIJH0g5?i&HZ^cX!vl7x~s=1e{^VM2ghP*vemL^vfyDvZR-c{IT
zgQ=_6)S31(537$tDon4*?&{DyWrTRW+6<NZ!6|`m^h{J$C8Wfb(!rtOFsUO0^_%DP
zp3j<1kT@tcwe`rNpV3+V*q-<e2Di}2{y+Ek@}<bN;eE(MO}Uw<`6%H{p3#&LEG$!J
zV~_aBDu)uCwY&T!Jj1a6=8L*VbuVH-H=n&uJr<-kef}oWbp9D}(e%%M4RsK)wNMR&
z%(;Pys#ouy_<BsSolc(rtY>+aL*}y9DL3Gm*MJsF2%Hvd{kiV`v4n>sALbc@NE(Vp
zp!3%?<F)xK!zcT*Cp}o(H}|aSOGF!YTnh4(4`v%vZ3|JzJ@)F^Q@NEQN18}i#TO=r
zOJ9p^;aJws^S2V*eqH5cpOpE@aOsfuyOd|^FR7KgT?)^CfQk)0>S@@|=qjB<PA1fy
z@*cHs=5HBppC3{rJ?lbzO*=BYw0mG^<+|&Anrtx&pDeBNEnw{7F^kJWE4>(7<#EK|
zTdTk5l7n;|*O9uSr@NPy#KV5#jY<+@1MI7$sOH-<)YqJ(_B_Lnf=*P;m1=+gC9JG|
zCP4LpM=L0q{OCX7;1kNrH>3@Uz}{X66~!seori{&k>GRyQLa`iX)JBy{)~~gw2JLE
z+P8$MW#ASwYU-=BK0poK@reliSv2G%0nI3W@sjI>a`~<%EuugzHLUBH3!<1U*d%?D
z*?b-ai+ldl(fxJP#o>=G>-!w@l((+(HZK1iD$HH5l8R!jfqwli-5)(DVbhMS3;948
z_hPPT0sUTi<kGa)^5M>5sP}F?|4fVYrWTxba4DZGgNB;YzoR*yVPl`oDQf~N$tpgP
z|2nK!g(RI=sI(*re_Tdgk_T*VDIF9aDW4|H((Li(ez)MZi3~r8$&Ovv7>(YyAfJ5e
zN7DY~U+Kk(%5rHsq?v1@?$fjvg(ln@X0Nybiaq+YoIm;rbH)cIvU;=HG1gJ!&Zia)
zZRh|!meppVr0d#h%|fa{xR*QtOHcn<_bh9E)@BcxWi=<R$TFjuJaUzAI`VYluxxLp
z*S>E%k-Q8@27#>p{`@j{HpFi6mk&@d>5hkZA-ObYB*rdSKHGngvVs;KqslG`ke3-2
z$R}Boh>dxKlG8=2(7W-+jueA({hucnO~;Oq%=4_O0b4y{^M?ISvxZmaY&41mfx5Zb
zaM?0BHqFm3_@{IPCja4Ob{YC43)776ChCo+aR+u8If#kl|JXHM%{>rNI8MC+0gFiv
zZ&jZj@qe}C{wAxE*?PdZ|9WDevXjqUU_Yl>hy5{dSeEhpgwL(ZW&W!GL)fyvQqVTH
z!`VeT{lc_(-IBNH_J?Ljn8%~u**}msWbMq3*<UtJd6p453jqmWob!ky-Ng2d()`si
z9t%dbV_2j-s|<>pzPQ)+#0!-B0<m!sKEU3)`oFuryHLEWf;vlf@9JqF5kg+<DQ5u1
z+Di^5$?ZEP&J$2|@=2lB0~~bgpv|($t09&${2%Cg%2)9Pdcgwli)kR6(e7or5quTN
zm1e*3CZz~8k8TX&)Fa^r*<qSsVqTEreg|*5eLy&W<(mSa2yhFZ&sr>y)ibpgn{PM#
z%fT=fEE8r+l@8facyC*AcI-#sm<8KmqT@jLqvC3xBjp?W$Y)rNcuK*2GE||7!6UPm
zuEHUe$}x~bG)ybKqbbL%;F$?N3%dSKYmb_iwj6(<S)ThCt8A3{7$+}ETwmFrE&LNo
z3-iz1<#ag1hCzFJmxee_G}2Dq*b93=zvG+}=6KeC%Dj4Q2ib@IB5`})hI^upBC=2T
zQd3ce=`>1M=>i4V8%)@p^yMaLcNC;-#D@JL;wjYtIa>AO^@!_}3PGb1w4H6N3_=1R
zRimy>rBi)RRyW$=d7&Xn2Y2|7ix8d}a2P?+YX1&?mi*#E4jZqb>zkM;?jV_nhY}Ht
zIm8|l6;w#SiG(;lPFm53Ew|^0mcZ)$h^TER(|84a?!X&HG-5%upZUz*IyoEZnx%+*
z+S9Jj3roTrv|He#ZR{UB;$py986XodYmZ5<aMB3}TnPVW5H5SBRDZKGaT%o0z%N`N
zjm_9WjBq0_pZUQ{AZ3r&4xcm~_%K}IOp5!@gJwgC*PhG%o1f|D;!Y65O(6U@>`OpR
z3zes_6rApNxT(kqhCRkoJaOA<o!?E$O3dSzSby@)5xE*5fC@D{aF=TaC)ovYZ&5Pj
z%^$B%Ba9@BFb~bWF<&)36^bO$Ms~uG=O$WuO>&buBovJjKu<n*2WB4MqgwPDbJ9b1
zB6nvu3?_Gh-Wme0tsq+W$)3(Ea9%L+BALPgMaa6bINrFV#YYOAyrE0Yq0O$*SIvk2
z@J=4Jo5L}oSZZ#p!?Fb~W_uQ*nXugGQDo7FfmyYBx4+piR`j4?mo8Jd;>}oPXzW-;
z-6omYh4Q1OOQrpK(XrvtsZz#`aJnm)_o%d^vwLIQMwkR+R}HRCmaCeqceo!R6aCa5
zusMlK4%PRXT@(r?(&B&{0~HYizcw?tLMTfqmdG$426BYh16)Za2YY|8c07mh@W(Gz
z1$kauD&z-0r*1VjM2C1A&If&6SaKTSe#E<TFK<)vzpH+h)S1wb6&xov%!J+9N{V7u
zR%iLMY7VQh-GNF7Jbl_ijw$LT$2|?6)xRut$6Bm`;`!Q4YCku5WnEvKd15>3fxIX=
zBqqD>&{@ngUs({n)t()s<snd3-mWgr4l#S|bgj*3GE*i**ty&~%~CIFr#3SiV1NU^
zTc=sDfkpE(CB}KVd)L|w=nMJ=&hVtys(o2_t25S3SZz|>+VJ9y<i~F-*op0@4GpmV
z@VF`Q?#X@y@Oy}NIkySaBX-jL24fw=Gx$Z24`Y}6Z?FlYs-z_1IhJ?l_FeGh$wc=`
zG)<h}q`MRh0xsc@Y}OR*p1eI>=s;hrdMIVL9>LmuYHB!-Hvi*4XX2(c|MPa)vkl70
z?8hAzhESWIIIiLDSjZ@+2fMEsm4d*|ljI<K*Ut?5gd(LTdz&jVN7)g@u0>?)@9ty_
z*`!4wt{^`8f$Mz=dZL&P<F*?Om$zk)<rnF~F~3^}*n`>|9vK*B$kHRXMV~RnBex=E
zw_*R48-?NIOTSSWLto`8X$Y8YoUOe!c#7aeQgm^ZR39-5=By2(!{t!!HWjx3KO#^9
zhcZmVjoqrn8aQs~2vOhE^|zn}fMNF0L^ZV_h<cltj!|>p+~d9_=MyCP@@lfp#_7*^
zz&%G!vc&{_t_bJ%!-E0Xqk+tMK$b#&kf-=1-_g9!ti|c{TKsrr+0SX;jANNhG_+%4
zIDJiec=}KQXxsE1IAbXuh-mis)N&uedKi`d)orP^g{A<alLgHC2zBVL*M%D1vTckb
zX{}BxDq)9})4zxKN~<Uo_Bct&u$8kG1yE~eLOfiZpT{s^XCcHWuFtA66=9rCrO)5c
zwWYS7zKwZU+3G#}FW3-MCaQpE%`vF?qj~r$dSO3OD7UVcA(F?55KN?BRRq*Grfk0m
zj|*B?`M64+2Ww+$JB{@x&=6zzWUjx&-&5&Q=6l%22UTj1tRL;Knf~ppaa_OaSxixk
z-E(~FZLSM{tnnn`L_<XSY2E%>#5oQSgAP~P@)K^8w%+s9Ch0JEr2t@UJIxu$xp(cS
zHD%w|!o8h!W5#1|jP>%-^rm-4Ry%0yiU9}>tALJ%EkZYM|I#R7n-=qqw{BMay1*Jo
zT6qq^aj<UCY`B#9oeiJ<bZqN}siuV#1$XE(7i`7C^ZQ8W*G(Eh1V+%N6c3%g>tZB1
zELr6=NTKFvXJK8%7Os=PXZ!S*U!AEYO|wlTWZC4$6Kds%AxB_T=1|Hksh-~T4M9dj
zGtV<+llfOuPwyoUs_sBxZUbMM3*QKB?l5Lzu450*dHIGa6;Uj;Ql8i)V`h<Pjm)z!
zi#Wa~xY??f-6e8(Q~TL`NX2V*r<ORnMmU;>kOF(TeH9IBgo>Q=JNi?1e@^eK^y=Cd
zlecxWxS8$e@kxgMNxuAJ0h!?o!}Dk$QV15WmWXYiq&sK8fA3<#bt2F3-EA7I@0%Z1
zz8<UYIdn$I*H4|FI&u=_Bi%SXg7Y9eVQ8`EDpr^TYq+8mwd^y>=4E{KH(1eD`K#N7
z#}f^8j&4d_pkiciU;K#`a7~SP^nLP+PQ`uuav>W}{YyWVD2$;EsbBCrsQ^x?)4WGD
z{Rhl^WtI@Ybc^uUluS81$f-H|7SM_?S_cI;-sR-hx4u@!D9+AspX0)AMfV|5iAX;@
zH!kFlNXwRe#aef3v+W$fzQ2EedHo7Rp)w4QZnuTJyIhH^yU?E`(rv)#c*ZlVADoJ=
zyqKNAs{QSj(5K740oQWH%fd~H9#nEk7vqI%vb<%2Fh>*}cC745WEO<slIL$aTtnN<
zb>y;X<EG4QCe5j_4`|C|gb0B$8hc@7SO_J*W4p?$5EQEPgxG3qpV1g1j7Y=GehQ4h
z7ATX}znDp#dk<MaEdyeBW5V&i0MF2p*Udi;xTif568FnAT5Td?SZ~fxs<d2JHjUdq
z`Vuo0^KZ^K$YyF;OV5e^6YIBE6Pru^UJ~CmaF!h1()iZV4Q#+7+pA$t>4%j^Yr`tS
z5FoEE6PC6(Ek<i3MS-zdQb7*1u=mOm4K5b%Oh^%&3ao11;h8c#)cO!n9D67lWca0b
z1>e6MRXRe^Fp(4M_$qLDnva*_4?#LCF>QPc3C!v)9`C;w_Gs6a!tOGorx0kcRcp#g
z5B)3t5{_xb9lv21=C)ie4w;uGwg}dn=Ri;P!^WPnURIa;oZQhH1H}Cme175H)1LM;
z<SFgrwUG4aPUlXV%__kqrRGK|o8zQ(n_*1s!@&q->og)h1#i);7W|^7&Do4iSwzA8
zFlB@4E5498;vNmDw0G!nvO7t7#aT<pG#1k}QoGZ?CB!=N=n49~yp=ffMc3+xzvEx3
z#_VrSA#PjJx6c=Q)jWLdDigaMcCb4har-x&QG;QIVblqo3`!T<qu+lv%*{U@#%|37
z)Hy~Lh}Ij)ZY)O#<=S8u7qwl2R5~~=+FzvD7RVj67dX<oMzSfESw90S#W1GGsCxP-
zeu5;^cgYRVjDU+(eY*<iH;V)v^Vj}xY>vb!kP~x6PR#|PK*R(#q?hSFG;@u@levY&
zd(oC*+ZzqfJEQ17S=sbiN+jv5s76I64R2X~u=%Xu8)tQe-&L#`Yy<g4$3%U6qHJDj
zTlyj0mU1;5Qye=9*jK<|x6Z&BYt?vnmU4JLc0ubuTVm`ZxoSO|-JqN;zL<oWk2=;B
z`%xYj!xptKgrl-!bfx}`+<1j*bzA>3`e_qT<dQuS8s&9j4C$@?V2DH9NEd6*z3u8B
z_$}{?+0t>;;d0Qkw6tRKV8W52q&z_16e^P6Zqxe9lX;0}Q<D((RdBZ~$<S+KE0q_+
z52Cue2%DzwGRqN{L02<N_|AiI#|8ik{$szg$$?Q;__;Y%&!gX?QFF&zRA9ZM7-(%j
z6^(t}^7}Bpf#nwm7?*zQb)a`wu?BjD!e3yHV!G0IZLVX^8%}iY!~}6w9zVX-(sH?-
z!Q*j%pAx4S{$=SOj;lMh{-)|DdPxhCy;DLrKptmy|Gmmqw`?R+OGV@z9Df?ElDG)#
znOW0K&a2Sv$`s@5oYlyMjs533$LU#Iw{W~W6Ym|igs3PY&BW=Z&!nGMb3BE6Avo~(
z{^#!@7WtDZZO%zFaf^wqXMkjK)a(r%-{At;!Kifo_2MsA(UDG?!HdDea|K;_J^Tab
z_nLhc#?7Cx26CMPx?xn*^Hd@y!ak1m?toBBs5h!Mo`ZLXzE9^OYqg`L41f!#k5bvK
zilwG0=5qM7_eE45ZBK4ji~(q|$(om9<ZrY*oNcOu^M<pA$DF;})ltNIzTN~ENE3e6
zfJMPMPoIrX$_SdsdFbqzufNFT1o-I9&Z7Amq6QsvC0wO4xI>=So6z4cWqA{c84D>_
zOLsXn5Yfsls2FW*vyQot*nY6~0TWz3M?47SntW$U^TfKOGW|JRC{R&?Y+dqqRF<eu
zVrwk8{ZTmBx7tqfesV*Q2a@cby^>~lwlO_>l7R)FVlRzn9P<WMKKr6}j+O&Npd<O`
z8Mm(1LJAN#R<*m!6<wJ(a`NU0RzJn2mY>P`xQnD^HGh}z)N(u&2Q;A;jCSl2f(L#<
zl#jYACYow=+Vz^DNkuPar|69(6#&JbGDRf?+Ytiu(4rc0Vq_yvQglJ^k0DTx`jQ_@
z^ZH#o%hk&3LJx+NK2#Qq6(Wltf9!}ZTKx{PPj2QxK_1lxn5RU6AQR6M0}0QYLjL${
zPPC_-ovJ)%dECC`aBz@x=^W6$z1FXzbGJ3&%O!)Ci>hg1?2-K>I~Fyud6gvVp}r}*
zp4s0_D&?owX>o(mM~@DQ@v?lx9<q3KJB9nMUTa<Fy;6D1GyuooI|+sNgA1rR(j6vI
zmAj*Ef#0K!y6@E39||5E{hO)&dD9)leJAHfnh9p`nZhWdW$CRsZuYQpstsxSK~gF*
zfC;tnltJ>)98>X`&(ZJ7H(ipO6BJ0?@y&2Zm43S=<|dPiIJ-`gd6!y(Ho=)#NBcf~
zf)rlp?X^|w%X%HCYB)KVx)mA0*|xz+=tGF(SWN8E>Xhz^uM^z3vd@(0y^#+$<T<J$
z#6og!(dejCDP-S4J=;%j`~w)B#k$_=JhjWLO)=`CCW}y;aIu;CRMbmm)Ec?Qv*%5P
zaG^&_ehAj-mg(uNE)#a))>AZ8`!%4N&3ci*k4Ok6@}G8#CM~(Vyw0MgDuTFZ5AUww
zybf|W+7jp@+ru%LFa6>U{)PYdLcSFEd>kq%@}PF57?1zP_(3$suA47Dbh&rIyF5RH
zQ1)X4@f#7h<8H=Qebz1K5oHU^Us*4|K#x6QtIFLvSY>$PmbiXh!Ye08Bn7FId_CgE
z%#To{s#Y5u^YHTh?X@smR*??wWKivH+2xwl!?<@T=5Lux7KiPKA*J)P^Co?>lMjWj
zV_HjYj`R7%Wmjytcjorw)jHq7W;$o(+V!QEJ))Z7_PsQQvEP>%>w+v9k#oA8Z7QG*
zV57aMlkk^G&&5B;KV(Ed9JHBMlYKJ76EL=Q6I`fl-AOdG2|tT@cGW2KacX9##4E$h
zSp%P79z+tqOg{4Qf5RD&ZvE$c*DU12fOphT6Ovre|GHD3w;jQI4z#2?3@cdnxf{_H
zGub?QAQ(M2y5xqtq4U;vSSs`IfL0tB=47_Wqj-(gPOoVPno{)wWm~*p*sUq+ZxW>P
z;0~|r9#D043pjk}A4Sb;@shTGV8h((Be#PuhWQv+J>3{!Q(c9i&Z>j#FDov;o6)^T
zK%g06*0;?S)>V>5P?rpAW^~}MML{-sA*lkw9)0HxK=eyshzLsf5+J~)h=z)Zw~%a&
zg0yjZYL36#BL9Frh;!Lv0aw5~ywcZwXLJ)n)ZLxeb_K+fx^T0e%HS9HzNnuhz3FN0
zk`0KOK;(euIY)LBq_oqBRSc;p9-2Np|550Msxml7@ZRTddatxrFF#L3sjPpH@R$Ub
z=rM0Or{WELrz7IpAYE^ema`MwfRh;7$nx94w>zT10>CI9n32_}Mpq!wob1*UB{*NU
z#&pxItT23CiHmxxMoJ?kam<mK!6Ad5QjM_`FBAEs2>jn0RGPW7gu?+M(7h>i3W6dp
zCPHYWqUvj#dp^x6j>;~*(p6gdK!1=8IlM}X%W+dVn5nz@Xd>Y2x_W#Vb`#L2D;T;(
zX=YE&B&1RzYm_$qJ86Php*7xPdX`w~8yxqelIju<^g#QxMjN?sM!QyC7}HmLE|sOe
z6r$`*&?a4PdBYyxRRONGF>C$LlPlVNv7r0GBfn#f-DO(w2MNjNi?^UI4+UUJ8ux6%
zqL|}0bkri|c!qEq_O|{__2U7w*9sb`oFvQ?iOOZ2(~sZL=eK>LW^Pv9NO-bF4(2eV
z^>CWQa#xnml~UFJsvB|sg!?2#z^<H1ZrusdNN-fT{~%@9FfJ3T?4LO>C#<eqHxxBq
zQJ+-jZNs1t%A5%CLe2FPTT@Z8@>8kq^vb^mJVpDhVoJO{hdlbR4kq=*VfcPz_Pee2
zVsa8(UurO#`+PZuJM0&!QFgFF@Jd9$m~+{n;GwblNu0XNOYh<GZl-BMQ;(*IINr0P
z)5n&^m$gVWa*P<M<hi|&Q~R6^8sLFkQj+^TrN-(Qqm+R#8E{`xE0BcUzXf!+Nz<-C
zsqg#b4Z^adh4#=sXXdK5IPT4i4i{X;xBGreVIXaNE1H@6^wjn6*g2eGb*IF4IK}bT
z?FWI`K3~#4IsCh>5D21#EXGF`^`5GjpE1|X$|>9sz|ZcN;SlUS!h~-doVFGiWsvaZ
zWtdscCQx-rCCl-ji8gdH3hI$m^W705TYp}Lb!x~Mj9mCN6nz}O0I)WStZttte<|u}
zJ5qDV3oB@}xJY{GQEr_O*B$ptmCV_pvglkO`}5R|K{<r(6gH|?TXE=)as_w{K;v@U
z9xGOi5csqS()^p{Tyz-w()kc2|I9i|jiM!r?CNDhM}Nq!&I!i>juwYn5!cnWKGV7A
zl^X1#54Y=q-ltfHw{o9k_A~t@fnZjQsO!XsVFUpR@YAr^u%UgyR*kO&0@Rzd28HMs
z^1v~1{b}$~i;dBisz??m3D1{}!;{EINK#hA#W5OgfaZNN?FK(($3!xL8^>Ay>zbDM
zzKR;Ogp|pc3sP7V>dE_a%6>=lk2?L`gVuMwbGP~$qW-mL@r4$07ydrL`~WsaU;5M=
zF;5la$UfadlxZAj{~B;Qf6#ws#`fjoBdUiL-)gKal<wyn=4Nw{i4nEFEL`XQRxUK{
z4lu1t5)WO{?Yz6Mte~ATb;bSpdI>OTqD%Fxw>(C%;ZL2M8kDR+8Cj~gPI&WO3{AE7
zS7=m@?^0$As7`z*C6qEyGjHkEzeIYMD;a%eXfDV5-)UNcnFYxAk^1F>stM<h^HIzt
zqwg@ko~a%Wm<W=*zBw*<z^VN3Y!1nMY2L9nsPAL2=LVO2SGBaEWnK4p&&8Yv;`S0k
z4b@f?Ok1)#r=^B8(*}_d7mXQF&d-ii*d@%A_&~C%A`Ii9h}k`I(aZ&A;1do4Uj>Kt
zpvw6*sL0Av(B(%n!8kIf^uqyE`|%frBvOdG;UKW4=+36Q#5%lm&!NY9LN_FsUltD7
z=GL)ST~MqZM%3$cG7!&!Jg#$~hMC3jGio+cV#RbK2aHOATz%aQw{7W+e$FOLzHjI{
zw;aqnujqN0u^3`sP3|`K!5+pSpE~Wi_Z-&F;P3FKUuv+if}XvObullCPlQC++HqdJ
zCRWYu-8&I@P)gMuO&&$7fS=kciVqV(h~yd(+=XIa;I?Ah6SqVNySvPf&GOd>+Es&@
zb9Z0t(Hgl^!5coEZgnmcJP4`YYe=z?3<_g#iJ1ixJE^r&*X~F(#wxtRbI_|m((J6L
zE02b7>{<{SkxGN<Zqk~6;!y=;K!t)nH#LW1UrR|>f3gtPuC4-4iuFg0fvMFp-+owh
zjRX!3#4--b5`H81Mt&S76en_jpHxA9aeYJi9Tr0Z9lq`-pAeBn!Db&VDm2W)Ph(`-
z3qSo~`g*bn7qZwM&Zf^2dEev!%aGw$7~-X`dNFD>6<*yZK>9o-X7h`kWDJ30W;|dB
z6G0-vrvR{_Qgx7&hPr#TpJt@Jadt=wn8<N$zp(MHHBBX!(~>CzOob~YR~}1pNFt0?
z3axHPr*C-$SOu@;xO?sJxhM3|=ex{U@JMk*e4g=tVMfa${=i%<q~$N+qq#%fcbp__
ziaiYvE>m&XAk*PS<2km(3AEM(7`)<%-${Uw<jvR1k7U@-@$xsz8gPNr#@jE~v~)Au
z9RIwoHzI`iehH}hZ5Ra8ywa+Urt;W7R+*aOB=O+bv`xi8wzl77IwJ}v*J7U73v$7L
zAugoUEadKFyQp{)ym8S6s=x5H!wFD+puyY2J?^f@>|)d7F(etaMDKa(OC_tqr-ii&
zoJ%D<@;*%T&Jnpc+=1PirL-&fdVKC|*b`Z@{JILef*JP`G^Fi*{AFAWJxe9w!BFoD
zn;fSz_n`($cwffs$`tdz42sGOk1C~&%Clf@c`HFIqQx0TH%!+^Pk!2~2zW0&rvI!*
zw{s>c-2!!o^+ZPk4|&UZsYU>n56b{&@K>dq&KG}*)!a;_Hrg*zyOCZKPS9g{9UK0S
z!53wC=jQz%4@o6Rb-6{IYnKIGT|45~d_B=2yqp>Dq$wFmn13*S?LdVVO;j$Ac=!!B
z)Q374jQ-y8o|D@3vtvWW<dG!NkO&+~EkU<HsZ{)jzUtJU+PvH0-vrnX<N$Kt$=Sx3
z^~;&WI!l45YDyH<n`hryY=?LiY+_%deLZF#3;GwnzDaoDZ2+o;D^uwdbIP?&84e9j
zN1~EHpNd8xG^*?9KaxZ)0hRe@LHlJ(L>HZkp!+cnDW#`k*UWE|1L!1ak9ObBi<CBA
z!fu|zLhQx5o$yU&ku;zC^1*#9V(3N&nUqwN1CC!u8`EvhXR%=ku<oBybaME2{zN}`
zdR4&u<<p}YmK+G(eGl~@(h=k4tB&jHTv%$|hQe&eR%=;M!N!ji#~WOgyt~Cujdb~N
zGIpV{K_aO5B1*~y2V7sv+J?Wx@Q<pG@;q=_vw~;bIDG=Q$qW*H4a`Gm_nWSJ{M3&M
z5ysu?H+*TUxQe<fe_wjE?*+a3NX;5b-Z@%hwd+wtPv$lAYluXtS5F_R&{WzvWKFCK
zT=tPN`Qu@m9Kj^cF6aH@A=u!g1?1YFy!+qVnMwxY_$Nv$-f-`f&x_%BB(dCd_=*{R
zA$!IjB%F5Q81Fn6u6)c$btHj**_b4v!3AKSUcb=L8hs!n^ZW~nK3tC7o6HgtBVdvp
zNE2M3)w!v%ka0`)9X)~CKD#q1>cm)AqnfbQa=yeAD_7i|S36r$7XaF%=J*^x@9WbE
zgv6)%`vw!r7XC`zJYWfteHxoDc?_x&2p4)ET~KweMMtKw(!@v{f6M-g^gYOfV~k*!
zl+aezU8>}`a;~T8-z^HAGpZ=_N7^f-pJNMFm>I~+4<Vf~^mZ3x3RO=(o$_~=?^rR0
zsAz5n<Aey7FAhY&wV%K5V$MV*St<IQ%(>A01|Ba_bu;|ma!i<iYVTO}g5l-=8Q%pn
z=ZE0}>k_o8SC4%~81$@MKc;i9C-$}B4R5_eH)@0wjWOQ8m}kpzWvBS|(YzJFL#4#O
zTic6W@W|va`T_M@b)z!^N39{HD1}nWu2!eqb7X%mS^r-um>;KVmUpOkMOsMr#B!(f
z$TkX6`-tK|>Q74WEdlKc9;!iDXVz-iH5vYUKW6TiC1#~pk@QKly&7oTj9y4bG|9e%
z>cFUvK8!~Mun14&nj@>0Efyuy^!HE=V7;!bRmSs6MyM=E_1F1>ELLrqfiJjc2gyJ=
z)j8sSi6y9@C&LQpNv(#Rg>ayHOPB)~ztGE68vYkbdVlSoA7NCBhH}~zND)9fK>@Wh
z#|?iu#0AS1>y8cK&lHASK9V0xNqbXR#L*B*<8CQIGhu`fLI6=7*W;Ki6=3_d_L(IX
z0qenJKk`m_%G&<#dQX2V#rLFa&n?be13`yrN$ZBzw>fPPnpBC<5I9z|TW(v1bI>+O
z0ce@6l?~1Ua^Y-N)FYV89yp-6{pH8n;|7klY|GBgVi`0}imFdIqqte2gm6ji$&Z<;
zUknC->0-MCg*uA=gFq|QfcmV#M4h;|(>3jhtw(SZ@Ev~3i<W<!E?RgLS;(kTE3Z^2
z`z=q4qKV4_4hL<YpSZ`dHB?PJX~~reXRV0@u89Bd6j6`=rt)cV?Pp(}`?h5~JaE>p
z?${Oh^l|uAPd|m0V8;Wd-k$hA%fq~fI!vem-;<4?^e)jD)|2IiT%cS@hG{5jm-~I+
z@jqpqfMuhBSF6uxC;fM4KFuqP#r?fbn1R8=Df#p=+o53UDezSe^^*J`9Ts52{hN!9
zC#!FE@Yx7w3d(y&w22CDaE#p>r?Uu*GoYgb7Vum4jSPz0)L+1EH?Ou)1*x-ToG;=c
zw9|#JG(_4PgRz`R6sNcgNmi79e?3DxFr$=8!rqt}E!wRh@triPm&N~Gl(DY(4_76H
zt>mFO$fIGKn!Hh!<4z=j{*7vRoTP(M_CPO<*gyGf3xX*@KqYQGkQN7f4NzZzq@F#A
zgxP^=*%fI7@1xu)3)}qr?EAyt8wI7DRhWW#VT-&XKo-@fQ5D6JL^FjxL2^1((wq{D
zEA{;af012?Oip||QXC-Yjts}Y<yVK4i`nP-zq;N$9P0OrAD$VEok8|3JK2|zJ)u;#
zd@R{_${w<t5kg2pDnwK&vXm@YX6!pD`!<$D+1J4^^Sh_-@42q$`Qy2+uB$)X?|I+v
z`#$H~=bZa>UI*sHS_dr~ff7cMGsIIr`X5|Mwj)2Np#6(HA+B(*-hcB+)yjSqodB^G
zAji1CDg%m;(_D#;;WSiB+J@D{{N61wP;En6`s7q`s2#kV+wN1F(FSULhV^Ly`tp~b
zPA?mA+6yP_B)QRQ>0OR6$b!gl+HFvyr2ZfYW2#1poauAKFTj)=vyy>9@f-pX0+6k2
zh)izKr;Oh)rvQklN9v`11kCB-j{}k{Cq<)j4$&KxcbSNe@}384vcD`K0H;xZ2Vx3N
z8(1Of^Be;NH_;CQJMy{V-kUz!XA6U+CwFn^+$m!3;XgrnkQ#t@q|kzutCo3E&qjEz
z)Db>S5k)~{`EQ;*NrOl$6r-l!xZDrn0pMnk&o^%(HKB!5$bUPR!IV#wfo*Zw?ba1=
z*5V-h<fzLmAejVqRog5KB15*dWLHyH01iyJR09(n`H+h2ra2Yle@dbK<aXI1J5Tw%
zUFU7gq#$({G7NI!3Q2%G7i@%>>zH>sl9nM{A-xK{hH;O(!Dfg`aVz`z_KIQ|;nQ6_
zw;t_0rxSDWV_gVovhSC&l9BvjZbZi}>$T=<eV*6$R!q^`aEQS(JTx`_7UU+AFA7|!
zk~XQ>c-&<X+r{Be#t);#Sdvt3@>3>+8xS-6hP<b*1WPA>5*#ZsuQ~te^!^Kt9Yz!v
zVfThQ_aT=6q?39H%X3)EM0)9`o$ZAN&Rk5$y#2hoM--$C`0P(I|8rcI)ZsX-ipty}
z?Y99(D9;3(ZMObq`<b@V(o#fgT9sO^N8Rn4lv1MPY%oljq03$>3G=$_*jE3+{0T{Z
z4IX9%?4c<e7Y0L<*NLMhng(l&f_I+I8^Su^?o^oW_Y2X1ND%@x>1#}Aq+tGJSXlGY
z;8!{u;;B*8{Rh14yCJgtQq06h{Y165B_!QJ6ep1J3jWz*7Jz_}l*g|5$sWh;m#;IT
z%*AGiKaW2F*e3WUuUj`yYz18iSc+!KMiV8%<TeMKT&E-jxnq7txk?Qg(u7zl5rIJy
z{%64NzQNFJL$`g4er?&$e^$S-8Jzj+kTdF_=qx>Z0QvDN5fpKOU#;BfeKjnSN_3z1
zRh)x0uMCPf)ms+RKXISfSUhs4I)9iVjA{L+Xi3huxQKKUt+zYsZq}VSQqG<4B|Q6}
zbZYq2>nKR_Z?=k;Q}hOMl=x3NcpvRF>$hTa<9CQM0dcDoPc{ynnh-k8+OZPUrX=yX
z(D4xq5fb@)W)+*F_ZeFo*i06M3Z(F|aHx{}D1ahRqy9I)fIx**dY3|zs$C@6y(Rtw
z;;1sZHUw`~Z^3|qLrBZq*4dpDk7lGUcC0(Yis)UY_1oM-bN@Z&LaRYdg-{7VBNs9v
z+)n&iLJ0aFu(=*llws^Eg4EMHK4p39Un2jqvN(!~LX4MdufxuPCE*igsNa#bBk)7E
zAlQyDS)`B15G~c+qdwWWGh2%*kc+)cn5Cuy3l=7l;oNab8jQ9VoZNDq2f&2X&}2WP
z)n37@MGf)Od#m+`d=98a26pVpBuU^7<8#M;G8oIYp((2A#^}q#vksdc?!4pXhmKP%
zVWl5u&#b(eyUeJQX?>=$hX)VD*O^2)VHcIT@a^JQiq>vNn3h5qHZ4?M#zl&m9@Q9;
z7a54R`rvUQrniXYc>Dj@;wu*(UZfaHde*#U)_$@Otym82+w_4*t9+}W^dnvf36*O|
zqtsz0iC*1{zxQVRc7!P7`ddS=EvpC_qH-tKAgkc;mVHsn5RQ4NI3hpWMz`c=hXftE
z#Y7Vw%CCJ7vY5#RE8K^0;5eO0I>B&0CIxSRF3`FbYgF{cpUHYR;24XkdlbZ3ml{O9
zbp2`NX(_tpP;9X6%Ssicd(v7yUFVwcha5f#j)UCI=AR$Y(AJwf<5dDuS8=PO$c*ky
z;*;*b=wAY`XMtl<dacjY|DbV869p$JM+JmQN?hRDES(&4o>~T3p#%y{L9b<=S>t3+
z{mJs}(}dSsF#D9SXi6`2pG##n!bkSPsl-G~;_X&<70a0kg%YF9zgw_^7b&$Tp2*)V
z;fre<GGUqU421R7Ns|Ad7vQ~@3-c`!MaDh<QCrhiLsO<Eb-Rv8J5Homv7Dl}xsz5s
z*~0(4g2*;v(r@PN|5MnKaIuIBlDP+DzumcHaj0TGe#cSh`Vkv7JMp0RJ{jPx*bSQ#
zHJ-jc3<@(pxV!xh`&@E-)=)h6SI&>@EwZUyCz)iODO2x0btrftx#gy6FBQ6GJJeLL
z7#vswZXX0RJ3az(mT{CfTj{C3iS_LQr=|2$3pM{UxzlXorLp(d9%*aqsoRFS!dzz>
zSD^p)ML3T0B-(qnZb_B5^%J_~)6B^r7u)7plx^vH#q%mZ5NG)e`96s`@LZIR`DJt(
zgqy^8R=i(onj_vNN&-*PRDK@XO~rnurrvN+v0O_VPc?z@Vv;#)z40BY#=tAdLVor0
z8!d7au9NuhFm^$j$yYc?ba00mKg@V>;JHp_U-Bc5vZgF}gOQ6^iV0C*GrUb!Bh7{1
z7d(<h5-X9M4JCeq?M@7+D3Ucgq|mC&#qU$v;WvlVDz1!7v2ULI^{t}!*u%}7G)-sG
zE8qE&rl|R{6hCWPt3Y0Oh$cNGJsN-Zk#o=bPc79_vtHS1#jUdSH14ohUl}E>-PX+m
z|KNNLazu^ku|qL?-x79Y$#r1E_f5Hg{I`o&E!|RIJp90F6h<@N{BwXFnJY)&Zl`Gu
z*l-kqZ`zTSN4CN$od#cCnog6M^8?5FnK738;@|Ikko{%IHIQVB=U|O0QFngxt^L|;
z5$BMTN6f+)Ho&^J^^-sAcyrY=bj;7R`*+>`ST}aCJ8~SVAOl9|MH{ur&o=;H!R5_F
zJwKy_^J$K_;$ezglS>FcCw@4oB%z8vcvp?s`pMCVhDZ0ts|C~0wQR^UK8Q3Cm@^Hp
zO$}p};>9tQ6T179o|29|R@^)1I*AtoF2?DHj`7&QeH)dwwecUEiLi$^^5qB#kZTdz
z86cfWwNp4Tt2)~~RqNnEpc$kYO^xzoEuASrV)N7Pci!*n>3r&tU08SyG7zOLpn^XU
z0roY_iSA@y(x8hDM|h}VF;2)nJ^a}6pv`8JdZN>7#r`y65)YrX86id%apIy!<X?vQ
zb2;5ZQvypGNHr;;kM-Nh<9G|WjSkhdO#M8+*CcIJn0~`mFm)0iwXg=2+jP1}yDJ+0
zc@y&aZ^;o^0q3Et+x~|uLq|9f$ORa1I2W76>3Rk>V}>$!#+uN>#-j<21B;H*c0>;;
zGD*L(uvP=h5?h|bJz07@?UwA{>`y8*)+Ed3@8_WJ(H`8y=Dg}3@Wq?R6)-FK1u4Wx
zvEN9xS)Yjcqoj6Zj_n|fu<sC83!I7Dj#;;sx?<cW9AoxBaE~-$$qExd<dS5oSXWeG
z&5&NeCK57iG!zkiSSyjcd+u#y0;KMyK4ipOs^I18gEr3{<f+UXhvv1d@QC>{B%Cmu
z#4y9@4mc!$yBB#n78*qVgvlU=)w<j#Ard|1sBQ4~VI*?0Z4~{tvTD{H-{$_AF=wgJ
zF)I=|BykUN_dPXmH<Hu?Qyyzr*5Ud(HLQ{>qO0toeoj&mRI$><vaV=fcU>p;PpkZ@
zA-GqRg;p?euvky-mHyUn_Xv}XEa;x7_=c;c8`Dt0(Lw`~bs-!o3a)p)bWWMr740=~
z9(~fLD)`vA;{92dF|C!%RGMt00+=rbp$6-q6~l0E%WwNRlC^++DM1~{X}w#Aj<32~
zX%<xD@y(5R>c+E`t>U(y*dg5q0TM}7h=3cH?OG-4HC@ILEaKKwQ}mu<Ye4mIu2;+S
zfF@<)M=U|yd?**9&xcwzL_LK9=}>)dJeC62<dk<SS*>-f!_`Wt?<GWHBV-7YzwK@)
zl&egaozC&Q;fF%D3(mYJzW#jcxbOw-4-km|Rnb=LV4>!Kkcc|<3*Q4BHK5B3YG=hE
z=B*uA!PGP6L1yQD_FeL3eWzh3CfDSE9rnpH?qlzti`xarzzIjwnMVW!N`e%*Fv#=L
zwDE6*%0k)qHe6kn(R4n{4`aB!A}@U~nZ)Ch)W*gsLFyF@l&cSsu{;@-iCq53&nES9
zHy#oo<6=i%{-WyPa8K9YLziQlKU>=HOvotJH85P^HKZnXc_smn0!Ul<<?Kz1<msnc
z$ov54HL1=~XC!B!_In!A1Q<IIuUG{mi9)Ski2_wqXakPZi$$+Z{s<)b5VEey4=z_^
zeL*^!`;!0nrI8V32rg3En_ViA=~o`&xDI{Dq~o4(dh=->X~VU4<(2{bU>B}c8o#r}
zMu~r6!hoMnro8->$#mdy4fuvb&gQ+d)N5n5!gK`sL~pjt!}3Vs<Jt46ga_(<em;l?
zmqShx|J~iSYn4pB!tQd#ger?$o$&vfjyyi2NHJ@$&ALe7jT;eAyo6(<2)SYbtag>-
zHo<;~KBnuDS;HV(rE}#X(@$BuQ-H<G4g6r{`qr}er%}&L-zdREQ+wTCj89bkfTR@i
z57y<9Yo9mQ>T=+{<Gqow*2}WL0?#P&xH-mIT#s?uSJ%*lob9d{+QSN2M!apZvsqU}
zF)Bq=NBKMFb+8Cja^U$Z?MFFDbcE2rIjELGU3^g5wbkkSt92k_ykU&vZ%jO!SlZTZ
zrk&j{*M6vaJ|42I1uBIQF4f)JNgKJtos+`X51xTC$}UU;rUA~M8}wn=c}GmU?YCny
z1Ce03o+g_!weVJ!4!@RUhLLG(8IKhmRFb3YU*w_zr5{4N&ZoAR3!Nc(rFyn=9K9^|
z_;Q$v)JuFB^IWW7;FBS=(t3q}L7Li=`T8|SQLq69G($_LZ25Q@mKUd6h}&oUPY+J^
z{4>74_L(cbr4?xV_xLV4mE;eF9fi3aL?SJTY?Y6z)&tsH#D^j|wqEWDaI!ab(BlP^
zZ$s4KlS4U)QOEua_#4S)q8gA#;KBCo?Kxyad?}Km?)SnX`g;3u#qYGJa;Af`8^UE%
z!n||cj6wPaj_a?0IRF4rD*2n=Fz+nBoGkdZjv|L$_Xi(ck=)U;Lhl}RXv%ZIOwR)e
zJ$#gZ{bTWtaqwEPXSXfpTSqTZZLkZY4&PFXiVx~3Do0!J{N4j~@;NN{{1yc2CNP`p
z;3Ri+us1JUt~3_jl12<fmYXZ>%9k&{AdK&=l)cVwo^bsL1Bh|b&&R^gzBgdst<QvJ
z6q%p{nd*E3X7emmY#4ks_`4*b=MSGp%n_^}g7w?XA-rgm7z^5ApB8mK^+)tXcND&2
z<duoksEMz#=lPw&)gj4;2svSah`_)$`>!H8W0HRiIJ#}iLQ=w!;ArojvjFTY+09|%
z|CK@j2MEGNR_>O|S7iS4PMlW8DDg7iv?E+uPPymm4zmTsegtz>LwJN_C^lms)oLr2
zqzvDeR6GH-gYw(4tT4=RQYyD9H=7^9p>$3*3R{WJQ1xl&a8jZJCg6S_#(IvSa>3mP
zq=CB}_y49FXboP>)4!#B?awWtpR87NnfV{V40LB6Hq*ZSDY|&d&mwuY1@T{r#<RzU
z<k8buA$4iogyYn7lM+)%(R85tb;S+8@Pe4F`V*C;_~t%1e>mOW<Hy`v;eZlFd3WW|
z?o4~{v=aRU5&IMv=0(detluNtB3>m)zLDR&?l`~Hdh<}l&+X#a7q$F1DY;`OF65IR
zSPJz($cULAt)wrr;lSf!YpFtsUGeNr3ENcFs2cY-hU~R;<N6k<f^p#54_NLUUOxG6
zdh0Q5g0CEvw!$gH`sO2l+X>t~s@*G(e$uisQtFth3W)GPAa1{(n`M9=|H`;jbcsE7
z4PN@YdhZk>a7a%I?}oKM4aL&A_7w*KU=bD$;#%*{u4A`m=}<L3^Rru~mgosbIvU^@
zt7>GKpC|~LBd61(1&94JtPhY~3+f(?H}==jzlS>*=^SE!S=UX9EPhUL9%#5~e{fPp
z!;SbpqR{-6>*GWb!9C<9WH|!=3RDU*fxq+YtFPC_>N6IDc!wJ#cN8jJDk*#xf_K|>
z1P(P5AmHr10@CfFvA#iLa^=8T;Z5Cw`G>bo&#KW*yZWfq?g&dJ?w`tP$*=nhw4a%0
z5$=HGkLos^+aF&TJMSFkIAq?Dj0isx?Tma;wJ%%Xv9?b62D#1oc{E&HS%3jHiU3Q_
z<8^`kTM?2NiSfn&6V`H+<n{N9`}ecgjPvNDPZJ%C&UY<t6BeD!D%Nj+JUoMN{j#z2
z%L5-~PQn(MKg9prp7J)+;6>UY$i;a^O?KH+$~FQ_R|Ap-0(RB!Vc|bpZVS>8r}b3O
zTg$i#1SjG8HcR3|5YCg9;C(wedUcd2zpzWB2M)qy8+WBa7VblCfvVDo|D(HxG(a`A
zH=l4;58M`8JhMt-C3?gCU+leZ`Fu6mv7*LN^R&bHbqp~PELDb($X&cuvJIg&xhLA6
zYzxNEDfI%>qf0cH@EH8H*`XC+-~!c97QGh4ag_hL(io>c=iK-a`^mG#fX_k9PJwFI
z0Mzf0QNF!vvS#&fXomF$n!520Czjhg=m2{rwL#p$>NJ>f5wJwEHo~f|M$|_`lmZSU
zG;h*WcW0i_Ih2&`AcykajypO<9ye58qLxJ~tfx!12bggdA{Gn3!!6}ymKry<rGuJ{
zJ1O1DU>n%oi|bA1NBl&P#lm$hpRgx#H*7~#tiRodiIbm?pWs(D{>|1F1xU@d<{P0=
z`B~!|^yMd8!rrf1)zCIvXF15=34Z&eg`x`(fp$ViP%Zk))7qVA-mr`Ot9x1@W2Zme
z>=F;xj@TWz4k_7Of=QPO>z-4XN1Qnt*H4?5JI7~_FwUdjs(+g3Zjfyk2P{-PlZ`q~
zXTTTJ%G*6M(0TjC@ec}Qd*7r^G{m`9_eb~<Ym=J^*ubSTtAdrO^i%H7{6y9x$u1PU
zl7Z;W87&YokuZKu!l=3Dh*rRWVQYE=Hq9Xk=SRFCRKTzz@9_4}v6L0GR4p2z{(~R(
z1mwU{1<%IcDGxr<Peg~JtmvCPIw?6yKMcn#2!#=aZ&oi5O_>;xm&a8FB1R;=WAeFl
zlZId0yzvYicX>a=)hUv<1@(818cJo1IiV;g;Lx#-cCnd5t-*v_U^e#+qJeG0Lx*a8
zonixUNZv5omAL-Nu;q}b&(uSCDE{cE34W`j;j6%hNE#NkBz6Q8h|Du@`_AY7Zp?R+
z%J^<`r^Sushty~CNZE1bt4X|uNi33NAsx)RsgO|vx3@cf(D7tpG*C<KD7mr4zupBN
zz7YwVQS_bW&v)fcIz+*RSbX>UjbF8smD*1bi-@2U_auEwplsvv&Bk=cw+VlSKA(+D
zZxhUqGFX990v;fgbnDl#SO;4tQe5{)84a>`nDFfPXV{aeoGKdt@gDQ&H3E0xf7|=l
zx#WyhXR<iN<2fjb=Co6ZU2LU<P<gFgj+39qgJL@o>>gJ0xaj+&k37@Q?|$!#uuu$f
zq61mjcDYsbt`BrP$wM1E=wETE>{iLLeZo;f9sgg9MeAw_hTQ$Q453Sx*iA73lTmBb
zr$VKpEN*y3($*GZrYg1HBk(zDgZfSiXl+V2j<3#0Ie~V8_DGd!3{3zNAaPM1WKE?v
zF*L+jZOca81NU%AXE%7m_@58pOp5P;`?T%uUEeq=lNfTK5n7!v`7;wx(=(z;jxnQ^
z#lSC6oYSRCm#Mr{IX}Ec6jISzAFB^OR<aeVxYDG)o-W?rQuufe+WD=`3|vl67lEQL
zC$WO>eqSo0LM!%cH9F1?D=e5Npn`-?DVAvdmwQ?P!+8lFxoKTmsU=M$YCTf{26#xQ
zmeNG4s$uoyOu%!6uheV-NT>k1!}b13$@=fFi}R+(C9~vO@VWC(i84&~;3$i{8QnCn
z{6YSQ@JDDll$LE2lBvUDe~(cGw^xBq8J~)7tkH?aGE%|A+z93#1V@2Jm~N8hyBLpW
zhqqEj+v^yjygDQG5-~sZEKnC<hY~Tg<7d9UzohLB)o*%)XcP!IHyQdexP>+QAD``d
zcD$b99nwz0@y_i<uSLe}7@nwXal8AX>Rs7{$}^)B7yaudOfFP3{E6J$9Tzx!kgKVd
z%W*>$P)|t5V-&s*%Q_@Al{C-A8l)))#BqF<zr0WG1yc-@fds=gB~O*h@eK!W7<qbm
z6;jX{E^Bix$n6*bxWf64o=UCQ@3O)tiT{b{Szmaqv>Ini|GwT_u{c8;ZK(9^F7qYX
z4*AU^Nz-$S&>zIU4I4L{ENon^e9?}A&0B)|_C^hI5S)T<=B_!Zi+tj|p;zInA@fWO
z#d6#%6M;`vuW$8VR>rw3Z|qA~EHT|$)NRVg-WR7d4B4za(2K>T#Qpdl>5rbE88$6j
zq%C$B+G6zU7~;|kDs{;{&urTz-?`WI$TiFHCw>DzpuPwl7GQo-!Tf?aF88d*+CTm0
z**><zfw<$0)DvLfI~aNW>d9?kqWzBb&JeUj;~VT1)Ptu}%F@_HW#&Q<;XdbqRzShD
zw!@_?TR$aDl_C!n&Yu&F{_ggTq9S&O%X?Cf-OoDfZg3Ekzu#ZACMxwX#AKf5$Wy+}
zap32U-r6&Lly)Su!@IW6P5hSg3iS~p9^c9#;Lx=#cWOLzly3GY`R^J_+{-JoAG?D7
zh6k0s+J4_yJNvi5y99YXP>~O5LW}9*;Ae3~sx%spD})`0ZOb;QuA4}-w-k5p<J!H{
z%ia!NoaasCT!b~kHDZH$mtY@Cr}DS)QBmwM9<rf%))t}t_wB-K{j0Q(CI+?lqR_;N
z*{B<#RFrP(QAn{XNJ$*gxSp)`-Wj)gB1~5*Y?CQ~%X&!NbcXG9tSDdWd3Ned29|LD
zR6&872wSRTIN2oy+_s5?U>}jIv!T5k%l&>K9l@CQ3UYKdlu4NN&kS+yD8^gTdpTDp
zr_5%xF#V#aQ;ZDhkj>k<|I^jF`FhtXGyC^}(;EG{RomK$n$WO8%jGKH#AmG9dtozq
z8+PPx290`<9b%<^GmC@`zsUuH6Z84dI_X1}lT0`Zrtuo0T0<KE9iC%ekiQFf7t5I{
zq?g#AU-RPhe(&OpxE|^eVlxc^aX!U%)y3Wb{IrE1kem8PKh}<Nu#iQU>DJriPiNBX
zC_DEo=I$&msw^1)EPTjocR8T6zc|0~eCTSn;`0ehd)5+ljb{rgM2*l<E327=8!@?1
zA%{u-+sn;4+SpD>LCkJJqL>$ViMw&1d5yH|^lPK1i8QDjG;)Hd7CIyw)v(LxG9vf)
zx01B`Oe%HXbJ)A2U*nu*o~xdPpSSw0<GbEbr(>R9VJUV#GfXrpG^1wUC+h#=xi|V<
zq<xKkUa%7+f~7Q!bdxB%jR#^BTE(S);a_n-@y29gmM}u`Do%L>i}BYO=yXr5I-)ex
z?|NY=*ZTDA=Aq}P?{`fsf9@7~12!AW5p%3qyk?x3S{}0cqes6-%b$LfQxf-u>-JQk
zxqqgzO|>_tttvN$qmx7b$NWYuHBAd*asC?icmHyFx@-2HTjJ+OSHxhwTMfRI#<!sX
znjgOWmiX}QDY#Ua{PT2^vzq=^%5I)-+;XEVF2v<6r{t~YU+N%y-44*u{x?Ii%e7`Y
z#&`B<t?+DBi}g5LPg>W$>jF<s2CMdLH7%(c@{yb2w_Y!d>^Ll+YN^~h_-H<fsSOPJ
zEd0*Vje|GO$Zt@LqhJ2Lt#F@mtc1$%o>C7~X43#*>6TMnlzS0LdAFWJb>!Dv**R+!
zR|;zd>pZW|_k3dqw~nO_y|KK9CFd5Mf_^5fO8W258qvK36tGJSfJ_561oPCC3A;+g
zBnMZLUi?U(c=FiD^HE^I{anUC_50H=mhZpV)90Bz;p6Kss`&Ps(*EEDJFf5M@$Sl4
z4%PU<4^~H3XzjF3_|@tODRf9p_k>_E;8EQ|)}F>J@Do$+5!(e1KNQ3h{}ep2EAT9`
zbsbD|#RPtNg%GcC#qjXGR&*-5^~l=Cs0i8edWSqLzCbzY2ihM>L>v*J{O5*--#ZHM
zNvVWG;2Z8P!5WP)m0gi7(c#x?N&z&g$t&z?u6&*{73bf}uS(#02T;h<SbH3Nu4L=#
zGDU5`kd@*R<?Kd&F5h16%=X6I(*4ZHm=Yg+OF#aQ_fSX@9nh!FnMQe#!eSA#lAeWk
zjNnDCg`6k&*|g7`Jig?us)9=2J&hGKDWqcRXTDPV7}~Wr?W$Mj1XI1~PR8qU*zI04
zyG8Q|PrGAU4`4=IJtL8R>uJKNQxDqkFBDCvP>PsK^BMqISl!VpM$x%v{DAr)>xTW_
z+H{lsZ@(`^6&hWk7X~*)wr&@!HQaciH;$%3@44p2X@BXZnG>oimz#^bcpSHho1Nw2
z49T;pa4!#|idwSjJ=;Pu5pL2F;)v{rjL7&h^O9vVfhyx)gCo1nHp!gydC7L?hRDQt
z2Vv>VD@Np^i|bwyB1OR%;+^SuNZmEM)7zqh`U34&T*k+r%Qnr0)*6@j{Fc^$q$4_s
zsR`n$#$|U!dm74@1!7+ws5pFB5DpiKWo1XlcE?)G95;Qga*%i#WbTt2&;~$N4uMOI
zbt|!t)u-7yBl?QhKV@ULvb$Mvns$5Aj5$%x`?mM@VlphSAKtn_@;xSLR^2ZuU-}+J
zV%aw;O2m|LcggcX2bXo{c>+2YI0l3H_?~yy%BS$bssAgo!P|4ji|x?J?`(0aRz$9&
zT?J?$M-Ms)G&?%=<Bgku39v`VIe@j!V_U|3aztsr_oJwUVo4YLu++%rBem5i*XD!I
z>8As>!?()=a<MWggm?FAHlx#mPi&?wx!0d}1l8ByG45)mpE1lU&o(sHB)0d-UZ^;h
zdz$k7lU-B|ukx-9j*+@TC!V}4M=$Kbt!pMMZ{yvCH=KUa1ixlisL!y1y=fzu>hg$g
zT0m6mZKr!VR#^+3tA6;;r;?dF&^(a1ZU)Ye*22|~mcf>##{Q*`P<L-kwd~e>T#&Wg
zRQDL>_6eUPFIhE5HuN9QHRFxSkLO|*vbzPz7YYSLVR;U1@1*=A8;pZzQY||IwRnUy
zVCm5G1)pDOImS*+53k@G5sG4`PP|2ZtFTJc7vro#8Ua4$hUUVkowv;m`u340P0PEN
z71y<i_#@;VG9I~a@}a^{KI2*bXwgrurfC;+_k(hVi27{y!hmJQvFgy7rLi)rd*l2S
zLtp+5Ok8KK*<1M<8ND4_5aT>S<XJ4-u8+ZmY(>>?8;A@KT<ez`@|u?l3;QuPaGSz%
zw+qxeWPwFuwz!mb+4a)rn!Vrgj<w?Tc5T+6PT&Fz<kuGk?qMY#dH(J_qs6u(_gS`!
ziTu_!VnUWnoCdUg>cyO{VP#QLcDbV##7~xl(ZEY8*}pCBJ~9ve5&P;W<I>hbkx8Mw
z$u(~JTZ)aP)j~URFQh`haGQ0=AK&>rpkggRXs%7R*rANKnin<;41(|4<<>cRVt%K)
zL0bl8D(Spj%gAmdf62mlc)ZcN=Lon2`sTi!!<)<%MV#-me_{LGTOt#ZjGddnerQFn
z%ll`$=}fnz`M*t>YiZzowQS`4tC*cJd*GhRi`J)H)pPB;k5fze7Cw~nT}kcC^il}s
z3xkEdq!JMJm>-O{n5Ijw+bPStD<Kf9+;4qn<TidzdAfk7OZkg4@;XQ*17NfRAs9RR
zk%>(=!2IB<ML*l?Ph*m219i`OC^f@x+ka-r`?`(jzZL%@@7v0kOFp&qUmjlh_4gNj
zdCV%cjW;%dQF*)TF$hAb1H)7~4E1$+?56YzqQsv5E=P<iCs@q~3JM2gJ@=T1AEu+U
z-i$5g_;0y-c9rl$W&8Nf^Rl)K;NO!b0<t@)%DjmeQyk8vw7=inTF9d)U(UZY9q;@p
zcbMnHd&`PF3Is2vG+T`~&&TgV#A91}OO>siXaIdn1DH3V&J{`L2k5g64QGa_1GQYm
ztCh?8Yz@51DHhFFV+Pa~1XP_n$aUdd`iy<jrth}doF5mlUuEAmxTUqx^@^u;g=O)H
zAoP4YRgh234DomE&g7lbTI92h3Uo_RTZ5`}YN_6hS+OK7SUQUZ*;~ka4{kbHWz(!H
zY$A=(X`kZ}jO-vxGkD%HdXM;_t4eWY!4})GOP!gMEZib_d_T?W?HVRN=O_HC5I^RG
zTt}Y&3LsDx5Fov94-X9Qv~3r9H^RZeyShJebN_LduQYN|)J#IoD4zW3>!{=(YjWZc
z61#X3fW1@^{~%tWQV~$;R+a#YBl2xwCWf#h7{>pbmG7)H_(?<tU^gcIyg0GVp)}HK
zOXFC(D$e0r@2b^BH?~%HiH?R*XSmgtGy&2VYyH~Gp5#Fv*|-}#%vAH?u9lnGjkRUS
zkD}X&B237&LPsB7wI30_ne>`88rmu_koTz_(|gP%-O9bq%*4#G<V=ksIL}!yVvLqP
zC;V?E7?_PcIA4rTwAN*$^E=3Uf|{H!sx0kpEjE12VRZ$SJikPiWdAqOf<46oDI9V~
z`cZ5|zEsPs7bsJCmNDPI(2sy0(aEJNCZ`!>gPhF5|6VWo_^kT!)JxG^8<zpa^5=U1
z{A`6XVakTGXv`=>o9+}c9!G<>(Ur(pQ|;(fmd#w7Pk$w>SmMgrr@A#CMSpa0ewtx?
zW@0;W{7K2((-b2rd0~=Gfb1v^<>1+ylhM0I@4sH_0Zzn~{2DPOIb#<dvD9se^cmD=
z@A)|ET-z-)!16Z&Vl-;7<qQ`_FGlB%$Yh?la$GETiAr2$n1H<!dr6VTDjSKiybU0M
z2IT+7vF=Spao5C<S4jWpwC)T`7w=y~ghRRpo_FwjS)eSG!Jvn!K$0o5a?lks#2>kJ
zzB<YVG(IkNZGmy}dFJqv<j1jBlYU`ds!z=2dI1V`4knO}R&}cz4sq2?MzmzLOt*h8
zBv+;63G!riO4rwMKJ^9&y!P)v92TDpmuC)CR5gLx(NshXzp5_BZ@8R(HSL`DzodGS
z03b_l7no0x%>ukaU9~TtxK+!K$;mKF65s;lk6mvrDd8qGxZiezZZkkr|M%&N#<X=W
zv87~Unyrwlm6{dfDy`e;(1Fu4Ff9&dFpNjxTQ+ADXZ18^$`bX)OL=%6<*Q17-$Hao
z$X-kG9^{bwEdcMou>1&F^G){7`F1jWAe2`+Rm!vQ+9w>h#o`L0UX98&^@b>Fb!Wo5
z_OxIn@-HJtxX%lu66&rpK2Uq2q_`>^cv?Y+&k<@D(Eax`aS3og4K=gX0)C`e`uQtP
zFTEJ;C_VP@k+I9+6o3%HOKsvmcq#P=PdVfN`?2MMEPR^q^)m-GD7LZp87DhbgY8#W
z>{ZR{<leXqitV|+uH8?uW|4onw?A#gMNkrc-9O$Z?o}eqba?{)ZN#Y<x_E}zTN;S}
zYw`Z_w8Aq*G8GSyh>-+|akdhM@DdCjlp#t;Lb;GzI5Tyk)}M7|jeFq}XkK9dUUrJa
zLkgc|@J_ySue=_%qz#`_ToKCCk2But!6~R$o}<@SaB9o@eF_`!pq&e6;P$>;MGgE?
z67&*c%`G&2S4ZeAMHz%WHdL-tx}23oZ=Db$!3DdB+KI@i8qKU0QwcnMohrhn3)0=~
zuYU&>T)@eKJ_WaR*{!?kQ+G549kg%!BJaO-z%%FWqO%j6Vyc^oIJY$Rnj$#x^DI9|
zVri2wclV1Z?B3aZD1h+^F~ho03UmSfld*;|c@j=PoLIW6PuUk2fLV*5NcMGtMl3xj
z=-%QlK^6{e{;A!(cn|6%02@OcR-&sBi6rgOGqvyVe8VBpsUR=6D!45$NH;9x^sJSo
z@&?=zr=QdECyJX=nGbX1EYL1Z%7>DF?TzvKbVhF9Fvt}^eI&zFTYGv~PL6@--&&B8
zyF!JUismt)3d|u*^g;EEwB_1;-o}2wZyT;#*h1}cZ@%f45IbbE-zJ#yrkx=~S3?PG
z90K%jaH%IQt1OOPp{-78hAhQ55X#z?IIeEU7{GJ&$6G)=4e^*+23Eous7ZVsbp=;Q
z@kXWFW6u704QeT7R%qx&g}S7j1{^ttP5>r)Kax(MeXfwjm@1GZ-=N-J?J5pWxage^
zAJ^1{=EQpcmV$AIT@0)AKGA@PgLWW^j{#sWDfg(}6SyQ53l-69oi;wOzV;{-BlVK~
zP;IAu4VgGOhKY0nh?Bl;^C4RRYgnS(6bmNxsx)!dlu}dzPTvER{mNBR>5YmHOEh#&
zfbPg}enykWQ;bok0CM!Uw)d<cB4)zTHYqOA&QCX~!8!LD<TQzj%#Lhq;LqH^<^K0C
z<efWHIlp+^d^voyzVuu@_{&^B3ZJJT6<@~+6gp{oajZ5(!+A1I($DVR(o1eh%)3jI
z_BZ!RMWKVt0Ixk)r`MF<IuvvLzGD(4>0Dl{sm@(K#5P@1Lt`u>Q}tEKS<awrRDc|F
zqg)WvG9xdTYFbV9YTYe0`h;`csyW4-?`N!%z_ldGxO-r0YL{1DNdq~3EIZIPp)Bo`
zjez8!!c(~d&b`Op(Jc(Gn0AW02FbhUsvP3c9GWqrs8%?P(bc#{+E!ezasb&8>hm)s
zji-x>tjvCFSBMvl>R-952Hc*!n=%z(p+ZTi`#Mbrzl7mehAqz13*Xuz8MY#mVmF${
zHy*<U&i{@L4}B-zNEKt%#iTn!@ox>x4ZDVR-7uqSPSx^kl@9utgQ$S-voF`x<kA$k
zIQLY|Uzr7^PeQp6!tHUF!2!@-&iR}PArfos5<tEJuY?9C1-8__i{Kfe(CKG;E~Wvw
zOC#J)M&d7OFE{jFuDN&_SKMW7<ZZX-#TdnF-8ljIHc_5=^axNrrpRH=nOgCK=1%_<
z|Ng*Ka6NG~(QS`*dm&ue*v|8X7fo=&dn%ONuK{%na>V#+&Ux~HnO5%e042@H0U8k@
z8h#fPNYri^t}4$XaRpCdxqu?3pqtVf0%-8yUWfsd@vmt*n>?x=%&;NIh+ot`F{{T8
z<S;rO(N374dz6`AVd>T_?6=QaHku$Lgr<>VfbX|$gL)#VhnO@~pxnQki<jDmUiHX@
zgSxXBZdG>^6k{?}+Y@!@_xR433dbsy09<s|%ldj(iG0m}bmHv}|MW`b#AsI;Q02pd
zFkjYhK@hLI<GVS<J;?eY=5tP(Dujl+@}Ou%le7tu#dn`7s;TykT)S46TBX+y@18I!
zH;bq0OrC^XMO})!t?(_r4ot))-HaJH4|A)QHH_EJ6suP&7b|~Nu6BNIQycz?^`9KA
zh>{YRq8?(dhg`i3Dn!Ff|LIp+^~@<HfCzl6mRFX4mYj#8NDQesJU~Y)q2E)fzVQD@
zg#cZGSZ+`S`u|tXSHqwhrhC_b)*4n0>q>4!88pu(!vPsuLJ+SjwC?pea6`xktX;e2
z&MspXUSA(&l))sAcQ2Co9_YfVO?GppUd&WBd0Q!fcg6L-7!Po10r&=RvAi<^$ZJ>*
zmHhYmWx-}gCeYq(;&EZZBLpLPzBTFZKpUtTF|Il*H8+U6o(T}uKiTD|XW2u?KWvx#
znvcM}?neZkowVzbMv0)3aIjXSa8_kvWsDUXl6NQ1H9kxgcJqGchw*RQ-m=ayxjCTP
zEuCbG@SS)ooUblqB+wYr2bZ3BEruB|goYHY`#<&)(MXhc<;=VxcAH4pI&csHm{VYw
zbZ1m%ZR$Vue?M!b^$A{+stY7@?Qw3qLXO#>uY*!|Dw#2aoqK*G??q2YXJ*#ROXqUI
zu4I6F@<43aKo)*QyOTIbUl;apz?HUaQ3?vWnI*>hPvz(0N0N^rK^W?w^3hvrm<voU
z;7wwrLvJ%Togc`t$4#2k(vt4&>xP9v^h5Mv8Hma&E>2aIwFsJ^-x^Q-ulC;|IYDzI
z1z2njk8-+M$$jbo*(#+{h2LDfIr~x23G+@RSp)S2Q`Ay)H58D@@sTcs>--6;uFHfR
z$CT+DhpyO~tISTr=T=qC=4!cL>M>wA^C+$w#l}zEAXRf{T${3dM(zN$th1*>V-@8L
z!XSenk#P*MsivyBy6VQPyDoiZ(0GO8th7C#fVI$;ejmI4BR3buY7g~{^>{0Wa18$x
zwXvdgX<b&PouEsy1amIYwu$i;sot0nr!;$yod)wz&))oE)jic9)t_mpRhGP+4IF=g
z;m{NUU*=-+L78GVzFe$KOoH}V73zzD5>0Ob=2Hn7C$%xG=@nSPyte*z<zSX??K&<%
z5=qP9V)AFKZ=?9Cq2q~~?JQR*Up>TI?@A#88p=VR6w3+d1fC0Bp#E*{`s4K`+k>{P
zU><>XBe0n96Xwcdy=TC`!bY==m3R$Ee=!6V%c*HmA&x$^#qd-XR;bu)9fJ?(?2&-L
zk(#%;nB302fSWejCYLD?)cn@2TxlFkVb}VeX_j#R9K^uU3vCG2EUYo+BB&SqzfZg<
zeZE}Hwt3w19QK`JEPxF~;bMWs_}Nc8?yR#L#SZ?eXri$beO<yVV<%p4y4y!GKJq6d
z^*zke-VLjFRHBGD)y(TAIFk8=aqI}O^+boZfBJDw{2R2HQt6}21KI9X+CVFD059LE
z6n}U;(_I_VDp|?>5jM|Mq>W;e)19GIiv^)wYV5C5hC!~3_E0MrruUtWeO@MphjXb1
ziF!+v9ux{#;LjdH9*5H7b7}wgem<Tv`iO6s3xo8j+<K~owi+7@*-;l0Us{|%op^SL
zS%0ehKM&W#`!nhBYcy2_BzvhLr3UvlE}%R=>&}AK<xgeNgg%CK-3e&gQ+2AA1IA+$
zPO>0m#os=vl+c#BO8tHtwYFX(9Z+veDGGw>5+1fP1IpDCnRJnOD$?o4NVnH~rWC0B
zGoDrD88!6#=WW=?{qXMiZCF29x|38Gk7x7*)*|WbAqh~zn9w8rqfaby0A(3_F_m7I
z9OG+nLidXjRJIQ?TR?*X)*Qg)SUyQzcTBBcw4_TzhdV>btoJw=sxRB6{Pn0kB)6_t
zG?0L>fo@=2(MGY&md%^X{5*#$>@G?m{?OHs)586^hxVe$5`EJyS4iLctl3r12k8kl
zJ%Z~}C}}>0@I%XU1J9MbXomFE#)?i%Rif(=#pxtF==@!T9K$Rx5|BBYe&~zvBVI-Q
z#PAGSpKY1B()|#ler@Wbo5V|c3te2+EeN2YbgH$7a>IYJ700Hl_g}i{DaL6V$y|CS
z$?UHKoaXxmq(fOwTm#aFp%H*=);vZ&@S+Por)rQ{|ED5Otl9`11a+ilV@Zh*4jPsk
z;)fkY$uVpVjL>r<sKC7N)Ss^^pR17B+@JocayjV=32Bq${Dc|ilyIE^rG8}Gfl}|<
zrI$@4zr9bP`e4|U289SU0Djrdw*0qnMwI*gUC6otd3(^Krx-<y5S!4$<;im{?5lcA
zx*F#iiN*_1>vxOLx<pnyM+RNkV=viLCX$Cx{!dQM!PyS%6OH2BLF<rB11QITS0EhY
zfsZ+q6eM}!j?rJEdQ6aaC(slE29zK~1UoC(yv6V#(_`?Rx}<|8bYE=qQtcfE9_uXf
zK`xNDztd@!+S8L2p%RM?=2c98L0;2W6{pL?MzZJ{=RQAz`gxLiFT8-4UUbc#K7a=J
z<qTNiR;i!Bx?(TI{Tbmvy1W?hAB@AA8335iznwm(mMw^8H-0MZ^VHtfv-nx1F%^nU
z{zvGze3Wd{b49&SOfe?ooJaZ1jBmq%2jmDBQujJA(YK%O5qoX=A<b2W_!*`e&_Xo>
zJ6PFwLF>!hZgZ^S<zNbpg--g!$J}e{&25E<L>iJpTv=EGDVO2;Zi=I+uA^h2V5&BL
zp$ALflsaW9OcJgKT%eAv{ME^}U;)4sD3U+=dV3!bAr9p47HE;p%&-RVymuYhLJ;}i
zOtCo0W7$UNuK_tH3G6w7N&(6B<f}E|?T~1Ik%S3ij@xESpqyt)<;HZaa*4G|li(sQ
z6aUD|HKChYp=iTPqDSZC#jk-_)V4753f0bc&dLo5=Y1<GMhx3%IjVt?Oo?i%r6(#E
z$|bza?Qmpy{3}OWa~=Bt(WXx_{FM^q7%qT;+nf#g^NKS>@!i046;%)5FHIIX8*NjR
zO{HE-YI{twsS|I2U;?znN0<}NFe=390jT@C1o9@Pu0JZwzi_@KqcPJbNxJEd9b}>q
zlH@?dwVsp9jD-BY_T2fYi~;vW3g)83e~a?v3WH9c^FS{`CxS6i`Uk~bJ&6UT)FqCt
zdrJk(`S1h;$*ew1%TV)q!59YFymzqGfh<aNG9z72%B9G}(VWqm74d*~wRQClq@62H
zs4@_S9g0CW$L`{^E7qx><dA=3)6m@~g@$2A|B*wUe5<;69`d7kW%Ka42>o?N%pEHe
zh=8B27=R=%nA?96tEW7_mJL0$g03@@HS*Az`qBi`gAM=Rh}Y)!Wszw<Ckh~MHhEqY
zR)gAX0#%|-<4O{_u>3+Vn*T1%C8+eC<v8*j`s*bn{xc(qkHhOlq@%p~`tNZ2*k+OY
znJ1wlF|Rk}HsrPf`WKSg;#J;fURF*E*Vy8dq)(V2{`=+|cYZbK0E~Z!IJTj7IIvMo
z&M*x6m{}zDr`ye=bID&x9Lgj`D~`=r2&QgBU#6qFix~efHOu?4OIR*W{wj#6zl%~#
z)xCrzxBZKVUhnPRSdNkB;@C=q%aCK>!{5agWGEnG-qfZgUNq!gfsdI6PztR}AWHwY
zed6+}9ILM`z~C-$z(p!X@3G-Wk$|8?ki=g+5Z|JMGq8YwN^8<g^2vcE`iZtPp)N)n
z$3tpxPAI^4@JyUiV^c1zJX)7@dUHr9oCHB?wnT3GpYK4&%9HU>K4yY}a^k?%3>r3F
zx||qqUd|IxocUr4n@L%CZ$izCI)KzxgxzkaENT#YW^?=tiK9$Bqh(rLAh}8$A_{`!
zm4?D(&tQem_d|2SvY0_zzSLU~A7hLjEvUhqZX-+q2o}jzN@eDB-ml%2zJ9n_Vegn9
zfFD|!uD+C}ed@+R%;xNVdXHtXvQRq|2<?ZOUm-$4Ak5D8_x*V10Zx?suFlU^TDcoZ
zu{*@AiebBg2P@dlDS8q(j+O)+eAqW|2{O%*tD39RB`{sw+~lg~iMiucbFp)OQnE~X
z=xM!0CnIg(HIf+x(=bq1A)H-;;7oM)$)5+hY8k1%yjZ*gC_GhDNkJh8=S+8FH?;B<
zWTG@S+TaC3l@ZjC{z&6`M*L6c!M|h^mHdAvox5tBgEi(4A@6}X9@1flIdMG?buCAb
zD3%z6{!Qx!dUSwi%F+_5M}?{LT+`V8p=JgT%kpB>NM_UhmvxTkkeRE^{S7O8Nj8sL
zd&TcXqeS1dgJF3uS*ZHvpA=pXaW1gXfLLyjRa$Mik0e_VdE^DHVLCiEzfPES>9Wf#
z{XU6KF5j;C!j<di<5FGK$n>3$eDxC@w4X^6D*8Rdl;;-7q|;^ly*(cE#GY>mqbcVt
zvGD$q_Vb~p^l+(d800Zvn{sn_NZlx?bkhR52qA@J92fGd?h(%vpNzf!`9^*09etCu
zyT9Fm1tSm_(ARU-eZRx`GC0}f|NH#t_Lfo$eWSr$;~Y7{ba+r9^=7!RX?i|6>K>&1
zHE0+J2K~)8jJo6Zh<jRf*=t_9Fk$%o;sH(y!gE)3$)g`ZAKS@NOc)f*%a0vkh&sD<
ze9Et?xQ=~{U}PZ4y6JJ72`M|7KHVcd|GNjZ^qmEYGdOo{EGe5PEVm$cI2km8wJpRq
zXva21+&)9KFX)h7`mx=q5ab-ILdVPC@;qKJ&wF1xj&S*&d$u`+k?6L>go%FzzXlJX
zeP9uk_de05ZkauHNJBtbFm8WuMpf&H^<7iMHZ+szrYd|yvg)Q@-~`QVzQH!#&Cd(5
z>9}IvsI%NLPz*{VV@{+bP4xXOVW_1hB=XNI6O??SAtTfGfNOvukB5zP&K1Yud|#;h
z=6#Ct{t~)*EXWy<+AaM&*b62KJ<mYf3-&0LPW>0eN8Lv&sUGr+4|0zYA^@otXHJBl
zRRNe@c8dZA&j6((KcZ#C2xriVgU47&@sPp8kFoc=1ExHpi(|K@$xOr3g+uWsi#LC#
zJ-peB47C0y_QG(9u@&gV^e`rl50XQv!y`kQlTaHfrP&5PVMP%zL<UX0i+Fv3ga~Ee
zJ#ht)zYC)VI!y>nbmZ!%5-4-)DxfN3phu%GU(sEcB*|1N9a(W0n9MWAhmg%sQ74|Z
zZd+Jn80_yaca$y<{NIoZ>K9>Cea2_h?l<Nmnq?VLs!IP%5$DI6S(miAz!Lp1nA*BK
zl5g!I*<I^8A`7VfPNX6Qu0n<m@Cgw*Wa2he{8Eg6f3N`Lug<KCW73s4QlL8Ag2(YH
zq-M1qv4q2LYw+$A=m|Nb>ikpiZCwA>`wAMeJ@@Lsh<ZX&a+Vfa$O8$aA|3FlbkUOd
zq+#~th_6xD!(QF#L2&vqkWj_|vxxncdu5=P^~9lJl@*3a<dSd@XutNfYc*x#GRMkY
zs=`=Z$l?<LQVbPbSI=Zh({vq`+9X9Lr4D_(VoOF12}~kYxywK0aI<_&=4S@fRz;!E
zK%QQ13aaw`q8X3izf}=^HU!&t5X1Pka#vaj|7t^Nkn6BqdrGH)BRg#k?G+=gi#-HZ
z*2O<#3Wyz@N3^X6^|Xf%myfj!Z066V8BgIuMflC-Y4Yz;xZ6^O3rAm*NO3hK>7Z=C
zw!2IFrrC%RG!5n%3m8j&f@;7ncD|N_K*$sg^)CPCc^+d(RZBc4M}PC1{QVQbv=<g(
z#6RMfW*R!<bW_<#>tNO{+X%NL%kym|tMutC;_UPAu?eP{q3ui_C6dcIm~cj}h&=V+
zR!q0iOQSkR$+Y}W409Z%fZH@TJ&+`fp_ms8h_`O+UmD5BZ!-KB2J55~y({5*)&F}<
zYIzS%mO+m6o--ZVI(Xv^w~chNpW(Z6noIk3r)JEnH-!huC8YEEqlX&lbW?f$H?nX3
zWg_G`>@l>2${(XCKR>GCBIxup4_^LGXL0_Y$ufkOZ7B!LI?Y^xXu$GXo{Kg@La`EZ
z{M6R<IS^{&f!#{<Ih1NQ$*vk?-aXZ1hO*1^xWZH^^V*)neoLqy&+?9`$LwI|+Ao6|
zp^v0POSsw0uYh<ie>0^FFFM{+M->HW^xUqxloHmyz6HpF&wLXbj;rh*>F~Jy+gM>)
zVu1g6BrEi%57`Yp8BDc0ub{>gX8Kc6@vD?rpZd_<KkA&$pwX7{z@(rJqHi;WjN}@)
zpsN@fuX6mca52!ys8%ugk9uaf;SS=)Y1o-%%*@5qv?`emOWz4c^CZd?(s1GW?d9Hl
zYL_%3+fk-ZM!;lVNXjTO^D~d!!F$AW*j<ieqW|619Ows5UZ;#z`AWJnbsyi69<GaJ
zrCN~xYv2tX2)ZCo_bF=Sb|ssH!Szh{TQW?Yb1419JwSHUCFda?30I0$dkp0?;I<Y5
zpj8H}=u0}^k*POxsOl8YZ@Q1jQVER-2%(|AA>945?D5^EEIMnDeD<J-(xXD{VQ$aU
z1u(19^dmBf%z|@h2D=_de0~(3W1{~rYPkpbk?b5L2T5MLgBH^65sQ7-O`^34y}5F)
zzTX|IoBI2Crl)RUkh$tJR&eGt#N`0{<|f1Xyw5Jte{04JLhf?@1ik}t7&Q;)vu&ZZ
zE>r$2{+TWCEMG^s!tllYr~L>fx#92B5g_SdIH`GF{FHqDl!G1ecq!@?J{@v?^s2AT
zkH%L_&CJtO<jFL-yFwnj({;?zlL!3rRdRx&=ZjWWuvU&;$E@lYZHIAu$6sj(1R@fw
zZyoIB9PF;<de0sF2T_nyP?VMf|5W~yS5=e0q^6`IDJQ2UC-+_c3hn>r0bhT&J09Wx
z{|~(O!PkNZI7x3X_xA`6b-w2g2@MUEx#Q;@<mw#YF5`dCGj~&i3k-r7>Kp5o>pDI7
EKdzrW#{d8T

literal 0
HcmV?d00001

diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png
new file mode 100644
index 0000000000000000000000000000000000000000..74464e32bcd52b0f6cf8c8f84c4045b31a10c81b
GIT binary patch
literal 7911
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

literal 0
HcmV?d00001

diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png
new file mode 100644
index 0000000000000000000000000000000000000000..63122823a15081454802ffe5434054073033bf79
GIT binary patch
literal 33909
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
F{tsN0Jud(N

literal 0
HcmV?d00001

diff --git a/web/index.html b/web/index.html
new file mode 100644
index 00000000..583fb498
--- /dev/null
+++ b/web/index.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <!--
+    If you are serving your web app in a path other than the root, change the
+    href value below to reflect the base path you are serving from.
+
+    The path provided below has to start and end with a slash "/" in order for
+    it to work correctly.
+
+    For more details:
+    * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
+
+    This is a placeholder for base href that will be replaced by the value of
+    the `--base-href` argument provided to `flutter build`.
+  -->
+  <base href="$FLUTTER_BASE_HREF">
+
+  <meta charset="UTF-8">
+  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
+  <meta content="Äž1nkgo" name="description">
+
+  <!-- iOS meta tags & icons -->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+  <meta name="apple-mobile-web-app-title" content="Äžinkgo">
+  <link rel="apple-touch-icon" href="icons/Icon-192.png">
+
+  <!-- Favicon -->
+  <link rel="icon" type="image/png" href="favicon.png"/>
+
+  <title>Äžinkgo</title>
+  <link rel="manifest" href="manifest.json">
+
+    <style>
+  #splash-container {
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+  }
+
+    </style>
+  <script>
+    // The value below is injected by flutter build, do not touch.
+    var serviceWorkerVersion = null;
+  </script>
+  <!-- This script adds the flutter initialization JS code -->
+  <script src="flutter.js" defer></script>
+</head>
+<body>
+<div id="splash-container">
+    <img alt="Logo" src="assets/img/logo.png">
+</div>
+  <script>
+    window.addEventListener('load', function(ev) {
+      // Download main.dart.js
+      _flutter.loader.loadEntrypoint({
+        serviceWorker: {
+          serviceWorkerVersion: serviceWorkerVersion,
+        },
+        onEntrypointLoaded: function(engineInitializer) {
+          engineInitializer.initializeEngine().then(function(appRunner) {
+            appRunner.runApp();
+          });
+        }
+      });
+    });
+  </script>
+</body>
+</html>
diff --git a/web/manifest.json b/web/manifest.json
new file mode 100644
index 00000000..88c69a4a
--- /dev/null
+++ b/web/manifest.json
@@ -0,0 +1,35 @@
+{
+    "name": "G1nkgo",
+    "short_name": "G1nkgo",
+    "start_url": ".",
+    "display": "standalone",
+    "background_color": "#0175C2",
+    "theme_color": "#0175C2",
+    "description": "Äž1nkgo (aka Ginkgo) is a lightweight Äž1 wallet",
+    "orientation": "portrait-primary",
+    "prefer_related_applications": false,
+    "icons": [
+        {
+            "src": "icons/Icon-192.png",
+            "sizes": "192x192",
+            "type": "image/png"
+        },
+        {
+            "src": "icons/Icon-512.png",
+            "sizes": "512x512",
+            "type": "image/png"
+        },
+        {
+            "src": "icons/Icon-maskable-192.png",
+            "sizes": "192x192",
+            "type": "image/png",
+            "purpose": "maskable"
+        },
+        {
+            "src": "icons/Icon-maskable-512.png",
+            "sizes": "512x512",
+            "type": "image/png",
+            "purpose": "maskable"
+        }
+    ]
+}
-- 
GitLab