From 459522c17ae74c7e7d2a75f36e2283d85bf80f42 Mon Sep 17 00:00:00 2001 From: rouine Date: Sat, 21 Nov 2020 20:11:16 +0100 Subject: [PATCH 001/522] fix: resolve bug initilization #1 --- .../.flutter-plugins-dependencies | 2 +- .../android/app/src/main/AndroidManifest.xml | 3 + .../src/main/res/drawable/banner_apolline.png | Bin 0 -> 47446 bytes .../main/res/drawable/launch_background.xml | 11 +- .../src/main/res/drawable/logo_apolline.png | Bin 0 -> 20814 bytes .../lib/bluetoothDevicesPage.dart | 201 ++++++++++++++++++ apolline-flutter/lib/main.dart | 117 +--------- apolline-flutter/lib/sensor.dart | 96 +++++---- 8 files changed, 270 insertions(+), 160 deletions(-) create mode 100644 apolline-flutter/android/app/src/main/res/drawable/banner_apolline.png create mode 100644 apolline-flutter/android/app/src/main/res/drawable/logo_apolline.png create mode 100644 apolline-flutter/lib/bluetoothDevicesPage.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 84c33ee2..a00287e0 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]}]} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]}],"date_created":"2020-11-21 20:06:53.459121","version":"1.22.4"} \ No newline at end of file diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index 05f4a622..f772334f 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -5,6 +5,9 @@ In most cases you can leave this as-is, but you if you want to provide additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> + + + G63-bsSe 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 wnGOG)Hvd@_$Nsxg{utu_$IapQ5&L - + android:src="@drawable/banner_apolline" /> + diff --git a/apolline-flutter/android/app/src/main/res/drawable/logo_apolline.png b/apolline-flutter/android/app/src/main/res/drawable/logo_apolline.png new file mode 100644 index 0000000000000000000000000000000000000000..a6fa9c8b15f2145b2e93a98916a24aa861d75444 GIT binary patch literal 20814 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 _BluetoothDevicesPageState(); +} + +class _BluetoothDevicesPageState extends State { + String state = "Scanning..."; + bool timeout = true; + Map devices = {}; + Map pairedDevices = {}; + List alreadyUsedDevice = []; + + @override + void initState() { + super.initState(); + _performDetection(); + } + + /* Starts BLE detection */ + void _performDetection() { + + // Start scanning + setState(() { + timeout = false; + }); + + widget.flutterBlue.startScan(timeout: Duration(seconds: 10)).then((val) { + setState(() { + timeout = true; + }); + }); + + widget.flutterBlue.connectedDevices.asStream().listen((List ds) { + for (BluetoothDevice device in ds) { + setState(() { + pairedDevices.putIfAbsent(device.id.toString(), () => device); + }); + } + }); + /* For each result, insert into the detected devices list if not already present */ + var subscription = widget.flutterBlue.scanResults.listen((results) { + for (ScanResult r in results) { + setState(() { + devices.putIfAbsent(r.device.id.toString(), () => r.device); + }); + } + }); + + /*setState(() { + state = "Detected devices:"; + });*/ + } + + void _addWidgetDevices(Map devices, List l, Function(List, BluetoothDevice) cond) { + devices.forEach((id, d) { + if (cond(l, d)) + l.add(Card( + child: ListTile( + title: Text(d.name), + subtitle: Text(id), + onTap: () { + connectToDevice(d, id); + }, + ))); + }); + } + + bool _conditionForDevices(List l, BluetoothDevice d) { + return (!pairedDevices.containsValue(d)) && (!l.contains(d)); + } + + bool _conditionForPaireddevices(List l, BluetoothDevice d) { + return !l.contains(d); + } + + /* Build the UI list of detected devices */ + List _buildDevicesList() { + List wList = new List(); + /* Add the state label at the top */ + //wList.add(Text(state)); // TODO: remove + if(pairedDevices.length > 0) { + wList.add(Text("Périphérique appairés")); + _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); + } + + wList.add(Text("Appareils disponibles")); + _addWidgetDevices(devices, wList, _conditionForDevices); + /* Add a button for each device */ + /* TODO: filter device list */ + + + return wList; + } + + /* Handles a click on a device entry */ + void connectToDevice(BluetoothDevice device, String id) async { + /* Stop scanning, if not already stopped */ + FlutterBlue.instance.stopScan(); + /* We selected a device - go to the device screen passing information about the selected device */ + var isconnected = await Navigator.push( + context, + MaterialPageRoute( + builder: (context) => SensorView(device: device)), + ); + + if(isconnected) { + setState(() { + devices.remove(id); + pairedDevices.putIfAbsent(id, () => device); + }); + } + } + + /// + ///Exécuter lorsqu'on clique sur le button Annalyser ou Arreter + void _onPressLookforButton() { + if(timeout == true) { + _performDetection(); + } else { + widget.flutterBlue.stopScan(); + } + } + + List _buildChildrenButton() { + if(timeout) { + return [ + Text("Analyser"), + ]; + } else { + return [ + SizedBox( + child: CircularProgressIndicator(backgroundColor: Colors.blue), //TODO choisir une meilleur couleur + width: 20, + height: 20, + ), + Text("Arreter"), + ]; + } + } + + List _buildAppBarAction() { + List wList = [ + FlatButton( + onPressed: () { + _onPressLookforButton(); + }, + child: Row( + children: _buildChildrenButton() + ), + ), + ]; + return wList; + } + + /* UI update only */ + @override + Widget build(BuildContext context) { + /* Scan for BLE devices (should be once) */ + //_performDetection(); + + // This method is rerun every time setState is called, for instance as done + // by the _incrementCounter method above. + // + // The Flutter framework has been optimized to make rerunning build methods + // fast, so that you can just rebuild anything that needs updating rather + // than having to individually change instances of widgets. + return Scaffold( + appBar: AppBar( + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text(widget.title), + actions: _buildAppBarAction(), + ), + body: Center( + // Center is a layout widget. It takes a single child and positions it + // in the middle of the parent. + child: ListView(children: _buildDevicesList()) + ), + ); + } +} diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 1cf5dd21..72c0332c 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,10 +1,6 @@ -import 'dart:collection'; - -import 'package:apollineflutter/sensor.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_blue/flutter_blue.dart'; -import 'package:fluttertoast/fluttertoast.dart'; +import 'bluetoothDevicesPage.dart'; void main() => runApp(ApollineApp()); // This acts as the landing window of the app. @@ -32,114 +28,3 @@ class ApollineApp extends StatelessWidget { ); } } - -class BluetoothDevicesPage extends StatefulWidget { - BluetoothDevicesPage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _BluetoothDevicesPageState createState() => _BluetoothDevicesPageState(); -} - -class _BluetoothDevicesPageState extends State { - String state = "Scanning..."; - Map devices = {}; - - @override - void initState() { - super.initState(); - _performDetection(); - } - - /* Starts BLE detection */ - void _performDetection() - { - FlutterBlue flutterBlue = FlutterBlue.instance; - // Start scanning - flutterBlue.startScan(timeout: Duration(seconds: 10)); - - /* For each result, insert into the detected devices list if not already present */ - var subscription = flutterBlue.scanResults.listen((results) { - for (ScanResult r in results) { - setState(() {devices.putIfAbsent (r.device.id.toString(), () => r.device);} ); - } - }); - - setState(() { - state = "Detected devices:"; - }); - } - - /* Build the UI list of detected devices */ - List _buildDevicesList() { - List wList = new List(); - /* Add the state label at the top */ - wList.add(Text(state)); - - /* Add a button for each device */ - /* TODO: filter device list */ - devices.forEach((id, d) { - if(!wList.contains(d)) - wList.add(Card(child: ListTile(title: Text(d.name), subtitle: Text(id), onTap: () { - connectToDevice(d); - },))); - }); - - return wList; - } - - /* Handles a click on a device entry */ - void connectToDevice(BluetoothDevice device) - { - /* Stop scanning, if not already stopped */ - FlutterBlue.instance.stopScan(); - - /* We selected a device - go to the device screen passing information about the selected device */ - Navigator.push(context, - MaterialPageRoute(builder : (context) => SensorView(device: device)), - ); - } - - /* UI update only */ - @override - Widget build(BuildContext context) { - /* Scan for BLE devices (should be once) */ - //_performDetection(); - - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: ListView( - children: _buildDevicesList() - ) - ), - floatingActionButton: FloatingActionButton( - onPressed: _performDetection, - tooltip: 'Rescan', - child: Icon(Icons.refresh), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 61a682a7..feadc4a6 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -1,16 +1,17 @@ -import 'dart:collection'; +import 'dart:async'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/sensormodel.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -import 'package:fluttertoast/fluttertoast.dart'; + class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; + bool isConnected = false; @override State createState() => _SensorViewState(); @@ -20,8 +21,8 @@ class _SensorViewState extends State { String state = "Connecting to the device..."; String buf = ""; SensorModel lastReceivedData; - bool initialized = false; + StreamSubscription sub; //used for remove listening value to sensor /* Called when data is received from the sensor */ void _handleCharacteristicUpdate(List value) @@ -30,23 +31,21 @@ class _SensorViewState extends State { buf += s; if(buf.contains('\n')) - { - print("Got full line: " + buf); - List values = buf.split(';'); - /* Split values in a parseable format, and send them to the UI */ - setState(() { - lastReceivedData = SensorModel(values: values); - initialized = true; - - /* Perform additional handling here */ - - }); - buf = ""; - } + { + print("Got full line: " + buf); + List values = buf.split(';'); + /* Split values in a parseable format, and send them to the UI */ + setState(() { + lastReceivedData = SensorModel(values: values); + initialized = true; + + /* Perform additional handling here */ + }); + buf = ""; + } } - void updateState(String st) - { + void updateState(String st) { print(st); setState(() { state = st; @@ -59,6 +58,7 @@ class _SensorViewState extends State { { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; + /* Search for the Dust Sensor characteristic */ for(BluetoothCharacteristic c in characteristics) { if(c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) @@ -67,20 +67,20 @@ class _SensorViewState extends State { /* Enable notification */ updateState("Enable notification"); - - /* Enable notification */ + c.setNotifyValue(true).then((s) { - /* Catch updates on characteristic */ - c.value.listen((value) { + + sub = c.value.listen((value) { _handleCharacteristicUpdate(value); - } - ); + }); /* Now we tell the sensor to start sending data by sending char 'c' (?) */ - updateState("Starting up streaming"); - c.write([0x63]).then((s) { - print("Requested streaming start"); + Timer(Duration(seconds: 3), () { + //updateState("Starting up streaming"); + c.write([0x63]).then((s) { + print("Requested streaming start"); + }); }); }); } @@ -104,20 +104,20 @@ class _SensorViewState extends State { Future initializeDevice() async { print("Connecting to device"); - await widget.device.connect(); - /* Listen on connection state changes */ - var deviceStateSub = widget.device.state.listen((s) { - if(s == BluetoothDeviceState.connected) - { - /* Perform device initialization */ - handleDeviceConnect(widget.device); - } else { - /* TODO: Handle reconnection here */ + try { + await widget.device.connect(); + widget.isConnected = true; + } catch(e) { + if(e.code != "already_connected") { + throw e; } - }); - - + if(e.code == "already_connected") { + widget.isConnected = true; + } + } finally { + handleDeviceConnect(widget.device); + } } @override @@ -126,6 +126,12 @@ class _SensorViewState extends State { initializeDevice(); } + @override + void dispose() { + sub?.cancel(); + super.dispose(); + } + /* UI update only */ @override Widget build(BuildContext context) { @@ -134,6 +140,12 @@ class _SensorViewState extends State { return Scaffold( appBar: AppBar( title: Text(widget.device.name), + leading: IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pop(context, widget.isConnected); + } + ), ), body: Center( child: Column( @@ -150,6 +162,12 @@ class _SensorViewState extends State { return Scaffold( appBar: AppBar( title: Text(widget.device.name), + leading: IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pop(context, true); + } + ), ), body: Center( child: Column( From 865efbb4162c75d555deace7ede11a42b453791b Mon Sep 17 00:00:00 2001 From: RadiLina Date: Sat, 21 Nov 2020 20:28:50 +0100 Subject: [PATCH 002/522] feat: add data visualisation #2 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/assets/sun.png | Bin 0 -> 10168 bytes apolline-flutter/lib/sensor.dart | 316 ++++++++++++++---- apolline-flutter/pubspec.yaml | 3 + 4 files changed, 263 insertions(+), 58 deletions(-) create mode 100644 apolline-flutter/assets/sun.png diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index a00287e0..2fd86912 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]}],"date_created":"2020-11-21 20:06:53.459121","version":"1.22.4"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]}],"date_created":"2020-11-21 20:27:29.027393","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/assets/sun.png b/apolline-flutter/assets/sun.png new file mode 100644 index 0000000000000000000000000000000000000000..b1df8b55a1d8356da3bb44c416e3093f289db11f GIT binary patch literal 10168 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 { StreamSubscription sub; //used for remove listening value to sensor /* Called when data is received from the sensor */ - void _handleCharacteristicUpdate(List value) - { + void _handleCharacteristicUpdate(List value) { String s = String.fromCharCodes(value); buf += s; - if(buf.contains('\n')) - { + if (buf.contains('\n')) { print("Got full line: " + buf); List values = buf.split(';'); /* Split values in a parseable format, and send them to the UI */ @@ -52,25 +52,25 @@ class _SensorViewState extends State { }); } - void handleServiceDiscovered(BluetoothService service) - { - if(service.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorServiceUUID) - { + void handleServiceDiscovered(BluetoothService service) { + if (service.uuid.toString().toLowerCase() == + BlueSensorAttributes.DustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; /* Search for the Dust Sensor characteristic */ - for(BluetoothCharacteristic c in characteristics) { - if(c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) - { - updateState("Characteristic found - reading, READ flag is " + c.properties.read.toString()); + for (BluetoothCharacteristic c in characteristics) { + if (c.uuid.toString().toLowerCase() == + BlueSensorAttributes.DustSensorCharacteristicUUID) { + updateState("Characteristic found - reading, READ flag is " + + c.properties.read.toString()); /* Enable notification */ updateState("Enable notification"); - + c.setNotifyValue(true).then((s) { /* Catch updates on characteristic */ - + sub = c.value.listen((value) { _handleCharacteristicUpdate(value); }); @@ -88,12 +88,10 @@ class _SensorViewState extends State { } } - void handleDeviceConnect(BluetoothDevice d) - { + void handleDeviceConnect(BluetoothDevice d) { updateState("Configuring device"); List services; - d.discoverServices().then ((s) { - + d.discoverServices().then((s) { /* Discover services, and search for the Dust Sensor service */ s.forEach((service) { handleServiceDiscovered(service); @@ -101,18 +99,17 @@ class _SensorViewState extends State { }); } - Future initializeDevice() - async { + Future initializeDevice() async { print("Connecting to device"); try { await widget.device.connect(); widget.isConnected = true; - } catch(e) { - if(e.code != "already_connected") { + } catch (e) { + if (e.code != "already_connected") { throw e; } - if(e.code == "already_connected") { + if (e.code == "already_connected") { widget.isConnected = true; } } finally { @@ -136,51 +133,256 @@ class _SensorViewState extends State { @override Widget build(BuildContext context) { /* If we are not initialized, display status info */ - if(!initialized) { + if (!initialized) { return Scaffold( appBar: AppBar( title: Text(widget.device.name), leading: IconButton( - icon: Icon(Icons.arrow_back), - onPressed: () { - Navigator.pop(context, widget.isConnected); - } - ), + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pop(context, widget.isConnected); + }), ), body: Center( - child: Column( - children: [ - CupertinoActivityIndicator(), - Text(state), - ] - ), + child: Column(children: [ + CupertinoActivityIndicator(), + Text(state), + ]), ), ); - } - else { + } else { /* We got data : display them */ return Scaffold( - appBar: AppBar( - title: Text(widget.device.name), - leading: IconButton( - icon: Icon(Icons.arrow_back), - onPressed: () { - Navigator.pop(context, true); - } - ), - ), - body: Center( - child: Column( - children: [ - Text("PM1 : " + lastReceivedData.values[SensorModel.SENSOR_PM_1]), - Text("PM2.5: " + lastReceivedData.values[SensorModel.SENSOR_PM_2_5]), - Text("PM10 : " + lastReceivedData.values[SensorModel.SENSOR_PM_10]), - Text("BAT : " + lastReceivedData.values[SensorModel.SENSOR_VOLT]), - Text("TEMP : " + lastReceivedData.values[SensorModel.SENSOR_TEMP]), - ] + appBar: AppBar( + title: Text(widget.device.name), + leading: IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pop(context, true); + }), ), - ), - ); + body: + /**charts */ + GridView.count( + primary: false, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + crossAxisCount: 2, + children: [ + Container( + child: SfRadialGauge( + title: GaugeTitle(text: "PM1"), + axes: [ + RadialAxis( + interval: 10, + startAngle: 0, + endAngle: 360, + showTicks: false, + showLabels: false, + axisLineStyle: AxisLineStyle(thickness: 20), + pointers: [ + RangePointer( + value: double.parse(lastReceivedData + .values[SensorModel.SENSOR_PM_1]), + width: 20, + color: Colors.blueGrey, + enableAnimation: true, + cornerStyle: CornerStyle.bothCurve) + ], + annotations: [ + GaugeAnnotation( + widget: Column( + children: [ + Container( + width: 50.00, + height: 50.00, + decoration: new BoxDecoration()), + Padding( + padding: EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Container( + child: Text( + lastReceivedData.values[ + SensorModel.SENSOR_PM_1], + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 25)), + ), + ) + ], + ), + angle: 270, + positionFactor: 0.1) + ]) + ]), + ), + Container( + child: SfRadialGauge( + title: GaugeTitle(text: "PM2.5"), + axes: [ + RadialAxis( + interval: 10, + startAngle: 0, + endAngle: 360, + showTicks: false, + showLabels: false, + axisLineStyle: AxisLineStyle(thickness: 20), + pointers: [ + RangePointer( + value: double.parse(lastReceivedData + .values[SensorModel.SENSOR_PM_2_5]), + width: 20, + color: Colors.blueGrey, + enableAnimation: true, + cornerStyle: CornerStyle.bothCurve) + ], + annotations: [ + GaugeAnnotation( + widget: Column( + children: [ + Container( + width: 50.00, + height: 50.00, + decoration: new BoxDecoration()), + Padding( + padding: EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Container( + child: Text( + lastReceivedData.values[ + SensorModel.SENSOR_PM_2_5], + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 25)), + ), + ) + ], + ), + angle: 270, + positionFactor: 0.1) + ]) + ]), + ), + Container( + child: SfRadialGauge( + title: GaugeTitle(text: "PM10"), + axes: [ + RadialAxis( + interval: 10, + startAngle: 0, + endAngle: 360, + showTicks: false, + showLabels: false, + axisLineStyle: AxisLineStyle(thickness: 20), + pointers: [ + RangePointer( + value: double.parse(lastReceivedData + .values[SensorModel.SENSOR_PM_10]), + width: 20, + color: Colors.blueGrey, + enableAnimation: true, + cornerStyle: CornerStyle.bothCurve) + ], + annotations: [ + GaugeAnnotation( + widget: Column( + children: [ + Container( + width: 50.00, + height: 50.00, + decoration: new BoxDecoration()), + Padding( + padding: EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Container( + child: Text( + lastReceivedData.values[ + SensorModel.SENSOR_PM_10], + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 25)), + ), + ) + ], + ), + angle: 270, + positionFactor: 0.1) + ]) + ]), + ), + Container( + child: SfRadialGauge( + title: GaugeTitle(text: "BAT"), + axes: [ + RadialAxis( + minimum: 23.5, + maximum: 24.5, + ranges: [ + GaugeRange( + startValue: 23, endValue: 25, color: Colors.green) + ], + pointers: [ + NeedlePointer( + value: double.parse(lastReceivedData + .values[SensorModel.SENSOR_VOLT]), + enableAnimation: true) + ]), + ], + ), + ), + Container( + child: SfRadialGauge( + title: GaugeTitle(text: "TEMPERATURE"), + axes: [ + RadialAxis( + interval: 10, + startAngle: 0, + endAngle: 360, + showTicks: false, + showLabels: false, + axisLineStyle: AxisLineStyle(thickness: 20), + pointers: [ + RangePointer( + value: double.parse(lastReceivedData + .values[SensorModel.SENSOR_TEMP]), + width: 20, + color: Color(0xFFFFCD60), + enableAnimation: true, + cornerStyle: CornerStyle.bothCurve) + ], + annotations: [ + GaugeAnnotation( + widget: Column( + children: [ + Container( + width: 50.00, + height: 50.00, + decoration: new BoxDecoration( + image: new DecorationImage( + image: + ExactAssetImage('assets/sun.png'), + fit: BoxFit.fitHeight, + ), + )), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 0), + child: Container( + child: Text( + lastReceivedData.values[ + SensorModel.SENSOR_TEMP] + + '°C', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16)), + ), + ) + ], + ), + angle: 270, + positionFactor: 0.7, + verticalAlignment: GaugeAlignment.near) + ]) + ])) + ], + )); } } } diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 7248b59c..2ce25e3a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -24,6 +24,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 + syncfusion_flutter_gauges: ^18.2.55 dev_dependencies: flutter_test: @@ -36,6 +37,8 @@ dev_dependencies: # The following section is specific to Flutter. flutter: + assets: + - assets/sun.png # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From 659102e26c0b6d3c5c6202474fac75b2b64076fe Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sat, 21 Nov 2020 20:53:35 +0100 Subject: [PATCH 003/522] feat: add charts #2 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/main.dart | 6 +- apolline-flutter/lib/sensor.dart | 248 ++---------------- .../lib/services/realtime_data_service.dart | 24 ++ .../services/realtime_data_service_impl.dart | 58 ++++ .../lib/services/service_locator.dart | 11 + apolline-flutter/lib/widgets/quality.dart | 173 ++++++++++++ apolline-flutter/lib/widgets/stats.dart | 232 ++++++++++++++++ apolline-flutter/pubspec.yaml | 2 + 9 files changed, 526 insertions(+), 230 deletions(-) create mode 100644 apolline-flutter/lib/services/realtime_data_service.dart create mode 100644 apolline-flutter/lib/services/realtime_data_service_impl.dart create mode 100644 apolline-flutter/lib/services/service_locator.dart create mode 100644 apolline-flutter/lib/widgets/quality.dart create mode 100644 apolline-flutter/lib/widgets/stats.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 2fd86912..6492f59a 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]}],"date_created":"2020-11-21 20:27:29.027393","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 20:52:41.531524","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 72c0332c..8ddb3675 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,8 +1,12 @@ import 'package:flutter/material.dart'; import 'bluetoothDevicesPage.dart'; -void main() => runApp(ApollineApp()); +import 'services/service_locator.dart'; +void main() { + setupServiceLocator(); + runApp(ApollineApp()); +} // This acts as the landing window of the app. // Scans and displays Bluetooth devices in range, and allows to connect to them. diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index a319d4bc..b199a9e0 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -9,6 +9,9 @@ import 'package:flutter_blue/flutter_blue.dart'; /**for charts*/ import 'package:syncfusion_flutter_gauges/gauges.dart'; +import 'widgets/quality.dart'; +import 'widgets/stats.dart'; + class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); @@ -152,237 +155,26 @@ class _SensorViewState extends State { ); } else { /* We got data : display them */ - return Scaffold( - appBar: AppBar( - title: Text(widget.device.name), - leading: IconButton( - icon: Icon(Icons.arrow_back), - onPressed: () { - Navigator.pop(context, true); - }), - ), - body: - /**charts */ - GridView.count( - primary: false, - padding: const EdgeInsets.all(0), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - crossAxisCount: 2, - children: [ - Container( - child: SfRadialGauge( - title: GaugeTitle(text: "PM1"), - axes: [ - RadialAxis( - interval: 10, - startAngle: 0, - endAngle: 360, - showTicks: false, - showLabels: false, - axisLineStyle: AxisLineStyle(thickness: 20), - pointers: [ - RangePointer( - value: double.parse(lastReceivedData - .values[SensorModel.SENSOR_PM_1]), - width: 20, - color: Colors.blueGrey, - enableAnimation: true, - cornerStyle: CornerStyle.bothCurve) - ], - annotations: [ - GaugeAnnotation( - widget: Column( - children: [ - Container( - width: 50.00, - height: 50.00, - decoration: new BoxDecoration()), - Padding( - padding: EdgeInsets.fromLTRB(0, 2, 0, 0), - child: Container( - child: Text( - lastReceivedData.values[ - SensorModel.SENSOR_PM_1], - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 25)), - ), - ) - ], - ), - angle: 270, - positionFactor: 0.1) - ]) - ]), - ), - Container( - child: SfRadialGauge( - title: GaugeTitle(text: "PM2.5"), - axes: [ - RadialAxis( - interval: 10, - startAngle: 0, - endAngle: 360, - showTicks: false, - showLabels: false, - axisLineStyle: AxisLineStyle(thickness: 20), - pointers: [ - RangePointer( - value: double.parse(lastReceivedData - .values[SensorModel.SENSOR_PM_2_5]), - width: 20, - color: Colors.blueGrey, - enableAnimation: true, - cornerStyle: CornerStyle.bothCurve) - ], - annotations: [ - GaugeAnnotation( - widget: Column( - children: [ - Container( - width: 50.00, - height: 50.00, - decoration: new BoxDecoration()), - Padding( - padding: EdgeInsets.fromLTRB(0, 2, 0, 0), - child: Container( - child: Text( - lastReceivedData.values[ - SensorModel.SENSOR_PM_2_5], - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 25)), - ), - ) - ], - ), - angle: 270, - positionFactor: 0.1) - ]) - ]), - ), - Container( - child: SfRadialGauge( - title: GaugeTitle(text: "PM10"), - axes: [ - RadialAxis( - interval: 10, - startAngle: 0, - endAngle: 360, - showTicks: false, - showLabels: false, - axisLineStyle: AxisLineStyle(thickness: 20), - pointers: [ - RangePointer( - value: double.parse(lastReceivedData - .values[SensorModel.SENSOR_PM_10]), - width: 20, - color: Colors.blueGrey, - enableAnimation: true, - cornerStyle: CornerStyle.bothCurve) - ], - annotations: [ - GaugeAnnotation( - widget: Column( - children: [ - Container( - width: 50.00, - height: 50.00, - decoration: new BoxDecoration()), - Padding( - padding: EdgeInsets.fromLTRB(0, 2, 0, 0), - child: Container( - child: Text( - lastReceivedData.values[ - SensorModel.SENSOR_PM_10], - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 25)), - ), - ) - ], - ), - angle: 270, - positionFactor: 0.1) - ]) - ]), - ), - Container( - child: SfRadialGauge( - title: GaugeTitle(text: "BAT"), - axes: [ - RadialAxis( - minimum: 23.5, - maximum: 24.5, - ranges: [ - GaugeRange( - startValue: 23, endValue: 25, color: Colors.green) - ], - pointers: [ - NeedlePointer( - value: double.parse(lastReceivedData - .values[SensorModel.SENSOR_VOLT]), - enableAnimation: true) - ]), + return MaterialApp( + home: DefaultTabController( + length: 2, + child: Scaffold( + appBar: AppBar( + backgroundColor: Colors.green, + bottom: TabBar( + tabs: [ + Tab(icon: Icon(Icons.home)), + Tab(icon: Icon(Icons.insert_chart)), ], ), + title: Text('Apolline'), ), - Container( - child: SfRadialGauge( - title: GaugeTitle(text: "TEMPERATURE"), - axes: [ - RadialAxis( - interval: 10, - startAngle: 0, - endAngle: 360, - showTicks: false, - showLabels: false, - axisLineStyle: AxisLineStyle(thickness: 20), - pointers: [ - RangePointer( - value: double.parse(lastReceivedData - .values[SensorModel.SENSOR_TEMP]), - width: 20, - color: Color(0xFFFFCD60), - enableAnimation: true, - cornerStyle: CornerStyle.bothCurve) - ], - annotations: [ - GaugeAnnotation( - widget: Column( - children: [ - Container( - width: 50.00, - height: 50.00, - decoration: new BoxDecoration( - image: new DecorationImage( - image: - ExactAssetImage('assets/sun.png'), - fit: BoxFit.fitHeight, - ), - )), - Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 0), - child: Container( - child: Text( - lastReceivedData.values[ - SensorModel.SENSOR_TEMP] + - '°C', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16)), - ), - ) - ], - ), - angle: 270, - positionFactor: 0.7, - verticalAlignment: GaugeAlignment.near) - ]) - ])) - ], - )); + body: TabBarView(children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(dataSensor: lastReceivedData), + ])), + ), + ); } } } diff --git a/apolline-flutter/lib/services/realtime_data_service.dart b/apolline-flutter/lib/services/realtime_data_service.dart new file mode 100644 index 00000000..e5b1a2e7 --- /dev/null +++ b/apolline-flutter/lib/services/realtime_data_service.dart @@ -0,0 +1,24 @@ +class SensorModels { + static const int SENSOR_DATE = 0; + static const int SENSOR_PM_1 = 1; + static const int SENSOR_PM_2_5 = 2; + static const int SENSOR_PM_10 = 3; + static const int SENSOR_TEMP = 17; + static const int SENSOR_VOLT = 19; + + /* Values received, parsed through a comma-separated string */ + List values = []; + + SensorModels(this.values); +} + +abstract class RealtimeDataService { + Stream dataStream; + + void closeDataStream(); + void update(List newValues); + void start(); + void stop(); + bool isRunning; + List currentValues; +} diff --git a/apolline-flutter/lib/services/realtime_data_service_impl.dart b/apolline-flutter/lib/services/realtime_data_service_impl.dart new file mode 100644 index 00000000..2dfd9a43 --- /dev/null +++ b/apolline-flutter/lib/services/realtime_data_service_impl.dart @@ -0,0 +1,58 @@ +import 'dart:async'; + +import 'realtime_data_service.dart'; + +class RealtimeDataServiceImpl extends RealtimeDataService { + StreamController _streamController; + List values = []; + // ignore: non_constant_identifier_names + bool is_running = true; + + bool get isRunning { + bool result = is_running == true; + return result; + } + + List get currentValues { + return values; + } + + @override + void start() { + if (is_running == false) { + is_running = true; + } + } + + @override + void stop() { + if (is_running == true) { + is_running = false; + } + } + + @override + Stream get dataStream { + if (_streamController == null) { + _streamController = StreamController.broadcast( + onListen: start, + onCancel: stop, + ); + } + return _streamController.stream; + } + + @override + void closeDataStream() { + _streamController.close(); + } + + @override + void update(List newValues) { + // values = newValues; + if (_streamController != null && is_running == true) { + values = newValues; + _streamController.add(SensorModels(newValues)); + } + } +} diff --git a/apolline-flutter/lib/services/service_locator.dart b/apolline-flutter/lib/services/service_locator.dart new file mode 100644 index 00000000..aa1d0c16 --- /dev/null +++ b/apolline-flutter/lib/services/service_locator.dart @@ -0,0 +1,11 @@ +import 'package:get_it/get_it.dart'; + +import 'realtime_data_service.dart'; +import 'realtime_data_service_impl.dart'; + +GetIt locator = GetIt.instance; + +setupServiceLocator() { + locator.registerLazySingleton( + () => RealtimeDataServiceImpl()); +} diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart new file mode 100644 index 00000000..037a2252 --- /dev/null +++ b/apolline-flutter/lib/widgets/quality.dart @@ -0,0 +1,173 @@ +import 'package:apollineflutter/sensormodel.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:syncfusion_flutter_gauges/gauges.dart'; + +class Quality extends StatelessWidget { + final SensorModel lastReceivedData; + + Quality({Key key, this.lastReceivedData}) : super(key: key); + + SfRadialGauge _buildGauge(String title, String data, String unit, Color color, + BoxDecoration boxDecoration) { + return SfRadialGauge(title: GaugeTitle(text: title), axes: [ + RadialAxis( + interval: 10, + startAngle: 0, + endAngle: 360, + showTicks: false, + showLabels: false, + axisLineStyle: AxisLineStyle(thickness: 20), + pointers: [ + RangePointer( + value: double.parse(data), + width: 20, + color: color, + enableAnimation: true, + cornerStyle: CornerStyle.bothCurve) + ], + annotations: [ + GaugeAnnotation( + widget: Column( + children: [ + Container( + width: 50.00, height: 50.00, decoration: boxDecoration), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 0), + child: Container( + child: Text(data + unit, + style: TextStyle( + fontWeight: FontWeight.bold, fontSize: 25)), + ), + ) + ], + ), + angle: 270, + positionFactor: 0.9, + verticalAlignment: GaugeAlignment.near) + ]) + ]); + } + + SfRadialGauge _buildGaugeBattery(String title, String data) { + String level; + double pointer; + if (double.parse(data) > 3.97) { + //80 100 + level = "100"; + pointer = 100; + } else if (double.parse(data) >= 3.87) { + //60 80 + level = "80"; + pointer = 80; + } else if (double.parse(data) >= 3.79) { + //60 80 + level = "60"; + pointer = 60; + } else if (double.parse(data) >= 3.70) { + //40 60 + level = "40"; + pointer = 40; + } else { + //0 20 + level = "20"; + pointer = 20; + } + return SfRadialGauge(title: GaugeTitle(text: title), axes: [ + RadialAxis(minimum: 0, maximum: 100, ranges: [ + GaugeRange( + startValue: 0, + endValue: 20, + color: Colors.red, + startWidth: 10, + endWidth: 10), + GaugeRange( + startValue: 20, + endValue: 40, + color: Colors.orange, + startWidth: 10, + endWidth: 10), + GaugeRange( + startValue: 40, + endValue: 60, + color: Colors.green[200], + startWidth: 10, + endWidth: 10), + GaugeRange( + startValue: 60, + endValue: 80, + color: Colors.green[300], + startWidth: 10, + endWidth: 10), + GaugeRange( + startValue: 80, + endValue: 100, + color: Colors.green, + startWidth: 10, + endWidth: 10) + ], pointers: [ + NeedlePointer(value: pointer) + ], annotations: [ + GaugeAnnotation( + widget: Container( + child: Text(level, + style: + TextStyle(fontSize: 25, fontWeight: FontWeight.bold))), + angle: 90, + positionFactor: 0.5) + ]) + ]); + } + + @override + Widget build(BuildContext context) { + return GridView.count( + primary: false, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + crossAxisCount: 2, + children: [ + Container( + child: _buildGauge( + "PM1", + lastReceivedData.values[SensorModel.SENSOR_PM_1], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "PM2.5", + lastReceivedData.values[SensorModel.SENSOR_PM_2_5], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "PM10", + lastReceivedData.values[SensorModel.SENSOR_PM_10], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "TEMPERATURE", + lastReceivedData.values[SensorModel.SENSOR_TEMP], + "°C", + Color(0xFFFFCD60), + new BoxDecoration( + image: new DecorationImage( + image: ExactAssetImage('assets/sun.png'), + fit: BoxFit.fitHeight))), + ), + Container( + child: _buildGaugeBattery( + "BAT", lastReceivedData.values[SensorModel.SENSOR_VOLT])) + ], + ); + } +} diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart new file mode 100644 index 00000000..399830bd --- /dev/null +++ b/apolline-flutter/lib/widgets/stats.dart @@ -0,0 +1,232 @@ +import 'dart:async'; +import 'dart:core'; + +import 'package:apollineflutter/services/realtime_data_service.dart'; +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:mp_chart/mp/chart/line_chart.dart'; +import 'package:mp_chart/mp/controller/line_chart_controller.dart'; +import 'package:mp_chart/mp/core/common_interfaces.dart'; +import 'package:mp_chart/mp/core/data/line_data.dart'; +import 'package:mp_chart/mp/core/data_interfaces/i_line_data_set.dart'; +import 'package:mp_chart/mp/core/data_set/line_data_set.dart'; +import 'package:mp_chart/mp/core/description.dart'; +import 'package:mp_chart/mp/core/entry/entry.dart'; +import 'package:mp_chart/mp/core/enums/axis_dependency.dart'; +import 'package:mp_chart/mp/core/enums/x_axis_position.dart'; +import 'package:mp_chart/mp/core/highlight/highlight.dart'; +import 'package:mp_chart/mp/core/utils/color_utils.dart'; +import 'package:apollineflutter/sensormodel.dart'; +import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; + +class Stats extends StatefulWidget { + Stats({Key key, this.dataSensor}) : super(key: key); + SensorModel dataSensor; + @override + State createState() { + return StatsState(datas: dataSensor); + } +} + +class StatsState extends State implements OnChartValueSelectedListener { + StatsState({Key key, this.datas}); + RealtimeDataService _dataService = locator(); + Stream _dataStream = locator().dataStream; + StreamSubscription _streamSubscription; + LineChartController controller; + SensorModel datas; + ILineDataSet setPM1; + ILineDataSet setPM2_5; + ILineDataSet setPM10; + bool intialized = false; + double i0 = 0; + double i1 = 0; + double i2 = 0; + + List _dataTimeX = List(); + @override + void dispose() { + _streamSubscription.cancel(); + super.dispose(); + } + + @override + void initState() { + _initController(); + _streamSubscription = _dataStream.listen((newData) { + if (intialized) { + _addEntry( + 0, i0++, double.parse(newData.values[SensorModel.SENSOR_PM_1])); + _addEntry( + 1, i1++, double.parse(newData.values[SensorModel.SENSOR_PM_2_5])); + _addEntry( + 2, i2++, double.parse(newData.values[SensorModel.SENSOR_PM_10])); + _dataTimeX.add(newData.values[SensorModel.SENSOR_DATE]); + setState(() {}); + } + }); + super.initState(); + Timer(Duration(milliseconds: 0), () { + LineData data = controller?.data; + data = LineData(); + controller.data = data; + setPM1 = _createSet(); + data.addDataSet(setPM1); + setPM2_5 = _createSet2(); + data.addDataSet(setPM2_5); + setPM10 = _createSet3(); + data.addDataSet(setPM10); + intialized = true; + }); + } + + void _togglePulsar() { + if (_dataService.isRunning) { + _dataService.stop(); + } else { + _dataService.start(); + } + setState(() {}); + } + + @override + Widget getBody() { + return Stack(children: [ + Positioned( + right: 0, + left: 0, + top: 0, + bottom: 0, + child: LineChart(controller), + ), + Align( + alignment: Alignment.bottomRight, + child: FloatingActionButton( + onPressed: _togglePulsar, + child: Icon( + _dataService.isRunning ? Icons.pause : Icons.play_arrow, + color: Color.fromARGB(0xff, 0x17, 0x0b, 0x0f), + ), + ), + ), + ]); + } + + @override + Widget build(BuildContext context) { + return getBody(); + } + + void _initController() { + var desc = Description()..enabled = false; + controller = LineChartController( + axisLeftSettingFunction: (axisLeft, controller) { + axisLeft + ..drawGridLines = (false) + ..setAxisMinimum(0); + }, + axisRightSettingFunction: (axisRight, controller) { + axisRight + ..drawGridLines = (false) + ..setAxisMinimum(0); + }, + legendSettingFunction: (legend, controller) { + legend + ..wordWrapEnabled = (true) + ..drawInside = (false); + }, + xAxisSettingFunction: (xAxis, controller) { + xAxis + ..position = (XAxisPosition.BOTH_SIDED) + ..setAxisMinimum(0) + ..setGranularity(1) + ..setValueFormatter(A(_dataTimeX)) + ..setAxisMaximum( + controller.data == null ? 0 : controller.data.xMax + 0.25); + }, + // noDataText: + // "No chart data available. \nUse the menu to add entries and data sets!", + drawGridBackground: false, + dragXEnabled: true, + dragYEnabled: true, + scaleXEnabled: true, + scaleYEnabled: true, + selectionListener: this, + pinchZoomEnabled: true, + infoBgColor: ColorUtils.HOLO_GREEN_LIGHT, + description: desc); + } + + @override + void onNothingSelected() {} + + @override + void onValueSelected(Entry e, Highlight h) {} + + final List colors = ColorUtils.VORDIPLOM_COLORS; + + void _addEntry(int setIndex, double x, double y) { + LineData data = controller?.data; + + if (data == null) { + data = LineData(); + controller.data = data; + } + data.addEntry(Entry(x: x, y: y), setIndex); + data.notifyDataChanged(); + + controller.setVisibleXRangeMaximum(6); + controller.moveViewTo( + (data.getEntryCount() - 7).toDouble(), 50, AxisDependency.LEFT); + controller.state?.setStateIfNotDispose(); + } + + LineDataSet _createSet() { + LineDataSet set = LineDataSet(null, "PM 1"); + set.setLineWidth(2.5); + set.setCircleRadius(4.5); + set.setColor1(Color.fromARGB(255, 240, 99, 99)); + set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); + set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); + set.setAxisDependency(AxisDependency.LEFT); + set.setValueTextSize(10); + return set; + } + + LineDataSet _createSet2() { + LineDataSet set = LineDataSet(null, "PM 2.5"); + set.setLineWidth(2.5); + set.setCircleRadius(4.5); + set.setColor1(Color.fromARGB(100, 0, 255, 99)); + set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); + set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); + set.setAxisDependency(AxisDependency.LEFT); + set.setValueTextSize(10); + return set; + } + + LineDataSet _createSet3() { + LineDataSet set = LineDataSet(null, "PM 10"); + set.setLineWidth(2.5); + set.setCircleRadius(4.5); + set.setColor1(Color.fromARGB(120, 0, 99, 99)); + set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); + set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); + set.setAxisDependency(AxisDependency.LEFT); + set.setValueTextSize(10); + return set; + } +} + +class A extends ValueFormatter { + A(this._dataTimeX) : super(); + + final List _dataTimeX; + @override + String getFormattedValue1(double value) { + List timeX = + _dataTimeX[value.toInt() % _dataTimeX.length].split('_'); + return timeX[3] + ':' + timeX[4] + ':' + timeX[5]; + } +} diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 2ce25e3a..97a6d9c8 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -25,6 +25,8 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 syncfusion_flutter_gauges: ^18.2.55 + get_it: ^5.0.1 + mp_chart: ^0.3.0 dev_dependencies: flutter_test: From 033434f337fd4c14945bf903570f3a90c37fc0e3 Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sat, 21 Nov 2020 21:02:01 +0100 Subject: [PATCH 004/522] feat: add realtime_data_service #2 --- apolline-flutter/.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/sensor.dart | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 6492f59a..9bdf1a77 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 20:52:41.531524","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:01:08.661730","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index b199a9e0..01a40c9b 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -6,9 +6,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -/**for charts*/ -import 'package:syncfusion_flutter_gauges/gauges.dart'; - +import 'services/realtime_data_service.dart'; +import 'services/service_locator.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; @@ -29,6 +28,7 @@ class _SensorViewState extends State { bool initialized = false; StreamSubscription sub; //used for remove listening value to sensor + RealtimeDataService _dataService = locator(); /* Called when data is received from the sensor */ void _handleCharacteristicUpdate(List value) { String s = String.fromCharCodes(value); @@ -40,6 +40,7 @@ class _SensorViewState extends State { /* Split values in a parseable format, and send them to the UI */ setState(() { lastReceivedData = SensorModel(values: values); + _dataService.update(values); initialized = true; /* Perform additional handling here */ From 65189a3d10b2aea03a59ea72121fe4a93f4ee23a Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sat, 21 Nov 2020 21:44:33 +0100 Subject: [PATCH 005/522] feat: add maps #2 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/sensor.dart | 5 +- apolline-flutter/lib/widgets/maps.dart | 54 +++++++++++++++++++ apolline-flutter/pubspec.yaml | 1 + 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 apolline-flutter/lib/widgets/maps.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 9bdf1a77..986580b8 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:01:08.661730","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:43:56.204760","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 01a40c9b..4ce79ec7 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -8,6 +8,7 @@ import 'package:flutter_blue/flutter_blue.dart'; import 'services/realtime_data_service.dart'; import 'services/service_locator.dart'; +import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; @@ -158,7 +159,7 @@ class _SensorViewState extends State { /* We got data : display them */ return MaterialApp( home: DefaultTabController( - length: 2, + length: 3, child: Scaffold( appBar: AppBar( backgroundColor: Colors.green, @@ -166,6 +167,7 @@ class _SensorViewState extends State { tabs: [ Tab(icon: Icon(Icons.home)), Tab(icon: Icon(Icons.insert_chart)), + Tab(icon: Icon(Icons.map)), ], ), title: Text('Apolline'), @@ -173,6 +175,7 @@ class _SensorViewState extends State { body: TabBarView(children: [ Quality(lastReceivedData: lastReceivedData), Stats(dataSensor: lastReceivedData), + MapSample(), ])), ), ); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart new file mode 100644 index 00000000..393db9b4 --- /dev/null +++ b/apolline-flutter/lib/widgets/maps.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; + +class MapSample extends StatefulWidget { + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + GoogleMapController myMapController; + final Set _markers = new Set(); + static const LatLng _mainLocation = const LatLng(25.69893, 32.6421); + @override + Widget build(BuildContext context) { + return new Scaffold( + body: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: GoogleMap( + initialCameraPosition: CameraPosition( + target: _mainLocation, + zoom: 10.0, + ), + markers: this.myMarker(), + mapType: MapType.normal, + onMapCreated: (controller) { + setState(() { + myMapController = controller; + }); + }, + ), + ), + ], + )); + } + + Set myMarker() { + setState(() { + _markers.add(Marker( + // This marker id can be anything that uniquely identifies each marker. + markerId: MarkerId(_mainLocation.toString()), + position: _mainLocation, + infoWindow: InfoWindow( + title: 'Historical City', + snippet: '5 Star Rating', + ), + icon: BitmapDescriptor.defaultMarker, + )); + }); + + return _markers; + } +} diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 97a6d9c8..25aabff1 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -27,6 +27,7 @@ dependencies: syncfusion_flutter_gauges: ^18.2.55 get_it: ^5.0.1 mp_chart: ^0.3.0 + google_maps_flutter: ^1.0.3 dev_dependencies: flutter_test: From 8a621c564008e5802670a4796d20a1fe867a605b Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sat, 21 Nov 2020 21:55:02 +0100 Subject: [PATCH 006/522] feat: fix maps #2 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/widgets/maps.dart | 73 +++++++++---------- 2 files changed, 34 insertions(+), 41 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 986580b8..7059747a 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:43:56.204760","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:54:27.378287","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 393db9b4..75a8cf03 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -1,54 +1,47 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; class MapSample extends StatefulWidget { @override - _MyAppState createState() => _MyAppState(); + State createState() => MapSampleState(); } -class _MyAppState extends State { - GoogleMapController myMapController; - final Set _markers = new Set(); - static const LatLng _mainLocation = const LatLng(25.69893, 32.6421); +class MapSampleState extends State { + Completer _controller = Completer(); + + static final CameraPosition _kGooglePlex = CameraPosition( + target: LatLng(37.42796133580664, -122.085749655962), + zoom: 14.4746, + ); + + static final CameraPosition _kLake = CameraPosition( + bearing: 192.8334901395799, + target: LatLng(37.43296265331129, -122.08832357078792), + tilt: 59.440717697143555, + zoom: 19.151926040649414); + @override Widget build(BuildContext context) { return new Scaffold( - body: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: GoogleMap( - initialCameraPosition: CameraPosition( - target: _mainLocation, - zoom: 10.0, - ), - markers: this.myMarker(), - mapType: MapType.normal, - onMapCreated: (controller) { - setState(() { - myMapController = controller; - }); - }, - ), - ), - ], - )); + body: GoogleMap( + mapType: MapType.hybrid, + initialCameraPosition: _kGooglePlex, + onMapCreated: (GoogleMapController controller) { + _controller.complete(controller); + }, + ), + floatingActionButton: FloatingActionButton.extended( + onPressed: _goToTheLake, + label: Text('To the lake!'), + icon: Icon(Icons.directions_boat), + ), + ); } - Set myMarker() { - setState(() { - _markers.add(Marker( - // This marker id can be anything that uniquely identifies each marker. - markerId: MarkerId(_mainLocation.toString()), - position: _mainLocation, - infoWindow: InfoWindow( - title: 'Historical City', - snippet: '5 Star Rating', - ), - icon: BitmapDescriptor.defaultMarker, - )); - }); - - return _markers; + Future _goToTheLake() async { + final GoogleMapController controller = await _controller.future; + controller.animateCamera(CameraUpdate.newCameraPosition(_kLake)); } } From cdb2bbcfa4d46878e48d38926b8fa6694102080d Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sat, 21 Nov 2020 22:01:52 +0100 Subject: [PATCH 007/522] feat: add api_key #2 --- apolline-flutter/.flutter-plugins-dependencies | 2 +- apolline-flutter/android/app/src/main/AndroidManifest.xml | 3 +++ apolline-flutter/ios/Runner/AppDelegate.swift | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 7059747a..380b1de4 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:54:27.378287","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:55:21.766298","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index f772334f..2b3a0f6d 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -29,5 +29,8 @@ + + diff --git a/apolline-flutter/ios/Runner/AppDelegate.swift b/apolline-flutter/ios/Runner/AppDelegate.swift index 37636837..93988c14 100644 --- a/apolline-flutter/ios/Runner/AppDelegate.swift +++ b/apolline-flutter/ios/Runner/AppDelegate.swift @@ -1,5 +1,6 @@ import UIKit import Flutter +import GoogleMaps @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { @@ -7,6 +8,7 @@ import Flutter _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { + GMSServices.provideAPIKey("AIzaSyBA_4x3VNJg8NrHxLySeeiej0M0EFA6NJY") GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } From d66938c2364a3452e03a6fdec02e87f5d87f1b31 Mon Sep 17 00:00:00 2001 From: remividoralves Date: Sat, 21 Nov 2020 22:20:45 +0100 Subject: [PATCH 008/522] fix: Add error message when bluetooth is disabled #11 --- .../lib/bluetoothDevicesPage.dart | 81 +++++++++++++------ 1 file changed, 56 insertions(+), 25 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 98efe964..b818d112 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -29,28 +29,62 @@ class _BluetoothDevicesPageState extends State { Map devices = {}; Map pairedDevices = {}; List alreadyUsedDevice = []; - + @override void initState() { super.initState(); - _performDetection(); + initializeDevice(); + } + + /// + ///Permet de tester si le bluetooth est activé ou pas + Future initializeDevice() async { + var isOn = await widget.flutterBlue.isOn; + if (isOn) { + _performDetection(); + } else { + showDialogBluetooth(); + } + } + + /// + ///Afficher un message pour activer le bluetooth + void showDialogBluetooth() { + Widget okbtn = FlatButton( + child: Text("ok"), + onPressed: () { + Navigator.of(context).pop(); + }, + ); + + AlertDialog alert = AlertDialog( + title: Text("Alert"), + content: Text("Activez votre bluetooth pour détecter des appareils"), + actions: [okbtn], + ); + + showDialog( + context: context, + builder: (context) => alert, + ); } /* Starts BLE detection */ void _performDetection() { - // Start scanning setState(() { timeout = false; }); - + widget.flutterBlue.startScan(timeout: Duration(seconds: 10)).then((val) { setState(() { timeout = true; }); }); - widget.flutterBlue.connectedDevices.asStream().listen((List ds) { + widget.flutterBlue.connectedDevices + .asStream() + .listen((List ds) { for (BluetoothDevice device in ds) { setState(() { pairedDevices.putIfAbsent(device.id.toString(), () => device); @@ -71,16 +105,17 @@ class _BluetoothDevicesPageState extends State { });*/ } - void _addWidgetDevices(Map devices, List l, Function(List, BluetoothDevice) cond) { + void _addWidgetDevices(Map devices, List l, + Function(List, BluetoothDevice) cond) { devices.forEach((id, d) { if (cond(l, d)) l.add(Card( child: ListTile( - title: Text(d.name), - subtitle: Text(id), - onTap: () { - connectToDevice(d, id); - }, + title: Text(d.name), + subtitle: Text(id), + onTap: () { + connectToDevice(d, id); + }, ))); }); } @@ -98,7 +133,7 @@ class _BluetoothDevicesPageState extends State { List wList = new List(); /* Add the state label at the top */ //wList.add(Text(state)); // TODO: remove - if(pairedDevices.length > 0) { + if (pairedDevices.length > 0) { wList.add(Text("Périphérique appairés")); _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); } @@ -107,7 +142,6 @@ class _BluetoothDevicesPageState extends State { _addWidgetDevices(devices, wList, _conditionForDevices); /* Add a button for each device */ /* TODO: filter device list */ - return wList; } @@ -119,11 +153,10 @@ class _BluetoothDevicesPageState extends State { /* We selected a device - go to the device screen passing information about the selected device */ var isconnected = await Navigator.push( context, - MaterialPageRoute( - builder: (context) => SensorView(device: device)), + MaterialPageRoute(builder: (context) => SensorView(device: device)), ); - if(isconnected) { + if (isconnected) { setState(() { devices.remove(id); pairedDevices.putIfAbsent(id, () => device); @@ -134,22 +167,23 @@ class _BluetoothDevicesPageState extends State { /// ///Exécuter lorsqu'on clique sur le button Annalyser ou Arreter void _onPressLookforButton() { - if(timeout == true) { - _performDetection(); + if (timeout == true) { + initializeDevice(); } else { widget.flutterBlue.stopScan(); } } List _buildChildrenButton() { - if(timeout) { + if (timeout) { return [ Text("Analyser"), ]; } else { return [ SizedBox( - child: CircularProgressIndicator(backgroundColor: Colors.blue), //TODO choisir une meilleur couleur + child: CircularProgressIndicator( + backgroundColor: Colors.blue), //TODO choisir une meilleur couleur width: 20, height: 20, ), @@ -164,9 +198,7 @@ class _BluetoothDevicesPageState extends State { onPressed: () { _onPressLookforButton(); }, - child: Row( - children: _buildChildrenButton() - ), + child: Row(children: _buildChildrenButton()), ), ]; return wList; @@ -194,8 +226,7 @@ class _BluetoothDevicesPageState extends State { body: Center( // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. - child: ListView(children: _buildDevicesList()) - ), + child: ListView(children: _buildDevicesList())), ); } } From 995ec658824b202c604655dc61e16bcfb67f0318 Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Tue, 8 Dec 2020 18:17:15 +0100 Subject: [PATCH 009/522] feat: add icone launcher apolline #14 --- .../.flutter-plugins-dependencies | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 5436 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 3188 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 8018 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 14121 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 18007 bytes .../AppIcon.appiconset/100.png | Bin 0 -> 8563 bytes .../AppIcon.appiconset/1024.png | Bin 0 -> 441684 bytes .../AppIcon.appiconset/114.png | Bin 0 -> 10160 bytes .../AppIcon.appiconset/120.png | Bin 0 -> 11100 bytes .../AppIcon.appiconset/128.png | Bin 0 -> 12111 bytes .../AppIcon.appiconset/144.png | Bin 0 -> 14121 bytes .../AppIcon.appiconset/152.png | Bin 0 -> 15320 bytes .../Assets.xcassets/AppIcon.appiconset/16.png | Bin 0 -> 615 bytes .../AppIcon.appiconset/167.png | Bin 0 -> 17510 bytes .../AppIcon.appiconset/172.png | Bin 0 -> 18342 bytes .../AppIcon.appiconset/180.png | Bin 0 -> 19669 bytes .../AppIcon.appiconset/196.png | Bin 0 -> 22320 bytes .../Assets.xcassets/AppIcon.appiconset/20.png | Bin 0 -> 878 bytes .../AppIcon.appiconset/216.png | Bin 0 -> 27029 bytes .../AppIcon.appiconset/256.png | Bin 0 -> 37163 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 0 -> 1538 bytes .../Assets.xcassets/AppIcon.appiconset/32.png | Bin 0 -> 1804 bytes .../Assets.xcassets/AppIcon.appiconset/40.png | Bin 0 -> 2447 bytes .../Assets.xcassets/AppIcon.appiconset/48.png | Bin 0 -> 3188 bytes .../Assets.xcassets/AppIcon.appiconset/50.png | Bin 0 -> 3330 bytes .../AppIcon.appiconset/512.png | Bin 0 -> 130724 bytes .../Assets.xcassets/AppIcon.appiconset/55.png | Bin 0 -> 3723 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 0 -> 3942 bytes .../Assets.xcassets/AppIcon.appiconset/58.png | Bin 0 -> 4046 bytes .../Assets.xcassets/AppIcon.appiconset/60.png | Bin 0 -> 4238 bytes .../Assets.xcassets/AppIcon.appiconset/64.png | Bin 0 -> 4708 bytes .../Assets.xcassets/AppIcon.appiconset/72.png | Bin 0 -> 5436 bytes .../Assets.xcassets/AppIcon.appiconset/76.png | Bin 0 -> 5862 bytes .../Assets.xcassets/AppIcon.appiconset/80.png | Bin 0 -> 6175 bytes .../Assets.xcassets/AppIcon.appiconset/87.png | Bin 0 -> 7034 bytes .../Assets.xcassets/AppIcon.appiconset/88.png | Bin 0 -> 7134 bytes .../AppIcon.appiconset/Contents.json | 123 +----------------- apolline-flutter/pubspec.yaml | 1 + 39 files changed, 3 insertions(+), 123 deletions(-) create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 380b1de4..7acabc70 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.6/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 21:55:21.766298","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-08 18:08:32.620037","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apolline-flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..b5de9a54c7cfa936ae83e30ac8b59ed28eacfece 100644 GIT binary patch literal 5436 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 AQ2+n{ diff --git a/apolline-flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apolline-flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..745b4b4744fdbe42b478e36b6ac4f8e1bef5d45b 100644 GIT binary patch literal 3188 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 a`hNjx$$s#8vOkFc0000i*pfB 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 KfK|y_1pf~@T56^M literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/apolline-flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apolline-flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..8e8cf216dd92adcc8595efe09efa97e55441dbb5 100644 GIT binary patch literal 14121 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 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/apolline-flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apolline-flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..2b290b337413586d502b7d88b0321d18ce6be80c 100644 GIT binary patch literal 18007 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 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb5f66d430c877c3ea62415dcf4d0b74ae91bdb GIT binary patch literal 8563 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 ZAK6xZR3QT$Bm6K0Ku%g2S|Mo?_#g2eO&kCK literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..13a59042f8aa5d370bf29f5a95f225d50f769501 GIT binary patch literal 441684 zcmd>Fg0YnT3Phso=5fH=$ zX{ahc@XuV!3J88Miaopi>hAafF|VL7b;)PK!r16u{#cUA9=AKC3?EA0S`I&1fY-LD zDLV+f;s5;jf{?3s>zi05NY{#5k4u@F91m8h3`rfz<$Qox{B z11fmazD);hEO`wqW$v)WJ)=?~zWDV2>7R5G#E#ajSG+ZcVyo8Wb7`&T|LchXT^hF3 zTJ;C6b+R9%uk!P&D`bpJqlR8Pbv%Lo>#i5WDzxwuje9ztWbZSrV)vvoJWFY=l4LIX z{;x-W5e;0q3S|o6hkR7F(|n8|g#P!5U9#Q-NZp$dnW$z0Q~GZJ-dz-f|KPK!ML$Jr zSbv%`gynwdc%oOUct$5MbTB%CLXRIve&pYjuf4#)`QJ}|J$Tv8HE@I2xy&J(S3~zZ z*+zBwO{pML9i0~@CMKEp!6QG6{AXK+)ob+Y@G~P{bFIm>!L`XWQ>*p!_yg52)VB>g zue;<4IeafwKBqN`{MY{Ni2Mr?n!}g&CLvut4UL$G<=?-5fAI6XBWY^=`72(Hgx+QE zfSQ?mTeX4q$14Uq+V>Ik_||-fO6{b@@CVN)^=i#mMyC|9Y(| z`!WM$+3;ue-p2i(-G}nJ@PJ1!CB-7Y8*KU+{mHN1ys;Uzu9~?2&AM(X>1WRmcixWs z`I^J1S0}@{5EZ6M!q?Q&RQsm{?)xDXN&*lQ#wzoKz5Jd%Jf`B5)DYtO*M=8KKX~<_ zcCV?##o)PAG1Hk!H?dUNtm8bd$+9>4i0ENS%PgeDm@timfHe&9Zvkxoyfn79c}1rL zPbojrTUTZny?lM!N=SiM)oV&yj|3`Iu{)Nb{x^uBzuH+!+Pw^=HYm~OvIA?Sk`Ytm zch?dvk?-0%V+2d3j1}Ap{HGW!U9=CyOq`OqA2h$=6PqfmXvsK|yT16~iFk<1f1|j> ze=jx9O%#eZA#ryHcobK;{&d=Y|TFnaaTyo3B2dnP9vhE)k z(8{`IbLZm~y@F~_nXJ-6t*lAg@9#8R_5!zi_@*3s2L@a*-ZHW`vIZ!U__Q|;yLl45 zzdLRJ>S3=bx3jaWL!Xyy`QU!lx$Ip#78>U3>svhVqI|{Mh0tP@@>HTqUYz;f{%+NG#i!vfHYP7QM0|er zipD84G}Q6&x|L>Re4T5?G~b`%oyiwovRb#Yg?pm1^Jh$pOybP34r+)6;5t z0ex@d3QM)R8YlF=|2g(x*r3cLEzba42L(RQUL7l4t?^v!o&9J~zENe{pH4bfV&wHX z2-D)1XEu3WZr0L>>U|>+RBl{Xma@Ooi4MVC16^i1b@K#!badqK_fFvAzGgL!4-5BJ z(SF^yXgq#)`c5wK3ko{F$;rtnmR?(hH`;~dDValq<&}eVpAFYXmc4J$<9(ZK?(tIo zs{C*KyVKss5F!lKpsFWIBT8NCzFpqW>kI`o7~(EDGBrO(N3wtWe(}}omr6gI4)j|SCbU1k|haev%6~(Rc|^h z9c=2OJ~W=3)?khCMlG^PfkCr;xGBRAc(3=B6=qZP@kq0RaIi>*EzS zS-UAA_Zp^O6nLVBQtoZ^$aTw4!6{5iiPRC!E=p%!P#fgViMRk=#`A}eZjc=D{6&Zo z-~RzWD-r{{3*TfybiwY@2dezh$SZ{8$mf}%VdyT=W{L7}2RfU2?&S5xQVn|8?A&8Z zmM`w$MQM;ZW!%AWu0Mt{8g)%MxYj%xRZP#e!GN}WT`&2yqo$F5@7dGO3+ZM8Wm^zr zur^-tHq6Xy)&|7vCem{BJL7~L*AQelzR2=i+j&Pz&_Qca(7^`dF0R>ufq~`O@{NphrIF6>70Jf;~o9NT{?_U#|Pxx4Zqly_J*e`@h5&Z4i-a zFl^Q6xY*NslC*Mqs4M?c)UTlScf;mOS{uGi_xg_)G~7lC&%+|#o;$D`M%$qEqrMI~ zjuh#xvr*h80x1WDwk@a1B<2M&_ zFiH{i^HJ1SF?;YespssnzTNT%(_VdUp*tB<1$WatyTnm);-?dKIW10~pAfz!AtC8x zQwa9YWcoJC1FxfP&pl9{L16u$g6PjXdX_Kb*^!(ub;uU-=Rn?tMDPwt5pA$k{CN!Y z8?PI-c@<%jhlc7QL4r?){Mz<0gNokAe2Dju8PVn~vKHairJTr|Q8VqJko5y0I?NA= znUlbW&FF@O78G^PqR2v3KV6Pb;T)t*H`p54*T6gy{7)QZoI-ODxO3B_!ek*_YZfIpo1Ad zb9vvjae>><+0rCjr|UJ@DQ^Gne#s-kCLic667}`v#mQUg_5$pxQx2CV?|)x*{@Q7$ zckaAQ4$nAlc0@^AmT=w3%6a);!j^x`w)yr4S*wS6rLB(bX#CW!)~QyZxY{dTytSJ#aM@U=FOjmflZVQ4!N4eSP2CYHA(b+uPe7Ha0ejvS3hCHGXG7IghQS_1n^ih-$VOKxLh;8{36 zk=aCB*m-7bZ0y9z{(6RyzW)AFZ*T81=o4))m>-&(Po?PT>1n}xp=M@g3T2?N@9b%B zek?AIe4UbFZf;~0&<`44UR+ev4SKfGdagAj1gzR2D==+Log5t}4GawG7*IV|+@>b0 ziscoLlZaT7cr|(!s>9(Z(Ys_)_ZDFP%Xz1R%0C65ZzjEaRZj~8b=+fP}d@`M=?l(%s^j0(wH6f~am zw2>$jK5}WrD|bLf1R=wUg(Je0vntH4z~5qSW-XqHAhco5_vzlNCoh&(3c4lP90?dD zws|vMIvW=Q9cWi#QN^CxVtYDw$RhpR8-nAg@{iQd7)d%!1A96PyaMI=U@G1Pf zu$7h=>$I6re|Z$#i4pCX1MXQVh@nAm3wXHHU5&j@;G_1XaDgM3ccX{JBQZHHXg{(( zinLumi)Ukt%mbA}=VI~7o|aaP^$09=zZgktMwb=Gq0Zx2$&`ze7K}rer|20O>ymkU zic1j{*RL~O7iW=sk4oNjIiys0~OUZadAC~ zo2>&`vUM1+FLzO}%Xs&8cmH{nmX#{Gn_~pQBMTP;f=oA@F?o^4TCoApsL&rjWA}UTv5=(Ic#32sH#r@ z`gPN^v#fvCEmB4gONc1X9k9f}KWXc}_AEymFYX-e1Hc;r055CXocYh4qvrs}P6DvY z%|vz_tYD7B97N%TE8UjolL;4JB3_ZKPc`|u&Ar!5F}vaL{he6^5v5k$ zgtPqd0cK7Jpfn*Kp0}D&pbvcjX0cit$eO}|w$ZypE|SKvwle<3IkGp&?7ta`{$9q5 z`SYO7@4vEfB$e#XD%olLtx(&7(2kA{@^4?g3oPa|`8bdPmNA~1O*6CmW5#al?&~#Z z--@aAnRVYFREBHg@)zX@xD9|Vnr>~_{Sq*KW&xnSnab2!LUwTktsPHKPhVt}a&7Kk z-FuFZ5nrXkuRO^cm{y4WGjX~EJEbqCHWeOWo(E&}ZSJXz?CEpY-17cEVR$|l0>wt& zFHb79Js^`5$P@NcB=*rb^@E<{744m1`S8LKd{o4TU@&yZws}5V=(w)Tk1y?{T^)k$ zO&ssUG#8vbig9A3MqlGEEA7G@3c?*uo>}I_+-^GVcpqvjPi;r8mz` zFm(y+virS{zeeuWO|7R;uw3WgDFD4P=vsHcCgW{imv=MDw_$J0Se6V2$^CD&GUmWS z)9Y&HO#nvG)y<)Yk8bAwSHzscEYQ1 zCtKW3O8}sI%~vBnzrUr)^J=UJY25!E&n#YPJCGT$S7KBJ?@tx8>h?m(`>oEM?bpeI z@t2)k^prl^N(`Gm*`IRLKK=7HF*9g??I=sI?|AW8M9C)w1ry~&au;pvx!p9yYh@YI z+>@x1tCByIh1Q-lYPZ~#8bt38qsez+nb16J9-j)LBA|M%%Kg&)hG5j!$Cv0xl=W_~ zJ%4rPR6$1uzxSpamEEtH)9uvRWcI_|@IusAPhOfBh&axPlj`6L&qhLpsJprW6F=>N ze@gw5EeAn*Ltd!UXUCy}Sq2y9m-b%L`Q)u!lfSAe1r;moP}y@KyF<4J>gGa&78F4< zf=q=|tTv__-kJw4zyE;(Xs%S;_8ZeRr?C=cal3)$z|MGPBa!A!l>%Ok7Q2DW2`f;I zo7$qXXS80uOLnb0d7Ui>{Se^F-m{+B;iPArcJ+%m%wrCBRQbA2AV}~Jzj+o%>p{^r z(<#N+40Y-we2fRnWat^b8EXvz0cQ2Y^S|pKT8C zngj5lPs(lfbT~gh|FfE!TAk}m<6haqf@N2-knx7V)vJN?RVam^UvVO>si&g`=JI=c zX!G+A)z#j%03vAC)YLTSB<2T^76&y;2DNbv_3bJ~$gDQ8uH1DeTAg-mxb*?oaeecaxI}Bd}cx`!a zxiBZYE#zch>(Zr5F3;YcUkMOSD0uRSt-H6kSoR?x$^KXoTe6Z=LjOUm50|xINc-(K zWIH@b9jv|*$%_0|1+L15FM@26CE=4Yf z5=Ab7k|UA|t?*WIbqRw zFqUizOW!Au0rYQreWycQW_IrI#7K#6%YLA!m!$e+DA)rSnoD20EUbOm=pM?9R`ix}wu>TxSxDprtWG2{n*>+B_ zb4S6g5iix>(G(vbQ}X*mxhFTlDxRZpF%ckcCZ11RFzSZS6Nti!bCBv#ow86m`P1XO z4us*^P$1w}F1ie4N@sP&GY^Z2i&upJ@@*0{x-`L7(7wX(z956<_6NfW{2jb^ViXda z1nR1MJFWkCN$HPbzM(Z$tqI@vf32R6kTpOf*bf-@oY(_Cjr*j4tG#AFn5&OH-gELh zT1@d{5w%d7#KDIsO3qok>3R>w1Wv`)a$b!TFpJlE<%9OeArnfU-`kQ!w+p4)m406o z`xHP^+;j}8SC~H`f^;Qx#YP9^hc-Fbt2(`;lVWb5locRP6Qio-FPDvQPl%esM4?xo zp;uijxX~s%jh)|)t1&~dP^BP#1<`p0{IpZqbCZ`&2`fp6ZPTu?#J2wCH+#vYe=&E1 zrLWRN>QKAgWXpOgVzym(ZnoViN}fZTizX%$(O5J8!oI3Wjde_)$XN;dfdCU*drr9} zXdj9vo_B0=SM6&)(o`p>A_FpMvqN!ARoe8Gz2;r6-1^ydzz)iMwXac>7;*p2`CS-3 z{GDm&(PGvyAQxQ+bCpY-C5?MO$UKH3RS*i79XxskBhxMj!vD_B7hd$Ks6S|-w-R29 zW4}Bb?oYecjV^k=x0f0H9RhR*hu+s$O0xr3K2S_dOgK;~p1ODPB+7XX{Y+F0T?Q+^ zEb#1TsXPPh#V=CKLysiursNmG&QIoMz_tbobo!CcXBe0qp-Kfug*~Peik2NN=kHBa z+tSBNErSNjss#Id1fVCMEh63$Yws&a6$)L6<$fF5hZGxeV=kg`39PgKIi;3?j>Y4Q zwX?j$Qbv~=cU+3E9b>n45o#+gEp1u)8=z}lPy?SFhDvq_^%s^az@V;#Rknq;5Rx$PToWN z`Lns@EXCAQbvkxBiLe{O@cW@+qR*A6VpLaN7focI+0h&w8P0L8+R^*$&RMV`^7(bI zU4dU8XUOHh^Na0a1j?3ex2xW)bMZWOOMzLN^2Wr;G~3Oa;oJ(E>eZ&@_I+KdQ)l|s zdyYf>Ll3mdN*%C!4e`stxUIx|gY3rv?gGPpiH-3P5 z;adW>vUb25x`kp|4$6!hJQv@9e7#&3xVNGppkMN*7RS7Urk1+XaNs=xDS+4BlH2}u zS_+g%%lntTUE=T{fi9#S0&0g>^VRD$_ZzPS8R7~URQj)N(Y7^7AO@goIPz-fCC}|+ z^w^l0*Ft;DMYHk)tsInJ-5jP3wYsOUwsTYfcxJ_8>=~m<-k^z5G9%>AzEWbNFk&@K zlE+cHFY$nA@2c4Rhj7Ptzo{d*-+pZkHLCwGeAbhDz5l83V_NB-h#KlkG5~C@p6PhY zD75AC7j!TUXUw$w4!ye^^=Fjx_zlN#Dcz(7p;-~?me7dZqUea79p{Lh1M7(0Do+t= zQWi2xu?bM-r%PWwI58)NM}&dBSr4${UqRKOfQuHr+OpFgLwnQF$*El0^OyR$Ro8P< z0xtX&@i`VHFMR_0ty^)5fY4Wy)lgOJ%PETC`mdz@HI27L3Kje|>OXzBWb`y3r^B-1 zks!lrmfvjJRgL?aVmoLSCD{?#J#(^L#Rn;88PGIr-W6(l+Bo8W?E!k*NGD}iIEn!?+Z}9lu7tG#npN$=SH_Su#b^qya^@HZ8?c(0x=V7!Y&#rce*P80S z<}MN-7>l*ry0_*0JKD}C-QSm!2DLr2Fwv?Zw~FnkD$f!fq)=M@^5u&@;NqKi24wYW z4li12RK8E+dxi{N)tf##N~OhqDN5czN-hVE3$2c?}nX#QU?;M-thPD zlYk_suxj#MZ#47&@oWZ=q@5qjTPF*vt9LDnv=*?iafmF^@v0;oDGzZ#o5n>2A(P+F z*dWpl=%=aJ{2|jyz#nsH{5}62u+Pi?+VX!+fCo!NuaXC~n1L(+?+h?2XH>|cG%K$g zNG%nsYOxS4N?T9sFYaWi&xw~dwTkrV#2yzmQn?opt=JVqgCnazvV3^tJaNZL^)Yb@8N z9cy<2+bT(L+`3>j*&!1{f{1gQ{6hH(( z+qvocSfUkbTTW=4IG3q7d_t>8Gl^1ZX4nL*gpkh`qR!W?#KoK^!UA20Whu=IdNtkn z+q9Bntv}^O#9A4^%vC5dCTyig%`0r(b!9~TxwZAJi~+SdwUCz0m%X*5)21@7OikJe zt6v2{*Oi*J9ADOWRmQFudisXvR{UX4G&PSfi-hBY#;-sA2wKMPS^s>aVAdI%VEcXH zeJhiN!|z^#e+6{9%E&zDUXa<|tO zoqj3V29q)lX=!Q3B|uuf1f1@SQ+bQzbrBIv85prMXTXoqf<1w^s4GsM)F*ATuPA56 zTo_Kq2|IisH9iL$&AmH?3ezEzd#)rQwS!OGQz_VG{Do8V-UOb-IDGKkA^;w*I+Zi` zW$p~a|M0!#lr6Lw4c|JGtT5%RBv-KaX6QmQfNRGaM+o0a9Pt|FgfJKA?^yEe$AOa$BlxqrzUQJ7DphGz2 zV^@Y->qHM|qfA=rCEMMkEG@fOh08c)xTi;BbfG{YIe+#xS23~0Xxv;6Sk!!%jHjpl{b^0wAiP%Mql zwgh#7PiD*kW%}oH1W`^&X=#X7@}e}v0Qut=$BeTS31iiCX1e^8eJ-JG_Y;+TM9K-> z@%GA2(>=`9r4C~piWsyj*hXuH@*aP3v;ATx8SUI_u~YI^nqpUxAZvM*C8D7ELKVho zGpsWokyPF*oi4v|_L zW$PImpG@Q85(G4EbxFzE8IXyd3kV6Z?}LKRyv=KAKmgE~*8~Ivh7&pDC#jVjy)0AC z=wL0Gpx>s}YZ(|BZ+GZizfSYc?jMIH9g<21#XmnIAEYoif&%&u z?c%v#8If<6g4NR^QP3&N%J!_H(hR;FCGvieco;??wo+I3b!lvVuuz|8gJ55jwUI(T zfA0k~UA$Ns{Pb=mwINEwY7b4?cR2|Obx#!wq>X8b+{tfy+kHl+%6K{6F^(A;`=(EM z{k@RXjo+WBM-}ZG?L=qo=;r9CQTrE+k`udE#Ldh2d(qqs&IFsS(bSr1-%^DvyRE79 zLN8l>yT|?8FqhS*>7CQ-FlS9mn_dMktTjal#-Sau~{vYOMC7 z9>KO@lugf?jFK12PeadVmAF1BGLelPVnf|P)#DTylzti-rV_Nn^D^4w)_40sMmNQp zw24R1&~5w`o8MpDY9HhfLRT+lslvDl7?s5*ee$#MeFVUe&e#sJm4hue3LDxc1+GYd z7Y<&9l?(QnD@)Lws<+42sgVU3wZAS@i%;XXe6CM+_#s*&1t%Y(fEYWB0a>gX*N|F6 zL3UL^rz@7mRi|2HgyAwB*NEcZ+jiRg-Az1&^H=%D8up!TJ?v~_JszfZqVS--5JqSL*bU+d`zLE0PSElK9;8rU)o1@g^7g>z*ic1)z;7^- z1p?KdT1}TiWsh?FqGcx^cVr2bm`z2rm`H5uPHMFBL2RnG-NT1(LMAG0(D$uHETjXE z*RNk2_Me#nKhc6`!*!lE+l-@znT>aCXM5!?z=<(xbG*CU!mH8v;MKd2h1xlxU%#b^ zyM?Wm)^$2hRxh{G@@d)QpV`5hp?UhEjoEV=abL{M8FUjNQW7%9A1BSFK|Y3V!~6l{ z5oM$3n+*8b=+#9llVfsX=CWCyS`LW{uS>mg70rom3ayIY9oXecI)1#uONy6}rBAiv z6lvG~E%=iwA>wQ#ypwKKngVcPfK0;MjArsMY>#i@j&!CKvx$fn!^ET}@mUU%a$lDB zU1-0sRB$h2BM2Aew@m4s{pI1pIWCRwqpx^PWkQa3&49;bWgFdgR+BKbuH~o|KURBF z13+R>s_jD+;w;XKZzTEKT$L1Ubha5jp%vUS&^SPIP_h(=x znge!B|HcLw){jyylioeGE>qWP-R5QiTXwzXgV-Z+$`M8=-eZE-w(!$`G*Z6k6^NH- za$?S2$!6NP81tZW-69sPPB=)d1V@BIWs!|J`@%(5O z^p!;jBswz@EMCQVow*{po$vN^tVR^`I!n@Ytj2kCtR_u$tfohGtjypeOsOQf74$IO zEqd~U1J(q?JwCYmKY64(@j}vor64mqHe>4X-AZEdHeevAWs!6?%*f2l+@Gp*!w`&$ z$>Jl`bP}rIFyJehfi6RbLI?+)gNXtBO&P>FbV!9{P}B82#GY;I@bBK^r<0*3CipVh zI%^?1t`x3>bZ%%J8`Ab}2vt8Q3{9*|i%C0MGK6xAZru3TzN$nde zujRZN_vHeYxz-jvfPGHDpw%o-RM`n=wggxt)skIjK+)>bS}FWBG)NEIvrG41c_b1c z{eTAX?#UB8tYFxEFPU&?plWIzCuK|l!Lx1^0mJ{!8G87G)C{nZp7ZTwke`tGd00i}Ndh4-@#Gc}jI`53TO?4Yomj8^@H?ekDTWdO$UY*h)W4{M zN~j>UBU6csYWpa-%f?87EZ3yHxS!j%l%~SDBH9HNXP6>nIXA=2FiSk24sv=Qjynwn z?8qh|KAcP)1I7>i?c29~-=-EDub&kP1&pd)hmCR;$vlR{e+7V}a71L)u`WCE$&)A6 zF6XUguXv4W+Ts?Jl4Qd2#|J$D>ylMfRTZSLiNwcNR#g!-Z}$pBfa`yKd^?eY9pC55 zS_D*} z?UjjY&Ox`^Wm2L;!sseCm7xO;;F9=;<44xs7??3yji;0v>WH7?8}H1rGsY zOT8)?J-)Gt&D!eJgTtlxCg9$_}e=>B4$7iI08(kQ$!~g zFMm6H##MW4p;2K>^Odzv(+sX~XnCCb!48W1=UcP8a)A!2=2p5BenVi=wT{ntM84pb z#N-bF;Qkf9a>ao(_v0J}!%haT0*QAI81U+W-EIj~yNPUoJa9&H_&XXDtCE+T=oPo%LE+bZUvegq$=2=z(i(yggu*u8k1kY zt`-6jYH?l4v}2e8VqxXf`dBT2Js)BFb#j9L;GP{{v?*l&cx~{~;j1Mh!DI%&flpXg z7y`Ig418+<+mG%K-R4|h@NE)r1*R)a$OJYY2-V>;QO;j1q8Jx}x(PRH^ZAc{xcgi2 z(;b5yYMnglYt+{tn=$S;*d%4kjgvx;T3z>NZ#cP`bh=GXaiZwr387e-sMi)SWW5BJ zezRyNyjlN*wi-m0qofXtOptO(dG>_(k-Gx;Unw z4yn0dub8Rz0e_%OHCfx()YKRXma00}#v0Cid8GtHzYyP*e)7*%{h|sMVpl@#rT8}8 z=QIh-U=3|;w;7<4KA&myk!{mV5oQK*cRkPx&98zK4;(>KP(42K#z@nlHqj;{bj*BC z4%Mo0zmx~w$H~>bvE$&@Pqqb%TmJcEr$CUNnY(xQboY12R{Rl*_^Nn%cm<@SyM&?t)czpNU%F3U~0pM_{n-W;#fjG5y_0iVQVM zb^_u$0N%X|{H6TMiJ0ND(ozyC_8_jnv{IukdF$8T2kGvLuZdHf-8Bb0r zriZ9I+6@N#2oUkw4CAX zQJfJ$!9?>n5K2I9WlHIC6hF1qwA+J+-PvV;#1BHTxvd-8mm*(svTU3zTIA#pC|}Z{ z8nk@kK<2H7H(YQ} z92bQlE*t>Sr2Yk%C3|peU>+jj1j22Z4c_V3a;=+6x1VOLI_`Ni3zp*8+S=L!p>ifN ze2J`)p^CqIemi8zwruz3>3istW7ml^=!~YBY-d2)0qfnXuRql9R6|hiBB%}q%8QG8 zr>pD|OW(b-{sS~ub|7GTB)@qhU*m_FWdzQvB~EEiYa=cy;8N3ra^eOY2_G!2vOqPE zmXbV&rua@0eZvQBD(^1PO-TGUR8ogh=l1e(7C-Gt)dqSPzb&X+EdVRJbi*IYnSKyN?+&)2sN z>g|YQ<(j+*CsnbRp@_NEn4GkW1`n1p^7&V+ZSE5fx?Q}}t~%&lLw#3^HCmVWp|uf3 zZ)Gs>7-66XvExk|?UwyFHUp?X^2LtJtF~{Gsye%sa+Wv+9o95+d8#(cy))k^M=1*a zlPs?ja`m>fg%9NnOqVN12@K6$)Q8>~3MMB5`-$tp?y$DsG5CWbdO?vZ1t7LFM*1;=2)zs(Z4KLjT$w@#gQC5DA$hp1=!Xa`hlcg#|>Xiz)y)a#M)6eaZ**B+EP!Q#2DtB;UwmB zTmUR`{_e7I9pArOR=m4zlfjg)O{$Lf!udLB{2O$7_QeZ0&^aKsTP3g+kByCs(<906 zPodek3#Q#`K+)7SZFRB^1KI@x{3@YSwJxmCp8W@7C?3z9^FiIR9qg1GL5j?PX7M-0 z5T#U+p*pB)3guD=7=mtV2*97JT(p8gMdm=!dn{YTA8U3o>v~lgTmY&s$;mI$D>Wp9 zE=?-waK4S-5}3V$cWs0OvNjTeo~q;(CE>?=Jfxx#GZd$ozG}G}#BJN8N*1QyzI&n? z-$sbs!^QFPZI~SXs7)a3!P^fK`8OMwi>XIlp@&fGvqmY2qCM4wC6m>GrspiDU4}4=tM6w^ z6`lXMuO7_Z>Oaj{4#!i|T`IHm$GaYVFLM07qU)eDtKJL=^z$mhQ0(Dto%RJcHRo9& z%RO7_CUmr6t5W;EooY#2TXC`D+6ksj(HodN(Q+qiRoHA0AQ`Z{NPQOgEhjdWv*s+Ia2kDb3=UTe{ zX_1%D=@1Oy?e)00xF9#+$%qBo!bMysqyi87`O4we&%~QEQpY3+G_2%F;OU4j6r@(T zo%_dv~RwF2T^lrt_AFlMv3 z*j^&Xu0;zu0tR%#wrVts>63NOt7KeTp!+@ncg+c+Ct2L@y!vYj@1_iAB7|BR%(MDD zm6eq%2YSxsXwzCkuRRzpybh&7WiWRlggKaG&TVrd07Dp98-K?fWXwQKeuT zeT=Hv)(Q4LKV2_;lk_EP8Fd5qyorueQ!#m~=g|DuiR=Q}{c;q{YHr@H?@&e9DN`8)Hhzu zb2kQvKUSuYz7V1kkzBE|kI4TZ*!NPMmm64>-dFgulRV=F9tdE{69MN|rog4)5GIyw zQ|cux2ZQti!%OjFygxph^Pj6PX(oFI&xaFDPB_<&0UhM3rxy1|)NY3hHb*E|_8Ian zUy9GaO$F-w+-es1Rxz#;0 zd?fBLNDy@Qi6eZE2B8L>kz2?kgn%=1Kd@z#BXJ1;_@uo^y+B6Cw+-eu*ph9Gp7XDq z>5DUl^*4+3c2jz9fjM{k-7S6SDFjZ*q%*&BoMZjZkj2`Mm%vB#XQ6ftXjDNhvyOld zz#r%KM7F7E`D^@&*5I~_hb#^PThJwsYKqT?wH31h`h@C0q}JX&y}gb=GqWnC5bb-W zdwXETE9Yzksv5>mPYL<2rJ_c&=3JRC!TQm|*#iERX^sOu_r&(AKso>?8*0<8JKR5r zq2)8X<}z9R5tP9`LAts_Me4ksIe)t42`v~##PjE#G*VV8d7s^ZUgIB1vQY%Zi=Q7) z@Fp=|!VPA!4R)=qg2#Ai+>LuU{5)-=NRLh}#60%r1u6lpv5xy8KOX45Zls57D<-}v z=@?(2qKJ~$3Bl`CqW}&4a`h#Tr`mu&3GyAdr8(}_U?j(LLXRD$A}AHc(O?@*1tCtU zdeJ|9oSVGFt5NBAq%Av9pfn>hXpy0`BQAhN&j#f;k;C@^6R+)@O!rc)ASZ_vYa~hr%Sw@ z4LO)$#Z9y@;3r_l6`4uuW#3O>-T?#YNl8g7zD=b-oJ!Zo9TLgi7*}Gz`@2HN@UDyQ zi;EvB@iK0T@fi$60LSzyYN@&50ScRFuN8Ke|es(6TCkq;V{|-0}wa2nXzbaKdZKs2K z{-y5${>bpNfLmUQBdEjM>kfB!_o^x@OB@^=T)?x;9I(^NgR=}_pMe273~#;=iiGM( zkpxgup722qrO()T2-E@X!|}r1TFlCU;o-~At&uck0LU9d^7E@c&_mVF^N0Me68pG? z;fr6zZIt<1rRj!HkvJ)x*yJ}k(W1CvpNO!20VO~X>;+03;e{jXpna7YmQNhWHr28K z4kR6PfX_rY>b{>2h~z%d63@?I%At7#1U^=EKOVdM`{B>x2Hv+uxnk#%B5}01tb84Y zjej;fWG*gE6B*in?ZE2>n+7ntxSi;}z4bm3c(E|R!RjnvP*xpwvR=mnnejGg1IMVCS^Y<%|3#fe99_Vcm8vPA%63vU#f7kFtk7L!>8trS<;scJQ1 z2J>#d)h{z~$Pu%ObU8iT3c+dHIIBu6IL)gO^ZQ|oQLaLiqcPlDZNHHok1wVF?{>HV zUH9H+tfIr|y*|G~fgS1t?g3c-6_A#|nG!z7jXKk79PGXcLHWeFb9fdeDvr}(cWx@i z<`-d%JV;=+o#EtnjmWo5#=3%yThDy6K)T-szfCbE0^;w_kx zmncqrECeTQ==vw-Tx_A3kUCeJx_{s*`6Gsw4D?4rUhY`xty@JqVMfw(+A9wwd z!QMCU@DknAeo{EOWs?F?doLxP8XeUscb9!3(SsPa2fUu&Wx*wXfEro+BRCkc4Jt5< zkbpo_3)lg{L70_UuxG5p+WW&N9bk`UN3_V?8%(YMC;Js>mk<6=8+d`qxgh|(qWu$Z z@7nFt3bVZOmR>0cnt@F4=4FcDnr)Gd&D$6ql%1JK-?qL{vL;}9dH>d0H#@a5Xx0gY zx?Y6Zs=M*N_uDV`N|yAc0$~?b8C)hr_=_p(XDel@c&h7r4PG?r*GSh!8gtvp^LUP{ zzZ^b}WkZ8=R8zwup6|^P7EP*#@&26%@9x2m7)- z0jBeV7?phPw=#fJq;1fqY|$;va@e8N$YQcNz;jr@XODps2@-mWE^W4=OeMy%QcJZ~2{+vYd{=%{(AZmswr z2XP*oxtHGkxQ$lYCAHfl1y-L6{x$JxWD$XqV*rFk*C6&Xa~jD@bs6+1KhCuK;^~kK z@V0*Ozy4D4Bv$iOw%>bDm)?#JQC|B4A`(=hC+`9T1nb*g}L<12&!HC6b^%6SkZ z4mFd^yFgBP*ct?} zqthK!c>u612z$w7wE#BRAftaw=B3=#?W)k#tlt+b1iNo%F}XVi65*%`X}+O;4kjY( zByx@f`RLK3^x_6OzVDw?fdT(xnz)^B(C;+6%OqI^KK=%9l#G~=?> z9>X6e%Oy}^9+6KmgFN}^o)lP!8Xow)ZOGw={@8`?x(+^uj$v&dk^r=6zYiMKpOi<; zmC=4;SV(Ly@Oeca>h{D|gm+E@s}xu39FOP2v~JT3STL98q{_>m1u*}2z)G;RiY{*p zIXgW<-+49S2aW^GfXDFFm#2Vl2UKfqa&mHkC zY2(i7*GxEHNdN!`eAjiN^8E=Y1$`%QUdRlfBzuCRs!g0_rKMPWL<&ss*~&^A4Cz~B zCt`qqNP+Yyg5RZvblK%xkmakJY0M`Q?z^|~Iz#OmckbxYsbys@zyp#V;zeds+b}U< z4v4wA4cHkQKC&PcUJffzOS@h{q&PV_<;+ysp>EoISZ}?b2Uaxt(SQT)TX8~#-N>Gx#S2k;In2T zna@_@+6-!&J6929`ld&>C=apbZRC_Z4cw@t+*^`#(mK7hB4gXA+$On6$@)$z@J`Xq z+qk$-zL(P|RU73Nz_UdgGl#iEn73b;|Ej+F@~0%8KTuGFDc})R)<$RSh@6`HRCOtE|%Y>C)nkqVDc$Gru{qJ`-b2r=>X7=X{e74unFt*V`*HUS`8n?`W2~Je zvv=CywPd#anTXTm=azpY%pLOA`Q~~`4{FbIh#%4+7!_(@L2lt#OjL6FBN$h*DT@K5 z+P}YgH!J>k==78}Xq?20G)@G~SAHD>>oQ|lZfYuF`eHTsN#qK(j*utt1ShJxnh1I> z>T&zYfTNn9C>0Lp({cB`=Cd-g1Nh^&g@h2!9>xcpVXr}$BcN=l{s!U(qL99+hvEvc z`CqvH!iz2mPbsS^47Wr;hUk;_`dyuV!^2V&RJcAj*b*3^WMR`uTi`67L6;i)Ed##T zm0v`pO_q*Cp1?u|(T0D>hZuzvo;4DAaw6~{$K1xtQM>FF>b(C))t5j+*}q{wGh^RN zG0Ij6mFyx*qeW5Hq%7I8B_(BFXHX7>!XxL)aApsM+Y$4oOe%fK8=kXsB~;k+uenJE)ZYkQs!mv zbZor)!7k+}KgT4fTFsi`<H_fhkNZP`Dx=*SX21r;;C(r2 zJpwt40*s^C^80rm@SadW02lW*^V6Asd0cV->}h(Kls{A`r)LG#;3nqo=Nbr z#o8t7*XT((Nj0==EHs%vs|(pf(&c}bJIO=gB69ENwv=YaJ^s(zb~9XCodqj| z4EQe-m2SNRDi>r&$A5LK?yaW^Qv6ZSZ6?;jXQHh2)fvke;FHQ>d}z!8o(z4$BQGAL zEMqdBF}3WbD^NlUjl_|0?&8rEGw4sVwd9btJ3S8U-FsrTdB7d36yT^I0ZOgX8st9v zVx=qth%iSrjM!tm*ePTr8<)>VaW;wJgvz2BgsM9q)EkcdmWp_|kaTd91u5LO@vg}T zXG7>nF6CEva{`WwLAt5vG0a;CN%Vm!lF1r7k?Nn)K_7&%fe7dcK%5&TM95w7JN5un zbeJigqwYzc-sWNAjG*&hnHy=CPCn+p_6bP7{y`TdN#3JnCxgW3--+LAS8Q41l)$2_ zki*g5Y;wjgG1k|pjOnT_4d{MUED5v9Vf?s-y4^S5S%L>Z@?BQmULFZ!moWfn14^&d z-mee8f8QSF%zt5wF^ihy=9IsSdC+(xH(>W8;2->HU%J@V^8iMJm0!t@ z3f2CQ*1yT0(R{gFXK$EPE4-9#JiD^>Symr{ zRCpyXUo}G?1N3IE{P%9s0b8YENy$p$(!YE;dzneI>muF1$~rM=oRMb0KTN0g}@4R!w@<3f`P%TK006z|KJ2P(Rv3A=rdYf+n%u#0S)-$ zE}?(C%sETso-E4~kppRaw!ohzt}@^VEiDUlXAiERc%^bP0$Jqn7TvBwI)|`fr5Pw9 zh#Urf2HaqwrpWmh;%9SSid%0QoGELH>*9>rWZC~%yS)sXR^YRERi_u zpcHDZag20BzgcSO^xj9xxP9b-2m0cv?iYlW<$C+6#%&dzGQI(*{R1<*_oGQdKKgy3Pps%fqO31OhW;!!xcKp35{m7#J+!W)M`I6ilqF zA-A;vBUOJU%tMFc(EVyGqG7PZT~~8#TS`3LZ$0LFMofA0EG@}92Ip4?m)G|+$kGWu z3McO@{sW=0>+rjiWX%i%YfqkU7EpAmmEzsdP+_@Y5(j>b6!$s4A%Y1a%p(sHiY zn47v)86BWracn>F^^(EaTYuJ#&V_5d%VZipalvIb*Xt)tLE4W5YIxY_LKFh0;{E$K zE0(7pEGK?`_F1L1SeU7~Z_;(oiK{2`oSIz!&Z{n;+`IUw#$B&yEqw5~m2{jC6CDd0 zAgVhu4Ozh`VUBQs{e5<}#26d})yH1+^WEi!}QI$Fv12Yf8 zOes6nBP=^GNLgm~GwqjOG>@t5;bPi>d>Sh{ zokvoaMWBcZJEa_PTLxK6-3(VCZp=;lh{wjpj$OKV@wp7t2CTbx?aHNdIYc^0y#h51 zBl4TiMyD({l&wa;O>#Q^$@B5);x4Jqeqw64Y>+ThkkaE+Po~tQXHA82(dT~#hFFWk zzl^uh`N6b8N}h;bDH=|4*G_nH+mqRY5^tH#eUvTt=}>7Z!fu z@G*Ar5i$+ZY*!N)jEuHDsNcpBx(%xR@Y)^i@+!#nF^9F?8xcZzj=i7I&z%1it;Zn% zDvL`}W#cc~VTijr8jy#}D_XBGQEN3O!SA~cgck3DlOnQx0{m|52D}HAS3fq8;TNd_ zzD2k6Z`ov(AJ7?z;It5WY;F7%0b2Gb(2GRT&k)C%SJ%1J_mOmKq!%}igsQCBo}h~ICga|u~D@z^fQhoIl)!>!Lu(q5V=qaMYkF|Xz7wA$Inc zv)GzIELE4^rJ=-s8n9n$yfR5QAdPtM`9lhgl_A(>tTBEVom?jl!lU%xZa6$<>DlLQ zx%Hf@sZ+uWe@?h{?aMsFEQ{SbGiy(7dyh18&|!~as)m}!=0`y2^Fv+u;k+Xo32K&P zC5Vb29;hw#><6t3)c{5Tb3l0Bn4sW9?dj}XlpvKL5*UDKbrAss-mc-B(8r%eY)$@l zVknokg>fJbZ})De*4A3mZL}s5&|9G7(ty*H!}=uU#n|yR9zh1D5U$gto-Z}cSMMfI zsI2ml=_qFA=H|`0CWWI9;Ip*R&qP1G)#ibk$7g5@834Vde$+E~WlN6@fjhAG5mlh{{p8WT-rewJE?&GiI#*i352vzk;Aa`g^s1K!h_r0zaW0pEzt1FC z>K*j~27?oud)RB_2)2jbH{C@M;Zr4Pig1Q6ShvetC)j6QJwD(~bRa$A zF5BRSpXm;(q^LT}7~eDJEV;V#V+B3c`ac!1pzEf#$o6x9W~`6aMecsn zoozBd2!?!Tq=2V_>SF~L7w(1^SbK!e5eqI}jTO6*@d(`yrcPyUp z-6){TGc&79<&kCwfPKBTva63@itA-$t?f24BEFnl(?^26*?$%vutG?f$0Bw|ogR}m z*Q8cTPVdy(ibBq{>_~TMSwPiwQvLAfgNF_^WI_yH2J?(R-wMaHkultREJX*YLsqy+ zm%Lelgyg9+4w8xSIqFjJS0$W5CU~4}@!WukHUqL1Hm}Iykq|qRCd5MRPxg^hVnR0A zmqHPmD>q{5bvXY{Hv@5~s9LAOLx~8Q7zY@#j0Pd>oVU7Fj987w9*Y{=FNgNxNNA)N zd64eVZ}~V?LhEq>Okxz<^yxOGt11Q8A$VsKQ(!E(93%(d(a+H zs>XJ{D>TJf$=X{|-Ocsv=%iz=%^7+fo{`C8w-_#}_OI}GF9{!W>}G!jtEhIIOBYC3 zkGgz%xQAZwJKaiZnP}0=_qn-}-P6ks;mV9pSk>Vhqz)Sm4NWhv7lP-D2Pt%eKKR3i zy0AXf81pc=7bT*#DOd~!PV`VX5A%U&c?^s>hE;%&D{qqjY5?wkadd<9$UOLK z8x^PHnw>(lkh=J^qt`%B*uC{3=%@904M#dWdHQtc!lh`<$4_=L(cSi9H{@btnAgxu z$?)Xg7lEFTy#j<2%@srr;%qbSAsNp92@p-6fHnZbx!!OUnXx1cqrPv0e@X@fi?4NN znI$}XHa!};d@d@Sb`kNlO2>$;)T-@wcrRqbws9i4>Oqh9tfxIIIOH+l-7NBqDOtgTy z;aR5SBas7d3JPRPz+HkeHlLJ_J|ePOQMaux(iVA$rh%2mUYnt>bae4Zpn8h>03k;=L4INZS}2QrFjaWd+uIu;$PqdnYq!eRvmQ_zPCJfRBe$rsR&%Vr zQel@c^&4clZv*fhELIMDOGaZ@m5; z{>CcwuSVIO52;$wvI)pu{(SIB)q_Vt&%+f&pLZ+&MoE?8k<5-Ch~B#AQ9Ps9)VK0P zkUu7S0nHTfZF-sb3M|anD1VSTTn598BuN=rSI`L;-Oel*uYICjevFl*Iak83B(*uQ zhnU$wC|X71-pAJ9cDnH~eovM8!<4_+4te&^w(z@FcgP=Ru_EN{?;k0u^+HM%6%}Ja zmU|ObU|I?u^IHiMd{D2z&*f)sMd{~gaeA|j57~+sY4n0#!>1alj6PkX3%*=uA3rey z^jpboyv0zee5ybSM4M$-p~sGensUMi@x*v>Q3{cM$UEwVjtSuNa@^BX5nAP;S*0Bs zfmvD7Y{Btq2hQJF43PFZe%zJ1bt!i|?q??Tf5-S(o5Vm@Zk>>3jb||20rZ5h-~-@b zUzL~dexym4=J*9k@Yb2-$deJIbLj>YD;I66M_!$IAXzq5&`>3hKGwN&=UBn5bV;n^ zgvp>&WReLo!T1Pyn#xq=bi+|ZF4u60-v^C*jAVEM)Vq|*F%c#uB zd;9P1zwWDII1+kJqBz~Zy z9j1PEiX?-3o7E2}gioVl^_uCb^}o{>E?h`N3DD$;MITne3(+quGZdTT=58_k!(zIv zv+jC0^jXri#k@Cf8gk%&H?Cg&^d>jA3D8|Q_!ZP3DnuS#NYW{Ma`t{UKnDyEA(lFu zzjygL4dz8FULxDQ153to?o>8=5~lc$Maw`{X84A9!AR#dB3CC-2N?QPr|7sQFHbBn zVNndtO0VMB;*l#N!U{Z;NKCMdy=DcB3B=2{<;eW zIL9mi`dWq&7Fb*t>`?A|XWPc(~*#BUwG zHNS&j5w09+DKZCxWC6e{25d#5FSisBge@a4Pw2f}LkwCz2lTYG%!H%$|BJV8XX9~< z94k9DOgMZ)r!hzpawXr8gjq;k4_^#`Y(pLokEdCLQFA9woH>5$BpOUl(QKKR-8>kX zTuB(Kp~+K`!Y-P_MH*sx3cGe_m;?+`Fhm=h;Q<&jI(7?~iC4Se6OAn`i3a}un-uL> zPeHD@O9lo8`sU_ILTn7}H5kKvkN%5Bu41tqB#S*tk3~k%@B<3f5wEst*Ol%ujFJH5 zE>gv5wPR|vd?G8W2>}1fG{<#`1{PO`0lt}iBHII!tOF(p(+UGn`tzdkQ<&p0Ul~re zlVQUB4ime)M8o~73B{mQSj@_z;$W_Ub9UG3h;E5=+$Yxqkqi*+M`m``4OLIGF{g5D zm0bg{y_LoqXsZO(;X8XD&JYbl4RjE^Dj=_p0WU%DA-!c`ixN_+{QdYin?co~Oz zx1rQ#j9pkbnL!;RTw^i+>ZOC8OR}w%ECP?iG}Kd5i*OweOn7zdq4(F64}#3^PVv6T zkn{3Xf7~s+8%#Y1hZVlih7}t2BTbp`i-~KsX@R-ls^9}L8}*b|A!j?!IrEp@kKDSR zv=e-i>l1m@&5#WYp2F?Mh&pqQ9Z^)YY)o1(!)$O+0Kvm%j4=KU==rHCt;1a)anj() z6J`oK5-c>X74_I2xyOtA_hk6G92}(pN4$$kQTk2)l)Pj%^yv66W|_KE4(j~s+@wgP zA0Can!oGB;x(OtmTGTnJ6htNZT3Vl(H%A0!O*8cV{IX}^?>&f0sWelGCnb4lQ&53( z4<0BPN`^d7Zt{fO3L{9JDd2B?`5oxh-@w=!6JmpGY@^5{uE++f2a_H*iHZEarXZV` zj!WroAdfJuskKaG_?(`QxvmU_w0Kf%o+`rZ64yM1{k{d6;m zHPTe_wy=r+X#vm-YXBmSjSuLjf^Ty$m{LMIw8&F5`?b#qZUYpAs|TQB(J zp#|<4UZ_l9j6ss{sesOz7y`09bih15Abi-1fFQ_M9&`eQk%H3OE@=rTRgZ`uZpJZ1yFGLb4wJ_CY#xZ; zm;E9gA>`)n?ytth{dpb(Nt>Po0gUy^vM}7!xj-N^A-MMqbAuCx#>kCUy;1_Seuwbx!H2k5uGge=5tI*@f zY4PnRFseHP@5~7>7nnUChWY>IyzJ~ouo294q`{R~k5c)IM-6_GFBuxn_d#Wv+|}Jp zlZ3m^M|p$r)L2ZHaH}7hGAVmfp6j?vUgw+;#-*5+ZokAI8*p|NP0dV0hCjD+eDb>S z=mZ`YAtQPk`G_Z_IcA<=>G#HuDd;@xRtm>d>|(h~JrBui8O8LMz8uPXa`y2Bc@Xcl z%XaER(}-S7kbI8-4O%3iYjJ9cwZN<9f$)=Nb+R2nZ~Hyz(|(yFHQBN`b(yVx2y5aO1@E+S%kI>&e%q z&zKev%r}_P?6%^mCAE*=95Zw#dW>Eg@&C>C#=$7%vr_^-@0JI~_(sC$kE`;^MTLd) z{m@^V0joo;gi2x_{ZMx~4EzFUM|wWn)=3^FR!6%|@3l?0kWL7&s!+mTdcqZKao_LonkO)5jXfJqRvSy(J z{6Chm2^&8-Yh6bh4>&nHSK%mLJ@eE6>KvI<{k)OUof>N()8$>#SZ{XUaKu<%^n z1oGV9A4Yv0KnM{~gMmdDrs#7rxo{(D`!L_C>69uu_o3k0v67&3y#$gUxYUB)*!u*C z0j$&V3GjnBUcavD4R!0-O&G(@e*5;;FMzSBXh3uL{{8#FTM4JbQ~6{L>RjI3xnmLy zL5>Lr+JdNw^VGDf%c1*brZssP(ENX#e|tF>817edF#ce- zx}hpaEGa5-H-$o3s2D^$;bmoILfOV|hk^i4^ZSr9y8R~!W)|+Evko#Xo+`*)9GY4W z6t-E=l0L|mq749A7y{K*Dj2K3i@GR=!DC_M$rJG+$s93{8KDQ0WNDp3zNNE?9gW9) z-ZYmby$dI6u7(b3@?!rz;DAy+u1!!fG2em%;iWAzBVPe81Z~3vBG@5+!&ZW)Jgc&D z^G97>U9{Yjn>ZNIx{VSfkURyER?I^d##G6zGI?=3zbnl#keGSloA%@;T0KEF*2PM5 zsc$1$BhHM{kA$pPt){DP6ib}r$)T3z)=0BS*Cp~2cUC%VCOMY;g2pN}mMxJiIdG)H&pVzS#%B5LZ2M2N_ zPwMeHT)W{)V#F!WBcIqHj-?J?XbLC4-w3A=>e)=l)<%WSY{!V~MoM0!x( zv)d}KA`G{bO_YtlljhjsZvJjPyym=z406Y*e{4?gA9Tlc2IshnTv1DDM;>Cv0hJH2 zRyXSG@KLY#B8}7aAXawZ;o=(Tr8F5&Q~tr!tI!$PXfuc0PbHNXF+w;AzT z8R3_^RgLHiDAiCujwIV}ZY2Vx-`VjL4h<#mG79D!n356L z(2_4AXg)9yyR~{ougB5?ax#?5cTrvmLWg%e8wpacVOOrXZ-A52B!=Q?D@CV2MOI#=zh=NCSd=mH%4%);RkZKZlUEXf(4|1nr&aZDM7&Ba-%j-bAAi< zIqsLM)j-e1pq{o%ypu0wvJAh?3jThegG{fy?YU^)J-{f@kbI4{rH{{IW7- zfQSGRl4+fNKF z{6!D#O=6nxa%?qL32Db6)5iew5Tq&c5}epBB4*ZO*osd&Boz!wk(HqH7KNyS#uN~N z0K%db4~c&p%Q)Paw5_*?J7L;mNn)gieWXEz`~lfbM9ahmEQ%qjHvvsFK<~m$l0lv$ zGqQwxzu9Z9hSgpPgZlc^UW`f1i>!li6|C`thi~fQ)CUv8Y%&cW%lvD2gH|p_L;rgj z=`-PE#!=*T(k7KJ7~Op-uD^r+v+eoodS|g$F)*sQKfeY;19Mm;0K#-x8@j$^46LTs z-chSDNkz#_3~Z@6EUFbo2hgO#QJxq}tYS|WWS~Q1T@j;E!#D zOuPJ^)8YWXN8+UGw0oSe-x2wsP+T>K)$^VoKm6)JHIo+rzG%(Qz>xKTGq3lI3k9k@ zzvrwE_YO*9IEZ#<(Wbm6>)kuztaY;4rAx7gw9Z>-X=&wtKi=BbcDowb%w}gNr*fz; zHhxG)FnTwD#u)e`PGLH@zLGOTZOwR`PxbY+I~&a7b11XT_3>@gIYss4hw2V$BXo{G zNfiv==|HK+tDxii9_r4hrKP1d(9!1QUM`*cwb08!A;ApEWr%nU<%A?rb;&K%)GgwZ zU7zK_js2B4*n*CeG1zCP&zUP1M$%a^!zpTyOOu zY?W+LX4(B;c5q!y>o$t93k;+K~KhpgR&7+V!r zB=H4lvm@X ziT-O{3EHBaSLN?}sd5+@)g}m48u?Nkn7O39U9vXQQO!NoIj41=t|@Hugg*D*Bamgk}dcFPRZ$DU0hP(ugg0# zCY6zU>=kCL!`yWKUi@bb@^?8#mEB5^RD^h7#)FcM zIo-!;rf!5^q`o^xIQPn-=a0CO%U13cj$*hhi%C=}5q+&JrXf&==U%+DU0so+hIC=P zE_E-GL1Nff2oB!63DlM0b3k*fyhgKr$*#7^#Wdy9-U9Jbzcnq)&To+%0y?03pgW2b zK)W!MV_6wwl?Daudti>Fu;L6Zhe-pd9!a1_i^d4e$xJ@s(UL>y<(YOI?fh|~{N&c* zqnn-3l*6$-XBRGb@Fd9PhvLklsrTmJHta-Omh^B zs2{!t#|1jS+{vccfNeABr68Ets^UKqN#U5mi%wy?8f_zv8yNxG;pX8179*Kyj>Sj@ zPMVQoOQp<5!|gP8W^6n{X#!(q^JB_n}q=?kkoxI-h~rAb`90^ zF4mO7zd@U8kRnuOW&N(8XXSZt6lv`0w8*E?wf)ZhwNAV$9z~ z5~5gQezf=X`8Sx|tW=l+*RVx;D7qck1XbU+R^flJ_19+Pu^;=Er%kf&T^8dx#do+#`D+-%JTrD0F zYm2&>(DPeTfJ~KD>FAd}jvLI;x2^FR;WWwgx&W$WRFG#vLQV<4u z;)%i?YsJ)X&f$)Ti)&REdnR(d0p(H4f&Ww$8G!FK7GkaX3IB|F&=LtkPDIE&m9d`* zukxDZeL)oUc}%T+LuS6V#jk+AXKF@$biuT-)c^CNZ*1W*_V|z&yFyyO;#sjPyf#yI zI_-k3(9E1UQ{M?@F_pmd$UyU8AV5Lk&w>hBmih!7ZOVBlt@fu>t$EDv2cPx$c|ySTIil2itt(aoe6#Q%Dj<9;FU z@kkTDsKFaP1ehLFvlDizrL&XX$mkW~0YEh`qKa7Ay1Kf411ml9&qW`yJlL&As|xBx z)xT9Zn8TpM$sn@D@^chjmfW0h&UOlN0%2fN%JE=burup1c`V}Z3jWswtcw_l5u?qR z&qcY2^d+Rd0N!u!?0__ziavFVH7iHhR*Q~=-yx|m9kG=@=S8O%kM9WXJuY<|0T=Owmd!x3`2OFg0_Go9aT z$sS#=Y#Gqk_F}uwV`KAnzLzoF#o8-%Vg0*uZ{hG9+Q7?dE=x7|?=NGNiAF zDRQ+e7X=&P1sd#V#RykZZR-Q~c5Uz>+5t?D{;~CRvwVZn$SE~ZZNwnY5z(%Z7H*IQ zjPb+^E_odstq7_}FENS)LhJ{d|2UW@>UTj&U|+Ds2@Yl7?NQJ@`G;FP>0-39Q+o%) z!7a3Zg3RTUz8Q}2%H5C;8v22Vt=n?uC;T-PB@pDzyV-goluc?rLm73K>G+nr1 zJCp)43YSXH9Bj5aVRx9XjgHROmQX>T@k8LLow{&F6v27@nW)%MsmVBiM-wO2aL;@h z`NH?7W`mX>zGj9lZM_ZFT~vMR?+>^EG_9S;_W0`wqu-I=R_Py3m!3;hX8-sh=(#Z8 zm|wiypMjSR|A4lSk3Rf9Jmx`KNE8+Qtq`i+W0NFiA5kYx{1Ma z48|gYj57>VYWasltjEJnVc}0gTA&aMY(1JfCDNFNrA00LJo68hs;Gh1gHusA(LJd) zu5T7VevO&JrgF@&puYWU4#?A-oSYHVre`6y{I7C(M#lJ#2ldh4^}ha|(%0ep?`Ed! z_r4~uR@Tr8TJ;9ef%F4lB19+$qx3fOa*wCD6$SDJ8EbWvR2gG;;0h0TWQThbA1z5$ zqoB-_rGHuR){Yt{`A4jSY>aMQ9wCkiF)ziL?w%N*f+yaNq4}?akOb6(A_&=>9IzRw zr#k!5Ghn4gD8L@IIx9&X@y?#|+W!XU(X=@z8VMzokRzgw2VEP)bXI_I=DQ z!#b%HX=>_xa=^vw&DDPuZT#3~Auf>g1|zI>z6%V-^n8ZG#H!{x4E4;F0R?=9T0wH! zO!0x2sc|!*MP=nU;Q64+gG`h=X%zu_x1CGcajv5Tg=JzYr{Y$v&Gb@A(i^E}YH2B~ z`vy%(o4dgMm+CQgZ~2glzms%achoqf3H%&1f9Q6W$xFRX`#^Kx@eO4qqkw`q0YNPJ zR>wOl^+&AgA4rgwI+9xywfEa0fYlwFq=L)f($H zrw*SVS6fd0n^4A(2`;I>Vq#;H_iD8bf@hvN47(yv^S@KaFgU#%kCu{~I;V}PJX z+<>;r8b%QZN@>(}vNEd6fF%}H^}~FF=bJf5>q`f};80wCf#dA0UC7bR_peKV(oFZN z>~}>`&p+TTsYc$QF;gbE2sVKZ9f${V`Yk ze&ShOEH;eJ2xOSW*kxtihh_ng3^z~D8hIUVb=E2N^EWZDd-5&F3=|3TjdHP@EA<4y z+f7Hu*cMXbk*KwH_F;=V4ENK$&}V|6k(CvcUXzuNvwrNzpq`gc_^&Y+K1QBNhZC7{{Y#W$2o29NWKf5X==rJzBQf$3+fNS-!5R7TCAybl z9la*Q=S2ZSP(DU)1)xC_h4Az7Xb0fhb4Rl<6P9wY?2}sz6|13Q%!%DMD{i#|&ifZL zBTp*9WHaRB)Oiv61koKDTCX>Ehgi>YAdgrMVQD@^RH2EQ`~TjelKlG!>^&=WJ`zA4 zj`)z*;w+G+w%D*icWcEdD^LmaE9lHmgBW9(43=d3z)BbBpSeV+(vHO=f_ew>(qfU9 zk)st1q9|u1K)_0qh|(Q5x< zg(x|seheK#MbhRlyxSHHy64wmX2y$qf4Y0o(lOx(-%=L&Ykv0z)cU)CT&t$8JZPHX z9Sbm?bqzQD2eAo9-FUyv$~4B#IOcVFX9&ZTLCXbp$Aq-klVvX^%dX*1Gm;LcIZ{t{ zFQ(&dY@R)PmX`;sM%=3JFbC(oAG&V{B~xyw12*Mm(@qpfm{@r#jR55FG1NMZvpNyB zswKI7zfqE;0J6lJyFzZUlgg0|AyT*3xr^bB3HG2o2HEjTacLdHY~r>X7BBk-_*TXe zRv_Go{R?+PEyMhbP-$Zgq_Q@W@h`;uvft&7#uA&eKj;M@6vwFJksoy9(JP!*6cdLe_iCd{=8JY( zk0mWi-WPepqFiA_>(ucJ&VBCSdI9FsQaC20hh6=m(M~w-nG`~eG~TC;8a@7OMQ@V2 zb&-Xm{X*B%LeVsB=#$;Fwf+(0(a$1HP2wEWR_`PtZ_ z4y-15reP!Cc29|LbWieg71}R@Y=&Fkpq~eE(-;bf%bQonx))ZDn9ez9|)q9F2pTtBxf2^>t+rN=FlxIJaUkv+j9s@z|QCb zux$tu%UvpvIDf)go{bO@Ez4|B0_)|4?$`P<3)p#J|4-6Uj5E_i3}{=Un2(;9fFFPx;i=%O@T>vh6*enP%+C>uUhN1+x@sHK2V>1Tmkqtxo!iO^x8je zak#2V`s8kUgsIiKv93Rw%)oV zjh8@wUrAVE#0JY4KM9pGz;2BWrtFO1q@r7}eEinrJ@hm-CtYSE@$-hdZpoSt9{eH% z8{jCl;k-n43P=($+H^D9Zx&sX)iFFLvK=6GAVvIy&Bo(@ZqM7){ohLq8rL9vAT{M8 z0wlWx(F;ZzaG^lFxcAXLXM7z7d4mCSf^EpYX9)?p0idFjgl&$&;JkKuOP7)JZ2Od7 z_62`_VYJinx2PqwoKJndIffnQju@KtQibfc3iMaH8h|EaH^AM?cVmtqNO47YFg?~L z7ga&3u!Cg}c+40XN!PWFZMN4?|L=3TXv86n91LzAxQub;=q{ahThMgE^|^ZEh6Z%@ z5)EguOju(UP!Dq=cyz%p)K;`jUUOK7S4}tG-akEsWm2j`68V>^lhC?+_lHLdoK?&6 zTui@EY7`YJhlGTvk_QIr(a1cR;FP;s4O;`7k^p(lZ)$4#4sD_vQiL4AjYE}mRx}!w zi_{MT1nnw=e5@rX%>R#7qWk&rwh~goO=+}3;tC}8?TUQ)>J{#VzNXtt4{Q&Mm5d@r z@Ei0v8Q@?ZySdg)u1bN0EAOE4J2r{I*aEILas(bJ%tak}CxE`l01-B1f$kX`J;(nm zZamO@L*WZL+$5&=Ty+Jc*`R}Qk!Uq8sK zV|s;3aG&LsqMcc@+VfvnwBQ#d6;^e8yqaleB5Kpv=B`%ceLs9wH_#bTaW|)3lHhsc z=;Y*^4+_XGu#^dKSep74OoMm)e7vFsHYC9;YWyTbzt#8IJuy!kCdaOyxhIUKKlAN* zw7~vA;x}YVdJnTRqp>th)PUs-42yAKXCUxl@T@7jmKursY$UQLm4OKv5^5X@zS!u% z=SY(X(EaltzVnetw~YA_gfUzcwUH>g51H`LuE+wI#|08YMWVqJt5W}4(8%cK^{ZF$ zYal)Gvx7YdVzcbVI2eFOqwyd9Bn?wZBogybGxe43IAKQ0Fu`#t5;XJGuyowj9_Gnp zNKRma2}Zc{$n`4`?zLBB&NZ$txBrE`%Z7vhx>&kd%SXj~Tlm;Aj{er~lh+Z&W|^6p zK?i`Tw}a3IE`o$C%J$WoH}fdk{@ux z6%_dZ9-FxL$$NtL@Hvd{T`db89i8K-ayH~6EfG%R@%D5*+9-@sUTFGGO{SaSnNrIt z$DHD`fv5<7fMX4@zSl*3N}Pd`Em4ZLW91B2y^O!qMy1qH2pFJ6NhjNK@Y53?z+=~| zIDR0#WQE)H3AxZvplxIX6+Kw50fPsP7xEFA0wE3MGNM=V?%j_Z-a+oi1d#NJzU4!DXn4of3+gORi`eNP|)&wNa;1Xfk@;fZW1(TZe*!; z;!UzS_RNO?G2nV;BRVhb#p}BtJ9YFn0)PxaF?n|TkOWKzOiw`HM*z6zd3kr9C2bgV zX8xO{W6yWT1;hjV*D$#_s`dB+T+|0?*GDpJ7U%De4acS|k5qul6$=3$PV*O^@qNT4LWX?thnNVl$dtBlL!axBVP!nMjAL8C@A+d6eMbka>7hhBv>#4^B7&0ODlNw zYWO#bKHq@5pPpK@zzIp}8!812eBMp7P*BWa1nfDv6c%Kzi9DS%2uy?=napG*O`1k# zU^Np6%`VE-CD^=;;}1Ipwq{qCOZamx4xPNXg@7mDvwPjHvYT#VkZX9QaNRz7VROJU zl~x7u>0YC)G?G}9d2LI*|2pg7-bYM8bhq^P=YksvF3mBQ9`+HO!TiXbT=Rr+E4fqv zJ9gCDla9fWMN8d#%u$16D9>twsdKG*LqwqQ{t8iNLZz~SY2!y?F?fuXDv1w?!S=kK z^r-+~aI57yF=gcbY`MENy80SrKPXj%I6$UiBGI*8FtB_j;9W+E!Js@t)WX0X2>L%c zrh3~=!j%DteKV!wzyyjLO(SWKaX)#%wfK`L9q+S_onQ=jhNe;z{& zdG1c!3J*$Z9|AV!oKor6;wLiK)GVC@78ywEBLm(O)7%zu&UF0rG$9Cc{8CEQ2>lh1 zkQSx|VWK~afYkDW5j}0uqleRK8t3&E2-ZhyYilZCB7Mo!++5B0aq2O1B!EmP2R#h& zcSq)3hyhS^K<#+i1qIy+Jp58L7d!&-?f=scIftdb&>v?7C=Pa&t%%l0*VTBa@Xm8q z9qG}{?9=O<|8Owt%A=LMmt%{Brz?7~#2}@Bm1XRP4>1SNxYAsY$Zk?;br)QUsmn>U z=6AI)dIM)XN|o;jP<9u&NkA1a(f{JS3{0p-_acXeK{4c&*Ff4y!2|02013xEXelfT zuC~5xZ<}-k&DsByM&?IwscgtYW+HhrO)tBU*flCheBR}Ki`$&$mSFYoK;LJMB1{>sc>RU7qeKw=OXjGn)5whSixT zUH#D)CQx3U?|M@)Xua&MFOkVNp}MD=|8)BYCXRQfTHAO|nw{ZKGG}%RjlOqk=SS}1 zJt-N=@MBoVSv9_6Ck2o#4=q+I)2Kh@xWvU^v}tJOiU|)aSpD@KL)Y{NNw71~ZhzNd zPfAM@g_5P={!4j`F}u|f5&^rSVQARi*$iDUJ>c84moReLtp7%3(p82>{S_MY35LBR zgxy=ZXaGXKa?W(_bGG#Cbxcp1Bh%K&V|k`Uzpue=2QP#&kHjE79KxxN34GzTFfN{w zl{Jp!w|Mps9OY0CB+}iAcwAO-zso0T#k;v-CH*~@97D}i=}JBK!D<7(q(0_%9v@qN zY_F}dUw=%7w^U58l3(;z;Ms0~Wt~`$_1@;1JR(3zVAnA=>b_$%`7Hm+=CN$!5>BC9 zck4d%{|O!Hny$}!kdW_lQm*Uz^}4mMjQS<7>35eDTe+S*RD7h^#w;JF;^}GKT*b8{ z#PsU*;gG0Yy0RKsIF@0lEGBQuv20YeeRg#3{m2#EU*t{l$SV8(Oh?tRLuBEQ+RF+Q zRqBI+`@JzTbzBeXTfcn^TUzpfQj$TKO_&KBRRLS;BNJ&!0GZhV;d0_Zy=#`)SC~tV z5z#sdVP_SD=gE1aXIQbO zo|J%9q9A3j(smkq4ftnl@yqNHuT9g}8rM~hwh8@(s4dvWPFe`hmPYW?ST5ScCf1o4 znYByvQ^IDiP)uv<&icS&@g;@3=n=f3qLOb{?*GlQWEQ#DsqnL=Xg&XWr$q(rr?bRb zx1_}7Vs6%$zm$z-&%wUhNH2$0k4E2{yZdw99r}I0&o;gMBUF=q{-b};wyerx%q*!cIpQ}6N$ns*U#@?g-*AmiT$sHUcs8*q7rKr#; zBl3tbi`6Ko9fkbC6!7%s?@Q#e-%zTm)eq19O5^QAmDw;*1#r#?nC8!rbPF!^k zgWwd>^za75$03%-TE3^$yZ`KPZ0(<3TdvDM$8mWS^{@ZfAZz)+8 z!K%&2F*$IVLz#wxptoyR-*HT#Gw(&FDq_7UqakXe|QC@t=TP>qb`x@yh5i$aP z{>izMX=#oyWSaJ!Q3R;uTN^M6dTf0x;+x}one~ZQb`gO;o8~V>dR6{-Q#Zd_PxW?3 z{`sJLy{|ti(#$O1!$$66c3&vx#lIh3QY0me3vly1-*~Cr1AX^RTuV|$bG~~0T#Ss9 zDd%Xn*ko$1su1jy>mI%-l~W@pm0Q~`mHnY(tj~MxZjsk$ZPCj2bCWa63GQ)AUwpKa z7q|HpDh}3m->|Xj`f+&cr<-qPs3_0a#v0pePnlEjef#^BX!d{~@{Hj8pTyiJfQ@%Tw-}nTg z$mL3K6AS2oS+L}uQrC1s{Qn{9J;15{|M&6NIgY(Ywj7ilij3^Cl97>BHW?|avN-V9~Jz71;U9M_NtIrTG`5pD?+TDjK&Wo{y zHK)TA4=#<=)KXH*UnqCEMfvUa1zhT4=33d;fQs2m2dN>)1sY%WoQTGKckI9T2T-~m zX0A^!a-6j{;d)+wNdKSH>vp(|Hlv2~_}uy(nuG;~;rezQZsgI?Y5DlUZKe22ddbTU ztJ#9qJ?rE56S-uTCP(7cD^T_inn?z~UJW&HHx5M%PVq$B{MNN(Kc9$6PNZXSeX(PZ z*{~mUY<8>rCEMkZN5mta4{i*vR?-#Px!kPCIS9%*&=?xO6*XoQwf6HN*{Eeyxg{}K zT&HG7Pd|B_kjltwbojEEnwlF=!M0V~lc3@9dm(45QrJ6x*T^bNt40Z4|c@R@)(RN7cZbLt8}N!2D<2!UwCNiDgaiQRKph$o^7E zJC6}`N;PHXhFT7#EP`)rEwp zMUxtjw~r>*p1dKT8qHMVZhW~IpEAc7vUia;JvR0#T`ug5ZwEVsIPNPY5dUz5oeewMQV?(u&Avm^m=i&uT2}{21FmG>KJ$QD2Ga@ zdfeHc%f7eQJI&KsA7g9I+AT#Aapw1mWWhUo)-BzmYRl1>%IlVbVz)G{3@FcSvU|#v zLK)WK&L0|a> zQI+4IuU4d8xb1hSr-W$r*?Jd^B9K3OC39l+VB@l+WqT)W?UyS(i(ii@scV=E9L^iS;LCdit)g?mxz_ z_Y|GoRx|^KCH6^mCCr^KE9@08bki@RW9_w@T7!eZ8nZ=BO`2rZFXsd%G?f7@n={V_ z-{NP?a^{Iu>6$7MSV!RDXzZ%WPJi5DI zR_9xNxZ=|o;02&-V|+qFuKA4{3UFVaN^5HTtV2RVK74n3jgn}Rpt@aQ1|c3~0PZHl ze=c@tv0VE8Gx`DRj%G#(+7^AbU~hiu<~=VW|K9CubT(2(ebgEK(qM=D`6U9mjb_3sf zV#n0%7cRdq-D;=1`+(ofWjiJ_B$S01as0x21%trcef5Oa&f6?0@}?_0HKHFMnKBQM zJ#|aGeJnU)Di_b>Z#>OFd0Z%|NgNZ-Pw;%<38%4V4~KEfa@JPRaq=MTWZf z8WK#$s`UGvrHtN9TOjm^Rub=N=B0=bZMTEtm6es0)R5xC5g6}RQ1V$B%WePkNy*yK z@Z5x5h3~pT<8`|5D`D6%OdoO6XU{B~cNVIHZ)Y9OsJL#=1saZcU2ZN zMa)b-^26TDU<*Q)_aBUHYTiV?=?5&tFa^Di&651(Yv!=gx}rB^v;Z-30Ea$=2heI`2Rjw zNmbF>+H_F8NhRr$ixG@3#G{peoFX|(bqe-5l7hfqaANVo7*Q7^!W=`aQAp39a=F~% z6%+0x?57!sh>WBKmp@FFyw4p^8=J`(_qz2@_+$78AAB_1*)p_y`T&{y@?iM_9PQS- z7XjqRojZ5s6te?jZBX4bnce3N7xbm@~Rn z0^Pg0QBZb!V&XD_^$fwZU^Ju)y(ON#$yVt~-!8b?QOPN4LUM^j#D72bh5L%8qb_aq z=g}nZcWkDWi=Mxmb?=OFYzx|W)kHaoO<)?>xK}^%{r$SosNm8*30cW_WMec)ONXB;XOja(+dsxRc$NJM|n6-BCR zYxVC3*FBcGaP)52>R=q)vqOS**QU(D_t}EnMjp3`M5D%tB?Qm!PRi0SsjnxGHr6fn z%2Fa9ml9OcSYvOBIeG8-c zOXsE-bExrJXNInO(bw^DPt{V;)$g$1KPmjFflr1IzaGV0t4=eITq@NS6ux!oYqr(U z_}BcJ+jN$SBvjPb&%Uf`aVW4UVlAg44K-bO$tQquqYra9je{Kh>4c+OX$pd!pxoqa z_heG{bB8g@S#tEHCNBe0ByByX>HBDtfl44BO|j@2udXn zq!<}X%)kdDj}^j&S28OV+C4XVQrxx$WbmA7`Uo#VN5+Wj|J0?)f*>fgY&_|uHxk#K z;a}4?cuVEV0d_?yi(9uG>@D`a?xYK@O*q0z5d}2XG16#>6LQF z)$@ex+0hgDqH4B9`JASLEp2C*rU$~T+YL%SAjD33eS6-|4mYS6( z7RatF(DP zD2(C@1jp?vIuaiKP2)jsBf?Z9tq)<nbi}n?#K15Sr{BWZ&Up`IrrW=4KMB@ zSz;si>73^DWLBPFrHLrcT}{^tp$jabqnmVqD(Gm)Fo~;?bAoP>Qlc>UIVk1+&VntvK!-{F=LwAJ6@www2hHW{ z+smVy@m%uT#YI=19`BbF=j?}S7x^21@GvOJ`=3uAr)e z8&BB#xkopHr@pVnm2)ikMSka)TlZMSU*Hp9a--@^I-YnlNuNx<+9wJhOZrMa?&~|2 zt)YdEvYrhTLg`x_;;yQDuf&FAwhIfdBpjn8srW@+G7&}0xixaNUJteN_5&;j+bLk z=Hd?@mzAxC%>Me-gI*KDks<9UCd8Q;(+rMZP{`yDFTwy~lV?`oK(AKe6{##vd{NBg zrA9hNvhelh6+!o%zvT((SK^f0njD@>$U114mYwvuPIC3y;Ddqz>1XrOlS4(LQOXAK zT%^%-HP@xKHsd-fR#!zd_aJed$ROr^NQTuz3r-(3L}@u<@)+i28yh2&a(gF)Xx6Mc ztS7!Z^a&_%SmjUeH|;l3y&QiWL7iNauWu$jbltn+wl)1W_Zjt#@4`1ezj*k*oLuJ4 z{etJOX}fPOr( z#l@sYM@Kg1-zf69RLF5}ko&-?_z-sFjvv9+4*cY=U)x5ero)<=w^mTqpkdJg*Q=cW zPVhAfgnmRP^PWF@<@?_*B+VF(7NjNT&hYc!w779&j0~mn%0z!-dpo#gaB!0aI7acW zLqno4gNkKSQNmduM2IhVk4doFNU*95z7<6}SR^S5)s7XHV#GsLcH8Oo_luG|{{-0$ z3XV|YF@D3=u|;ppoT)fo{$7+Rc;!v@E-py0_Uog%0_JB9!!xsOqq2AFsLn=4(^u5e zExf8(i|hCl0mt?;D}Kwh);ve^Dv82u_8xr-@e2CT5IZxKf5OQ+i z?n?@-wguf1Gww80S)%B!h6CSSO{Mp%pag$r$f;=g=#9{MtzqecHGh%Mr5~;izqoXL z{$JOa?(%2HarFGV+jlxkQQ9ZBz2o8O^HbQ9AzpCYWN2_;b&}593k^m6-P%$u8}2%Z zZl#N>ia}+;7TQtJa+<7w7r_=ahxFk=fqKlbFFB`3=Ge2NoAB+^mBS7 z8@a25LpbHv?i6=^NZ;Xrq=2s9($3EA`5CJ^U(oFxM0xVWX>6W>? zM^@&WZ+>q~{Jf=NG>W}5yq)*rC3X5CTmo=Tco*u6q7yOYmP~Ed>?|{v7!##%aF%{;)M{?XfIBQy+cDNm15+^%* zUuJ2|TlCB+3AYcT%LUdiOzS`9+q-c>?D;US2wp6@>xaR$(U@=BJb!63Y%BWSKc7%V z(=A2BYrEqjkLviKT7HDfqQXWMNp-w`h4SERH)3kb)Zu51(=ZcdmOGgkmiFN*)#N_J z4}#N;g1Go^iNacPHcWtAX$clrPAn}i|5Pym7v~xz1FMm2_KcDlqnfBsL~M2U z$kggf)C|-L&E;(E6<+p&vSf&YxccE)QJtF>oO`SNg%y6tiLXBe>&BypvizOJelqVI zF_zii8ap5UiAkmY49l^>^zTN_Kl5x^j^3*~gk~e{_qe!Bd!_9}>-bl0acK?NHcH_@ z+PYIbO_HZ5t@6{~t38ODGG9yh66$|T?4r*vK39F7_uPUlB<*E}+MdWY|P@yUn7 z*F6vP#D83fw3RR{H;lcADKEQChayy8E6RmYh^QJjlEYYtf;S3X2Z+zxJr%ktnREyJ zqYEtJH0-A)Cnu+XHOU1M*$2$ILvpjS4((}a6WV9Z+>wN8&`=WkjW`0DA%%ZGu9AcH z_2r@zGJN*w)sXAfsp5`Cp=7MY<-&fQCt@_xsUBbdyEZ7r-n|3AUofhP8rDl($Fj$d zq4J!}pE#L+d*3deYFIz}SW80yO^?8xhk6m?=DBt{)KwEnb^n#XROWr(UugyzDZ}$j zG#v{QF~6s!B>w4OS;08$#YidHcv6Dy^|xz2=QbGIC%q>b`K3QKFpey(UZKP!%TDgz zmp(0%xug|7`FE3apF)PIYONxvr>yuu90r1e|%Er4dCnr{1% zMGa^ROl%JZHfo(Y>r`bqiVX0@E}V6y?Pb&2R6|( zT7jh^EkWM&N7w-I5WI{j-y*f>WL;~J;Rht`gEH~M(qfIm^c#?o2KxFWmaWhTP7_RC zUac;{JctuuH+}@E)Hqn#gXI8OlY?|7ArDEh&vhtU84A8)=#j_2?++ogS`!LO#YfY* z#BCGg3bZ2_#4|Q)#@Fl>RV+U{^pHb8m)ql_^&D8FrviU)oyvawar_y_2)k)Gz+-OX z8KlsfN=L--txQKXx-Aq-^czXld(D*I?atLQLfP+;js%ks&UN0-=&l%=Gnr`i9+{_Z zi-3+4=@?+0eXIr;S&x@g88KB!Iipd@8~2BXb_(jf$%r2Cr*%(D;RMlwL8#fUGqUc#( z(dP)@iZhcH=d$X2Ib44D->B`6hW4lLhf>rricv5+wQTw76H!Fg9~_G?XxlngM}{V8 z6oLaBzRFCrZ*i;d&s|nlR@_(DIqY+#8$Cl_VEU;0|LT94h#y*J{(VabwdnfX22;qJU3 zGB)FIc&qP)@(lx(^_{8j0~j1D*Y6X;G05~OSWo;7K6-+LY%c40%>3HnYkqk(aTUN+ za8@WGF5Jv)SG6TFDci}Kc={8L@KnbIeNdBW&((=+;KSy?jTH8irF3GV3!qRwp~8)0 zk1jZOu)j|OhN`=;*0#=jvMCf#MoWu-y&0tZF=|Z+4&Z~4LY^p^&Pc`ZS;NZQ-Hlbc zz2bi7=dVEwl|gX1au&-SAnVhAWwJ=g*$!>I2rdS>gZ_=Sd7}3hmZ0SuO6}3~pQdX+ z=GxZe-d0al!5-Sn>LV&1cVnOr=j;kCV6E6&mB}x;N0)m3XNQPubIn`%C}mH^>pLtw z&H*_?Yoi=Nqe6`jSQBUH7BzRhrg4XF{>GJSlKMyfAU@HkRZ9lQ$hD7LHK8+3BA#-E z%nwhW0b=99c8@I;b-HcExyla8ISO1F&DvV-Q^KJn8R(!oc7|X2Qua`O-n|VS*EQO?deEH3aGkVOZJ3OarPpTK)t{&`* z>=6^AaK_ldObU9P)ln#f>i@Ke6K`!)I(FT7yFCbj7g{%6q2gcGJzH5+ z?bXWHFApLUuVI0V66{p*WrO9e6-cFTjyoqOrxX1c zS-rUU;S5(E?az7*Dw=d#=|LOTfUz0pPQ>BFKU9lFT?#8g78aOrTauIs6FMy$U*uu| z(dPG`KdRo|l3?$x3-*w@8ii+BR5)?>INR$DEG>_gKqe6)0nlRmHQ}$uj{12~RHobX zVqV|N7gkL%DTw$+J{m^=E+1h9!1je(c-yS~!7(qVf>i{e9#t%(Z*yFJQL+dv z72Q7RV_ux-ag?Jz2{wl?y(5t$xP-{6(z*5j7^tt}r0#&RM96G8IVaz~e_!zGRov?0 z;-VAlbBZQnA=Ur9nAl2HS;PK9jXLtHVNmCwb;PcpCakW<8D<<7*J5!w)Od6?gij`i!P_TVNeR5l2SN&I$ zzzsKr`irNs#*Vr4j=8l5#WjD+HLhC4g>17-?(UMFMt7tzZVW$eG&M)oDCk32g6Y2l z>#4r`8chi4!2jgc+=WC&0*Nes^j*F4GV75NqTB^-MMPaFG~jN1~WEbm>=$ z2-~JjX%sGOR*OP?j9Y7#J9I7XW;lY?Uzb&kur*IRLm-KrR|g88H_)118GV+Gr&y9T zizTpt(cfCyJAY1So{euft8kE?c@)?62Vegj-M}0XVR4zPBf`h*i35$G9txv2XEVrr zhW9>;-F&khr;b=V5b{YGgScBow_lX3UUI5B+3GJMnDMZQ@n0Wvl1Z-<`8<1u9clIC z6pRk*cm6mzi6tQ=g?gE7q!9HENd_~OFaRx{e1T=6sjGqW@{MpF`mqC7I)L?XpvEzk zlwFalH_Il*b=n7xJQm0e+=wiz+xX0V@#4iXSOrF?dOR-Eg&STzJ47^j>Zw8KbC=K= z+0c1F=R00N-*=X^VpV*?U2wbJ{KlVh=1XYETjtQw4Z4b2M4pCuW^&!j zS|MRhO_3#>U*F+)NZ4z3BkZvV8~UBK%R8 zt*&vlJHqJCM_33XYy-?P_u(;wjm8An*^+QgIJJxQsEx@9WfM!J4)H~?BW$K2zIB}7 zZ9ddLbOCrKAt3E0?t6P@R)7h!DY$@{fY}vE3hAbm&Nqlpvw2SuuY2a*? z5Cy_6xKR`tfpyM=a6_dbbNEIkfV2HUfjMie$=| z_&2QdjD!-pw=rnh~O%gFE<<}S;W&Sx-R(BjD{aQ-j4t5USxGj>)*c=edeZoGS3`0zxvs6lvRZCk*dtw01IdXu!ABZ6dTAzY@;_?45F8~mX0kG-Zm;sB6 zUj!1r{o}R*DiPhnBfOx4%fhhF0YM*6gf1g)>i?!-jfajKm2-L$fyEWHGd}c`sPPd1Y zUG1OMk3ZO?>P*HUavS<0y2x1jr;zZ=xigQd-rQ;!Ya$h7-^cwH=R;;ECSJlNtWl38L^D8Zd%81T87nWJ}Wd^`Zu z;shfILko-lm=L#4q%bWe1<1-^7M$j@x*mFdF2mUgCcSM}9(i&o6? z!{1UcX-n_!?&iLK|9%854NXq5;DR&`mP!b@jBzWt*RDU+JWfU9&P9iZjIdmUTpk=- zg9eSQ8I1uWiJD*Osahz| z0EC*uDr)|YLT^lI&Bl=|Wj`%$%FhZ&@yets2&Irh*Z@|AvZHi)d0F?*@82V^cj3Ur z#N^u|oH2f{Uz7U?PHK@6CS%inLD6dtCB7j%|7TXM-|fGs`zsT)CH{%08zqX4vRnpY zyppvYt!b~87$>|i{;%^NFL^#-dubIUCOt1;1vEF}joL+IF?ooJJOY#`OrFbv8?{W7SpJ zn=6d3V-LFgYz#s|s+=bSg}IZcbJt!5B;K~S_m!58h|@v)j^M2e^O^Vq`97+VoMpo@ zD%lbcMb$O#6nj+S+a$ zoLmAyDFyW|Q*rRcc(N=C8w>Y9IzYBft!c!yt`O6?(t9 z8efn7?mGL>3OH~IdPPcwQ_>hGn@fFW4$+vHQks*^=4)?t6&+gTjd^Hd&jzijr=WMP zAms;)vw-}-i59S^sL@Evv!Qbu3?IZE)>d2fhkmHN0Abcf${-n;bY{N%KXsEb=+-?7 z=A$={KDZ5ZQ-n3aP-tfNO`vZ&(TLd-t_W7@H1bKT?qDzs&{>y*6`k@COwR7L%@pi@ z-~E4DfCS}Z#jk>$NHVJpBLYeL2C%*VqHB<-;Is^2ud@RKhEE|pyAbdUDRPNvV(>Ft zAZ)cf#0m=jRxY!w-DZK=Y&TL5=B9gp{!UOJRIOlo9(5cNrm&#QyP+=x{U4!1ju}~s zagT{R?iiMA_qJiJUAMk6ns;{}P#*E0pF)8-_^>LBu5zWPOC_>aFBDnrJWzL?;`lSR zJFbkf`TH~YPw!{hI*Ehdwf~d|jy9GyB;QH~%fUX{#9gm-LD$9XL}FMkk>Oem-uc<| zCeHXDcY~99`TcSH`OLuzz3kAf&;pf7wq)|MK2hIDM|+T*1hzVcUff{w*x>S|qkjZZ z+1)o@7a3s{3r;{8$dUbc5*ameaVc6{wct70$H$+v*A4T#GLb4%qX%j zmH%CceqbolgiNwVOo8-ISwaHI)`QK+$e-0(#25xk%gY)X#zo}h_UZ{p5&oa_?;l=S zxP|rVO(L*lV2r13A(x{@V02cDgfc^1sM`4vH!u*q{tqE)YHgjVSX)~I*8sUqJ1E%& zkOEZJlMFmRa%teM}n(PQRhi)VpRgoNpJt)X_@l{v*2hW~U!j6{5zEl)s+jK}IreX&Na_kag~g zouWLc$_6x8{JYG-a$)QVkt3sumK_SEt@_wGrKc5N<{6aMKSUK-u~ZCsQ`L!0F_v91 z`xQjq74&*iaze!Hk3ck0DbYZ=Np}2JDBBtt^9)^3OXY1{UlrrmXHKXdD?vGZFhwq5 zH*Lezsx}ejwyWtvUwwu)3A7`r9$b<7*Cy>W&b%IXR{v?qwZE@xW0vXivJh$70M6=v z!MUe{q*OuNA02zYx2IAR7RS3wv7eQa!o2xT6+eSP{0S-%jA}Iul(VN~XV(i$OK)!h zz;d|pfL6&j@U7A*0!Inp%ipv#)=UVXI;hJ@?DJl(hmL&lo!}fG22p&FS=>qiaMGY~ z1ev6NWpZ#-S64Ry8%VnQ7q>D|r-%g6eZuGQj{{rzt&Km82pE1iCbS*95%xY#KGN=t z>R@B2@BYe!9h3og?=KnvU+AJvTDigDseR#SqH;$V_;dgnq!Jn9W5OMYY6{Y=!-FP%ikxCxB$E92X+oJ;B(Th;ruVey)`#%ZCt23|BQ|$Ee)@@8_|Q-e zXSIc$cUo^=kSwgU={6U=;msWLEvI$*-u!xh1f|)6AAMJy_>5$3m)Rd5;!?C>#eMG! z(wOJ1lCq5B$z+pdOehU{-ISkAP z=Z)eW|_}vf#Y2O9F+@$yfTqj2bztC7rM`x8=s9rPDfWa zmO!6jlx2NaQBg4g<@?F?-Eq2YS}$seD392~lnztK#64YI?c%fhRQ#0aM@wG4Xf7Uk zfSNHXS-bR8e(m&kROvWmBj_#h0rxbd-c#k({YU9HoZ-o{Op`1nQz6p8N+=BcuFyzp z7vpKKAl1XCaAmWq*o4CXjH6BV1+G%`$HC*d@u%eYaM<)kz}ctIHQl zKXz}Etgr(o_PU)Cl921cUdH1G#zZ^4QfY6dnSQ-eh}$vEZf=2_nfkD~>)T2UcNax? zJ}u(Jr9_4mcf2nsgq@o_k?}BYN^UKt?+0;A2k9HMgtWy$uc!jYcyexN*(o$gZliY@ z=c>~TVv;kLq3@3vcP3VULxX?ZA%Z*u(iXIWF{cn&O`;zw6HpAYMbJZ<{p$J8HQbBj!_5AikhY-DImW6 zLqk%a%(1kWU=>40A>|!55{Eu6E`J)q22>GB!Uw|R4J%v&U zPSQ;p&%xLvGd0@=R6v{g0YJT=`Gv2g%E;Pv#2qms!qTXm#7U=gsx98VKt)a6Y*zug zDAfI`kfJGW5q+YLZYVPeOlcauXv=0HIf8U;u(F;jtZ+nzMJ^=1zTMOrGyNOCeWXqh zX8t-;vljE^(qsN2ZW`=Z{NvzwA&v@w04c zKgm+=yeubbc8_G!G^Zu2S88{(GQ~H*<=nW17v~#gr3e`o?p6-&lWi|)6KuW}@c9N! zIiIqHAEa$f(brY%3LaOQF<~6eHU+^|nddhj_QF+VyfLd=;e6tIqv;%6(^O{ISCorc zF*76a<70#mkAJ(PC~a^U^k|W+5}6cA=kv$hY!Z;7%&c;*m{Flm*1N`grV8a)^?{%V zI+nYs(CZz24>3o|(Rsc(PG^{7`X(k4zzSk$ zc(|~lBB}q+T`tacOJX|OCdwxHxVX62k+j^$k7h|F?6_3ecXFS7buBhFHPufoM&R=v zJtUiYh=ykCUJ?emzPbAMV!&*tK zhz8^9rb}Z70^NWYg4kzfV-DTcv9r<-ybQr zbiQ2WAwy0!rxR+4tpzGKvM&VA4sg-7P6I{SDO`gb2Ajk(>hyL)@R zA;(0ZT$o^DVuJmH_ECj+O%&5bsbfj-sj0W3g~Ben05Ae0GDNynxkQ8xN&JK zhHBET`2Cw*!|xi4;X7(suMZ3$d<7XSEf521af#y?JgvRaAdQ8 ztH^- zs!sU)K}fJNeMnAj)YD%A(?x#dzAjd1D^8-lRqG7+xp{%<)E&n41-Qrs(#yUE^g+NZEet?&;NVQ*8?2IA0UaL za8sbmX%Rn1YI~L#W^{-;=Svd_40I;fi`zr_V7L$UFtZ5tlNmQOuCV#p0B&Qdk%sWF z3b3+Iyt8D8afL4IBo9y*vT1WO+=6 zD~(8A>NjaM)i$GO?Z0G9M_h-z-UMm&C@mA;lmjt?YFQ8T(+@i9cxtyi7^6k=Mc`9z@E^!xri!2HR>HoH)(vMODo>#t0hn-H8ovd5qD z#|+j^jDQvVQ!%jS>BVnZ08$>S-jZ zlyrLME!3<^J6D>$R%3RZTm1sd_oc>^Zkv5{F{{!zka>$vzdZKGwp{G2^6>QelF$a!GJm$ zfj~V*+zYrVNsL{BwF6Dq`*}Wpclzo0$2?F68+t8xE^CPVx9HzDem=I@mQpaIf*gr< zI^mo1KhPbEQyjS7&^S+!B^v+|2b2TTGZ&lq8Cgc$ohOc^0RaJTz)vvU7qrtj-Aw83 zAlNu+N!W^oSDAZDf_)0m+G9B4I6CB$?8{T?(T}~GS9X;zuk%)tBLKfeZ_YqRB2Wt# z5CR^_c+;y_`@X;ct|(ZAkG>vW6hB90q-|g<*(&jXv)v$(>c|Y1i$~bX#m}4&&L=36 zp<0nhnp!FxsS`xV(Abq*L{zPXwY|9iepop$kEsu&Ypbo+lQed4zD&_*8793sg2CaO z{d^R58nR3hP9uOU2ZrDWh8A%OVS%WmMuiv`xdCC~gz=#^M<@gDu~(J|jIcN5wv zS0dMncW9>c;lBbqzK<^HX|3jN5^E)7{s|_NoJ$DOpMAKqWUa|W{!u9O>4b9ZF!QOY z?zZ-|9)V6m3C;XcE~ZGD9(#fVEjf82nLM}L?Vxv3DIFcpPoNVGa9)O?a79DcH|Z)4 zgzvXmYqoS!z?7fr{VB`G6AJ`&#BUOvax<4de(L|ac3)Pl&q}aAX8G6(QVE!E6bSa% zRg?qP53P$6YXmHzcb8xVC!GtzBErH0hDJs{t3PXZydgC_ogi2<-hj~#D4y>bloO6pueA{j}QvgVQ7ocYMiFJm`n33{sYo`l}odJ3sWSta7Yj ziK*wC?>8 zagKgwLd+zLaZloT9*-}y%q{sZDVq?6@qkc`BOo5|K)#hoPO{mtAksfgQ7U(Q+kP1b zUU$=0d>~n2bw&pNwA^=D?u)e_1+*#*gxbtJCVp~`mSKImPVGyUi1eO#oex=WqYqs# zUN`XIAzU1>Puu9K93@ISsfn$)y}tNRfpqevHH$2^vX1Q4qFCdHmZf?<>c!`}XWWDc^Uo`%uFWo=l$3M}whSzT!b=G3RDKYwck>|E_@Pj!*HCLKX8{T@LjYx; zdoiK1h>`iBK2}}v zvY{c^$=cc)+ws6)4A$5Va<$!3)EvtiVWuAqvL1DVpv&K z+piWsdM8`E&fdF8ljNp7`^(z>SssT(;d_I~7LMDpnf{~)@sD|(HI-m23Q(>K-`up@ zFWmbeh=k9B!Y)R)|A!|F;y@ZWLFV^PW#8SGCa~q>`d@;Mc7r7oPdl95T6dzD@Njm! zG~54G3x~nHR#{JR>D~;_2K^r*YvZgy@car9)yQP`U}CWH?KNjAr=+^$?La>%F}}Md zc>F<%Z6()b4Pb;_=Oe$s1#fb|3YG_%_5L6<=q6cT@m)LEO#9TUH>)qxL;dQQBh6=W+;W=H9(%KeL4n7cma)( zpGV1Wd;TlW=RoVnUO0QBTL^ia6q10X%@Tn2BEwFdz4e5U!{3K{n~k|?X}g9v@BPQcrFKX&UcA!!fa%I!3U1-54&YO^Vw?|U-S7oq2MyeafC+*3OWLomB-56 z7=p%){N4}08DkK#K=pD%zpWTx1mB;2@B-OagOg*SGlI00yyoOL8xkM%IOG>+$z>n> zxwvDq;$v$sb``r{f*?xTYrBlY^s`L17W&?TvSa7ZnITS!< zg^(ho{H%f|6VkGbeqjBKIkRe(_pX!D`!>tgf5NVO3O2tuf>{3fH`HI+^z3g)mJxFD zcrgKRdj1OoiuIh-Fx2^GKou*pkE#Hi9E!IG4;}=%yNko}3fNorN0@|!L~rZw-|#W8 z>uRNB5vzM)QW~-ewt|Odr!|N^FCrA?!hFT%4KNylZPa#f{Vv+nmR-A}(~<3f-LT1bf%OEC@2n9O(YRl$y$;-AD0*S6!h4NuPFt{-u`Z!C2Q_h@Qt~ z(yeCAiq;IF^ErMq#g_GOEA)>US7Nk2RC6<1^Xtd+PHR<;0)+Z{eIcwB>gcec-O z!ur821b>2}#*K`Y*?3g^%sspY{_h5ecpLC&O0fb<4GlZ;VS#Hyu zK*K4!#tmFu8Ic(Ymb2+{lw3|WVrKr;o>c>AnueKqo)4iH$dKr*e?x{lY@t;N)A&n= zT-J+SWB~NTa9jVd`$eNgtnhyUiKatgn=bEQx+Qe^AO;5Yxf@_Ih^(h&zlku=*>ZrQ zM5cQhcehN5pG`~Viu?n>04G>Iqx|SQH&;6}mTLotka!r~ITlT&N5y+iczWNAw;!7@ zb=}QYs@hnTi(%L>4jaw#t&@eqx{J4|y?yHV&t*}wAd)MJVm1%mDZbs&djR|ZgiOsS zWMh78evQm-cmzB}NFh4+AoV}Zh$Y)d*X?cBdvD0l=*M-{P;NXxza45wu z|LgFbXO1cnFr<^vg-?4b-xqEj8G?K}FE6U|YU$U1WBzd(lIKsKb|g?(Llqc84XsGe z$$1z<$SI(4v_nD>8lsL=J$xhzHzNz`rYDYVHNgk3@o7mRvwsdsvkF)pT!9o)T#onBTePO9KUDM41B_>)SId{Q+fm6G?_J z@}SZ4mEZW=-NJX?tPd{TG!rD@6bR7kz&DK43!dCwO#T<6HX4rMc!y_+D)sDrW^ zXg>gKXhD1maKA1Rjburs>lhIHBi-Pclo7l}CkT$ttCtr$dxAbc10t&gw$)0bRIG?R za+nEY(f>_8P7=yJzI7Uf1wJ6d;#JOtj7nIeHP67o@h`?5=70F$PXo)#Y0w>*t3-J$ zxD$wP4rx~)N;W&a`*G1+9Yd5>{Cv8Ap#aLbQz<`}ODNo{!zu zQ@9yFh-s>Ch|j)6^E@0XIy&(VUfeAC+OJ5v3r%$=*aNG#IhEEK)c@f$Y*~-uYzw$? zg$Q5!?xXJgPisqMzi8=79_Ie7nG>Q~g;~CEM;@p@60`kAQm=-AH3JWTYelJcoHo{t zJZF;_Vv395(DtoUwB3@;Le=8x^Lyw6IWG4R9CYr zIDT}BZPO&HCGu9UZThf!;L6i50&hms4NV`)kgD*^C-*F1oV9AJCq<5q>z_?D0*D5k zsVyidPvyL9DtdW=DfM09_G_A-_0#OQRJ&&3J1Xi~L8y*@a*;9jXI3`h;OeH(D-jE_ zWEe^zm{Z`Dx5pJ4N)Ep4m^P_gSk`@N9U$3#dsXL0&)@Nz&l~Tj9p90Z;prJjEV`V@ zPr`sr3s0l7yD#xc<)d9@_9P~ZqiHE-{Tj6Mk<74 zlNBnP>`gY=d))uIpWpx6W)Hf!-?18pPFGIYWvFU^yLKWv?ipI&zzyM5-fXi<0EbiMA@A!j!2 zyVi(~f$M=DHmU^kt6jKPaH@8J`7dd9l)^IdXZxbi-O?r18{IbIIaP)Du|+s1c+4fE z{#z%uy(Cn^hnJ3Y0Q!nj6!oOZ3j=gv74E%N9Gj~IP?@Qso$`%_LL)!9OrKvjFtDMN zzj7z!e_DXz;^GQu7<7Q#&@-4&zX$0BIh!X>Rhj9K^`keucWCZMyjA-YJW@UXNej+3> zkN!ZDxyje^!Q@eirx7=ZRIl>`Y=YOx)rYJf2T4=07FC5FrW!Z?@yXw|=_IUU@W%;! z>kASs=P&~n;TX^I-FO_}t=!4$eUWkQZFh3JPJEYOD%~GBU>T;>IP#KS|Estk)cU|B zrE6@-vDleNKI%Aa7j`{impQDE+!YGHAicR3NdEfbJ&^wy)u?tG2;XL+j7(1tr=1#& zPt9ljVKyZf^~+5x($t&AZBEECQJUEGg#z33>U}SAz;Buw()#on{D;Uci7#-hlv%D% zm<2svVoWp{35u#gEZ-Cmrf`xp4meU{AmOOT^TB@ixvG5xsyG0uHVbtLQfToJS~5KY zV)xwyQ;BhIXTdmpn8)Pc=T{rX7AYN--3?TcTmPVQ@c}(OeS?zta66sDu!SJf2>|BFdP^Q() zHM^tp;O7B%6PyW-KQ->3<+}JKUHYdUj3j9ZCR`(%QB)Yp{asLa(c`w2DCR&Ww>L?X zGPpPURWCm0$yzDgvK1d*UAdk|kmHGQC829#H7{xCXjD#dtS&y1PZ&FvTsNQwVO8N z5b*eQxGuZj64}|SG8~QgAWn6HmoY~NaKjUw-xGLdsTOM@Y+}z&%@W~B^}Q>J0If?v zf)4=qD{HCvcB*Ay>+GyzW|lcT>*9WUM6v?EQKVq-L{CGbo0S#{W~19#{MOrfU#?ob z2~0$xwJ!mv5Pf_ZWToTp$m^fdvVS>Yl)wQAW46i#x}R0J?!DgHg>&OCy6wv~aD>%4 zo%`1tD1kutYUAc1T(HOn>o641;4;NNhhwS=vvZ%Z_Y#LUT3rvct1b6pk*#$s&W!i*YEot6N`Rm%vJ#G3Ntv z=L7R_$xcPccN0cdh3sNXi^&V|bOHJqOBDwKz@A92cvv0Guy5~Z!xPZ=LCiyFMR+6W zI!6VeJKy&(Cz%U92o4ZGQN74UGBk(UCD}|N85G-=4Gp20dFE>eMeMz2Wm%nN$MS_3 zJug+lBoshed?1=-+qc(2($KEhyumg5?0DAY#KH^vGIt~RI#wU-p!oA&SeKx2&p&FX zO?S9>+ge+AXmqcEybg(NI3-)Cm`LN-8U1R+e3LN$gz2S_P~sYKWUKY0Wa?n>H>w+| zqeficFwT6`_k2biE;jH$fw*0%PWofbk&mrAxib6)sUbcEqT91O?stTwBP!)&!x~!C z8#AAH~saMBuUYkNE9m^|>PWfKZ9bF#hY?H7DPkpLC|tWx0T&!2SpgZ3QZ z)vI!6J1~Xt7!C-*yngjcT&Z}t9d(41mqyzIe>ker`+9jY1lQrymryAbzlRS~kPZv< z<4`Tn%=KxgTY|Io6H?5-`v)+s=k$LB6E@w2Pr6V)ssMV5;6A?(TdKc7rs|Q)UnIN{WfS|L#3hVMK}$| zw>%SA!V{XYd}^-vQxJ53ad{k=4;nuUgA#8?aamIz`m$Fhjbe5i(}j<{t=lXtHm0fV zHZrw%QWf_8Jpyd3#0e;L{ts>R()4KjBO9i+w6gfeCuajkZ2yppMVFdE>a|77u%q3& zaUfq0*TU1Rb(;Lq{GA#y16*eA0v369cAm1d?a^Z4j!HLB474pNQf{N)*L z(J9lD40Q!0Dg$CLk%I5(iZ-@zl=$?%$Y`=yCO?wVWTq;>zoW=Civ4B~o?EE0sAPTq&ws znIW8ts3m{(c=rn*+}40k;;xN}4VlCgJt*;YL+CkE0(oN{7Mh}8&FPovUsoS7O}+CY z3Ot2yNQMs%RX+2NUFS{mx2GTL70^?;_1=p{MBrWASj5tlMvM9;OS74rWVn~C?2E%! z=`9nNX-l_~@9~>lD_n?9y^VHG`sKm_uyx0)!j7h|`$%wP^^{$FgSV9ypU-vA7zM92 z?xJPI#|4D`D6$b|*#zn$0AR_@Q-kkL1<+XS8+X+H@$A?W@gsFpw~P&<-q3_tn;R^qXSuA%y+V@6bvfo=H|wz!+wSXfp(d^toVUx zVIr2pc_X!_8Qb-I`t<3s<>SZgFMeUzRf_cDGvopoBinn?&%h%zlnsQNOEu%CIU?~iQ+f(U*sSU*1xAmZ#o=h{})b9U;HOZz!|EL>Ch zpcl`PzgF_N=OJf4HN5+t7pis>Uw=i&Sgz0B{iY*!P67{PADh+ZX#wz}T0g71d3}L) z`(JRG!ak;+!+T{?(R((-eBUgA?j7yX?l~cNmr+OFqoF|s8ey)mw;MTJ@8~D_xwEY+ z_}eF^D#FJcr0^h(hFzNZ)aMTUIxa@nH8(4{0cV!(qd~wX0f6{Ae^d82A|`2*2;$Kq z?wX;H8ZHjsll79ZdN#HHUtZR;Ndbymw%9UG4o;X=T6S@tSmJHGNpPKOQs?E5Vh z-`gES<}t5O=#L*imO{bl%&l|B2pJ>MSa1ILOiMMp<3Rg{-+JgYYL0eiBU zJ@=AwBP{3))2D-uY^?9FvE`kMin#7bG+<8{qQPDuUzNU)`&kZ^X=YpIRdoix6JdjT zwoVp00tviWK@!!$GX%cx>H0EFm;aN>%Ndh;?(Rl?Q`TYMJBa*KaZfaEJ0?koYdzWW zJrSHe*nl5C(C_0x2LCf$LYoY~W+y2?hsGYOj_9I8?_a{{#p_xWpzBCO z0N7H)_LoaGQXN}%ZdbmZ_r4)Law0@`TF;K>+kDG>uE7T%ju*cZhD87Tb-I;rhrhM- zCSrRi;+nAIgFPvS4r6yOIWeTRb?2#QgB0xuz^2+wTy!>cF| zQ^k@%RSW3CE$E`M;Rd*!#CaAVx8_+3#Wbx$0|Nsv*hp7bN9U`=ty})uhK6H&Fzu+p zpw4?c9wzv*(ztc$0+y&3FX*v|g&tE73#oYu?3sJ*%PB8WXu*o;`wf-P7m5TY$znu} z+~tPMlvGrrTp}VOy@)Km0+qZEA1)Lj&ZSvfTZ@6s=aK*n3>#Z* zq>_CDOB9^}@yyIgeVgCpr!8(9MbH;*WbfIC;ad@X-r&lWz;zn$cT#?;qIE(h3YYeq zmqA~jfP4@OApr?d4k~n%G`fqC;L^7dnPpb@Yy)QnJ8L09t4g*F?;91Edg`YYwuvRz z$z3gg`N9We;e;-mC-Qmy@0}7LFOI~vl#4~bf1Iid&1}SL&I*;q&E(& zl|L{yuoQgtrAKMP*P^8n;wh^4s)IETja#N34@&xIN2F(y=?;-))psD1TTu;}HQi@? zKpxwdD4SZcu<<2-6G^9J2kHZ2s!5^4YYWU|`05lmqtnyQ(7f&h`xLo?ft5=g9Ub{5 zaD5wKY};WpG_GKTVF;wLuI?XO=uzQ?OLqnSRH&eF(S-{~r}o=ke&KmRoM92m)$bqM zBcaO4oL~OxmrlqKTDx*b%r^=?iG{~LI{!R40HFm3sH6ggW5(#q zj60=PCS=&6N;EaS{cpU+T=`+#Osk#3eqgZe#R8Za2Z(SKfQgIvR90YSfj(ku*q~kb zI49ZLtBL-332ZjGtjym_tEYD~Kmcs?#Q4WmJVfIObL+^#VZqU9A}^ENH2Pi6hvhKhUrK^j}L+C(h_bB|=eu#KhIrH`60ZKCk&8Y(|b}19KY}2-W)$ z1o~jOvt|F7kJSx$2mbQuG@xWc(Gh}@e*=~d_XS%2DZYeR0W9=Bjt~im9`dA$;ric2 z%6oA_1z^)piQIzWvKskR5TR*kV8sgwDl;s?QPO@0G=To*vuYbSELkoyDQPDSj-rEA zEsSSAjpMDFl5yb#Fa)=KW#5;FNecmfAA2&vHqwxh2!uPj`oKcDp%z*}G4KRF@dL$( zNZb;XJRaHxXuPtX-SMrvy- zl3i-BEM{wewf7HK4CyydsCT!ftVJ*_uXtsZwTHv6Vb4Iy&AZkbHX+U=J&x`ne`xu@ zo@eL-_2UH^0X+xmPT%KA>rZvKDULqCbCSz~3jGb~()ZS()4-KblqRFqh}C|}e$S$A zE3Wqf)`R+UWm8jqIR9sX{az>$ug6TP(!3o zfk@a(v|4k|ejEawYwRj^2f&7v)_mjOio-=VbuF3h%+`u@?$WpH+&cU&M;ww+V$;n3 z->#TGltjoc+khw-!}>q)^Rc-(fa(B^`~h5fayHt=RHk+TX9tJ$9XNyFY#Pok-=&p1 znjpo-LzK0Ph=Ke1>fM3d( zRjR~9X)F3(t&`Mt?ORs8`m(X@Mv45ey@GWJB5c9G>f=UZU-W&|!9Q~Y=a*Hd{4YQC zq_!BOaV%NQOo=}FVSJrw>tH=YGof>}&Ak6i!GlKDIDm3fP%=c~NoFITC>h}{COI^! zO7}9kME7A?b7ngZ^n5atCnkqJLPKB;1LpI6!@^0u(EGJ_w|oqx$levU9v9M3o2@B7;0wAvzXi}s zVTY{$zb9e1u4X!`46}^rrZzlVtVH0b8aPPEyWaE?8X->#GoC%gZrl(!+UXF&i1_UM z#T;R?x#OX@@LttQ5M9DMECIm5@i-l3<`(>gou-j1TW3|wm%>7(WcVQs*nzZeJr(@E zdpeD|$b|WX?|20T-;qH9hZyhyhHwItFjM<&StM*he$X(BFahp|uon4}+Iu4Og>}A4 zzNTSVrDfruWpS&?YMVe{2h|_baCyT-fgw;mf}(l&k4>`{pU&j+XO(RU& zpO$(A;wE{fT6X0t>6aU%pK7w;0f$b^*n2cgXd3yb^!%CZt0F3K@Z(1wZ0SXhj5=NG z&Y&`OCNKhpeu4xu!1RqPPGE)yQ}SZ^kG#5@3>jPA5UIpsFoz-GNC2SD&nL47zjl%g z#%4gla>H~F(gnGUqqTZ?stL^p&Lc3}7$18nT`b9Aj)kBJ)+=I1)skjxBqfFVlj>&x z7A7+Bn_P(1a-i(99o|iAL+8JG$OE=QSns7vZoh#2w`7g(Dx zGX2M10rtJI0>LZJRbjodcKkDX&Jut9fBnmurP(b06iXlze`15Y5v!as$f%`z16^29 zFKN{Kg2TXZ#7`rlCw|!SsUdFCcMA5#SFrwjeN7(iEQ}PU1__LvSD(5GI}cjJn_s~k z7eXYVODF3oVrO=%h`O_X7H13Rk1fd>>FXN)A{W0T1cR{s=U!CcVWu_fU^>+$B zf9^lnoX*_ZZf8|F9}YYp-emFlo5)J~IPkw3Jx8ygT@M~ji2!Zv_45n%{y&@`05R~w z|4H*2_G*1FJrc9BK3bM}HWw|F4M)a{k8B(~0AEV^$A7t|$1eF?YQ9VM?t>i^m%X!~ z`wwNFtf31>-51?@ASPpaR}3RdA+kF?Wvx^&GAH!<$)`DutnV-6{dXlKb~rxRG@T8v z66mUdESP~C6_A^{HB($ME-19G88n(}Dou7T&O5^{Y39$H6YA+D?qigi~d01N>1@Sjc}4aiekU zj7Y!!Ts5kI)A8vGhqI$?ouAVlh-EBUDe=|@%Fjig%`wKp*(QdAO(4tXU4H9% z#&0Z9!bD4Qk{oef3iC*VpfzRVDi)?y@#Kz4G8=oO z^U-DhpySiDhaLC1&rVtDltt;4G&wl?x-Xxh4?m=B~I_)8IdDjfez^?7}97RCHTfUgPc9efr!=XspkI!u*?IQJfYbgx0ll0{08dV$-BORyp|e3XfJ` z<{!odE|u3^b@gP(`F7V%{=>`cQ8_vfAXm~R>G-OXE!XbK)bf=df=7%M1pzW7YbtL3*@^^Q~f57xqAGSDDyR&o=%ZMO4xI6>p! z;WY*PNzyMuJy$ey@!>J)$OqY;tO zzE*NBe^uPyhxEnG;z$lecJ+j?7@+8!FG8Xxgno$t%aZV0>(#re^%Z{DE@gdfyuyqM~kVkei(zFR^HO z00Yf1O!V}}^Kh{5UM;*h3-9JJ2%NkpfQ|e6dKRE+dUpk>)qTq!DS!c2{t6kx8daK? z*Z$jG0Q!erg&NLwI9|MXA$JR^l%3%^nAyY3#o>X0Wc$kTXzr-h#|A@+Nu2k!se6R) zZ5>|427Kf|XJ_6QK#5d!*1+zlAFdV!7y4Ra#Bw}u13xWHFW>QMKrzo5HoTJm+F+F) zVb(HC@$vKYDG>s6HIbn|!}pyrmfMa^OJ9YpvMsXXA)a{B-u?e+0n&vSf2{ENOPcnE zDH`~$*Z0NC>Zu*bSP9Cm_3jkIrl8zJ^>DcSt-{!HvF2W?i6=STX)!Ts_3aN5z#R09 zIjCQmDr)uq&w?B51#OYhFO?C664~ta$&UvK}2?%uK$n|Sh$i}7JrdbzQ`$0kDmxhLE7;)+j zbM|2t)Ce>v$ei})sS91bb`5g@hq@o3}~ zbJH+~6qk44%1;!;N~5<|-aQ@hD>O!0NR$_Yf7=w8JJJ9{QgTmBuA)J zkboi9rcgO2amaw=I5-1)z5V+2tKnx?m;c!O_C5R(26+bbbC?2=4np5pMOmk<$xO(#}wiPi?aCu)j9e41rx1_<`uVK5U`l1#AoW2px zc!uLoQ2?>GSw*x!UN3|2O}UNnmm9M>_vvtc+Nl`&ihl3?^SJ%Jy~D*nOM6gw@wxzIR3FUkjjhV$I@zij5Yfld%6bMnWz6 zX`SJ8EGPx69G^WrH32mse(o>2^06|atj#mP5vL35{oM9Rx=C|vFB|#A;^^T4WMOVG8xh+fz zG+2wp0o*u`oZ#60{wEv=SkZ>HOdtNd zl1WEgKQg3!=WjXbQ7`c|V!tGAN12%p+i3_YE?W9nIz<|!h#==6CKUbBvfQ^d{P~Zf zp4Mi~ufl#l(o-3MG|p}5RfIrz2k*iYi6%@w!0im=1|#vb`OJ+4eG%Jjg^ypKCE|(F zq&MMr2(o!v<3Vat+1Qdr&!HEBmTfK|!HXEkGd}Y}z!XtIp1o=Jt^);!2_M|d4ZfCu z`=nSs-2!P9PhDLmC2~l-9en9Ygha!pktXBRiW-(SusP=y3Y{SLnoBZJD z^O97*oEuco#Qg>G-+hgdFtV%+ik(>E@yQ}kp0&&nQ%{*LmtjOL4{n3Pwr$-kpE7#MDG zTZg1hmWV80)Am#X@(WK?R4Ok!GTVr)S*u|L?$}mM`zNgjLcW|T=xHoY6eGdkVceVG z>uTrE&!Y3sG6++j5?JXnCYoN4bbEB_szZV|kvbJDq#Q z_budTx3lGF9KU`0U?Lf-M7!>~^15!eRsSRo%jqi671i71r;oCrJyp+sgjW;K4RBf#h=rs`Sm9128Yl3+5$v zN_lV1xTQ%r2N)OW$;qTV`j0naWaPX2U|}4=0>z%sl=oCW$laraN1y}j4Mw0EBl5iy z)MGS2G3VjakfyEA?ehi-1A8p+0W1RiI{R{s-&#Xv&H~x|A53(8!cx~(mija)wihN& za{S`tB%xIG=fTI$juJW50%9we+kYUUB(EV5RA`8NQ*KEk50NEK0+-SWbXnecFSX~q zi|5S)Q`@#~Dvy!3dO<%-@{aB>;YQLHw00yzO=sblF8W~_ZW%*nN<{0^uiJf5>hN7A z)BYcb*&QGwYB!A{2V5F*k;79ruY3VAVTUxCEfL$aSQ_wEVHc$+?LP=fzk1F1(-VR> z(O9um$3LCtt|ds7?mx4ZPJDNHeR~Tfnrz|wkv*RO-sVW^O&Xok}g4vH0i@^ z>aS~XF?dWfZCCM~Pz)8m-`5CqTz_Ks7nd-HG?t_ys2#M5FS zncfYJf?tM)hWOy1=LpE@>S1F6To*gv1j2C}r%hU>JXm@M7W58uAVEC{{HA{sGV|_t z-&fivcc4GyHRNvNp+l5%XYDQ`$hZFDnoXGx%tPFCVMduO(hgXsyInu1w>FJ`fc zzw_|={&=0eOql?c0vZ<>kn|6gb5qIZ9PH#YsNLtaKCqa*8)RQlB^CEK2={=O#kFyw zFs%kspGZv>B;Yh72YSwejaXDsl|~%VdH-i)r_$1OyKXfoOs2#FFn2UGT0-%eK;7QI z+jSQgP%^K@(TNd~ijUVbZVuM`TH-$W6QK8RMwQ&y=hY#9G&fT1YxTEs*8ZW8;aC@2 zCu{(yKhHKFeL20i6xy?&uzIT{*iye~CORpmKJ~-wdv0%TBB!X}XwKOyYLeE^B9qJ( zFBNaXKW>HNj>XPMPz^_P)Nn1oY_e6&60`{S+=pm}w&ndKD&m9~9KiNB(Uqj71Wsjx z$6e|W($mW;8MX``;Oq$H3=OYRI2*G}BR^V@kI!!h+5qG8pu&PG`a_N`?@Oz7m3S<7 zLk9@9jX7q|Q+Cm;2K#|x!L__92s&mwzycFsbK2nFv4Q4cdq_o^_|R_($;R`z zY0mB+##zFH(c9^FfDBc+=Ia-!D70T=<1{7M`taHZo}RQ*Qs~qtO#jJf;3rtNHJ3#i zyo!r&Jr1-$p_!n5^Cr-*kfl{0UW&@WJJzqy121@*E~DQPlm6s&Q1Q9XIwsvEY%sBP zjKxCF&KCa`o$m-JH?66D$h5&N)9fdK3R$79M#VmtWa@NITzs{rf7dK_k1h6(Ew+y> z4o=MBYv)AXyKeXwH}BtP+b1@~g|c$%0hc_tOO1002$9SxI8(zFdgb1I`0!y0YOeU8+shBeI?|R` zRD4fLOFK;yFse8^+8;KWNia!Y|_cjR&Wc}sH`aUgc`JBH9)23-jXaa_`uj^Q-)E>5+ifCg4-rC$j2 zADfm?1kkg?JlbP>VI6Y$RY`ejP($j_Ic{eI-O2Fe6BWNyT!9UnWyAYlr7(;U=l-I= zoIyckS3ouZ)_nW-gIC?dEv)X;cSlNZ`wj<1j|1>IjUYwh61Lsf(qt=sCGRN^)H$|> zkY{5mfi1#A<@5$|^n=!0l1UtKNT%Y}iu23Zo%2+VukG46ap^NRVI@;)RF1Y^zi}WoW%Qg3tNy-N?SOK8e2BJL{%(LYDdVX#0GD=4 z9Q-u^v|0c*tOR_-C>&}oB{SYDPQ4`49VE}n87C?mL}g}PTC7sskdxF9^M!r-)A+Nc z*zB8I^n#~lR-qAZ^T`{HOMh?X(;sm&uq1^i=b9frC^vV<=oGOg?eT)B+SoJAG&L)rk`d)3gm=|^X1{5Dw`KLP<#v)w;%z#%Aaw5% z58kC`O-mB}7_um8{|7Io6oWzGL>kDFihFGLcJUSqIZOnE=MW?+SK{KxjG$G#{+E^X z{Ilvyq zB?(~%n0+bz8bSPyJ0n}a^ek{^mh2WJy+4yJmA%z=DJL$E4Ow0-YqCFV*6fE8@)#ue z{*pnEKobCC)&0x`$7D<feZ$O8Mh{70PL!wJTo1NI((kpaYu$=t&4{NykWA70PDL-QKbQ18BidW@R zDDCzkmqz;00POOn#l*#BiOm_%4*?nA#_c7Cp`Q#;KlhCUY*DlzHiO6!P?QqogahJ?aK5 zSMC)h+eT&xy%cbcQ~ymDEQZ_W!Bh;mZ^f9`@+MFS5w5bRW2dm#R|A%aMEm^{0}mBORucByD1`ov~-dy@u6^^45u z;Ka;DMJpK3Q|Kt_2_Csdi{@N-4`%KV&qJT(3ACZ^9wltk-vA|(1Z2u zKGz;&x=R(di(D7YNFFyj)iJAFJ9$|c`mP!6 z@9F7M(&%2I(WS7_rE9UOQljtrm~!W}wvxWq4oV@d;ammGMV|Q5Od9StCzsv) z%(uKPc23OqlU)+1jj2h6u3F(}k)Xo0dAp;&->Nad>cKbneSOlp+Nf|4$-jP#JBX(Z ztT=3Y%lOblTRXeC?Ot11SrLT{;qDnDoaNo{Ur1EDrp)$_5f?dJb6sWSwyJO6#2}vY zxC z>D^K-sABsDLZR&8OBVnMJ-7ID_OfibL8JO&kj3mZdW(h3!DvJdv5CJYR(+T)k@IQL z-DK@_1Aw4Wzc=q`KuBS0Lm&Dr-mg94#rnb;@?qXnm-1}KGsW4%gX| z&Re)uW!M+;^d*v-!dzbN^XdsoI7<(zKqzja!cV@Z8HP-|`HKb_LY+n$AcAxjf`Dyc z!QS`W z*On}P)iC||0$rjIUMQX6|M1-X5-gbF9_3&qRpc|(JV-#%zXRib@VssMWo2&qu)eFu zk2#0mR?oe$=>HrC+2r$G%Y#l*#0;ga_A-A_r;-b z{WcUdU}XreCi9MVY;S0o^s`r1p1tDCeSmImT%am1sBZ9mV6I=4Tzdk+ zN%$%ol_87Bncnbxl-9LK4C5;@pIBQ9z&Yod)9Ip5x{vZR15WZAP6mtH!cKVrIUF5d z3MVw2Lak+hB(_P{)lEr4Wu@18v2|nA0h~!H$N%M1)juUVM#h^?^KG$m1GZwCL&L)j zP>A#hF@n!VE1#@?ehmQyG>{c6+i;&=m9x88N0MbHJ7_M7PqMijiP=N8z!t!5zc#duA*Z%~lhbVK2` z-8G`SH{T1a(COe_&EV!v=ixqc0vXfSeJ#S@lMvzkW7Nd35;xbA{Q^ zWpjcqLRCp0 zA{go}rYP&g&e`7i`N_R|!w=B;%|QOI6(yKZVMK=GfE~~XMc8A0D#9xqq}j9?E$Nq2 zOSA;OT@0r1eIp}FQgv(Dtvc*DpmeZda85qC zHBPyVd7q2Xo`COjOz^Rg=xbEl`DX&~{T1GwUxLZz@;+IjjluTK!G_7bq*-MnN)&9d zcvXFC?rRssi}bM++3^q_lglVaP$3KUS1B2 zi;6md6e%B!mAL2bzSja7A#yl{7{GNqDu-O9U))|WkzXP%7Huv3*059Kwl&kV`5`|a zqYe|0?m!6dx>^#C~4q9eBYQur_swG zcxYmwS?8Wx&^^c0f`#0h|DYn%zmjWe!qzeeCr5_eUg#ZV>|WV}JHRF0nJ@uGLyT{)71BCFE+R<8V zEZERxBbs*a!y-gDCVv0^eQT*F)2zbp@Zazs`+a9PIQY9E)=DM1A29_PTGk@Vv*Zf3)ms|3KksEG;vn~NUUvLy&HqJEM{Tnyp} z4%4|-kJ0_a{rN?dqo6x9#-0kc7_K!RX(L4TRc{TVH%|EyzU>mpj_P3r@Fg-l5YDI$ zs@M;WH7uN95__A3FnN~}aTS&Z&~eszzbcgc)w}lE-5&G)bSm$2Xlrskxh-?($?)z? z-6J{_0Ro&NvA*mJ0WZW)p)}}k`d-fp)uQM}&_0@0)_Q=EWIuC;()hxWtk%!>6%K!x zpup3zQs`aNbLwob(Ino60@1j4j`DgzEDPo5wj08a(JolJU9;ajc<>4?kddE*6B2s} znT?q6lPqTQ>?Bo*XoLuJ#v^3&AHCkJRD(_eF@4Sf=iB9d!FRPUD--i_DheXejP_eJ zH#*N#I&|4P@IPJ&{eostpd+^x9`CiHY(q(J2<}PU60Y$t@l}&N*JWdrXCQ>*QquPx zYDb3O+iB=~8e6+RgkcOI|9yZ?ODeRb|5}p{ZKxJ>5V)9H+uwnd2qZ>eSOpxr^!?)E z0#R>j_VCdoubPh^xmO^B3(ao*7tjoYIn`2@h1dFChfsseKd6x+0|4hy2|in6hFAD+ zA2yBG+pJgdAx`I8NT+w*K5{$;qWKp*EyB>W&kx3Z-u1w!t7{b(4`%BVl77LfsRTmR zds+6d+!W@AqrFMcA} z^DnJOR!J^Z>!Z9rw5%?UGBP*=v>?#Du9wYU(BW_+(Ch3#Ub$S1h7ASwZLEgV5)GcV z<=y4zeziAm>x6%hJ}_I>@^B=<5Vo^KrOzJ7LLGmp3=cKnbm+%39Jz{OfHbEy#8>LL zh<6{Ew51=p*HuEd*_4i8c&OrC{48cHc^R<3(QklAc`v*M>um5meDg2sC1u$Ae{ zWyPa4{C4CDhPBnK87iCSF6}0ixLN@in<1rN&cpgE^YY{2AR=2qu`8Q*@jo--_w_x- zweW0N;kvB@5fm2P7las+_8=<*Z(BUFq~K8%%iaye;(-vdTBDCgMob?i#92pe`UHqkPhoaXt$hjl34e=d5?=~e0=;AQ+7Dj=Q#P~tz4na6RuyJZ@y)8bz6DL z+`K7wt)a|MEN%2}uCQnJ2u~by+CPC;0;69SKA4gknY>C{A9)}B(e$IKYH3Kl*Cian zOKj3EeSXy&qjKM;{ag{j6;^7mtY-bX-Sm}$IOQh}cV#zs@nA&Fo?%f%O=abw5G+lJ ze|K~Q8WKA>I;RwH%*TcF^Ww&!`-4Qv{0 z*^{1kpYEd2YedAv`EdS9XTN>98QxYgaKbGiusUdXv*g3qv#YJG8-Ct_V36^r;6b2` z&z4}4)o}LL4Iic+IE9lli7C6({cw7gq$R!M0(ynyYt}XuHWN^{P@e7wqqf_cH5dEP zy&z7fWuih9SiM}_|Nh(Ei2l3G-Q4aqIuQexlRZ8JKd;mM#LN7f*F)0imV&&z00L1? zI{$;TS2}3XGl{(SwhHnjJbjtf(?WGA*prhK&6e7E9j!oH=kxdaYvgbK=*`sLKGAa@&BN@qxvO>z1Y>~ar z`8~Ye-_P&5o?VygT*sw9?$7(<{cxr_V;r^0sbt1E-58z+sej;=83kg z`|i(Z54 z@{x#K@(VYCErw#yf=r}0)8AE%6NDK*a?i_Uz$uz2rV@7XeW@YgH`)A5_eR@MoT!+2 zKfZ7~PW(4%!SuQ|_57p7V+Cu@T7^m1{+fBim2Nx7TTJ*nE`XHGqgd?M@?s$L;0d(O z$A4q{T(3gmD~{BbMFmRpq!NBM5y@aD&YG9xZhew}*9bS$Z_b^CGO;ym+)>eSV3gyZh zA8Oz_r4-mcxtfnRK49>WnwTsouYPU%!ffnoo>J(arr_<{ZqiR#Y8js)?BleGpQuKn zIl=G#4!MFt%uuc#DS*=g1q6K5H8*mGA(ogF6&1w><5F zP5JY(S^Z0K&it+y5g?x!1lz1eJr3siyrq~S#8@qxXe3K&$BklI$Ca()rBD7!0dPwT z%kZ?Uq%hd(#X*@3K2KGk@o0T%iH8UCb^XHkI_APV(gmds6xW|hm>IcaEJt*-W-*P9 zvg&1}X**j|SFf)aS*fC1$6wOsR9<);bv2oDWY?+uF25)CLNGt}4|2c<%VTpC3VnoC z-;!TD$XG2iqbJQk0n`wE(*xp5=Yjn|;y+~>gFsoI=WR(!F1v#AlK1NZ{2hFag-1V5 z-hcON2GleBf*r z@zT}SPpMnOAC_-m)ovN*QV}-|bA=Qb?dSxI&X6RcyN&1&EUv%L_z%n^@{UJbI<5TEGrhvl&)0d6q|D-g zURPWqV?%{D3H_Ja;RjnQRsr3J6V3P7$|mzz2*a7t%xn{aA&W?}9TzW}rGmo9Nl~#7 z7B19;AAc*;CqfQVZ!O2~lxZ5$9lUKdEHvC~!1@{u+A>J^ik*v&8CLzpV;4D2k!v}T zFBsy@64dXJ>2kSP@}8&ZuII?##4pMa3u0XUrSo9TdUen+R|!(^5}c`g%oJySJ&!Bf zsAwKnX;y!zQ%o9h3)in2!#6;)-l9U_#!0qjB4hY==`+uxnyV#GVd`Zmlq%jKA|jGn zVh!lQsSvdGy?*`rNiaxLVcLb-&^tQ@mowesq{+}Oc$e~S4&S(|C5^Kw3L6JMp}hzP zZJbS{t?YmtG?5peT4T6LNK@uDQgGGg^?)C6D|tIFtmA`igfm>5cdqDCnk$e0gNZJr zZl~0Q^UizInvM8*dgUaYJv^;Rc`va44NLjOX12+;w&dce!twoumWKAExGVH4Pm{~< zFbhcG5?*8OjOg6%YH^eVvgWiTX$uqu#YmS|+Qzof;v4sy;QM8^!5_EP$iEVC8vtTd z94VoZJnNC4ryuo)L9H&ZLcGL`=8FDe+rf-B^dv@~BLdf>ZOwLqy-Ryzo%C<4RY}gw zXSN3gV#I8x2P5_WzMFYe$NJ{>O^zF$gV0rm1X*4$+x{hAu63QRvASIa)T2vq7vKjglOFEi$;_9*gOuq#uHdd3Qp$oIO-3Z9s7cVWFia~aa>^=f}D0?bcR*3(Tk&5@DE&n!a`OfNq(@6 z01cx=7iGvRCae>0vGx3Q9Pf0i7`IBK{KfVr7X|VvIn+a|D4pn)>lJBZigllxOfa;0 zKVcd;oWrjef0GX2p>!vTWW*0OVR(tW6iHpAsjkVAsdFb8V`!`zR{v%$9!q^#YiK{Z z*8r5Mg?x#Amez-_`-R(wxMQhLJyqfq5i2N?Hio2D&XhKeWWF>V-V8kx5_E!5!zNRe z5()R|-Bze>j8cDbkWGfu$WZ6);mxzBO)R_bXe!KU$dj(alkS|ZXTr_hfPDUoXMY~P zV#64(BEbQ^400LWds!@9J~|gNNn+LPnNe4sQNlgWci_SbigxLPu;$bpgT;)twl)k9kABrze8eC!EgCWGHq-w3! zMZjAIFeCrY>XJXM3|7A7^vNHY7847LgUQq5eSANfd(#(C!>us(V%PwXB$yB;`Gl~y zW=7V46g*s&dMJtw+sYriT>JuH{TzC>6-`9qgA`+pWD)r)sB8t1KztX4@)G}X%Wp7n z3pyI!?i)f!9tmJB(8Zr2ul_d&CsZ48@AOe-GJB&ARO01M11fV`unVU+pen6U$po2Wh^yOp zIceg35Nb&W9t2g~PQp^aNVJevzV}9Ags+UIeY(fj zgGvKfNe1tZ&a;U@Ukh>L(QHpi+13(ym-pYO_WF6 zt2>J|X9j{N%qkzBHQ{G=$@Q(^%4ep#NNJkE)pr^MKUv&oSpgs!E(i z4pG+@4Pgcl8|VrYJ@()P){_}zHWmnU6JPg#B6OZR*CXXrDCX!g%D(+wJ ze{+0IGvLoPE3-wCr4Q_H@eS(8l26moRAmaox#)KC^E3s!gyJjIj=anlZXz9h4(3TU zGK5&Ey3@Pvi(6(N2c9%cW;49vD~Vz&2nbUJ{ppnG9)>%p&+|eWPC^<*y6}C9;nisK z<}Fj3CH$05$U8__H29o?FhiG7h;`txuQTbgf7T%_HiwQ#6$My+^#SiFZtN{f4PIL4 z9h7CKf-yl*P98Mj83;r26<2mc>Xvqo4$BPlaqDnv>un|mhA{jqyVDgJI3Z9%&4iVM zL!tDlSP9Mr0ITc;9yHGS01}PEaB#Q{w*}i!&xC}y^fvq2z`ath@v|^%XjcIGit)-Kg8Ru5v&5&AqACNwjSi8v#dK34VXv zyb$B82HBJaGR2#s)Sl3(W??$jHjbgQA;GQW9lj?1G`FnurxABD(T;>NMeqspE|CN+ zNjqao)Pqi%`vNrjrD_@8RXs*xR|1*tINRB-Hr zPnF73Q)LVT4owkhPtj&%jY1Au(D|&8=?Ha6{^Lnryl6~AC^X|i2WT{D*}Hfc6Wjia zY=abH{p3bk{~}wmR`F%!{J+IpTU#Rw3k#_pKWmr&{PO&;jz8Y3YdPhB zi<6VnST-y)J2NwBDQfUo%ix}`*E3@ zDpiWFFx80Gf^W%@4sjOv(7UedwFQO#$al%}pEvAYXijvER_5@%fD(MN@VHd1AD>SP(W@(Bv@m60XIOQ}OxDFkwvLhR<=@-cN#+a+$ z`Vnes6IX|OQNNG)5xM(U+F^ZlcaaF(@OXK?7*v_f9==-$3h7|!vk4=kRuYIsZgf?q zuC-m-|65duRj9cKo~s=@ofL_mHs>>Kq{$Fle;>z%4lU#E=;KsM(qo?e{q?|3rT$qA z?yC~^QyKOA>|*NtS$AD~D%o^!l_;x1U=)9@f$ZQK5x8;-lZO&(v5nXNd&Tj%YyF4i zP<-YiKG%&mXqi8enWTK|x>5SZ3cj$=3i)q;e25G1HCfDGpt<^dCh`1i(r5b{4ET(N z7Sq8kuV+Z$C#Ry6_E#-&CvodtX=C!x{^+00g5=u-ehrY5Iu`$3*Z@?Kh>1a27647PR@${32s0z!g}`<)s0JA^27s_nBC>vmszpP5{YDNR4sW*JJHoxBeK?W?FHRD0BpvvETg^S2$R_;C4wd{s zmA?ae@zczGHUd7+ofT$3N-0-1#{p@bPVn-W6bKfxfp0tFvYGUt-gxkDX+dl3Fb5U8 zd-beQE@|k+&dovHIb_hsdUCdD_sFBKA(Hbg)u`T4^Kf2}Mt1WK1NsX=kej9uoE~A} z1~SANKANHS-Jc(g-=Bd^@SzkU!uDXx+1RDEzXsjfap^>*^cm?8x7v$*rU=+6U4P;U zK5RaV-nyfLF6Z!aYe(a;M??hJWa-E0aZ;~~ zI`BWoR^Dt>qMG)`7@Jx?&>yEz&QxfnQpw~0ZfU{kuhn-*L=2>LNq3cq{gdK64hG&G zZYFW+Svp&WE;v&Wwc71`n-l7Rhj@c*bAzvj#7heSz?uZq57grOkKUE^-zlE9d&Tak z)7&D;WO+`f6QL%4kq6BisgprSPMVm)X zpLu8!_}C4&>CTID=M^|1g+!&KjdJFW8}|6Gs$_})?y)P->e1tDLK5E|HT{mu z=!@)Bq4WW%OFhvGU0Gcn!)&$@r>Z~~2+^6B4!1CkTc2*uc(r#?Na%?z?4#j6 zK3kL!ZOwAjm}yib>CWF)9^!y^Yq;I;Erbmy&o)Km{k(P|x8z!O#KL;rG;S0MAf7Wan= zqD#q8VWh2j_x4tm-i8Vn@b+N`cK{lP=^+)5O0ZIT$<}G4T}MzGcymxwhG2(Up+~Tl zBszj4nzM&U9G>BqPbn@Q)gVA{E&y7hIN_s-8q*oQY#`HBoj6v4glpQHV|>v; z?t#=-@bAu5HBDkis_wkGXG)pnRsN}l@_Ht~va8iu@-db6%4GQaiG4JA0B=U7B;It? z%7GMtD%YcaEpoQrP2Fg#;+lwk_IFx$alORR`eLif)7lWRUqt9mq68IHzbyO|J57O6 zb=Kwv$Ffh%haoV-wEx`vbn>X1^JI4G^kBG2z5eeLzM$W+^UHJig?l2lcCokEUJd8s zt-%cPo!hlbH@v>)>}Ovg)d>dfwy)ZSy}mmQf6xy)F1`{LRzR%%&DD6=89kjwaN8Y3 z+OzjCkgL*k-{S7xE#M}}|DoEu`h`J^gk{o|g!ht~=6%KWledbFLR4)UCbrwzqPXbq zdw(smrmVpYX$S9jin8V=pHh(JG_olL>+dn74=>9(Ez-HU%>7^PAp( zYuzaef(;mMnJ4GGO5aszWaVe-i$e1Hn9TO~z!yLk0cVFQ6;z!VS#~_bNq`IU4Q&#} zP@3B}0R-yk8C8E7r-kiEX)rF=n{tt0Gwe_JWnwU+Y0O~y;vr44R;-aAKMIM6QRCrZP1c&y19qt%gNC{Nz#^)rtvWdXzt0KNgI*d-`#&z^xMd$0N0Y)|BjqUxK-U7I zb>z7a0*Ik!h~&5Xc^>Pvaa?OP7(2PucLF6bH~LQC-Q0z8zxP~sU^B<@_TkS(HbueH zXFFNgoqF~7#M{XFaONFC@i{)4R@RhH=gzlb9fH}pmE!ZL3QdznNX!KQ%@V7TYRz$( zY{NVknLu|I7nkL>dtiFhv{ePWU86M0GC) z7s?!oYu$RB)`|uft^vlIG*`4~sLV-34GC?%7;xM^M4ugn_)VVBph<82drAjLM0&}# zf~@ar@H)z}Yw^>miZD9SKhS{dO`cZVaEA+l7u$-pQ(ymr&gy92#c!vBm+B_|#;#9lBLKNi+|uYarylUI9QL&vX=Tv&3<)=+$)Od(WZMD)+p!5BQQt@;NVnhOJwgz9- zDWsz*ULLXJoH78TsYQb-@`s(EF-LaFOX{hPs#y?)cJ zI?5Atqd+G4NUgAa0|nyceR}&_a6<9Ra7Kyo18zpcivg~Suwq|B zFsGG#Mvjv-OP#;x6Pw{DPM%0iF^;CTW_>z-gMD%>kTD(syKJW;@rmC5X#waX+t0;yaDI-t45G)yn2w53 zVp^R_8cv)`or=t(ANtifE#+UPOHgZdeUxNpmN~MQKD4hnaCk>N>m7GCi5xnS#M0mI zG}S4UeQv?YetK%{-x7VTTqOQ21EHWdy8wTtE)QpFB3$MIpK1%eq^^0P{QgCWXJ3Cd zH#h%-;;trBGqatYFOP&Va?po}xhNu%^XL`onNsLp-=|NXETL0X3L5(r6oEZMfn#H1-@-$C=^{E=%U2zP!K+A7NC~heH@DWT#j|&fJSZwBo+;b8)=WmX z)I)%6`uDWLmk0!yGt*~*oor^XL)9>#WUsAVMR_TgQTn~UU?bj~8pxWyP``6-oWf{Q zJno2*@2P^m>)-04P^2MLEvg&f_@d$kv%qaGXH~rVG(a+)v5CrXokLqb1>-Zhev82-hXtF;of;Tn=hL{u2#! zh&bPhHOOX~6y*w84#3jd(Zq2_f(;AyHjRuVWEcW^-bw8(sa`N7TJXl|#CYs)UA4go zEFZAlnN@My{1V%I<8SAH>)!Tz;cJV*l;~(o{0pre&ZRCTW|0^g#6ztTk^`wL( zaj=?9?hAAup@pV@-@{v1F+e~lD38e^>s&?;f4&a?=OD!tSLpH0(u!oh2JBe&_fT zc*PQU4X4ErAcYYh23a)!OYRpztB)d`F4e3cDX5iG7k_%ne0g9TBe#X0L%@4~rWO9K z^g(~p5#yabJHy*};n(bdJD&K)EhN@7;g|pW+hzd>>Du8+AWh?K|AX`r5jf?eXpCp6 zy~83+AyLj^Z#0$vgrER!`U>~VS@)gyFk}Te>;CC?0Y?D)-S;yEo%eHZ6(6jot2R}? zB7ZjJ6?;^Ps+hWZ?+h@Ia{=65#6R@7TZeZ2*zLbsDt;_t@XgNqbOtgJkf#=H-kC$y zpZZ8Ldat&JiZ8a=9E=b==Wc;`Kay}`Jkn0E{dhw;P#6D)Db{4xF3E1nTrUx4bFdrz zL42`rvVM0~>0q)rbSu7VfBu^Q^-Lbb6WSJa7V$3@Tz+52n9Sr`uXznx--98~uTbs` zFdz2P4TnMDM;1-ZWWq9IGb1vqTb;y}2M1{Clq{;^(jM&V2)51(P2P>_B=Ph*)fG9@ zJVSFT)Zn%4EdpT7ZJ?Dk5Bpn8CjU-9@OM6m&qnvKV!zVH zB$BqzC-Tx<X2{U{iSoNQwl>YTwT?P#WYx^7odd@}sK{9%vw8 z1BH$<=mfc}th~X(&d%=P?yg{LY+SuH(-uwLygPam@6wZTemWO6)#)j}Vg0udrS-ec zitKv~o2edTDMWBCuH|g@FW26m^l&X(Ya?3yfK)luE8H+Kk^BhhiMWg5@y~7;8HvwV zcX56wtgk~{p^*?=m_QSg#!bS0$XB4F#;cK3EOuV4^O`+({!#we zy9!;yJjX_F9e#@#Uecf@S_=+m9L724Ij)xpw9EZD>L&#{!uTOJ!ZV4%MqmLX4&dSh zR;vpIcO(Tf@OQTC(&hFs;|MGSM_($^gNN5s3#^N^{o7?%tdd+e#Lt+9JcI(O)_}s8 zskK!w+Lj|4G7b8E6a^WL(7()$z`jkm961gOD!O8abE(+9-p$c`MF`4YiKz<+bn-Q3 zvkm@0>ux)2zwoCAa0eE`pfv_$#gB?J&WxoEOMc^#Bd%sRDC`WjJ&~BeuhAlre>gs` zr*gIa<@^=@i*r1BTCw&fC-p&zqavD&>|}Y8Yql&d-QSCcbHe8=YEz&E7gA^8+QfUDtJ;>8oN)4?SY@%`P(6s2fXKf*-VlL> zH;GmzblB*sNIzeX&;3#pc=7VqbQF)}Jp*!=j4O^z8Kxmb^+8A31ql)=0!B z?M7|*k>o2?GIp$1TB6ax&xY(2E}bW=X9j2_1IG?NGY7yyqpy(Uu`BHKWTYtsUE9C6 z{N4c|$6<#>FU|))-N|=+u%N=qr;33XTati$!>WowBhI7?W2BwGy092pl4I7OoOSb* zjMDWSxBU-I9uPfijB1ovK|S6)yW)3n#okM{CU;O|RzV`wlT09MrK)ec81z1oNFr(Q(HaCfG-lC@MQ8DB*hivsq$k9dv zHE=Q!7K_aAy+Z(cc{p8YDFkNrH0-O1C6s5QJ^S>@ZggZqd1^fk5Eoxln=T-*kv^z; z@ihi!k-M>W8owCqoyF7;pvk5`BthVY1fsz?rA~lF6g#?O)rwOkj*GMTtS|AU!0U6e zK`z@RE18veW;1H>d);;{kIdE^ry*?yLY*0JyT|X7`@to7aWNCe|Ys|QTq&wZwRQ^NoSG_fizen{#TZ}xpL#e~p2 z#X5qrf(+Q+?YN? zmDyT?AOASPZyqR59R5a3oPJlG_)tJdEvlHHZL65lkZ1^BF)52TFB$r)E_Ge2y5ZP! z*mt}Ih^eFI8_K$2)?`hrnstFUu^xuEQbg!64Sc~E;8QV1I;G8n*%`jhkJiWL# zREw`j38ezwq5+358nsAIvh20kF0c-=t8D%Z0X0zU6Q40`w$_jGoAimWPI-iH@xqBGowX zrRZM*9KQ(x(Q^x`t>@Bzx#GvTVu$tBa2F~NNzckB^8-%b71th^`{8^Eu!+U0%Oz`s z++)P@AKCckIg?mEia!n$zu6-T3v+eJnLw%r0U+N6xqT^s86IwlLhpau2Cz zUV(?JBKpoIYG0+XbBv4zWB-qYCPP5g#gm%|czo|)E+WK zyTo;2bxo83bnks~5C|b&TUx8`nZ*A@4V`A+z(2Z}csEwmyiJ7#Jg-A`i$+3-`g&@S znpE5h3Wje945-Mbd`t5teY=eDT{jU+yYtal7xV1d z<#R5ZzlVk)Nt_vUa5!I&x0GbvEEAxnquE^i2-&+yKj{JsPV$3=kNGqpsA@;<_qJEC zy}%#Edh)ufvH1M`*%Se)nb(K4o0ts}&fqQPKTtUo+-o@hAve|7(CQ*Dg^kdH=+!T0g{P50``av}w)-8sEo!Ji=&18g6?8`|%8 zSn`{CbWYt{E;4Umd$zdkTVq}Wp(8?{=czu5sr-h2aM3;dP1UmOgMt^L9FmSoHdHQk z=8`=Nzk$H;`0nHy%!zdOF>n_Yb}VZpMyqBs{qyf**jIZX+$0 zNyp)mHPPrjiSU~};qeuTdi)j|j?T|g$CzR>N!#71Ke>|Hdql+?Q?4qp1Ym-tQVm}C zzCF&*AF{*fWQQlCRa+mk6@RC+mnOD<7eC|p+#5YdsAEi$hQBEw=-dAgV9#l$mvCu| zFlMrYH&&HJ;~rGdC`9}0>kYRn&!*W~Swl)|Yj^gcC+L|CWLo;CkEiyV3*p|}=O!;M zRGt>o*q7dTm3tkMgqc^ox1log9#`6Ry5U4fQ@g$UX$iMeOM-6sVNZzOtzuvdV|e&v zqd$IPXy_jw2t)?aw%P$RBr`G1Vld|mGcu8D`#fa`Ku$*?hyde!Pas>k@aP5#==j|4 zFd-qFx1Y%71Uv4zXCX($zY_ig(4PU+F9aqrj`)^F1o}S~dLFXSgOGO#ts_!8O_0DE zqX>#UcOVTdv8MGlOLdYv`e{TB-5bSM2Y6}V{cC?QK>XGQPPu8%n0U11 zS5o$LdDqLzMPhIP5h+6QCd`R4%amqwNcdb(#JZ*8+ar-YE8_%#tenm>I8D8utNpY; zZ4e9lx}X9w;&_R3;z-K`QFJbyr$yWX-s`0?P>>Dc>t{@ACBp4eyX zM7`dn&B1L~C9aDpzcsVhz@hDniHLP5qu9&d>L8o*S)S#e?ztV?RWA=Q9h)K^jocg_ zC!+&t++S*vuLmuBm2cWL7T)84HsE4JxRt=#Yw=I%{B*iE3_j)U$bKWhzS7D^0gF8C zoOzn7B{TZ`GfAEHRNCT#VDDn&<*VxCTR6I+ zk=*gX?JfQF3-J|KJ61<-6T9_MeK!#|^71cKy+{0`XUx;z8MSYd^hw2uzqQc%+>%z= zaI|d?5%(Bw;w&Sm42lq{ zSI)0$TixA&i)-Ck+1R*(@u&M<5irKwt8uyXS@SV9ev=wg%u9t`3-Ppq**++MRwfb0 zl*)tG#qNB!A3c1i1Gvq-Kl}ez(tgM5br=_TX_fI02*5r4hN~iYLyZ;&Y#?i17D6p= zM1)~OK6i+`gu4aOrj{@ALQedP@TEH=3|(6~7vwaGbq@%9>K}{i-Kas#m;h{~11emd z%5Q&sU`jIsUowtQ_-PD_Gy#FWGa|@BFpyMO+J=qGBCQR0+QZzM7Tu?kBFW6|U+ncg zSu~gJZaW2QJTp`ZCWA*GGkKt}YQ`g#yi9>zcGS5o(v2V>XJ}T8_^5h)-oWGF8u@px zEB3qY%bN|pLKfy8uRE@4R*N8jW42*Cc7aXz@ucG&5&OGxj1?m7Ckrm(fjzp4dvl~` zbGYK>8tvH(5!kO114|dHkSB{h8%vts0JtP5WL;hbySWP7`Iwqh{uAF0B{ z3u_Eyvc~QKMc>pW2$HX$z6Qu&;7*p-Gw!n!1g`$|gQ_+lnp0&5M>hYw9Q$PmwO zIQq@zMHXh^R};6~fzB3JatRH^`I)V*8NYb@cf|I!2NJjWvoOJghBZgjE--FT%f3oM zeX$m2c=fP9B>x_vQL|@vV}Ma3Rh$+xMQURq+qQk*QhQ8n5`p-JU?ecPfX*Q3wH>BG z{|;9E*eOX5o&yp{JwDJ-qd-OT`k&>L!$h6NqCrdT9vLCBLWM z?$0|-ojw|^Yp(b*I8N+sV{Sgymywb2ANY6Y%9&ExaHE(IoZ&Og<>jt_%zD!QQ^x&+ zQO0}uwwTjh{I9XGKx*vy+GD$`>v&s$gfcyTI-L@eMGEj5OYCkNY$KPkPw1;N^h6cI zjVco+%p9Tq7-=m|VXXnsYk1K!=6l3l-M#F8LZYE@{L{1XqoDR`HUd24p1H?_%jZV| zsL!l~>f`xx_bWvW?J?i-cCKIxX;JF1cc(TEzVa>heXN?8r8>_|psy0WqKrC6N4TWR zgfD>(ltDu&f)H!j;pNt?+vHTE%*J6>@%vP}^Sc~ppdq^{B|{$M^hW4c%b7cL0q&j(6b0*mI{%O)XK*!pzSUwE#}|tF#oajHZeGNieS>hs{P2C_ez8fBm2M#^gyJ{ z*?r+kn05uZXGGgHB?ZZ0irtB4h9eKgXK)E{{Mv%vr_59W+&C`jcnV z`U}G=;IWL?RG-j>_*gj1em?EY4V*gs>-BMW)C+||{UP{)oZ-ga2K3+)&`6nwjAyzI zf2&W9Gky{AT*Fvz@DcO9F4(T%$#8AwL3GK3wsajjczcIL(*<%%L^;QKqR^Jn2NCNo z#9&zm3wxT$(Kpu<(FHJ#CBalu;NxyqGFm+e69~+&7 zFaqM`fyJ25$(|h1dk&~e(G)Ah%-{DU$}_mpDBxXK5$}f=KAJ3F@-1%4ZhImsU{Gse zY@!fpgNDSifg#hND7Pv2dCLjK*&swDd~K`m zrKIAAMvDGQrEBsyX&tYgql+TXco$SEuT3vQ6~dK~0b0VBUoS&~2CAN3rzhf5srP1n zj5~a!l?sTX>lP@I zpLZcTFNBF(A>aIn_P!X6a1zN7qH1EN2wIOp{sF**>M2~$90@>7yF-v7XZ@rnArkS~ zvASL`fhuJ_gdnnY8A_yE)}~u9gGHK&8wWjx5&v46PZq>5*EFNX1x9?~e3OX)t_8;> zRs7qFFBPR_9Yf%W01-^3R}iG^WC(n`{NHI2I%X4i+V$aYb7=p}%nTXeLY5ayVwkY9 zaFY~}JS+mxcqUfWq^xQ}3)j-qJz#*E*sx|n_HQ&7`XZ82LJK(30T?7A0A%zbs5R(E z*~a^SMVXDI7B&T#iQ=ku4De<0i2s~Y3D9)%4%Yd5{esG0QD+;J-WgD=bQ6uHO(jPf z%N%Jj`%(Q*C)Hi>I$u?vi-o8>O$&rDKfFbNjga|rJR!J#Z_fD@<@u+iYZp1%?5L^d zzUJEe*ohFf4Tq4VT~+%^B@+p#`LJx+v6G;`9EQEc_OklnZ9*ONOo=%OL(uHPJw^OI zxjZ}5l*Q4UTr2n9TS`@;U5P7XP_cKO@#EFnAe(bp6?|8YO5iVgIQf?@sLbzO^x9vf z1WWzSPLxFS&sW9H;k_chCs6MP&JQf}n2n|uznZ3s9w)9+A>_31s`n^u^RK<&|LoOu4fG1fqA0`x_cP&Mzm)@+FVQLoJMRHLDRM`!};iC#U&%*7gAQf%1U^)u@s+M zpub}Fgnhsw$MubbtB<%`7vh^jf9ta9Gey))dL5091GasNyOY4dLd{sV*hh{U9w;^B zGcaep8ws5Mq*T^Qhx1A`Ty>k&ZSxgNML&M))IgA6+=Vi!{1^FiHZ3T#GfFWA?aRG;lqNDrinu&Xvrsi zMBv96npkC+Wu^fIk8@iLP|n??TqAs7g2XmM!SnI@8728*l2HFG;<}v<_)p^mVZ^}! zdDSt*&q0}oDBz5*fdW2?5I+j}cNA9f%+gfPwGkH|6$40~LV?G72orvbnY>l}e@>`v zyPI1pd(f<(e_eQK%&ys(E|TEPJ2HOc2KD!s-wA3MG47kB*~N)ENMIyD>p%TF+%+Cf zmv4B!Zu@zcwF2`2;T1LzRTOR`>+MKWaydjg&J>QYxeA@UOh|Mu{+by zH;}!9MmrW5IY{N#|9W54(&34Uc^AU+9M7^m7{259TjV;`OBldZ_CKlVFRzx<>Cx9V z#~+}qLzI<+M1gTg7bB!ep~9)VrUIJuBu^#JPWV-JNP6ar0oNx;p!4=g zxIAjo3bk&9`Z^?tR*8OTt2UX-^M6`^4#Czk1U7^|AfH2XaPS%dxZx~RW{Q@(h|c_L z?)3sTDE}S*mtUWXn5(|_R2p2VWQE3__z}ojBtNhGQdQL>*yua?r%d<(J;laHF`xe;_XFwaEFPkU_()j%_gW@`fnj9>*7p zkYjie+WaUd@fZg$5T0ai+dCFOi@=&O)LmW1S?1#B=NTU+J*~EriBxLWTKf*CP*-*? z>Xg~yHi^T9h86XNYh;9HWg_MAIfBE7fPMIxkK06)WHIHV8v0gE0whaADBiMVOxKbW z8sDs8AkOJPNRJ>^h#^vnHC`qC%=i`z%Oi#U_e36AoT`&P_N%JaK0Ni9jR|qLs^&5m zPtNtv{Eod%+H;C8zrcB z==teeHz?ZX`HI0-5ZT)0dX^b$fHf2AaFmc>O-_J19=!{hY7m^&;-$@RpB0D8w=d@^ z2H)#{=GEM=@}exS@ohoD4Ds|qr%bcF<`?{b?Dcnu*)jn1>qF)Ii&B`^-Np4%dgc>C zrS8z|3D41IFTNlFw>#2hGI%i;(-L<04}S`G4Nsce*|mK0xWa`R_`2P6ohGJ0dKgLP z!Q;)|1=I6M_z8^~@EP=)#?YVyRTEYwwCQ>^_jM6!Q-U7Q@4580xbjy*XFz5XqM#|@ zAtC;HST#VOk#sjnz|z{g;y`g|8-Dn^&=>`2?2xz@T-oaE z14v}_{#vOHxTzHWRr~Po^Qu?QRm8#sB=@?ltp}SVH$>|F_)t*Wiekwz=4K zyHa>~EU|FoOT7ehxugpK;>(-1p1OErK=IVPz{#0JTymqWzK1wbi3E}k816V7=}3*v zkXAp3oYN1-yh3bX;AcF&X8I%8#z}a)eAFbLFwi}SNz=Q~;VdcC=_sL0L!zO7A@fyB z3+7Et&A;!^h57z9OeG(LQj1d;NF)SePUg8V4;tS;I`ft4>`wU+(R3>yUcbw{e&RAA z_ucIs9q10Eg0r5}@=%H0ICL(naLW5FEy5`5W`nZOc!$Rq!MtMsad4jD{i1Gl#z z{_PxY66lvk!sv@wK*wLdM*XenUnAYaRnkqU%S}gO3;XH8cep-^C^)!*{4fy(tj+;@ zS4l9Cl9BkV*#R}#P9Y!1TuUM0%G}*YAo$m3)`Oab^z4dKG#w3{!(U()j(um|KM5A# zA>`Kn>VJj|i;vg&stPk76{ocfeB0L~0KX(3K{GE@Qr6JV_^$5>KO_JZKg^;R*t$vD zUtW3_w3{s7v=LWH=r!6X~TYtP}o6Zunb*1oi!vEGVL8D9;?$P9Yr&H9}h0{>AlIW*vvl%(lo-T zt=1@5?@~xJ3cT#2dZ_=y`-^>t1QZWpK0h8g6aX{rj|>38-f|MWXhg!x zhe48V0|+pC2JaQJgRV|PG&70-EozY#v89O31z)Z%?H;n{uA!>IK?GSvl8j zcr}na5p%lhMIkCfdMfp}`wwTX^@-sIPFNdAl5h4EpkMTgojaWjzv8!NH3;vAFz2=s z?w1XCIyj^{awmP{=N-+P+2_`k;0EHK10&k@=;;Edq05Bn3iDRH0)V;nHFAZJne$9J z;rMATev&2X7n`a$gSzxn4Ye->Y2;4E5}tg2PFOJM&jDbsd_qWu2ugwG^jl|hn+9*B ztMo;f;ymgs84JY^4J9Qd%}q@w(UTtnRqEhI6S?ihe*75Jn0cKXbgAG>&iG%ex-+ZV zZI}k$SHK2Jg;zeZz`BdGs?5tG24gb_?_Bs}DUY*jDIF4KX6lvk>!JYEp$*%GZFPvP z!_e1XFi~7)*{@Lr3W`hM)!tl@(~G!uQ!yW|gktJR*Ww{^+s!7AILhch>#bkDpCblG zaGWdU19slP2!dRed;sbfprA4Ev1)dfDjNrps}YT~&g&c})vm(7=pcsBN&S=wr3xR#{}Nm@0}q+Lia1n8F4I)H>~_E9bo6 z)Vx+k)b8Z@BZnuZScsoaL^jX7f`gCgwVarJ6}IJ4u>OrJfF`z2U*q?@^N4lSEn3}@ znQQzr_q7}-;tIEk2D%Ogf@u-x55xM27#Y^Pup?TROUfB(wc}EjzRJoveo~$!+@oN7 zW9pu^xPKms@gIFdrTHTK;`*!s0V#3Cm2^r3+zsvBsB4awLITn_KiMTg0Gr;gR46Q? zZzF-DA$%DeD;Nm7F|XahTXNIj-Tc};v2VN@`Bfb7_9lWzVhKy|$GnFA)hGS4o`;9Q z@Ca_^fjrgj_`sl(W+;=;&a+>7u5P(#^+fWAL<*|35AA_|-XBbAmO7|SK!0y`Oe)sNabN}M81eTac z)j}*`P6DoKbV!*elwYML0yE1x;MxbATGqckeAB-oc;xkxgHket8ElTUC<6Hmq5&zr zI;0>s=ppbYg~%H+IdUqyn;23zwE?rjBwDXf21FR|=x%7EPO#{88wQIw^&} z`PyxGU4U&$tvKMTD)U-=TKUeX#Wr=wVJDc!4+WKe*#h){U0tuW>JoP0LBA*!=WaW4S<6;QT$t$%&B+ zu~vRX!Pv{EaJ~)0t1U2#bWWDhQg8qjxhF-Kl!` z6J4ca(cDy>9FZfOF>M+Zc=?a_Ht>ph&-{lHY|BngCLmNCDzm&JQ>PCJ)%%SX2&9we z%U^J5`=2tuTrFSedH_Wo!}jRA#R&heTGF)!1urIJMh(d2Ln@YvAOoiU`BvI$z#k-F zaiZAq^$U^dOybnDIC(Q3Z9m~~a4HeQr^`<#^hQLR6T@;yIz|W`Y9S08u6GpW&(jEi zxh>hKHg34yMT8OlM_G$e(GK73#UHX##Epf9hUSZiiQz}iP?6y%BJyShmv1>Oxn~M6 zm?mJ7&DAOmca^EbI=Uz<{Gl19+GW9(mVVaVpi5i)Ofe%2Rg=mvw5H{7vz@v{N?934 z09p{6(%3rH8+aDLf8OfR8RfY<4zCtaFv~n3^#3t+9pF^BQUATy-Xn4CnU(BK$R?ZY zaqURZ(jjfTkdi`@ASdBEuXFUn|{kb2nogCt$KmN>oy#?FTf?!#tJdI6yZo(;+tMlFN)d|KX{AN zLxh2mD%&F5oV8hd>S`g&gSW>bfN* zCE2~Tydb6zeFt8J#CyOw?xQ65xupE5@>izb?OWIV$_KkLIQc0I3N~2)mV*G`QkrE_lGhbKEB4QGy=CQN zOma@?_WQ1+!{YX2jo)BHE?9N{fd7i&yv~Ybu|hSUUx|CDlc6M|CcTHwQ~XB?0w!FS zOrkm-T)Y;3d2fQD0GJ_432L{FKW+6le?HlnvI#0T;4+{xk^jZR`;2RWG+!+#!_iE_hDdX* zoQ&QN>SxvaYd5p&-NF{nDjnm)YI!l4ca)zBQqc{2YxCt&UuL1!{n0iPVf=!T`@TfX zp&NOMgcI(HsIxk{HSSA<*yD@$A5o}gveFW)5oToUpmjH+;~7aZ#sWAnYs&zWNG|FD zycjT7NXye035W}+lcB{1jR;1!h&2AC_WiyEB5*VQ<#?utFyO~49a;ZJ2%y1+Z{yVV z;e9h6S`zp7RyWGb8Z!EqJ}Bf4;qLkRZj0DIJY1T=L7B(?lE{O#>-o;V>NK0jpgWj4 z90U-IY^^dEq7OTQC&Dlofpxws%Fy9S4@6mkVHE>ufbso!t@}U;mmYSQj%%-W?mmO^ zsWWPv%%}fKECtI)Zp!P+(Hd?NG*bLy-H4NL%(` z+8$1wbmAuM`#D)R6cFv?LFhrfJ5zC}qmx$&=>@+K+{H6uzmpImvH8DgqhY+iwrX0# zFOX5Xjm}JGd{rK$1m;H95g6yYe-2FviH5}2K>BSqa(QiWO#LABcCa4x$IlF8W={tK z?pn=1T3Aw~~!@j4)HdRlS^XZS)^l?#PE`>9% z7s`^}y!#DZ4<__FWSrv;vuMJj1M%Z3sI@n!`&m;B8VWM})#TJPk#16mn}0c1$#XA| zX5ESv{kv=qun#MKbR{EsGAyx*?>^EBx_+>~DL|nztY7+vxTVA&0c4n}5J0zx_S>2y zyq95?hL0z`F7HgrP&c#K%FN4Sq2WL=+@*_q2Maaak_}`ph85Yi5)=*MCkFv&;KiiO zRO5r2HSxXxYt5Fjzka@7J?waUu04#6oG^@h))i<0NVg-jgOEUv0o)Ul0V<8XS{8Oe zK>;J4L8&y^r0~Bs->VoQ1bkDUw?QE*Jy){;GKo_UU=`pO4X3~l`!qT4Eo>mO?Qq92jk$2)G}q+)U6QtN3D($y!tY(nQeaL~VZa zb{pB})35CCu^rkZB38?sebDubq}IAw6Xww@R>Ue2)4jb4fO&uj+_!V^*Bv?=y;a=* z8G!o@qg2^nJ{Lz0U5QeF9?}=lgH)-t)_7qw8w|b-XxKVF0l)Mn`yYhO1&xff^Nil8 zH+#*MeVIE?hy&Hzw$!Wzuq@%DsIDBPIC$;wx+$I?-qZ;(-giz>K3!kbC=oFSZi(By zwmc4Ak(R$PPJKxpwNwEOAh62@57XsUEQhSfyg<>Dh|~_Ei3>E|4l+*k;6j;6KxIc; zuOk_y!?(FjQ_l_gmmQ;#{xCg$8!vlU^nkpe+;#1loe-cFBM7^7gzaxsKUktfoYw*A z3Iw5d(y4tm($SyiNLZRhW5YSQ)kzta|8kDoL7$yFF7I5Q>ejj)E0@^SPT|cO+r3eW zZ@36Je&eKEbT6utX&k&KkR6uGxBxGIodGRcqk!P;-ln5J03)yWa?@-s)Op{5El#`w zca2=`q~3G)WsB>6i&Y%E-OVd!7D(`ul(HrR&tIO(fRRP^R^U9BGqLRIU&jGfOb>I! z&l!1AENfW(kI)VipmH((+65gf%CI%B51Zf5Y0l$^iPkN0Bn*8Ejb_=fNQ`xJvTkkA zzB27#D?7&~PMY^Unj>VIw&A@&=NZr$(Do zo7rhOlz88%a#UaA3Q<*Bi}3Gi-@zxAnmD0g{T;oL^-4}~jD<|pn!8GV!S~pNSR+8& zHJ<;OVCmR8m?A~6nF4Gw!pssFRhU2iyz*F&mnNZ;I-xTa?(KS}d&#JLMDmAMaF0{< zU)U-)og_G%%(tBM=AZP2gep#t!QbxV)^GL8Ke7Qku#IA~1)_?ICxwr{y&cKGuRP1<)Ig8$Rq7!(^<7nzAI(^p^q;Laj|a{I5Gs7> zXZI)oeF{>v7r?s~m7Bl{BmhbG=IhJE=tYI!sq$B=z43K|$8ybz{X5e<5tbJ(uz?{M2{yJos?^bb zsp=RsPl8JWhD*VGgaEL@E0cudu{KAh-nUG>VwjPf4)0GhC3G%YSM0sIo-Vw32Gsx` z=iol{-&A>bf0g;bob)+JaJ9q9j{ztqYaLT6JA>*ySlwMmVrC9=XAax;TX3f{KkEG! z-ZO~UpM-fyPbvX+7y_=%_I0Lo7x9enRm46%Gi$bA$+8Yas94xd74;;&gm!`P_g_S~ zG{pHz64h-@BS5Y|;$bw$_X+USQ^ZA=LEWFIt8)N_nLT6J=^shj=}dUZ8P51h^>SBd z;i-f4TH9hG(Q7&7<$s7({eB`Kg#RUrJ3~gZKwMq4S)~g>M`nB;I+Biwr4jY=bDej> z@wzJ+cYYt<*^rY@s@M|To=_sOpB|AH32RAMBeG-F;>lRqOjn48iHKABHiOe{Fk<1z z@FniU2F+a3DecBxLpXy|{3XOZDPfF3l&jkL?hw)YD}-VE31$sZPSx?&wUqIV#1*Cm z{G)zNWPr{53K5`tEya`I8U?$N;lk4y>g(5-bF;j z)WY&9Ad87!uoBQ=tTK9H7s~=a~IXhg*SA@Ge(@sxM%jK^^Gyjz_X`ktnSgmB1L*_^7 zf8aM!AXKp|GlOE4E9%B(&tKf2)9}AscDLC8Hh_Zq!?pkABL$0Gt}8LoP6TD-2*4Ib zYVOXWd8>woriK=vTWR5QB!}q+Z_-CxantHY019F>7q!Z54h|KMIMq+o;g-x@8G>=QF0k3oPWo-U zMi31RIa=h?zTHfB>bDnr`0>3}={tbAEdTIlXkUf!PW^~h_X;S{7#gw=R|q(?DNp}=P0L)k9a`z06O_ z3A|l1(mIGZQZI9u^K;q>zp|`&Y5jJJ0T_8Du0Ea$bKsyT;X`CgP`;NUeRb&@0B>l} z3ILrD)+|6isG7mEGjRAKV^2kXjms`H=R?@uS@45_IA&)}+ZKKBC5lM%C(2b)liXj6 zfId-T!S9a%1Mdy{fq^tixlt+%8G`&dabnW(rQy~u;~5-wc$zkJ!4}9*Xu@jzM>nom zcozKnC+!p6O$9{#Fj85?%mA~7EVy1o`|R_|`bXPj2;tNQ%G+s|3_nugn1zPWY3=Rp z43w<$f0w(Gm~p?)Wq|Bq5Zbusd3y9OK|1*O_}D^>5Uv`>-eAC2bRrrXPYH_H*xGU! z85^rxhOrs;=lspPk`i|su)4l(v%5Fx6LtrN`lLzO->ob3{X>EBSAhyV8%R2Vv;IUs z0)1n%T$;&#Q+E+J!twl<&~}>x=%`;a14i&D-ms`MUw4YUC2pqn!cs%tRF&s>tW0Xm zU?wa)mwtLN0_;bDkgSpQ@lWoKWK;ak_&p!kk3?HLDE#ze?yDt9mm?Az3(r|ED%j@Ji&V>@8AR_e2%fL{*PCl}ZY= z0!p-RTV%q0=41yeY^%ik@gVg_({-+)u2d4)LyN-!31Ooh$x`obArL8FdsN^Vy%^G! zzX`?%{Ela8a;bu+!&VyoS(KzACGf0mSF$;c8$?T}+I}T+qlP##gpFaRvgVbd!q8tkuDibg7DVP$o;C&XCI!?Je2Qnejk z{Exl6(yU&*=irnyORVtoD1pZ@SD!_TWNYylb^+2PS?tlvfC)y}H!Ipd)cOJokbu&(GLLYIxLd&HPXi9gO@J(CZhF%<%6ZS!U_(D2Lijwcb2 zoP5%^A@1_-lKR4(g9wjtJCY19u~q#-G8K373k$i80Bi_HJ?~{TA3T0xc84?DU#-wr za)nB+vR$T24?-s{q`!%XKx#C_*Ca7+@5F3TAyH>DuV@vwSeI`khfj%2J=x8el$V2A zHIdi~0Q}^ZYn1$z-rmAs_;rZBL~~|RI0b%-M7&@vsbutB{mBx{nyJ1uY0`A`93`?z zH=jO03V7)ZO2R9~zWGtU%efJ-y?R z!}w*EaE3g(4-e+Bbdg7)ueIq5b27t%i5}Z+ynp*y7=#|wLfNnfQ&7AUEf9>m7{Bf6 zU&SXO+GYAh^FqeD(aDT7Anp`pjdv19g@0#9%&1M^h`j7=ML+sYta{Po-~dbhQ~5(G z7Kf^Z#RyjSadnWuJmv+Tv{jO8%VcW30<%_AlmM-)4AC3rOPZJuW`ucOlrQenJTf7< z(?z_UMhKqiQbap3mg&(vwxom^QP_u6+JeRH9=Yan-o#4-P$2e@q3exs+}g)t5|Q;* z2_ZDsSr>$J0#~@f#_7G99|WSZ-fi3UB;2ZG2TsiD{t9?~Q%S~{!)WTjTt#yDnO_Kj z5RGMyU+9TIl(SW#_@(0E*D>;)!HA!@{TM@Q7zdt3ga8j&jOS>=}!|Uah_s$09rhaR@&5gUrFh<8977c8tj+vgq~!BGg@o{T%n#(=rQ5& zcC247TY0}UK-iidRN28s24>a%?11XKj+7?_hIJ@+PqR6TUnxqYTf~r z?k~qyS9;mRBy89C^lg2Sz?-A3)?Bjt&vZWa16nM=Hr$vo0 z#`e5f)d6V@mQ#{jK2H%^)n3?y#IfiGVmUM4ZU+&?@ zm@Hi?14rlu`#UxO+scc8U^ByG5i_Go>fNs6(>&jn?}Xr2&QY1caA5AsQtJxy^7Q^C zO+giYx`_Uz*VYxIRrYT!JZdM%JZq1nUKou_h>C7&L3fd(Bv=+2);)_V&%3jnDFxG- zEEJ6&Hv;~AtC3V7rb{1n(F&VB!I|l+Dz?z|{SB4pZ4hvTPH_A> z1u%rfRq8LKv_##BovoQ8^fucw+M@dx%yT}z)|&ZfwQ;QS$S#&HboaJ^{k`ko#z)*k zs%>g^cce(~d+=RezB7KULrG>M;2p&E-u}M0@UM<%bxNd@`S{ZK1MOrytrFkACqlwh z%$#|Fs<((+7YsRbue`EenEsq~yEMqtuNwX^DKRi+ARWOK&84^xeOO|hjAD9DTE-c= zO0x%W`!-i)Z~4zHsu6-@5m9?U$fqR!Q54PT3>JQK@az)<%O{NW;&StNMnatT@)0Ur zH`Mu`M0V%LwC6^3(!}lr1B@7iITNkyh$VL4?6#1py8ZQ5M|aKg5ra6ZN`m{3E^>Wj z6~82gpOd-kXwFa{0A}?$QN3J`1-a7S7MNAOu!fbY0l=`5LD&N3i3rsf7#HzJXi?(2 zN&U&qy{99dc2z&T#&Qi-*x=SK2MC+xLtWmV8Sm+)LkpA$ke+yO5vG9Vho?s)wg9V& zff=}ik{&>RdMP0Qs&rulxCtkYDEb>K?hHtLeskWYx>wqM{L`t&yGsH0Dx5fgJp_sn zUF0EeQDNT8>~-sc3TsF6yDkLS&?D1$Z*hRP?X>>7oXBbu6s*PDXni!%5_Y)8Wu-3q zB)Wf668Sy*RfpsFPg3yQ6^xUB42WTl^K*TCvPhjG;iewB!21&=B}KOR^_U0{cIzh* zm;`)yJUrSXo?OOss<*TG8U9?F>jNV5* zpdwFn`4&LkZoth5fDDog?JBOKq#u>ZAIn71q_bOW+S}ID`;9Jk=-@#IaRffdRq75# zQe~^mZT( zX2`_JSUX!<5(18WoB8HpFWkPW{F8qgp@-x<`aCo$ zdeEWd0wsTOmNSr7y8tr0`tiY@>?0((`(thTR0w_x-7t0?np`-T?kh_v{UG-1xv{4- zz34ODYF6MYpG#0OytaLO+GfNbIKHrRlA!tOu>ag*ey&(Q`_nrZd!KhhoA@&2A?$Yq z`vim~0XnG_ZP~Ah2MI9lKujojYXtZge6mm%vmkN9VNPxOYE90k{U9aD)p{rZa$r>n z4ZI+(?WXH|{+o`U9@D58U4|&t%}C$2N7uqHo<qy6M{MTGS2 z3$vXS3kRK}en`XzGV9<*ot>8P%LQrl3}bZw|Mnxiy6^ri4wIk#`tx(~koHakrx18S z4@=Mg#?4DBN&Bq)$Eh`FCCbb^cN)7#+H@LD8*5nR`)6M9$VUjReKXptFX_$$>R=0& z$CmV+CKPm?U4}sbnAJgC*u324e!yA%`DI_hWhcm;Bhr>T)cT}H<+Bd3qy(0Nzr1JbmCzsRUhJZVdcsi1l*L1Zm%Yo#KQyLgoKvBcW6;vnFz!^;M613PMq zpoHd;`s}~EbHR<}Y$<%GN9s>|UH*9S(B2vJlEy6_{aX+Fo!gb#^>{gN55S;Yy9QOXiW+*aOkI# z)WpL{dXb`VZkq?TR7{Hx$~rs!6%h2BCK+v4GCN>xznFM=r@kkKMoEmPL9CDN=WSMy z)Ry1kPhIf!*XP4L3Sz8}@Xhhgfo<6zy|W1w)V&+2`VFFGe^iQg9PQboMp4$mJBA$B zi2#~ZhAWRA1<>z0(I2|e!Kupn1?)d0{V zB@@Dwq_?P3=flRFUSTaJzn7&>`H_z>|sf{@mslZx8+VO$PU@w z`6kRcecvX2Dwa;x*Nc=rFT3+&zq~E0)HRL}wCAW6IZly8{iT&lz$Myi8r2GS2j^Ry zAyS@_^Bf6A?y`1zUM#zZ4~o?~PQ$pM1dsuOOOVEmjwJ$B&cI#Y;5>zn{O(-6iUdcL zfFpn%GROp=7m0NImgyeA`#cZV0{i8UUYeH)!`&| za9;^N`nLA@xE{wzKhw2KQ0F?<=N;ZvQ&Yp;^YPirS3KT$-|{b7e-&Ub+kkv$OPf5@c29FK8Vc zEMw!tRR-R$V;2)+JCM4YDCa?7MKpiBi12l8YUhgiEQH2)ON4RK=ap(8D=N0x_4f_K zd+V_48#B4_irso2-iztUBVd#SbvOoeI)+@D-R6P8>F7Sd9MnZzyn;t<*x>8@Gh)}` zudKg$QeCnhdQ!opslg)gN@Fx6tS|yc(N_pVWNzg;1iuKIvB9P9DoD04tYJ7f7N6O1 zdHuMox}_xcf%U25*71eVtpli*%V^gcqZjR|QxRWlg8=LMtAsurNtRrO@i_mBwM@tI z3#u45&T&}8ePF`}95CrX025MyY(Vs7881L{LcjAb1M;HzpSdBPPe;m0O$^_68fA@W;!Wza5K~)Sm<{ z9$A{T)Zz1&hM;+LC>;o9N#W+jKuaqns5EW^V3wb8~?Jq&&f&d!&uhA{N}?4(c|x82aZ}kI>c`hxsE@u z41e$-P1fH!+Vpg{KCm6*_?Y6I2i5XF&hZ>S{5D1&6OBbOS2Mwm?&6(>a?^s+y|54j z_EqJ7FOiKsH*7WuKz@!l39w|xKrafdSH|-2C1Rmmfu_d_kG1*LUKq9Xx=h@I@Zw6y z#`w-y*guP~e-&@RAY0Y_NYDAo3jo;QuwiAuntY zK$R2ngOK7h%dhzcl-wGBCRR*gnWFzOF#(5b4cp%>p(mx3YO3d1cef=9Tx~7s~d{P2tRa_+z|@B zP&81wT7W1~9xd2ZZRs$*un`isN0EE2sh$MFe@JK$>Du_g;Y|*-ojk%RBx%RiXSooF)kVv@TT0{?Rcz6_P^zS7wv z8n3?6r1k!7?dj=xey;Y*hcI)>*~Tr0S4a+f;LIY@B$muD?LxN3OAdhQ@d#yp|RmW_XnMyQaln%5-hFF?RsJT}lKDinjG*p7Fh8a>%s!&aToO z4VC)+`KBmrKYWhN+%IE|XQXlqLZB*)>mLZHJIO(4^J(9W?-`|K#R)P3JHNQzgl*Ko^f&fx%J4}5+2y8AM*n9%8LkKYF*SHsP3i;0UcsvZ60R+~M{z@8> zEN*OI1x9olUyDpgGW7^|LUUmFKo^Y>IGP40(~`{ui>f9!*`b7VbE^5?{$~i|p0z^; z-UlZP(}hz>Tgn=(L;n=dax!sXO6(%qkO_J)SdPGi@tgq2$W=R>oG)-09L$zcmXVh~ z`dnt_sf7lO_C84lVf=X6ml2Ra zUc1B2lO{}_@CJpFp54IEv*&TMBJR!PV@E?=pdtV|kVBzfw2T!H9gPA$aOB%|xM^?i zD4XG|UmsyfODu#yFafm91>kkx`3(Y`{Yw&S+Fq8GzP+%pH1(gnZb7HH&SmYfx`)3rc7}+7(j1ZddvA%V~FT&!cZ#wzT=nwAe(?zCy6}>dhr*Aiy*t zAMI2d6IiASRCtN5i{m{|B+!=(|KZE>+7)1mBw3wI019xxZRBSfV74_L(UfU`vNi>k z6IYW^*j^4I@Kb}lK%S-hz9iy-5J3PJp1VAhs6R90B1}C#yB0(UKGAtq;_K~A;)9Lm zX9PfyiYIOHlf2+Nv}I59Iy6tC76mF!k(P59+qJHz6J)g?NC5eBemsPH2k=K=E+G@R zDbr(tpEN;%8CR}ViUKI$f9)z+L2+J%!mOexovk6BsSY2~*+qRz{?O?QKj34|=w>k0 zb)F}m@Q5hAjv8Bz8(XaEyr1hF9w%wYPOh$NzV2ba*-#WclUy0vfF8yWB| zZ}w&_?3C}p{p@@&pr7Ldhl4hTvqre$g$U=pK3ai;V*KWuLAMkH%6$N*s&}jmcM0?@ ziI4LDLhv1?-SSFvO<4a83Yfhfk?(VTH>+KAJ+2cLAKE+x?YWpv1O5|T_{=g0a#G@N zUn|>FRa)}iFi(6`fx0b5v{AD=BXpA9tnGn^h}_s`y7XAvrMs<-4ksPAMA?&>d9KEl zv#WAE3XuuG!MtgWcX&p4{i#rJlMbu_I%o-C3ZToFO7^Thf9TdG`+tm4t&Y(95M{|l zooieB-PR5nADsR zM^@clW5qQ}Y}w>xqHkHKFq4l9cO*caDS-rXn=9?^c3ZY{s7EXi*`l4Vt?L*M(hjdv z&S`rrA(->2uoat1^U8_YW!Ss47J<4#Q{O}axtET##gD@Dmy<#T;+H>Fu4=q3uVfQ} zKF2rXH7g8Wm{o9^zUF|+)3n~!tO2wm6emDIbD0r&S}XtJ8L|4bsHPpl_Wkh}pPkv9 z-e^<8ZZ!g6APQz{zJ~9*@d;Z^)h};54K)7&Di`#jFd;%NGh8AqQrSWU>IL^6A~8tD z{sknExF=%Im0My*QD1q<_krqCbl^9F@PTmS>Wkd_v_SHAxh)l|L=2>QA9+!0-%iyN z6@BnQig4Q;s0>qrCV{9ntBy1cmw<~;br&BV)HC4dg02H2X9T!~4~Z{hNQS{VZpcUV zs=h!&&rrDi;o%w7#@U3OV=RlA?sK70kxevDi+yoDpONa1^7=ZgG+!9!-Ekg zgUVAAn7~Iyu70ZkDi!8h(TsRKF8$g(WW-wjiDkC5=G|8b!7_26-o2RF~id{I@PSLpd=yNsM2wA;`O|5;F1 zqr{1gFc7tV^?z!wcaZb%S?cG1*6UPae#_2sbRD12OfabM{U!BzImpXoco`4;LZ<3} z6ytk5g-X?N^Fmh}8J)J0fKB5PeX=jlI7Qv6IqQi+qB<}u)HPg_% zZ?97ib#B3*r0l8M@4=r|kc)i9u5Os#55SO22* zBvs7h^pu@Tu!iwI`+2?~4a0ZxK{;1~%E<@yf2r{>X@m+xDAsy(@Vqlre6rdnHsYmD za|5)F+ic$=btnd?Ku~ouKVm8u^TRJ2VAV;N` zGZtkBIyp^5uF0{x1%;3Rru`1mzNO#4!xrw^5CT{O@zaq)!l}pYJwJT{%v_Z>%13O4 z({~~JBv)i|=k#D_;aKMOM9tg}_x#iMCHW7JZov|)m-63C$taA0JxJ&K5CKEqYuM%r z`^IiN_MG{!iz__Sbl~sap3=@a0Mg5TwjJB@(POxHD_=S6Y(+lz_mt`jQBrjHkJHc9 zyL^&xi8dW*zyqZr|H+;{$|FEL9)K*a=ZL&+k>H>>z<>lbx({zHip=RF9HPOY`1p*==e6tjV zG>?{2hn^bon`g8=MQTWeyy(3a>GpC}@EMbTwD`A7+LKmtuOZo*7!D}RQYR%MJan^V zvc+a1t|UK@OxQOp_uW2_+!O0XD9o6myRXT8U`<^ZtaDwR;?vkt60i@u9x=8jeXaHR z)e4&MirdHf7h0Ce0<>B$H)@Q(%RX^<`sE%OF>#FqcDVfk{~{-KUiI^57g; zEFJMYuj$F6k#;cInUtxg>t1>d!x?Jb2R4Ikpd3o$TzrRK8Omi2JAyMvv0D%K8(U7l zn;Jg&1i923HrHkVfRl?9B@Y)zAH&A7fW5i7S*Ut0uW1DSwLTOHOc(%kdkn>`hj2_B zmwm-h9q ziJ2OoIr0X$v-#eyE)p8n3G*nhj4&~hX&1*6N56;7u&C9mj4>jyqCHi`wT{w`nDzS- zN^H`zCpTCP?7q#m?*@e8YM8ciGg`x64UdnNbmXhFiCI<#WaM{9@ai)Cb z+S!{MXAbY49O4{H*i{Xw{lieYFwtht;|$HU31s{I-pK=I0hj0`_D#W{TV z@|X7X=^#btxf9qp#d;JQ*u08h|=RzgWmtZk z*}VVJbmg(OZ85(t5eKBh9|`H#F~V#u%B79u zaoaUb{6gu(gxjbKG$>KQn!x9!wW}-Fb-s!`QQ$C^<;)I*I^%1wX@`nhQ%{qF_c39+ zM|<=a+do+-^Gz0}oFzh6 z+69pK5QC{yBi#tKNQSk^_z~qJh7DMt+&a#nL{QRMCXc@jJH7I*ai-DX8~;I_1Oe{+ zlOKd3kB^_qZqLzC=4V`+@sNUeYIkOeRDGy^%4Kd%auOj_`VWr0Kqu9uaNYITF6xL@ zrt@(PnN&^LEH&{P9L^Un&2JlyUcZiqiCIt{X(-+LwPQ*K3NoD@i^cGOf@IsGc*|;h z2WhH%f@IEI6jQ7K{OC`TEF|j1r0Xo19I* zkgo`;<}&i)?oWpgLt!{$Zv9O^N9=NIP%PD}N}!&{0SO)sg@bBBu=+H$U|!MPw3Yv9 zVsS?IXU+L9owTBtOneI^wwL}u&A9fnK7O;yrQg>}O}*aX-TM0x1%8eOnXK4fuHb!1 z*V$y4E~xE(J&yO!cC18>7)Cbn13&$M5I#Em{%~x}J;QI=y{CcphL{G}mYc0b7Y^T4eft)i|xhDHQdi2Fh2)gudy;rSe#9~e#w$EiuOZ-6X6B@YEH&ac3zp9n$Te_>d{ZR+bExEY|Unh-0vyjb!7^ZSovCa8=`fv``>#qt&35Z852dI@Xf`16U5m3i3 z&h9)W=7R6tuGy^HvY)xVGbv7s=2Bpg=l;>0F-#x^(dLRBXSbnPfm(*N|Hd{l*x~U*DkC-lXnhp}w4xY9OkClN305CMZ(uuJcv7{E{0yR~$8D zoHr@vh8nMg?B2_k4`Yvv?%=e_^@Ex5Kn?bkcU=67G#``R6@#JJ>2j|h>X%=%CEr`@ z?{T>fXJ6y^{_vb~K8@*5kLqNMoMwr!X2v*m;f3dfBe>oEI>^la#IW&+c>4bR$&#F7 zyzoUwTzq>kR(E4PyJMO=E$M6cCOI7k8gu(=OKs24Cvqrkt6s1p2yQOH{#Ls%elLpd zWQ*le<4LUH>vKNLd1b|S`3XI{-B)LHPaNkb0%RuZACGtaZ^iJL$u!fI37`brS27_~ zJOx@zBtO?3JmBA}4gWBTTi*RKW%uiKSvIVAi;XHT0BVuvG(F36+OCeeg)dSriLvWT zk{;}Fg~^mFL+qrRePi*n8^H0{O4(2v|B2bC~U(QahFn|G#`7hm1s(6Ndi{2A2Y9mz|%rvX5 zn+-vM!IL}wJeho`-Y4FQKD6fUO_wOEnr#xBQ&1IOHA^tlbm3jpF5f^?s$nCixhyul zCKy4UEaSeX5QL~YlVwdflXhSm#Y6iJjK_Utg$2lyA24$|`FH8d|EfW_?JIw05*aw7 ze9j9voc$ajlD(QpgQ}nzw@Z6mk=Ue9bF5YUt3$_MuyKi4CN~9w?n+|?Cf*c+3w8h+S;L_DV5UsnW=DS zdH4@fxfbV|&0kRZ1S>U*a;SVcuje4(@{7_LZ))M1yd}V1^@E&rITR-_^JR1|R3QBx z*w#Y)_%k^L#c2$jW6uXCK0q3IK#gI+_`Vda>cofvR$LFS3xf}9<-r#_I_Exe32S&DX=z{~tb(F=Q* z=nGtO;Rx1CAu2q4SQYWP2)(r!r@qKuMv>z0N&`>`o<)T=XYOdK{5Xjfu9`@|Jv(A$ zP>Xik*@7(GP6*vR&_4)J5b9y1) zeC|sxBa5O^Qb@9aBaTRS1Bbze*Ch)X9v}5MPapb{5+xffz|JFdtAl)6xuT88-Q91a zjm2XVXPH1|@%P{$1~H~Jh@!FPe5xQOw$S=U8bfd$Uz*|l^`|}D&jdIvN;%R+UKzb9 zFmvR7#kSSyXc1CkgTUxEC*QA)S1(IMR|1PHb%bz-tP+5Y?DrS4#gQ)LD!(Y4e`<6A zVH+I=tlTTI5{mQlP(wG{Eqhdm06RQYbNoag$0-Ci=xzJqj&J0TQ--^$sfTSDcdcqu1uf%~VhVS^lbnXP0Mqv3Z=muci*M;6%g!YgsAX|7bEWo)!*$uj~zF?BRUew)$464}wGN_(O`Ivtn zrf{ReF`WPtz0C`C_#wzMYB8_Di+!bLw+be(xBmC zVDJSisO$O-BYyH6-d=+nWiUjCkh_FI&jr4~3J(8X#2rPp# z0JP_2!7u{juI;xMKxrV9AZtwgM_ac2A_gjAjU9uXT8dUGqB+r%=@C=UFr93%Uzu+G z*m0*gF>m1a&YG8Mq_lKaOj3%H3sx+k!0##fnJO>^XPD)$>%>1ie99c}LB)Gxuq{7n zFMCWPy5+^k(gucT<;%GO$lU6GI8kezjr=KnYn;ws2evgYl1`Iof$3~GB352LwhpK7 zOGkS06WoW_mYqHn1r&UJ675-$te2cbJ%Igf&~`J)$)3IK?;G|%9#rb2d|f=j-4Vtf2W;p@LYF|`U9t(I*7lVPdn+O zy$KMQcXN2uZB-JOa_MgbzULi=8y&{xfZg?P0l=J>N7*^`E;}_FX9>-YJ*PDM7ASyn z(iwl^5&GULij08g`lZFbi%++>0l!3UC>-0_Y4xS|4r79GM&ErtF!$)^uv_gzy}=K> z8;RH7BygxCFaT%D@!wQmkR%h`1YO#bIMJCzvBw1WNn|v~@J5=b0ww^Tj{6}{ap!Qj z^+9V64fl_gA^&uWzpiDv2}jiUY7sz~7@dajq|>;91m1Po!5?k?>Lx38j!*HzRnR40 zZ=U!#RUZ&-!Hwh%|3lMN07cz?-QO-tcXxMpDM*(Bf`p(*mw<$%a% znQ3(aFxxOJcY{ITUf}>Wy=k*1Ets(a;033Q6oRG&kau_nDtvhKl*LjxKNFhTlC?9i z20|}BPw^Tv(Nge3`9?Khqjxg{>|=}k1GRQQ_J4?p!_xfekr?yo>|yEG_vyzLwhM&E z{>V=(n;M_Y3I-R)ucRrYLR`>=d*i@3o(=&Z1xRktkM{}S4r4WDdxZY`fc?$;U&Bus zUtm+$f0%H%X*AKzI)=UodU#UqmX41?$Rck2(mOa4G>_uhAW((I6z9dV3sY*y5AqxC z5(ry=3>T3r)cj^L94a;vPw)Fc8yR|Dwy+ybNl6r1HU#bvH+!6dDE; zNX_EAuX2xhelrZbhJ_WxQ8SIjPmv7zfqkYm$~ERVN_JQlri(Nmc>%M*)fg&RYf%A% z4S=bLo_Jx>D#?|rR93I4#kf4T~oIwUmg!>vAwpoL(JxT%L1&TTMIO26q0p_m4TD8;o`o z=8`N_0P#Twpl=Ri7Wmfyl-`PJb} zR-HM2dG{E@Uhw9rJhFL%IM+r7zILpzLYm7iB>w?hUVOKA;0qA{(HwZrod-7Txd@+$ zs!?t$&($xRWo#^i=HfrF_1;ZNR^u#`?L-g^C};4BrXAHcv_U6QKPL_V|v!@rIV<11V@< zcab)xDr+#X=A6h2uZF*zj4hRZxnp~*K!R?AlcJ67M@R4&&R~WU%w+ZV9bltu@=4O% zuzji9PAg&ZFVLCV=Q~0#uWv>SB2V=<*PvWgU9L%oK7BAya(~Yb4D-3yu#Fl;vFAmz zr3;*N`~)jNNugX@8L&~|;YC5>#kbp0Wlwb1&Ye!=L}^h<9g*peK?|XHZa@0)SL6?W4rDtXY(6BP8P`4hK9>iKZ zxE&OD^MlLKv1EL+q&~|o-NARQ;*HVSPjm=e{0}5|F?8g`w0oerRyL<9TRL-2Xjo|Y zqbr1z#*-aWkSxYk1pg&(W+J1XkMd8^VKVg~L;XcDsIl5NFWwVR-6g*%sMuiSzKJ~7 z+!t&J5v*6JaFy@r`l~%eV)Wz1^;AX^eb7H!_$)D)o5GD3$AJ9?6Mqarq7;orEc89G z*H6+}u5!&Sooq2&C`7#LO3oU?dyf10fS9PqYV3lu#Zj4LpeB(mwX z5!zwN&y7$~rhpN5*(mqUH;L}#N9q1jZivE(`bXqNf`zE#%vw18+S1Z;QgwK}-#YPZ zej}`=!0S42osxY%Yo}^6aM3+`T^dunnAExP?(*qnCEpKcD`T(L+3i3#)XlY(9FWG* zGWsk9JHIn|+0TfJgY%P{i|el?83bkOK6x@zT2&<=2wg?Jego-%&2wP8_VY!lg52EP zAGZvy*|UJ-i6GzWt#miay83#bA@kce|Aq}p73z(l@(_?I#}#$y8Y zCP@9DZ*?7s2a`XA<<=sxvwdK&y(MiSMH zokq@%9#d90WG13@Z`b6)JCZH&h^LO=(4mD(Qy(BBZ-M(IEb*^_Rv@N&WxpG zg{PnC8qpKK-?n(q$1Ii}YHv?aXzHTH8lChH%i*t|%0X_ZeI3H0jzkVoE(&Ihaf&%H z5^}-?`^kB!9+Bl#BArcBaZ*DB|JrW!G($+Q?21>_X=hN?72i zJuik%LY!W*238E*Fqvpg#b;IKpD;m@I-VypFb$SthY*hpoUN>%`LQ*M#QxiHOA$a; z5->{4$Qn7iS=hv)nMwYtDH)kYcXfidkFfY5%$;96D7$DY90~a|*buh~TT^N`YYY6F(S`G zUxl&IeF>x>cuZ#dlq#MdHZE?bc1VMc)O?gRBKtVwWR$zw!~AhL{jB#>T~!t2@zeBL zTX)h)C#P?l`0*HK$cs0%W*kQ+DAkHz>Z4whF3)?4Uhs3x+H|~r$?LUUU$BA{6}R=S zndEA)tJc!ZN4A0Dh<7NP}q{yl}-TBff@r7VrN6Z{FK&b}}Nsojh-~Cw|L&M1}JDYi{n6 zBsw~}9Zg@`Yf*rnP9d&7T&VassT_^zGVEGSK|$f&?ZSvQdLi@nMKizc`c_~k!w5I0 z0h&*L{9HH^7dcK0V_MwFQDfkw?7^vX%X?!piY~uK^a{~QClg5FMWZ%8PNE#(PE;Qs z{Kg#>otff7xFH-ipkBD?>!NMF@KfiR6#CHDNv>=$jNxHAWIsvB+lCuVB{v~q25i$X zuB13C@luBQ=ATlF8x48|T*EwfxYLZW-&wO@VddkQCU)$TtYEW{2@5kU+r#s)B7u9J znGivBLijB01J5KW89ch3&d!bKj_vr4RV%QyewnbF7|R_?g#=4f<~!d)bgMP%J%4ro%LRLV5U?il&c1NSr=Er#N0k20HtHd z_duikSH5ps3gGf5yF4-q|4tA!of~Rtow4{5l7>$+&nB&VM>%*YCNqTFe#SL>Zs;PN z2$3nPdkQYb-(n%qzQF}s>xSLSZXn{AzuSv!yyBlEe-14w-kb*WfFpgK$z-N8_> zAC!;KPG#odc_VQzlv5En7Rl-oXH!~tNyBtGU_puDu`zpEYfSNI116`V%FWy2#Vrdt zB>lXE$s^Lw5Yu&`Y#SAVq89VEJP0QT&2zM?np&9SlRRR_=MzEn@l*4kD$#B3@=u#O zckTpuz1j87KS+$l*=yw+%9w;B-2x_ayk*%@TKvrKUw{~*>r*PvkdUHXZ7m`QeY%vj zF>>$oLyteGc>{rs#>_D+MyV=bC~Rn5iHRstDK9a{=GUe=Tiv8{pD zdxF>Sh7n3rk(mILk`)sv{nr=UwfaX1DUi<8Z#A?Rc8$|4uA`GEdokE+QsyWT>-7AW zVB?W+b!)(*jAq^Yo`l0u3R+{i%+YMyrypQN9q@fi< zE6?}l6MKmR8;-Wv)1E?!)ZBgk=o$tLZhIP(ciUY9H?IdiiMH$vLS|AMN01Q$|9 zFh%%cmdTb>yezP6BmI1u?18NO%r~tWj>LbeWn?xPcWl$em)>k;=emE z-SQ)Z{*T1JDv!dR9fH3FPmk3EA+dTywERxgx9#W-#@|FX2r$e5%T-#`qbGydG~m5% zQOYb>7@<$N$dWsO&lN?iIA&18Fx&b zmhKx4t+8*pJIQr?cAT)1^dgP)qW<)vKj=uA1F8PuPi)CAh}i33%-f56oJ^p(gs$q3=Vlz+)pZR`A%u_2QNBA-j?FOzbT ziC=PseCjcU?}abH-5!vkdZrcwV*~G>^_@9cCm#*$N3*^%tIK}uAo0cOoBZYaao=5h z?PKqs4~c)lk*P{Rh)ABFKP&(d-yjG%X^X8OVtr}^a(?F%ma7yjm%mUIHW%pReo@oE z+(A>0%R5NmKkw9;tjgQ!AY`SGMSZwA`r9O@f2b#uhIDQG6VWH7o#Wp3V+*Up1fl1i zw)b!Nxn9&Q)27fbX3!fsdRnAp4czQ{oY(e}DmP2IDp$*asn#nr`1CsNO0Ha7iw+sT zE`@+ZFp(hgtu41lS@bHHve>; zQo>}tr5(EPY-Pzy;%fT)H-r;gjyb~GQjw63%aH^VYT-7$(1mm}M05_eQ<@XUu(j8* z_+)$ZvZwUZEmo#EE|uO?Nqqq4k_Zyh3grW8AOMyupGeV7g6Rnog2-R?Vw+e9_*;&Y z=Mz9_Vh4-{WyFCH#SaG;*AKPr5_HL`1-JL4YPNp<{JAM4MNdezCgHK(lO}4HE&hD8 zFcU6cZThw4XmesKf$-j$`L1B=S$;`b*(SFxnH|jN1K0N(Ymtp%v3PXdw_+N}Od5|& zp+43GM%Xx;Tk^Xj9%U1GuJ1`+&XQ=c&N$N~%JlR4`m_`~n|!b(BN^CC)o;Cn93`kP z`rmB*vaqX3w%MfPq@)CQ;ml3HW^J zMbswbim`HO`h)!359wK3(uUr82-0!uPTVE9quN?pOo z6*)As4YxnN`g6w{2Ux|KWe~qOC(69oP0NA5#D;!_JxHZU<|KA(=0}a zUay!VrGC+(BV~=@?MX4vABNF8ZDZSNX=AbRUOezmQZ<>c(flXOJ3@Rnv2~RCF4v9i zwSGT+5(|r1401k8+p1lgY%mXe)^cDrW8K-vfthvbZBZaQc2+%?a+f%-0FK%BOa-I+>Q_Uk>9&D9}BuCoK6q2PdF?-{0N zDpMcdWyb#5GMgWwn)(r^jeNqWF)pn<;Lb}RRa-n7JnvUZrQ_Uv@{+eBEZA(NWPK z-@o5s9b;t@#Ksl!d?L9;Jbmd?x)+Vlp8BL<<> zW&?fl3(nD$!=((4$CVwsv7Dsk^XktNF)b_Vx z>4(h3jf4PndsWYA2%Y8kgh|(P3>5qhBCfpJdV%UXN*K7_bv>`0b@!-5y@-Z<9TeZ@ zd_qa8S=RKf?773Kbm4-$i3a4)4;G(5Qp9}}koj4*&Kox6Bo4T8|BR!z%7`U?K`A@n zC-9$n$KQ+_Ei5CTXP@Ns-=&r4rIDc7f7t=&>EFk7#HyfOWNfabAu z&~v$C;0i>**p4E$TP)S4-iWWLhL09EToIT9H&laF|DSdfwzCA>4ZG&(czhhcEqd8p_3{1&E4m8Ws?Hd-r~BBhn-Q<) ztO#Fawh!qggAJuAL}b(zY|MRQ!bq;rbn`pdx%`AkR&waXSEJCpSu*OGvz%Ac)%50( zWx-%*y`f~Q&Mx4vVO z6ql=Q`syXML~i1#e%`Kp+dOF*P&rU`b9WB!3ygx91C~mfNW`XImsxhR?iRKP;0!V! z7b?4NIr}Pm>Ne6O^b#lZiUSu2b0I1)xbF#!6{nlLwr7B&XfkJZz{xKKtKQdNeU{pT zQEy{;DJUq45D=90v1yI^74Z@o!!|Z_s~`tKMK18F8tl-Hk8L|&%TVw;-N|CWLfpfw z!3INba!|IZj*fx2K_w_NU;TFTWmS@W?1||kOQ6lR9c4kI^?R})I;3<{QLD3`910{; zAH3T7E%*L=_32sEYS5eIF=4OdTwjA4NHAC;78+liNZ3PjhKJe*31m?v*A}a|5C4R{o*?C$R#0tQT zYD*RXVjg&J=IBiR%Ug^C*`pkM?#XYYqn3X|AxYAR^7ykDKIk>%#*FHja{7Y0H**mr zM8q)>M1xw7<^&u?7yHUhb+#>BUZhk(S05_`PeOo&Oru?`+q<0MhvWUnC$pr`of!Qt z=PbfVhp$rlTiqQ`9%|E-9j@pE+|h1qS@6~jx@%SGbWqTtoZ?1D?DIt!!Rn@L%s?lo zm^ixDRD5xGZKdo7N3v-UArv04keXC2qXZ}0>2ssd3ZMUO-!zWQU#v* zo&&?oUEwrMK@q%dW}ySfVEJTqhwb-LH{! zKFea8)dyyn<(>o`R)Y7UK;Y4Oei0VQ47r;PfeE| z%SuihtwKF*l0E}6XY2lx&Ey5_3H_(7Pt7a4!wo#>Kn)(jj&I0U)@W(*6&-hr|Ew;X z>X^UefmPsLBl9zjod*o-vFeRvw(U0qVaSNaR z(2@T%Svlzxa1$Z8`Qc&GO##*d zBbt(|@kJhzNK;+)p|%_&VkUN}%-r6cK5&Uc6Bn2!B+-ZMS%g)=-|Ew~pD`lj)3%%d za$O_)D~nzF{)eGxuSY!7YUwntXNDIIwlhx~>(?E|B$MqdtGrn3g|WCL*r*fN%Nl2j z*SE=4!nrhvRIoz`^6-ZjWAhOj_lMTDs#89l1NCE?CQE6rKz06V@d8`7}L{)cbtladcKGDkf7XY=94_ zGx0=m_O;Mr=@Pehw>z;~`QR5p4jFamkXZ&?-T`CLJZ{$f`@zU_yTKpqOod@#MUxz# zrF#iInDbhXpZs#d?yyW~*LaHROhQ@Xe`hD5+bR7A0%k+FM z9F$Sh!^!M+dM$6s`nRaMSBf`VqZBamr}ftTCAL3-J`9p5p-A>jJh?y zHhcH>?X#tq&CXyIzTWEo8D~ts6U=;4EPhN(D9<+r{Uk~VknLiM4N#&8 zhW=<4M90ZOQ;-F<2+gf_&L@zk+WLL9>wJ8mizlD}K;ZS81 z(E($`1Tpi+xWJVYMjJ#|v&U>3U-2_v_pHd2@JZX?7Y6GS6|?p3IZmRV4MqRe!Fr6n zLfzdC&Pc6P448Rw*rF5t6xcB0uuYLnQA7x0Y*UDKy`9~s%ZOm#2hOJwW)T1BFxgUj-fS< z2zlwq+TkSH;h!##c~7oqSC0omCf_$U=+F=WwUCPpjJGqNn@&ZGE2K;w>oOpZ?|`=5 z6cD3c=+=v>oV_hrHQfpUFh1uiFz<0m!Ghs$$Fd6hk)h$;UZ<+~_ni)(Guul0O2knc z|BFwS#s%?R7vi(~mHi4DZD{5E+7cC|5$N_7M7(sNQd4{f8b%@8hs`Om^P8(5+U>u6LS0+@U7OKr?tZP2e$u(K_w5fs`|?r8D)zT6+>UiZR-!m2@Suue zA+s&auYui70HRJOQwWg|4o0`zz^AL;K!sR z1bL&PN#NL{=;p6`hKXM1b5JR~m5aOX!D-^;hv+EHAi{n0>1_h@$XFbh7l3Ut)8-T1 z5M`^2o29{nmb*wSxCEfEl%9(+Uwi=BSt~rmC4Kv>>Q^v12j=aY>VJiczd3UG#CE!mk{z z6`v445yw{1dL+m|&G&8x;d*IVL#>RASOf7APEC%AbNj>x&&kTwTa5YC2pIAEGtXIr zIUmnCB2LmDWC18@$-YYX(Z<73)^hoBhx8)0 zl>Wm1QBJA_d%j=OCmalDX=%|WCMEzBm#XnN-I*7xe%iRR(Cof$dVF;_g!)=i@)t!$ zL6NQ1yh;sd@~oJcm^+9=} zm)@RZm~1qt>FhxDmL+Y~6L%Xvv$hV;FVLv4bE)LHk)e>{MG=!@N>KtyEq)PG`XDfe*Oi(V zK7+e~c4n7RvISpM;b!&F6>6?e|B@bKJLSjZ9e2lXzC-ld5 z

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%0Aph}qQYN1U2_^~hH-8clS)JL2T_ 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 pQsvtlCqi=T!hwj!yG1fl@ouO;vr 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

nBbSrMA`p9_>NJ*bx7j%52I9i?M#X)l6th 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%0AKjqI0FCTt!-Q43}(8nT~Dg8-@ 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 z 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c716936886215be76acf8a40b9f9af83399d4f GIT binary patch literal 11100 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 K&F#c6q>(s4qy?n=Tle>S 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8cf216dd92adcc8595efe09efa97e55441dbb5 GIT binary patch literal 14121 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png new file mode 100644 index 0000000000000000000000000000000000000000..595f6e383d4fe98bb0e3da0be361d19d9b37e93e GIT binary patch literal 15320 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 Iq|8444=Kj2`2YX_ literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png new file mode 100644 index 0000000000000000000000000000000000000000..a05e66102f0885279484fe44b57d0bcf5cdc2fe9 GIT binary patch literal 615 zcmV-t0+{`YP)8lACuZ{GW~aAtgt_Jzwm_ug~9=f^!q+Q9*j+!zc71Ey(4 zOw)`6gTa8L#{cNjlDhKV0?e`-PI-ATE2+h6TPNud zFbCket_3*nKCEzi;!Q1?RhH)@HB_BXO-JB;FID$%SJ#-$uCctd?ri-nIlz*nCUtgp25Jfh zz}Wp12kRS?GmMu!?_C)jyAVZ>4jJ)NB|=sH>}MxVyW1*f5Ncq~`r}{{dCjTkVBVou&W)002ovPDHLkV1hZ& BDKY>6 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000000000000000000000000000000000000..ad020bd627ae56f67e269ea1f3c1d0c267a92e3a GIT binary patch literal 17510 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 KMNUMnLSTa2snhfT literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000000000000000000000000000000000..9676542b527370b844fa6dec5026f14a8be05dac GIT binary patch literal 19669 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 b?IY|@6AR;+7TfA_00000NkvXXu0mjfCdcuN literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png new file mode 100644 index 0000000000000000000000000000000000000000..8f59f153d8680edf44db1a85be811cf08d28dc7a GIT binary patch literal 22320 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

wegLt11A4GsMyQY`@D&BtWTZ>>?N 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 RkGi+PZTpjtjRXD zi80yT;C|3ewq?^r!`2!Se5<9}bz1A%wIdQoP*ZDNEF%UnGeg!JGG~ ztZC#I+Z#C5a>G(Q1k+Zt`j}Q5sHmt|;^x@PB2Gje11?&n)3HE+9lMTGu<~{CpWVso z%D-aU=q|gh-gd!yekCH~L?q7QMe5zu)Kq14Q1+++lrm{LeT~oj9emJqji*a%Syb{0 zFTPwyU%wFr3v~WKN2uH7dl*0g96We%o7>+p5?Rpy0m8OQ+rtOl101Tq$OjFV_;>5~ z{B}<>Z@u>!y?rVQc>6&QZ=Aiz+vmRq;M+SP{&3(E?%wOxKp6N&L>{wvB2`sYKePIV zVfmwI>Shzlu|&rv9a-Y4m1=B z)ki$gDpsW(*KgcLM3^yW8QJ;kn3c7H1xwa2Kkp?(gromF4ZyxXpL2N{S<6Z(4G;_l zKXjnLC)P{at+1o3o6o=dFWL-~Jbf;+=C5GJoMlX(k;AjAwlF)Zm}#lmWaqCXIW3!Y z)$cQHW(oW1&RGhzwZW2C)sOc{0-vdDowFcRC-~{P&OG(Qpq}aPIssfv< zcQYkr0hxm8j@O7+mr@`VFcN}aW8AGP4_^!9Q7<~@qm{hrL+RZN~T zb6C%2XDwx3&I=@YW?-j?nj4nV`}gm+IMBAXwhwI^0Dk#eBk%m_QvjMye@SA}bTV^S zF>m2=2NVtu?e8y^?_lOUFP>@hsNJ<60K-rY)E49S`x_i+U0vOqR)2M`vzMuvGE2$Lf6n>chFXU}c<>{ zGz^s1&Kat8Ey@5qW;Jz*ulfd3pJ6!!WLnW+EAeakZ?hY`2J{{I5U} zdC2q>kH@pNwzl@&=H}*)gTbJ`v$OMZdwaY8b%7 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png new file mode 100644 index 0000000000000000000000000000000000000000..814124fef5a3e69b07ec4d49515146c70af797c5 GIT binary patch literal 1804 zcmV+n2lM!eP)F<7l66=NlgnxIlEN@6ru@!s9D`|BU0g38Lu$ADcx5BEk7uxrz%O*4Y!8Y=D+5plU(NkENnc3syE zUDtJ`l&<=rTQCB|)VN%(B;TAvCf~AUO99XYV49|>l+sPpG!4T*DTS^plu{Um;WvC^ zEfHNCHf$&us)$e#k=EAMrvME=DW&@oDCNIMrHlb0`eT)Dg=t5R9xe9e2!;?5k#+0V zeG||D(=ZGbjQF$9dpXqd3GUlo=h3Fs?VuADuXh!7D8$;-=20IpgIm2V;& zZD+fAa@kH6Ecqh~m)CN!>!#Hk{pC>B@Nq&}pI^<&%1X5P23QaL*=jUBko*g`2Y^?9 z(?UVfFUg$wGV@AbqvDNYRw4{snNm-ERfD5Go?FYSpS-%PQ61Y<(Z!zT;(I zQ#*feKF7)S>pZdK_v93;VQ$ezUf+Jgalpn0-Jf#m+NaL^POpY(_T>i5l9G~XzTBZA zB1);6z}4FVuJyRtz4tUbceir>;tkeT9^u8cP1Mx2J0y0~e{%B+)*WkO{Xb4~^-eDU zzuR$weSd3rT4LI(h$J?ezBEb)NU! zxy!Z>&+*2ok8pc60FE5{nA2ywu^a~YJS8P%w9^0;6&3TX)f)r0Qjog-_@&JxBu!vM zR3gJ8;s_rxig^o`4u~5B2Egjos~0!|jvqf>4w!+>7p$qWbH7FCeGz2k7Lz-38M!l; zF*Sb)QL$-6#f)|0{@roi&n-KjuIoBrHa0e{cLba{bEe92U|{!qH7?w^1;FCc7YPd= z#f*X%7(4D!B4fTmAI_@EIW<1TP`0+fk=sC_`xJ>u8&-lseEkwp7lRe{m zB&X#wyYx+_&RxTbHSY#>dyDkdc@pK19| zI?sItXqu)2W@TmNFB}1dg@p?NOw%*~Ui$d~ViGc0|Jo4%rsU2eb^L5{XD%l;A)Qra zTL-vw@bF1SMkg~he<|rXMZ}GH$a&{`PGD`rS+iy>_B{)dfSXpl3Gm)OFF6U~6CWl$ zr-9zp-M|4X> zQhZNBX=`hHyDwPt>w}Az{>zBS1YD0VCDT<*O#B2QBF7*i#3$TO%D9P$2*V>{h>CrH z@sk!Xea`cYh)QB-?You$4d2`c4<4*@xJyb(LPbR4VOisZ}+l!YYk&l(uqq*CpO^`ezx&VKLJ*5!o$PoiipE4(sy$m z*3#1A{15CSd|TCCM1*Pih4ef4|FP`3HHZjBB`f-BYMS=Ng#G*XH`shm0|549Ja8Sr z>(vZ^Q>V{S{LBxX(?N)c$mr3d z7u#j9cZCgI*9kl;g4_cG4Kc7v8xaxllrL8>goub_XJ@~Fb#^PIbgx$ndIKJ8*md`5 zXqAzXvEp9jej?)H;!1&TD}kwLnlcQ-9D)E-(=_`c3eX)H8Ts9zlKY7ektvOhjSYd8 zYMQ1rO;ftAD_z%>J-6(3P*+#iAR<$~EP0@a@UXD3MfLUd4Oq9Pd*DWWeSJe{Xy_sl z3ID3(BI0za-L1n#Wb(v`6Q3%t literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000000000000000000000000000000000000..34425001189d119ee17b2a6428e6ca2032d16219 GIT binary patch literal 2447 zcmV;A32^p_P)0=%cZynLp&xqlQ~c6RnyV5gNyRaHgPG)>oaUDGtYHRGA4s;UB5fp=zS zXOA`3=!q|PgexyEe+;+;peTx}X`0#@P&b;YD2i%8UfQ*5*JIYTdSZSeBEWCWEgOn; zSX5C}R8>P&H55hd7O0^p04*&ozw4=zZQwLbQvt8X=+(>IW4hCHKm}-QZ0t6quZT!V zNy($eT8cL~w_@&-I`-A~tbKVeYySEPrTb6y2-5IN1z_8@ZS$-Q-poftdaYi)dNgpw zy@sZBGBE(Pbqze6v6V-ke23JWLS|&V!N;X1-8*Y{+^VIun@ktg4UAo)?z}oeDdE|+IlJLNvuuXq~xjBVA^ZZ9%RqVjC z6f-6|Q|_y;FY@0#CpdWc92G|{;9OorO!6OyzIP3eJn{j40<2%Z{vmHi?IR++fKuE!&Z~NgqOq^?8@9fEfNg~bIbDC1=U&>wjD-cve*Et| zFRaNwE@b? z%Kl;i`iXJ0y>MUZX6Sa68rs+wN9%}*{}ufPgy7#dh=Bef^a%)L$gpv2D)?8cnyN-a z%XQChZ-Jw#s`=-^HEY(i7AP}j%m~G(O1ipR+uMd$3lR~9jz}OnaXvOjI`LC7usNKJ z9)BMq!pu229mbhJog{C7=BZPs-tLKzg$oxtOdsej+`GlQ5D_L$o{P=l#O82vXM8H- zZL^8BJF(fFOu9Q0Uq64c7e5cc;#D7zvAl@$7u*$^s&>2@F^Y|$ zA$)PP&a0o@5f;Pf3BShXNFy}NLFTg8`0_-9=eajPvm9HsYE>&>dV2aCLvFP*pF2?h zJ!hJ)v3UI_MBcNEsQ6h789terbC-JhD2jrv>$Diry8Z1E`rkU7$#*YeWJEF%6Q)?; zyq9LCf)76U;G-VE>C>m*V~o?SaNFOjVcq76HlQOSr!p$?Ug8|-+!_?l%YXZad!Vkj zsdfO)p1Z(++eWy9#*t2M|3J$29Rk4RQo5>eu-R=M91IP0WRw|tGR9P7-H>Cq7xSoow$JUw%Pn*@Muq; z_BEq<)ot9kaf64=xKbn{A|ly1|4s^d7(ObF@Te4GlF~dmF8t01@bwEoL(R^ZEdv0lJxP6h-C6 z4Y#1Wt`j(DBopH1U~@RReUtTY?7rnl|zEVW|%^E>Gq#}}#kdS7&2Vf2a;QY4@ z1P&U>#L08GBNV9;1LY$`MWUDn`I0U{$K z)2&Qa^AQpM^XJchVhmQzT>|XeUxSF?cS~Ph%-hliLf3U%E*CDBVl)>PR|cT0;t+#^ z!w?actjO~KTGy(suKrX+0;Jvd9}yArs6|93NMe6j;;;p&|%@c^WMjRJFy#)s{vO@eqTLLrs;Vf8V)`4vWt+|R zjEMBP88|DXpNLGWtgPH^bsm??rMlm*v`(vVP1AHmQ8cS!02LJ#yG3N0{6wFI&3Dw` zh=_=sfw zfB*f@rKF@h7ZVfnR7gn3JP~mieas;6`B}hz0Mu-zznXs4=K0Nn{U1?j=}3!Kuk`=` N002ovPDHLkV1i_)$$kI; literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png new file mode 100644 index 0000000000000000000000000000000000000000..745b4b4744fdbe42b478e36b6ac4f8e1bef5d45b GIT binary patch literal 3188 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 M07*qoM6N<$f*QJ$$N&HU literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png new file mode 100644 index 0000000000000000000000000000000000000000..5e49f4c8b3bb758e9a9434b691ea406432bf9e91 GIT binary patch literal 130724 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

j3)Sg&3w>w!l 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

WEcl4p;g_Dk~8yfptOL{15*hE{lJ?PC~Ol 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

LOZ-6#wFqD&=_yziBjLoku^X0Fq!VI@mS+;TyV zE?~Z)$xENtHM+(KXA?08m_9OPGRUsR}9yvDhgxj4s^XzZ*EvDmS&pco+|7wyr~ zle@x2#eQR|BStBBW`XSSM7gyGncmh?f|G8{a{0A(K0w#?KYw0%>F>W+pja=~X4_pk ztDgYL1&rp&XY*&`@HX1T`rweUwsy6IwX~X`=mV|Vv=OpuQ+GP{L2QWO`<{E9R!qxV zi7I-3jLL^lLG?|3>b7#vQ5chAl;k7VjW7CJ>+B%pFHi(x8E+-nhyYJFw_6yn+*nw- zXRJKkF>hgV=Wqr!z{8c$G1TnKLB=i7HVTr z@H&SeT}r^r7H5ou03LM>g+K7-KR-h1S3cqHlCsmfczKD1jbUTbBaoXqbw;OM)xUti z`?S*5W+!o42*tb5=Y>L{22@`Z4%~5s%z*<34serhPF1gIr|+2l_iCW-O~*K?X(PQ* z4d73xuRX>pc33{fL^@}50bWIr#>uA{&LwdR-n2Xq<{qYr{{fkhb-=Rh1T38-SL{`& zX#y{Fc+_bFl9AC-)73kvE2p?KQbWqe`FVNg4Xpcpw+P%OEI7EH^W8NXprAX5T>b_M zyK}!8&{&+qXqksUmIZKL`^iqNwkLq~U z-Yozu9`68NvjJ)`D*TJ|CX&J$AcZ&Gq#Vi-wQM_(dnL4boCtE?V6p87BKQaBttULW z6*#^oeAWjKa+2+ls;cU*Ne$Sqz&O8^QgNn#w2{nE_4zX1eM|D@-eqEnJX;3m1NYA7 za*cmV{jF5DGvVhM(rjd|1OcOo994FLEUWR$$n=Nb+y%XB6u_qUm^)4)hi_q26MCZJ zx_J!Pa}eo}E+q}Gm5`J#HZ^8B|E>t%(m{jB-f|REZ7UyRbZI$oIJIZh_Ful?s|y8R z6EctW+a_WqHP1oUO?%gvmK&~iw3>WLa^h!1JbWjCDh;QlSBDzE< zd+t6#3+at*V(rjFHQ?L-!lCX1-AI~2K6%e=C%Z13?=+|(|37P9S9fDlI2=f7Iii8B zqR6cybNMD!X9s)}Rt|D_=|YFqHgev2K{P!7qRdE&Wgv)6Q7$&Pr9!eG!@89;53-Ha zLNp~ELz4(43i)@S8udqKN8YLTXKZb2rKF{W0fe84#^LS*)}lXvc^)n3b249=XAY)s zIQa0B3KXl?%u**;0lQ9y)q@9ZN)U+0Q@d7wmst_0)cF1T=Fj*cwcdciI4(LKGMfLT zZXr}VAq2}X)2gni9QA1TkkyS@Nr4A`ItKS8&P|4fssR(B`V}l^6o^n7^*9{4#Z8DH zw$9Zn5?jUzD_(A!D5hV%6p}a=sMUO?^UXtKhSQ!A?;7mFA_vh7AGQ-;{1zq~0yNgS zal{?xX_e6@ejyR=;TlfeGKa6?6L03V-UD0KTk+_ z55;f>`su5%tc}BvK8Y3p#xk)AD6{S3-yA&w!ASb1#dlVbrXn(I&l)bgml|B>GspR? zK^(`Nx4+{tio9EJ|Kz|hqY7KX;5Q^dgM$apAJEsor~`d2R6fr)15@e3=?=@l!AM8W z+YQ%2<`|C3pLs;=S7d3?Vveuy%noRF7Ip}gJkafQ`*ugz{SXVK&&A-RWLucBV*vVW zrz=-(4+99-_I)}&!l%~wA~QNNy0Gm-^_l7Fv(fq!JQGFG{-L_?WZE0CI;~Ug#(9=~ zt@=+1Zx6<1(eaXf{w9_b7#?+xzgXAb22G91rYkRu5p}G}Eq?M4yx1PL4LX9th57j} zSSi0J=I6OYSOmA8sZBDf3;`-wKtdx8Kp|Va0T9tFpwajOS`G1Kq-24#W|kHP@>uS6 z?$XmG2S9<|w8s7E#EI$yP+^V?mYwqA#VyjdL*};MzY9rHxT=c4D1eu#EJtKA-n~0+ z&Iw%xkPLpZb44yi=X$DXr}jj9g;a1LCA6l=FloBrbJy>pL;zaMxRCD-k0D^0yjZ(1 zPa>W1@vJDd&ASJy`;pcEGa1IlQpi6B6(;z*)A9-mL!04b!hq@5l@%4K*c2p#%?RI7 z+Iw%PI4Uo6aBuW)?GDfBvsC_x8RKVaT9MJ&*LxSd8&g_-tzJ?e z^xjvejqGY*C0@{K=*2Q@LtLQlyGD%iizM-?A872`$VlLj`FJ$rfg)GMsknD9@O?zr zhWvJv&}4v{YsYq+x%wa7hafSkIZ^ypH6@$@ztt<9Dw^s<5A&@;it zsiF*|k)D(>Qc?$R*!XQwV_hT}CbeP1PYalAH>j%SNJ6zb_vN-&4ia#}lP9Z5*$XFR zwj`|$@`was!KXCnt7rS8VLl(LF38@6#>UyzH8Tr@r^D8Wa)^MZZ+YdZ7k_SIIo$sk z5G}~U$MS5uy8tkd|HD-?9dXaWJvb=WYGimHJt_#oJpJOgnqC)08jVVd!m(G(7~#+n zow_SDliKLo%i!%hkKs87`SHBTsM~?T=cS}?EDvt|I2vA36uOAPk0e`b4n%(xbCEqu zITb#oSs`2~F~dWI2ra{CYk>*(NpnpI&9;%xm-H>Imyhq7n9CZ& zgpMa$G@q%_s&;&&8McGe2%-kf4%aLic1;JRg#gTnDzxHf_MhRXlVjoCD2|34)XvFm zJuBEQ^0ABp()pXEzv^uODv|53P-~%kZNK2h5qX!_kv}Fdhnn{C>`$2o-|hkKjhb$S zPG`P|-=I7k^x>1^>1Q^X!EX2i#at)3x+on(!4m!@WhpSq7(Kps&nOy%y$eb$6Tm}2X_}87KVE+lqXZo7 z?G?8{7zbrW1vun7rVN&4@5HJ~SF@_UD0$ws!)R=Dx}_vfAFu7ooweQy<2jH6!De28 z(MMXOjz1R@KR&|Nk`5jz2YxJN@KUl$O6h8_k)vIGM>-ulLERLi*2=mv-cwzU`7w$A z8ncuxk)NIfT^+D3ZVt^}R>xD<=9$U=ik~bIzUM=A-M9n zfG$b?vEDbtwoXEL!`dUpu^K|DH~RK#YJU5>LB!C9nK&qgIvT3GLKLTgDA1}AN;^6) z&j3@4;vtcrE@%u?#l@|(;FnBC;owYmy2GS`?h5LKp-->{Z-n~5pLEDKLGPMC#d{qo zLsI5hgV{FIsDQqcFBfB-x?hord%d)D_w&R=VOuQbfa@iU6m8?D7OeIT{A5Bo^A7** z`Y(}fqdbt~j6^8HKH?`G|D1z=ewUP#gnfT$YBXBjZisgN zq1W6G=r9vBQVKoTe(Ho{kdC<_d*0yO?gg&WI0rClJ`HZELr^jnG{Dy4 zT?}R6(szD?JtGac>6SOa!C-)5G&cuFcw2wJN=0E|#}>Tfz`uCPN&q5;PBEKHsS^hZz6D$?%ob{$s(pg?%9pF8xG}X z<;hQOm;R{?eH!}((NBvd3B#d!aTtK`KNq=FA=3fVEJ`q`$!7+I!V0oCnFif%0QKJR zXDoS8psIRon}JF#86i-g2H95^NVK;g5TgLEE$&!CqGp9s>Gy{9>jk9nLyn4HFCh`T z4L|dc?g`>f3gXfwe**d0iExp64-$|F{9KwD?Ys$V#waNMM;5tWS%2{n_apFZ{^Zho zf3Q44i4}Lbly;@>$ROD0bU>Z=NI7Z-X3ivnK>gcCem)G)v?PaVe~t&aPmXU za_|HO)7@dr~8qgi?O4Cix#K20a*KRIJA*ODkKmbHiw?8>4Q&-3&1jYxDS?ARh> zXv2g>3gfgCO`xJvlG9?`J*c?d>G^`8jDQ*ZL)@>L6T8NH`@CJAwjO|h;cJxe)5(aH zG}Yd?ev!QQ5&CnsccPJt9d8$8Fu9ntUX2;wkGA>6r%GQVfM`=}l1 zEgy!6$re#CEe~Nu@3TF?qfDaj%Qij{HMrI8v{Q2D>hC%$0-dSg6fU4lcsME>4)$7l z)a_I0p0z_h=sq?*(4|6@%A>pfeqgc9NZi(le;6;Cc^2mrqc9^AF@1fc5kl-Pa^}h4 zULMtLj(xSsoTQBT5t#sGu+wX@HxWB6$7>7}aLgxDp!xJ3z$?l4g1*s`)U*hbYf*wv z!TLk~D?Q}nbtiwzT92MscVo=!Qh^6{SDe;u5B<36J>XQLVG4T;%5N>Cav|hL+px0K z|8Vj+1$t^24czh!Wu8DcC5@tF85+0_d`}THaFLOj)KVzIK>F;DH9F)l5-Lg`g30zK zlo?fX=%$B;>G?EHcyu%_tp3KiPNbqo@?7+6dGDZ?n*sIdID6c5;IqGp(Ua``0{}L7 z=LZx`De8_qiU^vw@(s;czS@7i2HoN1ovT@4WAAX<>GqhgV{_VQGkcLq*=9NNMh0pT zR}M~ZZ*NIb#0Aaz`YWQhpNISF=sJi{W@~%Qs($az=eOkO`6Cp#?ygYJQVL^#qfi?x zjq!#uS{^`{CPzkA?Y+HCpET1Xg}iTFWgsd~v6@*6Vy@r`C70n-7HhPmXZJu4pX6+N~g6QlkRt>j(stm_WepM|%_U`1eu#!3F==Pn68n_}PH+i@V; zr#*4wOoYA9e{95j$CmKqD)lbS_v1`@<&2|B`BoaYq?T9dGo9C9%(GR!+$qO__@-GE zK>5zA14oLW{hieV^6IL6isugK$z0z0JiuO5&b{rMvw)kU*#XWI18ceDrOzlUSFXJ& zBwLO7CD(&-ZC(`f=`T6YciRHs>^uMCcU{A*yHhHwjfo%VGY+ZTB1wUY=8hr$+2cu9 zZ#`T&JmK8R50qJ2TDt#)n#Yj+*o@m}?Tp-s=ap8a!HqL)yL)TqW|<=(yl0)J0`xUrZyAFs43=v$6!y6KOGnlZyX{ea z@WJp>%u(EC$Obmq@BoWiCmU<_Au-Voy~QJwSVPmJ{ifBtx<;L`M^p+t?kAMr$ruMi zB+`1`jLtT`adu`ndHKI9B*5nL8uDPJCmv7DRRI ze`MM`DQEbiQ$y8sr`>*Nm$_9{SrH?4fUY0F+Xi^cz)WX{1tVs6wF# z_44x4qJ-%0?;qvk;}hlM;}eMzq=$z`gsZD-q>GD7l(VyQ6#CWK**VI=!J*&pu~tI_ z7S^c+Y-!S50S`QXkzKBD$*iTIet_UQCJx}NBQK0N6UChQ}pegXmlg1f|TDF%iz zR%okLfEWUtB~XC=1p$+ezz17kWNjZ{BEul8FbGDo=cs>;QRLR&)98FW?x6M={?1^3 z|9|l{`u!c$HlV)_^m{77tFT_ZmA=R3@2xaGwphmp(E9hFzfvE4KKSXLe!^#>_6Hl= z`z=YIfPjF2;8$WOo&vUt0c5R8ZxPUo0lZa!3kjV8O+Nsb+Xi?+z*rQ3J4J^0Xj{LY zIbaa`p$&*gcYvl7kipGhK{+9Y4JD8v(qMtUKT7J<8eA1M#>XUHq-z@RF+aLU&sMUh zCww}cPw(U72_OHA(dSN2`gDpP@9Wc(KAGJoARr+49dS3F0;nLcr5QjEb(|fbyAR@C z15Ek>)H1NP4Jc8eDQUwB2SX&U-Vw-+} zQ}DLF4*DJ#MIVfQ9)UoB#_X69ydUi~+Dh_xqQ4{AV^qEiqVxHDz6A6oeWpG>KBLd% z%7-U>Hn82(zni5zqyQiwARzdiF;s?t-Xg%+0b2|Ky(qwo0b6YYCUGHN7%;UE@WQ|g z^qJB0D-x*I0%|WPu{Hy0H4GHE&%uC!(eDF=A4bok@TF1pKD5_@ULXFNnJ9exJ)?{D zY|;66(x)eTTPJ+{lz+Fjyd=RB5D*aj$+(*q!B9nn^kRU{5Fq-PNk?F-DCnmtz{Q4` zHvtNF6u>rvfZ~oqVSw-*VhrVL(UZCtU^v0!uZ8v+6}UJL+}X3YmF#Wx?-89(KjGU- z`UCaz3B^x9KtS*p#$Y3bwtNO`F$DN@0i7kl3j(|-U}6jK;y^-C*w$78)=qE*12YIH z+!?}yA#DBsyZO6J-wXd)7*Fu%^`O^>QTHgp+v?fVseJVQ;-h)=(><=%AIb@zDcO_J zJpuv(g1-R<8!a5_WC2rQfKM4Pu?2$_1x&1gwKxC+FbG(t>i{nZ25TYM zDiG+*0bV5Fg#s=}#6vnzP;A2;G1$MOe;?34snbvJ^aPK;Hm1}3U=%(*;nP+6^khGn zVt+7dpA-ND1OxuOab0TzzYPr&HyhG=)uG)Ffk0jHf()ey2>68 z{AZ>ocU+i|Gg>IYNi)5r4ewuetn_yhz51O)vsSTeX94FL)~Nim&P zSwo0{+6s8mvkq+5%v(7^>D_u%h8^3W#5m zz=x8|hca7#w?PU30s;a8f_oZ+C9400-r(27V99#09{aC}Uz5m5f+rv#ARze5n9)}ARr+4OM(;tqyQiwxF_-dxY>GAyTv~X00000NkvXXu0mjf DM$rC` literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png new file mode 100644 index 0000000000000000000000000000000000000000..0ebf1bca72d80e0f2b46239157afe6b7644a05ae GIT binary patch literal 3723 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 AB>(^b literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000000000000000000000000000000000000..1548951d5b6ae3e68607ca125a28669fbc00c582 GIT binary patch literal 4046 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 A4*&oF literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000000000000000000000000000000000000..ed940869da6577b80ca47b23ab16e9a940084d6e GIT binary patch literal 4238 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce4a868ebb9f95026181d17736eaa9f4459a050 GIT binary patch literal 4708 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 mz`#KFn3xzhen#`sRQx|X#Q;;RHIv@}0000& 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000000000000000000000000000000000000..9d0ddb0b3201019df0999a6a0ee5fac8b72f8e81 GIT binary patch literal 6175 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 xe*&61YxzGmbR%}Aqfbq@Q}Dm zX;>7;*2fQEq9D5qDza%nKvWhZn;JDHnkXV}xWI+PB}SvUZc!6Wh`Sh-xaAsejMpV9 z5fD+M5=D(bT-ZTSP*HXU(4eBubkG0&(A`4=Gs7Ub8kqmsehe1)m=mM zKl`sUEh5q;A{`A5ZT|fKnG(|?4pJ-PKsCp-`RnM=e=%?Ys80QVgoK2&3J(vr3=0c$ z-??+=h>D7e;5&Ej%quJ`{IZ~+;OoM|!Y}XKxihb#q9S|2@#DuUJT)dJrcZWu_C^4=#T2AcshnXL8N)CP z%d)JTHJ&fXXk6Vpei3tz9lC1foz)QE@(Z-!wG19&R( zPL^d^MpKAQJ^1S~GMS7OL4L|GOn5{@gtt&PzMg*@O;$inNJ!|#vg|=YKUtOq!!R!l zs5;PmuTbbT%d!U(5)yhTtM}__t%!(xe0=nBa&lGzs1Y=jWm)EB0#$P`B8{%e$;nyi zG?ogvoC`2=b92Lg z`spVFar<5w*!}zWcLk96ckxzrUJO9+;y<@++0yk@0oEZRx^(GM4*)j>u&)|WOB}M= z(e7qUOpN`@2CPj)6c-m~58$3KXtiVm8HNSJFpx0}7>0QjkYxZMm&*%|9zE(PZubiZ z%S*wHmIf<8Rc5l63|TbL-CVbBo#l%LtOY=8#*7(yg2uKi*t$^vs(y-6$s;^_R`+w} z)d0R67#P_0MTKcv62L+faqir?rD7f}VLC)a@$vDV0G( zvm+6*=>kG`Bw)qn3;1gNIjr4w39GkU!dL6#F#4mtI2D%*K00}saOL3gBhL;VJUD>o z(ro?J3JD3(_VMx21CYvl4BG;gRR98j#H0fFO+AQZp>bHd?Gl3LAH~2i-=qKN&3MoM z2Yj*mcdXfZ3IF`&Gy>*C*7^QR^k5bMo;`b((X(eyeLgSTEP2o&BKqsEzrJk=ovkx4 zF|{ezZ#JIC)CDnEw>=&+7RSJC*cy2G?Lhx=yU=fB82XRigpiHr@$Kdd7(e3(E?v3H zY12!NAOv|xOiWxY=JPzJO+*wJ80Y}tQFG-$uv>Slkd$78YiY$u&niXb{TeJ@cMj7Q z#vpV@B0iY16CS=>G1z}M-kGo)gZy{n?GHC#>cVKO-=2UepGDz7WO|d}GAs+Zs1D5l zEXc#-L4yW4i8(dN1krx@@Zmwe3qE(gK(M6rVq8fn!i`%MxN)ljH*Z%UJFf!q*%kO| z(*-OGjl=LMJK^EG4TE^NgZ+2o?GfMMqXp3j-I0KRIZ@bmB&|ts6}?4XcY)%0+QRT! zmYA4$gh;V$)O4@iwQH9L-xb*A%0W(^1lQ7vkawpNmoDey#P2t7A>lS|=T{-=)&rcn zR*a=<&mwScBwXHKjRE6!;hhP);o-Xt9wS4sEHn-)!v4VcPmbV1;vEjIOg&t|3aTIB zVnGSc7nC6GUNMqOD*-7a_H*5=o^MNGq>GLUB1_^NSRK8PWOGkDlUst_0b6 z66EDqDFrNe@8!#vqnhfy+C)Ttetu5iRuVK`EL7FNhmW4&YHA^J@+3HVG7HhaW#L3@ zHjbakM&yZ1aF|OuqO%gL(U-dheRw3jl;r~u~->)5o@=_V|i#C{60Q_gVC8h zSoInU01ux@aVEbA8It>m%DabcsX6#}dM*-+B}gbL!?n^1#kIJ4KE>sfLL{dbBk}4z zB&8K1HLFw^U^%$(?5UTRmvd9RSBHqGva)gm*Y#x0%FO~m%@ZjuCl}!6tqR1P&c?6D z(s3d-8xb)Xh&q{x+jlB)uk<07ZoG)GQx9X|s^1Z^@d8$b{eiF6$6?O0-{AMrL2URT zzE(dqfP16r0TPPKaVEbQ-(9A6TPufq9)(mFbvdrN}kjA9)9Eei*Z zq~Q1Sc}Pw#hNSXQgE9s0J$?H0_hN49OpAzU=+L1?;FrH!V!{9b$r;7S%qd4|RtX}G zXX4jmX*hB$14-#c$j+4@CszWNm1EnU%a}6fC??H{#Kc(<@SpiBK3))w)8}&)5TsI> zMv{srYDFXEav(cbg7oWUc=+fU)EW0sNL|o^=iaS;g!A`GaHX^Y z->2jtEIAt+u3bk&?p>smRpO7rvO3qgSNH%|(~59D{tlu}Wa4si0WPN$;&BaEhx$n) za044=&z?O&6Ytd_A}T2<*$qJ6k_m7CD3d(IpGgI{np%YPtWsP}Ekfe80u+nDil@Ya z)zmyiQc4caUATrn;!|EoVPt9r17k}VnpnZ4eK&OK z>IBb$e)#VD0}VX6{-AdDZV}>m$d^kb9AHUh189O(-hYg8$wSmUd8Q65SpG{-pFX|Y zzkh!dF~|C*O{7>Fm$#H8C<9#IWFpX~0EnwQg2J@G0u5-=$<>fzkhz!YnT(5Y5swdAHoTsXe>e|9P zgd70IjvYHx%u%T%{P^RK^LY<=VQXSy?Giskx9F>_c(aWmI-0wpkH;jqc?ZGSGXTz> zQ_#nw?&0jofp+x{guSyb+8TC&xm7QuXVwmUf=np0#_FeOQeG~X%K%{R+__76jtw7W z74$+XmHxt4?1e9ni@^?jcLG}LnxNO)6X4<%*Z`)w!`U+ceftN)%5E@Py`hI4yN)yf zEUPCw!je+69ffz_3l}a#sMXyWGiJQ;^y$+i{?4*53v6$>&)2a>DZTyeo`f_>whaSa{n+KTTN8rrN%(UR(;5I4;v(G>O+!BCPydNll=HYoid9=KV&>xGn7QO6LbqRn z5UMt_ox+`~8a8a$TgnDCEh3_&OP9I>kTML@Vv`4T_K&HHp=ZzuefzfzSTSHn*D+}I zhAs+=xL9`FjKlb3@kuOR{W}(|ip8{rF_d|?@~EAE5kyXfJFShRXWS0jCO@d|*OcMx2?0^#Nz1Q)MBIC};( z`W-8~!RXQR9qioqCzgMA0kfB#z<|-4Fwk!k=C3$|sS9GTc~@ey;PSnY1psSnYhN+X zI&fF4SP=lUOg|&9AVtv4#w?m(ZSpq-Ftq}C}bC}DKPIo5buor9{>I&72cyZ!qayP+t7NfqP(#w_?ZI+#1d#Y;WdPL^-Oz}OrEhD^lLueW2zt|QpI?H5d&6@u>eUeGr( zhh6UxD!so~KYuv&n+%6RYw-Cur!YKl5BiM^gZs!Z3>m+bgS))>aOHA20|4vRty`!P z?%A_v7xQqRE5;Sj?toPWb3crU!ht%rT@kqzLwcm<%XVP`B{8de7+%d(J4Wspi6zPV%XGyq+! z-IV|ifK%Ub=;aZN9`CHfoNrEJ(~o~*;mTNiH2)Za=ha3NEdh7arcK|flZ7SCh0Dn0 zh$|>XnxqQ*uir*kN)C2sAB@)_FYKhJJ}1d#+;P%HI_OnQ-Hpa|m$1`|i81 zRl+@e`t;o9Xs!VG&*E}Ll4N_@4Sb)RgHv~lF?`Wp^!49@;R{d0dGIVay7;1xM}Q)H zvh6hj7B&0Vu*%@-=+ z&Ye3qi1!v&lZ!Ge3z>|mJ@|BC<&&rQ?M@+*%PNsvR)Nf_2Z+llgxi?ac=z+;7#O?@ zJ^GBO(|9-UAQ+n3AawIS0NkufqdJJZ*RjtK*x0|XG=gyP3Pgu4&hYb}-6B#@?N`&1wS7FMptt*E7@An3gkRTc%xmj=FaXS5v;n4Oj&M^lDRK6g0!P=eFlle2(Cwy_ z(a6nZ0l?PQcC0eET0}(CrcE0FK+1cLO2Fde^0l;L96XwVGw1UffR-{W%4?p0k;^f7 z!dI~O{0I&%zHo9ITL-MOX8`PakAn4E?$6~_0<66UPr}gD2Cm-9rNPxJ5c)=z*uL{u zu71+y!)0q{Xw1-|Lx+laD&PXp8aZ;LE%@95%d$%0iaqx0&^Y+djKH*oF$kO+g`j^P zMdkgPIvxxFRaJjMPrp6vdw+;t{U+4`TMKt2-f|ewEVvOzs$;uQdM8*dDJcVbIQ zgCe)!=;+u}8C)S%W(43GUnr|iOvsLdm|cm<-ZkvT5LbMFUApF?wf$9;-Umi^%Bts1V2S0D_GEfE=gu0^Cl z$mhn#$43)U>-u_2L_~uI4QfS1v}x0(C0wCWwQ%RJ;NW_UTn~32G2CM)sRy@{xg+eI zM>mpa351zNU-(U^9nDz{!X%-0$mMdh>-ZLWx{XzvuW;)h1XHt~m_93nE2Ej33qDeq zF=IxE$VnTRHW6t}nlx!R_|Z?<#e|Ihz9VUvG%FIHEjx+#CvC^%&yL{Jr6)00Bntp= zEjb&8CYFt6vABp~651M=AuS`9_g+RV0CB>7V&DR_>(mo&YP?p^cPqOgaDIEZ;=9ev zh{*xS`}XbYOSLY%vcHumqKlet5k8zhx-&n5`7GMTLIGJs%L6~B_`d&-e1#j;_S^jo**X!(gq12Xqy$!l;+r#PY2^w8rq3?#BartVd;^sXMTw!Lm zZ{NPdM5N2}Q)#V;NPF6}X#qeZv96j)gcz<%zYk&6V+dR{kOgtbWMe-RZ4EoYKVUwt zT+6Cc#^c9NuzTMz^mKj~h9*|%)z4q!Yje8$5%dhrvF%^s&ka|+tnTgYJ(X&AhEi!- z#Ep2}!9Od;s)%<5iIDMcI&$5X|6KGOf@L>1*!A(zNOS9ZS09hb=w#U!CLP{_)m!dx z=sg5IoZdmFuDxO0-WE0v@1bx1;HF>OI}q(V_rfQ0R)BY+=YcEdzk82}dJxf@>Lfw1 z)eQ*NjY&ge15Ht}1STE2qqn;}W!#tR*~^g&yr zu4t{>4sF_Ygi*Wh=w#uBuHE{>#{PXc^&JlvuRx8Ke}tZ4ZsU#jM+A#{-19{VYuB#b zNkn=)+(u1@h+11)TMq*87|-#1t}xhKN=SpgQP)QGmIK2{fpL3V7@AnZ+^P>;-A7>5 zxLKGzZyiEb@4}i5d$2lmH|Z}cz|OHh+8TC-t<#4Mat*@Ld&e%0sCmL|7^P`A zCdz`z3=9nXNP{S$zG)FrTOw+goSYoNH;`?jCSl>1TVT?`zD|tm;uQ$H-acrf*A4^U zoq$`n3+sSkSuR%~#I>3U2j0sO_aTXp16A1naOnEfrb zuxJ1AIv}L7#-A3~{#fyux*IK$gC|BtMq_!0(`}B|3Z~89r4F-Z z&00}g7tP*Y6ueZhm;Exds(MvdKh_kiLJr1^8MB6nI`BMNY(tAy{6#I};^Lx&Itkz! zshCEMcv*+|6@kX;ByQ)vefy3PkriwfSaD+7R{qM{t)CJJ4Mi)mllCdN8M)Q*TOh{!WJIXOW9%xXA`d)*E`++qOW z;>C-95|KCGzIOBi2C&Ag6>)def{1!YMn)=j_Tjh8e&xV4J;YmY|NQgMM~SEp-!9Wv z0agLn$jHcqh%AZ7cEW@SE5YS}{}x^>_ErFoeSCaY6OkPeSsEJ~3p21+x>0c};u08^ zL}aC_t2;g;BO^&1O1_4W#ZZxwl9KY~n{Q4aE{?V2+w;miw!Uc-k)E!ut~qfPbe=YC z+IQf79OHF@Tn8$E2SGtWn~2DTIL9z2Zpr4A@A_QdgvHJFL}Wum){`u!9eSQ6jL}W`G)UNcJ$v|VKO`I2)5+@TjL}c5# zb?Z@IeDTE(5{abY!@QhF3$W!Z%gWVFokjnXGYli=zsJ<`Pyj$xRaM@C1q*)A(a{-2 z98?>=UZ#9KUppDl#B_+8i?^d%$lZv@!`az+*4C|C50#gf=hf3eu?eX@mOn>0gwIsH zG0jv}Rpo8pzWtE1v-4~s^5DxAptd6}W%yeDE<{sInAPbLH?!+XwGFi;B6mwm%K%?r z-&KbW9XgtsnVHJ6Y-v56R%g!ulxAgRr5-+fINHz8Z?&bRWdLzN1uyN!mn-C9|5iU4 zqlpQ>&i5t}8R+ZlcO)+C=|;7%dk`1E53;tl_P4XMo9^J?FmKqfVatPpg4Rr*K7CzK zP|%tWKKNj{gM-6A?dYo;I14wJ)8s1J% zPp=DcUA7w$b*Eb3Vp!d&?#-~N_qi2+op$_nThnVW5qMQ5>;bMr{1cYMEma#5*M&Q@ zZQIt2xO87<;*uzxiKsLGc?bSHL;icM`RnM2uKhm~nE*xn1D~ykgC-oUME}#K*A(Rc Y0fO)IOi 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 U%_{~>rvLx|07*qoM6N<$f~c6B!T Date: Wed, 9 Dec 2020 11:25:23 +0100 Subject: [PATCH 010/522] feat: reconnexion to the sensor when connexion lost #3 (#13) --- .../.flutter-plugins-dependencies | 3 +- .../lib/bluetoothDevicesPage.dart | 18 +- apolline-flutter/lib/sensor.dart | 218 ++++++++++++++---- 3 files changed, 180 insertions(+), 59 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 7acabc70..e9468871 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1,2 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-08 18:08:32.620037","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+6\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-0.0.4+3\\\\","dependencies":[]}],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 23:03:18.265418","version":"1.22.4"} + diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index b818d112..c42da6e8 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,7 +1,6 @@ import 'package:apollineflutter/sensor.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -import 'package:fluttertoast/fluttertoast.dart'; class BluetoothDevicesPage extends StatefulWidget { BluetoothDevicesPage({Key key, this.title}) : super(key: key); @@ -28,7 +27,6 @@ class _BluetoothDevicesPageState extends State { bool timeout = true; Map devices = {}; Map pairedDevices = {}; - List alreadyUsedDevice = []; @override void initState() { @@ -52,9 +50,7 @@ class _BluetoothDevicesPageState extends State { void showDialogBluetooth() { Widget okbtn = FlatButton( child: Text("ok"), - onPressed: () { - Navigator.of(context).pop(); - }, + onPressed: () { Navigator.of(context).pop(); }, ); AlertDialog alert = AlertDialog( @@ -94,15 +90,17 @@ class _BluetoothDevicesPageState extends State { /* For each result, insert into the detected devices list if not already present */ var subscription = widget.flutterBlue.scanResults.listen((results) { for (ScanResult r in results) { - setState(() { - devices.putIfAbsent(r.device.id.toString(), () => r.device); - }); + if(r.device.name.length > 0) { + setState(() { + devices.putIfAbsent(r.device.id.toString(), () => r.device); + }); + } } }); - /*setState(() { + setState(() { state = "Detected devices:"; - });*/ + }); } void _addWidgetDevices(Map devices, List l, diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 4ce79ec7..aa7a2995 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -12,6 +12,8 @@ import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; +enum ConnexionType {Normal, Disconnect} + class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); @@ -28,8 +30,17 @@ class _SensorViewState extends State { SensorModel lastReceivedData; bool initialized = false; StreamSubscription sub; //used for remove listening value to sensor + bool isConnected = false; + + List subs = []; //used for remove listening value to sensor + StreamSubscription subData; + bool showErrorAction = false; + Timer timer; + ConnexionType connectType = ConnexionType.Normal; + GlobalKey _scaffoldKey = new GlobalKey(); RealtimeDataService _dataService = locator(); + /* Called when data is received from the sensor */ void _handleCharacteristicUpdate(List value) { String s = String.fromCharCodes(value); @@ -57,43 +68,122 @@ class _SensorViewState extends State { }); } + /// + /// + void handleNotification(BluetoothCharacteristic c) { + subData = c.value.listen((value) { + if( connectType == ConnexionType.Disconnect ) { //tester si on est dans le cas d'une reconnexion + connectType = ConnexionType.Normal; + showSnackbar("Capteur reconnecté !"); + } + + _handleCharacteristicUpdate(value); + }); + + /* Now we tell the sensor to start sending data by sending char 'c' (?) */ + timer = Timer(Duration(seconds: 5), () { + //updateState("Starting up streaming"); + c.write([0x63]).then((s) { + print("Requested streaming start"); + }).catchError((e) { print(e); }); + }); + } + void handleServiceDiscovered(BluetoothService service) { - if (service.uuid.toString().toLowerCase() == - BlueSensorAttributes.DustSensorServiceUUID) { + if(service.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorServiceUUID) + { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; /* Search for the Dust Sensor characteristic */ - for (BluetoothCharacteristic c in characteristics) { - if (c.uuid.toString().toLowerCase() == - BlueSensorAttributes.DustSensorCharacteristicUUID) { - updateState("Characteristic found - reading, READ flag is " + - c.properties.read.toString()); + for(BluetoothCharacteristic c in characteristics) { + if(c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) + { + updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); /* Enable notification */ updateState("Enable notification"); - c.setNotifyValue(true).then((s) { - /* Catch updates on characteristic */ - - sub = c.value.listen((value) { - _handleCharacteristicUpdate(value); - }); - - /* Now we tell the sensor to start sending data by sending char 'c' (?) */ - Timer(Duration(seconds: 3), () { - //updateState("Starting up streaming"); - c.write([0x63]).then((s) { - print("Requested streaming start"); - }); - }); - }); + c.setNotifyValue(true).then((s) { /* Catch updates on characteristic */}) + .catchError((e) { print(e); }) + .whenComplete(() { handleNotification(c); }); } } } } + /// + ///Allows you to give information when you are unable to reconnect + Future showInformation() async{ + var text = "L'appareil sensor est soit éteint ou distant,"+ + "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;"+ + " faite un retour en arrière ou fermé et réouvré l'application; " + + "sinon contactez l'administrateur"; + await showDialog( + context: context, + builder: (context) { + return SimpleDialog( + children: [ + Text(text), + ], + ); + }, + ); + } + + /// + ///Function to be executed after a connection + void pastConnect() { + isConnected = true; + setState(() { + showErrorAction = false; + }); + subData?.cancel(); + handleDeviceConnect(widget.device); + } + + /// + ///Function to be executed after disconnection + void passDisconnect() { + isConnected = false; + buf=""; + connectType = ConnexionType.Disconnect; //deconnexion + timer?.cancel(); + setState(() { + showErrorAction = true; + }); + showSnackbar("Connection perdu avec le capteur !"); + } + + /// + ///Display a snackBar + void showSnackbar(String msg) { + var snackbar = SnackBar(content: Text(msg)); + if(_scaffoldKey != null && _scaffoldKey.currentState != null) { + _scaffoldKey.currentState.hideCurrentSnackBar(); + _scaffoldKey.currentState.showSnackBar(snackbar); + } + } + + /// + /// void handleDeviceConnect(BluetoothDevice d) { + var sub = widget.device.state.listen((state) { + if(state == BluetoothDeviceState.disconnecting) { + /*TODO: detectecter quand cela arrive */ + } else if(state == BluetoothDeviceState.disconnected) { + passDisconnect(); + } else if(state == BluetoothDeviceState.connected) { + print("--------------------connected--------------"); + if(connectType == ConnexionType.Disconnect && !isConnected) { + pastConnect(); + } + } else { + print("--------------------connecting------------"); + } + }); + subs.add(sub); + updateState("Configuring device"); List services; d.discoverServices().then((s) { @@ -109,13 +199,14 @@ class _SensorViewState extends State { try { await widget.device.connect(); - widget.isConnected = true; - } catch (e) { - if (e.code != "already_connected") { + isConnected = true; + /* TODO: voir s'il ya possibilité de négocier le mtu */ + } catch(e) { + if(e.code != "already_connected") { throw e; } if (e.code == "already_connected") { - widget.isConnected = true; + isConnected = true; } } finally { handleDeviceConnect(widget.device); @@ -130,23 +221,50 @@ class _SensorViewState extends State { @override void dispose() { - sub?.cancel(); + subs.forEach((sub) { sub.cancel(); }); + if(subData != null) { + subData.cancel(); + } + timer?.cancel(); super.dispose(); } + /// + /// + List _buildAppBarAction() { + return showErrorAction ? [ + IconButton( + icon: Icon(Icons.error), + onPressed: () { + showInformation(); + } + ) + ] : []; + } + + /// + ///Called when press back button + Future _onWillPop() async { + Navigator.pop(context, isConnected); + return false; + } + /* UI update only */ @override Widget build(BuildContext context) { /* If we are not initialized, display status info */ if (!initialized) { return Scaffold( + key: _scaffoldKey, appBar: AppBar( title: Text(widget.device.name), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { - Navigator.pop(context, widget.isConnected); - }), + Navigator.pop(context, isConnected); + } + ), + actions: _buildAppBarAction(), ), body: Center( child: Column(children: [ @@ -157,26 +275,30 @@ class _SensorViewState extends State { ); } else { /* We got data : display them */ - return MaterialApp( - home: DefaultTabController( - length: 3, - child: Scaffold( - appBar: AppBar( - backgroundColor: Colors.green, - bottom: TabBar( - tabs: [ - Tab(icon: Icon(Icons.home)), - Tab(icon: Icon(Icons.insert_chart)), - Tab(icon: Icon(Icons.map)), - ], + return WillPopScope( + onWillPop: _onWillPop, + child: MaterialApp( + home: DefaultTabController( + length: 3, + child: Scaffold( + key: _scaffoldKey, + appBar: AppBar( + backgroundColor: Colors.green, + bottom: TabBar( + tabs: [ + Tab(icon: Icon(Icons.home)), + Tab(icon: Icon(Icons.insert_chart)), + Tab(icon: Icon(Icons.map)), + ], + ), + title: Text('Apolline'), ), - title: Text('Apolline'), - ), - body: TabBarView(children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(dataSensor: lastReceivedData), - MapSample(), - ])), + body: TabBarView(children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(dataSensor: lastReceivedData), + MapSample(), + ])), + ), ), ); } From 376cb02df7c5cec148ac0fd363c183c289551398 Mon Sep 17 00:00:00 2001 From: GDISSA <47599833+gdissa@users.noreply.github.com> Date: Tue, 15 Dec 2020 15:30:36 +0100 Subject: [PATCH 011/522] Feat/change map (#16) * feat: change map Co-authored-by: Gdissa Ramy --- .gitignore | 3 +- .../.flutter-plugins-dependencies | 3 +- apolline-flutter/assets/night_mode.json | 162 ++++++++++++++++++ apolline-flutter/lib/sensor.dart | 109 ++++++------ apolline-flutter/lib/widgets/maps.dart | 144 ++++++++++++---- apolline-flutter/pubspec.yaml | 2 +- 6 files changed, 342 insertions(+), 81 deletions(-) create mode 100644 apolline-flutter/assets/night_mode.json diff --git a/.gitignore b/.gitignore index 4cb3307e..8d9350a7 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ **/doc/api/ .dart_tool/ .flutter-plugins +.flutter-plugins-dependencies .packages .pub-cache/ .pub/ @@ -887,4 +888,4 @@ DerivedData/ !**/ios/**/default.mode2v3 !**/ios/**/default.pbxuser !**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages \ No newline at end of file +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index e9468871..3f3dea06 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1,2 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+6\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-0.0.4+3\\\\","dependencies":[]}],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 23:03:18.265418","version":"1.22.4"} - +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-09 11:54:05.460130","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/assets/night_mode.json b/apolline-flutter/assets/night_mode.json new file mode 100644 index 00000000..1f16e003 --- /dev/null +++ b/apolline-flutter/assets/night_mode.json @@ -0,0 +1,162 @@ +[ + { + "elementType": "geometry", + "stylers": [ + { + "color": "#242f3e" + } + ] + }, + { + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#746855" + } + ] + }, + { + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#242f3e" + } + ] + }, + { + "featureType": "administrative.locality", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "geometry", + "stylers": [ + { + "color": "#263c3f" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#6b9a76" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry", + "stylers": [ + { + "color": "#38414e" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#212a37" + } + ] + }, + { + "featureType": "road", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#9ca5b3" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry", + "stylers": [ + { + "color": "#746855" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#1f2835" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#f3d19c" + } + ] + }, + { + "featureType": "transit", + "elementType": "geometry", + "stylers": [ + { + "color": "#2f3948" + } + ] + }, + { + "featureType": "transit.station", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": [ + { + "color": "#17263c" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#515c6d" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#17263c" + } + ] + } +] + diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index aa7a2995..e319937f 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -12,7 +12,7 @@ import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; -enum ConnexionType {Normal, Disconnect} +enum ConnexionType { Normal, Disconnect } class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); @@ -32,12 +32,13 @@ class _SensorViewState extends State { StreamSubscription sub; //used for remove listening value to sensor bool isConnected = false; - List subs = []; //used for remove listening value to sensor + List subs = + []; //used for remove listening value to sensor StreamSubscription subData; bool showErrorAction = false; Timer timer; ConnexionType connectType = ConnexionType.Normal; - GlobalKey _scaffoldKey = new GlobalKey(); + GlobalKey _scaffoldKey = new GlobalKey(); RealtimeDataService _dataService = locator(); @@ -72,11 +73,12 @@ class _SensorViewState extends State { /// void handleNotification(BluetoothCharacteristic c) { subData = c.value.listen((value) { - if( connectType == ConnexionType.Disconnect ) { //tester si on est dans le cas d'une reconnexion + if (connectType == ConnexionType.Disconnect) { + //tester si on est dans le cas d'une reconnexion connectType = ConnexionType.Normal; showSnackbar("Capteur reconnecté !"); } - + _handleCharacteristicUpdate(value); }); @@ -85,28 +87,35 @@ class _SensorViewState extends State { //updateState("Starting up streaming"); c.write([0x63]).then((s) { print("Requested streaming start"); - }).catchError((e) { print(e); }); + }).catchError((e) { + print(e); + }); }); } void handleServiceDiscovered(BluetoothService service) { - if(service.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorServiceUUID) - { + if (service.uuid.toString().toLowerCase() == + BlueSensorAttributes.DustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; /* Search for the Dust Sensor characteristic */ - for(BluetoothCharacteristic c in characteristics) { - if(c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) - { - updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); + for (BluetoothCharacteristic c in characteristics) { + if (c.uuid.toString().toLowerCase() == + BlueSensorAttributes.DustSensorCharacteristicUUID) { + updateState("Characteristic found - reading, NOtification flag is " + + c.properties.notify.toString()); /* Enable notification */ updateState("Enable notification"); - c.setNotifyValue(true).then((s) { /* Catch updates on characteristic */}) - .catchError((e) { print(e); }) - .whenComplete(() { handleNotification(c); }); + c.setNotifyValue(true).then((s) { + /* Catch updates on characteristic */ + }).catchError((e) { + print(e); + }).whenComplete(() { + handleNotification(c); + }); } } } @@ -114,11 +123,11 @@ class _SensorViewState extends State { /// ///Allows you to give information when you are unable to reconnect - Future showInformation() async{ - var text = "L'appareil sensor est soit éteint ou distant,"+ - "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;"+ - " faite un retour en arrière ou fermé et réouvré l'application; " + - "sinon contactez l'administrateur"; + Future showInformation() async { + var text = "L'appareil sensor est soit éteint ou distant," + + "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;" + + " faite un retour en arrière ou fermé et réouvré l'application; " + + "sinon contactez l'administrateur"; await showDialog( context: context, builder: (context) { @@ -146,7 +155,7 @@ class _SensorViewState extends State { ///Function to be executed after disconnection void passDisconnect() { isConnected = false; - buf=""; + buf = ""; connectType = ConnexionType.Disconnect; //deconnexion timer?.cancel(); setState(() { @@ -159,7 +168,7 @@ class _SensorViewState extends State { ///Display a snackBar void showSnackbar(String msg) { var snackbar = SnackBar(content: Text(msg)); - if(_scaffoldKey != null && _scaffoldKey.currentState != null) { + if (_scaffoldKey != null && _scaffoldKey.currentState != null) { _scaffoldKey.currentState.hideCurrentSnackBar(); _scaffoldKey.currentState.showSnackBar(snackbar); } @@ -169,13 +178,13 @@ class _SensorViewState extends State { /// void handleDeviceConnect(BluetoothDevice d) { var sub = widget.device.state.listen((state) { - if(state == BluetoothDeviceState.disconnecting) { - /*TODO: detectecter quand cela arrive */ - } else if(state == BluetoothDeviceState.disconnected) { + if (state == BluetoothDeviceState.disconnecting) { + /*TODO: detectecter quand cela arrive */ + } else if (state == BluetoothDeviceState.disconnected) { passDisconnect(); - } else if(state == BluetoothDeviceState.connected) { + } else if (state == BluetoothDeviceState.connected) { print("--------------------connected--------------"); - if(connectType == ConnexionType.Disconnect && !isConnected) { + if (connectType == ConnexionType.Disconnect && !isConnected) { pastConnect(); } } else { @@ -201,8 +210,8 @@ class _SensorViewState extends State { await widget.device.connect(); isConnected = true; /* TODO: voir s'il ya possibilité de négocier le mtu */ - } catch(e) { - if(e.code != "already_connected") { + } catch (e) { + if (e.code != "already_connected") { throw e; } if (e.code == "already_connected") { @@ -221,8 +230,10 @@ class _SensorViewState extends State { @override void dispose() { - subs.forEach((sub) { sub.cancel(); }); - if(subData != null) { + subs.forEach((sub) { + sub.cancel(); + }); + if (subData != null) { subData.cancel(); } timer?.cancel(); @@ -232,14 +243,15 @@ class _SensorViewState extends State { /// /// List _buildAppBarAction() { - return showErrorAction ? [ - IconButton( - icon: Icon(Icons.error), - onPressed: () { - showInformation(); - } - ) - ] : []; + return showErrorAction + ? [ + IconButton( + icon: Icon(Icons.error), + onPressed: () { + showInformation(); + }) + ] + : []; } /// @@ -261,9 +273,8 @@ class _SensorViewState extends State { leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { - Navigator.pop(context, isConnected); - } - ), + Navigator.pop(context, isConnected); + }), actions: _buildAppBarAction(), ), body: Center( @@ -275,7 +286,7 @@ class _SensorViewState extends State { ); } else { /* We got data : display them */ - return WillPopScope( + return WillPopScope( onWillPop: _onWillPop, child: MaterialApp( home: DefaultTabController( @@ -293,11 +304,13 @@ class _SensorViewState extends State { ), title: Text('Apolline'), ), - body: TabBarView(children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(dataSensor: lastReceivedData), - MapSample(), - ])), + body: TabBarView( + physics: NeverScrollableScrollPhysics(), + children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(dataSensor: lastReceivedData), + MapSample(), + ])), ), ), ); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 75a8cf03..aac8ac32 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -1,47 +1,133 @@ -import 'dart:async'; - import 'package:flutter/material.dart'; +import 'package:flutter/services.dart' show rootBundle; import 'package:google_maps_flutter/google_maps_flutter.dart'; -class MapSample extends StatefulWidget { +class MapSample extends StatelessWidget { + MapSample() : super(); + @override - State createState() => MapSampleState(); + Widget build(BuildContext context) { + return const MapUiBody(); + } } -class MapSampleState extends State { - Completer _controller = Completer(); +class MapUiBody extends StatefulWidget { + const MapUiBody(); + + @override + State createState() => MapUiBodyState(); +} - static final CameraPosition _kGooglePlex = CameraPosition( - target: LatLng(37.42796133580664, -122.085749655962), - zoom: 14.4746, +class MapUiBodyState extends State { + MapUiBodyState(); + + static final CameraPosition _kInitialPosition = const CameraPosition( + target: LatLng(50.6333, 3.0667), + zoom: 11.0, ); - static final CameraPosition _kLake = CameraPosition( - bearing: 192.8334901395799, - target: LatLng(37.43296265331129, -122.08832357078792), - tilt: 59.440717697143555, - zoom: 19.151926040649414); + CameraPosition _position = _kInitialPosition; + bool _isMapCreated = false; + bool _isMoving = false; + bool _compassEnabled = true; + bool _mapToolbarEnabled = true; + CameraTargetBounds _cameraTargetBounds = CameraTargetBounds.unbounded; + MinMaxZoomPreference _minMaxZoomPreference = MinMaxZoomPreference.unbounded; + MapType _mapType = MapType.normal; + bool _rotateGesturesEnabled = true; + bool _scrollGesturesEnabled = true; + bool _tiltGesturesEnabled = true; + bool _zoomControlsEnabled = false; + bool _zoomGesturesEnabled = true; + bool _indoorViewEnabled = true; + bool _myLocationEnabled = true; + bool _myTrafficEnabled = false; + bool _myLocationButtonEnabled = true; + GoogleMapController _controller; + bool _nightMode = false; + + @override + void initState() { + super.initState(); + } + + @override + void dispose() { + super.dispose(); + } + + Future _getFileData(String path) async { + return await rootBundle.loadString(path); + } + + void _setMapStyle(String mapStyle) { + setState(() { + _nightMode = true; + _controller.setMapStyle(mapStyle); + }); + } + + Widget _nightModeToggler() { + if (!_isMapCreated) { + return null; + } + return FlatButton( + //child: Text('${_nightMode ? 'disable' : 'enable'} night mode'), + onPressed: () { + if (_nightMode) { + setState(() { + _nightMode = false; + _controller.setMapStyle(null); + }); + } else { + _getFileData('assets/night_mode.json').then(_setMapStyle); + } + }, + ); + } @override Widget build(BuildContext context) { + final GoogleMap googleMap = GoogleMap( + onMapCreated: onMapCreated, + initialCameraPosition: _kInitialPosition, + compassEnabled: _compassEnabled, + mapToolbarEnabled: _mapToolbarEnabled, + cameraTargetBounds: _cameraTargetBounds, + minMaxZoomPreference: _minMaxZoomPreference, + mapType: _mapType, + rotateGesturesEnabled: _rotateGesturesEnabled, + scrollGesturesEnabled: _scrollGesturesEnabled, + tiltGesturesEnabled: _tiltGesturesEnabled, + zoomGesturesEnabled: _zoomGesturesEnabled, + zoomControlsEnabled: _zoomControlsEnabled, + indoorViewEnabled: _indoorViewEnabled, + myLocationEnabled: _myLocationEnabled, + myLocationButtonEnabled: _myLocationButtonEnabled, + trafficEnabled: _myTrafficEnabled, + onCameraMove: _updateCameraPosition, + ); + return new Scaffold( - body: GoogleMap( - mapType: MapType.hybrid, - initialCameraPosition: _kGooglePlex, - onMapCreated: (GoogleMapController controller) { - _controller.complete(controller); - }, - ), - floatingActionButton: FloatingActionButton.extended( - onPressed: _goToTheLake, - label: Text('To the lake!'), - icon: Icon(Icons.directions_boat), - ), + body: googleMap, + // floatingActionButton: FloatingActionButton.extended( + // onPressed: _nightModeToggler, + // label: Text('Mode night!'), + // icon: Icon(Icons.nights_stay), + // ), ); } - Future _goToTheLake() async { - final GoogleMapController controller = await _controller.future; - controller.animateCamera(CameraUpdate.newCameraPosition(_kLake)); + void _updateCameraPosition(CameraPosition position) { + setState(() { + _position = position; + }); + } + + void onMapCreated(GoogleMapController controller) { + setState(() { + _controller = controller; + _isMapCreated = true; + }); } } diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index eb06da87..06a6200e 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -27,7 +27,7 @@ dependencies: syncfusion_flutter_gauges: ^18.2.55 get_it: ^5.0.1 mp_chart: ^0.3.0 - google_maps_flutter: ^1.0.3 + google_maps_flutter: ^1.0.6 flutter_launcher_icons: ^0.8.1 dev_dependencies: From f06d7c8d311b80e1d07bc226730c46df5376c841 Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Thu, 17 Dec 2020 22:53:55 +0100 Subject: [PATCH 012/522] =?UTF-8?q?feat:=20commit=20transitoire=20-=20cr?= =?UTF-8?q?=C3=A9ation=20d'un=20client=20influxdb=20-=20factorisation=20du?= =?UTF-8?q?=20bluetooth=20device=20-=20encodage=20du=20model=20au=20format?= =?UTF-8?q?=20influxdb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.flutter-plugins-dependencies | 3 +- apolline-flutter/.gitignore | 890 ++++++++++++++++++ .../android/app/src/main/AndroidManifest.xml | 1 + apolline-flutter/assets/config/config.json | 6 + .../lib/models/sensor_device.dart | 27 + apolline-flutter/lib/sensor.dart | 11 +- apolline-flutter/lib/sensormodel.dart | 60 +- .../lib/services/influxdb_client.dart | 66 ++ apolline-flutter/lib/utils/position.dart | 9 + apolline-flutter/pubspec.yaml | 2 + 10 files changed, 1066 insertions(+), 9 deletions(-) create mode 100644 apolline-flutter/.gitignore create mode 100644 apolline-flutter/assets/config/config.json create mode 100644 apolline-flutter/lib/models/sensor_device.dart create mode 100644 apolline-flutter/lib/services/influxdb_client.dart create mode 100644 apolline-flutter/lib/utils/position.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index e9468871..ea2ed695 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1,2 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+6\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-0.0.4+3\\\\","dependencies":[]}],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-11-21 23:03:18.265418","version":"1.22.4"} - +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-17 22:47:03.734141","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/.gitignore b/apolline-flutter/.gitignore new file mode 100644 index 00000000..4cb3307e --- /dev/null +++ b/apolline-flutter/.gitignore @@ -0,0 +1,890 @@ +### Massive .gitignore taken from https://github.com/flutter/flutter/issues/13892 +### Flutter Generated + +# Miscellaneous +*.class +*.lock +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# Visual Studio Code related +.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.packages +.pub-cache/ +.pub/ +build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + + +### https://raw.github.com/github/gitignore//Android.gitignore + +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + + +### https://raw.github.com/github/gitignore//Dart.gitignore + +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map + + +### https://raw.github.com/github/gitignore//Global/JetBrains.gitignore + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + + +### https://raw.github.com/github/gitignore//Global/macOS.gitignore + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### https://raw.github.com/github/gitignore//Global/Xcode.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Archives.gitignore + +# It's better to unpack these files and commit the raw source because +# git has its own built in compression methods. +*.7z +*.jar +*.rar +*.zip +*.gz +*.tgz +*.bzip +*.bz2 +*.xz +*.lzma +*.cab + +# Packing-only formats +*.iso +*.tar + +# Package management formats +*.dmg +*.xpi +*.gem +*.egg +*.deb +*.rpm +*.msi +*.msm +*.msp + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Backup.gitignore + +*.bak +*.gho +*.ori +*.orig +*.tmp + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Android.gitignore + +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Dart.gitignore + +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/DartEditor.gitignore + +.project +.buildlog + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Emacs.gitignore + +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Gradle.gitignore + +.gradle +/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Java.gitignore + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JetBrains.gitignore + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JEnv.gitignore + +# JEnv local Java version configuration file +.java-version + +# Used by previous versions of JEnv +.jenv-version + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Kotlin.gitignore + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Linux.gitignore + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/macOS.gitignore + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Maven.gitignore + +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Objective-C.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint + +## Obj-C/Swift specific +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +# Pods/ +# +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/SublimeText.gitignore + +# Cache files for Sublime Text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# Workspace files are user-specific +*.sublime-workspace + +# Project files should be checked into the repository, unless a significant +# proportion of contributors will probably not be using Sublime Text +# *.sublime-project + +# SFTP configuration file +sftp-config.json + +# Package control specific files +Package Control.last-run +Package Control.ca-list +Package Control.ca-bundle +Package Control.system-ca-bundle +Package Control.cache/ +Package Control.ca-certs/ +Package Control.merged-ca-bundle +Package Control.user-ca-bundle +oscrypto-ca-bundle.crt +bh_unicode_properties.cache + +# Sublime-github package stores a github token in this file +# https://packagecontrol.io/packages/sublime-github +GitHub.sublime-settings + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Vim.gitignore + +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/VisualStudioCode.gitignore + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Windows.gitignore + +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Xcode.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + + +### Flutter Generated Exceptions + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages \ No newline at end of file diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index 2b3a0f6d..d5a8dd76 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ + { bool showErrorAction = false; Timer timer; ConnexionType connectType = ConnexionType.Normal; - GlobalKey _scaffoldKey = new GlobalKey(); + GlobalKey _scaffoldKey = new GlobalKey(); + InfluxDBAPI _service = InfluxDBAPI(); RealtimeDataService _dataService = locator(); @@ -49,9 +54,11 @@ class _SensorViewState extends State { if (buf.contains('\n')) { print("Got full line: " + buf); List values = buf.split(';'); + var position = Position(); /* Split values in a parseable format, and send them to the UI */ setState(() { - lastReceivedData = SensorModel(values: values); + lastReceivedData = SensorModel(values: values, device: SensorDevice(widget.device), position: position); + _service.write(lastReceivedData.fmtToInfluxData()); _dataService.update(values); initialized = true; diff --git a/apolline-flutter/lib/sensormodel.dart b/apolline-flutter/lib/sensormodel.dart index da9870aa..7e3f4684 100644 --- a/apolline-flutter/lib/sensormodel.dart +++ b/apolline-flutter/lib/sensormodel.dart @@ -1,16 +1,66 @@ -class SensorModel -{ +import 'package:apollineflutter/models/sensor_device.dart'; +import 'package:apollineflutter/gattsample.dart'; +import 'package:apollineflutter/utils/position.dart'; + +class Units { + static const String CONCENTRATION_UG_M3 = "µg/m3"; + static const String CONCENTRATION_ABOVE = "#/0.1L"; + static const String PERCENTAGE = "%"; + static const String TEMPERATURE_CELSIUS = "°C"; + static const String TEMPERATURE_KELVIN = "°K"; +} +class SensorModel { static const int SENSOR_DATE = 0; static const int SENSOR_PM_1 = 1; static const int SENSOR_PM_2_5 = 2; static const int SENSOR_PM_10 = 3; static const int SENSOR_TEMP = 17; + static const int SENSOR_HUMI = 18; static const int SENSOR_VOLT = 19; + SensorDevice device; + int _date; + Position position; /* Values received, parsed through a comma-separated string */ List values = []; - SensorModel({ - this.values, - }); + /// + ///constructor of senorModel. + SensorModel({this.values, this.device, this.position}) { + this._date = DateTime.now().microsecondsSinceEpoch; + } + + /// + ///return the temperature in kelvin. + double get temperatureK { + return double.parse(this.values[SENSOR_TEMP]) + 273.15; + } + + /// + ///return the humidity compensated. + double get humidityC { + var divisor = (1.0546 - 0.00216 * (this.temperatureK - 273.15)) * 10; + return double.parse(this.values[SENSOR_HUMI])/divisor; + } + + /// + ///add one row for one properties. + String addNestedData(String propertie, String value, String unit) { + return "$propertie,uuid=${BlueSensorAttributes.DustSensorServiceUUID},"+ + "device=${device.deviceName},"+ + "unit=$unit value=$value ${_date*1000000}"; + } + + /// + ///Format data for write into influxdb. + String fmtToInfluxData() { + var pm1 = addNestedData("pm.01.value", this.values[SENSOR_PM_1], Units.CONCENTRATION_UG_M3); + var pm25 = addNestedData("pm.2_5.value", this.values[SENSOR_PM_2_5], Units.CONCENTRATION_UG_M3); + var pm10 = addNestedData("pm.10.value", this.values[SENSOR_PM_10], Units.CONCENTRATION_UG_M3); + var tmpC = addNestedData("temperature.c", this.values[SENSOR_TEMP], Units.TEMPERATURE_CELSIUS); + var tmpK = addNestedData("temperature.k", this.temperatureK.toString(), Units.TEMPERATURE_KELVIN); + var humi = addNestedData("humidity", this.values[SENSOR_HUMI], Units.PERCENTAGE); + var humiC = addNestedData("humidity.compensated", this.humidityC.toString(), Units.PERCENTAGE); + return "$pm1\n$pm25\n$pm10\n$tmpC\n$tmpK\n$humi\n$humiC"; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart new file mode 100644 index 00000000..691cb2b2 --- /dev/null +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -0,0 +1,66 @@ +import 'dart:convert'; +import 'dart:async'; +import 'dart:io'; +import 'package:http/http.dart' as http; +import 'package:global_configuration/global_configuration.dart'; + +/// +/// +class InfluxDBAPI { + final String _connectionString = "http://192.168.0.33"; + final String _db = "apolline"; + final String _username = "test"; + final String _password = "test"; + + static final InfluxDBAPI _instance = InfluxDBAPI._internal(); + _InfluxDBClient client = _InfluxDBClient(http.Client()); + + /// + ///private constructor + InfluxDBAPI._internal(); + + /// + ///factory + factory InfluxDBAPI() { + return _instance; + } + + /// + ///write data to influx database + write(String data) async { + client.postSilent("$_connectionString/write?db=$_db&u=$_username&p=$_password", body: data); + } + +} + +class _InfluxDBClient extends http.BaseClient { + static const OKSTATUS = [204, 200]; + http.Client _inner; + + /// + ///constructor + _InfluxDBClient(this._inner); + + /// + /// + Future send(http.BaseRequest request) { + //request.headers["Authorization"] = "Basic ${CryptoUtils.bytesToBase64(utf8.encode("$_username:$_password"))}"; + //request.headers["Content-Type"] = "application/x-www-form-urlencoded"; + return _inner.send(request); + } + + /// + /// + postSilent(url, {Map headers, body, Encoding encoding}) async { + http.Response resp; + try{ + resp = await this.post(url, headers: headers, body: body, encoding: encoding); + } on SocketException catch(e) { + throw Exception("server is unavailable ${e.message}"); + } + + if(!OKSTATUS.contains(resp.statusCode) ) { + throw Exception("Server not access with status code ${resp.statusCode} and body ${resp.body}"); + } + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/utils/position.dart b/apolline-flutter/lib/utils/position.dart new file mode 100644 index 00000000..a06bec31 --- /dev/null +++ b/apolline-flutter/lib/utils/position.dart @@ -0,0 +1,9 @@ + +class Position { + String provider; + String geohash; + String transport; + + Position({this.provider="no", this.geohash="no", this.transport="no"}); + +} \ No newline at end of file diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index eb06da87..c3ec2ceb 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -29,6 +29,7 @@ dependencies: mp_chart: ^0.3.0 google_maps_flutter: ^1.0.3 flutter_launcher_icons: ^0.8.1 + http: ^0.12.2 dev_dependencies: flutter_test: @@ -43,6 +44,7 @@ flutter: assets: - assets/sun.png + - assets/config/ # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From 6a1a88778a013eb076467684321ed0090b8d83c6 Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Fri, 18 Dec 2020 22:19:45 +0100 Subject: [PATCH 013/522] feat: add configuration file for flutter api #6 --- apolline-flutter/.flutter-plugins-dependencies | 2 +- .../assets/{config/config.json => cfg/config_dev.json} | 2 +- apolline-flutter/lib/main.dart | 5 ++++- apolline-flutter/lib/services/influxdb_client.dart | 8 ++++---- apolline-flutter/lib/utils/position.dart | 4 +--- apolline-flutter/pubspec.yaml | 3 ++- 6 files changed, 13 insertions(+), 11 deletions(-) rename apolline-flutter/assets/{config/config.json => cfg/config_dev.json} (66%) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index ea2ed695..ebf0aa17 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-17 22:47:03.734141","version":"1.22.2"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-18 21:33:06.620832","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/assets/config/config.json b/apolline-flutter/assets/cfg/config_dev.json similarity index 66% rename from apolline-flutter/assets/config/config.json rename to apolline-flutter/assets/cfg/config_dev.json index 4620895d..47647c40 100644 --- a/apolline-flutter/assets/config/config.json +++ b/apolline-flutter/assets/cfg/config_dev.json @@ -1,5 +1,5 @@ { - "apiUrl": "http://192.168.0.33", + "api_url": "http://192.168.0.33", "password": "test", "username": "test", "dbname": "apolline" diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 8ddb3675..1ccb3bee 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; +import 'package:global_configuration/global_configuration.dart'; import 'bluetoothDevicesPage.dart'; import 'services/service_locator.dart'; -void main() { +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await GlobalConfiguration().loadFromAsset("config_dev.json"); setupServiceLocator(); runApp(ApollineApp()); } diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 691cb2b2..6bfc95a8 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -7,10 +7,10 @@ import 'package:global_configuration/global_configuration.dart'; /// /// class InfluxDBAPI { - final String _connectionString = "http://192.168.0.33"; - final String _db = "apolline"; - final String _username = "test"; - final String _password = "test"; + final String _connectionString = GlobalConfiguration().get("api_url"); + final String _db = GlobalConfiguration().get("dbname"); + final String _username = GlobalConfiguration().get("username"); + final String _password = GlobalConfiguration().get("password"); static final InfluxDBAPI _instance = InfluxDBAPI._internal(); _InfluxDBClient client = _InfluxDBClient(http.Client()); diff --git a/apolline-flutter/lib/utils/position.dart b/apolline-flutter/lib/utils/position.dart index a06bec31..cd268337 100644 --- a/apolline-flutter/lib/utils/position.dart +++ b/apolline-flutter/lib/utils/position.dart @@ -1,8 +1,6 @@ class Position { - String provider; - String geohash; - String transport; + String provider, geohash, transport; Position({this.provider="no", this.geohash="no", this.transport="no"}); diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index c3ec2ceb..bbb65dbf 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -30,6 +30,7 @@ dependencies: google_maps_flutter: ^1.0.3 flutter_launcher_icons: ^0.8.1 http: ^0.12.2 + global_configuration: ^1.6.0 dev_dependencies: flutter_test: @@ -44,7 +45,7 @@ flutter: assets: - assets/sun.png - - assets/config/ + - assets/cfg/ # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From 70d479909c51117a5d350cbda0994ff4284dc170 Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Sat, 19 Dec 2020 13:26:24 +0100 Subject: [PATCH 014/522] feat: add position and documentation --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/android/app/build.gradle | 2 +- .../android/app/src/main/AndroidManifest.xml | 1 + apolline-flutter/assets/cfg/config_dev.json | 2 +- apolline-flutter/ios/Runner/Info.plist | 2 + apolline-flutter/lib/sensor.dart | 13 ++++- apolline-flutter/lib/sensormodel.dart | 6 ++- .../lib/services/location_service.dart | 48 +++++++++++++++++++ apolline-flutter/lib/utils/position.dart | 8 ++++ .../lib/utils/simple_geohash.dart | 21 ++++++++ apolline-flutter/pubspec.yaml | 4 ++ 11 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 apolline-flutter/lib/services/location_service.dart create mode 100644 apolline-flutter/lib/utils/simple_geohash.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index ebf0aa17..0ef04220 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-18 21:33:06.620832","version":"1.22.2"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-19 12:53:29.824768","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index 10462ef3..d7c0f74c 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 28 + compileSdkVersion 30 sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index d5a8dd76..f0b36906 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ + LaunchScreen UIMainStoryboardFile Main + NSLocationWhenInUseUsageDescription + This app needs access to location when open. UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 2be80b4e..b2507c72 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/sensormodel.dart'; import 'package:apollineflutter/utils/position.dart'; +import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -42,7 +43,8 @@ class _SensorViewState extends State { Timer timer; ConnexionType connectType = ConnexionType.Normal; GlobalKey _scaffoldKey = new GlobalKey(); - InfluxDBAPI _service = InfluxDBAPI(); + InfluxDBAPI _service = InfluxDBAPI(); + Position _currentPosition; RealtimeDataService _dataService = locator(); @@ -54,7 +56,7 @@ class _SensorViewState extends State { if (buf.contains('\n')) { print("Got full line: " + buf); List values = buf.split(';'); - var position = Position(); + var position = this._currentPosition ?? Position(); /* Split values in a parseable format, and send them to the UI */ setState(() { lastReceivedData = SensorModel(values: values, device: SensorDevice(widget.device), position: position); @@ -220,10 +222,17 @@ class _SensorViewState extends State { } } + void initializeLocation() { + SimpleLocationService().locationStream.listen((p) { + this._currentPosition = p; + }); + } + @override void initState() { super.initState(); initializeDevice(); + initializeLocation(); } @override diff --git a/apolline-flutter/lib/sensormodel.dart b/apolline-flutter/lib/sensormodel.dart index 7e3f4684..8bae13b8 100644 --- a/apolline-flutter/lib/sensormodel.dart +++ b/apolline-flutter/lib/sensormodel.dart @@ -46,8 +46,12 @@ class SensorModel { /// ///add one row for one properties. String addNestedData(String propertie, String value, String unit) { + var provider = this.position?.provider ?? "no"; + var geohash = this.position?.geohash ?? "no"; + var transport = this.position?.transport ?? "no"; + var deviceName = device?.deviceName ?? "Apolline00"; return "$propertie,uuid=${BlueSensorAttributes.DustSensorServiceUUID},"+ - "device=${device.deviceName},"+ + "device=$deviceName,provider=$provider,geohash=$geohash,transport=$transport,"+ "unit=$unit value=$value ${_date*1000000}"; } diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart new file mode 100644 index 00000000..dc586809 --- /dev/null +++ b/apolline-flutter/lib/services/location_service.dart @@ -0,0 +1,48 @@ +import 'dart:async'; +import 'package:apollineflutter/utils/position.dart'; +import 'package:apollineflutter/utils/simple_geohash.dart'; +import 'package:geolocator/geolocator.dart' as geo; + +/// +/// +///Location service +class SimpleLocationService { + + ///current position. + Position _currentPosition; + ///stream. + StreamController _locationStream = StreamController.broadcast(); + + /// + ///constructor. + SimpleLocationService() { + geo.Geolocator.requestPermission().then((permission) { + if(permission == geo.LocationPermission.denied || permission == geo.LocationPermission.deniedForever) { + this._locationStream.add(Position()); + } + geo.Geolocator.getPositionStream().listen((p) { + if(p != null) { + this._locationStream.add(Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude))); + } + }); + }); + } + + ///location stream. + Stream get locationStream => _locationStream.stream; + + ///get location. + Future getLocation() async { + try { + var p = await geo.Geolocator.getCurrentPosition(); + this._currentPosition = Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude)); + } catch(e) { + print('pas pu recupérer la localisation'); + this._currentPosition = Position(); + } + + return this._currentPosition; + } + + +} \ No newline at end of file diff --git a/apolline-flutter/lib/utils/position.dart b/apolline-flutter/lib/utils/position.dart index cd268337..3822c8d8 100644 --- a/apolline-flutter/lib/utils/position.dart +++ b/apolline-flutter/lib/utils/position.dart @@ -1,7 +1,15 @@ + +/// +///Position. class Position { + ///[provider] the provider + ///[geohash] the hash of latitude and longitude + ///[transport] the transport String provider, geohash, transport; + /// + ///Constructor. Position({this.provider="no", this.geohash="no", this.transport="no"}); } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/simple_geohash.dart b/apolline-flutter/lib/utils/simple_geohash.dart new file mode 100644 index 00000000..b8d4a86c --- /dev/null +++ b/apolline-flutter/lib/utils/simple_geohash.dart @@ -0,0 +1,21 @@ +import 'package:geohash/geohash.dart'; +import 'dart:math'; + + +/// +///Hash latitude and longitude +class SimpleGeoHash { + + /// + ///encode [lat] latitude and longitude [long] + static String encode(double lat, double long, {int codeLength: 10}) { + return Geohash.encode(lat, long, codeLength: codeLength); + } + + /// + ///decode [geohash] + static Map decode(String geohash) { + Point p = Geohash.decode(geohash); + return {'latitude': p.x, 'longitude': p.y}; + } +} \ No newline at end of file diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index bbb65dbf..a15b2ae6 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -31,6 +31,10 @@ dependencies: flutter_launcher_icons: ^0.8.1 http: ^0.12.2 global_configuration: ^1.6.0 + # hash localisation + geohash: ^0.2.1 + # location + geolocator: ^6.1.13 dev_dependencies: flutter_test: From 8ca4a6f41cb127419b20cd1a7c36a61c740266be Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Sun, 20 Dec 2020 13:03:42 +0100 Subject: [PATCH 015/522] feat: add ping for influxdb and update documentation #6 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/assets/cfg/config_dev.json | 1 + .../apolline_abstract_exception.dart | 19 ++++++++ .../lib/exception/bad_request_exception.dart | 13 ++++++ .../exception/lost_connection_exception.dart | 13 ++++++ apolline-flutter/lib/sensor.dart | 5 ++- .../lib/services/influxdb_client.dart | 44 ++++++++++++++++--- .../lib/services/location_service.dart | 4 +- 8 files changed, 90 insertions(+), 11 deletions(-) create mode 100644 apolline-flutter/lib/exception/apolline_abstract_exception.dart create mode 100644 apolline-flutter/lib/exception/bad_request_exception.dart create mode 100644 apolline-flutter/lib/exception/lost_connection_exception.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 2e65bd03..15b4aba9 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-19 14:29:03.529259","version":"1.22.2"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-20 12:51:21.290522","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/assets/cfg/config_dev.json b/apolline-flutter/assets/cfg/config_dev.json index 01806403..6e2f6c7b 100644 --- a/apolline-flutter/assets/cfg/config_dev.json +++ b/apolline-flutter/assets/cfg/config_dev.json @@ -1,5 +1,6 @@ { "api_url": "http://192.168.43.103", + "ping_url": "http://192.168.43.103/health", "password": "test", "username": "test", "dbname": "apolline" diff --git a/apolline-flutter/lib/exception/apolline_abstract_exception.dart b/apolline-flutter/lib/exception/apolline_abstract_exception.dart new file mode 100644 index 00000000..89c1f6dc --- /dev/null +++ b/apolline-flutter/lib/exception/apolline_abstract_exception.dart @@ -0,0 +1,19 @@ + + +///Author (Issagha BARRY) +///Abstract class Exception. +abstract class ApollineAbstractException implements Exception { + ///Error message. + String msg; + + /// + ///Constructor. + ///[this.msg] the error message + ApollineAbstractException(this.msg); + + /// + ///return the error message. + String errorMsg() { + return this.msg; + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/exception/bad_request_exception.dart b/apolline-flutter/lib/exception/bad_request_exception.dart new file mode 100644 index 00000000..a145092f --- /dev/null +++ b/apolline-flutter/lib/exception/bad_request_exception.dart @@ -0,0 +1,13 @@ +import 'package:apollineflutter/exception/apolline_abstract_exception.dart'; + + +///Author (Issagha BARRY) +///bad request exception. +class BadRequestException extends ApollineAbstractException { + + /// + ///Constructor. + ///[this.msg] the error message + BadRequestException(String msg): super(msg); + +} \ No newline at end of file diff --git a/apolline-flutter/lib/exception/lost_connection_exception.dart b/apolline-flutter/lib/exception/lost_connection_exception.dart new file mode 100644 index 00000000..9a5a4eb6 --- /dev/null +++ b/apolline-flutter/lib/exception/lost_connection_exception.dart @@ -0,0 +1,13 @@ +import 'package:apollineflutter/exception/apolline_abstract_exception.dart'; + + +///Author (Issagha BARRY) +///Lost connection exception. +class LostConnectionException extends ApollineAbstractException { + + /// + ///Constructor. + ///[this.msg] the error message + LostConnectionException(String msg): super(msg); + +} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index fa4c0de6..e68505bf 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -8,13 +8,13 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/models/sensor_device.dart'; +import 'package:apollineflutter/services/influxdb_client.dart'; import 'services/realtime_data_service.dart'; import 'services/service_locator.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; -import 'services/influxdb_client.dart'; enum ConnexionType { Normal, Disconnect } @@ -232,9 +232,10 @@ class _SensorViewState extends State { } void initializeLocation() { - SimpleLocationService().locationStream.listen((p) { + var sub = SimpleLocationService().locationStream.listen((p) { this._currentPosition = p; }); + subs.add(sub); } @override diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 6bfc95a8..7baca6ed 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -1,16 +1,24 @@ import 'dart:convert'; import 'dart:async'; import 'dart:io'; +import 'package:apollineflutter/exception/bad_request_exception.dart'; +import 'package:apollineflutter/exception/lost_connection_exception.dart'; import 'package:http/http.dart' as http; import 'package:global_configuration/global_configuration.dart'; -/// -/// +///Author (Issagha Barry) +///Influx db api. class InfluxDBAPI { + ///the address where to save data. final String _connectionString = GlobalConfiguration().get("api_url"); + ///the name of database. final String _db = GlobalConfiguration().get("dbname"); + ///the user. final String _username = GlobalConfiguration().get("username"); + ///the password. final String _password = GlobalConfiguration().get("password"); + ///the health url + final String _pingUrl = GlobalConfiguration().get("ping_url"); static final InfluxDBAPI _instance = InfluxDBAPI._internal(); _InfluxDBClient client = _InfluxDBClient(http.Client()); @@ -27,12 +35,20 @@ class InfluxDBAPI { /// ///write data to influx database - write(String data) async { + void write(String data) async { client.postSilent("$_connectionString/write?db=$_db&u=$_username&p=$_password", body: data); } + /// + ///check the address [address]. + void ping() async { + client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x + } + } +///Author(Issagha Barry) +///Influx db private client. class _InfluxDBClient extends http.BaseClient { static const OKSTATUS = [204, 200]; http.Client _inner; @@ -50,17 +66,33 @@ class _InfluxDBClient extends http.BaseClient { } /// + ///ping. + void pingSilent(String url) async { + http.Response resp; + try{ + resp = await this.get(url); + print("server is running"); //TODO supprimé à la fin. + } on SocketException catch(e) { + throw LostConnectionException("server is unavailable"); + } + + if(!OKSTATUS.contains(resp.statusCode) ) { + throw LostConnectionException("server is unavailable"); + } + } + /// - postSilent(url, {Map headers, body, Encoding encoding}) async { + ///post. + void postSilent(url, {Map headers, body, Encoding encoding}) async { http.Response resp; try{ resp = await this.post(url, headers: headers, body: body, encoding: encoding); } on SocketException catch(e) { - throw Exception("server is unavailable ${e.message}"); + throw LostConnectionException("server is unavailable ${e.toString()}"); } if(!OKSTATUS.contains(resp.statusCode) ) { - throw Exception("Server not access with status code ${resp.statusCode} and body ${resp.body}"); + throw BadRequestException("Server not access with status code ${resp.statusCode} and body ${resp.body}"); } } } \ No newline at end of file diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index dc586809..532cee08 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -4,8 +4,8 @@ import 'package:apollineflutter/utils/simple_geohash.dart'; import 'package:geolocator/geolocator.dart' as geo; /// -/// -///Location service +///Author (Issagha Barry) +///Location service. class SimpleLocationService { ///current position. From aae2f6718edf888004ccfba2a8273f25a9cf1f39 Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Sat, 26 Dec 2020 14:26:33 +0100 Subject: [PATCH 016/522] fix: improvement and bug correction during reconnection #6 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/sensor.dart | 84 +++++++++++-------- 2 files changed, 51 insertions(+), 35 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 15b4aba9..9095e2da 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-20 12:51:21.290522","version":"1.22.2"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-26 14:16:20.521712","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index e68505bf..4f9923a6 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -23,7 +23,6 @@ class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; - bool isConnected = false; @override State createState() => _SensorViewState(); @@ -34,7 +33,8 @@ class _SensorViewState extends State { String buf = ""; SensorModel lastReceivedData; bool initialized = false; - StreamSubscription sub; //used for remove listening value to sensor + StreamSubscription subBluetoothState; //used for remove listening value to sensor + StreamSubscription subLocation; bool isConnected = false; List subs = @@ -151,28 +151,34 @@ class _SensorViewState extends State { /// ///Function to be executed after a connection - void pastConnect() { - isConnected = true; + void postConnect() { setState(() { showErrorAction = false; }); - subData?.cancel(); handleDeviceConnect(widget.device); } /// ///Function to be executed after disconnection - void passDisconnect() { + void postDisconnect() { isConnected = false; buf = ""; connectType = ConnexionType.Disconnect; //deconnexion - timer?.cancel(); + this.destroyStream(); setState(() { showErrorAction = true; }); showSnackbar("Connection perdu avec le capteur !"); } + ///use for prevent when setState call after dispose methode. + @override + void setState(fn) { + if(this.mounted){ + super.setState(fn); + } + } + /// ///Display a snackBar void showSnackbar(String msg) { @@ -184,58 +190,64 @@ class _SensorViewState extends State { } /// - /// - void handleDeviceConnect(BluetoothDevice d) { - var sub = widget.device.state.listen((state) { + ///listen device state. + void listenDeviceState() { + this.subBluetoothState = widget.device.state.listen((state) { if (state == BluetoothDeviceState.disconnecting) { /*TODO: detectecter quand cela arrive */ } else if (state == BluetoothDeviceState.disconnected) { - passDisconnect(); + postDisconnect(); } else if (state == BluetoothDeviceState.connected) { print("--------------------connected--------------"); if (connectType == ConnexionType.Disconnect && !isConnected) { - pastConnect(); + postConnect(); } } else { print("--------------------connecting------------"); } }); - subs.add(sub); - - updateState("Configuring device"); - List services; - d.discoverServices().then((s) { - /* Discover services, and search for the Dust Sensor service */ - s.forEach((service) { - handleServiceDiscovered(service); + } + + /// + /// + void handleDeviceConnect(BluetoothDevice d) { + + if(!isConnected) { + isConnected = true; + updateState("Configuring device"); + d.discoverServices().then((s) { + /* Discover services, and search for the Dust Sensor service */ + s.forEach((service) { + handleServiceDiscovered(service); + }); }); - }); + + } + } + /// + /// Future initializeDevice() async { print("Connecting to device"); try { await widget.device.connect(); - isConnected = true; /* TODO: voir s'il ya possibilité de négocier le mtu */ } catch (e) { if (e.code != "already_connected") { throw e; } - if (e.code == "already_connected") { - isConnected = true; - } } finally { + listenDeviceState(); handleDeviceConnect(widget.device); } } void initializeLocation() { - var sub = SimpleLocationService().locationStream.listen((p) { + this.subLocation = SimpleLocationService().locationStream.listen((p) { this._currentPosition = p; }); - subs.add(sub); } @override @@ -245,15 +257,19 @@ class _SensorViewState extends State { initializeLocation(); } + /// + ///detroy partiel stream when loose connection. + void destroyStream() { + this.subData?.cancel(); + this.timer?.cancel(); + } + @override void dispose() { - subs.forEach((sub) { - sub.cancel(); - }); - if (subData != null) { - subData.cancel(); - } - timer?.cancel(); + this.destroyStream(); + this.subBluetoothState?.cancel(); + this.subLocation?.cancel(); + widget.device.disconnect(); super.dispose(); } From d04f7c71e4c9156b4808cdc3497d27ed786efa43 Mon Sep 17 00:00:00 2001 From: RadiLina Date: Mon, 28 Dec 2020 22:01:11 +0100 Subject: [PATCH 017/522] Fix: data visualisation orientation --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/widgets/quality.dart | 100 ++++++++++-------- 2 files changed, 55 insertions(+), 47 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 3f3dea06..5444df14 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-09 11:54:05.460130","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-28 21:58:49.555092","version":"1.22.1"} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 037a2252..b56c1271 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -122,52 +122,60 @@ class Quality extends StatelessWidget { @override Widget build(BuildContext context) { - return GridView.count( - primary: false, - padding: const EdgeInsets.all(0), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - crossAxisCount: 2, - children: [ - Container( - child: _buildGauge( - "PM1", - lastReceivedData.values[SensorModel.SENSOR_PM_1], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), - ), - Container( - child: _buildGauge( - "PM2.5", - lastReceivedData.values[SensorModel.SENSOR_PM_2_5], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), - ), - Container( - child: _buildGauge( - "PM10", - lastReceivedData.values[SensorModel.SENSOR_PM_10], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), - ), - Container( - child: _buildGauge( - "TEMPERATURE", - lastReceivedData.values[SensorModel.SENSOR_TEMP], - "°C", - Color(0xFFFFCD60), - new BoxDecoration( - image: new DecorationImage( - image: ExactAssetImage('assets/sun.png'), - fit: BoxFit.fitHeight))), - ), - Container( - child: _buildGaugeBattery( - "BAT", lastReceivedData.values[SensorModel.SENSOR_VOLT])) - ], + return Scaffold( + body: OrientationBuilder( + builder: (BuildContext builContext, Orientation orientation) { + return Center( + child: GridView.count( + primary: false, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + crossAxisCount: orientation == Orientation.landscape ? 3 : 2, + children: [ + Container( + child: _buildGauge( + "PM1", + lastReceivedData.values[SensorModel.SENSOR_PM_1], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "PM2.5", + lastReceivedData.values[SensorModel.SENSOR_PM_2_5], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "PM10", + lastReceivedData.values[SensorModel.SENSOR_PM_10], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + Container( + child: _buildGauge( + "TEMPERATURE", + lastReceivedData.values[SensorModel.SENSOR_TEMP], + "°C", + Color(0xFFFFCD60), + new BoxDecoration( + image: new DecorationImage( + image: ExactAssetImage('assets/sun.png'), + fit: BoxFit.fitHeight))), + ), + Container( + child: _buildGaugeBattery("BAT", + lastReceivedData.values[SensorModel.SENSOR_VOLT])) + ], + ), + ); + }, + ), ); } } From 059f4e1fd483952bd43520ff364070b4dc94502e Mon Sep 17 00:00:00 2001 From: Barry Issagha <44679171+issaghaBarry@users.noreply.github.com> Date: Wed, 20 Jan 2021 11:19:16 +0100 Subject: [PATCH 018/522] Feat/data transmission on influx db (#23) * fix: add above data and send data every minute #23 --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/lib/sensor.dart | 23 +++++++++++++++---- apolline-flutter/lib/sensormodel.dart | 15 +++++++++++- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 5444df14..70cdc6ed 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/radi/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2020-12-28 21:58:49.555092","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2021-01-20 10:57:21.018541","version":"1.22.2"} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 4f9923a6..2e132694 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -36,6 +36,7 @@ class _SensorViewState extends State { StreamSubscription subBluetoothState; //used for remove listening value to sensor StreamSubscription subLocation; bool isConnected = false; + List lastData = []; List subs = []; //used for remove listening value to sensor @@ -58,11 +59,14 @@ class _SensorViewState extends State { print("Got full line: " + buf); List values = buf.split(';'); var position = this._currentPosition ?? Position(); - /* Split values in a parseable format, and send them to the UI */ + + var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); + _service.write(model.fmtToInfluxData()); + _dataService.update(values); + this.updateOrWriteData(model); + setState(() { - lastReceivedData = SensorModel(values: values, device: SensorDevice(widget.device), position: position); - _service.write(lastReceivedData.fmtToInfluxData()); - _dataService.update(values); + lastReceivedData = model; initialized = true; /* Perform additional handling here */ @@ -71,6 +75,17 @@ class _SensorViewState extends State { } } + void updateOrWriteData(SensorModel model) { + if(this.lastData.length >= 60) { + this.lastData.forEach((pModel) { + _service.write(pModel.fmtToInfluxData()); + }); + this.lastData.clear(); + } else { + this.lastData.add(model); + } + } + void updateState(String st) { print(st); setState(() { diff --git a/apolline-flutter/lib/sensormodel.dart b/apolline-flutter/lib/sensormodel.dart index 8bae13b8..19d0c73c 100644 --- a/apolline-flutter/lib/sensormodel.dart +++ b/apolline-flutter/lib/sensormodel.dart @@ -17,6 +17,12 @@ class SensorModel { static const int SENSOR_TEMP = 17; static const int SENSOR_HUMI = 18; static const int SENSOR_VOLT = 19; + static const int SENSOR_PM_ABOVE_0_3 = 4; + static const int SENSOR_PM_ABOVE_0_5 = 5; + static const int SENSOR_PM_ABOVE_1 = 6; + static const int SENSOR_PM_ABOVE_2_5 = 7; + static const int SENSOR_PM_ABOVE_5 = 8; + static const int SENSOR_PM_ABOVE_10 = 9; SensorDevice device; int _date; Position position; @@ -61,10 +67,17 @@ class SensorModel { var pm1 = addNestedData("pm.01.value", this.values[SENSOR_PM_1], Units.CONCENTRATION_UG_M3); var pm25 = addNestedData("pm.2_5.value", this.values[SENSOR_PM_2_5], Units.CONCENTRATION_UG_M3); var pm10 = addNestedData("pm.10.value", this.values[SENSOR_PM_10], Units.CONCENTRATION_UG_M3); + var pm03ab = addNestedData("pm.0_3.above", this.values[SENSOR_PM_ABOVE_0_3], Units.CONCENTRATION_ABOVE); + var pm05ab = addNestedData("pm.0_5.above", this.values[SENSOR_PM_ABOVE_0_5], Units.CONCENTRATION_ABOVE); + var pm1ab = addNestedData("pm.1.above", this.values[SENSOR_PM_ABOVE_1], Units.CONCENTRATION_ABOVE); + var pm25ab = addNestedData("pm.2_5.above", this.values[SENSOR_PM_ABOVE_2_5], Units.CONCENTRATION_ABOVE); + var pm5ab = addNestedData("pm.5.above", this.values[SENSOR_PM_ABOVE_5], Units.CONCENTRATION_ABOVE); + var pm10ab = addNestedData("pm.10.above", this.values[SENSOR_PM_ABOVE_10], Units.CONCENTRATION_ABOVE); var tmpC = addNestedData("temperature.c", this.values[SENSOR_TEMP], Units.TEMPERATURE_CELSIUS); var tmpK = addNestedData("temperature.k", this.temperatureK.toString(), Units.TEMPERATURE_KELVIN); var humi = addNestedData("humidity", this.values[SENSOR_HUMI], Units.PERCENTAGE); var humiC = addNestedData("humidity.compensated", this.humidityC.toString(), Units.PERCENTAGE); - return "$pm1\n$pm25\n$pm10\n$tmpC\n$tmpK\n$humi\n$humiC"; + + return "$pm1\n$pm25\n$pm10\n$pm03ab\n$pm05ab\n$pm1ab\n$pm25ab\n$pm5ab\n$pm10ab\n$tmpC\n$tmpK\n$humi\n$humiC"; } } \ No newline at end of file From b3a54df875e6c15b89cef335feab72277b8a9b2e Mon Sep 17 00:00:00 2001 From: Barry Issagha <44679171+issaghaBarry@users.noreply.github.com> Date: Wed, 20 Jan 2021 12:57:20 +0100 Subject: [PATCH 019/522] Feat/data transmission on influx db (#25) * fix: optimization when send data Co-authored-by: Gdissa Ramy --- .../.flutter-plugins-dependencies | 2 +- .../lib/models/sensor_collection.dart | 32 +++++++++++++++++++ apolline-flutter/lib/sensor.dart | 10 +++--- 3 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 apolline-flutter/lib/models/sensor_collection.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 70cdc6ed..05d47635 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2021-01-20 10:57:21.018541","version":"1.22.2"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2021-01-20 11:36:28.259103","version":"1.22.2"} diff --git a/apolline-flutter/lib/models/sensor_collection.dart b/apolline-flutter/lib/models/sensor_collection.dart new file mode 100644 index 00000000..bcb96bff --- /dev/null +++ b/apolline-flutter/lib/models/sensor_collection.dart @@ -0,0 +1,32 @@ +import 'package:apollineflutter/sensormodel.dart'; + +class SensorCollection { + + List lastData; + + int get length { + return this.lastData.length; + } + + SensorCollection() { + this.lastData = []; + } + + void addModel(SensorModel model) { + this.lastData.add(model); + } + + void clear() { + this.lastData.clear(); + } + + String fmtToInfluxData() { + var result = ""; + + for(var i = 0; i < this.lastData.length; i++ ) { + result += "${this.lastData[i].fmtToInfluxData()}\n"; + } + return result; + } + +} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 2e132694..67878c20 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -9,6 +9,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/models/sensor_device.dart'; import 'package:apollineflutter/services/influxdb_client.dart'; +import 'package:apollineflutter/models/sensor_collection.dart'; import 'services/realtime_data_service.dart'; import 'services/service_locator.dart'; @@ -36,7 +37,7 @@ class _SensorViewState extends State { StreamSubscription subBluetoothState; //used for remove listening value to sensor StreamSubscription subLocation; bool isConnected = false; - List lastData = []; + SensorCollection lastData = SensorCollection(); List subs = []; //used for remove listening value to sensor @@ -61,7 +62,6 @@ class _SensorViewState extends State { var position = this._currentPosition ?? Position(); var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); - _service.write(model.fmtToInfluxData()); _dataService.update(values); this.updateOrWriteData(model); @@ -77,12 +77,10 @@ class _SensorViewState extends State { void updateOrWriteData(SensorModel model) { if(this.lastData.length >= 60) { - this.lastData.forEach((pModel) { - _service.write(pModel.fmtToInfluxData()); - }); + _service.write(this.lastData.fmtToInfluxData()); this.lastData.clear(); } else { - this.lastData.add(model); + this.lastData.addModel(model); } } From b9cdd0e9ed70f2d8215ee3fb0f90f3799a4f221a Mon Sep 17 00:00:00 2001 From: GDISSA <47599833+gdissa@users.noreply.github.com> Date: Tue, 9 Feb 2021 20:31:07 +0100 Subject: [PATCH 020/522] Feat/lost connection influxdb (#18) * feat: Add SQLite to insert data in local and pagination data before insert to influxDB Co-authored-by: Gdissa Ramy Co-authored-by: Barry Issagha --- .gitignore | 1 + .../.flutter-plugins-dependencies | 2 +- apolline-flutter/assets/cfg/config_dev.json | 8 +- .../lib/bluetoothDevicesPage.dart | 22 +- .../lib/models/dateSynchromodel.dart | 24 +++ .../lib/models/sensor_collection.dart | 2 +- .../lib/models/sensor_device.dart | 13 +- .../lib/{ => models}/sensormodel.dart | 74 +++++-- apolline-flutter/lib/sensor.dart | 123 +++++++----- .../lib/services/influxdb_client.dart | 10 +- .../lib/services/sqflite_service.dart | 190 ++++++++++++++++++ apolline-flutter/lib/widgets/quality.dart | 2 +- apolline-flutter/lib/widgets/stats.dart | 22 +- apolline-flutter/pubspec.yaml | 3 + 14 files changed, 405 insertions(+), 91 deletions(-) create mode 100644 apolline-flutter/lib/models/dateSynchromodel.dart rename apolline-flutter/lib/{ => models}/sensormodel.dart (56%) create mode 100644 apolline-flutter/lib/services/sqflite_service.dart diff --git a/.gitignore b/.gitignore index 8d9350a7..d967435f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ .pub-cache/ .pub/ build/ +assets/cfg/config_dev.json # Android related **/android/**/gradle-wrapper.jar diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 05d47635..ae50a40f 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.13/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.0.6/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.24/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+6/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/barry/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2021-01-20 11:36:28.259103","version":"1.22.2"} +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+8/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-02 17:21:35.843529","version":"1.22.5"} \ No newline at end of file diff --git a/apolline-flutter/assets/cfg/config_dev.json b/apolline-flutter/assets/cfg/config_dev.json index 6e2f6c7b..99109606 100644 --- a/apolline-flutter/assets/cfg/config_dev.json +++ b/apolline-flutter/assets/cfg/config_dev.json @@ -1,7 +1,7 @@ { - "api_url": "http://192.168.43.103", - "ping_url": "http://192.168.43.103/health", - "password": "test", - "username": "test", + "api_url": "http://192.168.0.33", + "ping_url": "http://192.168.0.33/health", + "password": "apollineapp", + "username": "apollineapp", "dbname": "apolline" } \ No newline at end of file diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index c42da6e8..3a013db9 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,4 +1,6 @@ import 'package:apollineflutter/sensor.dart'; +import 'package:apollineflutter/services/influxdb_client.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -27,6 +29,10 @@ class _BluetoothDevicesPageState extends State { bool timeout = true; Map devices = {}; Map pairedDevices = {}; + // use for influxDB to send data to the back + InfluxDBAPI _service = InfluxDBAPI(); + // use for sqfLite to save data in local + SqfLiteService _sqfLiteSerive = SqfLiteService(); @override void initState() { @@ -50,7 +56,9 @@ class _BluetoothDevicesPageState extends State { void showDialogBluetooth() { Widget okbtn = FlatButton( child: Text("ok"), - onPressed: () { Navigator.of(context).pop(); }, + onPressed: () { + Navigator.of(context).pop(); + }, ); AlertDialog alert = AlertDialog( @@ -78,9 +86,7 @@ class _BluetoothDevicesPageState extends State { }); }); - widget.flutterBlue.connectedDevices - .asStream() - .listen((List ds) { + widget.flutterBlue.connectedDevices.asStream().listen((List ds) { for (BluetoothDevice device in ds) { setState(() { pairedDevices.putIfAbsent(device.id.toString(), () => device); @@ -90,7 +96,7 @@ class _BluetoothDevicesPageState extends State { /* For each result, insert into the detected devices list if not already present */ var subscription = widget.flutterBlue.scanResults.listen((results) { for (ScanResult r in results) { - if(r.device.name.length > 0) { + if (r.device.name.length > 0) { setState(() { devices.putIfAbsent(r.device.id.toString(), () => r.device); }); @@ -103,8 +109,7 @@ class _BluetoothDevicesPageState extends State { }); } - void _addWidgetDevices(Map devices, List l, - Function(List, BluetoothDevice) cond) { + void _addWidgetDevices(Map devices, List l, Function(List, BluetoothDevice) cond) { devices.forEach((id, d) { if (cond(l, d)) l.add(Card( @@ -180,8 +185,7 @@ class _BluetoothDevicesPageState extends State { } else { return [ SizedBox( - child: CircularProgressIndicator( - backgroundColor: Colors.blue), //TODO choisir une meilleur couleur + child: CircularProgressIndicator(backgroundColor: Colors.blue), //TODO choisir une meilleur couleur width: 20, height: 20, ), diff --git a/apolline-flutter/lib/models/dateSynchromodel.dart b/apolline-flutter/lib/models/dateSynchromodel.dart new file mode 100644 index 00000000..aa983201 --- /dev/null +++ b/apolline-flutter/lib/models/dateSynchromodel.dart @@ -0,0 +1,24 @@ +// Authors BARRY Issagha, GDISSA Ramy + +//DateSynchromodel contient les dates +class DateSynchromodel { + int date; + + /* Values received, parsed through a comma-separated string */ + List values = []; + + /// + ///constructor of senorModel. + DateSynchromodel({this.date}) {} + + // Format Json of sensorModel + Map toJSON() { + var json = Map(); + json["dateSynchro"] = this.date; + return json; + } + + // ignore: non_constant_identifier_names + // create object from Json + DateSynchromodel.fromJson(Map json) : this(date: json['date']); +} diff --git a/apolline-flutter/lib/models/sensor_collection.dart b/apolline-flutter/lib/models/sensor_collection.dart index bcb96bff..65a29dc4 100644 --- a/apolline-flutter/lib/models/sensor_collection.dart +++ b/apolline-flutter/lib/models/sensor_collection.dart @@ -1,4 +1,4 @@ -import 'package:apollineflutter/sensormodel.dart'; +import 'package:apollineflutter/models/sensormodel.dart'; class SensorCollection { diff --git a/apolline-flutter/lib/models/sensor_device.dart b/apolline-flutter/lib/models/sensor_device.dart index c70518c3..4bb26c12 100644 --- a/apolline-flutter/lib/models/sensor_device.dart +++ b/apolline-flutter/lib/models/sensor_device.dart @@ -2,15 +2,22 @@ import 'package:flutter_blue/flutter_blue.dart'; class SensorDevice { BluetoothDevice _device; + String _name; + String _uuid; - /// + /// Authors BARRY Issagha, GDISSA Ramy ///constructor SensorDevice(this._device); + SensorDevice.fromNameAndUId(name, uuid) { + this._name = name; + this._uuid = uuid; + } + /// ///return the name of sensor device String get deviceName { - return this._device.name; + return this._device?.name ?? this._name; } /// @@ -24,4 +31,4 @@ class SensorDevice { BluetoothDevice get device { return this._device; } -} \ No newline at end of file +} diff --git a/apolline-flutter/lib/sensormodel.dart b/apolline-flutter/lib/models/sensormodel.dart similarity index 56% rename from apolline-flutter/lib/sensormodel.dart rename to apolline-flutter/lib/models/sensormodel.dart index 19d0c73c..63293591 100644 --- a/apolline-flutter/lib/sensormodel.dart +++ b/apolline-flutter/lib/models/sensormodel.dart @@ -2,13 +2,17 @@ import 'package:apollineflutter/models/sensor_device.dart'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/utils/position.dart'; +// Authors BARRY Issagha, GDISSA Ramy +//Unité class Units { static const String CONCENTRATION_UG_M3 = "µg/m3"; static const String CONCENTRATION_ABOVE = "#/0.1L"; - static const String PERCENTAGE = "%"; + static const String PERCENTAGE = "%"; static const String TEMPERATURE_CELSIUS = "°C"; - static const String TEMPERATURE_KELVIN = "°K"; + static const String TEMPERATURE_KELVIN = "°K"; } + +//sensorModel contient les values, la position et le device class SensorModel { static const int SENSOR_DATE = 0; static const int SENSOR_PM_1 = 1; @@ -25,6 +29,7 @@ class SensorModel { static const int SENSOR_PM_ABOVE_10 = 9; SensorDevice device; int _date; + int id; Position position; /* Values received, parsed through a comma-separated string */ @@ -36,6 +41,13 @@ class SensorModel { this._date = DateTime.now().microsecondsSinceEpoch; } + /// + ///constructor of senorModel with date. + // ignore: non_constant_identifier_names + SensorModel.bdd({this.id, this.values, this.device, this.position, date}) { + this._date = date; + } + /// ///return the temperature in kelvin. double get temperatureK { @@ -46,25 +58,31 @@ class SensorModel { ///return the humidity compensated. double get humidityC { var divisor = (1.0546 - 0.00216 * (this.temperatureK - 273.15)) * 10; - return double.parse(this.values[SENSOR_HUMI])/divisor; + return double.parse(this.values[SENSOR_HUMI]) / divisor; + } + + /// + ///return the humidity compensated. + int get date { + return this._date; } /// ///add one row for one properties. String addNestedData(String propertie, String value, String unit) { - var provider = this.position?.provider ?? "no"; - var geohash = this.position?.geohash ?? "no"; + var provider = this.position?.provider ?? "no"; + var geohash = this.position?.geohash ?? "no"; var transport = this.position?.transport ?? "no"; - var deviceName = device?.deviceName ?? "Apolline00"; - return "$propertie,uuid=${BlueSensorAttributes.DustSensorServiceUUID},"+ - "device=$deviceName,provider=$provider,geohash=$geohash,transport=$transport,"+ - "unit=$unit value=$value ${_date*1000000}"; + var deviceName = device?.deviceName ?? "Apolline00"; + return "$propertie,uuid=${BlueSensorAttributes.DustSensorServiceUUID}," + + "device=$deviceName,provider=$provider,geohash=$geohash,transport=$transport," + + "unit=$unit value=$value ${_date * 1000000}"; } /// - ///Format data for write into influxdb. + ///Format data to write into influxdb. String fmtToInfluxData() { - var pm1 = addNestedData("pm.01.value", this.values[SENSOR_PM_1], Units.CONCENTRATION_UG_M3); + var pm1 = addNestedData("pm.01.value", this.values[SENSOR_PM_1], Units.CONCENTRATION_UG_M3); var pm25 = addNestedData("pm.2_5.value", this.values[SENSOR_PM_2_5], Units.CONCENTRATION_UG_M3); var pm10 = addNestedData("pm.10.value", this.values[SENSOR_PM_10], Units.CONCENTRATION_UG_M3); var pm03ab = addNestedData("pm.0_3.above", this.values[SENSOR_PM_ABOVE_0_3], Units.CONCENTRATION_ABOVE); @@ -80,4 +98,36 @@ class SensorModel { return "$pm1\n$pm25\n$pm10\n$pm03ab\n$pm05ab\n$pm1ab\n$pm25ab\n$pm5ab\n$pm10ab\n$tmpC\n$tmpK\n$humi\n$humiC"; } -} \ No newline at end of file + + ///Format data to write many sensorData into influxdb. + static String sensorsFmtToInfluxData(List lastData) { + var result = ""; + for(var i = 0; i < lastData.length; i++ ) { + result += "${lastData[i].fmtToInfluxData()}\n"; + } + return result; + } + + // Format Json of sensorModel + Map toJSON() { + var json = Map(); + json["deviceName"] = device?.deviceName ?? "Apolline00"; + json["uuid"] = BlueSensorAttributes.DustSensorServiceUUID; + json["provider"] = this.position?.provider ?? "no"; + json["geohash"] = this.position?.geohash ?? "no"; + json["transport"] = this.position?.transport ?? "no"; + json["date"] = this._date; + json["value"] = this.values.join('|'); + return json; + } + + // ignore: non_constant_identifier_names + // create object from Json + SensorModel.fromJson(Map json) + : this.bdd( + id: json['id'], + values: json['value'].split('|'), + device: SensorDevice.fromNameAndUId(json['name'], json['uuid']), + position: Position(geohash: json['geohash'], provider: json['provider'], transport: json['transport']), + date: json['date']); +} diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 67878c20..0cb43fd1 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -1,7 +1,8 @@ import 'dart:async'; +import 'dart:io'; import 'package:apollineflutter/gattsample.dart'; -import 'package:apollineflutter/sensormodel.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/utils/position.dart'; import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; @@ -9,15 +10,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/models/sensor_device.dart'; import 'package:apollineflutter/services/influxdb_client.dart'; -import 'package:apollineflutter/models/sensor_collection.dart'; - +import 'models/sensormodel.dart'; import 'services/realtime_data_service.dart'; import 'services/service_locator.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; - enum ConnexionType { Normal, Disconnect } class SensorView extends StatefulWidget { @@ -37,20 +36,35 @@ class _SensorViewState extends State { StreamSubscription subBluetoothState; //used for remove listening value to sensor StreamSubscription subLocation; bool isConnected = false; - SensorCollection lastData = SensorCollection(); - - List subs = - []; //used for remove listening value to sensor + List subs = []; //used for remove listening value to sensor StreamSubscription subData; bool showErrorAction = false; - Timer timer; + Timer timer, timerSynchro; ConnexionType connectType = ConnexionType.Normal; GlobalKey _scaffoldKey = new GlobalKey(); + // use for influxDB to send data to the back InfluxDBAPI _service = InfluxDBAPI(); + // use for sqfLite to save data in local + SqfLiteService _sqfLiteService = SqfLiteService(); Position _currentPosition; RealtimeDataService _dataService = locator(); + void initializeLocation() { + this.subLocation = SimpleLocationService().locationStream.listen((p) { + this._currentPosition = p; + }); + } + + @override + void initState() { + super.initState(); + initializeDevice(); + initializeLocation(); + //synchronisation data + this.timerSynchro = Timer.periodic(Duration(seconds: 120), (Timer t) => synchronizeData()); + } + /* Called when data is received from the sensor */ void _handleCharacteristicUpdate(List value) { String s = String.fromCharCodes(value); @@ -60,11 +74,12 @@ class _SensorViewState extends State { print("Got full line: " + buf); List values = buf.split(';'); var position = this._currentPosition ?? Position(); - + var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); _dataService.update(values); - this.updateOrWriteData(model); - + /* insert to sqflite */ + _sqfLiteService.insertSensor(model.toJSON()); + setState(() { lastReceivedData = model; initialized = true; @@ -75,13 +90,35 @@ class _SensorViewState extends State { } } - void updateOrWriteData(SensorModel model) { - if(this.lastData.length >= 60) { - _service.write(this.lastData.fmtToInfluxData()); - this.lastData.clear(); - } else { - this.lastData.addModel(model); - } + // Synchronsation data sensor + void synchronizeData() { + // find all data not synchronisation + int pagination = 160; + _sqfLiteService.getAllSensorModelsNotSyncro().then((sensormodels) { + if (sensormodels.length > 0) { + // Pagination data before sending to influxDB + var iter = (sensormodels.length / pagination).ceil(); + for (var i = 0; i < iter; i++) { + int start = i * pagination; + int end = (i + 1) * pagination; + if (1 == iter || i + 1 == iter) { + end = sensormodels.length; + } + var sousList = sensormodels.sublist(start, end); + //Send data to influxDB + _service.write(SensorModel.sensorsFmtToInfluxData(sousList)).then((_) { + List ids = []; + sensormodels.forEach((sousList) { + ids.add(sousList.id); + }); + //Update data (synchronisation) in sqfLite + _sqfLiteService.updateSensorSynchronisation(ids); + }).catchError((error) { + print(error); + }); + } + } + }); } void updateState(String st) { @@ -116,17 +153,14 @@ class _SensorViewState extends State { } void handleServiceDiscovered(BluetoothService service) { - if (service.uuid.toString().toLowerCase() == - BlueSensorAttributes.DustSensorServiceUUID) { + if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; /* Search for the Dust Sensor characteristic */ for (BluetoothCharacteristic c in characteristics) { - if (c.uuid.toString().toLowerCase() == - BlueSensorAttributes.DustSensorCharacteristicUUID) { - updateState("Characteristic found - reading, NOtification flag is " + - c.properties.notify.toString()); + if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) { + updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); /* Enable notification */ updateState("Enable notification"); @@ -174,10 +208,10 @@ class _SensorViewState extends State { /// ///Function to be executed after disconnection void postDisconnect() { - isConnected = false; buf = ""; - connectType = ConnexionType.Disconnect; //deconnexion this.destroyStream(); + isConnected = false; + connectType = ConnexionType.Disconnect; //deconnexion setState(() { showErrorAction = true; }); @@ -187,7 +221,7 @@ class _SensorViewState extends State { ///use for prevent when setState call after dispose methode. @override void setState(fn) { - if(this.mounted){ + if (this.mounted) { super.setState(fn); } } @@ -209,10 +243,12 @@ class _SensorViewState extends State { if (state == BluetoothDeviceState.disconnecting) { /*TODO: detectecter quand cela arrive */ } else if (state == BluetoothDeviceState.disconnected) { + print("--------------------disconnected--------------"); postDisconnect(); } else if (state == BluetoothDeviceState.connected) { print("--------------------connected--------------"); if (connectType == ConnexionType.Disconnect && !isConnected) { + print("-------------------connectedExécute---------"); postConnect(); } } else { @@ -224,8 +260,7 @@ class _SensorViewState extends State { /// /// void handleDeviceConnect(BluetoothDevice d) { - - if(!isConnected) { + if (!isConnected) { isConnected = true; updateState("Configuring device"); d.discoverServices().then((s) { @@ -234,9 +269,7 @@ class _SensorViewState extends State { handleServiceDiscovered(service); }); }); - } - } /// @@ -257,19 +290,6 @@ class _SensorViewState extends State { } } - void initializeLocation() { - this.subLocation = SimpleLocationService().locationStream.listen((p) { - this._currentPosition = p; - }); - } - - @override - void initState() { - super.initState(); - initializeDevice(); - initializeLocation(); - } - /// ///detroy partiel stream when loose connection. void destroyStream() { @@ -283,6 +303,7 @@ class _SensorViewState extends State { this.subBluetoothState?.cancel(); this.subLocation?.cancel(); widget.device.disconnect(); + this.timerSynchro?.cancel(); super.dispose(); } @@ -350,13 +371,11 @@ class _SensorViewState extends State { ), title: Text('Apolline'), ), - body: TabBarView( - physics: NeverScrollableScrollPhysics(), - children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(dataSensor: lastReceivedData), - MapSample(), - ])), + body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(dataSensor: lastReceivedData), + MapSample(), + ])), ), ), ); diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 7baca6ed..364ed2a9 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -35,14 +35,14 @@ class InfluxDBAPI { /// ///write data to influx database - void write(String data) async { - client.postSilent("$_connectionString/write?db=$_db&u=$_username&p=$_password", body: data); + Future write(String data) async { + return await client.postSilent("$_connectionString/write?db=$_db&u=$_username&p=$_password", body: data); } /// ///check the address [address]. - void ping() async { - client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x + Future ping() { + client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x } } @@ -83,7 +83,7 @@ class _InfluxDBClient extends http.BaseClient { /// ///post. - void postSilent(url, {Map headers, body, Encoding encoding}) async { + Future postSilent(url, {Map headers, body, Encoding encoding}) async { http.Response resp; try{ resp = await this.post(url, headers: headers, body: body, encoding: encoding); diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart new file mode 100644 index 00000000..525c8678 --- /dev/null +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -0,0 +1,190 @@ +import 'dart:io'; +import 'package:apollineflutter/models/sensor_collection.dart'; +import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:path/path.dart'; +import 'package:sqflite/sqflite.dart'; +import 'package:path_provider/path_provider.dart'; + +// Author GDISSA Ramy +// Sqflite Database +class SqfLiteService { + // This is the actual database filename that is saved in the docs directory. + static final _databaseName = "apolline.db"; + // Increment this version when you need to change the schema. + static final _databaseVersion = 1; + // database table sensor and column names + static final tableSensorModel = 'SensorModel'; + static final columnId = 'id'; + static final columnDeviceName = 'deviceName'; + static final columnUuid = 'uuid'; + static final columnProvider = 'provider'; + static final columnGeohash = 'geohash'; + static final columnTransport = 'transport'; + static final columnDate = 'date'; + static final columnSynchro = 'synchronisation'; + static final columnValues = 'value'; + + // database table date and column names + // static final tableDateModel = 'DateSynchronisation'; + // static final colId = 'id'; + // static final colDate = 'DateSynchro'; + + // Make this a singleton class. + SqfLiteService._privateConstructor(); + static final SqfLiteService _instance = SqfLiteService._privateConstructor(); + + ///factory + factory SqfLiteService() { + return _instance; + } + + // Only allow a single open connection to the database. + static Database _database; + Future get database async { + if (_database != null) return _database; + _database = await _initDatabase(); + return _database; + } + +// open the database + _initDatabase() async { + // The path_provider plugin gets the right directory for Android or iOS. + Directory documentsDirectory = await getApplicationDocumentsDirectory(); + String path = join(documentsDirectory.path, _databaseName); + // Open the database, can also add an onUpdate callback parameter. + return await openDatabase(path, version: _databaseVersion, onCreate: _onCreate); + } + + // SQL string to create the database + Future _onCreate(Database db, int version) async { + String querySensor = ''' + CREATE TABLE $tableSensorModel ( + $columnId INTEGER PRIMARY KEY, + $columnDeviceName TEXT NOT NULL, + $columnUuid TEXT NOT NULL, + $columnProvider TEXT NOT NULL, + $columnTransport TEXT NOT NULL, + $columnGeohash TEXT NOT NULL, + $columnDate INTEGER NOT NULL, + $columnSynchro INTEGER NOT NULL DEFAULT 0, + $columnValues TEXT NOT NULL + ) + '''; + + // String queryDate = ''' + // CREATE TABLE $tableDateModel ( + // $colId INTEGER PRIMARY KEY, + // $colDate INTEGER + // ) + // '''; + await db.execute(querySensor); + } + + // SQL save SensorModel + Future> insertSensor(Map sensormodel) async { + Database db = await database; + // ignore: unused_local_variable + var id = db.insert(tableSensorModel, sensormodel); + return sensormodel; + } + + // SQL save SensorModel + Future insertAllSensor(SensorCollection sensorCollection) async { + Database db = await database; + // ignore: unused_local_variable + var buffer = new StringBuffer(); + sensorCollection.lastData.forEach((element) { + Map json = element.toJSON(); + if (buffer.isNotEmpty) { + buffer.write(",\n"); + } + buffer.write("('"); + buffer.write(json["deviceName"]); + buffer.write("', '"); + buffer.write(json["uuid"]); + buffer.write("', '"); + buffer.write(json["provider"]); + buffer.write("', '"); + buffer.write(json["geohash"]); + buffer.write("', '"); + buffer.write(json["transport"]); + buffer.write("', '"); + buffer.write(json["dateSynchro"]); + buffer.write("', '"); + buffer.write(json["value"]); + buffer.write("')"); + }); + // sensorCollection.lastData.forEach((element) async { + // await db.insert(tableSensorModel, element.toJSON()); + //}); + //var id = await db.insert(tableSensorModel, sensorCollection); + var raw = await db.rawInsert("INSERT Into $tableSensorModel ($columnDeviceName, $columnUuid, $columnProvider, $columnTransport, $columnGeohash, $columnDate, $columnValues ) " + " VALUES ${buffer.toString()}"); + return raw; + } + + // SQL get SensorModel data by uuid + Future> getSensorModelByUuid(String uuid) async { + Database db = await database; + List sensdorModels = []; + List maps = await db.query(tableSensorModel, + columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnValues], where: '$columnUuid = ?', whereArgs: [uuid]); + if (maps.length > 0) { + maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); + return sensdorModels; + } + return sensdorModels; + } + + // SQL get all SensorModel data + Future> getAllSensorModels() async { + Database db = await database; + List sensdorModels = []; + List maps = await db.query(tableSensorModel); + if (maps.length > 0) { + maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); + return sensdorModels; + } + return sensdorModels; + } + + // SQL get all SensorModelNotSynchro data + Future> getAllSensorModelsNotSyncro() async { + Database db = await database; + List sensdorModels = []; + List maps = await db.query(tableSensorModel, + columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], where: '$columnSynchro == ?', whereArgs: [0]); + if (maps.length > 0) { + maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); + return sensdorModels; + } + return sensdorModels; + } + + + // SQL update Sensor colunm synchronisation + Future updateSensorSynchronisation(List ids) async { + Database db = await database; + // ignore: unused_local_variable. + String inClause = ids.toString(); + //at this point inClause will look like "[1,2,3,4,5]" + //replace the brackets with parentheses + inClause = inClause.replaceFirst("[","("); + inClause = inClause.replaceFirst("]",")"); + //at this point inClause will look like "(1,2,3,4,5)" + String query = ''' UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN '''+inClause; + await db.execute(query); + } + + // SQL delete all data + Future deleteAllSensorData() async { + Database db = await database; + return await db.delete(tableSensorModel); + } + + // SQL close database + Future close() async { + Database db = await database; + db.close(); + } +} diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index b56c1271..1fb58039 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -1,4 +1,4 @@ -import 'package:apollineflutter/sensormodel.dart'; +import 'package:apollineflutter/models/sensormodel.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 399830bd..1e663f7e 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:core'; +import 'package:apollineflutter/models/sensormodel.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:flutter/material.dart'; @@ -17,7 +18,6 @@ import 'package:mp_chart/mp/core/enums/axis_dependency.dart'; import 'package:mp_chart/mp/core/enums/x_axis_position.dart'; import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; -import 'package:apollineflutter/sensormodel.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; class Stats extends StatefulWidget { @@ -32,18 +32,24 @@ class Stats extends StatefulWidget { class StatsState extends State implements OnChartValueSelectedListener { StatsState({Key key, this.datas}); RealtimeDataService _dataService = locator(); + // stream to listen the arrival of new data Stream _dataStream = locator().dataStream; + // a controller with the stream it controls. StreamSubscription _streamSubscription; + // contorller for chart LineChartController controller; SensorModel datas; + // Line PM1 ILineDataSet setPM1; + // Line PM2.5 ILineDataSet setPM2_5; + // Line PM10 ILineDataSet setPM10; bool intialized = false; double i0 = 0; double i1 = 0; double i2 = 0; - + // used to get format date List _dataTimeX = List(); @override void dispose() { @@ -54,6 +60,7 @@ class StatsState extends State implements OnChartValueSelectedListener { @override void initState() { _initController(); + // add point to chart after recieve newData _streamSubscription = _dataStream.listen((newData) { if (intialized) { _addEntry( @@ -67,6 +74,7 @@ class StatsState extends State implements OnChartValueSelectedListener { } }); super.initState(); + //create line for PM1, PM2.5 and PM10 Timer(Duration(milliseconds: 0), () { LineData data = controller?.data; data = LineData(); @@ -81,6 +89,7 @@ class StatsState extends State implements OnChartValueSelectedListener { }); } + // button to stop or play chart void _togglePulsar() { if (_dataService.isRunning) { _dataService.stop(); @@ -117,7 +126,8 @@ class StatsState extends State implements OnChartValueSelectedListener { Widget build(BuildContext context) { return getBody(); } - + + //init chart void _initController() { var desc = Description()..enabled = false; controller = LineChartController( @@ -166,6 +176,7 @@ class StatsState extends State implements OnChartValueSelectedListener { final List colors = ColorUtils.VORDIPLOM_COLORS; + // add point (x, y) for line which the index is setIndex void _addEntry(int setIndex, double x, double y) { LineData data = controller?.data; @@ -182,6 +193,7 @@ class StatsState extends State implements OnChartValueSelectedListener { controller.state?.setStateIfNotDispose(); } + // create line data for PM1 LineDataSet _createSet() { LineDataSet set = LineDataSet(null, "PM 1"); set.setLineWidth(2.5); @@ -194,6 +206,7 @@ class StatsState extends State implements OnChartValueSelectedListener { return set; } + // create line data for PM2.5 LineDataSet _createSet2() { LineDataSet set = LineDataSet(null, "PM 2.5"); set.setLineWidth(2.5); @@ -206,6 +219,7 @@ class StatsState extends State implements OnChartValueSelectedListener { return set; } + // create line data for PM10 LineDataSet _createSet3() { LineDataSet set = LineDataSet(null, "PM 10"); set.setLineWidth(2.5); @@ -219,10 +233,12 @@ class StatsState extends State implements OnChartValueSelectedListener { } } +// used to format date class A extends ValueFormatter { A(this._dataTimeX) : super(); final List _dataTimeX; + // get format date @override String getFormattedValue1(double value) { List timeX = diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d3827268..423d7de1 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -35,6 +35,9 @@ dependencies: geohash: ^0.2.1 # location geolocator: ^6.1.13 + sqflite: ^1.3.2+1 + + dev_dependencies: flutter_test: From 659f3424b4b699cb8bcfa49b478ef1590558cd04 Mon Sep 17 00:00:00 2001 From: Gdissa Ramy Date: Sun, 14 Feb 2021 14:33:22 +0100 Subject: [PATCH 021/522] add Readme --- README.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bb8ee8f1..3df5ac45 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ -# apolline-flutter -Flutter version of the Apolline app. +### Project coding - Apolline +### Membre du groupe: +Issagha BARRY, Ramy GDISSA, Lina RADI, Remi VIDOR. + +### Présentation: +Le but est de développer une application sous Android et Ios pour la collecte de mesures de l'air à l'aide d'un capteur connecté via le bluetooth. + +### Langage: +Le langage utilisé est Dart avec le framework Flutter. Qui nous permet d'avoir un seul code source pour les versions Android et Ios. + +### Captures d'écrans: + +### Les librairies utilisées: +- flutter_blue : Un plugin de Flutter pour se connecter et communiquer avec des appareils Bluetooth à faible consommation d'énergie, sur Android et iOS +- syncfusion_flutter_gauges: La bibliothèque de jauges Syncfusion de Flutter contient des widgets de visualisation de données tels que la jauge radiale, qui est écrite en fléchette, pour créer des jauges modernes, interactives et animées. +- get_it: Un simple Service Locator direct qui permet de découpler l'interface d'une implémentation concrète et d'accéder à l'implémentation concrète de partout dans l'applciation. +- mp_chart: Un ensemble de cartes de Flutter tout comme AndroidMPChart, applique une carte facile à utiliser pour le Flutter. +- google_maps_flutter: Un plugin Flutter pour l'intégration de Google Maps dans les applications iOS et Android. Utilisé pour le map de l'application +- flutter_launcher_icons: Un paquet qui simplifie la tâche de mise à jour de l'icône du lanceur de votre application Flutter. +- http: Une API composable, multi-plateforme et basée sur le futur pour les requêtes HTTP. Utilisé pour le influxDB. +- sqflite: Un plugin de Flutter pour SQLite, un moteur de base de données SQL intégré, autonome et très fiable. Utilisé pour stocker les données en local +- geolocator: Un plugin de géolocalisation pour Flutter. Ce plugin fournit une API multi-plateforme (iOS, Android) pour les fonctions de localisation générique (GPS, etc.). Utilisé pour récupuer la position (longitude et longitude). +- geohash: Une simple bibliothèque de geohashing pour les fléchettes. Utilisé pour décoder et encoder la postion(longitude et longitude). +- global_configuration: Un paquet de Flutter pour gérer les différentes configurations et les rendre disponibles partout dans l'application. From db78aa994f652aff2427e10be024084c4fdf3f6b Mon Sep 17 00:00:00 2001 From: Barry Issagha <44679171+issaghaBarry@users.noreply.github.com> Date: Mon, 15 Feb 2021 09:37:06 +0100 Subject: [PATCH 022/522] Feat/display data on map (#29) * feat: adding heat points to the map Co-authored-by: Gdissa Ramy --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/assets/cfg/config_dev.json | 4 +- apolline-flutter/assets/cfg/config_prod.json | 9 + apolline-flutter/lib/app.dart | 27 ++ .../lib/bluetoothDevicesPage.dart | 10 +- .../lib/configuration_key_name.dart | 22 ++ apolline-flutter/lib/main_dev.dart | 12 + apolline-flutter/lib/main_prod.dart | 12 + .../lib/models/dateSynchromodel.dart | 24 -- .../lib/models/sensor_device.dart | 2 + apolline-flutter/lib/models/sensormodel.dart | 8 +- .../lib/models/user_configuration.dart | 76 ++++++ apolline-flutter/lib/sensor.dart | 3 +- .../lib/services/influxdb_client.dart | 11 +- .../services/local_persistant_service.dart | 34 +++ .../lib/services/realtime_data_service.dart | 18 +- .../services/realtime_data_service_impl.dart | 11 +- .../lib/services/service_locator.dart | 3 + .../lib/services/sqflite_service.dart | 21 ++ .../services/user_configuration_service.dart | 31 +++ apolline-flutter/lib/widgets/maps.dart | 254 +++++++++++++++++- apolline-flutter/lib/widgets/stats.dart | 4 +- apolline-flutter/pubspec.yaml | 1 + 23 files changed, 531 insertions(+), 68 deletions(-) create mode 100644 apolline-flutter/assets/cfg/config_prod.json create mode 100644 apolline-flutter/lib/app.dart create mode 100644 apolline-flutter/lib/configuration_key_name.dart create mode 100644 apolline-flutter/lib/main_dev.dart create mode 100644 apolline-flutter/lib/main_prod.dart delete mode 100644 apolline-flutter/lib/models/dateSynchromodel.dart create mode 100644 apolline-flutter/lib/models/user_configuration.dart create mode 100644 apolline-flutter/lib/services/local_persistant_service.dart create mode 100644 apolline-flutter/lib/services/user_configuration_service.dart diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index ae50a40f..300c1237 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+8/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-02 17:21:35.843529","version":"1.22.5"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.0\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.12+4\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.0\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.12+4\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+6\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_macos-0.0.1+11\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_linux-0.0.2+4\\\\","dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-0.0.4+3\\\\","dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_windows-0.0.2+3\\\\","dependencies":["path_provider_windows"]}],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator_web","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator_web-1.0.0\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_web"]},{"name":"geolocator_web","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-15 09:25:33.057728","version":"1.22.4"} \ No newline at end of file diff --git a/apolline-flutter/assets/cfg/config_dev.json b/apolline-flutter/assets/cfg/config_dev.json index 99109606..ec5fd7c3 100644 --- a/apolline-flutter/assets/cfg/config_dev.json +++ b/apolline-flutter/assets/cfg/config_dev.json @@ -3,5 +3,7 @@ "ping_url": "http://192.168.0.33/health", "password": "apollineapp", "username": "apollineapp", - "dbname": "apolline" + "dbname": "apolline", + "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] } \ No newline at end of file diff --git a/apolline-flutter/assets/cfg/config_prod.json b/apolline-flutter/assets/cfg/config_prod.json new file mode 100644 index 00000000..ec5fd7c3 --- /dev/null +++ b/apolline-flutter/assets/cfg/config_prod.json @@ -0,0 +1,9 @@ +{ + "api_url": "http://192.168.0.33", + "ping_url": "http://192.168.0.33/health", + "password": "apollineapp", + "username": "apollineapp", + "dbname": "apolline", + "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] +} \ No newline at end of file diff --git a/apolline-flutter/lib/app.dart b/apolline-flutter/lib/app.dart new file mode 100644 index 00000000..a5d9a3a3 --- /dev/null +++ b/apolline-flutter/lib/app.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:apollineflutter/bluetoothDevicesPage.dart'; + + + +class ApollineApp extends StatelessWidget { + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Apolline', + theme: ThemeData( + // This is the theme of your application. + // + // Try running your application with "flutter run". You'll see the + // application has a blue toolbar. Then, without quitting the app, try + // changing the primarySwatch below to Colors.green and then invoke + // "hot reload" (press "r" in the console where you ran "flutter run", + // or simply save your changes to "hot reload" in a Flutter IDE). + // Notice that the counter didn't reset back to zero; the application + // is not restarted. + primarySwatch: Colors.green, + ), + home: BluetoothDevicesPage(title: 'Apolline - Sensors'), + ); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 3a013db9..2d6f6826 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -3,6 +3,9 @@ import 'package:apollineflutter/services/influxdb_client.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; +import 'package:apollineflutter/services/local_persistant_service.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:apollineflutter/services/service_locator.dart'; class BluetoothDevicesPage extends StatefulWidget { BluetoothDevicesPage({Key key, this.title}) : super(key: key); @@ -33,11 +36,16 @@ class _BluetoothDevicesPageState extends State { InfluxDBAPI _service = InfluxDBAPI(); // use for sqfLite to save data in local SqfLiteService _sqfLiteSerive = SqfLiteService(); + ///user configuration in the ui + UserConfigurationService ucS = locator(); @override void initState() { super.initState(); - initializeDevice(); + //initializeDevice(); + this.ucS.addListener(() { + LocalKeyValuePersistance.saveObject("userconf", ucS.userConf.toJson()); + }); } /// diff --git a/apolline-flutter/lib/configuration_key_name.dart b/apolline-flutter/lib/configuration_key_name.dart new file mode 100644 index 00000000..985c1b91 --- /dev/null +++ b/apolline-flutter/lib/configuration_key_name.dart @@ -0,0 +1,22 @@ + +/// +///Author (Issagha Barry) +///This class contain all key name in the file configuration. +class ApollineConf { + /// the api url key name + static const String API_URL = "api_url"; + /// the key name of ping url + static const String PING_URL = "ping_url"; + /// + static const String PASSWORD = "password"; + /// + static const String USERNAME = "username"; + /// + static const String DBNAME = "dbname"; + ///the all min values for pm order in the model. + static const String MINPMVALUES = "minPmValues"; + ///the all max values for pm order in the model. + static const String MAXPMVALUES = "maxPmValues"; + + +} \ No newline at end of file diff --git a/apolline-flutter/lib/main_dev.dart b/apolline-flutter/lib/main_dev.dart new file mode 100644 index 00000000..e85405aa --- /dev/null +++ b/apolline-flutter/lib/main_dev.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; +import 'package:global_configuration/global_configuration.dart'; +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/app.dart'; + + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await GlobalConfiguration().loadFromAsset("config_dev.json"); + setupServiceLocator(); + runApp(ApollineApp()); +} \ No newline at end of file diff --git a/apolline-flutter/lib/main_prod.dart b/apolline-flutter/lib/main_prod.dart new file mode 100644 index 00000000..98867c7e --- /dev/null +++ b/apolline-flutter/lib/main_prod.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; +import 'package:global_configuration/global_configuration.dart'; +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/app.dart'; + + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await GlobalConfiguration().loadFromAsset("config_prod.json"); + setupServiceLocator(); + runApp(ApollineApp()); +} \ No newline at end of file diff --git a/apolline-flutter/lib/models/dateSynchromodel.dart b/apolline-flutter/lib/models/dateSynchromodel.dart deleted file mode 100644 index aa983201..00000000 --- a/apolline-flutter/lib/models/dateSynchromodel.dart +++ /dev/null @@ -1,24 +0,0 @@ -// Authors BARRY Issagha, GDISSA Ramy - -//DateSynchromodel contient les dates -class DateSynchromodel { - int date; - - /* Values received, parsed through a comma-separated string */ - List values = []; - - /// - ///constructor of senorModel. - DateSynchromodel({this.date}) {} - - // Format Json of sensorModel - Map toJSON() { - var json = Map(); - json["dateSynchro"] = this.date; - return json; - } - - // ignore: non_constant_identifier_names - // create object from Json - DateSynchromodel.fromJson(Map json) : this(date: json['date']); -} diff --git a/apolline-flutter/lib/models/sensor_device.dart b/apolline-flutter/lib/models/sensor_device.dart index 4bb26c12..141c543a 100644 --- a/apolline-flutter/lib/models/sensor_device.dart +++ b/apolline-flutter/lib/models/sensor_device.dart @@ -1,5 +1,7 @@ import 'package:flutter_blue/flutter_blue.dart'; +/// Authors BARRY Issagha, GDISSA Ramy +/// class SensorDevice { BluetoothDevice _device; String _name; diff --git a/apolline-flutter/lib/models/sensormodel.dart b/apolline-flutter/lib/models/sensormodel.dart index 63293591..f07674a8 100644 --- a/apolline-flutter/lib/models/sensormodel.dart +++ b/apolline-flutter/lib/models/sensormodel.dart @@ -38,7 +38,7 @@ class SensorModel { /// ///constructor of senorModel. SensorModel({this.values, this.device, this.position}) { - this._date = DateTime.now().microsecondsSinceEpoch; + this._date = DateTime.now().millisecondsSinceEpoch; } /// @@ -54,6 +54,12 @@ class SensorModel { return double.parse(this.values[SENSOR_TEMP]) + 273.15; } + /// + ///return the pm 25 value + double get pm25value { + return double.parse(this.values[SENSOR_PM_2_5]); + } + /// ///return the humidity compensated. double get humidityC { diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart new file mode 100644 index 00000000..b7a9b93f --- /dev/null +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -0,0 +1,76 @@ +import 'package:apollineflutter/models/sensormodel.dart'; + + +///Author (Issagha BARRY) +/// +enum MapFrequency { + MAP_SYNC_1_MIN, + MAP_SYNC_5_MIN, + MAP_SYNC_15_MIN, + MAP_SYNC_30_MIN, + MAP_SYNC_1_HOUR, + MAP_SYNC_3_HOUR, + MAP_SYNC_6_HOUR, + MAP_SYNC_12_HOUR, + MAP_SYNC_24_HOUR, + MAP_SYNC_TODAY, + MAP_SYNC_THIS_WEEK, +} + +///Author (Issagha BARRY) +///User configuration in ui +class UserConfiguration { + + ///variable to retrieve data up to x minute + MapFrequency _mapSyncFrequency ; + ///index pm in sensor model. + int _pmIndex; + + /// + ///Constructor + UserConfiguration({mapSyncFrequency: MapFrequency.MAP_SYNC_1_MIN, pmIndex: SensorModel.SENSOR_PM_2_5}) { + this._mapSyncFrequency = mapSyncFrequency; + this._pmIndex = pmIndex; + } + + /// + ///Constructor from json + UserConfiguration.fromJson(Map json) { + this._mapSyncFrequency = MapFrequency.values[json['mapSyncFreq']]; + this._pmIndex = json['pmIndex']; + } + + /// + ///formate class to json. + Map toJson() { + return { + "mapSyncFreq": this.mapSyncFrequency.index, + "pmIndex": this._pmIndex + }; + } + + /// + ///getteur map + MapFrequency get mapSyncFrequency { + return this._mapSyncFrequency; + } + + /// + ///gette index pm + int get pmIndex { + return this._pmIndex; + } + + /// + ///setteur + void set pmIndex(int index) { + this._pmIndex = index; + } + + /// + ///Setteur + void set mapSyncFrequency(MapFrequency frequency) { + this._mapSyncFrequency = frequency; + } + +} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 0cb43fd1..84cc0207 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -16,6 +16,7 @@ import 'services/service_locator.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; +import 'package:apollineflutter/services/service_locator.dart'; enum ConnexionType { Normal, Disconnect } @@ -76,7 +77,7 @@ class _SensorViewState extends State { var position = this._currentPosition ?? Position(); var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); - _dataService.update(values); + _dataService.update(model); /* insert to sqflite */ _sqfLiteService.insertSensor(model.toJSON()); diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 364ed2a9..9bbacfb9 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -5,20 +5,21 @@ import 'package:apollineflutter/exception/bad_request_exception.dart'; import 'package:apollineflutter/exception/lost_connection_exception.dart'; import 'package:http/http.dart' as http; import 'package:global_configuration/global_configuration.dart'; +import 'package:apollineflutter/configuration_key_name.dart'; ///Author (Issagha Barry) ///Influx db api. class InfluxDBAPI { ///the address where to save data. - final String _connectionString = GlobalConfiguration().get("api_url"); + final String _connectionString = GlobalConfiguration().get(ApollineConf.API_URL); ///the name of database. - final String _db = GlobalConfiguration().get("dbname"); + final String _db = GlobalConfiguration().get(ApollineConf.DBNAME); ///the user. - final String _username = GlobalConfiguration().get("username"); + final String _username = GlobalConfiguration().get(ApollineConf.USERNAME); ///the password. - final String _password = GlobalConfiguration().get("password"); + final String _password = GlobalConfiguration().get(ApollineConf.PASSWORD); ///the health url - final String _pingUrl = GlobalConfiguration().get("ping_url"); + final String _pingUrl = GlobalConfiguration().get(ApollineConf.PING_URL); static final InfluxDBAPI _instance = InfluxDBAPI._internal(); _InfluxDBClient client = _InfluxDBClient(http.Client()); diff --git a/apolline-flutter/lib/services/local_persistant_service.dart b/apolline-flutter/lib/services/local_persistant_service.dart new file mode 100644 index 00000000..44d7f75f --- /dev/null +++ b/apolline-flutter/lib/services/local_persistant_service.dart @@ -0,0 +1,34 @@ +import 'dart:convert'; +import 'dart:io'; +import 'package:shared_preferences/shared_preferences.dart'; + +/// +///Author(Issagha Barry) +///service for persist data in localStorage +class LocalKeyValuePersistance { + + /// + ///generate key. + static String generateKey(String key) { + return "apolline_$key"; + } + + /// + ///save some data to localStorage + static Future saveObject(String key, Map data) async{ + var prefs = await SharedPreferences.getInstance(); + var stringObject = JsonEncoder().convert(data); + await prefs.setString(generateKey(key), stringObject); + } + + /// + ///get some data to localStoraage. + static Future> getObject(String key) async{ + var prefs = await SharedPreferences.getInstance(); + var stringObject = prefs.getString(generateKey(key)); + if(stringObject != null) { + return JsonDecoder().convert(stringObject) as Map; + } + return null; + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/services/realtime_data_service.dart b/apolline-flutter/lib/services/realtime_data_service.dart index e5b1a2e7..9f688ea6 100644 --- a/apolline-flutter/lib/services/realtime_data_service.dart +++ b/apolline-flutter/lib/services/realtime_data_service.dart @@ -1,22 +1,10 @@ -class SensorModels { - static const int SENSOR_DATE = 0; - static const int SENSOR_PM_1 = 1; - static const int SENSOR_PM_2_5 = 2; - static const int SENSOR_PM_10 = 3; - static const int SENSOR_TEMP = 17; - static const int SENSOR_VOLT = 19; - - /* Values received, parsed through a comma-separated string */ - List values = []; - - SensorModels(this.values); -} +import 'package:apollineflutter/models/sensormodel.dart'; abstract class RealtimeDataService { - Stream dataStream; + Stream dataStream; void closeDataStream(); - void update(List newValues); + void update(SensorModel newValues); void start(); void stop(); bool isRunning; diff --git a/apolline-flutter/lib/services/realtime_data_service_impl.dart b/apolline-flutter/lib/services/realtime_data_service_impl.dart index 2dfd9a43..d3e9a2fb 100644 --- a/apolline-flutter/lib/services/realtime_data_service_impl.dart +++ b/apolline-flutter/lib/services/realtime_data_service_impl.dart @@ -1,9 +1,10 @@ import 'dart:async'; import 'realtime_data_service.dart'; +import 'package:apollineflutter/models/sensormodel.dart'; class RealtimeDataServiceImpl extends RealtimeDataService { - StreamController _streamController; + StreamController _streamController; List values = []; // ignore: non_constant_identifier_names bool is_running = true; @@ -32,7 +33,7 @@ class RealtimeDataServiceImpl extends RealtimeDataService { } @override - Stream get dataStream { + Stream get dataStream { if (_streamController == null) { _streamController = StreamController.broadcast( onListen: start, @@ -48,11 +49,11 @@ class RealtimeDataServiceImpl extends RealtimeDataService { } @override - void update(List newValues) { + void update(SensorModel newValues) { // values = newValues; if (_streamController != null && is_running == true) { - values = newValues; - _streamController.add(SensorModels(newValues)); + values = newValues.values; + _streamController.add(newValues); } } } diff --git a/apolline-flutter/lib/services/service_locator.dart b/apolline-flutter/lib/services/service_locator.dart index aa1d0c16..c2fc63cd 100644 --- a/apolline-flutter/lib/services/service_locator.dart +++ b/apolline-flutter/lib/services/service_locator.dart @@ -2,10 +2,13 @@ import 'package:get_it/get_it.dart'; import 'realtime_data_service.dart'; import 'realtime_data_service_impl.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; GetIt locator = GetIt.instance; setupServiceLocator() { locator.registerLazySingleton( () => RealtimeDataServiceImpl()); + + locator.registerSingleton(UserConfigurationService(), signalsReady: true); } diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 525c8678..f84a3e6e 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -1,9 +1,11 @@ import 'dart:io'; import 'package:apollineflutter/models/sensor_collection.dart'; import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:apollineflutter/models/user_configuration.dart'; // Author GDISSA Ramy // Sqflite Database @@ -161,6 +163,25 @@ class SqfLiteService { return sensdorModels; } + /// + ///get all data after this mapfrequency [freq]. + Future> getAllSensorModelAfterDate(MapFrequency freq) async { + List sensorModels = []; + var now = DateTime.now(); + List freqC = [1, 5, 15, 30, 60, 180, 360, 720, 1440]; //convert to minute. + var today = now.hour*60 + now.minute; + var thisweek = (now.weekday - 1) * 24 * 60 + today; + freqC.add(today); + freqC.add(thisweek); + var time = now.millisecondsSinceEpoch - 60000*freqC[freq.index]; + + Database db = await database; + var jsonres = await db.query(tableSensorModel, columns: null, where: "$columnDate >= ?", whereArgs: [time]); + jsonres.forEach((pJson) { sensorModels.add(SensorModel.fromJson(pJson)); }); + + return sensorModels; + } + // SQL update Sensor colunm synchronisation Future updateSensorSynchronisation(List ids) async { diff --git a/apolline-flutter/lib/services/user_configuration_service.dart b/apolline-flutter/lib/services/user_configuration_service.dart new file mode 100644 index 00000000..7c891904 --- /dev/null +++ b/apolline-flutter/lib/services/user_configuration_service.dart @@ -0,0 +1,31 @@ +import 'package:apollineflutter/models/user_configuration.dart'; +import 'package:flutter/foundation.dart'; +import 'package:apollineflutter/services/local_persistant_service.dart'; +import 'package:apollineflutter/services/service_locator.dart'; + +///Author (Issagha BARRY) +/// +class UserConfigurationService extends ChangeNotifier{ + //user configuration + UserConfiguration userConf; + //help to know if data is load from local storage + bool isReady = false; + + /// + ///constructor load data et signal data is ready. + UserConfigurationService() { + + //load data from localStorage. + LocalKeyValuePersistance.getObject("userconf").then((json) { //todo mettre la chaine ailleur pour factoriser + this.isReady = true; + this.userConf = json == null ? UserConfiguration() : UserConfiguration.fromJson(json); + locator.signalReady(this); + }); + } + + /// + ///notify all listener user configuration is update + void update() { + this.notifyListeners(); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index aac8ac32..fbf32d6b 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -1,6 +1,20 @@ +import 'dart:async'; +import 'dart:collection'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show rootBundle; import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; +import 'package:apollineflutter/utils/simple_geohash.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:global_configuration/global_configuration.dart'; +import 'package:apollineflutter/configuration_key_name.dart'; +import 'package:apollineflutter/models/user_configuration.dart'; +import 'package:apollineflutter/services/realtime_data_service.dart'; +import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/services/location_service.dart'; + class MapSample extends StatelessWidget { MapSample() : super(); @@ -19,14 +33,59 @@ class MapUiBody extends StatefulWidget { } class MapUiBodyState extends State { + + ///the min value of pm order in sensormodel. + var minPmValues = GlobalConfiguration().get(ApollineConf.MINPMVALUES) ?? []; + ///the max value of pm order in sensormodel. + var maxPmValues = GlobalConfiguration().get(ApollineConf.MAXPMVALUES) ?? []; + ///user configuration in the ui + UserConfigurationService ucS = locator(); + ///instance to manage database + SqfLiteService _sqliteService = SqfLiteService(); + ///circle to put in map + Set _circles; + ///help for close subscription + StreamSubscription _sub; + ///help to listen data + Stream _sensorDataStream = locator().dataStream; + /// the label for time. + List mapTimeLabel = [ + "last minute", + "last 5 minutes", + "last 15 minutes", + "last 30 minutes", + "last 1 hour", + "last 3 hours", + "last 6 hours", + "last 12 hours", + "last 24 hours", + "Today", + "This week" + + ]; + /// the label of pm + List pmLabels= [ + "PM 1", + "PM 2_5", + "PM 10", + "PM_ABOVE 0_3", + "PM_ABOVE 0_5", + "PM_ABOVE 1", + "PM_ABOVE 2_5", + "PM_ABOVE 5", + "PM_ABOVE 10", + ]; + ///the index of each pm in model. + List indexPmValueInModel = [1, 2, 3, 4, 5, 6, 7, 8, 9]; + MapUiBodyState(); - static final CameraPosition _kInitialPosition = const CameraPosition( + CameraPosition _kInitialPosition = CameraPosition( target: LatLng(50.6333, 3.0667), zoom: 11.0, ); - CameraPosition _position = _kInitialPosition; + CameraPosition _position; bool _isMapCreated = false; bool _isMoving = false; bool _compassEnabled = true; @@ -49,10 +108,30 @@ class MapUiBodyState extends State { @override void initState() { super.initState(); + this._circles = HashSet(); + this._position = this._kInitialPosition; + this.getSensorDataAfterDate(); + this.listenSensorData(); + } + + /// + ///Listen sensor data. + void listenSensorData() { + this._sub = this._sensorDataStream.listen((pModel) { + if(pModel.position.geohash != "no") { + this.addCircle(pModel); + //manage the rendering frequency. + if(this._circles.length % 10 == 0) { + this.setState(() { }); + } + } + + }); } @override void dispose() { + this._sub?.cancel(); super.dispose(); } @@ -67,6 +146,84 @@ class MapUiBodyState extends State { }); } + /// + ///This function build a radio button for mapSync + ///[context] the context + ///[labels] the label + ///[values] all value + List frequencyRadio(BuildContext context, List labels, List values, dynamic current) { + + List renders = []; + for(var i = 0; i < labels.length; i++) { + renders.add( + ListTile( + title: Text(labels[i]), + leading: Radio( + value: values[i], //we use index for maping label et MapFrequency + groupValue: current, + onChanged: (dynamic value) { + Navigator.pop(context, values[i]); + }, + ), + ), + ); + } + return renders; + } + + /// + ///Create dialog for select. + ///[ctx] the context of app + ///[labels] label in the select + ///[values] the values corresponding to labels + ///[current] the current value of select + Future dialog(BuildContext ctx, List labels, List values, dynamic current) async{ + var val = await showDialog( + context: ctx, + builder: (BuildContext context) { + return AlertDialog( + contentPadding: EdgeInsets.only(left:0), + content: Container( + height: 300, + width: 300, + child: ListView( + children: this.frequencyRadio(context, labels, values, current), + ) + ), + ); + } + ); + return val; + } + + /// + ///select for time frequency + ///[ctx] the context of app + Future chooseTimeFrequency(BuildContext ctx) async{ + var uConf = this.ucS.userConf; + var val = await this.dialog(ctx, mapTimeLabel, MapFrequency.values, uConf.mapSyncFrequency); + if(val != null) { + uConf.mapSyncFrequency = val; + this.ucS.update(); //notify the settings page that something has changed. + this.getSensorDataAfterDate(); + } + } + + /// + ///select for choose pm. + ///[ctx] the context of app + Future choosePm(BuildContext ctx) async { + var uConf = this.ucS.userConf; + var val = await this.dialog(ctx, pmLabels, indexPmValueInModel, uConf.pmIndex); + if(val != null) { + uConf.pmIndex = val; + this.ucS.update(); + this.getSensorDataAfterDate(); + } + } + + /// + ///Not used, help to change in night mode. Widget _nightModeToggler() { if (!_isMapCreated) { return null; @@ -106,28 +263,101 @@ class MapUiBodyState extends State { myLocationButtonEnabled: _myLocationButtonEnabled, trafficEnabled: _myTrafficEnabled, onCameraMove: _updateCameraPosition, + circles: this._circles, ); return new Scaffold( body: googleMap, - // floatingActionButton: FloatingActionButton.extended( - // onPressed: _nightModeToggler, - // label: Text('Mode night!'), - // icon: Icon(Icons.nights_stay), - // ), + floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, + floatingActionButton: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + FloatingActionButton.extended( + label: Text("Time"), + onPressed: () { this.chooseTimeFrequency(context); }, + backgroundColor: Colors.green, //TODO trouver le moyen de factoriser dans ThemeData + ), + FloatingActionButton.extended( + label: Text("PM"), + onPressed: () { this.choosePm(context); }, + backgroundColor: Colors.green, //TODO trouver le moyen de factoriser dans ThemeData + ) + ], + ), + ), ); } + /// + ///Call when cameraPosition update void _updateCameraPosition(CameraPosition position) { - setState(() { - _position = position; + _position = position; + } + + /// + ///Get the color fonction of pm25 value + Color getColorOfPM25(double pmValue) { + var index = this.indexPmValueInModel.indexOf(this.ucS.userConf.pmIndex); + + var min = index >= 0 && index < this.minPmValues.length ? this.minPmValues[index] : 0; + var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; + if(pmValue < min) { + return Color.fromRGBO(170, 255, 0, .1); //vert + } else if(pmValue > min && pmValue < max) { + return Color.fromRGBO(255, 143, 0, .1); //orange + } else { + return Color.fromRGBO(255, 15, 0, .1); //rouge + } + } + + /// + ///add circle to model. + ///[pModel] model + void addCircle(SensorModel pModel) { + var json = SimpleGeoHash.decode(pModel.position.geohash); + this._circles.add( + Circle( + circleId: CircleId(UniqueKey().toString()), + center: LatLng(json["latitude"], json["longitude"]), + radius: 10, + strokeWidth: 0, + fillColor: this.getColorOfPM25(double.parse(pModel.values[this.ucS.userConf.pmIndex])) + ) + ); + } + + /// + ///update data after change time of pm choice. + void getSensorDataAfterDate() { + this._sqliteService.getAllSensorModelAfterDate(this.ucS.userConf.mapSyncFrequency).then((res) { + this._circles.clear(); //clean last content. + for(var i = 0; i < res.length; i++) { + this.addCircle(res[i]); + } + + this.setState(() {}); }); } + /// + /// Call when map is create. + /// [controller] GoogleMapController help to do something. void onMapCreated(GoogleMapController controller) { - setState(() { - _controller = controller; - _isMapCreated = true; + _controller = controller; + _isMapCreated = true; + SimpleLocationService().getLocation().then((position) { + if(position.geohash != "no") { + var json = SimpleGeoHash.decode(position.geohash); + this._kInitialPosition = CameraPosition( + target: LatLng(json["latitude"], json["longitude"]), + zoom: 19.0, + ); + + } + this._position = this._kInitialPosition; + this._controller.animateCamera(CameraUpdate.newCameraPosition(this._kInitialPosition)); }); } } diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 1e663f7e..92f5844e 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -33,9 +33,9 @@ class StatsState extends State implements OnChartValueSelectedListener { StatsState({Key key, this.datas}); RealtimeDataService _dataService = locator(); // stream to listen the arrival of new data - Stream _dataStream = locator().dataStream; + Stream _dataStream = locator().dataStream; // a controller with the stream it controls. - StreamSubscription _streamSubscription; + StreamSubscription _streamSubscription; // contorller for chart LineChartController controller; SensorModel datas; diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 423d7de1..b5f76e5a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: # location geolocator: ^6.1.13 sqflite: ^1.3.2+1 + shared_preferences: ^0.5.7+3 From d6e8d0aed7c3ccfa9d8d294d1c81e58a1eb5a57f Mon Sep 17 00:00:00 2001 From: Radi Lina Date: Mon, 15 Feb 2021 11:22:48 +0100 Subject: [PATCH 023/522] doc: add comments --- apolline-flutter/lib/widgets/quality.dart | 28 ++++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 1fb58039..7caf5cd4 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -9,6 +9,7 @@ class Quality extends StatelessWidget { Quality({Key key, this.lastReceivedData}) : super(key: key); + //Commun method to create similar gauge (PM1, PM2.5 , PM10 and TEMPERATURE) SfRadialGauge _buildGauge(String title, String data, String unit, Color color, BoxDecoration boxDecoration) { return SfRadialGauge(title: GaugeTitle(text: title), axes: [ @@ -50,6 +51,7 @@ class Quality extends StatelessWidget { ]); } + //Build BATTERY gauge SfRadialGauge _buildGaugeBattery(String title, String data) { String level; double pointer; @@ -74,32 +76,38 @@ class Quality extends StatelessWidget { level = "20"; pointer = 20; } + //Creates Battery gauge parts return SfRadialGauge(title: GaugeTitle(text: title), axes: [ RadialAxis(minimum: 0, maximum: 100, ranges: [ + //first part GaugeRange( startValue: 0, endValue: 20, color: Colors.red, startWidth: 10, endWidth: 10), + //second part GaugeRange( startValue: 20, endValue: 40, color: Colors.orange, startWidth: 10, endWidth: 10), + //third part GaugeRange( startValue: 40, endValue: 60, color: Colors.green[200], startWidth: 10, endWidth: 10), + //forth part GaugeRange( startValue: 60, endValue: 80, color: Colors.green[300], startWidth: 10, endWidth: 10), + //fifth part GaugeRange( startValue: 80, endValue: 100, @@ -120,6 +128,7 @@ class Quality extends StatelessWidget { ]); } + //Build gauges @override Widget build(BuildContext context) { return Scaffold( @@ -131,16 +140,19 @@ class Quality extends StatelessWidget { padding: const EdgeInsets.all(0), crossAxisSpacing: 10, mainAxisSpacing: 10, + //displays 3 gauges when screen is horizontal and 2 when is vertical crossAxisCount: orientation == Orientation.landscape ? 3 : 2, children: [ + //creates PM1 gauge Container( child: _buildGauge( - "PM1", - lastReceivedData.values[SensorModel.SENSOR_PM_1], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), + "PM1", //title + lastReceivedData.values[SensorModel.SENSOR_PM_1], //data + "µg/m3", //unit + Colors.blueGrey, //color + new BoxDecoration()), //box ), + //creates PM2.5 gauge Container( child: _buildGauge( "PM2.5", @@ -149,6 +161,7 @@ class Quality extends StatelessWidget { Colors.blueGrey, new BoxDecoration()), ), + //creates PM10 gauge Container( child: _buildGauge( "PM10", @@ -157,6 +170,7 @@ class Quality extends StatelessWidget { Colors.blueGrey, new BoxDecoration()), ), + //creates TEMPERATURE gauge Container( child: _buildGauge( "TEMPERATURE", @@ -165,9 +179,11 @@ class Quality extends StatelessWidget { Color(0xFFFFCD60), new BoxDecoration( image: new DecorationImage( - image: ExactAssetImage('assets/sun.png'), + image: ExactAssetImage( + 'assets/sun.png'), //creates image for temperature gauge fit: BoxFit.fitHeight))), ), + //creates BATTERY gauge Container( child: _buildGaugeBattery("BAT", lastReceivedData.values[SensorModel.SENSOR_VOLT])) From 309ab38335dac07e8789e95f6e63396d45ff08e2 Mon Sep 17 00:00:00 2001 From: GDISSA <47599833+gdissa@users.noreply.github.com> Date: Mon, 15 Feb 2021 13:27:30 +0100 Subject: [PATCH 024/522] feat: add doc and factorisation Co-authored-by: Gdissa Ramy --- .../.flutter-plugins-dependencies | 2 +- .../lib/models/sensor_collection.dart | 12 ++++-- .../lib/services/realtime_data_service.dart | 6 +++ .../services/realtime_data_service_impl.dart | 1 + .../lib/services/service_locator.dart | 2 + apolline-flutter/lib/widgets/maps.dart | 3 +- apolline-flutter/lib/widgets/stats.dart | 40 ++++--------------- 7 files changed, 28 insertions(+), 38 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index 300c1237..a180b768 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.0\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.12+4\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.0\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.0.6\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.6\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.24\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.12+4\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+6\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_macos-0.0.1+11\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+3\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_linux-0.0.2+4\\\\","dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-0.0.4+3\\\\","dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_windows-0.0.2+3\\\\","dependencies":["path_provider_windows"]}],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator_web","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator_web-1.0.0\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\touchepas\\\\Documents\\\\install\\\\flutter_windows_1.22.4-stable\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_web"]},{"name":"geolocator_web","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-15 09:25:33.057728","version":"1.22.4"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"shared_preferences","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.12+4/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"shared_preferences","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.12+4/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+8/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+11/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]},{"name":"shared_preferences_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-0.0.2+4/","dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]},{"name":"shared_preferences_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-0.0.2+3/","dependencies":["path_provider_windows"]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"shared_preferences_web","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+7/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-15 12:15:42.285493","version":"1.22.5"} \ No newline at end of file diff --git a/apolline-flutter/lib/models/sensor_collection.dart b/apolline-flutter/lib/models/sensor_collection.dart index 65a29dc4..cebd2f51 100644 --- a/apolline-flutter/lib/models/sensor_collection.dart +++ b/apolline-flutter/lib/models/sensor_collection.dart @@ -1,25 +1,31 @@ import 'package:apollineflutter/models/sensormodel.dart'; -class SensorCollection { +/// Sensore Collection used to make last data in collection +class SensorCollection { + // to stock lastData List lastData; int get length { return this.lastData.length; } + /// Conctructor SensorCollection() { this.lastData = []; } - + + /// Add a sensor model to lastData collection void addModel(SensorModel model) { this.lastData.add(model); } + /// Clean collection void clear() { this.lastData.clear(); } - + + /// make data in send format String fmtToInfluxData() { var result = ""; diff --git a/apolline-flutter/lib/services/realtime_data_service.dart b/apolline-flutter/lib/services/realtime_data_service.dart index 9f688ea6..898be20e 100644 --- a/apolline-flutter/lib/services/realtime_data_service.dart +++ b/apolline-flutter/lib/services/realtime_data_service.dart @@ -1,11 +1,17 @@ import 'package:apollineflutter/models/sensormodel.dart'; +/// abstract class +/// realtimedataService a service to stream sensormodel abstract class RealtimeDataService { Stream dataStream; + /// close Stream void closeDataStream(); + /// update Stream when we recieve a new model void update(SensorModel newValues); + /// start recieve model void start(); + /// stop recieve model void stop(); bool isRunning; List currentValues; diff --git a/apolline-flutter/lib/services/realtime_data_service_impl.dart b/apolline-flutter/lib/services/realtime_data_service_impl.dart index d3e9a2fb..fba71036 100644 --- a/apolline-flutter/lib/services/realtime_data_service_impl.dart +++ b/apolline-flutter/lib/services/realtime_data_service_impl.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'realtime_data_service.dart'; import 'package:apollineflutter/models/sensormodel.dart'; +/// RealtimeDataServiceImpl to implement method for the service class RealtimeDataServiceImpl extends RealtimeDataService { StreamController _streamController; List values = []; diff --git a/apolline-flutter/lib/services/service_locator.dart b/apolline-flutter/lib/services/service_locator.dart index c2fc63cd..a1a5c9b6 100644 --- a/apolline-flutter/lib/services/service_locator.dart +++ b/apolline-flutter/lib/services/service_locator.dart @@ -4,8 +4,10 @@ import 'realtime_data_service.dart'; import 'realtime_data_service_impl.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; + GetIt locator = GetIt.instance; +/// setup locator setupServiceLocator() { locator.registerLazySingleton( () => RealtimeDataServiceImpl()); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index fbf32d6b..174c319c 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -139,6 +139,7 @@ class MapUiBodyState extends State { return await rootBundle.loadString(path); } + /// to change map stype like mode night void _setMapStyle(String mapStyle) { setState(() { _nightMode = true; @@ -352,7 +353,7 @@ class MapUiBodyState extends State { var json = SimpleGeoHash.decode(position.geohash); this._kInitialPosition = CameraPosition( target: LatLng(json["latitude"], json["longitude"]), - zoom: 19.0, + zoom: 18.0, ); } diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 92f5844e..46c7d4ee 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -79,11 +79,11 @@ class StatsState extends State implements OnChartValueSelectedListener { LineData data = controller?.data; data = LineData(); controller.data = data; - setPM1 = _createSet(); + setPM1 = _createSet("PM1", Colors.black); data.addDataSet(setPM1); - setPM2_5 = _createSet2(); + setPM2_5 = _createSet("PM2.5", Colors.red); data.addDataSet(setPM2_5); - setPM10 = _createSet3(); + setPM10 = _createSet("PM10", Colors.yellow); data.addDataSet(setPM10); intialized = true; }); @@ -193,38 +193,12 @@ class StatsState extends State implements OnChartValueSelectedListener { controller.state?.setStateIfNotDispose(); } - // create line data for PM1 - LineDataSet _createSet() { - LineDataSet set = LineDataSet(null, "PM 1"); + // create line data for PM1, PM10, PM2.5 + LineDataSet _createSet(String name, Color color) { + LineDataSet set = LineDataSet(null, name); set.setLineWidth(2.5); set.setCircleRadius(4.5); - set.setColor1(Color.fromARGB(255, 240, 99, 99)); - set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); - set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); - set.setAxisDependency(AxisDependency.LEFT); - set.setValueTextSize(10); - return set; - } - - // create line data for PM2.5 - LineDataSet _createSet2() { - LineDataSet set = LineDataSet(null, "PM 2.5"); - set.setLineWidth(2.5); - set.setCircleRadius(4.5); - set.setColor1(Color.fromARGB(100, 0, 255, 99)); - set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); - set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); - set.setAxisDependency(AxisDependency.LEFT); - set.setValueTextSize(10); - return set; - } - - // create line data for PM10 - LineDataSet _createSet3() { - LineDataSet set = LineDataSet(null, "PM 10"); - set.setLineWidth(2.5); - set.setCircleRadius(4.5); - set.setColor1(Color.fromARGB(120, 0, 99, 99)); + set.setColor1(color); set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); set.setAxisDependency(AxisDependency.LEFT); From 0cb6afa5d9f0669d894fd009fa4fd4ba51685e20 Mon Sep 17 00:00:00 2001 From: Barry Issagha Date: Tue, 16 Feb 2021 16:48:36 +0100 Subject: [PATCH 025/522] docs: documentation update --- HOWTO.md | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 56 +++++++++++++++++++++--------- assets/1.jpg | Bin 0 -> 141705 bytes assets/2.jpg | Bin 0 -> 247676 bytes assets/3.jpg | Bin 0 -> 405787 bytes assets/4.jpg | Bin 0 -> 449980 bytes assets/5.jpg | Bin 0 -> 328104 bytes assets/6.jpg | Bin 0 -> 284263 bytes assets/7.png | Bin 0 -> 70744 bytes 9 files changed, 134 insertions(+), 17 deletions(-) create mode 100644 HOWTO.md create mode 100644 assets/1.jpg create mode 100644 assets/2.jpg create mode 100644 assets/3.jpg create mode 100644 assets/4.jpg create mode 100644 assets/5.jpg create mode 100644 assets/6.jpg create mode 100644 assets/7.png diff --git a/HOWTO.md b/HOWTO.md new file mode 100644 index 00000000..41ac479f --- /dev/null +++ b/HOWTO.md @@ -0,0 +1,95 @@ +# Mode d'emploi + +## Installation +--------------- +
+ +Pour faire tourner ce projet, il faudrait disposer d'un capteur bleu [LOA](http://www-loa.univ-lille1.fr/), d'un téléphone android en mode développeur et d'un ordinateur pour Installer [flutter](https://flutter.dev/docs/get-started/install) et [dart](https://dart.dev/get-dart), télécharger le projet [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng) et réussir à le faire tourner. Utiliser un IDE comme recommandé dans ce [lien](https://flutter.dev/docs/get-started/editor) ou taper les commandes suivantes dans le dossier où se trouve le projet. + +```bash +cd /apolline-flutter/apolline-flutter +flutter devices //pour vérifier si votre appareil android est reconnu +flutter run //pour faire tourner la simulation. +``` + + +## Structuration du projet +-------------------------- +
+ +Après le téléchargement du projet, vous aurez une structure qui ressemble comme ci dessus. + +``` +apolline-flutter/ +└── apolline-flutter/ + ├── android/ + ├── ... + ├── assets/ + ├── ... + ├── ios/ + ├── ... + ├── lib/ + ├── exception/ + ├── models/ + ├── services/ + ├── utils/ + ├── widgets/ + ├── main.dart + ├── ... + ├── test/ + └── assets/ + +``` + +Le développement est fait principalement dans le dossier *lib*, avec quelque manipulation sur les dossier *android*, *ios*, pour toutes les configurations demandés par les différents plugins que nous utilisons. + +- Le dossier *assets/cfg* contient la configuration nécéssaire pour l'application apolline + - **api_url**: qui correspond à l'url ou l'adresse ip sur lequel serrait entrain de tourner le projet [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng). + - **ping_url**: la même url que plus haut, pour nous permettre de savoir si une instance de ce projet [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng) est entrain de tourner. + - **password**: le mot de passe passe lié à l'instance [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng). + - **username**: l'utilisateur lié à l'instance [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng). + - **dbname**: le nom de la base lié à l'instance [apolline-backend-ng](https://github.com/Apolline-Lille/apolline-backend-ng). + - **minPmValues**: les valeurs minimales des *pm* suivant l'orde du *SensorModel* comme 0 -> SENSOR_PM_1, 1 -> SENSOR_PM_2_5, 2 -> SENSOR_PM_10, 3 -> SENSOR_PM_ABOVE_0_3, 4 -> SENSOR_PM_ABOVE_0_5, 5 -> SENSOR_PM_ABOVE_1, 6 -> SENSOR_PM_ABOVE_2_5, 7 -> SENSOR_PM_ABOVE_5, 8 -> SENSOR_PM_ABOVE_10. + - **maxPmValues**: la même chose que *minPmValues* +- Le dossier *lib/exception* contient l'ensemble des exceptions utilisé dans le projet +- Le dossier *lib/models* contient l'ensemble des models on retrouve + - **sensormodel.dart**: qui represente les données obtenue du capteur + - **sensor_device.dart**: qui represente un appareil bluetooth + - **user_configuration**: qui represente l'état global de l'application, par exemple le choix du temps afficher sur la carte +- Le dossier *lib/services* contient l'ensemble des services +- Le dossier *lib/utils* contient des utilitaires pour la position et encode de la position +- Le dossier *lib/widget* contient la page des mesures de l'air, un diagramme de ces données, et une carte avec des points de chaleur +- le fichier *main.dart* est l'entré de l'application +- la possibilité d'utiliser les fichiers *main_prod.dart* et *main_dev.dart* pour de l'intégration continue, un exemple de ma configuration vscode pour le debug dans le fichier lauch.json + +``` +"configurations": [ + { + "name": "apolline dev", + "cwd": "apolline-flutter", + "request": "launch", + "type": "dart", + "program": "lib/main_dev.dart", + "flutterMode": "debug" + }, + { + "name": "apolline prod", + "cwd": "apolline-flutter", + "request": "launch", + "type": "dart", + "program": "lib/main_prod.dart", + "flutterMode": "release" + } +] +``` +
+ +## Fonctionnement du projet +--------------------------- +
+ +![fonctionnement](assets/7.png) + + + + diff --git a/README.md b/README.md index 3df5ac45..48e1a0e6 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,47 @@ -### Project coding - Apolline +# Apolline - Flutter +Application multi-plateforme pour la collecte des mesures de l'air à l'aide d'un capteur -### Membre du groupe: -Issagha BARRY, Ramy GDISSA, Lina RADI, Remi VIDOR. +Capteur pris en charge: -### Présentation: -Le but est de développer une application sous Android et Ios pour la collecte de mesures de l'air à l'aide d'un capteur connecté via le bluetooth. + - [LOA](http://www-loa.univ-lille1.fr/) capteur. -### Langage: +## Langage +---------- Le langage utilisé est Dart avec le framework Flutter. Qui nous permet d'avoir un seul code source pour les versions Android et Ios. +## Status du projet +----------------- + ### Captures d'écrans: +| | | | +|:-------------------------:|:-------------------------:|:-------------------------:| +|screenshot_01|screenshot_02|screenshot_06| +|screenshot_05|screenshot_04|screenshot_03| + +
+ ### Les librairies utilisées: -- flutter_blue : Un plugin de Flutter pour se connecter et communiquer avec des appareils Bluetooth à faible consommation d'énergie, sur Android et iOS -- syncfusion_flutter_gauges: La bibliothèque de jauges Syncfusion de Flutter contient des widgets de visualisation de données tels que la jauge radiale, qui est écrite en fléchette, pour créer des jauges modernes, interactives et animées. -- get_it: Un simple Service Locator direct qui permet de découpler l'interface d'une implémentation concrète et d'accéder à l'implémentation concrète de partout dans l'applciation. -- mp_chart: Un ensemble de cartes de Flutter tout comme AndroidMPChart, applique une carte facile à utiliser pour le Flutter. -- google_maps_flutter: Un plugin Flutter pour l'intégration de Google Maps dans les applications iOS et Android. Utilisé pour le map de l'application -- flutter_launcher_icons: Un paquet qui simplifie la tâche de mise à jour de l'icône du lanceur de votre application Flutter. -- http: Une API composable, multi-plateforme et basée sur le futur pour les requêtes HTTP. Utilisé pour le influxDB. -- sqflite: Un plugin de Flutter pour SQLite, un moteur de base de données SQL intégré, autonome et très fiable. Utilisé pour stocker les données en local -- geolocator: Un plugin de géolocalisation pour Flutter. Ce plugin fournit une API multi-plateforme (iOS, Android) pour les fonctions de localisation générique (GPS, etc.). Utilisé pour récupuer la position (longitude et longitude). -- geohash: Une simple bibliothèque de geohashing pour les fléchettes. Utilisé pour décoder et encoder la postion(longitude et longitude). -- global_configuration: Un paquet de Flutter pour gérer les différentes configurations et les rendre disponibles partout dans l'application. +------------------- +- [flutter_blue](https://pub.dev/packages/flutter_blue) : Un plugin de Flutter pour se connecter et communiquer avec des appareils Bluetooth à faible consommation d'énergie, sur Android et iOS +- [syncfusion_flutter_gauges](https://pub.dev/packages/syncfusion_flutter_gauges): La bibliothèque de jauges Syncfusion de Flutter contient des widgets de visualisation de données tels que la jauge radiale, qui est écrite en fléchette, pour créer des jauges modernes, interactives et animées. +- [get_it](https://pub.dev/packages/get_it): Un simple Service Locator direct qui permet de découpler l'interface d'une implémentation concrète et d'accéder à l'implémentation concrète de partout dans l'applciation. +- [mp_chart](https://pub.dev/packages/mp_chart): Un ensemble de cartes de Flutter tout comme AndroidMPChart, applique une carte facile à utiliser pour le Flutter. +- [google_maps_flutter](https://pub.dev/packages/google_maps_flutter):Un plugin Flutter pour l'intégration de Google Maps dans les applications iOS et Android. Utilisé pour le map de l'application. +- [flutter_launcher_icons](https://pub.dev/packages/flutter_launcher_icons): Un paquet qui simplifie la tâche de mise à jour de l'icône du lanceur de votre application Flutter. +- [http](https://pub.dev/packages/http): Une API composable, multi-plateforme et basée sur le futur pour les requêtes HTTP. Utilisé pour le influxDB. +- [sqflite](https://pub.dev/packages/sqflite): Un plugin de Flutter pour SQLite, un moteur de base de données SQL intégré, autonome et très fiable. Utilisé pour stocker les données en local. +- [geolocator](https://pub.dev/packages/geolocator): Un plugin de géolocalisation pour Flutter. Ce plugin fournit une API multi-plateforme (iOS, Android) pour les fonctions de localisation générique (GPS, etc.). Utilisé pour récupuer la position (longitude et longitude). +- [geohash](https://pub.dev/packages/geohash): Une simple bibliothèque de geohashing pour les fléchettes. Utilisé pour décoder et encoder la postion(longitude et longitude). +- [global_configuration](https://pub.dev/packages/global_configuration): Un paquet de Flutter pour gérer les différentes configurations et les rendre disponibles partout dans l'application. + +
+ +### Contributeurs +---------------- +Ordre alphabétique des noms: + +- BARRY Issagha +- GDISSA Ramy +- RADI Lina +- VIDOR Remi diff --git a/assets/1.jpg b/assets/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee7c7e1ee1715847abf1735022c1f7ae62a901cd GIT binary patch literal 141705 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
L8%^CGBEOCXWHIWY8+`oi1E*1lD+G2u* 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�!lc54{*w&5)b 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 literal 0 HcmV?d00001 diff --git a/assets/2.jpg b/assets/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48dbdbc8a63da89c73ebb1a3894bee38d9c9c4cb GIT binary patch literal 247676 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 vfeMC7tWSQ898I{sd997;?E#-26` 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 z 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%0ATQ>1? zPs(o9lFqgN%JIpO#_-8og--W}@x*+l;oG~Tu6(;SW-m~ifqIs-uvOkE_lGbZ9^RbX zJR>Wz2e)4XL5}V1RisB=yEWe(Yf(Qiu7ZRoG?@SWvz^s;YWf!E*72qGZKJkw z+EabrkF)m;#RTG=Ra&k+iCRnsq8`o$T@_-VPOY~YS!un5I2#3amg5WXW%10uNc2rg zR?Q$*jJBzJh>^1q!aIrS(x@Ygr}4ZT%V_Dn;YNxN4Wnb?BIsB3`E=2#MpL@%n!5#R z)kUSmwL-s>8qS0UR~HhbCRNBToR^hk+i-s}ALI ztCs*Uo1s7P&;fK!3}#cQc8}plUXty~If=wLuzR38Y6kfJe2^o=Tom>Q|DdieKizt0 z`Jt-jsP^P{k{=vXdcTuAk^K5r7Vu1WH&8qma@)T&f)pNNV(-neGcD`G1g(3}#eFrj zR2B2`2@@T(vcTveHCj9qDbN^lY(3fS?%z5`XcnxYbT_xIx4EbfzV;LUwkge0-z~IR z8ORKBPBWlxv&)~g#E3zBbLetSnB`*nhuafuTwl7{@POU*^xO=EH*Gp&?l8W@KAyDu zrG4ntM-RTLka})UHmlFe$StxGM9a2S9b*+iKEh?J+YOVr=$%yHRpPIsR^@u}nh`(~ zKPs{>KM9r*m1cYIGpgY&Dk1qvl;LjIi`xtL`_H{9Jo1S|W%W2Sr(5#~9obW7K)k+@fFo;xu_ftVX_R0Ib^eKB>VEYaJyg z+mt<^pleXN@~l&XBRSQ`iqePycW&+d$UBpHvWLFkSFCZ4C8|;DeG8MR zlYKHmw#KG%o8P&ULP+9$^vac97emsDxF~`d;<8ekOsp}mHNA=-w6hr-YBYgO<87tQ z>&e^(tIC9>2>AwwQgW?+($HZ=zFr^N*=A9xl*VdmP2s|d4Y)_INci-3FpaYweb+=r zqg`pHR_sW7QJ7wi3VCCsZ=R2+u||1Mt;(EP!qK#PP%7Q7WjS6&gEiC33TN^ak zTbqL*ui@j+qffOQhJvj=MS&DMe(BHA^)@{hs!AfQ=oL7bnQLczbGdQyTA@gvo*;y8ud)78Gq074ug_m=)BQ#(|CPK;qa=)gzWh^4ZR_`IcZ6v_#Ro*Q;4DcViqe7C5ghj+EOrl%09 z*kUfeStvMt+5J5B;!*gaBzlXZusoBOg8c*clCPTfq)r)&X*zj; z;1wG+kIxRBI~h9~32a9Bgv@>pshXsrv&=TbL&_X|M`-1}S8TN1oJ)&Oo=|)@kB;A2 z=4&(#9z;ZckUM~S2pB5){VgLrOz!mM%rp z3VucZFK4p{N7G6dNO%|i;sB%c;fJa>?eyWzf7ST^p1yS#wjMotry5E{Jh;c!laadl zBBA#*&TIR{FbGs*GGuB+V3ejh97*-cr*pr8Pe&ppf_!-0r zc5Ldi^nF7RnQsvp$3`iYD}&bA(1>3MsIkr={zZLTM@NlS+wfvGiSBQIt5#I(-{R&O zETi0H2IQ_Ys_kYq-wF7w;nA8>Z|Ra}UPCco2cocKw=Ta}a3^32pE=+p7jFVnbk4z5 z1l>z9SHNjFp*l0x?tn>bWjiErOITKA}K-TeBc_L+YC#0X@5(r^xHqroaiPgW0i4S%$kJ#E+fL|c^bXjai6 zc1eud5J5L)K;Z5`9T@SXS)Wnvw+MPo7>)}zb0ONO4b6&nOWsErw6J!B<-eK>svw;W z7NtAZ<8~7#U(Wexecv)HTo)rTojvwSxVJk#ddgyiD!143w#qlX?LrClAwIT@)F?Z? z%#bbp(f}ISCyD0I@}3k(LD1bu&cTs`I6)65*Y8$q_A252jPKjavi0LTt@-urabd-$ zEn0Pcn?r+qx0WXrTuNrcG!(vR<{AC% zOB^O+S%Z412``SahqAb|P6+1di)pS_2gf;cM~UR}}Dv8!0m=-)FM#zo*-}f#0qGfEF}- z_I!pL=pj}WK6$98_mk$Y8@tYc4r_GX&vm&3pJ&?5AiPo+`xFt*8w9<}bO+YJ68W8iiSO@wkTtdB zAEc^dnqsu#*@U;MYWs1UIozGoZ!4kwHV}x4D|P#Wu@>iU(D=o+?zao6&Wa0-g$0=4 zg>jM^CkU%?ZQx)^FrPBN&GiGKWM6_1rWU(Y4KZ+YsVH*rrww2|y4P}E-{nPVzvy^V zPtQ=v&;$Z8xt5WVaRpkJl2RM@RbOw!pxu$<*7_<1gB{<)N7=X`+cxaD07F|KjdnQC}qWwGggsf8)Xw1F@!tcl^e-?A$* z32|Z!(AoK&eqVm8mxYh_bY)7XjPIfdj&aa+0PS2r`~5KPC_^3hvPR&)#VOP#<2!3g-#3k0G0vE4~rN^RwVw<;kMK zfU763d-0yjZTSJDOyINhgD7|8`Bfg3rGIH(;EngS%g zJY=6&gUBa4Qz)QcDWT&qR@12JX2?Wa8K9aZE3Z*P_?q9`k48PauQh1WFgv4X2 zcO&x1P8bFWw|+6WUE##$e7&f>l`~fJ{am?tkIDN1_qCQ+L3Wy9<~`MS^6F4~w>#Yv zUd3P5RkiJKS}K~roz=6x|6szKbT3AGLF7EgZUnW~RF7zTj)gadz*Z)lG6q%Obqn&n z6%Q-Hm&SLMDeZ9+D6Cq2@zx{b@~=dr^dfEXdbs)C2xf&>hR#Xb>cXKl$C753C#It& z=LbPDLd&|;khAPBl;WG_=SOIeBw8_9Hv>z;7QbuM;I83-{j;ErQXuM)is$w@M z=PYZLgDX!fE6gwT?Jaj;LN*`ry-0~job;|UUoJMP^_KFA+E#=;^J~}R&3)gw^8prl`f<=YhET#vXFK%iH0*5uUl-!hZ!e}9u9>Cy_I(# zfwWOM{BSZ4h0%lzs@Zkj>-yLp^V{roLoHgFoLBb`><}()vmu+f05f;kdA+Y_g5H_8 zUF$Z38V}4!hcq>LMfAWeZhdGUX04lk5x{K>N37ewVjk`7@~NygqU>*!vk1Qj1cV15 ztd&sKVpR|ObL~+3#<&q26XE&39)X@)nNg*RMSIBjMA);*KQ+a_e;@w%eN{5iOf>4t7`$Y_v8um@tlGb< z$9vT|b+T-Y>u$q~&=_kYXH&?dE3U)E1NhG2tGWA1ISzAN7699HrCNNViIxSlv$hx< zv7jWE{B5J%zmz1$Y zCW!JroaS0IqA&>fHmHFc1aMIlG{k~a<^2-K@F;omOmmo`(kAQqAJzTytekF(l^FTv zM6cXq*#2!mSLsWhJR9_0kip0|0 z5eI3Mibi7HS*h6g?OY09#i|EWtBUA`q*N{Cj$Xn)TlK%CE{#mVTd^gn_M*lWbC2>9 zjW+YC`@up{XACiQSfOzi1^8f7DH+{SK-Y&QPSLjRJ`mI_gQS(}??-QUN_bE}Px!ZF8>j@wS2 zbfhMSF__#$RycP^K|A&mscR97H$gP=3VR}NwC5Nz_C!)SA0U#WRi>R$7M?6h)=pfi zNWS;SWBsL~urgl5>ec`~!SYFL$mHyrK13#Q;D`Q3|z07E|7hW=N>4=}A zxu6UyWP_@8V6$*+(}x9@Kp+3owEvX7Vlq7SuGEnNLeXoh+hr(=kQq2kiAdNnFuM`8 zkTg{1qE<+Ezftmsex!cXC>-v~C6Po^QMqophOHl0Hq)jc<&uia)#6SZ?r#T@DtrvG_Vt}Q}1P%n!IY1nr|?r$?X<}KZ~bUW{vM` z<$s2=Ok8yLz2>7^Y@R@2ZM+8VOKNoJNPn(U0UDy9+vBz@Ouyz}^w2r~v%5fRVi(Kv zA?8IaUk$kXC-q~(yCWTYXe)NAyRzKmg7OH~=DF?>GQ^`)4?diE1~||JOg|`%j7M3MfmxlUAdV zMADOjleh(JM@AAz(R#>3_4uS~Y^Zt@fv74S_R+n688c+udA}M`Np1O3Ox3vn!p^R% zf3)QBYH+9{Wj0Zg&S5ctA8>=CP}JiF9)2~qJrMp6j|9w)%GN)B0M;RZa_HyL=R7ep ztLHWnfBCn5?gl@cc&4{;9O7N!oiP(gwPnexV-V=s7tZ$1(~*tF6W2;v3CYn<0`374(IzW)+ zj&O)9+^s6lbxwMkH-$8E@F|u@$B%VqC11WwQs7cVTTwiI$iL5xH{M~B%DymVs4o+) zPg2mvTZVW{q4pS6Qj{M5Lx>9y^e6F@DjWd(8n8|PL1YF1`hX}N0A}Xr;iyvk{q<#2 z#E4~N9u|Yf@um!k4Gm%9cyzp7s%37jT5E1~KM2J;K4DSJ8d2ST@OH>R$9Y2)|DLw% zyVW+9t{^qGt4^9}9+D)i#XeuqFyK@6U|^m+8{@gGWEMYMi7@>T{vnJ_Dl%#nKr3`? z_l$6gOz%`RZAmhMF=@3Ll1P93OK<%TSw_P_^O5FwS^GkBK4ty$?UEyotgD1gQ#*K! zW!BZYG&m}dqEJz#Q<#li7>HE_2(rgQBMN^K+pw)$`^kgt96bzgXDSR!*=XDx6gQQR zjJM*xW;NrsS`f*+#2Dk^?%lC&()Zw=qgi}s*R~nXGjYo8;@TBGUY7`pYd&EzF-eUt zh||7G1nyxB#UAKNit#@MH8?{?pMUMljxSgaFzmJvcbUG$sh@f0b6p&ZKYJ`XMpP&y z#)2a`nQeM4Lv+WR(W-rNu>!xCF6=Un#AE&9Bg^9nR?5}b4s^(@FV~k)<6r+-_P?bR zP1IYp7@M3=diI7V8BlX6Fw0 z?FSJb-moeW+EXU1O!fM_D~j!2(mWL50Et{5^GzbP zs@kv<0pH@!tvA=;GpHUjHe|hgVhwg_b!BFZ(t}Tdj*eExFnIg$8ij$wuwq z%o}pXn|JyZ*(d`At+QfKs63%Bi$}PDaNga0H&?~oi^@H#@Ub1@x5pVzw!L8&S=@TiMr z$%JSVxu&=V&)eKemm7J6k%26lyMwEmUCz=kqcIe;17fNUc&R^zBhZIeKMs~a43#GC zsM$%SEGVX4rSnmVOaN%p)^@RlJUch)&>k~FA_e`mw5gB^oxFU#7W}CLe{2vw0ow@- zz0(}Lr5_aKpO=K6#5<$1L1N}xcjqWL!noO>Fh$7UIJN&tsLguu=TrM{5?6DF({#5H zgU%F9_P2Dwjv#JfwFqEi-JYU$4zcIiAWPB*p&)LI>4xm2+ zW)77v9g1X1EeR3RB@1HNg%zTm<=V6@mOVxvuKRtU7eZ%j#uTli~<~KfF!Xg5A2xP!vR@;GC88+h$igMdqx^jN1`%4dY9ZL9APrmjCT}+Cu z5x5#$4YK>C_P^<`f4_9;yD&#wArMus3b3C7;n84VrpltA)e&A*WFN`4bCyk7tth-c zRe&B2Dpt0diQ7(SdyA7f&jAk{U=Q6QzkE9OuKUU|tudtA028dEJ+@yEw*PIQPP#_v zQ+QRT{_(U>24r(ZpWJu$mE*Ht|5-OJgZi#c$4;uBn$NI1=M*6ri^)0;GinX_5O-Y0 zG3CxhVDvC~vT3h;aOK$mXQw%be&Tlwe^xM^Lk&Pjn=Ma{S~V(ERw7_1yZ{ccfjvz}NV66$DlO;1Aa;;P>v2Eh2Cd-#*PyhU;7F_;MJYYI=`Px)l;LX}E~wz=J7|9ZWtF#Ckatx{ic zBr~+&RzH_T?Y(TMYjh`cG`0P8? zN(TnAMtFbU6|`5- z5fnxg^{t|+KFOkrrsJ;RXIA+#DRU(Jx;f}T&ufcK9)goCuo@7l{ngl~UZS8SCo|L# zigRXYEwMuEj5d8QlP!;$%h_38AFwlRQ^&7|DQc^+cY=i?u4+|!CwF567sQFlU&ev& za`bo#K`qO*R5{;7n=%a^8R3|rj-g`l(5;z{2OXxy$es-?l$8QA?}&9SOR=kLprX>3 z(2##^*d=258=hVV_=yJh8f-@4wpivg*ap8Y2Ta*@Q-;=LX?4W=? zMUi$x!y0QdX=50v_ezcI7S?mFklQ5wY)45&!HW>F+N& zs#-UxWGl9HWOX|tSA=rZEo1!F6)X|U{P`VKDJBSIJ0wC_1|YOlC#pykbXz2a7%JhA z3|%E&h@F1?RPUqmh!s1J}Ihk`12QsbD-}5Xj=~_M#X-Vh)YK6x_|1 zFJ7MtvWBVGunG65M(;t8vdy9H`Q(03WD9+4Rc2Sb5X;lQ_U@ngOU;?jZN(37^I~ES2XTshMm~WcGX2k00tv~b7YF;K zuDq2yxggcNayVnka+?z9vk?4&NO_T4lkhrZd&sxXt#;w@M`I1PX6eLk9-M9cCVY0A^z^&b%DvX*zKe@W4KlcTeu2JiR;v@+J~LfEJseRFx-x%aL^h3UHPJ zs1!dZX<)KoWBt!urS30vzd03K4v$r7wxI$v&uKlo1C^1gR>~?J`@G}G;%*m_0(1~J z4`8RhA>?D%OjG57ckx0Q5h!6WOJYY`4#(s1%(x#*Bgdj5YuwlD*r3B&H!Bm(zqoYO zJWyjp9=J+gd(MI0lw@#F(~2w17voU1apBUg(X9<034Q6V@%)Je8?H0JTJ6?Rs*{Md z?^G~t1y!V!QXLQ%lR^V=CYAqn{q>&@oWx(XhZ71((TxXmH)3SuPoCa&Wfeeoi;F0Y zSnrwU7N;4D-fooUh+2_!xc`KvMWai|zz=*<%!0AR|Gu8lrIAG@Z zsW$?O<2t`6P2rLVHrNyu5gIyHpUQ8;3{?e|F?Je4sz+=b$6c|3Tm4OWBuOM-QL*<6 zVpoDU<9HGd9iZZ|F7vJ|ah&RI4E0W5hBozKCbx(2=f<^S3HT_g;la6Hdvjr92$?Ko zcBpL2PUK-j6c3v=ivpYM>pTD0`}m_%xQiXy>98Q`D56+8gn2i`wG}$m5W1kuWvaRI z1zp9;uu~TrN-Wiw!3&{`o?XDE4PffsN-vRdr;f?aBe|tq%kjo}>Ue(ZIt)4OTs!%| zy@g^0WEN*`?R?k`dDWV~!)q!H5s9G@#MY8dQMktBACdOsYji)+812|dVb#x~s@^S=6LB{aT2%~)bx*-OW zE=5wf$M^aCq30+FX(-{PzV^-j}`VDCfeCe(?oK1c0M?Nx>8BQ<+}U7zPcDbpP7OM2_Of zwU$G5&{4R7&m}Chy)w^d@c2tbt6LzRm#EhAb}i2~8{YVa9fxgZkrA zU^n_k3d-W!0;SnDN2a@pCeQ23e)xGNd1HjFb2S#gC)Ea%{$vR(n0WKk5C%x5!JQADn2Joxyg@ zzg&Z0fzsMol+PEg>%%VGmu0^R1@;G*^v-3IP@6a=ej3{(TpczVvN| zZbq*f8jGpCBls}PNy2K`pMYrW)T~21p;sNMBG$n@MMNu#Hc~iql%H_Rci@%KNGXLMTeH80Avl0P6N7J@xqaK=JNo)wS6{$rR z6n!IkqE=)?PkO!BVWBXLFJsYHcd&;J!+Nsqptx~|f-cJvFh|d7v##_DN;8hT?pA!;meCkx8`Gt@%aN5h@)yuxz3O z+Br`|rN2$zs^8M+Wl6aWTsuj~OE;+G*1vz7FCAJP=hP!!qA|9*n+?x|_{Tp_q~E=0yVC3hPK256l{!0wcF{;xvuqpie0s=sjufTt`O*J4 z6VLvYgrB%&*|oTx95rIValE7>sC(YJC93AWjJDc*4%&;&+QbnPr_iaS^*70i{j7cD z$D_SZcj%(mdXvIke*CZ9zGG+Lcv!3@wujoquR>jg5b?n4^ zU1Cl<0)OA?CNd8$Z-m5uQAD%efKbBFaTEa3M(AsnHz~F5Wlmb%h z?Gi8vtSTy+IrIURK1|I2zGVN$Yb;A?p@LyrMU6WuBFIYf$J{ya(@0<+j3$27($e1{ zrjU+~A~Zj9?I6wMu!5g{#^fuSw793%j;f&u85+003^iR*g0mtgx8#XWBl2JOy?0<8k+<+!1oq{NT6x zDn}_EyxzV!US2>VTMiiVs5j*9k`4JR_JT6M)7|+*{~@@bM!baKi2pM2 zcanV?-1$7$>&u4BWph?bJkIC0ewjVkH1lyb88KGE$tstzoZc*O;PO8~MA05A8jxIx zjW44{%zoB>ChJ#D#VKO)W4ua7?8jWVwIhDIPWdShuQ|mjkNjc}+!t$WEJByml{aKI z5y3-pYrb83pO@dV{w15R9XtPaBlrnN+-aON9a)DQz6R~rul)FYfKg|F+5OmHShHb% z+F50<&|dW6kG15}zw{jmNx^Q3=_q$bvR)4hn+8vU;Ad^+;QmYlW;z zPvH`D3WV#K$KGP{_UV&==yvwT zd19imO&B`?EP~T!>V3fW1SE4%BA?Mj{lAF)KU~-VuWgk7R&Ro!qcm?YgJzE-`9eDd z9?ki9m@2Py%-=>UTE|b{f@xKfTv6^3S?;5OFSYIPA=HV3f;Y}YnKJP6p-fkFT!2Sew;=V66a@7i&2 zHh1KUigMHiD~6Wy5__qNWuJA+l}PyACmzW!0Q?%47+mD+x zO|Dk<=zGm|UEN6d z+$}f|tD>J}HaqJcl>qn?H?9p$xbZL%@dOm1Os>2K;qWQ#P+n8dBlX9==xm``>@IaI zo!{07nV!c<*WX_*=+@4Y3AmEa+QGKR=4vjMF0}6OSk(Yy$IUJi(F2u1p#a*O(8!j+X1B29#^Gp~Mps+~xGwNv z5_N)CT#x(pZjjZ+^U7~6R=81C9uX|5YtULx2CPage#QV67guE7e}J%58LlNO!JD4b z>wzpC#Jsm=!JJ>v!}kt{p2EwDBSZTQ1#$tSzP_bme&&lG(tQHvE6&z-LTnI+z+BK+ z)(s@LJSCbHpob3RK%rSV6oIw3B4DZwMWKGKzS+k7UjLu9^v}Q2@uJ~|pjEb!=BR0T z4Z&rc<bNF(dAZm7SNDzm4{FQNvU5g#dJSs(mEh2 zrX=BDMup4LBcY)qD=x|qN+QYq-$^b#+B1=C7gBIOW>0qyKQ@SYt%`8uJ31M7Hc5zY zY9;1^1Tb!DYczLR2R2h8r@Vq?1g|m_w~XehdEH=}eL2UxM{cQTonwm?2~1q~1mMXX zN&MBLI1&G_qyn?gk&uuq*3$QOOyT{1Q$YW0+TRm*+#_xk z%(&^q-tOx}h-85Xg^EhGzr2-<cBv zP4uxz+OGtA?kDcnaDft^PORpXy{(ewHdX2RUYf*|X~@lYFJ4GC8eh)4p{1bxgyHkh zujULYHIn#v@eG)nxzSF^(Ei5cv1X~VsZxa-iD83|3i)`AIFDPJwo9ofh4C339rO1} zt9Qq)6GM6+>7+9dLipFFxa_tdrhYNy(-& zb_j&<9sq@ZnUtgn!yKt*ITatJ#vSFZZJ-IKM`r>)9{L^8#|5aQF2Oij17m}9%=?n} zg|P+rr`S)inPS)~Jlg6|b(xKe+z;V=4f_x;QqXZs^5WP3&?naqLWe8?KC8%%(4T}J zeda&6R{=h&I!r`V48lXh6WMUi9P+j?Vcvlf`?!kEsh&InK`PA74yn_gfNQxmcsr2P zTwb1^F!A-D?n+D0(SO)!a*#*NZHf*#gR@2PjsqLi`xk@C%4$wcY$6d`QHWm2s8pvK z#!UxpT!YV^LNOAc8;NY2CL(J9>_Q%&i0sU#<-gvWkq(EM@1Ca=U_S5({(qfwJ zANn(wG&^Stg$9hCa}9&zwryblp>6;97PtMB07FL@6jx%oSb*Q{?{3y$Kcs6K<*u(W ziGPscP$L&ch>j)$*!yzMEp1@{Q@sWo>@4xu4dJkN(SHH+WBnh4%ZjF@n2Q|qDd*6_aNHDdZ)Ib_^D zAt{9ki7deHPxG?LHIV#M6_f0@=gX(N$Fnwg`+GPag!1-}evyge^S1>-`G(l7`Z_vw z?Dt_&^(RXL=zj2s$$6N3!sb4S_5%SWzp$APUBwL0)f+N3YB&8{*91&gm%@9OE=qzZ zzGpX-^p}{k=6c)(ya(~i3NiOoyCxSMxjCOWZOp*y9F!`yt*@BK)6Am+L4aEcFb8nv za;q!?8>AS_8DMy8b=Sxnckg5ChZmi!PagCXrg2cPz_cG>i!8!~)}f9tOsDM*zETZ@Rd1D|2%ViQy}m`}v`^ul6jC$`ae0lb1to z#Q65`iWI^!*e1?k@q)4bAL6XOGKANlDe5-OGErr~0FianU*`NdZ{n!qr0uvW3_g zzmgbw_uS7XsTh1l5%-jw*yr%PU5gUh#=&9!6UkzzwvXIN{9HzL{yi!mIG*y_7Q( z35@f}j!FeyDyH);IxUWdgq!M`%L2d(ay0!sTwZT;4|u602a5ULVbBw6Ux*D|x)2It z)40@x*m=&|KRWiTs=Kcswwb@7a!)~{w3YdX5$KA|@oSa`)FO|Cc{6K*+qZNRe0ipW zH?3nPG&|M6blwo}TXolBto8_+F#8RdH+_TdXRpr!<`1%AWTveWZ%=i9CDp&IY+xIB z?Nkrx&I36R6}>F2O{r`~*vXW%gKLdsBXS+AmAbqi8cUV@LQ$}!3x8JDkde#g%;Vb7 zdR~>5<4(pq(Z#@aNWpymhRV)4;(VB+sK{DPKF09^%-{_3XIpAOwmvyMFv40ZdebV< znkFf6)^}`Oq-v9U(`OsdhQ`&D@}l-&&1(FOPlvEx?)#K{p(w!Q1_BJI*ihiWv$639 zDw^Dg$Rhvon%j;~fT112Q(9t)#o~7dNLzY@4>7Vkg4G{11{pC9M*?AlTi8E(?EmuY z$B3vw*}7Lr1?;PZLI?bjJnRAua=($RWwZ;fNuPw%+YrC^Omt{6uWU@K)9q}{`rB?8 ze|mo`zTD0e;a}RSV0Ol@(e$*~0(n-=$X8d8`~=>^87;JA@CngeP}aK6nn)%#KI{VrtGM$G2HGIHDuJ zpVzIH{7$l(s`7U^$>9FMynW2CjV_=jD&I#*ooaz*Y3JtG8oD1hUf(`mIgVOjJ$Aa* zJb7m9QgC#(s4IOjbDZg4$Mc@Vjku6}fNYQ<6TW7uJZ#C?=W@86c;onJ=R=i8Pt_zh zhsXpypfgp0ZVFVP<7j7C-v3X+|Nqzj{~q}Nx(6;$8|R5qjmUt z;(PD@gZ9Q9UzTgNGRsywF9&}_G#qf{HIl8)s-4ly_Rny&y%O?woik~iCqKgc7`@9f z+fp8`wW=UNVxRTKyRg)G7)p4V@_d}M=qyI<@~icHg4>jv z=E@nN@oZ3I@eIYl_5`LwF%8*)1XJ3&x5RH^lZ1I`Tuzt__2&j1ip8a?$?!?BPE{D( zGSyzXUxTC2L#MBpV9txV;&*C{4IvD7=m`*5F5XPZ`!hraoH6u&s;WM`N}~s{kFq=% zHl&gEzO1J=O}6BtW@rDZvy?k5VZ=Rt!tdURP%?Zxjz)+7{k|QHQ66Re>y7kJ;>p_dI2=zh6+>aSvv+}tO8QsYva0;aTw+BHb8Ouy<$dT(`THQAw&1zMj8};> ztpz)!C9WP#M?l;@EcJ1J8vB8;&*Sg>=8|H1YjVL(Z+EI^#N7<> z7SD28qq+04jph%1GdVXdQfh}}Z(Iz7kWaC%2JC0A`nmKLEeurH?j>HxfT&&}S(4aQV;U#dr@dd60=FOeV(KF-qAzGQ6Rv7Np5OvA<2zFLj$ zAPCR3=4K`nWHqdl+i(5MGBt2iho_%t&skDgY(3m%=Wf(&4zA<*S}9qun#itY=87yj zO}hP9ez$m>yVP~co^OD-&pD(ap_q+oLF@~9Ka|kS&5k4RKb~|q6otMZd(!rx)ia*6 z;yY^hDoCIcWfVjr7&lQdVG`nD@@+%Av}TNAy;nPN<)F^@?OK3gNP_`Ra**wr@yxhf zJPmJ3QBfsh`+8na+=JcDQV7m31EbmOGL6yDk%?=}|1hl8&!jq{_2%yD%z!ODfAz*~ zACM2%nHizQIkI@rFZuXQe#S4Uvn;O9whTo#o z5rs3$cRL$@#aHGe<2eS^?aBwgP$p#92N!;&R|{?iy&UJvT0$qM!_pxX=w}0Ec?#;| zy(zJw-&j4va3;=pi+1->@}S?A7pB?2DaGvyX8An&wxE)^d)2>WVl8)q|0rAW?Q;5B zwD7m60$mBl$hV+i!%K!9x?2>+^-j!9cNngvK5%5$&R&WgPf5Kd03gSwhc*Zuz21GU z(9%aq$S9Z@G(WS6S{qi5oPQ};!3TpsEEkF(c+`yF_OQ0PduHgx_RND*RG2EZU$50D z5!I$eV?PAw4ye<=H;D)r5xmF_(@udv zea2ubq^RP}mo<1Av4Q6!25o-k;~`9BZ$3yw8|yhg&tjxmolz+Ju4qI4&FAtPhtCS# zi1A}X>VqNKx(1_rIpJ!V{wVm#%U&i2u|CveFAw325WUMjCpZy=)plgbrf2e&@MhoU zS-gd9@67~5L{G2AttM!W&|;6@Nb8zqy}=DMTGA@o+!LI7xR(YUHDTWN4~A*FVM}gu z`mJ9x)g1ahsdE14q+lrhX0e~0gS)d>%#)bQ;8&4(s;PJB2O~GggEtjfht*=Zv{Mvy z90m>ozq=}1c}tz^dg^aIYA!3Q;#psgk!r?-ANl5-E-d*{$QhQ8{+*Y!|j~1whChdmba})5H+=~ zr9yd0Spd@wtI+-&d?1J;!zxoan%faK8DTK?^v zD4H5(x7yb>yo1KUr70(+_-@f7`ttB6LyC$BuvnYQG>;SoMWRJ4L*4)DdE}QcS?JuS zRPgO0=zL2Yh~kTNLKB|OsL+asL&7p&gCh_lR>`hS$EvccrDL`aNi+GKWJY0L?gva% z9EhZ=0Km{h=KZIi*=-u1rgJBZ3l!{DE33SmI~f1*z{SIL<$QgRU_)q5o0E~GYTT07 zvzrCE5H?`0@eMF>rH-e8YQ`G3oZ8ucS9-o-~XxVSu{CeBQ zZ=5F6k_qPksmJ8~k`SJ3BnqTwIMCR9s6AstY+4$Fjzx+T5 zM|?Q%@Bui(x|H*NC;8?f+^W|WE#K7pI3Py7Qi1=4LpbYo`ASpXVrYz9OI)BfRvll&`(x&Z=tW!q8_arZ6knJ(>fOyh9_cJ zG{^gECUtpjiEQg+cRwt^vpS#G@Eg4tvF$K$ET@xu*Ib!uhBhdIEB8ptmwI;5CO@Dko?p~s^7qOlz1fgsWT<% zuHdK?m}Fj>t0*xk)kN;Ie${%FvCt(!R&W&eG)XJ#LUKU9Rr=fnw)XUuLtX z-yGAi&j>!*rY>ZjN_+KLm)mj0prI?#TxY;SspDG@qGvChPKZ@1k5k2bCMM8pct?if zpb!HVXVrYPt~*%>`1~3sZjD?Nnu^H<*a@t$+@dI+>i#j*gaS}RQ>HIiCtkBQu(;p< zab2kN2amVVNz&Xo4K5|r?*!gqY3b-#O_3S!CUea%ytTsjHdRa!ulNnm&Pp|(^L;Lh zGU}6xFQy`Hei6ne?tKqzYRM*}KYJ*E#}`1V4{$|x$XQd zMKvj~=Q*x+y>h*qO}&UfFAp_oz*p*rRcDkl`um>USBMbx?P@OVLu|B>!sA>5doU{X1tK zAJe*v7PSv*g5ShGE#q|AD`TV2g15!9?wH^o$BgXy>{{GrGg4>h7=FLsI?+lcpRhcC zcTwwC&HQ>JD@KHibgAjdDar6{h_*!2JZ^}F zMt4ir^}IW1-$M(^juopE582RF7HYWi4DMRfs+Do6HxM=5)proGupu&2M)AF%>at^y zhYi&iDug^N?abug%7W>QwZ9c_xV0$V7Rp-qk$V4nynqaQmDfaB=_9anQn~c#iYhCl zNS7rIG3xn(*OFcPg8ou(f&I@Q(*)iS!fMqb3scEj&G(5l$#(ecWz|gWdw89Mk^DNy zj(KE_F5r#cB3M?c&MK}U*M+_Vrf2oDNe-L-@2Od#z(n`XRqSMNE09A2;1`K@7X;LH zPhPh^PFE5>9;ih~0X{Qzz>16V1!9+^_@tq_&h(a=CWZR3o+N8-%V#`ChF{1jWHze@ zL~lYb!vqHG`vp7L;qM}s2YdAWxq{Uc6>3so9Kckq@w!UuQv zd{1)2=LO4cp0QQFKUqqYrUa zPPkAmeM?Q_PfQZ8HP`=jdp!`Mdrmwc!ci-}6Sd3teRHj4oQ!?1o_C_QZ8T3=g6aK^ zvPNYDRRd)IlJk+{(v!V-GX{>&EH98RKW)M6)jkgXtdQqpdND2r9@&L`-$|-zaT0md z0p5`t%BFdj623b6tu%jSZ#vGmxa-BF0E~gOa$m&qyo=`*pV@zI*oo(UgPe>C%N*7m zbF@sGGCRgdDHj4p%+LSqo*GQsFH~AhU4QD}d$OX0t$L_Y=o#CyUJM;jI(#=r9v;TX zXL7sU3%rFsfG%-ISrmu9xu4O_1ppU61H4lg??xAHpLS@9D0*mQJKKFkr_U<&FYex` zp^J1%Nc?(7f^-wtl6qRR;TWq}OT2w(m%)f<|BS$9N(YJbsYmUY2#O*mzt^2CBl-T( zC7%u!w(yPmjYQZP_swG~?Yk!7q^Hp*G9MSeQoOmE#ikvsXC&$riJvrb?SGlCX)$;r zgT9(O!DejS2y7@Tx(f{7`sJO(`yZx;{<+|)Su!^kk-k}6e3gd3f$2UIr*7Eu_zk*C zG$l6Z(Y5b1kJU?AcU)%@5THF<6+}*@TIVvCr38LV4?n8^~(&zS-5)7&}ft zc&GQI;Z|8in@Dr|%rCrOM03ox@r$;L$_s`q?oKqY{R4O|)#nrHA7?X2yG;rC{YIZp zHzHIX(0b2uDje6Ah!$d|AAExZqzwKfeyi%^wR@EV?VNkLW-Jx_WtV+qHBwaso>MAf zWL`66$OU&>ch7GoSlPiaAG?LyFS}0wg6lyhz=U3UW9N$f4ZEp?!&<3~Jrk2E>)v+og2Ynf>d)Sp4&FBwL8eO-SqECoE#ug{5dUTx2pHp^x zH5EVfI`-(twlCWQl-3_t>)6IvcRI{TXUHKHw&>zoAYc!F!KL2{;qQ^>O~Xg!7n-Z= zLCF^{+5z~*dG#V5k0&oMr$^JiC@?m4=GZuwO))qgqLxFWM(hcfpJpp!V%WnN61-X~HEg%bUiogCJTX)%utO3s7 zpnaM{YQUIFmIUacCMVfG8L&8r^PHQs@?E{>eZjPt#?phVAe*|BNSL0UU0CinAyv$g zcw}0K)rO>M*Up^?pK&gw?`S^K4HL@ZJsC#@MJW8wLY6oWJQRL|tO6qTm$cfMPH2)J zHqbmnr0sq@yt$S;&${&mf5MIM3KlEU-TW@`R5vMmT7PP>P}EQro;YQmrZo7CqVRQk zVJDK|S1qUT8Z{@UNIF?A{>+0z?u~ePukBibr(&bdW9l=CRh$L}dpAF25t`YW^6ic! zWomjGPEV)eU;Uhi+JXV07M-gXrd33-}pZ}b()T=|vGUOFD z+e=*Ct@XVXAiaMgkom>(JMOo+K*|^jIg8X<%ikc2QtFW;EyBdf0i`)Ag57MdxpC%s zFZ=d0+XOR*eCnu(x80@jWMUk+9B&!*D3nR`HtbW3^}jgQUUOjOjvGm)>83Q`&0Lu! zAC%UPRu2-F|9rRLWA0Kr2Xr>~QYFme%>-r)Pr7|UtR-{oX4r~~D!kA0<6!~?k)c-X zU6!xsY>bQJW=&w#X6eV{Hg7eEbj{W7$c+!HCojLM>)70$Wyl(Jd0gZd zxaxS_)&Nn^N=087H#uL{@FVM=(Sv>ANV>rM@jh#81r8>u1PN!CmQ8DvY1XUkiqkiOE zJI+cGv;k6x_xApj@*Mf)16A-VP4+2<{OtPNs$nvDguymy{$D~dV387c%7BBRDeh7| ziC+pXg5i-LpB29(;u-xcbv)f!Nyqwyam~4-#6x7Nzo)Lsbu{~3c^b=U-smEFF=RIE zwuKWIf`%#VZ$v1(A=eM17qOJs3m0MWIcT`=v)i2i#rZHR04aMj)CuRhCHb^}Q*-(n zr`~nAqDtWmtI(KeRxue~?^_PdJEL1LwGiDm;L#0;D=-imYp{faY?toL3qDGlc}zA$q4R3YOH~-?bS69u!YW z>a5=2{R4*CwvCeE$o?(2-Gv6IBWVm@%6Rm82*fc_Q>e=cm4UX zdj=MZd3?k2>k%rg&%J!d|5 z9JM@K$n-kZg2LPsaw*)hIVOLOn^THF&$hisOUbE!RFRxS_&pfggZ~Cu8bW=1`)zI` zci%jJ#0D&LOM~rjpRbk_nUTrW~17 zbS_yXt`cxlkfoPu?ysOo-@pnb2Y1J*m(6BoMd%|w9BRvZ7(WMDyq#G$EQ*_J5T(^P z*mcti-JT1_YnkOB>DnhPj8c>-;Bl&XkN$z&)vnL&Vwo>3?IzJ@HPMXG;@dXLeZg7o zfLl9YD)0+DhxiSu;PPKMFKq>e(vOVUoU49=<~W^gd@$F~0sb*vLfHKGms&gBBLmZ+ zBI;F-%n{Y~2+hJx>joVB%CkaH-Y{nK6n$Z;!C7Y{)Q1N-8E@~h>{LOLGNa)}4^r(O z9k6(!Bj@SFCV)y%;s?_~bdgWL=PMh2-W9CjZxE37{UfbKsq8n1@8HvYw?Ccd&nkz0 zCBPXZj0W*tVja)pL^QPAsFeldoH^PaU0T?^nt5G|p*nHV{ubV=MyBrew7hyAT7ERc zTkHB8R4|$2;Ks z{isBB5}@cPqF_0un0u+_|NcX5tVbyYkSsB&>eFg>_iSfiOEG_qR-ci-ud1wE7R73^ zAme4m_j1=Jg|4!*y7P-ozwrIJs^PGE@rJS6NzW%}Htunr5mG9RL9D}tqlju=ZQ=@r z8lOb3h-PcSN&R9~2Q^mJ3t))aSaXJ1} zGb45J{gY=JH#;BybuTQ=${3O%;^|^=DD*NQBs_4_FGNp1`8br~;;}F;wiOzt4UDah zMtl|)eXd>%l2`oa(Qm!rnE9No_jfPQt-xgG33suHrBR6w#`kAvjrJ8dK6dFj!&H6i zSw}=#=M`-ml*zY! zb}sN$EppYHgrdkVOvAtsAnc@g&1h&46O46v&BAv)Oa*46HuyDsKeo4(G%cw26lG0# zDYn`rvr1RT3>gk>v>RwpwVXAhVG^1;;yxY`8FJ5K3Pz}F!um3UJQ&dp6QgC?!%hmdvVYL|eu7{{@Kg9r0;EFb%fn}oeXkSN{h&3pG8 zAJz7#5;02mCa$SQud3&SNoPdNrBN^*vdmPqRg+J$6h@#Re80Iz|YTA%-U_hu1X}rK2?Lg;}U#>*zc{%G}T`O7eN2eWv4w4Hv<%<}8u- zf3TfD#_Ia)^e)!ivK=h{2DKziUxpEf4Xf3-Zrjdf6f}}N<5hg2tjkEp^3ACnUaiA8 z8>h_i$A}^?l!tLfk{{~)>3`I1z0+mKmuZ;674XDo5xYR$upb~sG{!-Vo!jv76hFNs z_~y|kut4%vj74^{S@P0+*dXv^Og76?;LAz!)2ntqkMB6asa>~yXnj7JBr5}y^$PHT{OO-88>-M~Jj%${nt5HlzsmXfjZ$w%iTS>PpF1m_7GCRy4Ej$XN59IjV~ z8IG&SVEQsmDw_`SpH>Mt?o}Aam*pgv4}J%6Fg9jAT`Qw{yeViYKnZy??(O!{%9Eax$U|0 z`P(tAQ-KBQAEiG6GDLP{U$%Qa-0<> zIwEJo4LGF)BKLa6pucn*ZKdPD;$MqX;J(-rp&l-0CkqiChvR?m&JA;co|X67vd#rjU0#(go^KJ$1=Nvw&&3Y-@K!bVc$Ijs-`a23xF2 z-#U+U{lt$7cfShH-8w0B?#4K&}*Bvqm@`)N+xPHJlGFV9P~Q2S!jY&4th&I8;O z^5&E9xz1qh_d(wqt=66!g%5_LSng|uMRmS}YRVb0lG-?KdFmFm<%EGK^Alb^ZpHQn zyFymh+QtyWJ3^T4a4fe;<$~+dL~mae>Fzw}iM&tW%%Kku4!#@2bs+?d*lxKY4%|u) zc-%|+laoG)_8RV2Q8V?NyNumDs9j=X>R@MF(1wm#S`VOws^S=|QfDW1njX-;#KxZfnQ5GTcX_2X&^ zJD2QgDC=7Ka7pao-C=UdZ;%~HQXLRF{A(lIcTRJDqVF7ZXdZm1A9jdFw1!IsY>pH8 zs%i{vR5lE+RZl$Z<|#tq8fqlI8SfWL(fFWR4rw4)VU1?2mN9W4t+eYL4jdA>?r$df z4Z0_o7`6y@KbWkO^Y=!uad39x{~PB}AiJ>#-I(z)#rCqITvtB}ko59@C0@TVoa zaM+u?AIFb8Q+pp&#R~+_`V;ETmJq>Cz*)Ut8-m+(_UdU<`?E@39M=FNnR3I+LRaq~ zC3Y4~w53CQ`TzQ&G3L?n`P&7agX)XpUX<)biWEmI#WPJ;r)nH8d_| za9Kp$7515?YiV+875A{zE=1q0ik}q!TJ>&T#weHcOybpw3j8OFUS-xvhAw>bWc(D0 z$OF`TB#qgIYso-V)ASJBp;ZVKeHYOFcY&~qh1PQEjHA^(B`gyT;&KG2B~ z9~C0Qiyqrf9-ycad0WgQkbiooLTMt;e%IpY-teTr`#g5br^#K#Xqm|OZ|gJaZ02>h z=c289-v>D}F@z3+?tX25WvF31IcA{YLCw;=ZNc)@)Qwm8OXrfQ%g^mhS)dAe5FA9pEn=?_f3WzxH-^>JNI zZCQKz%k7suNzUw(U}MY9|;@g+|9IN-PJDdrOkm$eu)T4~)A z(oZVSqSQ?763u*^?e4HA!CR&+k7+wr@FvVI3Q|8j#^%#hj^JBbSs9fFw*N#J)_MQT zb-?KT28EWe*M45+cOpns;}zmXYeOU~N0ew5WDR;_<1C-r?@G?fjjxc2E>PRG@@99- zTPGuT(?K}$MlT`MIko znFuhUYs$wqV%Q^QFAn`tUr_%k%<{AGR&|^O5YG*Mcue^gw%OlPb=;FGzqwZF_qi(U*XD;z1 ziD%W4jB@P^>aqisds4PsM$sJj5@TvQ)_yAj57(J8e>A*2I2=cBYR^o3-J@A`w>F5g9h*78 zPi8~2z3X=s-$ZjV?-#12bYisB%U)bg= zL!D|j?XWSql&a%qnKLIKGGJhYu2}-wo!k2ahDQ$hzd_f=p;v&AGAa2$s};%UyT$bU z!kkb?Oi4M;l)%ZBH@`N!sUj?D%5}r(*^h=nKB^z=s^CiI0il?8$PN@_RNI2qG-vYf zt@3|&=k6Dtf$BQZapLD6a*-D~^2XfAqo{@@fhz#1^N83i+vt4_!#vMrZ};=bSgxd9 z!B#x;y`(IIAw}qTvVL)os7MgRK#uuP$Kp5Wa-f$9@Am%g4ygVYJ9v7PROH;#4l6F@ z-e2uKgrZ8MJQTDufP{ftcx1G#xkZQ>IQKZ_PqLUOe#(E zSjTFDGE%!87iy!aAPbyrOUC; zNmrK~;3j_(%>NeFSDGyy&_gilLnH7yvuN;2Rq1x%)1$omi#57#5AEW~ovMg8?W(fd zn48oAx(m-01Xw8X|8#rS8eZ8$xIDl=g5Vfk4w1KjdKRdLqGZnc)LuA*LYnQPBQ=ki zHlrwy5-ZcXkgY6ubho1;%@uif3UI98R=AYZ-mASVGj0^xjGrZ{mh}U@ys``}9G`9b z>AD<@s?BrOyBwKxF09NZDHJz0D%)DzIsX))v>m->KD%uFwNZaJV@{&J8>jSd*VDh) zwpt=PvxF-;Q99O#iSe(SME?dd4BRAr4n%y}rVREX;^O{Xqg}FL!SW%=5!NBq_SVtG z`Rdn0;ybP25|!ARz)ou0RetLkk6kpuBKJ+J)*R(1645?4nI%;lY`&HmL9`YE1lmR` zJ_6HZyvKjxHQn(G$k$e%3nB^qR&gxd!63bQWh34~dX=>qU#Stfvu&-`Z)k*T@4S#m zUriskz>>ttWs3o=|3A15PyP29GdgwmId)9iRkB8By-naG)39t^Ipx4Hp&2(LDc>)z+lNAN#q$Gw)fV{iann1| zR19=K5qb{gGQ(Im;;dFf4#m>_2eI(Zts6kjDOhQ zb=8G32yN``xlveKeimh>-<%!KOL?_b%r;zPQTM<|(JA$y zKSJ`yCzb4LoRqFjj?{zK)fg(kK!(hx&aN`*0%hn0bD{-raE6H+hAr6Vl+UvbvLQ2S zGsD0R$Fw2ziC&($KS!sD!_KD6Adrut5BehP#Q@e>Jes-()CGEAE1QSb$4`GeSz@hj zZSb@=5hj}DBNsrNf$DizLo3f!{du84*?9WIf@0%S`;&zh0aF z?$J3kmW-Se8c&l@HqB{H9l1pcue>g_YX=qqA<%e=kyb=RcE!PFdKgs7$O3)=`yYk9 z-lrA8R=xmR4EoIRdvn*cPw^P!HL$UadO1v)7{ibA_>dt*)9H}|=( zZPPX_9Z!f$Vo>aS;?L9IMHz$DU)ydO;2!gnLc2#oT=c!hybV`@Vi@`wu?+`+;0&Gx zxGopy>l{#&^YqNaCbLb%0?G@@!>+Gj*42xZp$xz1Brso*^YTNEc13)xA$HG2YbOTr zbBtFO-}=EQA0wONhAH+}3sNa$abIVOy{ADMbI*Wb9ry{mMy-fwU;waj&pS}f9ysTN8zV2+mL zZu;hrackKp=}Z%ure8R)P!uL4K%+P=^eAJgfPR!j%Kb&Sq>pWZnvH9mp4M3&^QJ^h z!$244j)B@%IE}Rh(jiuh21epwF$ICFuU{frok{5<(#cWe07mPGM3wE+NU``dCA?!E z(Xu90%)!ZDnTCq2B+ZugVIhtDWKx^o#hEv|Z)v^yL+m2PKLu>mx_MayKkoGC!Uzxd zPJ&WEbd67|-dX?bkkLaw*pL;jH%p~m*i81{s*itW0tO>CR-|DJ*`y(3&}bD?MVDA& z?p0=#oV^5h4F^g>{0ztl{*?A1NsF9Oi8|tt8O2%nmy7j(dvJHZn!6z$rxC1{<*CW)7YH5YZ6(s@FRd0@z)mUb6UStbZQ(7Sz^Vkp>743p{CYB^OX?W=oJ-A?}VZL?u-hDO@NMwYa? zcBAt*M`I5Yf|~WaGn__KJA&xF?xnk7voJL)qB{X|THpxLr8%c|HwTW+C-S=0v>c;m zUZS1<-X`#m>vP{lK5EWn5PM4etPQL}9*PRGOPjHY==d1ZTOUOLm6H_)U=Pt-T;tqD z8pn#Yb>#PS=+B_aAL3R$f;V88g-&mpyurbZohX}Z%&@!>*(V(FDK9h!|Fuh^SAeQK zVogt~Sn$h{n$4?GzpNX8w?f?`oSP3 zH}>w~#BDJ!vd7aM#{$653$|qr5#Hw6^K}3|t2W`Sq(#qM&0`*=w{p+%c&7u=xgrX1 zo&XT8=s$ySw*jz7lZu(WmvO1DjZEiDHX#O#lE+H*_KcS5T+S`sQ9q-B&l}TTIL(Br z2Obm3Osh`5qn-tlkgt*-e128+@bf}WKR&u)(aT*j#j%D*4wZsZ|8}@xoS*P3Ner1W-Jiry( zwme#s3QN@Vvo?cebzNRWM1r`e_=@;XJ7%rU!k1{Q(+I*LMTyD=Iif`?ZQ-9QVwVX>dM6 zT7qZXhLX6_J#(&2lRRz!vXnojz$jU0r0&52=QNZ27u4dn+KQ_ z&W+rwXh|zzF)ZD7c%}l@(z%SXoW7_8)ST+Ha`8%357fqz1=kcB#SMofQKIdrEfo+C zm`J^1vpZ5G8)E#j`a&CJCjfe?SZJs(E>Sgg^7N9bsv?W()~vx%A*D{V+=7jHCUds| z85G}3_}$O7w)n_Jf+rw_uape9Qd+3*GJfixoho?b`?*Zt1@Fxy@c?A=s(3WjmQ>Ib zlEZ>W1^eOOoZEl>)wx_O8KFyduUFns=GR#_Y+M{b;yhLz&!nY2CD8{KLDYb0DfMrq zw8Gx#`xSjgl!N6t=-^#3do$78iL+ttY3S5VDa4#j@dG*)na8a{RlTNpDXJM7)s0Kz zycPV>)z_s^6#`F%Xu3-$e4567_VjYT#P1~)in>v+=Zo7%SKb9+D5`nX9Oy|@RivOh zd0}j$M}gS@t0cyOjzNd$|5Jykh5@!1Kpi5BiOHr~v;3>`0Bp0D5&wU+@!!v!ja^L; z(>BlbU_H20H*}#WvML#lz5$1#ZSqRfCUiOeA`jX!&__W&-LWg0e6rEP1#77jbK~!C;jgD?Clny?DY(c{@J;)PDIdZ%Y*{?j z{JQ1#MquNx2342c*Eb_g%JO_{jLnz~lWiY8#wjs|AB%ylMM84uP~$bk*~N0Y6;iLo;hqle?ksOs|MX=EzLF*`H!P*R^pf&)EI^O__0T~? z?qgkjBHO~JDqGC2J}+|8%kH{Is21l_d|sKOs9>sIsa`m1#sPM_r#%MQb*qF>QK-In zW?_DG1;RhS=Yq_c@_Wl-qrqwQkPhr!Cc`HJ_y^$SEC?uxnp#vOinIPiEDxTJ%ztOc zDhVu)qe1ZIvvT^!GDt%pfV-h9^b>XDzdT4TwP&)3&`H{s;yszTE-$~myrZcF2Qw*C zQ~9^2ym?`qyrtp8Kg;O|76^K`c{ZpR$?DP8C^g~6cKl|db`lxl8JDtI9`V(aEL1sw z^bb(29(mM>P_{FY`p}+YvSqAx|L0|rO|_Z+^0S({7e&I-($#}24D`d5>4-bdpsd$B zEzO)IEZk?t4uAM+zfldG4c!XK7;5TRF;|GOZjhNUk?iJ7N3b^hOQHYk103jTotGKi z-L^h0FODVE4-?fHOsj&Zt;_}QEfF*Lf_PTqd%)nJxfMCxOd4(kfc+@YbVa#gA!3GRL2&4icOqxG(HGPvMYiqwXee)jZKb2rP-tvN0C(()T`jgLg=aA9y zNWqU1V=Q&!s&Kly>_rq3e>f9II22)}9@9B?1`b?BbI*WzB=OSoA(nPyo-UeI=!A_= z|5ALM%fFa4fU2a}3}75btHxw*K!J5gQc&QYuLJaoU9pF^S2ptvFAfPuKgN#F1$WHxW1$J zV>p?UxC4V-FBY+`8=*E>GpMi;&U{^bV~Qm8^pz^B%goH^EM*!4+{W>D5(o6OMsyx_ z;?wey%)>3!ii&1e>>g^d`BxSqV;~SyM-kCWC*3*!5k`J_YS@?fG*3h*+%dm3qc6ln z-CTH)je-s33pb@*8ID;>LY-!yO%0VqDb)9?F&|c@gJUb+heSiG2v_P5{PChpdo(TN zcCD*OJUc^G-+c3%wy1=)jGVESIiff`uGr@*dCeHbga$HX>IxPuEnG<2SC2D!tOt9d z^*t1lW5UtV7f%M3=hVoGFjm3eE!)%oBl7vPhu2!0gD)@5=?XB0Bn|;39W$#4>q57% zfRKcvL++2|yUA=nCav=wg^xGiCv}B|+m*@Xb#TY*Q%a3YHS(oA@%Bm>Ul6rCiYa44 z#OYri?bnrcMaaDZSq=I*#3O2To$ZirerZ;T& z>|$8b6V#m@*m?eNkujsdY?ZUTNrf5>^&`ExU2q?+A?%wIZdu32#&GMXT(Ad zMB|Sq0pObG9gx&}0^?5UjfFK0WVY`;G*x$GocZhMQ)?7+De~x8yyEQAuc>Nir{E#W zMhL~eYf{?d?sAAMQ`xgcYPl!aD--!M@0VQ#f z$ga7ORkM=rRqw*9xJ3m!*~?Ot$vc%Bl1$DtkFMM|%^&`yB>(Q<&YUHc^*oE7%2J}1 z(}(GiCl!-DZ2Ir(_HxG+3mrQpF~S#AD>>7Sp9tr3EpasX_r&CYH8*QVLgu{)eXA*5 zpZ5rvRqhq)4i!=gv(OlrXl0U0=3t-q9H4WvTaT;Jce1jZpis%T5nKY~WTTm2pyvYw zrU2A4z1BOeQ=&t_P|a zw3ph&?4#v$3-*y$T`I^E-qfqPPawNx>5zvpvH_%lQA0zIA@FKa*(guVX}R~Qz6MY( zn*Y>Yq9p17OL>1$tkTo5b|ddNpJa z;zRxoEMCBRMaS7xArIDl>j8b>6%iRv*Du*KGc+^w?x6Z7{aZ)u%Dzgy5=z-b?b+AS z)(yJNf!+|M8-ZD+^tO~cL^0+xlQPDp=6LWjhAiQ!)DGzkxvmS%l)3hM>8y|dn%!@Lw3wug=4Pkx`|#WoND!^(1Eac&_PHVMz8G_nLW|%OtCR29n%xW z`R&RQ*+%M_uY#Yb+|SA}T)C5l&g%M3@%|sTk+S{CuD^&m)o|UsELtpX3XN6OR*45p za#8UjO8EGsUOa?QJKXr^euSMJ_Hx%b#f8j|CI`({WmE&_1L#o@U`7D4w-l^|PoQr- zTuzV9XYsvL*m{)j8e7ivTF#vNzU>i8*B&Zg!HLWNpg(2pR=?$MNDZ7dDo$ckM1^p7I{7khV7yUXRS zb&F?Mwq|>sm)hk5Q_=LpX8vRgULm>Q5>hf<>zE1#QU=ytc57OVx3MNdD`f=aa&B0n z3DaC-`mB(GS=}&>YTvzF3f1>0KIT9v&sNs>xEW4|l^o+rIkP5e0Ui^`f_FVNYnp3U za^#{H&zYn%puC6_?%kew96TVC9n!Eb>OoTu-phO)Exsl45G)P>eA2X+@VwEbekBe| z@#KFh`+Zgl7H0z809^3!s%VD%--x1SKD4S3Q`E64;CK@OOiOgH?-M$Y5jtbbML856 zzDVJyyUMa2kYE25DisE@qt-g`!3lFXhq6M(%R766+rI1 z+J-E;YzNNV>lm_*`v>b}e=9KX7VMAfG8TDIM1gT&xFaKK1Jg6FIxLaUguukQtS zo@ixIce6i^$Ovz$?9DAgolLydvP%E%=zW9ZdH<6;5Bd1)jG3c*Y_pq=RC|%3 z$#I)?45nV*tSP*4>t)1i;&u1x-m6Z|veKj54JnnAwe$Ie*Lvh!RHE200FVDn{fk@= zue#W)pXJs+3-1S75suVGj;mG=V0vUlcu1|2WQ0eh{io&BF!3N%41-yf;FaZCWDTY2 zJfHE?hQrR*{U?~xYKiV#-WfGbas(LBO(xYn0tyme{Z=Lxh{Eu~pmz@H{sxgV7CNCFoR~gTt^hwA{ zlwLXe29PzZ`}20R{5NQH?!_MvMV?lBcWVsAl^o*zVhx!+@m0l)@OF5z2k5IEg-8b3AjGiMr4L_9112S z$L{Op>PLkp`Jz%>Gvh;&Mjht@q9fu}$Bci>ggLp4=ahrVzoe)pd!S-q5u(}j(~Dn0 zcWpyIf>hDohB^V`6q}t3P>&SM*4j8UN?h_?=x{WTmIG<3DXU%;%{!wI^GCbWRvn@`lbDl0f>-VIu{P}kcGSqmQKx)KXERvNP7WoHLQNJg*6RiSDOcDn zm1C~q$%219vf*}1IBq&Gmzp5LvU5y7?rW9$-d>5&|&(#zLUtKJx>UHAzi{TQC? z#!cG~w_Af4>p7jk2y~EVT5E=+HL6)`>1m0|eY#h>uR7U-Y{v4ppmMWa3G>oK%w4yM zY=sQ3LeC~Mn|cUfH&0}%Cq96lFVF(5A_Wsw)U%H7kTr+xi>%i%_&4C)qwMoGX?S05 zqP%qGs#M{OomA*2JY)>QUn24aindz)%yLeKksQIi&t;R!3etjmg*5cXJ;BcWD zmOlwV8bX|uZXsgbaKbTCOWragY8NAkvXj3c$;mw1vrTbx8)h;241JE@{$6d}kB3peN>qq6nE>YLq*`aj{ZXSa{v(Fz^uD^c1L<2&4N`QsMVM@TmrA|6^c_Sesa*|P zciJgCy(1Y3iLG9?WT3H7RS08~3AFPMuUL*(4gf>0ok>z-+#u z2dTqe(o59}zD$|QXlp2PJP^n3&EJdiZ+3hhcLAJ=zkyoM{^GR$HH2vB!x>%?_*sTQ zYmS8WSHGxG$m&Xtrt$bIS`)F1Ddn>^oiVLZ*9*&Q6qBr@Aq4HEe<9v*&$?Mq`oh#zqKL|IgtiXDGOS;cMWH>oPYT|I%ogsg#P2M znj0gNVobZ>nO)$#Bw@lx;;M9)e@T7$StmvalOGSYF1pOGP$3A;0{tP_d%)%i9TVPC zLdwmqMws1GN39yv&QD_YU#91{Z>MfPZhw8E)ku&3JXmwB#)LFIV9_X!iQc0huATwknX(MGbQu{) ztQ$Fzu_}-+lx$+~T_Mf3b-XmAO9R_oCTeEd9q}nn^aj$>(&FENlHTFjvO&9xw3)iD z_#D?POCU6Re1`Y=gm_*cxK8T(Rq0+e5A2mx8icRQcqZZmU+W))WP6%yT47xBHjnJ{ zk8Ou+%eH*agegORWt7_`CyVaD>e)(7O3J%b(xi=(^Luh%a1p;9Ns;}wnd0m4F?&w0 z-Y7muh))Ur@OX8qQ>V$?~&O(6@FPRms5u^acnbE183!fI0xs2S6aP_`u^xO4Y$( z=@>z(q~Ow!w(hgF8bQu1c+Y6C&jwZ3Jp3EP^eAtdA9^z~fBvMfw`KsmHOs?FP#H7h z23-r#4S0yFXoC=nrl3{n42)%XXMLf*lZ(npfTq_eceKqv(U>s6J$D+da@`)CmJ?Ra za%hasc2;Jc-C57h#pKE88+uJF!l&3R-EEac5&Kp#r7bB$LzLd^^kRw}%9=Lc;KQz@ zYLh#b$NYq>%Nhn_ob)pxOV6wG@_R)X6pf+Gy16VOMNT8({JmCA>(56NX_N%FL*&Sj z59k0%d0scO(tXfJJ}q@=pBV>P1}Wc$;-G|TYeMsfFa z2uB34#$eD;Sboed@=y+b;blgx?T}0D#jxkRU6`c9aB)N+Z5D$@)#vpc)2ObpJd$=~ zdHBCLd+WHiwry>g?m8{B&=!~C1Z{(Rao6BMS|HE>fg(W*bhkLcf`p*O-61$_@!-WF zNO6baPQUDPPxn3N-ur&{{l4|joa^^X#vE&`xu%TyjPa<@Mjd+WPH^!Wz&K{D@2G5I zs#W+DBV5opC53F}p^X_nfq{rmtGi(DR3jFv94i19BU8m63#nlu8LE%C>!KhSo!1(O ztbBV>sE%XA|F-xn)RZtuvD{V zoh@v-(9AszZA2jkzy^O*v1*(aEfr_lChKz!!2jzSp z(ciTbCB`+%?@{eWUh2<@9RMpTdBOB`<7qSE1^GR(#Svz^03%_TV0HgHgpKu`W~_xc zA|;@+=zK`bqf<32vi$IvF#tYpLQ6N5KW_jSZ!`6%uFX{t(}rckzaKnhP$Ia4qgeaL znEl8<;rq&q|CVVVGlm~h&bF+4l<+tkJZ>MoPBqD9U#?p`b^?k7ahvpGQfl}0wy{~|#ri@`gw@GP@gCad01S?Wp=rM06Wv^ikz}sR@RK7%)1mAK!veA+y~z{bVOEvT3eLv&jla&^gGjBi*oUlM6F>ev1&OJEL#hO|VVu)~OY-mHA;Ou$96Du@`j{R$qv-oSv8-nfp2GtlDs1#Q~LlA z-ho{y{%iR_u~6jAupVptlSYgX5&o?1snwG0 zOdoL(qA`wJF0U_btXn1+3zZJb7Pa?UbI$E~ml#eIWFu^kyb*D zYupaYBI{@e>(U(d@?JbP!ALS-$x&G0z#ojk>DB(N z=Ko9O-bFr@trCEeSd88ZB{rsKpPQjtkc_@xg_1+*DIq>ivNRyFkSa3v_qqroL^D6I z5~g4Q6w84Nb=z-%X<;PoX+}lqQmT~g^y`5`;1}~JA&d}PR)X@+zuVl-+hG|rZpHW) zrv`ktHzm$h% zZmJiPSUeZMUK)kydst=uEMePmB=Jp#>f0kU8ybw?1vGed#?s^?7GKhw-+CgK#3WNM z^78FW@CHyK{3Y7lqbhZIPF&7P^);sa>woIO8;^Q@KRKsD6(f?4De=nFWLxNQx;tdo zWiYG&lRvyO0+yV24`qVfXZyMWZB9gXOUgzo&aibI!NAzHjJ2E}uqMevS+WC>TG?vC%`7S9;?0ZADc#1DHV7%{E4Rz@7E=%=^ zLX1C|J_xqjU0LqqY~2gjlspKk%U3MN!|7P3pts@^Ah+TtAw(5JI#Z;`CedZ*#j!YD z?piatr?TZyfp`w095ts7W4XY4XQW$id)*NL`PnD>#M|9LLZ-nq9;a_TveQPdS*#8f zcy!0r@XU}wG=?hLxqNvgo&LuS59Zfb!2a8(nbf^HhI<{om9!lqCk=w2R-)UYGck!;-=-E+u@+!^DFGr(H30OvKpuiFF+zcC+;JB{HZWZ0O%|mu9ukd;?!1tMDmcsB0(2NuZFj+56naz|~f_Ulj zuGB=whHp~W`Y!@XaoC2$suFCgn8dzWnHNNH&9DV5-+%Uq1Kn+8%2wJD z=yp50wLu8}sk#$8`sRRXp8n_lc=r`b)p-ROO5}285cGK3+T!E3B|-k zn}R~a!PA>IVX=*;3!A`qMV%8?8p%mjs}ix8rd4PJgWQx-$l=mhjfnBIHdT!vO5el6 zkcml}lq}>3JeJ7{^S2EkW;b}%mW zB^tK!9NwhqIl#l=8#by5L|%c$9G-_=xsO$$HomBt%TK3d1sTGAdbeIuG%5~F0823{ zWE#^rSTf5l5?jOJNxPZmUDNz%*9t|n4wDr3$Sh04lvGZ1%&ygqnu=~f{TDk)JYwe! z!X{2v17rfiQr9p`h}rc4=$)9QQbsbrh&gCgu9al0rflk^Q%6R6Ad1#`b?jSdv$YBO z&Y^Qe2cCZZzAWz-t60%>g|sSzLnC=z@U-nlE<;wbCJkq(7=_!Y3!!+BMVBz8%^q8c%9IN=hRPjGzb||j4s%hT})f-cC~gO zUQ{}5F4n^>7U!1~cwGD|AXIzV6>AS{vb@Se>@*%3rMwx6-MU}k%)CZQlu?mUi-?aC zjh_rmewW!FstMdzO~Azws)^kzaCGOZVb81Dq3^D`o0z&%MN0YH1A&c1 zb^Z?ofY86(XBh|LJYRS}b*-~XB)f8cH6(QhTYDGQz7H$JXB{4Xegd-Pb1IItWf}WG z@KJD-Z=J2HxZ;iWa;E{uppQ;fnl2vFx=`B_f$J*#kinpl5|dGHk*RNK$J6%dKvh4fPK6X+MP`=CAA* z^Lod!6T&PTIvti4YhJ(>DHAj56*lFp4UVrorkylQy z`ywrgxlSXVl;^w{38dj}=5zQQpVEam)0Ok)W*g;TQa)m$`TU;~(7)8^DS?zBv}ZbG z>gALuE6IiCIE;}@vXjl03TZZd*#|O3qY7CIE)#3cBoV%N7z%L2UR-p^1-JLrlnjup zLX!q(R`}?w8m@>X2QF`Y+-RA(w$Q~s0K@W5b}VzP7hjmFHGgaY+aF6HhHQ@#)<68+ zvf!Xg)Ke4+nR12-m(wwhR{<2;EY;-%l=;~Qk*h0GB~IEPBo-i!c#-4 zGJ_TT`43crhw!O1t+M`dHQ<-Hk%I(`3YqgN?M01vLdl^?(P}y1^dRdauJaA{5y?6QQ$b&pZod`{IO8VYpO2(%Y5f z$*DqQsyoMcJZbfOqS=c#Dv8f}(Xr?vKScNRR^}R7?Rh9jnMq10lZ6*gaP(9UePp1; z{C{+@-OR-DOmsrIxaXFo?zM!+$9lW(Cj%Y$Xdfc5ow5E!!=u~>rLZW=Mv@+5;1e%< zE?7VsoCuI69(>LLS_6g-bw&0ibc1k|_7K1wQ_$c800-#6stXNhmtY0;clnIcZ8(j` zI|x@E;}>nXuEwy>i+^_(FbPv5Pv92{hzs80N`ghlr$sbT0O^O%)f&5UHJl55X; zif7+g+4n$D5?D!}I1gdiTiMs%%l&hP&OQ8!Z?l(Z^S!?Xmi z5>B~{jZH%nde5>_&20PS>3ZKYt@`AR#jU_T+ z`kl~d-_FXrbQ|U=L2;kLX8@e^4H*FT6n5>GuTDmC zIL#A!);poF6%9r6Jagj`^xS*2%~USDNPM142A5w13jzDXYN-QU>2a2J^P#eWLkvtU zRXN}taLDb$ojBq7#Iq%l`noXZW$tkyJrAfHGu#sG~ZHA{E=8PoEG_FSUo~|Q{Xv9U!Yi_&UkLr(yjT;@f4N6s{Etus}ALyArNxa}ga?z9(BWeFL;4n6MT`h=;&dkcaj=x>=3ns;mxvy1bxw+WcYXkEj);pMFte*eU>!{a-=6PiZ+bQfpO;GkC{az=*@F8_(&l?g_Ddqsec)tw&o z5%0pz_32P6`wV+Bo6o!poBC1!EFkc(vK)^Am$V;ssP3loqD%KnUCaU$c+?Xxg?2}0 zxp%JE=u>$w0ha?on;R*mH?(mhCniG+xof7n2LRrYChJ8j^G&nr+^e_OFMS?3+a{B! zu2s@?nuY~7S+bl|ME0?NNs(IAj6Hpuu(+fbV~ok|_CW+N_1_0?F}=6~{t6vJu!g?m8v;TRo>+FG6%C z;^-|%@;xS90__(RGT-tfKw?Z%7(4WVeR^3vY>jf8)bA~Hi;Sm+)INd3JbS<#P<@Hb zFrj#~GN=uu4&~N3l{@Tvip$&RwH@K=Dc=xu4plaVyQ*BlD^%wkE5FC7tqeO9yqxdW z%Q|uVQ8;==`OHz2iDS}8pNP{t&p*jmp3F*?+D;98F=eK&K_(B+K{haP^ix-;HGd!w z2%g599e@2XwBbu^@H1kiJnP(|DVw@DU5uxL+R9e2-iJT_UbyyvB`9Piat|@N)bNU+ z^Yp>Df>S7HfOF%x&dz>DTNzqqAM7%sknPGi$<;fl@wqW--%PPxB~hvJ$3MjX)q=v? zekI5DI7GLLJHvr`@rq>bvvyQyM9KgbHHI2QGHJ&KMP`84eQr^7mY8+!6mCzf2*^go z)lO+ToQu{tsNNk3Tk8dM^teof%av;1Z>5q2E|znMVmp{C@arMXq1v7<)$pRGP#I*# zF~!ZT-|hZO`9Qt!q&d8k#IXC!YNlzLJ^1>ibY%BdHhEEqo$wYVtRl&?WiF@FO-^xC zwNw>SF)4GFsmmY`PC~D76r;1k-c?W94T`A9Jm4=2KgL=7f&1`J;Ww+Z^5T5#2y>|1 zeJ!!}apn137;yeNF$sKU0?G;Rt54Lj0_Sx_7LY0`>>w?Mtc z_uaX>mYO4Eq`+#V$oD0wKTM}W@i7Bs8$U9U{DL||qU6BQQ4R5VR8pyMcKrt4H=+P0 zm!ABWNBdu^RmPPeaZSo*vUZ6bDb;`l8F!P!AwDoxqH*+LpN{sI7)9pba24feGxY5& z_(+8;Br*dJ{AI+iaKTi%igo{3FU5D5KDenwStJ)$IpT zsw`?Glslz&*~b|<5SQm73ut9Zd!;wbio+HS{|8$T^H18p3gU2$b5;zZUFR*$ZHESq zECzzn4)60N!hCbfz1k=-6}}7o@T{1b^`R7G#hkOWa3w!~8gKBBh_SR+ls_s@+2?ir zp&KxC48K_(i7m5ItZ1YG$%Uve9c-)yK;-1h(~n5fOd~iy{H;W+mwHH?yz;D?U3|xU zRX)<#&BS&X2nKLp#=XD-4Qi6)DG(ue?)Av8dzILI_NZy;f`@*?7>>=FfH%tL_ftE- zSXbQZu#6B+RE*0BStuh}dQnXDt?_7LRJ2P7&o>l;ifW00G z(WumOV$*zCRo6#`B1vI=dc?pHGgC0mYSRjy5YJ(DCq*Ob>!Hl8#3`K4j~xoxPyOcE z^gIGrV@gU=d{dLe3u~w!0V#&6eU60Tl)5%uCSrlz4FokHx)|A*m-cpTZ`%B z;4Rf0r%}Ko$sRUFjG`M_!M|8yv0n~eyNmk%c$g%@C6tAINcN6#weN~zo)LdLdtY!o z@o(Ijfk$!)RfoSK})Nz ztsvV@#bA?>eV3ny=P>y9RMCq1>K)gm77=tTE+uz29a6L>&Yaov% zv))^bugK8TaH4j+G!#A)XEB+U7IT}L<^E*!Gl)*S1lcQsoA1K){_a+pI~ST<{^2*NAuC_;rI{uudNQ=pC8}x7knS@%RdA@oirR> zHkg!B<}qPK6|r3FUWsK6JPJ6-8r5gjONcLI*d%YMpgGqNzi7_qeGlo(JO@E>H_C(v zj(ODQQA7yLp#KQi`dJ@<)!G5GqYbrp5LO(F*O(IiPU_{%|LNRP>uYwkP6qqjYs5m{ zISM5B)TW%ptP-a9{ecu7`0hs?tzlBkwQy7a&;dmJ8XcERg_#2lz4Yua7=Ds6Cq=TJ zaxEpG@y$YRsnweAxVr0;+q5M-FW$+!o&Bd@=**+EF;lTU9+rvP$q5{lpzuMjTSpj+ zf}|;JD&$3l*1?-N7HaWA#wOj2v?4dAZ<-|Vl$)cPd3%B46>yOk-*kIe6P6&a zm(C&zw+hHS`C7x`RHl}BK!~Zs)V|jYUmhmEvG6*^QM5N&m#b@po9M87Ps(vUBWbtq z?{H&bStVyshO&$7v)cgN;Dggf9!jmRR zTFqgvm-P;frY?92K>o=PI`2&OlGwvlopsSlP-MgU<++>aR;n(nFrmNDBBqj_6`h9* zk1=q4-_7IC6&eefnip1iML_oP{2y=sF4$3zbO!@5S#s$}=uR}3S&^v+)Fkok!%?I` z#s>Lq%mdDA3<5K91=L2>d`~KW&VsCq!vUU^lWJY|k)>`IDzbTV`7HRME4VAyu!0JU zh|MF}S1R6R{1VR{1b{m~DV#*bl{?r_9_>?}C%zxaTz-rBL+E$U`vbIodpE1ReN4O= z${*=|pGgYw&dNpXnc^l;rd#$F*gk&JzGkyr{!eHAlFjcT_6qvVhGT1bmRUB#O&&wF zwv3X2m9aRrzhdUiaJ%Jy^86P3FC{IkJq-R#U(jLe?VrSQB_N3qTSzuH(cxx8Au}eW zaU_G`cB&`#kr=~r;;hd&9o%N6hSsRqPRbVlr5-25CbmL|wphK*>NWC&Rzna~sj)HJdgV>0Db{XSW*1Tn(G*Uv!wdt3G7uj0ICB zYI#3SezEZK59YVpTIveHt=b9pm`Ng_Kj!0_d>v8;oI0cFBALT<9jbkTwBIL>uD4_^ ze8b+8>$}df9;TTWkCSM%va+eSs#UBhk^As>v;TLM>cr~EXU)QetXhh|aFuuk`90Ka ztJpqApT;B=ZT1r&qZ&LKZeWL;k`_nOFi zF+`_g0S}|Q5tY{y7rBOtg`RiJtQB;sUQJ>9^$ow4+xQ+o>>B!BzFnW$806_YROhLS zA8YU_4)_?v3_a@}Rx)I}@L#Am4mIc3XsOCHZ|Euzoc~XTz{h&`bwbvO3*&OAoL2RY zxT`)HkDidmytrjBy6IBZJ$|2XCe)*-jge`FjbQZp z9JXpyEhLK-VB-%)>y;2ay*HSvP;?v!Cqd2Up^$|buHK$SM#B5b{<9aJ!f`y>_SOpM zdrTXtC^cUyD8?8T9~D0Zsp7{cLO}-Nlo{?Rdm-@=Yvg&szF&XamEe7vPeN}Kt7@NO zBrP70aFVR5R@S2=MC-Y#50!-p`s3pUs!6r{6JxF9tR*wV_ssposOMKfTb!{&R?68y zubPkUJF(pbG!%BgNMrL54WoLvUeA;TLEDzZfoK+gUE-bz714GCdSW^+9i2=GlIxn4Avd&Q?cT1D#l&jjqTP9 z#r4e& z+nE2T_&tp+=J*E`5+7Vk@{a&pE1!pdQRSRdx;~XJwn*n~dK<1C??>L-mrZ{@g*f5U z9AQ64<6)M0b#W$-TEo*v05znlc!H^{wCHF&#;98XjK?7)CAv5UK5mwV@j zty-U?kNJ|5@QkQCh^54}_zuP#N=#}ZgEQde4Avo1mWUPh8a?%z&lVo@n3S`aJWej` zE_{<0l30{e8J%RUZWkJ3$_JoVmT(0Mw#K4Sg~V=}Xm zd}hct!#=^So!oMV*@F7M;*clvopIfYbqt#PamCF|?ojKT(Jx4(l^BC9zt?cbLczys z$~ut9>5_ssS}_X39WyuJus3;6nLb(&&x##f^52jBnKUqlC*yEO{wWYHZuuFXbs*?%^3qRJ;us5*lDF#K*ze&2^A4)03D=mb3d-Su~! zLI>2Ao*o6JS}zYo1ckwV5va0QEydu*t6W9B=`~W+!t(ww{tdsm^FGs`=6W%~ho7dK zWtb-Fqeve9Zu1GJMv)Io;E-rGRdOVy7R~etP?)%c)5>N)KXA%?O51VViAXN)JD_7* zpxqNsqST%b;5F736?q;u5o5yk)NGXfhS%5M!v3?oA-5qAnfVS^qm!wMWMaMPP1j)~ zF(Usi_*%DYu~5oF)1iTI!bsgA83qE4M{l`snIbce@*i6!K8##e=CQMtveh97fAw2l zvoV{NrlIjnZOSmA*gH!~l*YADQe?3dj=vQky?cRX8$6jVdW%W~8|u}&x(9Yj_QW;90(!7t6wjN--*_@IGfi{Whr z-D^em%T!tlR=pgx!w~Gdp6I--`i(wznOGe|xV!7Ipu~AT}(kL$CutHjJH{zmKfykr?WPA zYCC@4Wc}mEMtt(@x(3|u(_F>6QeMKmbRs5d*g&_xST(;PSX~N`5oz{Nkl}@~okcmmdF_onC3Mu~03Q`2#*mde96a+VPwLkoeVgIV$ zIDqHO!C<0DupN&c^ChCOt7i;9#6z_y0UV5YWLI#9niz0nu2jFK7HXWKGzeXVzb%1 zkVqyzK1N2qmuacwhZ*`&&}Tdnw&PAnFg7N3`QekRbH-_$z_Zv_%F+2*B1YPG3M$?x zI8BsH$f8)q`m4@O^uN4k781Skdj&46`?lqNR%=)*ke@e||FySca>c6l-Sk@FWPWGT z;Z_4MXrLRqg(pIi$~{ifd;*~I=&?fCKrT~;>^(AgLCp!7n}$lCx6V*IL?AkvcF zYhSz6T_|etS$wGoT>p-~2hi+%F4-&IP4~k+)h=siyY7CPeY+) zzDM2s3;Q-5nI3&c`9ARZil)(;{l|r}nC@xi{l{2X%{qi@8sY6#6M>1eSRYSE!wFnp z{qrR}7|n2#=$py5h_wnCU5olSm)>-HfjOFdlo~jz|BHa}k)IZ_g$l3!pXkAcW~`UZ zpW0rrpebjnd)MX};sNBxSS9r9f6Dr2aq~2rROcVY7GNLf3J!DOJ0>ApJQsZ*sObN> zF;=m>Gq1vjZF9wzx<_MnSet~r>c%}AW!=ePR!(22bC$CH_4|Rw8cjck%?;tt|CITl zG82By$?0qnwlJoT_2j@|*9je{9!%Im*6)7lis3b^YLR>EDx+rd(Gz80B^?~_-oMqc zah`m)QC6XJHtUA(zpMCvbLYg?CU?sBy5T%_0?8;+=U{>~0&`9``8~54bpCpSUj-YA>WOxirs&*q3WD0qMp^{AB0psCLuKW zkCtzExvH4Ed&BMxSj6e0Z<%HDFy}gHxyG6O03#>i6^(fHwj>Vi`ehazccMv>DoZOU9KhL4e z?1M=`!LWc7wISM9Lt+6VHWZijBl#zjCAH88G16{XXs|%p)ys0yJWT8y9bZh1{=OD~pp`qjL==6fEp1qf?Z#C-yUxWs8*Fw4t**Qt_Ek z|2lDYrL1gqq^|$;`E6h>6P?&>3SwEb`ecp+SVoK7Dc`IVp&Gs*!I@LUqqOEtySxtpTb^I9|hUw`W=f$z{G_j!PK&bXagDzR6n{yB%Q|En#aOPGG*q@V3pu3Su zKWNixb1cMrI+yAfe&hV%sr_}wGX8+_U|{dFmmenRv(!>V8J<1m@XP6kyei1OkgRauDe-X6Z zyvmhi_3LT6kAI${yVn$#Qhn#IJ??n;Nv9E|O-z4T^!2>vzq`gaUwJ`|x^x_n>iF=B z0QTsWAC~sbF9Mr&zdihc=Ko{~+G-Y}6?F(*5=~Ckmm1V;vT?obnVTE%eqj7XM=!g& z6vIeGtAqG{)MShrrbZts^E9I$;Y(cW76#5^ zs02>hcR|KXG}fI6mC>{(oi871K8j>yWeHoXtuk_a8sb#mtum#wZ^d$J$ULgg>TPl3 zK3E0JW}*_W#3;=f8yt}7_%nNbV{duyuKJGielm0VUQ>eTmemp}khM4%N&0VSBf(e*&ak2C2z4vcIatcCv0`3`K<-FK& z6D``>&%GmT`eWJfnZK#*sK-xh$l$cC!pktsfuO)?TP&%5QlT;tbySfv`_7J@x}38* zgfWRzAEH_7+_dG#@cbsIzM)8{$+5Nu{-xVssh^{Oy#QGH=q?p^t;M`$-2gU&yIT{D zhaSf6G~*nSx8k=Bg=Adkg1k7q{BqvS3No{CRseZoVf_=!eJs`vtt>J%zH*Bc-<$|H za`FrmBy_)CNmsu)^XNc~D6Y^C z%HA7^tG)SO26pYUiSNxaaj-rTd^vCv38Or`smStR?QeH)_PN4SeZuPuISrV6(|L%X!~3TYdlaDB<~L zyaxSrWy0LPp!vHS|G!AnNSO33V??S$yD)p&g-bp|fg>(b^-jG5%Mt^&7WDkm~O`y9iX%W%{z8R9=QyGpnXJ^Ati#KinO(t)jL2tX&zsds zsq`=W(y9ScRdv13ulFP0-J1RVfd5k7;vJaXtrQRN-tBpf@!NO9SvuCuY@gg3d>q7U zE@^-)^!Y_FfU`nP$*m5Wd$N@Mk@EY`CMm2Dn%1K|z`2%=vgi{H>hiAZ`7S2jsADN0 z6X~>k6S-p=S8Qpqc8`%yCE9FmU)b+G-qHL2`MRAqrnGd-h--j{ITCGOS*hCUT5?~@ z3iUYe^D!Pp!{F@=qxxq*?chGp?(qjZldXuo(AIU=kvNu=1y+sVTFi$Y8822la_c304AUypy6>m5SfUabwudgdFHXmF^ zziYo)aBuaSqf(d)^LXis@i*z~{^?e9i0#A_*-^lRjrWI4<0mk&l@6aDW|c+TsuZ!B8~G z%gc45|13nW@V%Vc+*ZQgk7H=?s;wbeF<9SXi;$ymEljWu$}VO0AnX zZXOFdSuDSoaFRlde_`NivNOM_x-ZuPv0Vl@ww}u5AQ#mgRDEg#7-hgL z$!=ElN>I=C9|Ki2A7>@)vL#v-s)itSv?jbt=IedE(24l$K{+<%AXd#*AjMA@M4x{j z2kDuT16wW~^j0M4iEcdh`eX0U9k`h6spt?*qzUlelvGgy-7~}G73Y<}6pJ2;9 z3ZZRhPBm}-uVvICBd%*Iv(>1GYPTb}Gi^;-7-1fmYyFr z1nBnzGszKYswBNUwp4_&^e*Ea()@z^xBmdL1mYG0L4!FX>N2FPX1H zd4`H#Ha8Y<5=qS$JZygM+^!Td_tkm#X&fmrTEBSt8s%VnMB4v}!9pw_?z~wZ_7PU1 zZ|eC$f}LLmrBgmbGt|v(-K(ip?N+F{$8MaKbk6!Qq%l{@I)c=BGjF7}8X_sCM+iHK zbbCk`+7-3XDo6<<__f>N2vuDqnF$q8R&&*Rnl2G^qGP- zD>dt3uwewXGSvWQH%mo?##OzjXZDjOD2SZ4hO}~Vuc=*-_nRi6=v@09(`RIQQ|f_A zwIx|5$Uq|=unmw-?9;+BJ64f;j>pnTUa5{1x#7hR*Zds6zTevh3SWn!?=@`w&BJVsKa)O0R2SsV-N<8Wfk6AQdtHGFX{K zU@t0L*mQ6-?Bkrv{1kadf5P`oNp95~FOeK0dj;5wqA=5n5i><5>AbhAm$oUhMRl8h6;sdp2g>^L=wwC82e1>gI@}9DG;)6#11? zKvfzpMl>2ORRb<+?S7F|ixOBz(O`jvHnH&J#3T<@pxn8)K7+CJJ8WIlgwcLjtvK=m zcp(S3tBedWQPeL>YCwy^Y#jAK#pf2iHP2-8>fbL_)!4U=I*2B)#C>n`QqOtj(>*;E z7LRPn;z{h-sP7!}`gokno{^2sv#y3HM(d8v4jYzP+iT|61oj2Ej;YHjz*K@5P&htD zKG}del0yQwuLK0G?r(Fc)6&xn_Gn%l4psu|hl42rMr4+|KHA}zD7GSDj!(O0o5@jn z{^t;nHuqEpbr0){k4|ehuk?}EUvu%~(An3|LlrUB20k4RxSkXkzgbs!I+Zk|5TD}a zCeHw7z6Jnb!Y#4TbBiS=iQ#gKcN#}irmzX&8q>%*Se$|jD&@VW^YYae3}NsfU=4Y= z)Isf=fm^gcc-z^tzn*huU?Pry9_JnBG~}vfU4i@nm^!-{pwuXocZ<+(Khb>Qo}XUU zmomUFf^Mi^FcZ;NPT%Jv*Grea_+S;`8lRC}KX+gCkR!iSdV~EhS-p`*#;O;8q+RBq zPCwHBi;&iLciX7arqd#^zX(|)C$OYwZ_8`lPh=;-T0Wxv;;Uj(uE!05;F z9p86Gbgf0Jvrj`0<-3=bMFRpYo1+}Hx@~`?jLDlCqoIKwYBF*2qs%G7*Bnw_O8igy z(8#dcf5`m|19QxUO44)Avv4AJN`LSO#^puDd6+~rg9Cbf?wjHsEb&d$)hUf2XXIDi zBJqPnV*7kcAu}GJu(n7xd{kGe(Cnv~b=Jh3JG}Wa#wl~)Uv~YWAr4<|= zLeHD2gir)GB6_R-8jk<%lJ3pD0$G{wY=1dvd6jJOczJE9dtZ0E=Ip{g<3ct0yl0mk zLjd~x&;LB=%<$Vt?73?3yO=j-UJLW$S!Fc>NSS8Ff4qPIn+BHbuTNt?;5(6@1Ml0E zaT~?k7<6-r$TQK^LZc_fpv(%EPHRhwnf7qgfD-Anu1^d#mg)+$(&j81T|-H})RXEF zf}{RM@Cfxcua#2yE_7o!f#ip?>Bg|X2o3wo$Fo|u@BwpDpaO0}Y%lIy8sowAH365vTm{P9@Y)mo=!qrr<&WmoUbwYiA1JQL)D-8ufaUt)Z}3nM`OEV8?_{1ZbZOC<+$5ZXyXtCCKB z+S%>Bll0_#zFs}F4fBjFR73F(JK9?y~`tu zjs`bUXPJG5BdtsPm!6cXu?~YyXVZ$Z#mzxGnwPZ+V{{6U*0Kki7W^6 za&+m@Sr$v!vGNCU017yFfDb@nqH=^Gj|;h(TT+v)E>blH`yW(=o|rfnT(OQ`N#IR_ z6HQ6?bWlg)-aO?3I`nt#I$d_&`C7s}IJ#wvDeufMW6hxyfxVsP@TjzDzxmxJz=7}7 zV$t%Zgu;BJ!5&PfGoye{$jLS}`X*aDYme2eMZ=5M9m{bDMb)Yn>KScPeF8KwFxmGe za*?fBkIY+Zt>nV-Lwtz>*+_v01b#hYRcI ztdPZ`l(b$6uQ%NQEoR64ZBfB8OC>+4+Sf0y2nYymfPF8nMB7VUlJOHyXIU~Ic}cV* z65?sv?sG>>)__EO-=2F1#w=f28rbbs$EX{aq>LsP0tQFq&_S-6uJY=`J4&BX1!Pd< zXxkXHjD4^kH{_uW((m;ZQ1DE!c(OEPRi7F2Vkk*|DSuqs-tvudB8o}dqOaBK*4ucL z&=A{=s*}fb8xJZq6?s_~6PUwaFYvV7>SR!=8M5c8C#FIfPN#t>Su?FDRO6$O^VDh@ zpYv-=6098M6Sm}q7pt~a_(WdfD-GPPBHVs~CAlA07zbQx(MTUr z1*=CRmxPFbSq!(n5clTZ=PuPCzSY2Ai`k~=aoB67ejyysf12ihvYmJ4lWs}n6j<_& zxTKl8U#520s=F#Vp2nG*Ov1qPeeIgF(-`YbO%+GxMrrSa>!GGQ!*<)Mr5ZtY$!Zq) zn@P#4a+UTSI5BxwRt@>&&_-{OVZ;r}2T_Ky1FRJved4x1QVDKySgV4y_3s>CQXeP& zRPD?%h;B8jwLCM^BP1>2KAhSSzZ3%j76eO_NweN~a@lU$5v~>TGs@50bbrcSJQlq! z3(8~BlwQDowDBy7U-6j5=K%)!d|LH@HL6aVb9UHggUkm_zPdDqOJX{x5!f(>Y?7?L z2h6oo$&iuaTpF1skQnvpVbT=C*Rixsef@VNg~ILGC9!s@0^tHwPw*@b9Yx5at+#4O zs*n9|5YvlBA3whscH)GXbr%Mzgx{{FpwuLw5QzB~IEa>k)~qWh0Fn&Bi*}1<#HgSliAo72Yr~XGEfn7yG&5zkiO^ zsObylikW%$Q<>0mYoSqOPc}*x+Mb?Y^Z2loS_B|7g7hTG++dYkgb5?rsM%tJ>U8Bc zxw*n`XRt=E^_M$6%M+M#%$Rad+E~e4;*nrveHox_v@|{xrBSm8vlh6Geh>mCaejPM zJQKP&HjbI^E>EIOwNVu@hVQ)g)~!r@8$Ui#5(*XDABsDFqz!j_a`H0CSXoIIb2yu% zwK=Js)iv^Mq5z~aQ!@c=%fEFuE0E7^Og+N#jQXL-GsH(^!FED_KBt?Qei=n7j<}ef zM1wyFTb)n;Ohq}-i;{Rt=Tw5f(Veh$?`#7C$}4~Gn`oQKt)Zw}-<=SZl^;YF7{ADR z@IWvggVTxb&Stn{jojL`zq+sJ;xf%+kik)8f61v>iF|)cG25LewR_Uh-E`_voH?cZ z;N=I3KeqwfP4o1X7Gr{`)_|^RZ_`zSa@!QTVRzf^R+^&3f#9Ob5t@i0RXvaQVEyn% z`rlX`fJRQH7T9D@J>F^w!=d?}8OXcRe9t3&hElH^dGE!vOeZrif*CTsb^>-}S*kn5 zwZ|g(IaE98IQWBx^zeifF&xTG@cmNp)e*hSj_X!1djCG1rP|Aw2C-z&!kBc8FFle+d1m~(MA zUUfavbQLrYO*>|g+HtXth}cwGInH8S08NG`d>o&%oV?AvHs*Tb8vmUt%>brnNz|F4 zSyJwQK{~I7*hDBtY&!B+r$e<*ZW>EDHx*Ad=N-eXCg|QsnikRC8AlXqmMK@v_?$4l z5u)f|NbTsvo{TKSj|xi1E}7lWs+(ykNHR5Pu$_<{Qa8d~HW4swBJZV*lSeXynO ztFB4LZ{;LsRs8sg=1y%g8Zb)3c%WVzDAnoKkJCfJK@JOX4lsybIqOwBu9`d7PGFK3 z1!T>HeVWr>8%jVecbHz`3ysz8V-BFAGj(tsfK|$b;->E|97t*P!l^`NQEUW~FT zFnB^h{fiyXK|ay~Oqrad*nB@rzyy<0zp?e(Sa3%neu9s_Yxfk0@a@*E1jbfnfIA!_ zX3a&6G$*y^Z5)&>wSu;~+)jn+Xum9~CMbLxJWKLRSDMY#irlgJi$h8{_mm%uwqJSZ zRO-0k$m(x1VXmQ+$>7x~)RLIB3u+@RLu(^?!xKj0Vk=Hr7%<|j41FLBSGo|g^pk&nD6rPj6VFd^}NOqbI1 z2?FSUqlWZ^rW;2_*+l7bGo+R3E5zd}3%Ne8tqOd8mzJ{IQ~EVoYf@%74u_owTe*Fz z``!HY?kuqGH|b`bcku=*o?CmR$Yv!oSgT{RtoJ zaHN31Ikx-c6xkb@>qeEeqS_v+wY2W9s(1<~6IMG@;REjSp;5hCZZH}SZr@nTB)%EQ zFDbyAqbh#euEgX00X^VC z%t5!kn~gLUkC?MGEy{44SOo)^K-t^2lLIq3MJ@JMbic`yE`Ez&8Xb0KL;Qs@I(J`k zE4bJN1EDJLCaZiZmu3Ex6$8;#XC?SmoiJ|S()+#rpU|sRo!IN@U%KP54vq?|CT`nN z2uT&YT#J;#Z48+vSf?N4n+{-N18+nn^UkgrKJzII*e1)kI1l)(*LE8ACAhG&&`OQt z1?WHFRlU9UG7S8JEi`F7gp_uWjK{Y(dVNe+a1$rTEO#9!bU`@|Rbu*r6V=cSoiSW4 ze8H7z5Va&y%dW!Ht!9lKgr7poeM-s|=_3xxw0y=!DW_(y0Eh(r`yF=recUkl5Qm`p ze+D(MMeuWJY0K6Q0EvAYkM|<>ADp+pyWj9=n|-F$vn$Z~Z;KAT#Y^{alh%*_+`a&p#h)O(1xn)G8u^tb&|={1p7EkkF&0yW zq3kaEj7~6Z(#6WV3by0NIyJ6vbSx1ASLa7RxPd`le>9k;uQzsfL4$#P5Xg*>p3SN} zUE}v;p{j`;r~3NjN7icak9-eRDQl7Vx!t2lKXIUS{G65(`oCHsBg6arX4AFe6211WtQ?B*Qr#ei&Z#ktw>CzDXC>&vNx>g%GYWz|5!+z| z?}uHww0w+aJa?P?Z?IyHk2VYCJc|k8bl)I|NBQwf(Q@W+zY`5}-|lY;zViNwylzN^ zxU5FWLhqfK`0rHG#f>i_tc48Xw();t=NNWO&T_Y3rvv#-^?2o%ZJCxD79WacNYg5l zmS1Z{O=lDKjQ(j_6S~o(`ja2rtoUt+^i(y3n+F5e+L9v2PibGP?+x)1(v!R*hqdbN zniG2Pu2K3GE^Mc%XBxTWl>1qv@$=;a0=W^yv(29K}RC`pmqBGm;jgq}?VpkfJ z;Z^v`A5<=$u|`05k0Wgv`{*xD_e#jYR^m&#cAS?g=R-$xB`sNo6m6Z_;VbFRNsvLC z>}P@S3e9bRZL{vSi+hER)Vuc1s$0gnG43pLmyj)^BnaBkW0aXH&VD-}>ZVj>RIxOX z9+8|+Ls~~QdkjY@#-HvOj$BjZNJ;3Vv}Y~@F=NLDPz8Gx!R2S>i5j*bDpg7UZJqNn z?CC{e#PAnq@_1q7>pIuE@`g`YEf z?vdOk^7Iy>j<=6!gra$C?)DY!mlj2S%sHox=2h}yFcwgtUvQKjKw`XQOrCm%oY>dT zVwOqE{rc1=sBYETUlc^AS6t;@kf>%n>04}QPVcdm;=+8>393h^0NttD)7Xb~b%p*A z-Go&@kzI0%i9@j+xItU^DW8?laSL_}8sOIxEpMwLLPgD#(~EsWUv+NI$DygKkTb=- z5lrR8FMkinu-@F^2KtmP0*(xepKJz?`n{TLel|lmYBz*ul3*R;K?cZvZ;nPb_%QT4 zhvN%SEI1c$U6xqzp9-SqrcekvZrO89_s`poHgv7J*4aG%Ll5BfkCnLdb4(?2@T{qa56A?`g?GOKU#NXLP z=MUYHr3vJb^* zlK)~8BdVaf*tt2(o$ws(EIu26^v1?hcGh2fzl=6c{#@^`8Y^8u(fxfy6(;?LWS?SMbrU%~g|Y40t+V&t$>5orV&P$oEh4wSOj@ z_vwEed}P?wx?DrGbc68c@yGFzTp0C!ArqYC3{I07hwI1OD67~i^IORF0|CEkxF=TP z)>$&aPpjTj12nmpRx_e=_}hoPTM_3iMy*{eGkga_l;MK2gYC5whC_Xa?`}!DNDAaWqPWZVeo@J5&o>Fr|YL%U^?ENf% z)+kSxSv@plOXxxP*1BL114Bnqr!|9Ghre8RzKc03mjpRnX6r87ljAo<1MMn%`@R*^ z`sPgF%h1EKfC$>x`M+Ew{^F?ao(_=$$!}K z>tnezzUbiDJg7-+AX(x49{qgAV}bF0{4WkM{r>$o?9a~HNVMZn-<-$z6qN~%a8EIg zEB8G`z1cgW`=bZ0`yD%V=VxpmHOLgo_;W<9?b`HPUIwm%Qf0_%55qltX7I< zIDy<~+0t)^Z2KCAv>!(1xisoWFbnG4u37JTwq1G~Epx}-c&8lNWb_j5+HzJIHt}^q z{}GajPXh6XI!*FO+G`nhi5uXz@1dTL-s+ssyR&M$8+VN3X^#1+prHaXP-(^=zoJXe zX=Nxeq!}H>@qQ*IVC&fT#rbG1fS4{h;LlL_hYyUcA82|LmRduX`*f*I&yCKnolbgU z2#eItzVQ&eobAZ>R7T}*xs zK092R;hQ?5yYmT^@s0pXcj@S z4nzWD!*_YR3yX($DOBT#>2uK{Au3q@>~PF)ldbM|aZ|D-{X1-C0wu34>fuV0)~tDb zS_+Pp{SGXyyqZi_ z9-?(j7(vyr$j)YlW|`Gzo=+^3nTHJv{btMt#?eI>S{-^6(s*o=edzG79U6SSwW#47 zwP48iuqiP1cMB7CPcBaDO(gYmpJ{aXmWY~h!dMBW4wOVhYt^4-3cl?_K=}UR{1(am zi<4}pdOv{M_Zerq2+74?EN17Dzyv& z)&5=0yKYbe70t71TA`)xq-|i<^2P$dJ#;gG)K_IQn=;a=@0_WC=G~4;idjPW>6~zu z_r56NIyPZhQ*~}2w%EyZ0Oe8z=Sm^cEf1xV?eN0n%3E8TQn0V&*YZW(k8%jwIWr;c zbeE=UHh7%<_&cmkm#I8J4!a&^yla9^$}>7T))BX9l@2bE;&Td{uB;tpsrbw@b`rP} z@|Dt$D9ZJ|9U8T>5@#oF4LRLYxDk*I#IvWUt0jZ4wIVcE@z88fGez-cJ5xdj&6AN6 zNCgF@L6(Ax&yJ?Un_;~*2Qm0e2R{^*pLLdhwh;3us2?(jh17X}O;zu8fGV85D|Klf z!Y7X!)df;PW1e|m3%r=A^dm_8q^?ervfqM(ZQ$Y9;LW1JyyMaK*l@gnSyu_N-D>4y zTt`tf->+pYz=AvVjy+zlWA;yUhaE;)auHx7Ah!|ywPD?V(r-~Ou8o&Qv`CyoEx`pW z@H(kehm^94_w2<&wTw@KFG}rnen2;J@8Rgn%mt(K_^qytVZy|ORnrL;X|UwL=;sNt z^%~1F<&W=M^7KL{lEI^L5=U%Z!1t|}24rh9q~yFa?hZX+S5$Fc zyl`Yjjm}DvCOODLl)4@L8Z;qTnpkz}LTdVB^O|yOQc#V*T|wuR{rpTwnZxEO@^DA773LiEKtVl$lj87=%EX<=`pHA)cFOE@FMXxU7WmoHFv1Hi!^q_e0z@oc> zZI+L%O9uCN(+LZqV7ujlRvvmmT0eOIe`L^@I_Dc!@Dgj?(2Zn0)L!1jB1zsSs=Ox~1togdgTtEC1hP@-A-a?*uY*UJpBx zQngDjusifJ-XLhgS~aGd2f`GcpB*ACo^baRP#zbQF;>-jC(I+Bb45s-GOSUx1YtAr z4{3~YjZzJT&(o%?wNwe+XOaIj$*-@Ii8LDl`#GIM3I_*uyI1r+wkX5-6Fe^%Dx*3b z3Z@T@2?ffY4HGVB>;uGbUOwF9YiQWrS^BLn*kR<1MnV^uis$2_c6Vwz(2tWwp1GGUc&8sdBH3pXc=eNzGnnjSc3Vb~Y9ns_~qgpMI zha}cFI83#87o(^DO9^EF4W)}fs!?&^3Eglx=j#*g*Z}mrwiGV3Y2jl`jr}6S&kqfq zpTB468f%_$p->O&&9oMP8k=kJ;QFH3RwQO%XO?bHeuXoh^oDol}3@ql83MYwshV1aTMM%0`?E0hq36C;` zm>U{^bwugRgEF7=pc^xBnEaIl9ZA_ys`N$Y>0c5(wj#yE3f(N4+|=g@t( zUF*F|ozd=t-M6+OPjsI=5i9IU+5Bz*ET-#-#)Cm zp`TE=6CK7A(+JgYFh z(QlmV>*q8Gt#)>LY#2ufHW%BrFay}s$oWS#cT={3cwz1H%v_q zv?rULg4ZV?vV$!fstBD@kkl|=Dd$lUX~EQD&1^oGH%WJzm4i3J$IbtsJM^sD2pjJC zWMd97%3wWX$q*X>>oowA)nw9|m&@R@1zZKipmJz^(&o&pl&n$iyjMI~r=jJMoGf;N z@^C5hlsf7ro}A2=<4AuLcFYu}Ku(mS#xp2Vs4%=&l>UzX;Nycj>{9X2AcN1Pf2Pn8 zEH&HDyqsbbT`;39uqIx7nU0;MwA}|KGfetY_*&9o%MQKkiG2R5H#iKT|71Sdl(+Pc z92hC5r|k3Fn1R%J-DQQ?TI+cw&aCSEu-;*AGqu+Py`6yPPkoyF^)2*sMrB@?jO6i1 z5)s5DDXCCFJ)Gm;DK$zW^#mTQhIJYX!5bJDHsgf@qxN?90+%bQrM2n<+AqBdM(1pz zRmXQL*n6jt^)d1Z%8>|q ze0I0>3x%?iTVl|g+wxW|DP2sMsiPS=43Bx8Hd-u2PRq+D#e5QaG7VK4QW3QWG1`G$ zULpzJ#&dH00dqxjNpS8&IdGS|P4;cLZO?`Kc~t*2D$-Cux<1b-*3&H2>g(b^eXPS9 zKK(oh?jPhFo$t78C+vB_tUIKv_e=iO3@{1g?3|e&E)VObP3SMJ1TzMzyy=}f`9mFq zU4~NE-h|I;m3o5e{pcSj@D$VCJeDYi^}ER zt)m{YLUh2ZacMqeGfvM4F1aEpOUqT-3CIW_B^fMjlOH7UKlFwBW_2o;7zx4gq^B6DVfmG7g zN-TNAw#qH{yM9_|Tliw5G_CvOk=Q$0g;RIsG+ViX*?d=Kl6kt+f4ce4>{n|!qTizx z1BB4xUSfiEqh)&iHS}6{M6{B~Ee)ff<`n|t6dFu(^2Qp#} z>hO=tkb|Ia+R2CW8ARrq;-r5hg*};<=DwalqarLhKJZ(n+)fu2R^k=LR2lXFl~!OC5ZV+idxD}BOKi3*Xo|Z@AKfyaVQi*SXY7Cu=cHj} zrCKp&zt>ohyT0p>P`*UaW^?y0_eH)JOJx*z7=wrobnakQ$QCY4@AI|yKImn3 zBr)q`X=9(}CGfE5nahH;D6g_!l#a4AS(n;;?E_2;@a==>#XhMAoHrsO!oMzk#XnNg z`2dE-)qtTKCD!)Zzqj4hyL`wNBM#CbiZ%6TlFDQZikt@gYr5Lt(b6^9U{=>r%J$gC zk!8s6gC&o5^`CPqy{Vhu+0bIZ=|Gxc>uIT|N)RuL;K}+7znyDl6M1t?wuVO4k2|!r z3@^)I4eqz>9n`wwt?pq-EKe7WSSuZGxvtfHGLd5~>;22R7g)Qy?kaQ1^q9vP4)EL3 zfqeO8&{Qnk*-Co|%}->l7kNx|i`(^+YJ}#khDCOw zQNcV?zZwbhs2n>SVyzd0t?49*$;VsxyLR}MY~Wn>4E|&dLAg6ze0i|JGtKn9+3T=m);doV z0&W*3r3!#ko;f%diXjppG}1Qve39?Es(j6$$+8*!H&N=3KWI{jeT`kxR#B`<2tywl z%^>l`LJ2pq*q9fR{FlsDAmb9{iqz3ymIh>ss zLPE$e*iUQ_8bdJFJDvek9uM6sDYrgsuu&at)P+9L*g6wJZ~|PCjuU)E&A>VmrD+#@ zEv|X6DN5h5gq75G#(!Pp2&|UXRt>2jjWv%C4BuBU9`gns;)oPNF{=jl7jqUg> zcPzPhP;<;17AQTT4RP+w%neat4p0LKH7A_?D%dF)+Ww}zzWY@WWB$|k9CB}>)D`%n z)YT$D%n6ELa2^i)i)ca~U4=F-abNI6V?56MoFDH>UiCH-(u?M35O3gEHgxc>V#@+= zI&4`$PtMOGIWoI8sP79jHf! zHO`16EHmPX36V*mY8qOL-8mUXaxQtb(`SdrFN(!(YO8B~6vX-6)U;3VtAWe(QeUNn zBCMYm!bC0j^F;R7XA;aB!;|%WV$kYZVpvB1K!i78th(5ID%VnGKJ~}J&LO)ndMn(g#mX*bqHHL*37^5lYz~W10s--P!p8~V` zvMo@$p(BzwdDFZh+|YMssdpCeMyZ60d@k81d0o$69+>utYiH+ARb5UZtIUtBO?FO( zJi(8f6$J$qvG@`q_Sfw0c;~>5-MewusVomfMON2&@rW>8H|G#AP>dmP+JpFoDso-O z;m5w76@2C61a&=cxpa6eHAPX}oss#RQb?aWo;$_cCHx%v<%7tVHngcEb!W&dgy-XY z?t##b1(pI0P+!Uzx|?ot&WaD20YYx55I?vmvNhxak*iPEgy8^%E{y1ZjE9)42vuxW zh*O(KE4NI^?+PxZUJjOAa}E8ZGIV-yBjL$*FH9pGpp^Fc{1u&$1efLMwHlTSh)-1* z*S1t7IAvTDAl;nUTPGnYMO&o1{{iwBhsnyh>*7;Mj%)l={mK5SPlc3(H;nJHo)3|T zbIv#;rgT5ViapwNtYf8_R-cg#t6D}|C_-edxkcs%q{c9FWjwqL3JPHZcy28d6?+DX z_iq|y{^FFZbqv}5gCz*-n%wO6NVmP}$zyAT_dBP@4C?!851p6eE2bVjL2z}mn=4r~ z*6fT5fuQzuMPT^1K3XUs-j-*0#PQf{ycz{JYSuV`aybrVnT3~agH$63gj zPyI|P==*R-I~Ua%;7fTyB1)>XRfhT&*GNOJe7ZoQbxg}MuWveQ?xocIs+t+4-LL*i z4%>FH&V|P|&@U$vx+>R4|CwE07Nl9m^__a9E2)WA5@urVaiOuL`c>_w{-f^M#$<#_ z$B|x&5-QlGHW|oKlTMY6y5Pm}vcJh4o(o^0ziY{(zX5Je_p>$N-ua6R+&?|-zgqL= zf3g3?aSNa_H6*}Yx#K<8c<#c(UEmJY>^)f)c8;aWTM~ z-}R>kvG`?l)Q(mE)PFl1&TkyAf}6r@9)hr;(dJa8&D}|Xf0k5fg7cxufE|^0J`!FQ z2{u{zvcWv|L*Umr1W&4DB0!00#MFX;>l)d?zD7rQu})bXWQ|AkiHRy0tMhd8tBg0s z&OD@(t55NTBUkKs90U`R6ITx=z$0iCltL<`-D|vcZDkNy@7RZr42d3}au z-zageckPI*0Uu<|xxS6Qf3M)Ph0!qY^GIgS_Ry*%w0nz}EZI-~Ea2t5^P0p*6O3o6 zbg%^F&hu~r!R>rLt+V%%;dUaACCY2e{_@RhG+S&hppugZLtj|;C2X#ZpSY2 zI(wF+EHbUWzx^W?3@BShIE5u@T*XrsvYH#c9Fy~x6;d6I#rP;l2O5%JRcHb$FAPj- zw{in|1fJdp0dF7Vr9P9cs=%%WPx9%?0MNOEuoyDf0H^^550q>OLt2(+xV!^eKb$&(#%_Gw(|FQWU|$ z$V#n`3f@#i&BRhHZSPD6D|>yIk@-c!9hS{;u=T*O=Kw9+_HI>A8x&`@o^8gouS!*o z6j}e!XGaYQ6r@u6*_XDgniBR3GURc_uEwnB>N?%P1gJ}GxNhYnC|Zm3DAu+x2$?QO z?%PY4F0(D~_Pf48Kdyrv5W*f;`W9F=xV>Q%FE86L^y*l5-XPnFxGt>E*N@#V8t57L z&s(d12`y}1KK6qBE|J=4tNsP$hVT^m^Fcxy#&fFR6e1nj?-`m?WVi-2{bc#fcQ&#V zt5woAAXh_>kNWq=JOA4a+JC*oLRzM?7WS0Jcp|j)^I_LX^$A&eIdja4cCphSB10_U z>YKy3#x$XW)2>le{#hY$e)_=hDyW>;TG}Sze-W+-@>R-G4ZNz?oKs)z*jy*0^7K{r z*~2=IzVZIl@9_}4Br!8~3Z zFr_S7)X3+j^c+*Bbd7we|MJk-e@q z0UBYxaZSyU#0Or}hyr$W0vi*s1``+$WjrO(m}P@p_G8HjxqwbbvRV3E{k=SIz5*(6 zv6sOmbSMvFA!=5*GDS9_y=ThOvYI1XO|>G*?GWMy+m?CtXZB+ff?5bT7*SBqwLC8{%06H-=?;aCgY&fTKjQqqhJuwD}(r#hR#x$O@*ryi*W-;50 zO;XggWF*Nh*+uT_(Yx|{+7tH=Jd=MON~FH2tzHt>uDZ@t)jZ_V+lhY{Dw&97az>Vj zR09@So#!%*%~R|E7CISf$G)Z+>}1XsGxFba)KG}VphE_5`?Q?ECag`g3k;k4fNx7>sOW)@N|&(KA$auC{h3 zHkj6JXhnKx252B!A51%D>Ix?fNkGuYvs_SHq!=iqtVAljN>mT~LN_Ef(UIWhsGTpE zs8J=@FJW2}Pnn+SK~`)3>|Z5vAt52T#_#V(fpp{3X98(Y8zrvL{(r9I|D@X#=t4D?J2Z_Kfu-v|boL{5FVz(DjF6(Z$TcqtbGT(5cW> zjHdFCAP?S&fLSLQqT8?L0ssaJ z@cA*4?K~>PNv>*fEg&pPL#;`2Pmr|aW7yCobkeYoCtIR{n>KvOJJoF8C)#{7Ooe)@ zfBd@O0Gr;sQr9HZ<*yK%M1QaCMTf}}j#eF=W{^Qft`iM!XHS(vOfm9A%J zRo_6j-*1xTDTJGSSgdRqCYSL3nWDP-XD>?k7$n!;%N4XWKwYQXkwifuvUjY^aY!ku zB}7h6#`(a7xg&f@Is(a>$eO)OmmI_eo}Q0|PvDCsNHYn-HCWB%8(ayq=TfeLwylMH zdS@Ma(BR(T_paJN12rH=uM0`AG@;j`iE|RKz_z`jz3Q714eLpv+V7ZPDiW*@=bFYR z6_5PKIQ~FLb)@bXxOZy7Wx`LXj6;*Na^g+&dr#~5m5U&ErP zAI=QncqyRaHm4RZIw(0oLoeY_*;#GAPMPv)?PE>BS-86@RmCX)X?oZWX$EnQPq z&fMpLAx@!di9sU`6Mu7e39P<%tI{w8^9}w^%z2M@rvZ~V(l=^Bb zchbXF;Yw4V^)F8P@v_HVxEKMJHw1iw6`g#c7CDbO2Re1k`lW4^J66CJo0o+e^`hpN z>u>#DqfgJjwOaVC<&zyRHrNV`?cOVem!VCc#;kHc2N(j?jbcthR1kQL2iO#v2P|lw zFT{ZrSVA+Qdqf*ALvNV)&62{t6q8U`tz*sf@K??Hc8tVY0=RsiOSr$3C9~q~tcO40 zz|y&bd+5}8vQwgRdG$`EgoZ}(adS2Pq_SA&?%K3$`#u++Wm6;}X?`S%eTMGkxw!8D z%zB?bi*t-ym`v+{Au|(}@Nps^YlVgsQpOWvwdN4Zk+4W4?35A5b8szfvGOp#9LCCG z$;N^`k49SFqIwWYxu^`qcr!gXgDqpLY@^~VVg+P3n@p*SG1Nx0vb~3f|HyG?PRTSW zB>!AzEu}ci(atf6(VAeawjn?z#uur>@6zNb`IP1%zszDf!ean8G8}6{cQb5Qeqm6BWvRtSQTsdg< zpl5zuC(2eC2!Nrov&|8|fXQ1!!XL-G6%7QAMaqOgvUN%NZs$(Ugv#xqw3$54j}zHv zJ5P6XoEy9{lURCa0)vdpc6ESN7AbmuGXxm3I@I~g57zlE8l&;F&);XU5j`nS;g4ML z)D~9^Tbdx5F6WBIbi#Woo87BufuyubxEgeL7Rp*a{C}o?hPA(%@T}CePB8$nJOz<; zXbnR_zofF(=Q&4@szEY3swLMPY0DxZ;DnBlapG!a?xE61ieNS08_BU4&KlN2LXcfxTnAmHW~^V6XP})kz1&8Gu3h-jl!#S zrXt;)z1CF=VULjCKYMKn+AKGtnb&oylFJ_1FjF;h_1r@+}=DHSCV6xwnz_61M3R$<22M|#jVwS zD&jCBXVh+4ozayuZ}?Q}8xWC9*Xcj(*+MPSEfBNfJTI)T` zc+&4|bN+Pr!o_l4E^5XrBc>qI6~M4PA@NzzRue$`YI2VUWA_21qERp#9=xq0Ixyo( zmz}~7?}st{!^fE#4QA>}m=0okix-9;T(0%L{DWt^R#6~uk&D>ku;tomq)gXb={3ra zJOQu}>M|tn)onA&8FrevQ2zf`V2YtWo)*dY#razYMJ~Ou8I~MCJna@fr+}Of+3JM< zUe%`2E2F2@JsmPdErD449m2L6wV%69nrJ6_R&7$yl~vah8}LG0Tu;gm-4UBJ4!oo< zJCDhm-YujvEyFbC@=BesNo}^*4UZjd_Q%podq@jcyvKP6>mK{^Zzb?xuq>(p^@gFY zp@G*-I21mHb6{0y&Htj&`AiAz_*V+G5Y|Py zr7qLqk%D^c!+v4K`tAdD)3L?LgzTzCn1YnG*0s2!F@mqW<$d1rr56BYoyu))NvQpC zQ#QhgCX#Anv?r?*+;_Skl`7FySeh+v(e0B(_uRLi+Q46_Wie8KWs2n9KfqMD<0?Hs z1m{5$?(_dDUH;=aT5QH>eqnN^ko9Ahas7^DBlU=}fEw&ht(qrk@Ax(9ERvH&<;UdZ zyp}**qA;f=|LcKBSN7wV%Mu1&dyC?cX{EEvJ}S4zC4tbx*c2Iw7GdC{YSakxqdyNc~HZ#>ZY= z(NRm;_edg~Bg~3Gn55xyKzNoh2G4%L&ed@FLZIba!-=MH2QnW~1N$eEs%IyCmW5YT z#(4Zwaj~h;+)Kga<_$l9EK+s0?DgcG?1+(kSFH!Aim4My{WQD8P?gQ0IA&c7FE3x3 zl+20I9Eh4Mo9=RuiTo=1DVeiT2P*UsYkln4ySCT&$u{n3%HX1obw#@#`l=n?JUy}uVR$iFPKKD^l>XX}{9I(d?f%MIvOE{J!eTW;5 zolF?tv-*nz>4pcKQ>#jM{=6^Gv6a6O0t)=a`7!Ht&x*GzJ+O5y9Pr}=%jqJBaJ+FO zI1%%U{=JJ0JRbxuXWY;Ir1*XTl+2ZYIHy+3e>9s{v0c*6q0PjY3@fi;XSJ{mXrCKu{QYMBRGooFd6Yn{_pbv?d_n>Lb9lw*c zr7baU0BeHB&)5k1%ZjX*gk%T(l$Ee|`~xi9?;>fF3ag^#iNU((*4>s*FWn6k4HC>? zmc;4LqRprGCWP!b4k~vRw7NL=k@nv~GVvSQv)X-$xW1xzWiWmdXzC|8rXVM8$Y|g3 zh8Zvrp)H$DS4E?{0WxgROpEzplcgf&D3-4g9;tb*1tfLGsw-qULqETd%E}0*4N*_& zB@h`5Sk?)rs4#U`Gt{ryNTfd`;?_gpF>yL~zb|{%E-oevDspYw}|As@m*h><`Id0&th% zruHY#cl)eUiqT?NVIje-n)rNQ*fF!bN0W~Mjm6O3`bew1fr0H@vX#2h*k?$lb?rW^ ziM85DGlRZ{Db!BIK_hNthoJ9XZG`#Cn+1!; z&^wETzAnt1)tqU0-q*6uER+g!p01h(7E4S!O5=l7yZqL55|w)D9BUEc9q`X}w^kda zBf}LgRT|SnY=xduD)lincJ&{JoHAd~4Z`A317pZibDlx0HfYtAeZuEw!whUXXEq~p z%2^mOtAP;pHJr;Ha`4L4gD4ha@aKk^(N&?@W+GZ$q!#`*6Tws!W)O-JJxwq8(U4%- z2FYH>m~poQnirSUw8A3yQrR}$i_lAHP-SXh@j|rVSKe6s;6?kqpG-?e;L33^Ca5pk zcaqsh*M-`mw|WkWXZIwH?E6x~`IF?Ko-=X!-lNRXX+cV0mbMX*9ZlHM2F01S{X1I= zs?J17u3qQ)5X5U!bT|hQqh2M$7)vAAUeyKf`qmkCOSqMK(sydRFdN>v&fhIf->h;( z9mM)>i7K!NPrkjN-*hvf^v5m}b>8@Z_SU5fQTQvvmhYWA`&$1f5Hda+I!t&K3e#7F z9Jo9wBp*aX8#yNv+AW_DfZXyToa2vmO|(-CQrF_CrHsPe&M@@`!{k!iT-^kz=KDBt z#yeb*(w_5TR&`IN&tg41${TzdlXJRFLBMW0ua*k8mB{iL zP@kijliTo6gZ3vUh&Okrbgo&-?jEbwhHYc6pIE;(j5l>jz;tscZcgj4t(=SmBSMyu zS$t+ZI^ErF5)B5WSsYgl%;x!8;)QF?Fk4bBRD-gW?gq#q-F4RZbvp=>W~EKzVyl)` z`VgHhNW8i&e%4we6lx33=o2^G;ex{lkk+L+(TegP)Ud;cln4eXJ^T4bJdRy)N?#i# zS%BK2%4)G{Z)0^pGJ5}{XID|1Pbh2`*O$Gk_)40$Iq&IA0TIVbl@**-HP6>6KV_&`v9i(k-u2Fgf6JB*MCO-%Rn;MG^_LGWFO8UB=fAm9X=Axx z7Qh4k{^+$azqa8uMWdeLToLL2ydJVrqRL)V5|Jf%ss7WsbO`_Z*r%K0iI+^jEY51Y za7Ca09!qykHX~Q}NjHR_(|<`dyEDiZ?-YNAb~bIJAz;NP3a~K2USSC2qzioQd>EsI z&5SoLsstYQ9Yy^nUE&(mlcS9rThm?0=@=%~Xrc9s)sw43jPfS|o<}=Kb*Z@0M7xpyQ>CTw(lhL*f$H1e+ zTTRbVsg9xka$2at6U-jXQsAOLVyk6NkBmI=7U)b6=S{ViLLW0f{2mLB_K4Lzu4Y;F z^s#}Bs^-9ysK$bspLuj6o>LG|&%fC|c&Q(^@}u%jwR@D$8ZQR#kAogW)A97q+IgU=PnfJWPJ=DoE zoC#;?cliGx?7PF7T(+p*pPc|1;cfqoCVB?6ffePj{i0MX}|ci2V#=BBZ9rpFoh}oA*#OA zI$q0SQpeTS`*Fu@Q=0|nr@rsMyYObQwi0UPw-s&=u4V5Nz#d)1WP{QC_|Id?M+%l$ z){&luHunW|7%cthxrq4XV)FtG9amNXp*dkIiWs1X0D^`j6}+-$5Oji5PhNSP!MU8j z2jeECTu07?XluXNxwm2zDJRwV74u^AFiivb2``4yj$qoba zsFB*7cg$rvBsM2ta28RVJ<>KHIMSw;h0~Db6~iZwZe>lD?3b@xnPnAXM>Ps^i^5;Y zuzySQ1M1tYmDizow%e z!JPZkB&WlUlqMee@a7iHIS!wS>CE><>Qnk=m3ap|y`;0LK3eb^o=A$_W0sua#`vx~()p0hYjFEgPGH4JY#!h6`8v^MC zI~+-^52Ges&Jejhk&Q1n@BYJU7c|K*4UnVDb%aXS@q!BK>ReD>GZy(hlqGF?>G&$_ zY}q`|=tIxGj*DJON0s@I$k>?RB%Vc?-a}k(PmXFR7!}CC8a3Gp?6iBmB}CPeLMP*> zdQvadZXGdV?_M7MM?3%aX41#VI zMvxB?36y~ueJTB_1@VIQG@nah1>1R$2Uo6~&#=GPO<_Igcl+{@Ajo?JtTFOS9+R6i zl>q6~Q$_e(ArSe$ckkL#w(nwZSSerhgp_TKq9p77w|Q35$*r@>66GXn&PN?4SQ{PJ z5%-Ow#xwk|V&YQiTMF7uKxw;{GDAeObXZzq7D`i!eHaMb3BP$_G<^Gf9UxnvIgQQp ztQn^2WvSL~eD^86-_Zf!ClXgVeY%cL^rs1D9mLKsH-LYgrD`99pL6k9Q2u znXgD;`Nl+Xwk&&ZYtMlud>#$@zO`0>(+^&gmqOR?u*H_f62%mnOP+|G#qu2GM+V`)a8n2j5He#=eAmW*m zQ*9K@_ZQ|bhtadumUQOK|Aegirfvv;#rM~TGHj|-Sd8>klXzBkC@ZYG+j4+mfR?8v zbCP$`TNo@uy0B|U!E4*;ln-4pT^{@9IPaQxeSxuoZs|$QYTF(WCOakSQZX5*%TSCY zP48nFp)dtFf<}4yS@b+E(iP~{?qto#)<9T4bTEKj(6%5^TH^K1wdI0u$HCQ|I4?=U z-BK5ein)qQ-dPlI;R`zjRxGXB&R(2Fn^%^mj^wAKc7$F|KM7J?^BK{5>sZZVX~~=a z4dDedqcfY^b9Pvf?HOJx`oLO;5+k=Q~pAnm@AD+d5{;jk3NjdvGk6 z{5_>0ZYjw#2<>ZH_zuZd7i=vbgIXDZ4sWEFMk|!Cw6ke&n2+&gZi5_rT;&_HsAqdP zK9?##CIEmkP&3oUu~;A#=}mn|ysHmxtPVb(;X71Z7qrco_6_~s8u1wAP?P`8ISQ@R zaaT!+@0A>T8LF(sw9xUb>|$DU=gyBuqEcNxn+l4=$=4H33q4^^v3i9wFaE&Xt5BUS z3t=Z|PV>1TqupMC;VTTt2fDvR6|Un?$dE8-K{N4nPq%V%oO-Dw&$>=HX)tfX!$#Xe zDv4357ZxHMXnqQ=rF;yzE*~}TCD!Y`L%zAB-wN27KCdUa(fI~I->RJ2pyMGXlb-i_ zcgpo+q(6h%r+8$K|IR|Sh?uF_zVp0c`SVK6=*^eDw#6L4rx?^BHa)|hu+|=~nR|S( z@d(#_7Pgn_*QB74}?+)P<%K0Lw6W%?aTnXK70@Qqy#}s$wvu>LTKJ-8o}n0j4M(1tzIVg%;SF*c4=nhI zDX3R!ut{nlNVY(4KSuximgGla^KHkS>$fb_h=_5<6c? zLXH`0bcw&qexwJVpBO)4Sz%q1AJ&{(PnrlT3FyzZ2>4!!bFggM=jhl&NY7qM(}wMr zt;n`lDtDy568PliyinXwozqg3#;aU7nCip8rQ`gpldXfqH2#G+t^2*8_1m2jgl&!m z)G>pl(D5uZ-zBY>WV9-^R%TOm${?|m9-eCH`w%k=wlON)oEk9ukTEBq{c@pCjUb}* zc_=il{YzgT?Ez25lh0dp+tq64;e^gTixu(i>fgo~UA_J0daMLH^qm!pUIx8}BOmx~ zU-UBVewQeCIqxb*olfH=qswVyu4A_JMeeUk*&^D$M9i5Go?l5#Ntj%&6j+ey?+<*i zdu`2i{EJN;=8A*QdJoeUKQu9HDZg8IZcHmCdYT;JcJ)HcUud)pc7wwO?(LiDR0~Qc zr`v%2rqp{>Te}QhEB5pRbnAyoiCP}jd0OU7xzx)$5Y4ms?_=%n7%jL_{p;Mv)EfmBj*Gw_vu`8tNDNEsH7Y_b74Zb*OgDdVXcqdkW~jJ?AX9E{ewMni$)~sv zHL#4_!-#%XvQnaJ5c?5XlajbREifm)t*xjNh5aU-+Aln?V%L+Lryzn{&yZ{A*eO=P zTEVkIEHgOB^j+{-ME*h<(O2%)k(_1XcvCI{%AvAYXEWDKpi`sBWSQg}m$q?BIVSy9 zDPCyfe8r@raES4zeODcS)v1#?)8%vtYMQ%q3rlK-cFs@bwM<>&@zzu+R#ftbs4pj& zSuxzIiM(yOT_hRg$(W4GdLAs>T*Lza_!=lK=)N1auRv6iA}S3-gZ#i}eCPRxHo?;buQ_Ur(aO0{E$ zY)qg1%5u_$sBjL+h_l@5D|~vKx)Z&ITK zP~rD_?iDt{mujiq=o}HVDYMpJ1b%%7^3EwqLn5G(&pNb#kYxU#_$kDig;V?9QxF8% z<{M)JxY!zRQ-CtPCimToPGZiQE+f?h=H%mQNlZ2qFSRh%j{_TQ0@#P0)8lfu-(#}B z@%6tcE>5Nte0e+X0f0XkJ)NFElwR3f7Y9x}2LZ|2~t;VPx^o8k6XvGIG;lnpY2*Ol1zqTHOc1UIg~x`qI;(+h1fnwKg2Q;#H1 zHs4+9_h=|lm*^-R2Qa79E~{JfmdzJA3nHE3Wv>^Eo4wWYxX|pI9Ko2BUrKX1#ooEV zmcG{4!%0;=Wq#j`KF2-gx%)omyvbL!0PX>*Q& zT+IxleP`2>^7SC+?+5MQm^g$GeGPLhRx(PEW%E>KFZL_lB}Hp)_(6p`ChD9`tpl7ORk0q8cc8JW=m zb?^E<1=8RnuU4M<4eI${1?|}o$ot}*DXl7&uA}5ScpqH%UZ-ZtLx)gm=PXy z!+vfL>*HT(bPRb}?JC~4wx6GCTHd&(nl0pD^}DmgEjHZ4Tt&J91xTTjIPAo{xWmJI zsTZ3Z*fAB-HwcfdKM@h;+;E*-yzRNM=44ACS7b4VriHED#+;^!cTER$sDw71qj>P`rDOa9d5;BNyaX$q+x*DJ1<-4l71m6mE6UMykd-yl0ZaF?O^1Az>gs;(n zug&*8*-9aTK7NO%xVWfgbh_iMh;LDoPYL;`DgQ@$%>>E_V@j$~`!-14k*e@bSV%nmZhC2|teG2I#e13mIu+v}~>nJ{+raEqrwC!+VIv zaGhO^ibgMK%|nED2?T#vyD9XsA%9l)nZh8`1mc~jTkLZKJ2|c~+Zm);N|K=XQwEYYpVe?uilhw9%yhovcu#YE^}&O` z+WU_mic`_cTk9pxoa2eA9FdJ32rSbcOpRl0%s1K5L&+b&Z*xtVlK90}sf#KKS_WFb zK@|n9RQntm4k>1^IjG+4>A!8?*QLn`4h= zy?&c|@%ILmoJ8#l%S5+w4m_{pl^teX56TLIajIzohfE71DqUnz6^z~;&+#lq>G5JA zTkWSrF?oawDO1hj;l9*(uLzJ55>dwuzj+tR$xegrEdk-*u zB!xLS?rPFig+e{60?!40_-n&X=>ND)ktMUpS=OTFj-q~sq%qHPYkL2M#;m+C;Oj1% zq6)ZUW7ny>xHU|$YU@o~x#RNVtgnKwi1|lY_na>OYy*LIhTj)kKV072`I_}(+I{8> z^z_yEg9jMvilNFBT5|bxKf~982r)0QHa90wkS$Na&~;b3YI^mDPq{{um&=^*4el$k zH3%mbsNn~(oBm?b8%_dmFa>{A9~x<$;q&#_sq82d$Wx4HwQKCv|LASgytEk+&Q=+3 znV{F@lI6bWlq{&PWuxj7(92r$pwUV@va#fM)}^Ngr6^=d(l(ll<_22;M}L$!lUH$} ze1~ZnhpZFwylV?jgnD46!?q8t4!~9B(z;4eiRUlLiUJnWf}R>(wS2X}1t%$0tD+s_ z_Dc;W<@%*RwVc0H7-RtlW7{OF+Yla)||Gwt`>vcaG4o?EWsPH5wI35XwY1L458f|!asnVD#k@c^C z8(kk&GrlulY-YwpX&2#P;O+o3F&fMC*6ezSfDNZHu^<+^5f$EqlD(dU-JocTj!~yq z-1|wM0b6sA;msJ0y5wC;Ic}-dY}n^lCu);_*L$Lxaa&)@iM~}-XQaRvFyAEBL-9_J zh@9_uNR_>{+<2EW(&%*`#H(NqRE-}zQDU{kMJ|P`!?O556IS$qGG!xz|AAM#GEQpz z^NCJO*^2Lfb?k2y4BDne^ev(m!$K%=-byh{3=$u%l}*iK*l=;1n=qWe~EG>)oUjtHOr@tB~#Vj zp^-@YKh)my)V$C?(_p4dBwk(}Z`K1-L_SaQWh|FuBKY-u?>%G)wp`z`QFL8@08_*J zMJjh{G1$ma?X$IBU{4!S1ZI>(O*|D4fP$onf(R_uu8tauVxU5ZS!!>`(_B<5>3Q~(4>Ops+_1M@20Q?0OOM(-clI(HBEBYMwTHdX-#@Ux=zsNc@d`&rEW@cDeYT}(-Go#s#& zE9or%3ysM($gsdHJg46~2W9kDX__g|M8N-c^@LGv!hYGyU-`4n2TVj?q$R5zg87W^ zYJNeISCD(U6FfF}8ZaZWu|mkcXEm+eCGJv|Pv9t4h}ZVvcaoO*QqoIemtifgkDKMY zo=8YFN7K%}S$}Z(R;3ikmzCguT%#`}r6l;Xr!j_lgS)smrSz_z9JEK8=<|B6oIBBE zWN0EIy)bZPM3>oASEk*AZN2C!^C!_|3=cC?GctkZoKCdqYY?7n&DX@B4-ue4C@|IgXsQc@TQNfwd=%F#U@os*TX=B>!C8cL)7ghLz!i|## zcuLWUSWEw8IN?SjS7&3yX=hR$!=5|}X{BCI!`a=|*7>2W{bO61^!(hyKvb+w$YDuP zK#s0V=TY_8mG)pL+YO&lq$T2Kh3r%uLc&OP#{4#vMd7xPC> zB%rpDm3AD1j$Ge{k=A#g7txDc4L_bBSoAkH(i!=I3=PmbpH*vO#H%)B;&dxVIk7Zk zzK_nrW@c?L74vG!^Pzl&K>a(3$U%h+vy+4{?n0kW$E(fCZn|k$)mPhZ^B&!0i^VPL}j;PQiBxFne#_?DZN9N-2wY?XY#hlNsjZWOusN2o0QK`>d z+2Ba{AEQA95<`SqlPWQMHR|JMYS*VsTJ-G|%b+g% zta=@0TjgSDW>`-BtTrExvNvZA=K7;T&*IDn;@PF1A~APQiBUSV%Nhfq*ALT8O^{Y@ z5Ex;)-$uBQcfIV*;}8EZ1EwNKx%wq{by=y`R&NqcE=82-IOj~4d5}ZVi0#%=n;K>+%o5x zh4y1n0ZBlG!JD2~7e!01xV77Z^^~-?c8h_GxO%1}?*FS``wxTuf(>Cx) zX^v^9VbcVwfG3v$&Lg`D1p#jouc5hK{uvC%`ycQhb*5H6x|YD~?!9{3+_L5ZA47QOlv|dM0%4@K zdCKGco4ns&*>_{o`nvMHa>PmKg3u;T)vV!u^!wsU=i0J5VODVJN z@dl)}v&zLP;|X5MEzZ14Uk+3qXqEIL;M_MSAn0RaWh`sJRXjQ>Q@s-a!J(^?Q z!67q67dc;>xnOH#m*t}$KK$Ls>+zx2Cy%KzrF6TgmqBjp%(0~(*Sf{d0&Q*j`Y_fd z?&Sp?%7S&L)0o-@zSSSk^fMJKb|27qyN~|azEB>}8=JOcvp9g5=?Z#ZQm0Lg=GxC8 zMQwKN4v1leJ;Qc9*wy3{O-YpkwRl^4BU&_$3JRm{jw;Pku5Uh_YXwe4u}r^Jnj$r4Hz89_@LgsXvlT45-9=SBCRSVIb;lM`9`- z1qMS(RcF$uVe5Pj=;mqIOl~h;c=osC z;h+&S-IUPqN)huhlh>h$6wGs1O(A&*I8e9-j4Z4{<*JaPrL0g6q@RztF(> zKpsm#Edd|xpvYO|&GJ-*m~>)1a&YS8!YvD@LGu6wNr#DJT0UT`B*EG@jAdz783oaP za+vt_pRNDj!ucFB;7%7&OoV$$g5^_GiV@<7F%9G?b#|pEss|{4YWv3sW!gC33iy?NOJ=%9hl`ZCb>;)rdKMS$(nK9lP zsEdU3Xc;iLK(XCQ)rE)R$5<&T#8Ok-Kkc|Jq$g!;GpfmG)3fH1p=Ou39YS|j$DTgH zz`BW@V1#35I-nvG+E1&}tJOZw-&}Ckj;+O)*4)fCX9-ILh^k>xNq=~!g_tht(}Q`y z5LDH0Ux!&HcBX|w*Y0Vo>u=4%7o(bxY2KVH6@CAWe9lC~jRpgpDD?e>e_8QQbN;Mw zj{Benj*I``$DD_?%BXlU^kh$D#z&? zz|@CRx2vnf+|2lslmL@Ax0Jm-P>Gevgax82Tbcw?(@j1^*Xe8i?j;C&pTz4uHj^Zd z=+nYcS=eU$SB#uJI+=oXVFrY(;$bittgaVwD^uBY@G)x$w|Ay_iqYmy2BIlkB}=rR zy3Y7yVGPNAZ`yv~{^*Yo)FsZ$K|DyJwSx8CrgF>kvLnsYrvjt~CUefq!9-0sX@G99V9cg?<_OK@~8k;stq zCYB6O=bf6@d`hoqSI5@NKj~*asEH^UU2&C_SIlr#Ap~+JTdC611GUpYpxx3iCc}%X z4J9OxXmoDfQWeg*Ra6io=7Q-dw$+mb$|9}3XK$9JKH04Bd=9o{Ia6?pV|2j=DL-BA zaXd~R#iWR(7w4}~r4t0vZ5fz0FRK4CL03bU@+jL}S$Y`{iO}{}mS^@U2NXXUdEh{Z zux5Upn6_3Y{fU-VhQR1QZ8g1JYuB?7jfkFsNpb8^53C)H5_&-}U<|<}weal3-N2$x@1!&0nBb*%n=(e-Z1&!sx zXc?$WGs%+?>~&SS zktjrFo;l8ZnX?Yv?m6vRwBN}o#9DOQwTim`(*h-tG{=41!h}h4;qF2);hH$nTt9o# z=kkt)UE6jFyQv2M83b%6{=R3hMdDT8K)y=4w@~L;Y7GJvDAe+#zqs7Obg-nx&bIKnO%IpSj zkXv$>0#aWE;IYOW{Yg)nEkV1R#G;uC9Fu2hT2 zczE`7yr=dcW1v`?%kb0--;+clxFRv$wn7fNS83|`r3G=u5@^QCw7UazudU8CO`PJNnf7;``nN>U<1`PRYtgC$Cz zeKHA|1A?O?xoM8(I_Y6nWyT~jmL#pjPrlKNV94Wdb>c6rx$>coiqmy;erl|y$?u>e zko=2?LJ&JmcWd{G5PjUG?S&MZRi&H%GT~23KBEU7uEnSkT}@@j5T zLR9a~BDV4Od#>`xEGgGtGfR>(tlZ(0_DW>sS&m8y1>d z8n-qnn6160V=Q$_HK@h&_mZpEmJyglAumKZX7u!8c`DY8goRJLL|&=*mn~GD3&-X> z#;d9-iCPl^UA^d>?p3N|G1u#%IUq0~1~sE@+BJA6e<|pS?N6(q%SK#8S;t)=i$v2M z^H>#&KCO2Wc`&Xif?F%pMWYV^LO3A_+N+F5hXKS!G51pSpAdoIx^52 z^(J9&dPSfqiHU^&9WMI2dDm=-iUh>(4;D4Ol_Fi_k>-7+iq0K#Ma)W$i3_1TD;zr0?sf;%8O;%xlOOz9gQi-%t$H`^^%LoyuJ8M zEXSiIe;O?oi0*99^6}dWHjFQjtVm~-FtgmXPrQ^9H*CMsy5;3%_uNk8%NIkOP>=g` z@X_^VH5fbk0yv!Dcp-Vht|~9z9ELzsvom5!XgDYoN_T%Zxv!7hA|(Yn_4KT$KxZ7Y zD%|cfu?#*k1DK&n697GmkPv`OB`NC7&rdC1FNzi^O9hlM8|pra^%*htFrcy)0U$R+ z;TT&cJRB-c6%q0J{I?NLHNWwSlUZap@RBY|%4Tjh4-#2h)kyZq4A-bANmutAt1FCC za>vx&{*t>Xp7<5k>&et0lcRXmPDbSONFA?vFT|sm5s4sl!3mik! zkyvVgkWuTen3KpDYT$1btnoRro`G)f$K4-LQMat%wSbk_{)x;L+ zu|SC>X*{R;)l6e||Fz8jvqX>Mc^if`>L#W`bel6K{rMq_j#s89u%pY?oO%8Qo=_lxJr;b0X|gjc%sDjy7sgis$u!q0yid}EM>G@8N=PpG0gN1tM% z9a?yJ_p+Fwzo40JjD`Y>r&gvpQ{iXxB?~etGY!-MPwb8>A-wdy5+>@VJ`vT^2R2yEQstmOH3j6sIQ+4HA`#$Nc?Qj8 zCBojm_~&fV&=@}p5tRUvz$|n+?GD(3&^{|LgY&KVqADq;nWi{)UXko?p|CxZ~QRE@*=*R zksWFmJ~W0b@S;Z0i>A$E_2jEv3#b6;92wyruLu8T$e$M(Y>nJ=-e&sA^m1p5WxzAk zZtaM!i1ljQ7Yvr)Jx-7Rj19Ymp@PJmGlytbY^@nbuNSTLH_K(3#TqdejE1XJ0*><33qE573M+1kv#=}LqXY7pYb~QsUUJXoU&$GG1TBH zn|BWOZ#I>ATtA#;^Z`oeq`_+xa!r&g`CW5KSKlOTZG$M7=W z+%JXrwlyu4&yJ-ohrZ`UfWz<6si3%E!kGAcUO7PI=V5vz#Q#lWPT`zs%H@H z&vnSnyL}(9E27>VU>M1tH#Q1|GV?1e&HshwQ>Xuk@iO%m@_{LCDBzmWYS;9HghZjQ zceAYkn3(=HpPB%anoaTAjBxgU-0i!-&Nq;GgnvMy1$b zLtXjP*b0iX|4MRrs$(volhdP}ksVF?49P2X0>N%#WdIN`7=={xTN6yH2{q=}V41Rl zI(5@~QtVDtB~vXm5aKM0s4y%?I;p=Q0Dd!+xNOtuV^;9-#uZ;xu><30u5z~CeMR0& zKH`J4o!#x8u1&tcSot8^ip>loukOx#xn(^TO-@4>?stm)>^TRFP4b9p3TAy|9$GN# z1l1N?E$FYbIfD2GHj?XC;W0JM%pH6&rgOvhR*Pc@41=yvY_0%(U+SDto6fVyk%}2O zRQO?OFy#tL(Igl2yCDtzN9XEsMa*@eRV7P0(6@mFBPOQv?9ebaCf33!J9S}Ct$yxK z8Nw|NIfZT#CzHE+x>_VeCT4Lsbjqwxd_4tC((~2RU-87DPq9b*DOYG{N|paH)PMG_ zn9L|xa+<266Xjk>6JE|@$US&(M|)xh?-OgQ&cMpUq&+29Ff;a0Hw zl3h0yFXkl~Hl4W~yIZc+&v*H}GPq4dPGYt732Y`XXd;1?^-djgKx@)N{%jAm8V3@e z!u22if*On9eRapC!&N6wrJ}#GRDMXhE7s&oGHB^e6KS||4FnwF)aiRFv@rwmu$o$2 zdTPIU5Z%p^J?9nK(6Cxk_;W}`;-Pd_ms9eP?%8lD^zen~6V4##0Ad=4w&F23M3c?M z{^-t@!M|Z(6zE8fuU{KxEaoLoCDt%xd&0U-f{;~? zK#CWzOCt~s?E#XtJV)GL8?dr7M+rm6PgvP|2^6?aJ(~r#ir_s({H6|c_JARx;iHu@ zfInzG4Gv@ge+Vb4=2Le9nwE)6)!v9ZGyaJO(8p#B-Un=i(82ym2gJ9Z;kCaUSxmm{ zemT^PCS~z@<+TU}G^IM=15+PAy^wt8VU`sHq2{+iS|I-Cs`bV1AKo6lZent;U`aLj z8c}u#Y4=6-G>uid6^wLt{{@FZwc$74sN$tfSeerU>X+-jJUc>!YtBHP3R-SP41g3~WF!J?34gT{_zh#ok z>wo5#PEM?i_xtg7!?eCc@MDn?le1{bJJC`C*3xD8l{6s_TKM4H#czcrl2Z!IzCcf9 z@^-|P_al*9)-+~4 zrsy`QW6@p*s}HgtvoWU=e|uFp%tQaF`ja!ew5v9Tmxt@qTuG?lsZE9QTP2EMRK&GK z=|XH(Ded{6Cg;&3)a;-YVFD5=)+jU~!XDmYVQVa@Sk85X4=dw%@ z>ZqF|>`MJlJ87s&ysZl6;l~rT(Mc?6I2U*c2BSLQ*z9!})&E8!gSDs;%5(Q$s7E(x zQ;2Y|$$ARw1&!%REJ_w^$!K|+PtbziR)g`sRq~#Ci$*-0XRB^Xt1E#Pl9oe=2lbk} zyPf`(&_KCVyLFYu_6VO570Drw(36oO(Zj2ux9RvX%eB5MA(x3=4Ijdl&MiY6PQGqU2Y=$LW>nJdSWEtQevr&!5dnb8kpQ|5Z;u{r;(UwAYglhi9~RD^oNzs;^$ZG-xr0QGDQIVD+-WB_GwL>9 zE8~jydGGkdN!CAor?vfKcT>R6ZQ~K)yv}#P+?3*=+u#eXq$aQ21CBEKv6TQX5bcKL{+0J;3%;W?KUppV?C+(_N0Vv@u(oO&j?Y~kWckQ zT~l%a9q1aWrmdGKiiK+pRz@VtlKdFyEvqpb3WA7dQM*~mJNzVGsQk$^{1F%oeaI@n z4~Fvc@^YLjv2^?1vp$nubL;JXt))b)xGiVq$5yXe=jDnbmol~z$Z_xpBDP{7biwlg zVm$DSFTZWGAvhysbfooJ?acUN?KR8_tG4*kz8=f`>7;we?$@RItdwQQf~>3%OEoIc z$YihWh2xAMG?>5ozMLJ8s07=7=-WUdzDo0b&4=@FzcbC|^^Dl5kesPaIfUr1ztBk7 z;#_r$s9I{pd;AL;H(Kq^FTcrgCdUaxbz0N zubKGmV4P=#+o-1-HOs6b>BB!aGR9&}??|kH=Vp;a=MOAEgr9FM2tR^fPPQ}(zI_!$ zL8geMXbqzUSZ}pT&?&~Wi|6JP?8}I3M8}?@t3TsD4Sn@1>=za2j0a7qK8=c^74_Vn zXK*i)v(|Ad3MfDf1~kYbXpf*ZR$QE(u%FX$3dTlRD&^6~rk4D3I;w`-X<=Sl`_{1N zyuxE&P4=G$!56kp z=rMJx8vkV?C>FTu>0;m?sJy|)j4SV}0QlD_Fh(CId5^G_7sfu@AF=RmDGYdJJ3OTm zTh`roS{ht!%tnJ~SYVFDvqhi^P@=&x*a0ZsAA{BUMxH9a+Kv*VG0bsgfZe zxDk$*3VVW3eXc)1Pp(4WtLsM7)X4CyBzwP0-*G*8XbM}~pe2Ja)>=J?Vgs&9EIi~_ zO}W)gdJ%nBfy6vil-F>nL-g~~`!drz{>nuXiQr&3Y1EpPo(G0*BLJ?#bud33{FmwU z>hLAW0Ro7XcULgeqp8^@(&NLq3Fh99-l7OziG%`}#G-eIDcWhyr9tUpN>?4$$a-4t zy3bddv(iouReP2i<^yeb^79!3Li~sS`r|Y-zmZzMJ6n)oy17LH2cTJDkLE8@BML_nwU z4x8F2QVlWxI1I&izExd67&s3rcr1?p>&f#CY}W(c zvAu{sDO?;vA`3FCDAWWal3Z>>IeW}~ULZDnsDe%HCK$W@XO{m-Xa1;y`@8a(r9AjP zbZeS|#23oa<;MOf6Ryuanre!hOQeRMz)6XW*jz=teCm6en_fJfK*_X=W0O){6*DfX zu_IgvrA>WJ_pT@h)zDmmKu6LJry2`HJ^NPjUud|B$xpz&2*ebF3Vsbgbku6! zCTfz>MX}>)+m3it#hN=G{`8gkJlx1N557KaHQ+M&5C@wLF+t|WTCqVHf_X8Ympk%J z<`~H|26z9}h4Urll}^9;YekW-0zZ!xMjna#U2nwIakW{qYJMgGhck`pgrhh+$Ho%x zGv7Cakl!$$vPX!Vb)*cx5D3POU7v94h!y1p_O0T`82V@)N(A#Gn;)d?HF}$s8#si)0MNR(96slHE%AZb=RBB<|h~Cr?kwS^4AJkB(PT z(G>;#99}&FxBI!$Pk-#I3K{!~iXfwPj%0HZ|P9)-Y7v` zltqx7VjORBb>;>rl_!vI>OlycLKK`Y8jcwfoV*Sd}mbFJOzIaGtq+v zrtEOb4Cw0C6N^Y^+x2soez{o;XdWXKc|e50LwK-Zk{dY&s#wrL+!@+4Y>3S^*# zM?0*=#eHnUw)d_{*<#tCXdxS4X2~qLj+M>CF>&pS9*7r>sG$a5O?maKzNdZ6EZVVm zDjXRBhD5N8ce)J|jC#M$X)bnq+m=1uIt8dfM_%d7k9muA*RXS0d4~H$Al4P{-{_&F zc8yzJ`d*!+C(3)Yo|N2@wE3e5N?g>F$P{3EijJWGf`ta+X*@h#KFRJ4QmHW@I|5n} zLjT9(j*t>gFn^@>sF1$~A0<%k)Xxf*@j{ck#R$9E2PTv2vSxc_x`pd3jS$c@xHa1FMxs#i% z0O0S_`DMzpg1l!}nSsT>rnxX){$Hd1rxoY47k|X6n%=H0w@+4gGyrFk8SUEP^*@cb zDr4E|OCzAV#l%FOKGRz)o{d}^x1Rk(gordb@!Iq$vUnuh@0T`e)@L_Ar&976Bp!(? z<5NTXxP``T48=9E6!;zgOA%)NRn&O7X(|UAnF|!!5MW4rarZ9mwG@Y4j&Jrh(SoBv z6iaY~EZRwG)&XR3|7}ocTM~QVHwsS`7Qw>k!kRQ_5uqxzBLK?L#%Q5+<#E%L5Mu^c z+?02zQl4D}HV2ycLjKL4cI`haZw$hzhjgkdMg-&kimJ|;0Kl}pWLOCd3=9Oqrlp2{ z>|9Nqc3bp#{%fLvz$qc;IuU1S8ML)qQ#?J_Rty|r>QXQJxaSFF{sG9-6^ZMSKz%%(buMWPOp z#Zv^@fTK&$)N}$zeQF$AypOh{YQB*@K%ks|k(H3&MHErPhf&ioji|^Z2o-Unf=}W< z1R4C{7ce9ycMj{%J+Q0ygW~hZ9ATC&RQAg&U3z`*j#L$1F6rd%Ph}D6Xn~QLi~2mj z-*{oHAjlpVqwG)-?G&BI_V|5#!}~1YiOU)TyEykKQlLQJRyq$lp{f11ZvK|i_2vHH z4u!Iy{Emcp%RN2Q`)lH=h2JsDFUfbfRzA0yFHJ2oyQi~vS1)t^Vq_O9O^M}nQzq)3 za`_6@urcl%+kD+{UoDa;Gk;W0TvSy(@zd+TrO6q#ikW)^aI3RntwK~LOvr&Nz7X9} zUGmRuKu7gHgdx6;hUSiP=KmP$bCg$?(D?i(V{M7D$go{W7E#gQBjc3{cC?5&iC0Fr ziv;_FUo?>rFrYCZXB;1^TgQ5P;%Z@b^a^?mfy6r(6&1rXlJ#_{H;Wc|f_OtT-#mrK zNC;gS<}=2sM-jt@@?6PZQs~o#NJi^+!yWn4++IbBZu04QimmGdoiDOg=j~Ezlaumq zvEK%zISfLGo^`%Un2zNnU}eIhZ^|t5=12MGys|EPDRQcDa`CN!Z@CtcCSIvh%fPxQ zgD3JDExd6aDgGRb`&x-lASe#u9&i-rg&~F<>2NCF>@iP%8thSMis1x+ce>|iPsiFb z_3v6!u6eOdJ2KX}!$C2`wN#hgqrfXCFi|^i_8(bn&S7>8o|7=~?!{^ngr$*lG(>Xl zYq8In=+eq^z^6d7&W7`xr)ll47N*eg#j)`i@Gvsd2oat0J>!1o_s5p)2+sYLG?@KV z7tC1ErbYmu+&-ubH)E(_$Vh_MH~WRI?Fymd_R$X6p`+s9A& z(gV8A$v;9(yVDnElBeWET}g&i)H%6ZAK~RyDQjkmT3MV)NlBDbs*p&_z~S~SYPPAu zGogHKJWOw|bO88i&UpbI{Ew;r)9TfC9`zP+_akav4r8IL(#N;`L=-a59%ExOTxwKp zHL1KKyx-W(SX!HCF4&O01HRNw;~uO{gMlM+DP1Et=-Ox8&f}CC%ibKv5w5n#j$n+NZLW>FH>;~gO9hG)DJ-0z#jU_9o?yib zK}t!`1R5Z?tW_wkArOKV3GNacTHM{W5ZsD8^yJ<9%%1tqe)pX7$Ns*(=bMw6%!DV; zggnnJx#hZk7mqw%NCvIw;~jAI>dAtzQjF;Q?4$}h1Bk0-$ezQip3T;whtrRV7Lb*7 zu`!6rhPDgI+aa3eD?mCR_zm*HDazvWNOD_DK;Z`wG?plKmd>pjw}LwQ-~K*fq3f=%#nT6sXy= zryfUrM}NKAj-(3P&UJFFcmpM3$45khF9W9iP*+xHNUU)l6BbPS<6SsL{JLq=2Fg(3<6BejS^^p~s~TWwmV zF5UsH%&H@e?)QXMBepZ`Z{8EDUZGoFBI}*L%(;WT8#^&DqOL*>;rZ>i`^9Cwg&w!d z3ytT2M0FAY$S-{5I3B{6h;?&f)yDCx1AU|@d>*KB_9c{M3$559rsH0XtRh05Ft3?t zb>Zhg(HW<-FDs|-M-IPFT+H_9G2)&#?WVx}snc+}7hmoXX}MUSMQ^jXTnbT)y(92f zv4F@=o($2Vt=0a}h`|nnBQPz?%;We)&ZOwb$`vvoxc#wm?IV%e<4DS}u| zcFT^b4;7wvAYpZ>`d?4wVwARYw6Zs~k*rg79x;q7CLQPI?jG38ZFl4XzsPFVRu3Y- zx2yPBPwV23LK+?v$JhD9d!H@cV>n-rT1-~2qjV&MO!oXh|UxSZ?_An<^mV}nx zLd^I>;EhV4vZmN8;jZ4UOd7_je#{Eklyag8I}6KvSW>K`x)C(<#%=Y@m`$M!he9vM z^haspR#~$44q9Z?R%gyQDxIBFl=k8|>V5Omc#0>rlJJ60bTa7tnOH?^wo226r*p0Z zB0iQy?yKmBFIkroUp!Rj>`B`XsO#&v6AoVKkUrBeVhAI>SME{2S(3OY!UtqedT7kb zZe=yf7vBa}8DhHY_uMm8&kCuxu~DQrXU%2BwdPn{GJK#}97g3{43q%wI2}0R4&*HB zNL_s~GJks5lkd=%*n>>ThvVQG5x)#FKbg)sZ4 zgRNDk!sQ)|gE{O}R_DV7_V2z}ks~$HrjcI4cWqMru%(1GCYsiF6BSfy^13V^dz(rV zY}xkmgc(?owxXO39M9qHwszX3t%}|mdA~K@GPrXNF}~D)Eaj(DF8;Ks_cF|GyMJzW zo^h7Sux`oVo`C>xxHyx#fWpiPuhzKzQx`d@eWEw#DjC_pzqeukX)O19(6fZv2^@ep zf}aqBOuH;!?0nK9Mv(D6-~adZ;Q#1|tV8AKZc$DWd@Y$@zjBL$U=O^&*%;C3sT|VM zKKn|-H{XHzNZnCQeox4z07a_bs9jDEp(B|$( zjkgYvzKOYj+eIA={Q+-H$!n1u}-ZI$zX)*2vW>>6r!+MWi+3dRpa2RGfKk%kE zINKKpAUCsVzASDNe|Ag1yGIiCjZJ!no)&!W9dUXq?^#yeG)$Xe&os|=^L?T=eKgE> z`;Xw}*oMzXe)Fr*dyC$`ef-OeF#I@5f7}*Rg;hGM)w)nQkz$7VX?U2J3-Eey-Z8H!!qnnN}Lb*4c=8DujFeBNBVl&M(m0m zs&MdQFyNsj{Q4|%(T^7|AZxRFNWG@4#81>}zKfrREHNJu;BAsQnLSSLJIdq^jh91ZilNU5z ztspF$F$OV~jAwo%ry?#_&;G(`n+bkG+$3Tn)Xu3P9&LH!7*1tQMennGc=1eRH*+Dw<3%3>_pnGkCX?Wt;C z9lW9+pOto60Mg%P5!#ZnKzAD39s~Z-U?;$U>UWsu85fjaVzPRtARmJ(Mj7r*n;Z!m zXBc7hTi`uaTz!50YWkMZ{r1AL1x7^WDtW<27CPziUnF;;gt>Q8ziiEv9TXep z>&*JnN+51@=V0h~_LY4^A`bQk2J3UQrX^$R?XsIs<#;?=K9!Y&EhvB7PZ-5~K`p&h zi!zc}Jq2m4Oq#f>z50`ra)D`|7;TZDF>XtXjr~-JT7I#^S{fnK%5pp1Du-_86ArA4 z%N@9{ZAnXitlo1zidGu!hc%li`}zRyt(i(8+oYL3GljpGS?G@#t&fx>Ebs0j-Fy(| zi%j~Ra^i0G$0uq-Sb}^1u;IblY7Tzyo(PS^?oWHW z#f^USjqBQ!!yv`2xq2N9+huP2i<|>@g7JIhbov)R7epnC8t}7mnCiviTQJPb>p0AG z-|CljsunXK9UiDswu zMXS3M=HO$;VOgJt%XbuS1FthDy@=N1^%uWLZiN^+Bw%&gIc+QBu$TgZ+jCr(kmju| zCk+i2j9e84I*ukyys~S(zW`qZ zy^+kyTAhIi&9R=(q5e>YDmBaR^)ycEj;3Q(Wv+WISiYTeoR21qbPaD+0T22rF8%dC zMhPt3@^nqBjV@g2r7^B7ro+1q{L}L^CetvO6U*%imc<{Zbq9te6O$A22R9(SDhi$0 zfAxEh;bZ2^u61AN>mKn0_-%eb~3|ztuhw#Vt&@19MQ6>?XzzctUef%vHdz>aPAzL z`PibiO2F&$X?tdoT9gVqphI9BfNKr6cHhk{5-l3ual-9siCx299v$D7AFWIdc9O$A zWheJK$7PeP#j~SSEXDHSZATf3c$rt^HrsVE{O#J7HA-d2@OG}gaFlZK=k1YCtI?pn zxu&|}d|O43?(-zq0b|b-c&pq4sw!H)Vo??y-C8E@D3_4H-^Gsyzn!)0N*C|W&n^^n zg=r$!)`}eJbiyK(13`%@7da&J`ymBEK{ z;Hs@HZg3x7DxI^5nGT~x9||){Ym~OCvI?__jRMu+S>b&b#JKOi%V(ue!ZsJ8HyvU+ zPBjxYZzjd~k-!4eRYm6I|^i&KxTPej)&1iI2T580v!)vMsW_BuEsX6A% z43w&sn|$rkC8f5ae%gn#G`jyuayK0RzwMy^?+O3+4*cie0VM`P6#xC>PTq!ZRh;1q zlrCqI9af%lY%NETEG|JWdIdMvdUYN>S(EfhFr3rt+y7bqizG1Zsq}nrzjSxkGNm_} zUnSFD;pN}+lfel<)=# z=Bq@h_1nrI>JB^vOn1>I%1wDLM2mR}v5wXhX5r1P`N9r=Lkt@Y7Sf@FKrGQD zB)AF~;nApx&XM#Otd;uPYwwSbb`DK?#k#l=Cc2D8a2vQQ4VG%BhKlO-J3<7$)_G0E zf(Jn=PO1iE($1Eu!g)@IC=FKH>xx_%>>G{by#11B8)+SBU4!nfipu9hOVl#*K<%|y z^u4pVMK*T&z{5-+tk07gWz?M?B-O^5g>-7^=LOh>D!a%O+xyS^&XEpl#+gZ$#(tqy z)*o@%O|^YNycK!5iWgh9ZLNWMUs!aKj9$<5KVpgS8|T|0{35abMRIrXrplA*R+faL z>!HSt&ccA)so%cFFOpfqbaTRwBA1_$nvalPLfNB59E1m78sCjE1h3~XeRug8{EDN$ zf@fTRLZiMyLrgFNig$AjGSvWEI=)GN>%BDbXOgUn8#T`!{_cO$i10tZvi;Lf^tkO> zdaNX|d(b*&Sf^6%O>~rhOGSgJy?3eQqYQgwIV|M(gPB3~Kpv`=I zt+bcw|3>mzt@lo0O->rvFm&6BQ`W@VC@fmXo~o^0syg0Z&1qS=yWsGVN(xk2lfC{C zHfF+h6%ohQ7uevL()sk>^y*$%P35w=4uY&%qCM9M_VZ=TTmKY6^F{%_Q4@z^hCt2B zp8WdO4iD3nRF4qn`WxU=p5^d7sPA@j;L9;;#}C(>+x-jgf}>u^I2guk?g_l*aC0qr z8YZ0|rry*+so;iba^<_{-|d)G4+TyAMqAHUKJT(qx|`iA&EY7j`^WfGhKg>(*Mh3z znkB>N(ISzeeuvS*!_bs&9ZLf3-OH?0s+4b;PNEv)xPT(yE<)oatG`w8liHZ+{=)KXb$gkCKj|vHa%EYZlq-dU7D$fsG>z;qv{GeJRhCh$M(6bm!W3P$ znFO>ZY+H%eBe2lKqA3D7g3RMvHbkJOsrOjAuad(TC6*qCGD=*riI#WA_Eatkl#lbt zfbCGBvmqjCIqkyOW8!uI9Z!Wi$Sh&KW)~4l(SxILUU{7pYE-83sb{NR_hz`M_~7|L z%GzJ2eiN$cqZjuznzcA)?_g{{Z(axyQVt5spJ-Q(`9M2yrNKR7f*ZjI=sX3Rt4}S} zX=7?izBlP>W1uA|u8){Je%M+v-1 zwTM)JY^$BFJ*)hPavXUK_DNvg?$+U>(1J_ga1p?f=fmunQR}DF5KBWSRbDBll7}4C z)X1{zSRjLzQsuIqDVg?6?d8~(+rC$#pV-b{bfj0QjJ^C%uN01dhBSnQT#Iw{5MwVz zMiWhx=Dgl?m#!^+>)JTka!W1LUYOmU6R-Z9@JTg8;zNR!}we@NJDGn$$ zOn?JhIcrI7tj}j}DO{W{N|GWvzWvii{onQA{a6$BUnKM92ZE<3X_qXW_qTPoe;6zJ z-b?0+e+?DO&T2`c#m2CSR3;jX9%M0hn89s@LD9>U#6BZDJiH_Da+s#_cYoh`GcNb3 zVaUl$B?4IOQ->%}Rz+YOO zq-($0Me922+7Geu%%t2ApO}Gt2CF%g4+?yf2)AYoAwsWm3L81IB_Jx6>Fw#7<%RKi zYH%Jo${wAZcXt5<;g=ot5;7x94-Fc)M!%2t$g-vm0qEj#5l@>C$Gcr=vksa@xDmuzwe~K6`#SZ~7tedgXwI=qLc8 zK>`$>DY@D1#XM51R`{zkK@4Y4->Q%rFu$5UHDgWWuz*x1B?W!$V*it|Oj=jkfFZ9# zxWTSN_ARcC^{J`)ELZjMzDeQtEX|_Mo#Nd6H#AzT5=k&Ht;T%3sV!QVj=&?~G+pV% zetDIl0azwPKKHRt-qM!y zF)kZc$f=g?N_N7xtMrY0QwSJsVQ=}?yJ1kit8kyIVh-U1AHw-{{T7(3yM33vKL=kL z^cy}$hW4~NYIKK&cI5go>8Lt?ZGO0%7J}FLVY^)d=y|_`WTcd0 zq^t5T%B9%Cz7{aRtCPT*=}#-SC};o0)K71$LG-L;h!i~rChEnJ4Y%4b|^1xCGI^quMLr6aQn3XxLF83H6}x)B^Yn96!}%~hZR zBvQVgy4bf$D&?ASEv>(vId2`B^Yo3HE9`Xe!2D}mgY0(L+zb2T29)fp0+%|4H1%N< z?}DVb{22ibhs?>5?w0hbaKhw;W{i>4Zjy~XPo*70`CmK8PUUIO^rxnQ*ey09u39ri z{9dm`%NOz>NH2z8wCHGX~ABAa5Z(9lIWI!kehy{=n z4e4VLbUJ`l2c5|RBlOrq2Czfjd6?L#5|I8Vq4+N4d%&1S4Ce^>1O$>PlDa|d zx*iJGuh2dx6{$J$QH?cx*Y^eMUEs87P+#IGDi#N!@hs4e8?>)ZmS zS0{dvTvynHLy?1;1gFec2NO(_M5U&AyL3Y$?%dMS+$ffLKbD(UEaJlHeQ1v-U{gS> zRndAynUD{9>}MPPcE&C~b1pWdtpCt0(d|TacTPQw%ExV5n?y`x2ul5xxVzwoTG@S#;3vXD6oB zDb-#E>mDLYKrGnU+W9--Xj{1_0Nuw<6Flp~>)xu~myOtNimCJB zl*nhD^~(_b(Cxi$kuH5DKKIe)LE3z(-=2xwa{VuoWDnmwdNaRV5SpWCKvsvFSf*WgopBgSbj;SaanqO4tXoJy~_{Z8Y?9Uyxp?S() zFrc~zKP`3-3^R2TKwAVnsFa#yMy!1pWj{JKmGFCkh7r!OKg~mo>@OWk==_d7sK;+b z_=NvnU-|tJ@(hD~tQKcT9T&;gHL~gxP@@KniHX5!r`jq){>4hHtmvDL$QKZ9esW(xS-L$nZ8`~VZa7cS0)QnB6O>p<4fD^VIIyVkpdl^j!?4hWOR&*!I&JJuW#bjx~}Dlo8%tk z0shiSSVIOuyFg_P@u~B6Z)*@4{q~(=0T+2&XHRPTh=I~S3Du(|(fRFL)P^v3Hu?SU#eh;+n!A;rHzu$+L?8r*G`PSI<{=>0fgG z^sZxzWKQ&=XkV0qPR;CmYxi6&FHBrd;!Qrkq48RbWKp*nsUov1vQ0C?D)9RKDdWjz z${NsMsAk1&4yu@Ss8KbS(=95N316EwQFY9^eIrE87o=^Eycu%6(%Ak*!Wua?loLoyuIYt9Bb59PxDAE-P|Kx zsPc$bHjPy*IZCX!KER7+^=@b?N7^Z}r>@!RhYigdbXEjHOGAzPXbfYYY)t8s8M{(~ zom9%|=y^8;F=ZH0^XuN6h>rXs z!6Y_w3?8X>w@b!C@c1rq%B_#h>>86IRq(#tlbEZ-joBSVC~+aBTn7w8v1F0lb?AlF z5uYg)#L2LxZql_-Ec_SAW9CV7SEb0gu%f1EpA(FcGz_zpJeT#0}*LuU0 z#Ruo(7poFmCSLDQru-1m4?_$B0D*!piS0J#gq0?Wa}Z(TsCvx>&$oK-Dex^?UL#T(Vd_k3Qr~P2$h$j&PW@;n|2)%4 zc*R`3EkNXuEIfWjJv{8OLREHSU8l7;RKZ?0)eDSbp9Fcb&gBeiU7YBn z+N}11Fu|Z2nd0h6$pBjob~Q=Zm^rq1_>p|^ zPh$>(TZl20h0F%B%b0oucQ#kV^W1p0BRkiwIy^hwr(dp>@h6>BBGAFpYCx)XxN7{8 zqAiEs1DE&AaFXMRS42r|{1`#rOaklSg+$HtH*~={=S|)>}|S(Ooj+6M+{LWo5N!8Acfzb2fn zSMj+d57KxLGI?R3MlZN4%^JfW@2~5=G1>?1J3+)`(+7a#Z)pJ%_H3M1 zvv%Cc+BLsOz{$)5JidG4Zcm39wxEyqtc4=_R^GaI3mLPWMX)=tvuSm5Qfp-E@=BD8 zeC=9$p;>uF1SkZ11kJ+N%;1XI^U$#u5mGZ@8A*sLb{lOMqG;BX%pvGoZ#ywMmcA8q zX%CNEJJAZ-ZySZyTlZgF(i%$Gh-q}68A)wq^c$GWCeKe%twJ=kq)3nGm)d`HZrLwK zq!{M39oA{Jd93as;@<6MnvQ)+<{Xn+V5ztNa<*tjppau>H1j#H**`ovvfm*2{Zj;h zM7HqtH6|&F76Xwz?8YZpRMj077%HaYXW9Aeg*Sj8^}#Xu^N(|qcBz^g4Rwl^(aFL$ zqOouCCtvg^TB*DbTrpu+R#xd-}06VCkMX zZaxJvy>_*fCmKZ;_bfTol*ZZcJ&!{-iek#Le&VRZHeIEFQajvnojPbtaHWNz6De@& zs!jS+Es^*oG&k0X#IK=I+6Rh3^jTuA`#@kYAs z-~CSzDUnwgIYlm=q8r;q>c&N_ml=gwb#*QYIk}a1A0lZxv5R884oABKR0x8 z7+fv9Ay3fXFesYcUHatZ`mon$_vtJC_FW#2*ZR$;S+UxeC`(@T@;=w--X~(Md|9Yj z^>n_<8MSV%f7K4M#gKdZZwTleoAJ7zhR^Q!$;Cd}G{5ro`b8o)1{Ay&`yRzOUfxrC zeXFEznR6l_JY&9pbgeABeQr2z8;FYTkke6FbEN@%iXFNv7)BI^U*pfSGUs};XR&(f z`~Ims#0W{&Ht>ZPrr3OYXFWHnd3N(OP~k5_g{;a0LLDu&k8@+O-!sfhfo0V?!yy@& zdu;{1)!P-^z*}z7k`+P2ygGn2u28qDw&Cv&Nf;}k9(z_*okSBhW#j%u%G~yzaun+A z*D?y2Jk(g!e5^e@Zy1c8VbIk!2i64C0nPb0=fX!a z`KoJ^KltHl1g<=MbbyOc;;AR zmPEJ=9Y47;GnDJKH}85&%D`gBW2=);-<7YAppl987$&s?x!>XJw<<{fTJ(qFzBcrhsE8G)(VnlelYTAzzqt&g5S% zIXNE0O*Kd7RJY!yRs5ue%N-j5evvHd+XiiGaE~QIYE}cE#ftQ@S?vVoL;FH!R8QAT za^YQ(Xvfjyc{VH-=A-6GK9K^ovt66BZDZ_#j{&N(Zk3o7LBK1rV5@y3b zP+0tkGP>Fx{Pa61aL)>;jyEI9!Ld7vrs{p*y^Z`d0Vb&~xkPb&ddbV=bncpKnW%m0 z@U$m3-VGYK@#aKH5qV;KrBsd>iOdRIjqIlp2XYq|xqn{Ai>|FA~G2^k`4Is{CPCKG+VT^@>p;j6Wdf z{pV>O2Piv-okkQ7&Xs6vs?m?5+U}?3-;>+e)$eZ3e*_D+I_CIALN2MVPdjARusl;g za=F#0EB1@T%eX9h?4DcPX1qs0o;Au+?49KwBW5x1%Km&|Bj-OtM;@(wXU~%X;+inA zCH^OXq9X-=t5F4|tu!yS17g{=x04HjADr7s( zWmHnWt4FNoQ*8Lx<*@>gwrvLxC#$O=dLPR)w?3_&pUK!g4r7133UxyB7Jbjt$&{$# z>IU+7Xn^=dD{s^@ZE~0%BDDo?Yy;!bnF>#=Masl%`ax`G*n12RA5u1DoTO9?jx*!A zUKju2pWQNi^U5lQkM;rwp0q24v9mmhgT-6Pqr0&=DOfT-cp)k)?=g#^umd~sWhH>U zFuK80skrV-#%Yr{IbPI275TWT1LoDON1X?ZU%S?H;pT19Vaw?FJtl{lO(SXh!yL5R zz`u>G(2xw?lWHZGWniM?ffP_o2^)sAd+(kuZmq1_FSGr`dA}d{j$AsStFR2&e7OFd zGfn=C(`ikx@3XlN$5L#kkgGZWAE&Q=d*vb?;{5=eUQOM2__Z$)>Y&wHn8mE?VGIOp z>K)e7+HKuY!-5cjGgw-HPR`rVnM80o7j)-MpUJi7Vd>8jmN1&v<+V;tHQhePoJ=lD zqO{*HL4Zs8-%6&I;DUDjlPlwxFsC&dUH*-u76%G5RB_iKdaGQpoZ><_-1r9xNgmIi z|HZ?<|M~ClgpNH?XcK9sO^IKtCg0p#;zXmDj(XGhfZAoIhEF&b2TNmnir0imbwWrH zXA!x5O;>tW`0e5s>FzB*okC@hGIlW6O@kNv?Hk8Z8)yHJ^%yUI@H^Jai%>`-WjwlRIF ziqm(y7_5H~#5unG{MEkq!g)#D6MTmeon}aTb2Sfao4{i)mD4^Yr3$8b%xeN_i1-qd z%E53EWu>Xe9%{PBQd8A;(xiJF7sT^oG&^}lR+3R=vlj*T?(gefeGS1n(4jEK1yB_u zQpJUKFpI(RaRXa>wF_$}_s?Wav^e=~^&=Fa0Db?Gwju=@(~{0T zRA)trhMaS|GcyPT!d^idK4 zY-76O%s-k9j+<4T_>6f%$E;uWvEmJA%_)m%UNCViSe@!l09<|m@dW_~GiYT?%_4Oh zie~jbA6R+Bz&XWnbJ%n$@0L{9S1D^b=qQyDpMVKm05y4hBgL?;+gH3BuU5juYV9xa zako^|9n~y*9S(YtArad&wPoH)5%sjrzr}PCc;ayMz75Vf|nT09C z8~14+y6Y~Z*!(GL(}#rdprlwXkjK01YHflqpU3lzbuSa}vU+`pY45_pKemL%hF!IjM>|BVoN>m<4`CJH4vEJhe;BJOo@X_m~ znphUuwbneY8gCMN6B+FhDndo9Ig`jYD=MF>Ps^=;6@*^Q6DqOvF&WHR{EFGMuH_vn zu46{vfzcV~Jp{rJClLD4JvL(Y=bGp0#d?ZbZKg0iW{~nP5k~ z!*(k9IB<#IzRmw^KVPeEfeBD=wIup8TXs3B{S%omDFoXgI5UHDN~8hcHMVI`UJjU@ zRlwDQAuB~l5TuBd=w$&X6cU%L>bCPA)fIfvZ%4c|eAz;7E+4KFYX0|&#Jv1af<7^W z;+=_nT{_)%=q2kzt`43pAPEVR_1AxC_2h0Lg#v)Sughcv%JMx1fBx0!kg$20AcdVt z_BaWLni;hQT?YzPqBe}u3#R<>&t+|he7j(<&J36$!*Z+)Qn~~q2(eCd*b?~!u3!gd zqA$=3z#*UhZ#~*?7sk(*^}gVEe%eFX3Jt>I!nK5cE3~<^n6W(%Jv($~%U0*RZA<6=GGgguUnnK>@31BnnXcx&m z*0{CQ(?P=A@n?oImfTjWSq@6ac2K@aMwu~1vj|_$et>SVNXx_1NPaxwF(PLOZ(<8l zE2@hV!;kq38Joy=p}!Cz#fllM|5#HcTL|YwJj|5mN4YUFYJW_bu}`69TPZz+0*1vJ_3Rt-z=pD`Ydo=z6Yrwxc%f%O zK2BG=xdROFdzWqjdQPa6-#@pirB|*8{x;-!I}h$9re5(-Q}t4FxJ6WV_+KY;yh1f z;e6-Mgz8k?KS}P@R5J8jk)8-=7>)O1Of7#qU6oI}uTaLJi0TP}t46SY!5=*nD`#i! zn25tE66=OgPOBe1dGR>d-<~pepKo%$HGg1Ej9_R~V--IYg<=aKGZ-+!GK=lTB1fbc zR^B3c;&>=Y1dL5jTa{2HtrdwYlWAdM^R(nz^Aficwx04+2#8E~O|7zyY|>Urwb~kQ z3UY2-oXM`Gs`lgRTRCL(`pOiByMB8Y-(;-w3BAOZMl5I$5QWNM1qBnaKD|ytLK_h1 z7}1~pY@^kU?2XyfW^d^yxN02#>~F>~bohCnm3no#gl@j9FoK*#)Yra{DWwIqBKwWF ztZfY{`{{t9@{*drpH5`Mz}&MBch&r5AMbXD@bhf2mtT93<-y;K67^uzU+9P)_3)F7 z#UDQp^v_3j>PUH$f!!WcM}8m^w{gxv49pNVnW>$a%vyOPFm61M-(n=8dw9sBZImDe z5@4n7JjQim)n|P54?to9KrS%t_){B_$4eal)++zYUPLv>BS^z+IQTZ{8TUrHtKg>x zFr(@a3f?TdVw^@|))D_JUeUYWn!@MilrL)pu(vuA;lLV8>yqGw}#Z+nmmyp?@N^i)%GGt#v; zLM(p<`x|~KEDE>Nv6z&XkEj_Qvhp!F>h)9`Y}yO+7L=uV>3e?*I-El5%HP^LPU`^)yTmet#5NR=R&+ z_vPi()bV%ue4Fg5mxiXFK!O1uQEGD}4;Dmhh1mot7~EES(MJe^Qut_8R}AxNEUdKk z3A;nXQ89oEo;^aO7_#9wGFd3!1?(jA6jPM!KdnBTUQmXhOKN3ft796GmDO@oqi=8mC66RBh?A0c8+T!0^#1D<~mXDC) zv9{U7)r;&QbUL2+d(A@P>ZQl#w3R=R3pudXT=rS4a1wROcdw-rB$&61GU>l*O4!HGdEW#uZ1itkw9wLB zOBP#79lN~8X|}RZn0Q-y!zMd}cE;8L9hdOHxQ(Wijd4NUAC0WB#0TN2qtLp+o*DSj;i(tzEY#J^)m5q1$cVakQQEOix15O5TGLPl zCGJCDfE<)$Zs!fm_hyPRS-8mY=s0LpKlL+ zo-k!dvezO@>pxx+7V>tVg>%PR7{|Z!;JZV0yiS}#i_7vn!D)6^3oc~oxdOc)CogZJ82RxH0hC;oaha7rm&Ch5N9+yoxGb9vk*IZI(&te>F=u% z4Y;Jn^F}51BA7IC-)J91MB2VMzMvKjB6J{6qKpmHN?6)6lf-DV-JaAx+`*sWq_gDn zKcTZZD5V~TiDflyJr)tsi+exLrzx#MnmA+3J*7`2dNA76#=W)C-xfrbb(!>0S_7Zb z*ViqbOXMtk+f@{vG<)(I{tn=F9-{cY!cBGFB)IGX(VG*(IkHeJq?)1X0d|Y8iohM| zB>O_tI5pU?33q}lidtqYduikt8$zL5=t+uz8bVV6%h*<;+2$lyZ=~THv6O22oQb^y z&M%d11pp`JU01r|9gUsce@eZVI_f~y1#~2#Oevp zU)9u*eqV)G?w~=%ESW zA<09@@NXDzA%qellUlT_=yHX@QI=B->|%W7d36ujp`@00GsT%oO4sVL z8_e>oc$|OI%N+^m%fvTabMjk9*=vP-Z#E*#x8XFBJ#k!WVay^#a0T1l!hhaq|GzoP z<)bq8##-(5cJeH5Vggc>ydN^7!Ht26LTtb28+Yf)vb20ZR3o3A=gUNPp$OzJqp$SC z^R&Nq#E8KHnOg%}M{xi8a~tuhO6oe~SzVS$E1Afbx}$+2KKu+3;sO9-KM053vOu>} zZ4lhAJY`dt%h}pHnD_8E+`mYK5@TZrY?Z;?r63QU83d`mkGbol>s+lEkDrk*W%I)n zt?%2dS7Jl&r*GiRMs#~2!;2hCF)1d@yV9`pw*|6XBQ0CyLSs;q@dxTkDZM^B$Dyj#ADa3MAW zhYpKShq_sYe|%>lBK<@=fSCp$68kam^ERNixU+1g8$;uIm=t6R{w+?9 z+ayT+;@!-P6?7JwP+T}NN|xT4O3eDL$`QX7_!Og*`8s3O!~S(im6R^PsAnq6a9N{a zVZd<2nLK@Z4W#S5ci}bpFpj#pCNS@*R&I^OQec>TZj7zX9M}g~9gM24XNxTyE8k?d z%g8Vu0ol=m*wE7K%$Li$@UrFct*FQey_b*VeIpPjfzmN;Bk0+lGk-9rUA4_3k zjj}<8kS~B{kU7t-;+SnkuuRcwe_h*(i~_S0ZHslahO^T$H9SRb)(IeB2N6oD0pjCG zv=2=5jS$@!J+^5zr)*&B8#Uxuuk)bO2u!QnTCB)Z@#6NSb6^t8Q`4?F?sG?5#aq?j zx{9@U#2zE>Vh6qpRuGCrt~6g?!5ez}i*m3?Qbdk1f+L6?Q5BQkG50pn;LAV6vBa5Y zUm$Z$)zY8)`u$^#;(smgPbTYLP|MLiLb_)T6d>Qfl?SRBNNo*n6s4}KFNZ;2*^RvW z^o!)Z%f}9bT_lxnr^%qeqsNyiUaP)u44a}-doV?^6+zo?I*Pmx9=FB?lq_rjZi4HJ z1}Da;Z{obxV?!uwPodj9dFEr=*vYF`652$<;LC3TzLijns%RRHc zrpNdc^c1G)1<>kE-_sdu<{;DUwe(Rfs1?~y zoV!aX6@4Z7v+419sDU47Az|$WsYkphNhGR6ZMHdfNQp(obveZ-U#XwRBp78oKV6k) z=Y-lGhOHzY)6*AB6X5$cgY6j6d8WAglRjc4YJf5Umu*buMOIBRI3Q!;hs~J;_{K_X z^uEv7io)vKsx@sFcLTyqlRbBupkEbgxBRL8fY1jLnmarHafSSU^_|}!5&;uZyU$0} z!fTH#uByX^B~mPVW=D+3I_CBRDrq`Qq)vx+Q-buI6@!Ux4hp6ZaUZuLaU;i$ntOF6 zxkvdE8+Be_41UIH_N>xkX_Ti3@p;X4UX)3IF?6iBs|h)*&Iyn9ud@}I<>Mj?ZNKWf6uBmmKh0PQvW=g}*_5oSxa*Wps49bS-H32K=5Dh_| zck9Xs#TEAf3bx7RJcP7UzNOW8ME4(O`=S2#)O4K+E#oo@OJGU$=vf#0l%+SBtM2fb+;ZeoaF58sZ#7!IpQp{LP>CBG#(Q zicKOW5qt;*p_YxJ=%k5am^W8H`JVg>v;+Z^*Rc~~PLX{fVfuH*mYq8B=o^4fdj+pvh;D_56-$s@-lHA3H6E!LOrIM6;a z>dvP2IQ<*2p~JcqmVZ}+`t5a*)x9!A9}45(3VUVi#m{RUPx9N?@2cPaXN@Lq4)K9T zQ&`(}ocj$2_lpF-=gkF-k=#_OSCGH_>CNot@hKJ`UBwb1fpiy}6HTW?x$ zxl~j32wspDxK`tk`SG~6DRs4G!0pRQbWbZ|@BZvoVJ1z}Uk(!8nz-gHj8ygrZQW=Q zWrENmWDed&aS@%tCtYugtax{&AmAQ9`h=q1iRNKr())mhb#R5MS2u2Kk0tv(=Znmi zf;8w@g-97ye|=Fvh!;L(E`M(aqmp^nUga`~`kQ${l?^{!Iq?Okbo`HBaWq zt|{|}u|-5u<97&MP=e)@K67&!PwjCr&=UN6Z& z@yd6<;>QI!x)4MWMcQS+-u#x-*xpT z`3%DISj2N=2YFG)M&VolW|qtu)S*&4hJ04HOP|`r1o~}l9l4nlwe5H<(_R*Pv)Kc7 z?VC}wol*IUQtsa6va2366Tqdct_atceyLW)+2>paczR4@DJkmHoP)g}{x^O{>?Yfu}SQj$FQO~F98)99z+7-)~(#~T(J^M>+vM%4&YC#W_D$)|lnBN89 zu_X8WDjNM3a)^5gX9cT_SmzanWB1^rxl|(mV?Ps1#kBd|UwHrVzhOUTsY~Y?!ur!0kb{D(c6nVdBb;W#z|=om7`;On^DL|ShSJT{XQ0*3+i*Q4x3FJ)SF_et9Ppia!Fw{a)536#DX$;DQ3H z!hD&MAw|RaLOW~XDR+Odaiatq53jS`RDl}8Ft3~fY|+uJ%KQD<4*%e5Y#=NGZdY$B z_|@_Z#cHsc3Oh3smV3ap2-kMzvym;2fIIoq9@8>UolA#s3<^vRKAY$Oxhr}ifi=*E z7K}4ECfDL>n>#WcvEWu|jIi#wW{Qs;#arywWZ#MkbL9R8_5e*ePlK@8%jO3Fi9lkX z=Sb&}T;(kQx8Jk$WEr&-s`=D;<${D~*1n>?Ks&(RK~cWGHT~yK=zy8fdCp4|^Ou?V z>A^f$hLLfwSID{lr19ZWk>8WTOKn4SFVVy`%oIjDV$Ey#2%~Fd7`I?jm%x4Hp);wo zs}dWtCN@64N_*WqLP@=h3wc3NB_}M~YFw?Ybe5SPAFW^PXZ~^9#zUu6m7}7nNw1hA znl{54Ubs?aAEM)^qTfKA!Kt^ZulAqa?7=ZCg!T2Qp;`@_P*S?3y!Wi!fOI?7;Eg^3 zv8rPy0hBVd28&{RiQNxM05H5K4r&tm$EnyU_$KX|IyjT}(%LN1h+nLosct=EUTrOq z8EhOHW&|`$=Fnq)LUGM86yA z_bW+|=JdSF?wXJX8);arLng*TQ=uH5$+VtNja=C~^g?Dfylzhpe zk!32Q3;O+@_^LLJT1eVh;YW$IrA0!gBC~?DvaZR-r$rMp=MC4FKUxB;wI3h59w1H= zwQlD8^DZM!qxD*Oq15B#rGc!c;-jX#>qVLKdg|deE0dJ7<-KSVP6d8tOKbI`$6L?% z0@eI2Y+mc(;NVFLP|vUUl6SGfG!v{&Ov@W`v*^1Ttdx#Y6R54L-C6FrOX}ny$`)BmTJdUS--lido|}XI%sS^je?d$AoG)btaEy-wlML2j;}eNoNrz+tG@< z_&l@`ocOSUvjtL@V3>=yq9+AlcTFsvom0mls`QJ|O<0(yy6_dgNW9*GmgGsK$4GE# zUoQm@CRlQXOTIr>Ja`N9EGqn{Y$(yOwf;7Z7ou2FZZ4m5ukb4|L%sKS`!j$)RLbbu z-Ko-T*HN=7ovU|0xu>%SqL@D3zs$v3bWF37#t_h$A)G7uU52o3b`Y}zVw}j3H33hI z!7*6G6ep2Lb!xu7ks21qiPZ$gVdW@PcTu+x^VYflnzQ~pOAkH{2?#eE{VW1xkM)aI zq`z`2gjQpgV}!pZHYCnlKS~gkjTtiLuw*V|V(0px&krZ6yAT2S{F)FP$zVo2EYqw^ zvg_ui$DwkAB}MfH?|mZaSv&_exu;8W95N$M zOmvn)$L3*NJWGAN#n&##gT27W)w1scIgV@W-y29*1|k>##`%N{AxZ9{=Y&)yK$8@c z^T{hOgffgXYD~(5ipN%rDYx#oCpk{0u`tMm*`|;#DVqQ{ zX&uA}B|6i$ote$D%RW7U_v}{rDAo6Z;M+`8RljjtQik3ZM&?VW-B07;x2g{POBEwL zyAXP?zWUN!O)0- zei-w~npgr^6C&!?3ts;GD=ckaZI&gD)Q^P7pxa%r#xZ18Mg{+*p1%ksvfoEV;FnBwaQ_#_>8ps9)|0f98Xuo1n}uGJnt4=<7X31U3+ zpL9VRk2l-Q?L$8VJq&n#sNEsm0#1*1*7Gi)60kNHag&lQs>zceRv&vi(^a1?i;K=p z_brDJk}(%&#mO(Z?Ya|JxK|-Vn;CycKU+bNdQ0ooI*NRqdB4t4(`zx<{tWM3Qd^eH zun^&hV#4F)AVMU^{u>AuIop{JbX{Z>d7OX2(|oY0x~!A$?lZC+=n}~;E)BY+`ICOP z#n82W0Gz+Lo91_JjMUTCgeT|aZ_Z!J^;5%`3( z-;iBSt}p}>3D7i;LLN=>D*GFVc}={uyn4LAz=fJVFKLs{?fzplB}3m$Q`60{&pQ4y zeTWsltVdpJJMd=Ep!@Rt%MtTOuL&r7n+&cbRmOVBmIzrD0&{2<(>~ zey>nn7d+7yxykCU+YdeBRM7$gu@-KYd`>2od=_I85=vPnzOM?uBeRJ&|2eS|yztN6 z{S4u^SsPETZ3fgk5_Nq64kvBv$C9iUL^Y zq2)g?b@m`8wao9oii!q=rb+1?uok8$qIDu|O~utzB4G+Hw}RpVOC=HGut@W*MP=z~ zCeFf-UHnh(KFu-P&53PgW<#T*cEScd#;|LTgWcn;>)b+vJy6#8l%=ObX9YyMwA1Yw zNB{Sq&^5jHdgaWP>&)FI&ic9|BW2`|o>8KWys}*dW|TT(t;hErbf(ZjB<_tTEKyDSw|6CO{V zma7QYm^0-6zKaS^I~t!c?F@Ce9S~(|^C0ae1%HC7#Avi1NeBQ0&YI{wbk{wq^5R$M|9hGFw(610Am(01_DXa%&}H~}zW?#T&g#bTPXFNcoRuBl*o6P9 z8yn9PqqCVv=CVJFu_{8wa^ns>UK7_<6l3I4#^0thn*2i8RN*3#Ty{dvBcID8XEy}W z+mhM7Jk(5=7BeShi+1B@bW9O`$&C9bkW6Rr{&U8-Y0Gw11NM$KYXU#G>M zH-40hZN4fc!APA$iG?MLEAccdmd==fSyu2B5Dl^`n$Uyh46tR%8}bEZO*qBZLg1L{ zc#fT3+61Qy4j6B7lB9B>vD@=*X8QCZ-mac9kztry(adUn)RJ(!#^&h-_7ST*0%Y-1 zGDy(eN;YH%il}QBT-(-1!>1{!6>fKikMq(JjkF@QfF;s~`h7(iYz>aExs)5R>DY10Qa@A7U^synM{#FupWQVw#{gS)IscCXP%h z;7dOV)Y(R9pvcxFYgc>95*B+r(u(Jfw1m40JusUXZwrkEkJd>jU;I5HR^)~j%({q| zp?4U6!pN5F7%T2S-uxy=%^58`x}Pa=7lg~CdL8%*n@S8}$$-~zIWMuUPqM$v<~YWA zV8zU4dr3bLZ0Ez=0Q2Q;?mfMiAZUZGp){tKxitk%j?%_#YdK#DjkfjyRbB6h9E6*0 zipUZjvvQ5#7I|sW(Hk%PyA4ZI)aGO%@(Jkd)M|ep2CC>+E0q+rSg0I|2jsvL4@7;9 z4lCOIW2&cbqTA~Xv8kp?@*JgJ-_QS%^{W2;YRy1mabuuFX+w;4zDY6fh*CYl+3&{M z>Tw?9jrr8l-5f|O+*v~1%IMx}3>z|bXYT3X7BCf^f7p&PJ5j7ammExiZ<`$HvIH9m zJ4+-MrP1+Gtg%*S&N^MaEj!7Qe{jgGSU>)=1O9gv9(gb4>JS4@^|@QZ{>Fj&JNH_q zjEv+nc9@z~->`B9X9I;~^o_=&+n)&vA!;^d<8$<}kqO;JHKxQP8A=lp{Q((DYG5yk z!LOq#F0{sx&N|!qzfN6A3 z-`4yYvrRPHin{6kY{4CO5m|a#l(E6b3mMrU`Gd(n_)oDoT;DVj8ch_}d6I?jHq?J(1Z&BG>PDV^qJ!5)d zZE6a}WjWQ5)PY7SDVQ50dP;cdtnKT;~m)z3;@jIW?bw@0Tj4ZL; z5hR`a+o%1dYp`Q_sxdlo&lQO;x3>!|GIX78Y_v~zI(O?bw$mj!PYSN3c$G$+fp|E} zE?3ZP&sAwejVJPhU@QX&PlcUd5?+Zfr%RG3+8LT zLy5Kwjn4~Ir>&vaHM&U-6}etJ7CI7Ui-lD>E^~WqGkPkbYxVl!v?j>dawIV!u$>+s z%H6Tw`0I$dv^K*qefO*2v8mr2u)p5%jB0Sav@JsYr%H(@^{UDvU*m z{F|g)@f4hw^x0dsDcfr#%h%;dF?ytx;+C?c_xmG)AfX)5o_gR4s+YT@cyL6clU-8g z4W+DJ`wEgqDW66{ZCxVI&kEUK7~8aM?iC4o-Q@D5z;l%}J~X|!%h6$pcP!sQ#Y7vg zIzACwPg48;a;*Px)Rott+8GGbs=jsf*Jy+`6OT2OJv36I%X%-A^>6@91+-uZ(I(wt z{*FdRC27egg{N|`jmRrcg@u`^Y;RwOz1ZIVAXi*c9yK6-y}el?`w5T5gG@~!ln6i* zOCv~_&x>y7%`W&BFH4#j_hKFAVOoF1fXsUicFX#8&S=}I<~0099v8lx;$99OTHt;n z2w5K~(qQ!TI^J3d$^ugkrYsPDl5NBiKDap)3FeEdwKq1bEf9AP{lihoWGJTahN@Ip z#U|M&vHbMso1-51X@??T&wsTh4i3j8HYT1Vi0|TvDNQIUPQbF$!F|=4H5Pv%K`Yh5 z7>%{`gvGAt1S>tW_(!~PMBfHe)#+(HTS;yvuN%POt2*EE4LYRmES!aS=hCm9~g)wR)2*=_X2 zXU`HSfEvC`G>a-gWSZdATe%ovkEj|lRfgVTX775DjKt!ef|;iasc#E@`;rH)D&~7b zQ=I1$Z*6F6iY)Tt^Gk+kCuS5dV}_pZ_Xj39SAUPJYol0>!R8VNWzyD63C?}lML=I$XREzhz?qesW1h#QU+Af*w69dh1s zk<)8sk>93&;~*e1pM2rI$Vqqp^a!uTOHG_I;5rEP+6^f^pq5%fce+S&?v$!1ZQT+a z>rl*`6+|vp4wUvH!Ff1L1kn-M_NnoUA)LZ z5&|lb%HO6bY;x+E*%hnO_YO<@*Ry0F3OB@qz`yKueljJM-$G{yvgOK$^{oP7?M#Af z(>67ARZM~`dFRYDecOCi{O{cd8b#6+LyrSK56z_t3coZsUK6Wx{pO$rpMMuRCube4 z0svzHGK$7oZ)B#~j<`$(m)IiPce&?%@0ndBs+RDN*hgW!Jf<<$EIDJ@d$j4%1eU8~ zyanlfb!i8hbNru>ib|f7H=xqq;#RWUGguuu(Kll5fPBhl1f+^F)5DY&$D4CC@^n|F zv@F>Fz@Y<(2jCesiVLAgu=a!xRZ&V@;~N5!h9Kq@VPiswa%+WMDxR@=rY5(MFOn29 zRMrX4`~5eLiPqToP!o0uS7PB-Qo74HKH23I4N}gqV6BUzlGReQtp9hC337Sx;X6ZnC#=Y zw*r30rZT@%UNHo_m&=r#u%K^PJC<_B`qHE7Y8l|fPJ>mruiQJFyF(xv_1-zPI1lET zlmD%5#t=#iS)a36|GfjshBS~n^G4f0orn6vrS z+Uqiz`4;Et5vkx-TT(WC?q&?D73)giB7==j@XYwQlK3Z#VHB2(HP~ICEu|}UmdY}C z zR0NCUtR2WyWZ26%e?TQF%0fqRmPUBj{t@z}Td!aMs^ZV@CH;$n(Utb(gJzhy6uNa(Y*=1j$7b+wEah z?qw>0rixTi)NrG%XBkk6|JqcdjdMI^~WO}Bjvnoj!> zf8+e}-skwy;}~n|@zYM zSCl-Q%8Bg2x+G~hAS6O!B%`bAX&Vo>tvJ2PHFj8S_{qLjLHfR1YV zVFwN_G}`;0&GCO$;3!pU&)Ft=lC-3aUv|KfT~Pw=u8*#(%Ct}^O%Fg6r?qsF*ojth zZ^n%_P#EW(HK&rwr%#fkZIWX_wM>Ki>*y6OdO5=Vd-M-}u*C7d^6sBE`kS7jZAc#XZN49uKO3rxZA z(zHfLoQm>Dt|$u~up3ACsmJgdjDIQC2c*}OIu7gY2zv^ySAF4CXzgMGum)HPBn1El z1DwuAl5;$5#~IqMyX5ZGtnIQMpKC-|FoP z8sq=+)wmCCU2UGkL&=jWLZdJ1nrL{;7!T@2-tSOXWcI0Eu#6Apr@b_*i67q~q0{%v z{g!EnGQ3xFU}d`j^g@hg19iF)P=U+ATzAc5;a3pMXJL+BtU@vBI^(Gf{1;_IrYU&2 zJZxTX*Q-5fVqU$fD_OE|$$Ia2Y?qvLXJl(aO>pfYqJUK(=rOj1$QrS$oG@16jB|`9z>ud2d$|?By`!cQ`zYH z4NBFa@}}y%^4de?&P{~^1fve<+Qw+T1U#v$#^@xXVj}*ee0W7)F&RBCzy4tDJ3qhc zYf|+XPnzbyz<$p26~~I>Dm3e6qkTt?FGY(vGT*cJ`WnX8HbWbRd^CI~*6E*Xaowcy zeV0blEe*2KrJm877UVt%0XT%SH-y2_QDcgBo^PL=eaarSI9-oa9i7?q^}C}$nil*h z|JwNa%*O-k6AH$Deh$f!AD;ykZ>`)@Wf9)F{vfc!zhbR#c!O5euI${?4>zRcx?)Y9|K9AR^QE5UVUJ}o|7 zcbiA@F{046mZck}B!z)xH*gyaMe=Gq)Eu~yG09cS-r62Z zhxyw7tiU0J3Y`)R9X^iFXo>ul?RjE6h3zIJNdy-nj*yg4_g6sPUvOfB{#pPN6Q74z zxuBq=070UcyZMFaH6pU`g8P}@^K&h`)67tWcmpu6_HP{1(^Xl+-JrtS%49Qe?7P() z87<59OlG(qNT@XgWs0?L6IScBK39}GtQB7Nj3Ep-BG?TW;B0}>z)5>cWsr!6r)b?MO(@tJQc{MlaN+WaDUrAU0fzj}ep z6s3EZ;k>y;g%*X=ZH&lhkc)Q$#3vcl=&zHrwl>Ilexa1PAdxJIqEvQZc<*Vax@nn^ zbWm8G7FK{z-^CbA0fp)z?%qYf7Q!GkZ2AKBb|ENTU>j&_w>$BXavhjor)}zf(2C*sYVjf%*;Zi2XcvD zSV^36+2fm|&NUe{Z!hcuh#D|0Sk|ClBhu|IP^s2x_v~)bSl>DO7d4&$s|(; zz=R@}1|$(#A8-fP=@;hhwQ)2w>Gazv!S8&Xj6kpfo7^U<>0})nG{v1ozrDp#lIE%_ z9(E@1FlL>M_U+Y;`Ea?ND{GUY+06WH^@=doFD*cW45?aDw!&0v%E_o}=%|*`}=AHh?*; z+09{t&cCQGEr zH11*Zx*Z;w2tLbg3QnSP-o&qqN?j?%3Ugc$5h{&9z-&pZr`GHdRY(roh7y>t5Z-4L zh1EDGxmx@rY<=Z5gGjYDa3(8h*uZ7|eaF{zNLO%m9mSUE9B@O{I@EAxRejHu#nQPM zXU;Ywx!zARy*bz=uWyR`p-kk)T&O!($_lv@q+0EwQ&+!Sv`pa0x>*)22fd;?1^$j0 z!ZlPMGa3j9paqU|Da`8XTz1~p32`}ZpQ3iw^`tBuFJXH%-GFBQ4l(N$vS4+)KQj6? zO!CS`PD3S}Hzv&d=*svoVO=P?k-+?MdIzGBokUk%ifXLMOSk@-O?Q`;omoDi-1{M{ zG+p#?xJ%TYn9^wS)AmHc`W$fkCDOw=kWneLRghwo)3?AT$U@H7Dsf#1utk%sV`OUh z3{$|`M;jfM09bHo>pVb}O$<#%|FuUk()_0FwG{5)>902<^Y4QTsk}1x^B+qVya(e39nvVz`lFngV3g0;1l!qS+bW|U zviOSlf^<`@Q5nK1*i0b5rBMp1qzLUTlP?i-(W&ebc}-}b7<7gELRBhf`iYOuc)G+N zl-cU^ia6FG0nORzvo0Bx?x!{C!OW{T#wi*nfSK2DT()rsN4fWA_CWm-6Z6X#m{_a3iJOCYgSH>f4*D(mj)#X#!$#53iiM-_^Q7}H>lxcFb-$P2&-lCf@$!}1 zrc|?Ql?zGWQep~1R+P^2DJ3~deg%jV4%;f6SU#;Z`*q!Ap zj+7F*Wt8ui6MwV%0S%o9ZOOr+V(xg81b50v!g?s9B_>(x_ZAGSme4x$6#G;6&kdF{ zR-BpJNX!u+rSSsRcG4<@8u6)1SnBh8Y1H9f;RN4$k4wUakdhxm1-i9H^va zg_Udp=MZ|r1$A>28TwkllXas{5#qD9{xpdNgdKSoY)Lt*V&m`|)ZLTNg`4gr4Sm3? z`o=7nZx?OIMV9u$H4~fnyvt3Q*-i5JfKV8aKqq)~mN3E0+4gwyz@^g33?`X@!xcY*!VCVHzt-Gk_a zrii8X>WfcAJiNuOR=#(7!ZvZr?+T-pyA3fK zZ2PPZ5H7<9Qvc)mB86Z$J#%&J*Lm83niUg(wPl0<*LIs5&ajx(9d7E;yc)cm&mpC; zqau@&Ui_60(YTU%$PCdnDT+tF?#znf;*zzvdovDcS6N<%_fX6S`Qc}iL{$O%gYw!Y8Ia!O3F{GdR!EJBRxx>y|b7^jsw zF$!%1wt0s2Wf5=yC%qtLs+*hb<_B=+1mBsw;``+d!|t(UdkeAAQsqV^kLBUi79z2} z-}~YoTDhh|6z4XXf&h;+i5bfDhN29uyK zcG_0rE!Mu=Vb_K;Yt!*%)KFfz*p9NuKPk;@>Du{w^p(Awe;k~7I;EbI(EnuGBBhh; z8i6Q<=+beFy%Z6~fGv>VHTBX!NhBjf{on|}4%Ns$kMMRoe(fmlt7R(_#DE9xqxult zScM;`xjw!5JD3A;qisxpQ%o*xQPRx&&IAMZ_&;97@k1Z0Y91_x=4S88JG)-?iY#A(ePe1iugp2S$6<5;3;fg{!EMFD z$8;}?;ctjI<8^o?lDpYxA_EmFuTr_H6Lv7GK03)L-?6bY`kwXgQ5eCnIfG|6 zkzeQmBY|Uuu~?AagXskY;>czaFW6nj)bX)|xE&S3PF$Oa{9eFcF|ic6XzTzm{jBpv zOCzo$+Xfx4s4tzqP3PlDkp z(>I)kP2zvt z7~ONnoz+}my>3X`Tr8xoU#p^TjeU3R$0q85mu7=Q`;Whl3 zfn}GE$h()YEsdCJ3U98AHWsuJch*Y=@#E8 zE3ii6gM;&%`Pvs(DkIp_df%eMbdqhuJbG);-2d#c3plA?$YtYHLzcAlUf=xvkCZ9% zif}Z?oMz)qerwKNR(};_8y$I2XT|KJ`q(Z^N;<133Zs2b1wJQ>JpwAEWgRZ}B+2}A z@5Fys!_B=#7o@S{CVrB?RT=n1XT3Evwq%M02XBvI=<0Z%`XEBdZ8D5)tXF0}w}mY+ zuT-6^(LKSz=tVv=B5~|%VZTRQGB(Sfp_7wCC8>t>sfxOaR#bdqK5Ii_K79v}iCIt( zyVRe%Cf@9L;&e_n^Sqc&P~UzMC*?C%cdyZa{ytHxvOD?UCqSiHkSm{NYm2XHx1Tto zo!V)mnKEEaq6(s~HkNiUQc;p$`ulbJi~z7Oqana_(mwPN33R8F<4+aUFUJ$2zp7~c zX)@Sq#{$+(Nq3Lt+}1Ob855jSxqfbK6|zn00~Pv@_{+5*%P)${cU^Tm%x(A?n)uSU z(h%)|o}!c=9gR~bGCEweUsrd?>Xa*k>f7iV^rT4S;Ux6B6d|&@eWA?RAQ9DR!C+B; zsF=_&kLtT>8MI^QGaea=*aZ~?v$;^^?H9hDJj}4k`WsJ#3GlVo74Oa-<1~7(Ah*k+ z4z3Gz+$t_E&asjBtnR$`VGL%1$zJ*L^d1ALvKEY%&~CC6`@emG~$K&E_)>JP|L?IW)wFGIn)dm5YyP2b4d^yu1&F-Dt%i5y^Z^(8aDLKrUepa__KH1@+RTf#Ge`6 zoo!{VdN=qt&a1R4yQKMz8b4rLhJXMQh&y!E=&N6`{aVCL`SbVg6_m$4aVWCu4~q>I zJ#4d``~;&O=j*k3XuQV10JR+&ma+DeMD)_06Q7J7Vz?jh)s^(i=G}6PH?-6B#c}%F zNqTuc!@Ts0*J42U2J0#~yg`ji$`532ke`#EY}@viRDS_r`f&FZGR!TgH{C7zY!pLt zRl^yv3#aoW#ZYSBYO$HHk-WILZ@6LqGI03`*IOJW-sN5@eo`OgqaNOU*mZxLps};o z`h*USg^mB3nXwTaAD&aCoTeN$DE(w(9XhG4jUVP|AHFzMFa8S$M|yZwIh-+E)7(#} z@Ru-?P|AL3D#akL!Ucy=Qzf=GY9=^X%9eQH^;V>`Za3=jRO57bqXT0;sl=V{M>&;>5>n2l< zGTXI2Zi7Dg2<~D>g3l2&E;&3Uj+`WZdn(JuT!a~cULnFaS`w05Hwu?Nkp*$bBcsil zKipDgf^)B~r{izM)i5tPJrDF2gdanuZWda<@M^C2mTFGvOeq$&MAHB4i&fBgC_L<+ zxiGM4q#P~YbBbWEsm*ij%}i>uwo9k>wNiZASzUO@Hm(VL>zFb! z9;}`vl*}@d+0nu%T$!Q1VqP_A?B1_#F8%b3dO%%3a#q&ARWomVf4Mnu4(0< zN8Je87fD00-iMGzOEqVTqwEadX?6I4%B3z;s4{semB_!-F>iRga?f;IL6t?AH-@c-o0h5Xwdu2WTB} z!z8a1`kQJjV?L`V8cy*d7aA9SWyxgr)<)MByH_J zPUf|lG<vK2LPrgS9@qE0{;7E#^#%g7fiWT#wp`g4cM~D=&RUZa>qTLJMmLiU4Ds zrwt`YsX{2i=V&gsrV){ZUXy+U=xe0zoXPUF^ZF?Ad}$)h>`nWAu+`{{G1+FdyBfFv z{SSoQ_FCB9myj=bAPS+vkyIwr; z;NvGemoAOSy%n$iyUvt>?mUx7BwS@g!I9W&3;)KUC2rB zJwH@p>M1{@Yn#_An%gTf+dlU_EB{GQY}p$3fYC=arBL#{>-Dh?Sa^pbvwf}^T+zGp zfl~$yj0ekDgq`x66FSqHDB3?qNhMCyY#DzIV$2oK)?@&+SWDNCy3RVXH6Knb0RyR4 z$0jd{n;*>^&+|qOPu5Nh%4D|#Qu)^u*S_P3e&722ufzENaT!nYM%O^Jj(FmX#Mw!r zz-4b|s>U4`qI5yJ9d-BBit#g{7hJ#S*Qfozm|5zhOWYYM0JA}nn(3D3MKbqA7BsbI z5NrUxUklMf!nWVY+An0SX2jiTO+6>}Oh)IBpG_=Kl{To>xVdGMY6^b)U4>Z=w>f9FeWP11{D->0CphB!UK?&ts0ybO0W>1zsv_nltlhE7Te!X59Qp|WIT*Y0e4ad1SP?!A8e zON~d1U;J!+PWQgejjh$5FLm3!-#Qno)v$UWm;BR)_d`@6cSMA zRC`VH#<~JWIBJ=HuKlnV@p8wRw#NUxhse^1ab;zCO_HbaL)npBW7lOa>!u*FQt*iM zTJPv_Q+C(WZ`U7M@_3OI!X5e_l#`<*&k6+DSsj(Ng^awxm%K!2!ht z79FC)tLT|julI`x4Nk7hy@8?xB4a+M6^(3b6)K5k?z!X4WPzCOhFloZ#I#F2 z+W7E0Vg#s?PMpDeJ3jmNVPS&IZq8(gB1ChNwS3;>^5m5@JRi8<>&Ti-r7_mbG;T`O zliA_vuU=L9x{pc}=s|tY=^JiLV`wN+YxKn*@A)zF35_pHMJRI}92;X&&HL;<#Xm>_ zl-!C?hOdMlMxuxt4(@Io^qz-ZNH)!1w5a8jAsW{1CVf|Y-@yELMU3|hb{~#48H@JS zoP07-7&uTzzj1e?%X()&NPp-09E_H@S}Qo?67t_~x0XIB|Jmh8QIbrzu3)2UGp<7G zRY9ot(fdl8Gtoj+8(Q*d;*<>5WO1yRiU`Z6%40%|%h8_D*sdZswgAK`1 zQ88W)T{5+;Zb`)TYJ%y>nf04O{SW}@_2$-(pqEr$AgQD~&xL2@uXvjaX`?Wd1nHZIQV$Uvo+)fs;2T ze#cFj`t(hiL4V$mF)4rI)1g*JXk`NfS(4zVgUV6cslM0=aQS7z`L~rAFD%EQAPpik zNr)x6Xp9TpZQhqyh)q)sk!pWkp>D&{(lz5jfJn1wpwOsUwDfyw-(CG)63xyS1(ofd zxFq{^U86RF^K~qQ-;#2$uz^7!htMX@?R2w-J1DYpnF>@kDEU)NpVp6DYCPV`WYNUp znAEN>SvO_*!e{jn^}cZ$q{MOIUEo&Nw~ScWS7bJNg4p16LOu&CIK@Nt&*hq_A9kTN zwxf6xg0yTYFO@de#>^gGHWro9+l+3~=MHw4^4Zvekmg>qGaHi#HswY9F2WJiKxagtX52#`= zr)1xUF?sBs7q=_Uhpezx_x9<%(qQS)hg~N`bm)5d+Bg{%H%c4JvO&!(?t}`p-ZzAj zKAi93L5(Cq*zmlkMy9fZD?zw)3OA|y0HN9LnN4~q(nRrn zfI2>`eF?c$A1(~{os6_yisO}V3B(~5Zh2n!W|<6l1H9z_DZC+n#;#gGNt$NiHY4by zxSUqDR>I8^nl`{?j1o{uU<@hrIZbd==lyzF46c6!Dnz&@Y$;3gcg1o(byg+lk#iAX zeG1Ey{Hh#r%+d+NhjOtr)5u|kCVBE0GYAoO;e@XV`}m4{f;Y)5`==sUUNE}NP>i^Th_=@NY6O-RmkWtFS;Kn2VrC# z=8)BjKYMZW@qbbM|9lD;)mj%Dt7&RJ@HdXE=Ge4}$~N$h-n818#n3bC4pa^{pCw?D%)M3Slzif+kM{mE1{cjH|RVW z&NKIB)(vxCyY*T#qjad!&068F{n#*^VYYvyokB2+&9&RJx9t1~2xb<04?JHicG+>l zubLiJ(NDM9oaF{0UbC&~g9^i9zik}`Bn9YFGZbzJk~H7;OemTv%UUE#_wv}6`D9=k zp)#@^9__4E;C9fewo@r|7nX$0PjN#s&PC@*Mz!VG++#_bVV)$ejX>R{Z)GUOCSO17yHrfFxrOy$sp9JLDb7u zRrIK_N0gA%3m`RCXPwdPzY8PK#NpAIwV@b?X+bdvMu?l)<+MrS66+a?iLV;g+8V~PfldEOdf9>PV=iW z3u>|aQef7LWM)YS%bXp|OY^LJtt3~II=*{0MN8vzTyg6wgBH;=T|yY#8dotXa`BIm<_5!l^;8WtRSr2_6TByaT(X`ET6_ zY|qPW^P^ocB@oo3aGKyutCvJdtWGQAHBSWj6ZaP|hKN{Qk*(`w*2Gk54(lGrn_2Qg z&dM=f_ED-|+3L$vr5JPTS=IGBsboV@L;O@0MeF3{cb)0q`iS9R%h@JP8hZN<<_^=( zlOA5%usIE`u$>)~!_||L7^(0;0^fO&7EcN*b4pCV=F)-Y406`lnMYWsJM&fi^gMxT zE<>rMVVspYHsLDd8xBo?`zpcaxzMtNV43gAK=Ddrh^27(9$K|QVQp|$vP)?o_n`7@ z7ta1I(lh@5WA8nK+Uk}lQJe!dm~65MA_tQ*{%o>9fXEpWL>3^hNCq6pL11zQ8;}5z zj6foTP0pAMA{miPHaYtn-8(Z?^XA9YeYa|+=GD7@B$d=hwX1jcK4jY7cPhPbBLGyq632+nLeHwT3s+{)#_Pq%^y`pfa>wFxxQC1c4pz4zq9VF z9>*zMc{BUay4$yeu9~$)yf90(O|<%BH#{&f_*1fK{VXghae4l+YNK6M9{);_tP!py z*nQQZO*H!SkY)9>sVtg=1V0w={@1+cRE6q&Qe=(~8{KxGL7K)cb?VkcDTi z5yOdGev7-EieFOF`Fv9=Q6$s)L^gn+p!U<YmATy)%4-tv_~P5dm&B`f3jIRPj_QhlD<;5*1vcwXlG!xPIR}z6^;G87-LCBf z7*vhE{X3CD%9icg#rqyIU^@jaV*yNcXNYz+3#x-$G1-0@@qFy5WBm(q&_1)}k}1mB z9j~v|;DfnXNAXUvr``PYEtR!UUO?TPV?E?+((3f;OTWylC&L+>DqM1E^$F0rn?(%o z_Y+EbCl&z5-lFl(kcKS!+$^8r_m1v4iE!b&Tnf91=)}^e6A&lJkMZqwCNn*3af~CG zAQsNR);?6^xC8uM3x=I;zzo?IHq~01V*3)qesw6j!r^16{P~mFnP9R8{p=k8Ru-Y4 zMFiCidn=+G*BlShzqLp}r`!uvh&R$QJmlpIFQCbEAaZZlL!{<mxgr$r=L z-bQqpwq6P`FUF3+(Yds(xeA-w=CotW5%)E?fBhi2dqcwDQZ@Ffmx7?;?9rQi2rl?K z3L-M6?E+9{P{4#HtP^lw11`Z6+0?bspcEp8GBYkR^XoHXZzndwF$KBp^jzW5=~dkQ zb2xyI+uDjI{4Jf|))ujMS;Fb3rdGV6U(sl^+H%sdI9*uI!XeK6Yv#7#y}*9GgsQ}X z=~GYhj9fZdj&5H>{uG(8vZ59yssa2J|~cCBw%ipGp_NLa7IEhyf|njo@K3i_BTn@4nZqG zs%z#b*XLD{KEWt|o=-mwqFD^Lau`!`n+=qiweV>u^YffL@R?AN7$&#+M#AvkH}JY< zE4FTSpbnSo>;x||Gs}V%F@pce@xx2{Dl$2&uvY_2K@`_`if@c4|7%J}q$ZxMpS}rZ zC~VYS&|8SsH%J~_sTsiDJuj(R;#{ARJ*q)}=k<~&{66H6wVZXYkdRjs1Lg^M2L3hHZf?CYtjH&PUiUKpM z60@!C?e@hfCSG4f4yMgj-mSGi^+QGkmB7Qkm_R_^$h(NsFe;)L?p^MQfH}wD%XX&5 zhH$KfTtzMFV5^d`Mc6OhFRx^X`&_I1E{xaxPegP41|5gZeGctdN5N!zX?psNp^7<5D$lSZ4$`*S!*dFDgf zKe`9*D#{u9A!~m2S06^TJln5VAr&-X0b$=d{`wLq^Ef$y+R`KwQ?RiC=?VbX-nr@lMdQ(0& z`PVJwdD$Jd<-bWZb~&tGTR7|sgM@e~*adRzhboH~Uefbq^h2?`C(F@eu!Jt3v?nx3mfIqc62-R)~q{Cf7- z!n1jYd*P0L0Ls~Mh)u3>Cj zc3BuhV1}%vqUMQgUYgL!?3YL=kq%t*)sKJj5Q>U&ki50MU)!bgR95gC?!AMBiYs;* z>le&7E5g57`e`6LO`@+%Z(rBO1mQj0trDl=cPNzfxbE`F&zJFvn|K2Tmqz;i2JPWN z>(;5=d(yy3x2nUG)J-Y!OvA+0>PO?ja{Or#6C8kCi#24TTfsa9($$ zY=7GEU34M@b@rqH(fURSPu1xT@~6|5;9Cx}Wc5D>|9Z|$gAI-l;3JCVw$EsnwY#&x zTzzo*{UUFu_AP=`31h6R_C537bQE>?Wm)C~3uVH3)HH5oJ;106duV8a;r5mA4U;J= z7kxWqC*ghCG@FronGtn7?J?6EdlJ9@DVxzCh%bk9)J@T-*rg*N%EL&jm!O6%EA0Ax zSBPDH;KI9a*X{C>@!_FLh~GTRU-NE#v&OGYx{jXoHnLtm$CN9kp{o5DmfCR9mgW-x z4}^27Ow9VeS%8e{{wJ*DN9N!!B5rsMGATDxzM`yOnnNvwbHrcH`ZK4yseXM+-GX1b z{7PG^36-x3fe5nwxs>OM3^3qvmOvvcdR;kP2jXS(IZf~a^q0?!F`q_9Orl-1zkbp$ zP=4kxDqGoE^Qrb_xBS`Ni-h9^MIgkpw#|@j5k^yC z_6}Kw7E4?*u$q_R5N@z3EYap?{=NyeOJ8x(;Z4Yoi~gW^T+DSsQCF@BUk&@wkTTJZmb+a7&VQN9bz^e$`FYz(N;`)U#e_uTK>SauPidK z#BhClM`vv3={K(&y$Oq!_*-LheC4y*1p+-N_QxQVx0*`I%R|M>0kxV(v%udEifpcZbRE66z_R=Bk z$#}8;Pc2)OpmM`dztj|37-Z5+DN0cwa_0u@y`3E*c#`Gu+2a=UcWnIg9xrBth6viO zR`sJwmeY-5mbmP7_)TcC%5d?Q&nih-G+J&E&(L|EGuhF_-gc5(gQH9=K7GGIU8$do z)P7q;NRNT+KFy`^9aUP0NP4B-`V*?KSq&D}WkYE}sfS*|P{a z{TQ?sBW+K$K&mbO{*_s3-=8(xK~C@%ny9s>Hwx5y&<#Qvq?!UKbN$tw8OxnH&a;;- z0QRd-Us3#1KBr4WTQ5252pkQpJQFsZdwC1L6FZK>%+0!a1n?MHAbZY42LgzrO8S=aa>h88+R zY&Z?9DJjqvQW=^I(ygCF7!1K*osDNb>iYx9x8v=UHN+M=$7pJgP9jUd8zlwb&~Xk0 ziUh{D8F^qg)l|6qfu+(oqhP*AFK*q4)0)4QEVQJ{vK5=W^$|x@d(OdltjlyxHERl$ zZw_|t0CgCy(zI_w`nIPC$oTL^>jhw6sqrk$-z2HHsm)n8B9vvhmG^|b3o=7#-!$j9 zKl3Wb|8&93+&MMtCBqziiaJ>`G@-;54B&LIeF+gTs5EH45z-M=}*1!MEGh!Frk>zQ1p1k^`k`g>QM z^2#%ZcI)uHvGb%9?LrCIFPT&*yyLuh4Bw*wxq3?cZnDm*(U#XT;7zX6xE>>Dd?Qx* z&E(PF;aU06%zPEmSP5ocI?BrJnu2zccuE zuDlaXuv01Z3;R(H9Ob8kkge9up`6wfHFh@-(1$80eitmGyP&|g9ya3_0-2l*N1VN} zDWCHsXpV2_q{XQE2x-%TT;|*wgt~grR$II+^@eV&6FfkTKa}f*b8Z2?-X)702aXZA zQMa!?7XuB~0$syX_7fQqfiHrLR3xU8j@;#6C=GY5l7iOqZ5i~By4MFN&x z6<*L<1^3a|CMn)`S_WMc0|GHN221p*N=5#0!nwBIX{JdwQxm2D>J@L+i0Y#BfnU+E z+l8ki<6FG$T5$fxBxd*SH_2l$8l&F?j%Of}#!&qfp9$$1%TMlNVV@F{x#@*X`b2?X z*9q}V?irK1ndy3I(`3VxhzynKdXuR($&my^f(5!IrZm$NQ;NOW8X*-fv^Cf~YDlvvY>9OV`}Cuih!|@vs*4vTmyP0PLuDp^l(d&b zTG^Cw+fC7|qArr8BDA_X@a=G`0Inrr4S2h4nx450#fa4i!zGGi4ZAI7Rj{g;_SRH| zIZv%XA{;DHc zy3?}5O-|MP1Fiil=r4r5{|!+>HYWKpEp491sX`d~Jy@z^(1ModI4z>wVr=Ft^~-q8 z98(1|Eyxqi`vx@sJamXhU_~D`ko)k#5xQj|D(ZRa_n!0&$=0tQ?iqGhLIDk7D>Dz(_uw@@pmsw%i@VUHV1~E!@ z>U_WpHij5Y1(2lb+Y$&Rbs7RtpX63xx0D`rpsvPrBC&zL;w;AEu~8rDXI=>2f3PG2Ya!@)X)c09 zs+;S5-VoxTRdW5uj+$*UH3dLaG9+%Q=^p?|NC6$fWU~C7?r9cIwNFeqnbpTg&&MZ? zpQa#EjmQp~&yFo7dduQTSz1$>t29HxKD=Lj6$!#+zG={=h%U zpp~S2HvZSwuaS2}nt$ZcrTac&&T8n5G|`D%%iot%ar}(;M({35igFrYMIWV!;uc3S$vhlve$`Zskpa%(@pAIw>?nh+o zc~}m_EKCWBqxxXlGOW^V8=qXjrKySvg#mAsXfSib_O%SyLIB`LB#xb(rKG*jx>oFD z#t;98y0kStJ@S_PpXJd8xq2zq$v!Bz5Dnd9ngLnJ{s_xxyCo;_n>7s>KGFs3F^+$k zdr3R{4Z#uA9dQA{Q~eoPBC6h-5IEgeNDk4bCMo+%KFJ$Rsf~sz$bQ zqbXovUG*$F8ene}Is7gfuNf2>SyJg$<;`AMb23TAFJ7DA*^NFL9aXj0R<&Fj=oezZvFAGm_cRm3!hU)$&@K`yE^<#r|tPVLHf*50)Q-P^?RU zO<_#v1)J??_O&GnfG;V%TLidi-c`MgV*N>F@~&VY@XD_MXdv zt*yXr)}O4Q#kEu$zofGW!Qui)!@W~7tq-x9?J#xl3I$~npSb2@6Wi6|O5Bk((9lQ= zmeTr=FROWBZS15$|w~qrU5VK=yqsH_NqDBz^wYJC$PU-n5l8SH*GXC?eqR*!MbxEUwihM zYq|fW_w)VX$qMeZ>iGt9T($HL6-r$Xr-Udz0ggJ{Go5yg8imnxIXdStH6U)X5Ls6$ ztDirXZm5s#I8RrU5*iaqk_C_se;K}6L-_Pu9(cR1dA!H(nsfr%Bb}aQD>XGy16;DQeL~j2pixho@!puZ-v|N-> zF_^}GH*dW&YGxw5D`-XXI*&R4N=fBl4-7i-6g11-)J+lv?x6?%G_Pqd|U4OUmMEYTjI5# zQV1IeSozKKm!7#9h!lF3zT-{K<_xAxER@D4781cQ2??ny{6GKeO_9iMW#$(y;7j&p zX^$zdAC`F*m?isr_nMLmU@0)6sdtWB;(gfC810<{RR;bxa8`S}xJ*ntp@Bw?HNXz-d%#9IgP+4brY7q(sXbZ$gSk zuXGTO^q0lj^(U=q+VzTaS*$F3&hM&T6Loh0p9q)e=f-jK&dlW6LBmV4vo)L2+F8_q zj{Rebp!(GQc#})J>oBuKVBcyg;j%<9lH{?K_@_r7eB6G0AVPpB#ib-Yhg1Q`$5MHg zB~Bc1$4x{HLuNB1@i5uF_1)YoZv;gzS3~q*g+0%x9czIL%TUlwg(pjEsci(-@IkEl zvZE=l^hd39_#u0O?Hl(zkrKuDLKxLz+$LiHGj_1XSiezO^j`S9;%PG|hTmpBtQ0oA zimMOJ5wq%7S|4e|$T5BXbCJ1w6ez~;Co>w4mK}cRYrI%KQU^VpOM9MOwH@=lD~-2H zheNpEyTbY%LR+U`$NrS$M(y3}|Ndz6fAIYVopj&Q!aZst9UByjsOkAoUnPnu$M_g6R3e40lz9+p3tLDhnQ#JH^lalG|MkVm0+0*sFD) zMvo$*p-L{Y$(`*{(3)BXE{OTldAQo(V1g08FY)x9FMaj5V5y^|p>GA~ujt+0$yd^| z(%%D1B@VORtcW+;|K7`rU3`2_SKo`?zm|3V(`_B6yRm?r@e>}W&$TKl-OF7p6le)F zj+&sh>yo*s>+`_XdBD#mX5(3YeRqR@%}1{%)IgU6NbZ*BWXU{7X;x%VwzU{U>i^WR zwdYN+@{%u3Bs4@U17k0Nnq@t42T!($bQX29k-#7Mdg}e&EW>{UKJQz9!PXk-r3>n| zQIXP5Je>TI3NqTT8CG2x$pFSi*9wHud(Voqq3mWw;6{Cq(c^V%>G`^z5gohWw(x4O zizS2o^oX=o_|U#XA)~75huYYd$?OJ3CR&yBl++D%5QrS8^p3Opf*2Uuwp>IHMKb zjs}n6er;#SZuuvrc)n%HZrNh8dlWP;Zph#$Gi9YX#%P%U{n{0-<+ea_hwZ(iUq#W9 z-_YkJ$&oz~t%iKSJRlo_R1apV@%D8`@`1ZEC`P@QL%IF!|H@<0;#GH7_B97tN!d2? zH#F>^i8~S-Mt)2^Z(H9w4UaZu3@n+O7D>-F1`@|R9(Jb0B!#3Tg=NM2a5*ra+O85- zCS<)tFtF_u`uG1#4Th0@=Jp6i<~)Ubh9o@A zcg3g|okFoNHucD+S59~3oZ#nJAEkavu0DJ;6@@@KmyF$8y#+&!cN!Y0gCRC=)9p^C zx6SIYIGve=XTL6$-+GAVF#i}B4#`pasTLB;ty>DeXY3VZn`d)RzQ53*Gs$Ak%uI8@ z<8gfwZ|2*#XC@N{0uH0`W8MWT^eieA=xGXi{22*z5XcZtV+dhZR{d-+X55A@{rH{1 zB+Sy1zV1`LXp)$yi@bvw1S2NK`7Cl^xcDDH-y45zqKbZA@S^G$DqSF3(nER96}h_Y&E4^__#W3F@<+Ql|yuEi0$Fcc!F4DIqQ;=>S0j8 zlv~$b3RK-=v+auVHCBHv^DVHLsgjCC$iA_^;L&lF@k_NEWJ5KW#103>d7xfkvz(Ef zKKxzHmW5?Mh9fWhS1^@O8(EYSf!p^7%*AmMB$Kcb!5mDvtcy`)fNX!9=Ujeb#^vOk znpw=_WeCR;@#^y>^F^|~HA=N@e)eOH8pR{cygnLi-O2XbQWA^`F8meBRl^=O}=65MBBNE`9OzD@LyG84+zUtvUU{yZbI!r{k1zT#|Z@ogk%f zO!h*Al7D@lG(o>lyjjx%BWYiSg6n4(xHYoJ74q%si;D2wyV4VO`=vm~=i*Y#SISeo z^;%y~Z>qhdsJJw;<6$4V;n!e$WqCyi4KBYewae{O$1uqV+86EMncW$mg$KfXDHF5z+7w8cKepinqwevxP2K2W3 zMfOjTlN^HC`Hvsp)nMnBI89gvCNR^ON@#Y9poV1U{JSWtVG(*c%FUCG_hjw}mH+By zlAh2i@pJHqY9C?N&Z3Dskhtp+4XmyIUba1_WU=#huS;ON#7=Q5I&L;yOeEQ@RaTVq zgZ^cFOb_hPT|ord@bN3Iv(C3E`g?IyH{0?gzW1hgiOv`U{X6aorD&lj{hh>yat^#4se3(9^CqUSfOMHv`(;E$yPs`BX67o%588mE`no^a1OXEdNFlhOc->Bum z1Og|_tUXsNkKVwmcik)A=oq?`Y;1n%sj9)&RDJjOGBr6l)ehb8E*eTb6tQWK?#BSs z;kc(z_i|pjX_7}=mwEHN6U_A6+g+ZB*JEy%KyT@baY27r z2v0>R)}3i>w1}VV`)NL3+tkIbYjy4i~ zbz*y4&veQ$om{guDHS8Olr ziAe@846_AYY)->Zr{ei)*?SJo&zkUBcI-%R=3YlTDcue3m&Nsl9L0F&?mTFC^Y2T` zN_o!JZ0g@)U+Al4qcZI9%|d$cdj=Ks`i~n;qDj$AM(27vd<+=~BPzcpSteWb-y}RZ zOiyK5F0xRe^e+;2c0uCq{Fkzovh}ln-V#af-|OC^9XWF!GX&cnGFX*w-j?|!qG}Gu zzKAtqFl1?$NF7?M@#E0T{{a|J@)jD%Sxurv_a@fv_@oC|1{)144)fDd7C{nE`*czm zHY?;Sw%jpbbn!uBk#vO~v{d`lw{l}%+h@z!tAO-ohNW9G)7m*0otcl{Yq^9xbdKO} z>Fts)oHbe8(I#ZbOun8XPq&P!kA6+7$ghyXteU#(UAMBui5O}7xCIE`h~C>F9z%HX(S$EID6pTE9ya=O_zI3)v&2tc)NaF!&bE39Lz;;63dY6 zP$0(2hO$&??%z~sv6>Yg^`|1B4YI!=5ada!@-oXSQ)F_5iH8E-SR`-Hx{lGYq_6Sb z;c5LIZlF}osawyhlANr?4iTjv7?|n0+yWFibWf=T^7-_Tke5Ds!Fyt-`i~NX>@3Cd zSNuZI>4K@`m_W@8Z?`496Yv-pTH2pYwP?jgoF2L})u&l{TP;)0Xq0HHz&u_iI%QC5f@YR#?>P_O>FyXx ztIheD;*wM@Yi-SYaeqYDid(!B)Tve5PMs*^Py1M40oSSLfTj5|SPHp+`t2wj&JL?( zfI(%$YPK}>-6aVIMCsp$;^qIuKz&hmCi3GK61%V>iQtMzX6AQl9?%YOHrC(WUp70# zYkWVu#YlebnnjhV5RLVo=V_>f#d<`)DA4)%H%WZJ9?O+f+x*Z#fNZxKQ;?4NW~par z)yYW7xw%CEN5_}ag(-_e&&>EV(8%CqSHIhoxqT}M$+NB=dXMea<$5N0NZzf?0w=;7 zM>!l6elogXmOd8S;F1-WWw$N?h&9_+9;2tERCj3r+O0g0%yR!(1htq&G~t>50qD|A zBPtjJ{sHm;zWVV$>9##RBrx9cu{?>+XMpX}ODz0Opz}MztK`nA1Hp{mT(6z~XviE> zP{Vmf=$=%6YW+-)jZ^nbm-Vu<31r`Akj_=p*z*8)WhaZ**J?(N*spF>w0H&bxn*5P z*yquhEXW00Y#4fVFOB@xZS=#jNcus`Qf6ITQgtE~6hh2X8UCJi0ARn^KY= zn&FHJ&tm9zKmQoL-}|U0Vok$bm(Uwj7WCV$!a~(`veIz|j#;WLsPJYFvgoq%X=Kcu zy=_2kVo~TzCgTnsA3G<-$PhFlms7EO&H8*16K?Z#9qH_JEtR;ieDHI^=)#TzQ}m^LUoQt*N$=r&^A^+G0Yr3$q0iy{ zt^T5`p**+vOY#?&KhI46Cc*vwn?$T=mg7(R@Sih9+IKrm0Wl>1q7_N-y4^>2Za?ZJ zI^(0(=yI_$fg!J4jy-QY-;3aYpscfPZHEl!UmiA$Y5bA{{Z><@Z+`D)^_nFS-1D@L=sH8 zZpGNusZzbvk6t=M034)ZmJOcUP3ry79aC~>LFc1e_!#5KZr|4uV-WDsO~pIcAOTem zL;r{67oHZJaimb$JXX$6?C;Z(RjOA;jt7_&)WKJs(zPX?Zw(p0(U<3s`UDB&ggN+NA&l~Dmyu)~!U2L(^)15*6> z7B0lsa=a?ql#6HHk&xWEQ__$T?(~P^ZL#TfKegYG0*xLQ@J+8yufH`V0P5y$UoSh^ z^)g>Dkk;2nE8@w=RUO%}bto2Wn6_xoi%Qp?g<^m-Qx@#2GDBW2BBAWrNM7+oQ0@2C zpd;H6A8pXY^78V8TxH8fS3?P^xPAtT0~NQ`y_C@=T1P``64YV0DxVsYWx9G7pO>!T zY>K{*fV<(3XIAMSh0hW9+_px*nVE-B_x@yP-30ut=r$`bGq$i)kJ)yjtla`m$2s0a zaPDjBLGcpe@bl8t$Aj+kP-ac-@=n##(r9%AO$9_Sur!IyLov2-HtgGpp zTu!qTujy3)-+EOGc@&RNz0$)Hr0hm=8Rj|ee9DC6uGI5i^zPfWOO|F4*(@y%hF51+ zIi`RzNda6cXoddp_FTAI<{G=w#909C_?Rg@p#QX#a&(SwmiFOo&!x})juaOqN~p6& zZA?cRl})lW71y?fHBIy-FSaplCB)p>zb<7Y71tM3Q~cyX*Of*cqOoR=r1PlyUe}vL z()WhxT>yhlkd{7JdZT7aEFPG8%0~tY3oT;JvlG++t_~-00eez6!!3SS7P2hb*49sW zmrt7IiaW9i*7(A>%$ujM8Yw z(4+p8|1hdIH9vAJk|&Uv?`Xy78h^mcQXF zb$rV3kPnJp|2kJJX_zW97bSapdI(88AQj>t>i*OorSD!t_)(K-V9!2pGn%eogK9O- z=p?r9YJVHh)vG2I;yp2^KJ%*3%sk**^{?pzYm4b(=<~kCGc+W9i))>N=SKAlKiCf$ z&!nH{s|pBFgD0eF)0BHNV9>BQqiT^h4{}*_S&FY+KL?R+-~|ai+s>n(z`fAzB~w)Z z0~8nLkm`}k>z?mLCKEuwD*N;2_$b#!f{P?3k)*#V{YP% z0_8?SQQ(XyyHLWpCq{U(u_W(-smc$RzA~%C7z-pPp|#*0`NbvjN_#`_h1ro$Uvq8@ zJgy>tdY>uQeEGl&dw#?VG|6IOOx`~fahO9lkmK|#3}>EGWYE*oCnW5uT0V+xij5z) zClR#onXaw&t{KS+ulmC(9oMQU1wu(kW^W<}DvT-;EfTi&wMGNOylOpFdKuCF_p$<0bZQk|;&~*UpRg$AsLy&W=T`6VzUBvcMraHzGG6JFn{9vJ=>o z$fF~gsUY%sW`+{!9@+mNv71J&*qOd?P(IeH>xKrL*l z<~og|^p7RhH52k4Eq+LqY(cEY22BxCOmyG^kgY$eP8RVkoZyp%gKJSlAMe`>Ezy5yIBu6}O9LDio)X z-oR+CTz=9sI3hXxz|7=#WT7x0TJwQHcmaboE_%!ZE@(rsM56QXXnYQ zJ|V*GmeblaT9s$^p`TEVLO3AJ#Df|8ML|`X&OWa|uCrKukI==Ud{M@dfQ--$GJ5Yk zm&e;$Z|MtO&!>n2YkidZICv%|M!=0Hl1bU@wvPi1WVrOZG@y)>$vI|zZOgZw6N*GN zhw`-*Q0d!g{SVtN4~)Gu0iunU$D#!eK58;Kqe#xV7%+{ar3EsvNW1E@#9q|ADS=B{ zKIdgG=k&NOyvntB(_G1Oi7A}Dmcc>Ej#hF&vu79dFu3b`n_1Q#8IvM`l5(W`L+SiG z0&}y9%qCV3gJAYP_jWOyug+%W>$g2i@vBPILq!32Ys#B>PYksa&dLc3YQ{6}@hWn# z0GCo}T=%@;Whs9m40qN7FrwzBkq||D|Xa#(dj)r76M{~xVUy;J=3fcI;a6#O11sm#9ttH%<*isBk zU5*n}PG%!A_orfudwGHC<4Af6iVVc3Mmgzc-pc6oNf5Z4)1^zrtWbAE(+x2%|GCOB zWo?BG(kKHRFn(NW&0VsUZOOHxp5!&Us=zT?-)vk{`7n&HiVs$8lQBCW0y{rmYE2S| z@$>91U6eVL0T}vdi^YBT1&z0K-<+~78T+6VHVcjSkXW*nA>wGx#rj&KjHA>_v&V}# zOVAr_YMz#DNN&=G*PV7dojE0@`nuc4bZm|(`2Wyi#8BDuda;%Rz{D%v&rl;?6)YL6Ifje;0!zJ362Z@otKXFNjt zZj32WOK!QF@!rkIk$A0Or|vY~Aq#HE5SMnPPzvicZA@%-uncSf$ zVek&$T%btUnEb4#(gR~c*W+iS>+Ro4j}8inaf$U3F#%8Pzhq#?mIdo|xz*x@#1Kt= zv}S%V>~|~J_dlP}Ev8yMZyGsM0P_mN@`{7naY_1p-IasM)P6FS`f}8$`&sd>^mm{p zq0j4|Z=I^rt{aKx-I&}ay98l{Sz{7y{U5on+4J6Z3KkD_FHTMIX2h#No4w~SuG_YP z^%Qv;3jU+>s~TPOwDA@A z7a`W;`IbdN?8M!?2(|YO(^hU8sQ%_BSfp3G3B)F6n9-#+L2Jr2lOn)_zNkZ$k z4Nd(5-t^wD{MPm5cSu^f2g<>)Fs(Yrso2o$$G^e@E!bG!?V!R_+6QQjOT216}DC55dQhU$gvphiLfLu|dVJwq~p zr)KyURYAZM^6IaRa!2E%@MS9Bu}e32LPTE7i^RmEMpmwp;`xY-7zsY_=a|w`Zpt(5 z>}Vo{FnUkK!km5Z04T3SQIzw^eg=>Y4B#{C(pKK$=N$$_j@aSM=|tzi-qKh$lsTa3 z5K$9WE*JHi{=1J{8&|q`$J%SN%|A8_0)uLO8SMUo4T;mKxQLaQ$F=VaK z_T{Csv!O_**o?-0Jvs4DEEqj)P$7q<3uE^P%1lg7dz7 z0OzkDoM|8(V+-Tr!`2B_=cFaIh)aOthfxO=_}%4)YnxllLx3nWFAi7mPJ7eqS+1D2 z0aQ{#FqFA&x?y&W`x%G{`oa8|qBvM*33{c$wFN{fpCZY{2xcjcZV80%ZH z%cr*RYs|#DZ|a8{2|SC+H1~~iqvRJbx2+^=_v>dkqdh)Em)odRl~qS@wRE+3KL&;= z-kvmOAl9IBfinrT2EG=yN@QQ4@?$a3j*^F>3YLERKZl0Hvqwx7`DwN0=?C1bc%Q`ELiig)wYz&cKj$R~NJQXet!BkGMNeX2$~p-o0Lw63i6@ zThu;=FZQe3PSFj2zHVIk?mK`g-e&W?PKM7&_6kE$ z6xQ6NT-_H}l*^3lmLu1;t4x8x@2}ZNVNTE*-fkv6-B~A%a#yo~#AG&J4!vX~J*A$q zgM&R$GEA)V+Y3kA5+>B-!ZT;84WGdnc{-4wU1Bs6(s!hlBpQAI;={f?Xw{EX4B^94 zc|(8r*pD*|K*ub_sy7j#&*8`W_v`wFgj2F0R@Ytk!`KjtwDMDcw!E{xUyd-+d)2E_`p3WcOI7beVpvG zbKf5A%*}i~2|Mx1Af5_EW!QsRw13s=frRa_I?vK{lT?~IXwaXrhFL_ohNavX{!hl_ zMETVBVzt%9z|lj@0cT>)sfMtrW@rJ;for*H9pGufJ6W|ttO7l%K&PanSm}76tdu&a z=!Fm%I9HYd*pfLZZX;dMH?T2ues!OOq$SbwUy8KOf(ZB-%x_-&>KWmAQc9ZWeg&j6ng=X1+eAgkqRBC^c(uRW?iW{>b`xhecBZN!9j+ zheqANl$)g4c3|0{;X*LYiOT5|XI89ZJ8<)ho$;$ugRQV1h^pvB=!(^+eb)}{k3Znn zT5r+}-HsZBu-^i9zf9TAvU2cc)Tz!^UG)r^(AO@j`q8bwZVD{Lo?1phFlcZr35jsH z?7!~5FUK6(Rm`SsqRa|I=*;>qQ76(5c8}Xv;Eb6T2wCcn92RnX=jsm7HNVAF3z9<|dJo;_UO_wN#%+l;rIFpPfWfl4A8^yZg1L*v5aAE5A$=FTy{I|2=+ah} zi*?Y^?EM+TiGQ3}{}aHy#7*BtJhg_3kBQ{86*(+C_-vYk`t0B{0_W$dXh<)Y-8bwQ zv=TNL54#ZBHK046&Bzpz5hoxiweL{pLdK~^e{^Q~i;&P>tEQRecbLeQ0ry45SM3YP zHnjV>&QnrnrT7K&m{er?EWgIOM!0c2E!7Sw5^olMkIfW#_*H}^sX@1V$j2NWpJ5&} z3G}seeDF#XKCV@xXsP@PEArZs=V2Zd;5{D+_1`2#!JStx)|AFtZU3+yK7087&Wnx3 zs(0k)pN{sXTO+P|ZhrpHfBnZ_|A~qJ!l z96}9Y_rtQP4x6f7Qk-BWUgYH*K2I!P=9t3>9nt-xC?Gt&$`pQ@1vOCpv=yH2TF!J8 zp(Sdt@`TUrA!ee;b=$>_-$5|{QyX9k-xsdxx#w20{+L{qN}kUWX1cB~CqcyRmVJv+WERwC|al7fyc0z#m$ z!6MkT;K;ip_L7HeT;4+T#WOi-*4`Eu=K2UteHUl<51(E?^-RDoKNfCC&%6OR>xC(| zk4k`wD;q{wJIt#x$4U@i2{Cs1>M3kIilLi5_3_Ks#*#$b@=5Etna*|kdojLSbZ6Es zsj-$CQB>k>hk;Bh%^_@{YHRLql)ohKeO_P zauJfTPJ4a+*g*$@e>U|Hk9zrn*;RwPCH8_^J>lUS2v25)wM_chk|NO7-ht)StU8VQ zzwW?)THgB7=audIpu7BF07Ia;E2H$d_hj;fj1g?p>0!HO%xAPUEKB&*VNx|4V9+a6 zP0K;9;g3qa7kG2fY5fTUxKh`>Xd_rRYh`(KItos4vBej|cbKk&ZqfW9XxoukEXjjl z(?yAgeI+dS#35_>#KReyKL5WQ;{U?@CZo@XKOM}kuh(u}^S&m~pQr{Gb#U(;rTuX) zdXRy?cliV!a+*$lgbayvoT0zSdy>~WYJJ|2O)}8_4lQ+g^f$>6TiK#x?RLwk&Vmcw zk$KkR49074>tfL#*kgxFg;vN(V(_7EYyRByjq3Z8Z)>?=&VdB-Mi6r6t$K;Fc*p(o9k2_;s+z9OZD{=$a)voK~(C)p^X zlpk?&@IY~*yn;npGBRzFnX=BbSpo-Xd&q|A3Jzbc(0;@^CX`^v_wx3d z+MEt1_!5>2(d~zAT;OmQeGUMnDZz%Zaoiq*?{Q3%8+1@O)#*a3mz&A-d{JiuuxM9e zN&R!Xq<)SPuXS%o$bESMe~)LE0;|*#PJ99=2dH65xC8c{P>>4mnSHh*1_gK@ABCn5 zV#Ga=P}Z6@uXC{>0aCteQMDEzx1m_TJq|kf3nN!>jaaLk1>uecp<%h_&Bv z(t(CHzIp!>%w7K-1j2mBzvlc&PAo!_?>O@w)+7Z-9SJ@XZoax|+T3tZeeij@Z+Z}; zQf~ZokYKG#K*D|brll*C9=o-;e#_3sNvqj~#inkGMWwPu>WL|t{jS}x1ru|X2Kf9E z<|MZnLOl0pHvWt6{$80z=<2P_rdKPhJ<$4;j;HiHfB%eLVMFzxQiOPb)Q!}o?|kUg)GrW-dIB)#x#P)g zz^a1#uhVWat&}z-T7eGis1(h0?U|3~m;p<*I1K#Y=Q9wIUU#@mwJ{%)>ta^X27P*R zVogf<3OwD}kRfW8vULbKV}Z-nL^YN!M!yXnhgun|wiMK!E}h;suXuBCGL zKCtk5L)HTrjPz{r)pQC@1rW(wC>_+#_0c%Shx{ zfmvITiTbaR;gPRyZtsCM#&$$Lg^|83e)fu<-2<)l^g^^7bKB8@5jw4?6$5%6cwImC zVEeXz7VkE@7jn9MFD&3ZLi&Q;5+ZX$nJr}KfXjy6xO7?B^-Gt^_=CHk!4%?Gk`KLT-*F)5*mMa=0Ytjs{SHhHiKeB zF)+wGdX20;l`(AL%-U2ReZpJg&vC75(|6|vY4MEzpq+k5ZJ*GKb9*3f;j)`+`*v|< zXu)lWp~Ixu*DcFEkgh|52ei{crW;*MGgK=|zL7lT_-Vl1(L&d*lNp>Unr73ACTcuJ zApojY(wgW*8;W?z%g;ouHWOlY&BUrwCE>b0MQ_5+d5E1;lE*2dSLgWX5v}~P@n;8M z48^{yvz8j()zy<_7B>b4m8ROm$JK}b(@vie6QA%#5AjY&t52ZIwxKMtkCD6;=%5m% zikfPQ%Zg~XrX!1dyKmC73+hOD;(Rn*ocAoE>}T*5yn3qZo@l*$=XtN&#UGHZKDvp(tavI3t(UMetx7AxGkfz*iw*X&;fOg z(jvH}{%m4%5olO@yC!=020v;>*0+gT;~HM23{<$Qm?YY#J*rwAfD>EV>)J>!QhRDHD3Z(VSY0_DQ$E&9o-|U-{hz4&|c?uNuP@Uq8$G$U7m_ zB-&r>*ZweeIAVWauiJG^`5B#%)~t=D^Lf)~55dHBr@0ejU(Rh9?RN6*ff7%VcOi*k z5c(-;5-=BL*HQ#GnVf(?`q-0D`I=KE^do&P$#oMFO$8$0xWcbcxLqYC`?4ADm@PSr2^Je92<9Hx0+ zQY*W4B*9MoajS}uquCmB62Z+M4%zx{(x*na@1Tkm9xx`&r-ZFJtc)Ra|MDg<5fimz zEuRO5s~|IJv5Zjp)@8i4NtnEzvv1ISRvYGoR##ZeIJcy#9)7qO@W{3f5=}*!n3fE= z!0(M7%k_Gl^84}JDH`U&jOlV6kWgtsFGSv~%-8uGDGpAPv9=1m97jFxvG{1fk0Ex& z+&+4cp!qocY(PuFbX)8+wQ)an_k(A>fcL_xWZ{o4v482w@H$|97}ckPG1K@%rR5#7 zHqOH^w(e*PQHt}>ht1-ifKJ+dbG1^V+D&V97M5zt5ppiP82N9L867kmdf!W?3%w8n zRIS~;^}w?+^gxv<)??8;HG9y#NL~w|^y=XZrC|}$cu`BM_M|na6tZuh_y%Cc`Oqac!eJ_08QM_Fu;G*6w zRx;0>Ffa1P8@mEILemRsnra|wktQs4HgluLwi2&m{M$et4A+pr%DP--mMVw5?oJey T`ClGt{+dVrul@J7z~0~=40*Um literal 0 HcmV?d00001 diff --git a/assets/3.jpg b/assets/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..765575f5fa9ff8eb789dca465bd5bb3de687c359 GIT binary patch literal 405787 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%0AH~MLO)2#_`$S)9QlvDI^lCi@nzWNrceiXb7kH73 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 T?NN&`@4_ApI=r1P{r@)sQFRWs literal 0 HcmV?d00001 diff --git a/assets/4.jpg b/assets/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6020ed1ac42c02028a8df0d8c88b6229c55a2049 GIT binary patch literal 449980 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 _K)vJuzvT|xh`Fp2pwT@9FK>N0SX=)Ckg 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"RxV^_=k+-$3&YHtB69dB173ZprxOkUPG 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

jjH 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%0Db*R-+6hBYPf30A&7>YQs#d|f} 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

>PRTRZvx*RPfm9Aq}@*N!}G@9(;O^Qd}D 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%0A>ZAKSf}~xd{S{nh6OCDqK{{8i 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

9ZT)X@#%Vki801&qWAt=D;UyNibX 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

rS>kS-X}{(k;d=KkNKI33#77`YyHe{vhC8 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 literal 0 HcmV?d00001 diff --git a/assets/7.png b/assets/7.png new file mode 100644 index 0000000000000000000000000000000000000000..286f0cdb233d4eadd37f1c35318d8d0aff7493ea GIT binary patch literal 70744 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

QZ`xmEft|j++PmLEBx-!n*U-wzvOBo%( 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≤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 Hvk(6l#cYp{ literal 0 HcmV?d00001 From c60190989abece79140c8100534646713726691a Mon Sep 17 00:00:00 2001 From: Alystrasz Date: Fri, 16 Jul 2021 00:05:21 +0200 Subject: [PATCH 026/522] [chore] ignoring .flutter-plugins-dependencies changes --- apolline-flutter/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/.gitignore b/apolline-flutter/.gitignore index 4cb3307e..ce31f330 100644 --- a/apolline-flutter/.gitignore +++ b/apolline-flutter/.gitignore @@ -26,6 +26,7 @@ **/doc/api/ .dart_tool/ .flutter-plugins +.flutter-plugins-dependencies .packages .pub-cache/ .pub/ From 9f2b7ede770039b2a4db94922b16da28f1e21010 Mon Sep 17 00:00:00 2001 From: Alystrasz Date: Fri, 16 Jul 2021 00:15:59 +0200 Subject: [PATCH 027/522] [chore] importing mp_chart from a git repository As the package repository is maintained no more, and needs bug fixes in its published code (see https://github.com/SunPointed/MPFlutterChart/issues/171), we move the dependency to a fork that is up to date and functional. --- apolline-flutter/pubspec.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index b5f76e5a..d80ddbb0 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -12,6 +12,7 @@ description: Apolline sensors app # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html version: 1.0.0+1 +publish_to: none environment: sdk: ">=2.1.0 <3.0.0" @@ -26,7 +27,11 @@ dependencies: cupertino_icons: ^0.1.2 syncfusion_flutter_gauges: ^18.2.55 get_it: ^5.0.1 - mp_chart: ^0.3.0 + mp_chart: + git: + url: git://github.com/f69/MPFlutterChart.git + ref: master + path: mp_chart google_maps_flutter: ^1.0.6 flutter_launcher_icons: ^0.8.1 http: ^0.12.2 From 2fa696d48b74d56b8b9b6a4644e76065a22bef9a Mon Sep 17 00:00:00 2001 From: Alystrasz Date: Fri, 16 Jul 2021 00:21:01 +0200 Subject: [PATCH 028/522] [chore] removing .gitignore duplicate --- .gitignore | 892 ----------------------------------------------------- 1 file changed, 892 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index d967435f..00000000 --- a/.gitignore +++ /dev/null @@ -1,892 +0,0 @@ -### Massive .gitignore taken from https://github.com/flutter/flutter/issues/13892 -### Flutter Generated - -# Miscellaneous -*.class -*.lock -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# Visual Studio Code related -.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -build/ -assets/cfg/config_dev.json - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - - -### https://raw.github.com/github/gitignore//Android.gitignore - -# Built application files -*.apk -*.ap_ - -# Files for the ART/Dalvik VM -*.dex - -# Java class files -*.class - -# Generated files -bin/ -gen/ -out/ - -# Gradle files -.gradle/ -build/ - -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ - -# Log Files -*.log - -# Android Studio Navigation editor temp files -.navigation/ - -# Android Studio captures folder -captures/ - -# IntelliJ -*.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -.idea/caches - -# Keystore files -# Uncomment the following line if you do not want to check your keystore files in. -#*.jks - -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild - -# Google Services (e.g. APIs or Firebase) -google-services.json - -# Freeline -freeline.py -freeline/ -freeline_project_description.json - -# fastlane -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output -fastlane/readme.md - - -### https://raw.github.com/github/gitignore//Dart.gitignore - -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock - -# Directory created by dartdoc -# If you don't generate documentation locally you can remove this line. -doc/api/ - -# Avoid committing generated Javascript files: -*.dart.js -*.info.json # Produced by the --dump-info flag. -*.js # When generated by dart2js. Don't specify *.js if your - # project includes source files written in JavaScript. -*.js_ -*.js.deps -*.js.map - - -### https://raw.github.com/github/gitignore//Global/JetBrains.gitignore - -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - - -### https://raw.github.com/github/gitignore//Global/macOS.gitignore - -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### https://raw.github.com/github/gitignore//Global/Xcode.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Archives.gitignore - -# It's better to unpack these files and commit the raw source because -# git has its own built in compression methods. -*.7z -*.jar -*.rar -*.zip -*.gz -*.tgz -*.bzip -*.bz2 -*.xz -*.lzma -*.cab - -# Packing-only formats -*.iso -*.tar - -# Package management formats -*.dmg -*.xpi -*.gem -*.egg -*.deb -*.rpm -*.msi -*.msm -*.msp - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Backup.gitignore - -*.bak -*.gho -*.ori -*.orig -*.tmp - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Android.gitignore - -# Built application files -*.apk -*.ap_ - -# Files for the ART/Dalvik VM -*.dex - -# Java class files -*.class - -# Generated files -bin/ -gen/ -out/ - -# Gradle files -.gradle/ -build/ - -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ - -# Log Files -*.log - -# Android Studio Navigation editor temp files -.navigation/ - -# Android Studio captures folder -captures/ - -# IntelliJ -*.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -.idea/caches - -# Keystore files -# Uncomment the following line if you do not want to check your keystore files in. -#*.jks - -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild - -# Google Services (e.g. APIs or Firebase) -google-services.json - -# Freeline -freeline.py -freeline/ -freeline_project_description.json - -# fastlane -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output -fastlane/readme.md - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Dart.gitignore - -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock - -# Directory created by dartdoc -# If you don't generate documentation locally you can remove this line. -doc/api/ - -# Avoid committing generated Javascript files: -*.dart.js -*.info.json # Produced by the --dump-info flag. -*.js # When generated by dart2js. Don't specify *.js if your - # project includes source files written in JavaScript. -*.js_ -*.js.deps -*.js.map - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/DartEditor.gitignore - -.project -.buildlog - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Emacs.gitignore - -# -*- mode: gitignore; -*- -*~ -\#*\# -/.emacs.desktop -/.emacs.desktop.lock -*.elc -auto-save-list -tramp -.\#* - -# Org-mode -.org-id-locations -*_archive - -# flymake-mode -*_flymake.* - -# eshell files -/eshell/history -/eshell/lastdir - -# elpa packages -/elpa/ - -# reftex files -*.rel - -# AUCTeX auto folder -/auto/ - -# cask packages -.cask/ -dist/ - -# Flycheck -flycheck_*.el - -# server auth directory -/server/ - -# projectiles files -.projectile - -# directory configuration -.dir-locals.el - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Gradle.gitignore - -.gradle -/build/ - -# Ignore Gradle GUI config -gradle-app.setting - -# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) -!gradle-wrapper.jar - -# Cache of project -.gradletasknamecache - -# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 -# gradle/wrapper/gradle-wrapper.properties - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Java.gitignore - -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JetBrains.gitignore - -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JEnv.gitignore - -# JEnv local Java version configuration file -.java-version - -# Used by previous versions of JEnv -.jenv-version - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Kotlin.gitignore - -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Linux.gitignore - -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/macOS.gitignore - -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Maven.gitignore - -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties -.mvn/wrapper/maven-wrapper.jar - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Objective-C.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xccheckout -*.xcscmblueprint - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -# CocoaPods -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# Pods/ -# -# Add this line if you want to avoid checking in source code from the Xcode workspace -# *.xcworkspace - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control - -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots/**/*.png -fastlane/test_output - -# Code Injection -# -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/SublimeText.gitignore - -# Cache files for Sublime Text -*.tmlanguage.cache -*.tmPreferences.cache -*.stTheme.cache - -# Workspace files are user-specific -*.sublime-workspace - -# Project files should be checked into the repository, unless a significant -# proportion of contributors will probably not be using Sublime Text -# *.sublime-project - -# SFTP configuration file -sftp-config.json - -# Package control specific files -Package Control.last-run -Package Control.ca-list -Package Control.ca-bundle -Package Control.system-ca-bundle -Package Control.cache/ -Package Control.ca-certs/ -Package Control.merged-ca-bundle -Package Control.user-ca-bundle -oscrypto-ca-bundle.crt -bh_unicode_properties.cache - -# Sublime-github package stores a github token in this file -# https://packagecontrol.io/packages/sublime-github -GitHub.sublime-settings - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Vim.gitignore - -# Swap -[._]*.s[a-v][a-z] -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim - -# Temporary -.netrwhist -*~ -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/VisualStudioCode.gitignore - -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Windows.gitignore - -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Xcode.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - - -### Flutter Generated Exceptions - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages From 7f96701f09e8570b0f347f1dc6fb72c97fbc546d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 00:24:04 +0200 Subject: [PATCH 029/522] [chore] removing pubspec.lock from ignored files --- apolline-flutter/.gitignore | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apolline-flutter/.gitignore b/apolline-flutter/.gitignore index ce31f330..07da4fd5 100644 --- a/apolline-flutter/.gitignore +++ b/apolline-flutter/.gitignore @@ -145,8 +145,6 @@ fastlane/readme.md .dart_tool/ .packages build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. @@ -408,8 +406,6 @@ fastlane/readme.md .dart_tool/ .packages build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. From ca4e11db85042db80a640f05d5b233164c38d086 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 00:25:19 +0200 Subject: [PATCH 030/522] [chore] removing pubspec.lock from ignored files (truly this time) --- apolline-flutter/.gitignore | 1 - apolline-flutter/pubspec.lock | 567 ++++++++++++++++++++++++++++++++++ 2 files changed, 567 insertions(+), 1 deletion(-) create mode 100644 apolline-flutter/pubspec.lock diff --git a/apolline-flutter/.gitignore b/apolline-flutter/.gitignore index 07da4fd5..dbe45dc7 100644 --- a/apolline-flutter/.gitignore +++ b/apolline-flutter/.gitignore @@ -3,7 +3,6 @@ # Miscellaneous *.class -*.lock *.log *.pyc *.swp diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock new file mode 100644 index 00000000..399876bf --- /dev/null +++ b/apolline-flutter/pubspec.lock @@ -0,0 +1,567 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + archive: + dependency: transitive + description: + name: archive + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.13" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.0" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.5" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.2" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.2" + fixnum: + dependency: transitive + description: + name: fixnum + url: "https://pub.dartlang.org" + source: hosted + version: "0.10.11" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_blue: + dependency: "direct main" + description: + name: flutter_blue + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.3" + flutter_launcher_icons: + dependency: "direct main" + description: + name: flutter_launcher_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.8.1" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.11" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fluttertoast: + dependency: "direct main" + description: + name: fluttertoast + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.1" + geohash: + dependency: "direct main" + description: + name: geohash + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1" + geolocator: + dependency: "direct main" + description: + name: geolocator + url: "https://pub.dartlang.org" + source: hosted + version: "6.2.1" + geolocator_platform_interface: + dependency: transitive + description: + name: geolocator_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.9" + geolocator_web: + dependency: transitive + description: + name: geolocator_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + get_it: + dependency: "direct main" + description: + name: get_it + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.6" + global_configuration: + dependency: "direct main" + description: + name: global_configuration + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.0" + google_maps_flutter: + dependency: "direct main" + description: + name: google_maps_flutter + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + google_maps_flutter_platform_interface: + dependency: transitive + description: + name: google_maps_flutter_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + http: + dependency: "direct main" + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.2" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.4" + image: + dependency: transitive + description: + name: image + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.19" + image_gallery_saver: + dependency: transitive + description: + name: image_gallery_saver + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.9" + intl: + dependency: transitive + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.3" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.10" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + mp_chart: + dependency: "direct main" + description: + path: mp_chart + ref: master + resolved-ref: e07db16f9c1f5f85ca5d11b28784774c5ab7a937 + url: "git://github.com/f69/MPFlutterChart.git" + source: git + version: "0.3.1" + optimized_gesture_detector: + dependency: transitive + description: + name: optimized_gesture_detector + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.6" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1" + path_provider: + dependency: transitive + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.28" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1+2" + path_provider_macos: + dependency: transitive + description: + name: path_provider_macos + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.4+8" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.5" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.dartlang.org" + source: hosted + version: "1.11.1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.1" + protobuf: + dependency: transitive + description: + name: protobuf + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.4" + rxdart: + dependency: transitive + description: + name: rxdart + url: "https://pub.dartlang.org" + source: hosted + version: "0.24.1" + screenshot: + dependency: transitive + description: + name: screenshot + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.2" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.12+4" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2+4" + shared_preferences_macos: + dependency: transitive + description: + name: shared_preferences_macos + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1+11" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.2+7" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2+3" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + sqflite: + dependency: "direct main" + description: + name: sqflite + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.2+4" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3+3" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + stream_transform: + dependency: transitive + description: + name: stream_transform + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + syncfusion_flutter_core: + dependency: transitive + description: + name: syncfusion_flutter_core + url: "https://pub.dartlang.org" + source: hosted + version: "18.4.49" + syncfusion_flutter_gauges: + dependency: "direct main" + description: + name: syncfusion_flutter_gauges + url: "https://pub.dartlang.org" + source: hosted + version: "18.4.49" + synchronized: + dependency: transitive + description: + name: synchronized + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0+2" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.19" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "4.5.1" + yaml: + dependency: transitive + description: + name: yaml + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" +sdks: + dart: ">=2.12.0 <3.0.0" + flutter: ">=1.24.0-7.0" From 04829f71c1f8e01f47ad089120d495f2c2143ef0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 11:34:33 +0200 Subject: [PATCH 031/522] [chore] using lifeofgd mp_chart fork --- .../.flutter-plugins-dependencies | 2 +- apolline-flutter/pubspec.lock | 99 +------------------ apolline-flutter/pubspec.yaml | 2 +- 3 files changed, 6 insertions(+), 97 deletions(-) diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies index a180b768..f420db57 100644 --- a/apolline-flutter/.flutter-plugins-dependencies +++ b/apolline-flutter/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":[]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"shared_preferences","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.12+4/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"android":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"geolocator","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.14/","dependencies":[]},{"name":"google_maps_flutter","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-1.1.1/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/image_gallery_saver-1.6.7/","dependencies":[]},{"name":"path_provider","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/","dependencies":[]},{"name":"shared_preferences","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.12+4/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.7.3/","dependencies":[]},{"name":"path_provider_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+8/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+11/","dependencies":[]},{"name":"sqflite","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+2/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]},{"name":"shared_preferences_linux","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-0.0.2+4/","dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/","dependencies":[]},{"name":"shared_preferences_windows","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-0.0.2+3/","dependencies":["path_provider_windows"]}],"web":[{"name":"fluttertoast","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-4.0.1/","dependencies":[]},{"name":"shared_preferences_web","path":"/home/ramy/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+7/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-02-15 12:15:42.285493","version":"1.22.5"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.2.0\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.9\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.7+3\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.2.0\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.9\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.7+3\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_macos-0.0.1+11\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator_web","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator_web-1.0.1\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_web"]},{"name":"geolocator_web","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-07-16 11:33:48.151782","version":"2.0.3"} \ No newline at end of file diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 399876bf..04e19ff9 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -85,20 +85,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.2.0" - ffi: - dependency: transitive - description: - name: ffi - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.2" - file: - dependency: transitive - description: - name: file - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.2" fixnum: dependency: transitive description: @@ -266,10 +252,10 @@ packages: description: path: mp_chart ref: master - resolved-ref: e07db16f9c1f5f85ca5d11b28784774c5ab7a937 - url: "git://github.com/f69/MPFlutterChart.git" + resolved-ref: "0bfc0aa948632c7cedf2038bb8eb24f90042f536" + url: "git://github.com/lifeofgd/MPFlutterChart.git" source: git - version: "0.3.1" + version: "1.0.0" optimized_gesture_detector: dependency: transitive description: @@ -298,41 +284,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.2.1" - path_provider: - dependency: transitive - description: - name: path_provider - url: "https://pub.dartlang.org" - source: hosted - version: "1.6.28" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.1+2" - path_provider_macos: - dependency: transitive - description: - name: path_provider_macos - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.4+8" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.4" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.5" pedantic: dependency: transitive description: @@ -347,13 +298,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.1.0" - platform: - dependency: transitive - description: - name: platform - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.0" plugin_platform_interface: dependency: transitive description: @@ -361,13 +305,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" - process: - dependency: transitive - description: - name: process - url: "https://pub.dartlang.org" - source: hosted - version: "4.2.1" protobuf: dependency: transitive description: @@ -395,14 +332,7 @@ packages: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "0.5.12+4" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2+4" + version: "0.5.7+3" shared_preferences_macos: dependency: transitive description: @@ -424,13 +354,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.1.2+7" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2+3" sky_engine: dependency: transitive description: flutter @@ -534,20 +457,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" - win32: - dependency: transitive - description: - name: win32 - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.2" xml: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d80ddbb0..557d8c3a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -29,7 +29,7 @@ dependencies: get_it: ^5.0.1 mp_chart: git: - url: git://github.com/f69/MPFlutterChart.git + url: git://github.com/lifeofgd/MPFlutterChart.git ref: master path: mp_chart google_maps_flutter: ^1.0.6 From b22ab677d6ca2e1a2ccc37f3cea1acd86707e459 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 11:36:05 +0200 Subject: [PATCH 032/522] [chore] adding missing path_provider dependency --- apolline-flutter/pubspec.lock | 77 +++++++++++++++++++++++++++++++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 78 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 04e19ff9..58ee6698 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -85,6 +85,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.2.0" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.2" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.2" fixnum: dependency: transitive description: @@ -284,6 +298,41 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.2.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + path_provider_macos: + dependency: transitive + description: + name: path_provider_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" pedantic: dependency: transitive description: @@ -298,6 +347,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.1.0" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" plugin_platform_interface: dependency: transitive description: @@ -305,6 +361,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.1" protobuf: dependency: transitive description: @@ -457,6 +520,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" xml: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 557d8c3a..8e35c2fe 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -38,6 +38,7 @@ dependencies: global_configuration: ^1.6.0 # hash localisation geohash: ^0.2.1 + path_provider: ^2.0.2 # location geolocator: ^6.1.13 sqflite: ^1.3.2+1 From 99f1847b0cb9dd65310fe9db66bf4a3c76aa3e48 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 11:46:30 +0200 Subject: [PATCH 033/522] [chore] removing .flutter-plugins-dependencies from git index --- apolline-flutter/.flutter-plugins-dependencies | 1 - 1 file changed, 1 deletion(-) delete mode 100644 apolline-flutter/.flutter-plugins-dependencies diff --git a/apolline-flutter/.flutter-plugins-dependencies b/apolline-flutter/.flutter-plugins-dependencies deleted file mode 100644 index f420db57..00000000 --- a/apolline-flutter/.flutter-plugins-dependencies +++ /dev/null @@ -1 +0,0 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.2.0\\\\","dependencies":[]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.9\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.7+3\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"android":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator-6.2.1\\\\","dependencies":[]},{"name":"google_maps_flutter","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\google_maps_flutter-1.2.0\\\\","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\image_gallery_saver-1.6.9\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.7+3\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"macos":[{"name":"flutter_blue","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_blue-0.7.3\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_macos-0.0.1+11\\\\","dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-1.3.2+4\\\\","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"fluttertoast","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\fluttertoast-4.0.1\\\\","dependencies":[]},{"name":"geolocator_web","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\geolocator_web-1.0.1\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Remy\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_blue","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_web"]},{"name":"geolocator_web","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_gallery_saver","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2021-07-16 11:33:48.151782","version":"2.0.3"} \ No newline at end of file From c81696aa5fdae7aaf49d06263e17997176dedb3a Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 11:51:35 +0200 Subject: [PATCH 034/522] [chore] fixing flutter version to 2.0.3 --- apolline-flutter/pubspec.lock | 2 +- apolline-flutter/pubspec.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 58ee6698..115ac206 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -550,4 +550,4 @@ packages: version: "2.2.1" sdks: dart: ">=2.12.0 <3.0.0" - flutter: ">=1.24.0-7.0" + flutter: ">=2.0.3" diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 8e35c2fe..7ce4edf4 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -16,6 +16,7 @@ publish_to: none environment: sdk: ">=2.1.0 <3.0.0" + flutter: 2.0.3 dependencies: flutter: From c6dab930ac106296b860bbbadd98e830608b55b5 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 11:55:01 +0200 Subject: [PATCH 035/522] [chore] fixing flutter version to ^2.0.3 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 7ce4edf4..0ff99a53 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: none environment: sdk: ">=2.1.0 <3.0.0" - flutter: 2.0.3 + flutter: ^2.0.3 dependencies: flutter: From 87356ac494e982b9007f64cf47bbbb770c8ba9c0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 12:08:24 +0200 Subject: [PATCH 036/522] [chore] using Hub-Varith mp_chart fork --- apolline-flutter/pubspec.lock | 8 ++++---- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 115ac206..90bc85b5 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -266,10 +266,10 @@ packages: description: path: mp_chart ref: master - resolved-ref: "0bfc0aa948632c7cedf2038bb8eb24f90042f536" - url: "git://github.com/lifeofgd/MPFlutterChart.git" + resolved-ref: f437182d14f9bb9c0497fd196b01f0b2ffe0e7d8 + url: "git://github.com/Hub-Varith/MPFlutterChart.git" source: git - version: "1.0.0" + version: "0.3.1" optimized_gesture_detector: dependency: transitive description: @@ -388,7 +388,7 @@ packages: name: screenshot url: "https://pub.dartlang.org" source: hosted - version: "1.2.2" + version: "0.3.0" shared_preferences: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0ff99a53..950919fc 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -30,7 +30,7 @@ dependencies: get_it: ^5.0.1 mp_chart: git: - url: git://github.com/lifeofgd/MPFlutterChart.git + url: git://github.com/Hub-Varith/MPFlutterChart.git ref: master path: mp_chart google_maps_flutter: ^1.0.6 From 9ee0de4095a7fd85f507e8510daa2cf73e5a2f21 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 12:25:46 +0200 Subject: [PATCH 037/522] [chore] setting android targetSdkVersion to 28 --- apolline-flutter/android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index d7c0f74c..f8d00ea1 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -39,7 +39,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.science.apollineflutter" - minSdkVersion 19 + minSdkVersion 28 targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName From 4da4aee6775ba418434bfff7d6aafd4800c8d5ca Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 12:26:04 +0200 Subject: [PATCH 038/522] [chore] updating all dependencies --- apolline-flutter/pubspec.lock | 82 ++++++++++++++++++++--------------- apolline-flutter/pubspec.yaml | 20 ++++----- 2 files changed, 58 insertions(+), 44 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 90bc85b5..924e360f 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -7,14 +7,14 @@ packages: name: archive url: "https://pub.dartlang.org" source: hosted - version: "2.0.13" + version: "3.1.2" args: dependency: transitive description: name: args url: "https://pub.dartlang.org" source: hosted - version: "1.6.0" + version: "2.0.0" async: dependency: transitive description: @@ -63,21 +63,21 @@ packages: name: convert url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "3.0.1" crypto: dependency: transitive description: name: crypto url: "https://pub.dartlang.org" source: hosted - version: "2.1.5" + version: "3.0.1" cupertino_icons: dependency: "direct main" description: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted - version: "0.1.3" + version: "1.0.3" fake_async: dependency: transitive description: @@ -105,7 +105,7 @@ packages: name: fixnum url: "https://pub.dartlang.org" source: hosted - version: "0.10.11" + version: "1.0.0" flutter: dependency: "direct main" description: flutter @@ -117,21 +117,21 @@ packages: name: flutter_blue url: "https://pub.dartlang.org" source: hosted - version: "0.7.3" + version: "0.8.0" flutter_launcher_icons: dependency: "direct main" description: name: flutter_launcher_icons url: "https://pub.dartlang.org" source: hosted - version: "0.8.1" + version: "0.9.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted - version: "1.0.11" + version: "2.0.2" flutter_test: dependency: "direct dev" description: flutter @@ -148,7 +148,7 @@ packages: name: fluttertoast url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "8.0.7" geohash: dependency: "direct main" description: @@ -162,28 +162,28 @@ packages: name: geolocator url: "https://pub.dartlang.org" source: hosted - version: "6.2.1" + version: "7.3.0" geolocator_platform_interface: dependency: transitive description: name: geolocator_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.9" + version: "2.3.2" geolocator_web: dependency: transitive description: name: geolocator_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.0.4" get_it: dependency: "direct main" description: name: get_it url: "https://pub.dartlang.org" source: hosted - version: "5.0.6" + version: "7.1.3" global_configuration: dependency: "direct main" description: @@ -197,14 +197,14 @@ packages: name: google_maps_flutter url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "2.0.6" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "2.1.0" http: dependency: "direct main" description: @@ -225,7 +225,7 @@ packages: name: image url: "https://pub.dartlang.org" source: hosted - version: "2.1.19" + version: "3.0.2" image_gallery_saver: dependency: transitive description: @@ -325,7 +325,7 @@ packages: name: path_provider_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" path_provider_windows: dependency: transitive description: @@ -346,7 +346,7 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "4.1.0" platform: dependency: transitive description: @@ -360,7 +360,7 @@ packages: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "2.0.1" process: dependency: transitive description: @@ -374,14 +374,14 @@ packages: name: protobuf url: "https://pub.dartlang.org" source: hosted - version: "1.1.4" + version: "2.0.0" rxdart: dependency: transitive description: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.24.1" + version: "0.26.0" screenshot: dependency: transitive description: @@ -395,28 +395,42 @@ packages: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "0.5.7+3" + version: "2.0.6" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos url: "https://pub.dartlang.org" source: hosted - version: "0.0.1+11" + version: "2.0.0" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.0.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "0.1.2+7" + version: "2.0.0" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -435,14 +449,14 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "1.3.2+4" + version: "2.0.0+3" sqflite_common: dependency: transitive description: name: sqflite_common url: "https://pub.dartlang.org" source: hosted - version: "1.0.3+3" + version: "2.0.0+2" stack_trace: dependency: transitive description: @@ -463,7 +477,7 @@ packages: name: stream_transform url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "2.0.0" string_scanner: dependency: transitive description: @@ -477,21 +491,21 @@ packages: name: syncfusion_flutter_core url: "https://pub.dartlang.org" source: hosted - version: "18.4.49" + version: "19.2.47" syncfusion_flutter_gauges: dependency: "direct main" description: name: syncfusion_flutter_gauges url: "https://pub.dartlang.org" source: hosted - version: "18.4.49" + version: "19.2.47" synchronized: dependency: transitive description: name: synchronized url: "https://pub.dartlang.org" source: hosted - version: "2.2.0+2" + version: "3.0.0" term_glyph: dependency: transitive description: @@ -540,14 +554,14 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "4.5.1" + version: "5.1.2" yaml: dependency: transitive description: name: yaml url: "https://pub.dartlang.org" source: hosted - version: "2.2.1" + version: "3.1.0" sdks: dart: ">=2.12.0 <3.0.0" flutter: ">=2.0.3" diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 950919fc..1bfe8eea 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -21,29 +21,29 @@ environment: dependencies: flutter: sdk: flutter - flutter_blue: ^0.7.2 - fluttertoast: ^4.0.0 + flutter_blue: ^0.8.0 + fluttertoast: ^8.0.7 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.2 - syncfusion_flutter_gauges: ^18.2.55 - get_it: ^5.0.1 + cupertino_icons: ^1.0.3 + syncfusion_flutter_gauges: ^19.2.47 + get_it: ^7.1.3 mp_chart: git: url: git://github.com/Hub-Varith/MPFlutterChart.git ref: master path: mp_chart - google_maps_flutter: ^1.0.6 - flutter_launcher_icons: ^0.8.1 + google_maps_flutter: ^2.0.6 + flutter_launcher_icons: ^0.9.0 http: ^0.12.2 global_configuration: ^1.6.0 # hash localisation geohash: ^0.2.1 path_provider: ^2.0.2 # location - geolocator: ^6.1.13 - sqflite: ^1.3.2+1 - shared_preferences: ^0.5.7+3 + geolocator: ^7.3.0 + sqflite: ^2.0.0+3 + shared_preferences: ^2.0.6 From e8de09506bfb0c777ce8c4a9b5f79fca27fdd9a1 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 13:18:11 +0200 Subject: [PATCH 039/522] [chore] removing useless main classes --- apolline-flutter/lib/main_dev.dart | 12 ------------ apolline-flutter/lib/main_prod.dart | 12 ------------ 2 files changed, 24 deletions(-) delete mode 100644 apolline-flutter/lib/main_dev.dart delete mode 100644 apolline-flutter/lib/main_prod.dart diff --git a/apolline-flutter/lib/main_dev.dart b/apolline-flutter/lib/main_dev.dart deleted file mode 100644 index e85405aa..00000000 --- a/apolline-flutter/lib/main_dev.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:global_configuration/global_configuration.dart'; -import 'package:apollineflutter/services/service_locator.dart'; -import 'package:apollineflutter/app.dart'; - - -void main() async { - WidgetsFlutterBinding.ensureInitialized(); - await GlobalConfiguration().loadFromAsset("config_dev.json"); - setupServiceLocator(); - runApp(ApollineApp()); -} \ No newline at end of file diff --git a/apolline-flutter/lib/main_prod.dart b/apolline-flutter/lib/main_prod.dart deleted file mode 100644 index 98867c7e..00000000 --- a/apolline-flutter/lib/main_prod.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:global_configuration/global_configuration.dart'; -import 'package:apollineflutter/services/service_locator.dart'; -import 'package:apollineflutter/app.dart'; - - -void main() async { - WidgetsFlutterBinding.ensureInitialized(); - await GlobalConfiguration().loadFromAsset("config_prod.json"); - setupServiceLocator(); - runApp(ApollineApp()); -} \ No newline at end of file From a41ab05ccc3d3a42f9c0a9919bbcd02564d507ad Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:21:01 +0200 Subject: [PATCH 040/522] [chore] not putting configuration files on git --- apolline-flutter/.gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/.gitignore b/apolline-flutter/.gitignore index dbe45dc7..91a7ed9e 100644 --- a/apolline-flutter/.gitignore +++ b/apolline-flutter/.gitignore @@ -883,4 +883,8 @@ DerivedData/ !**/ios/**/default.mode2v3 !**/ios/**/default.pbxuser !**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages \ No newline at end of file +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages + + +### Configuration files +assets/cfg/*.json \ No newline at end of file From 41a15548320fa9e355f8b481f96d9dd3f2abd968 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:23:17 +0200 Subject: [PATCH 041/522] [chore] moving .gitignore to project root --- apolline-flutter/.gitignore => .gitignore | 1778 ++++++++++----------- 1 file changed, 889 insertions(+), 889 deletions(-) rename apolline-flutter/.gitignore => .gitignore (95%) diff --git a/apolline-flutter/.gitignore b/.gitignore similarity index 95% rename from apolline-flutter/.gitignore rename to .gitignore index 91a7ed9e..c29669f0 100644 --- a/apolline-flutter/.gitignore +++ b/.gitignore @@ -1,890 +1,890 @@ -### Massive .gitignore taken from https://github.com/flutter/flutter/issues/13892 -### Flutter Generated - -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# Visual Studio Code related -.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -build/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - - -### https://raw.github.com/github/gitignore//Android.gitignore - -# Built application files -*.apk -*.ap_ - -# Files for the ART/Dalvik VM -*.dex - -# Java class files -*.class - -# Generated files -bin/ -gen/ -out/ - -# Gradle files -.gradle/ -build/ - -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ - -# Log Files -*.log - -# Android Studio Navigation editor temp files -.navigation/ - -# Android Studio captures folder -captures/ - -# IntelliJ -*.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -.idea/caches - -# Keystore files -# Uncomment the following line if you do not want to check your keystore files in. -#*.jks - -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild - -# Google Services (e.g. APIs or Firebase) -google-services.json - -# Freeline -freeline.py -freeline/ -freeline_project_description.json - -# fastlane -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output -fastlane/readme.md - - -### https://raw.github.com/github/gitignore//Dart.gitignore - -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -build/ - -# Directory created by dartdoc -# If you don't generate documentation locally you can remove this line. -doc/api/ - -# Avoid committing generated Javascript files: -*.dart.js -*.info.json # Produced by the --dump-info flag. -*.js # When generated by dart2js. Don't specify *.js if your - # project includes source files written in JavaScript. -*.js_ -*.js.deps -*.js.map - - -### https://raw.github.com/github/gitignore//Global/JetBrains.gitignore - -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - - -### https://raw.github.com/github/gitignore//Global/macOS.gitignore - -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### https://raw.github.com/github/gitignore//Global/Xcode.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Archives.gitignore - -# It's better to unpack these files and commit the raw source because -# git has its own built in compression methods. -*.7z -*.jar -*.rar -*.zip -*.gz -*.tgz -*.bzip -*.bz2 -*.xz -*.lzma -*.cab - -# Packing-only formats -*.iso -*.tar - -# Package management formats -*.dmg -*.xpi -*.gem -*.egg -*.deb -*.rpm -*.msi -*.msm -*.msp - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Backup.gitignore - -*.bak -*.gho -*.ori -*.orig -*.tmp - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Android.gitignore - -# Built application files -*.apk -*.ap_ - -# Files for the ART/Dalvik VM -*.dex - -# Java class files -*.class - -# Generated files -bin/ -gen/ -out/ - -# Gradle files -.gradle/ -build/ - -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ - -# Log Files -*.log - -# Android Studio Navigation editor temp files -.navigation/ - -# Android Studio captures folder -captures/ - -# IntelliJ -*.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -.idea/caches - -# Keystore files -# Uncomment the following line if you do not want to check your keystore files in. -#*.jks - -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild - -# Google Services (e.g. APIs or Firebase) -google-services.json - -# Freeline -freeline.py -freeline/ -freeline_project_description.json - -# fastlane -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output -fastlane/readme.md - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Dart.gitignore - -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -build/ - -# Directory created by dartdoc -# If you don't generate documentation locally you can remove this line. -doc/api/ - -# Avoid committing generated Javascript files: -*.dart.js -*.info.json # Produced by the --dump-info flag. -*.js # When generated by dart2js. Don't specify *.js if your - # project includes source files written in JavaScript. -*.js_ -*.js.deps -*.js.map - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/DartEditor.gitignore - -.project -.buildlog - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Emacs.gitignore - -# -*- mode: gitignore; -*- -*~ -\#*\# -/.emacs.desktop -/.emacs.desktop.lock -*.elc -auto-save-list -tramp -.\#* - -# Org-mode -.org-id-locations -*_archive - -# flymake-mode -*_flymake.* - -# eshell files -/eshell/history -/eshell/lastdir - -# elpa packages -/elpa/ - -# reftex files -*.rel - -# AUCTeX auto folder -/auto/ - -# cask packages -.cask/ -dist/ - -# Flycheck -flycheck_*.el - -# server auth directory -/server/ - -# projectiles files -.projectile - -# directory configuration -.dir-locals.el - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Gradle.gitignore - -.gradle -/build/ - -# Ignore Gradle GUI config -gradle-app.setting - -# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) -!gradle-wrapper.jar - -# Cache of project -.gradletasknamecache - -# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 -# gradle/wrapper/gradle-wrapper.properties - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Java.gitignore - -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JetBrains.gitignore - -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JEnv.gitignore - -# JEnv local Java version configuration file -.java-version - -# Used by previous versions of JEnv -.jenv-version - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Kotlin.gitignore - -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Linux.gitignore - -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/macOS.gitignore - -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Maven.gitignore - -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties -.mvn/wrapper/maven-wrapper.jar - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Objective-C.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xccheckout -*.xcscmblueprint - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -# CocoaPods -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# Pods/ -# -# Add this line if you want to avoid checking in source code from the Xcode workspace -# *.xcworkspace - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control - -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots/**/*.png -fastlane/test_output - -# Code Injection -# -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/SublimeText.gitignore - -# Cache files for Sublime Text -*.tmlanguage.cache -*.tmPreferences.cache -*.stTheme.cache - -# Workspace files are user-specific -*.sublime-workspace - -# Project files should be checked into the repository, unless a significant -# proportion of contributors will probably not be using Sublime Text -# *.sublime-project - -# SFTP configuration file -sftp-config.json - -# Package control specific files -Package Control.last-run -Package Control.ca-list -Package Control.ca-bundle -Package Control.system-ca-bundle -Package Control.cache/ -Package Control.ca-certs/ -Package Control.merged-ca-bundle -Package Control.user-ca-bundle -oscrypto-ca-bundle.crt -bh_unicode_properties.cache - -# Sublime-github package stores a github token in this file -# https://packagecontrol.io/packages/sublime-github -GitHub.sublime-settings - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Vim.gitignore - -# Swap -[._]*.s[a-v][a-z] -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim - -# Temporary -.netrwhist -*~ -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/VisualStudioCode.gitignore - -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Windows.gitignore - -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - - -### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Xcode.gitignore - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - - -### Flutter Generated Exceptions - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages - - -### Configuration files +### Massive .gitignore taken from https://github.com/flutter/flutter/issues/13892 +### Flutter Generated + +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# Visual Studio Code related +.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + + +### https://raw.github.com/github/gitignore//Android.gitignore + +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + + +### https://raw.github.com/github/gitignore//Dart.gitignore + +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map + + +### https://raw.github.com/github/gitignore//Global/JetBrains.gitignore + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + + +### https://raw.github.com/github/gitignore//Global/macOS.gitignore + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### https://raw.github.com/github/gitignore//Global/Xcode.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Archives.gitignore + +# It's better to unpack these files and commit the raw source because +# git has its own built in compression methods. +*.7z +*.jar +*.rar +*.zip +*.gz +*.tgz +*.bzip +*.bz2 +*.xz +*.lzma +*.cab + +# Packing-only formats +*.iso +*.tar + +# Package management formats +*.dmg +*.xpi +*.gem +*.egg +*.deb +*.rpm +*.msi +*.msm +*.msp + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Backup.gitignore + +*.bak +*.gho +*.ori +*.orig +*.tmp + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Android.gitignore + +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Dart.gitignore + +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/DartEditor.gitignore + +.project +.buildlog + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Emacs.gitignore + +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Gradle.gitignore + +.gradle +/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Java.gitignore + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JetBrains.gitignore + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/JEnv.gitignore + +# JEnv local Java version configuration file +.java-version + +# Used by previous versions of JEnv +.jenv-version + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Kotlin.gitignore + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Linux.gitignore + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/macOS.gitignore + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Maven.gitignore + +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Objective-C.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint + +## Obj-C/Swift specific +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +# Pods/ +# +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/SublimeText.gitignore + +# Cache files for Sublime Text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# Workspace files are user-specific +*.sublime-workspace + +# Project files should be checked into the repository, unless a significant +# proportion of contributors will probably not be using Sublime Text +# *.sublime-project + +# SFTP configuration file +sftp-config.json + +# Package control specific files +Package Control.last-run +Package Control.ca-list +Package Control.ca-bundle +Package Control.system-ca-bundle +Package Control.cache/ +Package Control.ca-certs/ +Package Control.merged-ca-bundle +Package Control.user-ca-bundle +oscrypto-ca-bundle.crt +bh_unicode_properties.cache + +# Sublime-github package stores a github token in this file +# https://packagecontrol.io/packages/sublime-github +GitHub.sublime-settings + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Vim.gitignore + +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/VisualStudioCode.gitignore + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Windows.gitignore + +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +### https://raw.github.com/github/gitignore/340e2fe08a2356c2e3760ff58c3a9e1fddf08060/Global/Xcode.gitignore + +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + + +### Flutter Generated Exceptions + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages + + +### Configuration files assets/cfg/*.json \ No newline at end of file From b42e0db1f356a8c0f92692d17636a9f61c9e5ba7 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:25:07 +0200 Subject: [PATCH 042/522] [chore] removing configuration files from git index --- apolline-flutter/assets/cfg/config_dev.json | 9 --------- apolline-flutter/assets/cfg/config_prod.json | 9 --------- 2 files changed, 18 deletions(-) delete mode 100644 apolline-flutter/assets/cfg/config_dev.json delete mode 100644 apolline-flutter/assets/cfg/config_prod.json diff --git a/apolline-flutter/assets/cfg/config_dev.json b/apolline-flutter/assets/cfg/config_dev.json deleted file mode 100644 index ec5fd7c3..00000000 --- a/apolline-flutter/assets/cfg/config_dev.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "api_url": "http://192.168.0.33", - "ping_url": "http://192.168.0.33/health", - "password": "apollineapp", - "username": "apollineapp", - "dbname": "apolline", - "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], - "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] -} \ No newline at end of file diff --git a/apolline-flutter/assets/cfg/config_prod.json b/apolline-flutter/assets/cfg/config_prod.json deleted file mode 100644 index ec5fd7c3..00000000 --- a/apolline-flutter/assets/cfg/config_prod.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "api_url": "http://192.168.0.33", - "ping_url": "http://192.168.0.33/health", - "password": "apollineapp", - "username": "apollineapp", - "dbname": "apolline", - "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], - "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] -} \ No newline at end of file From d3a6094e1733ebdd3f215b2f7745daf48d473af5 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:26:32 +0200 Subject: [PATCH 043/522] [chore] truly ignoring configuration files from assets/cfg folder --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c29669f0..e7229ded 100644 --- a/.gitignore +++ b/.gitignore @@ -887,4 +887,4 @@ DerivedData/ ### Configuration files -assets/cfg/*.json \ No newline at end of file +apolline-flutter/assets/cfg/*.json \ No newline at end of file From d6f20b7c0ca64cd8318eca4496a111c249b42f5f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:27:39 +0200 Subject: [PATCH 044/522] [chore] truly ignoring configuration files from assets/cfg folder --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e7229ded..16e17e21 100644 --- a/.gitignore +++ b/.gitignore @@ -887,4 +887,5 @@ DerivedData/ ### Configuration files -apolline-flutter/assets/cfg/*.json \ No newline at end of file +apolline-flutter/assets/cfg/*.json +!apolline-flutter/assets/cfg \ No newline at end of file From f057da6bd5a2c3060c06056c808825e067aa4c72 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 14:36:02 +0200 Subject: [PATCH 045/522] [chore] adding a script to generate backend configuration --- scripts/configuration_generation.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 scripts/configuration_generation.dart diff --git a/scripts/configuration_generation.dart b/scripts/configuration_generation.dart new file mode 100644 index 00000000..d1021fe3 --- /dev/null +++ b/scripts/configuration_generation.dart @@ -0,0 +1,16 @@ +import 'dart:io'; + +Future main() async { + final filename = 'apolline-flutter/assets/cfg/config_dev.json'; + File(filename).writeAsString( + """{ + "api_url": "http://192.168.0.33", + "ping_url": "http://192.168.0.33/health", + "password": "apollineapp", + "username": "apollineapp", + "dbname": "apolline", + "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] +}""" + ); +} \ No newline at end of file From 1470096388df030ac54db4b2e1b33f1e7915b867 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 15:04:35 +0200 Subject: [PATCH 046/522] [chore] using environment variables in configuration generation script --- scripts/configuration_generation.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/configuration_generation.dart b/scripts/configuration_generation.dart index d1021fe3..c0b91bae 100644 --- a/scripts/configuration_generation.dart +++ b/scripts/configuration_generation.dart @@ -4,11 +4,11 @@ Future main() async { final filename = 'apolline-flutter/assets/cfg/config_dev.json'; File(filename).writeAsString( """{ - "api_url": "http://192.168.0.33", - "ping_url": "http://192.168.0.33/health", - "password": "apollineapp", - "username": "apollineapp", - "dbname": "apolline", + "api_url": "${Platform.environment['APOLLINE_API_URL']}", + "ping_url": "${Platform.environment['APOLLINE_API_URL']}/health", + "password": "${Platform.environment['APOLLINE_PASSWORD']}", + "username": "${Platform.environment['APOLLINE_USERNAME']}", + "dbname": "${Platform.environment['APOLLINE_DBNAME']}", "minPmValues": [1, 2, 3, 4, 5, 6, 7, 8, 9], "maxPmValues": [9, 10, 11, 12, 13, 14, 15, 16, 17] }""" From 5ee3a5c94dbcbd08ba7a525cd9576bd728562990 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 15:24:11 +0200 Subject: [PATCH 047/522] [chore] allowing http (non-secured) calls to backend --- apolline-flutter/android/app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index f0b36906..fdc9dc30 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -13,6 +13,7 @@ Date: Fri, 16 Jul 2021 15:33:53 +0200 Subject: [PATCH 048/522] [docs] adding instructions on how to generate configuration file --- HOWTO.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/HOWTO.md b/HOWTO.md index 41ac479f..d979905f 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -12,6 +12,14 @@ flutter devices //pour vérifier si votre appareil android est reconnu flutter run //pour faire tourner la simulation. ``` +## Backend configuration generation + +Before running the application, you MUST generate endpoint configuration by running: +```shell script +dart scripts/configuration_generation.dart +``` +Then, you can set variables in the `apolline-flutter/assets/cfg/config_dev.json` file. + ## Structuration du projet -------------------------- From dcac51085ede95f62966fab7381d7b44a22d5c04 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 15:46:34 +0200 Subject: [PATCH 049/522] [chore] removing useless indications --- HOWTO.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index d979905f..105ecbf1 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -68,28 +68,7 @@ Le développement est fait principalement dans le dossier *lib*, avec quelque ma - Le dossier *lib/utils* contient des utilitaires pour la position et encode de la position - Le dossier *lib/widget* contient la page des mesures de l'air, un diagramme de ces données, et une carte avec des points de chaleur - le fichier *main.dart* est l'entré de l'application -- la possibilité d'utiliser les fichiers *main_prod.dart* et *main_dev.dart* pour de l'intégration continue, un exemple de ma configuration vscode pour le debug dans le fichier lauch.json -``` -"configurations": [ - { - "name": "apolline dev", - "cwd": "apolline-flutter", - "request": "launch", - "type": "dart", - "program": "lib/main_dev.dart", - "flutterMode": "debug" - }, - { - "name": "apolline prod", - "cwd": "apolline-flutter", - "request": "launch", - "type": "dart", - "program": "lib/main_prod.dart", - "flutterMode": "release" - } -] -```
## Fonctionnement du projet From f8929c5608936373cfa467f8204c9413e9102a9a Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:24:04 +0200 Subject: [PATCH 050/522] [chore] adding basic workflows configuration file --- .github/workflows/flutter_ci.yml | 83 ++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/flutter_ci.yml diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml new file mode 100644 index 00000000..10402443 --- /dev/null +++ b/.github/workflows/flutter_ci.yml @@ -0,0 +1,83 @@ +name: Flutter CI +on: [push, pull_request] +env: + FLUTTER_VERSION: '2.0.3' + +jobs: + lint: + name: "Static code analysis" + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2.1.0 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + - run: flutter pub get + - name: Lint analysis + run: flutter analyze + + + build-android: + name: "Build Android apk" + runs-on: ubuntu-latest + needs: + - lint + + steps: + - uses: actions/checkout@v2.1.0 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + - run: flutter pub get + + - name: Generating configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: Build Apolline APK + run: flutter build apk + - uses: actions/upload-artifact@v1 + with: + name: Apolline.apk + path: build/app/outputs/apk/release/app-release.apk + + + build-iOS: + name: Build iOS package + runs-on: macos-latest + needs: + - lint + + steps: + - uses: actions/checkout@v2.1.0 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + - name: Generating configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: build iOS Apolline package + run: flutter build ios --release --no-codesign + - uses: actions/upload-artifact@v1 + with: + name: Apolline.app + path: build/ios/iphoneos/Runner.app \ No newline at end of file From 9932c93fa2d5e3761091eed212ba17b1a855b41d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:27:54 +0200 Subject: [PATCH 051/522] [chore] cd in correct directory --- .github/workflows/flutter_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 10402443..0eee1b6f 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -16,7 +16,7 @@ jobs: - uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - run: flutter pub get + - run: cd apolline-flutter && flutter pub get - name: Lint analysis run: flutter analyze From 9f5fe997f75f5435cf21e206568b1f6b96c3543e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:30:43 +0200 Subject: [PATCH 052/522] [chore] not triggering CI on pull request --- .github/workflows/flutter_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 0eee1b6f..7520d70e 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -1,5 +1,5 @@ name: Flutter CI -on: [push, pull_request] +on: [push] env: FLUTTER_VERSION: '2.0.3' From 81174c74ac317ebd4c1f30cc9e620bc3769cf0dd Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:33:34 +0200 Subject: [PATCH 053/522] [chore] moving to project directory before issuing commands --- .github/workflows/flutter_ci.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 7520d70e..00424122 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -16,7 +16,10 @@ jobs: - uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - run: cd apolline-flutter && flutter pub get + - name: Moving to project directory + run: cd apolline-flutter + - name: Installing dependencies + run: flutter pub get - name: Lint analysis run: flutter analyze @@ -35,7 +38,10 @@ jobs: - uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - run: flutter pub get + - name: Moving to project directory + run: cd apolline-flutter + - name: Installing dependencies + run: flutter pub get - name: Generating configuration file env: From b4db7e0cd7575fe1260f97b55d20de233ad23249 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:55:34 +0200 Subject: [PATCH 054/522] [fix] adressing linter issues --- .../lib/bluetoothDevicesPage.dart | 22 +++++----- apolline-flutter/lib/gattsample.dart | 6 +-- .../lib/models/sensor_device.dart | 2 - apolline-flutter/lib/models/sensormodel.dart | 4 +- .../lib/models/user_configuration.dart | 4 +- apolline-flutter/lib/sensor.dart | 11 ++--- .../lib/services/influxdb_client.dart | 6 +-- .../services/local_persistant_service.dart | 1 - .../lib/services/location_service.dart | 2 + .../lib/services/sqflite_service.dart | 1 - apolline-flutter/lib/widgets/maps.dart | 43 +------------------ apolline-flutter/lib/widgets/stats.dart | 5 ++- 12 files changed, 32 insertions(+), 75 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 2d6f6826..d2f91456 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,12 +1,12 @@ import 'package:apollineflutter/sensor.dart'; -import 'package:apollineflutter/services/influxdb_client.dart'; -import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; +// TODO fix +// ignore: must_be_immutable class BluetoothDevicesPage extends StatefulWidget { BluetoothDevicesPage({Key key, this.title}) : super(key: key); @@ -32,10 +32,6 @@ class _BluetoothDevicesPageState extends State { bool timeout = true; Map devices = {}; Map pairedDevices = {}; - // use for influxDB to send data to the back - InfluxDBAPI _service = InfluxDBAPI(); - // use for sqfLite to save data in local - SqfLiteService _sqfLiteSerive = SqfLiteService(); ///user configuration in the ui UserConfigurationService ucS = locator(); @@ -62,7 +58,7 @@ class _BluetoothDevicesPageState extends State { /// ///Afficher un message pour activer le bluetooth void showDialogBluetooth() { - Widget okbtn = FlatButton( + Widget okbtn = TextButton( child: Text("ok"), onPressed: () { Navigator.of(context).pop(); @@ -102,7 +98,7 @@ class _BluetoothDevicesPageState extends State { } }); /* For each result, insert into the detected devices list if not already present */ - var subscription = widget.flutterBlue.scanResults.listen((results) { + widget.flutterBlue.scanResults.listen((results) { for (ScanResult r in results) { if (r.device.name.length > 0) { setState(() { @@ -141,7 +137,7 @@ class _BluetoothDevicesPageState extends State { /* Build the UI list of detected devices */ List _buildDevicesList() { - List wList = new List(); + List wList = []; /* Add the state label at the top */ //wList.add(Text(state)); // TODO: remove if (pairedDevices.length > 0) { @@ -188,7 +184,8 @@ class _BluetoothDevicesPageState extends State { List _buildChildrenButton() { if (timeout) { return [ - Text("Analyser"), + // ignore: missing_required_param + TextButton(child: Text("Analyser")), ]; } else { return [ @@ -197,14 +194,15 @@ class _BluetoothDevicesPageState extends State { width: 20, height: 20, ), - Text("Arreter"), + // ignore: missing_required_param + TextButton(child: Text("Arrêter")), ]; } } List _buildAppBarAction() { List wList = [ - FlatButton( + TextButton( onPressed: () { _onPressLookforButton(); }, diff --git a/apolline-flutter/lib/gattsample.dart b/apolline-flutter/lib/gattsample.dart index 0e65614e..886728a1 100644 --- a/apolline-flutter/lib/gattsample.dart +++ b/apolline-flutter/lib/gattsample.dart @@ -1,5 +1,5 @@ class BlueSensorAttributes { - static final String DustSensorServiceUUID = "49535343-fe7d-4ae5-8fa9-9fafd205e455"; - static final String DustSensorCharacteristicUUID = "49535343-1e4d-4bd9-ba61-23c647249616"; - static final String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-8000-00805f9b34fb"; + static final String dustSensorServiceUUID = "49535343-fe7d-4ae5-8fa9-9fafd205e455"; + static final String dustSensorCharacteristicUUID = "49535343-1e4d-4bd9-ba61-23c647249616"; + static final String clientCharacteristicConfig = "00002902-0000-1000-8000-00805f9b34fb"; } \ No newline at end of file diff --git a/apolline-flutter/lib/models/sensor_device.dart b/apolline-flutter/lib/models/sensor_device.dart index 141c543a..0a49360b 100644 --- a/apolline-flutter/lib/models/sensor_device.dart +++ b/apolline-flutter/lib/models/sensor_device.dart @@ -5,7 +5,6 @@ import 'package:flutter_blue/flutter_blue.dart'; class SensorDevice { BluetoothDevice _device; String _name; - String _uuid; /// Authors BARRY Issagha, GDISSA Ramy ///constructor @@ -13,7 +12,6 @@ class SensorDevice { SensorDevice.fromNameAndUId(name, uuid) { this._name = name; - this._uuid = uuid; } /// diff --git a/apolline-flutter/lib/models/sensormodel.dart b/apolline-flutter/lib/models/sensormodel.dart index f07674a8..5c05da17 100644 --- a/apolline-flutter/lib/models/sensormodel.dart +++ b/apolline-flutter/lib/models/sensormodel.dart @@ -80,7 +80,7 @@ class SensorModel { var geohash = this.position?.geohash ?? "no"; var transport = this.position?.transport ?? "no"; var deviceName = device?.deviceName ?? "Apolline00"; - return "$propertie,uuid=${BlueSensorAttributes.DustSensorServiceUUID}," + + return "$propertie,uuid=${BlueSensorAttributes.dustSensorServiceUUID}," + "device=$deviceName,provider=$provider,geohash=$geohash,transport=$transport," + "unit=$unit value=$value ${_date * 1000000}"; } @@ -118,7 +118,7 @@ class SensorModel { Map toJSON() { var json = Map(); json["deviceName"] = device?.deviceName ?? "Apolline00"; - json["uuid"] = BlueSensorAttributes.DustSensorServiceUUID; + json["uuid"] = BlueSensorAttributes.dustSensorServiceUUID; json["provider"] = this.position?.provider ?? "no"; json["geohash"] = this.position?.geohash ?? "no"; json["transport"] = this.position?.transport ?? "no"; diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index b7a9b93f..bb930503 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -63,13 +63,13 @@ class UserConfiguration { /// ///setteur - void set pmIndex(int index) { + set pmIndex(int index) { this._pmIndex = index; } /// ///Setteur - void set mapSyncFrequency(MapFrequency frequency) { + set mapSyncFrequency(MapFrequency frequency) { this._mapSyncFrequency = frequency; } diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 84cc0207..3937b17c 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:io'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; @@ -154,13 +153,13 @@ class _SensorViewState extends State { } void handleServiceDiscovered(BluetoothService service) { - if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorServiceUUID) { + if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; /* Search for the Dust Sensor characteristic */ for (BluetoothCharacteristic c in characteristics) { - if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.DustSensorCharacteristicUUID) { + if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID) { updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); /* Enable notification */ @@ -232,8 +231,10 @@ class _SensorViewState extends State { void showSnackbar(String msg) { var snackbar = SnackBar(content: Text(msg)); if (_scaffoldKey != null && _scaffoldKey.currentState != null) { - _scaffoldKey.currentState.hideCurrentSnackBar(); - _scaffoldKey.currentState.showSnackBar(snackbar); + ScaffoldMessenger.of(context).hideCurrentSnackBar(); + // _scaffoldKey.currentState.hideCurrentSnackBar(); + ScaffoldMessenger.of(context).showSnackBar(snackbar); + // _scaffoldKey.currentState.showSnackBar(snackbar); } } diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 9bbacfb9..dff84867 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -42,8 +42,8 @@ class InfluxDBAPI { /// ///check the address [address]. - Future ping() { - client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x + Future ping() async { + return client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x } } @@ -73,7 +73,7 @@ class _InfluxDBClient extends http.BaseClient { try{ resp = await this.get(url); print("server is running"); //TODO supprimé à la fin. - } on SocketException catch(e) { + } on SocketException catch(_) { throw LostConnectionException("server is unavailable"); } diff --git a/apolline-flutter/lib/services/local_persistant_service.dart b/apolline-flutter/lib/services/local_persistant_service.dart index 44d7f75f..19defb0b 100644 --- a/apolline-flutter/lib/services/local_persistant_service.dart +++ b/apolline-flutter/lib/services/local_persistant_service.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:io'; import 'package:shared_preferences/shared_preferences.dart'; /// diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index 532cee08..fbd54019 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -11,6 +11,8 @@ class SimpleLocationService { ///current position. Position _currentPosition; ///stream. + ///TODO close stream + // ignore: close_sinks StreamController _locationStream = StreamController.broadcast(); /// diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index f84a3e6e..f2aa4a88 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -1,7 +1,6 @@ import 'dart:io'; import 'package:apollineflutter/models/sensor_collection.dart'; import 'package:apollineflutter/models/sensormodel.dart'; -import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path_provider/path_provider.dart'; diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 174c319c..4d07a8cf 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'dart:collection'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart' show rootBundle; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; @@ -85,9 +84,6 @@ class MapUiBodyState extends State { zoom: 11.0, ); - CameraPosition _position; - bool _isMapCreated = false; - bool _isMoving = false; bool _compassEnabled = true; bool _mapToolbarEnabled = true; CameraTargetBounds _cameraTargetBounds = CameraTargetBounds.unbounded; @@ -103,13 +99,11 @@ class MapUiBodyState extends State { bool _myTrafficEnabled = false; bool _myLocationButtonEnabled = true; GoogleMapController _controller; - bool _nightMode = false; @override void initState() { super.initState(); this._circles = HashSet(); - this._position = this._kInitialPosition; this.getSensorDataAfterDate(); this.listenSensorData(); } @@ -135,18 +129,6 @@ class MapUiBodyState extends State { super.dispose(); } - Future _getFileData(String path) async { - return await rootBundle.loadString(path); - } - - /// to change map stype like mode night - void _setMapStyle(String mapStyle) { - setState(() { - _nightMode = true; - _controller.setMapStyle(mapStyle); - }); - } - /// ///This function build a radio button for mapSync ///[context] the context @@ -223,27 +205,6 @@ class MapUiBodyState extends State { } } - /// - ///Not used, help to change in night mode. - Widget _nightModeToggler() { - if (!_isMapCreated) { - return null; - } - return FlatButton( - //child: Text('${_nightMode ? 'disable' : 'enable'} night mode'), - onPressed: () { - if (_nightMode) { - setState(() { - _nightMode = false; - _controller.setMapStyle(null); - }); - } else { - _getFileData('assets/night_mode.json').then(_setMapStyle); - } - }, - ); - } - @override Widget build(BuildContext context) { final GoogleMap googleMap = GoogleMap( @@ -294,7 +255,7 @@ class MapUiBodyState extends State { /// ///Call when cameraPosition update void _updateCameraPosition(CameraPosition position) { - _position = position; + //_position = position; } /// @@ -347,7 +308,6 @@ class MapUiBodyState extends State { /// [controller] GoogleMapController help to do something. void onMapCreated(GoogleMapController controller) { _controller = controller; - _isMapCreated = true; SimpleLocationService().getLocation().then((position) { if(position.geohash != "no") { var json = SimpleGeoHash.decode(position.geohash); @@ -357,7 +317,6 @@ class MapUiBodyState extends State { ); } - this._position = this._kInitialPosition; this._controller.animateCamera(CameraUpdate.newCameraPosition(this._kInitialPosition)); }); } diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 46c7d4ee..b6dacac9 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -20,6 +20,8 @@ import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; +// TODO fix +// ignore: must_be_immutable class Stats extends StatefulWidget { Stats({Key key, this.dataSensor}) : super(key: key); SensorModel dataSensor; @@ -50,7 +52,7 @@ class StatsState extends State implements OnChartValueSelectedListener { double i1 = 0; double i2 = 0; // used to get format date - List _dataTimeX = List(); + List _dataTimeX = []; @override void dispose() { _streamSubscription.cancel(); @@ -99,7 +101,6 @@ class StatsState extends State implements OnChartValueSelectedListener { setState(() {}); } - @override Widget getBody() { return Stack(children: [ Positioned( From 526f0350ebd42133a4a90b807a0021ad910323e0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:57:16 +0200 Subject: [PATCH 055/522] [chore] generating configuration file directly in assets folder --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 1bfe8eea..d08ac68f 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -60,7 +60,7 @@ flutter: assets: - assets/sun.png - - assets/cfg/ + - assets/config_dev.json # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From 47663fb6d2fca6c579f447a0bbe43fb38fa6d2a4 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:58:44 +0200 Subject: [PATCH 056/522] [chore] generating configuration file directly in assets folder (2) --- .gitignore | 3 +-- HOWTO.md | 2 +- scripts/configuration_generation.dart | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 16e17e21..bdc7bd32 100644 --- a/.gitignore +++ b/.gitignore @@ -887,5 +887,4 @@ DerivedData/ ### Configuration files -apolline-flutter/assets/cfg/*.json -!apolline-flutter/assets/cfg \ No newline at end of file +apolline-flutter/assets/*.json \ No newline at end of file diff --git a/HOWTO.md b/HOWTO.md index 105ecbf1..2e943719 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -18,7 +18,7 @@ Before running the application, you MUST generate endpoint configuration by runn ```shell script dart scripts/configuration_generation.dart ``` -Then, you can set variables in the `apolline-flutter/assets/cfg/config_dev.json` file. +Then, you can set variables in the `apolline-flutter/assets/config_dev.json` file. ## Structuration du projet diff --git a/scripts/configuration_generation.dart b/scripts/configuration_generation.dart index c0b91bae..0daeb25b 100644 --- a/scripts/configuration_generation.dart +++ b/scripts/configuration_generation.dart @@ -1,7 +1,7 @@ import 'dart:io'; Future main() async { - final filename = 'apolline-flutter/assets/cfg/config_dev.json'; + final filename = 'apolline-flutter/assets/config_dev.json'; File(filename).writeAsString( """{ "api_url": "${Platform.environment['APOLLINE_API_URL']}", From 5a4bad466afbd9742f791ffa453710f83b678e7b Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 16:59:07 +0200 Subject: [PATCH 057/522] [chore] generating configuration file before running CI linting --- .github/workflows/flutter_ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 00424122..674e187c 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -16,6 +16,15 @@ jobs: - uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} + + - name: Generating configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + - name: Moving to project directory run: cd apolline-flutter - name: Installing dependencies From 0cd789181a79200ec808065c5a095d9892440e25 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 17:00:18 +0200 Subject: [PATCH 058/522] [chore] moving to project directory after configuration generation --- .github/workflows/flutter_ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 674e187c..e665e4e8 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -47,10 +47,6 @@ jobs: - uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - name: Moving to project directory - run: cd apolline-flutter - - name: Installing dependencies - run: flutter pub get - name: Generating configuration file env: @@ -60,6 +56,11 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart + - name: Moving to project directory + run: cd apolline-flutter + - name: Installing dependencies + run: flutter pub get + - name: Build Apolline APK run: flutter build apk - uses: actions/upload-artifact@v1 From 2b1acd70e240493518ef70b53a2fa254bbd5f184 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 17:08:50 +0200 Subject: [PATCH 059/522] [chore] specifying working directory in CI config --- .github/workflows/flutter_ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index e665e4e8..ac58d1d6 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -25,12 +25,12 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart - - name: Moving to project directory - run: cd apolline-flutter - name: Installing dependencies run: flutter pub get + working-directory: apolline-flutter - name: Lint analysis run: flutter analyze + working-directory: apolline-flutter build-android: @@ -56,17 +56,17 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart - - name: Moving to project directory - run: cd apolline-flutter - name: Installing dependencies run: flutter pub get + working-directory: apolline-flutter - name: Build Apolline APK run: flutter build apk + working-directory: apolline-flutter - uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: build/app/outputs/apk/release/app-release.apk + path: apolline-flutter/build/app/outputs/apk/release/app-release.apk build-iOS: @@ -93,7 +93,8 @@ jobs: - name: build iOS Apolline package run: flutter build ios --release --no-codesign + working-directory: apolline-flutter - uses: actions/upload-artifact@v1 with: name: Apolline.app - path: build/ios/iphoneos/Runner.app \ No newline at end of file + path: apolline-flutter/build/ios/iphoneos/Runner.app \ No newline at end of file From 6b9e250618b7fe78579edb3822b7643b5d7eb99d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 16 Jul 2021 18:17:38 +0200 Subject: [PATCH 060/522] [fix] configuration file is correctly loaded (wrong path) --- apolline-flutter/lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 1ccb3bee..8b3a03d5 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -6,7 +6,7 @@ import 'services/service_locator.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await GlobalConfiguration().loadFromAsset("config_dev.json"); + await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); runApp(ApollineApp()); } From 80b19a79fd4207134a1510e6654c996373bc258c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 09:52:50 +0200 Subject: [PATCH 061/522] [chore] correctly ignoring config files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bdc7bd32..a030bea3 100644 --- a/.gitignore +++ b/.gitignore @@ -887,4 +887,4 @@ DerivedData/ ### Configuration files -apolline-flutter/assets/*.json \ No newline at end of file +apolline-flutter/assets/config* \ No newline at end of file From c0f92ebd73c5a1abbd395aff2facad3c08bf47fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 12:51:30 +0200 Subject: [PATCH 062/522] [fix] updating iOS XCode project --- apolline-flutter/ios/Podfile | 81 ++++------------ apolline-flutter/ios/Podfile.lock | 92 +++++++++++++++++++ .../ios/Runner.xcodeproj/project.pbxproj | 61 ++++++++---- .../contents.xcworkspacedata | 14 +-- .../ios/Runner/Base.lproj/Main.storyboard | 55 +++++------ 5 files changed, 188 insertions(+), 115 deletions(-) create mode 100644 apolline-flutter/ios/Podfile.lock diff --git a/apolline-flutter/ios/Podfile b/apolline-flutter/ios/Podfile index b30a428b..313ea4a1 100644 --- a/apolline-flutter/ios/Podfile +++ b/apolline-flutter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -10,81 +10,32 @@ project 'Runner', { 'Release' => :release, } -def parse_KV_file(file, separator='=') - file_abs_path = File.expand_path(file) - if !File.exists? file_abs_path - return []; +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" end - generated_key_values = {} - skip_line_start_symbols = ["#", "/"] - File.foreach(file_abs_path) do |line| - next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } - plugin = line.split(pattern=separator) - if plugin.length == 2 - podname = plugin[0].strip() - path = plugin[1].strip() - podpath = File.expand_path("#{path}", file_abs_path) - generated_key_values[podname] = podpath - else - puts "Invalid plugin specification: #{line}" - end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches end - generated_key_values + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" end +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + target 'Runner' do use_frameworks! use_modular_headers! - - # Flutter Pod - copied_flutter_dir = File.join(__dir__, 'Flutter') - copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') - copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') - unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) - # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. - # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. - # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. - - generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') - unless File.exist?(generated_xcode_build_settings_path) - raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) - cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; - - unless File.exist?(copied_framework_path) - FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) - end - unless File.exist?(copied_podspec_path) - FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) - end - end - - # Keep pod path relative so it can be checked into Podfile.lock. - pod 'Flutter', :path => 'Flutter' - - # Plugin Pods - - # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock - # referring to absolute paths on developers' machines. - system('rm -rf .symlinks') - system('mkdir -p .symlinks/plugins') - plugin_pods = parse_KV_file('../.flutter-plugins') - plugin_pods.each do |name, path| - symlink = File.join('.symlinks', 'plugins', name) - File.symlink(path, symlink) - pod name, :path => File.join(symlink, 'ios') - end + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end -# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system. -install! 'cocoapods', :disable_input_output_paths => true - post_install do |installer| installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['ENABLE_BITCODE'] = 'NO' - end + flutter_additional_ios_build_settings(target) end end diff --git a/apolline-flutter/ios/Podfile.lock b/apolline-flutter/ios/Podfile.lock new file mode 100644 index 00000000..b2e50dc2 --- /dev/null +++ b/apolline-flutter/ios/Podfile.lock @@ -0,0 +1,92 @@ +PODS: + - Flutter (1.0.0) + - flutter_blue (0.0.1): + - Flutter + - flutter_blue/Protos (= 0.0.1) + - flutter_blue/Protos (0.0.1): + - Flutter + - Protobuf (~> 3.11.4) + - fluttertoast (0.0.2): + - Flutter + - Toast + - FMDB (2.7.5): + - FMDB/standard (= 2.7.5) + - FMDB/standard (2.7.5) + - geolocator (6.2.0): + - Flutter + - google_maps_flutter (0.0.1): + - Flutter + - GoogleMaps + - GoogleMaps (4.2.0): + - GoogleMaps/Maps (= 4.2.0) + - GoogleMaps/Base (4.2.0) + - GoogleMaps/Maps (4.2.0): + - GoogleMaps/Base + - image_gallery_saver (1.5.0): + - Flutter + - path_provider (0.0.1): + - Flutter + - Protobuf (3.11.4) + - shared_preferences (0.0.1): + - Flutter + - sqflite (0.0.2): + - Flutter + - FMDB (>= 2.7.5) + - Toast (4.0.0) + +DEPENDENCIES: + - Flutter (from `Flutter`) + - flutter_blue (from `.symlinks/plugins/flutter_blue/ios`) + - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) + - geolocator (from `.symlinks/plugins/geolocator/ios`) + - google_maps_flutter (from `.symlinks/plugins/google_maps_flutter/ios`) + - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) + - path_provider (from `.symlinks/plugins/path_provider/ios`) + - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - sqflite (from `.symlinks/plugins/sqflite/ios`) + +SPEC REPOS: + trunk: + - FMDB + - GoogleMaps + - Protobuf + - Toast + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + flutter_blue: + :path: ".symlinks/plugins/flutter_blue/ios" + fluttertoast: + :path: ".symlinks/plugins/fluttertoast/ios" + geolocator: + :path: ".symlinks/plugins/geolocator/ios" + google_maps_flutter: + :path: ".symlinks/plugins/google_maps_flutter/ios" + image_gallery_saver: + :path: ".symlinks/plugins/image_gallery_saver/ios" + path_provider: + :path: ".symlinks/plugins/path_provider/ios" + shared_preferences: + :path: ".symlinks/plugins/shared_preferences/ios" + sqflite: + :path: ".symlinks/plugins/sqflite/ios" + +SPEC CHECKSUMS: + Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c + flutter_blue: eeb381dc4727a0954dede73515f683865494b370 + fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58 + FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + geolocator: f5e3de65e241caba7ce3e8a618803387bda73384 + google_maps_flutter: df4e7de95264aa0a2f11aac0fc7e313acb8ffc7e + GoogleMaps: eb03e327edfd70b06de1e6e321653f73712df7ad + image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2 + path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c + Protobuf: 176220c526ad8bd09ab1fb40a978eac3fef665f7 + shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 + Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 + +PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d + +COCOAPODS: 1.10.1 diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj index fe5a3d60..a54d756f 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj @@ -9,11 +9,7 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -27,8 +23,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -40,14 +34,12 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 35ED5B8D3AAB81F6B02A5E4C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 80E7043E195D85085DA9E67F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -62,8 +54,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, C326C3ECB2219D5647E8C2FC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -86,16 +76,13 @@ 80E7043E195D85085DA9E67F /* Pods-Runner.release.xcconfig */, 35ED5B8D3AAB81F6B02A5E4C /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 9740EEB31CF90195004384FC /* Generated.xcconfig */, @@ -160,6 +147,7 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, EE34614021166FABB17A054F /* [CP] Embed Pods Frameworks */, + A187A21632E16266D90ED35A /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -231,7 +219,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; 8A3318F0B579534EB58D6321 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -269,15 +257,54 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + A187A21632E16266D90ED35A /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", + "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; EE34614021166FABB17A054F /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", + "${BUILT_PRODUCTS_DIR}/Protobuf/protobuf.framework", + "${BUILT_PRODUCTS_DIR}/Toast/Toast.framework", + "${BUILT_PRODUCTS_DIR}/flutter_blue/flutter_blue.framework", + "${BUILT_PRODUCTS_DIR}/fluttertoast/fluttertoast.framework", + "${BUILT_PRODUCTS_DIR}/geolocator/geolocator.framework", + "${BUILT_PRODUCTS_DIR}/image_gallery_saver/image_gallery_saver.framework", + "${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework", + "${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework", + "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/protobuf.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_blue.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fluttertoast.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_gallery_saver.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -320,7 +347,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -383,6 +409,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -398,7 +425,6 @@ }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -454,7 +480,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -518,6 +543,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -546,6 +572,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apolline-flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 59c6d394..919434a6 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/apolline-flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/apolline-flutter/ios/Runner/Base.lproj/Main.storyboard b/apolline-flutter/ios/Runner/Base.lproj/Main.storyboard index bbb83caa..7350081e 100644 --- a/apolline-flutter/ios/Runner/Base.lproj/Main.storyboard +++ b/apolline-flutter/ios/Runner/Base.lproj/Main.storyboard @@ -1,26 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3efcd7717650bc97f2201342e89abcace13d282d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 16:06:36 +0200 Subject: [PATCH 063/522] [chore] uploading Android build as release --- .github/workflows/flutter_ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index ac58d1d6..b5a38b8a 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -67,6 +67,13 @@ jobs: with: name: Apolline.apk path: apolline-flutter/build/app/outputs/apk/release/app-release.apk + - uses: ncipollo/release-action@v1 + with: + artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" + token: ${{ secrets.GITHUB_TOKEN }} + tag: android-latest + allowUpdates: true + draft: true build-iOS: From 5a12b3cc97fd7cc95319a34cdbc8594f366ce92c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 16:18:54 +0200 Subject: [PATCH 064/522] [chore] uploading ios build as release --- .github/workflows/flutter_ci.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index b5a38b8a..d97d06d2 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -66,7 +66,7 @@ jobs: - uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: apolline-flutter/build/app/outputs/apk/release/app-release.apk + path: apolline-flutter/build/app/outputs/apk/release/app-release.apk0 - uses: ncipollo/release-action@v1 with: artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" @@ -104,4 +104,11 @@ jobs: - uses: actions/upload-artifact@v1 with: name: Apolline.app - path: apolline-flutter/build/ios/iphoneos/Runner.app \ No newline at end of file + path: apolline-flutter/build/ios/iphoneos/Runner.app + - uses: ncipollo/release-action@v1 + with: + artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" + token: ${{ secrets.GITHUB_TOKEN }} + tag: ios-latest + allowUpdates: true + draft: true \ No newline at end of file From f87be986d992f0a07b7c744dfa21894edbf0193c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 16:28:52 +0200 Subject: [PATCH 065/522] [chore] removing typo --- .github/workflows/flutter_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index d97d06d2..162c7f7e 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -66,7 +66,7 @@ jobs: - uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: apolline-flutter/build/app/outputs/apk/release/app-release.apk0 + path: apolline-flutter/build/app/outputs/apk/release/app-release.apk - uses: ncipollo/release-action@v1 with: artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" From 57571d8ae5f7c45a6d7d311a3d2234b93f5bb5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 16:40:12 +0200 Subject: [PATCH 066/522] [chore] not marking releases as draft anymore --- .github/workflows/flutter_ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 162c7f7e..ea04a1cd 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -73,7 +73,6 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: android-latest allowUpdates: true - draft: true build-iOS: @@ -110,5 +109,4 @@ jobs: artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" token: ${{ secrets.GITHUB_TOKEN }} tag: ios-latest - allowUpdates: true - draft: true \ No newline at end of file + allowUpdates: true \ No newline at end of file From fef4e67fe2f771a8cd10a0c8f5b40e9c543c3808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 17:54:26 +0200 Subject: [PATCH 067/522] [chore] trying to upload iOS package after build --- .github/workflows/flutter_ci.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index ea04a1cd..e7100d09 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -104,9 +104,16 @@ jobs: with: name: Apolline.app path: apolline-flutter/build/ios/iphoneos/Runner.app - - uses: ncipollo/release-action@v1 + - name: Publish release + uses: softprops/action-gh-release@v1 with: - artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" - token: ${{ secrets.GITHUB_TOKEN }} + files: apolline-flutter/build/ios/iphoneos/Runner.app tag: ios-latest - allowUpdates: true \ No newline at end of file + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# - uses: ncipollo/release-action@v1 +# with: +# artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" +# token: ${{ secrets.GITHUB_TOKEN }} +# tag: ios-latest +# allowUpdates: true From bae3e95349f6c6435588552d51ee94e93d204db4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 18:07:48 +0200 Subject: [PATCH 068/522] [chore] fixing tag name --- .github/workflows/flutter_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index e7100d09..0a0ee1d5 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -108,7 +108,7 @@ jobs: uses: softprops/action-gh-release@v1 with: files: apolline-flutter/build/ios/iphoneos/Runner.app - tag: ios-latest + tag_name: ios-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # - uses: ncipollo/release-action@v1 From 2fbc478f3fee61581efb784bb61cfea25d76fcc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 21:09:56 +0200 Subject: [PATCH 069/522] [chore] using AButler/upload-release-assets Trying another Github action to upload iOS package --- .github/workflows/flutter_ci.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 0a0ee1d5..f8ae90e5 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -105,12 +105,11 @@ jobs: name: Apolline.app path: apolline-flutter/build/ios/iphoneos/Runner.app - name: Publish release - uses: softprops/action-gh-release@v1 + uses: AButler/upload-release-assets@v2.0 with: - files: apolline-flutter/build/ios/iphoneos/Runner.app - tag_name: ios-latest - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + files: 'apolline-flutter/build/ios/iphoneos/Runner.app' + repo-token: ${{ secrets.GITHUB_TOKEN }} + release-tag: ios-latest # - uses: ncipollo/release-action@v1 # with: # artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" From f6494cfdba0ccf9fd36bf58857b9097240b57de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 21:45:22 +0200 Subject: [PATCH 070/522] [chore] trying to zip before upload to release --- .github/workflows/flutter_ci.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index f8ae90e5..84882471 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -105,14 +105,13 @@ jobs: name: Apolline.app path: apolline-flutter/build/ios/iphoneos/Runner.app - name: Publish release - uses: AButler/upload-release-assets@v2.0 + uses: papeloto/action-zip@v1 with: - files: 'apolline-flutter/build/ios/iphoneos/Runner.app' - repo-token: ${{ secrets.GITHUB_TOKEN }} - release-tag: ios-latest -# - uses: ncipollo/release-action@v1 -# with: -# artifacts: "apolline-flutter/build/ios/iphoneos/Runner.app" -# token: ${{ secrets.GITHUB_TOKEN }} -# tag: ios-latest -# allowUpdates: true + files: apolline-flutter/build/ios/iphoneos/Runner.app + dest: Apolline.zip + - uses: ncipollo/release-action@v1 + with: + artifacts: "Apolline-iOS.zip" + token: ${{ secrets.GITHUB_TOKEN }} + tag: ios-latest + allowUpdates: true From cc4696167e1b227f9e237688914ab1d493e76f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 20 Jul 2021 21:58:42 +0200 Subject: [PATCH 071/522] [chore] fixing typo in zip destination --- .github/workflows/flutter_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 84882471..94ecda26 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -108,7 +108,7 @@ jobs: uses: papeloto/action-zip@v1 with: files: apolline-flutter/build/ios/iphoneos/Runner.app - dest: Apolline.zip + dest: Apolline-iOS.zip - uses: ncipollo/release-action@v1 with: artifacts: "Apolline-iOS.zip" From f7ee031d6f16e8828a4b47805ed1c510b03dbcd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 09:31:34 +0200 Subject: [PATCH 072/522] [chore] adding names to CI steps --- .github/workflows/flutter_ci.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 94ecda26..c531ed6a 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -63,11 +63,15 @@ jobs: - name: Build Apolline APK run: flutter build apk working-directory: apolline-flutter - - uses: actions/upload-artifact@v1 + + - name: Save build artefact + uses: actions/upload-artifact@v1 with: name: Apolline.apk path: apolline-flutter/build/app/outputs/apk/release/app-release.apk - - uses: ncipollo/release-action@v1 + + - name: Publish release + uses: ncipollo/release-action@v1 with: artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" token: ${{ secrets.GITHUB_TOKEN }} @@ -100,16 +104,20 @@ jobs: - name: build iOS Apolline package run: flutter build ios --release --no-codesign working-directory: apolline-flutter - - uses: actions/upload-artifact@v1 + + - name: Save build artefact + uses: actions/upload-artifact@v1 with: name: Apolline.app path: apolline-flutter/build/ios/iphoneos/Runner.app - - name: Publish release + + - name: Zip release uses: papeloto/action-zip@v1 with: files: apolline-flutter/build/ios/iphoneos/Runner.app dest: Apolline-iOS.zip - - uses: ncipollo/release-action@v1 + - name: Publish release + uses: ncipollo/release-action@v1 with: artifacts: "Apolline-iOS.zip" token: ${{ secrets.GITHUB_TOKEN }} From dd9014234d31d4acd4ad57779830083092818c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 09:56:24 +0200 Subject: [PATCH 073/522] [chore] adding names to CI steps (2) --- .github/workflows/flutter_ci.yml | 41 +++++++++++++++++++------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index c531ed6a..a50e02a0 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -9,15 +9,18 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.1.0 - - uses: actions/setup-java@v1 + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 with: java-version: '12.x' - - uses: subosito/flutter-action@v1 + - name: Install Flutter + uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - name: Generating configuration file + - name: Generate configuration file env: APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} @@ -25,10 +28,10 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart - - name: Installing dependencies + - name: Install dependencies run: flutter pub get working-directory: apolline-flutter - - name: Lint analysis + - name: Run lint analysis run: flutter analyze working-directory: apolline-flutter @@ -40,15 +43,18 @@ jobs: - lint steps: - - uses: actions/checkout@v2.1.0 - - uses: actions/setup-java@v1 + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 with: java-version: '12.x' - - uses: subosito/flutter-action@v1 + - name: Install Flutter + uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - name: Generating configuration file + - name: Generate configuration file env: APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} @@ -56,7 +62,7 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart - - name: Installing dependencies + - name: Install dependencies run: flutter pub get working-directory: apolline-flutter @@ -86,14 +92,17 @@ jobs: - lint steps: - - uses: actions/checkout@v2.1.0 - - uses: actions/setup-java@v1 + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 with: java-version: '12.x' - - uses: subosito/flutter-action@v1 + - name: Install Flutter + uses: subosito/flutter-action@v1 with: flutter-version: ${{ env.FLUTTER_VERSION }} - - name: Generating configuration file + - name: Generate configuration file env: APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} @@ -101,7 +110,7 @@ jobs: APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} run: dart scripts/configuration_generation.dart - - name: build iOS Apolline package + - name: Build iOS Apolline package run: flutter build ios --release --no-codesign working-directory: apolline-flutter From 6b8c37b4d86c91bcb3bfa565ea7a2f337f7f4273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 10:44:20 +0200 Subject: [PATCH 074/522] [chore] setting releases body text --- .github/workflows/flutter_ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index a50e02a0..a5f67f8c 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -83,6 +83,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: android-latest allowUpdates: true + body: This is the latest Android version of the Apolline application. build-iOS: @@ -132,3 +133,4 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: ios-latest allowUpdates: true + body: This is the latest iOS version of the Apolline application. \ No newline at end of file From d0fa28f3a0e33788a0694fee2574aa67e5100033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 17:02:48 +0200 Subject: [PATCH 075/522] [feat] scanning for sensors when launching the application --- apolline-flutter/lib/bluetoothDevicesPage.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d2f91456..76be3efe 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -42,6 +42,7 @@ class _BluetoothDevicesPageState extends State { this.ucS.addListener(() { LocalKeyValuePersistance.saveObject("userconf", ucS.userConf.toJson()); }); + initializeDevice(); } /// From b630fa3b9c371844991c643bc779ca31ca7a158e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 17:07:32 +0200 Subject: [PATCH 076/522] [chore] creating a release CI --- .github/workflows/release_ci.yml | 139 +++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 .github/workflows/release_ci.yml diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml new file mode 100644 index 00000000..187f482a --- /dev/null +++ b/.github/workflows/release_ci.yml @@ -0,0 +1,139 @@ +name: Release CI +on: + push: + branches: + - develop +env: + FLUTTER_VERSION: '2.0.3' + +jobs: + lint: + name: "Static code analysis" + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Install Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + + - name: Generate configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: Install dependencies + run: flutter pub get + working-directory: apolline-flutter + - name: Run lint analysis + run: flutter analyze + working-directory: apolline-flutter + + + build-android: + name: "Build Android apk" + runs-on: ubuntu-latest + needs: + - lint + + steps: + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Install Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + + - name: Generate configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: Install dependencies + run: flutter pub get + working-directory: apolline-flutter + + - name: Build Apolline APK + run: flutter build apk + working-directory: apolline-flutter + + - name: Save build artefact + uses: actions/upload-artifact@v1 + with: + name: Apolline.apk + path: apolline-flutter/build/app/outputs/apk/release/app-release.apk + + - name: Publish release + uses: ncipollo/release-action@v1 + with: + artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" + token: ${{ secrets.GITHUB_TOKEN }} + tag: android-latest + allowUpdates: true + body: This is the latest Android version of the Apolline application. + + + build-iOS: + name: Build iOS package + runs-on: macos-latest + needs: + - lint + + steps: + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Install Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + - name: Generate configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: Build iOS Apolline package + run: flutter build ios --release --no-codesign + working-directory: apolline-flutter + + - name: Save build artefact + uses: actions/upload-artifact@v1 + with: + name: Apolline.app + path: apolline-flutter/build/ios/iphoneos/Runner.app + + - name: Zip release + uses: papeloto/action-zip@v1 + with: + files: apolline-flutter/build/ios/iphoneos/Runner.app + dest: Apolline-iOS.zip + - name: Publish release + uses: ncipollo/release-action@v1 + with: + artifacts: "Apolline-iOS.zip" + token: ${{ secrets.GITHUB_TOKEN }} + tag: ios-latest + allowUpdates: true + body: This is the latest iOS version of the Apolline application. \ No newline at end of file From e1a8308ffea8916c3510e1dcba3750566159af80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 17:10:28 +0200 Subject: [PATCH 077/522] [chore] not publishing releases from other branches than develop --- .github/workflows/flutter_ci.yml | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index a5f67f8c..dcc138f0 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -76,15 +76,6 @@ jobs: name: Apolline.apk path: apolline-flutter/build/app/outputs/apk/release/app-release.apk - - name: Publish release - uses: ncipollo/release-action@v1 - with: - artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" - token: ${{ secrets.GITHUB_TOKEN }} - tag: android-latest - allowUpdates: true - body: This is the latest Android version of the Apolline application. - build-iOS: name: Build iOS package @@ -119,18 +110,4 @@ jobs: uses: actions/upload-artifact@v1 with: name: Apolline.app - path: apolline-flutter/build/ios/iphoneos/Runner.app - - - name: Zip release - uses: papeloto/action-zip@v1 - with: - files: apolline-flutter/build/ios/iphoneos/Runner.app - dest: Apolline-iOS.zip - - name: Publish release - uses: ncipollo/release-action@v1 - with: - artifacts: "Apolline-iOS.zip" - token: ${{ secrets.GITHUB_TOKEN }} - tag: ios-latest - allowUpdates: true - body: This is the latest iOS version of the Apolline application. \ No newline at end of file + path: apolline-flutter/build/ios/iphoneos/Runner.app \ No newline at end of file From 23da60d985fc0cdb8dc7e0822d9a7a26a64be020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 17:37:12 +0200 Subject: [PATCH 078/522] [fix] excluding develop/master branches from CI --- .github/workflows/flutter_ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index dcc138f0..df4aa0fa 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -1,5 +1,9 @@ name: Flutter CI -on: [push] +on: + push: + branches-ignore: + - master + - develop env: FLUTTER_VERSION: '2.0.3' @@ -110,4 +114,4 @@ jobs: uses: actions/upload-artifact@v1 with: name: Apolline.app - path: apolline-flutter/build/ios/iphoneos/Runner.app \ No newline at end of file + path: apolline-flutter/build/ios/iphoneos/Runner.app From 801be27afc63dbaa49f7ebb40bae79857250cef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 17:38:22 +0200 Subject: [PATCH 079/522] [fix] exporting release on master push --- .github/workflows/release_ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 187f482a..d1cc8ef8 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -3,6 +3,7 @@ on: push: branches: - develop + - master env: FLUTTER_VERSION: '2.0.3' @@ -136,4 +137,4 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: ios-latest allowUpdates: true - body: This is the latest iOS version of the Apolline application. \ No newline at end of file + body: This is the latest iOS version of the Apolline application. From 59819bc82896c996fcc19948106567f6cddb64fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 21 Jul 2021 19:04:09 +0200 Subject: [PATCH 080/522] [feat] writing compilation date in releases text --- .github/workflows/release_ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index d1cc8ef8..ce1108ce 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -73,6 +73,10 @@ jobs: - name: Build Apolline APK run: flutter build apk working-directory: apolline-flutter + + - name: Get compilation time + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M:%S')" - name: Save build artefact uses: actions/upload-artifact@v1 @@ -87,7 +91,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: android-latest allowUpdates: true - body: This is the latest Android version of the Apolline application. + body: This is the latest Android version of the Apolline application (created on ${{ steps.date.outputs.date }}). build-iOS: @@ -118,6 +122,10 @@ jobs: - name: Build iOS Apolline package run: flutter build ios --release --no-codesign working-directory: apolline-flutter + + - name: Get compilation time + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M:%S')" - name: Save build artefact uses: actions/upload-artifact@v1 @@ -129,7 +137,8 @@ jobs: uses: papeloto/action-zip@v1 with: files: apolline-flutter/build/ios/iphoneos/Runner.app - dest: Apolline-iOS.zip + dest: Apolline-iOS.zip + - name: Publish release uses: ncipollo/release-action@v1 with: @@ -137,4 +146,4 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: ios-latest allowUpdates: true - body: This is the latest iOS version of the Apolline application. + body: This is the latest iOS version of the Apolline application (created on ${{ steps.date.outputs.date }}). From e8f98797eb78cc24b9a1a515ea0f27903b3c8915 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 22 Jul 2021 13:00:50 +0200 Subject: [PATCH 081/522] [fix] excluding flutter_blue from minification --- apolline-flutter/android/app/build.gradle | 1 + apolline-flutter/android/app/proguard-rules.pro | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 apolline-flutter/android/app/proguard-rules.pro diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index f8d00ea1..727ccb74 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -51,6 +51,7 @@ android { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.debug + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } diff --git a/apolline-flutter/android/app/proguard-rules.pro b/apolline-flutter/android/app/proguard-rules.pro new file mode 100644 index 00000000..63aab142 --- /dev/null +++ b/apolline-flutter/android/app/proguard-rules.pro @@ -0,0 +1,2 @@ +# The protos need to have all their names and fields preserved. +-keep class com.pauldemarco.flutter_blue.Protos* { *; } \ No newline at end of file From 06cef08d9605954f01fea9bc3c19c6c763c63001 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 23 Jul 2021 16:42:18 +0200 Subject: [PATCH 082/522] [feat] synchronizing sensor clock with phone time at connection --- apolline-flutter/lib/sensor.dart | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 3937b17c..23f7edc5 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; @@ -142,8 +143,10 @@ class _SensorViewState extends State { }); /* Now we tell the sensor to start sending data by sending char 'c' (?) */ - timer = Timer(Duration(seconds: 5), () { + timer = Timer(Duration(seconds: 5), () async { //updateState("Starting up streaming"); + await this._synchronizeClock(c); + c.write([0x63]).then((s) { print("Requested streaming start"); }).catchError((e) { @@ -152,6 +155,20 @@ class _SensorViewState extends State { }); } + + Future _synchronizeClock (BluetoothCharacteristic device) { + print("Synchronizing clock"); + String command = "i"; + DateTime now = DateTime.now(); + String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; + String clockCommand = "$command$time"; + + return device.write(clockCommand.codeUnits) + .then((value) { return value; }) + .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); + } + + void handleServiceDiscovered(BluetoothService service) { if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); From 2b81315f7bfaef01482d70e56cd662d4c45ded2e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 23 Jul 2021 16:59:18 +0200 Subject: [PATCH 083/522] [fix] removing useless import --- apolline-flutter/lib/sensor.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 23f7edc5..5f1f15a0 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:io'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; From 4e7b1ff8c28ac4249d8c64a38a60163297f944fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 23 Jul 2021 22:52:34 +0200 Subject: [PATCH 084/522] [fix] clock synchronization is now done correctly We forgot to add NULL character at the end of the clock command instruction sended to the sensor, which prevented it from receiving any further command. --- apolline-flutter/lib/sensor.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor.dart index 5f1f15a0..fe9ed780 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor.dart @@ -161,8 +161,13 @@ class _SensorViewState extends State { DateTime now = DateTime.now(); String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; String clockCommand = "$command$time"; + + // converting command to bytes + List clockCommandBytes = clockCommand.codeUnits; + // adding NULL at the end of the command + List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); - return device.write(clockCommand.codeUnits) + return device.write(finalCommand) .then((value) { return value; }) .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); } From 82e5ab1729230a3a9f467c33fba8430a804256a7 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 23 Jul 2021 23:20:29 +0200 Subject: [PATCH 085/522] [refactor] renaming sensor to sensor_view --- .../lib/bluetoothDevicesPage.dart | 2 +- .../lib/{sensor.dart => sensor_view.dart} | 814 +++++++++--------- 2 files changed, 408 insertions(+), 408 deletions(-) rename apolline-flutter/lib/{sensor.dart => sensor_view.dart} (96%) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 76be3efe..75efd266 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,4 +1,4 @@ -import 'package:apollineflutter/sensor.dart'; +import 'package:apollineflutter/sensor_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; diff --git a/apolline-flutter/lib/sensor.dart b/apolline-flutter/lib/sensor_view.dart similarity index 96% rename from apolline-flutter/lib/sensor.dart rename to apolline-flutter/lib/sensor_view.dart index fe9ed780..271f3a1d 100644 --- a/apolline-flutter/lib/sensor.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,407 +1,407 @@ -import 'dart:async'; - -import 'package:apollineflutter/gattsample.dart'; -import 'package:apollineflutter/services/sqflite_service.dart'; -import 'package:apollineflutter/utils/position.dart'; -import 'package:apollineflutter/services/location_service.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_blue/flutter_blue.dart'; -import 'package:apollineflutter/models/sensor_device.dart'; -import 'package:apollineflutter/services/influxdb_client.dart'; -import 'models/sensormodel.dart'; -import 'services/realtime_data_service.dart'; -import 'services/service_locator.dart'; -import 'widgets/maps.dart'; -import 'widgets/quality.dart'; -import 'widgets/stats.dart'; -import 'package:apollineflutter/services/service_locator.dart'; - -enum ConnexionType { Normal, Disconnect } - -class SensorView extends StatefulWidget { - SensorView({Key key, this.device}) : super(key: key); - - final BluetoothDevice device; - - @override - State createState() => _SensorViewState(); -} - -class _SensorViewState extends State { - String state = "Connecting to the device..."; - String buf = ""; - SensorModel lastReceivedData; - bool initialized = false; - StreamSubscription subBluetoothState; //used for remove listening value to sensor - StreamSubscription subLocation; - bool isConnected = false; - List subs = []; //used for remove listening value to sensor - StreamSubscription subData; - bool showErrorAction = false; - Timer timer, timerSynchro; - ConnexionType connectType = ConnexionType.Normal; - GlobalKey _scaffoldKey = new GlobalKey(); - // use for influxDB to send data to the back - InfluxDBAPI _service = InfluxDBAPI(); - // use for sqfLite to save data in local - SqfLiteService _sqfLiteService = SqfLiteService(); - Position _currentPosition; - - RealtimeDataService _dataService = locator(); - - void initializeLocation() { - this.subLocation = SimpleLocationService().locationStream.listen((p) { - this._currentPosition = p; - }); - } - - @override - void initState() { - super.initState(); - initializeDevice(); - initializeLocation(); - //synchronisation data - this.timerSynchro = Timer.periodic(Duration(seconds: 120), (Timer t) => synchronizeData()); - } - - /* Called when data is received from the sensor */ - void _handleCharacteristicUpdate(List value) { - String s = String.fromCharCodes(value); - buf += s; - - if (buf.contains('\n')) { - print("Got full line: " + buf); - List values = buf.split(';'); - var position = this._currentPosition ?? Position(); - - var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); - _dataService.update(model); - /* insert to sqflite */ - _sqfLiteService.insertSensor(model.toJSON()); - - setState(() { - lastReceivedData = model; - initialized = true; - - /* Perform additional handling here */ - }); - buf = ""; - } - } - - // Synchronsation data sensor - void synchronizeData() { - // find all data not synchronisation - int pagination = 160; - _sqfLiteService.getAllSensorModelsNotSyncro().then((sensormodels) { - if (sensormodels.length > 0) { - // Pagination data before sending to influxDB - var iter = (sensormodels.length / pagination).ceil(); - for (var i = 0; i < iter; i++) { - int start = i * pagination; - int end = (i + 1) * pagination; - if (1 == iter || i + 1 == iter) { - end = sensormodels.length; - } - var sousList = sensormodels.sublist(start, end); - //Send data to influxDB - _service.write(SensorModel.sensorsFmtToInfluxData(sousList)).then((_) { - List ids = []; - sensormodels.forEach((sousList) { - ids.add(sousList.id); - }); - //Update data (synchronisation) in sqfLite - _sqfLiteService.updateSensorSynchronisation(ids); - }).catchError((error) { - print(error); - }); - } - } - }); - } - - void updateState(String st) { - print(st); - setState(() { - state = st; - }); - } - - /// - /// - void handleNotification(BluetoothCharacteristic c) { - subData = c.value.listen((value) { - if (connectType == ConnexionType.Disconnect) { - //tester si on est dans le cas d'une reconnexion - connectType = ConnexionType.Normal; - showSnackbar("Capteur reconnecté !"); - } - - _handleCharacteristicUpdate(value); - }); - - /* Now we tell the sensor to start sending data by sending char 'c' (?) */ - timer = Timer(Duration(seconds: 5), () async { - //updateState("Starting up streaming"); - await this._synchronizeClock(c); - - c.write([0x63]).then((s) { - print("Requested streaming start"); - }).catchError((e) { - print(e); - }); - }); - } - - - Future _synchronizeClock (BluetoothCharacteristic device) { - print("Synchronizing clock"); - String command = "i"; - DateTime now = DateTime.now(); - String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; - String clockCommand = "$command$time"; - - // converting command to bytes - List clockCommandBytes = clockCommand.codeUnits; - // adding NULL at the end of the command - List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); - - return device.write(finalCommand) - .then((value) { return value; }) - .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); - } - - - void handleServiceDiscovered(BluetoothService service) { - if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { - updateState("Blue Sensor Dust Sensor found - configuring characteristic"); - var characteristics = service.characteristics; - - /* Search for the Dust Sensor characteristic */ - for (BluetoothCharacteristic c in characteristics) { - if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID) { - updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); - - /* Enable notification */ - updateState("Enable notification"); - - c.setNotifyValue(true).then((s) { - /* Catch updates on characteristic */ - }).catchError((e) { - print(e); - }).whenComplete(() { - handleNotification(c); - }); - } - } - } - } - - /// - ///Allows you to give information when you are unable to reconnect - Future showInformation() async { - var text = "L'appareil sensor est soit éteint ou distant," + - "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;" + - " faite un retour en arrière ou fermé et réouvré l'application; " + - "sinon contactez l'administrateur"; - await showDialog( - context: context, - builder: (context) { - return SimpleDialog( - children: [ - Text(text), - ], - ); - }, - ); - } - - /// - ///Function to be executed after a connection - void postConnect() { - setState(() { - showErrorAction = false; - }); - handleDeviceConnect(widget.device); - } - - /// - ///Function to be executed after disconnection - void postDisconnect() { - buf = ""; - this.destroyStream(); - isConnected = false; - connectType = ConnexionType.Disconnect; //deconnexion - setState(() { - showErrorAction = true; - }); - showSnackbar("Connection perdu avec le capteur !"); - } - - ///use for prevent when setState call after dispose methode. - @override - void setState(fn) { - if (this.mounted) { - super.setState(fn); - } - } - - /// - ///Display a snackBar - void showSnackbar(String msg) { - var snackbar = SnackBar(content: Text(msg)); - if (_scaffoldKey != null && _scaffoldKey.currentState != null) { - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - // _scaffoldKey.currentState.hideCurrentSnackBar(); - ScaffoldMessenger.of(context).showSnackBar(snackbar); - // _scaffoldKey.currentState.showSnackBar(snackbar); - } - } - - /// - ///listen device state. - void listenDeviceState() { - this.subBluetoothState = widget.device.state.listen((state) { - if (state == BluetoothDeviceState.disconnecting) { - /*TODO: detectecter quand cela arrive */ - } else if (state == BluetoothDeviceState.disconnected) { - print("--------------------disconnected--------------"); - postDisconnect(); - } else if (state == BluetoothDeviceState.connected) { - print("--------------------connected--------------"); - if (connectType == ConnexionType.Disconnect && !isConnected) { - print("-------------------connectedExécute---------"); - postConnect(); - } - } else { - print("--------------------connecting------------"); - } - }); - } - - /// - /// - void handleDeviceConnect(BluetoothDevice d) { - if (!isConnected) { - isConnected = true; - updateState("Configuring device"); - d.discoverServices().then((s) { - /* Discover services, and search for the Dust Sensor service */ - s.forEach((service) { - handleServiceDiscovered(service); - }); - }); - } - } - - /// - /// - Future initializeDevice() async { - print("Connecting to device"); - - try { - await widget.device.connect(); - /* TODO: voir s'il ya possibilité de négocier le mtu */ - } catch (e) { - if (e.code != "already_connected") { - throw e; - } - } finally { - listenDeviceState(); - handleDeviceConnect(widget.device); - } - } - - /// - ///detroy partiel stream when loose connection. - void destroyStream() { - this.subData?.cancel(); - this.timer?.cancel(); - } - - @override - void dispose() { - this.destroyStream(); - this.subBluetoothState?.cancel(); - this.subLocation?.cancel(); - widget.device.disconnect(); - this.timerSynchro?.cancel(); - super.dispose(); - } - - /// - /// - List _buildAppBarAction() { - return showErrorAction - ? [ - IconButton( - icon: Icon(Icons.error), - onPressed: () { - showInformation(); - }) - ] - : []; - } - - /// - ///Called when press back button - Future _onWillPop() async { - Navigator.pop(context, isConnected); - return false; - } - - /* UI update only */ - @override - Widget build(BuildContext context) { - /* If we are not initialized, display status info */ - if (!initialized) { - return Scaffold( - key: _scaffoldKey, - appBar: AppBar( - title: Text(widget.device.name), - leading: IconButton( - icon: Icon(Icons.arrow_back), - onPressed: () { - Navigator.pop(context, isConnected); - }), - actions: _buildAppBarAction(), - ), - body: Center( - child: Column(children: [ - CupertinoActivityIndicator(), - Text(state), - ]), - ), - ); - } else { - /* We got data : display them */ - return WillPopScope( - onWillPop: _onWillPop, - child: MaterialApp( - home: DefaultTabController( - length: 3, - child: Scaffold( - key: _scaffoldKey, - appBar: AppBar( - backgroundColor: Colors.green, - bottom: TabBar( - tabs: [ - Tab(icon: Icon(Icons.home)), - Tab(icon: Icon(Icons.insert_chart)), - Tab(icon: Icon(Icons.map)), - ], - ), - title: Text('Apolline'), - ), - body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(dataSensor: lastReceivedData), - MapSample(), - ])), - ), - ), - ); - } - } -} +import 'dart:async'; + +import 'package:apollineflutter/gattsample.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; +import 'package:apollineflutter/utils/position.dart'; +import 'package:apollineflutter/services/location_service.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_blue/flutter_blue.dart'; +import 'package:apollineflutter/models/sensor_device.dart'; +import 'package:apollineflutter/services/influxdb_client.dart'; +import 'models/sensormodel.dart'; +import 'services/realtime_data_service.dart'; +import 'services/service_locator.dart'; +import 'widgets/maps.dart'; +import 'widgets/quality.dart'; +import 'widgets/stats.dart'; +import 'package:apollineflutter/services/service_locator.dart'; + +enum ConnexionType { Normal, Disconnect } + +class SensorView extends StatefulWidget { + SensorView({Key key, this.device}) : super(key: key); + + final BluetoothDevice device; + + @override + State createState() => _SensorViewState(); +} + +class _SensorViewState extends State { + String state = "Connecting to the device..."; + String buf = ""; + SensorModel lastReceivedData; + bool initialized = false; + StreamSubscription subBluetoothState; //used for remove listening value to sensor + StreamSubscription subLocation; + bool isConnected = false; + List subs = []; //used for remove listening value to sensor + StreamSubscription subData; + bool showErrorAction = false; + Timer timer, timerSynchro; + ConnexionType connectType = ConnexionType.Normal; + GlobalKey _scaffoldKey = new GlobalKey(); + // use for influxDB to send data to the back + InfluxDBAPI _service = InfluxDBAPI(); + // use for sqfLite to save data in local + SqfLiteService _sqfLiteService = SqfLiteService(); + Position _currentPosition; + + RealtimeDataService _dataService = locator(); + + void initializeLocation() { + this.subLocation = SimpleLocationService().locationStream.listen((p) { + this._currentPosition = p; + }); + } + + @override + void initState() { + super.initState(); + initializeDevice(); + initializeLocation(); + //synchronisation data + this.timerSynchro = Timer.periodic(Duration(seconds: 120), (Timer t) => synchronizeData()); + } + + /* Called when data is received from the sensor */ + void _handleCharacteristicUpdate(List value) { + String s = String.fromCharCodes(value); + buf += s; + + if (buf.contains('\n')) { + print("Got full line: " + buf); + List values = buf.split(';'); + var position = this._currentPosition ?? Position(); + + var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); + _dataService.update(model); + /* insert to sqflite */ + _sqfLiteService.insertSensor(model.toJSON()); + + setState(() { + lastReceivedData = model; + initialized = true; + + /* Perform additional handling here */ + }); + buf = ""; + } + } + + // Synchronsation data sensor + void synchronizeData() { + // find all data not synchronisation + int pagination = 160; + _sqfLiteService.getAllSensorModelsNotSyncro().then((sensormodels) { + if (sensormodels.length > 0) { + // Pagination data before sending to influxDB + var iter = (sensormodels.length / pagination).ceil(); + for (var i = 0; i < iter; i++) { + int start = i * pagination; + int end = (i + 1) * pagination; + if (1 == iter || i + 1 == iter) { + end = sensormodels.length; + } + var sousList = sensormodels.sublist(start, end); + //Send data to influxDB + _service.write(SensorModel.sensorsFmtToInfluxData(sousList)).then((_) { + List ids = []; + sensormodels.forEach((sousList) { + ids.add(sousList.id); + }); + //Update data (synchronisation) in sqfLite + _sqfLiteService.updateSensorSynchronisation(ids); + }).catchError((error) { + print(error); + }); + } + } + }); + } + + void updateState(String st) { + print(st); + setState(() { + state = st; + }); + } + + /// + /// + void handleNotification(BluetoothCharacteristic c) { + subData = c.value.listen((value) { + if (connectType == ConnexionType.Disconnect) { + //tester si on est dans le cas d'une reconnexion + connectType = ConnexionType.Normal; + showSnackbar("Capteur reconnecté !"); + } + + _handleCharacteristicUpdate(value); + }); + + /* Now we tell the sensor to start sending data by sending char 'c' (?) */ + timer = Timer(Duration(seconds: 5), () async { + //updateState("Starting up streaming"); + await this._synchronizeClock(c); + + c.write([0x63]).then((s) { + print("Requested streaming start"); + }).catchError((e) { + print(e); + }); + }); + } + + + Future _synchronizeClock (BluetoothCharacteristic device) { + print("Synchronizing clock"); + String command = "i"; + DateTime now = DateTime.now(); + String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; + String clockCommand = "$command$time"; + + // converting command to bytes + List clockCommandBytes = clockCommand.codeUnits; + // adding NULL at the end of the command + List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); + + return device.write(finalCommand) + .then((value) { return value; }) + .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); + } + + + void handleServiceDiscovered(BluetoothService service) { + if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { + updateState("Blue Sensor Dust Sensor found - configuring characteristic"); + var characteristics = service.characteristics; + + /* Search for the Dust Sensor characteristic */ + for (BluetoothCharacteristic c in characteristics) { + if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID) { + updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); + + /* Enable notification */ + updateState("Enable notification"); + + c.setNotifyValue(true).then((s) { + /* Catch updates on characteristic */ + }).catchError((e) { + print(e); + }).whenComplete(() { + handleNotification(c); + }); + } + } + } + } + + /// + ///Allows you to give information when you are unable to reconnect + Future showInformation() async { + var text = "L'appareil sensor est soit éteint ou distant," + + "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;" + + " faite un retour en arrière ou fermé et réouvré l'application; " + + "sinon contactez l'administrateur"; + await showDialog( + context: context, + builder: (context) { + return SimpleDialog( + children: [ + Text(text), + ], + ); + }, + ); + } + + /// + ///Function to be executed after a connection + void postConnect() { + setState(() { + showErrorAction = false; + }); + handleDeviceConnect(widget.device); + } + + /// + ///Function to be executed after disconnection + void postDisconnect() { + buf = ""; + this.destroyStream(); + isConnected = false; + connectType = ConnexionType.Disconnect; //deconnexion + setState(() { + showErrorAction = true; + }); + showSnackbar("Connection perdu avec le capteur !"); + } + + ///use for prevent when setState call after dispose methode. + @override + void setState(fn) { + if (this.mounted) { + super.setState(fn); + } + } + + /// + ///Display a snackBar + void showSnackbar(String msg) { + var snackbar = SnackBar(content: Text(msg)); + if (_scaffoldKey != null && _scaffoldKey.currentState != null) { + ScaffoldMessenger.of(context).hideCurrentSnackBar(); + // _scaffoldKey.currentState.hideCurrentSnackBar(); + ScaffoldMessenger.of(context).showSnackBar(snackbar); + // _scaffoldKey.currentState.showSnackBar(snackbar); + } + } + + /// + ///listen device state. + void listenDeviceState() { + this.subBluetoothState = widget.device.state.listen((state) { + if (state == BluetoothDeviceState.disconnecting) { + /*TODO: detectecter quand cela arrive */ + } else if (state == BluetoothDeviceState.disconnected) { + print("--------------------disconnected--------------"); + postDisconnect(); + } else if (state == BluetoothDeviceState.connected) { + print("--------------------connected--------------"); + if (connectType == ConnexionType.Disconnect && !isConnected) { + print("-------------------connectedExécute---------"); + postConnect(); + } + } else { + print("--------------------connecting------------"); + } + }); + } + + /// + /// + void handleDeviceConnect(BluetoothDevice d) { + if (!isConnected) { + isConnected = true; + updateState("Configuring device"); + d.discoverServices().then((s) { + /* Discover services, and search for the Dust Sensor service */ + s.forEach((service) { + handleServiceDiscovered(service); + }); + }); + } + } + + /// + /// + Future initializeDevice() async { + print("Connecting to device"); + + try { + await widget.device.connect(); + /* TODO: voir s'il ya possibilité de négocier le mtu */ + } catch (e) { + if (e.code != "already_connected") { + throw e; + } + } finally { + listenDeviceState(); + handleDeviceConnect(widget.device); + } + } + + /// + ///detroy partiel stream when loose connection. + void destroyStream() { + this.subData?.cancel(); + this.timer?.cancel(); + } + + @override + void dispose() { + this.destroyStream(); + this.subBluetoothState?.cancel(); + this.subLocation?.cancel(); + widget.device.disconnect(); + this.timerSynchro?.cancel(); + super.dispose(); + } + + /// + /// + List _buildAppBarAction() { + return showErrorAction + ? [ + IconButton( + icon: Icon(Icons.error), + onPressed: () { + showInformation(); + }) + ] + : []; + } + + /// + ///Called when press back button + Future _onWillPop() async { + Navigator.pop(context, isConnected); + return false; + } + + /* UI update only */ + @override + Widget build(BuildContext context) { + /* If we are not initialized, display status info */ + if (!initialized) { + return Scaffold( + key: _scaffoldKey, + appBar: AppBar( + title: Text(widget.device.name), + leading: IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pop(context, isConnected); + }), + actions: _buildAppBarAction(), + ), + body: Center( + child: Column(children: [ + CupertinoActivityIndicator(), + Text(state), + ]), + ), + ); + } else { + /* We got data : display them */ + return WillPopScope( + onWillPop: _onWillPop, + child: MaterialApp( + home: DefaultTabController( + length: 3, + child: Scaffold( + key: _scaffoldKey, + appBar: AppBar( + backgroundColor: Colors.green, + bottom: TabBar( + tabs: [ + Tab(icon: Icon(Icons.home)), + Tab(icon: Icon(Icons.insert_chart)), + Tab(icon: Icon(Icons.map)), + ], + ), + title: Text('Apolline'), + ), + body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(dataSensor: lastReceivedData), + MapSample(), + ])), + ), + ), + ); + } + } +} From 27b0f2aca0d19f890244349605b9a7d898b0b9cb Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 00:29:36 +0200 Subject: [PATCH 086/522] [feat] adding sensor twin skeleton --- apolline-flutter/lib/twins/SensorTwin.dart | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 apolline-flutter/lib/twins/SensorTwin.dart diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart new file mode 100644 index 00000000..22d8710b --- /dev/null +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -0,0 +1,29 @@ +class SensorTwin { + String _uuid; + bool _isSendingData; + bool _isSendingHistory; + + + String get uuid { + return this._uuid; + } + + + /// Starts sending data live (one point every second) through Bluetooth + /// connection. + /// Does nothing if data transmission is already in progress. + Future launchDataLiveTransmission () {} + + /// Stops sending data. + /// Does nothing if data transmission is not in progress. + Future stopDataLiveTransmission () {} + + + /// Starts sending data stored on the SD card. + /// Does nothing is history transmission is already in progress. + Future launchHistoryTransmission () {} + + + /// Synchronises internal clock with phone's time. + Future synchronizeClock () {} +} \ No newline at end of file From c6467eb75edab6d05d447fed31d9759303963298 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 01:22:01 +0200 Subject: [PATCH 087/522] [feat] adding sensor events and associated callbacks architecture --- apolline-flutter/lib/twins/SensorTwin.dart | 7 +++++++ apolline-flutter/lib/twins/SensorTwinEvent.dart | 6 ++++++ 2 files changed, 13 insertions(+) create mode 100644 apolline-flutter/lib/twins/SensorTwinEvent.dart diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 22d8710b..33a8b5d0 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -1,7 +1,10 @@ +import 'package:apollineflutter/twins/SensorTwinEvent.dart'; + class SensorTwin { String _uuid; bool _isSendingData; bool _isSendingHistory; + Map _callbacks; String get uuid { @@ -26,4 +29,8 @@ class SensorTwin { /// Synchronises internal clock with phone's time. Future synchronizeClock () {} + + + /// Registers a function to be called when new data is produced. + void on (SensorTwinEvent event, SensorTwinEventCallback callback) {} } \ No newline at end of file diff --git a/apolline-flutter/lib/twins/SensorTwinEvent.dart b/apolline-flutter/lib/twins/SensorTwinEvent.dart new file mode 100644 index 00000000..2148a36b --- /dev/null +++ b/apolline-flutter/lib/twins/SensorTwinEvent.dart @@ -0,0 +1,6 @@ +enum SensorTwinEvent { + history_data, + live_data +} + +typedef void SensorTwinEventCallback (String data); \ No newline at end of file From 1f7d3d67e3ad1efc0684003d7f642c20d7455f8c Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 15:47:33 +0200 Subject: [PATCH 088/522] [feat] building a SensorTwin with a BluetoothCharacteristic as argument --- apolline-flutter/lib/sensor_view.dart | 6 ++++++ apolline-flutter/lib/twins/SensorTwin.dart | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 271f3a1d..85855b26 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; +import 'package:apollineflutter/twins/SensorTwin.dart'; import 'package:apollineflutter/utils/position.dart'; import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; @@ -47,6 +48,7 @@ class _SensorViewState extends State { // use for sqfLite to save data in local SqfLiteService _sqfLiteService = SqfLiteService(); Position _currentPosition; + SensorTwin _sensor; RealtimeDataService _dataService = locator(); @@ -186,6 +188,10 @@ class _SensorViewState extends State { /* Enable notification */ updateState("Enable notification"); + /* Building sensor instance */ + this._sensor = SensorTwin(device: c); + + c.setNotifyValue(true).then((s) { /* Catch updates on characteristic */ }).catchError((e) { diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 33a8b5d0..750b67fb 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -1,14 +1,22 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter_blue/flutter_blue.dart'; class SensorTwin { String _uuid; + BluetoothCharacteristic _device; bool _isSendingData; bool _isSendingHistory; Map _callbacks; + SensorTwin({@required BluetoothCharacteristic device}) { + this._device = device; + } + + String get uuid { - return this._uuid; + return this._device.uuid.toString(); } From e29dbcb5789817a08019f289dffe6f0f55b344e5 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 17:07:59 +0200 Subject: [PATCH 089/522] [refactor] moving synchronizeClock method into SensorTwin --- apolline-flutter/lib/sensor_view.dart | 20 +------------------- apolline-flutter/lib/twins/SensorTwin.dart | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 85855b26..45374fbd 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -146,7 +146,7 @@ class _SensorViewState extends State { /* Now we tell the sensor to start sending data by sending char 'c' (?) */ timer = Timer(Duration(seconds: 5), () async { //updateState("Starting up streaming"); - await this._synchronizeClock(c); + await this._sensor.synchronizeClock(); c.write([0x63]).then((s) { print("Requested streaming start"); @@ -157,24 +157,6 @@ class _SensorViewState extends State { } - Future _synchronizeClock (BluetoothCharacteristic device) { - print("Synchronizing clock"); - String command = "i"; - DateTime now = DateTime.now(); - String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; - String clockCommand = "$command$time"; - - // converting command to bytes - List clockCommandBytes = clockCommand.codeUnits; - // adding NULL at the end of the command - List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); - - return device.write(finalCommand) - .then((value) { return value; }) - .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); - } - - void handleServiceDiscovered(BluetoothService service) { if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 750b67fb..e76148a6 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -36,7 +36,22 @@ class SensorTwin { /// Synchronises internal clock with phone's time. - Future synchronizeClock () {} + Future synchronizeClock () { + print("Synchronizing clock"); + String command = "i"; + DateTime now = DateTime.now(); + String time = "${now.hour};${now.minute};${now.second};${now.day};${now.month};${now.year}"; + String clockCommand = "$command$time"; + + // converting command to bytes + List clockCommandBytes = clockCommand.codeUnits; + // adding NULL at the end of the command + List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); + + return _device.write(finalCommand) + .then((value) { return value; }) + .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); + } /// Registers a function to be called when new data is produced. From 8f9bfed48384c57d2e51712255f75427b46dc396 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 17:17:06 +0200 Subject: [PATCH 090/522] [feat] sensor can start live data transmission --- apolline-flutter/lib/sensor_view.dart | 7 +------ apolline-flutter/lib/twins/SensorTwin.dart | 13 ++++++++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 45374fbd..a2ef0eef 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -147,12 +147,7 @@ class _SensorViewState extends State { timer = Timer(Duration(seconds: 5), () async { //updateState("Starting up streaming"); await this._sensor.synchronizeClock(); - - c.write([0x63]).then((s) { - print("Requested streaming start"); - }).catchError((e) { - print(e); - }); + this._sensor.launchDataLiveTransmission(); }); } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index e76148a6..c9c14bd8 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -12,6 +12,8 @@ class SensorTwin { SensorTwin({@required BluetoothCharacteristic device}) { this._device = device; + this._isSendingData = false; + this._isSendingHistory = false; } @@ -23,7 +25,16 @@ class SensorTwin { /// Starts sending data live (one point every second) through Bluetooth /// connection. /// Does nothing if data transmission is already in progress. - Future launchDataLiveTransmission () {} + Future launchDataLiveTransmission () { + if (_isSendingData) return null; + _isSendingData = true; + + return _device.write([0x63]).then((s) { + print("Requested streaming start"); + }).catchError((e) { + print(e); + }); + } /// Stops sending data. /// Does nothing if data transmission is not in progress. From 84a5c32e91443a7a279198de67a85dd02e8fa9a0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 17:43:06 +0200 Subject: [PATCH 091/522] [feat] registering event callbacks in SensorTwin --- apolline-flutter/lib/sensor_view.dart | 4 ++++ apolline-flutter/lib/twins/SensorTwin.dart | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index a2ef0eef..09f0e98e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; +import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/position.dart'; import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; @@ -167,6 +168,9 @@ class _SensorViewState extends State { /* Building sensor instance */ this._sensor = SensorTwin(device: c); + this._sensor.on(SensorTwinEvent.live_data, (data) { + print('new live data:\n$data'); + }); c.setNotifyValue(true).then((s) { diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c9c14bd8..87207355 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -14,6 +14,7 @@ class SensorTwin { this._device = device; this._isSendingData = false; this._isSendingHistory = false; + this._callbacks = Map(); } @@ -66,5 +67,7 @@ class SensorTwin { /// Registers a function to be called when new data is produced. - void on (SensorTwinEvent event, SensorTwinEventCallback callback) {} + void on (SensorTwinEvent event, SensorTwinEventCallback callback) { + _callbacks[event] = callback; + } } \ No newline at end of file From dc57cf06436e0941c1e180c54a06ee7519ad10bd Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 18:24:43 +0200 Subject: [PATCH 092/522] [refactor] moving listeners set up in SensorTwin --- apolline-flutter/lib/sensor_view.dart | 38 +++------------------- apolline-flutter/lib/twins/SensorTwin.dart | 28 ++++++++++++++++ 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 09f0e98e..0e4e70cd 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -69,9 +69,8 @@ class _SensorViewState extends State { } /* Called when data is received from the sensor */ - void _handleCharacteristicUpdate(List value) { - String s = String.fromCharCodes(value); - buf += s; + void _handleSensorUpdate(String message) { + buf += message; if (buf.contains('\n')) { print("Got full line: " + buf); @@ -131,27 +130,6 @@ class _SensorViewState extends State { }); } - /// - /// - void handleNotification(BluetoothCharacteristic c) { - subData = c.value.listen((value) { - if (connectType == ConnexionType.Disconnect) { - //tester si on est dans le cas d'une reconnexion - connectType = ConnexionType.Normal; - showSnackbar("Capteur reconnecté !"); - } - - _handleCharacteristicUpdate(value); - }); - - /* Now we tell the sensor to start sending data by sending char 'c' (?) */ - timer = Timer(Duration(seconds: 5), () async { - //updateState("Starting up streaming"); - await this._sensor.synchronizeClock(); - this._sensor.launchDataLiveTransmission(); - }); - } - void handleServiceDiscovered(BluetoothService service) { if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { @@ -169,17 +147,9 @@ class _SensorViewState extends State { /* Building sensor instance */ this._sensor = SensorTwin(device: c); this._sensor.on(SensorTwinEvent.live_data, (data) { - print('new live data:\n$data'); - }); - - - c.setNotifyValue(true).then((s) { - /* Catch updates on characteristic */ - }).catchError((e) { - print(e); - }).whenComplete(() { - handleNotification(c); + _handleSensorUpdate(data); }); + this._sensor.start(); } } } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 87207355..5fd5dcc1 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -70,4 +72,30 @@ class SensorTwin { void on (SensorTwinEvent event, SensorTwinEventCallback callback) { _callbacks[event] = callback; } + + + Future _setUpListeners () { + return _device.setNotifyValue(true).then((s) { + /* Catch updates on characteristic */ + }).catchError((e) { + print(e); + }).whenComplete(() { + + _device.value.listen((value) { + String message = String.fromCharCodes(value); + + if (_isSendingData && _callbacks.containsKey(SensorTwinEvent.live_data)) { + _callbacks[SensorTwinEvent.live_data](message); + } else if (_isSendingHistory && _callbacks.containsKey(SensorTwinEvent.history_data)) { + _callbacks[SensorTwinEvent.history_data](message); + } + }); + }); + } + + void start () async { + await _setUpListeners(); + await synchronizeClock(); + launchDataLiveTransmission(); + } } \ No newline at end of file From aa7b29f777c0d7f5baa5c4084565dfb841dfb4ec Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 22:16:40 +0200 Subject: [PATCH 093/522] [feat] adding SensorTwin.init method --- apolline-flutter/lib/sensor_view.dart | 2 +- apolline-flutter/lib/twins/SensorTwin.dart | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0e4e70cd..ad3f8c1b 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -149,7 +149,7 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); - this._sensor.start(); + this._sensor.init().then((value) => this._sensor.launchDataLiveTransmission()); } } } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 5fd5dcc1..7bb2af12 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -74,6 +74,7 @@ class SensorTwin { } + /// Redistributes sensor data to registered callbacks. Future _setUpListeners () { return _device.setNotifyValue(true).then((s) { /* Catch updates on characteristic */ @@ -93,9 +94,11 @@ class SensorTwin { }); } - void start () async { + + /// Sets up listeners and synchronises sensor clock. + /// Must be called before starting data transmission. + Future init () async { await _setUpListeners(); await synchronizeClock(); - launchDataLiveTransmission(); } } \ No newline at end of file From ea8e9cb7000938c4b663aff931cdaef5192f7bf2 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 22:43:30 +0200 Subject: [PATCH 094/522] [refactor] updating information messages --- apolline-flutter/lib/sensor_view.dart | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index ad3f8c1b..d8f432a2 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -131,7 +131,7 @@ class _SensorViewState extends State { } - void handleServiceDiscovered(BluetoothService service) { + Future handleServiceDiscovered(BluetoothService service) async { if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); var characteristics = service.characteristics; @@ -139,17 +139,14 @@ class _SensorViewState extends State { /* Search for the Dust Sensor characteristic */ for (BluetoothCharacteristic c in characteristics) { if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID) { - updateState("Characteristic found - reading, NOtification flag is " + c.properties.notify.toString()); - - /* Enable notification */ - updateState("Enable notification"); - - /* Building sensor instance */ + updateState("Setting up listeners..."); this._sensor = SensorTwin(device: c); this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); - this._sensor.init().then((value) => this._sensor.launchDataLiveTransmission()); + await this._sensor.init(); + await this._sensor.launchDataLiveTransmission(); + updateState("Waiting for sensor data..."); } } } From 985658e771562b94976f390df58b5439728a3cc8 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 23:01:36 +0200 Subject: [PATCH 095/522] [fix] adding EOF at the end of write command --- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 7bb2af12..5e6eeb7e 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -32,7 +32,7 @@ class SensorTwin { if (_isSendingData) return null; _isSendingData = true; - return _device.write([0x63]).then((s) { + return _device.write([0x63, 0]).then((s) { print("Requested streaming start"); }).catchError((e) { print(e); From 02fab920b690de02aa093c19220c2ead4a38ba0c Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 23:14:08 +0200 Subject: [PATCH 096/522] [docs] adding SensorTwin documentation --- apolline-flutter/lib/twins/SensorTwin.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 5e6eeb7e..571a8bdd 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -4,6 +4,20 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; + + +/// +/// This class acts as a digital twin for air quality sensors. +/// +/// Through it, a sensor can be activated, clock-synchronized with a phone, +/// and asked to transmit data. +/// +/// Data can be received in two ways: +/// * live; sensor sends data in real time (approximately one point per second) +/// * history; sensor sends all data it gathered in the past. +/// +/// To access these data, one can subscribe to data events using the "on" method. +/// class SensorTwin { String _uuid; BluetoothCharacteristic _device; From cb5680c3348edddd080efe54abe2a6e29efb48da Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 24 Jul 2021 23:20:19 +0200 Subject: [PATCH 097/522] [refactor] removing useless SensorTwin._uuid attribute --- apolline-flutter/lib/twins/SensorTwin.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 571a8bdd..c3bc1d14 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -19,7 +19,6 @@ import 'package:flutter_blue/flutter_blue.dart'; /// To access these data, one can subscribe to data events using the "on" method. /// class SensorTwin { - String _uuid; BluetoothCharacteristic _device; bool _isSendingData; bool _isSendingHistory; From a5daee01bbbb5180d8d09570793803482e667a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 9 Aug 2021 10:12:34 +0200 Subject: [PATCH 098/522] [docs] adding TODO notes to future sensor twin methods --- apolline-flutter/lib/twins/SensorTwin.dart | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c3bc1d14..0f19b84c 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -54,12 +54,18 @@ class SensorTwin { /// Stops sending data. /// Does nothing if data transmission is not in progress. - Future stopDataLiveTransmission () {} + /// TODO implement + Future stopDataLiveTransmission () { + return null; + } /// Starts sending data stored on the SD card. /// Does nothing is history transmission is already in progress. - Future launchHistoryTransmission () {} + /// TODO implement + Future launchHistoryTransmission () { + return null; + } /// Synchronises internal clock with phone's time. From 6e7dec0d7f5a724d48f353e5e3cc811dbb0c94d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 9 Aug 2021 16:43:35 +0200 Subject: [PATCH 099/522] [fix] correctly importing device name from JSON while building sensor model --- apolline-flutter/lib/models/sensormodel.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/models/sensormodel.dart b/apolline-flutter/lib/models/sensormodel.dart index 5c05da17..b1735133 100644 --- a/apolline-flutter/lib/models/sensormodel.dart +++ b/apolline-flutter/lib/models/sensormodel.dart @@ -133,7 +133,7 @@ class SensorModel { : this.bdd( id: json['id'], values: json['value'].split('|'), - device: SensorDevice.fromNameAndUId(json['name'], json['uuid']), + device: SensorDevice.fromNameAndUId(json['deviceName'], json['uuid']), position: Position(geohash: json['geohash'], provider: json['provider'], transport: json['transport']), date: json['date']); } From 829430be45e2b1ca69ddce01d8ea2bc64ba1cc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 10:48:55 +0200 Subject: [PATCH 100/522] [refactor] removing useless SensorDevice class --- .../lib/models/sensor_device.dart | 34 ------------------- apolline-flutter/lib/models/sensormodel.dart | 14 ++++---- apolline-flutter/lib/sensor_view.dart | 3 +- 3 files changed, 7 insertions(+), 44 deletions(-) delete mode 100644 apolline-flutter/lib/models/sensor_device.dart diff --git a/apolline-flutter/lib/models/sensor_device.dart b/apolline-flutter/lib/models/sensor_device.dart deleted file mode 100644 index 0a49360b..00000000 --- a/apolline-flutter/lib/models/sensor_device.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter_blue/flutter_blue.dart'; - -/// Authors BARRY Issagha, GDISSA Ramy -/// -class SensorDevice { - BluetoothDevice _device; - String _name; - - /// Authors BARRY Issagha, GDISSA Ramy - ///constructor - SensorDevice(this._device); - - SensorDevice.fromNameAndUId(name, uuid) { - this._name = name; - } - - /// - ///return the name of sensor device - String get deviceName { - return this._device?.name ?? this._name; - } - - /// - ///get the id of sensor bluetooth - String get id { - return this._device.id.toString(); - } - - /// - /// - BluetoothDevice get device { - return this._device; - } -} diff --git a/apolline-flutter/lib/models/sensormodel.dart b/apolline-flutter/lib/models/sensormodel.dart index b1735133..f6bb9f85 100644 --- a/apolline-flutter/lib/models/sensormodel.dart +++ b/apolline-flutter/lib/models/sensormodel.dart @@ -1,4 +1,3 @@ -import 'package:apollineflutter/models/sensor_device.dart'; import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/utils/position.dart'; @@ -27,7 +26,7 @@ class SensorModel { static const int SENSOR_PM_ABOVE_2_5 = 7; static const int SENSOR_PM_ABOVE_5 = 8; static const int SENSOR_PM_ABOVE_10 = 9; - SensorDevice device; + String sensorName; int _date; int id; Position position; @@ -37,14 +36,14 @@ class SensorModel { /// ///constructor of senorModel. - SensorModel({this.values, this.device, this.position}) { + SensorModel({this.values, this.sensorName, this.position}) { this._date = DateTime.now().millisecondsSinceEpoch; } /// ///constructor of senorModel with date. // ignore: non_constant_identifier_names - SensorModel.bdd({this.id, this.values, this.device, this.position, date}) { + SensorModel.bdd({this.id, this.values, this.sensorName, this.position, date}) { this._date = date; } @@ -79,9 +78,8 @@ class SensorModel { var provider = this.position?.provider ?? "no"; var geohash = this.position?.geohash ?? "no"; var transport = this.position?.transport ?? "no"; - var deviceName = device?.deviceName ?? "Apolline00"; return "$propertie,uuid=${BlueSensorAttributes.dustSensorServiceUUID}," + - "device=$deviceName,provider=$provider,geohash=$geohash,transport=$transport," + + "device=$sensorName,provider=$provider,geohash=$geohash,transport=$transport," + "unit=$unit value=$value ${_date * 1000000}"; } @@ -117,7 +115,7 @@ class SensorModel { // Format Json of sensorModel Map toJSON() { var json = Map(); - json["deviceName"] = device?.deviceName ?? "Apolline00"; + json["deviceName"] = sensorName; json["uuid"] = BlueSensorAttributes.dustSensorServiceUUID; json["provider"] = this.position?.provider ?? "no"; json["geohash"] = this.position?.geohash ?? "no"; @@ -133,7 +131,7 @@ class SensorModel { : this.bdd( id: json['id'], values: json['value'].split('|'), - device: SensorDevice.fromNameAndUId(json['deviceName'], json['uuid']), + sensorName: json['deviceName'], position: Position(geohash: json['geohash'], provider: json['provider'], transport: json['transport']), date: json['date']); } diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d8f432a2..cb9d5acd 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -9,7 +9,6 @@ import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -import 'package:apollineflutter/models/sensor_device.dart'; import 'package:apollineflutter/services/influxdb_client.dart'; import 'models/sensormodel.dart'; import 'services/realtime_data_service.dart'; @@ -77,7 +76,7 @@ class _SensorViewState extends State { List values = buf.split(';'); var position = this._currentPosition ?? Position(); - var model = SensorModel(values: values, device: SensorDevice(widget.device), position: position); + var model = SensorModel(values: values, sensorName: widget.device.name, position: position); _dataService.update(model); /* insert to sqflite */ _sqfLiteService.insertSensor(model.toJSON()); From 6e7c184423b5ea3ea697a1b215c20271c28e24d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 11:46:36 +0200 Subject: [PATCH 101/522] [refactor] putting initialization methods on top of the file --- apolline-flutter/lib/sensor_view.dart | 79 ++++++++++++++------------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index cb9d5acd..175fc588 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -52,11 +52,6 @@ class _SensorViewState extends State { RealtimeDataService _dataService = locator(); - void initializeLocation() { - this.subLocation = SimpleLocationService().locationStream.listen((p) { - this._currentPosition = p; - }); - } @override void initState() { @@ -67,6 +62,32 @@ class _SensorViewState extends State { this.timerSynchro = Timer.periodic(Duration(seconds: 120), (Timer t) => synchronizeData()); } + + /// + /// + Future initializeDevice() async { + print("Connecting to device"); + + try { + await widget.device.connect(); + /* TODO: voir s'il ya possibilité de négocier le mtu */ + } catch (e) { + if (e.code != "already_connected") { + throw e; + } + } finally { + listenDeviceState(); + handleDeviceConnect(widget.device); + } + } + + void initializeLocation() { + this.subLocation = SimpleLocationService().locationStream.listen((p) { + this._currentPosition = p; + }); + } + + /* Called when data is received from the sensor */ void _handleSensorUpdate(String message) { buf += message; @@ -130,6 +151,22 @@ class _SensorViewState extends State { } + /// + /// + void handleDeviceConnect(BluetoothDevice d) { + if (!isConnected) { + isConnected = true; + updateState("Configuring device"); + d.discoverServices().then((s) { + /* Discover services, and search for the Dust Sensor service */ + s.forEach((service) { + handleServiceDiscovered(service); + }); + }); + } + } + + Future handleServiceDiscovered(BluetoothService service) async { if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { updateState("Blue Sensor Dust Sensor found - configuring characteristic"); @@ -233,38 +270,6 @@ class _SensorViewState extends State { }); } - /// - /// - void handleDeviceConnect(BluetoothDevice d) { - if (!isConnected) { - isConnected = true; - updateState("Configuring device"); - d.discoverServices().then((s) { - /* Discover services, and search for the Dust Sensor service */ - s.forEach((service) { - handleServiceDiscovered(service); - }); - }); - } - } - - /// - /// - Future initializeDevice() async { - print("Connecting to device"); - - try { - await widget.device.connect(); - /* TODO: voir s'il ya possibilité de négocier le mtu */ - } catch (e) { - if (e.code != "already_connected") { - throw e; - } - } finally { - listenDeviceState(); - handleDeviceConnect(widget.device); - } - } /// ///detroy partiel stream when loose connection. From 0db87d5219e9ff68aca18c48546ab3504317c246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 12:27:11 +0200 Subject: [PATCH 102/522] [refactor] directly filtering sensor bluetooth characteristic --- apolline-flutter/lib/sensor_view.dart | 43 +++++++++++---------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 175fc588..8f157c62 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -153,41 +153,32 @@ class _SensorViewState extends State { /// /// - void handleDeviceConnect(BluetoothDevice d) { + void handleDeviceConnect(BluetoothDevice d) async { if (!isConnected) { isConnected = true; updateState("Configuring device"); - d.discoverServices().then((s) { - /* Discover services, and search for the Dust Sensor service */ - s.forEach((service) { - handleServiceDiscovered(service); - }); - }); + + List services = await d.discoverServices(); + BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); + BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); + + setUpSensor(characteristic); } } - Future handleServiceDiscovered(BluetoothService service) async { - if (service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID) { - updateState("Blue Sensor Dust Sensor found - configuring characteristic"); - var characteristics = service.characteristics; - - /* Search for the Dust Sensor characteristic */ - for (BluetoothCharacteristic c in characteristics) { - if (c.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID) { - updateState("Setting up listeners..."); - this._sensor = SensorTwin(device: c); - this._sensor.on(SensorTwinEvent.live_data, (data) { - _handleSensorUpdate(data); - }); - await this._sensor.init(); - await this._sensor.launchDataLiveTransmission(); - updateState("Waiting for sensor data..."); - } - } - } + Future setUpSensor(BluetoothCharacteristic characteristic) async { + updateState("Setting up listeners..."); + this._sensor = SensorTwin(device: characteristic); + this._sensor.on(SensorTwinEvent.live_data, (data) { + _handleSensorUpdate(data); + }); + await this._sensor.init(); + await this._sensor.launchDataLiveTransmission(); + updateState("Waiting for sensor data..."); } + /// ///Allows you to give information when you are unable to reconnect Future showInformation() async { From d2f04c9493883e8ecec570d93c3e649920abf958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 13:29:04 +0200 Subject: [PATCH 103/522] [docs] adding documentation to device connect methods --- apolline-flutter/lib/sensor_view.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 8f157c62..15392a24 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -152,6 +152,7 @@ class _SensorViewState extends State { /// + /// Retrieves Bluetooth information from a Bluetooth device. /// void handleDeviceConnect(BluetoothDevice d) async { if (!isConnected) { @@ -166,7 +167,10 @@ class _SensorViewState extends State { } } - + /// + /// Builds up a sensor instance from a device's bluetooth characteristic. + /// Sets up data listeners before starting live data transfer. + /// Future setUpSensor(BluetoothCharacteristic characteristic) async { updateState("Setting up listeners..."); this._sensor = SensorTwin(device: characteristic); From 48d30b7d460ad2e464bc2817341547d2ac8fd3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 14:22:04 +0200 Subject: [PATCH 104/522] [refactor] rewriting synchronizeData method for more clarity --- apolline-flutter/lib/sensor_view.dart | 54 +++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 15392a24..7faf0483 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -112,35 +112,35 @@ class _SensorViewState extends State { } } - // Synchronsation data sensor - void synchronizeData() { - // find all data not synchronisation + /// + /// Retrieves all data points from local database that have not been sent + /// to InfluxDB yet, and sends them. + /// + void synchronizeData() async { + // find not-synchronized data int pagination = 160; - _sqfLiteService.getAllSensorModelsNotSyncro().then((sensormodels) { - if (sensormodels.length > 0) { - // Pagination data before sending to influxDB - var iter = (sensormodels.length / pagination).ceil(); - for (var i = 0; i < iter; i++) { - int start = i * pagination; - int end = (i + 1) * pagination; - if (1 == iter || i + 1 == iter) { - end = sensormodels.length; - } - var sousList = sensormodels.sublist(start, end); - //Send data to influxDB - _service.write(SensorModel.sensorsFmtToInfluxData(sousList)).then((_) { - List ids = []; - sensormodels.forEach((sousList) { - ids.add(sousList.id); - }); - //Update data (synchronisation) in sqfLite - _sqfLiteService.updateSensorSynchronisation(ids); - }).catchError((error) { - print(error); - }); - } + List dataPoints = await _sqfLiteService.getAllSensorModelsNotSyncro(); + if (dataPoints.length == 0) return; + + // Paginating data before sending to influxDB + var iter = (dataPoints.length / pagination).ceil(); + for (var i = 0; i < iter; i++) { + int start = i * pagination; + int end = (i + 1) * pagination; + if (1 == iter || i + 1 == iter) { + end = dataPoints.length; } - }); + var sousList = dataPoints.sublist(start, end); + + // Send data to influxDB + await _service.write(SensorModel.sensorsFmtToInfluxData(sousList)); + List ids = []; + dataPoints.forEach((sousList) { + ids.add(sousList.id); + }); + // Update local data in sqfLite + _sqfLiteService.updateSensorSynchronisation(ids); + } } void updateState(String st) { From 7a6661e55842e145729e258adabf18393dedec1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 14:38:23 +0200 Subject: [PATCH 105/522] [refactor] building sensor twin with builder class --- apolline-flutter/lib/sensor_view.dart | 30 +++++-------------- .../lib/twins/SensorTwinBuilder.dart | 17 +++++++++++ 2 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 apolline-flutter/lib/twins/SensorTwinBuilder.dart diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 7faf0483..ac471e14 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,8 +1,7 @@ import 'dart:async'; - -import 'package:apollineflutter/gattsample.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; +import 'package:apollineflutter/twins/SensorTwinBuilder.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/position.dart'; import 'package:apollineflutter/services/location_service.dart'; @@ -152,28 +151,15 @@ class _SensorViewState extends State { /// - /// Retrieves Bluetooth information from a Bluetooth device. - /// - void handleDeviceConnect(BluetoothDevice d) async { - if (!isConnected) { - isConnected = true; - updateState("Configuring device"); - - List services = await d.discoverServices(); - BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); - BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); - - setUpSensor(characteristic); - } - } - - /// - /// Builds up a sensor instance from a device's bluetooth characteristic. + /// Builds up a sensor instance from a Bluetooth device. /// Sets up data listeners before starting live data transfer. /// - Future setUpSensor(BluetoothCharacteristic characteristic) async { - updateState("Setting up listeners..."); - this._sensor = SensorTwin(device: characteristic); + void handleDeviceConnect(BluetoothDevice device) async { + if (isConnected) return; + isConnected = true; + + updateState("Configuring device"); + this._sensor = await SensorTwinBuilder.buildSensor(device); this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); diff --git a/apolline-flutter/lib/twins/SensorTwinBuilder.dart b/apolline-flutter/lib/twins/SensorTwinBuilder.dart new file mode 100644 index 00000000..48b71505 --- /dev/null +++ b/apolline-flutter/lib/twins/SensorTwinBuilder.dart @@ -0,0 +1,17 @@ +import 'package:apollineflutter/twins/SensorTwin.dart'; +import 'package:flutter_blue/flutter_blue.dart'; +import '../gattsample.dart'; + +class SensorTwinBuilder { + static Future buildSensor (BluetoothDevice device) async { + BluetoothCharacteristic characteristic = await _retrieveSensorCharacteristic(device); + return SensorTwin(device: characteristic); + } + + static Future _retrieveSensorCharacteristic (BluetoothDevice device) async { + List services = await device.discoverServices(); + BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); + BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); + return characteristic; + } +} \ No newline at end of file From 5e41a0406848742aea9e2ca07a8d36ba4a71e556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 14:41:42 +0200 Subject: [PATCH 106/522] [fix] sensor twin bluetooth characteristic now has correct name --- apolline-flutter/lib/twins/SensorTwin.dart | 16 ++++++++-------- .../lib/twins/SensorTwinBuilder.dart | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 0f19b84c..df588fec 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -19,14 +19,14 @@ import 'package:flutter_blue/flutter_blue.dart'; /// To access these data, one can subscribe to data events using the "on" method. /// class SensorTwin { - BluetoothCharacteristic _device; + BluetoothCharacteristic _characteristic; bool _isSendingData; bool _isSendingHistory; Map _callbacks; - SensorTwin({@required BluetoothCharacteristic device}) { - this._device = device; + SensorTwin({@required BluetoothCharacteristic characteristic}) { + this._characteristic = characteristic; this._isSendingData = false; this._isSendingHistory = false; this._callbacks = Map(); @@ -34,7 +34,7 @@ class SensorTwin { String get uuid { - return this._device.uuid.toString(); + return this._characteristic.uuid.toString(); } @@ -45,7 +45,7 @@ class SensorTwin { if (_isSendingData) return null; _isSendingData = true; - return _device.write([0x63, 0]).then((s) { + return _characteristic.write([0x63, 0]).then((s) { print("Requested streaming start"); }).catchError((e) { print(e); @@ -81,7 +81,7 @@ class SensorTwin { // adding NULL at the end of the command List finalCommand = new List.from(clockCommandBytes)..addAll([0x0]); - return _device.write(finalCommand) + return _characteristic.write(finalCommand) .then((value) { return value; }) .catchError((e) { print('ERROR WHILE SYNCHRONIZING CLOCK: $e'); }); } @@ -95,13 +95,13 @@ class SensorTwin { /// Redistributes sensor data to registered callbacks. Future _setUpListeners () { - return _device.setNotifyValue(true).then((s) { + return _characteristic.setNotifyValue(true).then((s) { /* Catch updates on characteristic */ }).catchError((e) { print(e); }).whenComplete(() { - _device.value.listen((value) { + _characteristic.value.listen((value) { String message = String.fromCharCodes(value); if (_isSendingData && _callbacks.containsKey(SensorTwinEvent.live_data)) { diff --git a/apolline-flutter/lib/twins/SensorTwinBuilder.dart b/apolline-flutter/lib/twins/SensorTwinBuilder.dart index 48b71505..b607c47f 100644 --- a/apolline-flutter/lib/twins/SensorTwinBuilder.dart +++ b/apolline-flutter/lib/twins/SensorTwinBuilder.dart @@ -5,7 +5,7 @@ import '../gattsample.dart'; class SensorTwinBuilder { static Future buildSensor (BluetoothDevice device) async { BluetoothCharacteristic characteristic = await _retrieveSensorCharacteristic(device); - return SensorTwin(device: characteristic); + return SensorTwin(characteristic: characteristic); } static Future _retrieveSensorCharacteristic (BluetoothDevice device) async { From 6524164423b7b1c02b6aa262d59d10aee53985c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 14:54:13 +0200 Subject: [PATCH 107/522] [feat] sensor twin has a name (from device) --- apolline-flutter/lib/sensor_view.dart | 4 ++-- apolline-flutter/lib/twins/SensorTwin.dart | 8 +++++--- apolline-flutter/lib/twins/SensorTwinBuilder.dart | 6 ++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index ac471e14..7fc73395 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -96,7 +96,7 @@ class _SensorViewState extends State { List values = buf.split(';'); var position = this._currentPosition ?? Position(); - var model = SensorModel(values: values, sensorName: widget.device.name, position: position); + var model = SensorModel(values: values, sensorName: _sensor.name, position: position); _dataService.update(model); /* insert to sqflite */ _sqfLiteService.insertSensor(model.toJSON()); @@ -298,7 +298,7 @@ class _SensorViewState extends State { return Scaffold( key: _scaffoldKey, appBar: AppBar( - title: Text(widget.device.name), + title: Text(_sensor != null ? _sensor.name : "Loading..."), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index df588fec..00df6e32 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -19,22 +19,24 @@ import 'package:flutter_blue/flutter_blue.dart'; /// To access these data, one can subscribe to data events using the "on" method. /// class SensorTwin { + String _name; BluetoothCharacteristic _characteristic; bool _isSendingData; bool _isSendingHistory; Map _callbacks; - SensorTwin({@required BluetoothCharacteristic characteristic}) { + SensorTwin({@required BluetoothCharacteristic characteristic, @required String name}) { this._characteristic = characteristic; + this._name = name; this._isSendingData = false; this._isSendingHistory = false; this._callbacks = Map(); } - String get uuid { - return this._characteristic.uuid.toString(); + String get name { + return this._name; } diff --git a/apolline-flutter/lib/twins/SensorTwinBuilder.dart b/apolline-flutter/lib/twins/SensorTwinBuilder.dart index b607c47f..7dfca80b 100644 --- a/apolline-flutter/lib/twins/SensorTwinBuilder.dart +++ b/apolline-flutter/lib/twins/SensorTwinBuilder.dart @@ -4,8 +4,10 @@ import '../gattsample.dart'; class SensorTwinBuilder { static Future buildSensor (BluetoothDevice device) async { - BluetoothCharacteristic characteristic = await _retrieveSensorCharacteristic(device); - return SensorTwin(characteristic: characteristic); + return SensorTwin( + name: device.name, + characteristic: await _retrieveSensorCharacteristic(device) + ); } static Future _retrieveSensorCharacteristic (BluetoothDevice device) async { From a5423f56e21c696c3f5208fa56573724bdca4f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 14:57:30 +0200 Subject: [PATCH 108/522] [refactor] sensor twin holds its bluetooth device reference --- apolline-flutter/lib/twins/SensorTwin.dart | 8 ++++---- apolline-flutter/lib/twins/SensorTwinBuilder.dart | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 00df6e32..c9ae0757 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -19,16 +19,16 @@ import 'package:flutter_blue/flutter_blue.dart'; /// To access these data, one can subscribe to data events using the "on" method. /// class SensorTwin { - String _name; BluetoothCharacteristic _characteristic; + BluetoothDevice _device; bool _isSendingData; bool _isSendingHistory; Map _callbacks; - SensorTwin({@required BluetoothCharacteristic characteristic, @required String name}) { + SensorTwin({@required BluetoothDevice device, @required BluetoothCharacteristic characteristic}) { this._characteristic = characteristic; - this._name = name; + this._device = device; this._isSendingData = false; this._isSendingHistory = false; this._callbacks = Map(); @@ -36,7 +36,7 @@ class SensorTwin { String get name { - return this._name; + return this._device.name; } diff --git a/apolline-flutter/lib/twins/SensorTwinBuilder.dart b/apolline-flutter/lib/twins/SensorTwinBuilder.dart index 7dfca80b..9aa95472 100644 --- a/apolline-flutter/lib/twins/SensorTwinBuilder.dart +++ b/apolline-flutter/lib/twins/SensorTwinBuilder.dart @@ -5,7 +5,7 @@ import '../gattsample.dart'; class SensorTwinBuilder { static Future buildSensor (BluetoothDevice device) async { return SensorTwin( - name: device.name, + device: device, characteristic: await _retrieveSensorCharacteristic(device) ); } From 483d16acec82f3745bbd2073b1b06755a4882a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 15:08:06 +0200 Subject: [PATCH 109/522] [refactor] sensor twin finds BLE characteristic itself (no need for builder anymore) --- apolline-flutter/lib/sensor_view.dart | 3 +-- apolline-flutter/lib/twins/SensorTwin.dart | 14 ++++++++++++-- .../lib/twins/SensorTwinBuilder.dart | 19 ------------------- 3 files changed, 13 insertions(+), 23 deletions(-) delete mode 100644 apolline-flutter/lib/twins/SensorTwinBuilder.dart diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 7fc73395..2b8c6c16 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; -import 'package:apollineflutter/twins/SensorTwinBuilder.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/position.dart'; import 'package:apollineflutter/services/location_service.dart'; @@ -159,7 +158,7 @@ class _SensorViewState extends State { isConnected = true; updateState("Configuring device"); - this._sensor = await SensorTwinBuilder.buildSensor(device); + this._sensor = SensorTwin(device: device); this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c9ae0757..54df9001 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -4,6 +4,8 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; +import '../gattsample.dart'; + /// @@ -26,8 +28,7 @@ class SensorTwin { Map _callbacks; - SensorTwin({@required BluetoothDevice device, @required BluetoothCharacteristic characteristic}) { - this._characteristic = characteristic; + SensorTwin({@required BluetoothDevice device}) { this._device = device; this._isSendingData = false; this._isSendingHistory = false; @@ -115,10 +116,19 @@ class SensorTwin { }); } + /// Filters out a Bluetooth device's services and characteristics to find the + /// one that will allow us to receive data from the sensor. + Future _loadUpSensorCharacteristic () async { + List services = await _device.discoverServices(); + BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); + BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); + this._characteristic = characteristic; + } /// Sets up listeners and synchronises sensor clock. /// Must be called before starting data transmission. Future init () async { + await _loadUpSensorCharacteristic(); await _setUpListeners(); await synchronizeClock(); } diff --git a/apolline-flutter/lib/twins/SensorTwinBuilder.dart b/apolline-flutter/lib/twins/SensorTwinBuilder.dart deleted file mode 100644 index 9aa95472..00000000 --- a/apolline-flutter/lib/twins/SensorTwinBuilder.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:apollineflutter/twins/SensorTwin.dart'; -import 'package:flutter_blue/flutter_blue.dart'; -import '../gattsample.dart'; - -class SensorTwinBuilder { - static Future buildSensor (BluetoothDevice device) async { - return SensorTwin( - device: device, - characteristic: await _retrieveSensorCharacteristic(device) - ); - } - - static Future _retrieveSensorCharacteristic (BluetoothDevice device) async { - List services = await device.discoverServices(); - BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); - BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); - return characteristic; - } -} \ No newline at end of file From 531dbbe089ec6d231f9ab22d07b99d9d1d219d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 15:27:42 +0200 Subject: [PATCH 110/522] [feat] sensor twin can send disconnected event --- apolline-flutter/lib/sensor_view.dart | 27 ++++++++----------- apolline-flutter/lib/twins/SensorTwin.dart | 11 ++++++++ .../lib/twins/SensorTwinEvent.dart | 3 ++- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 2b8c6c16..ca174834 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -162,6 +162,17 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); + this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) { + print("----------------disconnected----------------"); + buf = ""; + this.destroyStream(); + isConnected = false; + connectType = ConnexionType.Disconnect; //deconnexion + setState(() { + showErrorAction = true; + }); + showSnackbar("Connection perdu avec le capteur !"); + }); await this._sensor.init(); await this._sensor.launchDataLiveTransmission(); updateState("Waiting for sensor data..."); @@ -196,19 +207,6 @@ class _SensorViewState extends State { handleDeviceConnect(widget.device); } - /// - ///Function to be executed after disconnection - void postDisconnect() { - buf = ""; - this.destroyStream(); - isConnected = false; - connectType = ConnexionType.Disconnect; //deconnexion - setState(() { - showErrorAction = true; - }); - showSnackbar("Connection perdu avec le capteur !"); - } - ///use for prevent when setState call after dispose methode. @override void setState(fn) { @@ -235,9 +233,6 @@ class _SensorViewState extends State { this.subBluetoothState = widget.device.state.listen((state) { if (state == BluetoothDeviceState.disconnecting) { /*TODO: detectecter quand cela arrive */ - } else if (state == BluetoothDeviceState.disconnected) { - print("--------------------disconnected--------------"); - postDisconnect(); } else if (state == BluetoothDeviceState.connected) { print("--------------------connected--------------"); if (connectType == ConnexionType.Disconnect && !isConnected) { diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 54df9001..ec95e625 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -98,6 +98,17 @@ class SensorTwin { /// Redistributes sensor data to registered callbacks. Future _setUpListeners () { + _device.state.listen((state) { + switch(state) { + case BluetoothDeviceState.disconnected: + if (_callbacks.containsKey(SensorTwinEvent.sensor_disconnected)) + _callbacks[SensorTwinEvent.sensor_disconnected]("disconnected"); + break; + default: + break; + } + }); + return _characteristic.setNotifyValue(true).then((s) { /* Catch updates on characteristic */ }).catchError((e) { diff --git a/apolline-flutter/lib/twins/SensorTwinEvent.dart b/apolline-flutter/lib/twins/SensorTwinEvent.dart index 2148a36b..d33061af 100644 --- a/apolline-flutter/lib/twins/SensorTwinEvent.dart +++ b/apolline-flutter/lib/twins/SensorTwinEvent.dart @@ -1,6 +1,7 @@ enum SensorTwinEvent { history_data, - live_data + live_data, + sensor_disconnected } typedef void SensorTwinEventCallback (String data); \ No newline at end of file From 064d3eaa7f1e7621baee75ba0cad487a6b3eb2a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 15:36:38 +0200 Subject: [PATCH 111/522] [feat] sensor twin can send connected event --- apolline-flutter/lib/sensor_view.dart | 24 ++++++++----------- apolline-flutter/lib/twins/SensorTwin.dart | 4 ++++ .../lib/twins/SensorTwinEvent.dart | 2 ++ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index ca174834..e88a9db3 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -162,6 +162,16 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); + this._sensor.on(SensorTwinEvent.sensor_connected, (_) { + print("--------------------connected--------------"); + if (connectType == ConnexionType.Disconnect && !isConnected) { + print("-------------------connectedExécute---------"); + setState(() { + showErrorAction = false; + }); + handleDeviceConnect(widget.device); + } + }); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) { print("----------------disconnected----------------"); buf = ""; @@ -198,14 +208,6 @@ class _SensorViewState extends State { ); } - /// - ///Function to be executed after a connection - void postConnect() { - setState(() { - showErrorAction = false; - }); - handleDeviceConnect(widget.device); - } ///use for prevent when setState call after dispose methode. @override @@ -233,12 +235,6 @@ class _SensorViewState extends State { this.subBluetoothState = widget.device.state.listen((state) { if (state == BluetoothDeviceState.disconnecting) { /*TODO: detectecter quand cela arrive */ - } else if (state == BluetoothDeviceState.connected) { - print("--------------------connected--------------"); - if (connectType == ConnexionType.Disconnect && !isConnected) { - print("-------------------connectedExécute---------"); - postConnect(); - } } else { print("--------------------connecting------------"); } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index ec95e625..d6e8de35 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -100,6 +100,10 @@ class SensorTwin { Future _setUpListeners () { _device.state.listen((state) { switch(state) { + case BluetoothDeviceState.connected: + if (_callbacks.containsKey(SensorTwinEvent.sensor_connected)) + _callbacks[SensorTwinEvent.sensor_connected]("connected"); + break; case BluetoothDeviceState.disconnected: if (_callbacks.containsKey(SensorTwinEvent.sensor_disconnected)) _callbacks[SensorTwinEvent.sensor_disconnected]("disconnected"); diff --git a/apolline-flutter/lib/twins/SensorTwinEvent.dart b/apolline-flutter/lib/twins/SensorTwinEvent.dart index d33061af..09328f9d 100644 --- a/apolline-flutter/lib/twins/SensorTwinEvent.dart +++ b/apolline-flutter/lib/twins/SensorTwinEvent.dart @@ -1,6 +1,8 @@ enum SensorTwinEvent { history_data, live_data, + + sensor_connected, sensor_disconnected } From 514765f466daf5680d74792d31bf4dee7f6a0ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 15:47:43 +0200 Subject: [PATCH 112/522] [refactor] removing useless listenDeviceState method --- apolline-flutter/lib/sensor_view.dart | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index e88a9db3..10d46b5f 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -74,7 +74,6 @@ class _SensorViewState extends State { throw e; } } finally { - listenDeviceState(); handleDeviceConnect(widget.device); } } @@ -229,18 +228,6 @@ class _SensorViewState extends State { } } - /// - ///listen device state. - void listenDeviceState() { - this.subBluetoothState = widget.device.state.listen((state) { - if (state == BluetoothDeviceState.disconnecting) { - /*TODO: detectecter quand cela arrive */ - } else { - print("--------------------connecting------------"); - } - }); - } - /// ///detroy partiel stream when loose connection. From 52778a1c4a2fcd9babf6664bd37c5fd512d6bdda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 15:50:19 +0200 Subject: [PATCH 113/522] [refactor] removing useless timer --- apolline-flutter/lib/sensor_view.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 10d46b5f..43348bca 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -38,7 +38,7 @@ class _SensorViewState extends State { List subs = []; //used for remove listening value to sensor StreamSubscription subData; bool showErrorAction = false; - Timer timer, timerSynchro; + Timer timerSynchro; ConnexionType connectType = ConnexionType.Normal; GlobalKey _scaffoldKey = new GlobalKey(); // use for influxDB to send data to the back @@ -233,7 +233,6 @@ class _SensorViewState extends State { ///detroy partiel stream when loose connection. void destroyStream() { this.subData?.cancel(); - this.timer?.cancel(); } @override From ea367a13404f5c18e5b92ef4cc758ed0120bfbd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 16:37:40 +0200 Subject: [PATCH 114/522] [refactor] sensor twin can be configured to synchronize data with backend --- apolline-flutter/lib/sensor_view.dart | 37 +---------------- apolline-flutter/lib/twins/SensorTwin.dart | 48 +++++++++++++++++++++- 2 files changed, 48 insertions(+), 37 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 43348bca..87d1095f 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -41,8 +41,6 @@ class _SensorViewState extends State { Timer timerSynchro; ConnexionType connectType = ConnexionType.Normal; GlobalKey _scaffoldKey = new GlobalKey(); - // use for influxDB to send data to the back - InfluxDBAPI _service = InfluxDBAPI(); // use for sqfLite to save data in local SqfLiteService _sqfLiteService = SqfLiteService(); Position _currentPosition; @@ -56,8 +54,6 @@ class _SensorViewState extends State { super.initState(); initializeDevice(); initializeLocation(); - //synchronisation data - this.timerSynchro = Timer.periodic(Duration(seconds: 120), (Timer t) => synchronizeData()); } @@ -109,37 +105,6 @@ class _SensorViewState extends State { } } - /// - /// Retrieves all data points from local database that have not been sent - /// to InfluxDB yet, and sends them. - /// - void synchronizeData() async { - // find not-synchronized data - int pagination = 160; - List dataPoints = await _sqfLiteService.getAllSensorModelsNotSyncro(); - if (dataPoints.length == 0) return; - - // Paginating data before sending to influxDB - var iter = (dataPoints.length / pagination).ceil(); - for (var i = 0; i < iter; i++) { - int start = i * pagination; - int end = (i + 1) * pagination; - if (1 == iter || i + 1 == iter) { - end = dataPoints.length; - } - var sousList = dataPoints.sublist(start, end); - - // Send data to influxDB - await _service.write(SensorModel.sensorsFmtToInfluxData(sousList)); - List ids = []; - dataPoints.forEach((sousList) { - ids.add(sousList.id); - }); - // Update local data in sqfLite - _sqfLiteService.updateSensorSynchronisation(ids); - } - } - void updateState(String st) { print(st); setState(() { @@ -157,7 +122,7 @@ class _SensorViewState extends State { isConnected = true; updateState("Configuring device"); - this._sensor = SensorTwin(device: device); + this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); this._sensor.on(SensorTwinEvent.live_data, (data) { _handleSensorUpdate(data); }); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index d6e8de35..cdc0ed86 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -1,5 +1,8 @@ import 'dart:async'; +import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/services/influxdb_client.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -27,12 +30,21 @@ class SensorTwin { bool _isSendingHistory; Map _callbacks; + // use for influxDB to send data to the back + InfluxDBAPI _service; + SqfLiteService _sqfLiteService; + Duration _synchronizationTiming; + Timer _syncTimer; - SensorTwin({@required BluetoothDevice device}) { + + SensorTwin({@required BluetoothDevice device, @required Duration syncTiming}) { this._device = device; this._isSendingData = false; this._isSendingHistory = false; this._callbacks = Map(); + this._service = InfluxDBAPI(); + this._sqfLiteService = SqfLiteService(); + this._synchronizationTiming = syncTiming; } @@ -140,11 +152,45 @@ class SensorTwin { this._characteristic = characteristic; } + void _initSynchronizationTimer () { + this._syncTimer = Timer.periodic(_synchronizationTiming, (Timer t) => _synchronizationCallback()); + } + + /// Retrieves all data points from local database that have not been sent + /// to InfluxDB yet, and sends them. + void _synchronizationCallback () async { + // find not-synchronized data + int pagination = 160; + List dataPoints = await _sqfLiteService.getAllSensorModelsNotSyncro(); + if (dataPoints.length == 0) return; + + // Paginating data before sending to influxDB + var iter = (dataPoints.length / pagination).ceil(); + for (var i = 0; i < iter; i++) { + int start = i * pagination; + int end = (i + 1) * pagination; + if (1 == iter || i + 1 == iter) { + end = dataPoints.length; + } + var sousList = dataPoints.sublist(start, end); + + // Send data to influxDB + await _service.write(SensorModel.sensorsFmtToInfluxData(sousList)); + List ids = []; + dataPoints.forEach((sousList) { + ids.add(sousList.id); + }); + // Update local data in sqfLite + _sqfLiteService.updateSensorSynchronisation(ids); + } + } + /// Sets up listeners and synchronises sensor clock. /// Must be called before starting data transmission. Future init () async { await _loadUpSensorCharacteristic(); await _setUpListeners(); await synchronizeClock(); + _initSynchronizationTimer(); } } \ No newline at end of file From 5053d00d68c00dc15549e24ed639dd7af395e13a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 10 Aug 2021 16:55:47 +0200 Subject: [PATCH 115/522] [refactor] sensor twin handles data updates itself --- apolline-flutter/lib/sensor_view.dart | 51 +++---------------- apolline-flutter/lib/twins/SensorTwin.dart | 31 ++++++++++- .../lib/twins/SensorTwinEvent.dart | 2 +- 3 files changed, 37 insertions(+), 47 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 87d1095f..3bb8dd02 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,20 +1,13 @@ import 'dart:async'; -import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; -import 'package:apollineflutter/utils/position.dart'; -import 'package:apollineflutter/services/location_service.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -import 'package:apollineflutter/services/influxdb_client.dart'; import 'models/sensormodel.dart'; -import 'services/realtime_data_service.dart'; -import 'services/service_locator.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; -import 'package:apollineflutter/services/service_locator.dart'; enum ConnexionType { Normal, Disconnect } @@ -41,19 +34,13 @@ class _SensorViewState extends State { Timer timerSynchro; ConnexionType connectType = ConnexionType.Normal; GlobalKey _scaffoldKey = new GlobalKey(); - // use for sqfLite to save data in local - SqfLiteService _sqfLiteService = SqfLiteService(); - Position _currentPosition; SensorTwin _sensor; - RealtimeDataService _dataService = locator(); - @override void initState() { super.initState(); initializeDevice(); - initializeLocation(); } @@ -74,36 +61,6 @@ class _SensorViewState extends State { } } - void initializeLocation() { - this.subLocation = SimpleLocationService().locationStream.listen((p) { - this._currentPosition = p; - }); - } - - - /* Called when data is received from the sensor */ - void _handleSensorUpdate(String message) { - buf += message; - - if (buf.contains('\n')) { - print("Got full line: " + buf); - List values = buf.split(';'); - var position = this._currentPosition ?? Position(); - - var model = SensorModel(values: values, sensorName: _sensor.name, position: position); - _dataService.update(model); - /* insert to sqflite */ - _sqfLiteService.insertSensor(model.toJSON()); - - setState(() { - lastReceivedData = model; - initialized = true; - - /* Perform additional handling here */ - }); - buf = ""; - } - } void updateState(String st) { print(st); @@ -123,8 +80,12 @@ class _SensorViewState extends State { updateState("Configuring device"); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); - this._sensor.on(SensorTwinEvent.live_data, (data) { - _handleSensorUpdate(data); + this._sensor.on(SensorTwinEvent.live_data, (model) { + // _handleSensorUpdate(data); + setState(() { + lastReceivedData = model; + initialized = true; + }); }); this._sensor.on(SensorTwinEvent.sensor_connected, (_) { print("--------------------connected--------------"); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index cdc0ed86..0587e8e9 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -2,8 +2,12 @@ import 'dart:async'; import 'package:apollineflutter/models/sensormodel.dart'; import 'package:apollineflutter/services/influxdb_client.dart'; +import 'package:apollineflutter/services/location_service.dart'; +import 'package:apollineflutter/services/realtime_data_service.dart'; +import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; +import 'package:apollineflutter/utils/position.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -34,8 +38,11 @@ class SensorTwin { InfluxDBAPI _service; SqfLiteService _sqfLiteService; Duration _synchronizationTiming; + RealtimeDataService _dataService = locator(); Timer _syncTimer; + Position _currentPosition; + SensorTwin({@required BluetoothDevice device, @required Duration syncTiming}) { this._device = device; @@ -135,7 +142,8 @@ class SensorTwin { String message = String.fromCharCodes(value); if (_isSendingData && _callbacks.containsKey(SensorTwinEvent.live_data)) { - _callbacks[SensorTwinEvent.live_data](message); + SensorModel model = _handleSensorUpdate(message); + _callbacks[SensorTwinEvent.live_data](model); } else if (_isSendingHistory && _callbacks.containsKey(SensorTwinEvent.history_data)) { _callbacks[SensorTwinEvent.history_data](message); } @@ -152,6 +160,12 @@ class SensorTwin { this._characteristic = characteristic; } + void _initLocationService () { + SimpleLocationService().locationStream.listen((p) { + this._currentPosition = p; + }); + } + void _initSynchronizationTimer () { this._syncTimer = Timer.periodic(_synchronizationTiming, (Timer t) => _synchronizationCallback()); } @@ -185,12 +199,27 @@ class SensorTwin { } } + /// Called when data is received from the sensor + SensorModel _handleSensorUpdate (String message) { + if (!message.contains('\n')) return null; + print("Got full line: " + message); + List values = message.split(';'); + + var model = SensorModel(values: values, sensorName: this.name, position: _currentPosition); + _dataService.update(model); + /* insert to sqflite */ + _sqfLiteService.insertSensor(model.toJSON()); + + return model; + } + /// Sets up listeners and synchronises sensor clock. /// Must be called before starting data transmission. Future init () async { await _loadUpSensorCharacteristic(); await _setUpListeners(); await synchronizeClock(); + _initLocationService(); _initSynchronizationTimer(); } } \ No newline at end of file diff --git a/apolline-flutter/lib/twins/SensorTwinEvent.dart b/apolline-flutter/lib/twins/SensorTwinEvent.dart index 09328f9d..7366967d 100644 --- a/apolline-flutter/lib/twins/SensorTwinEvent.dart +++ b/apolline-flutter/lib/twins/SensorTwinEvent.dart @@ -6,4 +6,4 @@ enum SensorTwinEvent { sensor_disconnected } -typedef void SensorTwinEventCallback (String data); \ No newline at end of file +typedef void SensorTwinEventCallback (data); \ No newline at end of file From c27e698c9ea4d00228b041c6cda9d3855903630e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 12:18:41 +0200 Subject: [PATCH 116/522] [fix] removing sensor callbacks at disconnection --- apolline-flutter/lib/sensor_view.dart | 2 ++ apolline-flutter/lib/twins/SensorTwin.dart | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 3bb8dd02..202b466e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -77,6 +77,8 @@ class _SensorViewState extends State { void handleDeviceConnect(BluetoothDevice device) async { if (isConnected) return; isConnected = true; + if (this._sensor != null) + this._sensor.shutdown(); updateState("Configuring device"); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 0587e8e9..51338399 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -222,4 +222,13 @@ class SensorTwin { _initLocationService(); _initSynchronizationTimer(); } + + /// Releases resources associated with the sensor. + /// TODO properly close bluetooth connection + void shutdown () { + this._callbacks = Map(); + this._syncTimer.cancel(); + this._service.client.close(); + this._dataService.stop(); + } } \ No newline at end of file From 414fbaee1c34d45005fd0978f21127b10f55e75d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 14:02:55 +0200 Subject: [PATCH 117/522] [chore] removing useless file --- .../android/app/src/main/AndroidManifest.xml | 3 +-- .../com/science/apollineflutter/MainActivity.kt | 12 ------------ 2 files changed, 1 insertion(+), 14 deletions(-) delete mode 100644 apolline-flutter/android/app/src/main/kotlin/com/science/apollineflutter/MainActivity.kt diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index fdc9dc30..d5809c0e 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -11,12 +11,11 @@ Date: Wed, 11 Aug 2021 15:11:19 +0200 Subject: [PATCH 118/522] [refactor] removing useless variables --- apolline-flutter/lib/sensor_view.dart | 37 ++++++++------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 202b466e..2dc6504d 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -9,31 +9,27 @@ import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; + + enum ConnexionType { Normal, Disconnect } + class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); - final BluetoothDevice device; + final GlobalKey scaffoldKey = new GlobalKey(); @override State createState() => _SensorViewState(); } + class _SensorViewState extends State { String state = "Connecting to the device..."; - String buf = ""; SensorModel lastReceivedData; - bool initialized = false; - StreamSubscription subBluetoothState; //used for remove listening value to sensor - StreamSubscription subLocation; bool isConnected = false; - List subs = []; //used for remove listening value to sensor - StreamSubscription subData; bool showErrorAction = false; - Timer timerSynchro; ConnexionType connectType = ConnexionType.Normal; - GlobalKey _scaffoldKey = new GlobalKey(); SensorTwin _sensor; @@ -86,7 +82,6 @@ class _SensorViewState extends State { // _handleSensorUpdate(data); setState(() { lastReceivedData = model; - initialized = true; }); }); this._sensor.on(SensorTwinEvent.sensor_connected, (_) { @@ -101,8 +96,6 @@ class _SensorViewState extends State { }); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) { print("----------------disconnected----------------"); - buf = ""; - this.destroyStream(); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion setState(() { @@ -148,7 +141,7 @@ class _SensorViewState extends State { ///Display a snackBar void showSnackbar(String msg) { var snackbar = SnackBar(content: Text(msg)); - if (_scaffoldKey != null && _scaffoldKey.currentState != null) { + if (widget.scaffoldKey != null && widget.scaffoldKey.currentState != null) { ScaffoldMessenger.of(context).hideCurrentSnackBar(); // _scaffoldKey.currentState.hideCurrentSnackBar(); ScaffoldMessenger.of(context).showSnackBar(snackbar); @@ -157,19 +150,9 @@ class _SensorViewState extends State { } - /// - ///detroy partiel stream when loose connection. - void destroyStream() { - this.subData?.cancel(); - } - @override void dispose() { - this.destroyStream(); - this.subBluetoothState?.cancel(); - this.subLocation?.cancel(); widget.device.disconnect(); - this.timerSynchro?.cancel(); super.dispose(); } @@ -198,11 +181,11 @@ class _SensorViewState extends State { @override Widget build(BuildContext context) { /* If we are not initialized, display status info */ - if (!initialized) { + if (lastReceivedData == null) { return Scaffold( - key: _scaffoldKey, + key: widget.scaffoldKey, appBar: AppBar( - title: Text(_sensor != null ? _sensor.name : "Loading..."), + title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { @@ -225,7 +208,7 @@ class _SensorViewState extends State { home: DefaultTabController( length: 3, child: Scaffold( - key: _scaffoldKey, + key: widget.scaffoldKey, appBar: AppBar( backgroundColor: Colors.green, bottom: TabBar( From 6ce3536074b3c7ae1e27904e890b766af5ef28af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 15:21:46 +0200 Subject: [PATCH 119/522] [refactor] exporting sensor listeners to dedicated methods --- apolline-flutter/lib/sensor_view.dart | 54 +++++++++++++++------------ 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 2dc6504d..c94ad51c 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -78,37 +78,43 @@ class _SensorViewState extends State { updateState("Configuring device"); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); - this._sensor.on(SensorTwinEvent.live_data, (model) { - // _handleSensorUpdate(data); - setState(() { - lastReceivedData = model; - }); - }); - this._sensor.on(SensorTwinEvent.sensor_connected, (_) { - print("--------------------connected--------------"); - if (connectType == ConnexionType.Disconnect && !isConnected) { - print("-------------------connectedExécute---------"); - setState(() { - showErrorAction = false; - }); - handleDeviceConnect(widget.device); - } + this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as SensorModel)); + this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); + this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); + await this._sensor.init(); + await this._sensor.launchDataLiveTransmission(); + updateState("Waiting for sensor data..."); + } + + void _onLiveDataReceived (SensorModel model) { + setState(() { + lastReceivedData = model; }); - this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) { - print("----------------disconnected----------------"); - isConnected = false; - connectType = ConnexionType.Disconnect; //deconnexion + } + + void _onSensorConnected () { + print("--------------------connected--------------"); + if (connectType == ConnexionType.Disconnect && !isConnected) { + print("-------------------connectedExécute---------"); setState(() { - showErrorAction = true; + showErrorAction = false; }); - showSnackbar("Connection perdu avec le capteur !"); + handleDeviceConnect(widget.device); + } + } + + void _onSensorDisconnected () { + print("----------------disconnected----------------"); + isConnected = false; + connectType = ConnexionType.Disconnect; //deconnexion + setState(() { + showErrorAction = true; }); - await this._sensor.init(); - await this._sensor.launchDataLiveTransmission(); - updateState("Waiting for sensor data..."); + showSnackbar("Connection perdu avec le capteur !"); } + /// ///Allows you to give information when you are unable to reconnect Future showInformation() async { From 7ec15caab7e4e37cac488c341bd8b7863ffbccb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 15:42:53 +0200 Subject: [PATCH 120/522] [fix] shutting down sensor when closing sensor view --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/sensor_view.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 75efd266..1c38194b 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -164,7 +164,7 @@ class _BluetoothDevicesPageState extends State { MaterialPageRoute(builder: (context) => SensorView(device: device)), ); - if (isconnected) { + if (isconnected != null && isconnected) { setState(() { devices.remove(id); pairedDevices.putIfAbsent(id, () => device); diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index c94ad51c..07744f97 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -159,6 +159,7 @@ class _SensorViewState extends State { @override void dispose() { widget.device.disconnect(); + this._sensor?.shutdown(); super.dispose(); } From 0da3bd55abc625d7356b730e193bb5c8bc6e39e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 15:51:58 +0200 Subject: [PATCH 121/522] [refactor] removing useless info message --- apolline-flutter/lib/sensor_view.dart | 35 --------------------------- 1 file changed, 35 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 07744f97..144d5f38 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -114,27 +114,6 @@ class _SensorViewState extends State { } - - /// - ///Allows you to give information when you are unable to reconnect - Future showInformation() async { - var text = "L'appareil sensor est soit éteint ou distant," + - "veuillez vous assurez que l'appareil est chargé et près de votre téléphone;" + - " faite un retour en arrière ou fermé et réouvré l'application; " + - "sinon contactez l'administrateur"; - await showDialog( - context: context, - builder: (context) { - return SimpleDialog( - children: [ - Text(text), - ], - ); - }, - ); - } - - ///use for prevent when setState call after dispose methode. @override void setState(fn) { @@ -163,19 +142,6 @@ class _SensorViewState extends State { super.dispose(); } - /// - /// - List _buildAppBarAction() { - return showErrorAction - ? [ - IconButton( - icon: Icon(Icons.error), - onPressed: () { - showInformation(); - }) - ] - : []; - } /// ///Called when press back button @@ -198,7 +164,6 @@ class _SensorViewState extends State { onPressed: () { Navigator.pop(context, isConnected); }), - actions: _buildAppBarAction(), ), body: Center( child: Column(children: [ From 4b8cead8cc4fa338b701302f2a49fedd2fb15387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 11 Aug 2021 16:03:36 +0200 Subject: [PATCH 122/522] [refactor] removing useless variable --- apolline-flutter/lib/sensor_view.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 144d5f38..a210a8f4 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -28,7 +28,6 @@ class _SensorViewState extends State { String state = "Connecting to the device..."; SensorModel lastReceivedData; bool isConnected = false; - bool showErrorAction = false; ConnexionType connectType = ConnexionType.Normal; SensorTwin _sensor; @@ -96,9 +95,6 @@ class _SensorViewState extends State { print("--------------------connected--------------"); if (connectType == ConnexionType.Disconnect && !isConnected) { print("-------------------connectedExécute---------"); - setState(() { - showErrorAction = false; - }); handleDeviceConnect(widget.device); } } @@ -107,9 +103,6 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - setState(() { - showErrorAction = true; - }); showSnackbar("Connection perdu avec le capteur !"); } From 47c0db367fbae0c4259dd0a0f581769ee632d12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 10:36:17 +0200 Subject: [PATCH 123/522] [fix] displaying snackbar messages --- apolline-flutter/lib/sensor_view.dart | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index a210a8f4..7d22b4da 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -17,7 +17,6 @@ enum ConnexionType { Normal, Disconnect } class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; - final GlobalKey scaffoldKey = new GlobalKey(); @override State createState() => _SensorViewState(); @@ -30,6 +29,7 @@ class _SensorViewState extends State { bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; SensorTwin _sensor; + final GlobalKey _scaffoldMessengerKey = GlobalKey(); @override @@ -118,13 +118,9 @@ class _SensorViewState extends State { /// ///Display a snackBar void showSnackbar(String msg) { - var snackbar = SnackBar(content: Text(msg)); - if (widget.scaffoldKey != null && widget.scaffoldKey.currentState != null) { - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - // _scaffoldKey.currentState.hideCurrentSnackBar(); - ScaffoldMessenger.of(context).showSnackBar(snackbar); - // _scaffoldKey.currentState.showSnackBar(snackbar); - } + var snackBar = SnackBar(content: Text(msg)); + ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); + ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); } @@ -149,7 +145,6 @@ class _SensorViewState extends State { /* If we are not initialized, display status info */ if (lastReceivedData == null) { return Scaffold( - key: widget.scaffoldKey, appBar: AppBar( title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), leading: IconButton( @@ -173,7 +168,7 @@ class _SensorViewState extends State { home: DefaultTabController( length: 3, child: Scaffold( - key: widget.scaffoldKey, + key: _scaffoldMessengerKey, appBar: AppBar( backgroundColor: Colors.green, bottom: TabBar( From fe5b498f9331352663bac7f668fe8177e7d67216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 10:45:57 +0200 Subject: [PATCH 124/522] [feat] displaying a message on sensor reconnection --- apolline-flutter/lib/sensor_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 7d22b4da..d9d2a9ed 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -96,6 +96,7 @@ class _SensorViewState extends State { if (connectType == ConnexionType.Disconnect && !isConnected) { print("-------------------connectedExécute---------"); handleDeviceConnect(widget.device); + showSnackbar("Connexion avec le capteur rétablie."); } } From b2e28b73ff437c834d84b01b49f661dafe1f35d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 10:53:33 +0200 Subject: [PATCH 125/522] [fix] typo in snackbar message --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d9d2a9ed..d53ba1f7 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -104,7 +104,7 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - showSnackbar("Connection perdu avec le capteur !"); + showSnackbar("Connexion avec le capteur perdue."); } From ef96581b5aa4047dad9a45fd0d6ec6e6c694022b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 11:00:27 +0200 Subject: [PATCH 126/522] [feat] displaying a message at sensor connection --- apolline-flutter/lib/sensor_view.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d53ba1f7..5e7843b1 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -92,11 +92,12 @@ class _SensorViewState extends State { } void _onSensorConnected () { - print("--------------------connected--------------"); if (connectType == ConnexionType.Disconnect && !isConnected) { print("-------------------connectedExécute---------"); handleDeviceConnect(widget.device); - showSnackbar("Connexion avec le capteur rétablie."); + } else { + print("--------------------connected--------------"); + showSnackbar("Connexion avec le capteur établie."); } } @@ -146,6 +147,7 @@ class _SensorViewState extends State { /* If we are not initialized, display status info */ if (lastReceivedData == null) { return Scaffold( + key: _scaffoldMessengerKey, appBar: AppBar( title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), leading: IconButton( From 90a45df9c6c980cdfcec288393974623016d2297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 11:21:03 +0200 Subject: [PATCH 127/522] [feat] disconnection message does not fade out --- apolline-flutter/lib/sensor_view.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 5e7843b1..21b24628 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -105,7 +105,7 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - showSnackbar("Connexion avec le capteur perdue."); + showSnackbar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); } @@ -119,8 +119,8 @@ class _SensorViewState extends State { /// ///Display a snackBar - void showSnackbar(String msg) { - var snackBar = SnackBar(content: Text(msg)); + void showSnackbar(String msg, {Duration duration = const Duration(seconds: 4)}) { + var snackBar = SnackBar(content: Text(msg), duration: duration,); ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); } From e089be9b496066e6adb639220361e7363c66d041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 11:23:46 +0200 Subject: [PATCH 128/522] [fix] typo --- apolline-flutter/lib/sensor_view.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 21b24628..0231034d 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -97,7 +97,7 @@ class _SensorViewState extends State { handleDeviceConnect(widget.device); } else { print("--------------------connected--------------"); - showSnackbar("Connexion avec le capteur établie."); + showSnackBar("Connexion avec le capteur établie."); } } @@ -105,7 +105,7 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - showSnackbar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); + showSnackBar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); } @@ -119,7 +119,7 @@ class _SensorViewState extends State { /// ///Display a snackBar - void showSnackbar(String msg, {Duration duration = const Duration(seconds: 4)}) { + void showSnackBar(String msg, {Duration duration = const Duration(seconds: 4)}) { var snackBar = SnackBar(content: Text(msg), duration: duration,); ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); From 3d0c34e340c0e051793a9d18d44f38e9a6d699e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 11:41:55 +0200 Subject: [PATCH 129/522] [refactor] removing useless main class duplicate --- apolline-flutter/lib/app.dart | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 apolline-flutter/lib/app.dart diff --git a/apolline-flutter/lib/app.dart b/apolline-flutter/lib/app.dart deleted file mode 100644 index a5d9a3a3..00000000 --- a/apolline-flutter/lib/app.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:apollineflutter/bluetoothDevicesPage.dart'; - - - -class ApollineApp extends StatelessWidget { - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Apolline', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.green, - ), - home: BluetoothDevicesPage(title: 'Apolline - Sensors'), - ); - } -} \ No newline at end of file From 4693ff3ce3410c8181c8bfeae4d816d3bc954271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 12:16:27 +0200 Subject: [PATCH 130/522] [feat] printing message when sending data to server --- apolline-flutter/lib/twins/SensorTwin.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 51338399..a0d837f3 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -189,6 +189,7 @@ class SensorTwin { var sousList = dataPoints.sublist(start, end); // Send data to influxDB + print('Sending ${sousList.length} data points to InfluxDB'); await _service.write(SensorModel.sensorsFmtToInfluxData(sousList)); List ids = []; dataPoints.forEach((sousList) { From d5a1392b3209daca031db623c73dad4655cac38c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 12:28:50 +0200 Subject: [PATCH 131/522] [refactor] removing useless pagination when sending data to backend --- apolline-flutter/lib/twins/SensorTwin.dart | 31 +++++++--------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index a0d837f3..b0fb8246 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -174,30 +174,19 @@ class SensorTwin { /// to InfluxDB yet, and sends them. void _synchronizationCallback () async { // find not-synchronized data - int pagination = 160; List dataPoints = await _sqfLiteService.getAllSensorModelsNotSyncro(); if (dataPoints.length == 0) return; - // Paginating data before sending to influxDB - var iter = (dataPoints.length / pagination).ceil(); - for (var i = 0; i < iter; i++) { - int start = i * pagination; - int end = (i + 1) * pagination; - if (1 == iter || i + 1 == iter) { - end = dataPoints.length; - } - var sousList = dataPoints.sublist(start, end); - - // Send data to influxDB - print('Sending ${sousList.length} data points to InfluxDB'); - await _service.write(SensorModel.sensorsFmtToInfluxData(sousList)); - List ids = []; - dataPoints.forEach((sousList) { - ids.add(sousList.id); - }); - // Update local data in sqfLite - _sqfLiteService.updateSensorSynchronisation(ids); - } + // Send data to influxDB + print('Sending ${dataPoints.length} data points to InfluxDB'); + await _service.write(SensorModel.sensorsFmtToInfluxData(dataPoints)); + List ids = []; + dataPoints.forEach((sousList) { + ids.add(sousList.id); + }); + + // Update local data in sqfLite + _sqfLiteService.updateSensorSynchronisation(ids); } /// Called when data is received from the sensor From e307eef6a6c3dd1c36719141a07bd471e3c4e1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 12:46:06 +0200 Subject: [PATCH 132/522] [refactor] rewriting models ids extraction --- apolline-flutter/lib/twins/SensorTwin.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index b0fb8246..f7a54418 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -180,12 +180,9 @@ class SensorTwin { // Send data to influxDB print('Sending ${dataPoints.length} data points to InfluxDB'); await _service.write(SensorModel.sensorsFmtToInfluxData(dataPoints)); - List ids = []; - dataPoints.forEach((sousList) { - ids.add(sousList.id); - }); // Update local data in sqfLite + List ids = dataPoints.map((model) => model.id).toSet().toList(); _sqfLiteService.updateSensorSynchronisation(ids); } From ea15e8a5f51b0b986083dc29736df43a3308adb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 13:06:19 +0200 Subject: [PATCH 133/522] [refactor] rewriting call to get non-synchronized models --- apolline-flutter/lib/services/sqflite_service.dart | 12 ++++-------- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index f2aa4a88..51870024 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -150,16 +150,12 @@ class SqfLiteService { } // SQL get all SensorModelNotSynchro data - Future> getAllSensorModelsNotSyncro() async { + Future> getNotSynchronizedModels() async { Database db = await database; - List sensdorModels = []; List maps = await db.query(tableSensorModel, - columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], where: '$columnSynchro == ?', whereArgs: [0]); - if (maps.length > 0) { - maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); - return sensdorModels; - } - return sensdorModels; + columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], + where: '$columnSynchro == ?', whereArgs: [0]); + return maps.map((map) => SensorModel.fromJson(map)).toList(); } /// diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index f7a54418..4a2a4563 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -174,7 +174,7 @@ class SensorTwin { /// to InfluxDB yet, and sends them. void _synchronizationCallback () async { // find not-synchronized data - List dataPoints = await _sqfLiteService.getAllSensorModelsNotSyncro(); + List dataPoints = await _sqfLiteService.getNotSynchronizedModels(); if (dataPoints.length == 0) return; // Send data to influxDB From 14976ed22ee707a885cbbb32ae6fc56be7ff4356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 13:35:34 +0200 Subject: [PATCH 134/522] [fix] binding data IDs on synchronization local update --- apolline-flutter/lib/sensor_view.dart | 2 +- apolline-flutter/lib/services/sqflite_service.dart | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0231034d..8552a87c 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -76,7 +76,7 @@ class _SensorViewState extends State { this._sensor.shutdown(); updateState("Configuring device"); - this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); + this._sensor = SensorTwin(device: device, syncTiming: Duration(seconds: 12)); this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as SensorModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 51870024..a6c9abe3 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -181,15 +181,8 @@ class SqfLiteService { // SQL update Sensor colunm synchronisation Future updateSensorSynchronisation(List ids) async { Database db = await database; - // ignore: unused_local_variable. - String inClause = ids.toString(); - //at this point inClause will look like "[1,2,3,4,5]" - //replace the brackets with parentheses - inClause = inClause.replaceFirst("[","("); - inClause = inClause.replaceFirst("]",")"); - //at this point inClause will look like "(1,2,3,4,5)" - String query = ''' UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN '''+inClause; - await db.execute(query); + String query = "UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; + await db.execute(query, ids); } // SQL delete all data From 841d2df92adc6d70db9ffbd4f161b5906eca8f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 14:26:42 +0200 Subject: [PATCH 135/522] [fix] reintroducing pagination while sending data points to backend If a lot of data points have not been sent to the backend, we avoid doing a HTTP call with a giant payload; we rather use several HTTP calls each containing MAX_MODELS_COUNT models. --- apolline-flutter/lib/sensor_view.dart | 2 +- .../lib/services/sqflite_service.dart | 2 +- apolline-flutter/lib/twins/SensorTwin.dart | 28 +++++++++++++++---- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 8552a87c..0231034d 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -76,7 +76,7 @@ class _SensorViewState extends State { this._sensor.shutdown(); updateState("Configuring device"); - this._sensor = SensorTwin(device: device, syncTiming: Duration(seconds: 12)); + this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as SensorModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index a6c9abe3..6a597853 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -177,8 +177,8 @@ class SqfLiteService { return sensorModels; } - // SQL update Sensor colunm synchronisation + // TODO doc Future updateSensorSynchronisation(List ids) async { Database db = await database; String query = "UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 4a2a4563..88b0a6a0 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -177,13 +177,29 @@ class SensorTwin { List dataPoints = await _sqfLiteService.getNotSynchronizedModels(); if (dataPoints.length == 0) return; - // Send data to influxDB - print('Sending ${dataPoints.length} data points to InfluxDB'); - await _service.write(SensorModel.sensorsFmtToInfluxData(dataPoints)); - // Update local data in sqfLite - List ids = dataPoints.map((model) => model.id).toSet().toList(); - _sqfLiteService.updateSensorSynchronisation(ids); + // if a lot of data points have not been sent to the backend, we avoid + // doing a HTTP call with a giant payload; we rather use several HTTP calls + // each containing MAX_MODELS_COUNT models. + const int MAX_MODELS_COUNT = 150; + int modelsCount = dataPoints.length; + int callsCount = (modelsCount/MAX_MODELS_COUNT).ceil(); + + for (int i=0; i models = dataPoints.sublist(lowerBound, upperBound); + print('Sending ${models.length} data points to InfluxDB'); + await _service.write(SensorModel.sensorsFmtToInfluxData(models)); + + // Update local data in sqfLite + List ids = models.map((model) => model.id).toList(); + _sqfLiteService.updateSensorSynchronisation(ids); + } } /// Called when data is received from the sensor From 903394c876954d0b7be233a52a4f63bf88a518d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 14:57:59 +0200 Subject: [PATCH 136/522] [docs] adding documentation to model synchronization methods --- .../lib/services/sqflite_service.dart | 26 +++++++++++-------- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 6a597853..d97f6561 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -149,14 +149,6 @@ class SqfLiteService { return sensdorModels; } - // SQL get all SensorModelNotSynchro data - Future> getNotSynchronizedModels() async { - Database db = await database; - List maps = await db.query(tableSensorModel, - columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], - where: '$columnSynchro == ?', whereArgs: [0]); - return maps.map((map) => SensorModel.fromJson(map)).toList(); - } /// ///get all data after this mapfrequency [freq]. @@ -177,14 +169,26 @@ class SqfLiteService { return sensorModels; } - // SQL update Sensor colunm synchronisation - // TODO doc - Future updateSensorSynchronisation(List ids) async { + + /// Returns all models that have not been sent to backend yet + /// (materialized with $columnSynchro == 0). + Future> getNotSynchronizedModels() async { + Database db = await database; + List maps = await db.query(tableSensorModel, + columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], + where: '$columnSynchro == ?', whereArgs: [0]); + return maps.map((map) => SensorModel.fromJson(map)).toList(); + } + + /// Declares a list of models as sent to the backend + /// (sets their $columnSynchro value with 1). + Future setModelsAsSynchronized(List ids) async { Database db = await database; String query = "UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; await db.execute(query, ids); } + // SQL delete all data Future deleteAllSensorData() async { Database db = await database; diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 88b0a6a0..766fc136 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -198,7 +198,7 @@ class SensorTwin { // Update local data in sqfLite List ids = models.map((model) => model.id).toList(); - _sqfLiteService.updateSensorSynchronisation(ids); + _sqfLiteService.setModelsAsSynchronized(ids); } } From 5bbb52e5a21c6a256031c96bcfcb74ff380d95c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 15:50:22 +0200 Subject: [PATCH 137/522] [refactor] renaming SensorModel to DataPointModel --- ...sensormodel.dart => data_point_model.dart} | 21 +++--- .../lib/models/sensor_collection.dart | 6 +- .../lib/models/user_configuration.dart | 6 +- apolline-flutter/lib/sensor_view.dart | 8 +- .../lib/services/realtime_data_service.dart | 8 +- .../services/realtime_data_service_impl.dart | 8 +- .../lib/services/sqflite_service.dart | 74 +++++++++---------- apolline-flutter/lib/twins/SensorTwin.dart | 14 ++-- apolline-flutter/lib/widgets/maps.dart | 12 +-- apolline-flutter/lib/widgets/quality.dart | 14 ++-- apolline-flutter/lib/widgets/stats.dart | 18 ++--- 11 files changed, 89 insertions(+), 100 deletions(-) rename apolline-flutter/lib/models/{sensormodel.dart => data_point_model.dart} (88%) diff --git a/apolline-flutter/lib/models/sensormodel.dart b/apolline-flutter/lib/models/data_point_model.dart similarity index 88% rename from apolline-flutter/lib/models/sensormodel.dart rename to apolline-flutter/lib/models/data_point_model.dart index f6bb9f85..1b8d4863 100644 --- a/apolline-flutter/lib/models/sensormodel.dart +++ b/apolline-flutter/lib/models/data_point_model.dart @@ -11,8 +11,11 @@ class Units { static const String TEMPERATURE_KELVIN = "°K"; } -//sensorModel contient les values, la position et le device -class SensorModel { + +/// +/// This class represents data reported by a sensor. +/// +class DataPointModel { static const int SENSOR_DATE = 0; static const int SENSOR_PM_1 = 1; static const int SENSOR_PM_2_5 = 2; @@ -34,16 +37,11 @@ class SensorModel { /* Values received, parsed through a comma-separated string */ List values = []; - /// - ///constructor of senorModel. - SensorModel({this.values, this.sensorName, this.position}) { + DataPointModel({this.values, this.sensorName, this.position}) { this._date = DateTime.now().millisecondsSinceEpoch; } - /// - ///constructor of senorModel with date. - // ignore: non_constant_identifier_names - SensorModel.bdd({this.id, this.values, this.sensorName, this.position, date}) { + DataPointModel.bdd({this.id, this.values, this.sensorName, this.position, date}) { this._date = date; } @@ -104,7 +102,7 @@ class SensorModel { } ///Format data to write many sensorData into influxdb. - static String sensorsFmtToInfluxData(List lastData) { + static String sensorsFmtToInfluxData(List lastData) { var result = ""; for(var i = 0; i < lastData.length; i++ ) { result += "${lastData[i].fmtToInfluxData()}\n"; @@ -112,7 +110,6 @@ class SensorModel { return result; } - // Format Json of sensorModel Map toJSON() { var json = Map(); json["deviceName"] = sensorName; @@ -127,7 +124,7 @@ class SensorModel { // ignore: non_constant_identifier_names // create object from Json - SensorModel.fromJson(Map json) + DataPointModel.fromJson(Map json) : this.bdd( id: json['id'], values: json['value'].split('|'), diff --git a/apolline-flutter/lib/models/sensor_collection.dart b/apolline-flutter/lib/models/sensor_collection.dart index cebd2f51..ab17bcc8 100644 --- a/apolline-flutter/lib/models/sensor_collection.dart +++ b/apolline-flutter/lib/models/sensor_collection.dart @@ -1,10 +1,10 @@ -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; /// Sensore Collection used to make last data in collection class SensorCollection { // to stock lastData - List lastData; + List lastData; int get length { return this.lastData.length; @@ -16,7 +16,7 @@ class SensorCollection { } /// Add a sensor model to lastData collection - void addModel(SensorModel model) { + void addModel(DataPointModel model) { this.lastData.add(model); } diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index bb930503..698ad0bb 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,4 +1,4 @@ -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; ///Author (Issagha BARRY) @@ -23,12 +23,12 @@ class UserConfiguration { ///variable to retrieve data up to x minute MapFrequency _mapSyncFrequency ; - ///index pm in sensor model. + ///index pm in data point. int _pmIndex; /// ///Constructor - UserConfiguration({mapSyncFrequency: MapFrequency.MAP_SYNC_1_MIN, pmIndex: SensorModel.SENSOR_PM_2_5}) { + UserConfiguration({mapSyncFrequency: MapFrequency.MAP_SYNC_1_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { this._mapSyncFrequency = mapSyncFrequency; this._pmIndex = pmIndex; } diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0231034d..7a56cf1e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -4,7 +4,7 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; -import 'models/sensormodel.dart'; +import 'models/data_point_model.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; @@ -25,7 +25,7 @@ class SensorView extends StatefulWidget { class _SensorViewState extends State { String state = "Connecting to the device..."; - SensorModel lastReceivedData; + DataPointModel lastReceivedData; bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; SensorTwin _sensor; @@ -77,7 +77,7 @@ class _SensorViewState extends State { updateState("Configuring device"); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); - this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as SensorModel)); + this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as DataPointModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); await this._sensor.init(); @@ -85,7 +85,7 @@ class _SensorViewState extends State { updateState("Waiting for sensor data..."); } - void _onLiveDataReceived (SensorModel model) { + void _onLiveDataReceived (DataPointModel model) { setState(() { lastReceivedData = model; }); diff --git a/apolline-flutter/lib/services/realtime_data_service.dart b/apolline-flutter/lib/services/realtime_data_service.dart index 898be20e..55a6a48e 100644 --- a/apolline-flutter/lib/services/realtime_data_service.dart +++ b/apolline-flutter/lib/services/realtime_data_service.dart @@ -1,14 +1,14 @@ -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; /// abstract class -/// realtimedataService a service to stream sensormodel +/// realtimedataService a service to stream data points abstract class RealtimeDataService { - Stream dataStream; + Stream dataStream; /// close Stream void closeDataStream(); /// update Stream when we recieve a new model - void update(SensorModel newValues); + void update(DataPointModel newValues); /// start recieve model void start(); /// stop recieve model diff --git a/apolline-flutter/lib/services/realtime_data_service_impl.dart b/apolline-flutter/lib/services/realtime_data_service_impl.dart index fba71036..fac84f00 100644 --- a/apolline-flutter/lib/services/realtime_data_service_impl.dart +++ b/apolline-flutter/lib/services/realtime_data_service_impl.dart @@ -1,11 +1,11 @@ import 'dart:async'; import 'realtime_data_service.dart'; -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; /// RealtimeDataServiceImpl to implement method for the service class RealtimeDataServiceImpl extends RealtimeDataService { - StreamController _streamController; + StreamController _streamController; List values = []; // ignore: non_constant_identifier_names bool is_running = true; @@ -34,7 +34,7 @@ class RealtimeDataServiceImpl extends RealtimeDataService { } @override - Stream get dataStream { + Stream get dataStream { if (_streamController == null) { _streamController = StreamController.broadcast( onListen: start, @@ -50,7 +50,7 @@ class RealtimeDataServiceImpl extends RealtimeDataService { } @override - void update(SensorModel newValues) { + void update(DataPointModel newValues) { // values = newValues; if (_streamController != null && is_running == true) { values = newValues.values; diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index d97f6561..8820837a 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -1,6 +1,6 @@ import 'dart:io'; import 'package:apollineflutter/models/sensor_collection.dart'; -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path_provider/path_provider.dart'; @@ -14,7 +14,7 @@ class SqfLiteService { // Increment this version when you need to change the schema. static final _databaseVersion = 1; // database table sensor and column names - static final tableSensorModel = 'SensorModel'; + static final dataPointTableName = 'DataPointModel'; static final columnId = 'id'; static final columnDeviceName = 'deviceName'; static final columnUuid = 'uuid'; @@ -25,10 +25,6 @@ class SqfLiteService { static final columnSynchro = 'synchronisation'; static final columnValues = 'value'; - // database table date and column names - // static final tableDateModel = 'DateSynchronisation'; - // static final colId = 'id'; - // static final colDate = 'DateSynchro'; // Make this a singleton class. SqfLiteService._privateConstructor(); @@ -59,7 +55,7 @@ class SqfLiteService { // SQL string to create the database Future _onCreate(Database db, int version) async { String querySensor = ''' - CREATE TABLE $tableSensorModel ( + CREATE TABLE $dataPointTableName ( $columnId INTEGER PRIMARY KEY, $columnDeviceName TEXT NOT NULL, $columnUuid TEXT NOT NULL, @@ -81,15 +77,15 @@ class SqfLiteService { await db.execute(querySensor); } - // SQL save SensorModel - Future> insertSensor(Map sensormodel) async { + // SQL save DataPointModel + Future> insertSensor(Map model) async { Database db = await database; // ignore: unused_local_variable - var id = db.insert(tableSensorModel, sensormodel); - return sensormodel; + var id = db.insert(dataPointTableName, model); + return model; } - // SQL save SensorModel + // SQL save DataPointModel Future insertAllSensor(SensorCollection sensorCollection) async { Database db = await database; // ignore: unused_local_variable @@ -115,45 +111,41 @@ class SqfLiteService { buffer.write(json["value"]); buffer.write("')"); }); - // sensorCollection.lastData.forEach((element) async { - // await db.insert(tableSensorModel, element.toJSON()); - //}); - //var id = await db.insert(tableSensorModel, sensorCollection); - var raw = await db.rawInsert("INSERT Into $tableSensorModel ($columnDeviceName, $columnUuid, $columnProvider, $columnTransport, $columnGeohash, $columnDate, $columnValues ) " + var raw = await db.rawInsert("INSERT Into $dataPointTableName ($columnDeviceName, $columnUuid, $columnProvider, $columnTransport, $columnGeohash, $columnDate, $columnValues ) " " VALUES ${buffer.toString()}"); return raw; } - // SQL get SensorModel data by uuid - Future> getSensorModelByUuid(String uuid) async { + // SQL get DataPointModel data by uuid + Future> getDataPointByUuid(String uuid) async { Database db = await database; - List sensdorModels = []; - List maps = await db.query(tableSensorModel, + List models = []; + List maps = await db.query(dataPointTableName, columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnValues], where: '$columnUuid = ?', whereArgs: [uuid]); if (maps.length > 0) { - maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); - return sensdorModels; + maps.forEach((map) => models.add(DataPointModel.fromJson(map))); + return models; } - return sensdorModels; + return models; } - // SQL get all SensorModel data - Future> getAllSensorModels() async { + // SQL get all DataPointModel data + Future> getAllDataPoints() async { Database db = await database; - List sensdorModels = []; - List maps = await db.query(tableSensorModel); + List models = []; + List maps = await db.query(dataPointTableName); if (maps.length > 0) { - maps.forEach((map) => sensdorModels.add(SensorModel.fromJson(map))); - return sensdorModels; + maps.forEach((map) => models.add(DataPointModel.fromJson(map))); + return models; } - return sensdorModels; + return models; } /// ///get all data after this mapfrequency [freq]. - Future> getAllSensorModelAfterDate(MapFrequency freq) async { - List sensorModels = []; + Future> getAllDataPointsAfterDate(MapFrequency freq) async { + List models = []; var now = DateTime.now(); List freqC = [1, 5, 15, 30, 60, 180, 360, 720, 1440]; //convert to minute. var today = now.hour*60 + now.minute; @@ -163,28 +155,28 @@ class SqfLiteService { var time = now.millisecondsSinceEpoch - 60000*freqC[freq.index]; Database db = await database; - var jsonres = await db.query(tableSensorModel, columns: null, where: "$columnDate >= ?", whereArgs: [time]); - jsonres.forEach((pJson) { sensorModels.add(SensorModel.fromJson(pJson)); }); + var jsonres = await db.query(dataPointTableName, columns: null, where: "$columnDate >= ?", whereArgs: [time]); + jsonres.forEach((pJson) { models.add(DataPointModel.fromJson(pJson)); }); - return sensorModels; + return models; } /// Returns all models that have not been sent to backend yet /// (materialized with $columnSynchro == 0). - Future> getNotSynchronizedModels() async { + Future> getNotSynchronizedModels() async { Database db = await database; - List maps = await db.query(tableSensorModel, + List maps = await db.query(dataPointTableName, columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnDate, columnValues], where: '$columnSynchro == ?', whereArgs: [0]); - return maps.map((map) => SensorModel.fromJson(map)).toList(); + return maps.map((map) => DataPointModel.fromJson(map)).toList(); } /// Declares a list of models as sent to the backend /// (sets their $columnSynchro value with 1). Future setModelsAsSynchronized(List ids) async { Database db = await database; - String query = "UPDATE $tableSensorModel SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; + String query = "UPDATE $dataPointTableName SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; await db.execute(query, ids); } @@ -192,7 +184,7 @@ class SqfLiteService { // SQL delete all data Future deleteAllSensorData() async { Database db = await database; - return await db.delete(tableSensorModel); + return await db.delete(dataPointTableName); } // SQL close database diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 766fc136..841eeac3 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/influxdb_client.dart'; import 'package:apollineflutter/services/location_service.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; @@ -142,7 +142,7 @@ class SensorTwin { String message = String.fromCharCodes(value); if (_isSendingData && _callbacks.containsKey(SensorTwinEvent.live_data)) { - SensorModel model = _handleSensorUpdate(message); + DataPointModel model = _handleSensorUpdate(message); _callbacks[SensorTwinEvent.live_data](model); } else if (_isSendingHistory && _callbacks.containsKey(SensorTwinEvent.history_data)) { _callbacks[SensorTwinEvent.history_data](message); @@ -174,7 +174,7 @@ class SensorTwin { /// to InfluxDB yet, and sends them. void _synchronizationCallback () async { // find not-synchronized data - List dataPoints = await _sqfLiteService.getNotSynchronizedModels(); + List dataPoints = await _sqfLiteService.getNotSynchronizedModels(); if (dataPoints.length == 0) return; @@ -192,9 +192,9 @@ class SensorTwin { : lowerBound + MAX_MODELS_COUNT; // Send data to influxDB - List models = dataPoints.sublist(lowerBound, upperBound); + List models = dataPoints.sublist(lowerBound, upperBound); print('Sending ${models.length} data points to InfluxDB'); - await _service.write(SensorModel.sensorsFmtToInfluxData(models)); + await _service.write(DataPointModel.sensorsFmtToInfluxData(models)); // Update local data in sqfLite List ids = models.map((model) => model.id).toList(); @@ -203,12 +203,12 @@ class SensorTwin { } /// Called when data is received from the sensor - SensorModel _handleSensorUpdate (String message) { + DataPointModel _handleSensorUpdate (String message) { if (!message.contains('\n')) return null; print("Got full line: " + message); List values = message.split(';'); - var model = SensorModel(values: values, sensorName: this.name, position: _currentPosition); + var model = DataPointModel(values: values, sensorName: this.name, position: _currentPosition); _dataService.update(model); /* insert to sqflite */ _sqfLiteService.insertSensor(model.toJSON()); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 4d07a8cf..f6c7c770 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -11,7 +11,7 @@ import 'package:global_configuration/global_configuration.dart'; import 'package:apollineflutter/configuration_key_name.dart'; import 'package:apollineflutter/models/user_configuration.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/location_service.dart'; @@ -33,9 +33,9 @@ class MapUiBody extends StatefulWidget { class MapUiBodyState extends State { - ///the min value of pm order in sensormodel. + ///the min value of pm order in data point. var minPmValues = GlobalConfiguration().get(ApollineConf.MINPMVALUES) ?? []; - ///the max value of pm order in sensormodel. + ///the max value of pm order in data point. var maxPmValues = GlobalConfiguration().get(ApollineConf.MAXPMVALUES) ?? []; ///user configuration in the ui UserConfigurationService ucS = locator(); @@ -46,7 +46,7 @@ class MapUiBodyState extends State { ///help for close subscription StreamSubscription _sub; ///help to listen data - Stream _sensorDataStream = locator().dataStream; + Stream _sensorDataStream = locator().dataStream; /// the label for time. List mapTimeLabel = [ "last minute", @@ -277,7 +277,7 @@ class MapUiBodyState extends State { /// ///add circle to model. ///[pModel] model - void addCircle(SensorModel pModel) { + void addCircle(DataPointModel pModel) { var json = SimpleGeoHash.decode(pModel.position.geohash); this._circles.add( Circle( @@ -293,7 +293,7 @@ class MapUiBodyState extends State { /// ///update data after change time of pm choice. void getSensorDataAfterDate() { - this._sqliteService.getAllSensorModelAfterDate(this.ucS.userConf.mapSyncFrequency).then((res) { + this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.mapSyncFrequency).then((res) { this._circles.clear(); //clean last content. for(var i = 0; i < res.length; i++) { this.addCircle(res[i]); diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 7caf5cd4..8bb1bd83 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -1,11 +1,11 @@ -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_gauges/gauges.dart'; class Quality extends StatelessWidget { - final SensorModel lastReceivedData; + final DataPointModel lastReceivedData; Quality({Key key, this.lastReceivedData}) : super(key: key); @@ -147,7 +147,7 @@ class Quality extends StatelessWidget { Container( child: _buildGauge( "PM1", //title - lastReceivedData.values[SensorModel.SENSOR_PM_1], //data + lastReceivedData.values[DataPointModel.SENSOR_PM_1], //data "µg/m3", //unit Colors.blueGrey, //color new BoxDecoration()), //box @@ -156,7 +156,7 @@ class Quality extends StatelessWidget { Container( child: _buildGauge( "PM2.5", - lastReceivedData.values[SensorModel.SENSOR_PM_2_5], + lastReceivedData.values[DataPointModel.SENSOR_PM_2_5], "µg/m3", Colors.blueGrey, new BoxDecoration()), @@ -165,7 +165,7 @@ class Quality extends StatelessWidget { Container( child: _buildGauge( "PM10", - lastReceivedData.values[SensorModel.SENSOR_PM_10], + lastReceivedData.values[DataPointModel.SENSOR_PM_10], "µg/m3", Colors.blueGrey, new BoxDecoration()), @@ -174,7 +174,7 @@ class Quality extends StatelessWidget { Container( child: _buildGauge( "TEMPERATURE", - lastReceivedData.values[SensorModel.SENSOR_TEMP], + lastReceivedData.values[DataPointModel.SENSOR_TEMP], "°C", Color(0xFFFFCD60), new BoxDecoration( @@ -186,7 +186,7 @@ class Quality extends StatelessWidget { //creates BATTERY gauge Container( child: _buildGaugeBattery("BAT", - lastReceivedData.values[SensorModel.SENSOR_VOLT])) + lastReceivedData.values[DataPointModel.SENSOR_VOLT])) ], ), ); diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index b6dacac9..6a061f96 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'dart:core'; -import 'package:apollineflutter/models/sensormodel.dart'; +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:flutter/material.dart'; @@ -24,7 +24,7 @@ import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; // ignore: must_be_immutable class Stats extends StatefulWidget { Stats({Key key, this.dataSensor}) : super(key: key); - SensorModel dataSensor; + DataPointModel dataSensor; @override State createState() { return StatsState(datas: dataSensor); @@ -35,12 +35,12 @@ class StatsState extends State implements OnChartValueSelectedListener { StatsState({Key key, this.datas}); RealtimeDataService _dataService = locator(); // stream to listen the arrival of new data - Stream _dataStream = locator().dataStream; + Stream _dataStream = locator().dataStream; // a controller with the stream it controls. - StreamSubscription _streamSubscription; + StreamSubscription _streamSubscription; // contorller for chart LineChartController controller; - SensorModel datas; + DataPointModel datas; // Line PM1 ILineDataSet setPM1; // Line PM2.5 @@ -66,12 +66,12 @@ class StatsState extends State implements OnChartValueSelectedListener { _streamSubscription = _dataStream.listen((newData) { if (intialized) { _addEntry( - 0, i0++, double.parse(newData.values[SensorModel.SENSOR_PM_1])); + 0, i0++, double.parse(newData.values[DataPointModel.SENSOR_PM_1])); _addEntry( - 1, i1++, double.parse(newData.values[SensorModel.SENSOR_PM_2_5])); + 1, i1++, double.parse(newData.values[DataPointModel.SENSOR_PM_2_5])); _addEntry( - 2, i2++, double.parse(newData.values[SensorModel.SENSOR_PM_10])); - _dataTimeX.add(newData.values[SensorModel.SENSOR_DATE]); + 2, i2++, double.parse(newData.values[DataPointModel.SENSOR_PM_10])); + _dataTimeX.add(newData.values[DataPointModel.SENSOR_DATE]); setState(() {}); } }); From 2d343cef5be2cad1aa01d97795cbed4519ef7faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 15:59:56 +0200 Subject: [PATCH 138/522] [refactor] renaming insertSensor to addDataPoint --- apolline-flutter/lib/services/sqflite_service.dart | 2 +- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 8820837a..096475e0 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -78,7 +78,7 @@ class SqfLiteService { } // SQL save DataPointModel - Future> insertSensor(Map model) async { + Future> addDataPoint(Map model) async { Database db = await database; // ignore: unused_local_variable var id = db.insert(dataPointTableName, model); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 841eeac3..903560e4 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -211,7 +211,7 @@ class SensorTwin { var model = DataPointModel(values: values, sensorName: this.name, position: _currentPosition); _dataService.update(model); /* insert to sqflite */ - _sqfLiteService.insertSensor(model.toJSON()); + _sqfLiteService.addDataPoint(model.toJSON()); return model; } From e78ff3a804c1d77ffba8de019c9a51bcc2ab18fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 16:07:54 +0200 Subject: [PATCH 139/522] [refactor] removing unused methods from db service --- .../lib/services/sqflite_service.dart | 59 +------------------ 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 096475e0..331b0a28 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -67,13 +67,6 @@ class SqfLiteService { $columnValues TEXT NOT NULL ) '''; - - // String queryDate = ''' - // CREATE TABLE $tableDateModel ( - // $colId INTEGER PRIMARY KEY, - // $colDate INTEGER - // ) - // '''; await db.execute(querySensor); } @@ -85,50 +78,6 @@ class SqfLiteService { return model; } - // SQL save DataPointModel - Future insertAllSensor(SensorCollection sensorCollection) async { - Database db = await database; - // ignore: unused_local_variable - var buffer = new StringBuffer(); - sensorCollection.lastData.forEach((element) { - Map json = element.toJSON(); - if (buffer.isNotEmpty) { - buffer.write(",\n"); - } - buffer.write("('"); - buffer.write(json["deviceName"]); - buffer.write("', '"); - buffer.write(json["uuid"]); - buffer.write("', '"); - buffer.write(json["provider"]); - buffer.write("', '"); - buffer.write(json["geohash"]); - buffer.write("', '"); - buffer.write(json["transport"]); - buffer.write("', '"); - buffer.write(json["dateSynchro"]); - buffer.write("', '"); - buffer.write(json["value"]); - buffer.write("')"); - }); - var raw = await db.rawInsert("INSERT Into $dataPointTableName ($columnDeviceName, $columnUuid, $columnProvider, $columnTransport, $columnGeohash, $columnDate, $columnValues ) " - " VALUES ${buffer.toString()}"); - return raw; - } - - // SQL get DataPointModel data by uuid - Future> getDataPointByUuid(String uuid) async { - Database db = await database; - List models = []; - List maps = await db.query(dataPointTableName, - columns: [columnId, columnDeviceName, columnUuid, columnProvider, columnGeohash, columnTransport, columnValues], where: '$columnUuid = ?', whereArgs: [uuid]); - if (maps.length > 0) { - maps.forEach((map) => models.add(DataPointModel.fromJson(map))); - return models; - } - return models; - } - // SQL get all DataPointModel data Future> getAllDataPoints() async { Database db = await database; @@ -173,7 +122,7 @@ class SqfLiteService { } /// Declares a list of models as sent to the backend - /// (sets their $columnSynchro value with 1). + /// (sets their $columnSynchro value to 1). Future setModelsAsSynchronized(List ids) async { Database db = await database; String query = "UPDATE $dataPointTableName SET $columnSynchro = 1 WHERE id IN (${List.filled(ids.length, '?').join(',')})"; @@ -181,12 +130,6 @@ class SqfLiteService { } - // SQL delete all data - Future deleteAllSensorData() async { - Database db = await database; - return await db.delete(dataPointTableName); - } - // SQL close database Future close() async { Database db = await database; From b04c5dba4bc8808f13f1132c0a6490821d88db13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 16:10:10 +0200 Subject: [PATCH 140/522] [fix] removing useless import --- apolline-flutter/lib/services/sqflite_service.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 331b0a28..50ea42d5 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -1,5 +1,4 @@ import 'dart:io'; -import 'package:apollineflutter/models/sensor_collection.dart'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; From baab18ace24746b502c0bf85bd34a955b21cbb07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 23 Aug 2021 16:56:21 +0200 Subject: [PATCH 141/522] [refactor] removing unused SensorCollection class --- .../lib/models/sensor_collection.dart | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 apolline-flutter/lib/models/sensor_collection.dart diff --git a/apolline-flutter/lib/models/sensor_collection.dart b/apolline-flutter/lib/models/sensor_collection.dart deleted file mode 100644 index ab17bcc8..00000000 --- a/apolline-flutter/lib/models/sensor_collection.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:apollineflutter/models/data_point_model.dart'; - - -/// Sensore Collection used to make last data in collection -class SensorCollection { - // to stock lastData - List lastData; - - int get length { - return this.lastData.length; - } - - /// Conctructor - SensorCollection() { - this.lastData = []; - } - - /// Add a sensor model to lastData collection - void addModel(DataPointModel model) { - this.lastData.add(model); - } - - /// Clean collection - void clear() { - this.lastData.clear(); - } - - /// make data in send format - String fmtToInfluxData() { - var result = ""; - - for(var i = 0; i < this.lastData.length; i++ ) { - result += "${this.lastData[i].fmtToInfluxData()}\n"; - } - return result; - } - -} \ No newline at end of file From f2e4b8a8990472ffafbb4bca2ec7b41466bb99ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:35:09 +0200 Subject: [PATCH 142/522] [fix] shutting a sensor down does not throw if it's not initialized --- apolline-flutter/lib/twins/SensorTwin.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 903560e4..967bd22d 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -230,8 +230,8 @@ class SensorTwin { /// TODO properly close bluetooth connection void shutdown () { this._callbacks = Map(); - this._syncTimer.cancel(); - this._service.client.close(); - this._dataService.stop(); + this._syncTimer?.cancel(); + this._service.client?.close(); + this._dataService?.stop(); } } \ No newline at end of file From f03e62197e0ea2715c993589e699074e58829934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:35:46 +0200 Subject: [PATCH 143/522] [fix] setting Stats.dataSensor as final (should be immutable) --- apolline-flutter/lib/widgets/stats.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 6a061f96..9ea6dcab 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -20,11 +20,11 @@ import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; -// TODO fix -// ignore: must_be_immutable + + class Stats extends StatefulWidget { Stats({Key key, this.dataSensor}) : super(key: key); - DataPointModel dataSensor; + final DataPointModel dataSensor; @override State createState() { return StatsState(datas: dataSensor); From ca3cac2872300a47b92b721d2db507fc7d9e4e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:40:22 +0200 Subject: [PATCH 144/522] [refactor] removing useless variables from stats view --- apolline-flutter/lib/sensor_view.dart | 2 +- apolline-flutter/lib/widgets/stats.dart | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 7a56cf1e..93077f7c 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -185,7 +185,7 @@ class _SensorViewState extends State { ), body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), - Stats(dataSensor: lastReceivedData), + Stats(), MapSample(), ])), ), diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 9ea6dcab..9b1ec9a2 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -23,16 +23,15 @@ import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; class Stats extends StatefulWidget { - Stats({Key key, this.dataSensor}) : super(key: key); - final DataPointModel dataSensor; + Stats({Key key}) : super(key: key); @override State createState() { - return StatsState(datas: dataSensor); + return StatsState(); } } class StatsState extends State implements OnChartValueSelectedListener { - StatsState({Key key, this.datas}); + StatsState({Key key}); RealtimeDataService _dataService = locator(); // stream to listen the arrival of new data Stream _dataStream = locator().dataStream; @@ -40,7 +39,6 @@ class StatsState extends State implements OnChartValueSelectedListener { StreamSubscription _streamSubscription; // contorller for chart LineChartController controller; - DataPointModel datas; // Line PM1 ILineDataSet setPM1; // Line PM2.5 From 98cd283293ce61668fd8f2fe513bf93d6dc53b3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:47:10 +0200 Subject: [PATCH 145/522] [fix] bluetooth devices view is now immutable --- apolline-flutter/lib/bluetoothDevicesPage.dart | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 1c38194b..586284f1 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -5,28 +5,18 @@ import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; -// TODO fix -// ignore: must_be_immutable -class BluetoothDevicesPage extends StatefulWidget { - BluetoothDevicesPage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". +class BluetoothDevicesPage extends StatefulWidget { + BluetoothDevicesPage({Key key, this.title}) : super(key: key); final String title; - FlutterBlue flutterBlue = FlutterBlue.instance; - bool bluetoothIsOn = false; + final FlutterBlue flutterBlue = FlutterBlue.instance; @override _BluetoothDevicesPageState createState() => _BluetoothDevicesPageState(); } + class _BluetoothDevicesPageState extends State { String state = "Scanning..."; bool timeout = true; From d0ac4be5d0f746634b227f8b410faa41a858dc16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:50:51 +0200 Subject: [PATCH 146/522] [fix] removing useless print --- apolline-flutter/lib/services/influxdb_client.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index dff84867..1f8cbd57 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -45,7 +45,6 @@ class InfluxDBAPI { Future ping() async { return client.pingSilent("$_pingUrl"); //utilisation de /health car la v2.0 le contient déjà. actu sur v1.8.x } - } ///Author(Issagha Barry) @@ -72,7 +71,6 @@ class _InfluxDBClient extends http.BaseClient { http.Response resp; try{ resp = await this.get(url); - print("server is running"); //TODO supprimé à la fin. } on SocketException catch(_) { throw LostConnectionException("server is unavailable"); } From 641bc50293a4faee8cffd0fb0116ca7a8aa5e1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 09:56:35 +0200 Subject: [PATCH 147/522] [fix] adjusting scanning button style for it to be visible --- apolline-flutter/lib/bluetoothDevicesPage.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 586284f1..d788baf9 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -173,20 +173,22 @@ class _BluetoothDevicesPageState extends State { } List _buildChildrenButton() { + const btnStyle = TextStyle(color: Colors.white); + if (timeout) { return [ // ignore: missing_required_param - TextButton(child: Text("Analyser")), + TextButton(child: Text("Analyser", style: btnStyle,)), ]; } else { return [ SizedBox( - child: CircularProgressIndicator(backgroundColor: Colors.blue), //TODO choisir une meilleur couleur + child: CircularProgressIndicator(backgroundColor: Colors.white), width: 20, height: 20, ), // ignore: missing_required_param - TextButton(child: Text("Arrêter")), + TextButton(child: Text("Arrêter", style: btnStyle)), ]; } } From baa1e99aa651508bb9a4212509f18d7613962408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 10:04:43 +0200 Subject: [PATCH 148/522] [refactor] setting user configuration key as global variable --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/services/user_configuration_service.dart | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d788baf9..47f2423f 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -30,7 +30,7 @@ class _BluetoothDevicesPageState extends State { super.initState(); //initializeDevice(); this.ucS.addListener(() { - LocalKeyValuePersistance.saveObject("userconf", ucS.userConf.toJson()); + LocalKeyValuePersistance.saveObject(UserConfigurationService.USER_CONF_KEY, ucS.userConf.toJson()); }); initializeDevice(); } diff --git a/apolline-flutter/lib/services/user_configuration_service.dart b/apolline-flutter/lib/services/user_configuration_service.dart index 7c891904..05e15fa1 100644 --- a/apolline-flutter/lib/services/user_configuration_service.dart +++ b/apolline-flutter/lib/services/user_configuration_service.dart @@ -6,6 +6,7 @@ import 'package:apollineflutter/services/service_locator.dart'; ///Author (Issagha BARRY) /// class UserConfigurationService extends ChangeNotifier{ + static const USER_CONF_KEY = "userconf"; //user configuration UserConfiguration userConf; //help to know if data is load from local storage @@ -16,7 +17,7 @@ class UserConfigurationService extends ChangeNotifier{ UserConfigurationService() { //load data from localStorage. - LocalKeyValuePersistance.getObject("userconf").then((json) { //todo mettre la chaine ailleur pour factoriser + LocalKeyValuePersistance.getObject(UserConfigurationService.USER_CONF_KEY).then((json) { this.isReady = true; this.userConf = json == null ? UserConfiguration() : UserConfiguration.fromJson(json); locator.signalReady(this); From 027003406ce9e19f48af286ad74aa95ada80f6a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 10:29:36 +0200 Subject: [PATCH 149/522] [fix] closing location service stream --- apolline-flutter/lib/services/location_service.dart | 8 +++++--- apolline-flutter/lib/twins/SensorTwin.dart | 5 ++++- apolline-flutter/lib/widgets/maps.dart | 5 ++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index fbd54019..4506cda5 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -11,8 +11,6 @@ class SimpleLocationService { ///current position. Position _currentPosition; ///stream. - ///TODO close stream - // ignore: close_sinks StreamController _locationStream = StreamController.broadcast(); /// @@ -46,5 +44,9 @@ class SimpleLocationService { return this._currentPosition; } - + /// Removes all stream listeners and close it. + void close () async { + await this._locationStream.stream.drain(); + this._locationStream.close(); + } } \ No newline at end of file diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 967bd22d..c531c541 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -41,6 +41,7 @@ class SensorTwin { RealtimeDataService _dataService = locator(); Timer _syncTimer; + SimpleLocationService _locationService; Position _currentPosition; @@ -161,7 +162,8 @@ class SensorTwin { } void _initLocationService () { - SimpleLocationService().locationStream.listen((p) { + this._locationService = SimpleLocationService(); + this._locationService.locationStream.listen((p) { this._currentPosition = p; }); } @@ -233,5 +235,6 @@ class SensorTwin { this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); + this._locationService.close(); } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index f6c7c770..fab3311d 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -99,6 +99,7 @@ class MapUiBodyState extends State { bool _myTrafficEnabled = false; bool _myLocationButtonEnabled = true; GoogleMapController _controller; + SimpleLocationService _locationService; @override void initState() { @@ -106,6 +107,7 @@ class MapUiBodyState extends State { this._circles = HashSet(); this.getSensorDataAfterDate(); this.listenSensorData(); + this._locationService = SimpleLocationService(); } /// @@ -126,6 +128,7 @@ class MapUiBodyState extends State { @override void dispose() { this._sub?.cancel(); + this._locationService.close(); super.dispose(); } @@ -308,7 +311,7 @@ class MapUiBodyState extends State { /// [controller] GoogleMapController help to do something. void onMapCreated(GoogleMapController controller) { _controller = controller; - SimpleLocationService().getLocation().then((position) { + this._locationService.getLocation().then((position) { if(position.geohash != "no") { var json = SimpleGeoHash.decode(position.geohash); this._kInitialPosition = CameraPosition( From b627fc6e7582a899eb5a6d0ca8c15faed5655bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 10:59:47 +0200 Subject: [PATCH 150/522] [refactor] restoring theme data There was another MaterialApp component inside the root one, which prevented theme data from reaching application widgets. --- apolline-flutter/lib/main.dart | 12 ++------ apolline-flutter/lib/sensor_view.dart | 40 ++++++++++++------------- apolline-flutter/lib/widgets/maps.dart | 6 ++-- apolline-flutter/lib/widgets/stats.dart | 3 +- 4 files changed, 24 insertions(+), 37 deletions(-) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 8b3a03d5..bd9f0592 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -20,16 +20,8 @@ class ApollineApp extends StatelessWidget { return MaterialApp( title: 'Apolline', theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.green, + primaryColor: Colors.green, + floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: Colors.lightGreen) ), home: BluetoothDevicesPage(title: 'Apolline - Sensors'), ); diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 93077f7c..35d265a2 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -167,28 +167,26 @@ class _SensorViewState extends State { /* We got data : display them */ return WillPopScope( onWillPop: _onWillPop, - child: MaterialApp( - home: DefaultTabController( - length: 3, - child: Scaffold( - key: _scaffoldMessengerKey, - appBar: AppBar( - backgroundColor: Colors.green, - bottom: TabBar( - tabs: [ - Tab(icon: Icon(Icons.home)), - Tab(icon: Icon(Icons.insert_chart)), - Tab(icon: Icon(Icons.map)), - ], - ), - title: Text('Apolline'), + child: DefaultTabController( + length: 3, + child: Scaffold( + key: _scaffoldMessengerKey, + appBar: AppBar( + backgroundColor: Theme.of(context).primaryColor, + bottom: TabBar( + tabs: [ + Tab(icon: Icon(Icons.home)), + Tab(icon: Icon(Icons.insert_chart)), + Tab(icon: Icon(Icons.map)), + ], ), - body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(), - MapSample(), - ])), - ), + title: Text('Apolline'), + ), + body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(), + MapSample(), + ])), ), ); } diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index fab3311d..c51f0d74 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -241,13 +241,11 @@ class MapUiBodyState extends State { children: [ FloatingActionButton.extended( label: Text("Time"), - onPressed: () { this.chooseTimeFrequency(context); }, - backgroundColor: Colors.green, //TODO trouver le moyen de factoriser dans ThemeData + onPressed: () { this.chooseTimeFrequency(context); } ), FloatingActionButton.extended( label: Text("PM"), - onPressed: () { this.choosePm(context); }, - backgroundColor: Colors.green, //TODO trouver le moyen de factoriser dans ThemeData + onPressed: () { this.choosePm(context); } ) ], ), diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 9b1ec9a2..73c42a39 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -113,8 +113,7 @@ class StatsState extends State implements OnChartValueSelectedListener { child: FloatingActionButton( onPressed: _togglePulsar, child: Icon( - _dataService.isRunning ? Icons.pause : Icons.play_arrow, - color: Color.fromARGB(0xff, 0x17, 0x0b, 0x0f), + _dataService.isRunning ? Icons.pause : Icons.play_arrow ), ), ), From 754490ac359b7bf0874f8adb7ff35b4ec6f6657d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 11:06:15 +0200 Subject: [PATCH 151/522] [fix] restoring ble scan loader colors --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 47f2423f..101abb0e 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -174,6 +174,7 @@ class _BluetoothDevicesPageState extends State { List _buildChildrenButton() { const btnStyle = TextStyle(color: Colors.white); + Color bgColor = Theme.of(context).primaryColor; if (timeout) { return [ @@ -183,7 +184,10 @@ class _BluetoothDevicesPageState extends State { } else { return [ SizedBox( - child: CircularProgressIndicator(backgroundColor: Colors.white), + child: Theme( + data: Theme.of(context).copyWith(accentColor: bgColor), + child: CircularProgressIndicator(backgroundColor: Colors.white), + ), width: 20, height: 20, ), From 66ffcd55ec9860711459e15fb3b5ed0409c1706c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 11:22:03 +0200 Subject: [PATCH 152/522] [refactor] removing useless variable --- apolline-flutter/lib/bluetoothDevicesPage.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 101abb0e..70a7f650 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -18,7 +18,6 @@ class BluetoothDevicesPage extends StatefulWidget { class _BluetoothDevicesPageState extends State { - String state = "Scanning..."; bool timeout = true; Map devices = {}; Map pairedDevices = {}; @@ -98,10 +97,6 @@ class _BluetoothDevicesPageState extends State { } } }); - - setState(() { - state = "Detected devices:"; - }); } void _addWidgetDevices(Map devices, List l, Function(List, BluetoothDevice) cond) { @@ -129,8 +124,6 @@ class _BluetoothDevicesPageState extends State { /* Build the UI list of detected devices */ List _buildDevicesList() { List wList = []; - /* Add the state label at the top */ - //wList.add(Text(state)); // TODO: remove if (pairedDevices.length > 0) { wList.add(Text("Périphérique appairés")); _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); From 27f8ea41025f54affd949f354a4226f306cb3689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 11:34:02 +0200 Subject: [PATCH 153/522] [fix] adding margin around devices list tiles --- apolline-flutter/lib/bluetoothDevicesPage.dart | 17 ++++++++++++++--- apolline-flutter/lib/sensor_view.dart | 1 - 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 70a7f650..1692f690 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -124,13 +124,21 @@ class _BluetoothDevicesPageState extends State { /* Build the UI list of detected devices */ List _buildDevicesList() { List wList = []; + if (pairedDevices.length > 0) { - wList.add(Text("Périphérique appairés")); + wList.add(Container( + child: Text("Périphérique appairés"), + margin: EdgeInsets.only(top: 10, bottom: 10) + )); _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); } - wList.add(Text("Appareils disponibles")); + wList.add(Container( + margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), + child: Text("Appareils disponibles") + )); _addWidgetDevices(devices, wList, _conditionForDevices); + /* Add a button for each device */ /* TODO: filter device list */ @@ -224,7 +232,10 @@ class _BluetoothDevicesPageState extends State { body: Center( // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. - child: ListView(children: _buildDevicesList())), + child: Container( + child: ListView(children: _buildDevicesList()), + margin: EdgeInsets.all(10), + )), ); } } diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 35d265a2..bb5ec66a 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -46,7 +46,6 @@ class _SensorViewState extends State { try { await widget.device.connect(); - /* TODO: voir s'il ya possibilité de négocier le mtu */ } catch (e) { if (e.code != "already_connected") { throw e; From 8986878d8ac52675669009b2d8f02eb7a754bf33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 13:34:37 +0200 Subject: [PATCH 154/522] [feat] adding device card widget skeleton --- apolline-flutter/lib/widgets/device_card.dart | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 apolline-flutter/lib/widgets/device_card.dart diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart new file mode 100644 index 00000000..1bec8d55 --- /dev/null +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -0,0 +1,27 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class DeviceCard extends StatefulWidget { + DeviceCard({this.deviceName, this.deviceId, this.connectionCallback}); + final String deviceName; + final String deviceId; + final Function(String, String) connectionCallback; + + @override + State createState() => _DeviceCardState(); +} + +class _DeviceCardState extends State { + @override + Widget build(BuildContext context) { + return Card( + child: ListTile( + title: Text(widget.deviceName), + subtitle: Text(widget.deviceId), + onTap: () { + widget.connectionCallback(widget.deviceName, widget.deviceId; + }, + ) + ); + } +} \ No newline at end of file From 523ab65d507d1b0e7a9d83d3f01c7e3f025ba05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 13:47:03 +0200 Subject: [PATCH 155/522] [refactor] using sets to store devices instead of maps --- .../lib/bluetoothDevicesPage.dart | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 1692f690..ea0cb199 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -19,8 +19,8 @@ class BluetoothDevicesPage extends StatefulWidget { class _BluetoothDevicesPageState extends State { bool timeout = true; - Map devices = {}; - Map pairedDevices = {}; + Set devices = Set(); + Set pairedDevices = Set(); ///user configuration in the ui UserConfigurationService ucS = locator(); @@ -83,7 +83,7 @@ class _BluetoothDevicesPageState extends State { widget.flutterBlue.connectedDevices.asStream().listen((List ds) { for (BluetoothDevice device in ds) { setState(() { - pairedDevices.putIfAbsent(device.id.toString(), () => device); + pairedDevices.add(device); }); } }); @@ -92,29 +92,29 @@ class _BluetoothDevicesPageState extends State { for (ScanResult r in results) { if (r.device.name.length > 0) { setState(() { - devices.putIfAbsent(r.device.id.toString(), () => r.device); + devices.add(r.device); }); } } }); } - void _addWidgetDevices(Map devices, List l, Function(List, BluetoothDevice) cond) { - devices.forEach((id, d) { - if (cond(l, d)) + void _addWidgetDevices(Set devices, List l, Function(List, BluetoothDevice) cond) { + devices.toList().forEach((device) { + if (cond(l, device)) l.add(Card( child: ListTile( - title: Text(d.name), - subtitle: Text(id), + title: Text(device.name), + subtitle: Text(device.id.toString()), onTap: () { - connectToDevice(d, id); + connectToDevice(device, device.id.toString()); }, ))); }); } bool _conditionForDevices(List l, BluetoothDevice d) { - return (!pairedDevices.containsValue(d)) && (!l.contains(d)); + return (!pairedDevices.contains(d)) && (!l.contains(d)); } bool _conditionForPaireddevices(List l, BluetoothDevice d) { @@ -158,7 +158,7 @@ class _BluetoothDevicesPageState extends State { if (isconnected != null && isconnected) { setState(() { devices.remove(id); - pairedDevices.putIfAbsent(id, () => device); + pairedDevices.add(device); }); } } From ab9f6ccb407aa4e820459d5b2bdd3566003f5c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 13:54:07 +0200 Subject: [PATCH 156/522] [refactor] building devices cards using new widget --- apolline-flutter/lib/bluetoothDevicesPage.dart | 16 ++++++---------- apolline-flutter/lib/widgets/device_card.dart | 14 +++++++------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index ea0cb199..be2b6ce3 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/sensor_view.dart'; +import 'package:apollineflutter/widgets/device_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; @@ -102,14 +103,9 @@ class _BluetoothDevicesPageState extends State { void _addWidgetDevices(Set devices, List l, Function(List, BluetoothDevice) cond) { devices.toList().forEach((device) { if (cond(l, device)) - l.add(Card( - child: ListTile( - title: Text(device.name), - subtitle: Text(device.id.toString()), - onTap: () { - connectToDevice(device, device.id.toString()); - }, - ))); + l.add( + DeviceCard(device: device, connectionCallback: connectToDevice) + ); }); } @@ -146,7 +142,7 @@ class _BluetoothDevicesPageState extends State { } /* Handles a click on a device entry */ - void connectToDevice(BluetoothDevice device, String id) async { + void connectToDevice(BluetoothDevice device) async { /* Stop scanning, if not already stopped */ FlutterBlue.instance.stopScan(); /* We selected a device - go to the device screen passing information about the selected device */ @@ -157,7 +153,7 @@ class _BluetoothDevicesPageState extends State { if (isconnected != null && isconnected) { setState(() { - devices.remove(id); + devices.remove(device); pairedDevices.add(device); }); } diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index 1bec8d55..66f8c162 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -1,11 +1,11 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_blue/flutter_blue.dart'; class DeviceCard extends StatefulWidget { - DeviceCard({this.deviceName, this.deviceId, this.connectionCallback}); - final String deviceName; - final String deviceId; - final Function(String, String) connectionCallback; + DeviceCard({this.device, this.connectionCallback}); + final BluetoothDevice device; + final Function(BluetoothDevice) connectionCallback; @override State createState() => _DeviceCardState(); @@ -16,10 +16,10 @@ class _DeviceCardState extends State { Widget build(BuildContext context) { return Card( child: ListTile( - title: Text(widget.deviceName), - subtitle: Text(widget.deviceId), + title: Text(widget.device.name), + subtitle: Text(widget.device.id.toString()), onTap: () { - widget.connectionCallback(widget.deviceName, widget.deviceId; + widget.connectionCallback(widget.device); }, ) ); From 896a326373dc4711398c8a879b24bccb4a63d51c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 14:18:01 +0200 Subject: [PATCH 157/522] [feat] bluetooth devices not recognized as sensors cannot be paired --- apolline-flutter/lib/widgets/device_card.dart | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index 66f8c162..0be4f443 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -1,7 +1,9 @@ +import 'package:apollineflutter/gattsample.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; + class DeviceCard extends StatefulWidget { DeviceCard({this.device, this.connectionCallback}); final BluetoothDevice device; @@ -12,16 +14,40 @@ class DeviceCard extends StatefulWidget { } class _DeviceCardState extends State { + Future _isDeviceDustSensor() async { + Future returnValue; + + await widget.device.connect(autoConnect: false) + .timeout(Duration(seconds: 5), onTimeout: (){ + returnValue = Future.value(false); + }).catchError((e) { + returnValue = Future.value(false); + }); + + if(returnValue == null) { + var services = await widget.device.discoverServices(); + returnValue = Future.value(services.where((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID).length != 0); + } + + await widget.device.disconnect(); + return returnValue; + } + @override Widget build(BuildContext context) { - return Card( - child: ListTile( - title: Text(widget.device.name), - subtitle: Text(widget.device.id.toString()), - onTap: () { - widget.connectionCallback(widget.device); - }, - ) - ); + return FutureBuilder( + future: _isDeviceDustSensor(), + builder: (BuildContext context, AsyncSnapshot snapshot) { + return Card( + child: ListTile( + title: Text(widget.device.name), + subtitle: Text(widget.device.id.toString()), + enabled: snapshot.connectionState == ConnectionState.done && snapshot.data, + onTap: () { + widget.connectionCallback(widget.device); + }, + ) + ); + }); } } \ No newline at end of file From 29619f1b45cd04c1af80506762562aef04c3b33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 14:30:40 +0200 Subject: [PATCH 158/522] [refactor] removing conditional calls when adding device widgets --- .../lib/bluetoothDevicesPage.dart | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index be2b6ce3..f74b09dd 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -109,34 +109,32 @@ class _BluetoothDevicesPageState extends State { }); } - bool _conditionForDevices(List l, BluetoothDevice d) { - return (!pairedDevices.contains(d)) && (!l.contains(d)); - } - - bool _conditionForPaireddevices(List l, BluetoothDevice d) { - return !l.contains(d); - } /* Build the UI list of detected devices */ List _buildDevicesList() { List wList = []; + var allDevices = Set.from(devices); if (pairedDevices.length > 0) { wList.add(Container( child: Text("Périphérique appairés"), margin: EdgeInsets.only(top: 10, bottom: 10) )); - _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); + + pairedDevices.forEach((device) { + wList.add(DeviceCard(device: device, connectionCallback: connectToDevice)); + allDevices.remove(device); + }); } wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), child: Text("Appareils disponibles") )); - _addWidgetDevices(devices, wList, _conditionForDevices); - /* Add a button for each device */ - /* TODO: filter device list */ + allDevices.forEach((device) { + wList.add(DeviceCard(device: device, connectionCallback: connectToDevice)); + }); return wList; } From c6cb7b505cb8966f9092ed2aab76bddf4a598f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 14:39:04 +0200 Subject: [PATCH 159/522] [fix] resetting devices lists with new scan --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index f74b09dd..1d1cf32a 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -73,6 +73,8 @@ class _BluetoothDevicesPageState extends State { // Start scanning setState(() { timeout = false; + devices = Set(); + pairedDevices = Set(); }); widget.flutterBlue.startScan(timeout: Duration(seconds: 10)).then((val) { From bc7a37ae452cf3b218136a84560629a92791fd12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 14:41:38 +0200 Subject: [PATCH 160/522] [feat] sensor twin can disconnect from physical sensor --- apolline-flutter/lib/twins/SensorTwin.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c531c541..9c32e527 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -229,12 +229,16 @@ class SensorTwin { } /// Releases resources associated with the sensor. - /// TODO properly close bluetooth connection void shutdown () { this._callbacks = Map(); this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); this._locationService.close(); + try { + this._device.disconnect(); + } catch (err) { + print("Couldn't disconnect from sensor (probably because it is not reachable)."); + } } } \ No newline at end of file From e9a077a1f2bd4018d977c902d89cc57e6509f233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 15:34:49 +0200 Subject: [PATCH 161/522] [chore] not inspecting devices services for now --- apolline-flutter/lib/widgets/device_card.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index 0be4f443..b60379e3 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -36,7 +36,7 @@ class _DeviceCardState extends State { @override Widget build(BuildContext context) { return FutureBuilder( - future: _isDeviceDustSensor(), + future: Future.value(true), //_isDeviceDustSensor(), TODO implement builder: (BuildContext context, AsyncSnapshot snapshot) { return Card( child: ListTile( From 2802830918ee132a3b0f590dfb379d06af287d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 15:40:06 +0200 Subject: [PATCH 162/522] [fix] adjusting devices list padding --- apolline-flutter/lib/bluetoothDevicesPage.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 1d1cf32a..39256a95 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -229,9 +229,11 @@ class _BluetoothDevicesPageState extends State { // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. child: Container( - child: ListView(children: _buildDevicesList()), - margin: EdgeInsets.all(10), - )), + child: ListView( + children: _buildDevicesList(), + padding: EdgeInsets.all(10) + ) + )) ); } } From 7cf7078c5b55769ef9da8dd24bf0e3a7ce46df49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 16:20:28 +0200 Subject: [PATCH 163/522] Revert "[feat] bluetooth devices not recognized as sensors cannot be paired" This reverts commit 896a326373dc4711398c8a879b24bccb4a63d51c. --- .../lib/bluetoothDevicesPage.dart | 30 ++++++------- apolline-flutter/lib/twins/SensorTwin.dart | 6 +-- apolline-flutter/lib/widgets/device_card.dart | 44 ++++--------------- 3 files changed, 24 insertions(+), 56 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 39256a95..be2b6ce3 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -73,8 +73,6 @@ class _BluetoothDevicesPageState extends State { // Start scanning setState(() { timeout = false; - devices = Set(); - pairedDevices = Set(); }); widget.flutterBlue.startScan(timeout: Duration(seconds: 10)).then((val) { @@ -111,32 +109,34 @@ class _BluetoothDevicesPageState extends State { }); } + bool _conditionForDevices(List l, BluetoothDevice d) { + return (!pairedDevices.contains(d)) && (!l.contains(d)); + } + + bool _conditionForPaireddevices(List l, BluetoothDevice d) { + return !l.contains(d); + } /* Build the UI list of detected devices */ List _buildDevicesList() { List wList = []; - var allDevices = Set.from(devices); if (pairedDevices.length > 0) { wList.add(Container( child: Text("Périphérique appairés"), margin: EdgeInsets.only(top: 10, bottom: 10) )); - - pairedDevices.forEach((device) { - wList.add(DeviceCard(device: device, connectionCallback: connectToDevice)); - allDevices.remove(device); - }); + _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); } wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), child: Text("Appareils disponibles") )); + _addWidgetDevices(devices, wList, _conditionForDevices); - allDevices.forEach((device) { - wList.add(DeviceCard(device: device, connectionCallback: connectToDevice)); - }); + /* Add a button for each device */ + /* TODO: filter device list */ return wList; } @@ -229,11 +229,9 @@ class _BluetoothDevicesPageState extends State { // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. child: Container( - child: ListView( - children: _buildDevicesList(), - padding: EdgeInsets.all(10) - ) - )) + child: ListView(children: _buildDevicesList()), + margin: EdgeInsets.all(10), + )), ); } } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 9c32e527..c531c541 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -229,16 +229,12 @@ class SensorTwin { } /// Releases resources associated with the sensor. + /// TODO properly close bluetooth connection void shutdown () { this._callbacks = Map(); this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); this._locationService.close(); - try { - this._device.disconnect(); - } catch (err) { - print("Couldn't disconnect from sensor (probably because it is not reachable)."); - } } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index b60379e3..66f8c162 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -1,9 +1,7 @@ -import 'package:apollineflutter/gattsample.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; - class DeviceCard extends StatefulWidget { DeviceCard({this.device, this.connectionCallback}); final BluetoothDevice device; @@ -14,40 +12,16 @@ class DeviceCard extends StatefulWidget { } class _DeviceCardState extends State { - Future _isDeviceDustSensor() async { - Future returnValue; - - await widget.device.connect(autoConnect: false) - .timeout(Duration(seconds: 5), onTimeout: (){ - returnValue = Future.value(false); - }).catchError((e) { - returnValue = Future.value(false); - }); - - if(returnValue == null) { - var services = await widget.device.discoverServices(); - returnValue = Future.value(services.where((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID).length != 0); - } - - await widget.device.disconnect(); - return returnValue; - } - @override Widget build(BuildContext context) { - return FutureBuilder( - future: Future.value(true), //_isDeviceDustSensor(), TODO implement - builder: (BuildContext context, AsyncSnapshot snapshot) { - return Card( - child: ListTile( - title: Text(widget.device.name), - subtitle: Text(widget.device.id.toString()), - enabled: snapshot.connectionState == ConnectionState.done && snapshot.data, - onTap: () { - widget.connectionCallback(widget.device); - }, - ) - ); - }); + return Card( + child: ListTile( + title: Text(widget.device.name), + subtitle: Text(widget.device.id.toString()), + onTap: () { + widget.connectionCallback(widget.device); + }, + ) + ); } } \ No newline at end of file From 5fa0ebaa46af51a1a61f9f373d98763f166ee2b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 15:40:06 +0200 Subject: [PATCH 164/522] [fix] adjusting devices list padding --- apolline-flutter/lib/bluetoothDevicesPage.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index be2b6ce3..ad20dd05 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -229,9 +229,11 @@ class _BluetoothDevicesPageState extends State { // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. child: Container( - child: ListView(children: _buildDevicesList()), - margin: EdgeInsets.all(10), - )), + child: ListView( + children: _buildDevicesList(), + padding: EdgeInsets.all(10) + ) + )) ); } } From aa9097143208bb4200ae76f9437eccb0181cf328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 14:41:38 +0200 Subject: [PATCH 165/522] [feat] sensor twin can disconnect from physical sensor --- apolline-flutter/lib/twins/SensorTwin.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c531c541..9c32e527 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -229,12 +229,16 @@ class SensorTwin { } /// Releases resources associated with the sensor. - /// TODO properly close bluetooth connection void shutdown () { this._callbacks = Map(); this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); this._locationService.close(); + try { + this._device.disconnect(); + } catch (err) { + print("Couldn't disconnect from sensor (probably because it is not reachable)."); + } } } \ No newline at end of file From a0c2a2210a29c1c139cf3e8e1d958acb37bf0c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 24 Aug 2021 16:53:53 +0200 Subject: [PATCH 166/522] [fix] reconnecting to sensor after detecting a reconnection --- apolline-flutter/lib/sensor_view.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index bb5ec66a..b902d383 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -71,8 +71,10 @@ class _SensorViewState extends State { void handleDeviceConnect(BluetoothDevice device) async { if (isConnected) return; isConnected = true; - if (this._sensor != null) + if (this._sensor != null) { this._sensor.shutdown(); + await widget.device.connect(); + } updateState("Configuring device"); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); From f0cec606c435ca472fe1e1bb4cc9ec2c6e83f4c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 10:29:56 +0200 Subject: [PATCH 167/522] [fix] not displaying devices category if there's none to display --- .../lib/bluetoothDevicesPage.dart | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index ad20dd05..827b01f0 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -85,6 +85,7 @@ class _BluetoothDevicesPageState extends State { for (BluetoothDevice device in ds) { setState(() { pairedDevices.add(device); + devices.remove(device); }); } }); @@ -100,22 +101,6 @@ class _BluetoothDevicesPageState extends State { }); } - void _addWidgetDevices(Set devices, List l, Function(List, BluetoothDevice) cond) { - devices.toList().forEach((device) { - if (cond(l, device)) - l.add( - DeviceCard(device: device, connectionCallback: connectToDevice) - ); - }); - } - - bool _conditionForDevices(List l, BluetoothDevice d) { - return (!pairedDevices.contains(d)) && (!l.contains(d)); - } - - bool _conditionForPaireddevices(List l, BluetoothDevice d) { - return !l.contains(d); - } /* Build the UI list of detected devices */ List _buildDevicesList() { @@ -126,17 +111,27 @@ class _BluetoothDevicesPageState extends State { child: Text("Périphérique appairés"), margin: EdgeInsets.only(top: 10, bottom: 10) )); - _addWidgetDevices(pairedDevices, wList, _conditionForPaireddevices); + + pairedDevices.forEach((device) { + wList.add( + DeviceCard(device: device, connectionCallback: connectToDevice) + ); + devices.remove(device); + }); } - wList.add(Container( - margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), - child: Text("Appareils disponibles") - )); - _addWidgetDevices(devices, wList, _conditionForDevices); + if (devices.length > 0) { + wList.add(Container( + margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), + child: Text("Appareils disponibles") + )); - /* Add a button for each device */ - /* TODO: filter device list */ + devices.forEach((device) { + wList.add( + DeviceCard(device: device, connectionCallback: connectToDevice) + ); + }); + } return wList; } From 570045e14d37b88ea574636632c8c701ff6853d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 10:33:42 +0200 Subject: [PATCH 168/522] [feat] displaying a message when no bluetooth device is detected --- apolline-flutter/lib/bluetoothDevicesPage.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 827b01f0..30c44d1a 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -133,6 +133,13 @@ class _BluetoothDevicesPageState extends State { }); } + if (pairedDevices.length == 0 && devices.length == 0) { + wList.add(Container( + margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), + child: Text("Aucun appareil Bluetooth détecté.") + )); + } + return wList; } From 5966fa2253bada4976b569e4ae55127ee63f951e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 10:40:09 +0200 Subject: [PATCH 169/522] [fix] resetting devices lists on bluetooth scan --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 30c44d1a..ffe27426 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -70,6 +70,12 @@ class _BluetoothDevicesPageState extends State { /* Starts BLE detection */ void _performDetection() { + setState(() { + pairedDevices = Set(); + devices = Set(); + }); + + // Start scanning setState(() { timeout = false; From e156f1d65552719d0f6a951f9003ca1dd9577190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 10:48:38 +0200 Subject: [PATCH 170/522] [fix] removing device from paired devices if it's disconnected --- apolline-flutter/lib/bluetoothDevicesPage.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index ffe27426..1673f3e1 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -159,11 +159,17 @@ class _BluetoothDevicesPageState extends State { MaterialPageRoute(builder: (context) => SensorView(device: device)), ); - if (isconnected != null && isconnected) { + if (isconnected == null) return; + if (isconnected) { setState(() { devices.remove(device); pairedDevices.add(device); }); + } else { + setState(() { + devices.remove(device); + pairedDevices.remove(device); + }); } } From 1a701e3f68e3fb5d5d2ec659f77cce4422b2ad91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 11:40:53 +0200 Subject: [PATCH 171/522] [feat] adding a device connection timeout If a device takes more than 2 seconds to connect, the application flags it as non-connected and returns to the devices view. --- apolline-flutter/lib/sensor_view.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index b902d383..c1409dcb 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -43,15 +43,20 @@ class _SensorViewState extends State { /// Future initializeDevice() async { print("Connecting to device"); + bool isConnectedToDevice = true; try { - await widget.device.connect(); + await widget.device.connect().timeout(Duration(seconds: 2), onTimeout: () { + isConnectedToDevice = false; + this._onWillPop(); + }); } catch (e) { if (e.code != "already_connected") { throw e; } } finally { - handleDeviceConnect(widget.device); + if (isConnectedToDevice) + handleDeviceConnect(widget.device); } } From 088354ddb22bc992f7dd8bd8d42a4eea6364178a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 11:43:59 +0200 Subject: [PATCH 172/522] [feat] displaying a toast on device connection timeout --- apolline-flutter/lib/sensor_view.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index c1409dcb..1284a25a 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -4,6 +4,7 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; +import 'package:fluttertoast/fluttertoast.dart'; import 'models/data_point_model.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; @@ -48,6 +49,7 @@ class _SensorViewState extends State { try { await widget.device.connect().timeout(Duration(seconds: 2), onTimeout: () { isConnectedToDevice = false; + Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); this._onWillPop(); }); } catch (e) { From 1d718bd64ab2776866b75188ee69590b50e14d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 12:25:26 +0200 Subject: [PATCH 173/522] [refactor] specifying connection type when returning on devices view We introduce an enumeration that represents the state of a device when coming to devices view back from another view (connection view or sensor view). When arriving on devices view, a sensor can be either connected, disconnected, or connection failed. --- .../lib/bluetoothDevicesPage.dart | 30 +++++++++++-------- apolline-flutter/lib/sensor_view.dart | 11 +++---- .../lib/utils/device_connection_status.dart | 13 ++++++++ 3 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 apolline-flutter/lib/utils/device_connection_status.dart diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 1673f3e1..4ddf1f8e 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/sensor_view.dart'; +import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:apollineflutter/widgets/device_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -154,22 +155,27 @@ class _BluetoothDevicesPageState extends State { /* Stop scanning, if not already stopped */ FlutterBlue.instance.stopScan(); /* We selected a device - go to the device screen passing information about the selected device */ - var isconnected = await Navigator.push( + DeviceConnectionStatus status = await Navigator.push( context, MaterialPageRoute(builder: (context) => SensorView(device: device)), ); - if (isconnected == null) return; - if (isconnected) { - setState(() { - devices.remove(device); - pairedDevices.add(device); - }); - } else { - setState(() { - devices.remove(device); - pairedDevices.remove(device); - }); + switch (status) { + case DeviceConnectionStatus.CONNECTED: + setState(() { + devices.remove(device); + pairedDevices.add(device); + }); + break; + case DeviceConnectionStatus.DISCONNECTED: + setState(() { + devices.remove(device); + pairedDevices.remove(device); + }); + break; + case DeviceConnectionStatus.UNABLE_TO_CONNECT: + print("pas pu me co, déso"); + break; } } diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 1284a25a..acb7d3cb 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:apollineflutter/twins/SensorTwin.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; +import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -50,7 +51,7 @@ class _SensorViewState extends State { await widget.device.connect().timeout(Duration(seconds: 2), onTimeout: () { isConnectedToDevice = false; Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); - this._onWillPop(); + this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); }); } catch (e) { if (e.code != "already_connected") { @@ -144,8 +145,8 @@ class _SensorViewState extends State { /// ///Called when press back button - Future _onWillPop() async { - Navigator.pop(context, isConnected); + Future _onWillPop(DeviceConnectionStatus status) async { + Navigator.pop(context, status); return false; } @@ -161,7 +162,7 @@ class _SensorViewState extends State { leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { - Navigator.pop(context, isConnected); + _onWillPop(DeviceConnectionStatusHelper.fromConnectionStatus(isConnected)); }), ), body: Center( @@ -174,7 +175,7 @@ class _SensorViewState extends State { } else { /* We got data : display them */ return WillPopScope( - onWillPop: _onWillPop, + onWillPop: () => _onWillPop(DeviceConnectionStatus.CONNECTED), child: DefaultTabController( length: 3, child: Scaffold( diff --git a/apolline-flutter/lib/utils/device_connection_status.dart b/apolline-flutter/lib/utils/device_connection_status.dart new file mode 100644 index 00000000..2a384345 --- /dev/null +++ b/apolline-flutter/lib/utils/device_connection_status.dart @@ -0,0 +1,13 @@ +enum DeviceConnectionStatus { + CONNECTED, + DISCONNECTED, + UNABLE_TO_CONNECT +} + +class DeviceConnectionStatusHelper { + static DeviceConnectionStatus fromConnectionStatus (bool status) { + return status + ? DeviceConnectionStatus.CONNECTED + : DeviceConnectionStatus.DISCONNECTED; + } +} \ No newline at end of file From 0f0266df6dcc491b5c83219517803d6d5b8e6cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 12:37:14 +0200 Subject: [PATCH 174/522] [fix] hiding snackbar when leaving sensor view --- apolline-flutter/lib/sensor_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index acb7d3cb..933cad33 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -146,6 +146,7 @@ class _SensorViewState extends State { /// ///Called when press back button Future _onWillPop(DeviceConnectionStatus status) async { + ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); Navigator.pop(context, status); return false; } From b26cd825f76f4a0e8318c147fc8884df929e050e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 12:40:38 +0200 Subject: [PATCH 175/522] [fix] not closing location service if it doesn't exist --- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 9c32e527..3e0d09ea 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -234,7 +234,7 @@ class SensorTwin { this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); - this._locationService.close(); + this._locationService?.close(); try { this._device.disconnect(); } catch (err) { From 554d7da6690d9641fce7062e2996de6446617ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 12:59:30 +0200 Subject: [PATCH 176/522] [fix] wrong onWillPop argument --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 933cad33..a762eea3 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -176,7 +176,7 @@ class _SensorViewState extends State { } else { /* We got data : display them */ return WillPopScope( - onWillPop: () => _onWillPop(DeviceConnectionStatus.CONNECTED), + onWillPop: () => _onWillPop(DeviceConnectionStatusHelper.fromConnectionStatus(isConnected)), child: DefaultTabController( length: 3, child: Scaffold( From f94d5a204a2adfd3f142f94751c555729e14c04b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 14:55:23 +0200 Subject: [PATCH 177/522] [feat] unconnectable devices cannot connect until scan refresh --- apolline-flutter/lib/bluetoothDevicesPage.dart | 18 +++++++++++++++--- apolline-flutter/lib/widgets/device_card.dart | 4 +++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 4ddf1f8e..9e611d30 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -23,6 +23,7 @@ class _BluetoothDevicesPageState extends State { bool timeout = true; Set devices = Set(); Set pairedDevices = Set(); + Set unConnectableDevices = Set(); ///user configuration in the ui UserConfigurationService ucS = locator(); @@ -74,6 +75,7 @@ class _BluetoothDevicesPageState extends State { setState(() { pairedDevices = Set(); devices = Set(); + unConnectableDevices = Set(); }); @@ -121,7 +123,11 @@ class _BluetoothDevicesPageState extends State { pairedDevices.forEach((device) { wList.add( - DeviceCard(device: device, connectionCallback: connectToDevice) + DeviceCard( + device: device, + connectionCallback: connectToDevice, + enabled: !unConnectableDevices.contains(device) + ) ); devices.remove(device); }); @@ -135,7 +141,11 @@ class _BluetoothDevicesPageState extends State { devices.forEach((device) { wList.add( - DeviceCard(device: device, connectionCallback: connectToDevice) + DeviceCard( + device: device, + connectionCallback: connectToDevice, + enabled: !unConnectableDevices.contains(device) + ) ); }); } @@ -174,7 +184,9 @@ class _BluetoothDevicesPageState extends State { }); break; case DeviceConnectionStatus.UNABLE_TO_CONNECT: - print("pas pu me co, déso"); + setState(() { + unConnectableDevices.add(device); + }); break; } } diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index 66f8c162..776251d9 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -3,9 +3,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; class DeviceCard extends StatefulWidget { - DeviceCard({this.device, this.connectionCallback}); + DeviceCard({this.device, this.connectionCallback, this.enabled = true}); final BluetoothDevice device; final Function(BluetoothDevice) connectionCallback; + final bool enabled; @override State createState() => _DeviceCardState(); @@ -21,6 +22,7 @@ class _DeviceCardState extends State { onTap: () { widget.connectionCallback(widget.device); }, + enabled: widget.enabled, ) ); } From 760450dcdba31d61b7915a2cda9bcf7aafd9cef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 15:00:20 +0200 Subject: [PATCH 178/522] [feat] adding a logo on unconnectable devices tiles --- apolline-flutter/lib/widgets/device_card.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index 776251d9..dfcdb1fc 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -23,6 +23,7 @@ class _DeviceCardState extends State { widget.connectionCallback(widget.device); }, enabled: widget.enabled, + trailing: widget.enabled ? null : Icon(Icons.bluetooth_disabled_outlined), ) ); } From a8fa82c396327ba88e39bc1eab6308279c8460a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 15:03:56 +0200 Subject: [PATCH 179/522] [feat] adjusting connection timeout to 3 seconds --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index a762eea3..4db7f94b 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -48,7 +48,7 @@ class _SensorViewState extends State { bool isConnectedToDevice = true; try { - await widget.device.connect().timeout(Duration(seconds: 2), onTimeout: () { + await widget.device.connect().timeout(Duration(seconds: 3), onTimeout: () { isConnectedToDevice = false; Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); From 1297e72ebe73e75ca19cee6c0245430bb52ff8f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 15:15:21 +0200 Subject: [PATCH 180/522] [fix] not displaying messages if user left sensor view before connection ends --- apolline-flutter/lib/sensor_view.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 4db7f94b..11a861ca 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -50,8 +50,10 @@ class _SensorViewState extends State { try { await widget.device.connect().timeout(Duration(seconds: 3), onTimeout: () { isConnectedToDevice = false; - Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); - this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); + if (_scaffoldMessengerKey.currentContext != null) { + Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); + this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); + } }); } catch (e) { if (e.code != "already_connected") { @@ -146,8 +148,11 @@ class _SensorViewState extends State { /// ///Called when press back button Future _onWillPop(DeviceConnectionStatus status) async { - ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); - Navigator.pop(context, status); + if (_scaffoldMessengerKey.currentContext != null) { + ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).hideCurrentSnackBar(); + Navigator.pop(context, status); + } + return false; } From 3f96ac8cc13d92c6fb830444e27ec1abf15e7b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 25 Aug 2021 15:18:18 +0200 Subject: [PATCH 181/522] [fix] displaying sensor name once connected --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 11a861ca..0bac3c3b 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -195,7 +195,7 @@ class _SensorViewState extends State { Tab(icon: Icon(Icons.map)), ], ), - title: Text('Apolline'), + title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), ), body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), From a17a4dc9334d1617dc07a3703258ea670f5cf0db Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 26 Aug 2021 12:40:42 +0200 Subject: [PATCH 182/522] [chore] adding flutter_background dependency --- apolline-flutter/pubspec.lock | 7 +++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 924e360f..1d7f2754 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -111,6 +111,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_background: + dependency: "direct main" + description: + name: flutter_background + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2+1" flutter_blue: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d08ac68f..5bf7825a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -44,6 +44,7 @@ dependencies: geolocator: ^7.3.0 sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 + flutter_background: ^1.0.2+1 From 8f7280d8ea9e6d71ea8a3dedbbf983df460c39c8 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 26 Aug 2021 12:45:12 +0200 Subject: [PATCH 183/522] [chore] adding permissions in Android manifest --- apolline-flutter/android/app/src/main/AndroidManifest.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index d5809c0e..7d8b07ff 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -10,6 +10,9 @@ + + + Date: Thu, 26 Aug 2021 12:53:33 +0200 Subject: [PATCH 184/522] [feat] launching background service on sensor connection --- apolline-flutter/lib/main.dart | 13 +++++++++++++ apolline-flutter/lib/sensor_view.dart | 3 +++ 2 files changed, 16 insertions(+) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index bd9f0592..9f22a60b 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_background/flutter_background.dart'; import 'package:global_configuration/global_configuration.dart'; import 'bluetoothDevicesPage.dart'; @@ -8,6 +9,8 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); + setupBackgroundConfig(); + runApp(ApollineApp()); } // This acts as the landing window of the app. @@ -27,3 +30,13 @@ class ApollineApp extends StatelessWidget { ); } } + +void setupBackgroundConfig () async { + final androidConfig = FlutterBackgroundAndroidConfig( + notificationTitle: "Capteur connecté", + notificationText: "Apolline est actuellement en train de récupérer des données. ", + notificationImportance: AndroidNotificationImportance.Default, + notificationIcon: AndroidResource(name: 'logo_apolline', defType: 'drawable'), + ); + FlutterBackground.initialize(androidConfig: androidConfig); +} \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0bac3c3b..619f61e6 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -4,6 +4,7 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_background/flutter_background.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'models/data_point_model.dart'; @@ -94,6 +95,8 @@ class _SensorViewState extends State { await this._sensor.init(); await this._sensor.launchDataLiveTransmission(); updateState("Waiting for sensor data..."); + + FlutterBackground.enableBackgroundExecution(); } void _onLiveDataReceived (DataPointModel model) { From 2539457b52567c34df9f91e9c82233c3cc5dbe69 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 26 Aug 2021 14:46:53 +0200 Subject: [PATCH 185/522] [fix] checking permissions before activating background execution --- apolline-flutter/lib/sensor_view.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 619f61e6..0f1a0d3a 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -96,7 +96,12 @@ class _SensorViewState extends State { await this._sensor.launchDataLiveTransmission(); updateState("Waiting for sensor data..."); - FlutterBackground.enableBackgroundExecution(); + activateBackgroundExecution(); + } + + void activateBackgroundExecution () async { + if (await FlutterBackground.hasPermissions) + FlutterBackground.enableBackgroundExecution(); } void _onLiveDataReceived (DataPointModel model) { From ff1b3b3ee19423687e7de1a010fa6f64e5dbe653 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 26 Aug 2021 15:18:16 +0200 Subject: [PATCH 186/522] [fix] checking if background execution is enabled before trying to disable it --- apolline-flutter/lib/sensor_view.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0f1a0d3a..ff7aa918 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -104,6 +104,11 @@ class _SensorViewState extends State { FlutterBackground.enableBackgroundExecution(); } + void disableBackgroundExecution () { + if (FlutterBackground.isBackgroundExecutionEnabled) + FlutterBackground.disableBackgroundExecution(); + } + void _onLiveDataReceived (DataPointModel model) { setState(() { lastReceivedData = model; @@ -149,6 +154,7 @@ class _SensorViewState extends State { void dispose() { widget.device.disconnect(); this._sensor?.shutdown(); + disableBackgroundExecution(); super.dispose(); } @@ -161,6 +167,7 @@ class _SensorViewState extends State { Navigator.pop(context, status); } + disableBackgroundExecution(); return false; } From fed81ec009db61773888e4a369ea3f748a608bee Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 26 Aug 2021 15:40:38 +0200 Subject: [PATCH 187/522] [fix] disabling background execution on sensor disconnection --- apolline-flutter/lib/sensor_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index ff7aa918..d69089a8 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -130,6 +130,7 @@ class _SensorViewState extends State { isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion showSnackBar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); + disableBackgroundExecution(); } From c8b9fd3e04a284412e6d179711d52f7a583a9ed8 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 17:39:54 +0200 Subject: [PATCH 188/522] [chore] adding easy_localization dependency --- apolline-flutter/pubspec.lock | 25 ++++++++++++++++++++++--- apolline-flutter/pubspec.yaml | 1 + 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 924e360f..75aadb35 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.6.1" boolean_selector: dependency: transitive description: @@ -78,6 +78,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" + easy_localization: + dependency: "direct main" + description: + name: easy_localization + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + easy_logger: + dependency: transitive + description: + name: easy_logger + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2" fake_async: dependency: transitive description: @@ -125,6 +139,11 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -442,7 +461,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" sqflite: dependency: "direct main" description: @@ -519,7 +538,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.3.0" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d08ac68f..87875960 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -44,6 +44,7 @@ dependencies: geolocator: ^7.3.0 sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 + easy_localization: ^3.0.0 From 2787626c7a2ffb2f5c511004a3281866b7fd638e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 18:56:22 +0200 Subject: [PATCH 189/522] [chore] adding translation files architecture --- apolline-flutter/assets/translations/en-GB.json | 5 +++++ apolline-flutter/assets/translations/fr-FR.json | 5 +++++ apolline-flutter/lib/main.dart | 17 +++++++++++++++-- apolline-flutter/pubspec.yaml | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 apolline-flutter/assets/translations/en-GB.json create mode 100644 apolline-flutter/assets/translations/fr-FR.json diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json new file mode 100644 index 00000000..72d6a075 --- /dev/null +++ b/apolline-flutter/assets/translations/en-GB.json @@ -0,0 +1,5 @@ +{ + "devicesView": { + "title": "Apolline - Sensors" + } +} \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json new file mode 100644 index 00000000..ae338d0d --- /dev/null +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -0,0 +1,5 @@ +{ + "devicesView": { + "title": "Apolline - Capteurs" + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index bd9f0592..51f79294 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,3 +1,4 @@ +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:global_configuration/global_configuration.dart'; @@ -8,7 +9,16 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); - runApp(ApollineApp()); + await EasyLocalization.ensureInitialized(); + + runApp( + EasyLocalization( + supportedLocales: [Locale('en', 'GB'), Locale('fr', 'FR')], + path: 'assets/translations', + fallbackLocale: Locale('en', 'GB'), + child: ApollineApp() + ), + ); } // This acts as the landing window of the app. // Scans and displays Bluetooth devices in range, and allows to connect to them. @@ -18,12 +28,15 @@ class ApollineApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( + localizationsDelegates: context.localizationDelegates, + supportedLocales: context.supportedLocales, + locale: context.locale, title: 'Apolline', theme: ThemeData( primaryColor: Colors.green, floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: Colors.lightGreen) ), - home: BluetoothDevicesPage(title: 'Apolline - Sensors'), + home: BluetoothDevicesPage(title: "devicesView.title".tr()), ); } } diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 87875960..438af23f 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -62,6 +62,7 @@ flutter: assets: - assets/sun.png - assets/config_dev.json + - assets/translations/ # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From 6bb46c3ce2971747bed0fc492a9efea85422accc Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 19:23:16 +0200 Subject: [PATCH 190/522] [feat] adding devices view translations --- apolline-flutter/assets/translations/en-GB.json | 13 ++++++++++++- apolline-flutter/assets/translations/fr-FR.json | 13 ++++++++++++- apolline-flutter/lib/bluetoothDevicesPage.dart | 15 ++++++++------- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 72d6a075..9e4f38ef 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -1,5 +1,16 @@ { "devicesView": { - "title": "Apolline - Sensors" + "title": "Apolline - Sensors", + "bluetoothPopUp": { + "title": "Bluetooth is disabled", + "message": "Activate both Bluetooth and geolocation to detect devices." + }, + "pairedDevicesLabel": "Paired devices", + "availableDevicesLabel": "Available devices", + "noDevicesLabel": "No Bluetooth device detected.", + "analysisButton": { + "analyse": "Scan", + "cancel": "Cancel" + } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index ae338d0d..e7e345de 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -1,5 +1,16 @@ { "devicesView": { - "title": "Apolline - Capteurs" + "title": "Apolline - Capteurs", + "bluetoothPopUp": { + "title": "Bluetooth désactivé", + "message": "Activez votre bluetooth et votre géolocalisation pour détecter des appareils." + }, + "pairedDevicesLabel": "Périphériques appairés", + "availableDevicesLabel": "Appareils disponibles", + "noDevicesLabel": "Aucun appareil Bluetooth détecté.", + "analysisButton": { + "analyse": "Scanner", + "cancel": "Annuler" + } } } \ No newline at end of file diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 9e611d30..8cb3b3b6 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -6,6 +6,7 @@ import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; +import 'package:easy_localization/easy_localization.dart'; @@ -59,8 +60,8 @@ class _BluetoothDevicesPageState extends State { ); AlertDialog alert = AlertDialog( - title: Text("Alert"), - content: Text("Activez votre bluetooth pour détecter des appareils"), + title: Text("devicesView.bluetoothPopUp.title").tr(), + content: Text("devicesView.bluetoothPopUp.message").tr(), actions: [okbtn], ); @@ -117,7 +118,7 @@ class _BluetoothDevicesPageState extends State { if (pairedDevices.length > 0) { wList.add(Container( - child: Text("Périphérique appairés"), + child: Text("devicesView.pairedDevicesLabel").tr(), margin: EdgeInsets.only(top: 10, bottom: 10) )); @@ -136,7 +137,7 @@ class _BluetoothDevicesPageState extends State { if (devices.length > 0) { wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), - child: Text("Appareils disponibles") + child: Text("devicesView.availableDevicesLabel").tr() )); devices.forEach((device) { @@ -153,7 +154,7 @@ class _BluetoothDevicesPageState extends State { if (pairedDevices.length == 0 && devices.length == 0) { wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), - child: Text("Aucun appareil Bluetooth détecté.") + child: Text("devicesView.noDevicesLabel").tr() )); } @@ -208,7 +209,7 @@ class _BluetoothDevicesPageState extends State { if (timeout) { return [ // ignore: missing_required_param - TextButton(child: Text("Analyser", style: btnStyle,)), + TextButton(child: Text("devicesView.analysisButton.analyse", style: btnStyle,).tr()), ]; } else { return [ @@ -221,7 +222,7 @@ class _BluetoothDevicesPageState extends State { height: 20, ), // ignore: missing_required_param - TextButton(child: Text("Arrêter", style: btnStyle)), + TextButton(child: Text("devicesView.analysisButton.cancel", style: btnStyle).tr()), ]; } } From ea64d1bdcaa44dc6bacf12258c148ef1502ac888 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 20:04:07 +0200 Subject: [PATCH 191/522] [chore] adding localization keys to iOS config --- apolline-flutter/ios/Runner/Info.plist | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/ios/Runner/Info.plist b/apolline-flutter/ios/Runner/Info.plist index 863d1ee4..b5ed6b42 100644 --- a/apolline-flutter/ios/Runner/Info.plist +++ b/apolline-flutter/ios/Runner/Info.plist @@ -45,5 +45,10 @@ UIViewControllerBasedStatusBarAppearance + CFBundleLocalizations + + en + fr + From d4ef3506bfa7dde9589a3aa516ae8604522261c1 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 21:39:46 +0200 Subject: [PATCH 192/522] [feat] adding sensor view translations --- .../assets/translations/en-GB.json | 8 ++++++++ .../assets/translations/fr-FR.json | 8 ++++++++ apolline-flutter/lib/sensor_view.dart | 18 +++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 9e4f38ef..40dd7e39 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -11,6 +11,14 @@ "analysisButton": { "analyse": "Scan", "cancel": "Cancel" + }, + "connectionMessages": { + "connecting": "Connecting to the device...", + "configuring": "Configuring device...", + "waiting": "Waiting for sensor data...", + "connected": "Sensor connected.", + "disconnected": "Sensor disconnected.", + "failed": "Unable to connect to this device." } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index e7e345de..c0d0d012 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -11,6 +11,14 @@ "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" + }, + "connectionMessages": { + "connecting": "Connection au périphérique...", + "configuring": "Configuration du capteur...", + "waiting": "En attente de données...", + "connected": "Connexion avec le capteur établie.", + "disconnected": "Connexion avec le capteur perdue.", + "failed": "Impossible de se connecter à cet appareil." } } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0bac3c3b..ad9b7bcb 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -10,7 +10,7 @@ import 'models/data_point_model.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; - +import 'package:easy_localization/easy_localization.dart'; enum ConnexionType { Normal, Disconnect } @@ -26,7 +26,7 @@ class SensorView extends StatefulWidget { class _SensorViewState extends State { - String state = "Connecting to the device..."; + String state = "connectionMessages.connecting".tr(); DataPointModel lastReceivedData; bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; @@ -51,7 +51,7 @@ class _SensorViewState extends State { await widget.device.connect().timeout(Duration(seconds: 3), onTimeout: () { isConnectedToDevice = false; if (_scaffoldMessengerKey.currentContext != null) { - Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); + Fluttertoast.showToast(msg: "connectionMessages.failed".tr()); this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); } }); @@ -86,14 +86,14 @@ class _SensorViewState extends State { await widget.device.connect(); } - updateState("Configuring device"); + updateState("connectionMessages.configuring".tr()); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as DataPointModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); await this._sensor.init(); await this._sensor.launchDataLiveTransmission(); - updateState("Waiting for sensor data..."); + updateState("connectionMessages.waiting".tr()); } void _onLiveDataReceived (DataPointModel model) { @@ -108,7 +108,7 @@ class _SensorViewState extends State { handleDeviceConnect(widget.device); } else { print("--------------------connected--------------"); - showSnackBar("Connexion avec le capteur établie."); + showSnackBar("connectionMessages.connected".tr()); } } @@ -116,7 +116,7 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - showSnackBar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); + showSnackBar("connectionMessages.disconnected".tr(), duration: Duration(days: 1)); } @@ -164,7 +164,7 @@ class _SensorViewState extends State { return Scaffold( key: _scaffoldMessengerKey, appBar: AppBar( - title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), + title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { @@ -195,7 +195,7 @@ class _SensorViewState extends State { Tab(icon: Icon(Icons.map)), ], ), - title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), + title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), ), body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), From 0baa57e42abfde160d4851b5f3f9d8fd51916033 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 21:45:41 +0200 Subject: [PATCH 193/522] =?UTF-8?q?[refactor]=20unifying=20french=20transl?= =?UTF-8?q?ation=20by=20using=20"p=C3=A9riph=C3=A9rique"=20word=20in=20all?= =?UTF-8?q?=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apolline-flutter/assets/translations/fr-FR.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index c0d0d012..76beb639 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -3,22 +3,22 @@ "title": "Apolline - Capteurs", "bluetoothPopUp": { "title": "Bluetooth désactivé", - "message": "Activez votre bluetooth et votre géolocalisation pour détecter des appareils." + "message": "Activez le Bluetooth et la géolocalisation pour permettre la détection de périphériques." }, "pairedDevicesLabel": "Périphériques appairés", - "availableDevicesLabel": "Appareils disponibles", - "noDevicesLabel": "Aucun appareil Bluetooth détecté.", + "availableDevicesLabel": "Périphériques disponibles", + "noDevicesLabel": "Aucun périphérique Bluetooth détecté.", "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" }, "connectionMessages": { "connecting": "Connection au périphérique...", - "configuring": "Configuration du capteur...", + "configuring": "Configuration du périphérique...", "waiting": "En attente de données...", "connected": "Connexion avec le capteur établie.", "disconnected": "Connexion avec le capteur perdue.", - "failed": "Impossible de se connecter à cet appareil." + "failed": "Impossible de se connecter à ce périphérique." } } } \ No newline at end of file From 2d7361186d1477f56406734759fd4d44cceb7fdb Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:21:09 +0200 Subject: [PATCH 194/522] [feat] translating temperature key --- apolline-flutter/assets/translations/en-GB.json | 3 ++- apolline-flutter/assets/translations/fr-FR.json | 3 ++- apolline-flutter/lib/widgets/quality.dart | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 40dd7e39..dea08ac0 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -20,5 +20,6 @@ "disconnected": "Sensor disconnected.", "failed": "Unable to connect to this device." } - } + }, + "temperature": "TEMPERATURE" } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 76beb639..519cdd95 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -20,5 +20,6 @@ "disconnected": "Connexion avec le capteur perdue.", "failed": "Impossible de se connecter à ce périphérique." } - } + }, + "temperature": "TEMPÉRATURE" } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 8bb1bd83..65fb12d9 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -3,6 +3,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_gauges/gauges.dart'; +import 'package:easy_localization/easy_localization.dart'; + class Quality extends StatelessWidget { final DataPointModel lastReceivedData; @@ -173,7 +175,7 @@ class Quality extends StatelessWidget { //creates TEMPERATURE gauge Container( child: _buildGauge( - "TEMPERATURE", + "temperature".tr(), lastReceivedData.values[DataPointModel.SENSOR_TEMP], "°C", Color(0xFFFFCD60), From b966c174a699e71be0448cd08af3851f4c30a9a1 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:22:23 +0200 Subject: [PATCH 195/522] [fix] putting connectionMessages translation keys outside devicesView scope --- apolline-flutter/assets/translations/en-GB.json | 16 ++++++++-------- apolline-flutter/assets/translations/fr-FR.json | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index dea08ac0..a4fece14 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -11,15 +11,15 @@ "analysisButton": { "analyse": "Scan", "cancel": "Cancel" - }, - "connectionMessages": { - "connecting": "Connecting to the device...", - "configuring": "Configuring device...", - "waiting": "Waiting for sensor data...", - "connected": "Sensor connected.", - "disconnected": "Sensor disconnected.", - "failed": "Unable to connect to this device." } }, + "connectionMessages": { + "connecting": "Connecting to the device...", + "configuring": "Configuring device...", + "waiting": "Waiting for sensor data...", + "connected": "Sensor connected.", + "disconnected": "Sensor disconnected.", + "failed": "Unable to connect to this device." + }, "temperature": "TEMPERATURE" } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 519cdd95..25e27166 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -11,15 +11,15 @@ "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" - }, - "connectionMessages": { - "connecting": "Connection au périphérique...", - "configuring": "Configuration du périphérique...", - "waiting": "En attente de données...", - "connected": "Connexion avec le capteur établie.", - "disconnected": "Connexion avec le capteur perdue.", - "failed": "Impossible de se connecter à ce périphérique." } }, + "connectionMessages": { + "connecting": "Connection au périphérique...", + "configuring": "Configuration du périphérique...", + "waiting": "En attente de données...", + "connected": "Connexion avec le capteur établie.", + "disconnected": "Connexion avec le capteur perdue.", + "failed": "Impossible de se connecter à ce périphérique." + }, "temperature": "TEMPÉRATURE" } \ No newline at end of file From 66edb566ff4bb2d53f818c3d1b7a4d2b8a4ad9ef Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:48:24 +0200 Subject: [PATCH 196/522] [feat] adding map view translations --- .../assets/translations/en-GB.json | 32 ++++++++++++- .../assets/translations/fr-FR.json | 32 ++++++++++++- apolline-flutter/lib/widgets/maps.dart | 46 +++++++++---------- 3 files changed, 85 insertions(+), 25 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index a4fece14..317bac4b 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -21,5 +21,35 @@ "disconnected": "Sensor disconnected.", "failed": "Unable to connect to this device." }, - "temperature": "TEMPERATURE" + "temperature": "TEMPERATURE", + "mapView": { + "timeFilters": { + "lastMin": "Last minute", + "last5Mins": "Last 5 minutes", + "last15Mins": "Last 15 minutes", + "last30Mins": "Last 30 minutes", + "lastHour": "Last hour", + "last3Hours": "Last 3 hours", + "last6Hours": "Last 6 hours", + "last12Hours": "Last 12 hours", + "last24Hours": "Last 24 hours", + "today": "Today", + "thisWeek": "This week" + }, + "sizeFilters": { + "PM1": "PM1", + "PM25": "PM2.5", + "PM10": "PM10", + "abovePM03": "PM above 0.3 µm", + "abovePM05": "PM above 0.5 µm", + "abovePM1": "PM above 1 µm", + "abovePM25": "PM above 2.5 µm", + "abovePM5": "PM above 5 µm", + "abovePM10": "PM above 10 µm" + }, + "filters": { + "time": "Per time", + "size": "Per PM size" + } + } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 25e27166..73ea7904 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -21,5 +21,35 @@ "disconnected": "Connexion avec le capteur perdue.", "failed": "Impossible de se connecter à ce périphérique." }, - "temperature": "TEMPÉRATURE" + "temperature": "TEMPÉRATURE", + "mapView": { + "timeFilters": { + "lastMin": "Dernière minute", + "last5Mins": "Dernières 5 minutes", + "last15Mins": "Dernières 15 minutes", + "last30Mins": "Dernières 30 minutes", + "lastHour": "Dernière heure", + "last3Hours": "Dernières 3 heures", + "last6Hours": "Dernières 6 heures", + "last12Hours": "Dernières 12 heures", + "last24Hours": "Dernières 24 heures", + "today": "Aujourd'hui", + "thisWeek": "Cette semaine" + }, + "sizeFilters": { + "PM1": "PM1", + "PM25": "PM2.5", + "PM10": "PM10", + "abovePM03": "PM plus grandes que 0.3 µm", + "abovePM05": "PM plus grandes que 0.5 µm", + "abovePM1": "PM plus grandes que 1 µm", + "abovePM25": "PM plus grandes que 2.5 µm", + "abovePM5": "PM plus grandes que 5 µm", + "abovePM10": "PM plus grandes que 10 µm" + }, + "filters": { + "time": "Par temps", + "size": "Par taille" + } + } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index c51f0d74..d40b320a 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -13,6 +13,7 @@ import 'package:apollineflutter/models/user_configuration.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/location_service.dart'; +import 'package:easy_localization/easy_localization.dart'; class MapSample extends StatelessWidget { @@ -49,30 +50,29 @@ class MapUiBodyState extends State { Stream _sensorDataStream = locator().dataStream; /// the label for time. List mapTimeLabel = [ - "last minute", - "last 5 minutes", - "last 15 minutes", - "last 30 minutes", - "last 1 hour", - "last 3 hours", - "last 6 hours", - "last 12 hours", - "last 24 hours", - "Today", - "This week" - + "mapView.timeFilters.lastMin".tr(), + "mapView.timeFilters.last5Mins".tr(), + "mapView.timeFilters.last15Mins".tr(), + "mapView.timeFilters.last30Mins".tr(), + "mapView.timeFilters.lastHour".tr(), + "mapView.timeFilters.last3Hours".tr(), + "mapView.timeFilters.last6Hours".tr(), + "mapView.timeFilters.last12Hours".tr(), + "mapView.timeFilters.last24Hours".tr(), + "mapView.timeFilters.today".tr(), + "mapView.timeFilters.thisWeek".tr() ]; /// the label of pm List pmLabels= [ - "PM 1", - "PM 2_5", - "PM 10", - "PM_ABOVE 0_3", - "PM_ABOVE 0_5", - "PM_ABOVE 1", - "PM_ABOVE 2_5", - "PM_ABOVE 5", - "PM_ABOVE 10", + "mapView.sizeFilters.PM1".tr(), + "mapView.sizeFilters.PM25".tr(), + "mapView.sizeFilters.PM10".tr(), + "mapView.sizeFilters.abovePM03".tr(), + "mapView.sizeFilters.abovePM05".tr(), + "mapView.sizeFilters.abovePM1".tr(), + "mapView.sizeFilters.abovePM25".tr(), + "mapView.sizeFilters.abovePM5".tr(), + "mapView.sizeFilters.abovePM10".tr() ]; ///the index of each pm in model. List indexPmValueInModel = [1, 2, 3, 4, 5, 6, 7, 8, 9]; @@ -240,11 +240,11 @@ class MapUiBodyState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ FloatingActionButton.extended( - label: Text("Time"), + label: Text("mapView.filters.time").tr(), onPressed: () { this.chooseTimeFrequency(context); } ), FloatingActionButton.extended( - label: Text("PM"), + label: Text("mapView.filters.time").tr(), onPressed: () { this.choosePm(context); } ) ], From fec748a0ad6c01d07b91b845ab0c13ec2a007bca Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 30 Aug 2021 14:51:50 +0200 Subject: [PATCH 197/522] [feat] detecting when no dust service is detected on a device --- apolline-flutter/lib/twins/SensorTwin.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 3e0d09ea..941a4a14 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -156,7 +156,12 @@ class SensorTwin { /// one that will allow us to receive data from the sensor. Future _loadUpSensorCharacteristic () async { List services = await _device.discoverServices(); - BluetoothService sensorService = services.firstWhere((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); + Iterable sensorServices = services.where((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); + if (sensorServices.length == 0) { + print('bruh'); + return; + } + BluetoothService sensorService = sensorServices.first; BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); this._characteristic = characteristic; } From a597b7390b88ac8e6f9ce23cde1b22b72eef6bf3 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 30 Aug 2021 14:58:52 +0200 Subject: [PATCH 198/522] [feat] throwing connection if device is not compatible --- apolline-flutter/lib/sensor_view.dart | 7 ++++++- apolline-flutter/lib/twins/SensorTwin.dart | 14 +++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0bac3c3b..3e529573 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -91,7 +91,12 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as DataPointModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); - await this._sensor.init(); + bool initResult = await this._sensor.init(); + if (!initResult) { + Fluttertoast.showToast(msg: "Ce périphérique n'est pas compatible avec l'application."); + this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); + return; + } await this._sensor.launchDataLiveTransmission(); updateState("Waiting for sensor data..."); } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 941a4a14..0e0fa2ef 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -154,16 +154,16 @@ class SensorTwin { /// Filters out a Bluetooth device's services and characteristics to find the /// one that will allow us to receive data from the sensor. - Future _loadUpSensorCharacteristic () async { + Future _loadUpSensorCharacteristic () async { List services = await _device.discoverServices(); Iterable sensorServices = services.where((service) => service.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorServiceUUID); if (sensorServices.length == 0) { - print('bruh'); - return; + return false; } BluetoothService sensorService = sensorServices.first; BluetoothCharacteristic characteristic = sensorService.characteristics.firstWhere((char) => char.uuid.toString().toLowerCase() == BlueSensorAttributes.dustSensorCharacteristicUUID); this._characteristic = characteristic; + return true; } void _initLocationService () { @@ -225,12 +225,16 @@ class SensorTwin { /// Sets up listeners and synchronises sensor clock. /// Must be called before starting data transmission. - Future init () async { - await _loadUpSensorCharacteristic(); + Future init () async { + bool serviceFound = await _loadUpSensorCharacteristic(); + if (!serviceFound) + return false; + await _setUpListeners(); await synchronizeClock(); _initLocationService(); _initSynchronizationTimer(); + return true; } /// Releases resources associated with the sensor. From cce2fbe870b825b20d7c9e237f6bce971ef9c344 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 30 Aug 2021 15:09:45 +0200 Subject: [PATCH 199/522] [feat] adding an enum value to represent incompatible devices --- apolline-flutter/lib/bluetoothDevicesPage.dart | 1 + apolline-flutter/lib/sensor_view.dart | 2 +- apolline-flutter/lib/utils/device_connection_status.dart | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 9e611d30..49546008 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -184,6 +184,7 @@ class _BluetoothDevicesPageState extends State { }); break; case DeviceConnectionStatus.UNABLE_TO_CONNECT: + case DeviceConnectionStatus.INCOMPATIBLE: setState(() { unConnectableDevices.add(device); }); diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 3e529573..385d8a40 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -94,7 +94,7 @@ class _SensorViewState extends State { bool initResult = await this._sensor.init(); if (!initResult) { Fluttertoast.showToast(msg: "Ce périphérique n'est pas compatible avec l'application."); - this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); + this._onWillPop(DeviceConnectionStatus.INCOMPATIBLE); return; } await this._sensor.launchDataLiveTransmission(); diff --git a/apolline-flutter/lib/utils/device_connection_status.dart b/apolline-flutter/lib/utils/device_connection_status.dart index 2a384345..17a8fc5b 100644 --- a/apolline-flutter/lib/utils/device_connection_status.dart +++ b/apolline-flutter/lib/utils/device_connection_status.dart @@ -1,7 +1,8 @@ enum DeviceConnectionStatus { CONNECTED, DISCONNECTED, - UNABLE_TO_CONNECT + INCOMPATIBLE, + UNABLE_TO_CONNECT, } class DeviceConnectionStatusHelper { From 9b2e5eb127197ce317b62d8aa61c5d1976afa8cc Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 31 Aug 2021 07:54:07 +0200 Subject: [PATCH 200/522] [fix] wrong map filter button translation key --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index d40b320a..e678af67 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -244,7 +244,7 @@ class MapUiBodyState extends State { onPressed: () { this.chooseTimeFrequency(context); } ), FloatingActionButton.extended( - label: Text("mapView.filters.time").tr(), + label: Text("mapView.filters.size").tr(), onPressed: () { this.choosePm(context); } ) ], From 862d5562818c0b75fb1fbf377b21bdc20d434913 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 31 Aug 2021 08:11:08 +0200 Subject: [PATCH 201/522] [feat] translating "no data" chart message --- apolline-flutter/assets/translations/en-GB.json | 3 +++ apolline-flutter/assets/translations/fr-FR.json | 3 +++ apolline-flutter/lib/widgets/stats.dart | 5 +++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 317bac4b..0ceaf834 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -22,6 +22,9 @@ "failed": "Unable to connect to this device." }, "temperature": "TEMPERATURE", + "statsView": { + "noData": "No chart data available." + }, "mapView": { "timeFilters": { "lastMin": "Last minute", diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 73ea7904..d790144a 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -22,6 +22,9 @@ "failed": "Impossible de se connecter à ce périphérique." }, "temperature": "TEMPÉRATURE", + "statsView": { + "noData": "Pas de données disponibles." + }, "mapView": { "timeFilters": { "lastMin": "Dernière minute", diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 73c42a39..259aed94 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -19,6 +19,7 @@ import 'package:mp_chart/mp/core/enums/x_axis_position.dart'; import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; +import 'package:easy_localization/easy_localization.dart'; @@ -153,8 +154,8 @@ class StatsState extends State implements OnChartValueSelectedListener { ..setAxisMaximum( controller.data == null ? 0 : controller.data.xMax + 0.25); }, - // noDataText: - // "No chart data available. \nUse the menu to add entries and data sets!", + noDataText: + "statsView.noData".tr(), drawGridBackground: false, dragXEnabled: true, dragYEnabled: true, From 3ad79a8a21355bc8ef180784b67dfd2317ac7270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 11:15:01 +0200 Subject: [PATCH 202/522] [chore] adding package_info_plus dependency --- apolline-flutter/pubspec.lock | 7 +++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 924e360f..00bc8684 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -277,6 +277,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.0.6" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1" path: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d08ac68f..5dab0575 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -44,6 +44,7 @@ dependencies: geolocator: ^7.3.0 sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 + package_info_plus: ^0.0.1 From e01c04d385f2007d37a388d327e97adb10fad935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 11:31:14 +0200 Subject: [PATCH 203/522] [feat] adding version indicator widget --- .../lib/bluetoothDevicesPage.dart | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 49546008..e95eea02 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -157,6 +157,9 @@ class _BluetoothDevicesPageState extends State { )); } + //for (var i=0; i<100; i++) + //wList.add(Card(child: ListTile(title: Text("bonsoir"), subtitle: Text("Hello there"),))); + return wList; } @@ -239,6 +242,23 @@ class _BluetoothDevicesPageState extends State { return wList; } + Widget _buildAppVersion () { + return Align( + alignment: Alignment.bottomRight, + child: Container( + margin: EdgeInsets.all(10), + child: Text( + "v1.0.0+1", + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.grey + ), + ) + ), + ); + } + /* UI update only */ @override Widget build(BuildContext context) { @@ -261,12 +281,18 @@ class _BluetoothDevicesPageState extends State { body: Center( // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. - child: Container( - child: ListView( - children: _buildDevicesList(), - padding: EdgeInsets.all(10) - ) - )) + child: Stack( + children: [ + Container( + child: ListView( + children: _buildDevicesList(), + padding: EdgeInsets.all(10) + ) + ), + this._buildAppVersion() + ], + ) + ) ); } } From f42c584f5ec12268f87bf6dd6acaa5ff8c791245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 11:47:35 +0200 Subject: [PATCH 204/522] [chore] updating needed dependencies to use package info --- .../lib/services/influxdb_client.dart | 2 +- apolline-flutter/pubspec.lock | 43 +++++++++++++++++-- apolline-flutter/pubspec.yaml | 6 +-- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 1f8cbd57..96842848 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -70,7 +70,7 @@ class _InfluxDBClient extends http.BaseClient { void pingSilent(String url) async { http.Response resp; try{ - resp = await this.get(url); + resp = await this.get(Uri(host: url)); } on SocketException catch(_) { throw LostConnectionException("server is unavailable"); } diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 00bc8684..569e7468 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -190,7 +190,7 @@ packages: name: global_configuration url: "https://pub.dartlang.org" source: hosted - version: "1.6.0" + version: "2.0.0-nullsafety.1" google_maps_flutter: dependency: "direct main" description: @@ -211,14 +211,14 @@ packages: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.12.2" + version: "0.13.3" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "3.1.4" + version: "4.0.0" image: dependency: transitive description: @@ -283,7 +283,42 @@ packages: name: package_info_plus url: "https://pub.dartlang.org" source: hosted - version: "0.0.1" + version: "1.0.6" + package_info_plus_linux: + dependency: transitive + description: + name: package_info_plus_linux + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + package_info_plus_macos: + dependency: transitive + description: + name: package_info_plus_macos + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + package_info_plus_web: + dependency: transitive + description: + name: package_info_plus_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + package_info_plus_windows: + dependency: transitive + description: + name: package_info_plus_windows + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" path: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 5dab0575..7f9aeb84 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -35,8 +35,8 @@ dependencies: path: mp_chart google_maps_flutter: ^2.0.6 flutter_launcher_icons: ^0.9.0 - http: ^0.12.2 - global_configuration: ^1.6.0 + http: ^0.13.3 + global_configuration: ^2.0.0-nullsafety.1 # hash localisation geohash: ^0.2.1 path_provider: ^2.0.2 @@ -44,7 +44,7 @@ dependencies: geolocator: ^7.3.0 sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 - package_info_plus: ^0.0.1 + package_info_plus: ^1.0.6 From 3e395f463d809e67fb87e2f84c9635dde78388af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 11:57:43 +0200 Subject: [PATCH 205/522] [feat] displaying version number in widget --- .../lib/bluetoothDevicesPage.dart | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index e95eea02..f264e6fb 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -6,6 +6,7 @@ import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; +import 'package:package_info_plus/package_info_plus.dart'; @@ -247,13 +248,29 @@ class _BluetoothDevicesPageState extends State { alignment: Alignment.bottomRight, child: Container( margin: EdgeInsets.all(10), - child: Text( - "v1.0.0+1", - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.grey - ), + child: FutureBuilder( + future: PackageInfo.fromPlatform(), + builder: (context, data) { + if (!data.hasData) { + return Text( + "Loading...", + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.grey + ), + ); + } else { + return Text( + "v${data.data.version}", + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.grey + ), + ); + } + }, ) ), ); From bf8a2b2c16d863d7a8c62bbb8f9155f4885b66b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 12:00:16 +0200 Subject: [PATCH 206/522] [refactor] removing style duplicate --- .../lib/bluetoothDevicesPage.dart | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index f264e6fb..d1a11658 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -244,6 +244,12 @@ class _BluetoothDevicesPageState extends State { } Widget _buildAppVersion () { + const labelStyle = TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.grey + ); + return Align( alignment: Alignment.bottomRight, child: Container( @@ -252,23 +258,9 @@ class _BluetoothDevicesPageState extends State { future: PackageInfo.fromPlatform(), builder: (context, data) { if (!data.hasData) { - return Text( - "Loading...", - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.grey - ), - ); + return Text("Loading...", style: labelStyle); } else { - return Text( - "v${data.data.version}", - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.grey - ), - ); + return Text("v${data.data.version}", style: labelStyle); } }, ) From 41dc486ef3015d9a0aaf5aa9129a749e1d1a8ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 12:07:27 +0200 Subject: [PATCH 207/522] [feat] displaying build number --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d1a11658..598b0472 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -260,7 +260,11 @@ class _BluetoothDevicesPageState extends State { if (!data.hasData) { return Text("Loading...", style: labelStyle); } else { - return Text("v${data.data.version}", style: labelStyle); + String label = data.data.version; + var buildNumber = data.data.buildNumber; + if (buildNumber != null && data.data.buildNumber != 0) + label += "+${data.data.buildNumber}"; + return Text("v$label", style: labelStyle); } }, ) From 05f2f7ffba8c750964ea5ad5e5c2ec1ddf1e8fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 12:10:57 +0200 Subject: [PATCH 208/522] [chore] bumping version to 1.0.1 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 7f9aeb84..a9d085d1 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 +version: 1.0.1 publish_to: none environment: From 99e310df1403d605b8d10ea987334a1ec5ed504f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 13:41:00 +0200 Subject: [PATCH 209/522] [fix] http calls are now done with a Uri argument --- apolline-flutter/lib/services/influxdb_client.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/services/influxdb_client.dart b/apolline-flutter/lib/services/influxdb_client.dart index 96842848..567e2238 100644 --- a/apolline-flutter/lib/services/influxdb_client.dart +++ b/apolline-flutter/lib/services/influxdb_client.dart @@ -70,7 +70,7 @@ class _InfluxDBClient extends http.BaseClient { void pingSilent(String url) async { http.Response resp; try{ - resp = await this.get(Uri(host: url)); + resp = await this.get(Uri.parse(url)); } on SocketException catch(_) { throw LostConnectionException("server is unavailable"); } @@ -85,7 +85,7 @@ class _InfluxDBClient extends http.BaseClient { Future postSilent(url, {Map headers, body, Encoding encoding}) async { http.Response resp; try{ - resp = await this.post(url, headers: headers, body: body, encoding: encoding); + resp = await this.post(Uri.parse(url), headers: headers, body: body, encoding: encoding); } on SocketException catch(e) { throw LostConnectionException("server is unavailable ${e.toString()}"); } From e63e601a27dca2ab84ea62af6b3b758079aeb28d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 14:38:45 +0200 Subject: [PATCH 210/522] [fix] if a data point has no geohash, we don't try to display it --- apolline-flutter/lib/widgets/maps.dart | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index c51f0d74..70792e30 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -295,12 +295,13 @@ class MapUiBodyState extends State { ///update data after change time of pm choice. void getSensorDataAfterDate() { this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.mapSyncFrequency).then((res) { - this._circles.clear(); //clean last content. - for(var i = 0; i < res.length; i++) { - this.addCircle(res[i]); - } - - this.setState(() {}); + setState(() { + this._circles.clear(); //clean last content. + res.map((point) { + if (point.position.geohash != "no") + this.addCircle(point); + }); + }); }); } From bb879f0a35ff35fb042e2f421db367f12c2a99b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 15:56:47 +0200 Subject: [PATCH 211/522] [refactor] renaming MapFrequency class to TimeFilter --- .../lib/models/user_configuration.dart | 20 +++++++++---------- .../lib/services/sqflite_service.dart | 6 +++--- apolline-flutter/lib/widgets/maps.dart | 12 +++++------ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 698ad0bb..a747ab63 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -3,7 +3,7 @@ import 'package:apollineflutter/models/data_point_model.dart'; ///Author (Issagha BARRY) /// -enum MapFrequency { +enum TimeFilter { MAP_SYNC_1_MIN, MAP_SYNC_5_MIN, MAP_SYNC_15_MIN, @@ -22,21 +22,21 @@ enum MapFrequency { class UserConfiguration { ///variable to retrieve data up to x minute - MapFrequency _mapSyncFrequency ; + TimeFilter _timeFilter ; ///index pm in data point. int _pmIndex; /// ///Constructor - UserConfiguration({mapSyncFrequency: MapFrequency.MAP_SYNC_1_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { - this._mapSyncFrequency = mapSyncFrequency; + UserConfiguration({timeFilter: TimeFilter.MAP_SYNC_1_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { + this._timeFilter = timeFilter; this._pmIndex = pmIndex; } /// ///Constructor from json UserConfiguration.fromJson(Map json) { - this._mapSyncFrequency = MapFrequency.values[json['mapSyncFreq']]; + this._timeFilter = TimeFilter.values[json['mapSyncFreq']]; this._pmIndex = json['pmIndex']; } @@ -44,15 +44,15 @@ class UserConfiguration { ///formate class to json. Map toJson() { return { - "mapSyncFreq": this.mapSyncFrequency.index, + "mapSyncFreq": this.timeFilter.index, "pmIndex": this._pmIndex }; } /// ///getteur map - MapFrequency get mapSyncFrequency { - return this._mapSyncFrequency; + TimeFilter get timeFilter { + return this._timeFilter; } /// @@ -69,8 +69,8 @@ class UserConfiguration { /// ///Setteur - set mapSyncFrequency(MapFrequency frequency) { - this._mapSyncFrequency = frequency; + set timeFilter(TimeFilter filter) { + this._timeFilter = filter; } } \ No newline at end of file diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 50ea42d5..8e206bb0 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -91,8 +91,8 @@ class SqfLiteService { /// - ///get all data after this mapfrequency [freq]. - Future> getAllDataPointsAfterDate(MapFrequency freq) async { + ///get all data included in [filter] value. + Future> getAllDataPointsAfterDate(TimeFilter filter) async { List models = []; var now = DateTime.now(); List freqC = [1, 5, 15, 30, 60, 180, 360, 720, 1440]; //convert to minute. @@ -100,7 +100,7 @@ class SqfLiteService { var thisweek = (now.weekday - 1) * 24 * 60 + today; freqC.add(today); freqC.add(thisweek); - var time = now.millisecondsSinceEpoch - 60000*freqC[freq.index]; + var time = now.millisecondsSinceEpoch - 60000*freqC[filter.index]; Database db = await database; var jsonres = await db.query(dataPointTableName, columns: null, where: "$columnDate >= ?", whereArgs: [time]); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 70792e30..f409c1e8 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -183,13 +183,13 @@ class MapUiBodyState extends State { } /// - ///select for time frequency + ///select for time ///[ctx] the context of app - Future chooseTimeFrequency(BuildContext ctx) async{ + Future chooseTimeFilter(BuildContext ctx) async{ var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, mapTimeLabel, MapFrequency.values, uConf.mapSyncFrequency); + var val = await this.dialog(ctx, mapTimeLabel, TimeFilter.values, uConf.timeFilter); if(val != null) { - uConf.mapSyncFrequency = val; + uConf.timeFilter = val; this.ucS.update(); //notify the settings page that something has changed. this.getSensorDataAfterDate(); } @@ -241,7 +241,7 @@ class MapUiBodyState extends State { children: [ FloatingActionButton.extended( label: Text("Time"), - onPressed: () { this.chooseTimeFrequency(context); } + onPressed: () { this.chooseTimeFilter(context); } ), FloatingActionButton.extended( label: Text("PM"), @@ -294,7 +294,7 @@ class MapUiBodyState extends State { /// ///update data after change time of pm choice. void getSensorDataAfterDate() { - this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.mapSyncFrequency).then((res) { + this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter).then((res) { setState(() { this._circles.clear(); //clean last content. res.map((point) { From e65343ce72641887a686f52e825cd7229c59fb41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 16:13:21 +0200 Subject: [PATCH 212/522] [refactor] using a const key to index time filter value --- apolline-flutter/lib/models/user_configuration.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index a747ab63..92dfea46 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/models/data_point_model.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; ///Author (Issagha BARRY) @@ -25,6 +26,8 @@ class UserConfiguration { TimeFilter _timeFilter ; ///index pm in data point. int _pmIndex; + ///time filter json key + static const String TIME_FILTER_KEY = "timeFilterValue"; /// ///Constructor @@ -36,7 +39,7 @@ class UserConfiguration { /// ///Constructor from json UserConfiguration.fromJson(Map json) { - this._timeFilter = TimeFilter.values[json['mapSyncFreq']]; + this._timeFilter = TimeFilter.values[json[UserConfiguration.TIME_FILTER_KEY]]; this._pmIndex = json['pmIndex']; } @@ -44,7 +47,7 @@ class UserConfiguration { ///formate class to json. Map toJson() { return { - "mapSyncFreq": this.timeFilter.index, + UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, "pmIndex": this._pmIndex }; } From 059af922a4f9ba3075718dbf27a2d69b1a457de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 16:23:15 +0200 Subject: [PATCH 213/522] [refactor] creating time filter package --- .../lib/models/user_configuration.dart | 18 +----------------- .../lib/services/sqflite_service.dart | 3 ++- apolline-flutter/lib/utils/time_filter.dart | 13 +++++++++++++ apolline-flutter/lib/widgets/maps.dart | 2 +- 4 files changed, 17 insertions(+), 19 deletions(-) create mode 100644 apolline-flutter/lib/utils/time_filter.dart diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 92dfea46..8860603e 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,23 +1,7 @@ import 'package:apollineflutter/models/data_point_model.dart'; -import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:apollineflutter/utils/time_filter.dart'; -///Author (Issagha BARRY) -/// -enum TimeFilter { - MAP_SYNC_1_MIN, - MAP_SYNC_5_MIN, - MAP_SYNC_15_MIN, - MAP_SYNC_30_MIN, - MAP_SYNC_1_HOUR, - MAP_SYNC_3_HOUR, - MAP_SYNC_6_HOUR, - MAP_SYNC_12_HOUR, - MAP_SYNC_24_HOUR, - MAP_SYNC_TODAY, - MAP_SYNC_THIS_WEEK, -} - ///Author (Issagha BARRY) ///User configuration in ui class UserConfiguration { diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 8e206bb0..88aaf059 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -1,9 +1,10 @@ import 'dart:io'; import 'package:apollineflutter/models/data_point_model.dart'; +import 'package:apollineflutter/utils/time_filter.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:apollineflutter/models/user_configuration.dart'; + // Author GDISSA Ramy // Sqflite Database diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart new file mode 100644 index 00000000..3b1fadf8 --- /dev/null +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -0,0 +1,13 @@ +enum TimeFilter { + MAP_SYNC_1_MIN, + MAP_SYNC_5_MIN, + MAP_SYNC_15_MIN, + MAP_SYNC_30_MIN, + MAP_SYNC_1_HOUR, + MAP_SYNC_3_HOUR, + MAP_SYNC_6_HOUR, + MAP_SYNC_12_HOUR, + MAP_SYNC_24_HOUR, + MAP_SYNC_TODAY, + MAP_SYNC_THIS_WEEK, +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index f409c1e8..1ded7462 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:collection'; +import 'package:apollineflutter/utils/time_filter.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:apollineflutter/services/service_locator.dart'; @@ -9,7 +10,6 @@ import 'package:apollineflutter/utils/simple_geohash.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:global_configuration/global_configuration.dart'; import 'package:apollineflutter/configuration_key_name.dart'; -import 'package:apollineflutter/models/user_configuration.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/location_service.dart'; From e3ecc7719074392d288f125d4639fe0ced1f4ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 16:40:40 +0200 Subject: [PATCH 214/522] [chore] raising minimum dart sdk version number to 2.6.0 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index a9d085d1..e74a9214 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -15,7 +15,7 @@ version: 1.0.1 publish_to: none environment: - sdk: ">=2.1.0 <3.0.0" + sdk: ">=2.6.0 <3.0.0" flutter: ^2.0.3 dependencies: From 2f7a8b9ebc1e80c7c349406a08b377414d436dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 31 Aug 2021 16:47:49 +0200 Subject: [PATCH 215/522] [feat] time filter enumerations can be converted to minutes --- .../lib/services/sqflite_service.dart | 10 ++---- apolline-flutter/lib/utils/time_filter.dart | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 88aaf059..3186c336 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -95,15 +95,9 @@ class SqfLiteService { ///get all data included in [filter] value. Future> getAllDataPointsAfterDate(TimeFilter filter) async { List models = []; - var now = DateTime.now(); - List freqC = [1, 5, 15, 30, 60, 180, 360, 720, 1440]; //convert to minute. - var today = now.hour*60 + now.minute; - var thisweek = (now.weekday - 1) * 24 * 60 + today; - freqC.add(today); - freqC.add(thisweek); - var time = now.millisecondsSinceEpoch - 60000*freqC[filter.index]; - + var time = DateTime.now().millisecondsSinceEpoch - 60000*filter.toMinutes(); Database db = await database; + var jsonres = await db.query(dataPointTableName, columns: null, where: "$columnDate >= ?", whereArgs: [time]); jsonres.forEach((pJson) { models.add(DataPointModel.fromJson(pJson)); }); diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 3b1fadf8..8efa2f2b 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -10,4 +10,39 @@ enum TimeFilter { MAP_SYNC_24_HOUR, MAP_SYNC_TODAY, MAP_SYNC_THIS_WEEK, +} + +extension TimeFilterUtils on TimeFilter { + int _getMinutesForToday () { + DateTime now = DateTime.now(); + return now.hour*60 + now.minute; + } + + int toMinutes () { + switch (this) { + case TimeFilter.MAP_SYNC_1_MIN: + return 1; + case TimeFilter.MAP_SYNC_5_MIN: + return 5; + case TimeFilter.MAP_SYNC_15_MIN: + return 15; + case TimeFilter.MAP_SYNC_30_MIN: + return 30; + case TimeFilter.MAP_SYNC_1_HOUR: + return 60; + case TimeFilter.MAP_SYNC_3_HOUR: + return 180; + case TimeFilter.MAP_SYNC_6_HOUR: + return 360; + case TimeFilter.MAP_SYNC_12_HOUR: + return 720; + case TimeFilter.MAP_SYNC_24_HOUR: + return 1440; + case TimeFilter.MAP_SYNC_TODAY: + return this._getMinutesForToday(); + case TimeFilter.MAP_SYNC_THIS_WEEK: + DateTime now = DateTime.now(); + return (now.weekday - 1) * 24 * 60 + this._getMinutesForToday(); + } + } } \ No newline at end of file From 60eafae9dd8045c996e7602709d8f30515b4ba5b Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 31 Aug 2021 17:49:26 +0200 Subject: [PATCH 216/522] [fix] TimeFilter.toMinutes throws if enum value is unknown --- apolline-flutter/lib/utils/time_filter.dart | 3 +++ apolline-flutter/pubspec.lock | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 8efa2f2b..11353e6c 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -43,6 +43,9 @@ extension TimeFilterUtils on TimeFilter { case TimeFilter.MAP_SYNC_THIS_WEEK: DateTime now = DateTime.now(); return (now.weekday - 1) * 24 * 60 + this._getMinutesForToday(); + + default: + throw RangeError("TimeFilter enum has incorrect value."); } } } \ No newline at end of file diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 569e7468..fd6ea838 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.6.1" boolean_selector: dependency: transitive description: @@ -484,7 +484,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" sqflite: dependency: "direct main" description: @@ -561,7 +561,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.3.0" typed_data: dependency: transitive description: From dacb1e0579c61b187516e07bd0971c4a04dc1a62 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Wed, 1 Sep 2021 08:08:29 +0200 Subject: [PATCH 217/522] [feat] dialog tiles trigger selection on tap (not only radio button) --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 1ded7462..a979a519 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -138,7 +138,6 @@ class MapUiBodyState extends State { ///[labels] the label ///[values] all value List frequencyRadio(BuildContext context, List labels, List values, dynamic current) { - List renders = []; for(var i = 0; i < labels.length; i++) { renders.add( @@ -151,6 +150,7 @@ class MapUiBodyState extends State { Navigator.pop(context, values[i]); }, ), + onTap: () => Navigator.pop(context, values[i]), ), ); } From 1e588bc86bada8c71e989803e2763e901177f737 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Wed, 1 Sep 2021 08:20:26 +0200 Subject: [PATCH 218/522] [refactor] time filters labels are sent from time_filter package --- apolline-flutter/lib/utils/time_filter.dart | 20 ++++++++++++++++++++ apolline-flutter/lib/widgets/maps.dart | 17 +---------------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 11353e6c..2c9023bd 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -13,6 +13,20 @@ enum TimeFilter { } extension TimeFilterUtils on TimeFilter { + static List _labels = [ + "last minute", + "last 5 minutes", + "last 15 minutes", + "last 30 minutes", + "last 1 hour", + "last 3 hours", + "last 6 hours", + "last 12 hours", + "last 24 hours", + "Today", + "This week" + ]; + int _getMinutesForToday () { DateTime now = DateTime.now(); return now.hour*60 + now.minute; @@ -48,4 +62,10 @@ extension TimeFilterUtils on TimeFilter { throw RangeError("TimeFilter enum has incorrect value."); } } + + static List getLabels () { + if (TimeFilterUtils._labels.length != TimeFilter.values.length) + throw RangeError("There isn't as many labels as TimeFilter values."); + return TimeFilterUtils._labels; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index a979a519..b7fe3d0f 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -47,21 +47,6 @@ class MapUiBodyState extends State { StreamSubscription _sub; ///help to listen data Stream _sensorDataStream = locator().dataStream; - /// the label for time. - List mapTimeLabel = [ - "last minute", - "last 5 minutes", - "last 15 minutes", - "last 30 minutes", - "last 1 hour", - "last 3 hours", - "last 6 hours", - "last 12 hours", - "last 24 hours", - "Today", - "This week" - - ]; /// the label of pm List pmLabels= [ "PM 1", @@ -187,7 +172,7 @@ class MapUiBodyState extends State { ///[ctx] the context of app Future chooseTimeFilter(BuildContext ctx) async{ var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, mapTimeLabel, TimeFilter.values, uConf.timeFilter); + var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter); if(val != null) { uConf.timeFilter = val; this.ucS.update(); //notify the settings page that something has changed. From 8381c8e957dbddb21c575f2899cae6a5f42ec7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 10:44:15 +0200 Subject: [PATCH 219/522] [refactor] time filter values are stored in a map --- apolline-flutter/lib/utils/time_filter.dart | 77 ++++++++------------- 1 file changed, 29 insertions(+), 48 deletions(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 2c9023bd..fd934be0 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -12,60 +12,41 @@ enum TimeFilter { MAP_SYNC_THIS_WEEK, } +class TimeFilterValues { + String label; + int Function() toMinutes; + TimeFilterValues({this.label, this.toMinutes}); +} + extension TimeFilterUtils on TimeFilter { - static List _labels = [ - "last minute", - "last 5 minutes", - "last 15 minutes", - "last 30 minutes", - "last 1 hour", - "last 3 hours", - "last 6 hours", - "last 12 hours", - "last 24 hours", - "Today", - "This week" - ]; + static final Map _values = { + TimeFilter.MAP_SYNC_1_MIN: TimeFilterValues(label: "last minute", toMinutes: () => 1), + TimeFilter.MAP_SYNC_5_MIN: TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), + TimeFilter.MAP_SYNC_15_MIN: TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), + TimeFilter.MAP_SYNC_30_MIN: TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), + TimeFilter.MAP_SYNC_1_HOUR: TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), + TimeFilter.MAP_SYNC_3_HOUR: TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), + TimeFilter.MAP_SYNC_6_HOUR: TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), + TimeFilter.MAP_SYNC_12_HOUR: TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), + TimeFilter.MAP_SYNC_24_HOUR: TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), + TimeFilter.MAP_SYNC_TODAY: TimeFilterValues(label: "today", toMinutes: () { + DateTime now = DateTime.now(); + return now.hour*60 + now.minute; + }), + TimeFilter.MAP_SYNC_THIS_WEEK: TimeFilterValues(label: "This week", + toMinutes: () { + DateTime now = DateTime.now(); + int minutesForToday = now.hour*60 + now.minute; + return (now.weekday - 1) * 24 * 60 + minutesForToday; + }) + }; - int _getMinutesForToday () { - DateTime now = DateTime.now(); - return now.hour*60 + now.minute; - } int toMinutes () { - switch (this) { - case TimeFilter.MAP_SYNC_1_MIN: - return 1; - case TimeFilter.MAP_SYNC_5_MIN: - return 5; - case TimeFilter.MAP_SYNC_15_MIN: - return 15; - case TimeFilter.MAP_SYNC_30_MIN: - return 30; - case TimeFilter.MAP_SYNC_1_HOUR: - return 60; - case TimeFilter.MAP_SYNC_3_HOUR: - return 180; - case TimeFilter.MAP_SYNC_6_HOUR: - return 360; - case TimeFilter.MAP_SYNC_12_HOUR: - return 720; - case TimeFilter.MAP_SYNC_24_HOUR: - return 1440; - case TimeFilter.MAP_SYNC_TODAY: - return this._getMinutesForToday(); - case TimeFilter.MAP_SYNC_THIS_WEEK: - DateTime now = DateTime.now(); - return (now.weekday - 1) * 24 * 60 + this._getMinutesForToday(); - - default: - throw RangeError("TimeFilter enum has incorrect value."); - } + return TimeFilterUtils._values[this].toMinutes(); } static List getLabels () { - if (TimeFilterUtils._labels.length != TimeFilter.values.length) - throw RangeError("There isn't as many labels as TimeFilter values."); - return TimeFilterUtils._labels; + return TimeFilter.values.map((filter) => TimeFilterUtils._values[filter].label).toList(); } } \ No newline at end of file From 26fa6575885757bba102633d4427210f62e4654b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 10:45:10 +0200 Subject: [PATCH 220/522] [fix] time filter values are now required --- apolline-flutter/lib/utils/time_filter.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index fd934be0..e9a18417 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -1,3 +1,5 @@ +import 'package:flutter/foundation.dart'; + enum TimeFilter { MAP_SYNC_1_MIN, MAP_SYNC_5_MIN, @@ -15,7 +17,7 @@ enum TimeFilter { class TimeFilterValues { String label; int Function() toMinutes; - TimeFilterValues({this.label, this.toMinutes}); + TimeFilterValues({@required this.label, @required this.toMinutes}); } extension TimeFilterUtils on TimeFilter { From 4860531d6d82e0984a4cc51d1eb79d56a2bf272d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 11:08:02 +0200 Subject: [PATCH 221/522] [refactor] time filter keys now have meaningful names --- .../lib/models/user_configuration.dart | 2 +- apolline-flutter/lib/utils/time_filter.dart | 44 +++++++++---------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 8860603e..eedf5154 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -15,7 +15,7 @@ class UserConfiguration { /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.MAP_SYNC_1_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { this._timeFilter = timeFilter; this._pmIndex = pmIndex; } diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index e9a18417..bc73b486 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -1,17 +1,17 @@ import 'package:flutter/foundation.dart'; enum TimeFilter { - MAP_SYNC_1_MIN, - MAP_SYNC_5_MIN, - MAP_SYNC_15_MIN, - MAP_SYNC_30_MIN, - MAP_SYNC_1_HOUR, - MAP_SYNC_3_HOUR, - MAP_SYNC_6_HOUR, - MAP_SYNC_12_HOUR, - MAP_SYNC_24_HOUR, - MAP_SYNC_TODAY, - MAP_SYNC_THIS_WEEK, + LAST_MIN, + LAST_5_MIN, + LAST_15_MIN, + LAST_30_MIN, + LAST_HOUR, + LAST_3_HOURS, + LAST_6_HOURS, + LAST_12_HOURS, + LAST_24_HOURS, + TODAY, + THIS_WEEK, } class TimeFilterValues { @@ -22,20 +22,20 @@ class TimeFilterValues { extension TimeFilterUtils on TimeFilter { static final Map _values = { - TimeFilter.MAP_SYNC_1_MIN: TimeFilterValues(label: "last minute", toMinutes: () => 1), - TimeFilter.MAP_SYNC_5_MIN: TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), - TimeFilter.MAP_SYNC_15_MIN: TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), - TimeFilter.MAP_SYNC_30_MIN: TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), - TimeFilter.MAP_SYNC_1_HOUR: TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), - TimeFilter.MAP_SYNC_3_HOUR: TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), - TimeFilter.MAP_SYNC_6_HOUR: TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), - TimeFilter.MAP_SYNC_12_HOUR: TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), - TimeFilter.MAP_SYNC_24_HOUR: TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), - TimeFilter.MAP_SYNC_TODAY: TimeFilterValues(label: "today", toMinutes: () { + TimeFilter.LAST_MIN: TimeFilterValues(label: "last minute", toMinutes: () => 1), + TimeFilter.LAST_5_MIN: TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), + TimeFilter.LAST_15_MIN: TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), + TimeFilter.LAST_30_MIN: TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), + TimeFilter.LAST_HOUR: TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), + TimeFilter.LAST_3_HOURS: TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), + TimeFilter.LAST_6_HOURS: TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), + TimeFilter.LAST_12_HOURS: TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), + TimeFilter.LAST_24_HOURS: TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), + TimeFilter.TODAY: TimeFilterValues(label: "today", toMinutes: () { DateTime now = DateTime.now(); return now.hour*60 + now.minute; }), - TimeFilter.MAP_SYNC_THIS_WEEK: TimeFilterValues(label: "This week", + TimeFilter.THIS_WEEK: TimeFilterValues(label: "This week", toMinutes: () { DateTime now = DateTime.now(); int minutesForToday = now.hour*60 + now.minute; From fb2fd2bcbd5b5c9dc5c24010ed65e8997dce409c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 11:31:15 +0200 Subject: [PATCH 222/522] [fix] TimeFilter.toMinutes throws if enum has not been implemented --- apolline-flutter/lib/utils/time_filter.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index bc73b486..15d96cc2 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -45,6 +45,8 @@ extension TimeFilterUtils on TimeFilter { int toMinutes () { + if (TimeFilterUtils._values[this] == null) + throw RangeError("This TimeFilter has no value."); return TimeFilterUtils._values[this].toMinutes(); } From d35fd8d715603a17ec4833f7071da5217b22690e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 11:35:16 +0200 Subject: [PATCH 223/522] [docs] adding documentation to TimeFilter --- apolline-flutter/lib/utils/time_filter.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 15d96cc2..cdd0231c 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -1,5 +1,10 @@ import 'package:flutter/foundation.dart'; + +/// +/// TimeFilter allows users to select all data points gathered before a given date. +/// Each filter has a label and a method to obtain corresponding minutes count. +/// enum TimeFilter { LAST_MIN, LAST_5_MIN, From 8a29a67bdf5ab96405b41b0d1544ada09f7b016a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 13:57:40 +0200 Subject: [PATCH 224/522] [refactor] PM filtering is now done through pm_filter package --- apolline-flutter/lib/utils/pm_filter.dart | 45 +++++++++++++++++++++++ apolline-flutter/lib/widgets/maps.dart | 19 ++-------- 2 files changed, 48 insertions(+), 16 deletions(-) create mode 100644 apolline-flutter/lib/utils/pm_filter.dart diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart new file mode 100644 index 00000000..ef1ed299 --- /dev/null +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -0,0 +1,45 @@ +import 'package:flutter/cupertino.dart'; + +enum PMFilter { + PM_1, + PM_2_5, + PM_10, + PM_ABOVE_0_3, + PM_ABOVE_0_5, + PM_ABOVE_1, + PM_ABOVE_2_5, + PM_ABOVE_5, + PM_ABOVE_10 +} + +class PMFilterValues { + final String label; + final int dataRowIndex; + PMFilterValues({@required this.label, @required this.dataRowIndex}); +} + +extension PMFilterUtils on PMFilter { + static final Map _values = { + PMFilter.PM_1: PMFilterValues(label: "PM_1", dataRowIndex: 1), + PMFilter.PM_2_5: PMFilterValues(label: "PM_2_5", dataRowIndex: 2), + PMFilter.PM_10: PMFilterValues(label: "PM_10", dataRowIndex: 3), + PMFilter.PM_ABOVE_0_3: PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: 4), + PMFilter.PM_ABOVE_0_5: PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: 5), + PMFilter.PM_ABOVE_1: PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: 6), + PMFilter.PM_ABOVE_2_5: PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: 7), + PMFilter.PM_ABOVE_5: PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: 8), + PMFilter.PM_ABOVE_10: PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: 9) + }; + + int getRowIndex () { + return PMFilterUtils._values[this].dataRowIndex; + } + + static List getLabels () { + return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label).toList(); + } + + static List getDataRowIndexes () { + return PMFilter.values.map((filter) => PMFilterUtils._values[filter].dataRowIndex).toList(); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index b7fe3d0f..611f04cf 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:collection'; +import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/time_filter.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; @@ -47,20 +48,6 @@ class MapUiBodyState extends State { StreamSubscription _sub; ///help to listen data Stream _sensorDataStream = locator().dataStream; - /// the label of pm - List pmLabels= [ - "PM 1", - "PM 2_5", - "PM 10", - "PM_ABOVE 0_3", - "PM_ABOVE 0_5", - "PM_ABOVE 1", - "PM_ABOVE 2_5", - "PM_ABOVE 5", - "PM_ABOVE 10", - ]; - ///the index of each pm in model. - List indexPmValueInModel = [1, 2, 3, 4, 5, 6, 7, 8, 9]; MapUiBodyState(); @@ -185,7 +172,7 @@ class MapUiBodyState extends State { ///[ctx] the context of app Future choosePm(BuildContext ctx) async { var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, pmLabels, indexPmValueInModel, uConf.pmIndex); + var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilterUtils.getDataRowIndexes(), uConf.pmIndex); if(val != null) { uConf.pmIndex = val; this.ucS.update(); @@ -247,7 +234,7 @@ class MapUiBodyState extends State { /// ///Get the color fonction of pm25 value Color getColorOfPM25(double pmValue) { - var index = this.indexPmValueInModel.indexOf(this.ucS.userConf.pmIndex); + var index = PMFilterUtils.getDataRowIndexes().indexOf(this.ucS.userConf.pmIndex); var min = index >= 0 && index < this.minPmValues.length ? this.minPmValues[index] : 0; var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; From cfa5baaf985784f75ec243f692a614f704506a00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 14:13:30 +0200 Subject: [PATCH 225/522] [docs] adding documentation to PMFilter --- apolline-flutter/lib/utils/pm_filter.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index ef1ed299..0ae14e4c 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -1,5 +1,16 @@ import 'package:flutter/cupertino.dart'; + +/// +/// PMFilter allows users to select which particulate matters category to +/// display on the map. +/// +/// Each filter has a label and its index in the data row. +/// +/// For example, with the following received data: +/// > 2021_9_1_14_1_24;2;4;5;373;147;59;0;0;0;109.349998;0.000000;0.00;3.02 +/// PM_1 value is 2 (index = 1), PM_2_5 value is 4 (index = 2) etc. +/// enum PMFilter { PM_1, PM_2_5, From c7741053c6bee97908bfc844e5d86106506348c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 15:14:50 +0200 Subject: [PATCH 226/522] [fix] PM user value is stored with a const key --- apolline-flutter/lib/models/user_configuration.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index eedf5154..43cebe60 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/models/data_point_model.dart'; +import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/time_filter.dart'; @@ -10,8 +11,10 @@ class UserConfiguration { TimeFilter _timeFilter ; ///index pm in data point. int _pmIndex; - ///time filter json key + + ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; + static const String PM_FILTER_KEY = "pmFilterValue"; /// ///Constructor @@ -24,7 +27,7 @@ class UserConfiguration { ///Constructor from json UserConfiguration.fromJson(Map json) { this._timeFilter = TimeFilter.values[json[UserConfiguration.TIME_FILTER_KEY]]; - this._pmIndex = json['pmIndex']; + this._pmIndex = PMFilter.values[json[UserConfiguration.PM_FILTER_KEY]].getRowIndex(); } /// @@ -32,7 +35,7 @@ class UserConfiguration { Map toJson() { return { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, - "pmIndex": this._pmIndex + UserConfiguration.PM_FILTER_KEY: this._pmIndex }; } From b609f193908aff8c98fc9e08573ea78fbc51f579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 15:30:25 +0200 Subject: [PATCH 227/522] [refactor] user conf holds PMFilter object instead of its index --- .../lib/models/user_configuration.dart | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 43cebe60..d191b459 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -9,8 +9,8 @@ class UserConfiguration { ///variable to retrieve data up to x minute TimeFilter _timeFilter ; - ///index pm in data point. - int _pmIndex; + ///which PM data to display + PMFilter _pmFilter; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; @@ -18,16 +18,16 @@ class UserConfiguration { /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmIndex: DataPointModel.SENSOR_PM_2_5}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: DataPointModel.SENSOR_PM_2_5}) { this._timeFilter = timeFilter; - this._pmIndex = pmIndex; + this._pmFilter = pmFilter; } /// ///Constructor from json UserConfiguration.fromJson(Map json) { this._timeFilter = TimeFilter.values[json[UserConfiguration.TIME_FILTER_KEY]]; - this._pmIndex = PMFilter.values[json[UserConfiguration.PM_FILTER_KEY]].getRowIndex(); + this._pmFilter = PMFilter.values[json[UserConfiguration.PM_FILTER_KEY]]; } /// @@ -35,7 +35,7 @@ class UserConfiguration { Map toJson() { return { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, - UserConfiguration.PM_FILTER_KEY: this._pmIndex + UserConfiguration.PM_FILTER_KEY: this._pmFilter.index }; } @@ -48,13 +48,13 @@ class UserConfiguration { /// ///gette index pm int get pmIndex { - return this._pmIndex; + return this._pmFilter.getRowIndex(); } /// ///setteur set pmIndex(int index) { - this._pmIndex = index; + this._pmFilter = PMFilter.values[index-1]; } /// @@ -62,5 +62,4 @@ class UserConfiguration { set timeFilter(TimeFilter filter) { this._timeFilter = filter; } - } \ No newline at end of file From 3b250a37382062ae8b3a1d3a9f0dccb1b61232d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 15:48:14 +0200 Subject: [PATCH 228/522] [refactor] maps view uses PM filter directly instead of its row data index --- apolline-flutter/lib/models/user_configuration.dart | 12 ++++++------ apolline-flutter/lib/widgets/maps.dart | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index d191b459..a15253b5 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -8,7 +8,7 @@ import 'package:apollineflutter/utils/time_filter.dart'; class UserConfiguration { ///variable to retrieve data up to x minute - TimeFilter _timeFilter ; + TimeFilter _timeFilter; ///which PM data to display PMFilter _pmFilter; @@ -46,15 +46,15 @@ class UserConfiguration { } /// - ///gette index pm - int get pmIndex { - return this._pmFilter.getRowIndex(); + ///get pm filter + PMFilter get pmFilter { + return this._pmFilter; } /// ///setteur - set pmIndex(int index) { - this._pmFilter = PMFilter.values[index-1]; + set pmFilter(PMFilter filter) { + this._pmFilter = filter; } /// diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 611f04cf..fc994758 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -172,9 +172,9 @@ class MapUiBodyState extends State { ///[ctx] the context of app Future choosePm(BuildContext ctx) async { var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilterUtils.getDataRowIndexes(), uConf.pmIndex); + var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter); if(val != null) { - uConf.pmIndex = val; + uConf.pmFilter = val; this.ucS.update(); this.getSensorDataAfterDate(); } @@ -234,7 +234,7 @@ class MapUiBodyState extends State { /// ///Get the color fonction of pm25 value Color getColorOfPM25(double pmValue) { - var index = PMFilterUtils.getDataRowIndexes().indexOf(this.ucS.userConf.pmIndex); + var index = this.ucS.userConf.pmFilter.getRowIndex(); var min = index >= 0 && index < this.minPmValues.length ? this.minPmValues[index] : 0; var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; @@ -258,7 +258,7 @@ class MapUiBodyState extends State { center: LatLng(json["latitude"], json["longitude"]), radius: 10, strokeWidth: 0, - fillColor: this.getColorOfPM25(double.parse(pModel.values[this.ucS.userConf.pmIndex])) + fillColor: this.getColorOfPM25(double.parse(pModel.values[this.ucS.userConf.pmFilter.getRowIndex()])) ) ); } From 695484139c63502361a43aed4e011faab01396d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 15:58:10 +0200 Subject: [PATCH 229/522] [refactor] removing usused PMFilter.getDataRowIndexes method --- apolline-flutter/lib/utils/pm_filter.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 0ae14e4c..645c2f9e 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -49,8 +49,4 @@ extension PMFilterUtils on PMFilter { static List getLabels () { return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label).toList(); } - - static List getDataRowIndexes () { - return PMFilter.values.map((filter) => PMFilterUtils._values[filter].dataRowIndex).toList(); - } } \ No newline at end of file From aafb06cea9739aa0141832a3e989a5a38a17d05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 16:02:05 +0200 Subject: [PATCH 230/522] [refactor] removing useless _updateCameraPosition method from map view --- apolline-flutter/lib/widgets/maps.dart | 8 -------- 1 file changed, 8 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index fc994758..f2ff73a4 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -93,7 +93,6 @@ class MapUiBodyState extends State { this.setState(() { }); } } - }); } @@ -199,7 +198,6 @@ class MapUiBodyState extends State { myLocationEnabled: _myLocationEnabled, myLocationButtonEnabled: _myLocationButtonEnabled, trafficEnabled: _myTrafficEnabled, - onCameraMove: _updateCameraPosition, circles: this._circles, ); @@ -225,11 +223,6 @@ class MapUiBodyState extends State { ); } - /// - ///Call when cameraPosition update - void _updateCameraPosition(CameraPosition position) { - //_position = position; - } /// ///Get the color fonction of pm25 value @@ -289,7 +282,6 @@ class MapUiBodyState extends State { target: LatLng(json["latitude"], json["longitude"]), zoom: 18.0, ); - } this._controller.animateCamera(CameraUpdate.newCameraPosition(this._kInitialPosition)); }); From 192f5753dcb5b0acb4ff69b4addacd5a5357eb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 16:14:55 +0200 Subject: [PATCH 231/522] [refactor] removing useless variables from map configuration --- apolline-flutter/lib/widgets/maps.dart | 31 +++----------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index f2ff73a4..061c122b 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -56,20 +56,6 @@ class MapUiBodyState extends State { zoom: 11.0, ); - bool _compassEnabled = true; - bool _mapToolbarEnabled = true; - CameraTargetBounds _cameraTargetBounds = CameraTargetBounds.unbounded; - MinMaxZoomPreference _minMaxZoomPreference = MinMaxZoomPreference.unbounded; - MapType _mapType = MapType.normal; - bool _rotateGesturesEnabled = true; - bool _scrollGesturesEnabled = true; - bool _tiltGesturesEnabled = true; - bool _zoomControlsEnabled = false; - bool _zoomGesturesEnabled = true; - bool _indoorViewEnabled = true; - bool _myLocationEnabled = true; - bool _myTrafficEnabled = false; - bool _myLocationButtonEnabled = true; GoogleMapController _controller; SimpleLocationService _locationService; @@ -184,20 +170,9 @@ class MapUiBodyState extends State { final GoogleMap googleMap = GoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, - compassEnabled: _compassEnabled, - mapToolbarEnabled: _mapToolbarEnabled, - cameraTargetBounds: _cameraTargetBounds, - minMaxZoomPreference: _minMaxZoomPreference, - mapType: _mapType, - rotateGesturesEnabled: _rotateGesturesEnabled, - scrollGesturesEnabled: _scrollGesturesEnabled, - tiltGesturesEnabled: _tiltGesturesEnabled, - zoomGesturesEnabled: _zoomGesturesEnabled, - zoomControlsEnabled: _zoomControlsEnabled, - indoorViewEnabled: _indoorViewEnabled, - myLocationEnabled: _myLocationEnabled, - myLocationButtonEnabled: _myLocationButtonEnabled, - trafficEnabled: _myTrafficEnabled, + zoomControlsEnabled: false, + indoorViewEnabled: true, + myLocationEnabled: true, circles: this._circles, ); From 8ec57817a488cea8b0ba36a136e3140f7b623a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 16:23:25 +0200 Subject: [PATCH 232/522] [fix] filters data classes are now private (cannot be used outside packages) --- apolline-flutter/lib/utils/pm_filter.dart | 24 +++++++++--------- apolline-flutter/lib/utils/time_filter.dart | 28 ++++++++++----------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 645c2f9e..e3259489 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -23,23 +23,23 @@ enum PMFilter { PM_ABOVE_10 } -class PMFilterValues { +class _PMFilterValues { final String label; final int dataRowIndex; - PMFilterValues({@required this.label, @required this.dataRowIndex}); + _PMFilterValues({@required this.label, @required this.dataRowIndex}); } extension PMFilterUtils on PMFilter { - static final Map _values = { - PMFilter.PM_1: PMFilterValues(label: "PM_1", dataRowIndex: 1), - PMFilter.PM_2_5: PMFilterValues(label: "PM_2_5", dataRowIndex: 2), - PMFilter.PM_10: PMFilterValues(label: "PM_10", dataRowIndex: 3), - PMFilter.PM_ABOVE_0_3: PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: 4), - PMFilter.PM_ABOVE_0_5: PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: 5), - PMFilter.PM_ABOVE_1: PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: 6), - PMFilter.PM_ABOVE_2_5: PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: 7), - PMFilter.PM_ABOVE_5: PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: 8), - PMFilter.PM_ABOVE_10: PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: 9) + static final Map _values = { + PMFilter.PM_1: _PMFilterValues(label: "PM_1", dataRowIndex: 1), + PMFilter.PM_2_5: _PMFilterValues(label: "PM_2_5", dataRowIndex: 2), + PMFilter.PM_10: _PMFilterValues(label: "PM_10", dataRowIndex: 3), + PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: 4), + PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: 5), + PMFilter.PM_ABOVE_1: _PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: 6), + PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: 7), + PMFilter.PM_ABOVE_5: _PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: 8), + PMFilter.PM_ABOVE_10: _PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: 9) }; int getRowIndex () { diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index cdd0231c..3abaac4c 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -19,28 +19,28 @@ enum TimeFilter { THIS_WEEK, } -class TimeFilterValues { +class _TimeFilterValues { String label; int Function() toMinutes; - TimeFilterValues({@required this.label, @required this.toMinutes}); + _TimeFilterValues({@required this.label, @required this.toMinutes}); } extension TimeFilterUtils on TimeFilter { - static final Map _values = { - TimeFilter.LAST_MIN: TimeFilterValues(label: "last minute", toMinutes: () => 1), - TimeFilter.LAST_5_MIN: TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), - TimeFilter.LAST_15_MIN: TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), - TimeFilter.LAST_30_MIN: TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), - TimeFilter.LAST_HOUR: TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), - TimeFilter.LAST_3_HOURS: TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), - TimeFilter.LAST_6_HOURS: TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), - TimeFilter.LAST_12_HOURS: TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), - TimeFilter.LAST_24_HOURS: TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), - TimeFilter.TODAY: TimeFilterValues(label: "today", toMinutes: () { + static final Map _values = { + TimeFilter.LAST_MIN: _TimeFilterValues(label: "last minute", toMinutes: () => 1), + TimeFilter.LAST_5_MIN: _TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), + TimeFilter.LAST_15_MIN: _TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), + TimeFilter.LAST_30_MIN: _TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), + TimeFilter.LAST_HOUR: _TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), + TimeFilter.LAST_3_HOURS: _TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), + TimeFilter.LAST_6_HOURS: _TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), + TimeFilter.LAST_12_HOURS: _TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), + TimeFilter.LAST_24_HOURS: _TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), + TimeFilter.TODAY: _TimeFilterValues(label: "today", toMinutes: () { DateTime now = DateTime.now(); return now.hour*60 + now.minute; }), - TimeFilter.THIS_WEEK: TimeFilterValues(label: "This week", + TimeFilter.THIS_WEEK: _TimeFilterValues(label: "This week", toMinutes: () { DateTime now = DateTime.now(); int minutesForToday = now.hour*60 + now.minute; From f19f4ba6d5fe092a8290c2aafa754ebf8b1761e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 16:32:24 +0200 Subject: [PATCH 233/522] [fix] PMFilter.getRowIndex throws if enum has not been implemented --- apolline-flutter/lib/utils/pm_filter.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index e3259489..1e74174b 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -42,7 +42,10 @@ extension PMFilterUtils on PMFilter { PMFilter.PM_ABOVE_10: _PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: 9) }; + int getRowIndex () { + if (PMFilterUtils._values[this] == null) + throw RangeError("This PMFilter has no associated row index."); return PMFilterUtils._values[this].dataRowIndex; } From 3431815b85822ca4b1ab77b729941ad360e86660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 1 Sep 2021 16:54:09 +0200 Subject: [PATCH 234/522] [fix] circles with values that equal min or max aren't colored red by default --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 061c122b..11e78f43 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -208,7 +208,7 @@ class MapUiBodyState extends State { var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; if(pmValue < min) { return Color.fromRGBO(170, 255, 0, .1); //vert - } else if(pmValue > min && pmValue < max) { + } else if(pmValue >= min && pmValue <= max) { return Color.fromRGBO(255, 143, 0, .1); //orange } else { return Color.fromRGBO(255, 15, 0, .1); //rouge From c433ef9922c2b2b1f9b9d2463fd67709b710fb8a Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Wed, 1 Sep 2021 18:14:30 +0200 Subject: [PATCH 235/522] [fix] PMFilter takes data row indexes directly from DataPointModel class (which holds all data indexes) --- apolline-flutter/lib/utils/pm_filter.dart | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 1e74174b..40a512e8 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -1,3 +1,4 @@ +import 'package:apollineflutter/models/data_point_model.dart'; import 'package:flutter/cupertino.dart'; @@ -31,15 +32,15 @@ class _PMFilterValues { extension PMFilterUtils on PMFilter { static final Map _values = { - PMFilter.PM_1: _PMFilterValues(label: "PM_1", dataRowIndex: 1), - PMFilter.PM_2_5: _PMFilterValues(label: "PM_2_5", dataRowIndex: 2), - PMFilter.PM_10: _PMFilterValues(label: "PM_10", dataRowIndex: 3), - PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: 4), - PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: 5), - PMFilter.PM_ABOVE_1: _PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: 6), - PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: 7), - PMFilter.PM_ABOVE_5: _PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: 8), - PMFilter.PM_ABOVE_10: _PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: 9) + PMFilter.PM_1: _PMFilterValues(label: "PM_1", dataRowIndex: DataPointModel.SENSOR_PM_1), + PMFilter.PM_2_5: _PMFilterValues(label: "PM_2_5", dataRowIndex: DataPointModel.SENSOR_PM_2_5), + PMFilter.PM_10: _PMFilterValues(label: "PM_10", dataRowIndex: DataPointModel.SENSOR_PM_10), + PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), + PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), + PMFilter.PM_ABOVE_1: _PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), + PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), + PMFilter.PM_ABOVE_5: _PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), + PMFilter.PM_ABOVE_10: _PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) }; From 51bc86d4dbcd264e62cb80a1f608315fcddfd04d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 2 Sep 2021 08:10:27 +0200 Subject: [PATCH 236/522] [fix] PM filter default value in user configuration is a PMFilter instance --- apolline-flutter/lib/models/user_configuration.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index a15253b5..d484bfc7 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -18,7 +18,7 @@ class UserConfiguration { /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: DataPointModel.SENSOR_PM_2_5}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5}) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; } From 51053492355e53f3ffc0fb7cc64025710dd0deaa Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 2 Sep 2021 08:31:10 +0200 Subject: [PATCH 237/522] [refactor] getSensorDataAfterDate is now async (for better readability) --- apolline-flutter/lib/widgets/maps.dart | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 11e78f43..bcb04240 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -233,16 +233,19 @@ class MapUiBodyState extends State { /// ///update data after change time of pm choice. - void getSensorDataAfterDate() { - this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter).then((res) { - setState(() { - this._circles.clear(); //clean last content. - res.map((point) { - if (point.position.geohash != "no") - this.addCircle(point); - }); + void getSensorDataAfterDate() async { + List models = await this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter); + print("Got ${models.length} results for ${this.ucS.userConf.timeFilter} with filter=${this.ucS.userConf.pmFilter}."); + + setState(() { + this._circles.clear(); //clean last content. + models.map((point) { + if (point.position.geohash != "no") + this.addCircle(point); }); }); + + print("${this._circles.length} circles added."); } /// From db4b235ab3ea8eaf8279ef558eeda91bda238840 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 2 Sep 2021 08:38:51 +0200 Subject: [PATCH 238/522] [fix] removing unused import --- apolline-flutter/lib/models/user_configuration.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index d484bfc7..9eb07a1d 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,4 +1,3 @@ -import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/time_filter.dart'; From 8b56f14cf449dd0dc0d89f3b68871e72f8f2f1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 10:02:07 +0200 Subject: [PATCH 239/522] [fix] circles are added to map after filter change --- apolline-flutter/lib/widgets/maps.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index bcb04240..0c11a81e 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -236,12 +236,12 @@ class MapUiBodyState extends State { void getSensorDataAfterDate() async { List models = await this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter); print("Got ${models.length} results for ${this.ucS.userConf.timeFilter} with filter=${this.ucS.userConf.pmFilter}."); + List circleModels = models.where((model) => model.position.geohash != 'no').toList(); setState(() { this._circles.clear(); //clean last content. - models.map((point) { - if (point.position.geohash != "no") - this.addCircle(point); + circleModels.forEach((model) { + addCircle(model); }); }); From 11e383f4dc2ab289c2a85d4157721cc2703dffaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 10:37:53 +0200 Subject: [PATCH 240/522] [feat] filter buttons have icons --- apolline-flutter/lib/widgets/maps.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 0c11a81e..51f2a8c3 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -186,10 +186,12 @@ class MapUiBodyState extends State { children: [ FloatingActionButton.extended( label: Text("Time"), + icon: Icon(Icons.access_time), onPressed: () { this.chooseTimeFilter(context); } ), FloatingActionButton.extended( label: Text("PM"), + icon: Icon(Icons.cloud_outlined), onPressed: () { this.choosePm(context); } ) ], From 1190bfdb5ec82b4f25dce0ea99bdee09a9a9d750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 11:02:30 +0200 Subject: [PATCH 241/522] [feat] filter dialogs have a title and a correct padding --- apolline-flutter/lib/widgets/maps.dart | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 51f2a8c3..8cd67eea 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -120,12 +120,13 @@ class MapUiBodyState extends State { ///[labels] label in the select ///[values] the values corresponding to labels ///[current] the current value of select - Future dialog(BuildContext ctx, List labels, List values, dynamic current) async{ + Future dialog(BuildContext ctx, List labels, List values, dynamic current, String title) async{ var val = await showDialog( context: ctx, builder: (BuildContext context) { return AlertDialog( - contentPadding: EdgeInsets.only(left:0), + title: Text(title), + contentPadding: EdgeInsets.only(left: 0, bottom: 0, right: 0, top: 20), content: Container( height: 300, width: 300, @@ -144,7 +145,7 @@ class MapUiBodyState extends State { ///[ctx] the context of app Future chooseTimeFilter(BuildContext ctx) async{ var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter); + var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter, "Filter data by time range"); if(val != null) { uConf.timeFilter = val; this.ucS.update(); //notify the settings page that something has changed. @@ -157,7 +158,7 @@ class MapUiBodyState extends State { ///[ctx] the context of app Future choosePm(BuildContext ctx) async { var uConf = this.ucS.userConf; - var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter); + var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter, 'Filter data by particle size'); if(val != null) { uConf.pmFilter = val; this.ucS.update(); From 396a34ae2c97ba5efac29817ca1da760060578f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 14:49:36 +0200 Subject: [PATCH 242/522] [feat] when created, map focuses the last data point position --- apolline-flutter/lib/widgets/maps.dart | 44 ++++++++++++-------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 8cd67eea..53211d5d 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -13,7 +13,6 @@ import 'package:global_configuration/global_configuration.dart'; import 'package:apollineflutter/configuration_key_name.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; -import 'package:apollineflutter/services/location_service.dart'; class MapSample extends StatelessWidget { @@ -48,16 +47,8 @@ class MapUiBodyState extends State { StreamSubscription _sub; ///help to listen data Stream _sensorDataStream = locator().dataStream; - - MapUiBodyState(); - - CameraPosition _kInitialPosition = CameraPosition( - target: LatLng(50.6333, 3.0667), - zoom: 11.0, - ); - GoogleMapController _controller; - SimpleLocationService _locationService; + MapUiBodyState(); @override void initState() { @@ -65,7 +56,6 @@ class MapUiBodyState extends State { this._circles = HashSet(); this.getSensorDataAfterDate(); this.listenSensorData(); - this._locationService = SimpleLocationService(); } /// @@ -85,7 +75,6 @@ class MapUiBodyState extends State { @override void dispose() { this._sub?.cancel(); - this._locationService.close(); super.dispose(); } @@ -170,7 +159,10 @@ class MapUiBodyState extends State { Widget build(BuildContext context) { final GoogleMap googleMap = GoogleMap( onMapCreated: onMapCreated, - initialCameraPosition: _kInitialPosition, + initialCameraPosition: CameraPosition( + target: LatLng(50.6333, 3.0667), + zoom: 11.0, + ), zoomControlsEnabled: false, indoorViewEnabled: true, myLocationEnabled: true, @@ -254,17 +246,21 @@ class MapUiBodyState extends State { /// /// Call when map is create. /// [controller] GoogleMapController help to do something. - void onMapCreated(GoogleMapController controller) { - _controller = controller; - this._locationService.getLocation().then((position) { - if(position.geohash != "no") { - var json = SimpleGeoHash.decode(position.geohash); - this._kInitialPosition = CameraPosition( - target: LatLng(json["latitude"], json["longitude"]), - zoom: 18.0, + void onMapCreated(GoogleMapController controller) async { + List points = await this._sqliteService.getAllDataPoints(); + DataPointModel lastPointWithPosition = points.length == 0 + ? null + : points.lastWhere((point) => point.position.geohash != "no"); + CameraPosition pos = lastPointWithPosition == null + ? CameraPosition(target: LatLng(0, 0), zoom: 18.0) + : CameraPosition( + target: LatLng( + SimpleGeoHash.decode(lastPointWithPosition.position.geohash)['latitude'], + SimpleGeoHash.decode(lastPointWithPosition.position.geohash)['longitude'] + ), + zoom: 18.0 ); - } - this._controller.animateCamera(CameraUpdate.newCameraPosition(this._kInitialPosition)); - }); + + controller.animateCamera(CameraUpdate.newCameraPosition(pos)); } } From e44f65f531b9fc488ffe0fcb4d150adfd8ad6b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 15:11:42 +0200 Subject: [PATCH 243/522] [refactor] renaming some map methods --- apolline-flutter/lib/widgets/maps.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 53211d5d..ab194a6a 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -54,7 +54,7 @@ class MapUiBodyState extends State { void initState() { super.initState(); this._circles = HashSet(); - this.getSensorDataAfterDate(); + this.updateCirclesFromData(); this.listenSensorData(); } @@ -138,7 +138,7 @@ class MapUiBodyState extends State { if(val != null) { uConf.timeFilter = val; this.ucS.update(); //notify the settings page that something has changed. - this.getSensorDataAfterDate(); + this.updateCirclesFromData(); } } @@ -151,7 +151,7 @@ class MapUiBodyState extends State { if(val != null) { uConf.pmFilter = val; this.ucS.update(); - this.getSensorDataAfterDate(); + this.updateCirclesFromData(); } } @@ -196,11 +196,11 @@ class MapUiBodyState extends State { /// ///Get the color fonction of pm25 value - Color getColorOfPM25(double pmValue) { + Color getPMCircleColor(double pmValue) { var index = this.ucS.userConf.pmFilter.getRowIndex(); - var min = index >= 0 && index < this.minPmValues.length ? this.minPmValues[index] : 0; var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; + if(pmValue < min) { return Color.fromRGBO(170, 255, 0, .1); //vert } else if(pmValue >= min && pmValue <= max) { @@ -221,14 +221,14 @@ class MapUiBodyState extends State { center: LatLng(json["latitude"], json["longitude"]), radius: 10, strokeWidth: 0, - fillColor: this.getColorOfPM25(double.parse(pModel.values[this.ucS.userConf.pmFilter.getRowIndex()])) + fillColor: this.getPMCircleColor(double.parse(pModel.values[this.ucS.userConf.pmFilter.getRowIndex()])) ) ); } /// ///update data after change time of pm choice. - void getSensorDataAfterDate() async { + void updateCirclesFromData() async { List models = await this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter); print("Got ${models.length} results for ${this.ucS.userConf.timeFilter} with filter=${this.ucS.userConf.pmFilter}."); List circleModels = models.where((model) => model.position.geohash != 'no').toList(); From f79cb9651d8e8028ce61a3d21dd20ed77bfd9f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 2 Sep 2021 16:00:28 +0200 Subject: [PATCH 244/522] [refactor] map view has one state (instead of one encased in another) --- apolline-flutter/lib/sensor_view.dart | 2 +- apolline-flutter/lib/widgets/maps.dart | 67 ++++++++++---------------- 2 files changed, 26 insertions(+), 43 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 385d8a40..d58ef345 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -205,7 +205,7 @@ class _SensorViewState extends State { body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), Stats(), - MapSample(), + PMMapView() ])), ), ); diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index ab194a6a..1d2c1c06 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -15,53 +15,36 @@ import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; -class MapSample extends StatelessWidget { - MapSample() : super(); - @override - Widget build(BuildContext context) { - return const MapUiBody(); - } -} - -class MapUiBody extends StatefulWidget { - const MapUiBody(); - - @override - State createState() => MapUiBodyState(); -} - -class MapUiBodyState extends State { - +class PMMapView extends StatefulWidget { ///the min value of pm order in data point. - var minPmValues = GlobalConfiguration().get(ApollineConf.MINPMVALUES) ?? []; + final minPmValues = GlobalConfiguration().get(ApollineConf.MINPMVALUES) ?? []; ///the max value of pm order in data point. - var maxPmValues = GlobalConfiguration().get(ApollineConf.MAXPMVALUES) ?? []; + final maxPmValues = GlobalConfiguration().get(ApollineConf.MAXPMVALUES) ?? []; ///user configuration in the ui - UserConfigurationService ucS = locator(); + final UserConfigurationService ucS = locator(); ///instance to manage database - SqfLiteService _sqliteService = SqfLiteService(); + final SqfLiteService sqliteService = SqfLiteService(); + ///help to listen data + final Stream sensorDataStream = locator().dataStream; + + State createState() => _PMMapViewState(); +} + + +class _PMMapViewState extends State { ///circle to put in map Set _circles; ///help for close subscription StreamSubscription _sub; - ///help to listen data - Stream _sensorDataStream = locator().dataStream; - - MapUiBodyState(); @override void initState() { super.initState(); this._circles = HashSet(); this.updateCirclesFromData(); - this.listenSensorData(); - } - /// - ///Listen sensor data. - void listenSensorData() { - this._sub = this._sensorDataStream.listen((pModel) { + this._sub = widget.sensorDataStream.listen((pModel) { if(pModel.position.geohash != "no") { this.addCircle(pModel); //manage the rendering frequency. @@ -133,11 +116,11 @@ class MapUiBodyState extends State { ///select for time ///[ctx] the context of app Future chooseTimeFilter(BuildContext ctx) async{ - var uConf = this.ucS.userConf; + var uConf = widget.ucS.userConf; var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter, "Filter data by time range"); if(val != null) { uConf.timeFilter = val; - this.ucS.update(); //notify the settings page that something has changed. + widget.ucS.update(); //notify the settings page that something has changed. this.updateCirclesFromData(); } } @@ -146,11 +129,11 @@ class MapUiBodyState extends State { ///select for choose pm. ///[ctx] the context of app Future choosePm(BuildContext ctx) async { - var uConf = this.ucS.userConf; + var uConf = widget.ucS.userConf; var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter, 'Filter data by particle size'); if(val != null) { uConf.pmFilter = val; - this.ucS.update(); + widget.ucS.update(); this.updateCirclesFromData(); } } @@ -197,9 +180,9 @@ class MapUiBodyState extends State { /// ///Get the color fonction of pm25 value Color getPMCircleColor(double pmValue) { - var index = this.ucS.userConf.pmFilter.getRowIndex(); - var min = index >= 0 && index < this.minPmValues.length ? this.minPmValues[index] : 0; - var max = index >= 0 && index < this.maxPmValues.length ? this.maxPmValues[index] : 1; + var index = widget.ucS.userConf.pmFilter.getRowIndex(); + var min = index >= 0 && index < widget.minPmValues.length ? widget.minPmValues[index] : 0; + var max = index >= 0 && index < widget.maxPmValues.length ? widget.maxPmValues[index] : 1; if(pmValue < min) { return Color.fromRGBO(170, 255, 0, .1); //vert @@ -221,7 +204,7 @@ class MapUiBodyState extends State { center: LatLng(json["latitude"], json["longitude"]), radius: 10, strokeWidth: 0, - fillColor: this.getPMCircleColor(double.parse(pModel.values[this.ucS.userConf.pmFilter.getRowIndex()])) + fillColor: this.getPMCircleColor(double.parse(pModel.values[widget.ucS.userConf.pmFilter.getRowIndex()])) ) ); } @@ -229,8 +212,8 @@ class MapUiBodyState extends State { /// ///update data after change time of pm choice. void updateCirclesFromData() async { - List models = await this._sqliteService.getAllDataPointsAfterDate(this.ucS.userConf.timeFilter); - print("Got ${models.length} results for ${this.ucS.userConf.timeFilter} with filter=${this.ucS.userConf.pmFilter}."); + List models = await widget.sqliteService.getAllDataPointsAfterDate(widget.ucS.userConf.timeFilter); + print("Got ${models.length} results for ${widget.ucS.userConf.timeFilter} with filter=${widget.ucS.userConf.pmFilter}."); List circleModels = models.where((model) => model.position.geohash != 'no').toList(); setState(() { @@ -247,7 +230,7 @@ class MapUiBodyState extends State { /// Call when map is create. /// [controller] GoogleMapController help to do something. void onMapCreated(GoogleMapController controller) async { - List points = await this._sqliteService.getAllDataPoints(); + List points = await widget.sqliteService.getAllDataPoints(); DataPointModel lastPointWithPosition = points.length == 0 ? null : points.lastWhere((point) => point.position.geohash != "no"); From 4574b3c8c0951725edba7006de5f440f42c6e64b Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 17:39:54 +0200 Subject: [PATCH 245/522] [chore] adding easy_localization dependency --- apolline-flutter/pubspec.lock | 19 +++++++++++++++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 20 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index fd6ea838..1eae8230 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -78,6 +78,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" + easy_localization: + dependency: "direct main" + description: + name: easy_localization + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + easy_logger: + dependency: transitive + description: + name: easy_logger + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2" fake_async: dependency: transitive description: @@ -125,6 +139,11 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index e74a9214..2ded782b 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -45,6 +45,7 @@ dependencies: sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 package_info_plus: ^1.0.6 + easy_localization: ^3.0.0 From 833b672c2feacbe61df2351b0591db560df3ea89 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 18:56:22 +0200 Subject: [PATCH 246/522] [chore] adding translation files architecture --- apolline-flutter/assets/translations/en-GB.json | 5 +++++ apolline-flutter/assets/translations/fr-FR.json | 5 +++++ apolline-flutter/lib/main.dart | 17 +++++++++++++++-- apolline-flutter/pubspec.yaml | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 apolline-flutter/assets/translations/en-GB.json create mode 100644 apolline-flutter/assets/translations/fr-FR.json diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json new file mode 100644 index 00000000..72d6a075 --- /dev/null +++ b/apolline-flutter/assets/translations/en-GB.json @@ -0,0 +1,5 @@ +{ + "devicesView": { + "title": "Apolline - Sensors" + } +} \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json new file mode 100644 index 00000000..ae338d0d --- /dev/null +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -0,0 +1,5 @@ +{ + "devicesView": { + "title": "Apolline - Capteurs" + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index bd9f0592..51f79294 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,3 +1,4 @@ +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:global_configuration/global_configuration.dart'; @@ -8,7 +9,16 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); - runApp(ApollineApp()); + await EasyLocalization.ensureInitialized(); + + runApp( + EasyLocalization( + supportedLocales: [Locale('en', 'GB'), Locale('fr', 'FR')], + path: 'assets/translations', + fallbackLocale: Locale('en', 'GB'), + child: ApollineApp() + ), + ); } // This acts as the landing window of the app. // Scans and displays Bluetooth devices in range, and allows to connect to them. @@ -18,12 +28,15 @@ class ApollineApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( + localizationsDelegates: context.localizationDelegates, + supportedLocales: context.supportedLocales, + locale: context.locale, title: 'Apolline', theme: ThemeData( primaryColor: Colors.green, floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: Colors.lightGreen) ), - home: BluetoothDevicesPage(title: 'Apolline - Sensors'), + home: BluetoothDevicesPage(title: "devicesView.title".tr()), ); } } diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 2ded782b..0aaa4f81 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -63,6 +63,7 @@ flutter: assets: - assets/sun.png - assets/config_dev.json + - assets/translations/ # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. From c8ec4b513112512a0c20cef10a322b8d7e235c08 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 19:23:16 +0200 Subject: [PATCH 247/522] [feat] adding devices view translations --- apolline-flutter/assets/translations/en-GB.json | 13 ++++++++++++- apolline-flutter/assets/translations/fr-FR.json | 13 ++++++++++++- apolline-flutter/lib/bluetoothDevicesPage.dart | 15 ++++++++------- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 72d6a075..9e4f38ef 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -1,5 +1,16 @@ { "devicesView": { - "title": "Apolline - Sensors" + "title": "Apolline - Sensors", + "bluetoothPopUp": { + "title": "Bluetooth is disabled", + "message": "Activate both Bluetooth and geolocation to detect devices." + }, + "pairedDevicesLabel": "Paired devices", + "availableDevicesLabel": "Available devices", + "noDevicesLabel": "No Bluetooth device detected.", + "analysisButton": { + "analyse": "Scan", + "cancel": "Cancel" + } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index ae338d0d..e7e345de 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -1,5 +1,16 @@ { "devicesView": { - "title": "Apolline - Capteurs" + "title": "Apolline - Capteurs", + "bluetoothPopUp": { + "title": "Bluetooth désactivé", + "message": "Activez votre bluetooth et votre géolocalisation pour détecter des appareils." + }, + "pairedDevicesLabel": "Périphériques appairés", + "availableDevicesLabel": "Appareils disponibles", + "noDevicesLabel": "Aucun appareil Bluetooth détecté.", + "analysisButton": { + "analyse": "Scanner", + "cancel": "Annuler" + } } } \ No newline at end of file diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 598b0472..f270c054 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -7,6 +7,7 @@ import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:easy_localization/easy_localization.dart'; @@ -60,8 +61,8 @@ class _BluetoothDevicesPageState extends State { ); AlertDialog alert = AlertDialog( - title: Text("Alert"), - content: Text("Activez votre bluetooth pour détecter des appareils"), + title: Text("devicesView.bluetoothPopUp.title").tr(), + content: Text("devicesView.bluetoothPopUp.message").tr(), actions: [okbtn], ); @@ -118,7 +119,7 @@ class _BluetoothDevicesPageState extends State { if (pairedDevices.length > 0) { wList.add(Container( - child: Text("Périphérique appairés"), + child: Text("devicesView.pairedDevicesLabel").tr(), margin: EdgeInsets.only(top: 10, bottom: 10) )); @@ -137,7 +138,7 @@ class _BluetoothDevicesPageState extends State { if (devices.length > 0) { wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), - child: Text("Appareils disponibles") + child: Text("devicesView.availableDevicesLabel").tr() )); devices.forEach((device) { @@ -154,7 +155,7 @@ class _BluetoothDevicesPageState extends State { if (pairedDevices.length == 0 && devices.length == 0) { wList.add(Container( margin: EdgeInsets.only(top: pairedDevices.length > 0 ? 30 : 10, bottom: 10), - child: Text("Aucun appareil Bluetooth détecté.") + child: Text("devicesView.noDevicesLabel").tr() )); } @@ -213,7 +214,7 @@ class _BluetoothDevicesPageState extends State { if (timeout) { return [ // ignore: missing_required_param - TextButton(child: Text("Analyser", style: btnStyle,)), + TextButton(child: Text("devicesView.analysisButton.analyse", style: btnStyle,).tr()), ]; } else { return [ @@ -226,7 +227,7 @@ class _BluetoothDevicesPageState extends State { height: 20, ), // ignore: missing_required_param - TextButton(child: Text("Arrêter", style: btnStyle)), + TextButton(child: Text("devicesView.analysisButton.cancel", style: btnStyle).tr()), ]; } } From d589179cffb8a76841806948854cd46a85da0188 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 20:04:07 +0200 Subject: [PATCH 248/522] [chore] adding localization keys to iOS config --- apolline-flutter/ios/Runner/Info.plist | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/ios/Runner/Info.plist b/apolline-flutter/ios/Runner/Info.plist index 863d1ee4..b5ed6b42 100644 --- a/apolline-flutter/ios/Runner/Info.plist +++ b/apolline-flutter/ios/Runner/Info.plist @@ -45,5 +45,10 @@ UIViewControllerBasedStatusBarAppearance + CFBundleLocalizations + + en + fr + From b77f4b2204cc9f7a21630b36f50168d1c7ffa09b Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 21:39:46 +0200 Subject: [PATCH 249/522] [feat] adding sensor view translations --- .../assets/translations/en-GB.json | 8 ++++++++ .../assets/translations/fr-FR.json | 8 ++++++++ apolline-flutter/lib/sensor_view.dart | 18 +++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 9e4f38ef..40dd7e39 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -11,6 +11,14 @@ "analysisButton": { "analyse": "Scan", "cancel": "Cancel" + }, + "connectionMessages": { + "connecting": "Connecting to the device...", + "configuring": "Configuring device...", + "waiting": "Waiting for sensor data...", + "connected": "Sensor connected.", + "disconnected": "Sensor disconnected.", + "failed": "Unable to connect to this device." } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index e7e345de..c0d0d012 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -11,6 +11,14 @@ "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" + }, + "connectionMessages": { + "connecting": "Connection au périphérique...", + "configuring": "Configuration du capteur...", + "waiting": "En attente de données...", + "connected": "Connexion avec le capteur établie.", + "disconnected": "Connexion avec le capteur perdue.", + "failed": "Impossible de se connecter à cet appareil." } } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d58ef345..0944c7be 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -10,7 +10,7 @@ import 'models/data_point_model.dart'; import 'widgets/maps.dart'; import 'widgets/quality.dart'; import 'widgets/stats.dart'; - +import 'package:easy_localization/easy_localization.dart'; enum ConnexionType { Normal, Disconnect } @@ -26,7 +26,7 @@ class SensorView extends StatefulWidget { class _SensorViewState extends State { - String state = "Connecting to the device..."; + String state = "connectionMessages.connecting".tr(); DataPointModel lastReceivedData; bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; @@ -51,7 +51,7 @@ class _SensorViewState extends State { await widget.device.connect().timeout(Duration(seconds: 3), onTimeout: () { isConnectedToDevice = false; if (_scaffoldMessengerKey.currentContext != null) { - Fluttertoast.showToast(msg: "Impossible de se connecter à cet appareil."); + Fluttertoast.showToast(msg: "connectionMessages.failed".tr()); this._onWillPop(DeviceConnectionStatus.UNABLE_TO_CONNECT); } }); @@ -86,7 +86,7 @@ class _SensorViewState extends State { await widget.device.connect(); } - updateState("Configuring device"); + updateState("connectionMessages.configuring".tr()); this._sensor = SensorTwin(device: device, syncTiming: Duration(minutes: 2)); this._sensor.on(SensorTwinEvent.live_data, (d) => _onLiveDataReceived(d as DataPointModel)); this._sensor.on(SensorTwinEvent.sensor_connected, (_) => _onSensorConnected()); @@ -98,7 +98,7 @@ class _SensorViewState extends State { return; } await this._sensor.launchDataLiveTransmission(); - updateState("Waiting for sensor data..."); + updateState("connectionMessages.waiting".tr()); } void _onLiveDataReceived (DataPointModel model) { @@ -113,7 +113,7 @@ class _SensorViewState extends State { handleDeviceConnect(widget.device); } else { print("--------------------connected--------------"); - showSnackBar("Connexion avec le capteur établie."); + showSnackBar("connectionMessages.connected".tr()); } } @@ -121,7 +121,7 @@ class _SensorViewState extends State { print("----------------disconnected----------------"); isConnected = false; connectType = ConnexionType.Disconnect; //deconnexion - showSnackBar("Connexion avec le capteur perdue.", duration: Duration(days: 1)); + showSnackBar("connectionMessages.disconnected".tr(), duration: Duration(days: 1)); } @@ -169,7 +169,7 @@ class _SensorViewState extends State { return Scaffold( key: _scaffoldMessengerKey, appBar: AppBar( - title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), + title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { @@ -200,7 +200,7 @@ class _SensorViewState extends State { Tab(icon: Icon(Icons.map)), ], ), - title: Text(_sensor != null ? _sensor.name : "Connecting to sensor..."), + title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), ), body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), From 22c1ea30d25f6fda68b791b89e4351378420550e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 21:45:41 +0200 Subject: [PATCH 250/522] =?UTF-8?q?[refactor]=20unifying=20french=20transl?= =?UTF-8?q?ation=20by=20using=20"p=C3=A9riph=C3=A9rique"=20word=20in=20all?= =?UTF-8?q?=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apolline-flutter/assets/translations/fr-FR.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index c0d0d012..76beb639 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -3,22 +3,22 @@ "title": "Apolline - Capteurs", "bluetoothPopUp": { "title": "Bluetooth désactivé", - "message": "Activez votre bluetooth et votre géolocalisation pour détecter des appareils." + "message": "Activez le Bluetooth et la géolocalisation pour permettre la détection de périphériques." }, "pairedDevicesLabel": "Périphériques appairés", - "availableDevicesLabel": "Appareils disponibles", - "noDevicesLabel": "Aucun appareil Bluetooth détecté.", + "availableDevicesLabel": "Périphériques disponibles", + "noDevicesLabel": "Aucun périphérique Bluetooth détecté.", "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" }, "connectionMessages": { "connecting": "Connection au périphérique...", - "configuring": "Configuration du capteur...", + "configuring": "Configuration du périphérique...", "waiting": "En attente de données...", "connected": "Connexion avec le capteur établie.", "disconnected": "Connexion avec le capteur perdue.", - "failed": "Impossible de se connecter à cet appareil." + "failed": "Impossible de se connecter à ce périphérique." } } } \ No newline at end of file From 292914d7c878800e04e9c047f519d25f6b72e95f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:21:09 +0200 Subject: [PATCH 251/522] [feat] translating temperature key --- apolline-flutter/assets/translations/en-GB.json | 3 ++- apolline-flutter/assets/translations/fr-FR.json | 3 ++- apolline-flutter/lib/widgets/quality.dart | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 40dd7e39..dea08ac0 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -20,5 +20,6 @@ "disconnected": "Sensor disconnected.", "failed": "Unable to connect to this device." } - } + }, + "temperature": "TEMPERATURE" } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 76beb639..519cdd95 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -20,5 +20,6 @@ "disconnected": "Connexion avec le capteur perdue.", "failed": "Impossible de se connecter à ce périphérique." } - } + }, + "temperature": "TEMPÉRATURE" } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 8bb1bd83..65fb12d9 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -3,6 +3,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_gauges/gauges.dart'; +import 'package:easy_localization/easy_localization.dart'; + class Quality extends StatelessWidget { final DataPointModel lastReceivedData; @@ -173,7 +175,7 @@ class Quality extends StatelessWidget { //creates TEMPERATURE gauge Container( child: _buildGauge( - "TEMPERATURE", + "temperature".tr(), lastReceivedData.values[DataPointModel.SENSOR_TEMP], "°C", Color(0xFFFFCD60), From 997ba90ec3da047a84c8bb7af3e439d47ddcbbde Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:22:23 +0200 Subject: [PATCH 252/522] [fix] putting connectionMessages translation keys outside devicesView scope --- apolline-flutter/assets/translations/en-GB.json | 16 ++++++++-------- apolline-flutter/assets/translations/fr-FR.json | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index dea08ac0..a4fece14 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -11,15 +11,15 @@ "analysisButton": { "analyse": "Scan", "cancel": "Cancel" - }, - "connectionMessages": { - "connecting": "Connecting to the device...", - "configuring": "Configuring device...", - "waiting": "Waiting for sensor data...", - "connected": "Sensor connected.", - "disconnected": "Sensor disconnected.", - "failed": "Unable to connect to this device." } }, + "connectionMessages": { + "connecting": "Connecting to the device...", + "configuring": "Configuring device...", + "waiting": "Waiting for sensor data...", + "connected": "Sensor connected.", + "disconnected": "Sensor disconnected.", + "failed": "Unable to connect to this device." + }, "temperature": "TEMPERATURE" } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 519cdd95..25e27166 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -11,15 +11,15 @@ "analysisButton": { "analyse": "Scanner", "cancel": "Annuler" - }, - "connectionMessages": { - "connecting": "Connection au périphérique...", - "configuring": "Configuration du périphérique...", - "waiting": "En attente de données...", - "connected": "Connexion avec le capteur établie.", - "disconnected": "Connexion avec le capteur perdue.", - "failed": "Impossible de se connecter à ce périphérique." } }, + "connectionMessages": { + "connecting": "Connection au périphérique...", + "configuring": "Configuration du périphérique...", + "waiting": "En attente de données...", + "connected": "Connexion avec le capteur établie.", + "disconnected": "Connexion avec le capteur perdue.", + "failed": "Impossible de se connecter à ce périphérique." + }, "temperature": "TEMPÉRATURE" } \ No newline at end of file From 991af0c3b8604f26f8c062837ed183f12aa28542 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 27 Aug 2021 22:48:24 +0200 Subject: [PATCH 253/522] [feat] adding map view translations --- .../assets/translations/en-GB.json | 32 ++++++++++++++++++- .../assets/translations/fr-FR.json | 32 ++++++++++++++++++- apolline-flutter/lib/widgets/maps.dart | 6 ++-- 3 files changed, 66 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index a4fece14..317bac4b 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -21,5 +21,35 @@ "disconnected": "Sensor disconnected.", "failed": "Unable to connect to this device." }, - "temperature": "TEMPERATURE" + "temperature": "TEMPERATURE", + "mapView": { + "timeFilters": { + "lastMin": "Last minute", + "last5Mins": "Last 5 minutes", + "last15Mins": "Last 15 minutes", + "last30Mins": "Last 30 minutes", + "lastHour": "Last hour", + "last3Hours": "Last 3 hours", + "last6Hours": "Last 6 hours", + "last12Hours": "Last 12 hours", + "last24Hours": "Last 24 hours", + "today": "Today", + "thisWeek": "This week" + }, + "sizeFilters": { + "PM1": "PM1", + "PM25": "PM2.5", + "PM10": "PM10", + "abovePM03": "PM above 0.3 µm", + "abovePM05": "PM above 0.5 µm", + "abovePM1": "PM above 1 µm", + "abovePM25": "PM above 2.5 µm", + "abovePM5": "PM above 5 µm", + "abovePM10": "PM above 10 µm" + }, + "filters": { + "time": "Per time", + "size": "Per PM size" + } + } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 25e27166..73ea7904 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -21,5 +21,35 @@ "disconnected": "Connexion avec le capteur perdue.", "failed": "Impossible de se connecter à ce périphérique." }, - "temperature": "TEMPÉRATURE" + "temperature": "TEMPÉRATURE", + "mapView": { + "timeFilters": { + "lastMin": "Dernière minute", + "last5Mins": "Dernières 5 minutes", + "last15Mins": "Dernières 15 minutes", + "last30Mins": "Dernières 30 minutes", + "lastHour": "Dernière heure", + "last3Hours": "Dernières 3 heures", + "last6Hours": "Dernières 6 heures", + "last12Hours": "Dernières 12 heures", + "last24Hours": "Dernières 24 heures", + "today": "Aujourd'hui", + "thisWeek": "Cette semaine" + }, + "sizeFilters": { + "PM1": "PM1", + "PM25": "PM2.5", + "PM10": "PM10", + "abovePM03": "PM plus grandes que 0.3 µm", + "abovePM05": "PM plus grandes que 0.5 µm", + "abovePM1": "PM plus grandes que 1 µm", + "abovePM25": "PM plus grandes que 2.5 µm", + "abovePM5": "PM plus grandes que 5 µm", + "abovePM10": "PM plus grandes que 10 µm" + }, + "filters": { + "time": "Par temps", + "size": "Par taille" + } + } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 1d2c1c06..90d53262 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -13,6 +13,7 @@ import 'package:global_configuration/global_configuration.dart'; import 'package:apollineflutter/configuration_key_name.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; +import 'package:easy_localization/easy_localization.dart'; @@ -32,6 +33,7 @@ class PMMapView extends StatefulWidget { } + class _PMMapViewState extends State { ///circle to put in map Set _circles; @@ -161,12 +163,12 @@ class _PMMapViewState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ FloatingActionButton.extended( - label: Text("Time"), + label: Text("mapView.filters.time").tr(), icon: Icon(Icons.access_time), onPressed: () { this.chooseTimeFilter(context); } ), FloatingActionButton.extended( - label: Text("PM"), + label: Text("mapView.filters.time"), icon: Icon(Icons.cloud_outlined), onPressed: () { this.choosePm(context); } ) From f273c99818cd314ea226bc4c5220a02656bc8ce3 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 31 Aug 2021 07:54:07 +0200 Subject: [PATCH 254/522] [fix] wrong map filter button translation key --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 90d53262..678f1773 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -168,7 +168,7 @@ class _PMMapViewState extends State { onPressed: () { this.chooseTimeFilter(context); } ), FloatingActionButton.extended( - label: Text("mapView.filters.time"), + label: Text("mapView.filters.size"), icon: Icon(Icons.cloud_outlined), onPressed: () { this.choosePm(context); } ) From de3a7f64191efb528eab4d52c47fd26910c48b80 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 31 Aug 2021 08:11:08 +0200 Subject: [PATCH 255/522] [feat] translating "no data" chart message --- apolline-flutter/assets/translations/en-GB.json | 3 +++ apolline-flutter/assets/translations/fr-FR.json | 3 +++ apolline-flutter/lib/widgets/stats.dart | 5 +++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 317bac4b..0ceaf834 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -22,6 +22,9 @@ "failed": "Unable to connect to this device." }, "temperature": "TEMPERATURE", + "statsView": { + "noData": "No chart data available." + }, "mapView": { "timeFilters": { "lastMin": "Last minute", diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 73ea7904..d790144a 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -22,6 +22,9 @@ "failed": "Impossible de se connecter à ce périphérique." }, "temperature": "TEMPÉRATURE", + "statsView": { + "noData": "Pas de données disponibles." + }, "mapView": { "timeFilters": { "lastMin": "Dernière minute", diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 73c42a39..259aed94 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -19,6 +19,7 @@ import 'package:mp_chart/mp/core/enums/x_axis_position.dart'; import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; +import 'package:easy_localization/easy_localization.dart'; @@ -153,8 +154,8 @@ class StatsState extends State implements OnChartValueSelectedListener { ..setAxisMaximum( controller.data == null ? 0 : controller.data.xMax + 0.25); }, - // noDataText: - // "No chart data available. \nUse the menu to add entries and data sets!", + noDataText: + "statsView.noData".tr(), drawGridBackground: false, dragXEnabled: true, dragYEnabled: true, From 4c1399a31a38c731e96c8d810ace688729f08d82 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 2 Sep 2021 18:11:25 +0200 Subject: [PATCH 256/522] [fix] size filter translation is now used --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 678f1773..c9b8c07b 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -168,7 +168,7 @@ class _PMMapViewState extends State { onPressed: () { this.chooseTimeFilter(context); } ), FloatingActionButton.extended( - label: Text("mapView.filters.size"), + label: Text("mapView.filters.size").tr(), icon: Icon(Icons.cloud_outlined), onPressed: () { this.choosePm(context); } ) From 5ef7e5d48cc047a724c84974fac5ffe2c0b0f9a5 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 3 Sep 2021 08:05:56 +0200 Subject: [PATCH 257/522] [feat] implementing pm size dialog translations --- apolline-flutter/lib/utils/pm_filter.dart | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 40a512e8..b8cf4642 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -1,5 +1,6 @@ import 'package:apollineflutter/models/data_point_model.dart'; import 'package:flutter/cupertino.dart'; +import 'package:easy_localization/easy_localization.dart'; /// @@ -32,15 +33,15 @@ class _PMFilterValues { extension PMFilterUtils on PMFilter { static final Map _values = { - PMFilter.PM_1: _PMFilterValues(label: "PM_1", dataRowIndex: DataPointModel.SENSOR_PM_1), - PMFilter.PM_2_5: _PMFilterValues(label: "PM_2_5", dataRowIndex: DataPointModel.SENSOR_PM_2_5), - PMFilter.PM_10: _PMFilterValues(label: "PM_10", dataRowIndex: DataPointModel.SENSOR_PM_10), - PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "PM_ABOVE_0_3", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), - PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "PM_ABOVE_0_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), - PMFilter.PM_ABOVE_1: _PMFilterValues(label: "PM_ABOVE_1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), - PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "PM_ABOVE_2_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), - PMFilter.PM_ABOVE_5: _PMFilterValues(label: "PM_ABOVE_5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), - PMFilter.PM_ABOVE_10: _PMFilterValues(label: "PM_ABOVE_10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) + PMFilter.PM_1: _PMFilterValues(label: "mapView.sizeFilters.PM1", dataRowIndex: DataPointModel.SENSOR_PM_1), + PMFilter.PM_2_5: _PMFilterValues(label: "mapView.sizeFilters.PM25", dataRowIndex: DataPointModel.SENSOR_PM_2_5), + PMFilter.PM_10: _PMFilterValues(label: "mapView.sizeFilters.PM10", dataRowIndex: DataPointModel.SENSOR_PM_10), + PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "mapView.sizeFilters.abovePM03", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), + PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM05", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), + PMFilter.PM_ABOVE_1: _PMFilterValues(label: "mapView.sizeFilters.abovePM1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), + PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM25", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), + PMFilter.PM_ABOVE_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), + PMFilter.PM_ABOVE_10: _PMFilterValues(label: "mapView.sizeFilters.abovePM10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) }; @@ -51,6 +52,6 @@ extension PMFilterUtils on PMFilter { } static List getLabels () { - return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label).toList(); + return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label.tr()).toList(); } } \ No newline at end of file From affbc0e8d5680b0fd2dc78ce71d1ce0864bf7bc1 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 3 Sep 2021 08:11:56 +0200 Subject: [PATCH 258/522] [feat] implementing time filter dialog translations --- apolline-flutter/lib/utils/time_filter.dart | 25 +++++++++++---------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 3abaac4c..6a0af85d 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -1,4 +1,5 @@ import 'package:flutter/foundation.dart'; +import 'package:easy_localization/easy_localization.dart'; /// @@ -27,20 +28,20 @@ class _TimeFilterValues { extension TimeFilterUtils on TimeFilter { static final Map _values = { - TimeFilter.LAST_MIN: _TimeFilterValues(label: "last minute", toMinutes: () => 1), - TimeFilter.LAST_5_MIN: _TimeFilterValues(label: "last 5 minutes", toMinutes: () => 5), - TimeFilter.LAST_15_MIN: _TimeFilterValues(label: "last 15 minutes", toMinutes: () => 15), - TimeFilter.LAST_30_MIN: _TimeFilterValues(label: "last 30 minutes", toMinutes: () => 30), - TimeFilter.LAST_HOUR: _TimeFilterValues(label: "last 1 hour", toMinutes: () => 60), - TimeFilter.LAST_3_HOURS: _TimeFilterValues(label: "last 3 hours", toMinutes: () => 180), - TimeFilter.LAST_6_HOURS: _TimeFilterValues(label: "last 6 hours", toMinutes: () => 360), - TimeFilter.LAST_12_HOURS: _TimeFilterValues(label: "last 12 hours", toMinutes: () => 720), - TimeFilter.LAST_24_HOURS: _TimeFilterValues(label: "last 24 hours", toMinutes: () => 1440), - TimeFilter.TODAY: _TimeFilterValues(label: "today", toMinutes: () { + TimeFilter.LAST_MIN: _TimeFilterValues(label: "mapView.timeFilters.lastMin", toMinutes: () => 1), + TimeFilter.LAST_5_MIN: _TimeFilterValues(label: "mapView.timeFilters.last5Mins", toMinutes: () => 5), + TimeFilter.LAST_15_MIN: _TimeFilterValues(label: "mapView.timeFilters.last15Mins", toMinutes: () => 15), + TimeFilter.LAST_30_MIN: _TimeFilterValues(label: "mapView.timeFilters.last30Mins", toMinutes: () => 30), + TimeFilter.LAST_HOUR: _TimeFilterValues(label: "mapView.timeFilters.lastHour", toMinutes: () => 60), + TimeFilter.LAST_3_HOURS: _TimeFilterValues(label: "mapView.timeFilters.last3Hours", toMinutes: () => 180), + TimeFilter.LAST_6_HOURS: _TimeFilterValues(label: "mapView.timeFilters.last6Hours", toMinutes: () => 360), + TimeFilter.LAST_12_HOURS: _TimeFilterValues(label: "mapView.timeFilters.last12Hours", toMinutes: () => 720), + TimeFilter.LAST_24_HOURS: _TimeFilterValues(label: "mapView.timeFilters.last24Hours", toMinutes: () => 1440), + TimeFilter.TODAY: _TimeFilterValues(label: "mapView.timeFilters.today", toMinutes: () { DateTime now = DateTime.now(); return now.hour*60 + now.minute; }), - TimeFilter.THIS_WEEK: _TimeFilterValues(label: "This week", + TimeFilter.THIS_WEEK: _TimeFilterValues(label: "mapView.timeFilters.thisWeek", toMinutes: () { DateTime now = DateTime.now(); int minutesForToday = now.hour*60 + now.minute; @@ -56,6 +57,6 @@ extension TimeFilterUtils on TimeFilter { } static List getLabels () { - return TimeFilter.values.map((filter) => TimeFilterUtils._values[filter].label).toList(); + return TimeFilter.values.map((filter) => TimeFilterUtils._values[filter].label.tr()).toList(); } } \ No newline at end of file From e2fc0994b9c4d51656afd1b37c10dcc605f53f94 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 3 Sep 2021 08:20:50 +0200 Subject: [PATCH 259/522] [feat] filter dialog titles are translated --- apolline-flutter/assets/translations/en-GB.json | 2 ++ apolline-flutter/assets/translations/fr-FR.json | 2 ++ apolline-flutter/lib/widgets/maps.dart | 9 +++++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 0ceaf834..9cc566d6 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -27,6 +27,7 @@ }, "mapView": { "timeFilters": { + "title": "Filter data by time range", "lastMin": "Last minute", "last5Mins": "Last 5 minutes", "last15Mins": "Last 15 minutes", @@ -40,6 +41,7 @@ "thisWeek": "This week" }, "sizeFilters": { + "title": "Filter data by particle size", "PM1": "PM1", "PM25": "PM2.5", "PM10": "PM10", diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index d790144a..e580181a 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -27,6 +27,7 @@ }, "mapView": { "timeFilters": { + "title": "Filtrer par ancienneté", "lastMin": "Dernière minute", "last5Mins": "Dernières 5 minutes", "last15Mins": "Dernières 15 minutes", @@ -40,6 +41,7 @@ "thisWeek": "Cette semaine" }, "sizeFilters": { + "title": "Filtrer par taille de particule", "PM1": "PM1", "PM25": "PM2.5", "PM10": "PM10", diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index c9b8c07b..b2977f42 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -94,12 +94,13 @@ class _PMMapViewState extends State { ///[labels] label in the select ///[values] the values corresponding to labels ///[current] the current value of select - Future dialog(BuildContext ctx, List labels, List values, dynamic current, String title) async{ + ///[titleKey] title translation key + Future dialog(BuildContext ctx, List labels, List values, dynamic current, String titleKey) async{ var val = await showDialog( context: ctx, builder: (BuildContext context) { return AlertDialog( - title: Text(title), + title: Text(titleKey).tr(), contentPadding: EdgeInsets.only(left: 0, bottom: 0, right: 0, top: 20), content: Container( height: 300, @@ -119,7 +120,7 @@ class _PMMapViewState extends State { ///[ctx] the context of app Future chooseTimeFilter(BuildContext ctx) async{ var uConf = widget.ucS.userConf; - var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter, "Filter data by time range"); + var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter, "mapView.timeFilters.title"); if(val != null) { uConf.timeFilter = val; widget.ucS.update(); //notify the settings page that something has changed. @@ -132,7 +133,7 @@ class _PMMapViewState extends State { ///[ctx] the context of app Future choosePm(BuildContext ctx) async { var uConf = widget.ucS.userConf; - var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter, 'Filter data by particle size'); + var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter, "mapView.sizeFilters.title"); if(val != null) { uConf.pmFilter = val; widget.ucS.update(); From a7760f63afa111fc25484d7d52446022bcd20189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 09:42:09 +0200 Subject: [PATCH 260/522] [fix] catching error when trying to filter points with position --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index b2977f42..3ed48eb8 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -236,7 +236,7 @@ class _PMMapViewState extends State { List points = await widget.sqliteService.getAllDataPoints(); DataPointModel lastPointWithPosition = points.length == 0 ? null - : points.lastWhere((point) => point.position.geohash != "no"); + : points.lastWhere((point) => point.position.geohash != "no", orElse: () => null); CameraPosition pos = lastPointWithPosition == null ? CameraPosition(target: LatLng(0, 0), zoom: 18.0) : CameraPosition( From 250c34c17c970c54cf514a732849bf5c471a43c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 11:14:32 +0200 Subject: [PATCH 261/522] [refactor] devices view now holds its title (not a parameter anymore) --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 ++---- apolline-flutter/lib/main.dart | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index f270c054..3e5c3384 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -12,8 +12,7 @@ import 'package:easy_localization/easy_localization.dart'; class BluetoothDevicesPage extends StatefulWidget { - BluetoothDevicesPage({Key key, this.title}) : super(key: key); - final String title; + BluetoothDevicesPage({Key key}) : super(key: key); final FlutterBlue flutterBlue = FlutterBlue.instance; @override @@ -32,7 +31,6 @@ class _BluetoothDevicesPageState extends State { @override void initState() { super.initState(); - //initializeDevice(); this.ucS.addListener(() { LocalKeyValuePersistance.saveObject(UserConfigurationService.USER_CONF_KEY, ucS.userConf.toJson()); }); @@ -289,7 +287,7 @@ class _BluetoothDevicesPageState extends State { appBar: AppBar( // Here we take the value from the MyHomePage object that was created by // the App.build method, and use it to set our appbar title. - title: Text(widget.title), + title: Text("devicesView.title").tr(), actions: _buildAppBarAction(), ), body: Center( diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 51f79294..c88c601e 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -36,7 +36,7 @@ class ApollineApp extends StatelessWidget { primaryColor: Colors.green, floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: Colors.lightGreen) ), - home: BluetoothDevicesPage(title: "devicesView.title".tr()), + home: BluetoothDevicesPage(), ); } } From d0ae08d3263d8c443bb9cc6da04793721e7e70b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 11:42:27 +0200 Subject: [PATCH 262/522] [fix] "OK" dialog button is written uppercased --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 3e5c3384..7d09a7fa 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -52,7 +52,7 @@ class _BluetoothDevicesPageState extends State { ///Afficher un message pour activer le bluetooth void showDialogBluetooth() { Widget okbtn = TextButton( - child: Text("ok"), + child: Text("OK"), onPressed: () { Navigator.of(context).pop(); }, From 5f347743d0c20bfd263f183e7b454bcc0f051518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 11:48:06 +0200 Subject: [PATCH 263/522] [feat] translating incompatible device message --- apolline-flutter/assets/translations/en-GB.json | 3 ++- apolline-flutter/assets/translations/fr-FR.json | 3 ++- apolline-flutter/lib/sensor_view.dart | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 9cc566d6..11b612b0 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -19,7 +19,8 @@ "waiting": "Waiting for sensor data...", "connected": "Sensor connected.", "disconnected": "Sensor disconnected.", - "failed": "Unable to connect to this device." + "failed": "Unable to connect to this device.", + "incompatible": "This device is not compatible." }, "temperature": "TEMPERATURE", "statsView": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index e580181a..ccb3f889 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -19,7 +19,8 @@ "waiting": "En attente de données...", "connected": "Connexion avec le capteur établie.", "disconnected": "Connexion avec le capteur perdue.", - "failed": "Impossible de se connecter à ce périphérique." + "failed": "Impossible de se connecter à ce périphérique.", + "incompatible": "Ce périphérique n'est pas compatible avec l'application." }, "temperature": "TEMPÉRATURE", "statsView": { diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0944c7be..8548225e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -93,7 +93,7 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); bool initResult = await this._sensor.init(); if (!initResult) { - Fluttertoast.showToast(msg: "Ce périphérique n'est pas compatible avec l'application."); + Fluttertoast.showToast(msg: "connectionMessages.incompatible"); this._onWillPop(DeviceConnectionStatus.INCOMPATIBLE); return; } From edcd4bf2fde9d59f0515311c23e48c3b92349333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 11:48:47 +0200 Subject: [PATCH 264/522] [fix] calling translation method on connectionMessages.incompatible key --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 8548225e..86336113 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -93,7 +93,7 @@ class _SensorViewState extends State { this._sensor.on(SensorTwinEvent.sensor_disconnected, (_) => _onSensorDisconnected()); bool initResult = await this._sensor.init(); if (!initResult) { - Fluttertoast.showToast(msg: "connectionMessages.incompatible"); + Fluttertoast.showToast(msg: "connectionMessages.incompatible".tr()); this._onWillPop(DeviceConnectionStatus.INCOMPATIBLE); return; } From b47a7821b95a0e05aa27730636c49fa4ba2e08e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 11:52:58 +0200 Subject: [PATCH 265/522] [chore] pushing version number to 1.1.0 --- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 1eae8230..1504c279 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "2.5.0" boolean_selector: dependency: transitive description: @@ -503,7 +503,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.0" sqflite: dependency: "direct main" description: @@ -580,7 +580,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.2.19" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0aaa4f81..e07b6b42 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.1 +version: 1.1.0 publish_to: none environment: From e96743ee74a5ce20ddd524e8bca6b572a5835904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 14:00:59 +0200 Subject: [PATCH 266/522] [refactor] removing version indicator --- .../lib/bluetoothDevicesPage.dart | 45 +++---------------- apolline-flutter/pubspec.lock | 42 ----------------- apolline-flutter/pubspec.yaml | 1 - 3 files changed, 5 insertions(+), 83 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 7d09a7fa..ba8eb76d 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -6,7 +6,6 @@ import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; -import 'package:package_info_plus/package_info_plus.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -242,35 +241,6 @@ class _BluetoothDevicesPageState extends State { return wList; } - Widget _buildAppVersion () { - const labelStyle = TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.grey - ); - - return Align( - alignment: Alignment.bottomRight, - child: Container( - margin: EdgeInsets.all(10), - child: FutureBuilder( - future: PackageInfo.fromPlatform(), - builder: (context, data) { - if (!data.hasData) { - return Text("Loading...", style: labelStyle); - } else { - String label = data.data.version; - var buildNumber = data.data.buildNumber; - if (buildNumber != null && data.data.buildNumber != 0) - label += "+${data.data.buildNumber}"; - return Text("v$label", style: labelStyle); - } - }, - ) - ), - ); - } - /* UI update only */ @override Widget build(BuildContext context) { @@ -293,16 +263,11 @@ class _BluetoothDevicesPageState extends State { body: Center( // Center is a layout widget. It takes a single child and positions it // in the middle of the parent. - child: Stack( - children: [ - Container( - child: ListView( - children: _buildDevicesList(), - padding: EdgeInsets.all(10) - ) - ), - this._buildAppVersion() - ], + child: Container( + child: ListView( + children: _buildDevicesList(), + padding: EdgeInsets.all(10) + ) ) ) ); diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 244f8605..4db51488 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -303,48 +303,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.0.6" - package_info_plus: - dependency: "direct main" - description: - name: package_info_plus - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.6" - package_info_plus_linux: - dependency: transitive - description: - name: package_info_plus_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - package_info_plus_macos: - dependency: transitive - description: - name: package_info_plus_macos - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - package_info_plus_platform_interface: - dependency: transitive - description: - name: package_info_plus_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - package_info_plus_web: - dependency: transitive - description: - name: package_info_plus_web - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.4" - package_info_plus_windows: - dependency: transitive - description: - name: package_info_plus_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" path: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0d8d40f9..089276ff 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -45,7 +45,6 @@ dependencies: sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 - package_info_plus: ^1.0.6 easy_localization: ^3.0.0 From 21c4e1e6442f94c665a86c7409a1b66d30ed7d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 14:06:45 +0200 Subject: [PATCH 267/522] [fix] Android application name is "Apolline" --- apolline-flutter/android/app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index 7d8b07ff..698f622f 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ Date: Fri, 3 Sep 2021 14:25:57 +0200 Subject: [PATCH 268/522] [chore] development CI is only triggered on develop branch --- .github/workflows/{release_ci.yml => dev_release_ci.yml} | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) rename .github/workflows/{release_ci.yml => dev_release_ci.yml} (97%) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/dev_release_ci.yml similarity index 97% rename from .github/workflows/release_ci.yml rename to .github/workflows/dev_release_ci.yml index ce1108ce..384a2b89 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -1,9 +1,8 @@ -name: Release CI +name: Development release CI on: push: branches: - develop - - master env: FLUTTER_VERSION: '2.0.3' @@ -89,7 +88,7 @@ jobs: with: artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" token: ${{ secrets.GITHUB_TOKEN }} - tag: android-latest + tag: android-dev-release allowUpdates: true body: This is the latest Android version of the Apolline application (created on ${{ steps.date.outputs.date }}). @@ -144,6 +143,6 @@ jobs: with: artifacts: "Apolline-iOS.zip" token: ${{ secrets.GITHUB_TOKEN }} - tag: ios-latest + tag: ios-dev-release allowUpdates: true body: This is the latest iOS version of the Apolline application (created on ${{ steps.date.outputs.date }}). From cf2b9effa660a66c4ee4c96be71c6b664e61e216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 14:47:59 +0200 Subject: [PATCH 269/522] [chore] adding release CI configuration skeleton --- .github/workflows/release_ci.yml | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/release_ci.yml diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml new file mode 100644 index 00000000..0101ef2d --- /dev/null +++ b/.github/workflows/release_ci.yml @@ -0,0 +1,48 @@ +name: Release CI +on: + push: + branches: + - master +env: + FLUTTER_VERSION: '2.0.3' + +jobs: + deploy-android: + name: "Build and deploy Android bundle to store" + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v2.1.0 + - name: Install Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Install Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + + - name: Generate configuration file + env: + APOLLINE_API_URL: ${{ secrets.APOLLINE_API_URL }} + APOLLINE_PASSWORD: ${{ secrets.APOLLINE_PASSWORD }} + APOLLINE_USERNAME: ${{ secrets.APOLLINE_USERNAME }} + APOLLINE_DBNAME: ${{ secrets.APOLLINE_DBNAME }} + run: dart scripts/configuration_generation.dart + + - name: Install dependencies + run: flutter pub get + working-directory: apolline-flutter + + - name: Build Apolline bundle + run: flutter build appbundle + working-directory: apolline-flutter + + - name: Deploy bundle to Play store + uses: r0adkll/upload-google-play@v1 + with: + serviceAccountJson: ${{ SERVICE_ACCOUNT_JSON }} + packageName: com.science.apollineflutter + releaseFiles: app/build/outputs/bundle/release/*.aab + track: production \ No newline at end of file From 888db6698d357d99169aea555629bcace760e31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 15:16:01 +0200 Subject: [PATCH 270/522] [fix] picking service account secret from GitHub secrets --- .github/workflows/release_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 0101ef2d..df319f33 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -42,7 +42,7 @@ jobs: - name: Deploy bundle to Play store uses: r0adkll/upload-google-play@v1 with: - serviceAccountJson: ${{ SERVICE_ACCOUNT_JSON }} + serviceAccountJson: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter releaseFiles: app/build/outputs/bundle/release/*.aab track: production \ No newline at end of file From 7e8b94eee8c5d7af70c09b3fb4fb8cfad77fd280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 15:23:44 +0200 Subject: [PATCH 271/522] [fix] wrong directory to pick release files --- .github/workflows/release_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index df319f33..3cc3190a 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -44,5 +44,5 @@ jobs: with: serviceAccountJson: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter - releaseFiles: app/build/outputs/bundle/release/*.aab + releaseFiles: apolline-flutter/android/app/build/outputs/bundle/release/*.aab track: production \ No newline at end of file From 43fdb4fbab5a29b6a3ef1c4b19f16cd135e00d3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 15:34:10 +0200 Subject: [PATCH 272/522] [fix] wrong directory to pick release files (2) --- .github/workflows/release_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 3cc3190a..722d00ee 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -44,5 +44,5 @@ jobs: with: serviceAccountJson: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter - releaseFiles: apolline-flutter/android/app/build/outputs/bundle/release/*.aab + releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab track: production \ No newline at end of file From 5c1c20251a2a4dd4dca12c1478996d3db38587af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 15:43:02 +0200 Subject: [PATCH 273/522] [fix] wrong CI serviceAccount key --- .github/workflows/release_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 722d00ee..8817bf48 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -42,7 +42,7 @@ jobs: - name: Deploy bundle to Play store uses: r0adkll/upload-google-play@v1 with: - serviceAccountJson: ${{ secrets.SERVICE_ACCOUNT_JSON }} + serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab track: production \ No newline at end of file From dd220ec5de722c3471f7bbdb9ade090ecbf55933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 15:55:43 +0200 Subject: [PATCH 274/522] [chore] adding signing config to android app --- apolline-flutter/android/app/build.gradle | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index 727ccb74..dbd7f3de 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -25,6 +25,14 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + + android { compileSdkVersion 30 @@ -37,7 +45,6 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.science.apollineflutter" minSdkVersion 28 targetSdkVersion 28 @@ -46,12 +53,17 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + signingConfigs { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null + storePassword keystoreProperties['storePassword'] + } + } buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release } } } From dff9b30f6c3ecbf6fcc09078141401ab69314725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 16:14:36 +0200 Subject: [PATCH 275/522] [fix] setting android targetSdkVersion to 30 --- apolline-flutter/android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index dbd7f3de..b89d7f06 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -47,7 +47,7 @@ android { defaultConfig { applicationId "com.science.apollineflutter" minSdkVersion 28 - targetSdkVersion 28 + targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" From 594de196408ca850bccc313b6f52eb6d6a801a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 16:16:46 +0200 Subject: [PATCH 276/522] [chore] adding keystore configuration --- .github/workflows/release_ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 8817bf48..49ebfedf 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -35,6 +35,20 @@ jobs: run: flutter pub get working-directory: apolline-flutter + - name: Configure Keystore + run: | + echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks + echo "storeFile=upload-keystore.jks" >> key.properties + echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties + echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties + echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties + env: + PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }} + KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} + KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} + KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} + working-directory: apolline-flutter/android + - name: Build Apolline bundle run: flutter build appbundle working-directory: apolline-flutter From a45929a315b5ad456b627e205adfd06a8aec4ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Sep 2021 16:38:31 +0200 Subject: [PATCH 277/522] [chore] importing keystore from github secret --- .github/workflows/release_ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 49ebfedf..0c84a328 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -37,7 +37,8 @@ jobs: - name: Configure Keystore run: | - echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks + echo "${{ secrets.UPLOAD_KEYSTORE }}" > upload.keystore.asc + gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.keystore.asc > app/upload-keystore.jks echo "storeFile=upload-keystore.jks" >> key.properties echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties From 2b798c013f8f7aef1a5a69c8d42830a5bf1dddbd Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 3 Sep 2021 18:23:58 +0200 Subject: [PATCH 278/522] [chore] bumping version to 1.2.0+1 --- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 4db51488..122bf5bf 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.6.1" boolean_selector: dependency: transitive description: @@ -468,7 +468,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" sqflite: dependency: "direct main" description: @@ -545,7 +545,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.3.0" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 089276ff..887eff46 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.0 +version: 1.2.0+1 publish_to: none environment: From 50e53fccb6ffd3eff298234984624914e5dacd99 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 3 Sep 2021 18:59:22 +0200 Subject: [PATCH 279/522] [chore] bumping version to 1.2.0+2 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 887eff46..e1ca6812 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.0+1 +version: 1.2.0+2 publish_to: none environment: From d69c79b1e67984e573ffafaa1dc01abf37639629 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Sat, 4 Sep 2021 19:27:41 +0200 Subject: [PATCH 280/522] [fix] typo in release CI workflow --- .github/workflows/release_ci.yml | 2 +- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 0c84a328..a90968a4 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -35,7 +35,7 @@ jobs: run: flutter pub get working-directory: apolline-flutter - - name: Configure Keystore + - name: Configure keystore run: | echo "${{ secrets.UPLOAD_KEYSTORE }}" > upload.keystore.asc gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.keystore.asc > app/upload-keystore.jks diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 122bf5bf..4db51488 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "2.5.0" boolean_selector: dependency: transitive description: @@ -468,7 +468,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.0" sqflite: dependency: "direct main" description: @@ -545,7 +545,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.2.19" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index e1ca6812..1192ec7a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.0+2 +version: 1.2.0+3 publish_to: none environment: From 5d4fa0e391a9d2dd21478ce237bab23b00bd6f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 09:59:22 +0200 Subject: [PATCH 281/522] [chore] building debug APKs on CI Since we do not want to leak signature information on CI builds, we do not sign builds that are not for production (= not on master). --- .github/workflows/dev_release_ci.yml | 2 +- .github/workflows/flutter_ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev_release_ci.yml b/.github/workflows/dev_release_ci.yml index 384a2b89..10df0678 100644 --- a/.github/workflows/dev_release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -70,7 +70,7 @@ jobs: working-directory: apolline-flutter - name: Build Apolline APK - run: flutter build apk + run: flutter build apk --debug working-directory: apolline-flutter - name: Get compilation time diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index df4aa0fa..7565403d 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -71,7 +71,7 @@ jobs: working-directory: apolline-flutter - name: Build Apolline APK - run: flutter build apk + run: flutter build apk --debug working-directory: apolline-flutter - name: Save build artefact From 1a87adae620bbedcb2f93b281bb4e21e9b9667e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 10:31:01 +0200 Subject: [PATCH 282/522] [refactor] exporting endpoint configuration instructions to readme --- HOWTO.md | 8 -------- README.md | 12 ++++++++++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index 2e943719..350f8682 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -12,14 +12,6 @@ flutter devices //pour vérifier si votre appareil android est reconnu flutter run //pour faire tourner la simulation. ``` -## Backend configuration generation - -Before running the application, you MUST generate endpoint configuration by running: -```shell script -dart scripts/configuration_generation.dart -``` -Then, you can set variables in the `apolline-flutter/assets/config_dev.json` file. - ## Structuration du projet -------------------------- diff --git a/README.md b/README.md index 48e1a0e6..516f35ac 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,16 @@ Capteur pris en charge: ---------- Le langage utilisé est Dart avec le framework Flutter. Qui nous permet d'avoir un seul code source pour les versions Android et Ios. -## Status du projet ------------------ +## Build instructions + +### Backend endpoint configuration + +Before running the application, you MUST generate endpoint configuration by running: +```shell script +dart scripts/configuration_generation.dart +``` +Then, you can set variables in the `apolline-flutter/assets/config_dev.json` file. + ### Captures d'écrans: From 2f7c17d413e254204719f3e47c01a257aa25950e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 11:06:43 +0200 Subject: [PATCH 283/522] [docs] adding build instructions to readme --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/README.md b/README.md index 516f35ac..0c48f240 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,39 @@ dart scripts/configuration_generation.dart ``` Then, you can set variables in the `apolline-flutter/assets/config_dev.json` file. +### Production build + +#### Android + +##### Manual build + +1. Create a keystore with an upload key (https://flutter.dev/docs/deployment/android#create-an-upload-keystore); +2. Move the keystore file as `android/app/upload-keystore.jks`; +3. Create `android/key.properties` file as such: +```text +storeFile=upload-keystore.jks +storePassword=$KEYSTORE_STORE_PASSWORD +keyAlias=$KEYSTORE_KEY_ALIAS +keyPassword=$KEYSTORE_KEY_PASSWORD +``` +4. Build the application with `flutter build apk` or `flutter build appbundle`. + +##### Automated build + +To make the CI build the application bundle and sign it, we need to upload it to GitHub as a secret. + +1. Encode the store with base64: `gpg -c --armor release.keystore`; +2. Upload both `release.keystore.asc` and associated password as GitHub secrets; +3. Use them as such in your CI workflow: +```text +# Create store file from secret +echo "${{ secrets.UPLOAD_KEYSTORE }}" > upload.keystore.asc + +# Decode store with encode key (the one you prompted with gpg -c) +gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.keystore.asc > app/upload-keystore.jks +``` + +A Medium article describing the procedure can be found here: https://stefma.medium.com/how-to-store-a-android-keystore-safely-on-github-actions-f0cef9413784 ### Captures d'écrans: From 7634ffe3cb0b0920fc71b2686286ab2ffa8287db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 11:18:44 +0200 Subject: [PATCH 284/522] [docs] fully rewriting readme in English --- README.md | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 0c48f240..5338353b 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,10 @@ # Apolline - Flutter -Application multi-plateforme pour la collecte des mesures de l'air à l'aide d'un capteur -Capteur pris en charge: +Air quality measures gathering multi-platform application. - - [LOA](http://www-loa.univ-lille1.fr/) capteur. +## Supported sensors -## Langage ----------- -Le langage utilisé est Dart avec le framework Flutter. Qui nous permet d'avoir un seul code source pour les versions Android et Ios. + - [LOA](http://www-loa.univ-lille1.fr/) sensor. ## Build instructions @@ -53,34 +50,14 @@ gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.k A Medium article describing the procedure can be found here: https://stefma.medium.com/how-to-store-a-android-keystore-safely-on-github-actions-f0cef9413784 -### Captures d'écrans: +## Screenshots | | | | |:-------------------------:|:-------------------------:|:-------------------------:| |screenshot_01|screenshot_02|screenshot_06| |screenshot_05|screenshot_04|screenshot_03| -
- -### Les librairies utilisées: -------------------- -- [flutter_blue](https://pub.dev/packages/flutter_blue) : Un plugin de Flutter pour se connecter et communiquer avec des appareils Bluetooth à faible consommation d'énergie, sur Android et iOS -- [syncfusion_flutter_gauges](https://pub.dev/packages/syncfusion_flutter_gauges): La bibliothèque de jauges Syncfusion de Flutter contient des widgets de visualisation de données tels que la jauge radiale, qui est écrite en fléchette, pour créer des jauges modernes, interactives et animées. -- [get_it](https://pub.dev/packages/get_it): Un simple Service Locator direct qui permet de découpler l'interface d'une implémentation concrète et d'accéder à l'implémentation concrète de partout dans l'applciation. -- [mp_chart](https://pub.dev/packages/mp_chart): Un ensemble de cartes de Flutter tout comme AndroidMPChart, applique une carte facile à utiliser pour le Flutter. -- [google_maps_flutter](https://pub.dev/packages/google_maps_flutter):Un plugin Flutter pour l'intégration de Google Maps dans les applications iOS et Android. Utilisé pour le map de l'application. -- [flutter_launcher_icons](https://pub.dev/packages/flutter_launcher_icons): Un paquet qui simplifie la tâche de mise à jour de l'icône du lanceur de votre application Flutter. -- [http](https://pub.dev/packages/http): Une API composable, multi-plateforme et basée sur le futur pour les requêtes HTTP. Utilisé pour le influxDB. -- [sqflite](https://pub.dev/packages/sqflite): Un plugin de Flutter pour SQLite, un moteur de base de données SQL intégré, autonome et très fiable. Utilisé pour stocker les données en local. -- [geolocator](https://pub.dev/packages/geolocator): Un plugin de géolocalisation pour Flutter. Ce plugin fournit une API multi-plateforme (iOS, Android) pour les fonctions de localisation générique (GPS, etc.). Utilisé pour récupuer la position (longitude et longitude). -- [geohash](https://pub.dev/packages/geohash): Une simple bibliothèque de geohashing pour les fléchettes. Utilisé pour décoder et encoder la postion(longitude et longitude). -- [global_configuration](https://pub.dev/packages/global_configuration): Un paquet de Flutter pour gérer les différentes configurations et les rendre disponibles partout dans l'application. - -
- -### Contributeurs ----------------- -Ordre alphabétique des noms: +## Student contributors - BARRY Issagha - GDISSA Ramy From b25734312576e16fe197fa0caab1d6b4d77ffa5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 12:00:38 +0200 Subject: [PATCH 285/522] [docs] adding install instructions to readme --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5338353b..274950b3 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,14 @@ Air quality measures gathering multi-platform application. -## Supported sensors +## Install - - [LOA](http://www-loa.univ-lille1.fr/) sensor. +```shell +cd apolline-flutter +flutter pub get +dart scripts/configuration_generation.dart # see backend endpoint configuration section below +flutter run +``` ## Build instructions @@ -50,6 +55,10 @@ gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.k A Medium article describing the procedure can be found here: https://stefma.medium.com/how-to-store-a-android-keystore-safely-on-github-actions-f0cef9413784 +## Supported sensors + +- [LOA](http://www-loa.univ-lille1.fr/) sensor. + ## Screenshots | | | | From 4a48a1f5366fcef2725a384dc94bf95327100a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 13:22:13 +0200 Subject: [PATCH 286/522] [fix] adjusting debug APKs paths in CI workflows --- .github/workflows/dev_release_ci.yml | 4 ++-- .github/workflows/flutter_ci.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_release_ci.yml b/.github/workflows/dev_release_ci.yml index 10df0678..f47d4071 100644 --- a/.github/workflows/dev_release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -81,12 +81,12 @@ jobs: uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: apolline-flutter/build/app/outputs/apk/release/app-release.apk + path: apolline-flutter/build/app/outputs/apk/debug/app-debug.apk - name: Publish release uses: ncipollo/release-action@v1 with: - artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" + artifacts: "apolline-flutter/build/app/outputs/apk/debug/app-debug.apk" token: ${{ secrets.GITHUB_TOKEN }} tag: android-dev-release allowUpdates: true diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 7565403d..0c25adfc 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -78,7 +78,7 @@ jobs: uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: apolline-flutter/build/app/outputs/apk/release/app-release.apk + path: apolline-flutter/build/app/outputs/apk/debug/app-debug.apk build-iOS: From 8e362cc52d9bb346416c22e2537b124c4bec6f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 14:11:52 +0200 Subject: [PATCH 287/522] [feat] using grant_and_activate package before devices scan --- .../lib/bluetoothDevicesPage.dart | 4 +- apolline-flutter/pubspec.lock | 49 +++++++++++++++++++ apolline-flutter/pubspec.yaml | 2 + 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index ba8eb76d..4c3f2e46 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -7,6 +7,8 @@ import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:grant_and_activate/grant_and_activate.dart'; +import 'package:grant_and_activate/utils/service.dart'; @@ -39,7 +41,7 @@ class _BluetoothDevicesPageState extends State { /// ///Permet de tester si le bluetooth est activé ou pas Future initializeDevice() async { - var isOn = await widget.flutterBlue.isOn; + bool isOn = await checkPermissionsAndActivateServices([Service.Bluetooth, Service.Location]); if (isOn) { _performDetection(); } else { diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 4db51488..f9a99da5 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -22,6 +22,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.5.0" + bluetooth_enable: + dependency: transitive + description: + name: bluetooth_enable + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.1" boolean_selector: dependency: transitive description: @@ -231,6 +238,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + grant_and_activate: + dependency: "direct main" + description: + path: "../../grant_and_activate" + relative: true + source: path + version: "0.0.1" http: dependency: "direct main" description: @@ -273,6 +287,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.6.3" + location: + dependency: transitive + description: + name: location + url: "https://pub.dartlang.org" + source: hosted + version: "4.3.0" + location_platform_interface: + dependency: transitive + description: + name: location_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.0" + location_web: + dependency: transitive + description: + name: location_web + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" matcher: dependency: transitive description: @@ -366,6 +401,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.11.1" + permission_handler: + dependency: transitive + description: + name: permission_handler + url: "https://pub.dartlang.org" + source: hosted + version: "8.1.4+2" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "3.6.1" petitparser: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 1192ec7a..695acdf4 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -46,6 +46,8 @@ dependencies: shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 + grant_and_activate: + path: ../../grant_and_activate From 573261e0a731919de9fcd32711c03e01629f6923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 15:46:45 +0200 Subject: [PATCH 288/522] [chore] using grant_and_activate package from pub.dev --- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index f9a99da5..aaddf262 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -241,9 +241,9 @@ packages: grant_and_activate: dependency: "direct main" description: - path: "../../grant_and_activate" - relative: true - source: path + name: grant_and_activate + url: "https://pub.dartlang.org" + source: hosted version: "0.0.1" http: dependency: "direct main" diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 695acdf4..0d10ad6a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -46,8 +46,7 @@ dependencies: shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 - grant_and_activate: - path: ../../grant_and_activate + grant_and_activate: ^0.0.1 From 185c75f67219770ed30ea570e7e881f50c1a2f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 15:47:14 +0200 Subject: [PATCH 289/522] [feat] checking bluetooth and geolocation before devices scans --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 4c3f2e46..cdd87e4e 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -8,7 +8,7 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:grant_and_activate/grant_and_activate.dart'; -import 'package:grant_and_activate/utils/service.dart'; +import 'package:grant_and_activate/utils/classes.dart'; @@ -41,8 +41,8 @@ class _BluetoothDevicesPageState extends State { /// ///Permet de tester si le bluetooth est activé ou pas Future initializeDevice() async { - bool isOn = await checkPermissionsAndActivateServices([Service.Bluetooth, Service.Location]); - if (isOn) { + Result result = await checkPermissionsAndActivateServices([Feature.Bluetooth, Feature.Location]); + if (result.allOk) { _performDetection(); } else { showDialogBluetooth(); From abcfc231a5c76870a520dd74594f085da05572a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Sep 2021 15:58:47 +0200 Subject: [PATCH 290/522] [refactor] displaying a dialog if one feature is missing --- apolline-flutter/assets/translations/en-GB.json | 4 ++-- apolline-flutter/assets/translations/fr-FR.json | 4 ++-- apolline-flutter/lib/bluetoothDevicesPage.dart | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 11b612b0..7d202d19 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -1,8 +1,8 @@ { "devicesView": { "title": "Apolline - Sensors", - "bluetoothPopUp": { - "title": "Bluetooth is disabled", + "permissionsPopUp": { + "title": "Missing permissions", "message": "Activate both Bluetooth and geolocation to detect devices." }, "pairedDevicesLabel": "Paired devices", diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index ccb3f889..32ce3f45 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -1,8 +1,8 @@ { "devicesView": { "title": "Apolline - Capteurs", - "bluetoothPopUp": { - "title": "Bluetooth désactivé", + "permissionsPopUp": { + "title": "Permissions insuffisantes", "message": "Activez le Bluetooth et la géolocalisation pour permettre la détection de périphériques." }, "pairedDevicesLabel": "Périphériques appairés", diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index cdd87e4e..d8467ccf 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -45,13 +45,13 @@ class _BluetoothDevicesPageState extends State { if (result.allOk) { _performDetection(); } else { - showDialogBluetooth(); + showPermissionsDialog(); } } /// - ///Afficher un message pour activer le bluetooth - void showDialogBluetooth() { + ///Afficher un message pour activer le bluetooth et la geoloc + void showPermissionsDialog() { Widget okbtn = TextButton( child: Text("OK"), onPressed: () { @@ -60,8 +60,8 @@ class _BluetoothDevicesPageState extends State { ); AlertDialog alert = AlertDialog( - title: Text("devicesView.bluetoothPopUp.title").tr(), - content: Text("devicesView.bluetoothPopUp.message").tr(), + title: Text("devicesView.permissionsPopUp.title").tr(), + content: Text("devicesView.permissionsPopUp.message").tr(), actions: [okbtn], ); From 75de922d72f86fc683a1e18e2356320e22275fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 11:23:47 +0200 Subject: [PATCH 291/522] [feat] adding settings bottom sheet --- .../lib/bluetoothDevicesPage.dart | 7 ++- apolline-flutter/lib/settings_view.dart | 43 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 apolline-flutter/lib/settings_view.dart diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d8467ccf..ae3c91bf 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/sensor_view.dart'; +import 'package:apollineflutter/settings_view.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:apollineflutter/widgets/device_card.dart'; import 'package:flutter/material.dart'; @@ -271,7 +272,11 @@ class _BluetoothDevicesPageState extends State { padding: EdgeInsets.all(10) ) ) - ) + ), + floatingActionButton: FloatingActionButton( + child: Icon(Icons.settings), + onPressed: () => showModalBottomSheet(context: context, builder: (context) => SettingsPanel()), + ), ); } } diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart new file mode 100644 index 00000000..f039ebb8 --- /dev/null +++ b/apolline-flutter/lib/settings_view.dart @@ -0,0 +1,43 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class SettingsPanel extends StatefulWidget { + final EdgeInsets padding = EdgeInsets.symmetric(horizontal: 20, vertical: 10); + @override + State createState() => _SettingsPanelState(); +} + +class _SettingsPanelState extends State { + @override + Widget build(BuildContext context) { + return Container( + padding: widget.padding, + child: Wrap( + children: [ + Card( + child: Wrap( + children: [ + Text("PM1"), + ListTile( + title: Text("Warning threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + expands: false, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "15", + suffix: Text("µm/m³") + ), + ), + ), + ) + ], + ) + ) + ], + ), + ); + } +} \ No newline at end of file From e65d88e2824e685fa2e0a073cda5e36848c3ec71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 11:42:31 +0200 Subject: [PATCH 292/522] [fix] always displaying number input suffix --- apolline-flutter/lib/settings_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index f039ebb8..b2c1abbc 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -28,7 +28,7 @@ class _SettingsPanelState extends State { decoration: InputDecoration( border: InputBorder.none, hintText: "15", - suffix: Text("µm/m³") + suffixIcon: Text("µm/m³") ), ), ), From c7dbb776b4c89137990c774b8ff845af14947270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 11:49:09 +0200 Subject: [PATCH 293/522] [feat] adding PM1 danger threshold card --- apolline-flutter/lib/settings_view.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index b2c1abbc..f1d7a2ca 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -32,6 +32,21 @@ class _SettingsPanelState extends State { ), ), ), + ), + ListTile( + title: Text("Danger threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + expands: false, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "30", + suffixIcon: Text("µm/m³") + ), + ), + ), ) ], ) From 0a356d21ecea297908b673f4ce9f23f817451005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 11:58:05 +0200 Subject: [PATCH 294/522] [feat] adjusting card title style --- apolline-flutter/lib/settings_view.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index f1d7a2ca..5a87d2f1 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -17,7 +17,13 @@ class _SettingsPanelState extends State { Card( child: Wrap( children: [ - Text("PM1"), + Container( + padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), + child: Text("PM1", style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold + )) + ), ListTile( title: Text("Warning threshold"), trailing: Container( From f4b8f636e518c0ba4d8f8cc85ded98213d28f039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 12:00:53 +0200 Subject: [PATCH 295/522] [refactor] exporting card build in dedicated method --- apolline-flutter/lib/settings_view.dart | 90 +++++++++++++------------ 1 file changed, 47 insertions(+), 43 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 5a87d2f1..d7d371df 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -14,51 +14,55 @@ class _SettingsPanelState extends State { padding: widget.padding, child: Wrap( children: [ - Card( - child: Wrap( - children: [ - Container( - padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text("PM1", style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold - )) - ), - ListTile( - title: Text("Warning threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - expands: false, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "15", - suffixIcon: Text("µm/m³") - ), - ), - ), - ), - ListTile( - title: Text("Danger threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - expands: false, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "30", - suffixIcon: Text("µm/m³") - ), - ), - ), - ) - ], - ) - ) + _buildPM1Card() ], ), ); } +} + +Widget _buildPM1Card () { + return Card( + child: Wrap( + children: [ + Container( + padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), + child: Text("PM1", style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold + )) + ), + ListTile( + title: Text("Warning threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + expands: false, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "15", + suffixIcon: Text("µm/m³") + ), + ), + ), + ), + ListTile( + title: Text("Danger threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + expands: false, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "30", + suffixIcon: Text("µm/m³") + ), + ), + ), + ) + ], + ) + ); } \ No newline at end of file From 8d1bd8eb43489c76da0626556bd8326f4ecea6d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 12:56:51 +0200 Subject: [PATCH 296/522] [feat] number inputs are limited to 3 digits maximum --- apolline-flutter/lib/settings_view.dart | 96 +++++++++++++------------ 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index d7d371df..26dd62d9 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,13 +1,63 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.symmetric(horizontal: 20, vertical: 10); + final List formatters = + [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; + @override State createState() => _SettingsPanelState(); } class _SettingsPanelState extends State { + Widget _buildPM1Card () { + return Card( + child: Wrap( + children: [ + Container( + padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), + child: Text("PM1", style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold + )) + ), + ListTile( + title: Text("Warning threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "15", + suffixIcon: Text("µm/m³") + ), + ), + ), + ), + ListTile( + title: Text("Danger threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "30", + suffixIcon: Text("µm/m³") + ), + ), + ), + ) + ], + ) + ); + } + @override Widget build(BuildContext context) { return Container( @@ -19,50 +69,4 @@ class _SettingsPanelState extends State { ), ); } -} - -Widget _buildPM1Card () { - return Card( - child: Wrap( - children: [ - Container( - padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text("PM1", style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold - )) - ), - ListTile( - title: Text("Warning threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - expands: false, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "15", - suffixIcon: Text("µm/m³") - ), - ), - ), - ), - ListTile( - title: Text("Danger threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - expands: false, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "30", - suffixIcon: Text("µm/m³") - ), - ), - ), - ) - ], - ) - ); } \ No newline at end of file From 995ea24db6a575f0d126df083649e374ea484073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 13:11:17 +0200 Subject: [PATCH 297/522] [feat] PM card is built from PM indicator --- apolline-flutter/lib/settings_view.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 26dd62d9..0c8f4542 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,3 +1,4 @@ +import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -12,13 +13,13 @@ class SettingsPanel extends StatefulWidget { } class _SettingsPanelState extends State { - Widget _buildPM1Card () { + Widget _buildPMCard (PMFilter indicator) { return Card( child: Wrap( children: [ Container( padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text("PM1", style: TextStyle( + child: Text("$indicator", style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold )) @@ -64,7 +65,7 @@ class _SettingsPanelState extends State { padding: widget.padding, child: Wrap( children: [ - _buildPM1Card() + _buildPMCard(PMFilter.PM_1) ], ), ); From dd2ae24fb6a8b817c0cafe708dbdf7449a2f8962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 13:18:01 +0200 Subject: [PATCH 298/522] [feat] PM indicators labels can be accessed individually --- apolline-flutter/lib/settings_view.dart | 3 ++- apolline-flutter/lib/utils/pm_filter.dart | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 0c8f4542..83568efd 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -19,7 +20,7 @@ class _SettingsPanelState extends State { children: [ Container( padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text("$indicator", style: TextStyle( + child: Text(indicator.getLabel().tr(), style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold )) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index b8cf4642..69b9d2b0 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -51,6 +51,12 @@ extension PMFilterUtils on PMFilter { return PMFilterUtils._values[this].dataRowIndex; } + String getLabel () { + if (PMFilterUtils._values[this] == null) + throw RangeError("This PMFilter has no associated row index."); + return PMFilterUtils._values[this].label; + } + static List getLabels () { return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label.tr()).toList(); } From d0387d4e461a93cad3440dca861d47dd667873a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 13:21:51 +0200 Subject: [PATCH 299/522] [feat] generating cards for all PM indicator values --- apolline-flutter/lib/settings_view.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 83568efd..8c5d0795 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -60,14 +60,16 @@ class _SettingsPanelState extends State { ); } + List _buildAllPMCards () { + return PMFilter.values.map((value) => _buildPMCard(value)).toList(); + } + @override Widget build(BuildContext context) { return Container( padding: widget.padding, child: Wrap( - children: [ - _buildPMCard(PMFilter.PM_1) - ], + children: _buildAllPMCards(), ), ); } From df6b0ec5d340df8577671828ede3af2b3654c241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 13:33:01 +0200 Subject: [PATCH 300/522] [fix] cards list is scrollable --- apolline-flutter/lib/settings_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 8c5d0795..e5cfe601 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -68,7 +68,7 @@ class _SettingsPanelState extends State { Widget build(BuildContext context) { return Container( padding: widget.padding, - child: Wrap( + child: ListView( children: _buildAllPMCards(), ), ); From 4479e5f6516f64301c6707f20b22bdc8e1b066fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 13:44:35 +0200 Subject: [PATCH 301/522] [fix] adjusting cards padding --- apolline-flutter/lib/settings_view.dart | 77 +++++++++++++------------ 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index e5cfe601..9a4e6cfe 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class SettingsPanel extends StatefulWidget { - final EdgeInsets padding = EdgeInsets.symmetric(horizontal: 20, vertical: 10); + final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); final List formatters = [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; @@ -16,47 +16,48 @@ class SettingsPanel extends StatefulWidget { class _SettingsPanelState extends State { Widget _buildPMCard (PMFilter indicator) { return Card( - child: Wrap( - children: [ - Container( - padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text(indicator.getLabel().tr(), style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold - )) - ), - ListTile( - title: Text("Warning threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - inputFormatters: widget.formatters, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "15", - suffixIcon: Text("µm/m³") - ), + margin: EdgeInsets.only(bottom: 20), + child: Wrap( + children: [ + Container( + padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), + child: Text(indicator.getLabel().tr(), style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold + )) + ), + ListTile( + title: Text("Warning threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "15", + suffixIcon: Text("µm/m³") ), ), ), - ListTile( - title: Text("Danger threshold"), - trailing: Container( - width: 80, - child: TextField( - keyboardType: TextInputType.number, - inputFormatters: widget.formatters, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "30", - suffixIcon: Text("µm/m³") - ), + ), + ListTile( + title: Text("Danger threshold"), + trailing: Container( + width: 80, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "30", + suffixIcon: Text("µm/m³") ), ), - ) - ], - ) + ), + ) + ], + ) ); } @@ -67,9 +68,9 @@ class _SettingsPanelState extends State { @override Widget build(BuildContext context) { return Container( - padding: widget.padding, child: ListView( children: _buildAllPMCards(), + padding: widget.padding ), ); } From 8d6a4b1caaedc7575faee2ab1deb01b41bac41f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 14:35:40 +0200 Subject: [PATCH 302/522] [fix] PMFilter has labelKey field --- apolline-flutter/lib/settings_view.dart | 2 +- apolline-flutter/lib/utils/pm_filter.dart | 28 +++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 9a4e6cfe..5e0475f8 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -21,7 +21,7 @@ class _SettingsPanelState extends State { children: [ Container( padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text(indicator.getLabel().tr(), style: TextStyle( + child: Text(indicator.getLabelKey().tr(), style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold )) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 69b9d2b0..1ce1eff6 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -26,22 +26,22 @@ enum PMFilter { } class _PMFilterValues { - final String label; + final String labelKey; final int dataRowIndex; - _PMFilterValues({@required this.label, @required this.dataRowIndex}); + _PMFilterValues({@required this.labelKey, @required this.dataRowIndex}); } extension PMFilterUtils on PMFilter { static final Map _values = { - PMFilter.PM_1: _PMFilterValues(label: "mapView.sizeFilters.PM1", dataRowIndex: DataPointModel.SENSOR_PM_1), - PMFilter.PM_2_5: _PMFilterValues(label: "mapView.sizeFilters.PM25", dataRowIndex: DataPointModel.SENSOR_PM_2_5), - PMFilter.PM_10: _PMFilterValues(label: "mapView.sizeFilters.PM10", dataRowIndex: DataPointModel.SENSOR_PM_10), - PMFilter.PM_ABOVE_0_3: _PMFilterValues(label: "mapView.sizeFilters.abovePM03", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), - PMFilter.PM_ABOVE_0_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM05", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), - PMFilter.PM_ABOVE_1: _PMFilterValues(label: "mapView.sizeFilters.abovePM1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), - PMFilter.PM_ABOVE_2_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM25", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), - PMFilter.PM_ABOVE_5: _PMFilterValues(label: "mapView.sizeFilters.abovePM5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), - PMFilter.PM_ABOVE_10: _PMFilterValues(label: "mapView.sizeFilters.abovePM10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) + PMFilter.PM_1: _PMFilterValues(labelKey: "mapView.sizeFilters.PM1", dataRowIndex: DataPointModel.SENSOR_PM_1), + PMFilter.PM_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.PM25", dataRowIndex: DataPointModel.SENSOR_PM_2_5), + PMFilter.PM_10: _PMFilterValues(labelKey: "mapView.sizeFilters.PM10", dataRowIndex: DataPointModel.SENSOR_PM_10), + PMFilter.PM_ABOVE_0_3: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM03", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), + PMFilter.PM_ABOVE_0_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM05", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), + PMFilter.PM_ABOVE_1: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), + PMFilter.PM_ABOVE_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM25", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), + PMFilter.PM_ABOVE_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), + PMFilter.PM_ABOVE_10: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) }; @@ -51,13 +51,13 @@ extension PMFilterUtils on PMFilter { return PMFilterUtils._values[this].dataRowIndex; } - String getLabel () { + String getLabelKey () { if (PMFilterUtils._values[this] == null) throw RangeError("This PMFilter has no associated row index."); - return PMFilterUtils._values[this].label; + return PMFilterUtils._values[this].labelKey; } static List getLabels () { - return PMFilter.values.map((filter) => PMFilterUtils._values[filter].label.tr()).toList(); + return PMFilter.values.map((filter) => PMFilterUtils._values[filter].labelKey.tr()).toList(); } } \ No newline at end of file From 3c50f0c69483cffd13b9236deeb2fde8ff3d0b1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 14:53:24 +0200 Subject: [PATCH 303/522] [feat] PMFilter has warning and danger thresholds --- apolline-flutter/lib/utils/pm_filter.dart | 27 ++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 1ce1eff6..8c3fa8f5 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -28,20 +28,27 @@ enum PMFilter { class _PMFilterValues { final String labelKey; final int dataRowIndex; - _PMFilterValues({@required this.labelKey, @required this.dataRowIndex}); + final int warningThreshold; + final int dangerThreshold; + _PMFilterValues({ + @required this.labelKey, + @required this.dataRowIndex, + @required this.warningThreshold, + @required this.dangerThreshold + }); } extension PMFilterUtils on PMFilter { static final Map _values = { - PMFilter.PM_1: _PMFilterValues(labelKey: "mapView.sizeFilters.PM1", dataRowIndex: DataPointModel.SENSOR_PM_1), - PMFilter.PM_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.PM25", dataRowIndex: DataPointModel.SENSOR_PM_2_5), - PMFilter.PM_10: _PMFilterValues(labelKey: "mapView.sizeFilters.PM10", dataRowIndex: DataPointModel.SENSOR_PM_10), - PMFilter.PM_ABOVE_0_3: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM03", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3), - PMFilter.PM_ABOVE_0_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM05", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5), - PMFilter.PM_ABOVE_1: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1), - PMFilter.PM_ABOVE_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM25", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5), - PMFilter.PM_ABOVE_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5), - PMFilter.PM_ABOVE_10: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10) + PMFilter.PM_1: _PMFilterValues(labelKey: "mapView.sizeFilters.PM1", dataRowIndex: DataPointModel.SENSOR_PM_1, warningThreshold: 10, dangerThreshold: 20), + PMFilter.PM_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.PM25", dataRowIndex: DataPointModel.SENSOR_PM_2_5, warningThreshold: 10, dangerThreshold: 20), + PMFilter.PM_10: _PMFilterValues(labelKey: "mapView.sizeFilters.PM10", dataRowIndex: DataPointModel.SENSOR_PM_10, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_0_3: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM03", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_3, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_0_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM05", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_0_5, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_1: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM1", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_1, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_2_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM25", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_2_5, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_5: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM5", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_5, warningThreshold: 30, dangerThreshold: 50), + PMFilter.PM_ABOVE_10: _PMFilterValues(labelKey: "mapView.sizeFilters.abovePM10", dataRowIndex: DataPointModel.SENSOR_PM_ABOVE_10, warningThreshold: 30, dangerThreshold: 50) }; From c58e86b84d84ef35e1952a6d6cf4fcd7a2c590c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 16:04:29 +0200 Subject: [PATCH 304/522] [feat] PM thresholds are stored as user preferences --- .../lib/models/user_configuration.dart | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 9eb07a1d..85081fff 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/time_filter.dart'; @@ -10,31 +12,54 @@ class UserConfiguration { TimeFilter _timeFilter; ///which PM data to display PMFilter _pmFilter; + ///pm size concentration limits + Map> _thresholdsValues; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; static const String PM_FILTER_KEY = "pmFilterValue"; + static const String THRESHOLDS_KEY = "thresholdsValue"; /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5, Map thresholds}) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; + this._thresholdsValues = { + PMFilter.PM_1: [10, 25] + }; } /// ///Constructor from json - UserConfiguration.fromJson(Map json) { - this._timeFilter = TimeFilter.values[json[UserConfiguration.TIME_FILTER_KEY]]; - this._pmFilter = PMFilter.values[json[UserConfiguration.PM_FILTER_KEY]]; + UserConfiguration.fromJson(Map jsonMap) { + this._timeFilter = TimeFilter.values[jsonMap[UserConfiguration.TIME_FILTER_KEY]]; + this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; + + Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); + Map> thresholds = Map(); + print(values); + values.forEach((key, value) { + thresholds.putIfAbsent(PMFilter.values[int.parse(key)], () => value.cast()); + }); + + this._thresholdsValues = thresholds; + print(this._thresholdsValues); } /// ///formate class to json. Map toJson() { + var jsonValues = {}; + this._thresholdsValues.keys.forEach((element) { + jsonValues[element.index.toString()] = this._thresholdsValues[element]; + }); + print(json.encode(jsonValues)); + return { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, - UserConfiguration.PM_FILTER_KEY: this._pmFilter.index + UserConfiguration.PM_FILTER_KEY: this._pmFilter.index, + UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues) }; } From c0f0c9bdc2c596fea0e6fbf3d55c3276b6577aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 16:17:56 +0200 Subject: [PATCH 305/522] [feat] using default thresholds when user config does not exist --- apolline-flutter/lib/models/user_configuration.dart | 9 +++------ apolline-flutter/lib/utils/pm_filter.dart | 8 ++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 85081fff..0f340ec6 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -25,9 +25,9 @@ class UserConfiguration { UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5, Map thresholds}) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; - this._thresholdsValues = { - PMFilter.PM_1: [10, 25] - }; + this._thresholdsValues = thresholds == null || thresholds.keys.length == 0 + ? PMFilterUtils.getThresholds() + : thresholds; } /// @@ -38,13 +38,11 @@ class UserConfiguration { Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); Map> thresholds = Map(); - print(values); values.forEach((key, value) { thresholds.putIfAbsent(PMFilter.values[int.parse(key)], () => value.cast()); }); this._thresholdsValues = thresholds; - print(this._thresholdsValues); } /// @@ -54,7 +52,6 @@ class UserConfiguration { this._thresholdsValues.keys.forEach((element) { jsonValues[element.index.toString()] = this._thresholdsValues[element]; }); - print(json.encode(jsonValues)); return { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, diff --git a/apolline-flutter/lib/utils/pm_filter.dart b/apolline-flutter/lib/utils/pm_filter.dart index 8c3fa8f5..f86dc458 100644 --- a/apolline-flutter/lib/utils/pm_filter.dart +++ b/apolline-flutter/lib/utils/pm_filter.dart @@ -67,4 +67,12 @@ extension PMFilterUtils on PMFilter { static List getLabels () { return PMFilter.values.map((filter) => PMFilterUtils._values[filter].labelKey.tr()).toList(); } + + static Map> getThresholds () { + Map> values = Map(); + PMFilterUtils._values.forEach((filter, fValues) { + values.putIfAbsent(filter, () => [fValues.warningThreshold, fValues.dangerThreshold]); + }); + return values; + } } \ No newline at end of file From e949c1451322362c089fa2d4d1c6de229df7afea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 16:23:51 +0200 Subject: [PATCH 306/522] [feat] settings cards display thresholds values from user configuration --- apolline-flutter/lib/models/user_configuration.dart | 4 ++++ apolline-flutter/lib/settings_view.dart | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 0f340ec6..d6a0a013 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -83,4 +83,8 @@ class UserConfiguration { set timeFilter(TimeFilter filter) { this._timeFilter = filter; } + + List getThresholds (PMFilter filter) { + return this._thresholdsValues[filter]; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 5e0475f8..bfa28e2f 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,3 +1,5 @@ +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; @@ -8,6 +10,7 @@ class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); final List formatters = [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; + final UserConfigurationService ucS = locator(); @override State createState() => _SettingsPanelState(); @@ -33,6 +36,7 @@ class _SettingsPanelState extends State { child: TextField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, + controller: TextEditingController.fromValue(TextEditingValue(text: widget.ucS.userConf.getThresholds(indicator)[0].toString())), decoration: InputDecoration( border: InputBorder.none, hintText: "15", @@ -48,6 +52,7 @@ class _SettingsPanelState extends State { child: TextField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, + controller: TextEditingController.fromValue(TextEditingValue(text: widget.ucS.userConf.getThresholds(indicator)[1].toString())), decoration: InputDecoration( border: InputBorder.none, hintText: "30", From b15762ccf02b1a4a0a20eb236690f0562809c807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 7 Sep 2021 16:45:35 +0200 Subject: [PATCH 307/522] [feat] cards thresholds are now updatable --- apolline-flutter/lib/settings_view.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index bfa28e2f..5ca730c7 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -18,6 +18,8 @@ class SettingsPanel extends StatefulWidget { class _SettingsPanelState extends State { Widget _buildPMCard (PMFilter indicator) { + List initialThresholdsValues = widget.ucS.userConf.getThresholds(indicator); + return Card( margin: EdgeInsets.only(bottom: 20), child: Wrap( @@ -33,10 +35,10 @@ class _SettingsPanelState extends State { title: Text("Warning threshold"), trailing: Container( width: 80, - child: TextField( + child: TextFormField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, - controller: TextEditingController.fromValue(TextEditingValue(text: widget.ucS.userConf.getThresholds(indicator)[0].toString())), + initialValue: initialThresholdsValues[0].toString(), decoration: InputDecoration( border: InputBorder.none, hintText: "15", @@ -49,10 +51,10 @@ class _SettingsPanelState extends State { title: Text("Danger threshold"), trailing: Container( width: 80, - child: TextField( + child: TextFormField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, - controller: TextEditingController.fromValue(TextEditingValue(text: widget.ucS.userConf.getThresholds(indicator)[1].toString())), + initialValue: initialThresholdsValues[1].toString(), decoration: InputDecoration( border: InputBorder.none, hintText: "30", From 5da634701f718273d9467cc1b8b361f31f39287e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 11:11:26 +0200 Subject: [PATCH 308/522] [feat] threshold values can be updated in user configuration --- apolline-flutter/lib/models/user_configuration.dart | 4 ++++ apolline-flutter/lib/settings_view.dart | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index d6a0a013..60c9f43b 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -87,4 +87,8 @@ class UserConfiguration { List getThresholds (PMFilter filter) { return this._thresholdsValues[filter]; } + + void updatePMThreshold (PMFilter filter, int thresholdIndex, int newValue) { + this._thresholdsValues[filter][thresholdIndex] = newValue; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 5ca730c7..6f28e671 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -39,6 +39,9 @@ class _SettingsPanelState extends State { keyboardType: TextInputType.number, inputFormatters: widget.formatters, initialValue: initialThresholdsValues[0].toString(), + onFieldSubmitted: (value) { + widget.ucS.userConf.updatePMThreshold(indicator, 0, int.parse(value)); + }, decoration: InputDecoration( border: InputBorder.none, hintText: "15", @@ -55,6 +58,9 @@ class _SettingsPanelState extends State { keyboardType: TextInputType.number, inputFormatters: widget.formatters, initialValue: initialThresholdsValues[1].toString(), + onFieldSubmitted: (value) { + widget.ucS.userConf.updatePMThreshold(indicator, 1, int.parse(value)); + }, decoration: InputDecoration( border: InputBorder.none, hintText: "30", From 86c65e3bf8b63e7112837640b37673f9c4237075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 11:26:09 +0200 Subject: [PATCH 309/522] [fix] user configuration is saved when a threshold is updated --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/settings_view.dart | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index ae3c91bf..5c9c5d17 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -275,7 +275,7 @@ class _BluetoothDevicesPageState extends State { ), floatingActionButton: FloatingActionButton( child: Icon(Icons.settings), - onPressed: () => showModalBottomSheet(context: context, builder: (context) => SettingsPanel()), + onPressed: () => showModalBottomSheet(context: context, builder: (context) => SettingsPanel(ucS: ucS,)), ), ); } diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 6f28e671..dee9f74c 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,4 +1,3 @@ -import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -10,7 +9,9 @@ class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); final List formatters = [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; - final UserConfigurationService ucS = locator(); + final UserConfigurationService ucS; + + SettingsPanel({@required this.ucS}); @override State createState() => _SettingsPanelState(); @@ -41,6 +42,7 @@ class _SettingsPanelState extends State { initialValue: initialThresholdsValues[0].toString(), onFieldSubmitted: (value) { widget.ucS.userConf.updatePMThreshold(indicator, 0, int.parse(value)); + widget.ucS.update(); }, decoration: InputDecoration( border: InputBorder.none, @@ -60,6 +62,7 @@ class _SettingsPanelState extends State { initialValue: initialThresholdsValues[1].toString(), onFieldSubmitted: (value) { widget.ucS.userConf.updatePMThreshold(indicator, 1, int.parse(value)); + widget.ucS.update(); }, decoration: InputDecoration( border: InputBorder.none, From b8998928a3fb1b1cb53ae1730accd552ed33a334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 14:39:24 +0200 Subject: [PATCH 310/522] [refactor] PM card widget has been exported to dedicated package --- apolline-flutter/lib/settings_view.dart | 65 +--------------- apolline-flutter/lib/widgets/pm_card.dart | 91 +++++++++++++++++++++++ 2 files changed, 93 insertions(+), 63 deletions(-) create mode 100644 apolline-flutter/lib/widgets/pm_card.dart diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index dee9f74c..a88d24a1 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,14 +1,11 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:apollineflutter/widgets/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; -import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); - final List formatters = - [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; final UserConfigurationService ucS; SettingsPanel({@required this.ucS}); @@ -18,67 +15,9 @@ class SettingsPanel extends StatefulWidget { } class _SettingsPanelState extends State { - Widget _buildPMCard (PMFilter indicator) { - List initialThresholdsValues = widget.ucS.userConf.getThresholds(indicator); - - return Card( - margin: EdgeInsets.only(bottom: 20), - child: Wrap( - children: [ - Container( - padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), - child: Text(indicator.getLabelKey().tr(), style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold - )) - ), - ListTile( - title: Text("Warning threshold"), - trailing: Container( - width: 80, - child: TextFormField( - keyboardType: TextInputType.number, - inputFormatters: widget.formatters, - initialValue: initialThresholdsValues[0].toString(), - onFieldSubmitted: (value) { - widget.ucS.userConf.updatePMThreshold(indicator, 0, int.parse(value)); - widget.ucS.update(); - }, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "15", - suffixIcon: Text("µm/m³") - ), - ), - ), - ), - ListTile( - title: Text("Danger threshold"), - trailing: Container( - width: 80, - child: TextFormField( - keyboardType: TextInputType.number, - inputFormatters: widget.formatters, - initialValue: initialThresholdsValues[1].toString(), - onFieldSubmitted: (value) { - widget.ucS.userConf.updatePMThreshold(indicator, 1, int.parse(value)); - widget.ucS.update(); - }, - decoration: InputDecoration( - border: InputBorder.none, - hintText: "30", - suffixIcon: Text("µm/m³") - ), - ), - ), - ) - ], - ) - ); - } List _buildAllPMCards () { - return PMFilter.values.map((value) => _buildPMCard(value)).toList(); + return PMFilter.values.map((value) => PMCard(ucS: widget.ucS, indicator: value)).toList(); } @override diff --git a/apolline-flutter/lib/widgets/pm_card.dart b/apolline-flutter/lib/widgets/pm_card.dart new file mode 100644 index 00000000..c193ce63 --- /dev/null +++ b/apolline-flutter/lib/widgets/pm_card.dart @@ -0,0 +1,91 @@ +import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + + +class PMCard extends StatefulWidget { + final UserConfigurationService ucS; + final PMFilter indicator; + final List formatters = + [TextInputFormatter.withFunction((oldValue, newValue) => newValue.text.length > 3 ? oldValue : newValue)]; + PMCard({@required this.ucS, @required this.indicator}); + + @override + State createState() => _PMCardState(); +} + + +class _PMCardState extends State { + int warningThresholdValue = 0; + int dangerThresholdValue = 0; + + @override + void initState() { + List initialThresholdsValues = widget.ucS.userConf.getThresholds(widget.indicator); + warningThresholdValue = initialThresholdsValues[0]; + dangerThresholdValue = initialThresholdsValues[1]; + super.initState(); + } + + @override + Widget build(BuildContext context) { + + return Card( + margin: EdgeInsets.only(bottom: 20), + child: Wrap( + children: [ + Container( + padding: EdgeInsets.only(left: 15, top: 10, bottom: 20), + child: Text(widget.indicator.getLabelKey().tr(), style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold + )) + ), + ListTile( + title: Text("Warning threshold"), + trailing: Container( + width: 80, + child: TextFormField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + initialValue: warningThresholdValue.toString(), + onFieldSubmitted: (value) { + widget.ucS.userConf.updatePMThreshold(widget.indicator, 0, int.parse(value)); + widget.ucS.update(); + }, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "15", + suffixIcon: Text("µm/m³") + ), + ), + ), + ), + ListTile( + title: Text("Danger threshold"), + trailing: Container( + width: 80, + child: TextFormField( + keyboardType: TextInputType.number, + inputFormatters: widget.formatters, + initialValue: dangerThresholdValue.toString(), + onFieldSubmitted: (value) { + widget.ucS.userConf.updatePMThreshold(widget.indicator, 1, int.parse(value)); + widget.ucS.update(); + }, + decoration: InputDecoration( + border: InputBorder.none, + hintText: "30", + suffixIcon: Text("µm/m³") + ), + ), + ), + ) + ], + ) + ); + } +} \ No newline at end of file From b6a6eea0f7465a1c0c71d1dd9384448dc0b2536e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 14:53:59 +0200 Subject: [PATCH 311/522] [feat] warning messages are displayed when warning value is superior to danger value --- apolline-flutter/lib/settings_view.dart | 2 +- .../lib/{widgets => utils}/pm_card.dart | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) rename apolline-flutter/lib/{widgets => utils}/pm_card.dart (79%) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index a88d24a1..8c335099 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,5 +1,5 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; -import 'package:apollineflutter/widgets/pm_card.dart'; +import 'package:apollineflutter/utils/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; diff --git a/apolline-flutter/lib/widgets/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart similarity index 79% rename from apolline-flutter/lib/widgets/pm_card.dart rename to apolline-flutter/lib/utils/pm_card.dart index c193ce63..0b8ea45d 100644 --- a/apolline-flutter/lib/widgets/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -21,6 +21,8 @@ class PMCard extends StatefulWidget { class _PMCardState extends State { int warningThresholdValue = 0; int dangerThresholdValue = 0; + bool isWarningValueCorrect = true; + bool isDangerValueCorrect = true; @override void initState() { @@ -46,11 +48,18 @@ class _PMCardState extends State { ), ListTile( title: Text("Warning threshold"), + subtitle: isWarningValueCorrect ? null : Text("Warning threshold value must be inferior than danger threshold."), trailing: Container( width: 80, child: TextFormField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, + onChanged: (value) { + if (value.isEmpty) return; + setState(() { + isWarningValueCorrect = int.parse(value) < dangerThresholdValue; + }); + }, initialValue: warningThresholdValue.toString(), onFieldSubmitted: (value) { widget.ucS.userConf.updatePMThreshold(widget.indicator, 0, int.parse(value)); @@ -66,11 +75,18 @@ class _PMCardState extends State { ), ListTile( title: Text("Danger threshold"), + subtitle: isDangerValueCorrect ? null : Text("Danger threshold value must be superior to warning threshold."), trailing: Container( width: 80, child: TextFormField( keyboardType: TextInputType.number, inputFormatters: widget.formatters, + onChanged: (value) { + if (value.isEmpty) return; + setState(() { + isDangerValueCorrect = int.parse(value) > warningThresholdValue; + }); + }, initialValue: dangerThresholdValue.toString(), onFieldSubmitted: (value) { widget.ucS.userConf.updatePMThreshold(widget.indicator, 1, int.parse(value)); From 7a605338e2977a21eab4968227e5f7a0728d4e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 15:41:59 +0200 Subject: [PATCH 312/522] [fix] correctly updating PM card thresholds values in state --- apolline-flutter/lib/utils/pm_card.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 0b8ea45d..1cd3fc43 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -58,10 +58,15 @@ class _PMCardState extends State { if (value.isEmpty) return; setState(() { isWarningValueCorrect = int.parse(value) < dangerThresholdValue; + isDangerValueCorrect = true; }); }, initialValue: warningThresholdValue.toString(), onFieldSubmitted: (value) { + if (value.isEmpty) return; + setState(() { + warningThresholdValue = int.parse(value); + }); widget.ucS.userConf.updatePMThreshold(widget.indicator, 0, int.parse(value)); widget.ucS.update(); }, @@ -85,10 +90,15 @@ class _PMCardState extends State { if (value.isEmpty) return; setState(() { isDangerValueCorrect = int.parse(value) > warningThresholdValue; + isWarningValueCorrect = true; }); }, initialValue: dangerThresholdValue.toString(), onFieldSubmitted: (value) { + if (value.isEmpty) return; + setState(() { + dangerThresholdValue = int.parse(value); + }); widget.ucS.userConf.updatePMThreshold(widget.indicator, 1, int.parse(value)); widget.ucS.update(); }, From 449e2bc604a37674cd00ec97f270533b55ac87a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 15:53:04 +0200 Subject: [PATCH 313/522] [fix] setting both values validation state when editing one --- apolline-flutter/lib/utils/pm_card.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 1cd3fc43..ca25e90f 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -58,7 +58,7 @@ class _PMCardState extends State { if (value.isEmpty) return; setState(() { isWarningValueCorrect = int.parse(value) < dangerThresholdValue; - isDangerValueCorrect = true; + isDangerValueCorrect = int.parse(value) < dangerThresholdValue; }); }, initialValue: warningThresholdValue.toString(), @@ -90,7 +90,7 @@ class _PMCardState extends State { if (value.isEmpty) return; setState(() { isDangerValueCorrect = int.parse(value) > warningThresholdValue; - isWarningValueCorrect = true; + isWarningValueCorrect = int.parse(value) > warningThresholdValue; }); }, initialValue: dangerThresholdValue.toString(), From 7c947cbc8eb1076fcbd6b3bffb1efd5990063c49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 16:32:16 +0200 Subject: [PATCH 314/522] [feat] card is displayed in red if values aren't valid --- apolline-flutter/lib/utils/pm_card.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index ca25e90f..9e7d79cd 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -29,6 +29,8 @@ class _PMCardState extends State { List initialThresholdsValues = widget.ucS.userConf.getThresholds(widget.indicator); warningThresholdValue = initialThresholdsValues[0]; dangerThresholdValue = initialThresholdsValues[1]; + isWarningValueCorrect = warningThresholdValue < dangerThresholdValue; + isDangerValueCorrect = warningThresholdValue < dangerThresholdValue; super.initState(); } @@ -37,6 +39,7 @@ class _PMCardState extends State { return Card( margin: EdgeInsets.only(bottom: 20), + color: !isWarningValueCorrect || !isDangerValueCorrect ? Color.fromRGBO(255, 227, 227, 1.0) : null, child: Wrap( children: [ Container( From dc755a8bc4af955ca01de617226ca3c9f1f63fe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 16:35:31 +0200 Subject: [PATCH 315/522] [fix] adjusting card padding when displaying error messages --- apolline-flutter/lib/utils/pm_card.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 9e7d79cd..a62fe68f 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -83,6 +83,7 @@ class _PMCardState extends State { ), ListTile( title: Text("Danger threshold"), + contentPadding: !isWarningValueCorrect || !isDangerValueCorrect ? EdgeInsets.only(left: 16, right: 16, bottom: 16) : null, subtitle: isDangerValueCorrect ? null : Text("Danger threshold value must be superior to warning threshold."), trailing: Container( width: 80, From f43210ca0e4845355c008b792e85fb0b9c205251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 16:40:29 +0200 Subject: [PATCH 316/522] [refactor] adding _isValid method --- apolline-flutter/lib/utils/pm_card.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index a62fe68f..2d2a9f56 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -34,12 +34,16 @@ class _PMCardState extends State { super.initState(); } + bool _isValid () { + return isWarningValueCorrect && isDangerValueCorrect; + } + @override Widget build(BuildContext context) { return Card( margin: EdgeInsets.only(bottom: 20), - color: !isWarningValueCorrect || !isDangerValueCorrect ? Color.fromRGBO(255, 227, 227, 1.0) : null, + color: !_isValid() ? Color.fromRGBO(255, 227, 227, 1.0) : null, child: Wrap( children: [ Container( @@ -83,7 +87,7 @@ class _PMCardState extends State { ), ListTile( title: Text("Danger threshold"), - contentPadding: !isWarningValueCorrect || !isDangerValueCorrect ? EdgeInsets.only(left: 16, right: 16, bottom: 16) : null, + contentPadding: !_isValid() ? EdgeInsets.only(left: 16, right: 16, bottom: 16) : null, subtitle: isDangerValueCorrect ? null : Text("Danger threshold value must be superior to warning threshold."), trailing: Container( width: 80, From 0b9e0674c7eb40d865e8633ffae96ece7ec46373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 8 Sep 2021 16:53:46 +0200 Subject: [PATCH 317/522] [fix] shorter english warning messages --- apolline-flutter/lib/utils/pm_card.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 2d2a9f56..a06b00c0 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -55,7 +55,7 @@ class _PMCardState extends State { ), ListTile( title: Text("Warning threshold"), - subtitle: isWarningValueCorrect ? null : Text("Warning threshold value must be inferior than danger threshold."), + subtitle: isWarningValueCorrect ? null : Text("Must be inferior than danger value."), trailing: Container( width: 80, child: TextFormField( @@ -87,8 +87,7 @@ class _PMCardState extends State { ), ListTile( title: Text("Danger threshold"), - contentPadding: !_isValid() ? EdgeInsets.only(left: 16, right: 16, bottom: 16) : null, - subtitle: isDangerValueCorrect ? null : Text("Danger threshold value must be superior to warning threshold."), + subtitle: isDangerValueCorrect ? null : Text("Must be superior to warning value."), trailing: Container( width: 80, child: TextFormField( From edd4b53eb587b0f4155073b874f460d362eb0d3d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 9 Sep 2021 17:00:12 +0200 Subject: [PATCH 318/522] [feat] adding information text --- apolline-flutter/lib/settings_view.dart | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 8c335099..2ddd4f55 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -20,11 +20,25 @@ class _SettingsPanelState extends State { return PMFilter.values.map((value) => PMCard(ucS: widget.ucS, indicator: value)).toList(); } + Widget _buildInformationWidget () { + return Container ( + margin: EdgeInsets.only(bottom: 40), + child: Text( + "Here, you can specify warning and danger thresholds.\n" + "Received values lower than warning limit will be considered as normal, " + "values superior to danger limit will be considered as dangerous." + ), + ); + } + @override Widget build(BuildContext context) { + List widgets = [_buildInformationWidget()]; + widgets.addAll(_buildAllPMCards()); + return Container( child: ListView( - children: _buildAllPMCards(), + children: widgets, padding: widget.padding ), ); From bfd4f2ba62af921fa26c574a0429072c48ccec63 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 9 Sep 2021 17:57:40 +0200 Subject: [PATCH 319/522] [feat] circles color is determined with user-picked thresholds --- apolline-flutter/lib/models/user_configuration.dart | 4 ++++ apolline-flutter/lib/widgets/maps.dart | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 60c9f43b..c645b68c 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -91,4 +91,8 @@ class UserConfiguration { void updatePMThreshold (PMFilter filter, int thresholdIndex, int newValue) { this._thresholdsValues[filter][thresholdIndex] = newValue; } + + List getCurrentThresholds () { + return this._thresholdsValues[this.pmFilter]; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 3ed48eb8..c6243337 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -183,13 +183,13 @@ class _PMMapViewState extends State { /// ///Get the color fonction of pm25 value Color getPMCircleColor(double pmValue) { - var index = widget.ucS.userConf.pmFilter.getRowIndex(); - var min = index >= 0 && index < widget.minPmValues.length ? widget.minPmValues[index] : 0; - var max = index >= 0 && index < widget.maxPmValues.length ? widget.maxPmValues[index] : 1; + List currentThresholds = widget.ucS.userConf.getCurrentThresholds(); + int warningValue = currentThresholds[0]; + int dangerValue = currentThresholds[1]; - if(pmValue < min) { + if(pmValue < warningValue) { return Color.fromRGBO(170, 255, 0, .1); //vert - } else if(pmValue >= min && pmValue <= max) { + } else if(pmValue < dangerValue) { return Color.fromRGBO(255, 143, 0, .1); //orange } else { return Color.fromRGBO(255, 15, 0, .1); //rouge From cabb8f0bfd3bb51f43ea9766ff136c769429f950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 11:05:50 +0200 Subject: [PATCH 320/522] [feat] user configuration holds user notifications preferences --- apolline-flutter/lib/models/user_configuration.dart | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index c645b68c..886ea3f1 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -14,17 +14,23 @@ class UserConfiguration { PMFilter _pmFilter; ///pm size concentration limits Map> _thresholdsValues; + ///pm concentration alerts + List _shouldSendThresholdNotifications; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; static const String PM_FILTER_KEY = "pmFilterValue"; static const String THRESHOLDS_KEY = "thresholdsValue"; + static const String ALERTS_KEY = "thresholdsAlertsValue"; /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5, Map thresholds}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5, Map thresholds, List alerts}) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; + this._shouldSendThresholdNotifications = alerts == null || alerts.length == 0 + ? [true, true] + : alerts; this._thresholdsValues = thresholds == null || thresholds.keys.length == 0 ? PMFilterUtils.getThresholds() : thresholds; @@ -35,6 +41,7 @@ class UserConfiguration { UserConfiguration.fromJson(Map jsonMap) { this._timeFilter = TimeFilter.values[jsonMap[UserConfiguration.TIME_FILTER_KEY]]; this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; + this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY]; Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); Map> thresholds = Map(); @@ -56,7 +63,8 @@ class UserConfiguration { return { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, UserConfiguration.PM_FILTER_KEY: this._pmFilter.index, - UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues) + UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues), + UserConfiguration.ALERTS_KEY: json.encode(this._shouldSendThresholdNotifications) }; } From 6f894b7276d9d827585b2b5c104a6c0f80b3271f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 11:34:35 +0200 Subject: [PATCH 321/522] [fix] user alerts state can be converted to/from json --- apolline-flutter/lib/models/user_configuration.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 886ea3f1..a4979584 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -41,7 +41,7 @@ class UserConfiguration { UserConfiguration.fromJson(Map jsonMap) { this._timeFilter = TimeFilter.values[jsonMap[UserConfiguration.TIME_FILTER_KEY]]; this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; - this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY]; + this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY].cast(); Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); Map> thresholds = Map(); @@ -64,7 +64,7 @@ class UserConfiguration { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, UserConfiguration.PM_FILTER_KEY: this._pmFilter.index, UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues), - UserConfiguration.ALERTS_KEY: json.encode(this._shouldSendThresholdNotifications) + UserConfiguration.ALERTS_KEY: this._shouldSendThresholdNotifications }; } From d61993f29c71a44f27c4ba611650b32161b77a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 13:57:10 +0200 Subject: [PATCH 322/522] [feat] a widget allows users to choose if they want to receive warning notifications or not --- .../lib/models/user_configuration.dart | 7 +++++ apolline-flutter/lib/settings_view.dart | 27 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index a4979584..c82590f4 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -103,4 +103,11 @@ class UserConfiguration { List getCurrentThresholds () { return this._thresholdsValues[this.pmFilter]; } + + bool get showWarningNotifications { + return this._shouldSendThresholdNotifications[0]; + } + set showWarningNotifications (bool value) { + this._shouldSendThresholdNotifications[0] = value; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 2ddd4f55..de014ceb 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -15,6 +15,13 @@ class SettingsPanel extends StatefulWidget { } class _SettingsPanelState extends State { + bool _showWarningNotifications = true; + + @override + initState () { + this._showWarningNotifications = widget.ucS.userConf.showWarningNotifications; + super.initState(); + } List _buildAllPMCards () { return PMFilter.values.map((value) => PMCard(ucS: widget.ucS, indicator: value)).toList(); @@ -31,9 +38,27 @@ class _SettingsPanelState extends State { ); } + Widget _buildNotificationConfigurationWidget () { + return Container ( + child: ListTile( + title: Text("Receive warning notifications"), + trailing: Checkbox( + value: _showWarningNotifications, + onChanged: (bool value) { + widget.ucS.userConf.showWarningNotifications = value; + widget.ucS.update(); + setState(() { + _showWarningNotifications = value; + }); + }, + ), + ), + ); + } + @override Widget build(BuildContext context) { - List widgets = [_buildInformationWidget()]; + List widgets = [_buildInformationWidget(), _buildNotificationConfigurationWidget()]; widgets.addAll(_buildAllPMCards()); return Container( From 2f217b94b4cbb738d11237781a2ad0779665adc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 14:08:34 +0200 Subject: [PATCH 323/522] [feat] checkbox can be (un)ticked by touching the tile --- apolline-flutter/lib/settings_view.dart | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index de014ceb..8107ffab 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -39,18 +39,21 @@ class _SettingsPanelState extends State { } Widget _buildNotificationConfigurationWidget () { + Function updateWarningState = (bool value) { + widget.ucS.userConf.showWarningNotifications = value; + widget.ucS.update(); + setState(() { + _showWarningNotifications = value; + }); + }; + return Container ( child: ListTile( title: Text("Receive warning notifications"), + onTap: () => updateWarningState(!_showWarningNotifications), trailing: Checkbox( value: _showWarningNotifications, - onChanged: (bool value) { - widget.ucS.userConf.showWarningNotifications = value; - widget.ucS.update(); - setState(() { - _showWarningNotifications = value; - }); - }, + onChanged: updateWarningState, ), ), ); From 50ab195af239ec183fbe51fd95f6a9e75d4bc262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 14:11:37 +0200 Subject: [PATCH 324/522] [refactor] adjusting margin around notification tiles --- apolline-flutter/lib/settings_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 8107ffab..3e4638f4 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -29,7 +29,6 @@ class _SettingsPanelState extends State { Widget _buildInformationWidget () { return Container ( - margin: EdgeInsets.only(bottom: 40), child: Text( "Here, you can specify warning and danger thresholds.\n" "Received values lower than warning limit will be considered as normal, " @@ -48,6 +47,7 @@ class _SettingsPanelState extends State { }; return Container ( + margin: EdgeInsets.symmetric(vertical: 30), child: ListTile( title: Text("Receive warning notifications"), onTap: () => updateWarningState(!_showWarningNotifications), From 9b28c361434f9b18097c43c6a7b306984bc8ffc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 14:47:00 +0200 Subject: [PATCH 325/522] [feat] user can disable danger notifications --- .../lib/models/user_configuration.dart | 7 ++++ apolline-flutter/lib/settings_view.dart | 38 +++++++++++++++---- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index c82590f4..fbf12baa 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -110,4 +110,11 @@ class UserConfiguration { set showWarningNotifications (bool value) { this._shouldSendThresholdNotifications[0] = value; } + + bool get showDangerNotifications { + return this._shouldSendThresholdNotifications[1]; + } + set showDangerNotifications (bool value) { + this._shouldSendThresholdNotifications[1] = value; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 3e4638f4..c4a5ee78 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -16,10 +16,12 @@ class SettingsPanel extends StatefulWidget { class _SettingsPanelState extends State { bool _showWarningNotifications = true; + bool _showDangerNotifications = true; @override initState () { this._showWarningNotifications = widget.ucS.userConf.showWarningNotifications; + this._showDangerNotifications = widget.ucS.userConf.showDangerNotifications; super.initState(); } @@ -46,16 +48,36 @@ class _SettingsPanelState extends State { }); }; + Function updateDangerState = (bool value) { + widget.ucS.userConf.showDangerNotifications = value; + widget.ucS.update(); + setState(() { + _showDangerNotifications = value; + }); + }; + return Container ( margin: EdgeInsets.symmetric(vertical: 30), - child: ListTile( - title: Text("Receive warning notifications"), - onTap: () => updateWarningState(!_showWarningNotifications), - trailing: Checkbox( - value: _showWarningNotifications, - onChanged: updateWarningState, - ), - ), + child: Column( + children: [ + ListTile( + title: Text("Receive warning notifications"), + onTap: () => updateWarningState(!_showWarningNotifications), + trailing: Checkbox( + value: _showWarningNotifications, + onChanged: updateWarningState, + ), + ), + ListTile( + title: Text("Receive danger notifications"), + onTap: () => updateDangerState(!_showDangerNotifications), + trailing: Checkbox( + value: _showDangerNotifications, + onChanged: updateDangerState, + ), + ) + ], + ) ); } From 8d1161555a6202a670819fd894224288158f371e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 15:18:16 +0200 Subject: [PATCH 326/522] [feat] adding divider --- apolline-flutter/lib/settings_view.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index c4a5ee78..3bf0e246 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -57,7 +57,7 @@ class _SettingsPanelState extends State { }; return Container ( - margin: EdgeInsets.symmetric(vertical: 30), + margin: EdgeInsets.only(top: 30), child: Column( children: [ ListTile( @@ -83,7 +83,11 @@ class _SettingsPanelState extends State { @override Widget build(BuildContext context) { - List widgets = [_buildInformationWidget(), _buildNotificationConfigurationWidget()]; + List widgets = [ + _buildInformationWidget(), + _buildNotificationConfigurationWidget(), + Divider(height: 70) + ]; widgets.addAll(_buildAllPMCards()); return Container( From 6817f70f86da51f70c48e4e927d74784d49409fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 10 Sep 2021 16:19:45 +0200 Subject: [PATCH 327/522] [feat] received data is compared to thresholds --- apolline-flutter/lib/widgets/maps.dart | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index c6243337..116fd035 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -54,6 +54,23 @@ class _PMMapViewState extends State { this.setState(() { }); } } + _sendExpositionNotifications(pModel); + }); + } + + void _sendExpositionNotifications (DataPointModel model) { + if (!widget.ucS.userConf.showDangerNotifications && !widget.ucS.userConf.showWarningNotifications) return; + PMFilter.values.forEach((value) { + double collectedValue = double.parse(model.values[value.getRowIndex()]); + List userThresholds = widget.ucS.userConf.getThresholds(value); + int warningThreshold = userThresholds[0]; + int dangerThreshold = userThresholds[1]; + + if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { + print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); + } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { + print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); + } }); } From d628c8b7fd457d757a69ae1e60407aea412d4bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:05:56 +0200 Subject: [PATCH 328/522] [fix] thresholds are compared with received data on all application views --- apolline-flutter/lib/sensor_view.dart | 18 ++++++++++++++++++ apolline-flutter/lib/widgets/maps.dart | 17 ----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 5f988f1b..2f1fa916 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,7 +1,10 @@ import 'dart:async'; +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; +import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; @@ -20,6 +23,7 @@ enum ConnexionType { Normal, Disconnect } class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; + final UserConfigurationService ucS = locator(); @override State createState() => _SensorViewState(); @@ -117,6 +121,20 @@ class _SensorViewState extends State { setState(() { lastReceivedData = model; }); + + if (!widget.ucS.userConf.showDangerNotifications && !widget.ucS.userConf.showWarningNotifications) return; + PMFilter.values.forEach((value) { + double collectedValue = double.parse(model.values[value.getRowIndex()]); + List userThresholds = widget.ucS.userConf.getThresholds(value); + int warningThreshold = userThresholds[0]; + int dangerThreshold = userThresholds[1]; + + if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { + print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); + } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { + print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); + } + }); } void _onSensorConnected () { diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 116fd035..c6243337 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -54,23 +54,6 @@ class _PMMapViewState extends State { this.setState(() { }); } } - _sendExpositionNotifications(pModel); - }); - } - - void _sendExpositionNotifications (DataPointModel model) { - if (!widget.ucS.userConf.showDangerNotifications && !widget.ucS.userConf.showWarningNotifications) return; - PMFilter.values.forEach((value) { - double collectedValue = double.parse(model.values[value.getRowIndex()]); - List userThresholds = widget.ucS.userConf.getThresholds(value); - int warningThreshold = userThresholds[0]; - int dangerThreshold = userThresholds[1]; - - if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { - print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); - } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { - print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); - } }); } From 480283886be2bcee6be04cbafa56b7f97f69f919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:21:29 +0200 Subject: [PATCH 329/522] [chore] adding flutter_local_notifications dependency --- apolline-flutter/pubspec.lock | 21 +++++++++++++++++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 22 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index aaddf262..7f691696 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -153,6 +153,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.0" + flutter_local_notifications: + dependency: "direct main" + description: + name: flutter_local_notifications + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0+4" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" flutter_localizations: dependency: transitive description: flutter @@ -595,6 +609,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.2.19" + timezone: + dependency: transitive + description: + name: timezone + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.0" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0d10ad6a..4f44eec9 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -47,6 +47,7 @@ dependencies: flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 grant_and_activate: ^0.0.1 + flutter_local_notifications: ^5.0.0+4 From 16a7a4bef5e85b0543ccc753843defd9c2c7a08e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:25:52 +0200 Subject: [PATCH 330/522] [feat] enabling full-screen intent notifications on Android lock screen --- apolline-flutter/android/app/src/main/AndroidManifest.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/src/main/AndroidManifest.xml b/apolline-flutter/android/app/src/main/AndroidManifest.xml index 698f622f..4a661eef 100644 --- a/apolline-flutter/android/app/src/main/AndroidManifest.xml +++ b/apolline-flutter/android/app/src/main/AndroidManifest.xml @@ -23,7 +23,9 @@ android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustResize" + android:showWhenLocked="true" + android:turnScreenOn="true"> From b0c1631d76aa9b2304be157afa84aa7aacac4afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:34:56 +0200 Subject: [PATCH 331/522] [feat] adding Android flutter_local_notifications build configuration --- .../android/app/proguard-rules.pro | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/proguard-rules.pro b/apolline-flutter/android/app/proguard-rules.pro index 63aab142..83caba0b 100644 --- a/apolline-flutter/android/app/proguard-rules.pro +++ b/apolline-flutter/android/app/proguard-rules.pro @@ -1,2 +1,25 @@ # The protos need to have all their names and fields preserved. --keep class com.pauldemarco.flutter_blue.Protos* { *; } \ No newline at end of file +-keep class com.pauldemarco.flutter_blue.Protos* { *; } + +## Gson rules +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** + +# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * extends com.google.gson.TypeAdapter +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer + +# Prevent R8 from leaving Data object members always null +-keepclassmembers,allowobfuscation class * { + @com.google.gson.annotations.SerializedName ; +} \ No newline at end of file From cea66a12031c4937b16b7466e1eb001ed1eca274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:43:05 +0200 Subject: [PATCH 332/522] [chore] setting project Flutter version to ^2.5.0 --- apolline-flutter/pubspec.lock | 12 ++++++------ apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index aaddf262..7179f738 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.8.1" bluetooth_enable: dependency: transitive description: @@ -49,7 +49,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.1" clock: dependency: transitive description: @@ -321,7 +321,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" mp_chart: dependency: "direct main" description: @@ -517,7 +517,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" sqflite: dependency: "direct main" description: @@ -594,7 +594,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.4.2" typed_data: dependency: transitive description: @@ -639,4 +639,4 @@ packages: version: "3.1.0" sdks: dart: ">=2.12.0 <3.0.0" - flutter: ">=2.0.3" + flutter: ">=2.5.0" diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0d10ad6a..a5cf2d14 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: none environment: sdk: ">=2.6.0 <3.0.0" - flutter: ^2.0.3 + flutter: ^2.5.0 dependencies: flutter: From 2e2098331470338e1bfe0c01fdd9b3a1a3c7e502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:44:44 +0200 Subject: [PATCH 333/522] [chore] setting CI Flutter version to 2.5.0 --- .github/workflows/dev_release_ci.yml | 2 +- .github/workflows/flutter_ci.yml | 2 +- .github/workflows/release_ci.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_release_ci.yml b/.github/workflows/dev_release_ci.yml index f47d4071..6f40f704 100644 --- a/.github/workflows/dev_release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -4,7 +4,7 @@ on: branches: - develop env: - FLUTTER_VERSION: '2.0.3' + FLUTTER_VERSION: '2.5.0' jobs: lint: diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 0c25adfc..187d5af4 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -5,7 +5,7 @@ on: - master - develop env: - FLUTTER_VERSION: '2.0.3' + FLUTTER_VERSION: '2.5.0' jobs: lint: diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index a90968a4..e41cf7b4 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -4,7 +4,7 @@ on: branches: - master env: - FLUTTER_VERSION: '2.0.3' + FLUTTER_VERSION: '2.5.0' jobs: deploy-android: From fa85b941c0ea95e4d63f2946745cbf2d9ce0dbe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 10:58:16 +0200 Subject: [PATCH 334/522] [fix] removing deprecated accentColor attribute --- apolline-flutter/lib/bluetoothDevicesPage.dart | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d8467ccf..74f52c0a 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -208,7 +208,6 @@ class _BluetoothDevicesPageState extends State { List _buildChildrenButton() { const btnStyle = TextStyle(color: Colors.white); - Color bgColor = Theme.of(context).primaryColor; if (timeout) { return [ @@ -218,10 +217,7 @@ class _BluetoothDevicesPageState extends State { } else { return [ SizedBox( - child: Theme( - data: Theme.of(context).copyWith(accentColor: bgColor), - child: CircularProgressIndicator(backgroundColor: Colors.white), - ), + child: CircularProgressIndicator(backgroundColor: Colors.white), width: 20, height: 20, ), From 387b91e7b4fd3e2357e9694e31742889b307324b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 11:46:27 +0200 Subject: [PATCH 335/522] [chore] updating fluttertoast version to ^8.0.8 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index cdb4d060..0ea2df9f 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -22,7 +22,7 @@ dependencies: flutter: sdk: flutter flutter_blue: ^0.8.0 - fluttertoast: ^8.0.7 + fluttertoast: ^8.0.8 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.3 From 11be0115af47b92cc4bd42625ced52032a38a5f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 11:52:01 +0200 Subject: [PATCH 336/522] [chore] updating flutter_local_notifications version to ^8.2.0 --- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 93da20c7..3bb30a53 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -159,14 +159,14 @@ packages: name: flutter_local_notifications url: "https://pub.dartlang.org" source: hosted - version: "5.0.0+4" + version: "8.2.0" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "4.0.1" flutter_localizations: dependency: transitive description: flutter @@ -629,7 +629,7 @@ packages: name: timezone url: "https://pub.dartlang.org" source: hosted - version: "0.7.0" + version: "0.8.0" typed_data: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0ea2df9f..6c3b82fa 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -47,7 +47,7 @@ dependencies: flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 grant_and_activate: ^0.0.1 - flutter_local_notifications: ^5.0.0+4 + flutter_local_notifications: ^8.2.0 From 895272f9a854874e0b64f1587956507e9cc11f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 11:58:42 +0200 Subject: [PATCH 337/522] [chore] adding iOS configuration --- apolline-flutter/ios/Runner/AppDelegate.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/ios/Runner/AppDelegate.swift b/apolline-flutter/ios/Runner/AppDelegate.swift index 93988c14..b7ac4b72 100644 --- a/apolline-flutter/ios/Runner/AppDelegate.swift +++ b/apolline-flutter/ios/Runner/AppDelegate.swift @@ -10,6 +10,9 @@ import GoogleMaps ) -> Bool { GMSServices.provideAPIKey("AIzaSyBA_4x3VNJg8NrHxLySeeiej0M0EFA6NJY") GeneratedPluginRegistrant.register(with: self) + if #available(iOS 10.0, *) { + UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate + } return super.application(application, didFinishLaunchingWithOptions: launchOptions) } } From 8d6798531a30d4daf49f8d7a697b19baca5a519c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 13:33:35 +0200 Subject: [PATCH 338/522] [feat] initializing notifications package --- apolline-flutter/lib/main.dart | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 19e8f5a3..d4faaf56 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,6 +1,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:global_configuration/global_configuration.dart'; import 'bluetoothDevicesPage.dart'; @@ -11,6 +12,7 @@ void main() async { await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); setupBackgroundConfig(); + await setupNotificationService(); await EasyLocalization.ensureInitialized(); runApp( @@ -51,4 +53,33 @@ void setupBackgroundConfig () async { notificationIcon: AndroidResource(name: 'logo_apolline', defType: 'drawable'), ); FlutterBackground.initialize(androidConfig: androidConfig); +} + +Future setupNotificationService () async { + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); + + const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('logo_apolline'); + final IOSInitializationSettings initializationSettingsIOS = IOSInitializationSettings( + onDidReceiveLocalNotification: onDidReceiveLocalNotification, + ); + final MacOSInitializationSettings initializationSettingsMacOS = MacOSInitializationSettings(); + final InitializationSettings initializationSettings = InitializationSettings( + android: initializationSettingsAndroid, + iOS: initializationSettingsIOS, + macOS: initializationSettingsMacOS + ); + await flutterLocalNotificationsPlugin.initialize(initializationSettings, + onSelectNotification: selectNotification + ); +} + +Future selectNotification(String payload) async { + if (payload != null) { + debugPrint('notification payload: $payload'); + } +} +Future onDidReceiveLocalNotification ( + int id, String title, String body, String payload +) async { + debugPrint('notification payload: $payload'); } \ No newline at end of file From ad231054ec0aaa9461c9b72bcc65ecd43dec9c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 14:12:39 +0200 Subject: [PATCH 339/522] [feat] sending warning/danger notifications --- apolline-flutter/lib/sensor_view.dart | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 2f1fa916..1be3911d 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -9,6 +9,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; import 'package:flutter_blue/flutter_blue.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'models/data_point_model.dart'; import 'widgets/maps.dart'; @@ -24,6 +25,15 @@ class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; final UserConfigurationService ucS = locator(); + final AndroidNotificationDetails androidPlatformChannelSpecifics = + AndroidNotificationDetails( + 'apolline_exposure_notifications', + 'Exposure notifications', + 'Get alerts when current PM values are above warning/danger thresholds.', + importance: Importance.max, + priority: Priority.high, + showWhen: false + ); @override State createState() => _SensorViewState(); @@ -131,8 +141,16 @@ class _SensorViewState extends State { if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); + _showNotification( + "Warning", + '"${value.getLabelKey().tr()}" value exceeds warning threshold.' + ); } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); + _showNotification( + "Danger", + '"${value.getLabelKey().tr()}" value exceeds danger threshold.' + ); } }); } @@ -171,6 +189,15 @@ class _SensorViewState extends State { ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); } + Future _showNotification (String title, String message) async { + NotificationDetails platformChannelSpecifics = NotificationDetails( + android: widget.androidPlatformChannelSpecifics + ); + await FlutterLocalNotificationsPlugin().show( + 0, title, message, platformChannelSpecifics + ); + } + @override void dispose() { From 227e06f805fa240bf2d5cba47cb902cbcdb0bfcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 14:41:43 +0200 Subject: [PATCH 340/522] [feat] adding a time interval of 5 minutes between two consecutive notifications --- apolline-flutter/lib/sensor_view.dart | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 1be3911d..d30da706 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -46,6 +46,7 @@ class _SensorViewState extends State { bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; SensorTwin _sensor; + Map _notificationTimestamps = Map(); final GlobalKey _scaffoldMessengerKey = GlobalKey(); @@ -140,16 +141,18 @@ class _SensorViewState extends State { int dangerThreshold = userThresholds[1]; if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { - print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); - _showNotification( + // print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); + _checkNotification( "Warning", - '"${value.getLabelKey().tr()}" value exceeds warning threshold.' + '"${value.getLabelKey().tr()}" value exceeds warning threshold.', + value ); } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { - print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); - _showNotification( + // print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); + _checkNotification( "Danger", - '"${value.getLabelKey().tr()}" value exceeds danger threshold.' + '"${value.getLabelKey().tr()}" value exceeds danger threshold.', + value ); } }); @@ -189,6 +192,16 @@ class _SensorViewState extends State { ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); } + Future _checkNotification (String title, String message, PMFilter filter) async { + if (!_notificationTimestamps.containsKey(filter)) { + _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; + } + if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[filter] > 300000) { + _showNotification( title, message ); + _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; + } + } + Future _showNotification (String title, String message) async { NotificationDetails platformChannelSpecifics = NotificationDetails( android: widget.androidPlatformChannelSpecifics From 596302a9ae4f91a487feef46db4d07eccaa77424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 14:49:32 +0200 Subject: [PATCH 341/522] [chore] adding duration_picker dependency --- apolline-flutter/pubspec.lock | 7 +++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 3bb30a53..bd5d2095 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -85,6 +85,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" + duration_picker: + dependency: "direct main" + description: + name: duration_picker + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" easy_localization: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 6c3b82fa..4ef6d94d 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -48,6 +48,7 @@ dependencies: easy_localization: ^3.0.0 grant_and_activate: ^0.0.1 flutter_local_notifications: ^8.2.0 + duration_picker: ^1.0.1 From a97ba40c8fa4575ef939ec988efa70baba08b737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 15:27:09 +0200 Subject: [PATCH 342/522] [feat] a duration picker allows user to set notifications interval time --- apolline-flutter/lib/settings_view.dart | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 3bf0e246..663e8c04 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -3,6 +3,7 @@ import 'package:apollineflutter/utils/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:duration_picker/duration_picker.dart'; class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); @@ -17,6 +18,7 @@ class SettingsPanel extends StatefulWidget { class _SettingsPanelState extends State { bool _showWarningNotifications = true; bool _showDangerNotifications = true; + Duration _notificationIntervalDuration = Duration(minutes: 5); @override initState () { @@ -39,6 +41,13 @@ class _SettingsPanelState extends State { ); } + // https://stackoverflow.com/a/54775297/11243782 + String _printDuration(Duration duration) { + String twoDigits(int n) => n.toString().padLeft(2, "0"); + String twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60)); + return "${twoDigits(duration.inHours)}:$twoDigitMinutes"; + } + Widget _buildNotificationConfigurationWidget () { Function updateWarningState = (bool value) { widget.ucS.userConf.showWarningNotifications = value; @@ -75,6 +84,43 @@ class _SettingsPanelState extends State { value: _showDangerNotifications, onChanged: updateDangerState, ), + ), + ListTile( + title: Text("Notifications time rate"), + trailing: Text(_printDuration(_notificationIntervalDuration)), + onTap: () => showDialog(context: context, builder: (context) => AlertDialog( + title: const Text('Set time rate'), + content: SingleChildScrollView( + child: ListBody( + children: [ + Container ( + margin: EdgeInsets.only(bottom: 30), + child: Text("Set which duration must pass before a new notification is sent.") + ), + DurationPicker( + duration: _notificationIntervalDuration, + onChange: (val) { + setState(() => _notificationIntervalDuration = val); + } + ), + ], + ), + ), + actions: [ + TextButton( + child: const Text('Cancel'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: const Text('OK'), + onPressed: () { + Navigator.of(context).pop(); + }, + ) + ], + )), ) ], ) From 23a6d24bcf43185aed2f4a71fd8a243c7e53efad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 15:30:05 +0200 Subject: [PATCH 343/522] [feat] user cannot set notifications interval if all notifications are disabled --- apolline-flutter/lib/settings_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 663e8c04..a6b0bd32 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -86,6 +86,7 @@ class _SettingsPanelState extends State { ), ), ListTile( + enabled: _showWarningNotifications || _showDangerNotifications, title: Text("Notifications time rate"), trailing: Text(_printDuration(_notificationIntervalDuration)), onTap: () => showDialog(context: context, builder: (context) => AlertDialog( From 3f0d7e1b65241139554311fa33c6119f3a7d34a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 15:32:22 +0200 Subject: [PATCH 344/522] [feat] vertically centering duration field --- apolline-flutter/lib/settings_view.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index a6b0bd32..e05fd1df 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -88,7 +88,10 @@ class _SettingsPanelState extends State { ListTile( enabled: _showWarningNotifications || _showDangerNotifications, title: Text("Notifications time rate"), - trailing: Text(_printDuration(_notificationIntervalDuration)), + trailing: Container( + margin: EdgeInsets.only(right: 6), + child: Text(_printDuration(_notificationIntervalDuration)) + ), onTap: () => showDialog(context: context, builder: (context) => AlertDialog( title: const Text('Set time rate'), content: SingleChildScrollView( From c4284c2c168abee69375acbca1b136ee968d67ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 15:57:50 +0200 Subject: [PATCH 345/522] [feat] notifications time interval is stored in user preferences --- .../lib/models/user_configuration.dart | 15 +++++++++++++-- apolline-flutter/lib/settings_view.dart | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index fbf12baa..8f46a3ce 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -16,18 +16,27 @@ class UserConfiguration { Map> _thresholdsValues; ///pm concentration alerts List _shouldSendThresholdNotifications; + ///exposure notifications time interval + Duration exposureNotificationsTimeInterval; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; static const String PM_FILTER_KEY = "pmFilterValue"; static const String THRESHOLDS_KEY = "thresholdsValue"; static const String ALERTS_KEY = "thresholdsAlertsValue"; + static const String NOTIFICATIONS_KEY = "notificationsValue"; /// ///Constructor - UserConfiguration({timeFilter: TimeFilter.LAST_MIN, pmFilter: PMFilter.PM_2_5, Map thresholds, List alerts}) { + UserConfiguration({timeFilter: TimeFilter.LAST_MIN, + pmFilter: PMFilter.PM_2_5, + Map thresholds, + List alerts, + Duration notificationsInterval: const Duration(minutes: 5) + }) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; + this.exposureNotificationsTimeInterval = notificationsInterval; this._shouldSendThresholdNotifications = alerts == null || alerts.length == 0 ? [true, true] : alerts; @@ -50,6 +59,7 @@ class UserConfiguration { }); this._thresholdsValues = thresholds; + this.exposureNotificationsTimeInterval = Duration(milliseconds: jsonMap[UserConfiguration.NOTIFICATIONS_KEY]); } /// @@ -64,7 +74,8 @@ class UserConfiguration { UserConfiguration.TIME_FILTER_KEY: this.timeFilter.index, UserConfiguration.PM_FILTER_KEY: this._pmFilter.index, UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues), - UserConfiguration.ALERTS_KEY: this._shouldSendThresholdNotifications + UserConfiguration.ALERTS_KEY: this._shouldSendThresholdNotifications, + UserConfiguration.NOTIFICATIONS_KEY: this.exposureNotificationsTimeInterval.inMilliseconds }; } diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index e05fd1df..6d2ca8a6 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -24,6 +24,7 @@ class _SettingsPanelState extends State { initState () { this._showWarningNotifications = widget.ucS.userConf.showWarningNotifications; this._showDangerNotifications = widget.ucS.userConf.showDangerNotifications; + this._notificationIntervalDuration = widget.ucS.userConf.exposureNotificationsTimeInterval; super.initState(); } @@ -105,6 +106,8 @@ class _SettingsPanelState extends State { duration: _notificationIntervalDuration, onChange: (val) { setState(() => _notificationIntervalDuration = val); + widget.ucS.userConf.exposureNotificationsTimeInterval = val; + widget.ucS.update(); } ), ], From 5d4c1d0b4e28efe41bf12d55b2b75f73d0ad7ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 16:09:56 +0200 Subject: [PATCH 346/522] [feat] comparing current date time to user-registered time interval --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d30da706..29a49397 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -196,7 +196,7 @@ class _SensorViewState extends State { if (!_notificationTimestamps.containsKey(filter)) { _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; } - if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[filter] > 300000) { + if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[filter] > widget.ucS.userConf.exposureNotificationsTimeInterval.inMilliseconds) { _showNotification( title, message ); _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; } From 5a8f9dd0ea70ce5ccbd0efcadcce7b3774f120e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 16:13:03 +0200 Subject: [PATCH 347/522] [fix] exposure notification shows up on sensor connection (if triggered) --- apolline-flutter/lib/sensor_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 29a49397..9ab57598 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -194,6 +194,7 @@ class _SensorViewState extends State { Future _checkNotification (String title, String message, PMFilter filter) async { if (!_notificationTimestamps.containsKey(filter)) { + _showNotification( title, message ); _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; } if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[filter] > widget.ucS.userConf.exposureNotificationsTimeInterval.inMilliseconds) { From c4f6d0a2a4076692b8b44347db17351ac631b6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 16:19:21 +0200 Subject: [PATCH 348/522] [feat] Android notifications display issued time --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 9ab57598..c671b4a4 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -32,7 +32,7 @@ class SensorView extends StatefulWidget { 'Get alerts when current PM values are above warning/danger thresholds.', importance: Importance.max, priority: Priority.high, - showWhen: false + showWhen: true ); @override From 6a35d8ea8ead8c2c5bd5b435b8bf1f37e765b74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 16:25:35 +0200 Subject: [PATCH 349/522] [feat] all notifications are dismissed when leaving sensor view --- apolline-flutter/lib/sensor_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index c671b4a4..ca70ce1f 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -215,6 +215,7 @@ class _SensorViewState extends State { @override void dispose() { + FlutterLocalNotificationsPlugin().cancelAll(); widget.device.disconnect(); this._sensor?.shutdown(); disableBackgroundExecution(); From f8f81c82102eb30985adc8dbbcb41f1dbe03b7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 13 Sep 2021 16:47:50 +0200 Subject: [PATCH 350/522] [feat] notification messages display current pollution value --- apolline-flutter/lib/sensor_view.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index ca70ce1f..e862301a 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -143,15 +143,15 @@ class _SensorViewState extends State { if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { // print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); _checkNotification( - "Warning", - '"${value.getLabelKey().tr()}" value exceeds warning threshold.', + "Warning for ${value.getLabelKey().tr()}", + '$collectedValue µm/m³ value exceeds warning threshold.', value ); } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { // print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); _checkNotification( - "Danger", - '"${value.getLabelKey().tr()}" value exceeds danger threshold.', + "Danger for ${value.getLabelKey().tr()}", + '$collectedValue µm/m³ value exceeds danger threshold.', value ); } From ef82cc178898920a5fced4dbebb876a4cedc43fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 11:12:31 +0200 Subject: [PATCH 351/522] [feat] adding translations for notification channel and warning/danger notifications --- apolline-flutter/assets/translations/en-GB.json | 14 ++++++++++++++ apolline-flutter/assets/translations/fr-FR.json | 14 ++++++++++++++ apolline-flutter/lib/sensor_view.dart | 12 ++++++------ 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 7d202d19..2d0cfda7 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -57,5 +57,19 @@ "time": "Per time", "size": "Per PM size" } + }, + "notifications": { + "channel": { + "name": "Exposure notifications", + "description": "Get alerts when current PM values are above warning/danger thresholds." + }, + "warning": { + "title": "Warning for {}", + "body": "{} µm/m³ value exceeds warning threshold." + }, + "danger": { + "title": "Danger for {}", + "body": "{} µm/m³ value exceeds danger threshold." + } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 32ce3f45..d3dd0b72 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -57,5 +57,19 @@ "time": "Par temps", "size": "Par taille" } + }, + "notifications": { + "channel": { + "name": "Notifications d'exposition", + "description": "Recevez des alertes lorsque les taux de particules fines dépassent les seuils d'alerte définis dans l'application." + }, + "warning": { + "title": "Taux de {} préoccupant", + "body": "La mesure de {} µm/m³ dépasse le seuil d'alerte." + }, + "danger": { + "title": "Alerte : {}", + "body": "La mesure de {} µm/m³ dépasse le seuil de danger." + } } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index e862301a..5862672f 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -28,8 +28,8 @@ class SensorView extends StatefulWidget { final AndroidNotificationDetails androidPlatformChannelSpecifics = AndroidNotificationDetails( 'apolline_exposure_notifications', - 'Exposure notifications', - 'Get alerts when current PM values are above warning/danger thresholds.', + 'notifications.channel.name'.tr(), + 'notifications.channel.description'.tr(), importance: Importance.max, priority: Priority.high, showWhen: true @@ -143,15 +143,15 @@ class _SensorViewState extends State { if (widget.ucS.userConf.showWarningNotifications && collectedValue < dangerThreshold && collectedValue >= warningThreshold) { // print("[WARNING] $value concentration is $collectedValue (>= $warningThreshold)."); _checkNotification( - "Warning for ${value.getLabelKey().tr()}", - '$collectedValue µm/m³ value exceeds warning threshold.', + "notifications.warning.title".tr(args: [value.getLabelKey().tr()]), + 'notifications.warning.body'.tr(args: [collectedValue.toString()]), value ); } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { // print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); _checkNotification( - "Danger for ${value.getLabelKey().tr()}", - '$collectedValue µm/m³ value exceeds danger threshold.', + "notifications.danger.title".tr(args: [value.getLabelKey().tr()]), + 'notifications.danger.body'.tr(args: [collectedValue.toString()]), value ); } From 1f46ae3b6a00e73facf87884dea65ab9924d54bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 11:35:35 +0200 Subject: [PATCH 352/522] [feat] adding translations for settings panel --- .../assets/translations/en-GB.json | 8 ++++++++ .../assets/translations/fr-FR.json | 8 ++++++++ apolline-flutter/lib/settings_view.dart | 19 ++++++++----------- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 2d0cfda7..c306d61c 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -71,5 +71,13 @@ "title": "Danger for {}", "body": "{} µm/m³ value exceeds danger threshold." } + }, + "settings": { + "description": "Here, you can specify warning and danger thresholds.\nReceived values lower than warning limit will be considered as normal, values superior to danger limit will be considered as dangerous.", + "receiveWarning": "Receive warning notifications", + "receiveDanger": "Receive danger notifications", + "timeInterval": "Notifications time interval", + "setTimeInterval": "Set time interval", + "setTimeIntervalBody": "Set which duration must pass before a new notification is sent." } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index d3dd0b72..d18044e9 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -71,5 +71,13 @@ "title": "Alerte : {}", "body": "La mesure de {} µm/m³ dépasse le seuil de danger." } + }, + "settings": { + "description": "Vous pouvez spécifier ici des seuils d'alerte et de danger.\nLes valeurs reçues inférieures au seuil d'alerte seront considérées comme normales, celles supérieures au seuil de danger comme dangereuses.", + "receiveWarning": "Recevoir des notifications d'alerte", + "receiveDanger": "Recevoir des notifications de danger", + "timeInterval": "Intervalle entre deux notifications", + "setTimeInterval": "Définir l'intervalle de temps", + "setTimeIntervalBody": "Choisissez combien de temps doit s'écouler entre l'envoi de deux notifications." } } \ No newline at end of file diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 6d2ca8a6..d3e20248 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -4,6 +4,7 @@ import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:duration_picker/duration_picker.dart'; +import 'package:easy_localization/easy_localization.dart'; class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); @@ -34,11 +35,7 @@ class _SettingsPanelState extends State { Widget _buildInformationWidget () { return Container ( - child: Text( - "Here, you can specify warning and danger thresholds.\n" - "Received values lower than warning limit will be considered as normal, " - "values superior to danger limit will be considered as dangerous." - ), + child: Text("settings.description").tr(), ); } @@ -71,7 +68,7 @@ class _SettingsPanelState extends State { child: Column( children: [ ListTile( - title: Text("Receive warning notifications"), + title: Text("settings.receiveWarning").tr(), onTap: () => updateWarningState(!_showWarningNotifications), trailing: Checkbox( value: _showWarningNotifications, @@ -79,7 +76,7 @@ class _SettingsPanelState extends State { ), ), ListTile( - title: Text("Receive danger notifications"), + title: Text("settings.receiveDanger").tr(), onTap: () => updateDangerState(!_showDangerNotifications), trailing: Checkbox( value: _showDangerNotifications, @@ -88,19 +85,19 @@ class _SettingsPanelState extends State { ), ListTile( enabled: _showWarningNotifications || _showDangerNotifications, - title: Text("Notifications time rate"), + title: Text("settings.timeInterval").tr(), trailing: Container( margin: EdgeInsets.only(right: 6), child: Text(_printDuration(_notificationIntervalDuration)) ), onTap: () => showDialog(context: context, builder: (context) => AlertDialog( - title: const Text('Set time rate'), + title: const Text('settings.setTimeInterval').tr(), content: SingleChildScrollView( child: ListBody( children: [ Container ( margin: EdgeInsets.only(bottom: 30), - child: Text("Set which duration must pass before a new notification is sent.") + child: Text("settings.setTimeIntervalBody").tr() ), DurationPicker( duration: _notificationIntervalDuration, @@ -115,7 +112,7 @@ class _SettingsPanelState extends State { ), actions: [ TextButton( - child: const Text('Cancel'), + child: const Text('devicesView.analysisButton.cancel').tr(), onPressed: () { Navigator.of(context).pop(); }, From e05353c2cf5918c54fcb65ba00b8281012af1037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 11:45:19 +0200 Subject: [PATCH 353/522] [feat] adding translations to PM cards --- apolline-flutter/assets/translations/en-GB.json | 10 +++++++++- apolline-flutter/assets/translations/fr-FR.json | 10 +++++++++- apolline-flutter/lib/utils/pm_card.dart | 8 ++++---- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index c306d61c..f8b0ddc1 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -78,6 +78,14 @@ "receiveDanger": "Receive danger notifications", "timeInterval": "Notifications time interval", "setTimeInterval": "Set time interval", - "setTimeIntervalBody": "Set which duration must pass before a new notification is sent." + "setTimeIntervalBody": "Set which duration must pass before a new notification is sent.", + "warning": { + "title": "Warning threshold", + "incorrect": "Must be inferior than danger value." + }, + "danger": { + "title": "Danger threshold", + "incorrect": "Must be superior to warning value." + } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index d18044e9..bdd32400 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -78,6 +78,14 @@ "receiveDanger": "Recevoir des notifications de danger", "timeInterval": "Intervalle entre deux notifications", "setTimeInterval": "Définir l'intervalle de temps", - "setTimeIntervalBody": "Choisissez combien de temps doit s'écouler entre l'envoi de deux notifications." + "setTimeIntervalBody": "Choisissez combien de temps doit s'écouler entre l'envoi de deux notifications.", + "warning": { + "title": "Seuil d'alerte", + "incorrect": "Doit être inférieur au seuil de danger." + }, + "danger": { + "title": "Seuil de danger", + "incorrect": "Doit être supérieur au seuil d'alerte." + } } } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index a06b00c0..50d28994 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -54,8 +54,8 @@ class _PMCardState extends State { )) ), ListTile( - title: Text("Warning threshold"), - subtitle: isWarningValueCorrect ? null : Text("Must be inferior than danger value."), + title: Text("settings.warning.title").tr(), + subtitle: isWarningValueCorrect ? null : Text("settings.warning.incorrect").tr(), trailing: Container( width: 80, child: TextFormField( @@ -86,8 +86,8 @@ class _PMCardState extends State { ), ), ListTile( - title: Text("Danger threshold"), - subtitle: isDangerValueCorrect ? null : Text("Must be superior to warning value."), + title: Text("settings.danger.title").tr(), + subtitle: isDangerValueCorrect ? null : Text("settings.danger.incorrect").tr(), trailing: Container( width: 80, child: TextFormField( From 3050bbf85438f3ea6b239e98e09a91e843044a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 12:44:04 +0200 Subject: [PATCH 354/522] [feat] adding translations to background notification --- apolline-flutter/assets/translations/en-GB.json | 4 ++++ apolline-flutter/assets/translations/fr-FR.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index f8b0ddc1..d88d3f57 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -70,6 +70,10 @@ "danger": { "title": "Danger for {}", "body": "{} µm/m³ value exceeds danger threshold." + }, + "background": { + "title": "Sensor is connected", + "body": "Apolline is currently collecting data." } }, "settings": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index bdd32400..89c8a741 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -70,6 +70,10 @@ "danger": { "title": "Alerte : {}", "body": "La mesure de {} µm/m³ dépasse le seuil de danger." + }, + "background": { + "title": "Capteur connecté", + "body": "Apolline est actuellement en train de récupérer des données." } }, "settings": { From 8c587cd3ae7f1a009008675177e2a221eaa40112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 12:44:58 +0200 Subject: [PATCH 355/522] [refactor] background notification is initialized in devices view For it to use translations, background notification must be initialized with context access, ie after runApp call. --- apolline-flutter/assets/translations/en-GB.json | 2 +- apolline-flutter/lib/bluetoothDevicesPage.dart | 12 ++++++++++++ apolline-flutter/lib/main.dart | 12 ------------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index d88d3f57..8f5665f3 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -72,7 +72,7 @@ "body": "{} µm/m³ value exceeds danger threshold." }, "background": { - "title": "Sensor is connected", + "title": "Sensor connected", "body": "Apolline is currently collecting data." } }, diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 34c0536e..d10af35b 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -3,6 +3,7 @@ import 'package:apollineflutter/settings_view.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:apollineflutter/widgets/device_card.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_background/flutter_background.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:apollineflutter/services/local_persistant_service.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; @@ -30,9 +31,20 @@ class _BluetoothDevicesPageState extends State { ///user configuration in the ui UserConfigurationService ucS = locator(); + void setupBackgroundConfig () async { + final androidConfig = FlutterBackgroundAndroidConfig( + notificationTitle: "notifications.background.title".tr(), + notificationText: "notifications.background.body".tr(), + notificationImportance: AndroidNotificationImportance.Default, + notificationIcon: AndroidResource(name: 'logo_apolline', defType: 'drawable'), + ); + FlutterBackground.initialize(androidConfig: androidConfig); + } + @override void initState() { super.initState(); + setupBackgroundConfig(); this.ucS.addListener(() { LocalKeyValuePersistance.saveObject(UserConfigurationService.USER_CONF_KEY, ucS.userConf.toJson()); }); diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index d4faaf56..690c37df 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -1,6 +1,5 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_background/flutter_background.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:global_configuration/global_configuration.dart'; @@ -11,7 +10,6 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); await GlobalConfiguration().loadFromPath("assets/config_dev.json"); setupServiceLocator(); - setupBackgroundConfig(); await setupNotificationService(); await EasyLocalization.ensureInitialized(); @@ -45,16 +43,6 @@ class ApollineApp extends StatelessWidget { } } -void setupBackgroundConfig () async { - final androidConfig = FlutterBackgroundAndroidConfig( - notificationTitle: "Capteur connecté", - notificationText: "Apolline est actuellement en train de récupérer des données. ", - notificationImportance: AndroidNotificationImportance.Default, - notificationIcon: AndroidResource(name: 'logo_apolline', defType: 'drawable'), - ); - FlutterBackground.initialize(androidConfig: androidConfig); -} - Future setupNotificationService () async { FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); From 170ab315872ea04ec2ef46946b8cc15745facc13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 12:54:36 +0200 Subject: [PATCH 356/522] [chore] pushing version number --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 4ef6d94d..691b0fbb 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.0+3 +version: 1.2.1+4 publish_to: none environment: From bee57519635f0bb21a6568ee5ed4fa183b3f0415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 13:13:18 +0200 Subject: [PATCH 357/522] [chore] signing Android development APK --- .github/workflows/dev_release_ci.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_release_ci.yml b/.github/workflows/dev_release_ci.yml index 6f40f704..a80a8d9e 100644 --- a/.github/workflows/dev_release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -69,8 +69,23 @@ jobs: run: flutter pub get working-directory: apolline-flutter + - name: Configure keystore + run: | + echo "${{ secrets.UPLOAD_KEYSTORE }}" > upload.keystore.asc + gpg -d --passphrase "${{ secrets.UPLOAD_KEYSTORE_PASSPHRASE }}" --batch upload.keystore.asc > app/upload-keystore.jks + echo "storeFile=upload-keystore.jks" >> key.properties + echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties + echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties + echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties + env: + PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }} + KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} + KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} + KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} + working-directory: apolline-flutter/android + - name: Build Apolline APK - run: flutter build apk --debug + run: flutter build apk working-directory: apolline-flutter - name: Get compilation time @@ -81,12 +96,12 @@ jobs: uses: actions/upload-artifact@v1 with: name: Apolline.apk - path: apolline-flutter/build/app/outputs/apk/debug/app-debug.apk + path: apolline-flutter/build/app/outputs/apk/release/app-release.apk - name: Publish release uses: ncipollo/release-action@v1 with: - artifacts: "apolline-flutter/build/app/outputs/apk/debug/app-debug.apk" + artifacts: "apolline-flutter/build/app/outputs/apk/release/app-release.apk" token: ${{ secrets.GITHUB_TOKEN }} tag: android-dev-release allowUpdates: true From 687d8f2bcf545f37d78a02a956e474aec1d91ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 13:16:45 +0200 Subject: [PATCH 358/522] [chore] printing build date with dd-mm-YY format --- .github/workflows/dev_release_ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev_release_ci.yml b/.github/workflows/dev_release_ci.yml index a80a8d9e..81986567 100644 --- a/.github/workflows/dev_release_ci.yml +++ b/.github/workflows/dev_release_ci.yml @@ -90,7 +90,7 @@ jobs: - name: Get compilation time id: date - run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M:%S')" + run: echo "::set-output name=date::$(date +'%d-%m-%Y %H:%M:%S')" - name: Save build artefact uses: actions/upload-artifact@v1 @@ -105,7 +105,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: android-dev-release allowUpdates: true - body: This is the latest Android version of the Apolline application (created on ${{ steps.date.outputs.date }}). + body: This is the latest Android development version of the Apolline application (created on ${{ steps.date.outputs.date }}). build-iOS: @@ -139,7 +139,7 @@ jobs: - name: Get compilation time id: date - run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M:%S')" + run: echo "::set-output name=date::$(date +'%d-%m-%Y %H:%M:%S')" - name: Save build artefact uses: actions/upload-artifact@v1 @@ -160,4 +160,4 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} tag: ios-dev-release allowUpdates: true - body: This is the latest iOS version of the Apolline application (created on ${{ steps.date.outputs.date }}). + body: This is the latest iOS development version of the Apolline application (created on ${{ steps.date.outputs.date }}). From 23706ca4fb5b5b1cb391d26671c5a4afe9ade487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 14:24:07 +0200 Subject: [PATCH 359/522] [chore] adding release notes --- .github/workflows/release_ci.yml | 3 ++- releaseNotes/whatsnew-en-GB | 3 +++ releaseNotes/whatsnew-fr-FR | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 releaseNotes/whatsnew-en-GB create mode 100644 releaseNotes/whatsnew-fr-FR diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index e41cf7b4..009f046d 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -60,4 +60,5 @@ jobs: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab - track: production \ No newline at end of file + track: production + whatsNewDirectory: releaseNotes \ No newline at end of file diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB new file mode 100644 index 00000000..8f8b81b8 --- /dev/null +++ b/releaseNotes/whatsnew-en-GB @@ -0,0 +1,3 @@ +* Application does not crash anymore if geolocation is not activated; +* User can define warning and danger thresholds for all PM categories; +* Notifications are automatically sent if current PM values exceed thresholds. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR new file mode 100644 index 00000000..b3ef7398 --- /dev/null +++ b/releaseNotes/whatsnew-fr-FR @@ -0,0 +1,3 @@ +* L'application ne plante plus si la géolocalisation est désactivée ; +* L'utilisateur peut définir des seuils d'alerte et de danger pour toutes les catégories de particules fines ; +* Des notifications sont envoyées automatiquement si les mesures de PM dépassent les seuils prédéfinis. \ No newline at end of file From ba97e827a6a8239e71336656c892a16dd88f8193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 14:52:34 +0200 Subject: [PATCH 360/522] [refactor] removing green background from stats view --- apolline-flutter/lib/widgets/stats.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 259aed94..5f58cc60 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -163,7 +163,6 @@ class StatsState extends State implements OnChartValueSelectedListener { scaleYEnabled: true, selectionListener: this, pinchZoomEnabled: true, - infoBgColor: ColorUtils.HOLO_GREEN_LIGHT, description: desc); } From 81fa09236bd906f34dbe26ed8a5fe877a662df90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 15:15:31 +0200 Subject: [PATCH 361/522] [feat] a theme is used through whole application --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/main.dart | 12 +++++++++--- apolline-flutter/lib/sensor_view.dart | 1 - 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d10af35b..d28d4c27 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -230,7 +230,7 @@ class _BluetoothDevicesPageState extends State { } else { return [ SizedBox( - child: CircularProgressIndicator(backgroundColor: Colors.white), + child: CircularProgressIndicator(backgroundColor: Theme.of(context).primaryColor, color: Colors.white,), width: 20, height: 20, ), diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 690c37df..d4f28237 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -26,7 +26,10 @@ void main() async { // Scans and displays Bluetooth devices in range, and allows to connect to them. class ApollineApp extends StatelessWidget { - // This widget is the root of your application. + Color mainColor = Color.fromRGBO(47, 56, 92, 1); + Color secondaryColor = Color.fromRGBO(123, 137, 191, 1); + Color tertiaryColor = Color.fromRGBO(181, 187, 217, 1); + @override Widget build(BuildContext context) { return MaterialApp( @@ -35,8 +38,11 @@ class ApollineApp extends StatelessWidget { locale: context.locale, title: 'Apolline', theme: ThemeData( - primaryColor: Colors.green, - floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: Colors.lightGreen) + primaryColor: mainColor, + backgroundColor: mainColor, + appBarTheme: AppBarTheme(backgroundColor: mainColor), + floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: secondaryColor), + toggleableActiveColor: tertiaryColor ), home: BluetoothDevicesPage(), ); diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 5862672f..5f889c64 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -266,7 +266,6 @@ class _SensorViewState extends State { child: Scaffold( key: _scaffoldMessengerKey, appBar: AppBar( - backgroundColor: Theme.of(context).primaryColor, bottom: TabBar( tabs: [ Tab(icon: Icon(Icons.home)), From cb453aa593b964b1010687f2c59e35ae2e0aa0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 15:25:28 +0200 Subject: [PATCH 362/522] [feat] adding a padding around devices view --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index d28d4c27..4f0259c0 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -277,7 +277,7 @@ class _BluetoothDevicesPageState extends State { child: Container( child: ListView( children: _buildDevicesList(), - padding: EdgeInsets.all(10) + padding: EdgeInsets.all(17) ) ) ), From adcedc5190cd1efb481789f8cb177a86d2e3a10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 15:25:45 +0200 Subject: [PATCH 363/522] [feat] adding top padding to quality view --- apolline-flutter/lib/widgets/quality.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 65fb12d9..080b31f8 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -133,8 +133,9 @@ class Quality extends StatelessWidget { //Build gauges @override Widget build(BuildContext context) { - return Scaffold( - body: OrientationBuilder( + return Container( + padding: EdgeInsets.symmetric(vertical: 10), + child: OrientationBuilder( builder: (BuildContext builContext, Orientation orientation) { return Center( child: GridView.count( From 830ca62a45176ce169d722cc1a225a246ca52c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 14 Sep 2021 15:31:08 +0200 Subject: [PATCH 364/522] [refactor] fixing FAB padding on stats view --- apolline-flutter/lib/widgets/stats.dart | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 5f58cc60..94fc6ee9 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -101,24 +101,15 @@ class StatsState extends State implements OnChartValueSelectedListener { } Widget getBody() { - return Stack(children: [ - Positioned( - right: 0, - left: 0, - top: 0, - bottom: 0, - child: LineChart(controller), - ), - Align( - alignment: Alignment.bottomRight, - child: FloatingActionButton( - onPressed: _togglePulsar, - child: Icon( + return Scaffold( + body: LineChart(controller), + floatingActionButton: FloatingActionButton( + onPressed: _togglePulsar, + child: Icon( _dataService.isRunning ? Icons.pause : Icons.play_arrow - ), ), - ), - ]); + ) + ); } @override From 89cfb5a89511fdfb482918b7aaa1ad784bef826d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 09:42:27 +0200 Subject: [PATCH 365/522] [fix] setting theme colors as final --- apolline-flutter/lib/main.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index d4f28237..ca39fcc1 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -26,9 +26,9 @@ void main() async { // Scans and displays Bluetooth devices in range, and allows to connect to them. class ApollineApp extends StatelessWidget { - Color mainColor = Color.fromRGBO(47, 56, 92, 1); - Color secondaryColor = Color.fromRGBO(123, 137, 191, 1); - Color tertiaryColor = Color.fromRGBO(181, 187, 217, 1); + final Color mainColor = Color.fromRGBO(47, 56, 92, 1); + final Color secondaryColor = Color.fromRGBO(123, 137, 191, 1); + final Color tertiaryColor = Color.fromRGBO(181, 187, 217, 1); @override Widget build(BuildContext context) { From fc1c6fde7cb5b076545122b0a8913900e6726f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 11:08:06 +0200 Subject: [PATCH 366/522] [refactor] moving navigation tabs to the bottom of the screen --- apolline-flutter/lib/main.dart | 4 ++++ apolline-flutter/lib/sensor_view.dart | 29 ++++++++++++++++++--------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index ca39fcc1..729e55da 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -42,6 +42,10 @@ class ApollineApp extends StatelessWidget { backgroundColor: mainColor, appBarTheme: AppBarTheme(backgroundColor: mainColor), floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: secondaryColor), + tabBarTheme: TabBarTheme( + labelColor: Colors.white, + unselectedLabelColor: tertiaryColor + ), toggleableActiveColor: tertiaryColor ), home: BluetoothDevicesPage(), diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 5f889c64..49ac52b5 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -258,6 +258,8 @@ class _SensorViewState extends State { ), ); } else { + final ThemeData theme = Theme.of(context); + /* We got data : display them */ return WillPopScope( onWillPop: () => _onWillPop(DeviceConnectionStatusHelper.fromConnectionStatus(isConnected)), @@ -265,21 +267,28 @@ class _SensorViewState extends State { length: 3, child: Scaffold( key: _scaffoldMessengerKey, - appBar: AppBar( - bottom: TabBar( + bottomNavigationBar: Container( + color: theme.primaryColor, + child: TabBar( tabs: [ - Tab(icon: Icon(Icons.home)), - Tab(icon: Icon(Icons.insert_chart)), - Tab(icon: Icon(Icons.map)), + Tab(icon: Icon(Icons.home), text: "Home"), + Tab(icon: Icon(Icons.insert_chart), text: "Chart"), + Tab(icon: Icon(Icons.map), text: "Map") ], ), + ), + appBar: AppBar( title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), ), - body: TabBarView(physics: NeverScrollableScrollPhysics(), children: [ - Quality(lastReceivedData: lastReceivedData), - Stats(), - PMMapView() - ])), + body: TabBarView( + physics: NeverScrollableScrollPhysics(), + children: [ + Quality(lastReceivedData: lastReceivedData), + Stats(), + PMMapView() + ] + ) + ), ), ); } From aa38efc2c7811ee8cd0b62b5efc6f506bdeb6f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 11:35:23 +0200 Subject: [PATCH 367/522] [feat] centering air quality graphs --- apolline-flutter/lib/widgets/quality.dart | 109 +++++++++++----------- 1 file changed, 56 insertions(+), 53 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 080b31f8..52dfa226 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -138,59 +138,62 @@ class Quality extends StatelessWidget { child: OrientationBuilder( builder: (BuildContext builContext, Orientation orientation) { return Center( - child: GridView.count( - primary: false, - padding: const EdgeInsets.all(0), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - //displays 3 gauges when screen is horizontal and 2 when is vertical - crossAxisCount: orientation == Orientation.landscape ? 3 : 2, - children: [ - //creates PM1 gauge - Container( - child: _buildGauge( - "PM1", //title - lastReceivedData.values[DataPointModel.SENSOR_PM_1], //data - "µg/m3", //unit - Colors.blueGrey, //color - new BoxDecoration()), //box - ), - //creates PM2.5 gauge - Container( - child: _buildGauge( - "PM2.5", - lastReceivedData.values[DataPointModel.SENSOR_PM_2_5], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), - ), - //creates PM10 gauge - Container( - child: _buildGauge( - "PM10", - lastReceivedData.values[DataPointModel.SENSOR_PM_10], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), - ), - //creates TEMPERATURE gauge - Container( - child: _buildGauge( - "temperature".tr(), - lastReceivedData.values[DataPointModel.SENSOR_TEMP], - "°C", - Color(0xFFFFCD60), - new BoxDecoration( - image: new DecorationImage( - image: ExactAssetImage( - 'assets/sun.png'), //creates image for temperature gauge - fit: BoxFit.fitHeight))), - ), - //creates BATTERY gauge - Container( - child: _buildGaugeBattery("BAT", - lastReceivedData.values[DataPointModel.SENSOR_VOLT])) - ], + child: Container ( + child: GridView.count( + primary: false, + shrinkWrap: true, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + //displays 3 gauges when screen is horizontal and 2 when is vertical + crossAxisCount: orientation == Orientation.landscape ? 3 : 2, + children: [ + //creates PM1 gauge + Container( + child: _buildGauge( + "PM1", //title + lastReceivedData.values[DataPointModel.SENSOR_PM_1], //data + "µg/m3", //unit + Colors.blueGrey, //color + new BoxDecoration()), //box + ), + //creates PM2.5 gauge + Container( + child: _buildGauge( + "PM2.5", + lastReceivedData.values[DataPointModel.SENSOR_PM_2_5], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + //creates PM10 gauge + Container( + child: _buildGauge( + "PM10", + lastReceivedData.values[DataPointModel.SENSOR_PM_10], + "µg/m3", + Colors.blueGrey, + new BoxDecoration()), + ), + //creates TEMPERATURE gauge + Container( + child: _buildGauge( + "temperature".tr(), + lastReceivedData.values[DataPointModel.SENSOR_TEMP], + "°C", + Color(0xFFFFCD60), + new BoxDecoration( + image: new DecorationImage( + image: ExactAssetImage( + 'assets/sun.png'), //creates image for temperature gauge + fit: BoxFit.fitHeight))), + ), + //creates BATTERY gauge + Container( + child: _buildGaugeBattery("BAT", + lastReceivedData.values[DataPointModel.SENSOR_VOLT])) + ], + ), ), ); }, From 06c9c39376bf308de7ecbf0e6e9a7ccfba6e3138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 11:47:21 +0200 Subject: [PATCH 368/522] [refactor] automatically setting indicators color --- apolline-flutter/lib/main.dart | 1 - apolline-flutter/lib/sensor_view.dart | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 729e55da..9f0b0d39 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -43,7 +43,6 @@ class ApollineApp extends StatelessWidget { appBarTheme: AppBarTheme(backgroundColor: mainColor), floatingActionButtonTheme: FloatingActionButtonThemeData(backgroundColor: secondaryColor), tabBarTheme: TabBarTheme( - labelColor: Colors.white, unselectedLabelColor: tertiaryColor ), toggleableActiveColor: tertiaryColor diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 49ac52b5..50435247 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -270,6 +270,7 @@ class _SensorViewState extends State { bottomNavigationBar: Container( color: theme.primaryColor, child: TabBar( + automaticIndicatorColorAdjustment: true, tabs: [ Tab(icon: Icon(Icons.home), text: "Home"), Tab(icon: Icon(Icons.insert_chart), text: "Chart"), From 2aed74ab0f7d3ae21abdabdbcf658b92e16429ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 11:59:46 +0200 Subject: [PATCH 369/522] [chore] adding flutter_speed_dial dependency --- apolline-flutter/pubspec.lock | 7 +++++++ apolline-flutter/pubspec.yaml | 1 + 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index bd5d2095..45c28ebc 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -186,6 +186,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.3" + flutter_speed_dial: + dependency: "direct main" + description: + name: flutter_speed_dial + url: "https://pub.dartlang.org" + source: hosted + version: "4.3.0" flutter_test: dependency: "direct dev" description: flutter diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 691b0fbb..3b6c8e5a 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -49,6 +49,7 @@ dependencies: grant_and_activate: ^0.0.1 flutter_local_notifications: ^8.2.0 duration_picker: ^1.0.1 + flutter_speed_dial: ^4.3.0 From 718c41cff05acbb2782a35776f69de764aa50d19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 14:16:27 +0200 Subject: [PATCH 370/522] [feat] using a speed dial fab to store map filters --- apolline-flutter/lib/widgets/maps.dart | 42 +++++++++++++++----------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index c6243337..221c7d88 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -14,6 +14,7 @@ import 'package:apollineflutter/configuration_key_name.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; @@ -155,27 +156,32 @@ class _PMMapViewState extends State { circles: this._circles, ); + final ThemeData theme = Theme.of(context); + return new Scaffold( body: googleMap, - floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, - floatingActionButton: Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - FloatingActionButton.extended( - label: Text("mapView.filters.time").tr(), - icon: Icon(Icons.access_time), - onPressed: () { this.chooseTimeFilter(context); } - ), - FloatingActionButton.extended( - label: Text("mapView.filters.size").tr(), - icon: Icon(Icons.cloud_outlined), - onPressed: () { this.choosePm(context); } + floatingActionButton: SpeedDial( + icon: Icons.filter_list, + overlayColor: theme.primaryColor, + spacing: 25, + spaceBetweenChildren: 10, + children: [ + SpeedDialChild( + label: "mapView.filters.time".tr(), + child: FloatingActionButton( + onPressed: () => this.chooseTimeFilter(context), + child: Icon(Icons.access_time), ) - ], - ), - ), + ), + SpeedDialChild( + label: "mapView.filters.size".tr(), + child: FloatingActionButton( + onPressed: () => this.choosePm(context), + child: Icon(Icons.cloud_outlined), + ) + ) + ], + ) ); } From 2eee676507290296d05e52c49d9d8b4e78ce6017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 14:55:04 +0200 Subject: [PATCH 371/522] [fix] speed dial fab is closed when a filter category is selected --- apolline-flutter/lib/widgets/maps.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 221c7d88..5dfe0a3f 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -40,10 +40,12 @@ class _PMMapViewState extends State { Set _circles; ///help for close subscription StreamSubscription _sub; + ValueNotifier _isDialOpen; @override void initState() { super.initState(); + this._isDialOpen = ValueNotifier(false); this._circles = HashSet(); this.updateCirclesFromData(); @@ -120,6 +122,7 @@ class _PMMapViewState extends State { ///select for time ///[ctx] the context of app Future chooseTimeFilter(BuildContext ctx) async{ + this._isDialOpen.value = false; var uConf = widget.ucS.userConf; var val = await this.dialog(ctx, TimeFilterUtils.getLabels(), TimeFilter.values, uConf.timeFilter, "mapView.timeFilters.title"); if(val != null) { @@ -133,6 +136,7 @@ class _PMMapViewState extends State { ///select for choose pm. ///[ctx] the context of app Future choosePm(BuildContext ctx) async { + this._isDialOpen.value = false; var uConf = widget.ucS.userConf; var val = await this.dialog(ctx, PMFilterUtils.getLabels(), PMFilter.values, uConf.pmFilter, "mapView.sizeFilters.title"); if(val != null) { @@ -165,6 +169,7 @@ class _PMMapViewState extends State { overlayColor: theme.primaryColor, spacing: 25, spaceBetweenChildren: 10, + openCloseDial: _isDialOpen, children: [ SpeedDialChild( label: "mapView.filters.time".tr(), From 47701bb4968a33a442ba0a1b0b905e7b1ea2e6ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 15:14:33 +0200 Subject: [PATCH 372/522] [feat] adding translations to bottom navigation bar --- apolline-flutter/assets/translations/en-GB.json | 5 +++++ apolline-flutter/assets/translations/fr-FR.json | 5 +++++ apolline-flutter/lib/sensor_view.dart | 6 +++--- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 8f5665f3..a141d240 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -91,5 +91,10 @@ "title": "Danger threshold", "incorrect": "Must be superior to warning value." } + }, + "navigation": { + "home": "Measures", + "chart": "Chart", + "map": "Map" } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 89c8a741..2fd0a730 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -91,5 +91,10 @@ "title": "Seuil de danger", "incorrect": "Doit être supérieur au seuil d'alerte." } + }, + "navigation": { + "home": "Mesures", + "chart": "Graphique", + "map": "Carte" } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 50435247..98638848 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -272,9 +272,9 @@ class _SensorViewState extends State { child: TabBar( automaticIndicatorColorAdjustment: true, tabs: [ - Tab(icon: Icon(Icons.home), text: "Home"), - Tab(icon: Icon(Icons.insert_chart), text: "Chart"), - Tab(icon: Icon(Icons.map), text: "Map") + Tab(icon: Icon(Icons.home), text: "navigation.home".tr()), + Tab(icon: Icon(Icons.insert_chart), text: "navigation.chart".tr()), + Tab(icon: Icon(Icons.map), text: "navigation.map".tr()) ], ), ), From 2e228dc705f0423231ad1ee3271290dc72e18c77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 15:28:28 +0200 Subject: [PATCH 373/522] [feat] centering sensor view loading text --- apolline-flutter/lib/sensor_view.dart | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 98638848..0bedfb74 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -251,10 +251,17 @@ class _SensorViewState extends State { }), ), body: Center( - child: Column(children: [ - CupertinoActivityIndicator(), - Text(state), - ]), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container ( + child: CupertinoActivityIndicator(), + margin: EdgeInsets.only(bottom: 10) + ), + Text(state), + ] + ), ), ); } else { From 78430ad4256a5e3a5e0c537332cc59a6cdcc6571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 16:02:14 +0200 Subject: [PATCH 374/522] [feat] adding fade in animation on sensor connection --- apolline-flutter/lib/sensor_view.dart | 98 +++++++++++++-------------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 0bedfb74..66c28ed9 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -238,67 +238,65 @@ class _SensorViewState extends State { /* UI update only */ @override Widget build(BuildContext context) { - /* If we are not initialized, display status info */ - if (lastReceivedData == null) { - return Scaffold( - key: _scaffoldMessengerKey, - appBar: AppBar( - title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), - leading: IconButton( - icon: Icon(Icons.arrow_back), - onPressed: () { - _onWillPop(DeviceConnectionStatusHelper.fromConnectionStatus(isConnected)); - }), - ), - body: Center( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container ( - child: CupertinoActivityIndicator(), - margin: EdgeInsets.only(bottom: 10) - ), - Text(state), - ] - ), - ), - ); - } else { - final ThemeData theme = Theme.of(context); + bool hasData = lastReceivedData != null; + final ThemeData theme = Theme.of(context); + final Duration animationDuration = const Duration(milliseconds: 500); - /* We got data : display them */ - return WillPopScope( + return WillPopScope( onWillPop: () => _onWillPop(DeviceConnectionStatusHelper.fromConnectionStatus(isConnected)), child: DefaultTabController( - length: 3, - child: Scaffold( - key: _scaffoldMessengerKey, - bottomNavigationBar: Container( - color: theme.primaryColor, - child: TabBar( - automaticIndicatorColorAdjustment: true, - tabs: [ - Tab(icon: Icon(Icons.home), text: "navigation.home".tr()), - Tab(icon: Icon(Icons.insert_chart), text: "navigation.chart".tr()), - Tab(icon: Icon(Icons.map), text: "navigation.map".tr()) - ], + length: 3, + child: Scaffold( + key: _scaffoldMessengerKey, + bottomNavigationBar: Container( + color: theme.primaryColor, + child: TabBar( + automaticIndicatorColorAdjustment: true, + tabs: [ + Tab(icon: Icon(Icons.home), text: "navigation.home".tr()), + Tab(icon: Icon(Icons.insert_chart), text: "navigation.chart".tr()), + Tab(icon: Icon(Icons.map), text: "navigation.map".tr()) + ], + ), + ), + appBar: AppBar( + title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), + ), + body: Stack( + children: [ + AnimatedOpacity( + opacity: hasData ? 0.0 : 1.0, + duration: animationDuration, + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container ( + child: CupertinoActivityIndicator(), + margin: EdgeInsets.only(bottom: 10) + ), + Text(state), + ] + ), ), ), - appBar: AppBar( - title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), - ), - body: TabBarView( + + AnimatedOpacity( + opacity: hasData ? 1.0 : 0.0, + duration: animationDuration, + child: TabBarView( physics: NeverScrollableScrollPhysics(), children: [ Quality(lastReceivedData: lastReceivedData), Stats(), PMMapView() ] + ), ) - ), - ), - ); - } + ]), + ) + ) + ); } } From 132d7ae68190a417b60a01cd695bad44d41ebccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 16:19:34 +0200 Subject: [PATCH 375/522] [feat] bottom navigation is not usable while connecting to sensor --- apolline-flutter/lib/sensor_view.dart | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 66c28ed9..b37ef364 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -248,15 +248,21 @@ class _SensorViewState extends State { length: 3, child: Scaffold( key: _scaffoldMessengerKey, - bottomNavigationBar: Container( - color: theme.primaryColor, - child: TabBar( - automaticIndicatorColorAdjustment: true, - tabs: [ - Tab(icon: Icon(Icons.home), text: "navigation.home".tr()), - Tab(icon: Icon(Icons.insert_chart), text: "navigation.chart".tr()), - Tab(icon: Icon(Icons.map), text: "navigation.map".tr()) - ], + bottomNavigationBar: IgnorePointer( + ignoring: !hasData, + child: ColorFiltered( + colorFilter: hasData ? ColorFilter.mode(Colors.transparent, BlendMode.exclusion) : ColorFilter.mode(Colors.grey.shade500, BlendMode.modulate), + child: Container( + color: theme.primaryColor, + child: TabBar( + automaticIndicatorColorAdjustment: true, + tabs: [ + Tab(icon: Icon(Icons.home), text: "navigation.home".tr()), + Tab(icon: Icon(Icons.insert_chart), text: "navigation.chart".tr()), + Tab(icon: Icon(Icons.map), text: "navigation.map".tr()) + ], + ), + ), ), ), appBar: AppBar( From 89eb29432998e60583eadc3f24b51b4eb691ab50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 15 Sep 2021 16:27:21 +0200 Subject: [PATCH 376/522] [fix] not trying to render gauge graphs without data --- apolline-flutter/lib/widgets/quality.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 52dfa226..632367bb 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -133,6 +133,8 @@ class Quality extends StatelessWidget { //Build gauges @override Widget build(BuildContext context) { + if (lastReceivedData == null) + return Container(); return Container( padding: EdgeInsets.symmetric(vertical: 10), child: OrientationBuilder( From 1f4fff692dbbd47ec1b6e89b5de2fc4138dc0eaf Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 17 Sep 2021 12:32:35 +0200 Subject: [PATCH 377/522] [chore] pushing version number to v1.3.0 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 3b6c8e5a..c82fa0bc 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.1+4 +version: 1.3.0+5 publish_to: none environment: From 15ac2a9300e4e35dce53e152b711af838a9d3f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 10:25:25 +0200 Subject: [PATCH 378/522] [chore] adding syncfusion_flutter_charts dependency --- apolline-flutter/pubspec.lock | 9 ++++++++- apolline-flutter/pubspec.yaml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 45c28ebc..10b4e4f7 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -602,13 +602,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.0" + syncfusion_flutter_charts: + dependency: "direct main" + description: + name: syncfusion_flutter_charts + url: "https://pub.dartlang.org" + source: hosted + version: "19.2.62" syncfusion_flutter_core: dependency: transitive description: name: syncfusion_flutter_core url: "https://pub.dartlang.org" source: hosted - version: "19.2.60" + version: "19.2.62" syncfusion_flutter_gauges: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index c82fa0bc..907cee55 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -50,6 +50,7 @@ dependencies: flutter_local_notifications: ^8.2.0 duration_picker: ^1.0.1 flutter_speed_dial: ^4.3.0 + syncfusion_flutter_charts: ^19.2.62 From 1537edf957d9eddf945ab7a3794ec3d96cef9393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 10:54:04 +0200 Subject: [PATCH 379/522] [fix] setting syncfusion_flutter_gauges version to v19.2.62 --- apolline-flutter/pubspec.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 10b4e4f7..cfbd590f 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -622,7 +622,7 @@ packages: name: syncfusion_flutter_gauges url: "https://pub.dartlang.org" source: hosted - version: "19.2.60" + version: "19.2.62" synchronized: dependency: transitive description: From fbcc08132022024175e1da6daeee89a51412c1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 10:54:45 +0200 Subject: [PATCH 380/522] [feat] displaying PM2.5 particles concentration live with graph from new lib --- apolline-flutter/lib/widgets/stats.dart | 51 +++++++++++++++++++------ 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 94fc6ee9..97e53f94 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -4,6 +4,7 @@ import 'dart:core'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:mp_chart/mp/chart/line_chart.dart'; @@ -20,6 +21,7 @@ import 'package:mp_chart/mp/core/highlight/highlight.dart'; import 'package:mp_chart/mp/core/utils/color_utils.dart'; import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:syncfusion_flutter_charts/charts.dart'; @@ -38,6 +40,7 @@ class StatsState extends State implements OnChartValueSelectedListener { Stream _dataStream = locator().dataStream; // a controller with the stream it controls. StreamSubscription _streamSubscription; + List _data; // contorller for chart LineChartController controller; // Line PM1 @@ -60,9 +63,13 @@ class StatsState extends State implements OnChartValueSelectedListener { @override void initState() { - _initController(); + this._data = []; + + // _initController(); // add point to chart after recieve newData _streamSubscription = _dataStream.listen((newData) { + setState(() => _data.add(newData)); + if (intialized) { _addEntry( 0, i0++, double.parse(newData.values[DataPointModel.SENSOR_PM_1])); @@ -100,21 +107,41 @@ class StatsState extends State implements OnChartValueSelectedListener { setState(() {}); } - Widget getBody() { + @override + Widget build(BuildContext context) { return Scaffold( - body: LineChart(controller), - floatingActionButton: FloatingActionButton( - onPressed: _togglePulsar, - child: Icon( - _dataService.isRunning ? Icons.pause : Icons.play_arrow - ), - ) + body: _getChart(), // LineChart(controller), + floatingActionButton: FloatingActionButton( + onPressed: _togglePulsar, + child: Icon( + _dataService.isRunning ? Icons.pause : Icons.play_arrow + ), + ) ); } - @override - Widget build(BuildContext context) { - return getBody(); + Widget _getChart () { + return SfCartesianChart( + + primaryXAxis: CategoryAxis(), + // Chart title + title: ChartTitle(text: 'Pollution exposition'), + // Enable legend + legend: Legend(isVisible: true), + // Enable tooltip + // tooltipBehavior: _tooltipBehavior, + + series: >[ + LineSeries( + dataSource: this._data, + xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_2_5.getRowIndex()]), + dataLabelSettings: DataLabelSettings(isVisible: true), + name: "PM2.5", + color: Colors.red + ) + ] + ); } //init chart From a9bf6c958b89900d71e8b53ce283d2cec172d073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 10:57:48 +0200 Subject: [PATCH 381/522] [feat] displaying PM2.5 + PM10 on graph --- apolline-flutter/lib/widgets/stats.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 97e53f94..6b7553c6 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -132,6 +132,14 @@ class StatsState extends State implements OnChartValueSelectedListener { // tooltipBehavior: _tooltipBehavior, series: >[ + LineSeries( + dataSource: this._data, + xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_1.getRowIndex()]), + dataLabelSettings: DataLabelSettings(isVisible: true), + name: "PM1", + color: Colors.black + ), LineSeries( dataSource: this._data, xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), @@ -139,6 +147,14 @@ class StatsState extends State implements OnChartValueSelectedListener { dataLabelSettings: DataLabelSettings(isVisible: true), name: "PM2.5", color: Colors.red + ), + LineSeries( + dataSource: this._data, + xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_10.getRowIndex()]), + dataLabelSettings: DataLabelSettings(isVisible: true), + name: "PM10", + color: Colors.yellow ) ] ); From 55966d428a871d7a6dbc1891bbc3f39cd53359af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 11:10:31 +0200 Subject: [PATCH 382/522] [refactor] removing useless code --- apolline-flutter/lib/widgets/stats.dart | 168 +----------------------- 1 file changed, 4 insertions(+), 164 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 6b7553c6..661830f6 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -7,20 +7,6 @@ import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:mp_chart/mp/chart/line_chart.dart'; -import 'package:mp_chart/mp/controller/line_chart_controller.dart'; -import 'package:mp_chart/mp/core/common_interfaces.dart'; -import 'package:mp_chart/mp/core/data/line_data.dart'; -import 'package:mp_chart/mp/core/data_interfaces/i_line_data_set.dart'; -import 'package:mp_chart/mp/core/data_set/line_data_set.dart'; -import 'package:mp_chart/mp/core/description.dart'; -import 'package:mp_chart/mp/core/entry/entry.dart'; -import 'package:mp_chart/mp/core/enums/axis_dependency.dart'; -import 'package:mp_chart/mp/core/enums/x_axis_position.dart'; -import 'package:mp_chart/mp/core/highlight/highlight.dart'; -import 'package:mp_chart/mp/core/utils/color_utils.dart'; -import 'package:mp_chart/mp/core/value_formatter/value_formatter.dart'; -import 'package:easy_localization/easy_localization.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; @@ -33,28 +19,13 @@ class Stats extends StatefulWidget { } } -class StatsState extends State implements OnChartValueSelectedListener { +class StatsState extends State { StatsState({Key key}); RealtimeDataService _dataService = locator(); - // stream to listen the arrival of new data Stream _dataStream = locator().dataStream; - // a controller with the stream it controls. StreamSubscription _streamSubscription; List _data; - // contorller for chart - LineChartController controller; - // Line PM1 - ILineDataSet setPM1; - // Line PM2.5 - ILineDataSet setPM2_5; - // Line PM10 - ILineDataSet setPM10; - bool intialized = false; - double i0 = 0; - double i1 = 0; - double i2 = 0; - // used to get format date - List _dataTimeX = []; + @override void dispose() { _streamSubscription.cancel(); @@ -64,55 +35,18 @@ class StatsState extends State implements OnChartValueSelectedListener { @override void initState() { this._data = []; - - // _initController(); - // add point to chart after recieve newData _streamSubscription = _dataStream.listen((newData) { setState(() => _data.add(newData)); - - if (intialized) { - _addEntry( - 0, i0++, double.parse(newData.values[DataPointModel.SENSOR_PM_1])); - _addEntry( - 1, i1++, double.parse(newData.values[DataPointModel.SENSOR_PM_2_5])); - _addEntry( - 2, i2++, double.parse(newData.values[DataPointModel.SENSOR_PM_10])); - _dataTimeX.add(newData.values[DataPointModel.SENSOR_DATE]); - setState(() {}); - } }); super.initState(); - //create line for PM1, PM2.5 and PM10 - Timer(Duration(milliseconds: 0), () { - LineData data = controller?.data; - data = LineData(); - controller.data = data; - setPM1 = _createSet("PM1", Colors.black); - data.addDataSet(setPM1); - setPM2_5 = _createSet("PM2.5", Colors.red); - data.addDataSet(setPM2_5); - setPM10 = _createSet("PM10", Colors.yellow); - data.addDataSet(setPM10); - intialized = true; - }); - } - - // button to stop or play chart - void _togglePulsar() { - if (_dataService.isRunning) { - _dataService.stop(); - } else { - _dataService.start(); - } - setState(() {}); } @override Widget build(BuildContext context) { return Scaffold( - body: _getChart(), // LineChart(controller), + body: _getChart(), floatingActionButton: FloatingActionButton( - onPressed: _togglePulsar, + onPressed: () => _dataService.isRunning ? _dataService.stop() : _dataService.start(), child: Icon( _dataService.isRunning ? Icons.pause : Icons.play_arrow ), @@ -128,8 +62,6 @@ class StatsState extends State implements OnChartValueSelectedListener { title: ChartTitle(text: 'Pollution exposition'), // Enable legend legend: Legend(isVisible: true), - // Enable tooltip - // tooltipBehavior: _tooltipBehavior, series: >[ LineSeries( @@ -159,96 +91,4 @@ class StatsState extends State implements OnChartValueSelectedListener { ] ); } - - //init chart - void _initController() { - var desc = Description()..enabled = false; - controller = LineChartController( - axisLeftSettingFunction: (axisLeft, controller) { - axisLeft - ..drawGridLines = (false) - ..setAxisMinimum(0); - }, - axisRightSettingFunction: (axisRight, controller) { - axisRight - ..drawGridLines = (false) - ..setAxisMinimum(0); - }, - legendSettingFunction: (legend, controller) { - legend - ..wordWrapEnabled = (true) - ..drawInside = (false); - }, - xAxisSettingFunction: (xAxis, controller) { - xAxis - ..position = (XAxisPosition.BOTH_SIDED) - ..setAxisMinimum(0) - ..setGranularity(1) - ..setValueFormatter(A(_dataTimeX)) - ..setAxisMaximum( - controller.data == null ? 0 : controller.data.xMax + 0.25); - }, - noDataText: - "statsView.noData".tr(), - drawGridBackground: false, - dragXEnabled: true, - dragYEnabled: true, - scaleXEnabled: true, - scaleYEnabled: true, - selectionListener: this, - pinchZoomEnabled: true, - description: desc); - } - - @override - void onNothingSelected() {} - - @override - void onValueSelected(Entry e, Highlight h) {} - - final List colors = ColorUtils.VORDIPLOM_COLORS; - - // add point (x, y) for line which the index is setIndex - void _addEntry(int setIndex, double x, double y) { - LineData data = controller?.data; - - if (data == null) { - data = LineData(); - controller.data = data; - } - data.addEntry(Entry(x: x, y: y), setIndex); - data.notifyDataChanged(); - - controller.setVisibleXRangeMaximum(6); - controller.moveViewTo( - (data.getEntryCount() - 7).toDouble(), 50, AxisDependency.LEFT); - controller.state?.setStateIfNotDispose(); - } - - // create line data for PM1, PM10, PM2.5 - LineDataSet _createSet(String name, Color color) { - LineDataSet set = LineDataSet(null, name); - set.setLineWidth(2.5); - set.setCircleRadius(4.5); - set.setColor1(color); - set.setCircleColor(Color.fromARGB(255, 240, 99, 99)); - set.setHighLightColor(Color.fromARGB(255, 190, 190, 190)); - set.setAxisDependency(AxisDependency.LEFT); - set.setValueTextSize(10); - return set; - } -} - -// used to format date -class A extends ValueFormatter { - A(this._dataTimeX) : super(); - - final List _dataTimeX; - // get format date - @override - String getFormattedValue1(double value) { - List timeX = - _dataTimeX[value.toInt() % _dataTimeX.length].split('_'); - return timeX[3] + ':' + timeX[4] + ':' + timeX[5]; - } } From cbc3a843a63ba786eb2c45902773075f81f2edb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 11:35:41 +0200 Subject: [PATCH 383/522] [feat] formatting points date --- apolline-flutter/lib/widgets/stats.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 661830f6..7164d5bb 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -5,6 +5,7 @@ import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; @@ -54,6 +55,9 @@ class StatsState extends State { ); } + String _getPointTimeLabel (DataPointModel point) => + DateFormat.Hms().format(DateTime.fromMillisecondsSinceEpoch(point.date)); + Widget _getChart () { return SfCartesianChart( @@ -66,7 +70,7 @@ class StatsState extends State { series: >[ LineSeries( dataSource: this._data, - xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + xValueMapper: (DataPointModel point, _) => _getPointTimeLabel(point), yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_1.getRowIndex()]), dataLabelSettings: DataLabelSettings(isVisible: true), name: "PM1", @@ -74,7 +78,7 @@ class StatsState extends State { ), LineSeries( dataSource: this._data, - xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + xValueMapper: (DataPointModel point, _) => _getPointTimeLabel(point), yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_2_5.getRowIndex()]), dataLabelSettings: DataLabelSettings(isVisible: true), name: "PM2.5", @@ -82,7 +86,7 @@ class StatsState extends State { ), LineSeries( dataSource: this._data, - xValueMapper: (DataPointModel point, _) => DateTime.fromMillisecondsSinceEpoch(point.date).toString(), + xValueMapper: (DataPointModel point, _) => _getPointTimeLabel(point), yValueMapper: (DataPointModel point, _) => double.parse(point.values[PMFilter.PM_10.getRowIndex()]), dataLabelSettings: DataLabelSettings(isVisible: true), name: "PM10", From ff3cb96e73762312501c3f30ed9d51678e0930ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 11:37:54 +0200 Subject: [PATCH 384/522] [chore] removing deprecated mp_chart dependency --- apolline-flutter/pubspec.lock | 44 ----------------------------------- apolline-flutter/pubspec.yaml | 5 ---- 2 files changed, 49 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index cfbd590f..ffc696ad 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -308,13 +308,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.4" - image_gallery_saver: - dependency: transitive - description: - name: image_gallery_saver - url: "https://pub.dartlang.org" - source: hosted - version: "1.6.9" intl: dependency: transitive description: @@ -364,22 +357,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.7.0" - mp_chart: - dependency: "direct main" - description: - path: mp_chart - ref: master - resolved-ref: f437182d14f9bb9c0497fd196b01f0b2ffe0e7d8 - url: "git://github.com/Hub-Varith/MPFlutterChart.git" - source: git - version: "0.3.1" - optimized_gesture_detector: - dependency: transitive - description: - name: optimized_gesture_detector - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.6" path: dependency: transitive description: @@ -387,20 +364,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" - path_drawing: - dependency: transitive - description: - name: path_drawing - url: "https://pub.dartlang.org" - source: hosted - version: "0.5.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.1" path_provider: dependency: "direct main" description: @@ -499,13 +462,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.26.0" - screenshot: - dependency: transitive - description: - name: screenshot - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.0" shared_preferences: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 907cee55..fef81abf 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -28,11 +28,6 @@ dependencies: cupertino_icons: ^1.0.3 syncfusion_flutter_gauges: ^19.2.47 get_it: ^7.1.3 - mp_chart: - git: - url: git://github.com/Hub-Varith/MPFlutterChart.git - ref: master - path: mp_chart google_maps_flutter: ^2.0.6 flutter_launcher_icons: ^0.9.0 http: ^0.13.3 From 8faaf02fbe256b7c573c91ef13c663de6c4f6901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 14:28:02 +0200 Subject: [PATCH 385/522] [feat] adding a new battery indicator widget --- .../widgets/charts/BatteryLevelIndicator.dart | 178 ++++++++++++++++++ apolline-flutter/lib/widgets/quality.dart | 84 +-------- 2 files changed, 183 insertions(+), 79 deletions(-) create mode 100644 apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart new file mode 100644 index 00000000..d168446f --- /dev/null +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -0,0 +1,178 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:syncfusion_flutter_gauges/gauges.dart'; + +class BatteryLevelIndicator extends StatefulWidget { + final double currentBatteryLevel; + final double minimumLevel = 0; + final double maximumLevel = 100; + final double maximumSensorBatteryLevel = 4.15; + + const BatteryLevelIndicator({Key key, @required this.currentBatteryLevel}) : super(key: key); + + @override + State createState() => _BatteryLevelIndicatorState(); +} + +class _BatteryLevelIndicatorState extends State { + @override + Widget build(BuildContext context) { + return Center(child: _buildBatteryIndicator(context)); + } + + /// https://github.com/syncfusion/flutter-examples/blob/master/lib/samples/linear_gauge/showcase/battery_indicator.dart + Widget _buildBatteryIndicator(BuildContext context) { + final Brightness _brightness = Theme.of(context).brightness; + final double batteryLevelPercentage = (widget.currentBatteryLevel * 100) / widget.maximumSensorBatteryLevel; + + final Color _fillColor = batteryLevelPercentage <= 25 + ? const Color(0xffF45656) + : batteryLevelPercentage <= 50 + ? const Color(0xffFFC93E) + : Colors.green[400]; + return Container( + width: 145, + child: SfLinearGauge( + minimum: widget.minimumLevel, + maximum: widget.maximumLevel, + showLabels: false, + showTicks: false, + tickPosition: LinearElementPosition.cross, + majorTickStyle: + const LinearTickStyle(color: Colors.green, length: 20), + minorTickStyle: const LinearTickStyle(color: Colors.red, length: 10), + axisTrackStyle: const LinearAxisTrackStyle( + thickness: 1, color: Colors.transparent), + ranges: [ + LinearGaugeRange( + startValue: widget.minimumLevel, + startWidth: 70, + endWidth: 70, + color: Colors.transparent, + endValue: widget.maximumLevel - 2, + position: LinearElementPosition.cross, + child: Container( + decoration: BoxDecoration( + color: Colors.transparent, + shape: BoxShape.rectangle, + border: Border.all( + color: _brightness == Brightness.light + ? const Color(0xffAAAAAA) + : const Color(0xff4D4D4D), + width: 4), + borderRadius: + const BorderRadius.all(Radius.circular(12))))), + LinearGaugeRange( + startValue: widget.minimumLevel + 5, + startWidth: 55, + endWidth: 55, + endValue: batteryLevelPercentage < widget.maximumLevel / 4 + ? batteryLevelPercentage + : widget.maximumLevel / 4, + position: LinearElementPosition.cross, + color: Colors.transparent, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + color: _fillColor, + borderRadius: BorderRadius.circular(4)))), + LinearGaugeRange( + startValue: batteryLevelPercentage >= (widget.maximumLevel / 4 + 2) + ? (widget.maximumLevel / 4 + 2) + : widget.minimumLevel + 5, + endValue: batteryLevelPercentage < (widget.maximumLevel / 4 + 2) + ? widget.minimumLevel + 5 + : batteryLevelPercentage <= widget.maximumLevel / 2 + ? batteryLevelPercentage + : widget.maximumLevel / 2, + startWidth: 55, + endWidth: 55, + position: LinearElementPosition.cross, + edgeStyle: LinearEdgeStyle.bothFlat, + rangeShapeType: LinearRangeShapeType.flat, + color: Colors.transparent, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + color: _fillColor, + borderRadius: BorderRadius.circular(4)))), + LinearGaugeRange( + startValue: batteryLevelPercentage >= (widget.maximumLevel / 2 + 2) + ? (widget.maximumLevel / 2 + 2) + : widget.minimumLevel + 5, + endValue: batteryLevelPercentage < (widget.maximumLevel / 2 + 2) + ? widget.minimumLevel + 5 + : batteryLevelPercentage <= (widget.maximumLevel * 3 / 4) + ? batteryLevelPercentage + : (widget.maximumLevel * 3 / 4), + startWidth: 55, + endWidth: 55, + position: LinearElementPosition.cross, + color: Colors.transparent, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + color: _fillColor, + borderRadius: BorderRadius.circular(4)))), + LinearGaugeRange( + startValue: batteryLevelPercentage >= (widget.maximumLevel * 3 / 4 + 2) + ? (widget.maximumLevel * 3 / 4 + 2) + : widget.minimumLevel + 5, + endValue: batteryLevelPercentage < (widget.maximumLevel * 3 / 4 + 2) + ? widget.minimumLevel + 5 + : batteryLevelPercentage < widget.maximumLevel + ? batteryLevelPercentage + : widget.maximumLevel - 7, + startWidth: 55, + endWidth: 55, + position: LinearElementPosition.cross, + color: Colors.transparent, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + color: _fillColor, + borderRadius: BorderRadius.circular(4)))), + ], + markerPointers: [ + LinearWidgetPointer( + value: widget.maximumLevel, + enableAnimation: false, + markerAlignment: LinearMarkerAlignment.start, + child: Container( + height: 38, + width: 16, + decoration: BoxDecoration( + color: _brightness == Brightness.light + ? Colors.transparent + : const Color(0xff232323), + shape: BoxShape.rectangle, + border: Border.all( + color: _brightness == Brightness.light + ? const Color(0xffAAAAAA) + : const Color(0xff4D4D4D), + width: 4), + borderRadius: const BorderRadius.only( + topRight: Radius.circular(6), + bottomRight: Radius.circular(6))))) + ], + barPointers: [ + LinearBarPointer( + value: 100, + thickness: 30, + position: LinearElementPosition.outside, + offset: 50, + enableAnimation: false, + color: Colors.transparent, + child: Center( + child: Text( + batteryLevelPercentage.toStringAsFixed(0) + '%', + style: TextStyle( + fontWeight: FontWeight.bold, fontSize: 25) + ), + ), + ), + ], + )); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 632367bb..50eff773 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -1,4 +1,5 @@ import 'package:apollineflutter/models/data_point_model.dart'; +import 'package:apollineflutter/widgets/charts/BatteryLevelIndicator.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -53,83 +54,6 @@ class Quality extends StatelessWidget { ]); } - //Build BATTERY gauge - SfRadialGauge _buildGaugeBattery(String title, String data) { - String level; - double pointer; - if (double.parse(data) > 3.97) { - //80 100 - level = "100"; - pointer = 100; - } else if (double.parse(data) >= 3.87) { - //60 80 - level = "80"; - pointer = 80; - } else if (double.parse(data) >= 3.79) { - //60 80 - level = "60"; - pointer = 60; - } else if (double.parse(data) >= 3.70) { - //40 60 - level = "40"; - pointer = 40; - } else { - //0 20 - level = "20"; - pointer = 20; - } - //Creates Battery gauge parts - return SfRadialGauge(title: GaugeTitle(text: title), axes: [ - RadialAxis(minimum: 0, maximum: 100, ranges: [ - //first part - GaugeRange( - startValue: 0, - endValue: 20, - color: Colors.red, - startWidth: 10, - endWidth: 10), - //second part - GaugeRange( - startValue: 20, - endValue: 40, - color: Colors.orange, - startWidth: 10, - endWidth: 10), - //third part - GaugeRange( - startValue: 40, - endValue: 60, - color: Colors.green[200], - startWidth: 10, - endWidth: 10), - //forth part - GaugeRange( - startValue: 60, - endValue: 80, - color: Colors.green[300], - startWidth: 10, - endWidth: 10), - //fifth part - GaugeRange( - startValue: 80, - endValue: 100, - color: Colors.green, - startWidth: 10, - endWidth: 10) - ], pointers: [ - NeedlePointer(value: pointer) - ], annotations: [ - GaugeAnnotation( - widget: Container( - child: Text(level, - style: - TextStyle(fontSize: 25, fontWeight: FontWeight.bold))), - angle: 90, - positionFactor: 0.5) - ]) - ]); - } - //Build gauges @override Widget build(BuildContext context) { @@ -192,8 +116,10 @@ class Quality extends StatelessWidget { ), //creates BATTERY gauge Container( - child: _buildGaugeBattery("BAT", - lastReceivedData.values[DataPointModel.SENSOR_VOLT])) + child: BatteryLevelIndicator( + currentBatteryLevel: double.parse(lastReceivedData.values[DataPointModel.SENSOR_VOLT]) + ) + ) ], ), ), From 314e45271687c3dc9ae5fa6eb8f74fb78fde3273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 15:28:13 +0200 Subject: [PATCH 386/522] [feat] adding a new radial gauge widget --- .../lib/widgets/charts/RadialGauge.dart | 100 ++++++++++++++++++ apolline-flutter/lib/widgets/quality.dart | 45 ++++---- 2 files changed, 123 insertions(+), 22 deletions(-) create mode 100644 apolline-flutter/lib/widgets/charts/RadialGauge.dart diff --git a/apolline-flutter/lib/widgets/charts/RadialGauge.dart b/apolline-flutter/lib/widgets/charts/RadialGauge.dart new file mode 100644 index 00000000..ddc3c64c --- /dev/null +++ b/apolline-flutter/lib/widgets/charts/RadialGauge.dart @@ -0,0 +1,100 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:syncfusion_flutter_gauges/gauges.dart'; + +class RadialGauge extends StatefulWidget { + final String indicatorTitle; + + final double minimumValue; + final double maximumValue; + final double currentValue; + + const RadialGauge({Key key, + @required this.indicatorTitle, + @required this.minimumValue, + @required this.maximumValue, + @required this.currentValue + }) : super(key: key); + + @override + State createState() => _RadialGaugeState(); +} + +class _RadialGaugeState extends State { + @override + Widget build(BuildContext context) { + return Center(child: _buildGauge(context)); + } + + Widget _buildGauge(BuildContext context) { + return SfRadialGauge( + enableLoadingAnimation: true, + axes: [ + RadialAxis( + showLabels: false, + showTicks: false, + radiusFactor: 0.8, + minimum: widget.minimumValue, + maximum: widget.maximumValue, + axisLineStyle: const AxisLineStyle( + cornerStyle: CornerStyle.startCurve, thickness: 5), + annotations: [ + GaugeAnnotation( + angle: 90, + positionFactor: 0, + widget: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text(widget.currentValue.toStringAsFixed(2), + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 30)), + Padding( + padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Text( + widget.indicatorTitle, + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 14), + ), + ) + ], + )), + GaugeAnnotation( + angle: 124, + positionFactor: 1.1, + widget: Container( + child: Text(widget.minimumValue.toStringAsFixed(0), + style: TextStyle(fontSize: 14)), + )), + GaugeAnnotation( + angle: 54, + positionFactor: 1.1, + widget: Container( + child: Text(widget.maximumValue.toStringAsFixed(0), + style: TextStyle(fontSize: 14)), + )), + ], + pointers: [ + RangePointer( + value: widget.currentValue, + width: 18, + pointerOffset: -6, + cornerStyle: CornerStyle.bothCurve, + color: Theme.of(context).primaryColor, + gradient: SweepGradient( + colors: [Color.fromRGBO(181, 187, 217, 1), Color.fromRGBO(123, 137, 191, 1)], + stops: [0.25, 0.75]), + ), + MarkerPointer( + value: widget.currentValue, + color: Colors.white, + markerType: MarkerType.circle, + ), + ]), + ], + ); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 50eff773..e949349a 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -1,5 +1,6 @@ import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/widgets/charts/BatteryLevelIndicator.dart'; +import 'package:apollineflutter/widgets/charts/RadialGauge.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -12,8 +13,17 @@ class Quality extends StatelessWidget { Quality({Key key, this.lastReceivedData}) : super(key: key); + Widget _buildNewGauge(String title, double data, double minimumValue, double maximumValue) { + return RadialGauge( + indicatorTitle: title, + minimumValue: minimumValue, + maximumValue: maximumValue, + currentValue: data + ); + } + //Commun method to create similar gauge (PM1, PM2.5 , PM10 and TEMPERATURE) - SfRadialGauge _buildGauge(String title, String data, String unit, Color color, + Widget _buildGauge(String title, String data, String unit, Color color, BoxDecoration boxDecoration) { return SfRadialGauge(title: GaugeTitle(text: title), axes: [ RadialAxis( @@ -74,32 +84,23 @@ class Quality extends StatelessWidget { //displays 3 gauges when screen is horizontal and 2 when is vertical crossAxisCount: orientation == Orientation.landscape ? 3 : 2, children: [ - //creates PM1 gauge Container( - child: _buildGauge( - "PM1", //title - lastReceivedData.values[DataPointModel.SENSOR_PM_1], //data - "µg/m3", //unit - Colors.blueGrey, //color - new BoxDecoration()), //box + child: _buildNewGauge("PM1 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_1]), + 0, + 20) //box ), - //creates PM2.5 gauge Container( - child: _buildGauge( - "PM2.5", - lastReceivedData.values[DataPointModel.SENSOR_PM_2_5], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), + child: _buildNewGauge("PM2.5 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_2_5]), + 0, + 20), ), - //creates PM10 gauge Container( - child: _buildGauge( - "PM10", - lastReceivedData.values[DataPointModel.SENSOR_PM_10], - "µg/m3", - Colors.blueGrey, - new BoxDecoration()), + child: _buildNewGauge("PM10 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_10]), + 0, + 20), ), //creates TEMPERATURE gauge Container( From bf714f2848c07f336476297070947d99b37666ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 15:37:31 +0200 Subject: [PATCH 387/522] [fix] gauge does not crash if current value is outside specified bounds --- apolline-flutter/lib/widgets/charts/RadialGauge.dart | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/RadialGauge.dart b/apolline-flutter/lib/widgets/charts/RadialGauge.dart index ddc3c64c..8ea4be8d 100644 --- a/apolline-flutter/lib/widgets/charts/RadialGauge.dart +++ b/apolline-flutter/lib/widgets/charts/RadialGauge.dart @@ -27,6 +27,12 @@ class _RadialGaugeState extends State { } Widget _buildGauge(BuildContext context) { + final double localCurrentValue = widget.currentValue > widget.maximumValue + ? widget.maximumValue + : widget.currentValue < widget.minimumValue + ? widget.minimumValue + : widget.currentValue; + return SfRadialGauge( enableLoadingAnimation: true, axes: [ @@ -79,7 +85,7 @@ class _RadialGaugeState extends State { ], pointers: [ RangePointer( - value: widget.currentValue, + value: localCurrentValue, width: 18, pointerOffset: -6, cornerStyle: CornerStyle.bothCurve, @@ -89,7 +95,7 @@ class _RadialGaugeState extends State { stops: [0.25, 0.75]), ), MarkerPointer( - value: widget.currentValue, + value: localCurrentValue, color: Colors.white, markerType: MarkerType.circle, ), From 4f12f5bbd603f8013f436020ab95f4b6c35f72b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 16:24:46 +0200 Subject: [PATCH 388/522] [refactor] removing temperature gauge --- apolline-flutter/assets/sun.png | Bin 10168 -> 0 bytes apolline-flutter/lib/widgets/quality.dart | 31 +++++++++++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) delete mode 100644 apolline-flutter/assets/sun.png diff --git a/apolline-flutter/assets/sun.png b/apolline-flutter/assets/sun.png deleted file mode 100644 index b1df8b55a1d8356da3bb44c416e3093f289db11f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10168 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[ + Text(double.parse(lastReceivedData.values[DataPointModel.SENSOR_TEMP]).toStringAsFixed(2) + '°C', + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 30)), + Padding( + padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Text( + "temperature".tr(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 14), + ), + ) + ], + ) ), //creates BATTERY gauge Container( From af342b597accd29305a58a1129d67ec2186cbdc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 16:27:23 +0200 Subject: [PATCH 389/522] [chore] removing useless image --- apolline-flutter/pubspec.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index fef81abf..77745297 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -61,7 +61,6 @@ dev_dependencies: flutter: assets: - - assets/sun.png - assets/config_dev.json - assets/translations/ # The following line ensures that the Material Icons font is From 1eb16ad2b19097db30c5c3ac7a03f752f3e6c88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 16:32:11 +0200 Subject: [PATCH 390/522] [refactor] removing useless code --- apolline-flutter/lib/widgets/quality.dart | 43 ----------------------- 1 file changed, 43 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index ab2dfd15..33e7d383 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -4,7 +4,6 @@ import 'package:apollineflutter/widgets/charts/RadialGauge.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:syncfusion_flutter_gauges/gauges.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -22,48 +21,6 @@ class Quality extends StatelessWidget { ); } - //Commun method to create similar gauge (PM1, PM2.5 , PM10 and TEMPERATURE) - Widget _buildGauge(String title, String data, String unit, Color color, - BoxDecoration boxDecoration) { - return SfRadialGauge(title: GaugeTitle(text: title), axes: [ - RadialAxis( - interval: 10, - startAngle: 0, - endAngle: 360, - showTicks: false, - showLabels: false, - axisLineStyle: AxisLineStyle(thickness: 20), - pointers: [ - RangePointer( - value: double.parse(data), - width: 20, - color: color, - enableAnimation: true, - cornerStyle: CornerStyle.bothCurve) - ], - annotations: [ - GaugeAnnotation( - widget: Column( - children: [ - Container( - width: 50.00, height: 50.00, decoration: boxDecoration), - Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 0), - child: Container( - child: Text(data + unit, - style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 25)), - ), - ) - ], - ), - angle: 270, - positionFactor: 0.9, - verticalAlignment: GaugeAlignment.near) - ]) - ]); - } - //Build gauges @override Widget build(BuildContext context) { From 6c358c222640b1a5593cae565c883975ebdd9cf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 20 Sep 2021 16:54:45 +0200 Subject: [PATCH 391/522] [refactor] each graph is made by a dedicated method --- apolline-flutter/lib/widgets/quality.dart | 115 +++++++++++++--------- 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 33e7d383..b8cc1c8a 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -21,6 +21,68 @@ class Quality extends StatelessWidget { ); } + Widget _getPM1Gauge () { + return Container( + child: _buildNewGauge("PM1 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_1]), + 0, + 20) //box + ); + } + + Widget _getPM25Gauge () { + return Container( + child: _buildNewGauge("PM2.5 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_2_5]), + 0, + 20), + ); + } + + Widget _getPM10Gauge () { + return Container( + child: _buildNewGauge("PM10 (µg/m3)", + double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_10]), + 0, + 20), + ); + } + + Widget _getTemperatureInfo () { + return Container( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(double.parse(lastReceivedData.values[DataPointModel.SENSOR_TEMP]).toStringAsFixed(2) + '°C', + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 30)), + Padding( + padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Text( + "temperature".tr(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic, + fontSize: 14), + ), + ) + ], + ) + ); + } + + Widget _getBatteryInfo () { + return Container( + child: BatteryLevelIndicator( + currentBatteryLevel: double.parse(lastReceivedData.values[DataPointModel.SENSOR_VOLT]) + ) + ); + } + + //Build gauges @override Widget build(BuildContext context) { @@ -41,54 +103,11 @@ class Quality extends StatelessWidget { //displays 3 gauges when screen is horizontal and 2 when is vertical crossAxisCount: orientation == Orientation.landscape ? 3 : 2, children: [ - Container( - child: _buildNewGauge("PM1 (µg/m3)", - double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_1]), - 0, - 20) //box - ), - Container( - child: _buildNewGauge("PM2.5 (µg/m3)", - double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_2_5]), - 0, - 20), - ), - Container( - child: _buildNewGauge("PM10 (µg/m3)", - double.parse(lastReceivedData.values[DataPointModel.SENSOR_PM_10]), - 0, - 20), - ), - //creates TEMPERATURE gauge - Container( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text(double.parse(lastReceivedData.values[DataPointModel.SENSOR_TEMP]).toStringAsFixed(2) + '°C', - style: TextStyle( - fontWeight: FontWeight.bold, - fontStyle: FontStyle.italic, - fontSize: 30)), - Padding( - padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), - child: Text( - "temperature".tr(), - style: TextStyle( - fontWeight: FontWeight.bold, - fontStyle: FontStyle.italic, - fontSize: 14), - ), - ) - ], - ) - ), - //creates BATTERY gauge - Container( - child: BatteryLevelIndicator( - currentBatteryLevel: double.parse(lastReceivedData.values[DataPointModel.SENSOR_VOLT]) - ) - ) + this._getPM1Gauge(), + this._getPM25Gauge(), + this._getPM10Gauge(), + this._getTemperatureInfo(), + this._getBatteryInfo() ], ), ), From d6770d6b5fd1bda3fae27fe1038b35b653f35d3e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 21 Sep 2021 08:02:30 +0200 Subject: [PATCH 392/522] [chore] updating release notes --- releaseNotes/whatsnew-en-GB | 6 ++++++ releaseNotes/whatsnew-fr-FR | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 8f8b81b8..5c6b3632 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,3 +1,9 @@ +# 1.3.0 + +* Reviewing entire application design. + +# 1.2.1 + * Application does not crash anymore if geolocation is not activated; * User can define warning and danger thresholds for all PM categories; * Notifications are automatically sent if current PM values exceed thresholds. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index b3ef7398..ec81babb 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,9 @@ +# 1.3.0 + +* Le design de l'application a été retravaillé. + +# 1.2.1 + * L'application ne plante plus si la géolocalisation est désactivée ; * L'utilisateur peut définir des seuils d'alerte et de danger pour toutes les catégories de particules fines ; * Des notifications sont envoyées automatiquement si les mesures de PM dépassent les seuils prédéfinis. \ No newline at end of file From c0d025adca805149c0aa9f359d4edad923c70432 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 21 Sep 2021 08:11:44 +0200 Subject: [PATCH 393/522] [chore] development build is uploaded to the Play Store as test release --- .github/workflows/release_ci.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 009f046d..c975e7a9 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -3,6 +3,7 @@ on: push: branches: - master + - develop env: FLUTTER_VERSION: '2.5.0' @@ -54,11 +55,22 @@ jobs: run: flutter build appbundle working-directory: apolline-flutter - - name: Deploy bundle to Play store + - name: Deploy production bundle to Play store + if: contains(github.ref, "master") uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab track: production + whatsNewDirectory: releaseNotes + + - name: Deploy test bundle to Play store + if: contains(github.ref, "develop") + uses: r0adkll/upload-google-play@v1 + with: + serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} + packageName: com.science.apollineflutter + releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab + track: development whatsNewDirectory: releaseNotes \ No newline at end of file From 7c96425dc3d8f98a021551abc605559bd21d80d4 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Tue, 21 Sep 2021 08:16:02 +0200 Subject: [PATCH 394/522] [fix] typo in CI workflow --- .github/workflows/release_ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index c975e7a9..4a319e73 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -56,7 +56,7 @@ jobs: working-directory: apolline-flutter - name: Deploy production bundle to Play store - if: contains(github.ref, "master") + if: endsWith(github.ref, 'master') uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} @@ -66,7 +66,7 @@ jobs: whatsNewDirectory: releaseNotes - name: Deploy test bundle to Play store - if: contains(github.ref, "develop") + if: endsWith(github.ref, 'develop') uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} From 325ffaf45e2fb4a08008bc17304ce7e38e6a93cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 10:12:09 +0200 Subject: [PATCH 395/522] [refactor] reviewing gauges layout on portrait mode --- apolline-flutter/lib/widgets/quality.dart | 67 ++++++++++++++++------- 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index b8cc1c8a..1a503b98 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -91,27 +91,54 @@ class Quality extends StatelessWidget { return Container( padding: EdgeInsets.symmetric(vertical: 10), child: OrientationBuilder( - builder: (BuildContext builContext, Orientation orientation) { - return Center( - child: Container ( - child: GridView.count( - primary: false, - shrinkWrap: true, - padding: const EdgeInsets.all(0), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - //displays 3 gauges when screen is horizontal and 2 when is vertical - crossAxisCount: orientation == Orientation.landscape ? 3 : 2, - children: [ - this._getPM1Gauge(), - this._getPM25Gauge(), - this._getPM10Gauge(), - this._getTemperatureInfo(), - this._getBatteryInfo() - ], + builder: (_, Orientation orientation) { + bool isLandscape = orientation == Orientation.landscape; + + if (isLandscape) { + return Center( + child: Container ( + child: GridView.count( + primary: false, + shrinkWrap: true, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + crossAxisCount: 3, + children: [ + this._getPM1Gauge(), + this._getPM25Gauge(), + this._getPM10Gauge(), + this._getTemperatureInfo(), + this._getBatteryInfo() + ], + ), ), - ), - ); + ); + } else { + return Column( + children: [ + Expanded( + child: Row( + children: [ + Expanded(child: this._getPM1Gauge()), + Expanded(child: this._getPM25Gauge()), + ], + ), + ), + Expanded( + child: this._getPM10Gauge(), + ), + Expanded( + child: Row( + children: [ + Expanded(child: this._getTemperatureInfo()), + Expanded(child: this._getBatteryInfo()) + ], + ) + ) + ], + ); + } }, ), ); From f6a65e135fd3723447a5f6167ebd2e24b2610083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 10:17:03 +0200 Subject: [PATCH 396/522] [fix] removing padding from gauges view on landscape mode --- apolline-flutter/lib/widgets/quality.dart | 60 +++++++++++------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/apolline-flutter/lib/widgets/quality.dart b/apolline-flutter/lib/widgets/quality.dart index 1a503b98..ec6d256f 100644 --- a/apolline-flutter/lib/widgets/quality.dart +++ b/apolline-flutter/lib/widgets/quality.dart @@ -88,34 +88,34 @@ class Quality extends StatelessWidget { Widget build(BuildContext context) { if (lastReceivedData == null) return Container(); - return Container( - padding: EdgeInsets.symmetric(vertical: 10), - child: OrientationBuilder( - builder: (_, Orientation orientation) { - bool isLandscape = orientation == Orientation.landscape; + return OrientationBuilder( + builder: (_, Orientation orientation) { + bool isLandscape = orientation == Orientation.landscape; - if (isLandscape) { - return Center( - child: Container ( - child: GridView.count( - primary: false, - shrinkWrap: true, - padding: const EdgeInsets.all(0), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - crossAxisCount: 3, - children: [ - this._getPM1Gauge(), - this._getPM25Gauge(), - this._getPM10Gauge(), - this._getTemperatureInfo(), - this._getBatteryInfo() - ], - ), + if (isLandscape) { + return Center( + child: Container ( + child: GridView.count( + primary: false, + shrinkWrap: true, + padding: const EdgeInsets.all(0), + crossAxisSpacing: 10, + mainAxisSpacing: 10, + crossAxisCount: 3, + children: [ + this._getPM1Gauge(), + this._getPM25Gauge(), + this._getPM10Gauge(), + this._getTemperatureInfo(), + this._getBatteryInfo() + ], ), - ); - } else { - return Column( + ), + ); + } else { + return Container( + padding: EdgeInsets.symmetric(vertical: 30), + child: Column( children: [ Expanded( child: Row( @@ -137,10 +137,10 @@ class Quality extends StatelessWidget { ) ) ], - ); - } - }, - ), + ) + ); + } + }, ); } } From 25d37cfc8895148efe729ea6801197e0cf522180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 10:43:31 +0200 Subject: [PATCH 397/522] [feat] displaying data from last 5 minutes on graph by default --- apolline-flutter/lib/widgets/stats.dart | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 7164d5bb..69181adb 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -4,7 +4,9 @@ import 'dart:core'; import 'package:apollineflutter/models/data_point_model.dart'; import 'package:apollineflutter/services/realtime_data_service.dart'; import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:apollineflutter/utils/time_filter.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; @@ -26,6 +28,8 @@ class StatsState extends State { Stream _dataStream = locator().dataStream; StreamSubscription _streamSubscription; List _data; + Duration _dataDurationFilter; + SqfLiteService _sqfLiteService; @override void dispose() { @@ -36,9 +40,19 @@ class StatsState extends State { @override void initState() { this._data = []; - _streamSubscription = _dataStream.listen((newData) { - setState(() => _data.add(newData)); - }); + this._dataDurationFilter = Duration(minutes: 5); + this._sqfLiteService = SqfLiteService(); + + this._sqfLiteService.getAllDataPointsAfterDate(TimeFilter.LAST_5_MIN) + .then((points){ + setState(() { + this._data = points; + }); + _streamSubscription = _dataStream.listen((newData) { + setState(() => _data.add(newData)); + }); + }); + super.initState(); } From 87f81eb4f60c7efd0171915d23a2622c31059c57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 10:51:12 +0200 Subject: [PATCH 398/522] [feat] graph only displays data from last 5 minutes --- apolline-flutter/lib/widgets/stats.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 69181adb..5dbd2c25 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -49,7 +49,11 @@ class StatsState extends State { this._data = points; }); _streamSubscription = _dataStream.listen((newData) { - setState(() => _data.add(newData)); + int timeDelta = DateTime.now().millisecondsSinceEpoch - 60000*TimeFilter.LAST_5_MIN.toMinutes(); + setState(() { + _data.add(newData); + _data = _data.where((element) => element.date > timeDelta).toList(); + }); }); }); From 0834f5e7177f08871a81de82f3c975198d5715be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 10:54:41 +0200 Subject: [PATCH 399/522] [refactor] using TimeFilter class to filter graph data --- apolline-flutter/lib/widgets/stats.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 5dbd2c25..c0e24b8f 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -28,7 +28,7 @@ class StatsState extends State { Stream _dataStream = locator().dataStream; StreamSubscription _streamSubscription; List _data; - Duration _dataDurationFilter; + TimeFilter _dataDurationFilter; SqfLiteService _sqfLiteService; @override @@ -40,16 +40,16 @@ class StatsState extends State { @override void initState() { this._data = []; - this._dataDurationFilter = Duration(minutes: 5); + this._dataDurationFilter = TimeFilter.LAST_5_MIN; this._sqfLiteService = SqfLiteService(); - this._sqfLiteService.getAllDataPointsAfterDate(TimeFilter.LAST_5_MIN) + this._sqfLiteService.getAllDataPointsAfterDate(this._dataDurationFilter) .then((points){ setState(() { this._data = points; }); _streamSubscription = _dataStream.listen((newData) { - int timeDelta = DateTime.now().millisecondsSinceEpoch - 60000*TimeFilter.LAST_5_MIN.toMinutes(); + int timeDelta = DateTime.now().millisecondsSinceEpoch - 60000*this._dataDurationFilter.toMinutes(); setState(() { _data.add(newData); _data = _data.where((element) => element.date > timeDelta).toList(); From 6610ec57f7fbd36640405381da022b7d78f85177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 11:23:47 +0200 Subject: [PATCH 400/522] [feat] data duration can be filtered through a speed dial fab --- apolline-flutter/lib/widgets/stats.dart | 64 +++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index c0e24b8f..f5a99da1 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -10,6 +10,7 @@ import 'package:apollineflutter/utils/time_filter.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; @@ -30,6 +31,7 @@ class StatsState extends State { List _data; TimeFilter _dataDurationFilter; SqfLiteService _sqfLiteService; + ValueNotifier _isDialOpen; @override void dispose() { @@ -42,6 +44,7 @@ class StatsState extends State { this._data = []; this._dataDurationFilter = TimeFilter.LAST_5_MIN; this._sqfLiteService = SqfLiteService(); + this._isDialOpen = ValueNotifier(false); this._sqfLiteService.getAllDataPointsAfterDate(this._dataDurationFilter) .then((points){ @@ -62,13 +65,64 @@ class StatsState extends State { @override Widget build(BuildContext context) { + final ThemeData theme = Theme.of(context); + return Scaffold( body: _getChart(), - floatingActionButton: FloatingActionButton( - onPressed: () => _dataService.isRunning ? _dataService.stop() : _dataService.start(), - child: Icon( - _dataService.isRunning ? Icons.pause : Icons.play_arrow - ), + floatingActionButton: SpeedDial( + icon: Icons.settings, + overlayColor: theme.primaryColor, + spacing: 25, + spaceBetweenChildren: 10, + openCloseDial: _isDialOpen, + children: [ + SpeedDialChild( + label: _dataService.isRunning ? "Pause data gathering" : "Resume data gathering", + child: FloatingActionButton( + onPressed: () { + _isDialOpen.value = false; + _dataService.isRunning ? _dataService.stop() : _dataService.start(); + }, + child: Icon(_dataService.isRunning ? Icons.pause : Icons.play_arrow), + ) + ), + SpeedDialChild( + label: "Display data from last minute", + child: FloatingActionButton( + onPressed: () { + setState(() { + _isDialOpen.value = false; + this._dataDurationFilter = TimeFilter.LAST_MIN; + }); + }, + child: Icon(Icons.filter_list), + ) + ), + SpeedDialChild( + label: "Display data from last 5 minutes", + child: FloatingActionButton( + onPressed: () { + setState(() { + _isDialOpen.value = false; + this._dataDurationFilter = TimeFilter.LAST_5_MIN; + }); + }, + child: Icon(Icons.filter_list), + ) + ), + SpeedDialChild( + label: "Display data from last 15 minutes", + child: FloatingActionButton( + onPressed: () { + setState(() { + _isDialOpen.value = false; + this._dataDurationFilter = TimeFilter.LAST_15_MIN; + }); + }, + child: Icon(Icons.filter_list), + ) + ), + ], ) ); } From 8b5dcff79ba47058b3d2a92e391516a66f6bc4a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 11:37:10 +0200 Subject: [PATCH 401/522] [refactor] rewriting speed dial buttons creation --- apolline-flutter/lib/widgets/stats.dart | 86 +++++++++++-------------- 1 file changed, 38 insertions(+), 48 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index f5a99da1..8cc25b9e 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -63,6 +63,43 @@ class StatsState extends State { super.initState(); } + List _getSpeedDialButtons () { + List buttons = [ + SpeedDialChild( + label: _dataService.isRunning ? "Pause data gathering" : "Resume data gathering", + child: FloatingActionButton( + onPressed: () { + _isDialOpen.value = false; + _dataService.isRunning ? _dataService.stop() : _dataService.start(); + }, + child: Icon(_dataService.isRunning ? Icons.pause : Icons.play_arrow), + ) + ) + ]; + + [ + TimeFilter.LAST_MIN, + TimeFilter.LAST_5_MIN, + TimeFilter.LAST_15_MIN + ] + .forEach((element) { + buttons.add(SpeedDialChild( + label: element.toString(), + child: FloatingActionButton( + onPressed: () { + setState(() { + _isDialOpen.value = false; + this._dataDurationFilter = element; + }); + }, + child: Icon(Icons.filter_list), + ) + )); + }); + + return buttons; + } + @override Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); @@ -75,54 +112,7 @@ class StatsState extends State { spacing: 25, spaceBetweenChildren: 10, openCloseDial: _isDialOpen, - children: [ - SpeedDialChild( - label: _dataService.isRunning ? "Pause data gathering" : "Resume data gathering", - child: FloatingActionButton( - onPressed: () { - _isDialOpen.value = false; - _dataService.isRunning ? _dataService.stop() : _dataService.start(); - }, - child: Icon(_dataService.isRunning ? Icons.pause : Icons.play_arrow), - ) - ), - SpeedDialChild( - label: "Display data from last minute", - child: FloatingActionButton( - onPressed: () { - setState(() { - _isDialOpen.value = false; - this._dataDurationFilter = TimeFilter.LAST_MIN; - }); - }, - child: Icon(Icons.filter_list), - ) - ), - SpeedDialChild( - label: "Display data from last 5 minutes", - child: FloatingActionButton( - onPressed: () { - setState(() { - _isDialOpen.value = false; - this._dataDurationFilter = TimeFilter.LAST_5_MIN; - }); - }, - child: Icon(Icons.filter_list), - ) - ), - SpeedDialChild( - label: "Display data from last 15 minutes", - child: FloatingActionButton( - onPressed: () { - setState(() { - _isDialOpen.value = false; - this._dataDurationFilter = TimeFilter.LAST_15_MIN; - }); - }, - child: Icon(Icons.filter_list), - ) - ), - ], + children: this._getSpeedDialButtons(), ) ); } From 187fff908071bd8854de4f9c3b93d34bec0b798c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 11:42:26 +0200 Subject: [PATCH 402/522] [feat] time filters from speed dial fab are translated --- apolline-flutter/lib/utils/time_filter.dart | 6 ++++++ apolline-flutter/lib/widgets/stats.dart | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/time_filter.dart b/apolline-flutter/lib/utils/time_filter.dart index 6a0af85d..fb5b1071 100644 --- a/apolline-flutter/lib/utils/time_filter.dart +++ b/apolline-flutter/lib/utils/time_filter.dart @@ -56,6 +56,12 @@ extension TimeFilterUtils on TimeFilter { return TimeFilterUtils._values[this].toMinutes(); } + String get labelKey { + if (TimeFilterUtils._values[this] == null) + throw RangeError("This TimeFilter has no label."); + return TimeFilterUtils._values[this].label; + } + static List getLabels () { return TimeFilter.values.map((filter) => TimeFilterUtils._values[filter].label.tr()).toList(); } diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 8cc25b9e..70514c6e 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -84,7 +84,7 @@ class StatsState extends State { ] .forEach((element) { buttons.add(SpeedDialChild( - label: element.toString(), + label: element.labelKey.tr(), child: FloatingActionButton( onPressed: () { setState(() { From c31d650939191150987e182a5a5a698510a226d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 11:52:33 +0200 Subject: [PATCH 403/522] [fix] filtering received data on filter selection --- apolline-flutter/lib/widgets/stats.dart | 31 ++++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 70514c6e..522331c0 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -46,23 +46,25 @@ class StatsState extends State { this._sqfLiteService = SqfLiteService(); this._isDialOpen = ValueNotifier(false); - this._sqfLiteService.getAllDataPointsAfterDate(this._dataDurationFilter) - .then((points){ - setState(() { - this._data = points; - }); - _streamSubscription = _dataStream.listen((newData) { - int timeDelta = DateTime.now().millisecondsSinceEpoch - 60000*this._dataDurationFilter.toMinutes(); - setState(() { - _data.add(newData); - _data = _data.where((element) => element.date > timeDelta).toList(); - }); - }); + this._updateDataFrom(this._dataDurationFilter).then((value) { + _streamSubscription = _dataStream.listen((newData) { + int timeDelta = DateTime.now().millisecondsSinceEpoch - 60000*this._dataDurationFilter.toMinutes(); + setState(() { + _data.add(newData); + _data = _data.where((element) => element.date > timeDelta).toList(); }); - + }); + }); super.initState(); } + Future _updateDataFrom(TimeFilter filter) async { + List points = await this._sqfLiteService.getAllDataPointsAfterDate(filter); + setState(() { + this._data = points; + }); + } + List _getSpeedDialButtons () { List buttons = [ SpeedDialChild( @@ -87,10 +89,11 @@ class StatsState extends State { label: element.labelKey.tr(), child: FloatingActionButton( onPressed: () { + _isDialOpen.value = false; setState(() { - _isDialOpen.value = false; this._dataDurationFilter = element; }); + this._updateDataFrom(element); }, child: Icon(Icons.filter_list), ) From 2fe4a4d3878731f129d6f4583da835f6e968fe7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 12:00:52 +0200 Subject: [PATCH 404/522] [fix] using theme color for speed dial buttons --- apolline-flutter/lib/widgets/stats.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 522331c0..c630874c 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -79,6 +79,8 @@ class StatsState extends State { ) ]; + final ThemeData theme = Theme.of(context); + [ TimeFilter.LAST_MIN, TimeFilter.LAST_5_MIN, @@ -88,6 +90,7 @@ class StatsState extends State { buttons.add(SpeedDialChild( label: element.labelKey.tr(), child: FloatingActionButton( + backgroundColor: theme.toggleableActiveColor, onPressed: () { _isDialOpen.value = false; setState(() { From 026c8d47359ebe5db452083e2208a5c4dd32d22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 12:59:18 +0200 Subject: [PATCH 405/522] [fix] adjusting padding around stats chart --- apolline-flutter/lib/widgets/stats.dart | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index c630874c..4b3b9f20 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -111,7 +111,10 @@ class StatsState extends State { final ThemeData theme = Theme.of(context); return Scaffold( - body: _getChart(), + body: Container( + child: _getChart(), + margin: EdgeInsets.only(top: 15, bottom: 40, right: 10) + ), floatingActionButton: SpeedDial( icon: Icons.settings, overlayColor: theme.primaryColor, @@ -128,11 +131,7 @@ class StatsState extends State { Widget _getChart () { return SfCartesianChart( - primaryXAxis: CategoryAxis(), - // Chart title - title: ChartTitle(text: 'Pollution exposition'), - // Enable legend legend: Legend(isVisible: true), series: >[ From b151820625330b480bcf6316009c5876a6aab698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 14:21:08 +0200 Subject: [PATCH 406/522] [feat] displaying a loader instead of empty graph when there's no data --- apolline-flutter/lib/widgets/stats.dart | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index 4b3b9f20..c0c4d346 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -8,6 +8,7 @@ import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/time_filter.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; @@ -112,7 +113,21 @@ class StatsState extends State { return Scaffold( body: Container( - child: _getChart(), + child: this._data.isEmpty + ? Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container ( + child: CupertinoActivityIndicator(), + margin: EdgeInsets.only(bottom: 10) + ), + Text("connectionMessages.waiting").tr() + ], + ) + ) + : _getChart(), margin: EdgeInsets.only(top: 15, bottom: 40, right: 10) ), floatingActionButton: SpeedDial( From 2f154982e5c826de7f58e5c2f007fb5b34f47d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 14:33:25 +0200 Subject: [PATCH 407/522] [fix] adjusting maximum sensor battery level --- apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart index d168446f..d113873b 100644 --- a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -7,7 +7,7 @@ class BatteryLevelIndicator extends StatefulWidget { final double currentBatteryLevel; final double minimumLevel = 0; final double maximumLevel = 100; - final double maximumSensorBatteryLevel = 4.15; + final double maximumSensorBatteryLevel = 4.20; const BatteryLevelIndicator({Key key, @required this.currentBatteryLevel}) : super(key: key); From bfd58c706ccdd2bcb40e7fe4a84391946dd69f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 14:47:21 +0200 Subject: [PATCH 408/522] [fix] taking minimum battery value in count while computing current battery level --- apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart index d113873b..8a2d44cd 100644 --- a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -7,6 +7,7 @@ class BatteryLevelIndicator extends StatefulWidget { final double currentBatteryLevel; final double minimumLevel = 0; final double maximumLevel = 100; + final double minimumSensorBatteryLevel = 3.50; final double maximumSensorBatteryLevel = 4.20; const BatteryLevelIndicator({Key key, @required this.currentBatteryLevel}) : super(key: key); @@ -24,7 +25,7 @@ class _BatteryLevelIndicatorState extends State { /// https://github.com/syncfusion/flutter-examples/blob/master/lib/samples/linear_gauge/showcase/battery_indicator.dart Widget _buildBatteryIndicator(BuildContext context) { final Brightness _brightness = Theme.of(context).brightness; - final double batteryLevelPercentage = (widget.currentBatteryLevel * 100) / widget.maximumSensorBatteryLevel; + final double batteryLevelPercentage = (widget.currentBatteryLevel - widget.minimumSensorBatteryLevel) * 100 / (widget.maximumSensorBatteryLevel - widget.minimumSensorBatteryLevel); final Color _fillColor = batteryLevelPercentage <= 25 ? const Color(0xffF45656) From 29cc3b72be70da883c9e210830b474ece832515f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 14:52:41 +0200 Subject: [PATCH 409/522] [chore] pushing version to v1.4.0 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 77745297..9cf9b86f 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.3.0+5 +version: 1.4.0+6 publish_to: none environment: From ed54a2de138eaca57f5f2810843537acd5db4ffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 14:54:48 +0200 Subject: [PATCH 410/522] [fix] setting development release track to "beta" --- .github/workflows/release_ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 4a319e73..35f8e54a 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -72,5 +72,5 @@ jobs: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter releaseFiles: apolline-flutter/build/app/outputs/bundle/release/*.aab - track: development - whatsNewDirectory: releaseNotes \ No newline at end of file + track: beta + whatsNewDirectory: releaseNotes From 1cd1ff243dbd84d68ac0cb1ac7d88f9860566bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 15:03:50 +0200 Subject: [PATCH 411/522] [feat] adding translations for graph pause button --- apolline-flutter/assets/translations/en-GB.json | 3 ++- apolline-flutter/assets/translations/fr-FR.json | 3 ++- apolline-flutter/lib/widgets/stats.dart | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index a141d240..38194bd7 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -24,7 +24,8 @@ }, "temperature": "TEMPERATURE", "statsView": { - "noData": "No chart data available." + "pauseGathering": "Pause data gathering", + "startGathering": "Resume data gathering" }, "mapView": { "timeFilters": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 2fd0a730..dbe59146 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -24,7 +24,8 @@ }, "temperature": "TEMPÉRATURE", "statsView": { - "noData": "Pas de données disponibles." + "pauseGathering": "Mettre en pause l'affichage des données", + "startGathering": "Reprendre l'affichage des données" }, "mapView": { "timeFilters": { diff --git a/apolline-flutter/lib/widgets/stats.dart b/apolline-flutter/lib/widgets/stats.dart index c0c4d346..55a997b8 100644 --- a/apolline-flutter/lib/widgets/stats.dart +++ b/apolline-flutter/lib/widgets/stats.dart @@ -69,7 +69,9 @@ class StatsState extends State { List _getSpeedDialButtons () { List buttons = [ SpeedDialChild( - label: _dataService.isRunning ? "Pause data gathering" : "Resume data gathering", + label: _dataService.isRunning + ? "statsView.pauseGathering".tr() + : "statsView.resumeGathering".tr(), child: FloatingActionButton( onPressed: () { _isDialOpen.value = false; From 90074056d8b454681f77027f7bec42bfc7d9c1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 15:19:25 +0200 Subject: [PATCH 412/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 7 +++++++ releaseNotes/whatsnew-fr-FR | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 5c6b3632..b547e5fa 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,3 +1,10 @@ +# 1.4.0 + +* Completely rewriting all graphs; +* Data live-displayed on the graph can be filtered (1/5/15 minutes old); +* Displayed battery level is more accurate; +* Removing deprecated dependencies and unused code. + # 1.3.0 * Reviewing entire application design. diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index ec81babb..53d6684c 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,10 @@ +# 1.4.0 + +* Tous les graphes ont été réécrits pour une meilleure lisibilité ; +* Les données affichées sur le graphe peuvent être filtrées (datant de moins de 1/5/15 minutes) ; +* Le niveau de batterie affiché est plus précis ; +* Des dépendences obsolètes ainsi que du code inutile ont été supprimés. + # 1.3.0 * Le design de l'application a été retravaillé. From 9ec08f6f9380be9347bcb7423ad2c523108e3d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 15:44:52 +0200 Subject: [PATCH 413/522] [fix] only keeping last version release notes --- releaseNotes/whatsnew-en-GB | 14 +------------- releaseNotes/whatsnew-fr-FR | 14 +------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index b547e5fa..3f584da0 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,16 +1,4 @@ -# 1.4.0 - * Completely rewriting all graphs; * Data live-displayed on the graph can be filtered (1/5/15 minutes old); * Displayed battery level is more accurate; -* Removing deprecated dependencies and unused code. - -# 1.3.0 - -* Reviewing entire application design. - -# 1.2.1 - -* Application does not crash anymore if geolocation is not activated; -* User can define warning and danger thresholds for all PM categories; -* Notifications are automatically sent if current PM values exceed thresholds. \ No newline at end of file +* Removing deprecated dependencies and unused code. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 53d6684c..df79f983 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,16 +1,4 @@ -# 1.4.0 - * Tous les graphes ont été réécrits pour une meilleure lisibilité ; * Les données affichées sur le graphe peuvent être filtrées (datant de moins de 1/5/15 minutes) ; * Le niveau de batterie affiché est plus précis ; -* Des dépendences obsolètes ainsi que du code inutile ont été supprimés. - -# 1.3.0 - -* Le design de l'application a été retravaillé. - -# 1.2.1 - -* L'application ne plante plus si la géolocalisation est désactivée ; -* L'utilisateur peut définir des seuils d'alerte et de danger pour toutes les catégories de particules fines ; -* Des notifications sont envoyées automatiquement si les mesures de PM dépassent les seuils prédéfinis. \ No newline at end of file +* Des dépendences obsolètes ainsi que du code inutile ont été supprimés. \ No newline at end of file From 1a20d110645f247ed49492a410ac74c7d340d354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 16:28:00 +0200 Subject: [PATCH 414/522] [feat] database can remove old data points (older than one week) --- apolline-flutter/lib/services/sqflite_service.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index 3186c336..e79e6e48 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -123,6 +123,15 @@ class SqfLiteService { await db.execute(query, ids); } + /// Deletes models that are more than one-week-old. + /// Models that have not been synchronized with the backend are ignored. + Future removeOldModels() async { + Database db = await database; + var time = DateTime.now().subtract(Duration(days: 7)).millisecondsSinceEpoch; + int rowsCount = await db.delete(dataPointTableName, where: "$columnDate <= ?", whereArgs: [time]); + print("Removed $rowsCount data points older than one week."); + } + // SQL close database Future close() async { From 1cb890fc5208ec431ead89c20fab3943c46dbbfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 16:35:09 +0200 Subject: [PATCH 415/522] [fix] removing old models shouldn't remove non-synchronized models --- apolline-flutter/lib/services/sqflite_service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/services/sqflite_service.dart b/apolline-flutter/lib/services/sqflite_service.dart index e79e6e48..c78cd851 100644 --- a/apolline-flutter/lib/services/sqflite_service.dart +++ b/apolline-flutter/lib/services/sqflite_service.dart @@ -128,7 +128,7 @@ class SqfLiteService { Future removeOldModels() async { Database db = await database; var time = DateTime.now().subtract(Duration(days: 7)).millisecondsSinceEpoch; - int rowsCount = await db.delete(dataPointTableName, where: "$columnDate <= ?", whereArgs: [time]); + int rowsCount = await db.delete(dataPointTableName, where: "$columnDate <= ? AND $columnSynchro = 1", whereArgs: [time]); print("Removed $rowsCount data points older than one week."); } From 425aa2e6c654ad809ccdead0a62ba5f5a6801e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 16:49:50 +0200 Subject: [PATCH 416/522] [feat] old points are deleted on backend synchronization --- apolline-flutter/lib/twins/SensorTwin.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 0e0fa2ef..c10b8ca3 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -179,6 +179,8 @@ class SensorTwin { /// Retrieves all data points from local database that have not been sent /// to InfluxDB yet, and sends them. + /// Points that have been sent to backend are marked as synchronized, and are + /// deleted from local database if they're more than one-week-old. void _synchronizationCallback () async { // find not-synchronized data List dataPoints = await _sqfLiteService.getNotSynchronizedModels(); @@ -205,7 +207,10 @@ class SensorTwin { // Update local data in sqfLite List ids = models.map((model) => model.id).toList(); - _sqfLiteService.setModelsAsSynchronized(ids); + await _sqfLiteService.setModelsAsSynchronized(ids); + + // Avoiding using too much disk space + _sqfLiteService.removeOldModels(); } } From 58c27c44b8a22a0fcb1c910b19e88f036190851a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 21 Sep 2021 16:52:53 +0200 Subject: [PATCH 417/522] [fix] not trying to remove points several times in case of several HTTP sync calls --- apolline-flutter/lib/twins/SensorTwin.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index c10b8ca3..95a1fc44 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -208,10 +208,10 @@ class SensorTwin { // Update local data in sqfLite List ids = models.map((model) => model.id).toList(); await _sqfLiteService.setModelsAsSynchronized(ids); - - // Avoiding using too much disk space - _sqfLiteService.removeOldModels(); } + + // Avoiding using too much disk space + _sqfLiteService.removeOldModels(); } /// Called when data is received from the sensor From e99d332ed053139261c8aa3ddd20b237e9bacb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 10:05:12 +0200 Subject: [PATCH 418/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 6 ++---- releaseNotes/whatsnew-fr-FR | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 3f584da0..cd792319 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,4 +1,2 @@ -* Completely rewriting all graphs; -* Data live-displayed on the graph can be filtered (1/5/15 minutes old); -* Displayed battery level is more accurate; -* Removing deprecated dependencies and unused code. \ No newline at end of file +Automatically removing data points that are more than one week old. +Non-synchronized points are not deleted. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index df79f983..da2df483 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,4 +1,2 @@ -* Tous les graphes ont été réécrits pour une meilleure lisibilité ; -* Les données affichées sur le graphe peuvent être filtrées (datant de moins de 1/5/15 minutes) ; -* Le niveau de batterie affiché est plus précis ; -* Des dépendences obsolètes ainsi que du code inutile ont été supprimés. \ No newline at end of file +Les données datant de plus d'une semaine sont automatiquement supprimées pour sauvegarder de l'espace disque. +Les données non-synchronisées avec le serveur sont laissées sur le téléphone. \ No newline at end of file From 3ede08366d4224488cd39c577a38c1507cbb6b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 10:06:00 +0200 Subject: [PATCH 419/522] [chore] pushing version to v1.4.1 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 9cf9b86f..4b2c0775 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.4.0+6 +version: 1.4.1+7 publish_to: none environment: From b6c228433277bec029efb13595e063c0ad459c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 10:42:46 +0200 Subject: [PATCH 420/522] [fix] fixing r0adkll/upload-google-play version @v1.0.15 --- .github/workflows/release_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml index 35f8e54a..aab8e298 100644 --- a/.github/workflows/release_ci.yml +++ b/.github/workflows/release_ci.yml @@ -67,7 +67,7 @@ jobs: - name: Deploy test bundle to Play store if: endsWith(github.ref, 'develop') - uses: r0adkll/upload-google-play@v1 + uses: r0adkll/upload-google-play@v1.0.15 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: com.science.apollineflutter From 0884c08abe8b7a4d799dfdb2a68b284135785786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 10:46:19 +0200 Subject: [PATCH 421/522] [feat] adding latitude/longitude sensor fields row indexes --- apolline-flutter/lib/models/data_point_model.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apolline-flutter/lib/models/data_point_model.dart b/apolline-flutter/lib/models/data_point_model.dart index 1b8d4863..dd7d0435 100644 --- a/apolline-flutter/lib/models/data_point_model.dart +++ b/apolline-flutter/lib/models/data_point_model.dart @@ -29,6 +29,9 @@ class DataPointModel { static const int SENSOR_PM_ABOVE_2_5 = 7; static const int SENSOR_PM_ABOVE_5 = 8; static const int SENSOR_PM_ABOVE_10 = 9; + static const int SENSOR_LATITUDE = 10; + static const int SENSOR_LONGITUDE = 11; + String sensorName; int _date; int id; From eced22d981f7e3b641dbd7a0abd6209ee4f2eb76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 11:16:06 +0200 Subject: [PATCH 422/522] [feat] sensor GPS is used when available --- apolline-flutter/lib/twins/SensorTwin.dart | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 95a1fc44..4536f17c 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -8,6 +8,7 @@ import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/sqflite_service.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/position.dart'; +import 'package:apollineflutter/utils/simple_geohash.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -218,9 +219,7 @@ class SensorTwin { DataPointModel _handleSensorUpdate (String message) { if (!message.contains('\n')) return null; print("Got full line: " + message); - List values = message.split(';'); - - var model = DataPointModel(values: values, sensorName: this.name, position: _currentPosition); + DataPointModel model = this._getPointWithPosition(message.split(';')); _dataService.update(model); /* insert to sqflite */ _sqfLiteService.addDataPoint(model.toJSON()); @@ -228,6 +227,21 @@ class SensorTwin { return model; } + /// Returns a data point with the current location. + /// Current location is either: + /// * sensor location, if it currently has access to GPS signal; + /// * phone location otherwise. + DataPointModel _getPointWithPosition (List values) { + double sensorLongitude = double.parse(values[DataPointModel.SENSOR_LONGITUDE]); + double sensorLatitude = double.parse(values[DataPointModel.SENSOR_LATITUDE]); + + Position currentPosition = sensorLongitude == 0 && sensorLatitude == 0 + ? _currentPosition + : Position(provider: "sensor", geohash: SimpleGeoHash.encode(sensorLatitude, sensorLongitude)); + + return DataPointModel(values: values, sensorName: this.name, position: currentPosition); + } + /// Sets up listeners and synchronises sensor clock. /// Must be called before starting data transmission. Future init () async { From 6760de84adcfb45b14cfdef25ddf76ad8f7ff48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 22 Sep 2021 12:06:28 +0200 Subject: [PATCH 423/522] [feat] shutting down phone GPS when using sensor positions --- apolline-flutter/lib/twins/SensorTwin.dart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 4536f17c..17a79de7 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -235,9 +235,17 @@ class SensorTwin { double sensorLongitude = double.parse(values[DataPointModel.SENSOR_LONGITUDE]); double sensorLatitude = double.parse(values[DataPointModel.SENSOR_LATITUDE]); - Position currentPosition = sensorLongitude == 0 && sensorLatitude == 0 - ? _currentPosition - : Position(provider: "sensor", geohash: SimpleGeoHash.encode(sensorLatitude, sensorLongitude)); + Position currentPosition; + + if (sensorLongitude == 0 && sensorLatitude == 0) { + currentPosition = _currentPosition; + _initLocationService(); + } else { + currentPosition = Position( + provider: "sensor", + geohash: SimpleGeoHash.encode(sensorLatitude, sensorLongitude)); + this._locationService?.close(); + } return DataPointModel(values: values, sensorName: this.name, position: currentPosition); } From 1fb8e54660b3975a5275f1872b27e0c4da9d5ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 23 Sep 2021 11:18:11 +0200 Subject: [PATCH 424/522] [fix] Android notification icons must be 100% white --- .../drawable-hdpi/ic_apolline_notification.png | Bin 0 -> 782 bytes .../drawable-mdpi/ic_apolline_notification.png | Bin 0 -> 470 bytes .../drawable-xhdpi/ic_apolline_notification.png | Bin 0 -> 1028 bytes .../drawable-xxhdpi/ic_apolline_notification.png | Bin 0 -> 1593 bytes .../ic_apolline_notification.png | Bin 0 -> 2156 bytes apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/main.dart | 2 +- 7 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 apolline-flutter/android/app/src/main/res/drawable-hdpi/ic_apolline_notification.png create mode 100644 apolline-flutter/android/app/src/main/res/drawable-mdpi/ic_apolline_notification.png create mode 100644 apolline-flutter/android/app/src/main/res/drawable-xhdpi/ic_apolline_notification.png create mode 100644 apolline-flutter/android/app/src/main/res/drawable-xxhdpi/ic_apolline_notification.png create mode 100644 apolline-flutter/android/app/src/main/res/drawable-xxxhdpi/ic_apolline_notification.png diff --git a/apolline-flutter/android/app/src/main/res/drawable-hdpi/ic_apolline_notification.png b/apolline-flutter/android/app/src/main/res/drawable-hdpi/ic_apolline_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..c758de9d886d871d9cada96336115568507c000e GIT binary patch literal 782 zcmV+p1M&QcP)9YSVkv?~2yUsg5fQ;A z1h>MaP+SmPK*a?M#khO?f9{!?^Ul2c=4DK@nGb$m=A84N^LTUbeUrMn8a4g{BGLj4 zLhqpu&=54o*ZmVPcq(*5%DDqg_w|zohe5NTP09O6(CvMb0tW4YK108t*U5WGu-|(p z91Pjur)IF-`w8O9Bz(OM{CO02i1vOYt6cipPj?3mHG&{xL06liKhc&kv`l_)Z zXH5r%J4$_u+*B2~1ugMjg7{ohSKylF225Eb>4HnhBhjzYWj%FlUN;pav{ zaff$DxBxXdFOLAmv$!gGPi7+FOet*T7>}Sv?l@~OMP8!o0jkTMY=M%KZ_aTgHK1RFulp*2l z>4AFrx5oII$btvuMyOuv`BeG2(g9k0os0_@`+cVfuO$2;_`9_adG7PMfblr=0P66$YG5DjH|TRUYD^S=0J-2eap literal 0 HcmV?d00001 diff --git a/apolline-flutter/android/app/src/main/res/drawable-mdpi/ic_apolline_notification.png b/apolline-flutter/android/app/src/main/res/drawable-mdpi/ic_apolline_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..50da59730b52663d7011ce8819112c48f1143e68 GIT binary patch literal 470 zcmV;{0V)28P)b#K1sU zi0eCjx7>SrTfy2d`I4J^e&@XO-TNAgHTW;am_9tiSKP!_o%s_o2;1@8_$=t`uVF|A zpYa_({P|{GWt(suGwyy}2ygi_zmSKGsqCUt&tVT<;ijAOpg8L^ZQu;9;7}mD<7DS? z)UNM!)`P$>PGSpYaS!jTvd-FE3J-7_+w9&5_WBb85K7>xsg2YUy00!Ybl?Css%QV zeMoYb`%UzkG`E;?@^bfOPm^}%1|gK!U6waIvdTI{{X-T^bRI6(xP%iXIwMimvL`i{ zqMla;p^^140j6`BgPUQ||NV$@fLk&f_BW{=`aV3h9L&=Ro6D5i(rHsRc+z?kNZX_Y% zLP<`c2vd%q_ie3zeDm7>KFu(r{-@sBt@VBH`u@H4zxLW|z({g~n@azXL@Mgw9$rFQF-#)2~2*>$Pg(rsniHC~7n`*}~nw)verQW~xV@fI`MX z7oZ=pu&2=1t}?5$LcRVu7Vh>pv4li3AzlmTZ&&*khJEve<8N0mk0d|H6ilQ#cY(mbKWBtNSZ4qo*U2;Y2#ho z1=XpS2mM@^zHL!jkwrnsTpyz`~x01N0XB^Cr#Y9<8SkFj!&9#;>#?fzQyLC|;N0 zq}Egj3tw18;YUm>G|c&Mt!Eqiim=hwQy2@6OcA(-PgI`@?29pZxB}IyM3Re6q+}BRwxc5r~vBxx7xUV^x*qoCXXM~^wN zFE6{)qcku(rS3W4rytjQiq}Qy&^k(E`Hl~Jn_F5(X<+t7-4o!S{;q`;h9?vJIN^VX z;x*gY$C#uYuJTsvD20WWSlWO*58~NQ<_c7Su`x%_k~|!Gei{22a?3!(1n`6 zLxT?QZP{0j@*^}xeRf#P$DE?vp*}kV=-3eGDCiXEkZ|n99$nAJd+ObgS#Xq|2# zXHRGe^f~mG`IY-PG)-gs6g1$C|NB)NE3{4)h#vvHrY3=3q0=>o;P@oy9%wCe8+4$? zR04)W&BvNL;rKH_Yh{7>m1-hznlVChPPX3Tf8!iQ^!Vi1C*2%*Br}c~Y zBrzw-83?_l0fBX~e-6b9Lhk$>YGB#IiW97GQb+^py3!Z26N~Xel28k3-|2v!Dggt>#zc)!`V= zCFaH;X5N3*(s>CQEIDj5C$ce|77UH!YQwy{r5vMU*9y% z*7;4S$$|H5XgRb3y1=%Vm3<5vb!pUzrkNXRa)$h}o&;|~Kfg-j zV`z;Y+>ThNeX0%ft;|=oVh!->d)<5y%jE{ezj-WaW?Y3rTPcMwpNiMblhBb`s{_x4 zm^$D?$thZ+Hei04R;&OUdzIyw!!RbqGN%eF)w@=#`--^;SE_$En4=~+;T>)%w5xj7 z3JRPgh0F4U<+ySb=7ik5aCyV^-@fYA2<8t5-|pFl!f?=?s@{1)?h(Nw534l4am)wm ztbOHfY*x>r&_hjA_{lQ1Mj8V}k29aTmtm>;6$Ku5s%ZvWpJddA`Bo$sdG7?>XR@1T z{&VBz)LhH|RD)a|`;-A5^VKwi4VqsG7>+TY4J+KFIw&EYuhjh^v02PhkD|~+O*7z= zi~0s>n61_d5f3KB&(xqU+^!x)p@*7wVWxVN#QTXBWu6eL}ci_1YQ})W~@SJ)#iunMY zb;m0L=TY4Ax!(L|OYv_WD>BE*f-jfWGf?LN#rD${^aB##6KDi$W_Ph^rfWYM1I5nM z>LuWy%QrXpG=wiuafWeo?}dv0lLHa+K304Q^V|+x(yL zSgRYWHNP=X>@lq_JZgRTFHNi!YG$!k^BM!ip4RFCE@)?Id|zR{{lYdR@r=ed28z9) z)y;PwCu?k9!#0GrD4R64F|7AK(0XfdtSJiH6515AM&lX-#YUMg1wMjqwC(T(CAP`@ rCc!qct)n!irKP2%rKP2%C7pi((|GQq-{bfS00000NkvXXu0mjf*t;Jx literal 0 HcmV?d00001 diff --git a/apolline-flutter/android/app/src/main/res/drawable-xxxhdpi/ic_apolline_notification.png b/apolline-flutter/android/app/src/main/res/drawable-xxxhdpi/ic_apolline_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf26c2066a7692be0ad879e72003b4af627f1d1 GIT binary patch literal 2156 zcmV-y2$T1TP)M= z+KLneoj9Kr@B9u|Lo=z(NCD7+7f7cTWjD1M$q71dqGjLnvv>=dMQulNfR39YomrO6 z)OMr`bkIuBZqUBa4$uGc8<_ODSXpir#9edBg@~B9oV6ZLfb+w z$hB@d6S&pYZy8``W-C5oW80P#J4b1u6u#@OQyb>rs=L*D24{5DXQ!+O9SvOpT?btR z9SE)1?JET4GxZ|yLEN($gnw_Qg;JQ_U8h#yY$@mi37{W*XwRuOn!@}SU4*GAHu$CC zT%jL)UTv-QY6T9Lwe(?G2mUE@tURCAO#|g-Hy^L>Y`!IVOrnF5&v>oy4jJmqZ@%}O z2i_`E=N#q}xi@-?kH8VoQChwc;CL2jC+KGLjdd=*y$M|jZDJWyd|Y4Hd?TK>wC~xP z41O>#%Q_3Iy?&tV#?X&FmPW&l95|lG^?9H}&7V^bncq6s)pA1*f?gTA+Vh$?3%#Nj`fyoyyIRA1>di^c?-F2#*P%_5vU5Q%%k^P`Y43UAFKj{Sj%G2RwLU9> zrSYeEn#XB+VT{vmIwS(PMI#yjmjgmBFAM`aYM(R)oNsQ$cfG2@)k<#8>a$U-*odJlPg{kN2J0p^Lc-f_&%~`25X5^LSzx$y+>`oI2HHq$h2T|a4;zN% z2m~=rf(uQs-6z^o;|1XMA~$H3vtj7?4hUwu-Z+DDxB9CJZK{);+^M#P0`uIT=^AYy zwo!jofz7SeNlv&CKT+)s1qf_0^ZQ~*zOfqC=*>5N$_^Y(QhP&#`M8@W)dsJ+@S z&oJX}J&jwTd9_YA=II<|IZN$@g0|IJ0nS!?wP2p1oRy}>A!y$r8Lqvn6$)^X+6x73 ztFr>Ur}k>Wd=E4W&IUKqy2SieRE0{%jRry6>Z~9^QsM_<`Oiw7u62p!JE$-S=IRGe z7okn_lPy)Kd=fJgIQdz<_TdJtOYr$!TCfDcv)5=-os{4nwHq8b`B1&~;rx`k%=6*l zg{s`HwyQ#$>ZAnB&JI3D=>ZNdRj+**bzasyqaXx)#su5$Gk;%2sLiAG)qYUmU`6vB z`$6zT%czNo`NCBwxZ#mIzrP=}VPRKp4^tn(F;6Gy_ZAbLWE^?bjAFhe7?Q`K`PENe zSU0f|lIzt^Ex^$-=0now%*XW)m>&h|dzQ=6v&pLRBD9kF%7S&0x}kYPeGLWXFW##w z>w&jK9+((711Bt#l+C)0mW3%cxz4mTig{*2-SD<}8MM3ko-gn36o2Mtyw>m58Itw1 z{jFpEexUKfz=L|NfS^v%C}&_!(e}5F`JTXdp_!3T5iI<0FAW}&=KO#ovj@#bW)y$s zXS~KTb@PO_zjYAQM;c`XIBWgX{PYUn+r~6VrXXe>tYev^EbFi?ZO~SznK1cS{kDpE zqeBcqIggkEt!*hY?Xu8TVw1K*%vIRdVDVMPd=sbaH;h>a-1g*a3o^gqRiTf>7k$!q z8Q9iE)plzjm{l~w9B@Lz_eBJM{Y+lW-&@TX7)wzK=d0F+dFEIV_~2Yq?X(4BNn$EO z>W*M5Aee15x;}80I@uby)f9y>C9&n5Nsn5NZw&;qt45c?qt^8MGfQBe1Ik#l7@q&L z0KrVs=(^woi|HU^=4~U46*@DCy&rpPz1A>)Eqxk%r|0mko8-iNeT!{KW2pWDxbg9s z1jtuGZlYz!8f-(-mTuVA(i=s!V4e@e6mTvFTmdbsWyUIOOVTE`jcu$yKPVE3L?V$$ iBoc{4B9TZWJpTdNzr@-3_1+8s0000 { notificationTitle: "notifications.background.title".tr(), notificationText: "notifications.background.body".tr(), notificationImportance: AndroidNotificationImportance.Default, - notificationIcon: AndroidResource(name: 'logo_apolline', defType: 'drawable'), + notificationIcon: AndroidResource(name: 'ic_apolline_notification', defType: 'drawable'), ); FlutterBackground.initialize(androidConfig: androidConfig); } diff --git a/apolline-flutter/lib/main.dart b/apolline-flutter/lib/main.dart index 9f0b0d39..e0b9d9dc 100644 --- a/apolline-flutter/lib/main.dart +++ b/apolline-flutter/lib/main.dart @@ -55,7 +55,7 @@ class ApollineApp extends StatelessWidget { Future setupNotificationService () async { FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); - const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('logo_apolline'); + const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('ic_apolline_notification'); final IOSInitializationSettings initializationSettingsIOS = IOSInitializationSettings( onDidReceiveLocalNotification: onDidReceiveLocalNotification, ); From 3182cf65c0537cc1d94277c9ba52972e8da0077b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 23 Sep 2021 11:36:34 +0200 Subject: [PATCH 425/522] [fix] increasing sensor connection timeout delay to 8 seconds --- apolline-flutter/lib/sensor_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index b37ef364..23e34bc0 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -64,7 +64,7 @@ class _SensorViewState extends State { bool isConnectedToDevice = true; try { - await widget.device.connect().timeout(Duration(seconds: 3), onTimeout: () { + await widget.device.connect().timeout(Duration(seconds: 8), onTimeout: () { isConnectedToDevice = false; if (_scaffoldMessengerKey.currentContext != null) { Fluttertoast.showToast(msg: "connectionMessages.failed".tr()); From 6729845806802458131b38ce3719c2f6dd3de6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 23 Sep 2021 13:48:55 +0200 Subject: [PATCH 426/522] [feat] updating minimum sensor battery level value --- apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart index 8a2d44cd..e03811de 100644 --- a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -7,7 +7,7 @@ class BatteryLevelIndicator extends StatefulWidget { final double currentBatteryLevel; final double minimumLevel = 0; final double maximumLevel = 100; - final double minimumSensorBatteryLevel = 3.50; + final double minimumSensorBatteryLevel = 2.90; final double maximumSensorBatteryLevel = 4.20; const BatteryLevelIndicator({Key key, @required this.currentBatteryLevel}) : super(key: key); From 56891657354615ff4093d2ab19706b13d7c5dc9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 23 Sep 2021 14:35:38 +0200 Subject: [PATCH 427/522] [chore] pushing version to v1.4.3 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 4b2c0775..6e06cdd6 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.4.1+7 +version: 1.4.3+8 publish_to: none environment: From 2de391c120c214c26389e5f184b6bbad3609ccce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 23 Sep 2021 15:00:34 +0200 Subject: [PATCH 428/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 5 +++-- releaseNotes/whatsnew-fr-FR | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index cd792319..c52bed8f 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,2 +1,3 @@ -Automatically removing data points that are more than one week old. -Non-synchronized points are not deleted. \ No newline at end of file +Notification icons correctly show up in production; +Increased sensor connection timeout delay to 8 seconds; +Updated sensor minimum battery level value. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index da2df483..0f01ffe8 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,2 +1,3 @@ -Les données datant de plus d'une semaine sont automatiquement supprimées pour sauvegarder de l'espace disque. -Les données non-synchronisées avec le serveur sont laissées sur le téléphone. \ No newline at end of file +Les icônes de notification apparaissent désormais correctement ; +Le temps maximum de tentative de connexion à un périphérique Bluetooth a été porté à 8 secondes ; +La valeur minimale de charge de la batterie du capteur a été mise à jour. \ No newline at end of file From 371bccc447e2255bd77701defae2c114d9399f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:13:45 +0200 Subject: [PATCH 429/522] [feat] adding battery level computer package skeleton --- .../lib/utils/battery_level_computer.dart | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 apolline-flutter/lib/utils/battery_level_computer.dart diff --git a/apolline-flutter/lib/utils/battery_level_computer.dart b/apolline-flutter/lib/utils/battery_level_computer.dart new file mode 100644 index 00000000..ddc02fc7 --- /dev/null +++ b/apolline-flutter/lib/utils/battery_level_computer.dart @@ -0,0 +1,39 @@ +import 'package:flutter/cupertino.dart'; + +class BatteryLevelStep { + final int percentage; + final double voltageValue; + BatteryLevelStep({@required this.percentage, @required this.voltageValue}); +} + +final List _steps = [ + BatteryLevelStep(percentage: 0, voltageValue: 3), + BatteryLevelStep(percentage: 5, voltageValue: 3.3), + BatteryLevelStep(percentage: 10, voltageValue: 3.6), + BatteryLevelStep(percentage: 20, voltageValue: 3.70), + BatteryLevelStep(percentage: 30, voltageValue: 3.75), + BatteryLevelStep(percentage: 40, voltageValue: 3.79), + BatteryLevelStep(percentage: 50, voltageValue: 3.83), + BatteryLevelStep(percentage: 60, voltageValue: 3.87), + BatteryLevelStep(percentage: 70, voltageValue: 3.92), + BatteryLevelStep(percentage: 80, voltageValue: 3.97), + BatteryLevelStep(percentage: 90, voltageValue: 4.1), + BatteryLevelStep(percentage: 100, voltageValue: 4.2) +]; + +int getBatteryPercentageFromVoltageValue(double voltageValue) { + final BatteryLevelStep minStep = _steps.first; + final BatteryLevelStep maxStep = _steps.last; + + if (voltageValue <= minStep.voltageValue) + return minStep.percentage; + if (voltageValue >= maxStep.voltageValue) + return maxStep.percentage; + + for (int i=0; i<_steps.length-1; i++) { + final inferiorStep = _steps[i]; + final superiorStep = _steps[i+1]; + } + + return -1; +} \ No newline at end of file From 74f405cec42bcbe8e116d968f200eb2034604fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:13:59 +0200 Subject: [PATCH 430/522] [test] computer should return battery level of 0% for low voltage --- apolline-flutter/test/battery.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 apolline-flutter/test/battery.dart diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart new file mode 100644 index 00000000..55da671e --- /dev/null +++ b/apolline-flutter/test/battery.dart @@ -0,0 +1,10 @@ +import 'package:apollineflutter/utils/battery_level_computer.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main () { + test('should return battery level of 0% for low voltage', () { + const currentVoltage = 2.5; + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 0); + }); +} \ No newline at end of file From 9d05ad32feec04eabba3d158fd85c6ac139ec35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:16:23 +0200 Subject: [PATCH 431/522] [test] computer should return battery level of 0% for negative voltage --- apolline-flutter/test/battery.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart index 55da671e..5b0e32ce 100644 --- a/apolline-flutter/test/battery.dart +++ b/apolline-flutter/test/battery.dart @@ -7,4 +7,10 @@ void main () { final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); expect(percentageResult, 0); }); + + test('should return battery level of 0% for negative voltage', () { + const currentVoltage = -42.0; + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 0); + }); } \ No newline at end of file From f9cee0fba2ce3f1fb7e49f4a647b14c87dcc9c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:17:37 +0200 Subject: [PATCH 432/522] [test] computer should return battery level of 100% for high voltage --- apolline-flutter/test/battery.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart index 5b0e32ce..a2707244 100644 --- a/apolline-flutter/test/battery.dart +++ b/apolline-flutter/test/battery.dart @@ -13,4 +13,10 @@ void main () { final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); expect(percentageResult, 0); }); + + test('should return battery level of 100% for high voltage', () { + const currentVoltage = 6.42; + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 100); + }); } \ No newline at end of file From 762362c8cc70f141664b5ac9f4a209ebf96e7e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:21:33 +0200 Subject: [PATCH 433/522] [test] computer should return battery level of 95% --- apolline-flutter/test/battery.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart index a2707244..c3d363c9 100644 --- a/apolline-flutter/test/battery.dart +++ b/apolline-flutter/test/battery.dart @@ -19,4 +19,10 @@ void main () { final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); expect(percentageResult, 100); }); + + test('should return battery level of 95%', () { + const currentVoltage = 4.15; // between 4.1V (90%) and 4.2V (100%) steps + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 95); + }); } \ No newline at end of file From e2cd62d0c8d260f55aca86309319f2b9d01cc665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:34:58 +0200 Subject: [PATCH 434/522] [feat] adding getBatteryPercentageFromVoltageValue implementation --- apolline-flutter/lib/utils/battery_level_computer.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apolline-flutter/lib/utils/battery_level_computer.dart b/apolline-flutter/lib/utils/battery_level_computer.dart index ddc02fc7..b2d73271 100644 --- a/apolline-flutter/lib/utils/battery_level_computer.dart +++ b/apolline-flutter/lib/utils/battery_level_computer.dart @@ -33,6 +33,13 @@ int getBatteryPercentageFromVoltageValue(double voltageValue) { for (int i=0; i<_steps.length-1; i++) { final inferiorStep = _steps[i]; final superiorStep = _steps[i+1]; + + if (voltageValue >= inferiorStep.voltageValue + && voltageValue < superiorStep.voltageValue) { + double coefficient = (voltageValue - inferiorStep.voltageValue) / (superiorStep.voltageValue - inferiorStep.voltageValue); + int percentageDiff = superiorStep.percentage - inferiorStep.percentage; + return (inferiorStep.percentage + percentageDiff*coefficient).round(); + } } return -1; From 728823762043b454df8ff15701601cf83afaf25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:35:21 +0200 Subject: [PATCH 435/522] [test] computer should return battery level of 40% step --- apolline-flutter/test/battery.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart index c3d363c9..bdc79358 100644 --- a/apolline-flutter/test/battery.dart +++ b/apolline-flutter/test/battery.dart @@ -25,4 +25,10 @@ void main () { final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); expect(percentageResult, 95); }); + + test('should return battery level of 40% step', () { + const currentVoltage = 3.79; + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 40); + }); } \ No newline at end of file From e8dd17306d7ceaa5c797a8bdc3b0d406b2552f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 11:41:43 +0200 Subject: [PATCH 436/522] [test] computer should return battery level of 25% --- apolline-flutter/test/battery.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apolline-flutter/test/battery.dart b/apolline-flutter/test/battery.dart index bdc79358..5f7e9824 100644 --- a/apolline-flutter/test/battery.dart +++ b/apolline-flutter/test/battery.dart @@ -20,6 +20,12 @@ void main () { expect(percentageResult, 100); }); + test('should return battery level of 25%', () { + const currentVoltage = 3.725; // between 3.7V (20%) and 3.75V (30%) steps + final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); + expect(percentageResult, 25); + }); + test('should return battery level of 95%', () { const currentVoltage = 4.15; // between 4.1V (90%) and 4.2V (100%) steps final int percentageResult = getBatteryPercentageFromVoltageValue(currentVoltage); From 1b880c3d078d39aabe3ef4a995121518d8dec73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 13:42:53 +0200 Subject: [PATCH 437/522] [feat] using getBatteryPercentageFromVoltageValue to display battery status --- .../lib/widgets/charts/BatteryLevelIndicator.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart index e03811de..83f3be71 100644 --- a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -1,3 +1,4 @@ +import 'package:apollineflutter/utils/battery_level_computer.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -7,8 +8,6 @@ class BatteryLevelIndicator extends StatefulWidget { final double currentBatteryLevel; final double minimumLevel = 0; final double maximumLevel = 100; - final double minimumSensorBatteryLevel = 2.90; - final double maximumSensorBatteryLevel = 4.20; const BatteryLevelIndicator({Key key, @required this.currentBatteryLevel}) : super(key: key); @@ -25,7 +24,8 @@ class _BatteryLevelIndicatorState extends State { /// https://github.com/syncfusion/flutter-examples/blob/master/lib/samples/linear_gauge/showcase/battery_indicator.dart Widget _buildBatteryIndicator(BuildContext context) { final Brightness _brightness = Theme.of(context).brightness; - final double batteryLevelPercentage = (widget.currentBatteryLevel - widget.minimumSensorBatteryLevel) * 100 / (widget.maximumSensorBatteryLevel - widget.minimumSensorBatteryLevel); + final double batteryLevelPercentage = + getBatteryPercentageFromVoltageValue(widget.currentBatteryLevel).toDouble(); final Color _fillColor = batteryLevelPercentage <= 25 ? const Color(0xffF45656) From 7b8315702f808fe8eb02ee92f5c11116744b150a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 13:46:29 +0200 Subject: [PATCH 438/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 2 +- releaseNotes/whatsnew-fr-FR | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index c52bed8f..29cb3c02 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,3 +1,3 @@ Notification icons correctly show up in production; Increased sensor connection timeout delay to 8 seconds; -Updated sensor minimum battery level value. \ No newline at end of file +Battery current level (charge percentage) is more accurate. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 0f01ffe8..8c01086b 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,3 @@ Les icônes de notification apparaissent désormais correctement ; Le temps maximum de tentative de connexion à un périphérique Bluetooth a été porté à 8 secondes ; -La valeur minimale de charge de la batterie du capteur a été mise à jour. \ No newline at end of file +L'affichage de la charge actuelle de la batterie est plus précis. \ No newline at end of file From 36e870257d57be8a09d8724e94c9af673bb98cbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 14:28:21 +0200 Subject: [PATCH 439/522] (chore) minimum iOS version is 11 --- .../ios/Flutter/AppFrameworkInfo.plist | 52 +++++++++---------- apolline-flutter/ios/Podfile.lock | 44 +++++++++++----- .../ios/Runner.xcodeproj/project.pbxproj | 18 ++++--- 3 files changed, 68 insertions(+), 46 deletions(-) diff --git a/apolline-flutter/ios/Flutter/AppFrameworkInfo.plist b/apolline-flutter/ios/Flutter/AppFrameworkInfo.plist index 58e65f9b..4f8d4d24 100644 --- a/apolline-flutter/ios/Flutter/AppFrameworkInfo.plist +++ b/apolline-flutter/ios/Flutter/AppFrameworkInfo.plist @@ -1,26 +1,26 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 8.0 - - + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/apolline-flutter/ios/Podfile.lock b/apolline-flutter/ios/Podfile.lock index b2e50dc2..3954c70e 100644 --- a/apolline-flutter/ios/Podfile.lock +++ b/apolline-flutter/ios/Podfile.lock @@ -1,4 +1,6 @@ PODS: + - bluetooth_enable (0.0.1): + - Flutter - Flutter (1.0.0) - flutter_blue (0.0.1): - Flutter @@ -6,13 +8,15 @@ PODS: - flutter_blue/Protos (0.0.1): - Flutter - Protobuf (~> 3.11.4) + - flutter_local_notifications (0.0.1): + - Flutter - fluttertoast (0.0.2): - Flutter - Toast - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) - - geolocator (6.2.0): + - geolocator_apple (1.2.0): - Flutter - google_maps_flutter (0.0.1): - Flutter @@ -22,10 +26,12 @@ PODS: - GoogleMaps/Base (4.2.0) - GoogleMaps/Maps (4.2.0): - GoogleMaps/Base - - image_gallery_saver (1.5.0): + - location (0.0.1): - Flutter - path_provider (0.0.1): - Flutter + - "permission_handler (5.1.0+2)": + - Flutter - Protobuf (3.11.4) - shared_preferences (0.0.1): - Flutter @@ -35,13 +41,16 @@ PODS: - Toast (4.0.0) DEPENDENCIES: + - bluetooth_enable (from `.symlinks/plugins/bluetooth_enable/ios`) - Flutter (from `Flutter`) - flutter_blue (from `.symlinks/plugins/flutter_blue/ios`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - - geolocator (from `.symlinks/plugins/geolocator/ios`) + - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) - google_maps_flutter (from `.symlinks/plugins/google_maps_flutter/ios`) - - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) + - location (from `.symlinks/plugins/location/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`) + - permission_handler (from `.symlinks/plugins/permission_handler/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) @@ -53,35 +62,44 @@ SPEC REPOS: - Toast EXTERNAL SOURCES: + bluetooth_enable: + :path: ".symlinks/plugins/bluetooth_enable/ios" Flutter: :path: Flutter flutter_blue: :path: ".symlinks/plugins/flutter_blue/ios" + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" fluttertoast: :path: ".symlinks/plugins/fluttertoast/ios" - geolocator: - :path: ".symlinks/plugins/geolocator/ios" + geolocator_apple: + :path: ".symlinks/plugins/geolocator_apple/ios" google_maps_flutter: :path: ".symlinks/plugins/google_maps_flutter/ios" - image_gallery_saver: - :path: ".symlinks/plugins/image_gallery_saver/ios" + location: + :path: ".symlinks/plugins/location/ios" path_provider: :path: ".symlinks/plugins/path_provider/ios" + permission_handler: + :path: ".symlinks/plugins/permission_handler/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" sqflite: :path: ".symlinks/plugins/sqflite/ios" SPEC CHECKSUMS: - Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c + bluetooth_enable: 131bf222123b9c5020469d04a13cc253bc89298c + Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a flutter_blue: eeb381dc4727a0954dede73515f683865494b370 + flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - geolocator: f5e3de65e241caba7ce3e8a618803387bda73384 - google_maps_flutter: df4e7de95264aa0a2f11aac0fc7e313acb8ffc7e + geolocator_apple: b741765c55dc21950e3e106e8b3584e55cf81ce5 + google_maps_flutter: 279865bd07e2d8751f43a3bc64bac7f6075d0c93 GoogleMaps: eb03e327edfd70b06de1e6e321653f73712df7ad - image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2 + location: 3a2eed4dd2fab25e7b7baf2a9efefe82b512d740 path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c + permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0 Protobuf: 176220c526ad8bd09ab1fb40a978eac3fef665f7 shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 @@ -89,4 +107,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d -COCOAPODS: 1.10.1 +COCOAPODS: 1.11.2 diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj index a54d756f..38376b5f 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj @@ -285,10 +285,12 @@ "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", "${BUILT_PRODUCTS_DIR}/Protobuf/protobuf.framework", "${BUILT_PRODUCTS_DIR}/Toast/Toast.framework", + "${BUILT_PRODUCTS_DIR}/bluetooth_enable/bluetooth_enable.framework", "${BUILT_PRODUCTS_DIR}/flutter_blue/flutter_blue.framework", + "${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework", "${BUILT_PRODUCTS_DIR}/fluttertoast/fluttertoast.framework", - "${BUILT_PRODUCTS_DIR}/geolocator/geolocator.framework", - "${BUILT_PRODUCTS_DIR}/image_gallery_saver/image_gallery_saver.framework", + "${BUILT_PRODUCTS_DIR}/geolocator_apple/geolocator_apple.framework", + "${BUILT_PRODUCTS_DIR}/location/location.framework", "${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework", "${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework", "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", @@ -298,10 +300,12 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/protobuf.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bluetooth_enable.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_blue.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fluttertoast.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_gallery_saver.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator_apple.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/location.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", @@ -386,7 +390,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -470,7 +474,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -519,7 +523,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; From 222bd771bdbdda4c917c3ab6cfc77b45a1c03908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 15:04:39 +0200 Subject: [PATCH 440/522] [chore] excluding Android signing configuration files from version control --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a030bea3..3d0132f3 100644 --- a/.gitignore +++ b/.gitignore @@ -887,4 +887,6 @@ DerivedData/ ### Configuration files -apolline-flutter/assets/config* \ No newline at end of file +apolline-flutter/assets/config* +apolline-flutter/android/app/upload-keystore.jks +apolline-flutter/android/key.properties \ No newline at end of file From 047aa1ca52ad36d29135e3d8c6fd1a4a28605601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 15:15:10 +0200 Subject: [PATCH 441/522] [chore] specifying NDK version in build.gradle --- apolline-flutter/android/app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index b89d7f06..131eca6f 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -35,6 +35,7 @@ if (keystorePropertiesFile.exists()) { android { compileSdkVersion 30 + ndkVersion "31.0.0" sourceSets { main.java.srcDirs += 'src/main/kotlin' From c2728112f8843aaa40e93c5c6930e88aab6d5767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 15:25:29 +0200 Subject: [PATCH 442/522] [chore] setting gradle version to v4.1.2 --- apolline-flutter/android/app/build.gradle | 1 - apolline-flutter/android/build.gradle | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index 131eca6f..b89d7f06 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -35,7 +35,6 @@ if (keystorePropertiesFile.exists()) { android { compileSdkVersion 30 - ndkVersion "31.0.0" sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/apolline-flutter/android/build.gradle b/apolline-flutter/android/build.gradle index 7cad1568..6599ab4e 100644 --- a/apolline-flutter/android/build.gradle +++ b/apolline-flutter/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:4.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } From 8e455d949b15997e406336f9c4420196f9decfb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 30 Sep 2021 15:29:19 +0200 Subject: [PATCH 443/522] [chore] setting gradle-wrapper version to v6.5 --- .../android/gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/gradle/wrapper/gradle-wrapper.properties b/apolline-flutter/android/gradle/wrapper/gradle-wrapper.properties index 31afd709..4f4dea8f 100644 --- a/apolline-flutter/android/gradle/wrapper/gradle-wrapper.properties +++ b/apolline-flutter/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip From 242a858ab3f64044133bc31d10d723d2f4acb817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 5 Oct 2021 16:47:02 +0200 Subject: [PATCH 444/522] [fix] battery indicator correctly displays battery levels below 5% --- .../widgets/charts/BatteryLevelIndicator.dart | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart index 83f3be71..5622f834 100644 --- a/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart +++ b/apolline-flutter/lib/widgets/charts/BatteryLevelIndicator.dart @@ -27,9 +27,14 @@ class _BatteryLevelIndicatorState extends State { final double batteryLevelPercentage = getBatteryPercentageFromVoltageValue(widget.currentBatteryLevel).toDouble(); - final Color _fillColor = batteryLevelPercentage <= 25 + // widget build fails if percentage is lower than 5% + final double levelPercentage = batteryLevelPercentage > 4 + ? batteryLevelPercentage + : 5; + + final Color _fillColor = levelPercentage <= 25 ? const Color(0xffF45656) - : batteryLevelPercentage <= 50 + : levelPercentage <= 50 ? const Color(0xffFFC93E) : Colors.green[400]; return Container( @@ -68,8 +73,8 @@ class _BatteryLevelIndicatorState extends State { startValue: widget.minimumLevel + 5, startWidth: 55, endWidth: 55, - endValue: batteryLevelPercentage < widget.maximumLevel / 4 - ? batteryLevelPercentage + endValue: levelPercentage < widget.maximumLevel / 4 + ? levelPercentage : widget.maximumLevel / 4, position: LinearElementPosition.cross, color: Colors.transparent, @@ -79,13 +84,13 @@ class _BatteryLevelIndicatorState extends State { color: _fillColor, borderRadius: BorderRadius.circular(4)))), LinearGaugeRange( - startValue: batteryLevelPercentage >= (widget.maximumLevel / 4 + 2) + startValue: levelPercentage >= (widget.maximumLevel / 4 + 2) ? (widget.maximumLevel / 4 + 2) : widget.minimumLevel + 5, - endValue: batteryLevelPercentage < (widget.maximumLevel / 4 + 2) + endValue: levelPercentage < (widget.maximumLevel / 4 + 2) ? widget.minimumLevel + 5 - : batteryLevelPercentage <= widget.maximumLevel / 2 - ? batteryLevelPercentage + : levelPercentage <= widget.maximumLevel / 2 + ? levelPercentage : widget.maximumLevel / 2, startWidth: 55, endWidth: 55, @@ -99,13 +104,13 @@ class _BatteryLevelIndicatorState extends State { color: _fillColor, borderRadius: BorderRadius.circular(4)))), LinearGaugeRange( - startValue: batteryLevelPercentage >= (widget.maximumLevel / 2 + 2) + startValue: levelPercentage >= (widget.maximumLevel / 2 + 2) ? (widget.maximumLevel / 2 + 2) : widget.minimumLevel + 5, - endValue: batteryLevelPercentage < (widget.maximumLevel / 2 + 2) + endValue: levelPercentage < (widget.maximumLevel / 2 + 2) ? widget.minimumLevel + 5 - : batteryLevelPercentage <= (widget.maximumLevel * 3 / 4) - ? batteryLevelPercentage + : levelPercentage <= (widget.maximumLevel * 3 / 4) + ? levelPercentage : (widget.maximumLevel * 3 / 4), startWidth: 55, endWidth: 55, @@ -117,13 +122,13 @@ class _BatteryLevelIndicatorState extends State { color: _fillColor, borderRadius: BorderRadius.circular(4)))), LinearGaugeRange( - startValue: batteryLevelPercentage >= (widget.maximumLevel * 3 / 4 + 2) + startValue: levelPercentage >= (widget.maximumLevel * 3 / 4 + 2) ? (widget.maximumLevel * 3 / 4 + 2) : widget.minimumLevel + 5, - endValue: batteryLevelPercentage < (widget.maximumLevel * 3 / 4 + 2) + endValue: levelPercentage < (widget.maximumLevel * 3 / 4 + 2) ? widget.minimumLevel + 5 - : batteryLevelPercentage < widget.maximumLevel - ? batteryLevelPercentage + : levelPercentage < widget.maximumLevel + ? levelPercentage : widget.maximumLevel - 7, startWidth: 55, endWidth: 55, From 8368a75332d745c33e609e481e471dedc1b6ae74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 5 Oct 2021 16:47:48 +0200 Subject: [PATCH 445/522] [chore] pushing version to v1.4.4 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 6e06cdd6..0b30d955 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.4.3+8 +version: 1.4.4+9 publish_to: none environment: From fc5ff825763cf9b5b1af7423dea7f9719aab1b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 5 Oct 2021 16:56:24 +0200 Subject: [PATCH 446/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 4 +--- releaseNotes/whatsnew-fr-FR | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 29cb3c02..4ba97e65 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,3 +1 @@ -Notification icons correctly show up in production; -Increased sensor connection timeout delay to 8 seconds; -Battery current level (charge percentage) is more accurate. \ No newline at end of file +Battery level indicator does not crash anymore when displaying battery levels below 5%. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 8c01086b..a313d999 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,2 @@ -Les icônes de notification apparaissent désormais correctement ; -Le temps maximum de tentative de connexion à un périphérique Bluetooth a été porté à 8 secondes ; -L'affichage de la charge actuelle de la batterie est plus précis. \ No newline at end of file +L'affichage de la charge actuelle de la batterie ne plante plus lorsque celle-ci est chargée à moins +de 5%. \ No newline at end of file From acf5331803c5280dc4900d56c09c82f7b06607d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 14:14:28 +0200 Subject: [PATCH 447/522] [feat] using sensor position if 3+ satellites are in range --- apolline-flutter/lib/models/data_point_model.dart | 2 ++ apolline-flutter/lib/twins/SensorTwin.dart | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/lib/models/data_point_model.dart b/apolline-flutter/lib/models/data_point_model.dart index dd7d0435..30f4e921 100644 --- a/apolline-flutter/lib/models/data_point_model.dart +++ b/apolline-flutter/lib/models/data_point_model.dart @@ -31,6 +31,8 @@ class DataPointModel { static const int SENSOR_PM_ABOVE_10 = 9; static const int SENSOR_LATITUDE = 10; static const int SENSOR_LONGITUDE = 11; + static const int SENSOR_GPS_SATELLITES_COUNT = 14; + String sensorName; int _date; diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 17a79de7..80db2414 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -234,19 +234,23 @@ class SensorTwin { DataPointModel _getPointWithPosition (List values) { double sensorLongitude = double.parse(values[DataPointModel.SENSOR_LONGITUDE]); double sensorLatitude = double.parse(values[DataPointModel.SENSOR_LATITUDE]); + double satellitesCount = double.parse(values[DataPointModel.SENSOR_GPS_SATELLITES_COUNT]); Position currentPosition; + bool shouldUseSatellitePositioning = satellitesCount >= 3 && sensorLongitude != 0 && sensorLatitude != 0; - if (sensorLongitude == 0 && sensorLatitude == 0) { - currentPosition = _currentPosition; - _initLocationService(); - } else { + if (shouldUseSatellitePositioning) { currentPosition = Position( provider: "sensor", geohash: SimpleGeoHash.encode(sensorLatitude, sensorLongitude)); - this._locationService?.close(); + // TODO stop phone GPS + } else { + currentPosition = _currentPosition; + // TODO start phone GPS } + print('Using position from ${shouldUseSatellitePositioning ? 'satellites' : 'phone'}.'); + return DataPointModel(values: values, sensorName: this.name, position: currentPosition); } From b83270b6ec05cd6443266a969ba22d1eabe30101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 14:28:19 +0200 Subject: [PATCH 448/522] [fix] location service subscription can be cancelled --- .../lib/services/location_service.dart | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index 4506cda5..1fecaabe 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -11,7 +11,8 @@ class SimpleLocationService { ///current position. Position _currentPosition; ///stream. - StreamController _locationStream = StreamController.broadcast(); + StreamController _locationStream = StreamController(); + StreamSubscription _locationSubscription; /// ///constructor. @@ -20,11 +21,7 @@ class SimpleLocationService { if(permission == geo.LocationPermission.denied || permission == geo.LocationPermission.deniedForever) { this._locationStream.add(Position()); } - geo.Geolocator.getPositionStream().listen((p) { - if(p != null) { - this._locationStream.add(Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude))); - } - }); + this.start(); }); } @@ -44,9 +41,17 @@ class SimpleLocationService { return this._currentPosition; } + void start () async { + this._locationSubscription = geo.Geolocator.getPositionStream().listen((p) { + if(p != null) { + this._locationStream.add(Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude))); + } + }); + } + /// Removes all stream listeners and close it. void close () async { - await this._locationStream.stream.drain(); + this._locationSubscription?.cancel(); this._locationStream.close(); } } \ No newline at end of file From 4b2443ec205977b540295cc38cb3f7e5e9503dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 14:59:31 +0200 Subject: [PATCH 449/522] [feat] turning phone GPS off if using satellite positioning --- .../lib/services/location_service.dart | 3 +- apolline-flutter/lib/twins/SensorTwin.dart | 31 ++++++++++++++----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index 1fecaabe..ea45fa6d 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -11,7 +11,7 @@ class SimpleLocationService { ///current position. Position _currentPosition; ///stream. - StreamController _locationStream = StreamController(); + StreamController _locationStream = StreamController.broadcast(); StreamSubscription _locationSubscription; /// @@ -42,6 +42,7 @@ class SimpleLocationService { } void start () async { + this._locationStream = StreamController.broadcast(); this._locationSubscription = geo.Geolocator.getPositionStream().listen((p) { if(p != null) { this._locationStream.add(Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude))); diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 80db2414..820115a7 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -43,7 +43,9 @@ class SensorTwin { Timer _syncTimer; SimpleLocationService _locationService; + StreamSubscription _locationSubscription; Position _currentPosition; + bool _isUsingSatellitePositioning; SensorTwin({@required BluetoothDevice device, @required Duration syncTiming}) { @@ -54,6 +56,7 @@ class SensorTwin { this._service = InfluxDBAPI(); this._sqfLiteService = SqfLiteService(); this._synchronizationTiming = syncTiming; + this._isUsingSatellitePositioning = false; } @@ -167,12 +170,16 @@ class SensorTwin { return true; } - void _initLocationService () { - this._locationService = SimpleLocationService(); - this._locationService.locationStream.listen((p) { + void _startLocationService () { + this._locationSubscription = this._locationService.locationStream.listen((p) { this._currentPosition = p; }); } + void _stopLocationService() { + this._locationSubscription.cancel(); + this._locationSubscription = null; + this._locationService.close(); + } void _initSynchronizationTimer () { this._syncTimer = Timer.periodic(_synchronizationTiming, (Timer t) => _synchronizationCallback()); @@ -243,10 +250,17 @@ class SensorTwin { currentPosition = Position( provider: "sensor", geohash: SimpleGeoHash.encode(sensorLatitude, sensorLongitude)); - // TODO stop phone GPS + if (!this._isUsingSatellitePositioning) { + this._isUsingSatellitePositioning = true; + _stopLocationService(); + } } else { currentPosition = _currentPosition; - // TODO start phone GPS + if (this._isUsingSatellitePositioning) { + this._isUsingSatellitePositioning = false; + _startLocationService(); + this._locationService.start(); + } } print('Using position from ${shouldUseSatellitePositioning ? 'satellites' : 'phone'}.'); @@ -263,7 +277,10 @@ class SensorTwin { await _setUpListeners(); await synchronizeClock(); - _initLocationService(); + + this._locationService = SimpleLocationService(); + _startLocationService(); + _initSynchronizationTimer(); return true; } @@ -274,7 +291,7 @@ class SensorTwin { this._syncTimer?.cancel(); this._service.client?.close(); this._dataService?.stop(); - this._locationService?.close(); + _stopLocationService(); try { this._device.disconnect(); } catch (err) { From a38a38d7626673fba813b9a07e3ac95c1d368b94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 15:03:30 +0200 Subject: [PATCH 450/522] [refactor] location service stream is a broadcast stream no more --- apolline-flutter/lib/services/location_service.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index ea45fa6d..58483ba7 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -11,7 +11,7 @@ class SimpleLocationService { ///current position. Position _currentPosition; ///stream. - StreamController _locationStream = StreamController.broadcast(); + StreamController _locationStream = StreamController(); StreamSubscription _locationSubscription; /// @@ -42,7 +42,7 @@ class SimpleLocationService { } void start () async { - this._locationStream = StreamController.broadcast(); + this._locationStream = StreamController(); this._locationSubscription = geo.Geolocator.getPositionStream().listen((p) { if(p != null) { this._locationStream.add(Position(geohash: SimpleGeoHash.encode(p.latitude, p.longitude))); From ad483daf2bec060d6a60f06ea123d159a02f3c94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 15:14:52 +0200 Subject: [PATCH 451/522] [fix] sensor disconnection is done properly when not using phone GPS --- apolline-flutter/lib/twins/SensorTwin.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 820115a7..ea574d58 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -176,7 +176,7 @@ class SensorTwin { }); } void _stopLocationService() { - this._locationSubscription.cancel(); + this._locationSubscription?.cancel(); this._locationSubscription = null; this._locationService.close(); } From 13c481aca4c1fbc186765cd32d5aaa0d6e0a3323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 15:18:10 +0200 Subject: [PATCH 452/522] [docs] adding documentation to _getPointWithPosition method --- apolline-flutter/lib/twins/SensorTwin.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index ea574d58..36f4abfe 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -238,6 +238,11 @@ class SensorTwin { /// Current location is either: /// * sensor location, if it currently has access to GPS signal; /// * phone location otherwise. + /// + /// If 3 satellites or more are accessible by the sensor, this will switch + /// to using sensor locations, and will turn off phone location service to + /// save battery usage. + /// Else, phone location service is started. DataPointModel _getPointWithPosition (List values) { double sensorLongitude = double.parse(values[DataPointModel.SENSOR_LONGITUDE]); double sensorLatitude = double.parse(values[DataPointModel.SENSOR_LATITUDE]); From 018454f8de0db3903ef7100a67c6635c822b3c27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 15:30:56 +0200 Subject: [PATCH 453/522] [chore] pushing version to v1.5.0 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 0b30d955..b82338f5 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.4.4+9 +version: 1.5.0+10 publish_to: none environment: From 3ed57ca83150c8eeeaea2e6fa5bc9e78f6efb600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Thu, 7 Oct 2021 15:53:27 +0200 Subject: [PATCH 454/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 3 ++- releaseNotes/whatsnew-fr-FR | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 4ba97e65..03697753 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1 +1,2 @@ -Battery level indicator does not crash anymore when displaying battery levels below 5%. \ No newline at end of file +When sensor GPS is accurate enough, the application uses its location and deactivate phone GPS to +save battery power. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index a313d999..33ad0476 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,2 +1,2 @@ -L'affichage de la charge actuelle de la batterie ne plante plus lorsque celle-ci est chargée à moins -de 5%. \ No newline at end of file +Lorsque le signal GPS du capteur est suffisamment précis, l'application utilise sa position et +désactive le GPS du téléphone afin d'économiser sa batterie. \ No newline at end of file From 5ad0727dede85237ae79dd1303e7e133f1a69fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 12 Oct 2021 10:06:41 +0200 Subject: [PATCH 455/522] (chore) iOS compilation and deployment --- .../ios/Runner.xcodeproj/project.pbxproj | 24 +++++++++++++------ apolline-flutter/ios/Runner/Info.plist | 18 +++++++------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj index 38376b5f..4f713318 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj @@ -169,8 +169,9 @@ TargetAttributes = { 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = Y9WDDQ67L8; + DevelopmentTeam = H2S98JAUHA; LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; }; }; }; @@ -405,8 +406,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = Y9WDDQ67L8; + DEVELOPMENT_TEAM = H2S98JAUHA; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -419,8 +422,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter; + PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter.ios; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -539,8 +543,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = Y9WDDQ67L8; + DEVELOPMENT_TEAM = H2S98JAUHA; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -553,8 +559,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter; + PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter.ios; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -568,8 +575,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = Y9WDDQ67L8; + DEVELOPMENT_TEAM = H2S98JAUHA; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -582,8 +591,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter; + PRODUCT_BUNDLE_IDENTIFIER = com.science.apollineflutter.ios; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; diff --git a/apolline-flutter/ios/Runner/Info.plist b/apolline-flutter/ios/Runner/Info.plist index b5ed6b42..6101f57f 100644 --- a/apolline-flutter/ios/Runner/Info.plist +++ b/apolline-flutter/ios/Runner/Info.plist @@ -2,8 +2,6 @@ - NSBluetoothAlwaysUsageDescription - Apolline uses Bluetooth to connect to the Blue sensors. CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -12,6 +10,11 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 + CFBundleLocalizations + + en + fr + CFBundleName apollineflutter CFBundlePackageType @@ -24,12 +27,14 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSBluetoothAlwaysUsageDescription + Apolline uses Bluetooth to connect to the Blue sensors. + NSLocationWhenInUseUsageDescription + This app needs access to location when open. UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main - NSLocationWhenInUseUsageDescription - This app needs access to location when open. UISupportedInterfaceOrientations UIInterfaceOrientationPortrait @@ -45,10 +50,5 @@ UIViewControllerBasedStatusBarAppearance - CFBundleLocalizations - - en - fr - From 774a2335dff99c2c5078767bf7899185a19704dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 12 Oct 2021 10:29:49 +0200 Subject: [PATCH 456/522] (fix) disabling flutter_background on iOS --- apolline-flutter/lib/bluetoothDevicesPage.dart | 3 +++ apolline-flutter/lib/sensor_view.dart | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 4f0259c0..826c59e9 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:apollineflutter/sensor_view.dart'; import 'package:apollineflutter/settings_view.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; @@ -32,6 +34,7 @@ class _BluetoothDevicesPageState extends State { UserConfigurationService ucS = locator(); void setupBackgroundConfig () async { + if (!Platform.isAndroid) return; final androidConfig = FlutterBackgroundAndroidConfig( notificationTitle: "notifications.background.title".tr(), notificationText: "notifications.background.body".tr(), diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index b37ef364..89aa928e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/twins/SensorTwin.dart'; @@ -119,12 +120,12 @@ class _SensorViewState extends State { } void activateBackgroundExecution () async { - if (await FlutterBackground.hasPermissions) + if (Platform.isAndroid && await FlutterBackground.hasPermissions) FlutterBackground.enableBackgroundExecution(); } void disableBackgroundExecution () { - if (FlutterBackground.isBackgroundExecutionEnabled) + if (Platform.isAndroid && FlutterBackground.isBackgroundExecutionEnabled) FlutterBackground.disableBackgroundExecution(); } From 032e88facbe410f9f330e0944b508feb5bf80ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 12 Oct 2021 10:43:53 +0200 Subject: [PATCH 457/522] (refactor) adding a plist config file for release --- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- apolline-flutter/ios/Runner/Info-Debug.plist | 58 +++++++++++++++++++ .../Runner/{Info.plist => Info-Release.plist} | 0 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 apolline-flutter/ios/Runner/Info-Debug.plist rename apolline-flutter/ios/Runner/{Info.plist => Info-Release.plist} (100%) diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj index 4f713318..a4f531c0 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj @@ -415,7 +415,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -552,7 +552,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -584,7 +584,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( diff --git a/apolline-flutter/ios/Runner/Info-Debug.plist b/apolline-flutter/ios/Runner/Info-Debug.plist new file mode 100644 index 00000000..55f21429 --- /dev/null +++ b/apolline-flutter/ios/Runner/Info-Debug.plist @@ -0,0 +1,58 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLocalizations + + en + fr + + CFBundleName + apollineflutter + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + NSBluetoothAlwaysUsageDescription + Apolline uses Bluetooth to connect to the Blue sensors. + NSLocationWhenInUseUsageDescription + This app needs access to location when open. + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + NSBonjourServices + + _dartobservatory._tcp + + + diff --git a/apolline-flutter/ios/Runner/Info.plist b/apolline-flutter/ios/Runner/Info-Release.plist similarity index 100% rename from apolline-flutter/ios/Runner/Info.plist rename to apolline-flutter/ios/Runner/Info-Release.plist From ce7fbed59290d4e3ef05ffb8c473741c14efc336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 12 Oct 2021 11:19:46 +0200 Subject: [PATCH 458/522] (chore) adding permissions --- apolline-flutter/ios/Podfile | 8 ++++++++ apolline-flutter/ios/Runner/Info-Debug.plist | 10 ++++++++-- apolline-flutter/ios/Runner/Info-Release.plist | 10 ++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/ios/Podfile b/apolline-flutter/ios/Podfile index 313ea4a1..624ac762 100644 --- a/apolline-flutter/ios/Podfile +++ b/apolline-flutter/ios/Podfile @@ -37,5 +37,13 @@ end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) + target.build_configurations.each do |config| + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [ + '$(inherited)', + 'PERMISSION_LOCATION=1', + 'PERMISSION_BLUETOOTH=1', + 'PERMISSION_APP_TRACKING_TRANSPARENCY=1', + ] + end end end diff --git a/apolline-flutter/ios/Runner/Info-Debug.plist b/apolline-flutter/ios/Runner/Info-Debug.plist index 55f21429..6e94f35b 100644 --- a/apolline-flutter/ios/Runner/Info-Debug.plist +++ b/apolline-flutter/ios/Runner/Info-Debug.plist @@ -29,8 +29,14 @@ NSBluetoothAlwaysUsageDescription Apolline uses Bluetooth to connect to the Blue sensors. - NSLocationWhenInUseUsageDescription - This app needs access to location when open. + NSLocationWhenInUseUsageDescription + Need location when in use + NSLocationAlwaysAndWhenInUseUsageDescription + Always and when in use! + NSLocationUsageDescription + Older devices need location. + NSLocationAlwaysUsageDescription + Can I have location always? UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/apolline-flutter/ios/Runner/Info-Release.plist b/apolline-flutter/ios/Runner/Info-Release.plist index 6101f57f..578106a1 100644 --- a/apolline-flutter/ios/Runner/Info-Release.plist +++ b/apolline-flutter/ios/Runner/Info-Release.plist @@ -29,8 +29,14 @@ NSBluetoothAlwaysUsageDescription Apolline uses Bluetooth to connect to the Blue sensors. - NSLocationWhenInUseUsageDescription - This app needs access to location when open. + NSLocationWhenInUseUsageDescription + Need location when in use + NSLocationAlwaysAndWhenInUseUsageDescription + Always and when in use! + NSLocationUsageDescription + Older devices need location. + NSLocationAlwaysUsageDescription + Can I have location always? UILaunchStoryboardName LaunchScreen UIMainStoryboardFile From 43b3d0a6b8dc5d5c1da28625ebdc8d912a88ff7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 13:32:25 +0100 Subject: [PATCH 459/522] [feat] adding basic duration picker skeleton --- apolline-flutter/lib/settings_view.dart | 2 + .../lib/widgets/charts/DurationPicker.dart | 155 ++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 apolline-flutter/lib/widgets/charts/DurationPicker.dart diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index d3e20248..d1922745 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,6 +1,7 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:apollineflutter/widgets/charts/DurationPicker.dart' as localPicker; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:duration_picker/duration_picker.dart'; @@ -99,6 +100,7 @@ class _SettingsPanelState extends State { margin: EdgeInsets.only(bottom: 30), child: Text("settings.setTimeIntervalBody").tr() ), + localPicker.DurationPicker(), DurationPicker( duration: _notificationIntervalDuration, onChange: (val) { diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart new file mode 100644 index 00000000..cc890c94 --- /dev/null +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -0,0 +1,155 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:syncfusion_flutter_gauges/gauges.dart'; + +class DurationPicker extends StatefulWidget { + @override + _DurationPickerState createState() => _DurationPickerState(); +} + +class _DurationPickerState extends State { + double _borderWidth = 5; + double _firstMarkerValue = 2; + double _secondMarkerValue = 8; + double _markerSize = 25; + double _annotationFontSize = 25; + double _thickness = 0.06; + String _annotationValue = '06'; + String _minutesValue = '40'; + double _overlayRadius = 30; + bool _enableDragging = true; + + /// Dragged pointer new value is updated to range. + void _handleFirstPointerValueChanged(double value) { + setState(() { + _firstMarkerValue = value; + final int _value = (_firstMarkerValue - _secondMarkerValue).abs().toInt(); + final String _hourValue = '$_value'; + _annotationValue = _hourValue.length == 1 ? '0' + _hourValue : _hourValue; + _calculateMinutes(_value); + }); + } + + /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another + /// pointer value + void _handleFirstPointerValueChanging(ValueChangingArgs args) { + if (args.value >= _secondMarkerValue || + (args.value - _firstMarkerValue).abs() > 1) { + args.cancel = true; + } + } + + /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another + /// pointer value + void _handleSecondPointerValueChanging(ValueChangingArgs args) { + if (args.value <= _firstMarkerValue || + (args.value - _secondMarkerValue).abs() > 1) { + args.cancel = true; + } + } + + /// Dragged pointer new value is updated to range. + void _handleSecondPointerValueChanged(double value) { + setState(() { + _secondMarkerValue = value; + final int _value = (_firstMarkerValue - _secondMarkerValue).abs().toInt(); + final String _hourValue = '$_value'; + _annotationValue = _hourValue.length == 1 ? '0' + _hourValue : _hourValue; + _calculateMinutes(_value); + }); + } + + /// Calculate the minutes value from pointer value to update in annotation. + void _calculateMinutes(int _value) { + final double _minutes = + (_firstMarkerValue - _secondMarkerValue).abs() - _value; + final List _minList = _minutes.toStringAsFixed(2).split('.'); + double _currentMinutes = double.parse(_minList[1]); + _currentMinutes = + _currentMinutes > 60 ? _currentMinutes - 60 : _currentMinutes; + final String _actualValue = _currentMinutes.toInt().toString(); + _minutesValue = + _actualValue.length == 1 ? '0' + _actualValue : _actualValue; + } + + @override + Widget build(BuildContext context) { + if (MediaQuery.of(context).orientation == Orientation.portrait) { + _markerSize = 25; + _annotationFontSize = 25; + _thickness = 0.06; + _borderWidth = 5; + } else { + _markerSize = 23; + _annotationFontSize = 15; + _thickness = 0.1; + _borderWidth = 4; + } + + return SfRadialGauge(axes: [ + RadialAxis( + axisLineStyle: AxisLineStyle( + thickness: _thickness, + thicknessUnit: GaugeSizeUnit.factor), + radiusFactor: 0.8, + minorTicksPerInterval: 4, + showFirstLabel: false, + minimum: 0, + maximum: 12, + interval: 1, + startAngle: 270, + endAngle: 270, + pointers: [ + MarkerPointer( + value: _firstMarkerValue, + onValueChanged: _handleFirstPointerValueChanged, + onValueChanging: _handleFirstPointerValueChanging, + enableDragging: _enableDragging, + borderColor: const Color(0xFFFFCD60), + borderWidth: _borderWidth, + color: Colors.black.withOpacity(0.8), + markerHeight: _markerSize, + markerWidth: _markerSize, + markerType: MarkerType.circle, + overlayColor: const Color.fromRGBO(255, 205, 96, 0.3), + overlayRadius: _overlayRadius), + MarkerPointer( + value: _secondMarkerValue, + onValueChanged: _handleSecondPointerValueChanged, + onValueChanging: _handleSecondPointerValueChanging, + color: Colors.black.withOpacity(0.8), + enableDragging: _enableDragging, + borderColor: const Color(0xFFFFCD60), + markerHeight: _markerSize, + borderWidth: _borderWidth, + markerWidth: _markerSize, + markerType: MarkerType.circle, + overlayColor: const Color.fromRGBO(255, 205, 96, 0.3), + overlayRadius: _overlayRadius), + ], + ranges: [ + GaugeRange( + endValue: _secondMarkerValue, + sizeUnit: GaugeSizeUnit.factor, + startValue: _firstMarkerValue, + startWidth: _thickness, + endWidth: _thickness) + ], + annotations: [ + GaugeAnnotation( + widget: Container( + child: Center( + child: Text( + '${_annotationValue}hr ${_minutesValue}m', + style: TextStyle( + fontSize: _annotationFontSize, + fontFamily: 'Times', + fontWeight: FontWeight.bold, + color: const Color(0xFF00A8B5)), + ))), + positionFactor: 0.05, + angle: 0) + ]) + ]); + } +} \ No newline at end of file From 5c207187698b19a6bb925c55cee48eb21f7d81ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 13:39:52 +0100 Subject: [PATCH 460/522] [fix] first marker cannot be dragged anymore --- .../lib/widgets/charts/DurationPicker.dart | 35 ++----------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index cc890c94..dca6e96a 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -9,7 +9,7 @@ class DurationPicker extends StatefulWidget { class _DurationPickerState extends State { double _borderWidth = 5; - double _firstMarkerValue = 2; + double _firstMarkerValue = 0; double _secondMarkerValue = 8; double _markerSize = 25; double _annotationFontSize = 25; @@ -19,26 +19,6 @@ class _DurationPickerState extends State { double _overlayRadius = 30; bool _enableDragging = true; - /// Dragged pointer new value is updated to range. - void _handleFirstPointerValueChanged(double value) { - setState(() { - _firstMarkerValue = value; - final int _value = (_firstMarkerValue - _secondMarkerValue).abs().toInt(); - final String _hourValue = '$_value'; - _annotationValue = _hourValue.length == 1 ? '0' + _hourValue : _hourValue; - _calculateMinutes(_value); - }); - } - - /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another - /// pointer value - void _handleFirstPointerValueChanging(ValueChangingArgs args) { - if (args.value >= _secondMarkerValue || - (args.value - _firstMarkerValue).abs() > 1) { - args.cancel = true; - } - } - /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another /// pointer value void _handleSecondPointerValueChanging(ValueChangingArgs args) { @@ -102,17 +82,8 @@ class _DurationPickerState extends State { pointers: [ MarkerPointer( value: _firstMarkerValue, - onValueChanged: _handleFirstPointerValueChanged, - onValueChanging: _handleFirstPointerValueChanging, - enableDragging: _enableDragging, - borderColor: const Color(0xFFFFCD60), - borderWidth: _borderWidth, - color: Colors.black.withOpacity(0.8), - markerHeight: _markerSize, - markerWidth: _markerSize, - markerType: MarkerType.circle, - overlayColor: const Color.fromRGBO(255, 205, 96, 0.3), - overlayRadius: _overlayRadius), + enableDragging: false, + color: Colors.transparent), MarkerPointer( value: _secondMarkerValue, onValueChanged: _handleSecondPointerValueChanged, From 7f0fad2858d7704ec48419195be10591611543c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 13:46:14 +0100 Subject: [PATCH 461/522] [feat] picker displays current minutes count --- apolline-flutter/lib/widgets/charts/DurationPicker.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index dca6e96a..b8528453 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -18,6 +18,7 @@ class _DurationPickerState extends State { String _minutesValue = '40'; double _overlayRadius = 30; bool _enableDragging = true; + int _minutesCount = 15; /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another /// pointer value @@ -31,6 +32,7 @@ class _DurationPickerState extends State { /// Dragged pointer new value is updated to range. void _handleSecondPointerValueChanged(double value) { setState(() { + _minutesCount = (5*value).round(); _secondMarkerValue = value; final int _value = (_firstMarkerValue - _secondMarkerValue).abs().toInt(); final String _hourValue = '$_value'; @@ -111,7 +113,7 @@ class _DurationPickerState extends State { widget: Container( child: Center( child: Text( - '${_annotationValue}hr ${_minutesValue}m', + '$_minutesCount mins', style: TextStyle( fontSize: _annotationFontSize, fontFamily: 'Times', From b126f61f89ef95874a636c8f8ac6dd662532eaae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 13:50:22 +0100 Subject: [PATCH 462/522] [refactor] removing useless code --- .../lib/widgets/charts/DurationPicker.dart | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index b8528453..82b6b270 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -9,13 +9,10 @@ class DurationPicker extends StatefulWidget { class _DurationPickerState extends State { double _borderWidth = 5; - double _firstMarkerValue = 0; double _secondMarkerValue = 8; double _markerSize = 25; double _annotationFontSize = 25; double _thickness = 0.06; - String _annotationValue = '06'; - String _minutesValue = '40'; double _overlayRadius = 30; bool _enableDragging = true; int _minutesCount = 15; @@ -23,7 +20,7 @@ class _DurationPickerState extends State { /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another /// pointer value void _handleSecondPointerValueChanging(ValueChangingArgs args) { - if (args.value <= _firstMarkerValue || + if (args.value <= 0 || (args.value - _secondMarkerValue).abs() > 1) { args.cancel = true; } @@ -34,26 +31,9 @@ class _DurationPickerState extends State { setState(() { _minutesCount = (5*value).round(); _secondMarkerValue = value; - final int _value = (_firstMarkerValue - _secondMarkerValue).abs().toInt(); - final String _hourValue = '$_value'; - _annotationValue = _hourValue.length == 1 ? '0' + _hourValue : _hourValue; - _calculateMinutes(_value); }); } - /// Calculate the minutes value from pointer value to update in annotation. - void _calculateMinutes(int _value) { - final double _minutes = - (_firstMarkerValue - _secondMarkerValue).abs() - _value; - final List _minList = _minutes.toStringAsFixed(2).split('.'); - double _currentMinutes = double.parse(_minList[1]); - _currentMinutes = - _currentMinutes > 60 ? _currentMinutes - 60 : _currentMinutes; - final String _actualValue = _currentMinutes.toInt().toString(); - _minutesValue = - _actualValue.length == 1 ? '0' + _actualValue : _actualValue; - } - @override Widget build(BuildContext context) { if (MediaQuery.of(context).orientation == Orientation.portrait) { @@ -83,7 +63,7 @@ class _DurationPickerState extends State { endAngle: 270, pointers: [ MarkerPointer( - value: _firstMarkerValue, + value: 0, enableDragging: false, color: Colors.transparent), MarkerPointer( @@ -104,7 +84,7 @@ class _DurationPickerState extends State { GaugeRange( endValue: _secondMarkerValue, sizeUnit: GaugeSizeUnit.factor, - startValue: _firstMarkerValue, + startValue: 0, startWidth: _thickness, endWidth: _thickness) ], From 4314a07bfe116162558c016f6f10e092870133f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 14:09:20 +0100 Subject: [PATCH 463/522] [feat] adjusting color scheme --- .../lib/widgets/charts/DurationPicker.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 82b6b270..4ed2b67d 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -70,19 +70,20 @@ class _DurationPickerState extends State { value: _secondMarkerValue, onValueChanged: _handleSecondPointerValueChanged, onValueChanging: _handleSecondPointerValueChanging, - color: Colors.black.withOpacity(0.8), + color: Color(0xff42a5f5), enableDragging: _enableDragging, - borderColor: const Color(0xFFFFCD60), + borderColor: const Color(0xff42a5f5), markerHeight: _markerSize, borderWidth: _borderWidth, markerWidth: _markerSize, markerType: MarkerType.circle, - overlayColor: const Color.fromRGBO(255, 205, 96, 0.3), + overlayColor: const Color(0x8880d6ff), overlayRadius: _overlayRadius), ], ranges: [ GaugeRange( endValue: _secondMarkerValue, + color: Color(0xff80d6ff), sizeUnit: GaugeSizeUnit.factor, startValue: 0, startWidth: _thickness, @@ -95,10 +96,9 @@ class _DurationPickerState extends State { child: Text( '$_minutesCount mins', style: TextStyle( - fontSize: _annotationFontSize, - fontFamily: 'Times', - fontWeight: FontWeight.bold, - color: const Color(0xFF00A8B5)), + fontSize: _annotationFontSize,) + // fontFamily: 'Times', + //fontWeight: FontWeight.bold), ))), positionFactor: 0.05, angle: 0) From 7a4161c74491abb158bf359d05ddf0591ae4c5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 14:31:25 +0100 Subject: [PATCH 464/522] [refactor] minutes count text is displayed on picker's centre --- .../lib/widgets/charts/DurationPicker.dart | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 4ed2b67d..401d8330 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -11,7 +11,7 @@ class _DurationPickerState extends State { double _borderWidth = 5; double _secondMarkerValue = 8; double _markerSize = 25; - double _annotationFontSize = 25; + double _annotationFontSize = 40; double _thickness = 0.06; double _overlayRadius = 30; bool _enableDragging = true; @@ -38,12 +38,10 @@ class _DurationPickerState extends State { Widget build(BuildContext context) { if (MediaQuery.of(context).orientation == Orientation.portrait) { _markerSize = 25; - _annotationFontSize = 25; _thickness = 0.06; _borderWidth = 5; } else { _markerSize = 23; - _annotationFontSize = 15; _thickness = 0.1; _borderWidth = 4; } @@ -93,12 +91,22 @@ class _DurationPickerState extends State { GaugeAnnotation( widget: Container( child: Center( - child: Text( - '$_minutesCount mins', - style: TextStyle( - fontSize: _annotationFontSize,) - // fontFamily: 'Times', - //fontWeight: FontWeight.bold), + child: Column( + children: [ + Text( + _minutesCount.toString(), + style: TextStyle( + color: Colors.grey.shade700, + fontSize: _annotationFontSize,) + ), + Text( + 'min.', + style: TextStyle( + fontSize: _annotationFontSize-25,) + ) + ], + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, ))), positionFactor: 0.05, angle: 0) From 4be85426953f5c11124dc532cf420b5ba0eac293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 14:34:01 +0100 Subject: [PATCH 465/522] [refactor] removing useless code --- .../lib/widgets/charts/DurationPicker.dart | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 401d8330..760da5b3 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -9,19 +9,17 @@ class DurationPicker extends StatefulWidget { class _DurationPickerState extends State { double _borderWidth = 5; - double _secondMarkerValue = 8; + double _markerValue = 8; double _markerSize = 25; double _annotationFontSize = 40; double _thickness = 0.06; - double _overlayRadius = 30; - bool _enableDragging = true; int _minutesCount = 15; /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another /// pointer value void _handleSecondPointerValueChanging(ValueChangingArgs args) { if (args.value <= 0 || - (args.value - _secondMarkerValue).abs() > 1) { + (args.value - _markerValue).abs() > 1) { args.cancel = true; } } @@ -30,7 +28,7 @@ class _DurationPickerState extends State { void _handleSecondPointerValueChanged(double value) { setState(() { _minutesCount = (5*value).round(); - _secondMarkerValue = value; + _markerValue = value; }); } @@ -65,22 +63,22 @@ class _DurationPickerState extends State { enableDragging: false, color: Colors.transparent), MarkerPointer( - value: _secondMarkerValue, + value: _markerValue, onValueChanged: _handleSecondPointerValueChanged, onValueChanging: _handleSecondPointerValueChanging, color: Color(0xff42a5f5), - enableDragging: _enableDragging, + enableDragging: true, borderColor: const Color(0xff42a5f5), markerHeight: _markerSize, borderWidth: _borderWidth, markerWidth: _markerSize, markerType: MarkerType.circle, overlayColor: const Color(0x8880d6ff), - overlayRadius: _overlayRadius), + overlayRadius: 30), ], ranges: [ GaugeRange( - endValue: _secondMarkerValue, + endValue: _markerValue, color: Color(0xff80d6ff), sizeUnit: GaugeSizeUnit.factor, startValue: 0, From c73e5b859ec6a282c6b6cb088f7d21fb0139bdd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 15:06:09 +0100 Subject: [PATCH 466/522] [feat] picker accepts onChange callback function --- apolline-flutter/lib/settings_view.dart | 9 ++++++++- .../lib/widgets/charts/DurationPicker.dart | 16 +++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index d1922745..4ed8a936 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -100,7 +100,14 @@ class _SettingsPanelState extends State { margin: EdgeInsets.only(bottom: 30), child: Text("settings.setTimeIntervalBody").tr() ), - localPicker.DurationPicker(), + localPicker.DurationPicker( + duration: _notificationIntervalDuration, + onChange: (val) { + setState(() => _notificationIntervalDuration = val); + widget.ucS.userConf.exposureNotificationsTimeInterval = val; + widget.ucS.update(); + } + ), DurationPicker( duration: _notificationIntervalDuration, onChange: (val) { diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 760da5b3..07b84963 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -3,6 +3,13 @@ import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_gauges/gauges.dart'; class DurationPicker extends StatefulWidget { + final Duration duration; + final Function(Duration) onChange; + const DurationPicker({ + Key key, + @required this.duration, + @required this.onChange}) : super(key: key); + @override _DurationPickerState createState() => _DurationPickerState(); } @@ -13,7 +20,13 @@ class _DurationPickerState extends State { double _markerSize = 25; double _annotationFontSize = 40; double _thickness = 0.06; - int _minutesCount = 15; + int _minutesCount = 0; + + @override + void initState() { + super.initState(); + this._minutesCount = widget.duration.inMinutes; + } /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another /// pointer value @@ -30,6 +43,7 @@ class _DurationPickerState extends State { _minutesCount = (5*value).round(); _markerValue = value; }); + widget.onChange(Duration(minutes: _minutesCount)); } @override From 47c181a0cd68f1d8b86e5c7ce75042a7858f9be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 15:11:23 +0100 Subject: [PATCH 467/522] [fix] picker displays user value on creation --- apolline-flutter/lib/widgets/charts/DurationPicker.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 07b84963..32919809 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -16,7 +16,7 @@ class DurationPicker extends StatefulWidget { class _DurationPickerState extends State { double _borderWidth = 5; - double _markerValue = 8; + double _markerValue = 0; double _markerSize = 25; double _annotationFontSize = 40; double _thickness = 0.06; @@ -26,6 +26,7 @@ class _DurationPickerState extends State { void initState() { super.initState(); this._minutesCount = widget.duration.inMinutes; + this._markerValue = widget.duration.inMinutes / 5; } /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another From f05b5a4298604c6c6aaf6b359482597deae2dcae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 15:28:26 +0100 Subject: [PATCH 468/522] [fix] onChange callback is called only on drag end --- apolline-flutter/lib/widgets/charts/DurationPicker.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart index 32919809..4747bca9 100644 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ b/apolline-flutter/lib/widgets/charts/DurationPicker.dart @@ -44,6 +44,10 @@ class _DurationPickerState extends State { _minutesCount = (5*value).round(); _markerValue = value; }); + } + + // Dragged pointer dragging finished. + void _handlePointerNewValue(double range) { widget.onChange(Duration(minutes: _minutesCount)); } @@ -81,6 +85,7 @@ class _DurationPickerState extends State { value: _markerValue, onValueChanged: _handleSecondPointerValueChanged, onValueChanging: _handleSecondPointerValueChanging, + onValueChangeEnd: _handlePointerNewValue, color: Color(0xff42a5f5), enableDragging: true, borderColor: const Color(0xff42a5f5), From 8fda2e06b1faa9af10694468eb5e907a5891443c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 15:37:07 +0100 Subject: [PATCH 469/522] [chore] removing duration_picker package dependency --- apolline-flutter/lib/settings_view.dart | 13 ++----------- apolline-flutter/pubspec.lock | 7 ------- apolline-flutter/pubspec.yaml | 1 - 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 4ed8a936..d245c798 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,10 +1,9 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; -import 'package:apollineflutter/widgets/charts/DurationPicker.dart' as localPicker; +import 'package:apollineflutter/widgets/charts/DurationPicker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:duration_picker/duration_picker.dart'; import 'package:easy_localization/easy_localization.dart'; class SettingsPanel extends StatefulWidget { @@ -100,14 +99,6 @@ class _SettingsPanelState extends State { margin: EdgeInsets.only(bottom: 30), child: Text("settings.setTimeIntervalBody").tr() ), - localPicker.DurationPicker( - duration: _notificationIntervalDuration, - onChange: (val) { - setState(() => _notificationIntervalDuration = val); - widget.ucS.userConf.exposureNotificationsTimeInterval = val; - widget.ucS.update(); - } - ), DurationPicker( duration: _notificationIntervalDuration, onChange: (val) { @@ -115,7 +106,7 @@ class _SettingsPanelState extends State { widget.ucS.userConf.exposureNotificationsTimeInterval = val; widget.ucS.update(); } - ), + ) ], ), ), diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index ffc696ad..ef202319 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -85,13 +85,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" - duration_picker: - dependency: "direct main" - description: - name: duration_picker - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" easy_localization: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index b82338f5..1f6dde8d 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -43,7 +43,6 @@ dependencies: easy_localization: ^3.0.0 grant_and_activate: ^0.0.1 flutter_local_notifications: ^8.2.0 - duration_picker: ^1.0.1 flutter_speed_dial: ^4.3.0 syncfusion_flutter_charts: ^19.2.62 From 9f0c91c2db8e24ec2717393ebc1a5e5ca3754211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 16:34:58 +0100 Subject: [PATCH 470/522] [refactor] using a number picker to choose notifications interval --- apolline-flutter/lib/settings_view.dart | 69 +++++---- .../lib/widgets/charts/DurationPicker.dart | 134 ------------------ apolline-flutter/pubspec.lock | 7 + apolline-flutter/pubspec.yaml | 1 + 4 files changed, 41 insertions(+), 170 deletions(-) delete mode 100644 apolline-flutter/lib/widgets/charts/DurationPicker.dart diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index d245c798..19d9b9b9 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -1,10 +1,10 @@ import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/pm_card.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; -import 'package:apollineflutter/widgets/charts/DurationPicker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter_picker/flutter_picker.dart'; class SettingsPanel extends StatefulWidget { final EdgeInsets padding = EdgeInsets.only(left: 20, right: 20, top: 30, bottom: 10); @@ -20,6 +20,10 @@ class _SettingsPanelState extends State { bool _showWarningNotifications = true; bool _showDangerNotifications = true; Duration _notificationIntervalDuration = Duration(minutes: 5); + List> pickerData = [ + new List.generate(23, (i) => (i + 1).toString() + 'h'), + new List.generate(60, (i) => (i).toString() + 'min') + ]; @override initState () { @@ -90,47 +94,40 @@ class _SettingsPanelState extends State { margin: EdgeInsets.only(right: 6), child: Text(_printDuration(_notificationIntervalDuration)) ), - onTap: () => showDialog(context: context, builder: (context) => AlertDialog( - title: const Text('settings.setTimeInterval').tr(), - content: SingleChildScrollView( - child: ListBody( - children: [ - Container ( - margin: EdgeInsets.only(bottom: 30), - child: Text("settings.setTimeIntervalBody").tr() - ), - DurationPicker( - duration: _notificationIntervalDuration, - onChange: (val) { - setState(() => _notificationIntervalDuration = val); - widget.ucS.userConf.exposureNotificationsTimeInterval = val; - widget.ucS.update(); - } - ) - ], - ), - ), - actions: [ - TextButton( - child: const Text('devicesView.analysisButton.cancel').tr(), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - TextButton( - child: const Text('OK'), - onPressed: () { - Navigator.of(context).pop(); - }, - ) - ], - )), + onTap: () => showPickerModal(context) ) ], ) ); } + showPickerModal(BuildContext context) { + new Picker( + adapter: PickerDataAdapter(pickerdata: pickerData, isArray: true), + changeToFirst: true, + hideHeader: false, + confirmText: 'OK', + cancelText: 'devicesView.analysisButton.cancel'.tr(), + selecteds: [ + _notificationIntervalDuration.inHours-1, + _notificationIntervalDuration.inMinutes % 60 + ], + onConfirm: (Picker picker, List value) { + String hoursValue = pickerData[0][value[0]]; + String minutesValue = pickerData[1][value[1]]; + + Duration newDuration = Duration( + hours: int.parse(hoursValue.substring(0, hoursValue.length-1)), + minutes: int.parse(minutesValue.substring(0, minutesValue.length-3)) + ); + + setState(() => _notificationIntervalDuration = newDuration); + widget.ucS.userConf.exposureNotificationsTimeInterval = newDuration; + widget.ucS.update(); + } + ).showModal(context); //_scaffoldKey.currentState); + } + @override Widget build(BuildContext context) { List widgets = [ diff --git a/apolline-flutter/lib/widgets/charts/DurationPicker.dart b/apolline-flutter/lib/widgets/charts/DurationPicker.dart deleted file mode 100644 index 4747bca9..00000000 --- a/apolline-flutter/lib/widgets/charts/DurationPicker.dart +++ /dev/null @@ -1,134 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:syncfusion_flutter_gauges/gauges.dart'; - -class DurationPicker extends StatefulWidget { - final Duration duration; - final Function(Duration) onChange; - const DurationPicker({ - Key key, - @required this.duration, - @required this.onChange}) : super(key: key); - - @override - _DurationPickerState createState() => _DurationPickerState(); -} - -class _DurationPickerState extends State { - double _borderWidth = 5; - double _markerValue = 0; - double _markerSize = 25; - double _annotationFontSize = 40; - double _thickness = 0.06; - int _minutesCount = 0; - - @override - void initState() { - super.initState(); - this._minutesCount = widget.duration.inMinutes; - this._markerValue = widget.duration.inMinutes / 5; - } - - /// Cancelled the dragging when pointer value reaching the axis end/start value, greater/less than another - /// pointer value - void _handleSecondPointerValueChanging(ValueChangingArgs args) { - if (args.value <= 0 || - (args.value - _markerValue).abs() > 1) { - args.cancel = true; - } - } - - /// Dragged pointer new value is updated to range. - void _handleSecondPointerValueChanged(double value) { - setState(() { - _minutesCount = (5*value).round(); - _markerValue = value; - }); - } - - // Dragged pointer dragging finished. - void _handlePointerNewValue(double range) { - widget.onChange(Duration(minutes: _minutesCount)); - } - - @override - Widget build(BuildContext context) { - if (MediaQuery.of(context).orientation == Orientation.portrait) { - _markerSize = 25; - _thickness = 0.06; - _borderWidth = 5; - } else { - _markerSize = 23; - _thickness = 0.1; - _borderWidth = 4; - } - - return SfRadialGauge(axes: [ - RadialAxis( - axisLineStyle: AxisLineStyle( - thickness: _thickness, - thicknessUnit: GaugeSizeUnit.factor), - radiusFactor: 0.8, - minorTicksPerInterval: 4, - showFirstLabel: false, - minimum: 0, - maximum: 12, - interval: 1, - startAngle: 270, - endAngle: 270, - pointers: [ - MarkerPointer( - value: 0, - enableDragging: false, - color: Colors.transparent), - MarkerPointer( - value: _markerValue, - onValueChanged: _handleSecondPointerValueChanged, - onValueChanging: _handleSecondPointerValueChanging, - onValueChangeEnd: _handlePointerNewValue, - color: Color(0xff42a5f5), - enableDragging: true, - borderColor: const Color(0xff42a5f5), - markerHeight: _markerSize, - borderWidth: _borderWidth, - markerWidth: _markerSize, - markerType: MarkerType.circle, - overlayColor: const Color(0x8880d6ff), - overlayRadius: 30), - ], - ranges: [ - GaugeRange( - endValue: _markerValue, - color: Color(0xff80d6ff), - sizeUnit: GaugeSizeUnit.factor, - startValue: 0, - startWidth: _thickness, - endWidth: _thickness) - ], - annotations: [ - GaugeAnnotation( - widget: Container( - child: Center( - child: Column( - children: [ - Text( - _minutesCount.toString(), - style: TextStyle( - color: Colors.grey.shade700, - fontSize: _annotationFontSize,) - ), - Text( - 'min.', - style: TextStyle( - fontSize: _annotationFontSize-25,) - ) - ], - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - ))), - positionFactor: 0.05, - angle: 0) - ]) - ]); - } -} \ No newline at end of file diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index ef202319..0e57c1a7 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -172,6 +172,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_picker: + dependency: "direct main" + description: + name: flutter_picker + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" flutter_plugin_android_lifecycle: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 1f6dde8d..f7fa6a62 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -45,6 +45,7 @@ dependencies: flutter_local_notifications: ^8.2.0 flutter_speed_dial: ^4.3.0 syncfusion_flutter_charts: ^19.2.62 + flutter_picker: ^2.0.2 From 54f3919709065c3a9c1684f51a3d60720e6068fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 10 Nov 2021 16:37:41 +0100 Subject: [PATCH 471/522] [fix] user can pick durations inferior to one hour --- apolline-flutter/lib/settings_view.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 19d9b9b9..581dd097 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -21,7 +21,7 @@ class _SettingsPanelState extends State { bool _showDangerNotifications = true; Duration _notificationIntervalDuration = Duration(minutes: 5); List> pickerData = [ - new List.generate(23, (i) => (i + 1).toString() + 'h'), + new List.generate(24, (i) => (i).toString() + 'h'), new List.generate(60, (i) => (i).toString() + 'min') ]; @@ -109,7 +109,7 @@ class _SettingsPanelState extends State { confirmText: 'OK', cancelText: 'devicesView.analysisButton.cancel'.tr(), selecteds: [ - _notificationIntervalDuration.inHours-1, + _notificationIntervalDuration.inHours, _notificationIntervalDuration.inMinutes % 60 ], onConfirm: (Picker picker, List value) { From 8e578d987d640dcf8e772a80e30a8362b37ca063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 14:38:07 +0100 Subject: [PATCH 472/522] [refactor] using current notifications channel as warning channel --- apolline-flutter/assets/translations/en-GB.json | 6 +++--- apolline-flutter/assets/translations/fr-FR.json | 6 +++--- apolline-flutter/lib/sensor_view.dart | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 38194bd7..380a22fd 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -60,9 +60,9 @@ } }, "notifications": { - "channel": { - "name": "Exposure notifications", - "description": "Get alerts when current PM values are above warning/danger thresholds." + "warningChannel": { + "name": "Exposure notifications (warning)", + "description": "Get alerts when current PM values are above warning thresholds." }, "warning": { "title": "Warning for {}", diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index dbe59146..8b8d4642 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -60,9 +60,9 @@ } }, "notifications": { - "channel": { - "name": "Notifications d'exposition", - "description": "Recevez des alertes lorsque les taux de particules fines dépassent les seuils d'alerte définis dans l'application." + "warningChannel": { + "name": "Notifications d'exposition (alerte)", + "description": "Recevez des notifications lorsque les taux de particules fines dépassent les seuils d'alerte définis dans l'application." }, "warning": { "title": "Taux de {} préoccupant", diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 23e34bc0..e60075a7 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -28,8 +28,8 @@ class SensorView extends StatefulWidget { final AndroidNotificationDetails androidPlatformChannelSpecifics = AndroidNotificationDetails( 'apolline_exposure_notifications', - 'notifications.channel.name'.tr(), - 'notifications.channel.description'.tr(), + 'notifications.warningChannel.name'.tr(), + 'notifications.warningChannel.description'.tr(), importance: Importance.max, priority: Priority.high, showWhen: true From c15193e0220de10c9a78b8a0698a306846ca0d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 14:40:10 +0100 Subject: [PATCH 473/522] [feat] adding translations for danger notifications channel --- apolline-flutter/assets/translations/en-GB.json | 4 ++++ apolline-flutter/assets/translations/fr-FR.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 380a22fd..7e87d29b 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -64,6 +64,10 @@ "name": "Exposure notifications (warning)", "description": "Get alerts when current PM values are above warning thresholds." }, + "dangerChannel": { + "name": "Exposure notifications (danger)", + "description": "Get alerts when current PM values are above danger thresholds." + }, "warning": { "title": "Warning for {}", "body": "{} µm/m³ value exceeds warning threshold." diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 8b8d4642..3572ef45 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -64,6 +64,10 @@ "name": "Notifications d'exposition (alerte)", "description": "Recevez des notifications lorsque les taux de particules fines dépassent les seuils d'alerte définis dans l'application." }, + "dangerChannel": { + "name": "Notifications d'exposition (danger)", + "description": "Recevez des notifications lorsque les taux de particules fines dépassent les seuils de danger définis dans l'application." + }, "warning": { "title": "Taux de {} préoccupant", "body": "La mesure de {} µm/m³ dépasse le seuil d'alerte." From 40c505dec9ef82fda998a6c9732f104dd9fc86a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 14:57:58 +0100 Subject: [PATCH 474/522] [feat] warning and danger notifications are sent on their own channels --- apolline-flutter/lib/sensor_view.dart | 43 +++++++++++++++++---------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index e60075a7..74212f1e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -25,15 +25,25 @@ class SensorView extends StatefulWidget { SensorView({Key key, this.device}) : super(key: key); final BluetoothDevice device; final UserConfigurationService ucS = locator(); - final AndroidNotificationDetails androidPlatformChannelSpecifics = + final AndroidNotificationDetails androidPlatformWarningChannelSpecifics = AndroidNotificationDetails( - 'apolline_exposure_notifications', + 'apolline_exposure_warning_notifications', 'notifications.warningChannel.name'.tr(), 'notifications.warningChannel.description'.tr(), importance: Importance.max, priority: Priority.high, showWhen: true ); + final AndroidNotificationDetails androidPlatformDangerChannelSpecifics = + AndroidNotificationDetails( + 'apolline_exposure_danger_notifications', + 'notifications.dangerChannel.name'.tr(), + 'notifications.dangerChannel.description'.tr(), + importance: Importance.max, + priority: Priority.high, + showWhen: true + ); + @override State createState() => _SensorViewState(); @@ -46,7 +56,7 @@ class _SensorViewState extends State { bool isConnected = false; ConnexionType connectType = ConnexionType.Normal; SensorTwin _sensor; - Map _notificationTimestamps = Map(); + Map _notificationTimestamps = Map(); final GlobalKey _scaffoldMessengerKey = GlobalKey(); @@ -145,14 +155,14 @@ class _SensorViewState extends State { _checkNotification( "notifications.warning.title".tr(args: [value.getLabelKey().tr()]), 'notifications.warning.body'.tr(args: [collectedValue.toString()]), - value + false ); } else if (widget.ucS.userConf.showDangerNotifications && collectedValue >= dangerThreshold) { // print("[DANGER] $value concentration is $collectedValue (>= $dangerThreshold)."); _checkNotification( "notifications.danger.title".tr(args: [value.getLabelKey().tr()]), 'notifications.danger.body'.tr(args: [collectedValue.toString()]), - value + true ); } }); @@ -192,23 +202,26 @@ class _SensorViewState extends State { ScaffoldMessenger.maybeOf(_scaffoldMessengerKey.currentContext).showSnackBar(snackBar); } - Future _checkNotification (String title, String message, PMFilter filter) async { - if (!_notificationTimestamps.containsKey(filter)) { - _showNotification( title, message ); - _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; + Future _checkNotification (String title, String message, bool isDanger) async { + if (!_notificationTimestamps.containsKey(isDanger)) { + _showNotification( title, message, isDanger: isDanger ); + _notificationTimestamps[isDanger] = DateTime.now().millisecondsSinceEpoch; } - if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[filter] > widget.ucS.userConf.exposureNotificationsTimeInterval.inMilliseconds) { - _showNotification( title, message ); - _notificationTimestamps[filter] = DateTime.now().millisecondsSinceEpoch; + if (DateTime.now().millisecondsSinceEpoch - _notificationTimestamps[isDanger] > widget.ucS.userConf.exposureNotificationsTimeInterval.inMilliseconds) { + _showNotification( title, message, isDanger: isDanger ); + _notificationTimestamps[isDanger] = DateTime.now().millisecondsSinceEpoch; } } - Future _showNotification (String title, String message) async { + Future _showNotification (String title, String message, {bool isDanger = false}) async { NotificationDetails platformChannelSpecifics = NotificationDetails( - android: widget.androidPlatformChannelSpecifics + android: isDanger + ? widget.androidPlatformDangerChannelSpecifics + : widget.androidPlatformWarningChannelSpecifics ); await FlutterLocalNotificationsPlugin().show( - 0, title, message, platformChannelSpecifics + isDanger ? 0 : 1, + title, message, platformChannelSpecifics ); } From f6d8620ba570145e218f4c4a0ceb26af5c43e546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 15:25:47 +0100 Subject: [PATCH 475/522] [fix] adjusting notification channels ids --- apolline-flutter/lib/bluetoothDevicesPage.dart | 2 +- apolline-flutter/lib/sensor_view.dart | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index a0eae9cf..4a9e8265 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -35,7 +35,7 @@ class _BluetoothDevicesPageState extends State { final androidConfig = FlutterBackgroundAndroidConfig( notificationTitle: "notifications.background.title".tr(), notificationText: "notifications.background.body".tr(), - notificationImportance: AndroidNotificationImportance.Default, + notificationImportance: AndroidNotificationImportance.Max, notificationIcon: AndroidResource(name: 'ic_apolline_notification', defType: 'drawable'), ); FlutterBackground.initialize(androidConfig: androidConfig); diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 74212f1e..d61d5ec8 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -30,8 +30,8 @@ class SensorView extends StatefulWidget { 'apolline_exposure_warning_notifications', 'notifications.warningChannel.name'.tr(), 'notifications.warningChannel.description'.tr(), - importance: Importance.max, - priority: Priority.high, + importance: Importance.defaultImportance, + priority: Priority.defaultPriority, showWhen: true ); final AndroidNotificationDetails androidPlatformDangerChannelSpecifics = @@ -39,8 +39,8 @@ class SensorView extends StatefulWidget { 'apolline_exposure_danger_notifications', 'notifications.dangerChannel.name'.tr(), 'notifications.dangerChannel.description'.tr(), - importance: Importance.max, - priority: Priority.high, + importance: Importance.defaultImportance, + priority: Priority.defaultPriority, showWhen: true ); @@ -220,7 +220,7 @@ class _SensorViewState extends State { : widget.androidPlatformWarningChannelSpecifics ); await FlutterLocalNotificationsPlugin().show( - isDanger ? 0 : 1, + isDanger ? -1 : -2, title, message, platformChannelSpecifics ); } From 2e436f3d4d1127ad221cff61ef4a985100d36dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 15:30:08 +0100 Subject: [PATCH 476/522] [fix] adjusting notification channels priorities --- apolline-flutter/lib/sensor_view.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d61d5ec8..f7a07819 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -30,8 +30,8 @@ class SensorView extends StatefulWidget { 'apolline_exposure_warning_notifications', 'notifications.warningChannel.name'.tr(), 'notifications.warningChannel.description'.tr(), - importance: Importance.defaultImportance, - priority: Priority.defaultPriority, + importance: Importance.max, + priority: Priority.high, showWhen: true ); final AndroidNotificationDetails androidPlatformDangerChannelSpecifics = @@ -39,8 +39,8 @@ class SensorView extends StatefulWidget { 'apolline_exposure_danger_notifications', 'notifications.dangerChannel.name'.tr(), 'notifications.dangerChannel.description'.tr(), - importance: Importance.defaultImportance, - priority: Priority.defaultPriority, + importance: Importance.max, + priority: Priority.high, showWhen: true ); From affcba3f75b6c31b50cb082e71a8c772c4e46455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 15:39:04 +0100 Subject: [PATCH 477/522] [docs] notification time interval applies between notifs from same type --- apolline-flutter/assets/translations/en-GB.json | 1 + apolline-flutter/assets/translations/fr-FR.json | 1 + apolline-flutter/lib/settings_view.dart | 1 + 3 files changed, 3 insertions(+) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 7e87d29b..51b12d41 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -86,6 +86,7 @@ "receiveWarning": "Receive warning notifications", "receiveDanger": "Receive danger notifications", "timeInterval": "Notifications time interval", + "sameType": "of same type", "setTimeInterval": "Set time interval", "setTimeIntervalBody": "Set which duration must pass before a new notification is sent.", "warning": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 3572ef45..7456ab84 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -86,6 +86,7 @@ "receiveWarning": "Recevoir des notifications d'alerte", "receiveDanger": "Recevoir des notifications de danger", "timeInterval": "Intervalle entre deux notifications", + "sameType": "du même type", "setTimeInterval": "Définir l'intervalle de temps", "setTimeIntervalBody": "Choisissez combien de temps doit s'écouler entre l'envoi de deux notifications.", "warning": { diff --git a/apolline-flutter/lib/settings_view.dart b/apolline-flutter/lib/settings_view.dart index 581dd097..a6509e3b 100644 --- a/apolline-flutter/lib/settings_view.dart +++ b/apolline-flutter/lib/settings_view.dart @@ -90,6 +90,7 @@ class _SettingsPanelState extends State { ListTile( enabled: _showWarningNotifications || _showDangerNotifications, title: Text("settings.timeInterval").tr(), + subtitle: Text('(' + "settings.sameType".tr() + ')'), trailing: Container( margin: EdgeInsets.only(right: 6), child: Text(_printDuration(_notificationIntervalDuration)) From 0dc79db7aa1a10c50ec332b3f9af2bbee94f2f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 15:39:55 +0100 Subject: [PATCH 478/522] [chore] pushing version to v1.5.1 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index f7fa6a62..35e6c76d 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.0+10 +version: 1.5.1+11 publish_to: none environment: From ed9b9b9c9173b58f4764a8622025ddf6bfc4fa79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 15 Nov 2021 16:27:53 +0100 Subject: [PATCH 479/522] [chore] using a fork as flutter_blue dependency --- apolline-flutter/pubspec.lock | 12 +++++++----- apolline-flutter/pubspec.yaml | 5 ++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 0e57c1a7..28996314 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -142,10 +142,12 @@ packages: flutter_blue: dependency: "direct main" description: - name: flutter_blue - url: "https://pub.dartlang.org" - source: hosted - version: "0.8.0" + path: "." + ref: "0.11.0" + resolved-ref: f6bf99be778bdbeac9a41fbb0eb36597325109ac + url: "https://github.com/boskokg/flutter_blue/" + source: git + version: "0.11.0" flutter_launcher_icons: dependency: "direct main" description: @@ -461,7 +463,7 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.26.0" + version: "0.27.2" shared_preferences: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 35e6c76d..b587a17d 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -21,7 +21,10 @@ environment: dependencies: flutter: sdk: flutter - flutter_blue: ^0.8.0 + flutter_blue: + git: + url: https://github.com/boskokg/flutter_blue/ + ref: 0.11.0 fluttertoast: ^8.0.8 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. From 0541d3433d3ed1e863f632956ee35a5c902da379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 10:46:31 +0100 Subject: [PATCH 480/522] [chore] lowering minSdkVersion to 23 --- apolline-flutter/android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index b89d7f06..7fe9a615 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -46,7 +46,7 @@ android { defaultConfig { applicationId "com.science.apollineflutter" - minSdkVersion 28 + minSdkVersion 23 targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName From 517c142982808ab07e1fd473be859d396f33a911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 11:02:00 +0100 Subject: [PATCH 481/522] [chore] updating grant_and_activate dependency version to v0.0.4 --- apolline-flutter/pubspec.lock | 6 +++--- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 0e57c1a7..87d5274b 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -286,7 +286,7 @@ packages: name: grant_and_activate url: "https://pub.dartlang.org" source: hosted - version: "0.0.1" + version: "0.0.4" http: dependency: "direct main" description: @@ -412,14 +412,14 @@ packages: name: permission_handler url: "https://pub.dartlang.org" source: hosted - version: "8.1.6" + version: "8.3.0" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.6.1" + version: "3.7.0" petitparser: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 35e6c76d..d14a3943 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 - grant_and_activate: ^0.0.1 + grant_and_activate: ^0.0.4 flutter_local_notifications: ^8.2.0 flutter_speed_dial: ^4.3.0 syncfusion_flutter_charts: ^19.2.62 From 7071f76ebfa48213e5ba9156e667885590f06374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 11:08:25 +0100 Subject: [PATCH 482/522] [chore] updating geolocator dependency version to v7.7.1 --- apolline-flutter/pubspec.lock | 4 ++-- apolline-flutter/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 87d5274b..12c50805 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -223,14 +223,14 @@ packages: name: geolocator url: "https://pub.dartlang.org" source: hosted - version: "7.6.0" + version: "7.7.1" geolocator_android: dependency: transitive description: name: geolocator_android url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "2.1.0" geolocator_apple: dependency: transitive description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index d14a3943..8ecbd4df 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -36,7 +36,7 @@ dependencies: geohash: ^0.2.1 path_provider: ^2.0.2 # location - geolocator: ^7.3.0 + geolocator: ^7.7.1 sqflite: ^2.0.0+3 shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 From 116b9ce597e2a5eddb8399d14c1ab99fc462a581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 11:08:47 +0100 Subject: [PATCH 483/522] [chore] setting android compileSdkVersion to 31 --- apolline-flutter/android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/android/app/build.gradle b/apolline-flutter/android/app/build.gradle index 7fe9a615..7df41667 100644 --- a/apolline-flutter/android/app/build.gradle +++ b/apolline-flutter/android/app/build.gradle @@ -34,7 +34,7 @@ if (keystorePropertiesFile.exists()) { android { - compileSdkVersion 30 + compileSdkVersion 31 sourceSets { main.java.srcDirs += 'src/main/kotlin' From 1312bf5c62cd36ae90253ab6ded995843fbe3b69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 12:02:13 +0100 Subject: [PATCH 484/522] [chore] updating grant_and_activate dependency version to v0.0.5 --- apolline-flutter/lib/bluetoothDevicesPage.dart | 1 + apolline-flutter/pubspec.lock | 2 +- apolline-flutter/pubspec.yaml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/bluetoothDevicesPage.dart b/apolline-flutter/lib/bluetoothDevicesPage.dart index 4a9e8265..c53b8570 100644 --- a/apolline-flutter/lib/bluetoothDevicesPage.dart +++ b/apolline-flutter/lib/bluetoothDevicesPage.dart @@ -55,6 +55,7 @@ class _BluetoothDevicesPageState extends State { ///Permet de tester si le bluetooth est activé ou pas Future initializeDevice() async { Result result = await checkPermissionsAndActivateServices([Feature.Bluetooth, Feature.Location]); + print(result); if (result.allOk) { _performDetection(); } else { diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 12c50805..5a620f5d 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -286,7 +286,7 @@ packages: name: grant_and_activate url: "https://pub.dartlang.org" source: hosted - version: "0.0.4" + version: "0.0.5" http: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 8ecbd4df..2f627da5 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 - grant_and_activate: ^0.0.4 + grant_and_activate: ^0.0.5 flutter_local_notifications: ^8.2.0 flutter_speed_dial: ^4.3.0 syncfusion_flutter_charts: ^19.2.62 From e5a576978afb1bd675d93a68c4fc65723eeb322c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 13:38:48 +0100 Subject: [PATCH 485/522] [fix] typo in graph data translation key --- apolline-flutter/assets/translations/en-GB.json | 2 +- apolline-flutter/assets/translations/fr-FR.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 51b12d41..29de5781 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -25,7 +25,7 @@ "temperature": "TEMPERATURE", "statsView": { "pauseGathering": "Pause data gathering", - "startGathering": "Resume data gathering" + "resumeGathering": "Resume data gathering" }, "mapView": { "timeFilters": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 7456ab84..f1d129c1 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -25,7 +25,7 @@ "temperature": "TEMPÉRATURE", "statsView": { "pauseGathering": "Mettre en pause l'affichage des données", - "startGathering": "Reprendre l'affichage des données" + "resumeGathering": "Reprendre l'affichage des données" }, "mapView": { "timeFilters": { From 36f9ca70c87af0f94f88c8a9daa427db4edfa0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 15:13:53 +0100 Subject: [PATCH 486/522] [chore] pushing version to v1.5.3 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 2f627da5..4c0888e3 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.1+11 +version: 1.5.3+13 publish_to: none environment: From 46362f327c448ab75fd5da568b68b3575396ca07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Tue, 16 Nov 2021 15:34:51 +0100 Subject: [PATCH 487/522] [chore] pushing version to v1.5.4 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 471c0c8a..dc675cc0 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.3+13 +version: 1.5.4+14 publish_to: none environment: From a59a9194137332b46b679eab509a8fc302aae7f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Wed, 17 Nov 2021 10:51:58 +0100 Subject: [PATCH 488/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 8 ++++++-- releaseNotes/whatsnew-fr-FR | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 03697753..5b6091ab 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,2 +1,6 @@ -When sensor GPS is accurate enough, the application uses its location and deactivate phone GPS to -save battery power. \ No newline at end of file +Notifications time interval picker has been fixed. +Warning and danger notifications can be displayed at the same time. + +Sensor reconnection is done automatically after signal loss. + +The application is now compatible with more devices, ranging from Android Marshmallow (6) to Android 12. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 33ad0476..94013c50 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,2 +1,7 @@ -Lorsque le signal GPS du capteur est suffisamment précis, l'application utilise sa position et -désactive le GPS du téléphone afin d'économiser sa batterie. \ No newline at end of file +Le sélecteur de délai entre deux notifications consécutives fonctionne désormais correctement. +Les notifications d'alerte et de danger peuvent apparaître en même temps. + +La reconnection au capteur se fait automatiquement après une perte de connexion. + +L'application est maintenant compatible à partir d'Android Marshmallow (6) et fonctionne correctement +sur Android 12. \ No newline at end of file From 94e707704589091236f918c016de7b9a6303207f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 12:31:36 +0100 Subject: [PATCH 489/522] [feat] an indicator shows connection status --- apolline-flutter/lib/sensor_view.dart | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index f7a07819..d4c2c2e8 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -58,6 +58,7 @@ class _SensorViewState extends State { SensorTwin _sensor; Map _notificationTimestamps = Map(); final GlobalKey _scaffoldMessengerKey = GlobalKey(); + bool _receivedData = false; @override @@ -141,6 +142,13 @@ class _SensorViewState extends State { void _onLiveDataReceived (DataPointModel model) { setState(() { lastReceivedData = model; + this._receivedData = true; + }); + + Future.delayed(Duration(milliseconds: 150), () { + setState(() { + this._receivedData = false; + }); }); if (!widget.ucS.userConf.showDangerNotifications && !widget.ucS.userConf.showWarningNotifications) return; @@ -180,7 +188,9 @@ class _SensorViewState extends State { void _onSensorDisconnected () { print("----------------disconnected----------------"); - isConnected = false; + setState(() { + isConnected = false; + }); connectType = ConnexionType.Disconnect; //deconnexion showSnackBar("connectionMessages.disconnected".tr(), duration: Duration(days: 1)); } @@ -248,6 +258,22 @@ class _SensorViewState extends State { return false; } + Widget _getActionIndicator() { + return _sensor != null + ? Container( + margin: EdgeInsets.only(right: 15), + child: Icon( + Icons.circle_sharp, + color: !this.isConnected + ? Colors.red + : this._receivedData + ? Colors.green.shade800 + : Colors.green.shade900, + ) + ) + : Container(); + } + /* UI update only */ @override Widget build(BuildContext context) { @@ -280,6 +306,9 @@ class _SensorViewState extends State { ), appBar: AppBar( title: Text(_sensor != null ? _sensor.name : "connectionMessages.connecting".tr()), + actions: [ + this._getActionIndicator() + ], ), body: Stack( children: [ From 49d92bf6b9afab0b5db9a7f2b1d13f5b4e15951c Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 13:23:08 +0100 Subject: [PATCH 490/522] [feat] adding sensor_events package --- .../lib/utils/sensor_events/SensorEvent.dart | 11 +++++++++++ .../lib/utils/sensor_events/SensorEventType.dart | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 apolline-flutter/lib/utils/sensor_events/SensorEvent.dart create mode 100644 apolline-flutter/lib/utils/sensor_events/SensorEventType.dart diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart new file mode 100644 index 00000000..888ea127 --- /dev/null +++ b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart @@ -0,0 +1,11 @@ +import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; + +class SensorEvent { + SensorEventType type; + DateTime time; + + SensorEvent(this.type) { + this.type = type; + this.time = DateTime.now(); + } +} \ No newline at end of file diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart new file mode 100644 index 00000000..f64e43f6 --- /dev/null +++ b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart @@ -0,0 +1,3 @@ +enum SensorEventType { + Connection, Disconnection, LiveData +} \ No newline at end of file From 77cc4730b4eab538ed2e80b5a7b598595e1b7c3f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 13:47:07 +0100 Subject: [PATCH 491/522] [feat] storing sensor events in user configuration --- .../lib/models/user_configuration.dart | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 8f46a3ce..223aff95 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:apollineflutter/utils/sensor_events/SensorEvent.dart'; import 'package:apollineflutter/utils/time_filter.dart'; @@ -18,6 +19,8 @@ class UserConfiguration { List _shouldSendThresholdNotifications; ///exposure notifications time interval Duration exposureNotificationsTimeInterval; + ///sensor events + List _sensorEvents; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; @@ -25,6 +28,7 @@ class UserConfiguration { static const String THRESHOLDS_KEY = "thresholdsValue"; static const String ALERTS_KEY = "thresholdsAlertsValue"; static const String NOTIFICATIONS_KEY = "notificationsValue"; + static const String SENSOR_EVENTS_KEY = "sensorEventsKey"; /// ///Constructor @@ -32,7 +36,8 @@ class UserConfiguration { pmFilter: PMFilter.PM_2_5, Map thresholds, List alerts, - Duration notificationsInterval: const Duration(minutes: 5) + Duration notificationsInterval: const Duration(minutes: 5), + List sensorEvents }) { this._timeFilter = timeFilter; this._pmFilter = pmFilter; @@ -43,6 +48,9 @@ class UserConfiguration { this._thresholdsValues = thresholds == null || thresholds.keys.length == 0 ? PMFilterUtils.getThresholds() : thresholds; + this._sensorEvents = sensorEvents == null || _sensorEvents.length == 0 + ? [] + : sensorEvents; } /// @@ -51,6 +59,7 @@ class UserConfiguration { this._timeFilter = TimeFilter.values[jsonMap[UserConfiguration.TIME_FILTER_KEY]]; this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY].cast(); + this._sensorEvents = jsonMap[UserConfiguration.SENSOR_EVENTS_KEY].cast(); Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); Map> thresholds = Map(); @@ -128,4 +137,8 @@ class UserConfiguration { set showDangerNotifications (bool value) { this._shouldSendThresholdNotifications[1] = value; } + + List getSensorEvents () { + return this._sensorEvents; + } } \ No newline at end of file From 09429635c92692af8a450f31b234d4ff10755fe0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 14:02:32 +0100 Subject: [PATCH 492/522] [feat] saving all events --- apolline-flutter/lib/models/user_configuration.dart | 6 +++++- apolline-flutter/lib/sensor_view.dart | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 223aff95..7bedc5cd 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/sensor_events/SensorEvent.dart'; +import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; import 'package:apollineflutter/utils/time_filter.dart'; @@ -138,7 +139,10 @@ class UserConfiguration { this._shouldSendThresholdNotifications[1] = value; } - List getSensorEvents () { + List get sensorEvents { return this._sensorEvents; } + void addSensorEvent (SensorEventType event) { + this._sensorEvents.add( SensorEvent(event) ); + } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index d4c2c2e8..24afb3e6 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -5,6 +5,7 @@ import 'package:apollineflutter/twins/SensorTwin.dart'; import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; +import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; @@ -140,6 +141,9 @@ class _SensorViewState extends State { } void _onLiveDataReceived (DataPointModel model) { + widget.ucS.userConf.addSensorEvent(SensorEventType.LiveData); + widget.ucS.update(); + setState(() { lastReceivedData = model; this._receivedData = true; @@ -177,6 +181,9 @@ class _SensorViewState extends State { } void _onSensorConnected () { + widget.ucS.userConf.addSensorEvent(SensorEventType.Connection); + widget.ucS.update(); + if (connectType == ConnexionType.Disconnect && !isConnected) { print("-------------------connectedExécute---------"); handleDeviceConnect(widget.device); @@ -187,6 +194,9 @@ class _SensorViewState extends State { } void _onSensorDisconnected () { + widget.ucS.userConf.addSensorEvent(SensorEventType.Disconnection); + widget.ucS.update(); + print("----------------disconnected----------------"); setState(() { isConnected = false; From d5026a3cb71a6568a4b686d77f2f037f36f6f9cd Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 17:02:09 +0100 Subject: [PATCH 493/522] [feat] sensor event can be built with time string as input --- apolline-flutter/lib/utils/sensor_events/SensorEvent.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart index 888ea127..b3e7daf3 100644 --- a/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart +++ b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart @@ -4,8 +4,10 @@ class SensorEvent { SensorEventType type; DateTime time; - SensorEvent(this.type) { + SensorEvent(this.type, {String time = ""}) { this.type = type; - this.time = DateTime.now(); + this.time = time.length == 0 + ? DateTime.now() + : DateTime.parse(time); } } \ No newline at end of file From 981f105c38c650414fbd3d72a39c49387bfb7dd4 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 17:47:44 +0100 Subject: [PATCH 494/522] [feat] sensor events can be build from and converted to JSON --- apolline-flutter/lib/models/user_configuration.dart | 11 +++++++++-- .../lib/utils/sensor_events/SensorEvent.dart | 9 +++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 7bedc5cd..938f110c 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -60,7 +60,13 @@ class UserConfiguration { this._timeFilter = TimeFilter.values[jsonMap[UserConfiguration.TIME_FILTER_KEY]]; this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY].cast(); - this._sensorEvents = jsonMap[UserConfiguration.SENSOR_EVENTS_KEY].cast(); + + List eventValues = jsonMap[UserConfiguration.SENSOR_EVENTS_KEY]; + List events = []; + eventValues.forEach((element) { + events.add(SensorEvent.fromJson(element)); + }); + this._sensorEvents = events; Map values = json.decode(jsonMap[UserConfiguration.THRESHOLDS_KEY]); Map> thresholds = Map(); @@ -85,7 +91,8 @@ class UserConfiguration { UserConfiguration.PM_FILTER_KEY: this._pmFilter.index, UserConfiguration.THRESHOLDS_KEY: json.encode(jsonValues), UserConfiguration.ALERTS_KEY: this._shouldSendThresholdNotifications, - UserConfiguration.NOTIFICATIONS_KEY: this.exposureNotificationsTimeInterval.inMilliseconds + UserConfiguration.NOTIFICATIONS_KEY: this.exposureNotificationsTimeInterval.inMilliseconds, + UserConfiguration.SENSOR_EVENTS_KEY: this._sensorEvents }; } diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart index b3e7daf3..821e6165 100644 --- a/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart +++ b/apolline-flutter/lib/utils/sensor_events/SensorEvent.dart @@ -10,4 +10,13 @@ class SensorEvent { ? DateTime.now() : DateTime.parse(time); } + + SensorEvent.fromJson(Map json) + : type = SensorEventType.values[json['type']], + time = DateTime.parse(json['time']); + + Map toJson() => { + 'type': this.type.index, + 'time': this.time.toIso8601String(), + }; } \ No newline at end of file From 24b6fc923cb4a2646692793c6bd8d8ca6fa78975 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 19:35:17 +0100 Subject: [PATCH 495/522] [feat] a dialog allows user to consult sensor events --- .../utils/sensor_events/events_dialog.dart | 38 +++++++++++++++++++ apolline-flutter/lib/widgets/device_card.dart | 4 ++ 2 files changed, 42 insertions(+) create mode 100644 apolline-flutter/lib/utils/sensor_events/events_dialog.dart diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart new file mode 100644 index 00000000..ea5890ca --- /dev/null +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -0,0 +1,38 @@ +import 'package:apollineflutter/services/service_locator.dart'; +import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +final UserConfigurationService ucS = locator(); + +void showSensorEventsDialog(BuildContext context, String deviceName) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: Text(deviceName), + contentPadding: EdgeInsets.only(left: 0, bottom: 0, right: 0, top: 20), + content: Container( + height: 300, + width: 300, + child: ListView( + children: _getEventCards(), + ) + ), + ); + } + ); +} + +List _getEventCards () { + List widgets = []; + ucS.userConf.sensorEvents.forEach((event) { + widgets.add( + ListTile( + title: Text(event.type.toString()), + subtitle: Text(event.time.toString()), + ) + ); + }); + return widgets.reversed.toList(); +} \ No newline at end of file diff --git a/apolline-flutter/lib/widgets/device_card.dart b/apolline-flutter/lib/widgets/device_card.dart index dfcdb1fc..8c9ecd04 100644 --- a/apolline-flutter/lib/widgets/device_card.dart +++ b/apolline-flutter/lib/widgets/device_card.dart @@ -1,3 +1,4 @@ +import 'package:apollineflutter/utils/sensor_events/events_dialog.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; @@ -22,6 +23,9 @@ class _DeviceCardState extends State { onTap: () { widget.connectionCallback(widget.device); }, + onLongPress: () { + showSensorEventsDialog(context, widget.device.name); + }, enabled: widget.enabled, trailing: widget.enabled ? null : Icon(Icons.bluetooth_disabled_outlined), ) From f131525b27f1e1830df8e36a5b9acad0291dc948 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Thu, 18 Nov 2021 19:40:12 +0100 Subject: [PATCH 496/522] [feat] events dialog can be displayed by clicking events indicator --- apolline-flutter/lib/sensor_view.dart | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index 24afb3e6..cbb4b52e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -6,6 +6,7 @@ import 'package:apollineflutter/twins/SensorTwinEvent.dart'; import 'package:apollineflutter/utils/device_connection_status.dart'; import 'package:apollineflutter/utils/pm_filter.dart'; import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; +import 'package:apollineflutter/utils/sensor_events/events_dialog.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; @@ -272,14 +273,16 @@ class _SensorViewState extends State { return _sensor != null ? Container( margin: EdgeInsets.only(right: 15), - child: Icon( - Icons.circle_sharp, - color: !this.isConnected - ? Colors.red - : this._receivedData + child: IconButton( + onPressed: () => showSensorEventsDialog(context, widget.device.name), + icon: Icon( + Icons.circle_sharp, + color: !this.isConnected + ? Colors.red + : this._receivedData ? Colors.green.shade800 : Colors.green.shade900, - ) + )) ) : Container(); } From c52cdc01963ab86479574c74da2c6503c4b31e87 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 09:57:32 +0100 Subject: [PATCH 497/522] [feat] sending sensor name alongside sensor events --- apolline-flutter/lib/models/user_configuration.dart | 2 +- apolline-flutter/lib/sensor_view.dart | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 938f110c..ff0c5812 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -149,7 +149,7 @@ class UserConfiguration { List get sensorEvents { return this._sensorEvents; } - void addSensorEvent (SensorEventType event) { + void addSensorEvent (String deviceName, SensorEventType event) { this._sensorEvents.add( SensorEvent(event) ); } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index cbb4b52e..c20a4fa8 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -142,7 +142,7 @@ class _SensorViewState extends State { } void _onLiveDataReceived (DataPointModel model) { - widget.ucS.userConf.addSensorEvent(SensorEventType.LiveData); + widget.ucS.userConf.addSensorEvent(widget.device.name, SensorEventType.LiveData); widget.ucS.update(); setState(() { @@ -182,7 +182,7 @@ class _SensorViewState extends State { } void _onSensorConnected () { - widget.ucS.userConf.addSensorEvent(SensorEventType.Connection); + widget.ucS.userConf.addSensorEvent(widget.device.name, SensorEventType.Connection); widget.ucS.update(); if (connectType == ConnexionType.Disconnect && !isConnected) { @@ -195,7 +195,7 @@ class _SensorViewState extends State { } void _onSensorDisconnected () { - widget.ucS.userConf.addSensorEvent(SensorEventType.Disconnection); + widget.ucS.userConf.addSensorEvent(widget.device.name, SensorEventType.Disconnection); widget.ucS.update(); print("----------------disconnected----------------"); From 755cd1553d211c1c8e1853ba475e69ff2e74fb40 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 10:15:31 +0100 Subject: [PATCH 498/522] [feat] storing sensor events under device name key --- .../lib/models/user_configuration.dart | 28 +++++++++++-------- .../utils/sensor_events/events_dialog.dart | 6 ++-- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index ff0c5812..7c03e7bc 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -21,7 +21,7 @@ class UserConfiguration { ///exposure notifications time interval Duration exposureNotificationsTimeInterval; ///sensor events - List _sensorEvents; + Map> _sensorEvents; ///Json keys static const String TIME_FILTER_KEY = "timeFilterValue"; @@ -49,9 +49,9 @@ class UserConfiguration { this._thresholdsValues = thresholds == null || thresholds.keys.length == 0 ? PMFilterUtils.getThresholds() : thresholds; - this._sensorEvents = sensorEvents == null || _sensorEvents.length == 0 - ? [] - : sensorEvents; + this._sensorEvents = sensorEvents == null || _sensorEvents.keys.length == 0 + ? {} + : sensorEvents; } /// @@ -61,10 +61,15 @@ class UserConfiguration { this._pmFilter = PMFilter.values[jsonMap[UserConfiguration.PM_FILTER_KEY]]; this._shouldSendThresholdNotifications = jsonMap[UserConfiguration.ALERTS_KEY].cast(); - List eventValues = jsonMap[UserConfiguration.SENSOR_EVENTS_KEY]; - List events = []; - eventValues.forEach((element) { - events.add(SensorEvent.fromJson(element)); + Map eventValues = jsonMap[UserConfiguration.SENSOR_EVENTS_KEY]; + Map> events = {}; + eventValues.forEach((key, value) { + print(key); + List localEvents = []; + (value as List).forEach((element) { + localEvents.add(SensorEvent.fromJson(element)); + }); + events.putIfAbsent(key, () => localEvents); }); this._sensorEvents = events; @@ -146,10 +151,11 @@ class UserConfiguration { this._shouldSendThresholdNotifications[1] = value; } - List get sensorEvents { - return this._sensorEvents; + List getSensorEvents(String deviceName) { + return this._sensorEvents[deviceName]; } void addSensorEvent (String deviceName, SensorEventType event) { - this._sensorEvents.add( SensorEvent(event) ); + if (this._sensorEvents[deviceName] == null) this._sensorEvents[deviceName] = []; + this._sensorEvents[deviceName].add( SensorEvent(event) ); } } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index ea5890ca..e184f566 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -16,7 +16,7 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { height: 300, width: 300, child: ListView( - children: _getEventCards(), + children: _getEventCards(deviceName), ) ), ); @@ -24,9 +24,9 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { ); } -List _getEventCards () { +List _getEventCards (String deviceName) { List widgets = []; - ucS.userConf.sensorEvents.forEach((event) { + ucS.userConf.getSensorEvents(deviceName).forEach((event) { widgets.add( ListTile( title: Text(event.type.toString()), From c9bfa2bba654eb74dcb08e8bb32a7c6788e2a970 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 10:25:48 +0100 Subject: [PATCH 499/522] [feat] events dialog displays a message if no event is attached to device --- .../lib/utils/sensor_events/events_dialog.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index e184f566..0cb2e5d8 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -15,8 +15,10 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { content: Container( height: 300, width: 300, - child: ListView( + child: _hasEventsForSensor(deviceName) ? ListView( children: _getEventCards(deviceName), + ) : ListTile( + title: Text("No events registered for this device."), ) ), ); @@ -24,6 +26,10 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { ); } +bool _hasEventsForSensor(String deviceName) { + return ucS.userConf.getSensorEvents(deviceName) != null; +} + List _getEventCards (String deviceName) { List widgets = []; ucS.userConf.getSensorEvents(deviceName).forEach((event) { From cdc96d20c94108d251017ae3d95162e926473d0a Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 11:15:28 +0100 Subject: [PATCH 500/522] [feat] event types have text description --- .../lib/utils/sensor_events/SensorEventType.dart | 14 ++++++++++++++ .../lib/utils/sensor_events/events_dialog.dart | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart index f64e43f6..427e2621 100644 --- a/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart +++ b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart @@ -1,3 +1,17 @@ enum SensorEventType { Connection, Disconnection, LiveData +} + +extension SensorEventTypeUtils on SensorEventType { + static final Map _labels = { + SensorEventType.Connection: "Connected to sensor", + SensorEventType.Disconnection: "Disconnection from sensor", + SensorEventType.LiveData: "Air quality data received (live)" + }; + + String get label { + if (SensorEventTypeUtils._labels[this] == null) + throw RangeError("This SensorEventType has no associated label."); + return SensorEventTypeUtils._labels[this]; + } } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index 0cb2e5d8..d75dec6f 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -1,5 +1,6 @@ import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; +import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -35,7 +36,7 @@ List _getEventCards (String deviceName) { ucS.userConf.getSensorEvents(deviceName).forEach((event) { widgets.add( ListTile( - title: Text(event.type.toString()), + title: Text(event.type.label), subtitle: Text(event.time.toString()), ) ); From 7d8b55a013b12a3454103332cf0ee68a5c147ec9 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 11:27:07 +0100 Subject: [PATCH 501/522] [feat] sensor events date time is formatted --- apolline-flutter/lib/utils/sensor_events/events_dialog.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index d75dec6f..07069fe0 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -1,10 +1,12 @@ import 'package:apollineflutter/services/service_locator.dart'; import 'package:apollineflutter/services/user_configuration_service.dart'; import 'package:apollineflutter/utils/sensor_events/SensorEventType.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; final UserConfigurationService ucS = locator(); +final DateFormat formatter = DateFormat('dd-MM-yyyy H:m:s'); void showSensorEventsDialog(BuildContext context, String deviceName) { showDialog( @@ -37,7 +39,7 @@ List _getEventCards (String deviceName) { widgets.add( ListTile( title: Text(event.type.label), - subtitle: Text(event.time.toString()), + subtitle: Text(formatter.format(event.time).toString()), ) ); }); From ad11a275424d2421daaf895d60956a05a1d2ce1d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 11:30:36 +0100 Subject: [PATCH 502/522] [feat] events dialog is smaller if it has no events to display --- .../lib/utils/sensor_events/events_dialog.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index 07069fe0..7618cbbd 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -15,14 +15,14 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { return AlertDialog( title: Text(deviceName), contentPadding: EdgeInsets.only(left: 0, bottom: 0, right: 0, top: 20), - content: Container( + content: _hasEventsForSensor(deviceName) ? Container( height: 300, width: 300, - child: _hasEventsForSensor(deviceName) ? ListView( + child: ListView( children: _getEventCards(deviceName), - ) : ListTile( - title: Text("No events registered for this device."), ) + ) : ListTile( + title: Text("No events registered for this device."), ), ); } From 8b03d5877db7571a4ef1d412367db9637e9e016e Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 11:32:23 +0100 Subject: [PATCH 503/522] [fix] formatting date time minutes and seconds on two digits --- apolline-flutter/lib/utils/sensor_events/events_dialog.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index 7618cbbd..cab40b24 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -6,7 +6,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; final UserConfigurationService ucS = locator(); -final DateFormat formatter = DateFormat('dd-MM-yyyy H:m:s'); +final DateFormat formatter = DateFormat('dd-MM-yyyy HH:mm:ss'); void showSensorEventsDialog(BuildContext context, String deviceName) { showDialog( From c4614755a793b86a5d0bac7e82627ccd3910fe6f Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 11:38:21 +0100 Subject: [PATCH 504/522] [feat] adding color to connection/disconnection tiles --- apolline-flutter/lib/utils/sensor_events/events_dialog.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index cab40b24..fecb7d06 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -40,6 +40,11 @@ List _getEventCards (String deviceName) { ListTile( title: Text(event.type.label), subtitle: Text(formatter.format(event.time).toString()), + tileColor: event.type == SensorEventType.Connection + ? Colors.green.shade100 + : event.type == SensorEventType.Disconnection + ? Colors.red.shade100 + : Colors.white ) ); }); From 6dbeee2f0f51f2e432e62de77dc64b964a0ab68d Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 12:00:35 +0100 Subject: [PATCH 505/522] [refactor] adding translations --- apolline-flutter/assets/translations/en-GB.json | 8 ++++++++ apolline-flutter/assets/translations/fr-FR.json | 8 ++++++++ .../lib/utils/sensor_events/SensorEventType.dart | 10 ++++++---- .../lib/utils/sensor_events/events_dialog.dart | 2 +- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 29de5781..37ec1346 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -102,5 +102,13 @@ "home": "Measures", "chart": "Chart", "map": "Map" + }, + "events": { + "noEventsText": "No events registered for this device.", + "types": { + "disconnection": "Disconnected from sensor", + "connection": "Connected to sensor", + "liveData": "Air quality data received (live)" + } } } \ No newline at end of file diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index f1d129c1..4b0da8b0 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -102,5 +102,13 @@ "home": "Mesures", "chart": "Graphique", "map": "Carte" + }, + "events": { + "noEventsText": "Aucun événement enregistré pour ce périphérique.", + "types": { + "disconnection": "Déconnecté du capteur", + "connection": "Connecté au capteur", + "liveData": "Données de qualité de l'air reçues (live)" + } } } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart index 427e2621..d77a3dab 100644 --- a/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart +++ b/apolline-flutter/lib/utils/sensor_events/SensorEventType.dart @@ -1,17 +1,19 @@ +import 'package:easy_localization/easy_localization.dart'; + enum SensorEventType { Connection, Disconnection, LiveData } extension SensorEventTypeUtils on SensorEventType { static final Map _labels = { - SensorEventType.Connection: "Connected to sensor", - SensorEventType.Disconnection: "Disconnection from sensor", - SensorEventType.LiveData: "Air quality data received (live)" + SensorEventType.Connection: "events.types.connection", + SensorEventType.Disconnection: "events.types.disconnection", + SensorEventType.LiveData: "events.types.liveData" }; String get label { if (SensorEventTypeUtils._labels[this] == null) throw RangeError("This SensorEventType has no associated label."); - return SensorEventTypeUtils._labels[this]; + return SensorEventTypeUtils._labels[this].tr(); } } \ No newline at end of file diff --git a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart index fecb7d06..a1cfc21f 100644 --- a/apolline-flutter/lib/utils/sensor_events/events_dialog.dart +++ b/apolline-flutter/lib/utils/sensor_events/events_dialog.dart @@ -22,7 +22,7 @@ void showSensorEventsDialog(BuildContext context, String deviceName) { children: _getEventCards(deviceName), ) ) : ListTile( - title: Text("No events registered for this device."), + title: Text("events.noEventsText").tr(), ), ); } From bf637eaf4c6b0e18a4e67f148e3e570a7ac22792 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 13:30:22 +0100 Subject: [PATCH 506/522] [feat] sensor events older than one week are automatically removed --- apolline-flutter/lib/models/user_configuration.dart | 7 +++++++ apolline-flutter/lib/sensor_view.dart | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/apolline-flutter/lib/models/user_configuration.dart b/apolline-flutter/lib/models/user_configuration.dart index 7c03e7bc..13db2018 100644 --- a/apolline-flutter/lib/models/user_configuration.dart +++ b/apolline-flutter/lib/models/user_configuration.dart @@ -158,4 +158,11 @@ class UserConfiguration { if (this._sensorEvents[deviceName] == null) this._sensorEvents[deviceName] = []; this._sensorEvents[deviceName].add( SensorEvent(event) ); } + void clearSensorEvents (String deviceName) { + DateTime now = DateTime.now(); + print("Removing sensor events older than one week."); + this._sensorEvents[deviceName] = + this._sensorEvents[deviceName] + .where((element) => now.difference(element.time) < Duration(days: 7)).toList(); + } } \ No newline at end of file diff --git a/apolline-flutter/lib/sensor_view.dart b/apolline-flutter/lib/sensor_view.dart index c20a4fa8..4b0bd31e 100644 --- a/apolline-flutter/lib/sensor_view.dart +++ b/apolline-flutter/lib/sensor_view.dart @@ -61,12 +61,17 @@ class _SensorViewState extends State { Map _notificationTimestamps = Map(); final GlobalKey _scaffoldMessengerKey = GlobalKey(); bool _receivedData = false; + Timer timer; @override void initState() { super.initState(); initializeDevice(); + timer = Timer.periodic(Duration(minutes: 5), (timer) { + widget.ucS.userConf.clearSensorEvents(widget.device.name); + widget.ucS.update(); + }); } @@ -253,6 +258,7 @@ class _SensorViewState extends State { widget.device.disconnect(); this._sensor?.shutdown(); disableBackgroundExecution(); + this.timer.cancel(); super.dispose(); } From 45d8dfc020ec120eaf25dc13edf0ea4db337908c Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 13:31:29 +0100 Subject: [PATCH 507/522] [chore] increase version to v1.6.0 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index dc675cc0..4b0f6843 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.5.4+14 +version: 1.6.0+15 publish_to: none environment: From f8b69eaae1e75da15e46642a82bb42035832dad0 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Fri, 19 Nov 2021 13:41:44 +0100 Subject: [PATCH 508/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 9 +++------ releaseNotes/whatsnew-fr-FR | 10 +++------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 5b6091ab..84492205 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,6 +1,3 @@ -Notifications time interval picker has been fixed. -Warning and danger notifications can be displayed at the same time. - -Sensor reconnection is done automatically after signal loss. - -The application is now compatible with more devices, ranging from Android Marshmallow (6) to Android 12. \ No newline at end of file +An activity indicator shows connection state on sensor view. +Sensor connection events are stored on the smartphone and visible by the user; those older than one +week are automatically removed. diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 94013c50..6ad2606e 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,7 +1,3 @@ -Le sélecteur de délai entre deux notifications consécutives fonctionne désormais correctement. -Les notifications d'alerte et de danger peuvent apparaître en même temps. - -La reconnection au capteur se fait automatiquement après une perte de connexion. - -L'application est maintenant compatible à partir d'Android Marshmallow (6) et fonctionne correctement -sur Android 12. \ No newline at end of file +Un indicateur d'activité montre l'état de la connexion avec le capteur. +Les événements de connexion aux capteurs sont stockés sur le téléphone et visibles par l'utilisateur ; +ceux datant de plus d'une semaine sont automatiquement supprimés. From 5b1e167d0ff592364f29ea8b5d2ffeb9367c42ee Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Nov 2021 12:19:09 +0100 Subject: [PATCH 509/522] [feat] a toast is displayed when warning threshold is superior to warning (and vice versa) --- apolline-flutter/lib/utils/pm_card.dart | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 50d28994..313c2595 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -4,6 +4,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:fluttertoast/fluttertoast.dart'; class PMCard extends StatefulWidget { @@ -63,9 +64,16 @@ class _PMCardState extends State { inputFormatters: widget.formatters, onChanged: (value) { if (value.isEmpty) return; + bool _isDangerValueCorrect = int.parse(value) < dangerThresholdValue; + bool _isWarningValueCorrect = int.parse(value) < dangerThresholdValue; + + if (!_isDangerValueCorrect || !_isWarningValueCorrect) { + Fluttertoast.showToast(msg: "Warning value must be inferior to danger value."); + } + setState(() { - isWarningValueCorrect = int.parse(value) < dangerThresholdValue; - isDangerValueCorrect = int.parse(value) < dangerThresholdValue; + isDangerValueCorrect = _isDangerValueCorrect; + isWarningValueCorrect = _isWarningValueCorrect; }); }, initialValue: warningThresholdValue.toString(), @@ -95,9 +103,16 @@ class _PMCardState extends State { inputFormatters: widget.formatters, onChanged: (value) { if (value.isEmpty) return; + bool _isDangerValueCorrect = int.parse(value) > warningThresholdValue; + bool _isWarningValueCorrect = int.parse(value) > warningThresholdValue; + + if (!_isDangerValueCorrect || !_isWarningValueCorrect) { + Fluttertoast.showToast(msg: "Danger value must be superior to warning value."); + } + setState(() { - isDangerValueCorrect = int.parse(value) > warningThresholdValue; - isWarningValueCorrect = int.parse(value) > warningThresholdValue; + isDangerValueCorrect = _isDangerValueCorrect; + isWarningValueCorrect = _isWarningValueCorrect; }); }, initialValue: dangerThresholdValue.toString(), From 233ced008dd32a0113d4a13d3b1f72fd71b67f35 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Nov 2021 13:16:46 +0100 Subject: [PATCH 510/522] [refactor] settings are saved on card value changes --- apolline-flutter/lib/utils/pm_card.dart | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index 313c2595..c012bf7a 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -74,17 +74,13 @@ class _PMCardState extends State { setState(() { isDangerValueCorrect = _isDangerValueCorrect; isWarningValueCorrect = _isWarningValueCorrect; - }); - }, - initialValue: warningThresholdValue.toString(), - onFieldSubmitted: (value) { - if (value.isEmpty) return; - setState(() { warningThresholdValue = int.parse(value); }); + widget.ucS.userConf.updatePMThreshold(widget.indicator, 0, int.parse(value)); widget.ucS.update(); }, + initialValue: warningThresholdValue.toString(), decoration: InputDecoration( border: InputBorder.none, hintText: "15", @@ -113,17 +109,13 @@ class _PMCardState extends State { setState(() { isDangerValueCorrect = _isDangerValueCorrect; isWarningValueCorrect = _isWarningValueCorrect; - }); - }, - initialValue: dangerThresholdValue.toString(), - onFieldSubmitted: (value) { - if (value.isEmpty) return; - setState(() { dangerThresholdValue = int.parse(value); }); + widget.ucS.userConf.updatePMThreshold(widget.indicator, 1, int.parse(value)); widget.ucS.update(); }, + initialValue: dangerThresholdValue.toString(), decoration: InputDecoration( border: InputBorder.none, hintText: "30", From d30280f81efe0ff6de156f6561e81b418c4b5854 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Nov 2021 14:12:52 +0100 Subject: [PATCH 511/522] [refactor] adding toast messages translations --- apolline-flutter/assets/translations/en-GB.json | 6 ++++-- apolline-flutter/assets/translations/fr-FR.json | 6 ++++-- apolline-flutter/lib/utils/pm_card.dart | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/apolline-flutter/assets/translations/en-GB.json b/apolline-flutter/assets/translations/en-GB.json index 37ec1346..867cc657 100644 --- a/apolline-flutter/assets/translations/en-GB.json +++ b/apolline-flutter/assets/translations/en-GB.json @@ -91,11 +91,13 @@ "setTimeIntervalBody": "Set which duration must pass before a new notification is sent.", "warning": { "title": "Warning threshold", - "incorrect": "Must be inferior than danger value." + "incorrect": "Must be inferior than danger value.", + "toastMessage": "Warning value must be inferior to danger value." }, "danger": { "title": "Danger threshold", - "incorrect": "Must be superior to warning value." + "incorrect": "Must be superior to warning value.", + "toastMessage": "Danger value must be superior to warning value." } }, "navigation": { diff --git a/apolline-flutter/assets/translations/fr-FR.json b/apolline-flutter/assets/translations/fr-FR.json index 4b0da8b0..d19cd5bd 100644 --- a/apolline-flutter/assets/translations/fr-FR.json +++ b/apolline-flutter/assets/translations/fr-FR.json @@ -91,11 +91,13 @@ "setTimeIntervalBody": "Choisissez combien de temps doit s'écouler entre l'envoi de deux notifications.", "warning": { "title": "Seuil d'alerte", - "incorrect": "Doit être inférieur au seuil de danger." + "incorrect": "Doit être inférieur au seuil de danger.", + "toastMessage": "Le seuil d'alerte doit être inférieur au seuil de danger." }, "danger": { "title": "Seuil de danger", - "incorrect": "Doit être supérieur au seuil d'alerte." + "incorrect": "Doit être supérieur au seuil d'alerte.", + "toastMessage": "Le seuil de danger doit être supérieur au seuil d'alerte." } }, "navigation": { diff --git a/apolline-flutter/lib/utils/pm_card.dart b/apolline-flutter/lib/utils/pm_card.dart index c012bf7a..0be95682 100644 --- a/apolline-flutter/lib/utils/pm_card.dart +++ b/apolline-flutter/lib/utils/pm_card.dart @@ -68,7 +68,7 @@ class _PMCardState extends State { bool _isWarningValueCorrect = int.parse(value) < dangerThresholdValue; if (!_isDangerValueCorrect || !_isWarningValueCorrect) { - Fluttertoast.showToast(msg: "Warning value must be inferior to danger value."); + Fluttertoast.showToast(msg: "settings.warning.toastMessage".tr()); } setState(() { @@ -103,7 +103,7 @@ class _PMCardState extends State { bool _isWarningValueCorrect = int.parse(value) > warningThresholdValue; if (!_isDangerValueCorrect || !_isWarningValueCorrect) { - Fluttertoast.showToast(msg: "Danger value must be superior to warning value."); + Fluttertoast.showToast(msg: "settings.danger.toastMessage".tr()); } setState(() { From b8bcb1bbb8088c11c6595697d611495dc4a46f09 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Nov 2021 14:23:23 +0100 Subject: [PATCH 512/522] [chore] pushing version to 1.6.1 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 4b0f6843..eca4178e 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.6.0+15 +version: 1.6.1+16 publish_to: none environment: From 29f7a5974628e4bcb42d624d09b5877e05d82a28 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 29 Nov 2021 14:28:55 +0100 Subject: [PATCH 513/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 5 ++--- releaseNotes/whatsnew-fr-FR | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index 84492205..a9a8399f 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,3 +1,2 @@ -An activity indicator shows connection state on sensor view. -Sensor connection events are stored on the smartphone and visible by the user; those older than one -week are automatically removed. +Warning/danger thresholds are automatically saved when their value is updated by the user. +Toast messages are displayed when a faulty value is entered. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 6ad2606e..6832a324 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,3 @@ -Un indicateur d'activité montre l'état de la connexion avec le capteur. -Les événements de connexion aux capteurs sont stockés sur le téléphone et visibles par l'utilisateur ; -ceux datant de plus d'une semaine sont automatiquement supprimés. +Les seuils d'avertissement/danger sont sauvegardés automatiquement dès que leur valeur est changée +par l'utilisateur. +Des messages d'alerte sont affichés si une valeur entrée est incorrecte. \ No newline at end of file From 490cdc3ca7b05992b1a3c2e4393bd586fa208dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Dec 2021 13:14:16 +0100 Subject: [PATCH 514/522] [chore] upgrading grant_and_activate dependency version to v0.0.6 --- apolline-flutter/ios/Podfile.lock | 16 ++++++++-------- .../ios/Runner.xcodeproj/project.pbxproj | 4 ++-- apolline-flutter/pubspec.lock | 8 ++++---- apolline-flutter/pubspec.yaml | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apolline-flutter/ios/Podfile.lock b/apolline-flutter/ios/Podfile.lock index 3954c70e..eabe07f5 100644 --- a/apolline-flutter/ios/Podfile.lock +++ b/apolline-flutter/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - bluetooth_enable (0.0.1): + - bluetooth_enable_fork (0.1.4): - Flutter - Flutter (1.0.0) - flutter_blue (0.0.1): @@ -7,7 +7,7 @@ PODS: - flutter_blue/Protos (= 0.0.1) - flutter_blue/Protos (0.0.1): - Flutter - - Protobuf (~> 3.11.4) + - Protobuf (~> 3.11) - flutter_local_notifications (0.0.1): - Flutter - fluttertoast (0.0.2): @@ -41,7 +41,7 @@ PODS: - Toast (4.0.0) DEPENDENCIES: - - bluetooth_enable (from `.symlinks/plugins/bluetooth_enable/ios`) + - bluetooth_enable_fork (from `.symlinks/plugins/bluetooth_enable_fork/ios`) - Flutter (from `Flutter`) - flutter_blue (from `.symlinks/plugins/flutter_blue/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) @@ -62,8 +62,8 @@ SPEC REPOS: - Toast EXTERNAL SOURCES: - bluetooth_enable: - :path: ".symlinks/plugins/bluetooth_enable/ios" + bluetooth_enable_fork: + :path: ".symlinks/plugins/bluetooth_enable_fork/ios" Flutter: :path: Flutter flutter_blue: @@ -88,9 +88,9 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/sqflite/ios" SPEC CHECKSUMS: - bluetooth_enable: 131bf222123b9c5020469d04a13cc253bc89298c + bluetooth_enable_fork: 73b8ca6e67230a9baa04010cd5c1e824e00d2797 Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - flutter_blue: eeb381dc4727a0954dede73515f683865494b370 + flutter_blue: f98d52ff2bb55351112d94fe9731e53f6aea391c flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a @@ -105,6 +105,6 @@ SPEC CHECKSUMS: sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 -PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d +PODFILE CHECKSUM: 3a3493dea27bd7aa7bba7540546f191cb610cc2b COCOAPODS: 1.11.2 diff --git a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj index a4f531c0..ded355c6 100644 --- a/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/apolline-flutter/ios/Runner.xcodeproj/project.pbxproj @@ -286,7 +286,7 @@ "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", "${BUILT_PRODUCTS_DIR}/Protobuf/protobuf.framework", "${BUILT_PRODUCTS_DIR}/Toast/Toast.framework", - "${BUILT_PRODUCTS_DIR}/bluetooth_enable/bluetooth_enable.framework", + "${BUILT_PRODUCTS_DIR}/bluetooth_enable_fork/bluetooth_enable_fork.framework", "${BUILT_PRODUCTS_DIR}/flutter_blue/flutter_blue.framework", "${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework", "${BUILT_PRODUCTS_DIR}/fluttertoast/fluttertoast.framework", @@ -301,7 +301,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/protobuf.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bluetooth_enable.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bluetooth_enable_fork.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_blue.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fluttertoast.framework", diff --git a/apolline-flutter/pubspec.lock b/apolline-flutter/pubspec.lock index 7f8d0188..4399395a 100644 --- a/apolline-flutter/pubspec.lock +++ b/apolline-flutter/pubspec.lock @@ -22,13 +22,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.8.1" - bluetooth_enable: + bluetooth_enable_fork: dependency: transitive description: - name: bluetooth_enable + name: bluetooth_enable_fork url: "https://pub.dartlang.org" source: hosted - version: "0.1.1" + version: "0.1.4" boolean_selector: dependency: transitive description: @@ -288,7 +288,7 @@ packages: name: grant_and_activate url: "https://pub.dartlang.org" source: hosted - version: "0.0.5" + version: "0.0.6" http: dependency: "direct main" description: diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index 4b0f6843..825f0e7e 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -44,7 +44,7 @@ dependencies: shared_preferences: ^2.0.6 flutter_background: ^1.0.2+1 easy_localization: ^3.0.0 - grant_and_activate: ^0.0.5 + grant_and_activate: ^0.0.6 flutter_local_notifications: ^8.2.0 flutter_speed_dial: ^4.3.0 syncfusion_flutter_charts: ^19.2.62 From 4865aa4595bae156a64ff0f4bb89ccdf9051d2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Dec 2021 15:43:03 +0100 Subject: [PATCH 515/522] [fix] maps view does not crash when data point has no position --- apolline-flutter/lib/widgets/maps.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/lib/widgets/maps.dart b/apolline-flutter/lib/widgets/maps.dart index 5dfe0a3f..f4ff648d 100644 --- a/apolline-flutter/lib/widgets/maps.dart +++ b/apolline-flutter/lib/widgets/maps.dart @@ -50,7 +50,7 @@ class _PMMapViewState extends State { this.updateCirclesFromData(); this._sub = widget.sensorDataStream.listen((pModel) { - if(pModel.position.geohash != "no") { + if(pModel.position != null && pModel.position.geohash != "no") { this.addCircle(pModel); //manage the rendering frequency. if(this._circles.length % 10 == 0) { From 605d4161ec7788cb2d8f819f3321ffadcd5bedc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Dec 2021 16:51:32 +0100 Subject: [PATCH 516/522] [fix] phone's location service is initialized before subscribing to its stream --- apolline-flutter/lib/services/location_service.dart | 1 - apolline-flutter/lib/twins/SensorTwin.dart | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/lib/services/location_service.dart b/apolline-flutter/lib/services/location_service.dart index 58483ba7..83d0f468 100644 --- a/apolline-flutter/lib/services/location_service.dart +++ b/apolline-flutter/lib/services/location_service.dart @@ -21,7 +21,6 @@ class SimpleLocationService { if(permission == geo.LocationPermission.denied || permission == geo.LocationPermission.deniedForever) { this._locationStream.add(Position()); } - this.start(); }); } diff --git a/apolline-flutter/lib/twins/SensorTwin.dart b/apolline-flutter/lib/twins/SensorTwin.dart index 36f4abfe..56aada56 100644 --- a/apolline-flutter/lib/twins/SensorTwin.dart +++ b/apolline-flutter/lib/twins/SensorTwin.dart @@ -263,8 +263,8 @@ class SensorTwin { currentPosition = _currentPosition; if (this._isUsingSatellitePositioning) { this._isUsingSatellitePositioning = false; - _startLocationService(); this._locationService.start(); + _startLocationService(); } } @@ -284,6 +284,7 @@ class SensorTwin { await synchronizeClock(); this._locationService = SimpleLocationService(); + this._locationService.start(); _startLocationService(); _initSynchronizationTimer(); From c1bc3edc94e7e6779aa5de5c656fa5edbf1c5811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Dec 2021 16:58:19 +0100 Subject: [PATCH 517/522] [chore] pushing version to v1.6.2 --- apolline-flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apolline-flutter/pubspec.yaml b/apolline-flutter/pubspec.yaml index eca4178e..4c1ece16 100644 --- a/apolline-flutter/pubspec.yaml +++ b/apolline-flutter/pubspec.yaml @@ -11,7 +11,7 @@ description: Apolline sensors app # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.6.1+16 +version: 1.6.2+17 publish_to: none environment: From a88279daca385345995383a47b3e8d313123f165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Fri, 3 Dec 2021 17:00:00 +0100 Subject: [PATCH 518/522] [docs] updating release notes --- releaseNotes/whatsnew-en-GB | 3 ++- releaseNotes/whatsnew-fr-FR | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/releaseNotes/whatsnew-en-GB b/releaseNotes/whatsnew-en-GB index a9a8399f..f6821aae 100644 --- a/releaseNotes/whatsnew-en-GB +++ b/releaseNotes/whatsnew-en-GB @@ -1,2 +1,3 @@ Warning/danger thresholds are automatically saved when their value is updated by the user. -Toast messages are displayed when a faulty value is entered. \ No newline at end of file +Toast messages are displayed when a faulty value is entered. +Phone's location is correctly used if sensor does not have an accurate GPS location. \ No newline at end of file diff --git a/releaseNotes/whatsnew-fr-FR b/releaseNotes/whatsnew-fr-FR index 6832a324..ddf576df 100644 --- a/releaseNotes/whatsnew-fr-FR +++ b/releaseNotes/whatsnew-fr-FR @@ -1,3 +1,5 @@ Les seuils d'avertissement/danger sont sauvegardés automatiquement dès que leur valeur est changée par l'utilisateur. -Des messages d'alerte sont affichés si une valeur entrée est incorrecte. \ No newline at end of file +Des messages d'alerte sont affichés si une valeur entrée est incorrecte. +La position du téléphone est correctement utilisée si le capteur n'a pas une position GPS +satisfaisante. \ No newline at end of file From 6fa2cdb1ec05a026c15d074201cd59af9a2e3a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Dec 2021 10:00:07 +0100 Subject: [PATCH 519/522] [chore] application runs in background --- apolline-flutter/ios/Runner/Info-Debug.plist | 28 +++++++++++-------- .../ios/Runner/Info-Release.plist | 20 +++++++------ 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/apolline-flutter/ios/Runner/Info-Debug.plist b/apolline-flutter/ios/Runner/Info-Debug.plist index 6e94f35b..e787b554 100644 --- a/apolline-flutter/ios/Runner/Info-Debug.plist +++ b/apolline-flutter/ios/Runner/Info-Debug.plist @@ -29,14 +29,22 @@ NSBluetoothAlwaysUsageDescription Apolline uses Bluetooth to connect to the Blue sensors. - NSLocationWhenInUseUsageDescription - Need location when in use - NSLocationAlwaysAndWhenInUseUsageDescription - Always and when in use! - NSLocationUsageDescription - Older devices need location. - NSLocationAlwaysUsageDescription - Can I have location always? + NSBonjourServices + + _dartobservatory._tcp + + NSLocationAlwaysAndWhenInUseUsageDescription + Always and when in use! + NSLocationAlwaysUsageDescription + Can I have location always? + NSLocationUsageDescription + Older devices need location. + NSLocationWhenInUseUsageDescription + Need location when in use + UIBackgroundModes + + bluetooth-central + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -56,9 +64,5 @@ UIViewControllerBasedStatusBarAppearance - NSBonjourServices - - _dartobservatory._tcp - diff --git a/apolline-flutter/ios/Runner/Info-Release.plist b/apolline-flutter/ios/Runner/Info-Release.plist index 578106a1..d6a67b86 100644 --- a/apolline-flutter/ios/Runner/Info-Release.plist +++ b/apolline-flutter/ios/Runner/Info-Release.plist @@ -29,14 +29,18 @@ NSBluetoothAlwaysUsageDescription Apolline uses Bluetooth to connect to the Blue sensors. - NSLocationWhenInUseUsageDescription - Need location when in use - NSLocationAlwaysAndWhenInUseUsageDescription - Always and when in use! - NSLocationUsageDescription - Older devices need location. - NSLocationAlwaysUsageDescription - Can I have location always? + NSLocationAlwaysAndWhenInUseUsageDescription + Always and when in use! + NSLocationAlwaysUsageDescription + Can I have location always? + NSLocationUsageDescription + Older devices need location. + NSLocationWhenInUseUsageDescription + Need location when in use + UIBackgroundModes + + bluetooth-central + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile From ee7003d325ccf8d74d17148d4748179f8f642f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Dec 2021 11:34:48 +0100 Subject: [PATCH 520/522] [feat] display name is "Apolline" --- apolline-flutter/ios/Runner/Info-Debug.plist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apolline-flutter/ios/Runner/Info-Debug.plist b/apolline-flutter/ios/Runner/Info-Debug.plist index e787b554..08fbb694 100644 --- a/apolline-flutter/ios/Runner/Info-Debug.plist +++ b/apolline-flutter/ios/Runner/Info-Debug.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Apolline CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier From c5601c5b5994927b7c290bbe1a83382a0e63494c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Raes?= Date: Mon, 6 Dec 2021 11:51:41 +0100 Subject: [PATCH 521/522] [fix] application icon is now displayed without black borders --- .../AppIcon.appiconset/100-1.png | Bin 0 -> 7852 bytes .../AppIcon.appiconset/100.png | Bin 8563 -> 7852 bytes .../AppIcon.appiconset/1024-1.png | Bin 0 -> 166057 bytes .../AppIcon.appiconset/1024-2.png | Bin 0 -> 166057 bytes .../AppIcon.appiconset/1024.png | Bin 441684 -> 166057 bytes .../AppIcon.appiconset/114.png | Bin 10160 -> 9256 bytes .../AppIcon.appiconset/120-1.png | Bin 0 -> 9789 bytes .../AppIcon.appiconset/120.png | Bin 11100 -> 9789 bytes .../AppIcon.appiconset/128.png | Bin 12111 -> 10535 bytes .../AppIcon.appiconset/144.png | Bin 14121 -> 12011 bytes .../AppIcon.appiconset/152.png | Bin 15320 -> 12830 bytes .../Assets.xcassets/AppIcon.appiconset/16.png | Bin 615 -> 761 bytes .../AppIcon.appiconset/167.png | Bin 17510 -> 14411 bytes .../AppIcon.appiconset/172.png | Bin 18342 -> 14724 bytes .../AppIcon.appiconset/180.png | Bin 19669 -> 15696 bytes .../AppIcon.appiconset/196.png | Bin 22320 -> 17203 bytes .../Assets.xcassets/AppIcon.appiconset/20.png | Bin 878 -> 1020 bytes .../AppIcon.appiconset/216.png | Bin 27029 -> 19434 bytes .../AppIcon.appiconset/256-1.png | Bin 0 -> 23640 bytes .../AppIcon.appiconset/256.png | Bin 37163 -> 23640 bytes .../AppIcon.appiconset/29-1.png | Bin 0 -> 1744 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 1538 -> 1744 bytes .../AppIcon.appiconset/32-1.png | Bin 0 -> 1935 bytes .../Assets.xcassets/AppIcon.appiconset/32.png | Bin 1804 -> 1935 bytes .../AppIcon.appiconset/40-1.png | Bin 0 -> 2574 bytes .../AppIcon.appiconset/40-2.png | Bin 0 -> 2574 bytes .../Assets.xcassets/AppIcon.appiconset/40.png | Bin 2447 -> 2574 bytes .../Assets.xcassets/AppIcon.appiconset/48.png | Bin 3188 -> 3204 bytes .../Assets.xcassets/AppIcon.appiconset/50.png | Bin 3330 -> 3349 bytes .../AppIcon.appiconset/512-1.png | Bin 0 -> 54562 bytes .../AppIcon.appiconset/512.png | Bin 130724 -> 54562 bytes .../Assets.xcassets/AppIcon.appiconset/55.png | Bin 3723 -> 3853 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 3942 -> 3967 bytes .../AppIcon.appiconset/58-1.png | Bin 0 -> 4151 bytes .../AppIcon.appiconset/58-2.png | Bin 0 -> 4151 bytes .../Assets.xcassets/AppIcon.appiconset/58.png | Bin 4046 -> 4151 bytes .../Assets.xcassets/AppIcon.appiconset/60.png | Bin 4238 -> 4235 bytes .../Assets.xcassets/AppIcon.appiconset/64.png | Bin 4708 -> 4568 bytes .../Assets.xcassets/AppIcon.appiconset/72.png | Bin 5436 -> 5296 bytes .../Assets.xcassets/AppIcon.appiconset/76.png | Bin 5862 -> 5671 bytes .../AppIcon.appiconset/80-1.png | Bin 0 -> 6034 bytes .../AppIcon.appiconset/80-2.png | Bin 0 -> 6034 bytes .../Assets.xcassets/AppIcon.appiconset/80.png | Bin 6175 -> 6034 bytes .../AppIcon.appiconset/87-1.png | Bin 0 -> 6646 bytes .../Assets.xcassets/AppIcon.appiconset/87.png | Bin 7034 -> 6646 bytes .../Assets.xcassets/AppIcon.appiconset/88.png | Bin 7134 -> 6846 bytes .../AppIcon.appiconset/Contents.json | 331 +++++++++++++++++- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 0 bytes 62 files changed, 330 insertions(+), 1 deletion(-) create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-2.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/256-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/29-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/40-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/40-2.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-2.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-1.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-2.png create mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/87-1.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100-1.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100-1.png new file mode 100644 index 0000000000000000000000000000000000000000..160c87556e23706b19da59b1308b681985ae36aa GIT binary patch literal 7852 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 KMNUMnLSTYrjBHB) literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png index bfb5f66d430c877c3ea62415dcf4d0b74ae91bdb..160c87556e23706b19da59b1308b681985ae36aa 100644 GIT binary patch literal 7852 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 KMNUMnLSTYrjBHB) literal 8563 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 ZAK6xZR3QT$Bm6K0Ku%g2S|Mo?_#g2eO&kCK diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-1.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-1.png new file mode 100644 index 0000000000000000000000000000000000000000..522818cb83c3e3c8795a12d267b88de3efecb290 GIT binary patch literal 166057 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

YI>q<7T;lrj47r<=MvtGVuL}z(+ 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 +=Y%wnJLgQRX(fC-$@4PJ#DlzbCdw^1&`R6 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∈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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-2.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024-2.png new file mode 100644 index 0000000000000000000000000000000000000000..522818cb83c3e3c8795a12d267b88de3efecb290 GIT binary patch literal 166057 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
YI>q<7T;lrj47r<=MvtGVuL}z(+ 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 +=Y%wnJLgQRX(fC-$@4PJ#DlzbCdw^1&`R6 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∈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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png index 13a59042f8aa5d370bf29f5a95f225d50f769501..522818cb83c3e3c8795a12d267b88de3efecb290 100644 GIT binary patch literal 166057 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
YI>q<7T;lrj47r<=MvtGVuL}z(+ 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 +=Y%wnJLgQRX(fC-$@4PJ#DlzbCdw^1&`R6 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∈Hq7TqW+Ra~EcRHF8B*P8_gU++zI}PVF<0X#@`E1## zdIMA%^`0(PW>;*Il+0{)(1(>Sw0|Va-6T;`EDg=})D{B&aV0!IfZ=4$wWa-8^0rkb zHW4bGpw=2z||Y0X$38jCNmKf zq-fN3O{#2mWdQcpZ(In-9NbWaJF-#iIyxcl<2!tdBBOowl(X48V*lu^5w4xumYQ?}cwRT@E)4FWY!}XMMX3nA|um zLLS|&KfUB`uq55EpJ_| zrCxbH@hsKeGTJkt8)w zBk7DlTX{O+FKQxab?)?G0wqRj+5m3HPB;mnHW83mC%#F*X9Id>^pG}keM7Wxuz8j2 zE)vtPFjwsLnuCGl%U-5AJLK9WPJa`&Y7CN`nR#0^`zNYs!u$aUC`i^j z=CHXRHsu;7UwhT|4NWJZQn;3M{T)ODh zOFn-Vi*@TJU(>PfhM*E@4655`LAl3o2qcCz5V)v%&J2zDwP#qCya3YWx zSRsG!t}F7KKk&4{-oSwJwy9I|oQpW)t+QHMe6m@DQx_#0r=t zGVDZ-uP^=~Td#<}52j2aNGseGJ17Ehf=?lao5D%ORKk2uH7zupo4jBIXCpssS?ofMjWz7;mRqbjo6+nbE6k=}7xtqU{_w)TUqerh*h`%3Jw zL)%sDJ@l`#Za_3GCv;!Wr}$d7VCZq9%xFiqWMU=Vv+3hg_zU0MN13bumAcPLPcHcx zTdVK}X4DT6YX3$jpYRy1y*RQiaIkD%Q5{+dNsIB)eks2oXDwep6ENhqa#w_*D~y%3 z8R!qkHee)8Jf&?*>U0gv#YBx7Aog!OI?N+uh?lYY&849~ zdIgHWB*kMfFZxb$e1Q)AUP$rA!>U3;J@`oUBb}vqGD_fmxpM;`+?R}=g`95q02b84 zG|=+U&L_rGYvSLu)m)>g{-pHe9<{J>Y1Vw1<7mBV=d2hRaB9a0&t6%Plhh1He@K}Q z3D{0C6+hj?_yO4-S2&JeYw!2} zOqs+tdlN_rVc@{Axi2e$9s9Va!zY;?nE_sPENW&0kp;6y$8}wFJJlaBSEAHmvHx1T z{De7JstgQRhD1DTxR!$HrzQH97?m?P>g89?l;AV@j&0?J=XM2)0>xIyiBw_fgLh^; zI}(>xqzNg=Ua_#*6~*QqBT5wx7DylzVt6=Iw3BjCIo;%G&KYZOoxfhu+T4>*JZ_@8 zI~3^)Z_LI`T2hp=b9vfj+#l4%74#K25 z00NjgzV7I*`Z?z@3%dJBLSEA>Yx+G&DL%N=s~dgd*FbOzC$RgBrvj&Nttw)nNz6u8 z5&t6PdyoGWz}!9L^^tHHFi%CmfXALdA#hE&# zfWT5$mi-665Wu>UF@v`U_QE_j7BQhjYtd2_^_sURU1(5=sXPWCly##M4T@P2t=tW8 z(gFr?{ZgPZYW~TmvGtOkJ`Cnbdd}jjvb!7yctC zD8S9)IvSrIX?b#3`JLUbzbqDdSo^euWxR&KjV37KZ;N;<-BVt2$i_n@g^U3Tr=5c{e- z&C0#Z6r{{OlMzI7u%K3eu+4Hii51JlgOm(!d!LC>0Pmlv92*t3j(AThu*87Lp$q>g zXG|^GRmM{LAbNO8p>RKbjI2B>w(hm$E7%3bg(&DZWjIqHlo0GIDa5&X#%Oudd3EW(&i0DV6$;=y0yNONygbLoy z7x9yV>_Gw`4eyIQC%Mzn0nciW2KwRf?9eBT#@D98^)iB4Y&&})PcFTV+C?bzT6LwD zE>+9iqCmB3n1*})Uj$I*P!XOEgLgQGXPmcG?0guKXxT!PLy4g54BbeM+gxJq?ll|l zzu@!XRlhJ08dne})><)bOO&{_1lw@~^Iz|pRj?xjyo!xYXu|5Z&(qc`y<)4UX|`x= zO?pI+f3jW852vK&Pk;H{3tY~10gUXc?MzBOw(@GHSWJ`kBC|znu`zd{y`JMT$dj|n zE3i`~uXwcwO}h(|QD+=-vNk)P6<7ru6WI?~wzy)>I4;-H2Z6EbFW-2>?0|~x=_dRZ z7I@#o!J_;4cxmIPsVbLda$vA;V_Z;K3OLW&exJ-=COBgTs+;EAm4P!cG{e|S3~m zSj0H)E->lt!x_FFNm0npv1?zn)q8f((z~7OiBKh?1OYrWD3nctBu$3kOr+}_CYTe2 z574vdpt3!k4o!se>Cc*rPlK*g;Zp-AA?YJZfgT4V?-1KwK?#0cy+L9RZU?H9%J9M zuj09u)KS+<2V@>D0OD}!e}LvrX4*YEC(*Zj5LBGX+Np=Uyh|tiVi>nZ0;HRyGeq_)ozz6=b!o0$`JTP>bdBY_#@?>Xv{w{-v(W;mb$wNAA$%%f6{Ga@g;$h9^N~L9TtS27YQMy*ka(P(M;FEOy}vd)dy^`1Yb>`N+~sOhH8@5 zrNrWh-F{YDLHWb>zLpVg<%_i7rKsly30nls$*7JaFH6m$Y>>WYo#njKEA39#SQY-f znSftA^sbmJJC5WZ>G1MCw*mjk86927^=(X_Y;BEGfBt#IWQnAYj&-~RywsEf%r2k# znu_4;$_(!I`w&&Pn>z5e&NJl@@9bpmiT!S!LSV@4oo!VNg5*_&Zju$BnfMsF$Y_mA zMijO+p#eh@NI7HRz^P?r-dpX*&dj^mv|5LGqFKa$bxjMM9yhqq9bux=MU3mOTb#wn z;8FUU<=Bc`P+-aX%J0eQcFbqtXNB+Y%$+I^#H9Uh{raio0KPPxCy{h_V=FEc@}(#; zC!hb#4+jKp)W>fh(L|uH#(1=Lih|Y_QR*xiZ+-fc2B!1IIEW#-V|J|zx@Z2)@e75tJpdH^v@tB1UST{ zY(1OxMj&KdNvymLeluVWH2Enga7?uStYrQP$DGY#C_K$Sxy@?>=ZM{L=}QhBK3R&O zJqxD?n}=u+nR=vK88eF0E<4JD2&!Z`i+b;8&tCJ84CDOH3dNUrU{Efe)yD)E@H+|N3)-p6DZ2Jo8sYdkvEiC zevrrvC|&ApB_rdv+tE_GH;b&m>59!%mZAZuoU*0arvj3R4078aP>mAv2%K+d! z2j%s8!EDR^l9t<%36*uGV^_>nfNuKjHp#7w7m{$xsm(u*hld?QGt#Jm#_Gyb>R^*7 z@Ur4kK$R|v;Wrg2Yz_1ZVDZP3KIg#S7Zajs7E>eGC}|8i6eH>6&n9od8+;nK1#nRx zCrL9r?*g>N2a-s*nj*yz1j+d8fIhA%54f^vxK#D(M-eag6XZAML_fWx0fl`u#i5@B zQFam?fF{1D?@V9Z;alGsFwTsv|5~|W zCoF3!99#3BnE3a)YiS?W`qM`1bNsENT3vs=tw+@(f7O9$w>d5xo}QrZ+N!jAdBkOt zFSZ+gVBG^=oWqGLzg@mX;?E+?w9zwUY#pk>DP`>K%3Z=BdYq^A2I~I8Y&LqO@{Wp~ zsv9pZ+J!G)Ow=?Z5!wmx4b2aE_at!DZE{zv>#wi!-&*ymwflfm1+^$R%i4@i5%uACvDh961# zjLnM9iza4&9Cqd;?Rv&a$yF`ko3)lV@l{P`Pygm*Z{GFQXC%ntf0{Kda)>F|z)PFj z7X}!EpK|KE8?#8%;7R5XMQ0Co)Kp?C&0Fb4G%ytfL_U)||Dy{3lH!AZwteQ8B4*Df z*qQdfxbuc?yrhj{rUKQow9nJIR32x2_M^Dpf9B<}d2scyt0GTF;H`dhb6P%;`0pe( z8wUQoYR9P2S4Y2Q9+{YZ<_4NP4}aEEI+;r3)bcM%sXQcctF3&q@{toL@3{#%$;A$! zYP}~rnx9the~7n5QXO+kl1d84nr&U3Xjig#rR`snfqbHVKIvsi9ap!gU6%)U}{_lj@-=G-H2Dofku%fmFuH|0%~4~`DX zJl0>`$f?o3JXkb3!5v934L54?Rx{rf&z0xtsoYW&ynJHXB1VyzYQ zf~G+FHN*qw{diz-Ww8||a5N;z!-c)3!;E;9Me4XiZ(rb_1L$$#JRvH6BC5v*lmu2b zC(w*+HYPFk*03M>+q!z*f3JS;*#7j7LVZNZw!FB+_`1$SC0DL{EelS*Z65sQoC`2p zOx@ib&_j<>Fb-46XKK`!pd0wwcKK}0k(GhpR&vbgedJN-oWXE*k&}K5W~PPH@MF2r zp`Pm1*Nl$E+t$mQba>y2Vr>;YNpliV)L@Z-N3_ou?Q@07C4(Qbzs*1AweoS{OBVVz z++hg%P%pQVkRJwcAZv4dKea`JEXWVD>^^g3{2mW{t;XNw7y9>NSUYV}tvc?c;!WUF=+#7LLNNX^!5@Su&fS!I-(?XYY3ll`AYAF-kHmPTMVBo z3%rJcJDs-fLYW_5JV)=T8&DGF)MS%*nm-?NsQC6pxFH+xHBN_QR+vVw76^Ke39@Fz4eN*cGNdDM4IZHCo7S$5i_x#BlPQkt4Cp?V+wq^o9heIuTx3dnX6A9_e8{D9$Su^KCvppf)Sa{h6V8(N zJuRI1V9u-W^4jCc9pY1i#|*%cisz?uy}t82{7|XT0JBWf_6y|P$g4{Q%-+Og#RWm` z);n__pThB;h5t^b#W!COKE*|qlb-g@kq#<$eo_0oq24)=)hP2ODT>*^h}J-_@=}ru z&xza5B2NADyzd27_3(Juc4Np)5wXMrm#5jS8bgTQZ<^x2lbwWk?o+0f{3R*@4NYaL zs6Ns+2g~p83cgn*`SXAlUrHlOAKMmrpFR)YxsQmvy5ESjZ*9+V{La2XV=eqgokcEc zc4N2|^=dAQ2<#F$r?UOF2KSZORPEkg2@Vzu+t$QP^-btP0Xffr<{dUW0SLlalmO@< z%79ewDVvS4lHmkU+ZlkOJ^_O!jgYx+H~!|Q_Qm%()54cnO7R1(+yM$m*$a8=zSjAX zlmQr*0VGmhY`aOUcQ!L^98sf_1ki{_^?LVu>nycASSZ1{Wwx9zZ2BYBUOW^d_OwqS zU&7SkGT3kXE`Gdk^8yIx(J|E4N%qiO<>;cyPOb?BHlb_5_Dz}>gtt=)>!oK_;i-Ww zdR;mVo&tMJR;6kn4QEuXzRj201Ho#Lhsnhmfs8x;W#kH&F*1OhW~@wlGrKby+53(i zxL*aEe*;r4y09lWYC;r`pbWI#xjOxIDOSfx2{5{H<0n>HF-(!aa<`^AcyivwJuI7! zO1G`S(upM&J4%9%YYjgbMiwnxn*{6f*`psF*?lRDUOzxZPrq;ZT2H3}0(!13S>(ja zCQq)`A3gk@YcfUK;})f@w{*+<1=R-OwS44Q#k^hP0^cWvt19t?7o>fQSRoXtcYWCn)KUhQ!N*c5)V>22D( zyR?Cw83ASrgHQ%x+E3-t!Z;)OGJG!xFZAq1yiB-~gb+nh1|u! z?PJnp!~mlmV0Ykc1YCsFY@D#>^Yw6+PAhAoJidJNlX*d*OjkMeP}j%J ze(BYN92pvw0I3j!36#N!6BTkKTl@}Q?OsHRrFpAnW@3N};R_E36QNTe$A9Cnz|n0u zcx8Ke4~jzE9+{(SX2!c~VgiaMlW{awgM1j(k63<`#4AkhB-JQ%Qb#ENvpT0{u_e`n zNKP);VdECU6bX69#5e4dC@k6ce`vZ2ho-}>``Z}Z-7p#f38f?_jnW}4jVRp>qf1(( zyO9w}E0^4VFR9O%moG>fxcBEh2 zlMlym$2rEm=V1IkkYcep{8O0dxPXsF%8eb~DeO)Ey4nJB7YYAgwVPirbRfh>v)iz8 zmP`CT$@=l2IrOFGp346B&*!BACQK{1AWEOo*I65zOv!Sx!VxUkd*hQ@ zMK3<;ciJaH0L+*4A2XWV3#hZigXeE&-BL-0T@s=>-WL;K-PYC=q2UT_9^Y;>!`_Hq z;N>pnhiJH%{;u?i|3n?X5#yv%t9anbCdDzs3N!P ziD6DPBhq4km-g5zR`H)Qe^TufrYYMgK(l$5YiU!281)2CUaEF4EC#u1y7|+2>_d=_ zit_}PF&EaIFeCPmbTyz)`~$cN)i)FCJLW&-#*(KGxk`2`##9|)WXP}U5`g!zZH4oH zmnadrgCMwa(nDP81_1(CRxVKX65PYKVoE0W4yt3(_)2QQPk;WNAAWl}$X4Lo8d7+5 z-siNc&*qJu$a~+*30QYYSCc1CK=*8hkm994)9d2GhHh(}I8NaFoVC{03HR~z`xhjA zn}?*20zQac79!a!-dzQ+&N4=VM%u9e4=FK(N;~3wr%m%){+eXf1~kl1fq+pnJh6MgmK)hhsrX(E1ilm2^xko!nT;0`PX@?<`j z9EaB%(;4%Z{o~ma=mr`SMvXubnmOQ`WRXANo&- zu&zQtN0GP=(%`5K;njA#81FQA<`Ba+{^SM1jLT}_eu8Uc?5V3mX9EcuM6Eahco_p} zDiAO5zPM;819u`BbKkl<-p9vx)$8}YHb`ahWIB+D82kT6UOdt7B zdag$c+po?sKygZrpQbba^M`tVZN~gE;BBF%N=(KHPP0c89|vASR~PgAceIIVad=4D zWDdEFYhi^F7U$3{)rVoE~i)3}Og^+1pR<9Zj3~mafo?Bi0#SxKtTN01ttf=-^joDDw#CVDn7WJ6cBJd__Fn}MAd0yM-OR7(0z0z-F;BZ+32vPa5D1W z$`C3Gl?O0>x+75#lHj}I-GfJ&7SbEBw_0*IBU##^FMbN};z$?#yz7<`y zMJ{n7d!fZ-qMRg~MH}rKCA6%_Lhna(yTN26cr1;;-XwCO_m%-1nLvw&KponRmq_v( zo&X&Rnc4SFf9?f$<78=?V8Fe8u(r+CQQssIQmv;oI$Zn^fwvmcs^ zle(ds*tF}~QbSpekG0fsr((=kD$S}5?&k&H+UQX*U!$IxUBb4p0D)veu5^Roq0^dm z_SCTQaeD}|4Y6J3H;x8r00SKzYNI=c|7zLZfGGHIyO9F%P#j|r%!i}fuys#vqhPRP z*UhY|0A6RNg1QQ=;&QuV~S!xze4v4rNvVza+VO}WyIVvrL8L^_P>VA9;bqVGEfpmDFlF}d9I zC)(h^Z|{NUGLP|v3S%NIAW>C>PX%z4v1TXsJ zm9D%}rMux%6ec;{EKhIb{=u z3di9X3bKA*F6CzFIgdpz0*1+H;!*uAn61yF{E{M&+oG{2SwmnVVZ@m^{09jyul!EX zfz(~Bm{?6Vi4$mopzD<1itXS2%t&gM49x3>@8W>{dG>-qzrunekPaL%jqa;Q{+IGd z*RF!9D&#CSa@QfL+5SIfmlfk90g(Ti76fYnFG>TB@Al4+fdynZ)vD67Z2e)&sS*$i6(=JPHK@6i_;fVF*v7O3<1j^Ep?T$H{E43Bs!plw=V@Fzro zlbY{)-bZlfxgl6=nEBt*3MPS9MC3oI4x8rt^Hf%mHN_uwA1>LI-B|rK=uG7>6s`*v zOTRENKtKQ3EhsrT^zo^&Ia2?z#>&Cjy?2wdmvQ|O>~6LO{7(zOmCg2F;*=c>W)obRec*Y zezIWP9*1q5BlV+Z<-#I*4%&X7x}s*&FAd?_nDH*F@ES(D=T?ZJMI32 zfif9kD#hZDwnX#=Kwn@A&;M9+L2wcqps?w$7;RJbw5N6Mcj=d>!DC0m?p-H~0-0Ha zfIS38x%VNT3Iqt#f+;|}b^#b->Vf}^7jvm~xTf4uf#!sZG_tD8eu73#-qvihDpO6a z1)(apCNNA-4`>s|+`m5tw+nk?2P+bnJuXBnw*aC`!5m5<6Uj{vC)Tr^^9ZWGWE+PxOY!X%oUtTyGhb=~%QmC|~+M5#z@M zBY<3GtubokbLnNUcu~jo^Ie7+pJRZt$5U zEs-Uiu~(M4DG&+}-7VcM8QIt;^NbFT$bn>t|HSCml^-Q90My!PSN>O4OFr!`qaG0O z#LHZF2(0vju@h(JSi6r6Pm3sVd%9%N%evA(B_0S>9ni6x>%0;C&`KL^$2!Bx0)b5dVJLLF&w$PB$CsBY-e6$R$Pl&jY*AYqRNCJ24738mH0m|+z%meY z%m2#RMd#P=YF`abruZClr{;}HV`ocl--Em{EwD8HWPk1XKzVY6`Q3tA||FXVEt<4Y&J3jiYPVoD}#)1F*3nrWzVQ1HWv&ALfe-R&1R$+U;gkIpe`3;*QYY6mg z?wU@^NWQmrb>yujxbx|@`UwX}B_B=3#Y%bcn>JxnTHevZBWF1AvTcPwAKnow%L|9g z?{8#ZpBq4H=pa(yPB00IhA+Cw`B%^7J?49RcU4T%8QE^N7g#2D)AnyJ8lRFA(SEeI zcIAe4NtRbU7i^BG-8GCCtjRv9AN8mr1V}9=oop#bpbH7sx*I66x@v{8wfiQX(3leX zxhTKyJ_K<#AP}^U!r+~N-C{Nt*kpawk6BLT=5ea%*%ne&pKSjg1q{bqHr!tFn?sTA>}A<**9|99;`sq-4r8f!;TeT3)zlKhl``CreGMf z4kHB3*QDS0sy=+8>wGKM14ni-p5V>5tL$vq+pO1A)Q#SHkZQK_={(5WZv+(HSJ&EN z_l=o|32My1Jp`G>OAGSkomo350TCdWyA!`=0JJTW*BZT}VG`FQqr3we?1s!{rtJ%p zYDuf#C<97LJf>zM;rZ{+^a@C6Q2wGyG6P)wvL38~v>D%1F>euLSWncsVF2rDQNIv&=Q&{sE-y8Ps!rLP|ty7*wU(RFLZ(Q5P z?y!z^kY!_c$9k}@$vyGSOJ+F7>+xMjqi;StQ8>z<^M+Rf3V4OIKQo~E7@0S;UR1sv zy(xJtCn6(P^1VMHSrQisa!J{yNJ`B^%V=;&7>EM12}Ms1^w(fNk52`lXbeLIhV+7K z2H?PNjEhrtg+pdXMLN5mWZ?8bO$7TIm6bPFv^OKu5Qt(Sw z>UcM3LnJ1kDj1aIci=-N{(*!={)awmo_P~bOkNjP;^6GFGMxvp$ulLdqm7tsBX*My zBH_J3gFZGp3c5Z#`EimlF%e3`?h`Xv-Ae~;3M@G89LLS&qx<1dAiqOS2HznD4h8IE z60T)p2r#l#D$wxbVjj!PD5oqXuW~*i44$luF6x$j@UyN-B2?`YOXg!{%6U}D4@2_R z8~k362T}Bd1cI>y&^TJLcD&6WIu55YSOhPmI=0yXy&yScPR3obY=@s5HO)Ml)oaSAR;J<%j@t7OP`y#a4br{n;*Vp+v}Y_t1UIO-o+eh zB;HGA3dL)@t})9j?Imim@*;zh8(kiMlFykDkQv1GZpNlo-FPelj$?KZGkNTOMU z8|c$3$~j29(NQ;wl#bYB^&Z=pQ3+83b1B8AOts@PN+@J(&18^;T1XZO1(+EDG*BBp zQdqv?%As4bODjX*ZI5b1>$Jc8C+_i(pZdb${EaC3PIK{g))MNCFXfbrml6+&dV`?^ zTfNQcqQFlG{==Uq`}32*GKLPqAT{>6S;5R+Y}KP5qm@}|+5t=A4t8a4)>ery_)$PF z0e+MVT<@{HQq5p1RC%5g#yZ z<@ZOu8-;|@_P$>m^@*~ql=gMUmkZSV+7SgDdAZ(`Atu zAccLfliHJ~o$0iJ&AfQkX6U4#X|LQUG=h9`aG(KWO~r+i^kJJS&UKk2jkl`yGy7{= zF|7V-*o>R2)zr@6C@&!l4P^#f$o2fnEw8#HDaK`?xmj0tN4xNyi?=%+agqyr@=r@} zt{RuQyFKCA*=t_qVO0+-G3UjATS*nK^6UJnm)@Gff?NFMlbIp9(@#@EuVEI1O-T4u zPLdcP6>u_uz$i8~1?`y4L@tkZdOrtpktnynw+=wY{(KHjyJ3_oCR68Hz$N}+v-N8y zJ*d5kSpmXpWlci}t6U-kWU7SiQD48n_HlP#)$xCyQwofaghCJ7xFHZw4fpJil<8pD zH(EninvWY%1L|1|Q2Exh?7iQy+j7+b6oc`NG=jItSnoa6=7yJt0iFj2QNWuU9DDxj zo_P%aQG`Gx5QUfP3Pfd(TcSE?%V}tvmOjJgn9N&PCZf(Drl7ktcOosy57uOR=Xm`< zNFyl}=saiIkbPV_Ew!SO=v`G&LkAb|LG7)bI^HK@{z*Uzdh=bOcbhQ|?(pMIa({ve zB|SfsCLGu0v|=jf^ZT>l3?WF@GCC2!f<1Gi&IPsfvoRn9rNM)M#fS<12g6tr_sm9=&DEB&B zuBV%6B)UVSYTO0`+tI1ndY#ulxIR0}etN~SamM1m^n~N(lr}2^J4fKH>{}%>yedMp znTX&4)#9BMG&wjPk87AZ!>$ns6c5_C(5b=1cGD#hXB(#2Q8F2ZvEANH-M7x-X;WU; zC%j(HFyLBU{H?cv#fqb>7yJ0W5z{O@fvbS&eQqOXXm%BIG{dB5Jz-3Kmcn;y(}^ET zMn=~$)$}WMF~4?brw=VDr~_-8{zSo4;ZXduQ3v)sq$AIII?0gh@^w%nNI% zq;4XTt~QpR?;KGglziN!Y`t4$U*Dvrmr%)3p{%-I^4AOf${RL0`$Q`$`nZ(NnF)Oy zR)N&^qk;3@#kH*mD$t96*SgEVXdj1O;#%OgRMmm#wVr}ePX7!Z05@p;+eZm{iI|~R9 zeLCLGV06>fj&nFW7wyV{mejha4S{)9O=?kMH$NLS%I@mcNb8yC*?}+Y%8_)uKEgKA zo>)$nG4`MuEF9IB#w7-6F{^o-=UIQfMKpHQ#SIf+fuT`fWY6ETATJPfT27iU7lp@b zXnUBfc-T_SOBkyp${Slq@0BKWy<iE^tssie8&c_4CCac=4WRb6_R)E)c`jsce%>>ii} zTaiaqNXm$R#}x<~PW zh@e@PNu-_;90U+V7vy2Y&-k`jm{r;4Z?xPq+Mxyt&C5J#`dE)W6dRqXEGg)NnDdce z(`hGd-!HQd>A4jFIYzz0U<8-)RN&{@DA;hUk=Rp*(4LvL#C}!j^W&=GBUwl8bRDk> zFTL<4U4Q<1WIleaqO z_j?GDGgOH`oD{~__r()CB&brz|Ge*R{H5nN<{#S6Zu{TyO7I0I)V^0z`f29g@3@~Ay*ERA%4_WVm*y3iNb8V0g73X2c|3=H7e?FC(v7H)1B1jtGw z3X57jsO(x!$&_PTzp&FW8k@ zqy(+>CA**a)vHt8!YMR|A&1AcXK%eXX^OX^<9C<7JdNMb7Cu^b;X=-7-I*dsHh@}H z4HS6ujqFD_RUC}shS>W)^1~S>pmBVq2-o5W{39x4zPw~N``w4L!GYSsJjeOw$wrRL z8cKo3H#xU;`Ibk~FbmXGDanSvbyl4}HgLENDSFe+bevAlEi+$ugbo7SOhXVjf{hr+ zBvUg|GCzSvu=*|8@6i|9dtbL`hN9FEt&=qSZevgw{>|#{) zf;g7ck)-p75?<2R7gab?AwHr6mXFs8Oas;aGJRLY$fzsMPYM;inM?arA>s)<>8$3O z0aW3KG@at;w=Wn2sYJi!J3}kTG1gk_0+A;>Z$@QcPGHffz9Y8zn1lw~5r|_H{h8+y z*#A-2^_78c9SxWIAxCI4n%AT0ik()U+D~aU`pClE%=u5{&`KLaJ~$(aaB`qbBfD>n z+;Dg=rezLoNzF!)Y*GwDC%_4$(km@ebQWl#9fJv{XpO@5*?Ly78}0ZLOn)y+j3I*w zGEQ3#AdXK^&3njPuotE2TUyAHb#NdP|D$()qePRj`bu1yo~evsZ4PnfkS*9@!5Td@Mfz(1MrPM{YZUuM z808S+;$Q5jWrSfue}Y|K<4A8#2883`m@HS>tI2|20*gyD(GEgn|5{P9BV3Qh51Rp} zk7F5R#jh;|OZE24y4GB6(tr*nS{NzzmNGSVaj(~-g;?V&^CG_houJ}@fgLIl+$>pe zvnzRt$*TdCGpn=+o}!$IIOFuJQOz zX{njLCrE`NGFnd9ZR?pzc6&tg4a+4Yij^P&4cx{3nl7Lc`>iv1t`$%%NC>p5CbhId zEQrytb3C%aE>6}|e?y9B3e*ngxcTI!q*k@Cv)XeEZ z+8i#s9r{$+-)IgIyU_ z4>Z3vqn(jrhj~43_xo{m$sBg2Wz#>=3x2%R*kkXOeg-@SA3vqE}%9W7SrgENjB%!Qm zT6)aPWQF;2D%l;2lhUoVgspbrpm~d2H`y&nREYlL+2&l4knwKgq{_F6v zat7mwH(oc1*>#7i#Y}`Kou^zUnlAy=v+7B@@=#E4{TPRwn?&$AP<1O)YP`>pR74go zV(qtiO$sXmXA80vRRwvmP(&IjKeEyUUO zk?&&}=su3kU>xHbe~7^_s^r5F=rBy>P|I2{R&EFpVy^AHT9W)1A++*q_jQw_*T-*Q zU-JkKyz3>6@_49Y6IU`ZfhkJ$+T1P|BGa2YLE1 z^sg^>zyGaPRgX^R=&GkNq%-K8{Y8`%-LB#P)cv-PJCK(sX_SCOb~Zyfw^1}y>sjBC zn)ed*MP~TXeoZW86RVfL_`uR2vG*J2Sr_Dvn}V z!Yh;T`*g`DC=i?(!0|Vw(UwaWFXg77{mvVxT!~=#Glsa+J8W6vw?#p*u_TxKOF`j>%W)`o9%d%F*lDg+)#G>mwLa%qk4E0k@e)@e}fpJN6cf8=y>zhZiw z3b~ckctNA9sw@c5j))WUYL&olG8&_!q`VTzJ!X0P@!ucD~8cU*Zw(OzLEYy_tDI1bwqf ztNSIc^J-Qdqbjz!nelDF8Ii=bHO|-9EW-6qh-$k0X2NnDwqDmoMHz)XmmJau+?@hZ zI|@ldrl#HTPu>T1{v^b}JyVN_3vFV?+|{Bdm@qSU-_J>dQ9DsQymC ziTKJ(iW!wCG=FuD9UO4MIU3MtsCjoKt86(wD(KQ@0 zeWGL023OD=3f`8r=<9G^X9TcHdtr9c6JVEVu}20+)B0$!y+v3JmUNb6S- zGf*3FB?{5v+9(7K75mv9su=fa2 zIy2NZZOZJUP9A#da4jLtzY%=w@UoA;S}L<^24A3 z>sKVy7SOIM#YoqKoD)ud6oenIpm>;B*N{ib;Lw&qKEYyITF&zFo_u^<$eA4LPHfHk zgr>%o%qPJYeI;=XacFfT=~u~=&r@4_k#7yW!ai<`Y~Kp91_#bFz{07>6DvBS?ZU_x zz~f7sX@PV8cOIt&dSX?)&&HFxjeO82l9ZjF{M>ULK0ey8e)8GwqcXRdl?49q$%jwz zj(6tGze&3>o-9;Bi@(hNN|AH$NFP23%@1#Ek$Z~BxG%^mu>f#>#+S zsihd1wBK5*n?A#G-~Ow@ZwKs;|GpsxSo(WCYeQJ3ws`sL?q6hbNKp`ev2P*eil6VW z%p-|#PFOMibgPFw@OcUp6c0On^yqhWMMK~CMgU|wl-}e`gl2}Wv$38`&5XGmnm)^O zc~3JsSSjoBRQD?ryK1&{FSm1Ar^05!FSCzpRLZh&snOj(GD}6ya~sa8C#kVrfpm{^ zEp7xJOSQCDwDZH|kH2G_$9u%oi1rz)lX>rLB(qGlU=)+86yZgk-QTlB14!j#v;Vn9 zJMNxBN?TWEulb``lBA1qrHx}538VtQYo}bA|Y?nqYsvX_v&jjZz z9LYb%pDbr7*Gyy;x=M*ip}kA__V&tMLRI(kD?#E2kHg(wVto6qtvo!5b);%S&H2Xt zkfEKEz?vC33R*MIQ}4X}ZR}y8!$EmJW_UJf1?$Jawpva!S1}`;~#Qb_BB~8rl z&Zd32yN5XqiRTx=sc0xs4%A(&?Fy^iHNU=c74+1sl1cd4 zKuW~`anh%EN5Wb!6#8JQ=`jI}W*J_-%#(#`^`2z(%^nzI;)hGGnkw;hX>kf%XBOwOR0m+3Z ze-_4tE5HlOxl_;1YM;ov$g}$fbmr>l};K_%wI_K&Sv+%ALd4<5EX*?$abUG4}j50`@cd>R>&UvVu* zDM&Z2-DdlbR>rV4dx_504|&{(lfALZ-HGNn=`^eTh%{7Q|1~!(9AHX<%>U^_#-AHX z#7m^S`jI-4CuADR*r9JZp06P^aQ6RNfE*-@UV#QEaA>3K$jTlCvh@f1Ps`!NbIZxF z$kIHCudyp7_G!FgB%3i^m`VA8P0Lq5TE@}2?;9APkU8Vbo@ped>-Tle(3`zm>50xK zL2F1h;xU^f`f(yPgR)ZE0%B^tgY;v`@wcTWkzG?jz18FogneOvV!+>I)RO(>c`~e; zqNGIfs>V>r83N}}tl=P4N>*Y8rimVx%rtAwJbDxWBkgf|Azfm)2BXAZ=)Mox{eWCQ zxXMuP2WLkUoQbXPIwP{_tuz?^x3V^2lWfa$%rNL1e@vA5Ed+=LMVb42ujrSHVMpG#WA43g!S#+OM#HHE*B}6u>y}&!x!UT_>j!-&Y_Y?QwPdm;oGkyQ5O|+ zHFZ)7tvKhbCp&&UP1{wV_Dm=+9bA5`g4|Amz(}m}lWnadlc^h)HU z)M(3P(IkslM?P`If=zl4ajjG)A5~>=cWEtLNsYn+3#(28s!8ZxXYg-6eo6mWJ0Z5@ z=K+yd`DpITjjwoWVokM8H(eNNi&Dh;3EPpp&y-t30L~(ztB8g96ce1ws_PIR9WNBw z)}GzJ=2UE1P{KA04#1amBtI0X!4_?FSZhV>kyX9V+oC@RCE9~rhhP5XL{m~4UE3RA zR>^FQFs6|RGw&ZYarVxZ1uKpu42f&p!k)LqOvve+AAZJAOQvGMV{Yi4x(hle3xmLF z-c2>6M3qq-Dw>};l0T!xj18&H8gdJAJ%6EM!@Sn%Ui*p1+&&N9+)IRInGxyB!9%gt z%l|?2Vh~+YIi8VcS9SDejCp)2S&G#TB7*jFVfn>;kY<$F;TY}r7AHj4OIymJ<7WhG z0gb*?KhPPYkUcA-2;af@(`R&pUnC3!=LT5Kk@HYpeR9p2KKQgDc&;wAb+a=M*BXTg z_-zxTLH{g0wmk$-S{)n%SFM&Cs=d&DBprP~oT!e~9Oo1!3jNI4UKoAoSn?wbp-wH` zc&DD-2Idsn#D2w5j)W>!Lnq*TA$t@4*Z!e1PbmGx|4{DFf1}Lt*(b;j*kZ8w`X1pZ zkFFWs{lQNhdzHbyllk{G**RVQ4eM!`LXKKlMk}Ja^-{wBv5ycLC`$SDYc#uhnm(g+ z@R)$KU29(td5VoNc%!cY&1x3hNnQ;M!pW{LHiHsMztWTp zmG^`}*A>mO7%yjU{5{LK#Ig!m8=j@S(vyioGK}nPPFLi=;V#nj72|j6^|v z(ZKb6+WJ$Z_zmmO93IAmi1mr^!*23yKMarkg|NVOdsjDiLl4qtbkuI_WW>7kkZ%4s z>X`hSP#Pr6?s$97(t5vl=lMV`pD;`w|B5yD{ho7`+s}cKTO3tG0S%0Jb^E*bHr_nB zR|WaS58%^QzUf0|8A!6__lWmc?smI<)5=+yqGKMq4E2(}Xc0enlI^%Ql}ETqYEpSz z(nPrfZlBamRWH>q*@-)zpJCRtU=e!#-Yw@-mSv@t)_IpWMxa&3#8HMBf@*4+&V6~b z+pCkk9CK*9SZ&c;7Ed^o7xBvlDnjh`uP42r{80O-?O-PZeB6ju0xCS#OSg}oT;)s> zD-^)B+!Qf*q8=*P&{n@8%VIwNTGU5wX?elo9*pjH(uVBiIsTRuSg%;n-;Ir|9-}i| z@0>$kSw_1cq*bMU-u*O97FkJWkI8xIwbz;hMpo){=|A@5%=i*s@ZsX#@a9olsy1=G z{iSb|W4?#}VrM_v6pE6>Y#D24%FWa_QSF7q1ou3n8$44F)60d>vX+wbp!jCNH?f zqtS<}n+FjAMnH?>LFc8{J=e&f%Q5>ejY8lT=J90{7p=)|&Fk=Qy+vZ-_sc$x_}PA2 zAhE}tKNM8^(u^t>EwT#(7;4uDBn!9Xy-o4ff78g&{leZcicb7Fi| z`LGBogWmW^5z(5oFe?$&<-uN8n+LAR_VlRbT20HM+w(h)!>0tg_{dgN7yrYWC?}&@ z8z~7bdCKQgU4A>V)JQB)t|C!1aV+@|*F8B}gPqnPBFw=3 zPs5U}X1o4eMCfx9FEIU?<3UuPS*sME<=% zBHKr?*79<*Ge>$n+Qk_3BS|khn56?L}N(m|y6p@Iz zlDvk5FW*u8OGhi>T&E!#k_K&=NOPQkxIa20Jm0 zT+6 zIxyW3`5*++1UoLa8^7IKXyZb;Fcr?^-vcth4=q&R#S1a+ge?)$5hc=-i4(=vn@1L< zkuAOE6ub#H?NKW*>|L_?JAabt5n16P7SBwCasNQDd-@74KbgpE7$IludTvKGHIEnq zqy4^DzSggw*C$hI-8kaTE;qEcTkT5>3u6qo5oM2LyDJ6H<9bH!X`mMCGecD=Vpv7W zm>g7CeSAsA46ZLE)<&NF`9u+@b|(dO8@j$iRp{flr5`aV67E2+_xDld1v%8 zE@BF6$dWoVKh$hcYOr3t!S@-QAO2>Na;4%i7l(oJA*`xK4wOZhsED#_fm55>koo58 z=XL?_-|EX;UxHS<@O*F1zSsIiSKq73$fin7>_|l3VM0EH{(HDW3!6sWCIvqsBpv2b zxjw-X046#+nnSR8fLClCOfp zee*`J9#K&K2z#24)A?OP>6*6j_UGCx=NA6@3@TjjrK2}l(Grq>poAc6D>sUPw&3w% zC}C^B1~ak@2up~#e=b0Y7*SyzY)aG_`D&jQ7#%AJ0Vz&{%n9h;gA}O5#>%}W87L22 zNB5L=W<`D>!vVhMmSXu_y!eQCE=NVA@89x?MC;_FpkxFJhI3#OJn7uLg%N7f{Y4K+ z&~)``2_K;g2yMHSft9`@0Ob-<=5~(@JPOU1OUDH?*~y3EtnjOcPf`Uc$>X43Uar=n zhv}8Tsdfh!b>G%AU@I=lK-Hv?e^E7QUZLBf@*cz!He>)fuO`2`bHPg>MCnB`Gc)q7 z0`_xBX616eJKpC}Kpz^b1_rD-M9k5MqDEF9%IX89x;E+ps@uIHdxJivc83SH2yt5} zu^>1~Nw!QiNjle<4Zmzqy9NQJcO>=QxKie^Dg}SCC>MRKdD^edu)~P)z zqv!orbfDl-VRy1O$ z>IRL>*Chvx@xDv3F!2~t^{jfRuKb>n?3`GCm#Q%2S~yG1&JRi#d!NuI&i4DJ`O=vv zmmes=&rZy3R8wnj5M(0|9I`td*QqHJifLQ$jz3Uv{AqqmFDp_xy;4Qi_=OCFGkoJz zZ``}?C+V9Krb+ObkeQZY`VoH!J*@m@HAezj<|3JTa-3_Z;Zqpb2_tJ=3txh+G2ZgxR0(Dr|?(iO6WQpDuWk2X560m{2*_Q+8cac$L`P? z8`>Su?>vMk5qu^Rs`C~B@I36({%hoWHPT`@m6^mbmuCr;p^mtLyv5uYT{;@aYdy#3 zbOg=3APk{g1-+e%{Y^XU%-*Tot7n^UPh|Vev_K zq09H5#PMWxZBEFlRWR7lsDCn-&W_*!ch;_K6su*o10~4zF|3omE8{w^#6PXWtajw@ z@ku!Tn!&Os*%i%vaFuPpTXQ<2>+_%_idF7EO>cKPw#l7^{nuz7w~mavY#jU}qW&@_ zN4b!6I^QaW^fR|i<3OyFTmi*U84;il;7EKK+VqzonBD27%eK37)UJ(!Y9tYn6Ep8k zkR#+=R_U9KHSCxE2354t>SV-xp~mkuS<4nNe1m`OsXP*ipoStppkV5cQk=YWAeB3r zub0s$1_QT40GtU1YUsLj^G2Qk=Zxf#&Y!i|m;j@4T}xP(E0~J8)#>`#+xy-3BRt6o zD%6=SvlQz&e^`dYStQ1hQy-NiE}IaF;)D#Ovywiz;U**}j>BmK)9Z1!Y@Y+FzJ2=6y?@YeraN%oD5 zfRoh1UOFgxi$+?*`$pA%9c|fw;%8oJu#@J}lNQj&<92?nURbdAV3vuR|BNl2RBPTu zy$~i!_`JU5VCto%$)Wp~`96lomxN~ZC2IQXe(31O=LHJ{ab;Y-1L_r(BAp9HT5ET9 zk;q4I-dR86c_}+F@G)YW!9g^YD{Wv7uk_k@y>;eiTGGW*^5u)k*J_rSSz2GnImlR% z6iM(G&+P(2l3~0=%$PHPS{{JBlCl`t$x~0Y2oRpO^mREk$2BD6syA{;O$B@8F$Zj{wnwIx=w?RT`oge z48(;b=(K)!$}(21#?t<2x>|v{+x@kmDR@%^6Vn3+>i_#2=;yLm5zfyH%*awA#K{mCx8*$?WV8%aV8&sjjA#V zrU1+yZ%~+=_Y|-LESvJcFXUKEA|z;miSkcMx)eTY8^lypYNlE`zg(^`-LPyLDTDvn zs0$W=r7BrR`n}PEk5VlQjkzIlo{^_&+7S6Lj~m`E>>d8*8Jh4VTt^)myhx|AI{NbB z?vAsFi7S;X1>n-u>iEFXPi9`x^d3&0tlk@!ukrkIaThkFoAfvw zxoeix5mn*w$hy5PyH(U)43qPcDrK@;`Sdrh| zA7eHaMVlc`lJ}WlXvgE>*zwnyrJjKS=D#2{l2^Ky75;6={0VIcvz|G)Ga45qk**N@ zE20AD^4*O4L|Wwfs1XXq&g-)l5<+06nqpoRgPc)TL<8;e;IPXa-&RgXu#cX(6=FJB zu9~)U^$rO@0<{t!!e9a*M**E5x`BINQK&-q1QjX6Y_&pPO?OI9R5|K(XIl1P;SRFS z)e4}r#gga0C~yfuLoFcRI@z)z=Y7#0;;FHX%U5w^(9i9AJ2^uLM6obwLzGEaAYb-RyzobbmFPc^x+w4| zd^?K>@A+Ykw=J30)%$gdeM`ACy?cUK`NaMY1<3INsrzErLQ}H_>eq++Buj}_WlRyI zWM)ib2qyfc&}#o1#YMjv`?t}bH(^uSgs01~(a?Nz{kI*|ams2Hz&IO49vC?K)bUE)E@GOsKQF>+@hj}Ix%80Z`VaT%ooe_E8-LvLc zKXML1fUa6={oKBO$~r9Iasq-URrbq@XYHTj}O!KUbg zl$u!6fSIr5|He`kNwlNtQ1Iv+@PxXQe zuUy{4R2Acupz;{k2ZGC1^~O3JO5lHB$WfL5n9c2X|9vJPGqO88Z7gM3j zfW1a!VWG~pU9+6`YZo+sS%Cw6TL&i{6q70T8tb@ak6Q{Qil2??&x<PebJhTgnNOLCoRuC;@! zYLoL*v1jRFg;ibeKSX|^#((L{!ez8U^>kXFD4?Ocz+WNh_mS%Dl9cypg@Kh1v=sYe&;9bxi_}<}9o~@Qp1kqVf#n{%yjbMMWExG6ixh;CE8Q$Wbr~=nR}X z7)#!EMs>l~=y#Eo^@Azde>^gAI<;(vh(> zJdp7nH(v|#ibk{~`uxB@l!R@lWB6U?N+|HZdz?=SRw5|lxpi1DBThl5yk0*{BL~^Q z6HY0vrO$fgRrJ5xDANCO+IlUUS`89@9`TI$jLA6P%BY9w;=xjzkMN^^L>7&X>DCe? zyvNRP#CN}VsUArk`>kBtW63qJrK%JU=9bG3c{Boc+5=L+FF>Xj*pVVplC>@M!KM@14 z0)6A9m_KTi&-v;%b1{rE)PK%J!Zt8imjd--fvu{&aON$ zFu#6}91Z~wd{4{Cbw^5==BP5g8E z+rP+jh5T1l4Exmb_heGnE4vX%U<@SB7Ml;feGo5m7bTCK%J*kwDgwu-Q5+*l96NN7 z2n3wK+*8NGEQ%=W({rn%U7d>+;2mii!r3aqM75`1&|+j)W8Z`_sH-YYHNKft6b~A8 zOEsV30r4inFD4dZCD8n}=Eq|q;(W9aB>6&f3&e~+1*W_`tk&=nSSt=&!EXsrsLwy>ggfF&?cokmSga9P=JhPAuz5j68&Cjx`n*@0bIFI%-p3z#2r z;$V-L5`Jm;S^}vQ%QQI9$z7JBReERKg>kXp<8<4d>O3^(lc3glnWGYBCRPF*&)K?X z{#n|&>_Y2dh+Zjl5zw)$w4leMymk&1Y1U-ktfZGm{svJyxO^3zFVh7ngOiz=M=^%$ z7fU(r4CR0)>oY3SCzzVVA25Q&bf%iB2#r7EOr`XwA0#-96~6q0u^ z6EC#6dqI*tYV1ZHhW@#|>p1J5v@s&0WJQY0(s)|sd6bm8&^=;l6W>qvlnfao2&fAC zVNe!GpYWPH(owhCk(a1;x6Cx3k}uo_U3eQ~)J`gYyb&>zfE!h4cKW=CEDBACc~qF3W?w$2@lw`eR>Sjwc6QDVIdZ~SVJxm zY|_EjnVWa*XkuyQ-X!Otq~!YqWxk;=h!j0EFv&*7AvYR|IsA=drAGx0Pffhu6l+4f zJjk?a&ga9j`5jUt{6@i3v)O?}lcG&!b<{o%>zU^`dXJhgC{m22|7d;pbHl>ExUdA! zIqUrh3kLNCE*>y-7`Xo-wW^K(eB@c>rcPl1rEGl0zw(;uw=P1V>?Hy@1`AGV*wPiz@tv~b z9q=2s9f^b5tyhc^AD9v%4#4cRNSIUJ>L(#wd5AtMq&>ieeNHoBI4Rb$A3+`*{7|Eg zF|d(AHK&lZb;#&Yo|Lx7QsC2H^s_1#`}x0t63^;gdIlYtNvPtY`d+_sG#m&{Nf#fP zF1oJ|MePeFA{DG4g=6_>ir=W`FO-abDmz-%^CbMMmP(n!1$JMfiei539825hD}p|} zFWagP?CK)+M_;qhJd*_XG{2xzDr}VQ|&QZ1SuE zadoDm6~I|Na^ZHb!eY!!bMef{)TN9(gLh<(>JgmkRg%uh<;fkI@Ny}tB3Oh1SF zvN>a-Kx!rfNl|ZHsp~$&%cVGzp3^^&`UWwt0mGCr*U+@IbMHrRgVki>#cK{Q?iR%A zN;3{!4$a-;hQCy&^P5TEc*E(4S*{};;E8+Vd7jUegzPVUaYiNUP@(E0Go|0}TGt*} z*4z8qV(M>pH_+tn&P;@;-%fU-KWw!8a$_i;xV~3~oo(<7FqII{X8?SR9(UEG1ZPZi zOyizenH8fVoud*BZKbv!kN5>5zIsk2?DsXMIOMC z1B(6*&3AOZw4%gnsRp_v;{)#HY&ZfwsAPWk16TQhJGh#gK|8#`lw+;RfIU&M6f}L` z;JvcnK0t_VenxotfpgQpUoi)_iyN15cWVul)EUdkl##JG*{LbCC7WKK;kA-H zh(uCgjsXCHaG2I<>)+x5aU*&Eua;-&dAAa@`rj?xM1J9W3O=QN0zt-H;(k2MZ+Wk# zq2*5b@QRie%foSSx!li>`;ww4YGgVz7K736t46=3(J!8R8IYlxr4W|(J*Q3Z`nUC9 zT}?2t>45kjtp#_B8ZNr-D3%Fuj#*t%Sha}xcKeS2#~iH8{#RZHO+>zjZ7{WdY4O}Z zVXZgGtkQr}8|eCZ1k+ZlC#|&yt}60&aCss2HZSbQ3e#9)9=Q@`F79TpZd#l_(gL zC=!%mlZUEU&q+ZaALu??968t$%#}pMe^H+IKh8@UY4Oux^KjUc7BBk#eXrQ&i3vRZ zEIm9gUa4{VE{V}X?MwSA|4-fLJ&Oq3e_?`Czv@WlrYV2WK4y*WAjg8>R#F0K7W4Q5e)^)LJ%PzJ{0i3C+2{(a<;$9lzD$HkU2`s{ECPOl<>-&%TrE|H2F8H z&tQ0YzeRb#-HZ z$-Mkn6oBClng1>zx9_f+1f@gBfP;Q-4~i=N z+{iJSCZkZ=nNr1^xcx1Dsg0Dc2JVAqAcvHqj1^S!hwkB>AWPE8{?p>dK02!zN=~|$ zFz2@F+f693<&0SdrbBsW%9pYa)6>L~l9CZRHbsx0B-wOCzj+?^-p%T=hvlIhRA};M zhy@QMZ|$T|SP8N*CtY8L8da@2T{2=a9P>STmH0F&zoLd@0W~9d8FSzZK1yp-ASlEP z4>nu{(oAJHZ1`DfI4IKhu{vJB&4pCQ-E~9iV@b)5Si_oS{jb3A<8T@_OhCIoN_tlw zq=UiEi5!Jgvfyy9{sk2)tgUE4sa6NOKI<3arRn5n!xi!ma+%iH6av7ro1 z83LMHcRHWVh(XN6$mifZIZ&82~b{*qznKwjS! zF3lwX903#3J+sk>Mu{L$`08nd#`wd)c+jD$38Z+)r2C%yYreVFe=HytW6#>hBFJG3 za8|9qVY8GEv;yS-Khii^4lpxm2{S4gP)!J-f&;Gv}}JJA!9CgURfsQXe8 zrMPk+p=V;|A1fzTEzPf_>ZjP)*p7aG*?26dgW$C0Cnz9Li-``vy(^C1HQYOUvNiRM zcUh02R80I><4;_BdL6X58W!iq5W=?j;_%7ILSJpJ(Rx>xI9+Xk6nZr-fEt@{7uQw2 z;-lQ#*YsUYn2-UvMT7mHVPhM-D|e`tJL-9_9VYhz5&(;?cUGS^eVG#wf8ZDkxt63OJ){m?3F9TPWonm6b!h6r1^F+#4C) zyw4npHTrc`N+@0?Kod7YR9--7QV(Lg#XXMulTzIPY}_N$YS9*6W)QnLAMe%G zowPQx{@h-V!Uod1ND6YhCI-ANN?yu)krvm^ob;ACGE3@mK{po_f}Yp;MyNW@fA`^P zMgy(XBI`9Mu#2a!0LKjRV)>91Lmn@@Cuyq12M?fBqGQ#tIkTdT$~*PI+&v+7 zb(z_ktDvSar;lRFHF-Z()>0?q~_`jrOidL(ALa^=Pg}us z8SGb+$2#0tTG&u_z0l{cOZ+ZJ9-_9g1L*1Lo;~>Y>#1v0o^|;{g?F3CTB{63z*!NY zhvB<~Ahs#Y^!#5}oXv*_v)5r zp?l|pkCR+_$VZw|dzkL?;a$3&?jJF4tILS}#}~tFh+8(A$pdYH@IW}+7b^#6QhgkF zZ32iPSArK)X(@)N?=OM8Wl6toq1g}Hpggj_!fYVh#@yd`n^VLletY7BS=k}E95g8u zxZClUrZS1S2}VB2>59-${2|U9@%OQ+pwT>_%}Zw8GBE8uv*lZ z0Y>{Z{rWkqt_=L{c~2oDT!DxcA_fS9(6P-%%Ha&P;-ROM@BO;RI@MOGt`Q6(>~Ao0 z7(4mZPJK*^Hv`yr?6Qob>1?^FX^8@s%r4WxB6cB(F%~217ow?7O?@^>h1oLK`eUMc zNE*`I1kJqQ_C?bN?#qIZz;{6Bf_x{-*6hUvRZ@#>ymPZA!Te|LQfIgpGq;`o^U{+Q zB#NSBpW=PpPyQA>MLORdd9j!JTq9KK@j-PT?_jFS`7XDlxNv0OC-Ky=T%%{?xp|cV zv7qq8%WMjERFX_?jEXtI`mS}FYLX4f>WaBL|1^35HAr#zN9V%wC&9=lpmL%$e^SNUhsU)S_a= z3Lkn~-l$e+z1aSHZIKcte5Y6#cK9qq?@FQ^tJ3K}7&TLq-2=#p!)Y;6)|@#hfESm| zC&y{lHXBY?0$iRZN!1RXwHOYZy%98UAqzwzko3x$%t;X+wG^Sdkv-<;BwfVZlWV{g zKN^27Rl>{=a;KT{o8}vWSY%HH#GEAN)a}$F7*s=Gs_@A4HSlhxbkeM;(esxmzUMJG zpt1y>4xT@4fTn^=Dmc>eCKPD%<=wTpg&2ILk3^-}ZUINykl{z0#)(lnT@_DiJ{avnzVTKds&jeIH5lPrCVKcRt}l$lYz6KgrF( zRP!tsqig5WAAL#8j`Z)LD6uVc9CN>@=RPj__U=ULXq%dzfo?391iUDkKp(bgw!@I~ zmTH|mMazZj9@K>eoM10Vd+LW`BkT;(KL7O3P1Q*buEukiB>_60;GWJW*mnq+%$enm zON!p%x?+s{MQ=e5>`QU0fYaDhwB2WaJp$Ppt;#d9y)Ru{JTAnfkq{1zO11HmMi^Vi zeFZ;sQC<%Z@BL{FK?F;P1dWc9IQOf@3(0;!E86}*Rpoxr>ijC0(S5&w(sJ?46yx^u z1T~R1Zn0Z9D;y4+#RW$KBlCkp-{x?s8>c%Y#oduQu={`LlMyZOhB5x+g;HdI=>rJ& ztO5J?z`J1#PuH1=d_sCT;iTmXeZ|7B>)t?a0kWz4{e;YYqo~jaFi(q@mM~#A@B48} z)lK@7mWa>ozo}SMl)AzsPr+6D8WQ@7 z8Jj_D{5fp6;nQf%ri4b;9UEN(_1*4d%ZIsVq3>yAS_%t`blhJs9DV{wA_RAQJ%g6< zah&U}jd~fDS+3lpsN_*vBFJKWn-Ab-dQuefa4blcE`{B@bCTcE9r;%XGo5v1`RZxo z)jCUbG*27LNj4fVb(0O{RnEkM_nCPsgEDUNm-6#(=Z{u-UMz!L90e}5+P!pQR>m^hF} zlz=tLdIBS-sQ1ed(_3h=xizR>f6(J)E&qmSPV>$6iCJLli?=|NEpRS{_9Cum@&{L) zuym48`Jg!t7GNr9c}M%DE&YkbX_nd(rpommvs7{p^2a6k@H!KxUV;#8#aQ+P>sdc% z5%i&FON6ZFfw?$453&;s_*uZ96S0W16F1;xV^p!!E${rzBJ*2Nd}ve&tkOfROT;l2 z)YQ-M(+Y6xy7e>WhF+dkh=;_+uKqxNVQ}r*CW2K<-d~~Hr}hy9t#Hpb}J74FA9Situ5!PwVjQ~F_VYWpY;26d<_bDO46edz0|~%&rZryKvI8j zb-_G%6IZYy#Q?GzN4{M*kIfGH2^f(vCRb1&seN6eOMaa=l&W>aDOwpo(TrYWJ3>_v z=GD|BVg4~19f$o^`nFcTTy@`fK7quD-@2WsUKZ;wbPxudV#U%*;ngfNep2G^1EeR5 z9z-x4=HeM zTR-IgedEbVHo?t6%;5CQS;FZRgVRSyt@`Il=is8lJDIl5x-mD=qdsVPG*9by;{x~3 zA$NJkF>{1IERa@?!F=~KO2DwFH*(M#EWM1(lZSwfbsh`W^wKekaif=7u33RGd({N? zd$tfSUFITX_dIzbST=o&)t9jE5wB2dcQ;I^frXan=Y3WQ!ni}^fO4<_c6neQG4$Yj zT5K@3#}b#RcP6H>PM>HoB>dv)|Nj;or2JUBRcUn4-VbS7>8AIw8n6>I&!qgI$9Jn& z>{A5XlD>fv$dV+`BXGRhcG@S7#j{DirN5;dwI6ZAZg&##dCH#NEs+p?U{Nx`)NsTF z%*vc`-PC~V$v{={fc)eXq?e#A>@cW|{=9IFi=M7%X@#W69-cNtJby>Rv)1pw`xYQq+eo$oZYPHFybb3C02n9d#I^Zva-bRBLQug}=AwC|vviK?xI}H1+k}hWK9+R;+vk z)Udr%LP^f`+uJ;LZ7xCi=4GO7o5Rv@#>?KQh9AIR$5v!)aDovSFXe$=tmAau8+FieI*Ivr+i7lK;#`oc$y(Amj_)NK-5dQuL1M4J zz}V~)nUSbeR0lxYo_Y~{vch-K3#9m)8mrPGg_*6tBoOdd(+7Z-pYWUq7#n*TXcKUp zTt$S`lZCCHwSY))}Yc6G19P3R?Wm(zkdvftVu0rK~wgnd`p`n zQ}pr;Fx7nAX^FM$5}faN&y4c|_Okqf4dD_E!Yih?gOi85V}v;kTsx^Q1izm~UEJ(3 z^4#B`|65t9x65-Al)E`TPBi>T?opdwcJ5+V1nFuLpUr)(eaTM??90Dmvi8DS)Cw*6%AOA|}fPz`*}4zt8J?2XOs}{xpq=GQC@B zsbXM|2f=X`VUJs90-FLWNoX<5K4JbM zz2Dw9@Do`rDLWFhMkO?h_R|)@Ga~DGPRv^M5ZXren7};B5;4#gWH|fuhCe-5th||M z{+$BvhoKW3@_(fa84=PL&ZyhRH19p3QBl_DOj7qUB0s~)W&BhOJ2@>a%l&$>pHDnc>N?no=~HyayW1-gD8kQ~LVvCn21s{u|59P5 z>@7;&OZ6ScBv>TSgI z^*rwaE?!KQBuG=)75UWHA5?X*yX!Z3?tk$<`0R5~hjVPTDg`#nRE-&~u@z%Ma$=VB zF+0`vZuQ~47USck$hT0pl^iI3sS|kc30l^#YNq}CWz9DKM8&hvw6Zo63q{U^8pVLy zrJOdc*p@Eb&S2j|eaM4h3+chCN+l@5q*2Z`cFYJ*(cu6RV&5WVP(z^|FSDk}`dc zC%8(m#rFuK^<40O(u|sJcu6@toDYZOz`yZXa$-S0fY`CPHu@-IWQFuVuui>9SP0Qr zVr2#r#Luvr`5Jh*!9|Y80jRiYa+fTw7NAu-`kfQ>O? z1Sf^PN|rd=>rJeXuta48gJ=9+hagl3uu8t(rJwWl&lfjQR_~$#WX-8IT$Btf8~%-p zvYV^oTNj`IEom&Bot%RMnN$EH7Q0&!AKV$R>}|qPSGAZYOI^&3j#Te{; z%&DTxLCAojlX1bJ3Y&qnVkW#P>8yPmk(CdW+SPGK?2cMcpQA~orQf5K+4p*g9DE6tSs+mzT>)%7Qt+IoYA5AP!yzsd z(XCPex6*$;KZ$t8_WSP2oM}tmoCzUDjWzP?-Hp#>TL2p8pXaWkU1`|DMJR!yc|Jpa zzc56%i-lZAbld85Gxue+voN`-6yUpXdf^u|rd@yo2}0Jv;gD9NbAfkGf;gZjpJWt; z27|nF-RUG~ZHKxA=NHVZ3g$h1mLovnWjG&%V)8MR1d)xW-8N61XTtF}mq4em0Au&z z*04NQ6?A1f zfUoI*?~?!lq3hX#|{~0wM!S>o+OdcL;5!rnmYi7la8mw73S3 zn}2tHFHu#klMlAdRVzpgf2%A<;w=Qy!^_bHGch9D&p0@dN`YDNv@~{REQBrlE`_~s zuA4gESjV+Qwck3t(8yw43c;_$%hEatYv3AcT}AfVqkmlLqM7a^Cod-h4l1)tnhB$W%Kn{tyz3XjtQQ@#p~zkpFf zK}{DO3G6SvO~-DSdQ;>hO7)2&!$=d}XoZy=ikQ`m47PKR5d`UIC0WYfj(?BZA zV+3}@i3$loVCVqhjV%46NBQ~5cF(A-LB5O72PQ3IWyz`YRV{mA(rT+jCa@BBJR^NL zCBsj&;Kyabc2uc5J?$m!3$e=`^SjfXztvv#Sskx~%a|*@Z?%Dl@Y%%e);3wUaAj!u zvaxjfRA{kh9ost=*BhFKYko<8#!K?`1LT z(_G9qUJqZGJc_@{9J#q2Uh)=4ukLtl*O3{eSN-^rJm!M`4cWNe=-#ahgM&4-jd{NL z>n7hEUWGYz_+1#q5vL}N;g&L6uQw0s1}6>TLgXWnaFG0)OEitgx{UOjYn~BG)Z-As zZuhS&d^OYI$Un2bVrg!%LV;?Q%7vG$6>lL{a-dVQ_}!zL?fC#kCH6_vIB3p~4`Lc~ za*&S$I!U&6v5TM8dn#X_Xv^hO{r1(6SkA$|*hzga%|R@j(X1U4^72e--UC0KI8+aY z^ncv9<){KhC@NBjXA$40szs8EIZ#c;b{tzBdEI^F_0mGR-6&$Zk0y&vdWHhdgdm?E z{nbtV?wkP!)m6#o&PSXJ7GMr95w@>*xcr@@1zzCBv{cOLTw7+BpRpWnmP-dT|7jTD zN1#9E#X);44jM9Lp`p&nTo{|V`|C^~jVHsUHhW1_pli0XcgKICSlDn2_)^{vsI|8p zLO&)?jXVrD|98%6KW`Gp6yx9dk=cmg*7JZgi?vJN>W*`xJJo z97eu6!vNFFu6FoQeA`bo&}{W3E*<7Lb8!jC4p^6ue+CuEZkSA|xc?UBSQ>{9{mN7z z?^gzoz^*oNGEF4%UR`9E8eteriumnM@Ln&T8c9R82@Pd1@$-}V zb?`<;JhxE9-zK1?YG-Q zFX8RU{FLN;GjQT^RPf!Gk2sPMtn&Z9MdF5FrOzhS@@$5drd<6ipZsn(rP=36^`wBGmzVxZl3@R-+PUeUJwtR7xN zA54zp9R2|gx;leS?Rm)MKbFgLQOgp=x|s8$<;@U$_(YG4TU@Iz-vbvC8kTvy@{A0#ry%?szHU=dgUN=kdAkpRUN*`1Ccu%6=x!v(q_V5X^WdfV(ObjwgtaAy){tLbV`1gQ=`;>ff=~V z1O(IhFu%v zrD#s1n-pNc14Z~hRP)v$1u`^J+kfnUaJl&I1e)b%&XSt_E>(2;8P|XRKl$^U;xYvn zOfs^A5;9FNBb$M%(r^%QxR%AY?^TtV_ zU&Rv-6KsGTy^)lBm+kfXA+UCcrBpX9HylA}miw~duKVcXZ5v{?epO}Gtw&}eoq_mw z+S}Vn)j9x(z)qn+R`L!?^kvCW}r3=V%6>yPsxU%j(#<3MiB(N9;{+kH5_=QSU$M zm)yE5uP&~WQ?K|fuf4cmxnq{6J;QvFu}{SK4+k7y!7i7Z}nFRx-&czn3!%e*W_$Hhrz{PV|asS%h zO`lW{$EJ$cwV)x&!2`j-@tPh?aRjuSVhu8sM*6{qPU&&-lY`x9 zBeK)~EOkrbD~Ei4q@Nb1!50N8INaa5&`8c83;QQlN^MdB(emr$kKR|WKE45U332@p zd2xImCPO60_}IvEz~1*(^}^z`Bv*};`fbox?CB2Ea&FiuCXkFyF(X}LB;}C=fF0H_ zX+#^nUOYkthSY)Y&+k48u~q5_4BmVB{TzPYynt0a7nw+`NVo2nctKw|MT?}8Z@hvp z)Al52tpKl+g~bEGSxl%yZxr1qzG`f5x7T{L@t{Y)#hq~7)CEU;pI8zVbsRvCxp~1xkiV^)hmDR;=Tg|`ZZHXmd+?E(i|NI|%_*zsBkuwRS{xpzwht#33_QAq=Kl9Gp? zpsk%pmWKy-$NapXy&rjw!|D2a{8h7|fflk1RixCksFssk#Y&eGI{cDSAP}ZlWyyO~ z!+grPrRnbK1IKH9_jPA~t*RKgFR?dsZD|bC{a1`v`GDhIt#F8Jwka^1EiJRfRfIn$ zsf-{;Tx2rjvQ{`PU>(4r!^`@SHqtz@KDnJ~u}kX}2FY?qL{ z*odzP1Nr7nHoq)zj-vJEQrD_prhlLO<)DaUAYONDe2hufv`Re_%!=5xXD8!mC0jC7 z@9nR57))Xy0mW+wI9>7UQ}dtBWRxn{H@n47E60_8N%exqq&fUXf!RNU>3wc7<3H&b8A-^h7BgAv@yIZFc!UHf4=uP_X?K`ry!Zgn-QgN>Z3w&y^ zcpc%+v80NWB!4m{2o@Mo`t;i#;0dxS(0H_t^;e`?W=u%*bF6qYK9_>(C!arR_{GmF zryXGKp<2dzu|xjbFJ@hKAhpK4B@s{>Vz8Mb6X54g2P7HX`ObBEGscfHKHRZI&iE=p zzdJt#sBMTrWKnUk7w)2Xmn$!u_F?nB8*oN#GV4MyFe1A@N&)vsHz*R|nIZMd0hO42 zAIdgvD5@Txv?GcSptPutC3YiT>>?9iuw$)1FZrJaQnEEkG-E`ha(OWhK8G!fI z>oXSxuKdwNI*-@Z_>-whI}ydh%f|iF>v%pqIqkGU25jYj{H!2|baJh6?OHdN%g`R4 z%lzge8nlxf4&}*r2I+Wd90;od0tO+M8VRIEHOaq9`-)IhIrq5cpXW^cii03gQgVF~k^ZaDD zkuT=wXB}&ph97=t=nSDQ&xmPoGz`bia-YpY zXH>;k1%6WVWev9Q5YT48+fNPHa-f$E!sS?t&NGkSUdzq?0AgPFEpaNeAf;5Ydm1@E}HcI)v9NqsOmjCyz0uI{H#nCoF4bM6oj;*F zU{al>TDc%n^fzvh*JdR>U&}S!Ii0QiXrhdOv0Oy}8$5!rz`ae17&p>gW=piKJphMA zju+#Y+F2J_jZ$c302vr!uydU(-XpJzxpzDpM5_A%{{J+*^}oV4zZ4$%KA*qS8LBXQ z-1_Sm2uO!PP^%CS`^42q&5E#+*-RLRLC}{D-@X0|3zTRR6@oFh?X}#^+1|IcdsC`m zRe*}wWI-OE%|0@NgH;3~x}8Y_Yugh*pP~-4xr*g`@PoR`{w9ueV+9W0RFy4DW0^wK$U)v{Jy!agJ zk8sgtc_nI407gRtQL+ptSH2Ec-l)wM^oNxm!&(g=8P#4x(L1%*Gjt>VA7F*uMIJ`Z zXlK+;4SjoKf6=kO-0#lxiLawaj0hk;82Mcv5hO5zXMl57u+$9J*&NqnXrJimEjh!$&b(8?u7pb z)98T{@1-|X()31xLh7g!Es4}E)sZ=Q((2D&S{l4;#-4ndiN$L5C{2z7#vO0ie_Z{W4r6WFUTRHL-}~1E;91@ zpEOB2&pGcWyr0B*jnSGIIM92n4xD_e5;#YHf4?d0u*N3Ud|>8tCKh6-+Jqqfg$~fo zAHZ{d2Ccthrdn}Do~&zhE${GkoZ3;iR5L#1-rNN`(gWudCp?H>4A9d1#grKF*}#V1 zOBJyU6BTcRIG1snvKpn~r%8O`Tq`z1>YQD5cT1H)52&}l`;XxWRlk!~W;V-z?sH3Y zYgWno0`DvNG0Ky1#+&ku4axKL-yhMVcYV0Lt|Pk)2WV@x zEwRZ&K<}`|^(^}yq*j@I?JrDaDH>9$n_B+NByfz917ZnP9d){m53^E$XuU!NsL7|6 zG3K%4Xm1LPm#Bwjl0k@oU$jt?4HZaf;&%(0a1e|23KIWLTKESNTe6 z?BNSBBT}H~f^>`h#%CNZ{|P!-oJ=$|@_IKq`u{4#fi%ej3BXo@VGoBfC55{lvT!|f z%g%S=I*t=b91lazGx7lV>Y5x#KiA}%bp}!lh_HD%fr$S>iTvfq(zRMJkmOs#)~j2` zVvGms(&87t>Fj5;35z?hJR^ctLF?5cxmg4k$tM+ExtNBp_DpepKKeLpX8tq4?zMcY zc?}b3#Br$O{#U?pAD}i*?N+p(FRwnbo}d=lp)6bgFg9cSmG7uvqeG9+TG93m(l3m$TT!4gK!iriMD1q-)(A32vCg&6l$_ozpC50%l`P_ZfeF ziEUxu1}eaHZ(kRmmnT@Br>YGwz@oDW!s4MQwL$S!zi>PvP-hOCPO>Q>jreZQTdswU zeT;9;Yl$F!*GrDM);HLRILwS-W|_TVnLRDpJ*5)umtP59vP+38+h!0QNeX2t^R2my z4nM?aB93qs-4JOxcENurfE?4pf2=s-E>P-H_zyD6 z+8_8kQh@aWsB?ZH$PRN^<~#D)Tf3Mx~49Z*`#0JcP|xVo5|tX1i9gZmIoP zQ)Bd&^QGDM6mvaTFJSdafw<<( zu=0PGTOK(fqo>;XsT>PvMvr_@>x6ujATzx}0Pw$k>UOTC2_E)}p%k+M6-UoG-x?VS zIg%18xm*6R)8Bfx#0UV~rI}y0iV7RU;bo5s%3$nN?UBFrAe+N)hD3AL&wG9M*K=sZ zYX0@v?94S7R=yb^q7k16EJ@UOr}X78>xNcxJEK5c>5gsJ9ywl~dKwXy8zPqD@e6@h z!&E9KC~2ww>~XwfjQz?=26*VDvOGGM5-$1?blJtE z=|Y9zCJ*Z|ZpRidAlY&og$B+uA`1BT^lUYV9y+7bmM%Mc99y604=g@SQC2uRH#r6r zC-6;)dyGOSTPH*JDE<>Mg6`xz4L5+BfEf4hb8ot){ZipLVTrX19|;ZKpH&`n+KsXQKJ`H+fq+0tA2&$AN$kvI)RC)o*R%F^b&TN67oz*PcL#qO9GUH6W^b*pO$e| zM=&MuS4_q{bF9NPz5L@~q@Rh774~G@{LAIF)*pnJAj*-Y!1JuiNW50UEa#42zQD_NxlAx!Q$ z2a^m%u}MQ{wN+$4#&bDP1k{6*lemvGY|u^Ez(7ojKCXQ3eP$`C3e9SQUZusEIk(Ra zi1G1*LP-k2eZQGYc(y{Y9(u2G#$Jizo&?gWH%JKg`2IT}QbOrN?&{fD>4WPdi*8ol zkE16~!thJG97G0sdiER1tG_cwYo}V?Z~DHFq#1YEBgbuIogOYHU(g zhL^Bdk2fDqysh0>*`5pr|5iLE1~W$fdnWdD{6nXu)a~Mc_Y)8&iS5s#cUH_H+ocPI$L}Q@;YTW(bg7bF@Bx@ zvSm+H_X$q+P~2W5Fhd%~|H>&LkO^DD6Fr z`(K{LHb|QCQL+=o>{mm}xvBN&jvbO77RV;wQ~&z&Abb`zKEl zC2ZF~5UmpjDq9ZRu*`{a3E{#T&c3SkQBgriUdky=4LQ~vxAiX&b!m{_y=`40p;cmj z4wQI5CiLXqSND#In45CiO}75w}0@x+CvF?w2RUqMB(R z+Sdm^MN?Na;8)pbY`<_V8pyC;bhRU^OJ#6AhYi2|oIGiFoAb+j%(3xw`%PohYifgk z5Tgf3sKk~aaDkd-kn4ubRAJ*5U7a}jE*(GJDxKT#0Z_X7PPPnuN;c|BE1lyBK;+?P zsKM)h^;M_#aj9FuDG|pLLsV(peve4(R%%t|?|9{9<;LJ+#Nlj-nXHH{h!~OClACit zDnY@adT~c6aScXKEau_*Z`rA)7R=nVb|`XAp%6TTSzAp2@%z|;D*c)r;}NA)O2qsT zMtlVGxg~id_1BgyF&#Hb8y&ZT?m7wJ?cKQX#D_4@MC6wL!ky&J1YpOf;0Tg#;QAbN zC!uj54`G=qpxt>NN>x+SD1DOvY&I%`C6|U#I|&(3Z|BxCsO^JCZBn=wd^~3s`(KqW zPuU#XOA>;wSd;x_>^SamYfivDEkl2JunzLxMC>i~T$?kmH?i2%7bC-qfC}^ot`Apb z#`kM&q)d|rc{OV6`c#k&HP=#L$5nUi7l_w8UIj^RzMVO#;8glxQ1>;P>YS;xOMaw< zaQMj>3wukpxKJA~HVOT^oWi2NTn{{n_WE?V`hrzGQMpc0@RQ!PK>^Il+mMjnu63th zWN~XlfAMex>$1`D5h&8##L8_-f$AXNHq~#i*YK2mqRJW{?SsCte$2G-$ z;fDuwG&mK=?O^*!ER^!?yw(XX&#Ea7E7utd$U?c%6MQk_eOJZ{%D_hGsyYiHj8qZI ztXCIAPXeLSgW*_8UzV~}x-*k7n#00faghVKVI85g&oT~ARU2Hs<|cLBotD0u{HXM8n zLm^gClui%pV?leKb_@STMnbfiuvVh7n=tUo8%YZ#MHKnAWqt&u+*5;W_Z$hOU%5keyGM!!+?to9?GM521$UD!*b`qg}9KZ$WY)2?Y`SS5}{bn@sVq%`n7M{Ia+g` zU&j+IkR3HfQd_WO_ph`aOJT}C9ifs~YbrJ*HP!YTog*vt<@&-CA{VIHEKZvx4Z6gT zj;0mF2ec0)$eCYGhh2_(n~r65}bBWu%|S<-#`yIx1a@Iu(aGk2?7fLhpDfOit7E^J`96& zr_v$a-6bU;B_K#QNSB1ffC5S@ARsk#NrQBENvEVV(%thOe(V3N^?vaiuCvbE=iYl? zwTY4PJSEpv1M)0xmd~TbzMBUzJ}+IpItIaO z?|Rg4LP->PpM6p=e()w^dHz!oDA0UJR%X0faIVOacmQv#e@hv53WKd%JRmAFx_a1A zS3!SNuf7}}@@Du`{V9o%qC#l=xjlQJswwZttk)FhxIp#WO6N>Cap~AP`%4 zj#IbzUP64q$tu_T=4Iwz>Z#w8hgF|4;gacv{VuG}UqFJ))XR+fPu+Cj*yaKWK?kb^M2hg-d{Zg-ckJ%+A|;d3D#(v6xo)l z3Wf5OjLvAD^2q6kz#paCYeNJxNp(g$0w>Uy@)tQ2%YleL~D%6EZrD zFVCC<=OdF(kqXx{{P#Xb>me?S@d|HlA~xV{lbwYcs#MA=lfIoxa0Du1lPD;4$!-{k z3KB4mPuNXw7|OGMvb`mC{|1*1*Y~puk6)w~GIM1x&Mgs`1sXIaCp&|s!~ou*G6^W# z+Ufcdu<}*rNUYeO5^a+0VP5c}N+^e;nfUErs-Me#5SHSQek!ADDaWBRiK~(LGWD>) z=i%CK`=#(PD{C|2?_d82C&EWMW0P^$!lhlgZZkuShf^YH+2p-4a92U)Y+jeWJ6e{E zh~T8?cK;;)S>a`cdGE^}F0>>RB#h&HFg%Ch;c__en)>J4Ds1F;;E1gRh3RA2bp(71 z%a|tQ_`2c-TfX1?$b9bOjZk5L{bXX~FY>521tkqDSb6<3YcT*o1H6=z(dKWe$fx?T zvq6ke{JBe8E{l~8pLm~AlfO0$qzS z2?2zL8e3P|zw*!i=WZgB1S6O3=U0i&{si<2Smv%)?|h%YgmW-; zKJB8;I*;wE&4u?1(rBS4n#)9T%tTu*fhXUd`dm@?45zO;B|pTKHB|X*<&H!yD)yey zju&uBkD)2V1NUd~vzkU5?R{p%WPFtbH3Ca<_?SE8p3N$B?B1m#@A8Diaz0 zQr2oDKsFmWkc{QkOX_VAOZj}dx{slzFj_2cLBbhP{JQl)o|N$QTb zCsimujP^Wb*!tB@8O>4q*2UEqYrpe92o5MrH8Pc^O;jN~+>{$E<5BJTRC>YnRZQ7g zhNKC@?5~sKaQa_8wj$)!ocd?pn#dR zXuTG4ygeq^RP`Y7bFPk>Y1hD1rAOraqvLmttMZX_#HY}lJetDp>&y5s7p=a-&Zhgx zkM3z9Cl~CNP+ob!MlAzIefQ6Xd$Y+5?6@n(tQ=6Hq^&W468hzbrLv>xqLKpUOE-!4 zEXaDJn};*)W4>A60<=`yk5)gHZ~vI9TWt^_g<&W=st~h~#FeST1Ut!S|4p+Dn4EM#81UK!r0yAP}*By}{t(iut zpQmG&LuZwxf9fy;KUj+hI?qK(+a#es$0+<4&Dvj9s^Y8~4g0z&cL z?Co3q_zB>ycg(%*jsVAn(bW3?J@6(dupG?`s<^P_^JQj5Y*aiC@=#BlL-rEo4u9y37PBoY%U|AY+ zN%Ich6COw)V0Y&CnRsVKHSDgl7kRd-l@dgdX~?wnf|k(^x5{z{TQ}%Gl%7JEa8D?( zV;PXzq0A#*XP=c-Q}n`CUkt8#iq%nQ;6isX&3|TUw+*g(6eB86M z+oW%>A_lWs18xTm5ylwm&tvp#nwq;e(r;l+Nh6=YC~q;HXt*}^yG#wJz0g6N7R z8uBG@&(pv2axdKp9{#YK43)NH!3QQldcc_k z0^ha?1x&5~d*}DJTRx8H9vDcb){Q?3594)7V%VCNsdyalN*hkJ*!BHT6mZHcdgJ4h z1mXm8%R+*|=o(=0#?B7&{Z+Q`^k|6xVXfTsO)SCUhI`wAO zW{vFvK;$`C`T&nv8BC41-3}p&vY#!_r4qZ~&!)$-ijfk)EH2*qjdt(P^pPm@g=8~) zaL|xUtOz4f?P;V8vR~?ZHGF(oz;Z+@8FQtF6Eiz}}wARGd4XY1#VFe<>A(O_{Rw@e`l zyW}5dZv(_G_MA6(1BrGIT;^BGcbr@Y`Z>SnwI-c&v+KM%IV>((Fl2NYuL}}(mP2_# zD<^$nEw{HA%*o8eaETdn@RU%JYn8#}a4Kk$D;0MJyf1||mTu9vMGTBf?rOH_#(AUE0GhC_GWpfw9m2n~abDZA!+~bS4;Z-ngZQ z3D0XVEE@n3Ka$Zz6>AWUg$<#~z>mQ86Mp3It_S~VG$Sjjp1x*i3h78EhsvheUeYRs zPmx%1&NJ9kM>c;!CJ2f;K=yneE9AWAJKnToVQ`HFU&{28keI1j5zFec zaSZ6fl)>evzNusaKPgDTPx#mZwOmUg7lZ8ilc>Wa_nXVWGHiA`S8Z+L!voRJq$c_y zGfT5TYbz#0kF}ifS)g++YDgqFQG_@cJvFF!1dc1-O1ActyveMjA&Q1iZndW-ldk1; zCt6IOeQ{|#CzxE{hVvu+r-k!}Vt|pFG&wJ{Q>21R#8SYO=1d>z*23Acw^VNeWIGxd_bNxMxatmj zik^$GJ_DLN^;`U{!6Porr*MKU)8+u4GE>0_V(UOK#eyoPbHmMiXxpsr0qih5`^DqG z=M5rZAZaA^Bx-IvhoGnc+dhahYIDkVy1+vR$sn)GYB(Das%xZRV*+A7M?uK3XW<)ecvNDTGGhxjVb>7f=Hz z%?bXDG^EUf5}+FV@qIZRe{b~Xhg6SbIw(XuN6DY~5^`#@GMLdyIHj|(NLQ_Wtn?^e zv!o6Rehw0}7IFldcCB8Qf)@AFPpW@~t+Kef6iU4~m%8Onxx`^W1EZMQV>=27;y8=C z&-y>|xaoyxqiiEr?bhEnpjlX0kUxwd?vafH-H{ibt6e-yY`y~TVa&&StF+1QndIr{ zFeo4DtW{??bBljO#@fUmUmTSIv9J0U0FD=^^9uZ3&6liRAD1or;?alV{>@aukj@+d zo|;I~YPdk9tzU|XYKL@SOgoqK_Bdj1V|AM`Rp9%g=dK~2^pjmLkQ#mFM2VOR#_ZKz z+Z|NQc7h2}{wV!Wo|{Gq$;Vi7SZW}ZdYH4&s|{cp7;L6sR7`jZaxL}JG;zSABOwq4 zAE*V9Kg^>Is$l8wj}(FTy4Q%=TnhQv9I59gn@J0 zs+(x$bMW997;cnC@-dJgVO zW~;Nm4&E2OBar062Sgj0_ZRTtz9r$`fXr7}utYVgNKAz{eC@Iv$;uVpY1I?-((am< z1>f*;QOdYXVwlo>kw08eDlm}PU^(itt+Bkq>m!EnlkONP)5W{nyz203Ii^vF9zEq_ zp$zE|daP71A5e9%VE4{xi@$1vO^7F3UG!yTS5oiykkQu`QJEE^hhaE{-HTrAT@tli z>orW7&nF;@l`-tl4})YUq>m3DSxzg;jUsBH*Kp#$H@Dn_NzrV%zOpP7r_rnRrj&`c z+w9|@YxmG9nS>!JN)A5~0e1X*YY42Pgc3(A@Mx@+v-^gy&QV9Ib>H1-dD%Y+adyrNJAzvO=&-$@vL7_(+ei9(8 zvr_7O=yXv0be4>2N>8npCf^y1ZhcRikkMQbK@zV}vm-fGXSM zq5|I+P(UYZw3-3*w2)@po;i|9yyIrqWfMEK#MRfHka_Y47cJ=ru+4d`=(AN0m%!^b z_!n(@8qG+ePJbBK;`{I+)yrmeCA7(Y9iPEpbQ}V&h@{jBu`d(H{rJvb>)8?3^Z=0+ zhR2f%r!`LT>od2Xi*<1-t9Y2D%Ga$;DW~0|v>ySup&1?UupHA835t<1kuAwg|ow`)+kDZk14CNG8Hwp zUY)o1b57!;BZpf6DOR78fk?O9@eN<%ojv?ppdh9p=YaDdF22Bhn>vEl^R-bToawF4 znFPIWI}Nt)NwcBq3yDg|XE_}lM27zkw`xNaF-;>KPAJT0NY6zgw}yf0jgMhx7HI`pB36ZQ|;Q2uSrZ9Qu~}QY+a+o?#yjFWpb9uj|GO3N5T4c1;}wt49a4 zvcpg^KL>M&rIecw z3lm!98iQPvyK-N_t4Oe3;oC%LZCvJSmzI*@$PRp*ndt3u)me}sb_NR4#HXI}cB>>w zD{fBlKmat(96-Jj%RNz=z~`m|`hJhJ-U$XAtx08p2qwrjCF2deS;VL?S*3SjMLH@( z{l2n`GNGxj$p~s4QcM)|OwlY45*ivh^y=U71>E0~g2NHFSc<2xuZSJFl6$C@R?Bh1 ztqTZjR1wO_*$lta*{RjXQ6z|CuaM*ei+!ajMM=|c(Qk2|?UQ`HK@L9__ zdR&2PiQL(aT3h`|94V0|r@(f0&poHLSN)KJ4lbL?9Ew%i{wT-y#I!M6&|^hWLVQ>K zmxz`*v;6DZEhZ%Yh4c(=7M{KTzQoakYtuuIulVKoA7S60=*G_IeYdPT*1Rz{m`HD5 z+v5DHxz>EU+3xRU6ei}}{OkqlOvk$kdZpZF(t-Ml2L{`ZA1567Z0ts@>8>Y$LUIWl zSKGrjACBO=I8OerRWVu5qh#-2tO_GA#>)yiMAX4eXTYDbxl#Yerp-0n1We}FgpKvS}ZLT z)*Xiq@>tA6>lSy=#x28Vs2+!!(OR^mXuvekXP{$aYkod^_S_f~?1U8!6rogJ2k5|y z+zb+Z-%R8t7Ib>SD-3@B=FzpBP6%pl)9N#3J7XZ;uXpDeHV$OWZ zTq-73Wr-u7G#Al*KYyc1rb|1BU3nxNQ|Nfw^TRl zRSt!2R7QapEW6@7eW)I%;2V^@(hUZX1^3 zXn08Gm&W#)uqMm#=h0ETP)wW8c`hD|Sd#=wI zsFV=d#|r&z zF`eo9Eup54zJ6%&mU{1t%jM7WNC|#cW039VZ6}^GEA)8W#7OY4YW(aH>d3^FbIEB3 z@!wdq=<6GzXBp#5UksTbGz8Hg5&b#3l=<)adA>%VWZvt42G8%DG-X<<4|cpn_6m+f zG+*n7pSTHq*j6&-p85MBS?!@ByVzy%?vw{UFwAWEO{n`y?irXSGW5gX?rI4)AY#MW zF}Sg-JLgsDmNU=1bdR4eG%{5sT$k3BQOmmJJde%w((%oySx{CoGsa6gz>*OiavcSf z@Kp4KFwTu+9$*bn3O+m^;h zX8(>(v$jVHReb?$*B>=_#RqtX{Pni#mT{OHgNAhutRg(Ne_PRmyo!oTK zXGRECr7zGGw6Vyw!&6G@f$Xq1E<|z_Z;<;`k!Ayr$iSFLlShMHK_Tasi>i48*mB%Q zz^Lryz5*UfAhGANwU2om66U;y{ISTcT>t!A&VT-eKzz7o(lk-__nR`r5roR$kL51S z$WUJiZR@VasNy`b&&n;fy86a-=Q-)$WyFS=>NBZOGjK#QPr>G0GNd(q2BA4UBEw+w zK6F8yb`}ZB?iJJLs5YSkzRAhSjm?gS{4OOs*|^#~73TR_3K1YS{-)9=f+YP5Ls4f^ z*T-dJ4?l^&l!U5`b6e{tFOUp@t;-u#y%z%uG?Or*wK7W^4QAMUye=sr3u_A177|ZZ z{+ljV+FsilAVu-M5oC5{)g>9w&ZHpu1c21Tj>T1{iSgz~-Qj(&)sjeu* zE^Ds93G~0grtoW}k}OMU=5O%M=9hsZ@Zr~FSPFPi-L4?90?td`0O$qTAp%mqPE8^x z6R6N2!EK7*SE#N?$8)#M6!Uisl=dr2Tj{e9=@5g1a+5UdGPIweA=pe!tnuG;u^yI7 z-^#ql4~*`q@GA#nG8IuxZnUH@Kq-~ors~jCOt(}bI5dyOSq|H^-jJf<{O#=ebxdYv zJ?8!c_lLRt_cyl>8KhlbHKeo?^d1NzsdS?TFoZG&+%+ji@ou*$%)_ve?fvR3wJ7t{ zpFxXDywPDpZmQ&h`yHSkqNk|l&)7WcM$!$U@GDhnIM`E_Up3TU^>QtI9Ls)k$`~bR zua%;|8A%h{ibgh)zbY)Exg3eOjA&h*BYnd=XQ;Wk#@h{&PJYthRc_9MqN8J#B<4;) z!qtEU&gDZ;*w>yPj;OklrnLTeP`4164;st^3i!kdITZF*PKDuNu^joP-nsQ%tS)Oz z)cpC0<{|IeL<{5XE&R)j^~&Mw-eA)FrDZ4yhS=7#FGNdg6=U zq%Y(%p^>owuJY}ml>hH4s&mi!ON)AK!WvbHh;&1B$ww7%{R?Mo<$(4Mg28y7oWx3oHMG(E@$Qp$=usEXkFO#_cup>`-==lS%y+Zc)`m@GK!ouI%H;Tdm3QQBaO1- zv-v+QK)o8E;Um{f@fUHosegBU{6@H|A*ZXKPDmC=y{CwCw!}rE1Hd{=O^|0O{$0rY z%~0~d(o>K~3Trgf$J@pPxsZm^QoL!W*)Oe<^;n?y-nwJ%pJ&9jg9*SfvrPz%yvIEx zCnkP=K(OF{J9TxkbznKBuWUsdrpvQWehbyB|4ifZ40@6d^kE6SvVF;4{i!^_UgFpO zyT6^ng$SG1!_#;r?z4`cS)ToP+b}v#B`cigQrh_SG{d<{wG2;^ zz5$_;CB2HT6TdI^#IPc!FuZ*C2@EGk%I^&NU5ZyG;kDd?2TC%SR$LRg@n4PA zf>iS5UF_H;2P6-CsXW9VaI4M!9FR~*lB^^K584f~BAK?mqB{R=ilw+KhKJUp=Mif@ z_qq$RZZ=_s^in9~Ch1e}Mq7D%LTa2k2PqT?seS#dZ6zo-Nze|DF`689Qu!^54p8z5 zqEke3rjvN~?9b7JiFlBWiEo5EPaywalU-3Q&gGl~!vQ62X+t zRg)ay=hSy}N{s}%#imn{QDfHX6PG%|Yir>xnIYYi%n4!B3?LRPNxR}ffP}ZXT_ry= z)c$C9d}M~k!!K5DzUwNFZpIDgaBa%d9D;r0N(@aN^40wCIoMIMB`)%voY;LGRLCA2 zm&rIFjAFJu4I7)pm*ZEfDgP2RIXJ)Jo}HN6o{m$>(FsS&brGRlxO5Qo)qlMtmg}S) zpI~}-Es!K?hZj1TaN@|f|6@4d?6QXM1&^563%yoXQmQqLp|tY1jz>N!3`A9}Q4E&| zF=*sgB5O)r>U&kPKq|@OitZ#adjjV+=5O5vT%1RbG*JMpsdz@U(0r38R{&yLW%if9 zR2EOj7u&|PlcH0<({CoR%Fb>uAU9n;%XPXWNzjwxpnmP`P_h8JPQo|e@5omhB=Vus zON2mtuhXZw+G~1m&+gk~d@S(#u&GZkMQJKx#xw%LDQUE}5EUDGM^jD#ROdDw?*Mp6j6eXl&vG|WMHbS-{0Kzh)_ zB-Nr911Q_~ z@WGa!s!OS4QT^A=qpq>X z$+$?qs02v!^P7qEf7YkSRzN#cc0APc9F-G^fS%u6GP6H%I6%|2iD&=f~Snn<c|QR9-BHRnzR5>O8xsOOs~JBDqnT$bYEhia#KON{pna&U^7P&qMR@e%pWI~F zV!_!c)+z(7oz{uU|G>0jFg*ow3ra6K%xYv_F;wRLd{=7#wj7aLsVZS>l{=jp`m3_6 zxrFS=f`WX%@-Oalm>9c1DKb3kTu#@IHjzBRnx97oTld5$J=&*D(!H{lHp0&=R!0lt zdd-eK-MIso__gEznWulT{D!Xi-`tHr%h7tN$9{7Pc8Fl=6NmRP=$);$!p(9;F&0Wd zV%*PoI4nMs#=GK%M)p;Gp9Yluo%}X44O|e-GntcHQ`yMlIKqWbXigRJwkaWbpx3J6 zogKE>?UJ>_(%9$d-((A%AJoubJ-;|9L{=5S9=%6F2t}AucXBEo95+Q2q0DbD&;Vs5 z5GnoryyYq@D9N)Q4~tT}C(Qg^h#D|T*01t*c{H*&!w)&o-|guK?c(AAaBy5~RB1^= zhHkr1zaav1IDS*N+zi;&ZT+^_6e|C5$SIO6!X3OIi?>Y+NzSU;r%dy{>$lST<%b+S zBa}bLCpRe+osl59Ve2~zLO+^Krzd+|YcDidQh{1e zI`4(&e%C`M1I^7DekOR#x{m|Qp44PJwC$mjG8HHG6{IZ*tDNKeP)!p?BaJK#>Mg-sBW8_Dc?o#D4*?^u z|5cow*UVP@d+fKV)W6^Xb4f04!!7b{=0Q=czBw?QKs-`)ijRT!(@d`Y@veTKB;G));gK%llJj<5`uKp1!ltd8=46&4$(u|_Pcsmzt} zdn(CzsRq`tqf9jl-JK0V37`7`MGRZAr8wK*0@%?;SB?`bk-5xC76pv4~xg@}QF}e*E3J74cEzL(}+})MURvmIj z6lz|ZzfAbUZcdmD!*Fz*$5Wex)4(AIBuAS z?P60ly1|m8+-rNZB886EzQ=_vla)LtV=N0g6Z}xoY+F0rOnNeT-mk&KYOCee-2cKZ zzv5m~yvMl`SHt>wky+G%?DZuM9R`L0f!IxFSi;)3W6wHU2kfTw4n}~Nv;edh-}NGH z`E*O?iwN1}s`WhYk-^rig&rQk`CPv-tF-h@_0=NEd!xqdXwsd{C95Um^=}Y7KGWCGTjLwoVj(uYsXo4X@RA&c@(UEX z$l%vMA`L4G_}nN+(zO4Ig(z&0+J2k<{Lq=q0f7lNg=b|p(|`IN&D}ufDk&TXPfNyi zT!aEZ%tX)+W!xv)*DL1@Zn6LtrD1qK>6F>uy0`H+;bDNV%Qh4QJrv8GI@Ppw<9UmR zJ%4}=3!}93^5TcKb~U}fiZgP@cxd9SNPKNk z9Gm$rr0dXi3dWk0{8?Um2dL%K+grt<1jx{kqv6%7y4Pn`B&du$Tp@17%OpT;53*yu zH4hyKe3(v!TFf>z;~Qmqlb{1&c$-rdErHJHD8->tlK33Sii#KRnx5NEXqmDA3enG_l5t+y3+;6w?su|h>;L(4BAC*X%>AZF zdXiW;iYuG2Y8QlYGkmtKOL5>4(6;QQs&yui0^y2qZI+*6h=8kOf{){yKq+~6-aB2PU}j2=QIeDl4v0ci%ymHNmfS#+@%!c|9qH_)s)9n z4r{RL7x(*DeA&6>?p~S)W{Zh&Sg!cMU^2k$z93^-;N3*)%9s3QQyX-a!U;asS9sin z5Z_&WjI=abENb1bm_;9K(3pnvWO{0QrYDT*{;sU|`2hW)&rJLeaLK*Eigp^EeRty{P?xUFSD36v4mhk#Y0J}Jj2lgqgA zeQQjjvC+p|=btZLyQ4NO5xhj&9z`RUIp|7ANNbG@S!(Xsw>;){g~~^UOnwH0m$qlv03sSBX%TFyTEfmJI;N(c zcHle@V&JEWI%@-S^xQ7eW(q*+kBI9{P>}JLt+>MOAC-q^$V7co7E-J;m+a0+GCte| z0Vc=T@`o12akV`L!!*^u7QuiCnro$850MQpJ<537ybo;m(G|_TZ5DAJC;5tiHK#g5 z9B*+a5`piGXi4ZGwai^@!}yA3Ke@i{;Ky8+gazXZWs}oK|Fzl+fWrPPyIC6CsFcZz z2AgL!0iQDeBN~i#D1)yOjt(?i=0vGXX^?GBjFh!iti8Ik3CDtWew#G^{l_cIV~-vW zUax}s7$n&S!vNU|UMC}7>Nuw8RS}NdWXoL;AW?jLz*lq4hoHjW?742q(vu>|7b8E7 z-E`$_+?}7+TR7u!^Rs!ESysS{v}V$;Cy`ZzE9KQCsz@xK?kue^E)zq2A7kwDX@TfG zbeOCvQn`K`3-ED*1z_3sd~^G@{}%Zf@Sg2A*AWr$gY8qcX4Yow!>#Mx#+Mm5^E=?dnAq2-F-k?$l5}%o40K#b@pcsf|WXKC~k1u{RlS>h*uX$iW2Wn721txPtZWUYP z2``r<=s5*9`H{=~paX+ltc#VGhr^}8wHDhZCY@Y?_xxao*|ap;3i_poA_0-tAVU_M z$?at5A@Z|n6-0rB4jCy;=&F!uSkso)^smV-|r$kw4reEuq+ z+EW39hDxEP*`xapHE+re9xio&g@O{!;djJek_^LPLJvfUJg!_Vq^6BvEeW4`=ha(bW%FY{M0(nmzk^DWff8Riz zWD-8oTW3%=8@!6PIou32dALhU@*eY{u(Hc}J>YAhFsPhyOO7;w2OK(xwnITr*}(P0 z&xe;`C6aQZdK!g>M*MkM^)(UlKqpVl3ff~CLeim{)V=}BP^IpZSe(o7B0|8kCO65$ zj3ZB#>@#mh@d_GDmG@)UxS-Q~l+@jZRa2D{69o==6P1uQzQt}QlP>2JHJS!gT9_zg z(X2D~HCM+sa?aj_M3Z1Jp{d-4u0NOazghbNug}nV8+LZ_!_j*+LFW;g0P|O-5G<;1 z(O`RX(xs{XP}}A&3Tu1f_1+!VVBZ|VE@_~nlfLvq3$*PB&DDNd$Q;FcEVQh5Dew8s z|20P0zQeZqT==!N=1|of5Ae{7Vne^WH>>vegooB!PXO9e|2q16wHliA_pRn;fixuP z6Wv=4qt&24`zv%|)tPYSpcV%?0Pp*!ok#LnJQIhIiwww^(RTqsq@1Uy89jM|O%>+! z>47_rdvjjU_+DMDzboYe;E2VzWP4M_THeS@2|0`9XkQn=-r}}YG?cMGiEx@jeN$?iZZc6dWQAQ1! znE?Xp(K=vjj}5XaV0W+b5@mw6#qz2?H3>rp#g7bEaCOI#mQL^04IPjV#{^~2GVTK# zM35EsW%ZNeCOOy%CyUWQFis#TXOk(z!!X@R%dM)cY|7!gJ zATB;Go8Cqv7ZkCs%_bJj^P|t?EbK`WTe3b@ zCJ)x)8?OhcF~k)Vo|&(&D98I6!Tn{a#U2`|Il$d7_I})C0!@(DOjsRtJX1%$%)2l& zip8FgQGT6|i)LFqC7>lFM)HC6S94=V=ZvkS<~ww|mmpp<6b&o=VO&brLW)flla5n8;1_{z-uTDg=i4c6!DHf=)5A1 zo{I2dP*`WpzkkcVca2!Tk8lNR-kr@CVYa1uTKYq9nc&h`NFv_{ zaG`0rZVF1j9Kktw6TYla zCSs}h%&MC>#h%#3QD6Us5b--IO{!bXE$zznrNf~7@NOCbixyFe(%1Oe#x9)LZORGq zgR1FdY>HrPhWYp!D>52x_uos0lHfnf@8o@+k{N$TZXAxpvqBusd3yAFO(@9tI7Cu@ z4YP|==Jr!!{7Le9932QU{akW4DXCXWDRsLsDEwM8#G^3^g<&9GZIyKVlXMoL1_btJ z?S*b0vb%Ewl2?fyY>to7O+3#{;`{87T!!6FU=#i*`)!)*$Sn@VnnsntzhBv;0tZQ+ zNrLM-o=$sWh98Y?i$@p!h7HdrBc1Jr`fa?Kcrxd}dlDK2g~e@Pqd_~-50T(JD7|Z> zTaDZ~{Fo$F=L(F$GHh<25O~|z%dEmuF;?mc`uD3nUsG)t*R=<)o4Q8NVsGBol&i`t9 zrnM`L5Epip1ZFe;#aBW@f|U#Yx~jM|75H^185U|yz30yXkVP4$mzIu2ow&bpxeeZ9 z%IKq7XtL!dTPaV`j86#)zQcO2lF#e!zfq(TK~&4swv{a5kGDDUEO-cu&0SlB;u`}5 zPEQi0y}M=nHpJv^#QwT!2?C>fdg zB3vIBJz#m;0@%q)qn)L~+z?FoFv$;FMY~5Ct={P1RTeU4`f2Lj>JS1v2)y`kMYNDN z(?ZqdW4m9&oO)+6nlP_@^!J*T)2;h0Rh9GV<0`tif`mzd>Q{6EWn55Y=+)Tt>w?0| zj$|imOn;Lu?cyljMSXE9sdwZHhB%|-XuVE?Uv#jg6I60$1B>TAbvU4&xTU&?max0Y z(KTn>n;4xa12i$=C_>n)Tqz-ygte#jahW@(WO##d`M>{mzX5fyUV@cCY{G`+U?dvQ z&;5t@i3Aes*!m@^OePRlMjcWnSphkF=)YO~`XHSe0ianFwi^vlkjz@)0ttrZTVm|xP{FDC&h?J#NR>u*~ zCp&Gd2iDK+q$anNrL^0^Mo7)eJ{oLc_r97?)~`cX%-SQ4#ftiw#yXu$VkIUi)|Y~a zk(wJ!p%3qmKMCyTp5P5Fg=)W)c9Z`-IJ`cL@b_8{W)X@sYmX45x32248AzaiOt-EV zn^5@NWRF878uVuQZA=vPq3kP1LIZ`JD#l!d@5gEi`X#hjp8mDtb_YR=o@&>+)9C9Y zq1z{x4XFz{{!cf(|23W|qIJ;+)sX_WYwE7+lSTg)yf+p*g?;kSpYr_kG(iVEBopcv zsj*hi>KQrFm0DG_k>C>J(L-2bq1Xd5-v@tl{`21#l&5>eO(gG>hmE;~(;5FoUOcg% z72xNuE*IMb8Pqx=nvFL~wFdIQ=ibJQvqDm|(dJ|*H+{z{cX+tlaTopI(MofKK0M)S z$XJ>^3=hHs**%r}`>gvO@sRALsi}_~Hx_9d&yE=IpzZr4?S@Z-)V6inY0Gc6S3p~L z|4U!*{U3+lQuGjMx8a(|yg;lgy*5oF z$&;xY^}R5}?%fM77xlFztj&Ec3^~$2?D#v(Hj$s753^S$y?SdWZ6`~kj~=^GQQtlM zMT@$@i>Kvc9fOE?)6E;7V<86}iFT9_a(1V*M$i)9n_t?3KJs8k9C&?)WNBknKFjzD zje!jbG}nc6?l~q8E?En$RD^vupB*JwLXE9`>eH)42$6+CWx1#S{A7$_@ey8%cel@o4On@XlNs z@Y(es4mimeG5-^dOlgMn?Q1=%%SH*h42;Cs(TVyGb^fcT5w{2RD43+GA15+5Ab6KU zpOO@IEK>Oo>4!MZ;U-@VFgM^zIf- zB*J;J!%on<{`~Y39@NwdlU~3CZlLy5&UmQNlV*ospJ{9Vq9cgzFz30@rve(V_!rZD z&f3{Jox8ql`z|OoL_&{{1UHRWcFZ|4VzK;I&_sZ~qJERU!vt*eWwk1By`jVjjE-49wOd-f1fh- z`OX0~{M4w=Wqvj)_U9A-dZevq-9g-tb~FW?!5$9xP_wHQcD{@|`CB5uSe9`5*+!%yUZ&td4_B+oFB=I>G>75D{f&5z)8cN;>~ZCM6R z>qF}d!O5!Mu*yvsW!1iUK$QTv4eRrS-1SPtZ{*COqMG`Tvkg@c>O&usIc-M&45?2)ZUnWbYiQ-3mcDv>Kjv*uaXYecKOUQy5IvryI(*)WTk_!h zBn=`>M%YVYKG%WIJml`eF5c+YEzb5g>d(}f;?%sH1?2y<0G7I{WLv=(nOa&97`xzix0pI zdZ2^5_1e;U;!|ATVd<9MkR3L)KJ`2w?(-0-W1|DkW+MB1o`43-Uvl;(Ogox6OG$?zt?*`v7Qz8y4PB++(*YX4bLw|hY%-PBM;!jekk$A$qS<>!kmkeOgwwB z;uJ$ZW&(rQo#5RSjuxz~JJ-4lk)!BX*herk!4clF#CcLS&mvAVIW22whC3n*fevm+lSeeKnwY4VrGO(RU| z%_c*65QeD`NxfP_g#@T1((B7)@ zD-vxsYh{pQeQHAlS$176c{0i*kofK}ABq=zU-zRt@ompsgi`QD z9FiEKh&Ken4xNZ*t`()cwN6r^jyMcrQDj{WFTiYa$HuvmDigK!FFAIv!y^xly5sQP}T z!6na$u7wS=)SV{ue1+AQgWU`fx;RUq)Xq^9af!HnIN@a6dDArs%J4V z(!OL!i($tEW*^ah+bC$x!=RF$4cal z$K_&k(~(2#6t%Sh2`NQ|Q^CJ6MACkFVFe3qd-y)Dx1OveT5~~DRR5Ag_segV3-k5o zo4J5e{E9v*S>vetE|zzCyT76LJL|_AL(aO6_m_s>isXF$T*5f*hXwJz4oz6;qk^`s z=O?TSL`p_KjwBDb+}97W_%ixRL^aHU6iPS$O7()o0p6J)8qY-q`R-GT#?#t}p&%uV z?@QPH{m#!-rv9S`^JB`s#0lV*1sR_|^wfWP2f2TBe(hNB>lq~HZ)Gf((|7=qu%62= z;1Hsrw4y!h=GKB~E0WdS+BLwUM4OS6&0zZ}$2oxAuspF8{;F+|>H?EWkc zubDPH@@%Ri^DQIk4v=ITACHN*R*=cUmS))>(TzDu2d^igwB5sZH$78^=&D;@1cX!9-6!TpZkv98usf^!@~vSjd_-mVwP5=zp$_XW zl~d9WIWs?!5R(0tqYb*smcEk+LDq!=*d)vU*E+$*&h2EJDnz3b*Upvg_?+PO{O!Br zxkyLR*E>;Aa=D4hUWRA_lKiKov`O#2;qf=)O_g~d5?HT%8)bsFj(Z;hD z4Yv2|x;($Beva*6(~*C>7>qvpv3_PCeEU02ivdYVtAD+9R_==HTywvFK%4s(%_a7! ziQ*aEUpI{^-1uIy#fz#y$AWYrC~}rGzI(N3Fg2D8qA#GHS>6risZ(!2bKt70X)NKj zehqil$_`}^iQFnG0+p=ee@PUU9xl|AO?-%0yEDGw{|JWC&#uIaqk#k6wn1pYYKvrT z?)VSi(#kMVuU%1Gyx!Kj7%7oZjeb{0pkjem?+B_t_+jrNaje?i6I55q%K1 zpz!4s6G3$FO%hl{IKB$blni_{k!ezEe2E$&1=7ek-4Wt`foxSM7 z1|25GG+_l@3#}%EHmsUikinm->2Ej!`@Y{gCK#=>+|a@NcyFZ$BM$btE$->bLiMKx zemX4iFz)CIIGnNfW-s4tow}+;oo*06zjiohRrj}g^su7mWqV9D*VlAD@-7TZ=1-8E z=n088d9Z!o%6qhBb5Rp(Iy>K=xD+@G{#mhLD)7LfNXa?b;{$d;W{EOi$YiEBa9A0*<8(mT7@(Pr&#SiKQM;NIir3n6TVF${w zarE~LAAd0I85gTJ9cQx}E*Z+FUqxwjQNI9Eh}8rY)+5KwWAPm^ZU2dTsySs>+NVBr zEsz9Rb%NK<-bJbsfBQCYofQ$h)E1`gWO%lN9fe+h&A6-Yq^I^hV!j@?BPD0=Fwy>X zV7sz|7fv36n^|`0_aXs3MW&GZNw)TTzUj5jL{rtlo!jnbCVAG=S^4i)GVy;j+DZSW zN^`GbfwdzHL!C$7F(V2Mw&tHu3}YtWTkg0dJ%0bGtX6|d_)y$>yuybu=k$F^iFG>& zu@A0PJ~}P0>YH0ww7(QqQPgi64$5GgM_FsbYxae4e4r&dJjqNun%QUFlz6H31=y~` zF=5#35H`nE1GTI*V-xc1y-(e}>S|rP_`sms{6%2?(29z`?R$AsGJ2O3ad^&TsIkz* z_;ieqt%Qb^M37QY&!e>F{tz}H!5(swr`&_kt`C0&x5{dd*WB`Fodl-R`b9;#WY~Vu zBh~KPF8u7}88Y3aO|qi%j{GvwLtc?X$M{$&ET}~b(-Ie@wSuM-H;tzwcGlSue-H^? z;0xi@OG$^&uMvbHm@wDt36|`i0EJsRC(~Q{afoBg8k0;bdAenZQg&9`HU=vny$rg7 zl9mq@l3w+`20Jf()Wlys;Rba) zh0QONK3DsCjNApNzZLFh;6o#`Z%;XkKiLIz#YQPIeZ{tV1R*cx)Ec33fG6aWto2&i z9e1w$T}nFFI^1=b4R$gM>ahRPJD6^>H-b`Ogk#c-))UTG=IB{I>qcG&OTua?Ds{sp z^9@HwD(EcykLewmVagER)F%h$SN+2S-P5hktTdih>}@)5Bqvcq8!nVC7aellRZ}t( zEg4)|weN^;vn?s{Ne80A3$YB{ifF8ZV3Fyq>pyW7y|YQzB6~x_&QVRUo)H^)zvsl>^#1Kk!0^iqiSi_dJpSv=Qf?oD@8YVaw&}5l{ip z#iA_CJiyxOb0z9127jpAcIQI_) zpC|8yhw-_1dYxSh>@Oy_d82h`kO!X6FhH1k?<(_PhCuAzC}uFLLpboyx|5U5dg8>` z*!q_)>u{*z#7EEsWt@LXvF0>)^@qs75Z>Mb-|epOKrd08wR=;B@r-fS9*)Ls9qCw?z-FC+EJjJL%}P^}Tt+hR~t$ zv993RQ51sY=maycCqx72YBENKxH}#zyxF2du%5p_Fvn12Kpm0&C;HK*J2pSUkS2(_ z3Z|Gb8i+Dv@!jo@;O5+cU^$aX)1jh!)Hn#Lr%!*dqt(@Bkdra-Gr7)s;G8|MefwxfX&5=Wk@4@P6M6 zeWjX>tdOXJ0SFh{zoS2!UWZbH)X|xlnFQLnJ|Jt&Z$lpjNEz+4Sb1_x?cfd?R2h%u*UL9fPfsX+*HN1$K|ZE1bxgVoY)wm zL6RfMCM0tHL05X-%lQa-Suet++I<;yKY zLy_hkiD^qB2(f2Y;pqm+m}g(6xK`+?^p7yTg=fJ>E_MCRVlwHJM6qk7L@+%TM3T=@ z3cdg2W~{%{<+A=WpI@qM+#?$z+tapsQfbYySOuhhOvI4dP_20>h3F}>%PbesD|yM} zQF?WV$ANS2#p+!4$;{Np>UZg?7;qR-K&K`i`%w2+5Hd@P)4oY(XMtGJzy^N)`D-yW zs=JaX^4;{hH&awkKiWzV79LnGa44+w{XE&}FAY?uFt9pf;<~V`0P?mXC0c>zS;P}P z42SodLKja4fYcWUY8Jh&_EnHz)a+Hc~ODA6C4@XGIUHICs zMuaLLr8pB@Q(HI8n|M9H|9!WU%SiMqJBo5=CAPQwqaOL}D(e-D5IYq4Q?wzIv#&r{HbiKEK zy4~w;{G693#jZ}G9n6M4dpmw{pD~Ib9PeL#;IyvgA$|b2npimo4L{I%t(UPRF2;7B z@xJA#=4YmDZy$~N1BN_peu_1&AfS?(k0dj`fIK{zxwJao44e43kc3LDyXk4 z_@2Pt?1{l#UazPt*LK?(&($$ksM*16i2AC&#j*uMywZ>eXsQhC9 z-N_wha4%3WKo-=!YZm+(CKq5Js3}Uyt?lla(Hq#7ZQ-7A|1Al5vm+7Udov&)>iP%X z#APeQ&g7(3ZGy(%I?vp$WQdRPtf4>)ccICl$&H1^*PQ*sJTJ>>b2K9r+vwUiF6Eq>dHWa}H1YuWHOMD-UQ!mDQkj}f>e0y&?{ ziMoQ5mV+03!#D>u@<)@2qvP#n`Dy6Kv|vggbV82#Cvl*SEmxO+3r170J)D_Wo)mib zq9)ChKXyAN0A{!a%d5n0Y=~Q1u;F{znF4##(n{Vn$gi&mS}JBXkd?bOKe}y_@*`os zz5H_PMFW5#c^RKO1gc!3p;BGrw|)#cIv61_KH;uS_e6%9X-sYhjmRI`ur2g$)i48J zZa6CA)BroiQ65HSw7{yC-8JFsg$b_8uWyb*n8ny^T3K&C`8WIz3}LM#b+gVx+at+I zYW4oP;9$1oKWLjGT?snm2$GWyu{*Z?J^RBuhw?J|dv0z=7Y#%>UF>t^UHY8u!j35t zJZmhBx&Ys9o9@cjv!W%SnYDS>E52UCxw?q3fvjg$E`A>(r*{vRcN5bOq}AI(!(4>= zM~6tEVBD>2PB6R{hsrvKe5<*cYxc7hY0`t%P_u_6CEdvCVlbG>-7}knt}2DN>!~rh z4JJW0%I_52_H|Q5%eeE<+Gt0g74;fy83D*}5%dZqJQi)$=L11Y5%kp5JH}VG#zF>( zy#EVM6%C-spkn9iDy*^jsNV)6Z)i(<_O27HtZ^$@5e5dHecP*@qS+944fuOgT@3}J zWPd8wG=ej?_6PoZ?GB?XGhr35v~kP^RT{`nCM? z^yKUkgZYdRx54()XC8EL;%MX`bZl}q2xPNoJx?Fhd!9?+(Hi$EwbivCB?O2aUKRFv ztI{#UA$2bb@JnCN-=Go`}p+dUW*^54A2X5v6$m!dX zB7F6``}PBo<&i=cKKrk{G~(BhaZVowuUTg{9;Wsd@%&X-5%*cj*j_w==QL#6P%UUXbStkUVgQ~&hec|NL@VJm{_wi9@6QFT=)@aJ z9QgYmmF{GKqWfO`EsbpYFU+Pn4j7`;_nrAw%VR|1{lc%C+BCcmfAu6~2JaaKTwT2$ z*=I<~H12wU`I{N$p~A>q^ZNDc9$V0pN(JQY8yg=N{CXYoi1ErRvHsThJ$JB@HSmEC zF0KF$$M-kr+p|{JJN7N^;>q9dLg@;52q>;BunGboV{TVVU=AvbT1+>3^h77Gaij}- z@3k(8C$w1AzSL0c0`F#Ze(yLiW~<&Y4SECD{rp>p z7Y9eSwABy|W6j~hSN)VF!b~O3bN!-$2onG}q%Ty2)~;fMe*BT|He2P{I3Fx(P#^Vv zlYm|{vVuEvw18=|B$ewl+S~r7JQu4vVH`eEAApqL<-ESC_^N444{uaKI$Rr;C_fKQ zOk6h`SWZ7Uxc)-VIZ?89ZsV|zg}J%swB{yDH-lY}02!+@G?L3FczCL})L$hoSa(K* zBTs}r$5z{zXH%2@mCUcYR+E9@=MOEfwjt{tH@RxQwTqW{+)mbAtRkg%qgvL8Rd<+Q z0%}Ls=}q$HB|mBZY!T0#P8M=JX!x5r$p zh@BHAzN~9WA!n)k(3W8G>$IcJvV~d_p5|IgR&~8j(=UfCg%e$B2dKOz6&x&ezWkHv zCt(5mHaF6nqvr$+tiPCH2nR%x856T#0x_gYYdsEb zZ_iGjHC&iQ@iBh9qyP4w>?$apGQNi+f99iYm=Rt0WiEh~MjxgZRI^gU$_%>lSi7?`c1FCJr7o+YK8 zeIv+{HRjf_%(J21txjt3C^(8@VvUJ|A*My&R7eN#s0l9qC}9DK$-MG!;f^6Tryra? zd7fZcso&v4=ucYF%jObx{1A1i-eKb$Y46V!BbQ_#n@JUJ{lger{Ax*9L$hbnjtlO@ zK!H|jOL^Gkd-FiIVlD_zPrT19sB>vDkdcuL=KTb@CsW&=zv_E~z%uK@>$yJV>TXWA zZ_lZgm3sK#sCY{*?V|p<^VwaNobN=d6h+mMdb-nQ+b7=d*8WC29*kidOIyMCu=}4n zu?6ywQFzdjitXfE}-tsHW8N>^6M3 zT6w3Sl~&4wQu?NC^aaTOI$DT70(~x{gCdxsu#1T^Tt!&u%L|wY-ag2V_SBt?n58Cj zsNOt%%EBAP$`{)BA#N=W^M0t-g9rA_HNVZ84@WQ(lJ#mV!K|+%p3op}IU*D=gbh(0 z{)Czre$&?GLmbZCB&HCEW!Bfz3_tC<8-Jx2RGrJ3~rj%n!Z26@;cv=Wy14>}yAVUcTP2enCTzIE=P83Ap zs1E)}&d5*J#P<8h8Z!?1p1D<}oftANzLS)a{stjNhvo9(SqG(Xnk?6+mJ+iG>KgDC z#s2+jj`%PUMkH6`)D@5y^~g69d#ASh`8fAo2p|?#9PJYGK$L@d|wUaKVia)e( zgKyMp-UoK=9-zx+jPY_#1ko3A<56V<=6SKQ?MaLDjbIZz>>=dW4}s*|ri^*ThqDS* z|M9A{e>m^%AfT2dj`?vI7Tyz}_{`-r0RZBN1rm)Uy;3}c=hb#lqUlN5w$t|etrQ7s z!LrxhcKdAjg~kh~lJNq7zR{Z1X_^wj;7cUS7|??<^}3)qp~H!6-8l1jG43@ z0~rWW{f%e6iS=+r!aE8K2j?(y{$fJTq>-N8a7(v$L0i*Kp%0a}8c-9G7$BR^IBdnd zr-RW2g)be~UvrLR*gdvTrTRH5^Cq7FK9Fh5NzkWs^pg2wzqq`r{g+_HsM=iLs`pvOGPii;>MCC*eJ#d0 z@V2~snxKJ#R@|AG_R|7rAuJ^iJVX8rrVmv5Oq=1BK1Z5~MA&}wDEClP;2V@X%Wcb(o`5two?Bt$_dwLhc-j=5$Uj}W1e4ID;Bisw?y$5$H z>|OP_sW1}jfAq8!Yt)=sihcz-x@FU=?0>lc8<7Sz=PFHip&Sq7sPJuUrDmg~TRvkb zL}e{U)EHz`<;uAdg`rM@7TSvW`HKrXqH*8il^CDTS4XbKwa2rqRxJERYB!#AhrzD7x7$%wUhj9y`u74Bw(aOh->|uWYpc{F}Ypo=ak7Wn)3W_wy?Lj3?>#QI_47 zXCCobT=(PiW6Qb}zE_ik5(kCysC*Vp97iAf{EL5rxOo;(e#RVrT{bg6$gXVrs=5QP3`0|Ip9OMykYtzpE6ZXW1t>QH9xVso9r3pLz3bs-v-A8_p*`}kINwB_K(Dwk0rQqU4p4Ce?AxM8vOU;MI2{>&y7 zS#y{O@t=T@3Jy7eV=2UBCkOV?=m!BKK4^p!$Vk1%u|4OPMla^jOhgD>q@*?>t6uXDUO0>LWP#L%Sg3 zZAP*q%=!F&;=QMiz~kX{gim_Mmmxr(Cv^9jXS@y^tyhb?Z0sW|QL(`ZgY(>t8|}k7 z3>o@?6D3zX2|N3N$cJX=-)qO_*(RbPY5eTm8G^pvho?%+3yw3 zgE@!!Q8ZS+k=OiTkQmBjzldroI7r4~6hx6aHNHVV1RLFMp3svZ<_l6_u9NR_Qrk-^k*@Yx9ezvC z>wpPUnZ{vw`Y^nx3rC@mg1hLR*vy;xtG9Ksj$3(ehNn#S{l+4fivFlH;y~JNK=KWw zRytRX8965glzM?7-%@#mL5m6BbWuLF_*oYFH(1#6PZJ=V^7+nd&kB0OHqiS=et*S9 zD9y6D)IJMXegRu4z~#tz*`soQ(aEdvm=I7bdIn5N@OYWim_|uF%0E^&IPv3c z1raLh!$@mVKX#2>--2i|bpN`7=UCDhj!bA_GG9!lqk|y`xbg3O_T@{Kc1CA{<}^$Z zaIh=hL+?i)pbg1s=;@<}QHxmdSJG+x+O#-C3ZI^fZS^}_D_yV+&^2?yTIJC;?H_`LK^7OP}r1&c7lcR2C$`3wjzCif4e; z{SeyN=A3m$j`D*#MKFr=21amftRj_b8**D4ueD$kjmqI(h6*E3{}X<@5uj{ZGD}?;=0^4%?wIm@R9;&t+>RlyTa#E+}Ohn z-&1RK-8>B9X!l~xNH%8_%hf})&`F8y2&4b2Yc*zj*%k?}ZSNyMk*!|2V%pJ!kYZyn zVEvh??cVj9`Ar*Htz*LMSvc}E>DKPyoyGY3n3enOPV?FtI`_j)^#;6kvXJ%nGhClw z6_7&>SVe@I&IP;|j6_yI@|xDd0{y;NLqdD<%V*~GvWqZa@&0tm=k{#B?cLq}w4Y3Z z>EU5>@3?eyd6deBL*d7S|Ip<_8uEbm)rfuRcQ6z_Wc%IDl8<#_ZISRFigPzBlz2~( z*Urt8DDn}nmlgX4dOd*1BWT1@Y(H=Bf2$Ua7sL-Y_ zO0SZ4)mcouRP~RJ?`l0t>qkIB-`UyG2#!z+B*9)^L{jwma^AakjzX-L4gU6>Xy5kSvuwON}pr<=IeQuo%u^KPxOMKU+yw& zD8%H9sr{br`1m405aFFb(5OEqJv~syA}~er*kjgb`^k;I5Do>MI^+-|Wb}OJlQH{8 zUnXjcQSr5NO&z0Xq3t(|E9xh?&3TjwXQL~BYeLNH41OG|4_^KK&eiV}fY>L=an4A{ z5B&*JfXjPp$4*1T6QbtvX&mu$mzGJ4IDXv>;1SV|ChIn+b1oDaY>ze3ag z^5?eM$u&2Xr_=8KO6c}c4uFiqPjwx7Fag!*Fy2yM{unN36f9Rx>MB<1h>U1_CHYV87l%; z_UEK6RfAwkgmwSm;NtLYSt^OsXjr-?F$r|jMb$)mT{RIu;+9C6fJXtzx%7x#TYczb z{@~@5u;9|}Tal`%+t~&KK|#PijjU8;a_d@4BZh^_BRgB!1mpL9rKVEUTd%_BeraPNc?B~gEZwX zp&MI-?QrlfQ0Zw5Vz(|btOM_sZJ}6E#>6ZfC_Ms%<7Fn`>ovu^WGF7q@Nto|6;g5zqh`Q0OQap? z_DpT|0n9b}g9f)U&YQ(CrPs5~sJ4bZ4W;7c<8n)McYn)NkT{gv(yGdSt7ikUPABe@9imgi2tEH2z`qigGa z&#MxA+ekKI77@mE7m2h_>zgCb|4)dPb*G>9*r{C`kMGS{n zR8{SG2dI#o_#q02Q{?IRN9~9!om2GDQDc9_UP^*e)zTC=2lRIJQ%hlLK$B=YpMX=WrVmEE8lKUnWX+d)gvdmDQwk zfGCh_Tsa@TV*(#fi8wQQ?(RmSvb%YWjal0vZ|hTgS0DxIKwTS>K&CJ;lsAP(ZL6#nU`|;y_M#d9~lLKOj zcl!*h8y0T^Ub`7>FwM6m9U`AM*w0Pze;+~%|9Li?{P^H?9jV$JtO-z_b zLm^o@C2Xto6T#0|@t5yH1eA+9V(k^wKI6JK=#x7cQLKN>2uKxRsU*xvlM)Px%9q8B zyQ|YipwjT0lL%RM?Lm(ezWpWrFyKMoqY#+O%Ae1y|UOl0WW{+1e z>#mgPA8?|V<_SlCU#{9vvMmYg{`+T;EX8?X`uP=4@27?ad^h}IE34N%B@-K!p8Fd= zZf0b(Gd=}=iwXMUO4W2zy0gdx4{5qhJRjl&Wog73FobP-vWmxiv#uQ&bww4JWdT(&; zI?Nk81aw#Fui+(UQurAt0ql2iWC;tEJ^cr=C~ zx&Gl|+BtO6!ID9Z!o=u;xCz8)+O5dRL8_dx%ZvR%{%N-wb-Z6cn~Tfs5CDc59I|!% zkVgrEu!Hj|=L}IdFwXkvz+;Y$Vnc81+))c?Au1h63>Wkh!uNXt(G3rj`<%qxi2Zh< zA!o(s$?0PFoY_-Y4Bk_$G1dYjuccL4Lf8gT4toC6nCAv_paz(r(qmXS<71f|+g&N1 zpeJMCcXV(?YC26Y9@deqJ-}(&bkfbA*M7(GNj5)eDi=({*w2cq0FmMrj3hQ2@PEI2 z_I6Jy3|O(nAE7wZ60UJ1*P0<1b|-~gwr@iQZ37TCggHXg?$B@7en$|l#`DKsDI2}uFLZ#}mER^Ody|-+M#_uC1HYkw8_G;b zIX=#oNR8_+WrCCo0?-y9=f@_;59k+R5^&3EnsQ?haL8Ia(O@LrV|d89l6SCqBO9)3 z!(mAGO%AiM@#t;iU)$Wf22p{yRG}63?$s5Sm3O6vQBF=yt~_xUve`}pvl}|G^#^c4 zU|I9LV#XYnXr|3~;~cFvH(C^7h!sPEd{dEo`GnFwOXQyK-^^f5gE$@-(vU_LApu#X zB!rO>(^;f&dDKFRQpU4yuH;D}{hdXmAFJyVI2FLy4|xQ0X5N0O2V_n`HWw=xFGjDu zp0A77X7xn`C0~dy3lSiMxv1KdD>#Tt=X;lq?G}F~#9<_kWVnmxFMJyuoz+R!$9d3m z=zOQG^po8qPeGg-ea;ojJRAr{@nily6=Ds0v)Ysj2dj=#-?N2hm*3uSpUP91D`CX|5DiH< zMxtR11tl5*`}b-~m^s}(3=QN$?&hm8qaV8n@V$IQ;R(M>ww_lYO4}p9!Adwu+a~!l z%25z@p{AOteyQ(S80Nium&HS5iSGIF*5ZBozoiMrmP#!nrI{^Ku)(U5z?t~{|U@TZC3>HfbP9SeqJNNEMOT}!uh z_6|2`Xv7Sswhhebp{PHyi%;PRn6W<#CL{xiC%@&zcfyct zB!pjFR@yh?Qdb<&aOUe&M*U#e{>P54+PbA6#f+9LZVN-Q@dLkQ_m$th8X$T^0P+a* z=i-D%q;ufc3@PaCQM7MRRen%4Ytbr1@e?2edD5e-R4E}$9Cq=u^4rN9R6KrjEuGz0 z^pJq@VP8*@#33X`_XstT+<(@`u|o7qmGH2%Fl^8giEGrMqsx#4kv;F<>b2t^+{ZAE=ZcT3Y z9_-Bd;!%{l8W((IGHP*_6$=4ZrKFB>zQ=dk6)`} zQ?4fMAD+F#tF=D8xH6>twsHtOpUT3vhMCC53l?pisr;%2bbQrMJA3N(4S#5A2C(91 zx)=1Zs#4rn)L~^(x!J2mN*B?gcp6xL0H-cm!y-xe3)wV2PnQ`1cZXg0t2f#(ItPXa z5sGPqiYS1%U_N6gghviZn!#b5xO_Y9@H5oXfMNj0LH03*JN9Z$EmL&cFD@pmXPSnJd4Ay{-^_*HzAC7R z8KbHyU+qBbUF-=HIL!Lz@}{N#5>;vIQ=z({v)q){(~16__PDmr{n^-yieT<^_oMfs zzH;hHdO~?GW49wYRify@>jzac3Do?>Sf>j$gkK({1)9o*QACmMDH%WRRK_Zx0fP9{ zVZ@?4nVv9IBUO6W+VN;otjwql4Uj*GSVy%P=G2_(fnG;v0&x63;g~1Jrbw#+I&`>H z?LDJA<|ENuI%Yc6l`*KYa#~_y$HIVzTDp%KKVTUdY9es?`UhQ|H;HZWsstf(yDc|= zo0lA{&B(m(^)4P?oWETiAiN_#_WPug4NSu@l>uJW>Y(~{F2DC`oQg5_q)FJWo~j9l z2G{jm=6&}}aFoda%7zfLvG)yzS-4c0A96)d2qlPIUwEm@KE*1aL~X{d*P=O@IY%9@ z1~@tI9RBv5S*@sPPYXNqb8|?_6X2t;bu7PDrW`U*?fY@$*jnj8kj&lAR(+xN^;rVD zx@X}ve;cNa2gsICb1-YibqCNBTMD_y`j03kGbu zAxOe#dkjXt%#cV0NIMOeT zMyvv?NgTGJKfiU_ys#Hh7=6uoa%n6}MnWnc_2Fi2$u&p+LY`@tdES{E_#5S^K-?yw zY^lFN2ZByB0v_PXrIid)#s8-oXh<}a`7H82WSjVy-M{&BWRoGOH|?}jPLM#8t$l|M zWvw=$etS&A+Xub-GQ>!G_uVhHxmYLyBOwe;713s#FJvU+BTQ5OmZan_oi7pZR#f;V*Y3a9X!h6l@Q86e$L2}+j#{0$`s zK&?Tcb;kL_K6K;&mF>$XcmP_4JJGfY-wkUw&*OkR#XxXpPcqWM5Wj~TBF>0WM|FEx zLw2ye(AGnM$?@qPUQhr^GXM8CumQw-Lc07rI-I#evwAcwXtxK~MK56pQC&WHI1-+! zy!DEQm=KynW;&QloQ{-&BbAM=SEaMNXtRv4YkESOGq||jnEz3@{~QMRF&!UP3Lv)*H&GlhimC65oy zqqe+XmB7f%3oR{DwfH!RwlrCye092S-1m!9#ASDzD;WeP@GO(9#{YI7;{ksLar6}H zn^+DMIIvWo^WSET8pA1qXl%DlGBPr%S)jD$(azA1haftG++_u$82PRa15YdMS1h%k z;c_SY)6)F!s{dUpu|JR~P_(`dy5SYkJof{!PS>lt5J(KU7F){>8Va<8YKxgK6KRy+ zP96h2U$#(>>(KIr2sF#s=m3BpA+`ds!;5h<`hSlTSZ6k9{6PQVt@&muuaD@SaVz8t zR|;rVVaSqaa$Cs8K=B3#ToD~Qt5J{_J@gtaXZf|z{PUK3AEjrb;#o%-aJmN}VGz3M zsQ)$&NK1jpZ&ncIH;+9Z2HknkyZrpsOHip-Z~xBv2_&T5N|0sHu^?MEM-K}m-8jkD z=t9+iU*3M#^B-^K?ZQGt9j$j5sJ^gLc-RyctN1^Y`|pzfkpM!h0MWh)z&QYL=zWm4 z4~}KTIE4J!ZtEtG{qq#nUjhpvY00Lb2!mjkf6-ON+13-91Py%39Rhb&_ex~-3Qu#AOuTT zj3(~U_|F56Muc#m86II=?_6ZKL{ijy^?lK}C zQ`ZcH45neMzOr1Vy}kJeIHX=52(jR%bp}r(LhwYUfWC_Pt%r=r#%3dcI3N2u{3X5G z>}!)#RYg+{J0=PZ0q#TSe>Vk0EEYV4(o(9J%-v3c)>F~FCQo`ij4pSv9Ac-}Oq=Yr_qtyq5u6m?=U$|NBAOu$@R%q4l}vc}Tf=D}$&Yj57bUyp+f zfE4_(VDKmVPZffCQx-@;ZbJ{6LL7r_7$j{Nr*DD}?{ z)IZ=-zo<*&Go5vN=JAW`1l~U~xOga^r%7&xky}7si6@I?7zBRg><%XHwLlh6&MJMn zEO(%lE~A=9_b(Sfcv-K_ z{rI-KcD;iEA09tEnmpnL(gi%6pfl4qXgND=u_T3bvnA=w7LV``Or28f`XeKYci|JM+cXxeiM9OC1No z<0FyAhmxQTg74*NTW6A;XKZ#de$7mGSS5-Z`tOxt`E|1ZLOW6DV+4Kn1WR;R+wIU7 z0I-jxKnR0o%$0Yb%KL!`5!B78Y8+LsGUc2?M16j9-CXSZM1A^onp+^6ZPYDG4-j&f zbqnqPd-fbeycDV-kGcR8?~ax|xqtS}SyKwH{kta+LIR|ABk5D`GO+oJdojx^)5*|T zkSX#xQ&%^;w8Yem;h_O$!Mgtdqyqlu{`fI5AoOnr4&-PcB8Jj9fF@|t6{*#Ci1k+~ zH{PnB|1Q0wCJ=%Cz}RZI_G{^$!1HS`{^m1*^ySphkGG4W&eZ~<1Q1EW|DSdihH_j! z*=`K#)s46>2}cz#IUYBcD1P}RekAEs4l?>Sq_yF=Qm&czvHYX;w8s3#HnoP zi3HZ^;EYkF%KV!uTmR@w|Cn`(Gz=%0;^)-lLsw?NtTH5FR{_reg=W;z?zVF}lyz+h zBsz*u$U_uoz=P%f@AjFfpv;ik&+fd%wS=d0HH0dpqc8c|>43UX{SvXkk6PytBQti) zpb8Aq;2*o#g`88*p$7~<1P793ofM1Z z7r+vepdO znBSVear-dx>v>h%$6;?#Y8g@LbrEZ&;!V~Ek3xUzDCF&KJcN#2{_;~446|Yy#MOOZ zH`OlW<`Y&SM2?@c|222$adxkQFRR}39%cQTE#oI9g2XK%?e1C7UDy5*fBuhet{rN* z=KtsNk}>8GUw`wSwyAsZr?{j3GV1)wf=Ag7KgR+m+$!rSYob zjoWL6rd^**;oU32?{A1%xVJV4Zm9USJsg40344?Wy284zrU5fTM}j^U zLoh_o3?-<^a#bt*C7Z(v|MT6eg*m(Iq?vqDe{ah6?|09i$3e36!!NTRQ<)AAu@OhQ zKI`lvsyHy-8s|@^S}5#&-3AZzquB!HP?N`IeYI@B#O~=sb)%L^04Bp ziOA%H&`*>hmb(HS&pHE!%*B7Lmh%oQzHNRn@=}lF@19zggx1RfjHmZq`SSAWzNOv0 zJ8e_3@$)RCZ+j=#?%CzBog*Sy^z$t-<|&hcUr;ged!0OSMq++M)?p1KpA;`CuGAk) z(eDqZp|$6APwNcoz1~yusTOA;vaStWM<^+QIZ{%4CRZYr2#=>bj|d7zYHGfLzVZpX zLjqe1eq>YWW6@6tQ4iyFSJx!~H=AWmX)~lxzBsUN%+voR*~iDXP%}?=#}|hxn6Lza zQ)7iW7<;99Jl4+`%ey;nlRCT?{80ANC+s%nnp1n*%ZH9X4rppkNAnF1X~(VmdHU@| z|4fcoxEbEGG%@dQkzgcGmlL7_#cWyFNgkanbS{|} z+{|(#Z%tEQCo2?wi2*NknVk1Br3a-7nec%xy`{B@|G8O+H5++|MB&1dNaD-=;yvW? zZVfsbe~wEF-P%6Q@K93zKIB_wga=$?%^uWbojvibrMlo4Gv{SzW))vSI8x=Sl05|CftH&ZrYvs23K^UEe*o0UnBv7>0Xi;&80(p zh~17hk`EWJjq7~13N)(`d{H$K`8~!ZX<`*|sM#$Dx@^RdWq09EVgnr*9?MDu^w&@e zB5#s@Ilq+Il?)C(?#-(;<8SI9AmVC&&Ed36Ow4&|N6Y*U$4y#Brp2F&s>^EJ`k{B+ zeHz!hOMG86FsFsVqG$D3;{@{-w}G zhLyj1qbxVLpS)V6zXT7xhk9$={-}R^=?^c>%@*|eKdG^FWq>L#w4j~~0OH(C&@!Ky>(Hub!EaB5i(3k+_J+%_ZiX z!4XXsM4W#I;{?jo4!!!-T_o%68xUl%cJq@ycpb&4B@B<4AW2q$ibi_cC=v|EN8M0` z*T>nP%D>69l=5Sb)Vu7%4!S6fsl5HgC@umMDo6c>mvTpa{h{-)w7qz6}FOmIZ<>S9$-%hCBroTh=LHvLJRS-_7>c}9f8U}>q5eMy!Y4s`sv zCfK!H?LXeTY;I+?5=jqo686W&BK?DVH5ShcJoJv{yYIvFZqxhNXppV!^IErRC2RFC`^E3TN5*qey1QPugYwC4-OJRe0RrY;rXP zT{6()cZ3X@!OjWg8{%0y`Jg-eWM(3~am{2w9rV2d%j*W75tFq~B6;)V^^dRrq2!hhG_x;}EhYR4A= zD|mY)0_94&qqp2MwV73~4opK5-O3HfAJ--ex`TORwo>^FssF z#3s4@vdWAO@@1)JS0}xAundDWxBGAAZ5VI}W<4$(HV~En&>-a!T0cL3mvL#CM?rz& zPq6gguGB6h=Q|p~OJPz8#ooV%=wv!* zO!7q^d7W|>0k$$bej#Cvi50buB-JwvWPN(2`J51Cw|rw;l^tMZzHXx@8h)XW(649g zPAUl`6JG4UDMXN{&14R9J1Tu9n>oI|s$gq&U>rBoyUijd;Q()lzRcC9cSg zjR{lU5JcQFku*HMzAlfeE3ZZ|+ey|DNq!72IQ`-?V=Lh%os}0ll;!t&xV#G&`~rGe zv)v$=ijNqi6HSx#$a)oYRor;$u)lj6TDXmv!JTts*ZjEOyDi&3HJ*46n&*MI%dEW) z$C_=zSVGgk!+jmg5?g*w8{U^o^uY#g_q$nWRm`)GKz+NdtKyZ&dctd7BmtH=@V|!) zh0O$@%nAzz=RJ>Xev@gXP?JE=d1+m;o$lDd0z>D6#4 zU7KyEiL?14UR+umPK0V-^Gz(sf8YR0IGFf~VB`!bKVBcm(9>ocz2LsA=(n-oG(_@} zlgz!5qNu04oq&wONJf~DI1(rt2P{9933Yt*8_gvz%J<$;3DLpKpyfyEQ%K;~R}_X_ zGw)nMl>Bzz&r*DntXnYl4p5i*<2JYYULHZ79P|ZusP=`o_iGHh-$+ozFa5GFp*%hq z2Kc*iidL9AT2QtkxjlOgs(a-+v zInLc;vpcjnIG88!xujGcxMyUyD^5TCHjgl{!~n@*K?&>Dc9Bj+wNvZrjHKsges&{y zrZRIh z^9(jy87x+^0V>O+?}N77-*{Ia&s>CgoKD*N{zZbnn+?Tl6rVnzhkg@qQ)j8vGPV*P z6rQhHEv{)yW%jV@pR~PBPEgT3zYiv3eFDivqhZPC-;?A1d^^^mloaZ$wX+C&CEhP_ z#aSPIAg!5X$(Tz|`R-l@sbKf;?7_Di!uNpl_#j8La%5g0e)-z<%%z557SXev&(ssYN* z^Z58p(mZEpUBIkz8IXNNvk?CzEMMyTlb@&cvaawev`2*9DznTTk&oH@TpgC^1NyGD ziVgHgkFl_4CC5dF)=#Q3GB3JqG+M6qAk-@{XOoFH@32>@gc}Q1J&sk2`E1HRA6<>B zMw@BXzuBNdP`;dzW_;8k@plUwr*cOrIsNqArRf7H0GCTjh{C!YvWuJ)b<_e{XL57b zYBsnXw61v(J6NxbW$3i^=CZgK6n>r`;Av)tbAY-Cr3C-e=e3EeUuAr5ayBAwTTb5z zGJVh^dV2Gs1+_BxO7rjfEF=76D^44RRh!LV@U<{Cr+oMDtpBj#YZzbtw4aMu@y;W#^fUYVSX!w%O4T16~!PuO)tWw5AqQ#L2^ekHrb zKu8+JtpwO?5?+XL^fzTlDqU?Yda?Pzw*j4ibvKIaTztb3o=Z>MNc(Dp$H1wBa^Q%N z?|6B`%1n2o#&AGk{cooCh03%zbb4Ibqzh)#RfkADQ6@{ws>A(UD_A}8PS!s2jY+M` z6xN1j6I-U9TxH3Ec&pXIR#hXDZpt7(^3k4PqCz2!u&L%uRpEXw^hv#LkpTjlP4e~U zrXwVU`0k6iQq%D5tU^tOGOioqFcgW_LUZViS@f;y&&qL4Jqgq{3R1BWW0`6OsGCv( zD!lIu`y1~wUAk1g=l>`@BnOE$qPiTJg{`+gT(?3l`wPc}?fJoo&PF$xk+CqoHKrDy zleX))I3)fQJ<{Q;=FpJqG@PB8X(E+t_bi}nn7_2aC{T?_udr^BfLTN*x3Y3tEpgY1 zq?#|DBZk7Lw=37Vnw^-iwuUuYJH-w%8y|Ez#YiO$t;G;RQTrd18q2Oik^TWm2Ue33 z(9RJaTS?7T0imi)zOg`0kfD4WD17N=#9u$&(CMBx4PPgo{q5|ejQc(rb)uisdF2gB zE!{cUKSkT$@2_k*q2IZRrwE=bo9t~qH_?HPN@p~aBA9VM>L%~Z)saq8Q%-j8ZJ!H0 zQdUvJb!HG$K5L>MHMx;DxLRgW7_Vlr=rJTEo>NmZ7Q>uhd`jwJy7zm} zL43%)43=Nol+h6*qwlKOs-D=lxVQe{A&)Xm@RyjFx!1mx=B=+OI?1c?jdRhVyk`5R z{R92awDqf-+34__G< zR_DTS`;*yOa&&aiEL`~^4A1||l*>MSzfiu$;(?=sj4aBi2bidaI`9F+pnUeisvJawIfC7iUhiIjtH@1(t*O%XvP=5zP``4 zK22=qfY|_xdwDmc-JS@j2v=vohK8z)^nWHucoZ(A5K)XfaJU=9Q+${Z4eDNl_mNTh zZHu2=CG=Hm+ET{sYx@+mPpzLv%$&aqT#QR{pP3nC*Cd9aOx7tHvyZ^n9W+YMjJCo9 z%||$Y1nv$CoJQj@8nuD{V&5@QKl@$!t5mo&!tZ_2Hd)Yw-G;15JAXw*RZd1mSHWhL z&FS2yV$e-B?b|?$%~B^>yl9EigOE$vrh$e11zXXJd{Nc5gt~Sq+-KqB$mX3r+~Z2Xw^C>j*b2TGzrSFfFodha?Ke zvN}`QeShcPkV5XvqOGfLL9)XW6CHsG4I5RpzVm^rjfsgj!#Fip+A&m|gQf%|7&nQ} zt)Dn^!E`a3!S|_K#wqKTW6=`^6I;&*kVS-+0o3;iXq6B_6Ji81nR``Lb#dN)-|+bb z`Sn^>Ju!6)K^D5oI|dbnCPl+B?Ki;v$TXC)Grn)+cf0iLM;CeV&DF|BaZIWRW%cWA zgj=MLxz*ZH;Bvz0@JO-;Ie7mYFO_}`fOqrud(uW0dqd@Vg_P6^2@(@gIK8)%N(BA~ zZeD3;zlwyDf^c*umehW<7cP{jpay!X5BvyyWkioo+~^Ds2@tX2VuO?Ng`<)`4Rrri z#Bct=KU?+TkTFVo6QbgA?q8EXjtb}we0+;n*yS`ytVX+u1{&=_O&tZUkDzn61C}k0 zQdi9Ts;@-82U|;Dq9>iz!??rcZ|~krj~i3L_aIBu6|jA5wLW?3ZzxW4GSc6Pz9l78 zYvQytdbd3&UXeFdu^Nj|DA)=iBP_R(pgv~pcXDkkPzD(J<|5^%=W zQ#0m_*?)C%D~-T1)MYr42%ZGNpu)F5=-!_{a>So))O4J#=5ehr7ZrK&auSd%)RC|% z-i=y{Qp#qiSRWRtu@YDsIj_vA2lkLv_xY^yVORX^>4I%8S>LZJr^`;~=UWzN-p|Q( zPi|3grxr4(U-co9=U|M~vY$f6CGYMtcX%BCwPE7AuJdH|QH*I#VSK!dKHRwO@wliA z#dYrtvW7$+`-?3kg8J|0<~AO@YZLy<0^BjmAPKk~6-#@;g(6%1Fnlwo;rbTA)V&u(F1aYIh73n#z(=KcBhXTq$71GsQ6@K=B0I0r`1r#~p5 zg$fF69c;Ai z67(8-hHqiE*XKO}GtXX+`Z*QB;muA`IX%H2RFiNkEt@{$SvP4CkG>DAvUVb5C<|V(Oqq=IRFOnLM;Z0ujXXS@-A{{_ks> zcv-usO!e#iZ%cS%zQv?I9p8+f3P2K@vyU1!J=5v6 z&vaKaH4ULA$)mH**W?@nxeQ~$ZWQ4tqO6ofU+AS<1h6`shj^sxR2|`pzA?K-s8kAm($dKVbr*D-G zACN!(4DnXdA^ldX-Uj~r@Gj4~(>Y9tb&LLN4DIzj&3eFN>OqyoO8AYLk!67=1i*Vb z!%dPPsle?$!cj{Rb+1ky+c;r8qv*w9X}8Kwe#*Okg{sR&*MBNYb#yBl3f;@WmBig( zrnI(mE2A2vU7-Lw8j#xU)$#^{p}bd!#(M?feK05iR(u{U=SbYt_(lM*d}W#){$zn! z&eBbSO;@sVY{A_hidzA&+njZ zHt6VPJ%6kTu4N*qd@Kke*q5-k4kBhcz(3o!=VFGO({X%<>tW~rWNDQwVaOY36~6JU zF4C3SscKN-N?z@W%T(?$>hF7HWyJDR#X`^hpJJGnmUc`+bk3(w#ah~0Q`?P|l6mS; zou!F>PUNFT0wXWnyd_4SBCMa&c1C3BpJU?NA`IZ^`GsESC5Ku~1uyo)g z=|d7|BWR(^OLFavhpflx0l&m!p7zea+z_o)LrgW*ZdTX$n=-xjq9G!{L|Gg^4j6 z*k|0CM)t9F4&YBkV#~sLnVIU9MmedennDE*!XcqT4DZi5SU#0y#oS{mUM~k;t6_mg zi2cVgw1umE#3sAKSrtmbgLr7o@G(Z8fJVhG<0xy<2W?9YM@i0a@l)r5L9@(D27CQ z$vxE#+XFH#G$?Y#`lq@=aio20B4~Iu>R}t?UAN@wRtf^P+W}|%aj#k>DW2*-{XiA; zkbxVDw3cf>nbhHyft+{ynQ&<25rxBetp*792-9iW8n6O4pX|uIleI9B{k7xk6r;lWGw~%8dd^E5{;R z7{4BPY-+a_YMS|ZIBEcJ)`ephj+?@LHT!WMINyrgTss{-!);|6OUt)Y9dWp6H$kfB zY`tm?%`g0eRv?rRfpM*SX5eO>>0osUFR%&U_<&79z1=cV7d8M~aMtO3&ck7{bS4H> z5_dBJ-a}Y;Trs){!ZF5>Wd`KPQ2(({>t0f!!I0yX0VAR<+TQ;Go zgcbn>RWlZo3+QhCcHJBOgbFjn*i3}K{EmL=NT&8BF5#c0>Iqum8x?Kb)a4aL4=U)U zp`;3aSGI^2B6Tn7KR%=5hMX0Y{jXjj+ zSBo&eoXD=Su_kheD%Zd=OZDDK{pgtJXrIUb95PY-!+Q~b#PP=~ zh6X_poJL^QmEd_sbod8;<18J+U=+chEcb;`8@>C*`T1IL!lpyPDol>U&lDAFOGSSv zuYV19fa$<7G$YI#9)?X6khio){{Zk8)|r9(XQsn%che_Bp2M4lqOvcXU4@l&kp>xf zf5I_3Yat50&0%*&Yad!d&OhC&P(ne6nFZs%cu6W2al}Vv^^wv?W#SHNcjBC{@$xS4 z*O$@+w8W2XIWn|90B&Mlrz!7OG>_nb-%jt7fKs1i&kgys4|!7N62wL(LE)xxyS~)r zg3sZe_zFZ6&S3~z>iM3F->aMHFTeh3D)ga&!57Y#x+cZGF~idl;E2yO=f%jb^!E49 z1NiKD+R2Y=GsTv9ZV2n@TE6pJF%!RXrM6~7gU2@>9X4+Gh)iY6YQzv=w0OykzjCUo ziMJFPTB!8;R_46S537j%DoPsm0?vV6^YHjSAuS>$j<9|eTQzd%CB$pZ1kZP${ZzL+qR45hgP zcfIZ#0#e%lTEqI=`O7M7PmID?#Pauh&!0UvIp$JK2moHJkI*rW?x6do47ZsWrqW(E zTWx|S`^Q3*t*zZqe}ASD-~4OR*q>9To-x+Ki5fi=qZO7Tnq!N~U0)?l@Hh?RgZ(Ad zt5EO$f&T+8;6zp)_&3&i5v378k0X*-NufmNwo$-l9Zd;w6WEFq%&d*bd1YWlX5n-L zR)bwZnPN$;Z*nYJqSE^91+$%te67*7Q8WK zMfHVl%k3V;$6qj83WW^(%tnEz$;q2~x0_5Bux2;QU{Qz4zB~Kj)R1bjj0y6@6xlq5 z-fZloM3EesN0^aM&F`rDH&z+S?b}qllBK$08eJnQHnmjjJ~pgrw~Md{Gj`L#2w&2_ z5Byy9HmDEncf@r!2Q=4Mot@J%7Di{rkIU%k_L>ZDlvNJ)B-0_dxicM=K77YP2%kR^ zU@z5?=dJiqpeXh2w*^E2URj5aUfW0~fU=ZE1?b;4_8et^7##N3C17U*|O zr|ZtU%iC|n^3JYRB*^$~lvi%u`C;rA4hAVvS-c&H`Tl)1mT2@`H#C?V;c6^J<6GGW zL)mDzu4&+R&J3`BDZMV|LU*&TCewTXFDd1Kar2XYQxV*ZhCuT54&eBPdYUHcIF3x<9R!!VHmgipIkr9Ec~mDZqtJAin=tM*TTOi_E_dPJk#Y6&zT1K+)BH{y z-R(~e4C3v+6FD{@ZnD9vh_Dc1afmJcR^Z#f?J9KYP=x&a>nGE4lYYcz54b;Hph7Jt zS79%voe`#SlA9`Lry7`*qVr`95A2{%T+Wmug!$F-4pEMZ`>~DbLN}&rIutmtikhdy zihM6vPBuxE789r@QS(fs--1P~iwmHY^?{XvqVc4!ljFNR+M4YPE2`?Nsc za+54&;T7y3SL2*~*YxTd=`m%R4E@}n-TgsR12@9y&0z}AQ;&bKis9D=tB{NOaz_Vy z-7Eos{!Z4F;~ashua=Cuf8p)ZYZbW)CUVgDtSY1Lb3lp%d;Lep885){J#<`IO}}f^ zM!RLTFJ}K>WzUCI%-4GPXFZ9g31-_gPJ;&p!KVaf<7hu6$xVeVDJsyon+o31dP-E=4IR_W_}=T0uTXtMep;u^1JMp9WlSXtARyE_?{&g7 zkjX1$d$8*ZHmz^>$S11L0(Udo-PrgI+aUn>+5!=Mz%7dVEj?7btf0*Mj;8TnwxkMo z1uxX}9v|>}|Mta(u@PdKeb4IF?Lk(`x?`;A?wl6KHTj%ZKoFc)j?vOycwIXeE-@Wz zh4tOcl^7oF(|`5$-1veuxX?EpJry0Dmm9y|z&!dbl08JWMj)3>of`K8!du z%;D?loW4M zM>Bncj^4=1+M#VsV&e}E*^h^9OSl_?=rz}BF!AD=9HVPlX#$&UTxU|ylKDP?jFvh?rlXOL z)Z6)pduxsax_R$l_8#u=AU?x)>)T?y+^hP8C-))l_YKMk+x#H#VR9dP)I{-6fV4EO zq2VlieTt^iwmGw**0;c5Z0wt3c@rn&D7|Tu+LXo<7wty?vQ2hPrJW1LcJ{}>VTZ z499@%Fv{D%l8;9StlmTLHoo4%%%w|1Ly{}cR*3@YU&K|~%VmGGh}k-7APSgrMPWRd z*)3K4VR(5{)0ymZoLhzMn2{X5lU&H;PIJt$MT_aYDM6d}JK$7GMxr+o>xiMs%{xE5 zrYCX>WU1E_Jqkp{ngLwH#=r0Gcarj9BWmyJ8h-!cjl>JAlG=BpAE02@?k6^fJR?Jz zN^sTc-s?fe;ZuR*#hMiW=g=%eaZft0f2!qOrCbl-#EUGj@%z%fxx!Az)%?< z!2|%MjY5sJGF~Wha4MNyU`7He_UqAPhDNI`xL_#4M#7EEq}bRsMITnSgeiAq!sczy z1Lv*;S$zP}TnBIh>X(P4dCb{kX?x+YK8Xy5uc6xip%>+*3xT#_iYqP72fT=E&^&&< z_p{cfg7^Kbo>)K+pL}C^VPWY@KvYn`N2Xf-F$3_9K8ttnQ(!9(+kM-w74z+L>Krez%}LsruWQ#!wQu5?`}{LN!3eo0dM29H8l`w94h@IR^j|poGFa6@H6kb$=hq&%82pi?>MeJaM5ne9b6ogMpF-s zSs4u56@}LiPT6N}udu?q0Hxyj-sLI zFLJlcNaJp!(wuXx9?y6z?VfWa=~S1rI{z{Wkp1X^@vrf-EVh7M&(ZSzE6Ac$(-fi;5rM;= zq2**p_fzv`lP)>KAU#aU6cs5Yn?VY5vT=@608T%SZ=47+_X+ySIXV#VbJtG;1tGTe z_tgUUF6870{Asv}-#-Q&lY+JSJ^*aeyF=&faQ%V9=u4v|nk)$|(l3u`)#C4H0pj_k zU@<|??d5XSsEqnqJ<*%$Z>^}F!VC8P8i+V)85Kj{zlZIeP4xYjNP(eH~mGDZ|a*|15RhX;!X`$L1=~>pbr{BGcjVJUi%?9IO42`k!{x}@PPrLl*A=C6srIuR{{Wct0WEug?$6@5|V3i;LslD{$ zhd^F+TtjO1-3nuq)e_4JABg%>ChpflD8<$!S+t;?FcG4O58<&A0N8{3I+6WDbU{TI z72{-MR{8qxHn;Hx{8unPI)j0K*&SnF!y_cr-qoh1cqf0jQdiG5Qt15Rx5+~&-C-yv z1?Gw-s73fEJy7wFcYEaf*PQ~=R4if&&x?|Yl5G5TCyIt2 zS31rp?iD=KFb+s3#`FxNJ8}gn8haOa0Ggwp*5&W|G`yS3C0_eQ+S7$zD!@-6!Zny{^1uB=w zpx;(ieYuyxDg7q>yR|D~_SwrXsGQBiP5UA8L;;zWjBYd$;*coaI&9i{U>V7;FeQ-3lo)IV4%9yfY56v0no@Js~0!vHlcjpCwmYg z=}s!@ZG6*OVKH%Ua|&rRRJHacIU!?XL-i4lZty$Tpj}_0(f+X0cUM7{!CJ<$-YN+i zpV!{eA$0Irpl@ zLSo1oK0?V+G~p;M0|CVQ6L4;8y#{ zxMc^;N18ZWd@93u!_imIZP`p#722=K=^#WfE~M{L$A8mt`{wPhgYN^J_kfL-Bxp*K zQ-Y6@eE+G3sRk?H6j-7-1q2&mdepRxM2^_EYhPtvRS_u|ekHh^XJ*zoQIk=jlXIQ# zMwvCqRY(+ocoO(%4 z%JJ2R-o<4927<@MUBglwm%-B9hK!18a|W#1%Wc*J1Iiuax{a&zpBgCX>$3=Jnz^}A zh`~-%?9!v5@&0Bswg{cm`RSGzpgW^Oc|D7XkutaIaVWz(k~u!1_D0uE?bodEp?Va`jF4E888-qtO#M6+;)iDs zvkN2PJOXSsyE|NMML%fex_6cB+Cd2N^vL({@DMmI-9VGdcwQm72`GH}x|x)wUv&xP zxsFcNm+#Rz79TCw+9W0w*M5kI zwZ*l_8C1Q9u=hj>1(el8k_;$r#P(s8&;V##rv*YAx;MWU%p9NViCYanJW`#fGAb9N zC^@Qqc4KJ!Y+3a{>co!E(jHcQAcFXx*d$N_sX;daL?GQjzhibr#e`q}GVlIC<#;*7I zuOwL9dQYF99@xii-+hOMo3uEJx|$mOGn%Bq8EiA#cquN$Z~_Q+i5RG|;Ca$)xNdNd37cD3)%;*3<_cG;{2nUe`n8qCnTsRaY?(Cj2X`u@=qqA5S_K z;NpO+?d|&u3wC=yZX1-CS8^ilgIXdu z#>NO$2(4*k``V&>YXjK1E{q%$)JXfjTVnx<5B|t>A)!e+$fhs|^sM{pRP;Z%Vqs}{ zO-SO==h)#!Yg;XUs|%$CefEKZ5Ul9KmPTzf9~9|soMa@x4pwAq>p8G~j^Uaa9Oel5 z3hSkadu_2<^_gNlWFwzaEm>Y&M6OC%Bj03&)B5IhE!I#E-&BEP^8Xg$eW}gmsCVUQU)tFsBa9<@kn z)_|n(Bo9&i?|4*ThOEmt&1K5!wFHS9^1cSLo|o*_!(Vbp`;M2gR0kCzYI3Wd7Lb;# ztF0frz-!r^eo!uQ75wA&u3T^T^f->O;~)#O2kV+fsh)4n;Lr1?3fQkqFUar^2`3qF&k0m0_03Z6tnpC{)iS8(xXio9$f(tJ@x z>5>0mEiWII;yQ9ODp zTF!TWs!PTfn{R7tJ2cAZa?eA-MOX#?vhD*2W_;xOR=6E-#1u!+Br>7|aZ8$F!bL8& zV~DFfGvNYwV>VXp@g#V9i{Y7z{0pEOx z8-qw_;;jEI1&r66y;o1FO);!o5au-o5|*vqe(qMWTs4Xdvd(tu$NFd=OgS~q(lakF zTKM&d-h_EOKf}B?1iRxhAt9bGODJzl1Y(6xiEnutqi<>ggKXHL@M`>y+}VPt+-~q6 zR#9)1-(1!8P`(=4Nv6$+_P5$B&*T;|y9*Z>kdL9X2V9t0|TJz}TS9CJcs z{SvyY->`(Kb%9uSV&JNZ-K2d>YA^wy{tn6+_Pfn{}ZZ`0q5g1L)|!q1Pq5j>F z&(Dyv%7uvzVxjm1gF(hn>&ekM-#MF(7v&HCwT3%ijtvRIK5Fwa=38T7fRqN47VG7i zN*c8E7c;wX*u%rZM#npH3y!g#+7@+4m=hz9PJu)0j!6EWh|XR;6O#g>{j3@inzL=m z`#;0>&ecx%F1#ZIKjJk@$6X>VHmjeqi(r>cN1ly6zDU<$1>xZ&PFH;QM%`IoJ&uJL zvUb$u>rd0<4Os~tqBxus6BPGwr2`q-=?ep}i?@bSPYb0Hq2(x%^Exk;H>%U#4y@M6 z$m*E%l`)jElG3iMqZp-V0Aby(zWkeUuj}rGv*uj~PIe@ZlHYM?VR{o8-@6KG+JGIP9zCkU^&Y3VX@`Raa#xw3~HY z-&mZsRHFnLq#d!HeIm#cvM@o`r78A_aigm*(R_Uk5uF16DTRRJz98HFJxH%#X>PC>Gao2x&1*=OXzOrpEh|H5d_4&Rrj8_ zh37&SnFi~)0>a8yD=N-bS64w|v#quLMJ(A;ovTOyUHrTwu6sC}F4)T)Bd|IXFtB&; z!r6dpWYC06J+gv751lIA%NuVj8}0JE``lmI!-J|&)l5-wv}>{qAusJCpHL4pj<#0j z)v>HN2FQCw@C(O3eP9Id9#K1d)CaowQ{U6HX}ooa{PQ~Fp_b1k(1Uz!1xUjtciSdkZTI_p6snHAxg1w>I1U_Xt+Vf(pyF?N8ASSme$w zHGsQWfQ>&zV~v8FZG`(c*g&>O&;t0a$VpuCjup^>Nw!~#)H&xS$czq8FJ+#H_?p-1 z7R47mUQ*LW2i9z*U})*cGqjkGeuj<_{138lWGd!H@b%|9-x+j?2w!PR)pi{FH_Y*; z)_M1X#j1{{XC}q?L?^6r0t9GgZIv$kTif8o6Ys)K$h%s-Y89`mZvFHg5(K_PL4ZP3 zE&i6`>Z;8aD*q69M-RkR|GU=$L}}YSx;0q`osSyuyVMQ1=}S6BpuKnJEfIWj9}GZ+ zz1)S--K*f@O#8mYxaR?*J^QT9r(yqG@Jn#=EnkRyYP(8-PT^a^@Vdwo5 z=*g+cd8DsD7ry<(jFAf3{z)D+g{aSqNa4;{T_52DLf-6pP2pqVO}nq}c=!dq*$ z#Sp4t)bNr51tBGyJ9ig>X@X)A1#?zr4o8XcrT-^`elVaQbV6OB_3+XH;(GSE*jU{ArAJp zk=TPop~v9_usYbONWNatbnlV_$-%(L@Y++C(2lQm5}Sqw^#-+Vm1AKu_8Uu1>Qq!} zwl)rZiQl3RI!t};Q!Hx?{H1#!qhA}#t}H3i&HO*7okHqAEO*vEbmIuSzsAN^Zr7u! zH$Rd~@VtMfa#*sWywdaPF;%;dr=IMles)fdzFHR@I8kL0^iKBh-O8u06lpw6>2P<) zjAzCG#IwoHfQ!`mZ+#UEnSb zSr=U$DaRTu`PJ0&ZdlM)v^a_cFoO#p2U0#8F^d9|^nU?wWPnJ`ko^lifa^6eMfJil zd$v+?6Cf~A?si0nTQQv;3ZDv@qC{=vt9ps4W_Gn>zCH2vRk}$1b9B@-2`s#%AZl#t zZ&P8Z!Bqq!*pq#tbR4IuN3#6k0t0|dRpae{fUdb?e@o-AVTa?jxRl&HI~mJImN$TO z{u6Ibahes}Kk4>T`&HQmiFd-cyBRdPhXb}G1Ba@T1sFC@XZ@otq~pCqAFb~tQbgTw zXw&gW9f;iH7V-N|r`9;(#bt9rDUnvSAeGE6#r>{dnb-;Irmua$@v>GQI1O)`Mkrw3 z1DD`voDy?V=6b&kLmR0&0{`DNvcpZjAp~a*YK6Y)Q z3?6vkD2)(x@a(QQq{?m7%xl%{8ra5Rq$E6)Kkx5JC51$-eo)$Q1G)X9xQ?+J55rC2 zcn9?F^)IO9By8GjUUxLs5jGj%NbYt;mE#y5(+ z=BcLEQ1?wON!%c!AaPj{XQj%qect5{*l$3rk{7)ZV_QzrDLHx5^66ETBtAn{8!_p9%yyuf_EANm;G=(}Yu>3e(A8w~OUgFGH$U0_ciq zpK8OHK{B~EnqgSeuu#q>vrHS+6D}oUBH8(_#Gv^8B%dV(jW;{@cXhZaUxZtDG}p+ScL5Cpaey^{TbkMh0HbQ|^swB4RS6mqHp;-f zL${WxaTYM=4I=FAQ3(FyM~3|ELu&WGMCkV3U(HikpAeHv09bTR;swPk5h|=S!vw*9 zVbI^yA#k@1Qu(W8g70!JRms|aXm;qr6@K6h!0Q$bOfc(o-lD25NK%&8gUJt$+`7Zv zMMW*aQ*5}&=LdF%_&D1X{B%3(2w1IdZc}FJuoYW=z(E9P@+t3}8_Be9Bw_Lb#%L3i z>e%&Z_w5qX4)d(Za$fC@l;k(_nZvKysA-G9iYUSDxnIx|Lx!sZ*}TKstHikb8?EAmT!*Pj-50{`nYFZta^J-_>wg^(qg2m3x9-lmJM^30 zs^m>Gc7MCVum*<;v^KSg@9G-Fb7rLxnwpMonPlJZMZ80qS373V{~7E6GUe{GNTdSG zE7@JxNwpJu`TRc3mbgho2dM;)OJ}$X9oKik8qPHOn!FzQypRw zP`vP^dP(H;MBPRA9t+EIsO+x#1LX(%1QzqguTF8H$&;R>K7;I;XxF(3Io`vi3eQ0B z%X79tyb_Y(#Q^klsdh$L^g0G`8oaM3R0_BtcF>biV4y1zwOa`}5XwnBYNwSpUK2*K)=a zVoZf(L>Qbl_UAI&T-ce5ND;F(R;hTi6o}yfwg^c$j@q^emU6g~3_8O?7e$moR~n|n z|H2ZoRol){|IrNv&#>l3xP_XS%h?>PB%%*!ZN~RH&T=dz|Bq-rOMQb#==34RdV)hPPruwS&-F+q1og4wc{l&)#82dF3-7a zRRl1q1WZR=bWRkPz~D;zq}Pb+5N9XJqd$f{E&aL@|2o*35tBK3A_XYW>BS_W9sucg z_4Q@bZaL#L{LN%w{eG%}(HCs!PG^O;bpxn78Ia6V?*Yf(F!42loCw~iN$q6TsA5&y zJ~N$>=%{GdypKxTn`7=pj*GGpEawFUJ6q_X7%O5|RFnV!*pff3FN}GPG6n*mUV#wQ z>~!qWJK7z{ff{W<;X1v5LWvYq?;pqkT@zOx@)Q^zSz~Ff!gie#iZ(vVBO6!lAM`uG5?#9+^4<5*?YEMujoMc-*P=LRb56 zTv2hcNiKTrr3um;-D;YiSM%s#+Vgi|4`ArkL-c)7zJX=>L)nfxJwQs%wvN4%d0oG? z8&o+l#%3__T#SPE%0bl6$hgWjwSLXW#8ET4`1kgWV-CHs$U5AMQa#>+6bO0nXl|3x zR+w)~=nJpIywcuzRJ-STiWo|p+N^0cqdSdXWM$U;?hfu?jui-N#$mjIe?WXnqu+KN zEs@2m4SHAjl*q!%bqJzw%f(^jI^j^lKBm#Ti|S;94fHaF)L0L-#g6BDj+C;)(N6xL zO*&PN6Vs@355z^PJ>Z>vWaKm+rCRy}as}-PjZw6^<=19hiTwIE~ zGJ1w(I5rMDU|cF^m~-AqDIs>XMnGn5^;%1;bjAtV5BjW83-#6IvNqoz1O4IAc`?}- zd1^()uy{_uPOOt4X40YMLk{h6z-IA)Y!CYI()+p8fG_HnG||PAxc9g8jFIY^p&Tf< zY@KBe(gH8J+|)K*;phP~*|3ASa;F9S5Nc>3NP%H}orTH@(CazO5!Yqw;GGEY@~jN$ z#EQY}RvP&VU1%QRw3xP2ArJp_L|m4h@Z_|<&$KGF`OL-F=E?NeQiJ7}2(mvIma_5$ z;j!ygJ*{c=Dh=q8aiCT&kCeq=E0*IMbBzGhF>VF<=yYBRg<_6Ez(j51a36r0z;5%W zkg%}MK4AE`TO%Zcwt5+hbjmO+w~E$pkbk|oqG0;{-OiIeS>Si*Ro`lW3}?Sp=QIp~ z&kgP&Ve;9m^|U>VFP6*A(0XXFVqD);5fCZ zN!6Q^7TeB*ZUj3kR)ON-As>JHcZ^--sz?)QMYySFU*aSMIk$xBGb zZKqIMMj9dILx+NLDxYz1Om*lj;;=;w9OzbPXYlT8_mj_M>mu5B zb#w}6h&*q@IWT>RBT-kp!csMU9}A-xG|2fDI)96R);>Rr`k~!}Nw0MDA;UHni=%m3 zX@yr42Ak^L`tn@MW;@}{Wn^k|P?@#0^%-G_+01>b)qb(aXA3Hn6C(Da9fdL_LDbL? z(TwS|4Sz5akkQ!M=;HC#&MmEF$wHAo5uLMyUq_%@^o*u|RCmQ#|@d93-3gi`fuR>%xZX4Q}312ZZObHKv;pId1 z5|})4O9>Z?ocL6b@)rCyJ`ku* z>kI)strcWACdnoD24!fb!dt9@j4#>||gpFZ8NRib*MQ>(a?+l;$bx z#zBd$49p_pb`_pZ&}H#2yqdd=V*hslXMj>m8{np(CIVo#F6xfd zb+Ba^CYd2=u(IE+eB4xvdAjy&GX?5W3FhA%Y~lqi=Ty{iYHBLJyBxW(C30EM34dzT z*3NF`{ntssX`**z$>K_8%b@GxD@M;a8;6xlrq#}o+0^@D6u>4uV-{&II92#zGXH6m zcxgRfo2<2^9k5P$d}m%QQd!*T{M?}TA83={V7fun$nh>6jp}jeOA3~n#jG*1&wUwK z;ObW|^D>&b;o|KjKaOwHnlnfr^Qadi&bFP)>)+pRaM#kp0vNqQJ;~FSaP)&u>nlyf zN8bgtodk>=-YePx9q8Vo`8@s6Z>F_L*Sk<%Ex;ZRknJbM^Flo%W7aN33(ukq1w>!* z0Xg1xAWA}C<*NWT&U~yc+VFA#2Af`Ki8++=RPupt0!MR9BA~1vY_4i^gJ{qMx2;=& zG5*%~npS0t?HgqL?T%ChjrZeeaPOR-=he%t@Kod!HFi{|qf#OB6t>Im2{jW3pwCHM zXUD@t2ADK_{l*b#^MAe%8x2>1%hK|EFPQ-oI;-iz`H%6HsakwlfC97`39#XobqU$e zR6l=p&{}3}Ur5yH6D)7Q8~SUtPdaqp?5TmcLm{zqB8(qRTy+dfj$uO0(_HgsGtcH2 zb)up!clW|dm5|}`?J9(=7sUe&!SqVFZo9^4`{K9!a$?t|OAQ*E8g7k*C~(Umo^Uir zkA`in9kJcW-p5b@2Ug})!G))FrMqnbGujCLb~Qm@YOheEm?_&Eqp2QLnFBY|mzGYw z(>HQfT?fE{o{mo1*HkO_o*3FEQ}^YsYgETwuu(t$nQOYSp;7m?Tk67Mf!?KL`4iWf zI$obKFS47qV?WF_^{2IJ7|u}#m0h6!2{>*osQOwnx~)_$&ky&=ZYB!VQK@a5^ttXP zu{LAzvU9Np&=j*49=roKv2v&zydEL0ZA+Vou*jL!5bDNdr)mOs=l3K@kDB|MaZ)C9 z8-z1gu6))sC9*2{4wDP$c9#Qw7BL8U(?U8NfzR&j7)x_47!LqOW(?S&QqRPv1)c34 zK2d&xW_U|Z%2_6!kOBdEQr!CcaO<`VnSB^{8t7^>NbZ2~#!n+-@? zjM$-r&;8KghZ_C<5OS$g_vj8X1o~Q|yNWJUKV zWi2s66kn!Ch)ocEXWU)N7~u-kV_2p`Mn-;rQ_%RKB$u0OB}m{d2E2)O|wctJv2Bn*BUk&B)gXX?`k9D9K`2gRcyjJL3x8OdU`|Y zjuNyLVf7}TPHb%3D^=t`?ru{6c7%H+}ym$Y{lL{@m!F`@jcHxL=grkIaS2C(aJ zBO3+ZLVmxv&A!x?A^XCDdXlJW0cttzs?#-7jrT@WjriWEIl+SSTVca`q{G(Q10UUW zgscyLHO0$C%GYG|&DN{Y&D~Y%uz#E9v$Ed6@?%O5OW)eN$=5x8Yj{s}G6EtO#3sFgmz+n$TRC%y%tQbex8*2i6t7WIenXbJiFD$&VmQRzdT?|ph~cg8@s{j@6+F70}Y$# zV_qlzdn784=Rb9t`{mv<_{s0C*be_a6683zJr~ literal 441684 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 z

nBbSrMA`p9_>NJ*bx7j%52I9i?M#X)l6th z+iHf@3=&nr(0N*nTey8ZO}ir&m0BC@MJ9Itu#pmbE8UKMt`JLhsv3tztgkjF3LNaN zC~}Uhd80rlvBkzuJ8bv6ZQ3-E;sSHnoK;ne!yY~Wr;HCx=iA(?8Gho}iYmTA4PDCu zWY9(sE;#i+sF49NmjFQ-bR7LbcgeeR#Ou~0>iQ^xYb=)yYUmZ-Mo+nGGirW+H>0n> ztE)Hm-@t1(P=rD*qA@50D^CCTQ3)i;M8w1gH8nL4U|g^RB-IYg`eY8LS^~#l${ar4 zY$My7^gUX$2kV0kLL!6*#@l~afQe^mYg-5g%%3D7y67%~VGS*+6+HuUqg!YoENA~u z#lah_i9jYMsIh+eT?HQfnYfsk*pt$ypGUyMMpDk>?^AuKLQ+HoVMgkNL> zjrd|g9u&N2**WNs?{!hDG^rgwYI3nXf28_dv(ADk-K;aoq!d%zzo=Uxqp@h5zZdVw z$=0^blF&(nZ=`;h6zQ9j;Hpk-Pq?0IRL82jd?+_L%lG=A(}m~c-}y6lq*yS<6FM(> zDgXI8HkKK8b^OB4rjE5+FS^~e{M|ZsKYX-Qa3W?wqhx|NsL){Cq@ZRcHIew>(zY3M zoMzgTy1KOMsw@uKnaoo-Q(JUPK+3UF!(r5v`bGB zrmQ7lVYi^4Nj1eTJI&AgnMNw)E<&kv6bv6gB5xpAjTR~bn89#f}oI)+a8ibc{yd4o&oQ&(lHP(@i|V?@>JA;nqu*#O$$azNBVQB(LkUH z$eDlmA4QE}2eQY*!-)WZ2hv%(jF3c1BG1LE&@dGF=XkFnUU^EaIe6M zDtx0~#wCnti#Sbj5@n{?z-$TL5eoM$Weghg+JEn`wRc*~?$^+cxa?B|xc>Iu5)DJ0G0I#+MNO_GIJ-zxU3|h7qZyj9l!0 zP#76}GAE2JtxP%g9Z|x&S;*8V4*E!%3&?=TjDnuu#bEnYW69R@v$=)M&+Wo;L5#MV8m(s)9)9nLy{4?i@UG+WAJkRw&}O@G}2nIZO|Rt zheY1i?Ow(wk!o!dfsjgEO;$#0(|X~ZlyamY3Gw=q{QAj&trGj-#u~9XQw0KyXg9#D z{i^yXBwt^3Z-PO$+Gxc7QBqXW3yN796D*>TT!&hps4HHOCn@}0{c_lDBBQc#g@y|s zA;i9K4+u^k0wvop8YEa3sHrbO4XyzN?me*CywFEcR?H^ zzCQG6OdcMmeCWnYpI~kGf@atw&8+bzMf}<|i_z~*T$1=_hSJEQ{V^Je2|*08i_XB{ z;1UdlpCo;c-LK-qnr)c}xi1BjxPu|Ap{Ecic=pF$B5{qMs~sLUv;ih!h=cf+w`9=%Mo&?wKR|GSApP3MjlyG|UU1Sgux{yvd$QJxxWCFj zu2yDL+#&QYp6zBmrwVSu+4T3~IHaB`pMA$mLL;q)_98S{871^J2b|UagsEtYvP~vi zwl~QnLvQk5Gp*hBwC5HKSn7WK?Rt-7n>(G!Dx$B&6(~;C7TljL{>?8SlBGb-QETn5 z0ra^yrr+t9&{tN^_R*gMUyyj zzpQ>e8npLmoY~QwH*2=3dh)Wod0F=@Q!Qe?e4g2+gmP{P8kh4e)3=J)1%0KysN*i1;S5xl|+ISpL$#{iIq~R|uLET7d4W|me2MoV8=m{k0FGZJn2(LmR8@$u{Q5YemZq3f zm4kZ~6&a0<2AYsU6%c@~_c^MZ>v&1~A{w~%F$oD5sF;{ez5{wSEbzFr-DAAk!SwWG z!;irk6pk-h30=%U?hk*Nfsp!rA%fW4JA;+&i?lD;u{hT7g@eC|sw&7@|!VBkT);h>36RkNc< znvWw?NMsE|gL7OH9$cBeV|#U7j<@sGzBOZ*Z`2wAi_vVQwtFzg?XIc&@3&d-k-rKR zLMKU&cx;I15->keRmI~Q_^x(lx;Dak6qDWE#}&CA^6jjh6J(x0&9*wBLcqoTU& zWj8KWBDAx6^y%=%RuM?y?gjNMOV<19Vg8J1SQ4y#-`x2f`RgTG@01|NY4WR zO37x8Lq+B?t)I2*4fv{prNk3UWD15xcX)1%i$%x|&7+E^`dWfm9vKYy(S)BG=c;8fKGRF^re%e zj2HY8L$-9+eJ^1TJTLffP}Hu`^`%62Wpx$Z(|q`1Pmn7aito1}HCIx1TY-j;O^L~F z*iHe0shO;TN-QkAtEsCSethf=?u7YUSo2hXE~~(y@Gi5I>*XsP98Z4%e<;_f=E({Q zeDwcERLOb>n@}DW>xjumX6Ir*&&g0+&`t>J?CG&cnJI4G=7Y)%##W|*FLRWdX|tX;sVi~6 z$zi~=kv=*0pF4OKMpeQW_g?k|RPA3jzZ~iR{qMHDz6(X!Zz0p^L!HMpayGh)Os|y) z4te!uuFG0c9|!ommPXl6UNr zJUQyk7!KZ*-Luqd#4I=n?hT3_zUMIqqGVN+EHjIrb%JbVf*&xCO-px?QQ16ddA^FK z(;MW{O`(Ukl9egz>9ZCzMo3lpwKh4Y9P_>5b_zvH)2sTUk5f(8g71sJ6n?c31;so) zS4BJKntH=oT^iO2R;gUVs}<){^N|k~X|8^>M2}f8LQ24|IJZBChk)(XSAkC-KIXT* zT}6-kY@!njbBrc4wnxa_k?lnMS%SKs#TUhBm0t@E%=KcTVwr6A7cScv8V~0S-Ga7% z&~;wmNwxqAewh)0%hh+W zcSnABA9uDc0rfX*V01JbV0@TES-H6h02gv0gUK*HDT&SxY+4oN&W_6r<>i~7JbEj5GK|169U&p1dAS}|3jEK;tLz-u|esDnrK8I9iJw?T=kjhGNm?D?<>9AYP z2`FDI`rn=G?(CcbZZFjh+tVswtnr$fn)3^P{@?=b?p9S*l^hthQtzn3|Le0-S$ss8 z{(6Q=#1KTyTIp^{<`P*(hud#;GBC;l?&Ir=!K~$Nj@?i|ii$bhLqt$z#|up)2&}Wy zivNCi4YC^Pv+7e6!|e#Vu6J}nQrVs;+!k>YU(rsNA45w|?TUCWqIq2~3+=l=O*>Wk z7d`&aur;M3QKTPQwTEGwV-o|kYT|b-=d`C--lff)A0oA;$vTC&>{^oEc7Arlf7Z0!=f$$jVWb&n;Q$$N2+QfUmcieE)%~< zJY!zHZcmz6lr!_W>>3a6CnYN@Jz9(RO6CFB3x-+@8?v~ZKKe@cp3altThWFy%ezt% z&a0vUZR{o9Ycvwo2UAC3FO4NlxORFOMS^S}0OKsN09JI*oIY5a0y-9J=;Unh#%cCV z6$emC@2bNS%5%Fv3n}aSnC3dggOLZ&DG7Gq&#|F_3A!4{GjD)`=>Wvu%MfhU3sK(& zQXo-V4-F-ZhCxzFN>VZkXh-yr%GqRhE?}Qv5Mr(5e2)oGh!{G?2qoV&tB565p1k@p zcN*C?eXOsicVq<+jV)v~$Z+3H`EbQ%^vWxsROi{(JfYUt*RKG1#lK60nJn1q+gr^8 zRe6@Nsp<9xHUC38u%9?P0`XJb)2C0Zc?1MxhJO5T2KOZ_`4bZ$mCT5c$3n|h%yu`8 z`(6CB)A{c$uR8LpE}y!E@;hcD{#7T(z5JdiS^~?1^@JC#zm%=1qB~LjH7#=a`~eP0 z`JA$Oq8!ZMX#R@?o-eps*dp-Vh?d zufLJEP$A1fVUY1-ashOezIs~NEn13nqATMAcWBKa5di0goLZmiOf_FdB*8@;b{0}Qk4;{tvk^|yM>8uaR2B+2t?l8hT zkJr!-pTAAc1ABwOLHy-0;XN1Yy;DQpo+GpW^Yn6SB~u&h;`Z-m zU#fn8*ygzNgzmAX?S^6`ua4^VQ!NA|Hh#WyRd=^z5!6-h@~9x%E8Sw5@Ox~TuxpQ| z#MiA3&$9*zau14YGb~d-$J}6($1!|vFgjSAnDFqE@PY)^G;_wHtr)m+ z?OIlTJ`uQCxF7s|zX_>nb13edR2l5Xq(EWJXKYRAU%-MNo2PAwSzkc~LW(Z`a_J!?jRJnWx5yn8L z0~7`v<`-2yh^h9XF>=b`NIH9bMn0me`+`TnuKi2ZD-|!DQ2uL^Gy63ptJmK|Z8rQP zFFp}B3#WY@w3`uD9+%Czr#^X%KPs)kCAmNOhN$UNo+ddf8EPD7w#0K*09b1Na||Db zFdYUC*aCbx)YbEc`enz&a4}%o*mAUPJO6Q~$^R#Vow1FPwDcbzqRQ-MKda{i$iP<3 zdzAv5q^^b=yu*I|F-n$4u-ktoJYEv7WU3Cq;bxxQ=}>>7(c99N%h~<8NZIU;7;bAJ zdQ5Gmp?<6HHAB`P6}+>YsDa$B zXZP95NABz_+eVwJV_nw=u`2-e2jiR%iMUC>`SxLZfCyBSc%Nc1;HnG zTiSL&H&74U2ddEnv@=i9t1%<31<~_mi_8wLPA7hk!dY*rYj~4?vt8DIfT$o>#4A{v zrexM-y#2KR6a8N;55nyuU_8>T{!V3OpVL=U?2L@eXlfZIu zyxM+nnyZCQy65dXaJdDdu_K~}&vhPB8I`@w1MCR;MUU`PGXniXfrHP)XDK|%H z15@Z_1J>f{nD|M}a7YAFjJHl0v1oW1t!;qe6zbUf4`tzGZ8UfPL}u{^k_wl|XI8na7$vrA z$wA_QRAKGkko!DOZ+HCS!<@Y|=^PLZ_UrAw<$sURALIXuX*j>qRknx!`IfX8Lt@cy z<#vB3orN-DK+Z)zyHZ2V5_I)Y!&>ysW8;wPE~Kt!d)4bp;`+jyI(Pe28gNRFB$DY( zqbuXo>|H|b&fH{>EfKy(k!yddNy#kT(_Yv5?}Oblv>|K4!+hbmsJw&%qL_dlxt6P4 z;XnQK99x>I0d-+h)x3OxDES=Xes(GYs+4x{ZL(B>Oy?T+Et44tkRyYK)UyzdeE88_ z3|GDP?PVZc?h|a;$8rG|Q6p90t9SxT>O+X3f{7D)K1@K2X0VdHa~?Z<1m5d*jsnOx zi9`@cb>Sd3Hfu%j>#>P9q)79(Z<-*w;3S-3;N;}20F=~E%wb09D;_b;VsKDUge;65 zDKLY?Kw5MXd>OeMs;_Yte-PdVXS7F1^G+P7*vT}91(05@2nQpY%#4il@6FD;$7{W~ zrJ+Wi_9g^Qi4xw2^uCh&NK4(fsj90l^3gH)J=%Ckyu;)G3UU63yZOqmUU5?9f$au$ z9BzLMhdaKODZwx=U(&^{1&S1;AMS$R%nsH01KdI^ad{m%Ps97UU)WNpynltB{3?nR z%U+?7HU7Lg`8vG#w;MUd0eM%SOxJq`yBP0(Oz-M>6m1pG^X0!8{Lvb6Z^T23_~2_R z@P*+MRePvh@2Q6g`s1v`+=OmQPZRO86wbL`h~qZHrW27f|4i&Hw~v^o)9(&O8&|E9 zx$s}w41T7Y6OiK)KSxeLD)dffyi>#)|l(hOVh}+3U&F0S7i=AG2XZ9z(xSH|7 z&)sJW#H^H>Z>_?d6$N7Zd^ZRY*^}DO%W^ft-3X%fxkVl^ebXfWv=i7uM{5U!6V4zq!t0L z#?NYx{lONdFGJQX^K0Dp^Wy^J0JmTJ1;m993Sd?TF?uScE3T>sPAQ<~ZPXrQxXU$V z5#Vzbp_@O>)ktfs#B$waWo7y2fe`Eh$oagv zxp^S)*UkpP!pPS-Uz0@N8y7@C$+`;=Q z{|HRd(a$s^?!rU@QHPMxaTW!;3?VLCdHLpj{qGU2GoJO{T46`gFCEyg(^?2xOgD#d z!`)a`{KT0-cKWjp%V>%AyQSTK=QWnD=x$_jTC^@O-R57V-AOx@i)huFD!Yy+TRwK? zS$nYs*56Z@59?P*p(97P<)*RCkMeV5&#|9)@J{@Bn3esJ!UYS;PytuaZIs9RId<)X zJowPzUwG9NX9xkQAx5KFwpW)N^VzjPxYhhpukzQ|ZyM-zs|Ow+eK79)RA4GA&^BCy zrww0>VP#qnHWon$N(y^Se67W)jd^v%=VETA9h)pK6Mb?G4_~3YqA4+ush74NoNC6Z zj3G&pySWBpk56*{U35tNchMY;yDbx|5;P<(`~3MzZ2Y4Df+Zn`y&LGtHOUvRn5B$1 zX3nh#-4rfy4Sbh}v!l+GVX@31#j-SE*Rh?TpWA5dLx_-w%(n~#yulUj@D-r>G!ikj z$u8l*N2p6`F-{5Dqw#s+zoDYBb zatln!DnrOv8lxj4eLVkk#}c=+v`q6uprMhSon70UVD7;SR?%NHc_U-ANXGPY~U;auw2jC$Lqv4pBP*y<`J*qJ7%_aAaiU z*b5v2a)2IJD&=!nz5roMq(JlK24etgq#}J3$^N>)p?VuE9f8Ur)*=VaR`Ng)eVXa3 z4E`Gp`k|ejuG$Z;W~F~1O)lcM|979lWVXy<=9qX@_DxhwsMJWc4E4m@JaL4JVS}1a ztS{bdZVBTn_Nll}q1s#ZG}u1byY3rJ@`W*?BoaT1TYeXLf?Pg|>#(pDDY@f+;k$TT znZxRCaj}xg9h0UZ+mig{adm9mO9BnGO};v!7w^HL+Xj2G^G0bEUcT?HFDHP2H66_3 zZ7&l&LK_?i>c~<8L+o%CR>ylbkGCntNkOXI7z}ly(pGYWz*-@MouqR^s0G<_7#s%!9F>iCv0Lx4PA2hf%#$ zKN1djmmiD!nvwSq z`JZ4z>;z!8GSqSsB?U!^=%q`>ZpOyODGEf6D=!i=HV%L`SsWV@qxx;yBIpLBAkz^J1i0OF>2`k*1o86vzVXbkV+C$~(dC3}f z7bKf7k8_8-pHdQaki%itv)Dg0+>k;VAB}N`RIh#W!?bQc#;^TOV*GcK5dzlp@m@XjA z>O-5+54d^Jm<+~Szyfb$1%B?;WEAnbbVOP$V;L=e>op@eQpQ?LHG|vM=9b!@dFrgv zd{O}c85d2^VnRG{&+!^Rr`K7FGw3snsc z4)Tsw+Pr+y=v_1X=X1OVpepmgPWV&_Oc*)rO(TFc;T(jGL!j5jwPyqAve>0peX}3T z3q0U=|k_m!U=>`tRVvtRw`c zDDU8F=s7zaZaSSD$WU~Fr`9GQAb>`{-reB~c)gj9j*YP(-30dt(wTmQ5@MYXfFM3V z4xz%Ki_xnbn6uFrcLEanW?w_E3hbxN$V-mySvLPeJv3uE@5M3xxvK`|H0ODk(~gl# z6j-`AN&l2PWbbyE>a#Mb5NL6EP8d68?bUXVs@*w!cEInQ;CHMT?Xqu>8;;~SVr(@= zQqUX4PvMdRWN(y}c!%j7d1*5)xS_x%JyJf4-D;z8oHtqC#zaa*^L%d#FyY&`vz`y^ zPo#e(^58`Fzm5t#GE~o5HOd09uLE?E{(~l)ea@=317yS4}*>Q z>;zyq&%(LRJ$m!4gNEy?i|8J4?b2oBp<&LSOXPTwi(wQwJMDyG+;lqC%_GmbdT)L0 zTmmZdAEkT>ttgq6l9QW0+p07eTfQh~DtuRa|Zz~DOtO4?@342jx-%+QGlrN=P z=`-%ZW!iCtLKW^aKANyQdCUJxFT~nw(;>@2G)W4tx z3n&McMpID0&dcPQ)LUwN+PIb_0PnE&duSgmJ+HDAcJeqLn{(1Gv75r#=G4t}ex}%SvF1rKF9&Y$z zo5oUrmjGQc2h#gluyIbI{2>T-hTz-(791Z(dvFhU<2Lqbot=h_itNs;DP)ox%Y@6sZM@!oc^%<(%W9CRv`EFVehl! zVQQOMfdumc=ll()`bYd0r3JfkW~OH^|7qY?25t7}*a4{PalwBX)tshmQfh^;8dA&0 zh0mJjWq}@|<2|+e@y=C2gF7AXa6~r$PQI*B3xw*%$>J99|MlV5k7w5))^<4P;#`ge z*8)m7%f1O<%;bl?@i~lFn^z>oNKl-!1Ge@y>~emO0*k zqUoQ*)k9buUlh%T7@geK@j=BIuK1x46_vOkkSc&aU~!5CR4g+f<*TBlp&2rJ`t-th zt;@Y-D67Mbzvz zSnMPJkzE99q~N6TF-Bp1*}QAv<-N&~;J8x!`rg9! zhOUn4cPW931&<}14|!dgJuy@IRVBu1qT)eXIX<9Pd0%+^SLRe!KVk03_Vpc{{pd)X zIp6*eUjoy6)t97iN_q~6aZp%Y>(CM)&IsH59T$Kd6TMbNG6kQqiOVto9x~(c@cLh( z=lAdb41()(dBsas$}bGOzLH4u<-YKZG;9pCsn}oQ+YSr9_))3hfqt6`)n6w=OXMyG zhE?zf(~T*1J(C0tlM0Yo9hR%}Oi)Nc;d`B{nHI}I8H@yUNm}GaJMHh`>1m&NWeofn zx{xS?)(QrB#ULV~Al6ol}tO88G>nZ%jXJik7DUoH4~^eqP^Wp+@$Z`>LEJXRt1 z-1a7T)QFZkI-CsQ95Z^H^YteXaZ@FSWw>oIOwCCA`9lIzO-175>%1#!t;>l!Y6w8n^mIBPc9y1j;urCkVOzz;AyWw&>JWx4u(>?YgS_ZlHu~)Q-YBdUHk%&<47Iq} z6#?x0v7R4~AM^4-3;x{SU*rvOM`Lhen3Q#19I$kA`xgWE+kWgEmsHev_*@vy5=%Oz z1Wb?ku%s7kAxODzPT5sIDI~%c2reYdRWZavSP*dkv(t!& z1us3P5)Y5lrQ2J}zi#Pf^}D#hvJxQ&jzfA^7N1Zo=m0ka)R^XU+4Vdv)^#T3e-j}+ z{3UI};rIbf4_2uEaQ+*Vx|~PFu{oiBM|5-YO+e(Bo$2<3SE$5aLT;g_Gki?Pa&Y`z zuLC;Om5hv%^FXH}yqPe~LUnvbkHUZ;Nneqwbo+Kp+}?$dD1CpRtlOu|1>UEkY3**M zmsED8d-^OI4*4)R@4kIs{Y$*uKGw|YIw@Adaq!_fosjz#4oG%2Guaq~PrD$&G2N`G%Mn4$0q=iyL7|Kis=q8xfb?NFKht zW?)gZbLY->hw0$HU}?#uek=0(GZnl!!SLolyW>-ptORGVf3TI@zTbooHUQ?$-K}`+ zor2Bf^zU@aO~lYQ$fl=azf?O4oG1Hk$abwL2pzAl%?-EHpNStP(cs?m|6|re(jYMi z)Rpvb*=)9ZW{(FAnO!Cs*rk2FUdX68zTP14aqSCh{=Eb zYZw0QkV_ce{>*kdt2BpxBYY+1pb|~?j)q-UfGp9rzVkCN{r>gkb8Mt??XP|Qk=H}j zNI`@fzgg$P9gA_98?)|*AWz#NJR;R^mP{iYx$f2aeARm~ zSwdcKk_KnjH(^hilwqAHYFC|3@9S#uv^mhrZ{A-B;*SW?vR(ZPK7tnb4+?FT2^EPS z>DVurjFa(CNqnLGGHk6Nzo@V(<;;wgK=qw0bbsborf!&~c`5gl@m8Do!RL#aee+If zo_9{hIhxi(FBn*KE|wRF`YjJ#@`rRdEucE_S;fZd1>MpxxU|>Fr1UQICcHB`CAL!T zg$8s-ZJOBq6ZCe9cNnu9DdA>co}t%ely;cna%}MvTZZ@yV{P57)F20(BJgtSeawiv zfdS2jAL)W1*Yuu#4?%inDGl0xGZBRWOTv$h*nq146%H#Z;$R8$z;FVCWnb9xe#5lA z4HtG6{Tj!)zkpBu6V$K$;k2_jNDAfGb}nEb$5e$AJF$bA?b>^oz(lbN0Bi^+*cK)t zDyk`hExV^@$$$M0h!AkIdvrYuw_Q) z1Aqt2S8pg4URi%2|M50=_qW?5{g!*ZgOuxP(yOGTMJ-Lu(pwyq`shtU`AZmJB*v6~ zZyF!D0_G~0RO8s-VvC1dCfv^wd|ukt8AZe__1+Qk2lvqwZ*)iRKL7yjnj^v0_5XMJqm@$;%dM}iWCH_`I< z>0(IUb+q`toVQfATxOUULRv{#)}GFq4>(D=y$LY}r&y1=SO2tTlFE>8(%z4+<1pN) zZ+$S#lJv9&cPLM(%I=2v1MEF+2h5F5t4r#W%8aN8|CNn)|IdxsUu*RmO8)e(vM z$U2noUvZycjHZ6+$)R#cY2)-8OqcgMXhFymtW3yB14g(bOJZ6GGJ%VvvmjyS!qA&D zuR^-CjZMnKhg2Z?sDTs$vzyM&O{lMpE4VeSfV|Vwy3(#K0k#d8@s`j~sR#~ys$u_t z;$}F;;F!9iY}bm60JgHr3bFSD|6@miW?ADr z?t~=hMu4I-(Iy z;O5~XWqv;sbDv@4)_@ukAVG_4hhuayPhxp|aj`DOZxTLsK6{Gs4A#XyspH{ZehGW8 z22=}bhuP|p^IMni?`l@Jav;0PPBW|59rW>Yx%SpE{_x2AqN;eJvo5Zx8r&O$oST{a zmyrW*dOJKst%C_P@v7&k;yEc2pdU@TAMNbF^NZF&^t|KOetzK_O?Z#o&DxwgFOx{t zbhX4>?o#{V!r(N{i16>tRy!2)<710I??v(oJQp>Yu@y819!n71i-3MnJ1Hmi^N^W6 z%H2EC=74jX+mailxS!9hSiwMRDt+6-EjH^<8I>AWU-LO!IJ_LJkEo~R(Cqa~lfQOIoN z8dX4;lU;wt@w+2`UwlOLn{*-4I%^LUZdsqG!_o#Q&v!ScA5`A^dmZ01YFT*-VSg?AGWuv>s`5W#Ru-? z6=2on!=B1o6@cJEaJ)4DPUurl7Z>?LP!x58_#RRVjn;==8hWBaIh5Bz$*m1_HMYYz zgZ)(JeHkVh3%R_9!2y#|q!TP6P>l%888Elzpem+C(z&}0!C+OA|KBDI&b%o~Qw1kl z(Cz_4W*x%>hmQb?KsTGgN z1N9ze%g>C8s=4JLBef!^LjV2Yh=0Z|+kH0LdF@N0{kB2T3ld_Lm;>sQd&^krT0ELWyu>)f1tb-Iw;QvjPXQsJZjo zyCtniUe$=KPf2$@>AM~Z#~_9*#kRXU?w7N)FCuVM#)CGML~TDL2a(&(`ubsg5iI*Y zJRRZJtQMH8Cv@jmzmN8I@rwH_=D0%fDxun~u+rVMPJ;D00KHMaXm1z1YMVuF33=9+ z13x?WtY21+Dq^FY{TjwK@tcDV<|)sJQ!aFDa1o^OGg?4a*htT7n2?#d<%gY6n+JQD zyE57-ws9^g&$3#Sa8+{1IOf$zM6L9?BX=_S`Gqy~^{2#e5OgdFW`s~Pu(bO=J)H#9 ze3Y)Is+#}c-=aYW*wzuRL-Ga(w4LoR)%pPjSe`HMQ}P;oMzes5!U!Twv4~4tuVFPM zC`G#jME*Z+fSe3KZOcIwBB)4-hwwQdd{_5F8&C58TWJU)98NchLeCRE$3ZG6Tg_ zyvLq*x;H<~U_a;Nye{H_JuFi*7p%p-P2`q#*vPUE;R$dMGVe5N4M$%Fe&6G_`1P@U zLF-&zw*;|6FKNLp-+j6}X-j`yyg4Gratid#w4lAFJ_52M&Q z4PsZE{-il3Cp%&sDIIv`iLgei^3r0EiD79E@1XaZyCgZdertAj3j1+$g{FZu4utBw zXsWv_n{egHrRoX{?%L8Vo>zW?=m)M zp-2s9eq=RpASQptV53`jZ#X|an)tH~*4b zfiEvdO`WQ^FJ)w89#dCm`wFpx5nW8Pg%&|`r%Ou-VWBk-eP83w&dwj;DZQ`)pE_XC zIc32^CDPH+2?8A@B~*_IzG-ILYK&n?JoxFLKGvpB+OR~+`7n|6cMbXwI*HR7&U%?Czt_(GcvM@HJf;% z8)}mPOAFX4v>n!u#WkkIf07!2s^zH35)hY9_M@i`XTQpM#yaX0EQ1t;%RZiBmiB|6 zkrt;>?vkQ~0}X<@nda?XO>X?FUOrVqQE=^_3LPTUiSK&Q85SG2YPV zthD4~y+JI-qJ7f)bRhTGcV_?i=N5xootDGMsP3C-s(9KKmGN;fnoF```(%$%Ova71ZRV%JpvY7=}V_xvqy@X@=yN6)s{ z>t)LsPo%A{t(+$>cDDNXwO8k|715pPkc6W1ckG5nsk2)A6}6KrQ`%JCeJjHFkKZSc zE_OtO|3uo^vlHs;Om0?Gt&}=!4j_nj=!*=ju->f43*>dm($*0RbYx>Hj^Af|6tK00 zyNBg-Dg!(0S>(N0$+;Z2_N-N0pAsS3Noo&4KB4=N3CkSvXrR*sHToPFw9g+L91H?M znHSj28{J^Hw2!*iZAIV_YabsUlh@VO`Z`pZTTj-w0IQqO8eDYzU|Pz)fG|ip#f^ep zXl-6zo-~;6ncfh-ZuwjuIUsLC!pJSku@Sr_O)WwW0>oX$ass?az=-}V8{|z8O|IJ*+Z7Up=oO?LocV$$Quk?=ItgXCZVE0X9dzAdpgfkk#yYygGfvU zL`T?qkRS*2Gs_07b$WO&mli9YnsZ^XlvS>D!m%^-GL08$l@^1h#f#bGQE}vL$xBT-Z83G?Vj{ zKSzJ(#q4C$h3Vu6iJwZ{KVJT%bJbPir?Xi>K|TKTCAL+6Y{Ka3*%myh&X~)J9?uTW z2_l*zSO{_tLz|lV@T%zG%;NlEB9B$$5uxIKUe`(feGdO&s(Nw;a-s8O*ah5E#Cg3< zG$n{Q687EJWPu2Al|-zuzD?YfOX^j&cb_{al_K_MTK)T!qvVMOy~F&DZKc=Y9rvGp z*s-B4DX(SOxVK%fZFrqI&cA1%opz1WoL42${JlXNUF{q2A*`OaBCI=nV+u#V-xX_8evvu?MKyMH@!|lsNcge z-Wb#VJs3AI=yJ^cZx51k8tL?}|LuUk+H2{I_@iE*x`Bsv;+W#dB3FzNN0crPa8ipZ zY(x-*$^g>nV2}2HYdJ*2Xx+VA&7q*sIJ>pb^Ii7NwA_7AwD(!oxkKFbVlM(hKO1OM zWnjsicP>I4f{+S|Ass2D@21-zcya!){@T}P&@nuGO$#4se$-WhF^x0B7)oT|0lC-2SWXmpH?nY}{~HXL#jh^@%M2QT!Kf{F^y+1c4|-r!h9 z2S#ImLRJQO^T9#6_e+2O&(FW_dXDh^t%fu`4n$A$;nV2R|}oEE)VIy znpa60#P}}NZ!`@&Sc!P;L?>hrE|*)Z-cc7gTO3iIaMx{zgu1p*VdFG-0W^oV|snp{JwI(zEpO`_ab z%7skFy@+!2rZb8?mijO$`t^mMk(qJHhFaIJa6(S<3^CS=t1cR|Vp1#5d$C>qDQI=H z?nj0hhTvlimbCRTstO05ghx5+kIYr9FJ7vX$w;@Lx(c~MYzddXq&>`t*D+l1S|1Gl zGku>R|N#<5`R-8XyikB zI%n|is_9>F^sl}%)65zG*nJULI@(sbedTx;haY=C~J^1%!m$ z0D_sAxbf(%%=@~!>$1|)rhtUq*0?}`V08Gw?CY%u)5ck%_uj1!5cc{&gQD|25DsT7 zEi42{0WcUD8Z!9-??Vy#E_qyykB6%w;KuOdf_cCEuRNeG47$WtyrnhYF+jR zL*N+5V%3NJQ#@F_JEtWl-@aS<5Xiy8>AEzLpVw6IK$+6hXrLqR+pm3qi;22(+T9LS zvShRa>Ncq(v1gXWu{1VP_m%{)+gU2kYOB3R0(&jO$B7<>sf0VRwLapx(>kreK({2x z4=N4_p`V=F0ZRQgA7lRp_1kSFC^IO# z;KdO1J(537#qJTIxt5`dd%eF64(!96Q)6l#Ct4)GO}cmatLabz<JvW-*L6r z-%&3dQL&AJ_EYfns_}K3*ofy$PQR~1XUh2SY9eLMwYbuHIFRYdv4%5q{Y50x_4zSE z?`LM)lgH$Iq#4hP@y>O2X|lAW#Vyd=%pF8)=GH%sgL>_CbV;(`M!!3nxx)K!kJ+jv zGiHjC(f{BAwPBGD#c3G=#a=hqGNzYBbejlF`L8D?Tw*J8T{Zqn9VT}BXUF*`GRs37 zLdE2G2slHVj@0^RK24?n{<%JIK?2~-C|WmiyY?O5O|o2q_sx#>ziFb-YU(b}k|z>d zlt>CQ%;~#ozvn_Y>dtpIhW*uqUfPYz5p=w@l$$ ztVw=Ljkf8DuIIpi3saK1P#^s~sHJLiCqMGs(CB<-pN`l1d@v8+t%9;_EF_8HloDc> ziXA}2NffPqNZ2|(ZS~^Ci#Xel{>Fhz{dt`rV6mQn$fHGG{fx`3-~{>-BzUhuRrM4s zgY1E)xZ}K4^sKtNnk=zv@Odx-{OSvD%F9R4K6iyO3>ODE+d1MuX4lq^*+GhZkzxic zaYC2={F&~CJ|X~I(omlOW1su?%{;-29QYNt8JU^g6crWMj*pJAuRN9P@*OHMID<$Y z+k@@jUo{R74^s~xgz$waFe*P3WO?%<%EIXpuS@+N1F|VFeBqI1>d)tk1164zYBNS( z*u(&yETxa^p?+T0$mUF|L_=rBeZGZ?ae~(Wk#WKc*{(Q!!PZ15iiw{uI$fhTrMESifU$mygH@KzY4)Zj{vFl8L`C?IaH}i%ACaX#uim_%pmTlRHtt1@ zgWy!YWqicE>*I_uSVp=U&yFQ>P$Y0>#Bp-+Zf`mC>6`?sOtisy1J2s?7uOfgzh*zb z!_ED0fIz%e*Yn>WBmxHoNp|x{GgTbz7O1eLQdBR$35H0y$hUQ8Xr)VyTc5kWlUeCY z`UEfPqWFEnsD>t0nAzZyNiuDUzIlGSb`UMve(-8d9J9n~-g3x5#?qYhb&QMhP?#2JvhvBy^oZT)e^zB3(=Kz+;8er^5HLBQ`jN%?hjHsSwf zRqR;)G)A`%N>EtKhuBS-6rYXuKQ_em7}oAU8dM_JGQMZNERD`}bu50QuFME$y}p&S*Em1~AA>Tf6%&tg>j3-^gkqg5?y9Ca>_(ips@nh7&>X z&kVh9$Hd*w!oF(!DY34DVq)p)!VlGq#I#ur@Ptbl6DAlyrBmMGa&FDs7Cc&Ayu?B^h*uTtZtZKtORa~U}hZCmg7;r=NLc(^{ zQiNZqqI2!><>^p{N(rQ35^Fpc$?`sFt@{_740mr(ih6$AqdDr22>1CnoxK4q4inj@7mdB;zX+8X*@~q#y;r>>T~2b_im##+e*@_f5Wtjl_JxRf zQ%ko_lq@>26GNW>R<_MHz`JDnMgN$KSA%M5hv@<4p zKD~!D@tQBxIMTNLm9CkY6;)SX&CbgcxpMjPoA{)pUM1hvYrnv1H1IYMyNMx75eG`- zw7ZAL2PlNh%Yd1I&xsrLF#n-8QUKK!^%d)b(JH#{rVuj&Lro!2j`JmvSuxS*KGzF) zYFNkvM|bxV)*tw-H{U%0xXjc^nK3&sFc5~dNoXdy2-U&h%%m3fT}*s@d`BS6T735G z*(sfvjnWyAJeeWDRt$!_ZsZe=5vf|KmxNxILls1i2vMDncd$fo5S8SgnOJTD2bsaw zu3nVZQ|ID?8enWIrp{^@wmKPj?fO6Cw%>&{AL+V^rTK;5YKPdtLP z;ZyG%m( z8Iwhg)6TxYyO4x(TJ@)EUSDO`9BAmCaB@np%6h7Hgmar!u4c}NJMU@ZMv47*!lvCW z;30o-zG>a;z1h8$xjQ2x$1jyKm2@Whop*-xhV4`NOdRL_t~%ndr+KRA8J#-r=oeuT zZPG3pm=)M$P{9f3rgQxBOFFB`3rNt4aULHG7d~w<*WXp9N;h2CQsAYQm)DXcrC9cQ2{w_CFOMYW~-f_P}UyMc;=AYl?>?$&tURsAj$pXo831ivj3X;xF?7Pq1 z#zlTLo%O?IAt8b!ot+a%A*k^qGtRm^pZu1EUG76_lvyiF?~O{@7S@IcXje*Sugm7r z5N$A{SH8u_;8MEqBG+d=L{0F?CG??kP^5wHj>Z4{9RWwum6Vb?Ja_I~G3vt`47+~I zuNfj!5P+;u1i+RCsPyGn749vUg3_-XHuM)MqDqAQ+#z2OE_3ukpKz~}v_A7hk6+$t zX4lJY0hry08v9Mq|$HA&5 zfUxnO*8`({o!6g4m6(t?XL=4etlR>7=`yj%p!N;luB(3GMoEF;geQTV{tq|-L_$FT z6U)@q?7(XyMqvfj*{NRy@l5|2oA&9LO7CXDzaJjH+7=>Wh_Kn}J~<@rq)1@OZDtM` zyB=Z~O&2y$Zg`-91(wF@#@>w27kkDTZH`f#zKOsfCV1a#75|e8 zV(si$4!>-QKVZP=*i=9F^+&{N-_`&~xpRUT=Gwq3W*!H#{p$Z|kZcbB=h2JMnBE*78XdKu@ z1X8C4J$tpdNOsCU6D0!G7erx?uNIwN`daUw`6P9DoMt*;6P8~yUC$!vEAI?Zp42#< z?>4lKY^5ZY7{1SUMD{d_?X&18IkkvC+PR8ie}GW6Xb;?J#)b)37oGd z!J&bID0=qa;UKJ{T%4VG1qB6P0HL=XRtT&0_4U(kV{g0uKqlsVuDp*72?UdVY-k9u zg%#yL@P%H6y_CysSJyHiM_!@OR8(K&>;W8f^1WvT>YoE%P-Upzs?(ur5~wO612^B% z9%C4hO|!8cP|e~*$_UfF7Rl+m4&-xSK!v5Gq`=(|e&j&e~U!h#Ww=pWriYuuKQ#IPqBz~BS`l9Q%2XmIrYDSg8t z{ScP6NoT>I3&W(OCBpn7-`^$5V8);HC64wPNcUowV~Y&F$#uJv>vC>0U1G-H?osQP zUh_L1(@hv`i7ElzflnIV-gvIA{uJ?=fUC|~|77Hon6Q?sg^W!n&%)@BB{{!UzPfdVWM{WM$L^1PgsksqI!lORd|^qis>T7UnpKoSV-ee zK9rQ=ub2tl%0h6c*0y1J>@bOcH8>6g+=Ectt})Be}rl8WVDFcxcFn zLB>66tjzTF&FK&KJ@rFE&H|7DHB+o_HsIiXfIT9Y=K1^PwYe>kTXUH8k%zC?gIm*y zWH{#KI?N3US0gMm(q(jg_}FD7eb7C70OP+qqh89u>c6WQ0Lv_k= z5JQH0dul;L7scQ0Y7K-hh{M?F{v&{hoUN;%pz_V{`*JV~2N$CZQ>ysZC8(^XS_Bv{ z{&)y#^)a|Z=pfgP*QW8_$~y30$dj0)T?>nf98vxk@kI*l>T#oJ4npS}z2jE^UND12 zA{okRyaptjClGNp`Rz9bo=^_G3I$R*@yF8zDS%b<3xLT$L-qD8K+;!GQyBD@mR50I zBcvK#Y^p57-Q{9-b#a+M9p}G2K| z^2hiH*F&Bz_&OhlFL3i_)EJ!!2Dv*{goQc^WKqf-1?N1TtV6I=cAI5>E|B9O4?>iy ztBEPLER{ik>>8<~`%?RY(IN5dH5&Q=yM`T`iFT%;F8CR3!>$nATc zy^{+(!56hjX>E%A?tjL0u4+rb|50}I`=zex>tg5$%aPaV zX(CTC@csY=tu_wXEq(h6=Y2KNAztyPJ`r^bZ896);)TORO|+~miGpE>qgj>jlE54D zAmkmLdsmj8+bnytF5O8gUXL_`yP|ED1*s0b+m~xKiKNcU;|Ky+GpXC3gN@Eyv7|HB z8;S%SqtY~fKj1a^n3&8?(xc;bTCIXMl}Af=SoY-44h$biyA7!9!qYKy=tgdK!cT6T8h zqn-upG+mwnEGO(zY>sqmud7{>Uf^B9Bk*vy0LD8hlSJ-U7UD#Y&-!kZtJ?Gh6J}%j zAM)9@OcRAQDzHiZT%7;ektyf@iwIq*et&e`J`2NAPo9e$ug}3SANj_)Vg$ z#7c>;;sJ|+y_O$Yg+^IgOUlnzF12d0C-RT#MQwwk z7GB z`j=aluGWh%>WPV0(O8zeCBx~|^Vde%IAQkR)-E8zMbKj~;Aj3UqL2(cH|n7j@pX(l zeM^R(E4}{kgT*D_gp|dXR(&+ULU3>yf}f&!W-tS#@ti9(;%7fLGcpPT*wN+66*5(j zQp$;niv9)*Ao3J&6?g#llxv_abAt1m|Vg z=}z(_WcVq7vAX`^YUvfD{uBk=i#20ILypj7f0zPler&#iudAz-)pX+kr6Gdyh{{QY*P8LGh1d6UHpZbB(tlf+ZL8uc`b+{2y8tZE^z{`1ErkCAEDPqU!>U`U(-prAKaOFp zP=F052Tgq2f=ST{v;t|5%#v!7SUUM$%x}H(pZ<7CvLrg)ftDMOF_$+-zh!%EKjMIE zuhw{$Gg?0*V+YhQg+t$(X8h&$neckpxb4@Ni1c+_b1lp)RU2-<4<(K*xNdt(JLyaW zTHnUWqqfR5@nzpt^6M|p#3k8@UOwZdkaM8C{#G&0CzEYr*KVLSp@WeLuiU={1c${X3a|)k z#*dHKUY=!?kbHAJu}a328=i(@UIPKw=*Er6&R--}Er+-eZQPa{ZAqcDeT!r>mnie6 zqurQ?W>Kq6)ffs0s}Kk^7s7a)OR7d&=r;S>ChB)^pNx)okvgo=hw6Bb%Yu*1L`epk6snDEb))uC&uZK#`U{nPqe_2)2vNeLA|gy zuxh7=S%J#XHPQ|PHgp-tB@yUa$0sl+p{3uM3YtSK_8^TOjNJ~_cZFBLm+vy*o1 z3!{z93jD0#5Tl;AK!u~Br{@+DB3@ZpnFn|IgiJBp5-m+lO`CeJxnE!)AuDEHX_t|i zX@&;9lf%RJ0oPl2`EP@S@%4}d+NPucnphVe9uDnJNf~r3R2M1k{!@*XdyIvI{yTy_ zB9KC18S@D%thqTvk(QQLBqA{U23kMH#$ znVa~Z1vb*MGa}#o!KR_fD1>BoQ&VZ!&}vz;=5G_HF@_k6$WtADQa+4RiI!USloz8N zP>bG*y2lKcZHzfjA<5^}=-DmY(pSHW%E|z0qJ`C#hVNb9EB}uRaMKS9SRkANywu;T z1pIe+*v0@RivCI|cXI6eXWR!3Z0(NVRg`cZ#g9s{z&31=UzWbj1@L4<9CkT0=hTfjBYl53%&jzFH0)w`%=L^Rv3E{K0Fqaf%Hw%r>R|E_u)Ha_NP2$ zf<6jutXf+nkpC^1OF@BeB}yM19qqrr&I)FQQGl@U!rN=`5$s0Fp>JUw2R&iJ1n_n? z0X}wmH}Mwm;+wd5$PSc&m(a(&`ricv11qE?3opX+RINWFM7~jk;UhEe%-__(@ev#y z9bF|OBl|o3<3}xALmA-HodLzF4zO(-bPqEHN9C-CJ@mpV@PfLc&QV*v_n4CTHCk@z z2%nPiCEn%ysyN3 zb9VpX%Y+`P=P*Zk^z$V>tEW1HItce@;0`mv@g4ihdxT+6%h{pp`8F}gTr&C-h9(nn z(qc}vg)zOYT8Dm0?R<-JtgtKYV$1j0a3lNKmfe4!)7keTAH$@OC7D`ChzeAL^sKB;p@-Yf;N6;PV*}ms zNtI(yojXX%e!^)`S5{IwdN<)71i0GJMhm7{1JwSZAOae_4(;+-v3{oCJ*uZ2a~HA^ zHHyxC&4t-~ECkc~&=VcVEpU(oirF9(PeD%~ib@0N!GsblBmuHU!q~y5ljQH8KbJMs z)!m^q{yc7vCdL9wG9LgL??aVhexQO$HsXK7^J;_y(Jj6zp=SV~Iol8owm8SE)abF~ z*#-_)sD;k@^MXYZI~~nL3oIjxK^ApA_Yg4v&pzkQijp}3ig+^gNyplALP+zgGUGu`b4VxL$9rA#%9@xvZ~ z62(?H9#Db}M6`>KjNRG%U-P<~s-vDN2_7G=IBs~-doPbm=gI{$FNrF*j^r46E!ohp zDJ4L3`Z<5be@y4%U33k;Y6ohQ{d8XB2GHj)nwMW>0bnB{+G#=PGYU)U$b6NWg{8zm z=lCLU%bD+)0dIybN17=;p>wz@z{1(t3IVj(nU=}V=kNZaeasXjo!W&zZ>SGOGzyf5yL*V~q>HC4GZi#MI>AOCn*_?p*i zfdkPJoDixSVAEBQ$7}Xp#zrVzT@6GP&ScUCP(FyO64L2K2%#(P+0o001Pw%|980{+!04_aB3i){-_j}Mb(G+^(ZE$%H+CZ>Bi-IYqDf@Z#gR;?wSqBYK>kYQXad~R_RA{Ga^(w z-^$?PwIR1b&}RPP3kPNa7Yr5ll``3YQu2K*IeTC-iV%{x(ii=p`upx-k*DV&r z8?4^kvwr&~xPS)kQK*^#Fwvp6@vGu8+|^Zo=vQ>CS#2-wmX>q zv_@d#_L9kr4vYd-S0Ttk@1c`E+9?SrV->u3feWS+U|RQ3Q%lQq8Vy!`B4l=l4a8z& zaH9U>*zm~7)!PE;1+<{c-%PEoe^i2o2LHbkEFiG5y0YRjgoJg>-IiBWbn{ys)`QXY zfzAaOa3T)KLAHvtVz_~;kU0v*2u#?}W1#3IZ0Rn6uP4e0gG&1v-Vrd4Z-Kv4*wN83 z5}ZSsQ&|;91Az(A1g?6FN6X)fioxu==hCH1&%gjrsmi?9v&~=c(nIi$Opp6KN{@E4 z(m(<+n#rt@t4@0S5MZE=4}TtLD#drDQ;&gVVMtPLB^6u8%Z}px+X0J@+4@H6^U?df zndEzG!rt40Zgcz#lpdO6X{YaeNnu6L4?|h>`f1Pe{epOgS!vQ|XFjv^brhVA8FuIn zO*~lSX8%k?L!zJEN?9;UER?x(%Br~ktgDSX)B9vcB=>_qyV+Zv`MsuFzy)VAeAcy~ zb&m=b{d1;Q6>M4pVo4Y&K7AH>A&5tG$=Jw9{mGi_RmN>%{a3vqAp&=|6VQFg&ijUI zt@)2r%;Hz#QuNvuUT&f2#GRi3F|b(nUOWkAQTC=jCb#WQX}a|)EOdxc*wP09Ouq9? zejQ5k75Cd_!c9G4RJlkj-g%1-pCl*2CX%l(Xr{_*MV<*gfz4BdUeoPP-63t__X{`@ z8?2FWN$Ecx9KtM&MXK7iF%|^K&)YLyIDbF*w|0IZ-us~;(Rqunr2l7J-<09({D_YK zndG?}^3mv=%vxbXHk)IJZwK?Zm@OFa+QLo&RwS2Tby3sY%!XPdi;8xGW^rqEL}(5I zTM{6#nlT7SRm5S`-8+xqvViIDw03rZI6qe17-d`)n}Ss^N@K7M#FNW5p;BFOUt`d~8o#9*au} zP98tF*2(*VQ-zaut70&lpVhl!kRm57A?x6RW>4{~){Yyx%t|+$_rlm;xHFU7{=_XE z_Bkpk`OVQ9J#Xzd+7id>)<{M%M~c_q9FrzyY_v^lDT;fn-%QHiBW~{&(V30wVqm+# zuJPbz;Y^x~*M=$1bv@CTaSlc!mx~p!wpUdBT z#TD+cVwO+2XMAb2zPlM*5{ki0(lXk)IElKp94i02T(o7xn z;Wd9eumqzK5rpb~`t(W7%8Esdi;HUs%)|!Ze)D?pce3^?5Lu3pK=97UVA{@!cP^)$K=u_5`>` z9k0f2-`kKSQzkG-t0n5~+$=aGB(zOR`>rp3=ZnSVye3K?`a2!-zduwx=nHu>b&nyZ z?lk4^2Sa;EPX+@UE;7~+5sv3QXJHd77knm)5=9rp3TOZX1Bh#W^NVW22_*0SHTT+Ul zSyKe95&g@G@9(VZY>1hx4lL`VAjiAkUiX}W+P}H;_sX5YDT-<9xMe>*Tx(u?Mv;&kgGm+&%V1Ix ziQeVQmq(zZ8Zyk4+p>en;h0|7T-vtImUOp@Oea61%hXr#0d><%_`f8BfZyXb5+j~{JMI6YF zDKV*iH&R5r=`5+41~QlmlM%J^K4SMI*<)aguUw-`0MrQh3WCDcP2|Vq*4?|7hMSTy zcpH-c+REQx<%@+yxv#fzKe_a~NP!V)UDkg%Un}^}H1m_@Ele?VS=F=ozqb7UqXcMa zMc0&;>gK{07_~%w2+9v0NR`-}gq867B>1Nt#9i- zx*~?GN0dHoD$kOFI$|s2^o@d)e*~O(O7v36E>dIzrN9+z1jfYSPFw@hiXMQ#)*wEl zsfVVl3$icda`W;|jreJrv5d+Hv7CTxLzhVVLqP8#+B;qSK19h>eM-6zo2`6BSlii` z6^3~V>V16r3T?Z!{-Lbhq3Z`R!kPo&k3h0PFx7ASv&U^^e0KWBh4EW=78!%rUHf<{ zUDPfG*?dF7WNM_U_QGFD(;f_#_}yEa>gJ_kdG956kNw=zv!c1d97&2leo$)mFRTd|K|h=VTPGB+V~}+w1r|sm5P|K1-JB&C%*uBK zQ~Z?gG6s*jq@v@%Wetv!1?b}O9r-G{m*a&b?w$}urCP^8@uZYkScdAkXQQtGUU9UpWlXZvP+NI#ds=wI4bj9H&7Gtm^)1hZ(_X24aRR5?{%amyS z`}Rve-_?8l=6t3U8a=$@PLp}PAf?BX?&K>)*z^lC@Ii$u%mlncD)#^+cCzZu_yMhwq=lpUq(qXr0!X17YRuG?m#D^f(@j}xoMvZ0QrXNZx}EC^i+aP zZX(-hPe*X8{|<{B7W8VGo~iN6QvOtc=p}_{yeydcCIAJH=!iV$=;Equ($Ujq4L%^+ z>7n-;u%u8{C9s3B8~52`?*#W02DNN?tw=M8HubauDN3#}H7a;N9g2*o)IT?WPuV|_ z?&N0Sx|rGez|=yvuK40<{;`49Q;M6a1%_Z7k7D8WMX9s-hfRV81n{MD=UyA4(@ z0Ri$iu3h8#^7ZR$gDY1=Q{v)u<$;$T>AN<{$^;}KF0k?nBV$#lf3W}Kem6{Ajevr! z;$AGJ#4Qv^Jhuz{6o7VjYCxYeRqHupQ-m@(ySux~*v}zZNf^~i6@YU+z@ljK3m_4K zc?!N)-DaAbVt|=h2Lz?JfY7oPf=F)_QacHsN5X#F0O}6G>CTWL^_6^;Q~kSlw?6|? zOo#{|2~MVngKJ1N1*8LsAc(|g^u~JnlK^3|z$$H+mzD;W`x9;vWdg%zytBV1rVgC{ z8DD&u=r!##<)BT@!<_yzNUACW_J{OeRMc|boSg(&76h~S|FI0w_mK&?4Y7f!kn2C9 z8N_eEL%d={uMq^D5Apf)FI8ae#^4Pa7hd?Ak6)LSy~T;cO2a9zphWm>Ui>%4tN|?$ zOr1Jn{KP+TDWl5mLO|D*I3BC9G;HxE(!qDkXhK+dLW<+{4eNu018(?;My|IOl8qO`HgsIy<|#ba)5 zTEP2awyT1mh1JB(wh~G#Y>Jzd`P$&Qz`Pm;^pZIMoKa;;XXi@}#rG6|qo<+Y9W9!( zqQ;@->njZ}gt57K9K_;DiixFSV52?Q+1WWv0QaDZ-=Fanz>x23Zf!jsu5~j@^=v-u zh8_DJ#57lw!49#IQOfh9W+P+_mWdi+@Mjp1pxL+5e@)Q~V&91c#pMBp?d z0LSJ|bMf%CbmbizLl}}^Mul=%mC2}G+CB+7e1Ps2fMp%}8!b}k_|@ksaPZz^@izNt zgbT;+ziYFG2IK`en71sery2yLdF3%+&_%6H_fz}=a{|Ep4B4a?W8Z3gEBtC#vmwc# zn(g1(>O>K8VK*%Nv)ZLROUl!IKDLAJod740WT>VVP8i+0z#NhCr%=3lGbX)D{9YZ? zl>o+Xr^kI3OxQUWkwcsMx;GgdtuI4F7$uHgyOJXJs>AN-HXKfT#(M=joZ5 zv4G-!23W!k48r~`zz0apgZ_apWs3*|U6kYtb6^Y{fHJ6Ml6j}HXlvGYGgKdvX4lu(F~0Zj!#QaANMlX=+XTx=tWy?T zteItUPDOs;|9_GfT(#W*l>k}u-ne_+Gf-@%pnFpIItCG|m~a1wrt1Kw@_+l!;TYLu z?^W3=va&)cg+!6Pi6kP~o0KSIlohhGviFLV6*7{U6+*JddGF`iYNpb>f`o zdw=iyvu-Zp)&Nf8TM(_60}Fg8$H13g4cy2)P;rMqbCDy(2rWJpgjhe>Zz@y@JrU5= zIgd04K(&0gG;Jo7F%fdLY`=#P_R@in^Id&CO_CudxZmZ~&MT!!Y}lVQ{6i6yM~ z3OQ{Voy3XqSY1N<3yr{MwS5!UV5h3UVn8taYPb+DeR%cp=|Sb3u<0hl?`8vPI)un` z;qW%NsV*-}#=VjGaqGhEucyOI!coD(qa`^qK#$T@M>67SKfe2*Y7?F5*W2&JNY=Bo z$P%QrU@9iD`+8SM5D)2yM4m_m1YeRu8btjKPBmk3&l|OF+68=NX#*O5CveD`$`QKv z&EOheP8ny5C2@1Su>HP{#Loq#_G8XYQ@+f0qLZC-i<=tWZ}5R-_Z1x{L8w&zbB2pv z`bLRC-AJ&o!C2(ZT@ca~779V6M+9t=X@g79kA;qI`xitU*r7reclc8`;FIv=;Mk{d z5}!9L%u%Nb0m)r0c>etAzz*{p&;kX3kxbwK+rZ(~N;na;#mTbvN{8Sf=Bzl}&tdya z2Z*;J-y}J#IXZ8uNCY|aD=Y{RD2E+&KKz-SQre+8V~=}^#VLvnRz+t zcRAe0=@4Jk)7#ZGYJBUK+htxF1%{_;HN02<=9UUr%KZhv%aQ=$bRfZ?HCHo^6^Xzh zNQBz-rYE0pQS%RwHAQNDieGs->N|ZA1sY<+HTxfT>5aOR1}Cw(XSTs*ihFi%ylqN1 zpkVa$l+Ml+f*F;VyZB^ZY3;qJ+mLkW&dX@VRVS&pB;V+)kBIIa?DgI*<22iOJM;_h z_teTa-lZHo+(Ho&xrV&fQsMY`?m7WgX7SAnz2yA`7-a7YCOH&;zF=nDjtmC>PaqZ+ zd$8#NNIvVi-ic3bU5r^-HW}~Am@mDoCO{zkQ|#ay?-_n#PS_PhakBguv~DN~2y+x{ z1VZ&H5)u*{3q33ASsij1m0B!dmK9TI+?cr5j|B*9q$g~B-0 z(`4vylcD>(3&>9G&d!b(`aAl+(dh?mQm`sr!TxfG+HhJQO@IW=|8WB)(q)7p&c8C} z9mF{fy$t#iz*vt%`%;VkbyNj~+E7BAj__5el>DGkx(o{e>7i$KUin_c;xXSH{}6tC zc@`N-0V9_JNW_`AU*=xsI-E+ZssxTuooa)rz6H({pD!N*BIn$KBGrdiWxstZ-<14K zCt~^}f(;zElYKv^Wn9I*)(Ep%|6dE>eVwpVn9P<{=@EJ}R)9*AQT(2|Fv~9jemw%o zW{fOvOmNU^+6{)GzitdF$dPa2;6(=v zRK#ozwB>#WbWKi*L7C@1%uTj2pp9i&q`<}s!GB$V#=}CnF&flBiGH_5Me2rzNs{vN zEO7T}XlP7#w737d=y$Z&0XE%U4h64AD{z_?qdAlm3(-Y~P+grZ%s;ieCEq}{Sfin8r`#J993mCo2Phk8lA9F>fmzHw>Q?G%F z4LolDX#jv?xC!G;CaCF0GE~FIpdy`RIT;4;SqlWcXPq~;w#lG(d7 zx*mR09P)tyxiaf-d3smfO?J=3-c;Tlw@}*k>W*S5?t_D}4aqD`uz%3+!b(pnTr&1|5PsoBM3% zJQxn_#2Ax7etP#(M$F9b-}x}e<$qb+GQ58FRy1csC1~JTp`Q7j>@Rx2t4%;r-GZgA z#wd5b4q^D4Rn9-}{sZ|bKIC&zLf7ef2CB2WNxvRJ!1F?-QvrI{iP8y>9!kwy1dxWP zVrWQEru1uOY^w@f%UnAgjS=xpYc1e>o90j?NL3(g`+kOY!Q*85?vu8!Vf2WkWWJBc z(gVg{Bb2i|7K`+!GK_db{-jy1vlDnn<9PniM)~?>%&rK&NgkHkIJ|VlzxG4g0>^bL zyZ}4x_~)=DcN?CIIh<#3-XCVs~Z z<|X?R3O+~N)f(eT9Yh1u6?bD462D%?#s&i)%q=Txn4Fks-~#(Y<6tXP+BFRggL0Rd z)~7sIUXX3=?EG=IvYH#Myl?a+&HrR9Bpr*qX)*r@jv`xGS=rM1`ucyMCvW|`v0)CD zyZeN}8CTKVTsGbj(vwqn5ud8T8g_|45hbm7qQ!HwgE{#9N9$m^Y--u986o0_;{T%D3 zr-RZP)0>(;UHs{q@Ck_Ik|0T!kfCeHtH>Nw;RrVdqy}K%VSlaUv#0Y23i2ulM<&NW zo-_&mZXs6Ky*V8d6XOSCsR-P;M<5=011s3IsMnVZNKmGrr1tUphn4yHj*_ynZwEmT zE~G+*dq>c`YnVoiWMerM=@4O%I9?qi?r(3;s)&z|e+}j7g$|#!BscQ!RFF9|^i}Wy zNP*Qunv|RzIO`{_O@O^Tmx17!V%TA92XkNQGqrczh?J|W6ut>R1|*s`5=>VwP$3c> z&v@b4@>7m;GmM`L;S)bxrWua7sb?IvyUc-xg#*XP^5bzzYmm(kai_1kdsyutqXd|E zL*F$-iNfEsPe$UY`$KdCw7W6Mx9K+)9X8yP;|{cmVDH$4-h3;uyfpXQFEXa(v9~hM zvjthK(UJr@%Dk<&?9Uq!`$x$doyfHXg0j1XrcE3`J$3vf>WfKA3D3Vbz<@;*2xH#w zXRz+)92soZzU94Yvtg!<>cnHOWlPL2`@?t(a;=TO^P0;L+H?(S56%{zE`JDtzBdR` ziF1$+B9;p~&{BOAr|!Z!T|J1(RX+255Xy=ZU`ek5uKW-lPBhro7Q8$=`|du7*TX(r z-vbqd`|RL996V9al~_Jy<0|a;II0^BAvT;<>TGOY%e<=*6BAR#%%sAtR=Pq8vOyvxd8#lkoZz)SWbxMTg?C#N(o!C6mts;zY^+T z0`z*2n9tU(d3yPANcU-f*j{_oFKL26Hbx2UgDIQ2Kf!h~?h9uxJdl4O`|JXb-!Drt z;AL;WQM_A)b*hlfG+Zl(?S?&sfw z5Kb(yakTGt)6&v%65iNY(0OQmO*(I910w7aAk%lDQ~D?^F78lVRMc~`{qcSD!OY7W zJ`I-Wm>IZNtpG2yv9$blcMOSvGGBhz{~A(aQ23gRP<0S}u3<2t4{sZ=EgvHTw2wZx zMF;jN25~Y%`*a;(3djPhcmm|uL>MIpdp(dO4xrziIspfaBbiDR$t!7Xe9^@8dDrHgx{vGCI ze_ptJDA+OwO1&?79llWa{3-;Qza*OeW1$U1BC`u?y!Cy15q~2E(0@Y5=NZBYWlMwC z8pe9V|I5$?pM`<~o2Y4hZZ$Lq3(zwBDKc&FngaFULTE^cT1{=O2P|{><>=tRROvMK z3OasgxDB@>2=M~G%u9gI#@+K`YGqN;eHPdo8A*@yxJg|_h(lZbL6krb8~e`j@MNaN z+n~T#Q5+3msAgCAk&hJ>vS{(`I6DAwq&YTUUJJpSb_+`MVN49wdMGKw3k8TT8Hclw zl2=%G9d84pob4LhJ?{!+RSoQ4gj;Yb@;ymF{yl2cnKe7?ZCtm_NECe(IJ`n>-d*S( z!G4jl!S_?^XF=xgS{8bQ0p#f6KM|^oI(jTDf>USq5shlNtg3n|t?v}lh(C{vUpC*syF!QeMHh7{=l0FO<$GmfH zKQ)AQLQt1BHsBt8KxL&z0azzL&bY{ogB4)}$p50^;yw#8#%q}L8?YuIER3)mWGZXm zz;yD0vV*R#+k|9JgXFhw>zlH&e$fX=BP19-Rq^CY{75e6)8Bid311v@@M7Qx-p9QB zY#nngD<+~z2oWgAf0wf)xkQDW zX93odupcjAfkV~AWpc=Czi;TEZfN+Yf8$P5()3^9V+`{;lkzTk`hML&HA0M;635<# zdf-748l@={^5>H}~5&tFc!Z4b^%D^+buHJNV3S zLmu&7ya~=Gz_m5bz!Y{ei1PDuZ9&e{n>U(%dmAcmU%$S+4|SFjoIO5e;6NP&hq38t zc6P<_v9X#aIMS$&=Q5nETF`Iqu~_VpCLisIkv<+;h;8VR;FkWOZ{P0y z1Tz|BR%ZYBU{Y5J#n=iy_wU2QHjrU)?M*r_qKcM%ZSCmAg@x}9z_wC@ocKI6i&e5p zN;q)X`;&2=1~aty)mN^N+5$1dHVm3J!OD4f=rND!vK~?mfmm;hq{lY|;l4>;R<^at z%TEVDz^BTToD%ze3ZM#UT5b*w6s>E>cwKJk7N@262ox(P4+!N%*g{Z^T5xj|JHE!& zZZOF~Q$^rZ0?WpjRC`gCi^n~7)vcO}bHIKFeDC|{)^ zc+s&fyxBchmJc)71WTbt1!G#$lR66XWL7OrGy zAsUT*NPYomHNJL0e6-8#S8}HbFETg!`=9y;G-se^H&qC49dP3;Ou1y?z(DM#f(T&) zr^f`b0fJ~h?I)>@jQV9Fdun(->&m!d;u9r#ff#uD{gs#*kc^?_rtbCA)t8$~tt2Pv zIx?cy4alCSMSng&V$rt1Bjct>t)14SZt5p~ul<#mQnVw1GEWW;J=&>0Do9M^wAs5? zhEd>oc=GUJ>BV#B!l6#YHF@u9y@lvAASYfWB_{6ejh0&3jX-B$1CQl-?|)0w7WeLr zUsYAj41U+d63j^~?Ca~x2Go}cpg@&S#~N#DWC50sh6dA781}W^hEZrvGY3bGMSN$c z$iCkpKr-wJHFUOEhff9BLlBCJ_s#KEhz^HcHE6#WEJh5cqU2*H0YctW zwP9AgiF@Xa1;EP36v<5mM@m|QH?6UJ=exy#0b&*zQt(f;B$E?81TW}CEw9kG6PF<3 z6s>&W(?(d>OBdd-$&dQ&D>?|BD|aJ; zqTKjAcdlWmu#NcW=Tqn7c)sxy%bKrZc7w%fd6xLI9^ZQ{$b z%Qqm&TTKcx;G@R2UZUFIxV-7kys!A1i>wfL{DWxt_?Vd(tIxktGi|nAD^+AY%i>Me z-$UeZLMnL{iSzzh*>XsrPbfxZazF+~LP@YhkO=z!2(;0a+KQ(OyB`VSNqYl~HH}`47}J1B=(5 zQ<9RBy1Te6bz4giU{zeuL{j3QY`Cz$Se8C|axpbknbVvUiwCDde1#M*od8DC+vFz> zn0}u-4WAJ+=(BAQxEqRqnW(_xVFp`TRQlj68a`jh8Y`zQ=iWYbZ;KHU@!S{~7+TU* zg6nS=-JSP`Cxsf=N5kZ#q$i*Z{$;AJ-q8ta0$59U`{&p0Gmd-+ts!zv*^Z!J(vA5uIu_L z#8{;GI7w^sI8D_4eA2_mwu(HgV!9>VVN`vHWxwy0$E7;D(Hl>$}MVAD|rlo%SNyXt{6~}#$w7R8}uo$1wc*P%tgKFR^70mJ~?ETGT0R$4QVh-d^Gl)*Ly=FTn=4OgFdqpJBY>D>K zZz-%uilxQkZJ2zch>`harQ?ztTX+7}4Em|?wD?;E`dg_q!L_ogz?{=aX3vSojEy5N z$M8{884KdY?Otsl3m6ZO%RPas{&Um5+0$z=#aR~g0qR9>?PKWrIq}mirXOr~G%Kw> z3xt>XWmg;sFBbCWX4*@P83X1cHho`vuo}tz@c>%3Y5B0`aegw74>KD}?BOSYr^P*g zaSNH2;=|sg_LM{Im#O>I>St`a^?noLDT`aBWDy`Ywv^BO*)K$5VC04i4J;ERq@=*f z1wuoO+7pLCC((5g_80#IP;Y$-3`pNVViV1J(bGj438w+I*0{>{6#?fNMf^@xnBMU^_eH9VsxI`^-axu-B&C8>B)FH zr$|L_!WiBPGkFZ!)=jbe&RQew*;5>hDc)>8SRvnJzED?icz3(0SR4OmgebQ5B>+st zk7w^M(o+yc+ef}|AN7{xx^YsV#;5bP-dpXvFL|{6Xw9&%DBj3MU(Td7@h29-A7-^$ zQM;OZK67n-X5oZAL`@|O%yn9llKyn?V6cTiP#j69TTbB8{CPtB@UP&VHv(y?;Y58( z$m8|$o4R)?^7QT=ZY9Du*b`rT3a-3tP(c?$-7_>~f**6^YkobzHuX}&0K6;fFJ-GLXm_oHqcYt z&qn#6-yr{w`ZE6wZ<@&X1`WC*E)<Z`0vNSDT|xR<U z<#)ahS5CBp`HV%&IXDZJ;|XtK8)_n4sWf zPOsA8Cuo(r{E?*kkV4c_q{(Vr*WTLj!@Sy^3ERi6Iz8YkR_{fwo@1&yGweoO??s`K zGpRa|-RJV?&y9x33iy5PaP86Zd0G^H7-{6`uUIGU=xiIvW7ytr@S+I3Q_QtAtBmAClv?YhEx>C70-3WkPrD)`Nl>%9l9JiUpP%xE z@LVo+#|v`2V3l?Chv$I^ws@3s0yy;^c(R`+#>Uu-?9niMkb^+-9~~b7@&mm?nU3B7 zbQQOZgDDS8?YS@!AAg0<~I?JO)tpLEl^^# zm{jb>zM|O7eskg?c_syZf3GV-_Vuv2xt>zS*4NyAfZ_7%Nqf67%J)8IiGLdgCcBB~ zD={!fChu>u<$h-9Uhld2@YSDjS^7UFbJO3YD4?f$cWd2ZX~IsXc84v{`S|j?&VZXs z%L>d5KA+N~rwsmWbD;OL7^gkA&!w|1(vKv7_Gwmf62Rkr&!wZH^Xnh(bj!;@YF71| zy9bh3wd=wDdk_VCBk;kJ^|W!{~kKa688q_5&P*3%=-k@m!89;33h2#Ep77|4&t^Z!?%_^ShAvN$fUOd5!%@ zQa-a1+rB-x8um$(tP$6sHt1u|hs4ns@3Y&&G7(LS^h?GB&Aq~8DTib#?dh_BAK_R2 zx%d<|GR$oMAfu&Ccz0O{@ZTHd@0^Q=Gq{ng$T)u{#Q$Mn`u}SIbVU+kLGT5koMrG> z!xgV*YGA1lLy+5{|BML`F$-$reP=>E&fK%@~0ii^QgLVbNIz9 zERrEX4i<=l0$U8EcHf7W3`40K6bmskOUpzl2Vx`)>g@{vngH5mfg&!bt=;FW8bXG)Lo1Y zPnf~c8H~=0tT<^9u}Qox++*A1VaW7v_Vj%8EI8O(5>O@PtU&<+W&4KkjIg|BNt`kB z%H)*T2F|!#armE`K6U!h1o;^R`VBVPIez%L{>F_Bbu)arD6phQesTN9Zjj%h>2%_D zV4xufWAbk3OB}f4*UwYaED}&ASOw9t(d@0mwA!o}Ef9uoq%V*Tm zmeiKv!p+TGThweylrJB;QB%tkS%{ZY(I}h_grh>GNZyzcD-I{>;2`?SgEaA_0e@PE zI0@`+2y4lNOTy!6X!#v7){F0^r>V(V7Iij&3v{?*W9H&mtZo+Svuxtc7B|w`|4#Ib zwcNj8@nZi>ymY^_%{eXpYl@E?vZynRju(PjwRc#A@$4JPjS^glC%DZQKTshrxJpV$ zLy~R)ws!*OD%38zh4@AC3;y!&To#89j~=dZnKo!$QMq{)AEO*~$U~>nXe{zT4e9So zmc$wAT{+?JJdvV8XhN}^z+l(Ee;)>;2(KonW6h_ii-qSpT*>CQ3R75M??LUmI^mAtjJ7cxMRHelq}iz z-V7AV6o|U8e0Xp7By0>Z6CuqV2{f}IOOxP92k!Ulef;K%9Tjg!v&0Re=0qjrZ2iel zXFaGR4x7J@6TS90DJcVmgDMqP#KOhpSxBtif8d@~m5k>$YtRSZ@XUl=`+r*;MC%Z{ zMVj(_I@f_XIwg2%Z$E;q76JH>%kLKr8Cy9Sy51%CRFnDFEPX~Lcd4^lX2I~`T8yuf z151C}R#>AM!goONb^EJXEjekz{mxdKAEf}w3z;_JKf7}z`?_#6@Qk2;=d1Xpk;Y2< zeGegnO7gAOPT8%A6p)XR2`$j!(sk@U!dYXjFR z8B`q2d9-SJ7#qdmU>^s0F(XQjr2dLL-}Fdq$~jmi`+y6saNMx5<3bi?~NTE?N< zhH25s(bo2T-;B$@r0cc-q#SjhC2qZLW;Rs=g04nXHjbw1#sjynq;vPK7h5waQiJ4! zfT6=u9P~dBEu`0jPM3a+02D-Oc5lcm)9tX=2N;rG;DN@ic9-SUxjuV9TSh#D?Va#{V0(OSM}oWu?(dOqN@GEejkVzE z?`H`8;G*#ReXmec<~gbVL`OLT`n+DM$bEmIKL`2{Hx%B7-LwGjlaP>rM4HIj*0vkA zz_!DvbO!V+Ob~V9{}BMK^Uvso#~In!6vjS(<~IO+M--@NK}snwD=7@p0aPW{HnZeb zWBdXNrV%`DM-$8bZ43Tr;mzF^#+#mkp^hNoOHmJ=jusZRr|D)zES&<}6POl7sMUl0 z{pOIE3N?l4sz@W66VqsE&ZDtROb9~=EPki9S?56Pork~L=~(4F zn225+1^R}ISgr>?L-}xzKMLV&b$#IXyQMMehxewEz3m{RZSQ`Y%2Amu$7@_Ii{|a4 z7wTWCtl&mVY%o8M+A*%4|873}Pl{1`{tg*O9qVQ$Jr^8PHS*MF8;N7Yk;xQIC0932 zrAGK+tOiE>g`k(Zti29dg63GTX1#zLD#L9(W8*hd^oyTFZJ9=_6SX=~#3u5TL2fw) zGM;KJrE|*go9YrffqYfhxNX*jNME~ogC_0v9PhP3-5^mLy8eF2Pm9=qQxA~q`;$xN z48#dq0~-{{0phW@XR64FTo!z|U!^s+biT#YyREN!Hrvm6gapyupF*$R^(_Jn=Y2i| zikyzFZqUSpF(}EW!9DD`wGhPz^;QX@G3HVJb`5f{rcmT5JS^-*Nks))f4;sTY^kY6 zg-CHo|M#IGYq6y33eYzDIyyR1026rY!ighfOwPOd>pC1=Ar0Vg$uo_^0V|@@gV+E4 zyE9;aL!ZD38V=YLpiV}dR3#8)9)}kIjG~AN)d5x|@uSn&H=y~)9D%tE1mP{mG0Xwk zkZe!~-!UZW?K3Nvq6C*3H!SV_kK;O}Gl;Qvt*O5Zk)-pkHG1OoIv+y(ZoPNV0^$o2 z&89)V^y57QiN;C{EC#yoV*S>F3zFsf`|n|fv{D5AfOLE z$l8DGVKCUgOXy?#x5I|Np8j-$GUa)Cmjf}I%xP+<=5l@_XtxWEFRFP%g)3HPi&{e* z3dC&|phPfNbk;pUG6e1ocGi0P1x6#fxy)%js?v}RFg zXH_ZuI9z0Qdf4LgLV&QzJ~sg@!zBnIeJK$06S>r3n*RY4|pI^kWrc@ zZTfqP^+e;FAc*^zoeW;A#w`)B^Lg&=oncq-gI!=JtkG%p?Q>aoJm3Dy->C?X&g=7C zZ#h3vgQKlle-8>T3Fn_$pQ4PkL26?K!7aphJ}9(v+~Ju1Ht!9gg5bfgjv9p1_xI}! zbc7F&HfaIA5n{**R>%C=(Tow;ty?<38$0@O4YHmUgDT+Y57!j~BninmXjBOK6& z9}{@Gzw-gB7a8MIbToHcpMh(ImL0I3?`J4_Q!HmjA94c3E?}jpdhg6xDe_j1HT|8t z-YiYy4*2wDiF-P`io45=RmVb6B31Y z>nP7@Pc_54)YaXq`sB$OUK)qv<}_aYGCX_GiB7586c4{v2?kw`J{D(*NW9{mM*~Cz z1TJ}aTmXMgIGCWJ^Y0S`Cx8Shl9+}lh;#n95v>g&hr0qF{B#I50{*~SKNdvepYH0dH;_rfg&Kvc;b^S*{NR_X@w zi-8t$;b@(XkFg*RB%g|T>as3DeEWrpSk-25C?}Oqc+9v~=QWHD4zqNq6f$shj@_w^ z`IJ|qah+N5hr4Ige~k0f`gF=+%rnTkXy>M($cfF6!)0%D6Sqd1>g#f!DWKuXNA8Vi zv>!&nJ-J=>pj7-^FQ2BEtHhCSUqpwn5{ z?1=`b0e6`=Uc%C~Sx38>o;sm=zc){ZMwmR~lV1#tBzbQBRY+~pXe(b_kNLYQ{7QFn z`s!atRLwvXZT8=>cEj=0tiS*7uxn)fYKdQ=-0U1atoGbz?=`CpMo;MMS9esp82-ZK z(@7gc>0cTNks)Fx-I?D9xVB@9-q!=)rUvO^ET6TnF0a3Wz z`DepK)gB#Pgx=$ldHW+W;^YWGzxsbXW`%nWQ=B^V2=5wUyG}NN2=(;Xt(4I`KRgVo zagT$U?g%rqr_wR1LJHcMc)aFPzu3X?%Ry;Bwmzi2F<058+B>Hlg*-1jjZj>}Oykc{ z9GhFLP$5X7Fj(^Wum$9baNK4_ zcgrU3Ld2QnbR3ak#XO=mhc_K7gk&Srp!Wj}+4A&s`Z?f0QBWV13cq9G1iv{xoIXh@ zsUB8VR;SE&@8m>G>qi%XYfw$Q_@s=JhsWx%g~iNTcX#(!_(}%x4-DpfgQm=MNaS;P zZO(YYH7y&>%Q*(-XDbK!jk>dgZ*Uj@(bkan@;i9cTql@|dE{2AW4F$O0&HpHM z-FAlO34sQyqtfJD>H4%ftK1F|gh)O`^=5yEiK-v2h&xaDMtW1`ah_at70^v>=-6U# zfCoMhec%s8G^q>i=6vPo3hh9)FDTEzq4l*p(8%f;jV|Sgj zI+~6%^L&B@YOp|L8+T0*O`Lr9P67f%=LHcnIle1wkC8hF*bTN zdcW%+CcJRf$J%z0OW{1x`gzxw*Qrq-|518wiI5hX+RdupV@_@Ke3sKUHGB21;6az{j6B<6x1*O?%XXEQoPX+~B({mI$=}aAjQH>1ZE1Sz;$ZC02lql6`z8m#*~nzR%1w_0vhkOfl;r8X=P!2;~A= z*_$7wQ{TPQ)w_LLune(|`EoUVvd<9}?>xS#Fri0{NPza`X1m&7KyJ}phr+_-FiUrW zNr4w8s2)@rG6$imY*Sz(NrrAxn@QfoNe|>xUO+Cl@;D-RMaa08Yj*zop)_IV4f&;Rb2&dG4kdOSQAD9_=ZjnZjCrd3>2IddCHti(~FCCN+7RtHmY(auY0vbLU$hXmqGpE^xHuo)YXIc>ri5w*^AC!?p$QaSe;P(Ux<>)BOtP>dH@*-EXxNPiD8D0lv9<$R{uwZR!psyM z{CEQk*uQ#v`WT9l0U~AjtC}uR%w5X%>sY|PW~Ie`zKKDDvl80wvDIl=Otp~8c+HY% zrPV!smasnieU0}bBs+Z8o|=Z3EziRXr0au90(g6u;M%>_Qp+v#p|J3>O*XNdR&4LdU zyS%1YLjOu7&918-`~E(0rio~$8RDaQc7_Tp96Ybn@9N>-jA8^Wm!973jQV=Kj_i3z zj|NZLslTMxAWJ-8HTp?c*HHw}tDAq_<-JIaU(EE9yN>mRZXqzmJ@x?9QSy_41k zA%`2YHq5TBBs!+1r%DZU&mkbuPhJnNcYYZe>!+)ZXdoIOy$AIiB!6&8OEdiM24;yr zlMP0&fp&N|M=PcF$;Na`3IP9UN)IOMxxgo>2twg4CkTl^S1~cEoI>zXREscp;5(3Q zeW z0&UOG9=UBfDQ!hre$*kWLgw^0SweObqG6Az^#Olg82kgZyVT%Ax#GDh)J|a*(!#@F zwYN8)D0W{8owCMAX-Zs}+`F4R=2V;}AL7;Rq;v$r_Uoe|_qR=+EO$OADbKPAENOck zFoOas=H)(h&67|*J|T67tFmwqx#%@HLOeU^(?wK|G^T&;ezt=RjvE)@KqmQxwe(Ac>P_vK%p(87GOufg9h zA`m78IZV#2Sxk=N_gYEFm>RHf__#0H(gQ!&ERVubQR;n|OyHKqJa;0(y#Z@oX2s9Z ziep6SU~ilAEnZPrRXT44Z2je(+Q00%Ki0Qdh%dOmBIt?!k^u8~G!1g8ium7>5*~W0 zp>&T{pev7|jiIB{&&{Jol^=#1P&nhi%y&Or<`WiHhjj?Rlm?&EPK}X%Fey|A)cqG& z2$y06v4Z1Iwia$Mid(ALo12?MP$0T=<41;m!EIxZi-tiXLMSIEcL1!fBe*`sUPD8_ zx$pBjDTyf)(G23e_XR-}A*eg@|AaU>D93f{)_FbR01tS< zFwpCSUCQYH2=SKRK?IWWUOSEbbxe%d+_!8^d62<+$%B)@h?hp6|AJS;V~eEgXFsMeVSb>uCqb#5O1IgiH5y-2B#JkQ`f2f+;0 zek~X9nX1rhJAFwLV*tU7(}*g8~%M~625Rj9KDI~CBrA^ z{!LK3A`W166OdvwOqL^XGMa?N+&Zl}U~J8p3z2K!2U)f7Qh0 ze7o`8OK!m3eo-bkk-yQi@k zc@f(~5w+7z{CEMTN}~tXlIgm5RNDm2+Sm#vc&0&-0F(n6DreWnDC@BFK-R>6<@f8? z>r=hGFIFI|2?R0|{xDo;qH!1(#Kku+fr_aB1TvS9Yp0Zh&cCT=NFyZ>(z}) ztmoJFYHP#AMXxSY?PotX@_^L+I- z609XN`uF4}vu(HpR%q4|9Mx0dQ8qnj4Vdn>(+B?_6jcI;q^b?Cr?W@sUIwUj=ifU5+^T z9s%OM9x8~}UVB(bF-#bgmiA6%uztT5*$7Q>lmWgtEO2v6%=_f56L`-TMb2{b%hJKr zt)pig`TIAsMt1j=-h*enpS^g-8h5t{dZxm|=Ds#@qAN$PK2_sB{Z!2wY=-q8KhnZZ zeQ%D2!4of94~*K?h#in(WgN9XzMtZsgisrnfK!Ghd_<78$qg1cA#yCERq_oE2Q1~JZL!){ znjoQAp}FQ+6@(+ZvtIOKf?l%o#ZSHc<_9bkmizfX6RWIQ-uL{Bco=&J@JSlA_TDi6 zQChg|LO=LkZm!T2T2U|~Vj>&s!$k6MHP}gcSc)0}y1iC=S|HQ(A%hkA z?z(x<{fa#Si}|_BQOp%((DJH!UNqG{8|wfGFLv#qV*JlgI&{PCydDVxKINQ<9!3x` z8YP|dS(e_VamP!)uy^MvDU0TD4nZ?zb)!0Rgf0U_a~33$m{CJ1I9mq8AZQy_91z0x zaU1YSL(Ug|D7OC`aS&KlU!WSB+FCCoVA2r!76GV$6b0)5A>y&^x(Jse_Tr&3 zw`_ z+$!os(`sdl!q3lB%1B_ZV0-Jldf<#bqd5Y7C)jMqX_=}X))ur$ycY9v7 zT*CdftfP_09kzFnidV?zYvdr;#!q6Yn4C~w=6jb9A zE>^pG6&jA*Z-MX-XJz|0uSh3(?#!~q3%lT$q~33Q;(05Z7J+uf0BnvP99~6lj4ys; zPYp?FAZE9iQR3by_`x7+jOJkPg-U{=>OkqCdG(`r2l^ln;&eF`T2yY?C%7(ZQ%n}0 z%5Xs>-wMmp)X6MLuy?XfCwU`>AFuiQ88Q%Gf(mR5#eAThYK47cu$F_#@$emFnAG9T#&2|6$FB{PfEN3>wE zw}6#}&ZynU9~1&Sm2e*Z!jKgXy#fuU9-~7nKpFt$6wQ&z%lP*3KVNH4!h7O?-}k6> z&FrSX))=AOrW$1`ejj_Vg~MXF2feR_{bV>j;?Gl<@|$S$cI42>LDVr{A+zL0xjV(J ze}NG?Z_O_^51c3IO(AT}-ckmYDz-Rv6OtojfX@i@!^}-{Twuz;x8w8}#Uo>>qn*n+ z31ixlwp`9nF(_ZA0^waK(3-Qql2}m7Ei4Qq`^;aw3A65G{g+FZZ7Ir>U=@a$xNdPS zcAhRiH=ka`nB|whQTo^hd!F~+P4xo?&RhH2xPVnrwQaYPy!FN6gU5LVHXkzo)cO=8 za$S|>rQy$4mjZLsB?m)-$jELKbo*Lpj6QJB?yPSf*)XT_HeH_mNo(A=LuJ={ZgvAk z{F+@MSlbZ<4it;tRB$Dsaa5Dck*q=IsYUft5C&UU6JDXU} zjLQ%ETIVU(nL8g~ZykL=tO#zU8p7Z#GCH}~EqPg!~SOW67CyZguF3D7S)uruJ5 z$FcuTuY7)D;piVV#!0-;z=VmGi%k_K@W_I&-Ck3j$rzP|}2^|?DF5;wY zs;bAQ85j~CVDSRk)A~jhH$4eiDRTG;Ffh!4YxYJDtd*fjm7D*fd0r1W4lP zb|@|qnGq-n6O%%bKA`77)NEVg8AGK{*H(w zvL~P07$Na{y&&=>-+l4f+0#$yC#kb)l89vc)_KW7V~HG`zkid*b8Z~IadZ?!=y2mm zZksjO+4o%foh9p@>q<-m(vQAAW>k0xYc))xA&z3MZeG6BbxrZ8dY`y*T`?3tTy%P` zSlR{R<0q<*TZzzg|kMYw{khb+~=|r{pc_ z#}cwk_jl`fi-n)0=pL!-P2n2H4^(kYU5{{0xsh~*Ka(~)gzJVhAA`9Cy$2RPPk`~TNo86kTUWoBis%%sT5-XXFRnYS$}2^AHxM^=%Q5m`yd zPImU*GXLlId4K=oczU1rc#pT|&~sn+b)DyDzE{-ff3QRJCWhrJ71+0N;b`N#)IL!x z+_P(naIoV4bCS^^H)l}MR*-zxFCsI-2iN5Ac|Df6o@n@K@4z|SMY52FoFzPDtp;Hu zRvJ^cX`HNnebrwMY8RtX&)y&uhn!r!05J3=p_1@xw{Q@XGt&WFg!h8+s3Ol6`Cqzn z6MmY^swz4N;%Wc!L&eWeT31gmyQ8Bc0&rUG8kiMV<^1=UQlz}*V&nr4p8$l4w)y7f z41Q#LfM9@duYef=QadW{!qGs_DVQL+!@gPp`fF8mCc}q(+iiJo1{t~^uO^Y%3 z$k}rPRwP}Y1ljl(5C~3H4JD+21o9_79t6~9E3!>WNlT*=EoYcq@7dXX<0cHf`J5Sf zh^tfuwEssJGc&UVi1+0N@mTQPTep5*_D8HEb(Gl4g(iw9-HE?P5uGrLz3=;UlIk|E^(teHI{lPLh!H|_C zbiR&f3*ow+O#VHO?bC3{xAL*FVidb$-y^!39R>*7?Fd!yoMbx3R7S|zD%27V44Ky& z{twHKq!T5-BL);$8gpFQO1;)gfLG)I1xuu5_t@8LXL66_HBs4s9pdg(9*|6vYg|8x zjx&a`*#8ovzJFK!%T#6N#ra<6TK=J*=uyoWqM7v3r1OzC-G(XN7At@Kg)HirrG`_{ zizS=OCIF4U-y0fY>Bu{z|0n*GK7ajk(u<9}kGi46@pLU0FSK_Gai~MT%;s94G&(!O zmN>IF=1>(Nz|xS~5SGbPf&$IMr`z{H@P}JCl%N($^74N3hewRU_gcx}n<*9fi6czldM_=dU{wfGadP5? zD_tMX_$(l^9lr2<&p>wlJ5)gaGG8w@XcXuPBN>_6XK>))oxkxMY5W73_jj$WzgmkV z%MuU}fSSv>*{19RXbFdFD$mes*5G&u2YKME%zzws4V@LL53nif=sc&v2J!4Fb~+m} zfM*4>tgD+__j%%oL8uPAdh6D$!G{kY*5Ff{h2kPz;CnMsRaf`1gt;aibTvPrL3sqU zH=ZWEN%BdW*&_g+m_Vo;Euw>y2bxNKUh#_e4E|w#hx3JVo#ndMRk3)}b=sH3{&oQ+^@*3KP<7%^BwO$10Ew05PE|_wM0oYVtj|GCM!<`ozYwNIdo9-z?$pwCBHF_ov-@Sc4m_9PPUdwt3 zK*D-QuSl;TulN7`ySmA5yXB?zxITq@rnj!5ti246>5V5hvh`yz?|t9mYE1CCe` ze&d)Wj})7ZgcRGJXk^IKV49ORv-CQ5cNXaBa3ll}!jMJ*+^)K&sq++1ADTyT^4nkK z)-n&9b>6dD581AIAkNZFnSfT}0M*z&yCt1=H(NIwr`Ktn-K0FI*DI1R|%E4dB9Y z4rMc;Au^H%BF4-V6coU{TMnms4v+`FP%+$c z$aJ*;FGRlaCwmraYwJ~7L9^kr_IS=r$WJVn6cBLH2D5w-7>5(VL`NL2fm>$uq3-5D zb&*a#g6K0~G*!_@ixVEL{ei_`h-}Vv;s5Q;{0z-3Kf^3WGmEft zwh1-=O?DRc>7{`tWX9!S>F{^(boZ2XLTwBSv=PM|vyoBeuGP(xiZJT9f(t{;toAP}2xRoT%jBCLT;Iq$u?g$Wm~;EosBPLA_Z3e+|C z{Nbd&)kGmig+CNS`k-(8G}u+B?;cjL_y8W#{veS;%!^!!q{N-@gdpAJmGuIx6f-Kt z-RBExEv|ELKb;Pg4cenwq?fvM`Erz&+JA$?qL@IT;`ni)4i0+zwA+bzKYCOxEhMD< z?!}8x$h=@@XIElkWlehoC-4A-ORS@i)lf6r2|_pd0N?vjWXv^?hItUQ-6hdQ-oJkzSli1=6s@>QIzP`2Qy8>OkE0?YPAt1>Hbi$h z>rT0s;}9h98V*GCT(J>J=7x|4d+ZPlSSwvFP*7Mg!!H49;vxtVsDP|eQl;@z8K^xH zqawr=tn=G-5{D=%L4}hYz5Z&i`5all9mhb(1{wi+_Z8$>x4>5mVk>oclf=92;Tdsy z5O^8Uxs=#0bg2o1G#j1qH(oc`@iooZHw!sZ;4&bM*)quKLk@?NOa~SWJ%sg9UsbqpoZwJ}jZorNAL+Bb^cTqdAYL^UB>h6QG*#I)_%iMhd8xI3%>!8tOJG>5C8gQdYe8!TJLhJ8_Zz z@BFK4q^!D1-VYo&(IL^--u!GnFKdMlm4zXyoeynByK^^}|J6nZZ!s*=S3?t4*tOfs zCok}k@>6|rT;x)cCSWp&FJE%-@DRWj-v&qIJS(duYEaEWA^$ND0Xzd|s?ck3=fPw`Y!`B^D1g|NoBlxpAM=fI$8h~mwgSP+LrLf^Fg)| z=t>7o!&(otiwz4ajFVFo^zxyOXE``45*sO?NzlC8{{6Dzal)NppABqK!9VF4Hg+74 zC&S(kdO*-l7S{c*cI^KC^CvNv6 z!+u&(`Gi`2T`2u<>>Za=1%qxf)9kDbbrA2@whyvj9=(dpC35qa55k5tUyN;TvF-lp zr{VJ5ONPZ`(17~c_V)^_aKMW0H!^b!$etHyg)fX9-Bg@Uwe5jow(@0Z$|4!kFv}ha z7_zBwVX1Lw4h;93z#==cj-ee}7bfq@Qs>R*Cx>n^aPYWicR%dMx2=W%<(3yxrM=r&8k zL4HpF53fUl6)kOpMFgchAcuAt{{njD+S&+6^U1EPth|7S(4E7##6g&Lc6a|lFhu~6 zxoyC7)kH=_RM1Pfnzh3ZmzxUi{u==S#}zPrCc?w%nWTBKFEFgZ>fHdibGfE7cV?DxIX$>+BBs9+W&e(q6@DfG%j2-JJN_BQkwBV;1v&ws>7oy=Gd6t|a77{=6%6f7`H9GoDnEaGpZ{``-gC!{%*u629M_)Gx zqa#iED5s_T!yR>Tu8HSkSvyYMTyro_zcYr2Z9S6~1^~$~mYy%f1 z5!%TBM-osPkkPCCoBSH~9rAPRA=YUAC%CqQQ$_B6e+!{0-yXnCc>}s-0>CkqVrpb0 z>EtBfZ;no2AKtxtS1n*tUg`-!1ErroUxkd(bFfwPuPWdn_3RIzm^^~SndTTE7=jOn z@*hkT+4%Wa&cvvrv5^Ui-6vR*5S{X8Y)k+WIHZ35{0SgWx-@cttF!^M>j(5Dg?NoH zIH&5bAT$<2R2~i=?k?Yf@_?ytpmCuBXdtmrH=j3M_#4t5mASZ%_+@z{e1y8 zbb6)l<`&G|c(6M%RPf4r?9uSAkDggU?MKTJEzfNs0@NN`?%`q$vx3*d= zDdx^H-2on{TGX0tkDM=MD5nFP(}wIh#%(#2QFNod-})j+VJ3>S!K(8o6?z*(Dd4l% zJ1o<`yV|Ob*dQLLuBCJ6vW8}diiscDN00y+89f1#6Y8_`^esD!EFB_EePq+^v5XyV z1@0anMwUO5*kd`BC{R*Nr=iw4ZJjsWJvnPH3J#2oF%;mVeVOoq=!Gk&J{ijyHBfQ9?5~_yPv; z8H3M$9UkRB^HD9Ze~)0W?P`)W;o}64sxChbACN@-EiEnWot?_yo;!rd5w!3tK-%+f z`!WRjzk34*_BX^1mtkRH)xi#70?ny1rpCr2_gafw2ty~Au@Oc_Mi9kTLZl1ab1(0+ z#I=dRjd;MBSgB8X2y$&@t zg)$GVp5UuOI}!9xrYo32jr6P%ro$$uaMK$LQ((BXBwy2Cz3=>v#|7TJe z|HzDNZMyKF+Z#^I1Pyy(Jvp83kR5~{*pzG2nEr_F>Yl&W+fy9W9hc<1Z!`K+4@gaH zP`y4yUGhQ4P_t9t{KjWd<9e5hn!O-gb+-@laW7_bz#E?N!3_7Y3Vwd#gS9*P`j+{V z1)dQObG^`TnEYHEK}cy)A_PAZ5#1HW5&9onJ# zy~MC(NF%gIC9959n_6U;1ioDB5M)Us^u$&4I$A%ksM<4div-57v%N3HL`b{nYuqwH zc`n3p?4D!|fwtnGjfmG*=hadAA39#YRhY(Y9$@+m-a{6(0~p{Xh`4|NPksQFqipZ41-}{PS#uWtc_KtZKvR z{{582db#0{l(*wp|u`G(=K^Jn0H0*E07n4b^w$WXKM_^BwMmavkj=r^3?F3FhB zpTYd*cY=e~?~+CJC4#pf(9UGwDpQO>g(3r&=E~}-6a;CQ!Ra-{53^Q(-b-zWt5gb^ zW<2e0HIKM&ruh0ldbG=M_5N@;oX(;Kkh_)u+NzzUdk-I@i|8V};Iw|Mf(?IFo85A` zWR9d~p{LL^jQ|;FFciF#4&dCEV~#J6-o%i+TDRTan|UqmFLwx9N6RBgNun_8nLi|- zyY3+ycW&>tHw?p9Xf5crd!H}~)uDRxm;&**iw#AO^_AZ~oTexK5x3Mp9dwSVnhyMN zUsv!HtQQN$U|^%$W39n#)2>hL)#1wC^o^~&zKCwRL0@^OUnOS3S;^4+Rc0x8NAdj! zztkmv_9BDEq5J}m3nt~KuQF2WB4snZPyEMR`68}?U=sc;__wp^fI_-7s2EcIgXznS zpNiLPMAqbepM9cTo1TpC9In~sGAtR51Dl^!Q@J>uqzx8eO6lrnk3lpJr;1Doo&xy3 zWV;B_4xaya$IC4GIB+J-_>5+N07-GKxoQ^Bo|YEE9QEEgZ8Mrhnl-_psAY?F&!$^w z-u<7SEQ}XQFy*2+pdL(*ib;!Ud!Bl{Nd=vqoda-pErGxO@7x@RsHk32N(yff^v8|E zI%wfG@^N+xB=waLO5$(w$-e7Q;@+=skgTX4%75G?UXgU+Jr*h>`V2XugZHnF0(bZV zO_C4+EhiiSQ9!|40S=ryhI-!9+2vR)1i+NP?vghF+ady39ANDn)S4gFTviJ4W7D41 zpHudzO`&ZE-f?b?OOtDplRZ+hvH|Vn3db8`5IejFg%g`8`n-XpY~+d;kt8kdFeCoK zR-9k(_}S*YM-=n9+)BQG=Y9TWpXhPP_{>U6Ejobb{4j~CKd(166vXxxGGJYRiux&c z59!e;5ZNzu*_dCFQB+TPWEH#xwpYNoD_FxDpDFjgZ@aWZn2I^YvFAXaP5Kk&)|=)} zM@X*D93|D31#Mfe{PxFh(;jO~THXZTiop2AT+VGx^56mnVgy^7Ou4e2>WbBdtk&Bye9(xrb{};^ zwKIY5=91hNNep|*5Do_2Qmg855oi|z!2_Fu0xP%+Q7TYA;DAm0`t{3?4tMVT20;%i zR673~hPbOcXu=Z+fCqw!LMfb_E?rfk&12|rp2nNy+`9lL7;T?7CnDrdpfqb6;2&L|W0Lsc!pzhjW!(l}Z(hUo5pj!_| ze0oL(Hbke2Bo7{I78w>^03xJ#L`(BOh0OaHx76~uh%O|e{W<$V|x zT;-pDg*C(NKnxBCp+g+S@YQwF(K)#(4IGTZR7Ba_Q}flUV@^L$r9YkAVo<&UIK9}= z-{{(Zs!DVecxUM-@d17Vrr1>W1PUp4GH_Xi6X^|E&3$(P&)SXV$hUU^1WjT5y z-S6w!h(kF(a`4LoJ1J%*F`wcwyo+=IJ^22UzCg}e*91at_pPBfc8QZOIgLKslg|ZK z;^{e*wB- z^|u{UY|Um+8nm|Zem8sm(HN2*ai?l9e1MY;AB#CML$A9mnog2nCa1V*8u-Y-{d;d4 z9a&b1KABb{e#E|seHUnBj@oBpP!W(hzeQ{o%A}DOoxWv@dXOJIj07ZGTpcM0h zV)}z=h_-(fbiCR24*E0RPUPHtV+4()D*tJ7eN+5mP)_WsnAl&4u^a&d#8$Ogu|RCg zGy^@oF&!i08))fGfs8P!r9IF`GHe0G7NVFwKRta73n}=S37ClcKoapru=F80%n+T2tRLiS}TsD_>b ze}pBJ6}@qR%#itP-9@j*Dla(WK}Hl$2rwGR06yR&VyeLch)&|=~Wyh!@x zjt6X*Ywt1oylwE^&${~;8fqjYH7St!p$?GN7Fj2ix3d08|P20}43*`7|^ zL&_#nP_dz%9)0s(}}=@pbs1Y-OXK{8#Bu7q%-LcvebT)`4dt31z{ zYk~Yr)ra-~7CB*I3WbP3pC6g-RpLSTH2G;S)hpYt`=e!d=ZW4*1=Dt?HYi&J^*X>L zm7VACv235ds38rO=|s2-P&xr1jwPsR%*xH>l#-$cDN9ma&`HfD0CfLB;zlJj90fU| zzz9IN(!Jf?Lg5{D_>{O)TEL8jvJo2g<=jMbwFjZ)@gcCivs- zj+Y`F3lD*0?`7Uom{o*KVaPV2z+fZj6$nCHmblzq>~u9Oh>+}pC`d^Fbmt+Ob!KwX zsuT8GadX7v6LBaTI(PX$fUNsw(26xd{GrU$*D!)k$Y&s4^fBx2}^82!o8vqblTM8?= z)t~->1!ifyqTlgIW3j5+hUs1eJP?+fs<$1UDJbr%%HC3!rcfNkqqyFxNfgHJPOc_u zedTT4wW(=FqHfG3+y_jdx8&N=Ey3={PzL>xA6ik-G^oJtPk2+d-7;$)A@PBpMk>JA z@r5R`rURX5eu;W*3d^wmi)cZqdKHd7n(2m7v7%?i2|`q3bK1+@y>1~PHCadNh3D{s zhgy4rSd+D$ZN+FNzBFKKD5Yclw6!reMj(4bt7-L!sLF5qe9!H?`qtsJE@I_N&x!o&2Fh5c{!WUpl(y~;zR>d#@a#l{#u{%sh!S78VI=>r#(b(xVN8loM_wsapx zc1d_JJ{^E2romC15b^c*cWy%npRyvec#ZJ3!cZ|~ysnMmw z#&lAy^f}!lnDslyPi~sVK{I_UhzaG_6xd9UCvpS6wXI-N2kT4jk}&j z3gK%v=iO>^3oGz~m9_dDdkN$$^=PV+argfR_`{|X1emY=OG#gfr(U!VFglGC>;vcrcE# zy3p5^e+pA=Y0oCVExrM4ko2P$v4S(U29QpcN&`#J834OHi-JrRh_aU!6{UjvsRa(t z0Q7NOssRUKEyTZ>$w3p+8Z1}>$sko3-q_fn049p<>YG)i=TNdnf!p2F^Bn33T~`+t z9HFJlW;8>ULvsfn$O9T z^NYzb0QTk}NJ2-sFt88-ltSl8?%E$d8$>-qfFi!ycf#b>g&P62sgIPGF%fpJ)SXA5XzOiuk!-2Js znzo73Gh_ilYH8{KLgr~VZ!1d^`Bx~owJv*{IYm!LlJ?nS!<7nW0{*ssg|4XfoN}(k z-?zbMdGvIWp6oETN8nAkG^elzfBiX@>v8;7+^p`Dup8hlh#ilAmkeC0chs+0#SkMgL%_xLpP2uTASdu+Rbpua?(*R0y#`0ZlVxeQ0-orqBk@x>9(}J6%-)z&SKRJBDhP)B>Kv%to#5wDGm6Vv_j#7cWQK^ zKnRJ65C0R@ks=3?Z0r~;C3zz?h#pxuL?mToykLy00Id=XON;bDbWDPDb|B1*s@I!E7O7rB>}>gJ0YS(YbGP#9F9b`KJNwi zTRuHOPyg}XU&l3N6ynqf7}n8Sp05^h8_%9PEaH*$-4S_NH2(B9)vHX0v+El! zwCH95$0W*vIJ3}o%bTM*uU)><5T{(|vA~z6-aiTYBqfAhe_W}*VB1as9r^nKeF)i@ zx>Lq6H#?U-w@qYsTl8k<6^}#m*R{SRh9whmtF^bLdV2XJgQr;5#&0N2$AVtqZ#r0< zXD?*= zHXQVIoAxGVk@b7rIW*$|AM48S37=t+4Cdd2OIxDx@)gfxT{PY7^tNb^s2yd^?mNuG zvB*sCTK}~HNS-k@#DFG+Lnik*3s(BB0j!7#pDAwNX-Uq59Z46M zAxMPL1SQ=6DL^--a44y$l3>I=|4t!T-W$He640dZ$qW8tJMtX8$R#eWEOj_S7+B9_ zVp}{1`}(LLgimS-$U{-Ob27w8Rc-Ay`pEnPNn3XI#Zj>0KVc)Jy6Iw{mp`xr)YC!985hBavUO=sfq=bZoIzP=Toab2SY#5XGI(gK8b)Bv< z;30|qbA?h48mtQ-DG4G$9Mh>munR8t_@G>6iaWE3UxjgG_wJ>HWM+h;CHR^OB?K zYY}A&>e7xN{=o zjQ?re>})NRVBKIly;yAKA5N9)X0t9tTl(n8i=gRfJM5ln3ks0a~eLWDtVU_BHdB$NCgWz>l9%A5wQNper`zz`Vn? z3mhqecQ5>#u_%H>TTOt1Kp9>D?R_w^vIEipWcVHVM_VcZ;I0T&jv|w@1Y2i5G$njs zf%|M2Hv4^2LPEj^z;{EEa~FttSBXO1d*CKZce(@yjOPC%fIxR+$VArG1o-4zP+&$E zj0U4TI9s$^-so9+I@@O`9UT2#8K`SS_U`C5NS@q{Mx^y-8PKOzAT(wr)N=a$1)YI#3Si(~t(aB3y1d21+^yW5_qr3ohMAP z{;An`>iNEYK zIv9cAl%KaiKd~CT%w*GGpgS6YApyj*w|E(K*wTX%(e`inEJVHIKoVmFq}lB#lbF2biIRKqq`jl?SOzo{g|ySP>+hN-VA6SVin$UK0Z;59Zbs>5~Qk=$nL z*XnB#f4RuG6PEKh^XdK@T%cj31SWqm3qM?OlE#b&p*U0@vZd6>#SK{dk^9r17oDcuDO~8HwPfG!Gt?e%M@u0~IDA1Xh$W<477PJXKCu}11Cwss*?tN=*{kaNt zrHP7cgrM$qpK+JmOA&TrQKA6B?eH>!K#~wCTso%c*j!~M*oh)jfPiW~uRNolE+lfxMWcX#nS| zNS_xrNHbMzBpVdP<@GNB>HB6Q61t>pLX#@%AG`f(&3Zny$XW8^dA(6c>8g0#y?^-5p&Z*ZGuHbFCOUR4hwb?l!*p! zPOJU{dBi6eY2r&=$7)2O*2@yj{olk6Nw0)Y6zw?5L_c9}&9N73gy@h2(h2zqI0u91 zw$){C3OUIn@X!8?9u&B*UIRpa+jcK4kN4R5^JyP~vG~1Pi-p9th``5!;sOu?H;giT zK-m=ApThth?WX?xG4k?1zGadE48J6CZ6r&OowWledyWP8z9Uf53c_c?4Vp?VBpYsD za3l`^914Hw=7TU8TO0vxt|Gc?s9ItpF|nP`52rX;xEMA!s95N3uS#YeAI%Pq+ z?%=MtW}g1;-R44w=ZFV*AMU9t)-y^6!9QQ?!)P~V=9=vuOag=?vLqAU5&#Nwo(urR zH^>=qO9p%0_hZ9*(pJH6Hrd$Q{>Vx)`e;MD z$0Ql`#wQh`X`;~YQp^$#!ls^dxh*)`1SIr!BCzbj>__o`CIJ(Zlr8AoL{m|Psyt>| zYXNnhFsl#vR}WB3FfAROWOVb?11`d*BsQTN0uP)nro!i*2HXc=+xLz6X)5pa3YR52pvL5HlCl4-KcN6^j4_rLN!usC253w#?UuVm%@ij`Jua zgkS>5c>sPY%3(ub4GX*gLpJO}Iyy#A_Ak@>Qk+pj8Di5*<~CusP5W~U)pX`ZPqMKZ zX&a6Wl22|2t92dJ9+F`Sb4dGJq5|l%ek;|Deru{6V?*zX##_o1{efIH`){I8adJ5A z7XqH7R55`@8vP1GTxE&m!zJnBao^DJZ+2PP4w;}2uz6grRMg^>r__2JpJVrtq4h4Y zl*?bZD$>}q3yM{q){x?Q@3Zc%Gk$EiD^ktk>0HHU_qV%vggq`3DQt-6xL^1UMOO9w(v{NvS*zlE~JURDme+ zCS`!t`OzZ?acNfsQ9al(g#00jViN|^U&UtCTaG}w=h6TJ%Pu0~nGzMH{yHQ?iA{;( zC$5qa74BCK!q9>8dwS18La^fCaKN|=;s3u;Iu^B&!0pvxmjcysoS-rWgqt0;Iw5uS zj-UhBkoH?#1cwUMXwfq;n4ISt$v`ma zV5+i^mzOsO|LTQW&?y+h^n5BTF23svCF;rmT?@u*d{^a&hom1SK(HwvtB@dKZ*Ho! z;OJT~B`)B+8(cSN#=_A3!&BAJyw!$U+oyND@Bj9ro)8=k58U%JS zkf0CERyvkq*DE=f*kDYt@ylW&eKE5@g6D!g7Uvz`$H!`O{V`SjTIkILB$m=>adU6k zyb)>#DurM=X+I+FTW9|z_il;%m)&h6LOsQ(dVTEZu|`00X!*{4;ARJ$X$&UdS@fo1 z9*B*r0b#6QZ^o`aaGuZkmV{1|G%xfQ2yK&6+{gk2YwJ;>7Al1YlJ{+$FF8S+S?eI= zZ26sF@f&?4)w3^d-VmPPlzm78!a}uN5b1sHBs?g8d{G7~Aaip1#xw4Ujc1BCo+@CR zE5Z?{Z`b!%j`p7s_7foGwil$4Mg>Pg={>rz$##15r>6;MAeGsF+dA+@`}vEPc#p%^ zP#PrLYi>d9G#|V}Oc+?a@*zkWER!3XGwRS6HVI$drElLVqJc6aLfS` zoOpwd7q8fNjbfk}2yF01KzoG1K>-p32E9urhbm2+Y--NucHQuhfta&KBj0;kr(aCl z48l0CojF#02C^t&YusGHmxJ=_O->06y{r_QPC z9OsFAKY0;9Pkj5#;qmnT`i zTpcb+MMCiw=Ns$ps5K4oFC5(0=cv9`uq*_`DR>|kE z#ywDgy3#TXHNw{Zh>A1xNm`E|78J&kfCP#U@J26`%mt}&@|!oNRDYYhI0-{x(aMB! zU=mo{*Go%Fp8>W>j!Nebz;!R6t)(UV`sK?#Hu(LY($f`n&CEXFAs~j?J}oj_#73Tv zyy3msTT(H9Ov1!eeroR|i9BbMsiY_w&zfuns0hj<23=*N7rla1cAo!R_~jt`#WVp) zPribSy-xxAQd0yz;*E{reRZ~kG&U>b6g(Y_`eNYaERI-&2on-AJb5MusN8`*F;VVDZ;O}iYwID)VQk~t&)^=-Re5M=e7d7fE+FS(9^wr5>*dpgdtw% z8JI9^cWVNHW)N+?X&f>9o}@OyY4nJ1KOn>9E7pAdL-` zIO&4OWKN&B5;h`2TzYffdVyYq2$Ghj(39gmPh?iZppA{u^uxsrvc9?{_ulmQ4i4%L zya~C~ohR4a7EK0BFBrPxIv=1BM-HXesU2P~fiL*G{+Eqmq z*(myBaA8aW!FnW&z`$X>=z{wSm2v|6<>2DdWeavQfR;@|pH#SW5ne-uOe-kSR_o(- z_Lz$2q3I|4n?GRaaFnDm*M&*6o?kSsh6hJ7d_JJ{Wt3Mcs#AdCkqOiiHmukmuJ;|SUP;Q(9$GRto*eB>J& zy*Ix2y@}a*a-W*!B`6UnDIdeUqrbg%XLhON=$yXP{vD}{Yp% zrV04j*Upw!PZA&98>k*SaPXKpWpboL*xD9sdTaXrqf}nM-xjuA z!@oZs#02xXil-(wxR_C3-a5aK#^B(8=iv_?iPnibdVRaRFfrZ_R%drS1r%oj;PZKw91h4U9Y3U?dV+aE{Ds@aE zo`gh~AuUj(TS2M)kB*M~M?lSnLnm8Nu2%9dhprTHPGG7UR$8Ajwpl;}jTpR#4e%rh z(!?gE5GsOsyPzdb1RE8amE?fNt;{GiZsZ?K6;C>crXhC|4?r_kJ^P{-jFMMx^^l}* zV*N^<@c^(2b;}6*xyD7(~mUew1Mf$>M zuzW<4!b&r^ARsKpQ-w4owjQM2+53{PmSGqDChu>>_QU<=__I! z4+lDv>*B?H;Kx5yJzO>U3SUYKI1Dp8pxYkmdM#}GtJJ!g!w=3zJ_NGKgJQK9*vg;! z=2@`2cEcV6+wgsuZl3~^u=zj7^Yw}|DqL$#@D%19K0#Na7Y0K(w@DCOJiL4C$Zbx_ z=RF7lE#_B1bqJlocB7-CUf`Lk0vQLYON7qE12iTDsEjT!#NeX;9jq;65Z9IuE>{*< z+}5vHH-)!@U$7f}27kgWHx40}Hw3`L0Eu%pUG{o~`X&UfFr4Xw&+DSWvGXsiyb0LH z2Wbo05d`@^q0luONlSio!|g}UoB8^P3! z@H~BIQ&90)SI7s%HGsj8IdoqEkQGD@5uY6B-pXB@oMtAALy2>`CqSHYNP6O<3Fz%a zH-x>$)lg3!gjY4A0snKy%zx_NV20du<5QDkr>8}td0P^FH0lbuksgDJ>2!Qt#}$Vp z8UYjU<;s}gWHXC4ixO<)?@{0w1l%a|zns>)eHlCu@dq6AK5G{z|FqPiU>cgC2_-G9 zPox+jx*LdyuZnSCcV*A8A-7@65K&qg?WO03b#Zzo==`7h( zYzKc^Y~;Pdy{yriJ{bOGSa9&Wns=laOFcSoqiUe*9m#ol|H+F5yKb=EJyd5VZF+es|yln=pkg`El5q1pozM?gxAF87RyS zYpSZsAsOwzkC{PSR9xKK?h0K1>_fKjbO41t1p)cSw^z@AM?gtXr!$G3ew*L_A;GX+ z{kLta%JG{}C}JU`<{505VpQEtt={W_4oIe0T|i= z0;eWG^uO~~?B1^h2mmhz*YfucSg7Pdym5T#Rc9<#G}fg=fFgO5u0e|%@GGHCq1&)* z7vSIiga*(J8Od;_HX{;wc zf*b#<4&A6^FbqnBDW!buKZkEKCe{Uxs%|zC@ZG^KtDjQf&`&3~yK0*}NQ1 zzms^Dt`u~@#J|(S_;f7#rfkqitjo46eyaRW;9m-|A3&fNCr+cMY#Y=ycKG3xV6E1? zxQ1;s*?u+8J(`6z+H9|fOQ&BB=GE{AneZ}ezCk3!QYj6hJFh4i6MGM!keFMo;vp#Q&(|=}G32D5x>gw*Pz4 zMhw<3Vbr`IVxhSZ@Vi9;CvL$8Kl_M>BohG;rceVL5XyG{94TovI^nIE1Hn`a0BYK!H{qR5Ihy`gv%ExA48A@A6!{*Ip^uy4K;w& zkq`dBsO!ssVg8nMWbEK8R4vOz$tfpFi`qP@V|~iJy6*)vc+$3N8%JymkD%L9!0&S~ z4`P5idD`62`X|mQkrZQML0o+V%LiFCMR~1W;c{%FyMCG~yT-Upf1XMJF|{9eA2{XGS5j z93&Z@2K4xYb(Q%gM@7?VCV)!n<}-2JzDP_Q^E|;cIP!94=s%2Y zkjx4E4i!$g!vUERuwI3KHjiwsy(wn)rMX9o4l1B5;ev&yAj3wPgN5Tnqrcm?$sSFZokF*H;{H>s=?htO6wqoT{l7Z~z^AT z1kec|tE!BQb#&5yc68i!u(P}LA|XMQh=>Re3URchd^aZRF7O#LF^N0%zW~OH9HxF% z2jJ=1LFx>fP30h0)(DuA>Om^V30(XnD4)>}8qmEL%~M83CMF*N#d{5RjXmn&%yT`> z#Y0q@ZO%YRQ!-)JfQKxtU|WH@8okXfVx#|mR3?TpRxod)GDs<=XEFXcgUX>B)Iwl2}f@`GjZjr}`T#1qn+k972GhnM<_>UGs1LVDvQ*b{{ z#5zT$bDy$vU02HOQz{&|R#dEVFBw~^8qfFbCb5KD_RQZ!=i&Mz+#r)W64CjR=IFB6 z=l#J95OWgtk{O>f%b4=G*|yhcoXSE;uGfggmI;e6TH{KSUY}!QT-nB1AwWg4=TE0L z37vZhTl3w!nrLTLtb6^d}G zxVD5C6%L7bjlaA!vG4G(Lx#u4E&fhUve~^mdjv(0Y!pW42OQ2urq5i;f|-!XK}(BZ zMl__x8Hyuq`O|^Ohl@}Wn9%EB8~V}Gk`2nCzgiS3&E4`x{KG>-mF5%mfqF0bjYSrr zjz&Swcf-mpDCiWT9RBGS8Pf74X%>O(RX0D}r0A;jt|x-&3s#0dqGmR6iN);H@25xb z7BLx~ZOPdGG>v_485osHMAcI;qeF(Ma2dKyiKU#DdA;hF(G6Zca!42GaTH6>lW=%ALWbBfDqOGc z{qELJu(9GX{cZ82@aj6E$NIdWI731P?@~;tW|0~My%o6#_@~11 zPf928Na~RMT|_F;OmF=%p-RPSZ0X!}LML7E^))I=J%RmHL0_tgOVJ8fPc9&ej9A>6 zccZ>8oL6AsthWfi*ck*<-2BGmlvg4j`UNP-FNUx85Rk_2^YREG-Ng5B=Q8j%A0SjM zej2K)jRCQ_G1?G(#>#i6_}Ck)Twc(3Em8$~2g`uH5eIhM)dL~!g=tGWSbA|0=n2I` zo`FXBTHmk&^vrf)A+9G>g~dpEsus6sf(F+dV9$gR*En(i8@HXE>p{y0f%4MeOy>c& z?d5Gu?G;?DAMMHMGgyIRKvTg>_-Pchrud*b3!DQ0U{F5z^jJel>FYc2e!PXOMDKg| zF2nJBubV$kgyfm9H6EQdx*wJr+(F>0))-4$4Nw)!9*bnGfwPb8;oAW^Sx#crOt9sjiJd!g!s5PV8WM3Ms3o$Cz>hHu057w_96pDEF zdwe>93TnSXtu`E|96ZMgX~*PmNJ7(OQQ=43*y$G{c6aAFPo_l8zC2(AM7Xh}fw?t~ z&j*D16?EIHQNm%Q#UCuUrXB=iXVpN}?Hf^VjW#ER3(M*ivnM-I-b) zEGa1n(om{`8_siWT#UYJlvJ&9*zL;w9qfR!8N(GBUz$bo)QrSsWO9er;FE=-!D#w< zR3m zlt48R)=)Jjr&|&Wl^HSp0dMx8W#F#CPJuz88WYfs;{aewD8P(j23lw}3kwUtVdCEd zO#*WG9;b?xuVae6Eed=wT-R~H`wn?mtCz57A^=m+EW!#5> zFK8T~jo{YCDX(4uSEiIed4&D;<&Br>&3u<4lUI)=u`rA8pFTWXH}7g0;o%}1-=g!y zQ*GvZ4k59`OLz)75uXfz=mVM6x1H4R#IK^let#&n-qbO~2LFliX56>lU+3}I+7bVw zaZ|mu?^SyTpQ6V-sRzN+Yver=o&z<=&OmIi+?`{u>2Hs37v*DdBV~RBjkOIjNl6S~ zJcM!$R{G?Uc)ufd$WwnDNYD+lw6f7*-$Q7q!nb^C`J`Uio?ZGLHe{_l&ij1A?)H0> z5G&x?^yGzplJT!)KYSIFIOWZ$-{gGQDSlbL<<>WfrO1KJ`GUd@7a?k`E5A32wZL#9 z9{J>uj3jvY$prb^uO~ZNuDBSzcP(pY+!f&=8J9jEIB=frz(Al5b?gI9x1m&B?Q{y> z_(*scc)LM2vjz9?fB4LPZd#Cu{JmdUk2g0r1Dl(hWx(GPaUORHaz&q{V_`UzD4v0S z<`yI~=|Wz)m$!EkFory^@5C>zHr(6Prcl92s42AHJPZEzM)mB>^v2CLxLoSIlI6K_ z-XQ}B1_-XeIVC%FEPg`n3z(;Pu+!~<7N)nkS$P^Jo$0l;wIB1_?~(-(+EBJETv9|9 zdR!R5UdB}pE!-{;4NTPltaXVtbj$33hV+P4*4Or5GDwuN}#Ta0G(4kg^ zUUr^EM@1S$KMeW9p4ON47!UcafQ8(h)szi<`4o(TR`aO|2OhHzwcgfKo<#m^eI-1R zes477x%$Os39(cx1ghYkg}6D&k|HUu5e)g{W9mD=vHaV=FPrRNOs6xDSKvy+x?!`@BjYaL&4TZN9W=L@BrG{k^ZsnFw^W%&1c*4Qp3E~ zgx>buiHN_q{Gph!H`)W7+%omByGKH4MJ+SS}_U`LFP zaIMD`ciDMYxaQc>Fl~RC2`}+y>#PJGsp7=WB;Z z^BT~EJsQx2c=b}iSZs(%NMt`%RP3H5&E^<->6`%)Gn*QXt9nl9Ep6>6Hz=FUnhBhf9zdrFfU!DlvSBj;Hji%e3c4bWCiBlT_;Wsi_O7&7e1FJ>&4rKP~(r zlbhYq2l|6s|J)9|zn|J+Q6#^a+n)PxAv6|v-6{3h6K1@|bdrAlwl8VK2p+8z;&dTF zZEnU~iYh+B#{7bM+OB2{RcOET{Jk9(2{ya4BCQjb**3RDAD8*yEYP@zyZe%x$B(G~ z{(X`ySOUBGVAJ>ErtclPPEJ<2dsvRqMy26=9<6QhG$#Rt7^d*L`Qq*lbMQy?a6o}- zeP4u@AF)8o!|1(wG1}zbzHLv)E;DwGT0kIJgJw#CNbPC#CgmHqlhHj~;f6@SJi&w8PDQ9h5fUa~j=K5#s^p78gPIO0( z%ZF~@g#?E}D}alO>+=CjZG3bYD={MVIl<#WrBJKL7@Id*&bQJIoZkSIxblvuObVP0ce*ciQTbTzj z(3_2h246k9gA`fAqoHi*lOvSXxpb+s-l>%l7YbaX-+#a%dAn1*ER&J_}eb5qO^j()kQzX1{)pKIGl0pHyHtaKf-S zqGDJwoa9`Qc0p8B3l=Ki3cK~YgZ_1X{xjg(3XcNZl?Un&T$ycCi1b`rTzVofeh0xq zuovb}4JA`Y_=<2*9%i z-^c&XLXN>=qb3fP0KmL-E635J^QTIwGXdhpj}PRv-V~BD0m4%L#mM0Z9fDGD^QRdb zACCdEU%sr~WH~vxZ(-^=kp_Y;u>3~PhZPXdC9`^cUUt}j%+Ahk6Tb1;WejZp7oo)n z_yl`Q6JTCx!HM301)IGQgNdscbGdv*54sn;emxldX$uCfGh8kcR^)furh4YJ@%v8D z#X9iDfaL?;8;3u>2a6Z=Gisu3Dmj`$xB^>;>0k2RZS?e97Ejwk7AaL^rcZ1rkV3ZO z{>aiai^0`f&%OQ?P`@VIB#+T>H>OJ~UytlZ+ zPA>58sSgGDb2{_qf#ag_eyDDHQ&$5ci-(DaR}^Xk*D~nk2QMV%PQ?loe-S!g0h-IU zJcy6t+vSPJdJx_4;cS00R3o-hW3##Ym8(B!(P~GVIkLAVUUi_CguB*3h450J`;bD) zlv!c@m(?g$b!nTIK?6>zlZYxiYvk7^St-UGVZ%PyYr$Pd@QLv_V&w+&Y>a)&2#ZbBl_~~?jlX4c4$qd03MK;G^1W*RwQ{n2=U^U7DPZt~-%M1iP z!ApD(#tMA+roFu^BBTvAhEa#WXxjb#;8AyTL;jHp2~xFN`E#6?Z|XGJ!Dn&g9vG|G z(c_t`Ai=8K-kzS%;mp)r<$o5j+Gz{-)vZ|ZS7+#ST7VH1?zz~PGXT>T32M4F_2z2w z=URwB(*=H4wRK7F&z0T(U@Sof7b)&H{Z4|<_|LU{ZIP-EwYTyAd^zDfm0aqRIK07n zKH|h&L3n1fO)ZXckM@XVu-?qm!lPm0(Ad< zqLZ;Ufs+X^dO$j!f_6<-a6#`U11m$*f?r&i4*#Gyf=3l`SgeW>dSHAn8A|`akDccH zX!%ilQuj(QxJ^P9;B0HB)r9`z*iTG`u=c!IH2r||>PuY2xle&@rQ+nY=@Kj)kNv~v z*GPEEADzPIrMp|j&VG{|vGvExefECv_jEs*0lmmTkZ3_1ZI16Jl zy=23U$Z2m*t>t18xa;0Y7v%^ooAqYklyB7$Ad4(d5ej}C5ClBAaPC|Vq%Ba2+SGpq z-Uk>l>zera`OU(LE{hZH>Sb8t24z9}@GLAW>^d-~C+#IH!ptx1{o3-Cc=+%k8NBC= z(U(5Jj;{r1(?)^}esVAludS}WO8FA>cwkW_MC4@J3FqisJl2IX2fYbRg%-{u=7yK0 z8v&9(iL7eu2VF8@bO;FH?&7D5zIdGoDMF(cpco}A5z+wIItJTptuph~U+`ysc6N4s zb#=7|K^#N8+dZM9tgor73&2>3xV?ZzqQR*@*8`;CxGk^}uK}MuQNb7ABVhvmcPc#h zBMigPb%MX*1w^cSV=$+Xys;7G-4g#c)_~%|uai?%#eim(b2)ynoBP?4(%?(48FWNI zccgc@MpP^C6~bM}h%_FHbBCOf)@|;1A;qcN-7e2hbJC5xx%Uq2Q;r1-JcEbxB ze^*LgkU{AAOQEMpH!x>YMLo9nG>$#yiM@|cNWj=G)M6SNa((V4cg{3}=ejhbFu0ZY z#we3U>4w>uzfjAzVOEN7#YY|u*nf+onVBO(vV1s#e+LhUKRmI7WEqNKw|qX?22%ci zcbJIbqPcGTVlGH{4F@Bnet{&EZy^Du)%RdCXC4$|tNVs`zo{mGdp!taP_aKaE7t?n z`yM=RQ6R!GKzTIQ(TNsk?F(ycz(Z1!r&OWwF`@)rO(NtTw_-`I!DJ{6&eEjY_0v%$ zZK7)G4eu8Fu` zDz;P2l;)oTMfX+}!X+2nW~>kC!Fem@*$)Zhw?c7tOhql;dL+0sA{9Wq!2%QD*5Zap(fB{^CcAUht@R8BQYP^x^`$aqg_4bK$#(S z>GOIFOvRhj39{x4^xvyUn0`U1i?(5aFF!-OAb)ER83?R}Z0SVPBbD(eJgSIgU)+`NA zfugpw1fdf}aK8i+-alASrwRKC-Na>~7u9~gzMwj*c?@yqX3ANjWu>L=+@#Gr^I6g- zp8)>?=Puc|L`Z2RPWlG!B8q_dV&OvdV8GZK;*o}weu5aS%1@sjJ^<+B@aU*U#(D6Y z33QmyXg<%52{H@eRs_$H3pAv^p+P8yUs&Ht%|<<2HRRBxf&kat2k5?YsB3(0N5{Df z7cLAYKYxyTk60G}tm>Dz+|UCIe|XW!PR+pe>0Edo5fqWZL()}Tkr}Q`3}%z?Ao6Up zisIB_<0?I?Ti5G558t+=6=aVt5cHpPJ_Vyf;X|s_@G|EA>)1bEqX!}d2E_4X-hA6pxZ}xDVBTl3 zJ2~LwDJX2jeZBypmb9Kh<5k^%<3kQb)IR`JtIl=e~7D zFuUZBq2hbW1D^t*K(w%f?KmyKnwPC>ean8s%y13BZl6FHBF2F+eSoIfH!K0vV5q99 z3e3M6u@LTBGFC(zbYBqiXvm28!ovnMGZolkNw89j;wDwd{k}Urc#uGVOdPfk*Kp=m z{=;MD!2s^fL0}6#0BIv|4c!2&W*{Z}f52vPa&jylA`!xEkD8ss)NT)4=#`ZfwjVhf zkussglurQnIEezxHNXde!28fNngRdmPzY>)O)M?1yc=@P!=v7Qmc*~KEcoPy5ko60 z-bVzJTjivxF91cQZ)J%J^LXi+$MK*^(X>Aegm*T+^@yRJ_7PIvINadC6O%r+3%Y+Y zOSVa!M;hv}BNv!bvoMZyhte@@#q+TQ;8I$ZPp8;%nT(#Gz80Ael?oK}c` zJuFH5#*#zIQdo*r*iKn1sFK2X%?^$z)gK6`{msNPw{*{{CN&;>?r*R3%$c8Ti*&uh zk!!}@4Eq{5(D!ASxqMZOc~OodRlYIu3&{`> zXog#P!ho?(qTjyrl=E;4>a;?Mio}9DU7%x?a-#|0>LZSp1rRB z_>m5Fzu;x&dvbgcM)OGE8r}om;mc1@^#{QfcQqaEfdoFySmtSH6rKZiqYqT%r@$}T zK1Q-Q6Q6pnlJK7pJ>$B1{Scr$7?cV#_8uE$+rd;eg+G zi(!F2LQS1;*hMgodCN)ebXn{sf_9lOkIX&c75ws(FV@1ufo{?Uu=!qkR)2G2?&2H zBaL8Q;UNOD^IWWmm{;5#M=Swf(hS#Aq(N+NUWL(GP27orfwH$T69t|O?CE$dcQsZ- zBXVv``0jAYFv0O?_lc3c)qPkuQn$~bpH&xJv!6LL8soyi0E#WEt)7(27*|}$gOLxD zlUe6aF2YU3Q|L#6q|>MdwZ}eecPk_7OX44V!HV7u2F6d4OHe0OqgOS)Y)4cX?T6hY zWiyf8upVPEB<^lb7N6^@o)Zg`-XLfw_4Os%4RKVZ_9bdl6GNiYLLTdwWKrCRL_4si7mQ`IKwZ+AMeNGi_B*>vG9#Wa* z@9#JMZ%S3v&REXq7=82Lm#UxFzX&D{;3JfnloT2pOECcxM$qBT(nnx+s8|4j=s!Uz zn}q$h-*B=Dpp*3cySEo#3OMDN!Y4sKA?tTu!t|M{&HvzqcxOk4PIC&5EE;$apLes0 zGg#sJmlSZW`yh)8dXqoLSh-v~B~8_ckLmUI_g@xA8ehTL`G${VR#Zsa@Y9U~+e(X? znmQUZTA#o=GzL0`uC}&_I_y68VzSovxh;E$KgcwECnYB&w7d-;Mp+Vk8Y_U~Gz|u$ zp8u8x3Pi!z?>iivDO<79^x~Y4AD<06N%^JWC9ZaUC=h(2N0j|P%Qhzuzo7J1u-H{P zMSk_Ewpy1GgLY@H&G-?YFmsPB}#ed<~^wOSmwz zH+dF9J&8ZB%0-;%3~C8`r;@XgXtBsC%Lz8fm(91~dTDJ|sA7Uo6XN4;B6WU+oQAzM zjUdo>3sXUWc?~y7+^b#6xX@Y)Hy|~#>k#DM8ha%Tes5wQtgg1KtR7p^JIEoMcRLuq zmTefv{j%weCpBWYyzD7o2iGv{p9AjReFu``tot}ws~T@T6s25+)%k1KnfUBC1`{xW zx6WO6TiY2Xcs{iL$_-_pqhT|uWEPbG^_CSl!FDw@sm(7h3!RQ>1qiF>w#;5awj1sq zKJpOE&)~Ei$PyuL_l_1AD^Jd@+(#N2@Q<^sL~yY@rgtuxNO6xt4hC%IfJkq*0-JYF zFR#|A`{TZ|BH9#Zu#enKfw;>-f2b>%1QfyJS-#4Z8rR*O@~ z@42b5@$G7CzbT)ToC#f5ESwNLBtt*p_?T{@ zE;%^wtccxY8#VaPo-l;mU0V1g5=Nrc4CDO!|T)--Ga0 z9>GG{wDP4$5He(&{USuS2;e%{_R&NEbX{DK&MvT??=bVP(}jU4S?$eFW@>8&lYxvc z)lD{f1gg+!dK{+MXU8gEmZGrr|0Y=I9EQm)tWWZL7N-7AUEi9AQ!y}J62{Q`3m)i3 z1$Mj9YJBr~TF1WSYl;+4ix0W0bO6hobFynp^tHQ`eYYUFpL>&FxmJ%lmT`$Y4V4u)|DbfV^a_XY(~SwKy+(Vbak6`p1lScoKCp98Y2^v5nMMY ztpcWfe5m(haOE(qO*i2BA(HhPF#BBBl5GP2-3MiGETBu4CDuw@Km=qlDyb5yh|xl4 zj{l2BcJ=pPM*+?=bYyJUv*oZ};G24db#y!#9ml0T4a%=zLeYtYA{;X!w#5kSRhiFl z&v?TVS5MWQpIKeK;QipiGjz^uE`OBn+GoP2 zxPf~#gN~KB@Yu39(qH2#67AQH5~>YDLz)d=tN4R+(g(Yh_&JpLlHYU85~>vtnKDJ+ zUpB5??xI3U3(s6mC|cY@TAD!j_35VLU6Rs;<4UA4qC3)k{g-g9Uj~UZ38MT6Ht!gj zBT0NX;99_n(|{ohjU|VHp$*6~6yS(DRPg4_3m~k|w!-!N0XU3K`=I$|s&Jk3i!v5k zI~aA$BBCvKOQnZ3DD0|wK;Z2PPbU-o0w&EmfR$~qyhI@d6mooca`8;^=7dq2SI2W!0NMmp|AATLI;nU0SkAGf}o%Y|}1tcvQ$m{{vOih2D z4p-kY&g*|(2&P_O^mXOx)$7*QRPe})P4AsT$}bRRFFK%e1_`-*Hg!;MBf$|M^__)*qLn>$72i*Cu2cSR7}Fhl^sm;^8)K)|^g ztZM53MZQHH0qS`Uyz$z=ta{RV8)BcCP`Y3Q+8@BViMxwsl6)XQntKa|k>7xQtwmC> z{BRs9G)d}xb@9_OkU~iSJ99&Q2}Oj23IRt@hgA*qLEtcv)9<7T*YGJMg()jHMbQ9I zrsLO_pYeNk@vPoQz*sl*)dcUvm-OIJ$c3Xhi@#gGYLTO^uaCDr+50v8s*n5TCJ{(ZnXj51M=U)woqO+Auk}5f z1$qdoVtFb}^B9JM$o9N4MON#ket`}tkFHGPPN&Al7`z}*Y5u#-On0c)^gC5$E?JKR z$n<)Ok28tj1I10t^0|L_bFd)at1L3K_(9x&!NJxQH;pO{f&tl%Xl_=o_5Vi)+=M0| zqTDE zdQwtS!6n|i{~spx6;yS+Z~}O49K#kH%_2IVW8h>#fDH1H=30X$^Uh=|%HiT$x$l9g z@WL-G!|alVycGqMN{5v`%c_6T; zt49qmmdY2asd6ZWlQ3e-If1E+yU%!27uoj14ro{I3dE2u9jnvHJrrvdlec;)G+W zI=ZvDdIh(jndDN_^J@`RZ2DbFx37j^8o%)qia*T$o8OTrt9K_**pmrkBN%YB!Nl4- zaoo;VZXuCY$rUE*7mq?;%+jv3^A{$76uLh*^OU^mff6M(r;3)hD-ZC@4L-aTfvlD1_UG5EY>n|Lj36r@N3~PGe=kyDf7SLWH(G-xFFDVzd-DIPgX(2**^o;uE zV{S!l$Py*pDQXr?r<&RM!sdH;f!qPA9)dW;J}W-?Gz0p(oB10F9a(Hsco3~w4yOnB z!^V&k6zp}}@OWPYh!Q&1_5NReLpJs`G)Ev1=EZT-BJ(XQ>>k=7;Xt|vC=XunvWJk4 zm2`z?Ya#rgUulcc1mUIfHJcH|9yW2PQR$bojdga&^kc)AQiZHfgH%d!h)>M z+KpT18Ly6^RzHnuZ&mO|i4Xf&@wuHqnM9}}&R%Ceek2DBS_7PoQCK<-C3j`hZud*x z!XFD1$G_EmKvp`X+>)?>t?_pPMEuwsp8Hh5ryvZ3(e_%!Z|WG1ZF~ zmd{_Ddzx$$7TaZ3^=JhzKC3!Jcs#*&>Dsv1qxmZo%rfaqgv=p*^BtQB+9#aJxd`{w(AVbXW>|AY5U$~IgTr zQ&6iMmEtAMeF{9^N;m;FkYm+COwD=x58V8I0VpfC2c@nPXoSiKJa+*{&`eLu{vx(?{#=wZG#+rxyO!CZY>PJiW7=&dw`M>Z z+<$*{nE0|!IQoUi;Qje~!kclQe7c&RD4@&pXrsx?hMrA@c6wcJWfcm6&a0Vs`L4x9 z>-z6aYvt{7V5SX8sqqf)KimC{eX*$GB2(QOe>oj&EBXt$LU`#@+=A5O>M+EOL*##{ z=@F@y?W&wZZ0LMymDQ0VcK^&z*O7!I#}9mb+o!KwL^gGn0LfPRkwg$2` z@C`=xa63Dm6IC89?!Yto3l1SFsK0s#U|2;*>opts=wzV^IgG>5)ycxEoqWU6@=(Gn z`m7oaC$xa;aP^};?cDN|hHLqgHQs z&7;YXq9usvZVS76zSMo`4q68y6K;Nu8zk|~$e=b6ZdIvqYB^){P^He}Cj?3?paY1k ziG!6U0g%v1;!H`3P1|ElhNf6lpYb!CI%Dnd=hu22#Vh&8P>!=2Kbnk-LsQ8tbz215 zplob1Uw^rt%C|hf7L`{rBs-LE_VLDch6dR;^$>#_PfwH)48SKL>HIk+?L1L>sbP?A zZ`*ws0C7J8P!80Fh!NGweuM0rI2|JZ18}c_O$QA-c(ZK&Y9-fzz}ZJo^Sfcy^)LvB z-5&&Kd?OXqwaqA73XI{FN8#AKY-(zH;OOXR^I71XSxKfDI&}gMh7D!&!<8VE)Pd5! zMd+fxMoXXAIdgDcSK8|}KbHJ}%SUGJ&;Q5eSE+V>JTjF=tZLk9>OVg>XBUPLa(FbU zBlmLsm@wkBsuvh*(5)%jr=Y{9qvL`DeBF0&82SdCiN^nusUWn;2E?{$RP1u43qTHU zcY#yh3N+0Gu%~$qs;YT2Q&S-*1TS+13jxptfgh}R!HR2eW!LXnuAmW;O`-~BCr{F^ zp6u+H$s->MfNwPB$r@kE7(m1Rf&v$HX|Cz}J{K_(JVd2$GOvFD$)+|a+oXDugJWi= z#BKUsDqs8$5Wlf1$G?{q@zk!Nedpr6&AIO!C}}4?vnpie-IDJKFUg-LvU)F_IX`;} z^!yy+M)s}I`Y^yIL4;JxBFI1eAf(PZ0TQHYd%m~S?dXD4G(FgseJ!l05r2Fl%B%Pn03QAp0mqRKuKLe1cLnL9tvEP1-T*fao~)dBC2kL9+Wbn~PhHAE z3^%FWR&UD5P%QR+%>S?_5=0r1QfjWFMDQ)X^x~XtK!|sh)Y-+z=_g`K_~7cn05)h* z=-dN~7kb#c!!||&pmOj5V1-Fn6S$W-aFx6V)NBy&kY%(J9UoVy0`kWiF%|pB27nb= zs7SvU^w}zK$>7Z282$lHFK``)0L{Wgle`Amn)Ul3U>zwzOcWL3pH_I4B3m=B380*b z+Fj&`%9INaU55eM6a4KbFssvaxlE^+5Zi@gy{;3qd0*^1+GQM_U!gvs3iYAR(JwX=+Tl7RQl8sErn)^E>#V+U1$rh*-by>xw z?EvKmx)aOqAG2P+f5<1six>9?ygU}kdJ$GwjHIoaT&K7c|9Zc8hE*94$B&T4>J~1W zCbp|jmCKI#i!-1o%dedm=9L~QC{SO}Yn@lLszUYAQ6PtJ0{Zvn>Zl}kpx~Mb#3)>561DaZoM{YR0Ts!F5_J8S zJv=-#z_C~1v7cWAEKA%#6ojJEDDL4B`4Lnh1rXCg0-F>7EgWG3cNTC?uamRz*A=I* zetY%y3HJTyAudSTS!m#@*@uyZpCn}`MQkwKOXH~$7=%9KpS@M%MQ+inCv8| zS21uh(ApySRGSqg;-sgh>cB!zMpia?1R7AV>gR%})O=`tqBx=5NCD2)u`hT+DgiO1 z*4WVSuXeHN0-AUOAtoKUxxA32Xn5rf3X3!7JR_z@vhCUtK>C*6i6E-)hj?X6Xe!qg zzc#fnl{&9+qSSv4&49?o*U?VH4*Y55ERf@Qyv>Key8so219umh;RE0UjtvQ%mkXSK z-%bJ9n+Cdr7R>C!t+m0d(#3Y+k^dZrCV%S@K?Q7<#p@Z72CNA4)KTyA z|7O`@i8zX)mo%GH#MuK&+5Jw}O+Q>xQzMhes%z`MK@GwKFYrRgS1CH6oYuDhc7$Z# zyCXBFW?y`%ms)w(4MYVFrGrN`3c)3V9LZIt08oPtU9>xmKav9`NGpu6cGwaUk3D~( z%!Y5lhB<|&k(9RXpT~89(<*NIxQ-gb)BoCgaCv^evpA8<*Pp8un;Jn~fwcqGE}RT_ z(1uV!41vwSG!2A>e{cc0-Jh)9{RWr18N8c8w__NEe>q54ki&?fg7UI}XcG+&@)Nw; zUFe0tO;ehjg7L+WYHSHA`?TDwpvQ=TL+a=y`7d zIO#^>tdUp?Vsbow6zhgd%?Cg*9=d4VJiIf688m%x*~m+Qy{sMRjgCYtKH7hO%BN*I zS@+n-25_$zxw*MrAt52Tpa-}Q$LmQ<4ER$}>PjGjV`q$k;0ZPL7Hl73*UZ4cIHx~G zkM2kB$*#5({aX?9@8bRXMpqL!k2yN&c%<>m_kTF|+KV($Q)A%LIexuFim`E0^w+pe z%ltHIlkuF>XrNeiYhdV!hNE5cPFAV!sN2X6tX!2nSfHil-nNiA6>}xW*i^kB?^9u_ z1dj4-Pz%ZCCs>34>}A5Q6U@8x{Pfs#7b4an1UkO=Z?s6@!@}$eWrlNovOo*}^O|Bj zstT*p=}a8)5t0wQcnT_p8s`f_xaUCs6q1Q`e6pqO$91b459dLRBqk6xNT~Daxn^~msEWZ(8VDr=!cu1&zL8y9;YG7dfEJT%| zi+6MZ1`c4RqtJy~XMk0A4{&9#6I0A15UA&XZ$4^9alSZRO z9qb!!{$F+;911fy6pnz7fwR0Y;M_q*+YQ8*)>{AL;gwk6#1Y$HVzJi1)&>iZQrOTo z0Uah9P>E4k$!X+YbEp`*&{FJ%i3hCM1hwG$y?Y!V>|&m9ka?z?^rr;~r3gz6r99I}G1K^S0_ zUl+HoCXToX0luwMb3s-oisrc;iltFY=FkxEE^-WjlkdN z7eVIizpvNzmvo~q$3>pg$*J= zMsVwm+J`{{vQnH=O`Z#uPTLHgi!%7*^ROiK_?%tI)s$m&2ruNf5LSim(w zaz<+FOnFYtMp+)M-H<~tIl68S+)YU+;WUJ^je}xETUkr1|2_ZyqRLeKGe1ZaLMqB7s!Jc>L@A}>wkM@NRnlf36B; z#xg#}A;aJ_VE`TFj>nA2Cqul#!I zkx;?@Bjrqys9i5#srS*2?U(uqD!BSvz(~I;2EX+#JX}xx9r@3uYtz(0|IM-7+`OEy zQkjVXV>`D+moDp4ym22~@ZgPv#AF+*6;AzU4CMkduje<`j!ynPI6S}6%$EFc^JwjP5v7|Jl@UT%q?WE%i2 zfG;>@^a66OP8zZ)K-wJlP648f-Dja~gqGvZScVJS9+!+oPaeghUf~r6g7%ZR?&z@_ zxO=d+9ObH1K5%e0Xi}~Mzqi|ERe0ohq-jse@(`D^m_C3;f&qm`ArO~xVgkg9<%{Is zw=f`8LX~v}FU)N?TISryPht3fxwazF)S{XK{So$q5QSRv_PN45ySuIYat2 z?G|Xs)HHCJPT!c<{zbI%z149Gle(&={fQy(+_a4Xzln;wiO;{1^}P+Y?{W$xms%!E z6ch>kay_&ueqYyVdx;BfnFpajXPJ9P$$`T_;HrWrBYISU5V*B^Sq3hQY0KjQq_J^A z(&Lw?)*rWPKd|EInd%SV3$hwl`AyZL% z%GTAVgF*80`>dgipieKlYy&*5#v7ajZjUa&uKm(nqIrIL(J7>l<98!{w67 z8d3L8_C8j&8b=Q-k^FEK$HVsGpl(02v&f3O1sF?7Mqj!O=1-&AjcGIxhY^O+A)<+C zz3m8^=XZH|dC$G3`BR#+o}LH!7%DOWKaC);K>P$d_8nGOvW~#o2v-ggXgeT)QQOq| zUN^S1EHrv&45C)>Gypw&KH$6`K7KST8CcSO_L>Em0~}Kzn4R$88|+(lNw#iZ!7S#V^Of zj-uQU+i;(5za{%MnvzA2+r%DAb1d@rX&#>W%NUgWl1$ zFX~Z>{JqmJi^n3Sz1dqpI0SlC+D!ZUORms%}S zhA)PlSPy^p>CZNOXUrqoKng-v_qlljb_EZX23Mu9%U3IJgQRIu!Ct2NQc&DWj!14` zhaWfJZK-SfD|ctF9@wgy{Jbf6h|7=IyLdLkWr)mYnW~5mTh&YW_|5cpxkA1PsbCWG z1NvTj1(o9-@Y5aYqXLRsqlFoA{;LvjgtvZ1SwbQJ0Bj{M-;Jx>J1{fB8MSGcVH3k9iAE1?@HW1EZts1s?JN#oFMhheIs^-X?q0awRVRJ}$piW&Ff#`55;(J;>E# z#ik4z*=1V7>%bsO6~Hg0XAY2vBqsGoks>aUc-yA1ih~BJ;sUzvN{WEqmMau3BP_8bGi?qNf z9M<;Nyy_^B%%_19Pzs`~zA9W5L1Q^NW(|3p*>CknbcQJtMFCb0zoxJhuP*u!-0)#<|K+eFcLUwfu}Y#$adbmR zs3|dD7F!vcb&gPM)aNA06B(ewWPe+Zs0f_hYKtd;rSqlFteDRkTDgyp|l%S8W>VtiY8l)_7uyb(yL0@{Z!_U*PrM@ksxV{ zP0W7K2MwoHPv4L5alck|=uh^}hspO~A5*DFj7J+i#2a_gqt>DFO4>H}4_6!e_hz~o zE^8vv5pe`)dGjS8lU^JQkn*EWi6AoyYEC#`X*WETROS1RkyF_(zP46f@Vs%~lIKph zvc-_Tv)D}BG~YV%A4tL#5zDeKaB-1X!%O>Kb-_|O2nkMq>kw{4sqKeWLZ4k#B3e5? z|4Q%Z?DJW?;F-V{DU%V&_tDGdTPpsvief+i6VaZk4dbvOll+@kP<`xCrP(^9!=Kl8fJvJt$VMo{( zNTRMAC>1`a7V@2}0jqI^$BxSHVAldhX|U>51?lSzx28&I)&Nv2PcL>^1xeL(ER$_>HnR~4;;c-{G845-YKBI75Asi=|X{CTA{1MGnyY# zEP9sv8sj}J{YtLvhZLFNaJ$&S8m%;7p9~D&*b*`owcwV4sBG|Eaf^3CY{guw^S4hX z6dF-DZNtoS%f^JkBp}_QA2-29RF;X-z+khxuHqY!R8V4v(vJ@ZWOP$^C5aQ#B2#{M zEcV68ki(;T0|UUcI!>cc0xEdF)shWWV7l`#NgDmnx*U`a^FxiBg@@-ThC) z*dnj#wd%NV*K2wa3)X3rd1r+qzL5WH{yQ|?QaPT`BwA3S+E$GJw(tW%h z1`dWQN&*6RY=Ikp_BZE|8Bdt8m58jdAcM2HlGZC-ffyhR($YoqO9=`JhPj^n0pYz6 z4Jkh_G~5n{J|**9;yn$ssF~X71%3~nMkRzLw(_af>#@Sa!&Ys$9+Cij~suZsl7|#~dkP|Ds@@VbS%Ccfpz=^M9x>?F*LGTB6eN1}#j%Jg-XP*k!dt_9#$*ME&K1-s|CIeXToCHcl)Q$2y>OeOid#3VC{A!$FcbYa!& z_31%-gqU{!Cz~8^!r*5~!72G%bF6SZ8UOo$=Nls}H{UkZu{Y1@Jucl4;pt!PJ*9Qia`kDXYYLrXn!eJWdi2jpY!SwEV3D!6Rpo+mQ z7z{eQsz=-TbC7J=27=@eFs`=-&Bbu=3z*`vz)UIxln$|El$2|6G*_}8lWHQQNnkb> z6%{oCOGIDrRzIKA;TgLU1P4*9=AWZ04vvsbjzRg*@wD3xmxvX$$)k3BKXSyUn1I`o z(BPdho~{rEtcJ=iV;UP(i8#pLnhG*Jg?s`b2?+_9!7g?Fc~IQY5JdQ(1TTztzg|D~ z%A4imF3DcSqr;Vw1Rx-+-O!3>w|EGkFc(O>pT$781T^V1)PJbDnl)CFFQxkqxJ`?U zk#36M!AgaRV0-gXANA#~tjCQL8Pr|uGVAY}k3zW^!?kNHt@U{Zp#9D?N(A3G$z#KVJ1tU@JZSx4yqeCBCL4 z6Gq5fHXOdh%>(AB6)D!+3h|h*b}fwpPWtTjfs*D=qP2Js@rN0FA{2c+Qonf@l4^q{M7df zJlP#C!ONC>zbDUypC5K>i8e}}Im&3a9jfLiwcR34QN(7UC&M>FhQtN;)jVoL@zgI) zu0NTi*+dxca-=WXfokMuYTGLx-MMMHrwaWXcH@tvzIw6~UFV3U=4j z&M0bqd;$>~)@wiBbZ%dH^N~$mknxKTPJ>oGhxe%wpwTMt|5w*`5X0N zlaOTUVW;FyB9ZTxHvlGMJGmvs+|?4^xxF&EggoygdLDxx@*2ZURw^@|(=$T)#$m{P z+fI?%C9zc4v9ZuM{<%e??8?Vmk7sNRs+Uu_Ww8iQFy!IO^8L^<*kDMjYd1|DF-2eE4NFX{ zDcPw=OC}{gN_ThCi-hOVf6lSgHbgT|LIPMTOxvD#>SuCC!w0 z8*`~;o1Vkp5k(f0jhnIPtC^Pa{k3G4y`AK0!?u??Ked+S8|26;Z2#%<-(?2Bt<`mTuFSDgJ&bl9QiDf;$fsgFD`^h<7 zMQnL-=G_gBL>SkTbMTu4ITv~hg0oa&TH5j!b&?Z*8sjI8YmYGjvu5;a{RTsw(=Ds43w1l1&_#*@X3qXCyzy8kn79Jj+P*@^+ zMLd?CH;hmsHMRhHt1<+$vSC_Ji0sKD+vm468cC5?QBkBpe)a-1UkVV#GR!xQVjglR zZDM5@D0j5CZrx%9-%Mb3T=!R2dD%YKy6sy_sG`zv0B#oM8Tw4qU}mAurxm}7ZDVtz zxC#D7MQ~z1D8v3F7#c1%0BKF22Ae{B9lRLNTV|2;Zeq~G*;bC9D;Usuwxf?^kT$B` z!kg)z4N~!Cktqc^?AT4?fOmwTZ_aY8$tBVcC~g+`kZ?kX4wmp zM%lv;jb^_vIX2H+cWVhVQ^8nln>HO?t!zBhQ)$i&D46LQz2|;@n+mc%L(A&PTx3WL z82&t3dKiOzFwLqQSRy=&RliJg5Kb1_WXma_{S5z^dqQ0j;gZZL`yQzfghUO|x$e^) zbp1JbS{EF$9~xubR&rkRr&dQE($$X~@YUjag~hguhs0(p&cH?KzbNa=xU-}}34P#4 ztqIp*FNzi7pbG&XDjHwig|;ksq$iIje?aiCh>dcsx+>|OyeAh)M%F9s^pT!0+Bv4? z=c%1D*o4oG`6bkiO?(Tp&dxFnr_Ize`Uz#yIY`eY1sv(D|cEUT%Ai3gqFd8*)}omrYCpS}H5uuam3<{qwVK(>4gzwU+*mWO7|2XK0r zA{xl9QNO}df|-RQlbPBh1A677S(?c}!o{%!Csd#$O+ll{rg5BpQw1Uy9c zIOGT%dv8YGNF{=jK~702P&&$?ten6I{pF;rhW^=sV>?)~!l9Izz(+=barK%Au>n9z zO4=f)yomUR>wNRlr(xUaUPs%`&!MG%x4CSaj@WDuSO18){yh@&?85imYn9D*oIcn0 zW#LkR|7rS!;^l{tQ|UM_Bv5{b%}TceQ+q7Y$Hv-ty8=&*4JV$5 zbHQtDrK=RDrml|_wvav1o#5K$)c-$JeF-#`ZTtP>5XVf(RAy09C`n{UrbQ8JS`b7VZu`R}LR@3+?9TGqGT-uIJpKlgJD``Xvu zcs^hEuL7vR_B16W0X9%rBe;jj>n#jqB`jfqcL;3do;sMo7B_ko&Q)VrtSl(5?(B@G z9|uH;8w-u+D|^gds?CSk?7b>q$%nB$v<#LyXY&suna6gpaY4BX6 zO$fVJ;p9Av*lF%dApshE;;Y0?>8)KTJ-kMEe%|G?KP(mc#*V5Rzvn-F;q_Y~>9th( zpPV&kii9p)O5P;Sm-{|Js5L+l3t`fy^k*g48w_lX9%%?0`JU%g6kZuZPi>VsztQYV z@x$eJFk0k+#h9~}-P`sN%`j=<_?yD=qJ;G3A7bi`6#Ai7nZ5EX^OyA&zy6#;<;I6W zE)pEQqOvj@Zg;hgxxP=x4Kka8>FyYIEOR;PhA^gb;8-LnDkastC9zuZ)BaVlg@uLZ zi`(6%gF-ZG%;0(F22Y9IDmR5)Gqf!by)Y^W*I;fO>W<5qJ2bN}YphVMj`oP<;&kan z;1c`S(mA;{I&?pIL*jC&kWkJ-tqeoitIzq^&gR&AUNDyDM&EI5)g4vntCk>o+Ty+q z4iBeqpq`tZoi+PC&2YPBUYh~m+Dg7fS{?&YOSW{graB_~VUCrX{`hfk5FkQp*gs}E zre}knV6%JoLOd;-ojVsCKrW6_%%4Y4ntV=IND_`*{v0mJ#P(f{*-I=@EGhBcu=#Fe zZ7FP@dx}>;N>{Ko$WPolZJMpSFk4z_8%zBBYgoz1A722IlpI8k739LiP~E6xBFkvA#*UP5WI+Km6m7VH826gI`znvM|lZP zs~>%e@lQVTEZlu+scITM=FYUY+!B6)#rnLhK{V?3pbYjFr(6l>IrHyx+Cxzjh~o;L z+2)tdF&<6jcKBfEQA$Q^ZR1Qo-WIEi#j;Q5yf5@=FLu?r5*mF)q3P#DM`HZ(O74-) zmph%?s@AEyeBx4P<^Lgn*&i7_V%i}p^U_+&&g;%Quzja{=p&`&KL#x;TMDzm%AJ$( zv|T`~oS}5DETwhpH646ug)({<1RzdeeW&c>M<47lGyr(uvq^Vcp$)x}Z&+@SaRATY z7MKqO2F^wFO|X=y_QmcqP~larBH(#ypa{Xy1YcPvDgi0~*tLkgA;yTP}; zG%9m!EvsV4AZ}<+G_z~clQp{4Agyrg+Q|0a(%eyS1gjIUiLFPnZSeFIFrP}H4%TSbUQ@ZXIYl#Y~~jBEXN z1foWV1=l_+EY?zBfx1hjR2*Dg`~5q)dI!yi4SV-W`V2N?e!#N!O&H`n#1v{|s?Ld) zKX_J9-Ydr4fwwfAR9L^3Je`Vm4^Yn|X=Y7UCsWhf?vV|y7( z?niD{yK$gfI+-VR&r%sxt41|_T$A|rm9>wp&FcMaqV0rsK!^+h9`SSAqw#As4L7)~ zv(LH9UApa2kzk%>k=PR}htZ0iu_uHa`m(Fc%^;KR~ zs^aSYS}4JIIR);pvxilj77Hun-e_7GR;{LX#^#aQxjkN~XD0QV_+a!&rybR$2GVrc zlfT%XPIds~My^~*6|9%^|X}wV&*y`^x6{GIf*@%{+QQehc6g|~2KU(9^ zI#v4@Y}V$S$5n6jCnUf za4<>{@9*QZwDUmz4NXlsVJur8f_czg3{CbAHD(Xjp+616?fKe8Zhx;vl&apFnl-#H zQt!J&jub1iEZ9n1PK0L-OrnzkaBVa)B7rkgRnaia34GIiZub|$8Ldi>=lE>pxSB0d zbS@$-i-T~=pjQYAViX{IbMv&LJY78CB4NMM2CgXzMjJO~0;GkdNWU8!U5-ai5OH_=!_s-RSZNSF<5Wn~}!DF;319~4}c4OF3lle*fA1pv*W6P3MZ znSA}h(leG6=d+1yET!kohb59-9xV;0xWDA*J8}6cEtxOv;lbkcO*Ss9w=e(3rMXA> z&t3maKA%ebtWK*IQ$NI%^xrqMIa=R+okeU8-@%GK+%*SRg!R3=Ros8v`rWf^>$i5i zb?->%!mPaTd}ZD68S>`jO~#%{RKDIGbWA6yT9`JI%c*YnY$$)-cgLjJC0_p}w8F^;E^6Q$Peb#!Mrco68ZWRpE&+&dd>^-o5)j<8^ z@}RjvIosJT=_&uNwIeNIPH*3wb1E9ht}E(4u7B?EOY5TAJLN9FD!SB(sRZdLKsu{tMCf!}e`gu0|k?{v=t^ma#pY(YrHn1rj)?ZKnu zh_Bz+un&r+1v>BUs!aF|SA;T%7ZH5M2i#Xhsqtn%%X)i$!zU$>g)-Qk*^*R_4GBl{nI zB{$Ek)6MO#mp5DtzTPpnPKbkB@idkk#re92jr+NYy?i5bM_xwAZgN{?7yl10#l|zG zPa@#zv32a0$_{6XOIH@P#90Ru_n!UY?^~1`dRgEH7S5TTV zc?^>&p%4fUTP_lAj-MyYb8hcxL!pv(?+3zL`o>USUH!OUCv$JCI1r9Jzu^`Ih==OX zAb%1AdGTYvu`ZVlMD!_|w~~V|g^`&6z{h7~Tsz|CCW|E8?yYSORWjckdk#^88R8$w z3f#uFU4)z|0vC+`UPUat$@zNcF1GCB;j(%Pf>G)Fi_UfWVqHrT^d?~esda)}0+8p)vNm*nx&D(=|$c@YnOlnMOm!PSj6yE=O)LA>|r5iaVLw(^66K_0d2o_ z&LsPSc{V$}ic=fsc_+v7efs2Hw7rfX@50fn>H8KV19Jvb=?dKjv(n@DjmI0Nl?i&% z(r`G=C)Il>VNRA%*Z%}1BRO%#3g7GC*(`;1>vD$L-kuErOUB|ZRL{Nx9xtea!lI9y zoLnU-n1s^T3XGX+Wx@UFCRCH-+V_^?*)2h_0=V+-^XKYYjg5^%Vduh6rBY4xO!}XfR-IX~|3lJ0=f?1s@;>`pkNHbyZax zrkiPi)X)=JX~leow?V{%rBTPy+5L?PRe~`$A}(ara_!WR-3iP-@`||+y05N{sc=@; zGCGjShFIHXxnbS@9+9`H6}ne%-RC{rx6WH(1()Z+&bLsflU8i_j8!to>dChFr zDN+_n%Tf0xJpDwNlm8vANm+3LJKCpH~lt9j$SrmDg$xRMGlJ3UDIPmlH@7lVRf48IK zkjl!H=Rqg1@$^j7TeBv!9R=u$2CNfykwVR}aIX7=MSyL*aFwPD{d(W-?F$xxh@8mg zNs11DX0p#MH)g_q%^VS7<%3&@wPswm(_u{4A21qJnud)eK}$-p`S#wxtsE@Cq;w6Z7g5z)Jw zSaY2RwOk?yY#nG6e@+GID-fab*+jhQP$*ph?{qL1pSU`+*{{`M3J7!Bw#}Ox;xMn> zv1^xa@{1Q=AuQ2{dV(|GQ4p8PIdkvZc5h;X5I|c{3B>mqMjcb8_!ouMCSIPDUNSa0 zXBIBo)K5X5RMCA<{f=r?lLuE`^JtiX=-8oSI{6mNz4_XDQ|XJ);yE)!?w51h=7Va-{m^qtKMy~xE{Q_L70*65zScyV^0JS)Cr zG>){JR^0RgS3y!zGXCjPP(XQpKw$~+(5?G0*Z45mN~3u|B87DqDUNHK{&eT^V>xeR zj2rU{ ztWjAFqu)0-Yl1m^i1C*^Q~&$VrbeuV>4K`j2q{z<4_)mzMd$Rxg(W2$)Z&n=!nPGScyo))Az6oNP zwqrAvc@Mj|B;){rJ#yqod_jSNq{=BX@R#rzG(p)Mr+JFPCl!O6f9E2 zgdZ$1n{HipM)tJ#d_(Pvfh`xBDkJ7^cJ> zoUY{=!Y^_%Y@60hWw+kEk+wp|Xai<`*PoSNe|_cKYtM=mFr98f zG30K}fcKA)eumPLCA$~v2WcOLQ~+rNGMhe+S2Rcy?$C$P1cYpo74kJ3dR<6;f0v0K zQ_Yk0SV~-W~+$fHEKZfae~%< zPK*<(KF7a?FI+C_iIuVrSbs!1CXyI1^e(QL%C{D{sqC_1_%;80T(A^3~B)(+5x{i4_E3(yF z>P18g_&$wZot=n_z>}8fD9rL?`n-(fy=~L%r9#i93dxehiuuaMuc$?P=WSPi0;9H7 zM(|g~2X%W3t_0Epeyy`s%v-!Qn32~vH4OlTM|inJ817g>A|QEzdR$QcI<-ng^ePB-`Gh>S88Xq2D`Px2g}4K4jW_tF9E;>c5w$oLhZ!Cj zxy}FAljKvE7O(sL5J|d#2~D!p7L>r-fO@~V9~a(5%X_P+9<-Kt1O3 z%9L-L>jzJU%TmLS2orlt*!6q4)VeoF`5#@R(p*VZm{tzrBQK{j(_*N{ekT9P>Y%K- z{E;QZbFaCCu8Fvd3ieKA%lEuUPX$-}o zaChG*VdTUt$(?x3bZ$;3Mg(hDxfXArP6PfVX1K0JzHwy}UP1AfpqPFFBaECQ!3uOi zM9JWLSD!%X$lFCdWBbS{&{7doQUMJ{&$IVojVb}gWbb54pch%{%zeZ5k!4HniT;Ba zVLb%+t_f1dWm5&T$!>0LBhNTMq}Zk@Yhq<-twW$$P*PXZlwPnz`RszlS48oaDjQu~ z$Cocx_Fbm9`a`MPw6=ex42cQQ^jms%l-JkJ*#Ew_RiEE&PtT(MOXK>Di&MXtsZ!Ug z`12CpeoZpaa^E0?r}OJ6-g01R|CQQhpFb~wbKWyN)Mt8V&%gV%2KybH{@v9G7INl( ztj4QN_EvY)V|D2ZcmNs4a_pB2QGH1Oy0l{n2Pdb}X2qz`|AEi9%k@6f$kL3Y;2k;4 z%-_eF0)=V&!yN&w%-MiHDkQ$sum9;bF+%HYxkyN}(U}`M8Imtqs_wdLi-G=-egZ_td~i?{F0xS5Y%hA!n&a= z1#;l<8TD+IrR13hOTU71Mb?90{b2`~WOu{M;|Z)A_N;U&u#W+q@i_L~$6~aOHsnK( zf19#JwE9cTrq6c#{F%G_<|lvn_GP3+Yo+)&B?mA{Dfal?{AVsPNA|=wMss2R?xpCGc5B$)=n&Ns$MeyB^pE zM)}Fa9}QOZx=r(#2qRC@ASO?_wn4jfC?G4xRwir z{a6l(#=WvtU77DVTt5v9HYFJRG^jb`?!ri4vG#}1CZyu3U{yr$4dltPv1c1?Go?1sc@ zUnzCxqT}g>%$Z&?e1Cy4fXzK!KhHp%+78HCSfX$W1_X~2{B(uO7h&;hpRW#l;;SyPVOT_mc>%7B#cf>HNrxPM7|smBOA$*Xg0)tmdP?!YVV(*qtcE+?Vns z*NhG(mGCCn%BXu|KAVCSmiyxh%O=ge@EByC5P~1O*)o=9`mc>{)e9Q|bn89mU1(+E9 zFj#5N+Rz+HcyAM?FXS(KMtQYro-y?aqUh3>{W9>~S%7cyqD=?sU#AM46$<||Hns)8 zi4?ZFzwd)f=v*s)4IkY8Q)8s@A2|n?Ne2eFPC+42bM4x?z4rEeKxXgz7Xekf-R!9> zC4kSzv4H=_Q*TXKGF^~8tX1L)Hu{PF%JU?gvMDMQ|J~<#uN>6j<+aK+TeST z1?I3d1I9~hPYyK&Or@k3G>m^#j#DLL@(o-Ueh?|kYj!+&6@jd$+o{EfFrxNxP&VvB zxuQ8%kdBHFubm=T$B!N{&aKs6S*{EQVOvd4wPq9A z!Vy15px{1W?B@2^I@S7RB3lP+GIaNHT<96~_dzX}09uFC?4SNgQn0`Yu5Il%aD7%Z z7t&ahJ%Eo%y+WMK4m&L8gD1OK={h&raAjl&qx$IJHmu%AD8}*_R)s6y=a^b_oHiOV zWkRyE)CI+810KbXG9%~fGd=UYm=blgDDdv^_P|>5w&UNTcj>Zar-Aqiq2avM+1Z(k z@rKAiL+0`TcmM?IPqm%hO}^&?m`p_ufPL2r{3#7hoZi^bP*2Zo!_v8uRo7@oG8-05 zgG_0}4rcG;6Jx^?bGJ7?46^Q&2^@|)8)U`|So`k^3EoOKrUzamQXi4Wv%XemVf;50 z0vFE37?{Q5|Dlj5D+1O#QX)&YjEs#%0P?Ix-ql&ZetjCo`?04G4-Y{xx)_Ul+JPW2 zr$mCRsSGW&Ah1lc9MjXErKGs866f1>^ymsq1JB@-;#S=Ld@!+h84+bU&zXaWT0%Gr zw|Vh=+3lW&@CP&yB>K)nHhcw`VPYRn3^x49!AW_d_8LT`$ro09ag_WdKyk^c zwz8*`%5i3?PPd%`cr+-c#Bl_N-N`(MmbYP)H95h|zs!0=R%YJKW^+!9{I{_)(qxDu zu{_>3nzEpTRnyRJl;faa+w{g*{$jF>l8!)F;zB@!;DpJc1Hi3vh>KBoc{c^@aODrk z3FP7d=R-TB2RgMcK`lyIuA<_B(gCzL9z>z-PENxw_NI#H%>ymc5^3oK5guUp!eWQ? z6uZ>FP{esQN9^bY-IZ!=bcjXn=fybo+}Hj;X^;Ua`|{;H^8NuRa|gKKFi4ZLDf* zYttuxH!~9Ko6&Osvfv8>7YXb8%tpeAVJ~?Kp;!IJ)RF@!+|3Hl9ayZ#9dH~*YcAMN zlOxQ9%SD9bM9v8Dpp+8!UGMCHY92yqot6B^h|dqL_vN7r*ubB+2i0a2n-ipA&K;1Xjqj%D4JLy{*nm^AAkL;rY*!s z*OVZ^VPb^>yQ--Pf6Rv6a#_e(ps;?7(ytr3M>eq0UO$H^#`+8_|9j!%PmErYSbY$> zW!}5cFtpO?^t7_06JnQ}D0FLCp3wu3b9f3m|4Ut@C66I zqKQjZf^|)2{$xwc3$#;9$kJd2OMc4G_gf7S759{aDI2OmRLYpJSgD1#BC0u}0Yt5?4q zLM$;sg`1y+G_w(^Puy@OW153~o@a*2bJ1sX?=aYxl&c6(V@CWhG;X}cD{5}eyKl}WKy(L$m4#68gilS2= z<%~5pCqj+n@}_ODX8ITwuJw7W`MF%L>stOLmx$V7Zlb`N?Zd6=6zUlNohhqa~YZWqR8b92FiW` zFb@7~hOW8~vh6-38!HC~{(sQ#`i}&n$uXT+#V%3G(t|wjRd|2O7FTZ5lB z@x`D71Gnr(g99(?ffb)x%tGLXl*wfaOG_=~B};C~==d(31Jr3S4e0J@U{9>yt;@(b z2O+d}9w1^1HDRJGxLx#$5D&>CZ1dLE!H6wom&$@0n-84X{4o501?x==4U-w^jpRq1{F9(T#C+TH!l59;Q z#WjBZAu|E|q_^o!{MaXTt#KqW$3J3Za;u!liH!Gp8%S5#2SnDmw_9CDUN~i1|VA`!-fQ4wX~w} z3HK|p^?ryWh%##b1Q zlwt~dx%7%uc`G2w94tfTvH-R*BivI1EP!VIKWebPf0iND9-0_{qa^(Ik zh?~B+XOf7}i8eWs>16F$jnjCL%ts6k0AWg{kV3&-n+3oE50rRH; zQ-S2ViIoTleH(b$0J^$fBm`$<|1ZbrIp@=|4o~#}+y#RLIHm*Ipfu!Opu^{oWK?u@ z8}Hw`Wle*1eH50wk~|w;^_Ag~6d>=91jSme{Vl_qD!mS%W5z+}Qb_g{BWlSg7R2sq zTX&>CjA3OhW(D72&b9nt<(sm6+TZ;Vdu$+2Ovz0O=J~Cn6FD+`uJ1Q<8d5X&k~sx! z%Zh8}Kf8_v1i~WVerZSMK9lRAU)_X_1|RO|TTQa<*Fw|F52br{JNgzbV66A<0UfZ} zwJS+&;~Y!`}QdSKEcG$5L7K8jtw~`gpvf^l_|kX{4biamQ>6>&Tf~{ z%iO#!*77;ZT}{aZaQ~69Wmm7Rxq0i>!NOC2j?4jd43AvAE@}oNYAHK3x`hzw7zu$q zloEQhL&8QAtZ&V>yi!TIU0ZV)HG3N@*u)PQO zhJAhe>FS-Lg#6V&`zH~W$^8Zh7`Me#ZAXUSOLmQvP=k2JFK(cQy>h1@~7P?hqkQ3xn2A7(1>2haxQ2EhfR4JrcQP3}HiaN@gg5E3+RIiDp=3V9 zd;ScK?v3)UK{D21Nvw9nnl@Zkh_N=yAiaeGQ3&t3b5B!u5m`jl zEozY#hll$@!!LX1QE|M2$;pH((v%TkZQX}E?g-(C$gxD3-V2cptf$}*VjD-V8c&Q3 z?tIbO$Sd=3WAXWwU^YO=Zb;%3yH+7#SIPjc;wVRQ)#viWE7FF&bL}7hwEuCxbn)C)a_jx0;4c zwZ}h0Xh4 zs%Z~9I%O86Si^WJ#R3BebI)hiDK8Te-a>xO{KFs%QPmrO-s_<07lXj5GZDV>^3i@e zVe$S=*Ebud;BF_-33qbI1Mu9DyqkKrOZ!g*50Ds3k4*JXzm2bT8H((ovx?nPF zD1VY>kj7$-{F3wTgvbN!Z7z5)b&7^D@)*7gUnp@M-b4go+IPlUOz#o>KN>QLdSgJX zdX!ImxTi-fQYhT)8P^@a!OtM^(1dh%h)YmK4G`yu*jiNjj48sG$E#J{?# zi=Iyjy>A1c5t-)j0+ZCidJ99QuY}FNhYl z*=^&|$`T2qrC)G92#zIOSUe*iGbw~Ywzr@rXfwgCUVnvE26XB$ljMQOUu)Xd8J8YI zQzhCEe$!Yt30V{0RfN&fXpMQ$Y9Y6KdAYe=YCm!y<~joZrSkE4kY{6N2GWn8v9kr< zwcEHc0*luisl7pRTIw+?%$~!OJOtRl3k%2AyLau12AFmMd5EOyV5Sa`7Bn!Ds#6(0zji4eACAA$u@Z1ahM<29<+&xXA z2#zpNY{8@|O%nNM5x5=FBJ<~ejm2RoO#UEuuX>S`f3mZ)H%1sg5CBe_zvGDow*4}& zeXtk2aS=#2Xv}S-W=OH_9M^F`~$BjwyQ<6-IVs zz&W!w)e`~_I-k0J3!vfIAS;A-0Mn9Dw4Hind7rTJk;R?-V_l!NO#(vb!1o~(6syO^ z#+E|{tO9RTQnp6?=Y#CYH6In(wGSH*A5MQ;Q2IL_HRQkdsG|6+TCu^5jhOp*T>YHi z4v{YO%-BwKUUervD@zoka1vU=qR?aD_iG{kmob53$pKtYFj6AsG++m~AQxg{1>cY! zt$@7d;~W;C@;)>%mk5;fjD=GFQhWr={{&tULdBj;FuWcMmeL+giz$SLLc{_zEzmD8 z?kJG_@4BpXGPv4uB^JaNtvO=ko(#rPT5IBVAYkY+!cZb;pP6+&1> zY}q~>$jT4?)5FY5KE+Ns%?SVPmC6oKOJkO6;~7tGwj3q89Z#79XWL!kSk8L;hdWHT zxVT~f1gc_ye+y7XBAUB{b%ea_1Mu^f$;!qLBa53crYmV743dxk5`N~Bm~j+zkzP_O zQAixe6y!XJxi3%_)z#Lvoj=dnR9hPgE72$4zgycJI+TpL`Zdk1$F~yU?wp3~#J{iC zc2n;R?iL*Fj9bmT4pElHK<4xFo5_rc0<-=1?_>Ak;vz8!JdXrmE@KdaaNCkUZI|V- z$q{>R2CV@-u?tBxr<4Us7XDB18zq9PNSrow-rz9H6s9InN%+C>$11Qw?J&el)rtKA zM~erj9A6tHP`kouEiDFXXDZd0UFg5|rrvVPY`Aa9oQuk!Q8|7uGT+vr!#GG33d=f= zo?K{nUMLC$+Bv))-Rx~^*@A+D&!SLyY?^oxq43fbd|keDNz><;As$$S(5e^jWkX$W zZhlzrra2)&s%I?2tAA<`2WX$+S`vmCz+4Z~#txDIa3eOh8Ivm`4EH*~y|A~j2?NWe z57U?zsi~ha*vWO^bY?v);{EU7npWKBCnA5wy%)c(xs?QmJiNTfHZK=#U@v+$`|aE5 z0PU~r+_`fUyqHF$1{>1(`>!eSsoBA7gAmMLm=nE;k^1X^v2sD1mQ#qsWk%+vLZJZe7D#U;_|JN#yB8j;5-4*blW$Ym^c4GoPs0FNfJLf$eT zRH((imDk9;e ziUx-U;dzvHfu2o$lAg;ST&}x0Godw1VG=1Pjed?B?47L406F@ z^uZR$mT9S}C2+xcou4nIyI8;?N^z@|h%%>Q{Tf1uo$~Lvn%jnFj;p`%7iA5!7z`fE z@pgAl3G6X2Fpz0|?ZfVrf9hKRlQDe@fANjMrkt@~sK-uBAzn?*0Idq?0jw6Mg}W41 zaqu`T*76V<|7t9`@0Ar2N6WigRkRd46#g)LFr=fekM%kzfvb?aXbtgZ4cmLXsc=!4&mniHG=eIc z#vO0saL9bTprD}X09}1(y|bYq9ead((G9&ZN-#$+Zk;tIu?!=RbD+vtCa=Epxtk52 zA;=%}Flc=49sff1L?r4qjEZ3;*0@D*!`8sGEEg@aHyQv>H@71ALA*{(WXIVxKtc{T z{QALk_K_fBXgS;D3>Vjb@yyS=#9&htLyc+QzAbQwQKLCXq72^Jy;)gW_D)WbsC~Rc zLiCZ!bPA4j@sQ`)O`hjKOaAQdM_Xei)F9^4kCN`_$2bVaEC3{~)C}S&eUqsz_P3igCiq(M?H!b1+))IruW54Em&{g;PHxR<{NY=Vt>{?$0DeHI9QI zz>9aP1X4ArxX;lG*ug;gdFz&F)A#SD+1c5;(9}44lyY@oGd)k3aR2X3rFl%{G3^)7 zZ5TVHby;AX_Vo@7_`*o;tNm!@Aj2uwms?p`IUCIM*W;Lxy?KMFV4Oa4s^bK&sH!a~ zxmF>mA2em0Sgnl=s0__Eh1rSA<=Awlpo<4aAWj^Q>Nw%n~0+3(!++`B}R2+_k{H8VZkw`Z9% zBt>|xm3O(|ef-qgYG9pQa|bg8Riu}J;bAZQy&4x5QshG~QBD^+T+9iPsMJ!-yNb?i(_YFKa+<;c}9s(>3VGka1aFBAavN{bH#pV(g z;#(|gs%NnDI`jeFtjC?9c+yWUXrBY$Bgk{$M@FQQq9PyGV0yt$Q0=`nu4W3nAA^fU zdMzI^NHGE23zW(jeLH=bN;h*TDFkC7`0SV;Q?HOQsW~H7E4xWK|z#~}EU&qsdx7X@l^C^3O&^~i)uzm30 z!B0}-w3WR68Q`4+Pawkh2a@van3P|EM3z%!S=nQl(q@P)T-c5liH!fSCiQ_<7Ka2@oF<=K8aPG%(AjFeU1%3{D&QQjmlK7 znOkgr`1O5$#Gg~a&+r+e%DdXB2|}Slta2QblgiDRmqwoRa`UGqH)iv&Xa|O6@D>Uj z&*mqXDnuQ1WWC^06KakcI~0MLDyYsb2=QRdmVoli2<6#v8#X`*u(UwVxiU67deMwp zkIHP1{5A1CGKNhTgcZ)OpYFWg;S@66)nfoI$`bhRe*O+5bitu7_db5AsCcHbbZIY? zSWoP>wqAvd@EVN*hOj>;CQc6c>PSQ>Hg6@qw0u&xSi7z*pDFxbLSRlh*BMIWhN-ch zjYMMFU}0v)m6noHY(E-z{dzG1HX?kD@?*_Y{8!GW>_DSB1!`^HzD6Ft~UkCxQ)mjkA+z zduw+yQnWh^e$C7b?_tcIdefYfPjiFI46UtcFu;&0LO;Y#Z{_fI;&e_XaOdjA=-B*S zrLL~N7isbsKgMywrQvKHgrf7u-91V55&90Lw~fwt~#_{ppp zC8rDE62;xWcFoFh`}QjP9XoykDlCRf_G|3)z=dwC1VW8b_r$C8xQkLb=;A_uuUOk8 zH|v#55AFB!xj<2tWt5_W;-(!?(s&JcBY%w6@qz!|ty`ur$jazK=)8$o`MKf6f%1=} zftvr==e0IpqBT0wLH3VZ53H^o@k-F05qWL%!wkd_RndqJG_3Qnhp@hpQ1AOQ^8*|` zx0Az#$;W9&Laze*m^qGU_UBLQ%c-8V#Cktg&RTu4FMd|r^ndJx_$#v9Xv^a!$u71*cvxYEhypK0%T8SZk!lu!iyI!^y*@5`x<## zok;qB$b~H02&wW!Nz!EtAb|HStLyT6Et3i(N%tx1}fMB-FBKx50MsJ$X_G^wE1*k8KX6VL?HA z-Mab!(6H})#VW+| zYvxca{pz7E{_NgpE56FOS-4_LZ5S`#8GM-S zn|R9Bur=uuqDz)5=WONa?eBMYHj6PreT8MpaQGx?NnAFKsCIjW^-9|x4$CZWxSCM+ z;3wPr`uei05>5F7C+ZK$H~@$k150=BD==Oz!%9J$RKQ<^&vXJTyOohjL~%Hq1C*yB zHDK~pb5NB1#brYB`@d5mLTLV$#K;HcCjGzaWX*{EKS5nr1{GPNU}U)V$<9tJgi3}? zwTH!!;qW3@2p+-YlZiuUx`(dFKm+O|Rxph`OTJf=Atnwl3|=B5xo7U(0;AbAuq>5a zyx0Rv=Nbsa6uHjSsUB0-?tz%S9|I2^4`j7`nfv4WTTqe^qIPC6bomL5Um=oJ!4mX^ z?77Np+x;}0qmc^u`1vodiTSLQ#)jLOij-li;k?+W4C=-e81dbLYt)1UAgd}&Uf0h+ z8?RypVmz(nkSz=UDi%}5@y}?1YP&Fc!dk&&G{xIAWIMdI#lho@>?f-JJC7-;pBb}} z_35l3PNG;{acj-1n!Y5MG)H3`ZjVv`+Os3@?!5Erm8Qy)B_$_tWzM73>B8`;Zvdp* z+o94zk4i$5x5bV3o3?$XpyaR2iNdO7lV8iT3Vh%t^A*1?5wmT&+PV zw2>Mx#Bdij0-@~bZ*}I_HfF%=j37UOCOYD43~#*hviKemItNP3b4Kl+6qIL7MYBiZP2;EC-^ z&!1>mj(*T714IugFdCDwIdvV=80(wYuh;Cgw-1UDfBvuCf$H-P#Z9?jNo2Sao^tVP zHDsUti$Meb#->0YjH!Eqf`WdM-#`f7ppTQ}<8=4- ze!fmo@%`hv{(ZI`G-~bvhF|0y20xQI2G&!h3t3Hpjdr8MM+aoc8?YJUkiA(H|`+KZ2~8j#_qA4&u$v|m%XtG<6f zudAc86d{?6%(?x>vQ9kaFCFQg21_Sr%>JvZddaXfU^R7oSWj$gjezx(Syp!T>Yzp% z%pfgc)PxS+i-o#rIgrm}QtEKEY;FF`5e6r20@EREjDx- zplFIhK@F2F@(}Og5WPRpZf@?bIA?rRW8PH#NVC$R<{_A*p|(Rru-{Cart;>8$}kk^Z8NFQ!qTE(YNFM7JW zAwlCxzGMHDp`i6Y0+r_;LYJq8Y$N}W7Jt!P^vLIo{{nhC@3wlGtu-y-G|QwDP`QzfK6le=91jZY12HJ;qq<_ zFnrDP@8m}MlfyU(R=L4Pb-q3f0&u`z{_A#jTUovJPG*9%F^a_d82sloLqLwZfqZQX zLbkaG@`i&JjmgL%d4;R6@)_p3Z{IKk!h=y9^2_ZvrQWe^EWDWKeE{hYjof=t)-@cN zz2bbIuZ6O{DN{YPIhz+=hnTl%+`kGYD_f@vW73%|Ei;Jzg7;{dY;8vu7TGN@JS`-z zy)52XepCfT!#Q$C1l{ICyz^UO#F8g~N#uSx>bp}8&S}AYLV;k|`TxRInt2?O1(2CLXKjT@xDXJo2e=DhgV%trSpbH#&rQ?X8CSQsV~ z;@?T$ssQ-P9w#>&@++6SG*ldu-KN*&dT};BsP0Q zO;>l(A#^=o?&~#@C}jhgKOso9?f~v~9yz2ug%p&&6;d^yaAaou2o(?&kKT%SyuEJ! z(}i*(Jslk+qOuiC(+C#cqXo*0jm;6X$sY!G40k}&pNgkw*}!j(3Xs|Jm`zR$Cw;A2 zQS3@~Uw15&@SL+>sr=?1*T8r3z+6z>%7g8XJyuOEZS5aPD1SZJWxte`hPe~s^}#6^ z`BAsPF`dpO6EyM`?}gC*W4_}6>)?sa409qvv6QHK1$ zO$`mkj7Xq9}ZDoPKSisx|BO@Osved5xoe0|eYYqN=yLy>d8(@}M_KAD>I zAVzp;Uc>&(KpDBeZQ_*wtU_C=-46s2nc6>QPfC>t<$3$_V(y7tJx<|>PqSJI#E>l0 zuo_xTF4m)2fcGQX9)wUOU?F%zaqRnSHR7!jtKUmp{;&a|MM{rM3nT%nAI->ZQj?6# znr~59+PlOMgCMzjYB)pIA}u|=6x(nXTed``pa<&n)}B(PN+p^Vq4J|7RHjVl zD5;c$N|C7v4TdO1IEiRPgfb6ho-%Ws^MAIw>)%?fd#_t^_P4*i-}jkbRQU|$T8_JW zhmwcIl-|`s_1V*zD7DMJ^Ywbj6jxMengR;~IVkv7&vX>>U_;=oz{YO^Xv6)PlD;oc zaDjLS-=rv*$E+*&FmD^`>@}KADAR;^b$8Z8!y$63YV&OCZMsX>1qW=Qn-PWgH<=!1A zDg}2R#z>?&Y2N1$+*;1ppQ-7oWc1g-PizCBqM&Nn%ic-&W4CUOkrD zBq4G%;IJelaF6fbKM&4mAuitpTql8weHz12A^33Fg@c#Yg>Tlo9p`&!NwO!nW+$z8kXBWg&J!E=9DKYs@_Ik2P zU*uW7Znm^-%*t1~x?)qQI<5^Id#xyO$zOjR$whVR&{B5_u+Do_{yG<#u;^NWeiu#0ud7{%mHJp617X;v4y4^ zN!56P1ix!#%=fr>`4X#iLkf%dQGHRDSp+_WG@fx3WDAgt z0Vb@Xx?0D-Jy>jmGQ9=Jf_D$b+gs)Ut;&K@Hq!}mNH)f+5oSC@l^<@qcSxprMc|&3 zCl_H#xgh~I4p~sy^NYQusb=QnB2wIWwE;e=&*|^aRLdUS{!QHox9@&HuLQEzR9CNu zuE-pM0!T*s@X-3O^%BsGu9jYN`hgSv*|72?ONJFVh6oZq25H%GhBV5!-9%+B4TY)_ z(9x)>HmH+R0LSKqPW-?L{)3=D;+#!5*PXBe0S>ddUTx7;L*V2_^BIo0bZkH$URJ-+ zbOgitG4bj8F zWZudGpmB9R-G}`Ec^kSp?tP8vT&jY3i6 z*pBx0LX;NJY=?GU*8g^&re7*^ME}^|g`=vavu1Pe_9k8QW`rD;guFKxd`Kd8?(;{F z{Fkb#7C^&j^>Ql z<~!W)j%P;fX6QzapI4nguaFa!ImqK4B{<+px-1mGJ1b`CYc7#%x8ngo!Zay6Bz$Z- zt^^Rl{Sg#kW<`|TXzEpTblz~8G~R9o0KNBLqIAc9;Ofsx!H@m|gNA;3g2mZ}l!j%m zUAqqUV+9NGqM7g6llOtvh8^=bA>lI4xEK__MlKUmT~1JHZ>l?FcTTPxvu>tt;6$p^ zOGZ*IJ>cFkRD3{gO;9$I{NYGwFj7-f|EX7ayaCd^#6-dy41j6J;f1QqLAs|4Ce<-K z!Tzm6C(&>j)4!w~)Fk;wAS8@YNxFds3lo{=fX0MLq5Sr3Ni%}5p=Mpq-XM4(HT3b_ zu4vVX(&x&Fx`tejr8xM;G9ykwg~2l#)I$G3wf5=AweVTxGpiLSOJT{S5X#~eg@yXk z3etke$T)~ho0f{ntr75X4Np=e`SRr=`eJ^IAQSLGiq){uU9G+bY&s(|WEoTu*JnCj z)Cth&uW#JFYkvFIt@7)TVcZD|Gng$Qv5IH};JhL)95$SNdR5A&Uq_Sz?i~;BE~o1E z(YgnNlqMIC<#@Svh;#Nn7m|$ddrF9atN+LLg33F!ZXNCG*RM7R*WL;l+SgNfO20wO zgrKuKGy&3nx_9qe0Vzw*t{3@eV>}($BYomfJ7mY=sP+~*myF}CTYlFY#I1nMz69;& zRd9M&u3WyHlK=kwK{z*!P_-U}o;=1Zm(HnVP|EDmWaY$KS57PqLKq+M*JdkX(#3tf z7V9Uq(7?xy>%^EY`>jYDh=20r<7L`AVtcYk3K9Zpy9sbD?j;Qz5IbT`6!7c@`}+C} z^$*$d1frx|Ehop4#0#Z~GHD#rW;Gx3xa&Y8ZX#;)3I5u5?IW1?38IR5OKH1vSD<|G#fB(`}@Q6V)=Iz}sKH?x-#)@rBFd6zF&iFnN!HQA<}ha=VeyNxEyN=@$^G{i_{oy-uMMGekxF za|B)=Rg#tS^rDPMYY8bfHRc6+gGVDo&_ciMf(x!-QO`lrDU0|x z({m<}*NzT69PaiB5NnYIkOjLCj(8zFZZDoby-JQUcpK1Tfb;})aQJ6c)p1NoDLE8M zc{!L(!)U9&TXVU`^@&0C?jHYpO2niMK59Dz??ekiTH*%}_(<&t@BeSq!P3A*9{)sn z90(y=B+#Q@iRrZ-C%UGozUlqi6hznS0Du^M?8U*0P*V+;+P&C^ij`2^Py6bi=UT1eq?b?nh%Y%yqxIwV*oTi8_GF56_krlch0EeDe{V22Bu%8 zil))nh7?Dg;_AeBN+Y8go{`=660ar9tI3$oa^vAkHDWsLm|D1oMp})D^U~;}Nm*{X zCMG!b6>zC+I8Ye#w4CZI4MPk>mdh7QedR8Psh@TFhaoE4W`^ z)5KFD?)lw_FH~V;#G6)CjxK^JZNT;%fJ|*oir46$uFg9-qd~Y?QV}f?E;f6%hB`EL z(RiH!qSy?5jvkLJ%#tU21X~46RUqj@pY1#IEk`Y?wD9eny?S+9W!bVk$exIZ3Z4oztei7yXcUD?QIf?qd{$DFx|IK~C~oiH>bY9^jRy59 zH~P_Wj@?5rwz-nKaRBTgB87eX-a9?d!4?EP`W`O+*nTiKFTh~!-T^IW0#aN~Lh4*W zC((G-2t%Wix~vnjlo%r42>+PR!YU79AbE ze+gOwd}xid(^g7!{FZ<@xkr@G*&74_|Xo2vPY{_RfANNlvw1ZK`xM{hDHOb zWbpAT7V}$6`qODFn%>{{nA1BTH-3hG(?fD1&M+hovlhr7CfYaX{2Z%a`2xFd1wI&p z=Ir=dq%?iUR)3B*=mzmN2p3Nd!3*ny zSwdWp7>&3B$WBDNE4*F_@qgFeY(de^)@rjfe#u=MIN`aK3xyr-mhZ2t_?hX`XjvMx zj7Y)eL;S^O)oH?)D#$&Z0tEO`Wu@tf?c1*|#}#amR51+2%mlvCSWF^)NYT$E%|z+y zA6Q{TgoF$wK|&pr+?3dT@3ej&dMt_A>A#~)_092;?fqw^}Mx4B&515$fpAun` zj^r;yMLH5!?MMQEzEd;jjfs%>Uop)NZjhL8E*j^k53jgzPYENxI-RtfJU!Ps*xTm; zTG2uhldX--Hxy23(K=_JAIFRP5M^j#W%A*7mkCDZ4x!F|-Tu$3l88BSE0;4ND<~@3 zQ=r^>v@+f5F76OnNOch#J9zj4gIG0J7oB0W?(6H38MnQ{kS-d5y4163ba?)F&xet} zoY<2q>GUnSmub-Xbf-;cJ>w~yu^wKG-5z%ZnsI}i;32#`%oxvr8j~BI@PtUKjj%{E zhDO~R>Q&hk(@qCU&Trv=xV>>TZ`!zFL1@LQs>zESx;VW0Wb+a&4#Dz~3upkG${UZX0qw``{m%}%SiuZb z_c>gn;~hxX9Bq)UahP~xfWklowzGvGUS_P{*(p`r3~aQerKQ3^C2V-_lkY;+wehDs45*DdYsJ9`0r z7>6Tob{gnDk8$E$iz87u1Sd}gJB?(J*DoN{A0jW{p+kXSoKF#jC4gqK8V?^{02r^J zEZ}_jYGiFSRqa9*d8Yqe${c}ix$&l2yD?hMCC6J`kl@0x974`xRmp!k)+=NjB>*7lg`9#tX&jMUC!8mdSY|e_WH5ih9nie}(^JyHEg!Mf>JMOIf^#uTjajNOECdiGuF~z#$ zQWN{_t}d^*K$2lOrIXzzw>ot zPFxBXoTsBD2j}kwATddLTsvNHW~?*PEN_|XJ$$X}ge8&AB0lwkgQ~u@wSwD1wH>%O z4rfslV(W$CpRAgXNe=pgn@}?zMVdkmawbXu+T@t#w6^0?zy84MDi+{-KrO)rR;BNVAPGB!?NYXl8 zr{f;d>~KvX{L$RF(#w%M7895d(i^gK3Ga*JZYe^1?jZWZ1D#zvG&r?HCooL59O*Ot zi8;9h6L4%R?O(1yf(U&)pB~~}x=G&ev!0%w(9_PMW*Lq!`Hg z^w3?*P9no;eO%EP_?nG*E?pmXp$NMM63%lbRinbM9%FWd<KDOcN&>p$^_lo6;S! zHp}_l%R7>yp`c)m7?24WAE2pGQDEYqpj$hXK`z~N`yV0Bc!{RrgMRq(^=qQa(xvSX z6|jij^xi$5{rmPc0+p$*th|KFbS?nZl8R*A53#GrN87n=lCS&ma2d**N& zVsG=u<10QW6cytA6 z%U8%%@YR>ov{qQf0}%twK7*);(RxE@kqRw`o%*~T)X@gCDh_$4C3qm3b+vMG>OF6h zI@$;7w8#Uw91`Auge`q=kI==O}K?^e|T>zf?;|7~WW+D0D;ux2}33v*-aT{dFL%X(b|19p2#aZ`k-&&xX9 z>PL*YxGCcIEHyg#tUR}Syo&Uwj$=RqiS8mzpds3`CE9j;cr|FE{oKqYoY>-vxN|>M ze-LnrJ5Ck3P-`03&`kD=GwDJx28X1p<+3GBaO;vDCSgyzp135al@h3Y%6U#8SazS^ z^(hOiH>T$?6=h|k`4aYw#o<`)!_5#e+WsU-g$-mWyAotk6ya-Nh;RP_9Qr42NCPNy zi2Z;tV?aY81ip0~ausaCC6M|+Q?Vob(V?fJ%uKQ3FGAEN`sDKE%pMV;EczH#ttbGA zwiVMr?T#OhMe4+DTtAay70c|a#BFq8nuIwZixYSotPi6Kv_lui!L(p|FFepX0(RNv z=jG|3UFrc$XNcXi885X#s-xyK&qmd2Sv>!V0D|G4GQ~v-sm~Wu^BICkBbv#MTOgG= z*pIy3NXyxUuc2MQI|CV` zd(F*1C-0_!-Ov52BG^$1f7a!$5SU!7S5lJxr_QhVJ;XU)`&izn zR2>M`v5W6~%?=)PLdUBD><0Ysc6b53Iqb75ffn@Rl1NKE zX2hSU;B3v90vmxAxTM&wqm9G$;CL^a&N;zrX&)1c+GK;ADk*@9`6HR(j*N&Y-vm z&xv=KIzmw_+0fd3;<|OpZ|+5#okC>Ry){29Q71dt+2xY@8lWt!#Esa?e-QN~4c5&; z2WvM z&Uqqh89mg(c*CyR&C9A%pX5ZeDP!T*v(l`rnaqr4=3(NpgjAs~pV{fc)PvhN2yjJ8 zob{{j=T%Bipl=J@+*C};QZII2fi0P@9k^)QEiX2znngs!R1Dl>H_9{TejHFYv3X7c zGH@pS0`?MFSfb_!AOP68`o|AL2ndh_4?UjO3aj+pzS}EQm0tb5nn#kFy1oEYRWzI# zs?a7gIQ-{DG`+iL;a`suPEcan#7pgT_Uszci(pi**4niZhTFDvXn_&@0=wcL0%f2t zUS0qZNna6!UHzeGMV8G6wD5FtnGv!z1D{c}{a}gkhC`Np@5I&z6BPw|5q#Mg+to75 zqRs#@Y0la;C-do<^FFF_Msw*eBpNIok8-0Paig-w`lm5CW|EWATG1Ir{48#a8AHKy zChwm(+N%yK{W9$bz0zwjb50FdlZAf5IAi^?#8{VUM`5_UbCc)&Uuw|)O$SvH|73=k zZ>8*96he!aEwhg=IW~Wo#VgAG59c`pJbIr1lvmZ)Z`>GYf>9G)1j_TuHsU8Hct%)|fn%IGPZP(T9svVkhc>kGQ$Gw`^4T?D58nfdEK5zu&e z50vdT{vrkYXetbdL6XA$hdccqUFIro5Zsjdk|DlMY&GicIB3X#ZW{p&1%7xG0!pOn z2SFiJ{gu9WyeWXuofW@MFaf0vLo}D3-Bov{xh|r&hwE{+XZ>3=f1KjJ-&12M_{-@3vLU>dRr!gGtrkeTM>rsL;~>^LEf3X#A}(1B9MmA~8hp_; z5fHaI z7U0E;?|UsRjR8kGHF30-FBd^gO9SVxh1{18V%~`$7|0L!{CY@go+g=GLRHA{k&ue|L09bv_)aNO9a$ z6v>SWU~noJju#llmJ_kPxYfl5K1oqgNA!ynndu!=)-zten8cD4c=rm8cy5Dhy^}dL z1`mwj-Dbh*4 z=(%;9e?eNQHldYZT{^!+Ny+LX*e2A2Fe_T2yK4hy0!LWMp8aN#MdJ_X^=-&zV}YBX75|MNV*m|&Cz^u9 z35-WL&A@}b0s5+I6k>~PbG$&AL?w8faHSg!4Colcz#pU15Iw$U)%cv$fXU7y z-7EFM&0pSluc4V4Kd#Np6k?%t+`$J2ZV5~)U~mw?F!tPnsfE^{&ve?Qb%J-Gbjm?{ zaqTvsoTI4By$=)P9Yo08p_m3elu6|ES{?((e&e;@hB%z!+rhylKK;LqY;pYUCURb! zgc~-TH=BO!FZ&1Q*zxe+Dtx_eoz>5!kNwj;M8E%ZfL?Sjn!7qy(m&QP#Cl6e-rZk0 z=#?-!w*eI@vSf_z1_w82<0UV^Q62%UqGdLIpr=^HMFi%|M3*p{Z|0cwf+$rO$1zpK z7`%`U=3x|zF0i(#GY=MwRoXXXJL5`z9}dwZT*;VAB90X4`Rl~y0Nj@!{$&ZJ>h#5l zBW{dQq<(@=T{~F7{ZllT+p~w=Ul;H8b9_>R>FeHH7YQksG^S}RS+hcJ+@SV^c+5o? z>In#mrpvUZ%9~X8Z+nGp$d*+@bjYAALd*;CV;d6){xhs_ZvaaK1d&i!7m%m|@PBzV z0NY*zLDe(NsXdO0+8GS$QHPl^a7>X_8yek7q;~CE!cv_Qr|Ev6tyw3>6&Sam&!2q3 zM+QqHI+HFYP1IzM9KE_E;GPoxpo_D!8u8six=GqjKs~@K3cJ{$Kx^$G!Q1m63e4JT z(rZ-Ah9~Z_j=udtK zS=8f=pRWVab6~^njl57C8H*FkGYIZi0>fbEL4f>J$@jCCE($IQHAM zL#KvvHkROtnLD{``i=u>Ek)}}(`*~+x^&lrepi?1n?TZ&erE zB0CUv4;y^krUzf1re0R&$iHr^!?WoxlU>Yi${rgBN|-p(l0D}6lhZTwiS9Ls^YA)j zgdxf1}7mcL=;E7$7$BoBf$bo8y}PnILg9FZ+q} zp1zH7fN!=dNg(U@z{>S4d)dmeSFN!2bv#bPmINR z+EHr48(y2MJkQFCgs&(LCcrz8`MWg~edOFmK=ify20{C1KRD>CCG2v*j=(aP9@8Kp>jwOL=S{h*K_7Vz$T zHGl5AcS1ZkWuGh4Y|38Tx7mE?Ubs8b1G3?;JU>3%!(~B&ChHACBMv@u`VBM51Z z20};+Nz7psgb=4eoIZlDh71HdQT9b9LL=PeW4^GR9ty_E2vlelu_Lu zzS@q0zXWNHh({>9Zy7fV2ewFVWtZzCB4SNUw86}axvmwmagQD~HaA-njhPuLosSR; zM83u$*aQ{Hh${w5J*ma48_j6X?$<4tfYIyj<;7OYvS5IYv$XUxnZN#0X0|ov_$a=t zOh270LW!G=05Myi-X`l3$QDR-)Gpf1U;}6LX5hcnzUO3hjeBNW0-xnO9X7g1gmNsU zP&7)qMDv-%n1xby`-CgIHp;cP&v84!<79#B<;Wh~PB79;>MYPVR>18J9M?ZXh0oNa zBIp)M9^y^{(L7;*k;I*t8Ze*xQ8`Ixf@n4};0_8RbjueQmFQ`>smq|XYr%}Kdt->q zdWMa11|{V#vYG_?M#Kp@8Eb2=A)5mH6}x|}x~#FG+&i^l_TkBjos}fP$&=&OUk}TT zelNMoxne7YKlds%Rh%5F$cFtV1iOQ7hyami+shJ&Hm9t!`gN*R)ytFni5ScoqKK+m zR5?LJtT6>*v8WZNU~3{uX3QkhHUSQOKQTy&9kdjV8+&5$2fJwjy)(hVVL0`O8r_f{ zz^(FQprFhc{1t7<-d6G~HyX4SyZ!HVJ*t}D9~9RDH?wfBGmldsl`YN`=dE2Wgs`BA z18d|M(sIPTie-Uc9&_H(X0tiySDkw~zPqN~$$!3oJY z1Y~lYAkqFL=j9@?5LKqy8js;Zx`H@z^JqwRc7hK?8`MD710f4QgQ`!n2$kxjr3QHS zgMP>%(N{(@Tf25qPbbC0EZOt5^Vem0b+y!rcfZ*1^^aqE)hR*>9zXsT)jdIoQAgH8 zws$u&(g>1&XT`;fHGu}*^g?z@1zb~Z9vqA)l3y; zo?T75_u7ym;tLS`Uqx9{dA<-52!RneVqjwohuN+P=^R|brPGPj{{1!S@fP?3z7n{N z%PBW=e1-weqnhZ5wvQpuLlswoq9#(6A3>0xnwEA0LpXCu$B8B!)y->T{+BOatNl+9ch68z;L}!Lr<>c+7<72_#fU9qL6@R z^oU&U@EZ`>w}r*EZCkfi=Mp)K^( z5hxf3m)6SFdU`(Y*4E9$qQdenu}xZb2Mx*{@7)K0(|UG&+c4Ck!r8QNM$Sk}5HTvY z%b;k_rZbvl?a3woM_I6fs@LS@sAhOCk4eADT>F9cJ^qB|(@CeaqgVwWVrv_8)>vHy zvq2Q$m7%_KUM^sTP02_Sj0b2+@B^U1@Jq_9fI6xVD0-weoSSQKr<)C+5%M8|{Tehv zTMYlvI3U9+4(!?Eht#j?S-9>=l7XdVQ5yP0+)cReogtjHlJtkWU6V)4fa+Qx=r_4} zDYhPZ%$6&h%A4!M-Ry1;C~>6Kjn+cg_XEv8bUiD`1A6sJ5`!}v?%tjMj}vpkz=0;5 zLW7V=gAX6?DMA6~(}P7Vht1LLgC*xr*lSVUf#Oy0y`9aoUa2cKf44gwpvv_=3O8^7?;f^7cnn{Q2T-`z@23P;73+;;L%3Nqf%7H#- zT3_{(jM9zFIJsghr*KU;pUFLyCBm9QF&ku#=)V*a`xwgmPou&${ilgX_Q<|DaHOZC zl+sq?;zUGdlQ-OyuQOjDunec$tcIWd0xi5m}E?tUo7TYv~7JN^z zaf;C#`Eph0Lqeb0iU|^7zq}X)&bvCRl zQ>p7zjYUKzn29im8Ipp6ipmH)@CHppI`BHq2iO`t2M}A7LheSO z0xoKWcG!}PHf_4_672;1rSEWT=t>}E%T8mSh+%0AKjqI0FCTt!-Q43}(8nT~Dg8-@ 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 z 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 KMNUMnLSTZ)&NBgWhRPX)+!Rsi~>XFs0ay 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120-1.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c62e62efcb3ff3df9ab30383dec95e6c2d4639 GIT binary patch literal 9789 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
7|Co=%51p0v zJ>j&f=vaVN!8ae0b-aAdI=2vyKjskJe)Bv@NA0UlGdp_m(355uxODkiX#>Fx4XSMV zA1y6*9CY9eu;&-0ySGeS{IjMVU;#N&pTw6q-~EplP+#AS($Ye4q)tEizoKkZUo-;S z(cr54E4y4<--LS~coCm{@x8pzn(tY+cZ<()5 zJw&F!$mDgmm!qA|`(_;AbPjg#TB*;#Ai$~5*?{`SAix6(uG9xR2yp6iHlV&S2=IV{ zEA_z+0-XAs4XAGn0z9DLN`0_{0H;1@1L_-t01qg*QXlLfz^TvKfcnNDzyk`d)Cc?j X|K7CJvIX`j00000NkvXXu0mjf62dv8 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png index d0c716936886215be76acf8a40b9f9af83399d4f..b1c62e62efcb3ff3df9ab30383dec95e6c2d4639 100644 GIT binary patch literal 9789 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
7|Co=%51p0v zJ>j&f=vaVN!8ae0b-aAdI=2vyKjskJe)Bv@NA0UlGdp_m(355uxODkiX#>Fx4XSMV zA1y6*9CY9eu;&-0ySGeS{IjMVU;#N&pTw6q-~EplP+#AS($Ye4q)tEizoKkZUo-;S z(cr54E4y4<--LS~coCm{@x8pzn(tY+cZ<()5 zJw&F!$mDgmm!qA|`(_;AbPjg#TB*;#Ai$~5*?{`SAix6(uG9xR2yp6iHlV&S2=IV{ zEA_z+0-XAs4XAGn0z9DLN`0_{0H;1@1L_-t01qg*QXlLfz^TvKfcnNDzyk`d)Cc?j X|K7CJvIX`j00000NkvXXu0mjf62dv8 literal 11100 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%0D<>25=aLScclt}C-VbH+#?zl{a}1yp16oR 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 literal 12111 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png index 8e8cf216dd92adcc8595efe09efa97e55441dbb5..ce23ae8c34f9debdd3c22ee84525b7707c449a9a 100644 GIT binary patch literal 12011 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png index 595f6e383d4fe98bb0e3da0be361d19d9b37e93e..78bb1d0bff92b57e781ac2357d60843ff2abee8d 100644 GIT binary patch literal 12830 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⋘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 JN=Pr@{{X@-?-u|7 literal 15320 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
=%hJaHn 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 Iq|8444=Kj2`2YX_ diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png index a05e66102f0885279484fe44b57d0bcf5cdc2fe9..8f4fbeb5c5da776d92de436891b8eb0c97f33610 100644 GIT binary patch delta 738 zcmV<80v-M51o;J!BYyw^b5ch_0Itp)=>Px%vq?ljR5(w4lW9m4VI0PPv$H!MS?ZQo zno1XG5ky1>fr;Hghna*?AB?CEMM4K@p;1v;f)RZv2s`Y=OepEFtSGRA4pR^lgGx(x z!*tj6*qz;(nAa>V>1965%scP%f3A^qUDp}3j3-GN{O14n(tlupfx}%cH|3R01o~T8 zmOKGPkr87gafvnX?GOM>)9G`2c~bS6!t+%q7MZ-ANz9oUgRy5a{Yy;%44`#7`>3gF zrAyT*E_sJyHj|r`#H9FO0Z`xJM3N*DLr2kOcVP_;UU|bU55JH@7l9 zF`U?#2toVq$A1=N*~G%=2x{uum^j|r5AesPexWvdJI4wx^5$KGkTf-6Jb5{riH#d; zs7FTn*8>B`3%DFkHf=e~+xLxF%rYiPLiPHXmKe{jtZjU?sjOWwg`g2iKZs^f&~#e5 zx@mNKczERrCFhEXiVi0|H3f^s%*|VmvD@uf$IT)va(^-AU@o1wvirv)Am{brQ1@$f*;1NuHm8!PrPe`rh8HUoER+W7-TJJ+CHb z{~3Zu`f=}eAy#X!2;AdQS-Lul=9V_$Mdqee_J)H|@5B%9 z4e3j;C}ytSc!;X11O^5W6*-zaB?b8V87AsTnx^SSIl5dug66l@?<`K4!}7&*2^$k4 ziqqcVq@uE#`xP$<8WF(#vO*#wMvEZ=z{vhbhg*ZxjD2k1n#Q^{DZ~CjhLpqkMO-U7 zL|km-&=fRH!{O{EG-RZpCL;P({r;*;!u3vvORzATWijNhCW24XkWHpx84S1g6GVVm Uk8m-=zW@LL07*qoM6N<$g1^LKsQ>@~ delta 591 zcmV-V08lACuZ{GW~aAtgt z_Jzwm_ug~9=f^!q+Q9*j+!zc71Ey(4Ow)`6gTa8L#{cNH{?>?+>d*V$knN^nOBsEl>PfbnT z+%|TK0IS(QoDVik6A!BdkAEhgBZ(KUW_G3E^ZCw7(qUkw zQpDuMGbAC2sQG}=)NB|=sH>}MxVyW1*f5Nc dq~`r}{{dCjTkVBVou&W)002ovPDHLkV1fnsD3t&J diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png index ad020bd627ae56f67e269ea1f3c1d0c267a92e3a..53fcd50e9e7ef68784b05d9c695aee902ad51713 100644 GIT binary patch literal 14411 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 literal 17510 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 JPDHLkV1nLMZIi; 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 D1*N?4 literal 18342 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 KMNUMnLSTa2snhfT diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png index 9676542b527370b844fa6dec5026f14a8be05dac..587dc947ca721ae1dec72fe2da00e52541ca27f1 100644 GIT binary patch literal 15696 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 literal 19669 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 b?IY|@6AR;+7TfA_00000NkvXXu0mjfCdcuN diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png index 8f59f153d8680edf44db1a85be811cf08d28dc7a..02aafff2a7e9074288b1bd0888b41f0fc1078a15 100644 GIT binary patch literal 17203 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%0A^@`1JJ!B-@zr|8V*TlQ{Ml~MecuR2Z`$-_ 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

wegLt11A4GsMyQY`@D&BtWTZ>>?N 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

2Tu?C2KqE=BswK7nsq=2h>r1k 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 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png index 9c3a7c1a4988fd06cd19f0aec3e3f64902904c05..f81c3d943d688cd3133c4be3d589b92ecaf23c42 100644 GIT binary patch literal 23640 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

2Tu?C2KqE=BswK7nsq=2h>r1k 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 literal 37163 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 X#|%{0&QJW`00000NkvXXu0mjff8Jy! delta 1521 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 V0^O}n9C`o%002ovPDHLkV1na_yBq)j literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png index 814124fef5a3e69b07ec4d49515146c70af797c5..4fa43ec166a91c3ea6e5a8f1186f89d2c143b2c3 100644 GIT binary patch delta 1921 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 biSPR#N0c+vp2+ro00000NkvXXu0mjf(h|;r delta 2437 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 mZ({s3PyHXjPowAapYk7fAIHlU6O!!!0000YaX delta 3184 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 delta 3327 zcmV-BYzCZNkldo66^wX^x*M%l$%aj0ijD0WW7am>BsFf-+D*D@n_$FCHC82Us_x_&S`<^3m@1&!M_F8B-04`a#Ze2)0LBXVoii%Z0KJXb( z23*rxnf6(;Fc@tF5J1>^#dot^D}>eQ(WU>8u!ol7mS>(r@J8QIy{ z{w=L>Kg7jCZhvmBUrkNT65za1D^*qPilQiXyIr;0?RJO5VRtl%T@zJN6h&24y9cQA zH8nL$3?_JA*m3zlet!Nq;0uHDs@-l^HBGsbrj1cmRaFguzR1tdAJ@{__XI?0YHAl? zodJNN?eZNd?*)`yRaM0RXkBV*YL|Nj#z#ct`RAYS3x6EeF=!@oPXM&g?10YD;U!C! z^fl^o*B}ZC3L=0a0L}irDx#_?ilX9hfTF6Xs(M#|6h+b5DLQcAK*ZgG=_n$yc=6(3 z;H+*+?E%q}sOsIZV=%R|Sy@?qjJmZ)I*5pm<`YNS527guZG7(}x&M8LUu`@}Rn0fL zPkmc3AAf5;)9z^IBO;EHA0%lnzVG|#Jm(v_<;s;s+Jb6ZY!nq==WoX^ zvj6aTii)puw5XCLEB2B2#7g2*U&TD;Wfs1;hs;GEaO<|M84z7A*4^Z6buE>*>s?@4 z5q}ln$dMyUT4SYyh;$e;W{f{j3OL$gqoKjZ$mbtKv9%7*|6DEPJf)fO8)+{Y~6N(oqG!@zkZALTmQl2Iqx!i z=}xB3+ri?O_P7*lY_y@ODylX|qoQ)?;@7PItccuCPOw_>)rpcKjk2%BlgVseh}d zrmmqi^T4L%ItOs*QaPInOIZDBA=}P=#pw#?9E~=W{fE!<`|T(A_~=)zv5KOofaBV= zYkQ2k>t-eM=FRJiR*JW$0Mw=8`b{pB)o``qhMTe_7cQ~<=WmdjHk(mD{4vvJF5`c; zrHYx$<$30zy-q5qwlni^&V<0B%nZQHg< zPCHav^^Nv~;KDN(7&z2Ir_TNa_J|<3Ujls}w9vE9Fns-jc%VlpuddzdHl|UvQ~ga7 zgDuVNv8D>}+H0?+8_lbeh)7{!;eTn=wVlO{%}|!Swee4g2%-Hg#3jwZoPRtMlXV6r ztMhYwau!2k)9C2anUp7{H`@eV^jxE=_7?MwUWe`8y?c!@;u`&<&9K{AXxz9Z4-p|c z;Ym!^8N`gpAZA1cv6f6s)=Xk8nXc~%kIu%|zcvE1zv&q3-Z@6yjRrR`EpDW? zdsS6cyPNq5aI!t71#sJ@P=8i;lZ&-C0VpoHh=}k=!jmqAP1YFJ&_RD${pa`kO&w7DwUrUM^LNPmXl@OW25>k}T&<72bh z^bJoR0m?+AyD_tO!g+b-=Ill>ln9j7-NFG(ShSHLmMkJ;(=b_Q(Dy+LX;YqY_48D~ zW^)#f`FlSmpnrR~%lV^+Ps1;uH#N04w6&CW0jaOAKP@7i-O7`OhK77?64l7W`O+$; z&f7uS%uW2?PS-6EbvJI))jxBPSb7#63_nHaZ!34h=_FS)@>kAr|pJAH?8^xg`8i0#J~UNZccvjwQHe>!6O(DmFlKUtR<6(p^p>V zZy2pfdd6b9_ZsN70ebH73k>GOXGLw9mmaZhiGRpY5s}>7T(=6?r>d%IAK);aM_Q7G z1{>XbKE$y2bT?&UMr06|G=u&_Q|KKsgjKI?;o_wVDywSA+jRu3vqT8-6ou+kCDojZ44lZiGDzq)yx{QNBb-TJzll{J&N zq<=1KJNDl^ z>ns8EBV%8j&oLY=)m(b`-1eva_yzVQF6k*^Elw7~B1Y2Hzc>8{CNOK>3%s{|A7{>% z@^yJ7o@SFn`|^gu; zA`+_Ah|Mk_I*N!aTej>)ZJuUTupT~twf;T)9|$9H)Epw?CgbbZli2tt`1419Z`C(E zrM#kw=~>zM`t=}uz(^8D%^`fiND{1Ru0EdG9qk-4efspDHDkj=I*3Rp+H((2R)2IL z|M9}>^a_b4V(1U?_3O?XZ|`tZ(&2DmvnkkY&WNQbitD>Rhb|XNuP|V6A`kQ&z>t{n z40&Xf0f_3!20)27HjF?dGBPq#pUX(GuEebQFCrp@ghz3`vc|Qr&1P%YZKCQ?vH+w_ zo`;AK&@HGL5Y10jfY8v;r;NIK6Mr8O>9T3lrp?;!Dmob5@oQ>tGG~E%2EW_uP~GnU za)0qQfBfK}8wgDlfVFGa{!T=Eyr?gcUwWqaoi?6SxuU%YR zd|X7rMa0LONx6yEv9pN80L7kQR8?)a8MPmb-Q`mT5IVvV5iyBp-nau+zJDhoR+=7q zD)&Ks8~djG+n;cQ!8H)F_)H>>ao?XXf^%42B4X$9WCjdJ9qA=h{Ves`h_Cc{6p<(q@z>V6ucDjU10oV_wOW@J6cilbE??m&C@45EeE9HX zA`+v`*)=^q{l31!;U=R;kM1NQej*YmB4Hvj%49MvTCrlqhC_!AeRxz|U0rCm+skm? z&XfaX)z#I7hYueKcekk7Y$T^i1ZL=Ei_0(qD3S@ zYth#gI289%pcHp^*nD^Q_fPC+Up;w| znM`KR+vE{!1>)5Wfy2o-qz2`zM{NH94=Yi0{ zRQHT;b*Ty+Hn}1?Iy5v;TnzG9M+C;8gMa8bXVs9C!^49@!Q_SL=pb?;@&EabjU;q9 zpk=3cG8N|k41oqx0GiOG{0U7T9-`xNEEB}A^|La@V5d@Eo z7?A#4uvZpjrTSq!-}2F9@Hq60qLEJpL6l<@7y>YTx2%T$0T=)tm}p22uMr}4g&sUE zm?0rYm7=RKEuHjh-=tYDNy(bM4LxeZQbxH=ChxI%P3YOL8~)MY@W^fGs6~_gQ^)83 zuoW@^fvF0Ck((zGWntwFtH#2Ob%y~d(g5_YSQvI;vY}H0WOaAd(!VnYNMn0QbccSy z*ol)kCXG5Kt;f&rpc*a4$AZ_6N!y|HIi*`K-v&o_ydUvigQjii2K8}af!BVvkh=g` zWf)}nb}A|Ukej0DV?US`2NF#mGcjWb-7U|!9Gl}0FOj1z^sRKdU$Jby=lzgbAUYIX zL5RTIf6WVWzOp+z08g5#Q<+@+B0XJShU%L^s2^?YhNU7P&T$F(v7XMMD_&>?xnYaQ zMIH^R7=_To1s8R7#pNQp#tePuCt@3~JBgRt~OjaKtqrqObS4(5l zA70$CBq)FFm)?x#U={BthD?+hR(-oZ2w$Nd5Mt+h_ES_CZ@98qT*$=+mUf0^(5Y?k zsA0gau_DF)NbXOKZNbVX8^W(r3^8@6ymcaMUxfwz8qB}&5~Eg^h0qan>Fy>4L9Tt_ z9R@mR_Sv3}lMNlXe&AbdO;muqdpHjBdOSyvn+HF1(8xGYUoeIe;PBZn2{|!fwv9Y# zYH;_5`PR7z@#;px=;?)aperdAn;C8eyk3V6x((xhQDw<((tfq&gi^3l*#cZK;*Xv5x~~%dR$}5_lNKw1ZX*qu zh-j4@4-Xf(4vAy+`wKF<4e~${Axo;?Ttx}<^udrECL*PpQrqw-?!n8 zhsf=Vk25mFTqnpD29T3hasKZRh+KV*QYZ?2_u+=JDRc#C<|HR1 z;1)hXuElJC{U=He44~oT4D-mf{N<8@d^uC{R;qjuL zOjV+Q-hD&!@nljFGf~#U+NmFVr`XA04}k>6d&j}EHY3!W=}-Ki37}FP2DBbF1TD;+E*z&Z z7=?s_m|u2w3j)zOZ`k=re*BQXHUF7Ujv!m=-o9tsb!DHhQQSl&UrbJ!m?i=pvM&kw z&70cj*a}$a_ZOn5s~9+%9nX!T94NcPx-+LGMPN_?R=v*v&Z-cxmtha}%EgM79I9v*13 zoR;LO`Be<~@p@%!=EhU(_R6a-$SS0r{~by3i`F6bW3m4I&M{ONCgG|Bk^BfHJU$qV z4uBF%Wg(0L2*3K8yM(|3&g_|A?czZxgu*A_V6OA({fUa3H_If>IMqvX9?k zna1A+c5D=;`p%hT2IP|RfBj3G-qTnb@Zkva5sGlA1N$&E2mG}b|CF$RnzI@C3#`A# zxIL4LD(Jw&==Rk82`bKQuvwQG{1HR{}7v}VAB5yM0&R4J%S#l0Q4q42eJe7LWtV zL~ihKMg?^qi{dN&T`&&7$Ko_?&%IN8mfTT}l1xri;fn4U#!nAr4>z;*3_U>56YRm0 zi)K&^Fje<3c?zz0j}mwitiip#f1F*}lXPxVzRQ^2KdwXBe#9C_HgY=&GI+@}b;nir z!-0S|k{t5?C>kau?LUiYcYK`waev&pAl4-KI3~E4*>P^OkMNKcvBE2nUvh4?3oZEZ zYL|*Zh&L+>wLs7uDejzsCz%5}Jin&Mm|Q_L9Dcw$$#+6~-{xN7E)BCB#!4pokHtc^ zP>e@nlA;jlLzXE{IdF#}HwO_X<$cka0s9syMm1IuE^VTq+~+-3ZHtZ)T6rtio+c-3 z<*fg*3^f+jlRiiVrK19d#E#nNvgXa_bYNg4lhTf$`!^#bUsQkkZ*pnKi!D57(0oyhW9zp7oLb3dX+FxF{er z?(bMj}L~xZ(R|N`>yG zo#c@c$E%+KGeO5JrLGhN$^WIv+89V&TsG|bLBg;6`$32=`r~OCgO6BiL3#W5pL4TW zfEz+N4Q|Z1KOvH+9C&oEe?VB$WdS&E;SQiA!K|#|fa-p}XWUVv$VkR3Z0r)tXMtag zgiN`9nbJiR-Y+BKF8V7LF3p6eOV<%sVMf~Jbjo0J=#qt-HyPZkgm!;U3|^8TR&bM` zgQZcK6C1os*1!Lct$Y^998mc$)U?n*?y8>q=DOb^gqmDD&CaBnXRm1n8en-u>k(=N`Ryif1^~_BS6n@#l>%FHt7v-wG z-p|wRDrYXBH(tjPWZv%qtGt}CVCl3&U|%2h6DdXukQ;7gYTPR zE__pr-=sJJF~q_zWt%?7^^Ux5i1QhcgIXkjBq2}OZW7YA^oDMY<<2{%@y_RuouTH( z>$dm`w=S!-&eqHaVp3uDFcU7Au3C}tAiFgpdEtWT-EYESRX*rf93^u{$<*=n0&HLL zMEs5C(E4L(x#wPva$yTO>{5CMq1TG>P8?<*yo| zGCFuM5_{#yQ%Qz2&8GynKDr5CO+5s=!FvDkoM-7TWBszLgxGdGX(O7 zays1-w9u0(baKKcJ?(eyJw$|lWf_Mv88MSD2o)oN+%pxpMExfW#t3%%1#3>pz1B6TMcX!tG*&!L7xa&s3I0lJzFL1Apa(t8 zV!zUq4(zS+C16<}u!~H8lDw1SbofcSvr2$*xymT5=}N^pg*&+v$Bg?rK(bO?zrhII z|8+P8lB8k(i><)Iwn0j5#CIu<7@tp2Bipo?1be!;Q8RTS zX`SA5nT{m~&Rqq!?^ZLEx1KM2&&qor(NRhA)P0YpRots%y~mMJ3v$J&2CjSeah}-i z$xaE+2DZWJ^;@yhaf(#gBRNL?BtK$h4FQ~N=^`*8e*Z0jl&)=+Q$9kJr1w)&%eRkx z+X7HBNDS{^>jXYdomQ-FiCB5nmTlX>L2I?pLkL(sZEeqeFbP}aW-p4Jr$`2X&$#`F zY)76hfgt4KBM|}2rk0vs$7I57soaQp>xxR8K2St}`}drJ+{A|N4w8kC!;t0wWDWbe zoTCy{8TE;Ue6nW`8snA~`-ED}Lu0#3zgmC8J!M6){sRf+HaH053E2M<#ny(e?&ZfB z&Ka@s&jDXXY5GU%v+-zZ5WuJnYUPydb4WG;me)5Uylt47PUID1VY5N3?_VG?Oa&YS zWyc|INWzqP)8<|*-)xvlx+l14h210G?Jf_czX20fCD;Q34~H=wrs#9 z|Dsr~5NASVgv}S9kNTfV{Oke_?QRzh*VSxjxYf zke>sD1IAc%q)jL?`v=V=sMB`V8ZknH_uMX_t1W*_QX&wc<{|!FEkgL$q^rX(29X`p|gZZ7Q{zTI1&?Ah_U{ktQw)&Fd(#9KG*BG^ zUK7Nc+9i6J_eBQxLiBM^3<1*LB&v8}j*x8$1$VLU8@<3}J%k?$ zxM(CEn;9hrdzN&qkCBk_+iRCR>@xCD~nT3#d|o4;aduz3G}L@+bLA?9|H zt4*C#_4~ZW1MfkhCkTBSbYn}`46O)7i>hpTJk?FeB_~$fi$D|tKu4;2lYtXxwAU|? zx3S_~PNBmpquOid8aSYdYT?`fAn0XJyBb<~ z{=cH^?mt@YXRo#J^$xx7X_(LIV3(QV-|{CwE>bh%uU!4XD;b)^J=-=|cRkzfhTD zLu>svX^vw|sS4&o^IUrNT`4>m)8`3vszhW(8^(9N?XyGx%1{KzlxfVDF!)NTn{+w0 zBk4=~X-LVmhTGIeH;6vt8Uzlb8$F&*{)8)}*D`>mfY*qJB;yHo`wqd|6j8@_bx!uZ zqb+$yVNl_|ggbaBa=aPI=k~qXg^zJ2q8?hGCrTzkkpf$}%>#e?oVn+43!9A_aT{U9 zX~aFhx2rT-jj;!gLrc8h26F89aW*M;qZ7P#@l*ipS1JG%$o>l7ub-2H99L;4>E#zWu42ee=$?-7 z<3RI9O{U@3zdPpYwYo^;#$r)3an-D3K$5#D@&G^fLI^P+P6(V*DftmDS(`drt zy1Mq$WuBKpJoENp{jb`Xq#&SZVyrFN=VU$)55x|=WW>}rjS^NS6AN`(FNd?*bpp2@ zj3j`Rxo!77Z=KpW_&YagNLslk;rZ*F%kcPgp+ghn!xQC06XqfiX2DY5V*D)VJMPJFsir7d z=;olqbSdBf&qs2(c6Pkwl;cPs&5qIX9*_B-2-d!jOjAY)ACXcPocq*hLTDOfKu4^j z%9=4Lu1;sS?u}@YUuRozaEDFU8D_@+rEu{E*M!ATjBn_m#$EfW1TUfdYI{bxib{Ns zD?VmdNU$S3#Trl3QkawBIE^!1zMewbs2oN6j4Yy5p;@MMW|o*bq)sVg9^m2K&Zsvk zUqHK3A1`(!C!|kDo;yLF`HMVRsd_E zu`bL#Saw5!;dFf8knwAEwCd+NY*<9%WRyre>0MiDY#nl%0^^O}Vtd8YcA9^Vl)7+86R<+S_PU%6fAA+z zV3^LLs3@}(b_WXbBm}ZTo(1Y|EEih5cx$*0E$ThsIB|$R@9|Mz-I}dz{ z>K``*jZ%clok5KGH;bEk$CkF9GUS=^<}^uCTzQ(b9#tnDn9}fXtu!U|Tw5-f-p{Ze z?Zo(3zS|7!D2pV>z9vimv1r21{Vr9}wby(j18QSe|vXfQjz49^$OzJ15K4Lnab zmk{#(U~IXtx_50WU=$9C2%dnTuw`KX<5iYY9T{T#>#11}*uDI~^>Kim&oJIod3564 zw)qqOH%4YLfgJrM&Q4t~aDKndqzU9!o^v~H@*AUMPzBu#!?`Ynh*QH)eae~+b>@tt z%waWQ!u%|o_ju!p@mf7yU;(};c583dV?VqznLTi#sjy(O{Eu-VC+eLgyQ`Z*OVY2N zjYPg3-ETz<;}EeN8w~jzMYV?R)w=YI0&z zjt&-ZLR^0uEq0~S@H^mm2qqbkSpdk<1w#FReRY}tkkb3|-`c3tZQsO?y;dP?6cdm? z6&DNCj`rc;pPKrds8#9~7dYOk-UidNY4ix?r1Q;nlF|BCIV`6bU6%+Ao((w@Zmy39 zra7&Z=2sK`_`qCqp`;N>netTMp>29?o)GRjtsfr_q#H8+4W2FfU*7CxXYjm>HNQ-m zj_xaUpZdbhVz|gbgXMHGys8I{cjXj*VotP}FF!8};Kaw3fgMRi_NeH3DOx|-y}v;! zhtc*r<;=VUQ!5eJs7<~uZsFIXZC*|y&5mpBFW6>_RC3UrT|$RP%Y&0zlmMZ(neP+9 z#rb$9@iBI#a^7tw<6vIVNJdDR12+s zQXz;lOH!qes5||R)X(oF@_5+(lW0W>3V<0Yah)2$icE3hl&)PmYcToJA7#|$E}0Ct zL!k?TU-nrp%hM8Jqyve%2k-7;JV|{l2jF z3_k$E1|A;kQDz7?6Qw6%>cD9}#1-~D&jwnvi;{#kD=-6aY6Hf}ghk>yN;BPbxIo&J zxCRl@dbO*4?qW$aoD3g^myIgxk)ZsKsY!?|D=EJrRvX9Vj$YXFVW9fB;QJ$uF#2d2 zl?+zs97PhejHtiwKjs`0)KFLui%a6U^NpL503Ah)u}AYHmK#@j_f}_2WkZzYwaofc zl~5gGR5g^5yr&KT_8IE(DYx1V6sk*}O236#We-#$%^%Dv;WY6v=@3~6NRkVc1%0Z) zT%{Thd7NA8>LG)uKxL(GOBwpqALILMvj;)0AmXG@p~g_ojO(Pk7$ zktIqOd2{`j!hZ-aO;bjf=BZ3dw-4G9_h%IZ>bZ)!0uzxrku&1fwR>5S1^4^%yod}~ za<1w1eCgN;Z{%OFKq~ZRihjbpN2e0VH%P8S-A(k5W!97oXZAhjJ8AttHrTlERVaM% za;1v+fl8$<6}@iR*X#}Y4P0bHJ8&b340du89T_X=F;X01G6^%E(jAx(R6H@7d>x3+ z2jiIo86HB{LNm!)Ao8Jo9sb~#0{;%akF+k=s_t_IzN*33L(?rL!g7Z4P{+KWTihEM zjSU&fbH+QDeGZ)g!k+%_VR@?;=DkkD8xV~ z+@36Su=FVtR=ymrpB2-0%oY5`4jT!R_LWzODXyGrKeo$oqDy{uHuUyG%CQUw0hI5P zaj_s#G zG;}IEr$h|v;I8^=?h2 z)ZM?1q!gx@^kl1j2Ca&$$ITV7Fs~_-P(k;(A1RRb7?QreSJy{uIM%PEZtU|v+q$!7 zjf|`O)R5Wm3!9i#ZQJ~oM*`GTE~GAos!%nQ=`)4c1pbc~AhuExUHRF8>a}{0j~-81 zI94mky81Il$RAR)P65IUQE_;&j_Q?vD-nbA3JOv7xXY>Z9v(S42`2QZ4v$e^B{ue& z%snb@K)U6*SOh4ER*E6l&>bRe_(*LU4M+WKCYpPr?2g#;6hhAZw}E6PeZ z9#WHUBD&Qm&exmdBILD_B|4@?4X!!z1M+~Hps!xcP8Fard2WTBEcs-TY1%#YV) z=|ZB;MKn`ZgyaC~L|EllN91ZpH5{~ye)8LVF;<^(tVR>UH?2M!XW(r}`z;=I{TVb? zj(dfx@5L3~%x_v&WT`?1*4>P&U@Khdvn~Y-EC2NyJKhJQh5Z@H^I6fyNmnk&j$3N& z$Juf(BO)Wc9XeRDV_d98_)i3*5j~jlQQ@yxbVFY{`&~mWyAj;X6+|rf%7TpQ!DQXB z@HZ~RM~e}|z_#lJPKLn?+TaP98@5_A4NZg>=Vt(09r2!r|C4VmSnJ89whSrYThO0L zyKmhgw4j2~=%jb0+q>s}~kYnUSHZXb&%QOS+<=RM3UV zhVwsHNQD~Rcy?b+oo>1@MG+6w4j%YKVxX>rl$S}v$pII*i zLS$##zam6FN)^i~%*ddBqtg5-R;3fFvw(P5pg(O;=#SveLd7?sN|&L1vrFH9;9A(W z5Ths@v==anPT4Fnk+Hr^>`#+2L}cWN!h`0`b44_pEx9W)_V1dn8yh6~5$p6USd10p z5RxW<#E>9bP(HZC6kFEV@6<}S;bDtlQu09jAixNJevXJQy!7p50qZ%@LwV+NBldUY zggH)@V4ZazM0`@@#c5VZDf4u)(4x&DwYRuN&5Ys@_mWXAO!H=1V_zFc0Fzm#x3zc> z)knn&mJc@v4t}=ocM~muWT-$FA;y+hSn;Asm+9na|H$w825+;JhCi+_~?SJa2;7jci{C2s6&wrTe!AoQ< zS=M?E5qM&yQj5&I&`LH(eD@GZ@ZqVpga6*~;YJ03`7X;>i_6CptG{wzG-{=e>Mzn| zm;|+cZvXndrt@c)0MwxeKVj!s@WAC{PGv#>6i@aLIJrQbc0LyRUL3A)oXDX4vT#>z4zfY$^e!ta#w@A@YdQ z6#nzv5`2Jo5~9`NZe_t5R!U{;x3cY{sP$NnACEh&H@`oBGSSRJ*kpRaovK_<}OP|hhem_GC;*;1pr<2wGRGrZPksr|9jgh!g-k;W_>+>$5k zqZkLVr7SvRo&>7XSh2Ek!TyIjm7*M1rmr9nVin1=|9_W=nZpN`4s$SFB<3a=3vjzh=YN16J zuGO#_u6uMQ|I8T5ass(QK~X4@M!el#UB{zeM~rO7Hgp$3sW-m}uYRWmHn^;>b|li6 zvhb+!MLo+Qzg;J^#Q=v*A z&Wrm-&EZ4)+%C_Eq+tU5p=(D&^Q1AZEvx-3j)4>k5lK10u?%xK`(jxru*SV|-ftiA z@aWp4V#|5`K^z|JYQNl&9}AJL`qkLthfAf@F#z!p<>kx^EElpoucTrxlD2=eH~&Q( z)WAnHF!Yd*Tl51~<5tt>*MisX)ryl=XgGtK?Fe~c!G4)JLhR?i6Hj$oz@K|Xiort3 zVqDcr6Fhdqw^tnHqA@S{;#!`ZFr3gl#U2faIYtTa1Sw&RCoO(Ze61J2!|Dy$G&LP2H=ZB5|Rfo7S4usZz~Ue$%%K#RxPdg~I`pAl%2 zjW!PgiEgcUNXF)_p0{{_2e!M2r*r68^y_VjQvmFpO@d|xKrG$&rP`HTrB-XCIj1;P z8!jGq!Bly}(JKEw1*hA=O6<7tV9L;?Fn953anI}sFE*jP7)(&9$ z*LJkuVXb%rS(SfD#po(A1{bqD5)e-Q6|3p5nlG(C{1%Cq3G|xQbB@XJkQQ^{b^O?%4n#r>J>AgTS_4tlmolfRmnFeJU>);{*q*zp5*h z7EhY)cMzln>-!`I<#jz0{9Or9@eX0e1GbEP-b*vc{qjNPDSB}!^4$8^?`saIJFFJXT-sX;;F%xIv*78v(n}$xaQPHiE z3`?*T9*3xcKb+4veq(6E_rpH!Gr^{0W>rrks3?Q5k!jg^@xnHhS~cCl>hV~GB5HT4 z;kcM%$RX9!A%x)Z=9nr{Fy9Z`v8$n<3&=NbTV6M${7*UUckU5FN)cx8Wt?{PS~uB8 zJhv(WahyBt^HhuWtT%aPss$t@z272i=xeIRG*}X9fn<>Zr0Uav=c9tH@u%SlG(NkU zqu*}vscw{Jw;(Z%JZO-U=ID@BeJu2$uZlD*2p&2&vNs3P=MR`WS@MK*G=6$~H?z_e z5D`XZBm83SCZMsx;C-_5{Qy!)T^IJv7;6nuGGN=n>WmpUAZ}0kKd%!1%EpIn|C5`2 z^w6T-1enM_6ZTn(L1mzww1WTaKoc8FjFfjrstaGKhq=UM7}MW36K)P)&dH7Nw`xQM z02|0c-CjLy+CYp__zfCH;l^-}nrX%-+Z*IxML6Yg(O$}r&Tatv9?>4(_^uQ$x$qc<0R z-TG5P)2L~yiAa)GeDLp$w22Zu>oGB+`sqkV5+goG9z`hC&*j8z3wFbQ&QaSHuAych zI34c~Xeel#=<@?G^N%Hs3I4UCh8#Oy=oTeh+mLgtemtifTWP~o% zuB@iuj|`O2ZI_|u3+QkTpncmYme`YBlp2T@^9HdrrU95Aum*4YIh)zTDMywN3fahh zV}rLYYQDC+GD*GxCFMHN!A)(-?#4c+|3c-7RqbP0A_jj;AP<;y+cp6ima;}eibBLR z3EXAz4$%^sAaZWyLvNQ7xq}IN;r<^Iyac7B9tWc(QlFz6meF%ZVfoLxb&kzT`x{KV zON;laQ?zQD)n}EJF_um8Z_3Kg(p;M{1(l(^FFl%MxVJ%v%CiUT^@yaqN3_<1@KFnv z2YfqiY)P`!$y?Gx3Y;5gDlaS#3`+%+%D4hSuau%#DpjFMKWmUr%f4HGnowU>-Ck7O;MQKt4t3kv z=(}NH@qPUQNL4e)gFaU0{_kv~TV$c&2Q$?IA4xn!+BK>Y0(Y)UN*7(X0&BE<0qg z77+mAU-`3}i3NqU=F1U@^n9pS8t87xzUlLEV~I0aITX>vC%riz-xZZea(2|NaEa2D zNqU=lRG9ZnPQLd*HoC~}9Lf5?yehvHBfnn=L1{)x1A~b2xf+K*-v{>P%|*NDoi&h0 zPK?cZ;L!nD=3KC3Osb1}bAM~|Xn(MZrBVV<9F18UoreAgmOFjz^qK!!?hu z*+vJ}#SU0jCLwEiZCN=r6>efvD7gfzSX$9Vqy65z@rE|D{i`5X>pR4QS~WWuw|+Z> zr2cyTdp&L=zflGUA0sFDO@=WpbF+&(6INfC5O1lMb%xzRN0zKIACtn#Y&_&?W5Gv^@oz^hW=(f3JM-QH!Zd zArueP->?~LERU*8?_W`NBI}R6S8rH+er`acgfcD0l-PRSh{z8kv=a|L$M&aaL6@N= z%42gH+K&-tMZUCw#zdO#YFq5YXb02;mIxxucWr@vtxo`?F9-^0PmVQsz-{+V0pY`w zyY#f*v8zbHiv3#K6o1TdWTk`%WX-i^CZ;U5l;On~Xd7LG+QW;7u&0kn%>+ZcEKgHD zu5H%kHtk`7rRcD%f%9Hxkm%zPflIF*P4}|%)KR}$F~kUTZt35rx+7Vepk!`kf(_*B z)(HGWQDVgcUFbz6C0igudu{VFT$Ia$-ad7%2*sanCdrS}rJ}r!* z6L_yp`SdUsZrn*n2`tGOd!sT4qZIJt4Yu_L8$=)-l?urb>wTsyypFHF{ys%$HJakQ z`t78iRCQ0vb2?IvX8CSAV+#-Ct5p+UlSU7M*i1n%6MpR`{f`k%43G*D*kH1kw4e$@ z<(xu>3(#uXyK_-Tv$5n?ct{_5a9}RW8PuWowkLr0_luZk-@RHpGS>UV6Knb2ycP1< z#8pOFucgoO%!Odo$ICFj4jx5;IX5daZ%_y8k)IFYlfNSiZfVChS@}Y|p`hPo4eiCx zGNWnsFKRD@(LRoW1Q;;=vt21WbUNz&-?bZSI zfPLKJ3DGg8K4?VuNM3&icxPOY${EYX_QMgGZ`E-n%ozTwtBM3y%IIl;#uC!3!{JC? zyyn-K&B#AS1#V;2{QsPX{p`70-wuyh>PLiI>9)E~kV%Dk5{65|Iq>*McyKz08oBit z3q|CIKT%Wh2GwJ|1sVyxcTV&9=zhR%oz)5oQ^Esw&qhDFO3iaka-$;QB&pDuEFMVr zmH%MtC(XbT#D}%H45&hYT1){ndVvw4m=?tAlhbAk1{}b9&wTWKbQy*bKn~*BuQaLv z>B3cuK!smY{g?w@`Z$`^6MUs9I5&GHJp711?H2z%3kP&$9&GKpR;XqDUiA&jyLv)S z7>%!`-0O4D8!LkGAbsvLjx`V9_#$MwCu^v%U5xv#bhmFA-O z@BdH*9_j%ES``%{7^||i$FUEE$zn<|qDvvhWQ|IN_gGdr`mhz4-H8HK8?`aUfeWwx z3-`ebZ%vNyZ*`?~)~IK_q|Tp@FV#N4E>saw2~&Untx-cf_vWVbbzHbqOcs|1(O}nb zF_P<;Oib3uYxb!WehmC^Nbe2m#p}WJ;hr=CZnSz!9Yf5`brXGC=GBKS)P=@hJYqr~ zR_sifEp4RI1 z0F{5w-X37q9(e2FyVzAvrm~##;Ma!-Y9N(hzW2|Aj#Z9CkN>Vne?Dk^_}Tn#G*|LC zGG;W>d{#}mQHI2qh#H&iqb(RjxjzSP>uKojT@F>9WD9!PMOF*>ibTCAfb)GFQqI2?RlEaBs86#|<7^`cI3EsZU1L)DH{IaRvFUzqA1T$%O_G$f3NVtE4X zbmxz{-3%KP40U{PK!VddX-i+CCmthf4EV zpq>V2z3Jpw&Vih^1{}fKHi%q5`@jxmwZ`MS?rVv~#Mv*&J!497cINcqov2WXh z*C$|kG~b&v1+~w@+>B0C9YqOM=VzD?0_p9Jl+PVWp({vA-hz6i2NZ$w9OBkun)nrZ zJgO92u@>7$!Pezut#o93M)5hC06EaFi$_E_jgh_Q0rMdC$gGaz#V0D@VuiH%crm&W znaf*_NvmGk<;9VeVanZW2up4vDM!0+JCsov8m9zcVpXU%P!5<)Pp-;-;<)5{^SSgm zz@uG~e@_kzIvWOPI5tg_%t!KVP*t*&-w>%GQFh0GNi~E1I!mb=GlC;*A)R++-tQxl|0N+UeXrI+Pu8l@e2oic~53uS@<`*s+nHi z1_Dh++j8jQppGqg)W*3ve9G=O;4t*G+3_pXB8pum5pDGA_{?ir+MtycJ!Ub5gGuPS=b8Z30xoJmlU3+XRG>z=9I zh*+_m!Q+!rQ$Y8h8m?@=-zm-@hj76pA}0>E%M z;7kKFHd$$s8&(QoW|O`@5+~54ih}1V?YVc1!P92L;F$ zb%5hfp^gRKZ^KP?J0#hXg`Z=BCM+^wguYaAE@lP6PHm}HPV`}GC)a^jD!=(<%|V=X zA$BQul}HjC%kC*j&po!DBOzp|10rO8{!^25S_kywyFBEeNh`1qrg@Ui678ItO===6 z8;+uhNSan(@l~~!cx}O}tsK#n@9eHs_W3$)M4;Nu&X2X!hd$k%;0(e&HM)@TEFDEc z)y+L?Zd#L);@q!G%hQIJ?X96k(!7woNxA;-4MtLqP1B|IxZWx^zf6hAq;SStJU4(d zUUP&B9vz5?7U@o^k4Tw4O^7*Jk14wsQtCmd-bgk76tGm~*{g0B8vz2Lc1_G5G;i3^ zVCQxz0iJ)eI9%MW+}+k+h*X`>(on(^ps!mm$Ct5URTs}^b>J!vmyXav_tz}h{|&;E zlv7ZY;Zd*vh<;Z{lmtOuo3(*~_F(R}U@B5NlRoaN%u=#&pP)5i&(ccn#sm&Fs^;uB z=*(TXR;l+5X&F{+EiH!<%5`bFzu)jrAYF3`H@PSsT0Px>-Fu~ z1TVic*>sg=iDXKfX0B2JQtPEZXe~nu_VEN=dctc_H)qk=rTBTS=(vR zThcp01xs%ay{(`R3ITqEV&ES zKG#(GfDVcg)P)}JIx(>s#tl%f6qK@vwRrOH36>AM`L@dj`o7ad5VW74p;lOPHyu%# zuxIv98Pw3{Mjmk;dg%0L1}}eM?}8*6q8*wuV{LJoWL=1fUz0B;zp71|jBLSrN?p_* z5&8aQcE_5#HZJg!W)|Qn_;bkQ0?AOUmVFgCkzwLz%TIbwxlc*bEcJP8SwH_xtwnS1 zCTX69hZrH>dNbNH+spX~J85o!Uxp4mha^mQ^j>zQ>TQI%Tk=8cw~BLvXoW689u(gZ zUo$`NFr2N_I0ITSheXh%6`9`j=d>XHiGvKx%$$U3?-~qMHTlV8){1WGoG8$xPaN8l zJ_;TM0Ou?{&ev5$yZ<%-dxs6?b1yv>tS#$TwLg`sdbp3K`5$rXEq^6zDifoo?Ya&< z3Y4tTqemLs@wGyOT-n3Nk6;v(rcF&L!d3V}Q_9O1<<6(pz@Aja2I1BEAOjckVY<&Mih_YQ}u zzvcBxg9YZ0>f&U=vG7H52OBrcRdZ4LMMt}!dyr1&mi^M=#AAJKb4S{^-q)y6I<6}_ zsAV1aWQMSdjrT zOpk0aovy1-%cUW9yTQ!X>@I>FVXR1HyPZoy%q@Ak@tIO{92XhomZ5gw*I5ZZ>G{wv z63W%ZmAIk-kyzx10Zq02w3}T$wXh~6OZ&>%7 z>r|bE6bRCJjM@@Q1_%=tXZJ35$%x+FkX*my;;;ULs6Kse3KD>2{ZgK%o;vArQ8Bhm zXiAt&I>{br6mrnB99<4$#b2U4AT6X&jyxE2y1iD*R67|Q2^I5;8TrfS6@VcS?BR9LNL#Z+@CM-Wm#x-4bE>w zV~2ojXo;ln^Wl|$MPb*aQjy?gTFAOsRzyR8X3&se3d`bG*8eREo%bG?3cViE$Hpm|2AF9f z1XVrKA6EK#t8MGs=B%8rR3k4l{Ig$MDc#HO2*NfxLXH-Lt<-?cGC+mO>0}pLEuTWz zXhYlWtbW+du4YlUg30^t!g5xJ^R)_lz%-50q$Ck=z64$<`Ub~-V#=w{e|v$n7s!1Vm9@pw%?;@DOgC9!p(!5VeG*{d2JOmAd8Qs#1ic0Le>MluR{=cmjXkDZrHgCRg* zUG>oYy%WlWn)_#*UWVQCoLoq+*CM70XQD#sVy-N#4b7_e8qe>?b|{~9^*a59#>VV} zw!gy9{%xu9J07y`vi5eiy0Bx|?@Bo+x6ju5eST%H%;r8PMuRN_9;v7iKKSysyXCMY z61XM78>e1&oSTP-E`ujtiwX?OdHn)-5L+S60E*v-yy+w%sD`$GN_S2Nk$<}WB*1)C zB}?a!o=e;47h(_zFr(_N56s4<#0Q=UB);Sg`%jeEd@e_wxPa|%4{(AVK) z`5vX6v5t)VZMpuY+=bz!n>kj`}H=d&__D$&cx_xj}1%p&gvpo zotsN1IQJX1Mo57?jAB{>_a4u$haEGFAnyeBe-dB?a>elUUKr zpv9uuwR4nVOoi%&4~ac_&5toit7Pq&s7>8zRRUrd<_NRl3WIo;THG)fs9K#E^q<^P zgT_2y6}!0I4Hiz8E*6xYTdUTxfxg0MKDGuy40!`ZGD?3%ML$S>yKhm-Z_}#V{x6!& z!Y#_@`}@1g0!z2jAR#5)UD8NNiFAWBD9zF-EhW-j(%mTC2+}QGOXsrBety^Y`2+6j zntSHVoH_A+jof!;u=my;^xM*DrWuEItTYoi%+Hv_CQml+!p=pQTWBF>Z~ekjY;Qg% zaBXeEiZ`k+Wg1-dhJ+2^Ax1u^`lhV^pPq{euVMMv#}`;%K6{pG_feD`oOvqSHIRPE ze82wFlC|Jj7rfTz74WdXu<_5Vcwc+fK?tcdZ6dMjJ%<&jUP_6i$h{t%Y7Ex8O-%xH zfd$%0`~>&M&peg{Rw4}RhyS>0iJrjL>)oZFHU_(YzwCYzrxcbbri3#Od}|J<{jN`c zaywqL%IEzvL-?C)ArIf!P6wCzG6GlZ@JJFesew>N@}NU09=;?0=p;KM3ZEU^Ir zyjO!$Qr}VP`nM#|L<%V+#4(}qtHsezcgHv36)iY98)!!w$eP{9DeLcQ2NC6S+UYx6 zLoh*c6=T+vfz?~ezWCEN8k5IeBUXX#cD5S7HpkoKfY$U>_M z%guLqOC_n6;$={(p6NDWWsx>H(X`Ok;*YwDdVVYd<|@jCZMX6_&{*d4kK@nwx4uZO zz$0$Ly6Gs~xKwK;ESQcF z#TXCG|Fm2M-?@SZ6D>2gbM#z`*9-8KRT!zNx&z~)<0KAkdQ0c}sO6Q}tJKt-F8lI@SL{0{5a z`$D=!qFcjgML-fe{T#vF5?IAnxDCv7JDko@*f*Rs9F?`1_HU%oT+I>BaldC7w{9U`Vq)_S4u| z_Y|QV6@H=+YH0FnaJr4>jp!OL=E3QDAeroSclMs)p|1L&VBRVB&eAP1OBkNT&L_MV>-@S$`DUf(n}E{o2OV}BYAX4 zFj3>39}TMUDTH`&gl&(QAAkiioqq6Z0U3-kz#& zEu6a+?ap^T_YXL8!O%Pu>H*_iPrq0rC%dnQy;du7D#}Uf%G~BDJ{TDR%opDTAMoj$ z3mH`kOQ&?IVg3!ypv$r*f;(e+r>#b-mAucoF=Fg5$JS>($jA6k4Fry%m9?b?GYfg3 zck|kmz{(~AP;wsoJR2SSFMtl&VXPJm3@F%CE47ZK-H7nC(n1-DYKm4$-sUXzK?8X` zc3<G;}!X)?(!hHiKeZG}B{Bavd*8<2YKxIA-@M?mF7&#(Z6j?N(11ARY44V^stK z^Z4!M7P0!1@ZRs_qvs|H&2v8M)So#r4JHNQ^X3VkL;9lJk{&!{b+Z#j)$Pr8bFx}& zhoU@Wd^GL=C!k2QS&NkTOH*bz&5TsB@L_s;JN==})w<*HY@Lf%pcW5wGFYb5f-kxw=fm(dL)C(jB`g%^Qr9P}XByQ69M&J)J>zw?C+_f{*&KzW;l> zK&R2T$`uA^SWOxYRUydTPCr$8?nm59NZg#6^e0-_)Rr}4-OF^Pdm3{sLm)MZDu%+t zJFsILG3sjQ$z`qYo^=sM&C>UFHMo3_$?lXNvhUuui$9TI4gTB!6`ZZq8fM=Jd zpxYv4hjF|Jnewt1gc%VB!jI~&{d|dU3>|boe_D20@*+wh!vOuS3I1PFY?xG;(d8cU zz*_I#OBM<^q%>5Eh-TCyIVg0r1uKH{r@?*_g4y1ev0j%nos?O??iUZQUpZ0uoLIT- zA$3Kx?Ri!BQsNc|Sx{d|HmS#RC;_PSm*)o!maS9Q_5xirTNnd2Wch^10uuB z6;e`@JCo!Wh?}VDje?vf6OxNT7cOhLJsWZH1r2*4} z(*<*9zcK7%fGB{#R{#n#5-Z%7w7Df-;-7s$(8r(Z8$a7=WO~jLNBry5S!DtlXj7Db z9k^}ac#6?@KJ7ZPMgT0pZ;3PrzPY(3|K}~0Udo5-P=VT(5WNv`+b3sFLb&2SgaO@p z!jDlU(9h{jmqueRr3R%~pH0r|Y&PF@d$ubRup5&-o%|Cit4A9&wsb$GaRLgpAv6JFY=kaIHvO0n?NoYC|B`b4c|JiSLV?v^K z6dQyhswdD-k6jyL5BMhhc(DbK@gB?K?xnyO=uMxyE%@FkOk0SzgM ztjFJ2a~Gk4gwwU`j*P;Zq1PhEYmIVaKx-fe{5w*|5BQUt5;rarNMq{r_~#Un7au@I zgP7Gr5}al+RL!5pWsDx!#8vO)Ha!iZP9&Dw`eSJK@i!lOshMH>B+;hWjaBHQyv{ofE%bR`l7HTF z|E;{izkglfbg<2MIG)6vGoniEBlaIUmW0<3J`nJ<7m4LqZExP_Ji9YGUTl=(1IFq@ zysi6@b6!fy)0(G=Y^s~jd5U-5$dR}cCRv`0uV%Qjn~ffF{|qLj!dEYJxqm*ni|~AY z)#N~pPe{95aPS{r=}LtGr7(ALuQA#o=W#2`YZ56Lx@h~t93k1OfNzTn-cKM`XK>x= zMLIFxwa}nvYFBKBxS~YON+eZn zB!wSFb?wx^e1r*oL^&=bNJ|mSEy*N9`Irp;CO@mp_-}W`x$&zqM2dZXxU-lpckc!< zt$sR~(|uy1gCHc)G0{M{2t^(S2d>1NP8y$?ko`?ydhwb<=A!49HJEEN}#EV?JF zy#_F77NpPq;;jWn$8o>lHaql5xu}&6Xq&2<(l*7E`zeE2tBmpjbsW4`Q=Pp|JNSdL zANz+4nt{152c8yE16if_@vE+0+QitKt#{CecrVzd1UU1tki4WOiQU2;scZy_7eLd zXa6LD{$Bz8?AqLmD==`fwS&RO5%(3Ss#XQ*W_%?Qa>8eq4A z!?R;OiooBu-di^2v?D9cojd$qz3w?Pd_;!&${Rrn#jY2}gj?s>`L%pA8I)QFlsp+7 zBMo--W%ZprcnRsrVn}`lvSjPE^5wdu{Z9;g0hLgV4H25a{demCo`nAxUNsW(ZgN@p zQ=JdqJl@Nq64C1ZyP5k(N3#;STbFtzIthcMv4FXw3{_l#3RIf=o}5kBdE=j8d-?{z zq9JuWW!B(-1#P5)S*z?#(g7uDVb2fp5f3wVmQtOEH4+juaga;*f+P-b&A7mhSM$2V0;v)oN{`C-v z4GJ=TT1HVWnm}=Q4y-hsyaKDbkK@t7GTmgj>3t!6VMY1v}9XJamOA zl=5?47`!F3{{Vsg&QdIfU1k3K)&9JTWufdWdIhCnk{jB}?ms2AFS8f}M9s61snR zH>J=Gt|okrMd*`>XdbBI>!SisA5~w+oSx$PU74)qKY_}T7o-xs=VquEq2%Mvom-1B zF9hmu%qMI6ItUa19~Mnf%1zhPh?HuKG1>N)0oa2zoT_nw;%kUc>m69m-bd(2MoLPS z*75V)CW~hyHHZ)Ot+}hA>pjQQqrx*Lu)DcfNn;0*>^tynUVOdCn&D4dMu=Hr_m@@c z|0rK`KjbJh{>ly9G_Zz%?=XTvqRDzOr3Zp+wD)0;;QWe#v zF|j6|4_ILZUfY>#F^|+j*wym|NpK{kVu=8V`8GRp{i?lro4>k^#7FViM_(gFEuuST zg*VO_0Si6Y^goI%Nm@T*pv`38U~E49rGt)^V%IZd8>u|-=jS{o&~`q>d8*^{9AbI> z+SPB@eLdV{=1IVo@n7wDFrX2D%*b_$Q{4@EB3}J$wO?<$2c{O-OmJ-Snn;9N@}RV@ zF5#;q>|Gf!Ov~}w$Ak5{_G!O3oxFH2)o7~gor5398kD@usv!09+2mma?|csmH}hKA zi;2`;%UpQ{ai9dJgV`wKHaAGxVdr>oRAjD#AyOuJ@sVztPvY4G&(vI`-0ecJU>w>> zGUJYljRS^#U#IQi3F+-oKs&qsBD zi-cnNKeSKylmCktg+_(QVwXBfArx#UDnj z$%ET8qQS_9G`%8v0S01o_QHcXFw&Qa7T3FWn1`EFIQj0Awj zKH@y5lSZ<84}XQDr0yQ+SHVG-5TRp%P&)1>xJftlf0>Mz!l;Mk(AN+5@rVG@du5`# zG+>i4hkm>E=t4=PLX_!Ge!J-rGgw9gqWjo84ap+vD$jZ~nx1W_6^y*fyk5uMso6vd z>8{|QiXGaaIx-w#EVzT0ehTvLE8ci*b%IH@8M((erq zKH}TzfUokU1tm^tCGI!7J8a2sC4{0l{opluU!YakHK^xae{iC*Nx9xqz`q%nNi zb+|Xa2v2Q(&Ts!yp^Ep^sR<4x+G##UHll1jR7B{Y$^Pa1PyLG2-~MVU&fZ>pBXfXF zcYvMLfBYfZ|B{jAxk}P>5v+0X)*hM2*^Y7CreVW(5t-ic$o+LtYUi-CR+)ouy_X96 zF4%#>q&98L@(Q}M#Wdf@2_kM9)<)|_h;sHFnLL6>UVo}z?78YiTuuAp#}#9{rv6cX z*iwgBiKr-xr>mJ3ho5Z3c z;=VJyHuNgBZS{N|7(o?cjQ5259fJ>3Gj6@t$71FrO0w-p;_2qBlY%-`Jmo(gm=(R$ z`wz^-zqXx)BBB0>93*&bGbE?u<@S35l1mfE?Z)rf07^{{4l!v>zu?~JFH$Pv&rd#3V*(O{|h@<2CE+}Fy+Q0oF1qx6< zont=zT!m8kqT>e1!5Vdm$eRdn9CM{#V*}^LRg~vM^WKZ?60wZ^PF9@mE$$WI=qjxw zRc2d%-Hesl;Z#IWs!Nf(%!b&_qWQJgeI+hLb$u>ex~(-*01j%S%|+(7xfa%=m?Teh zEiZtUJO||`Te_Jfy&A}}(?rmB1^Uo#TyT`6Kg!J+rIbxiRbn8kKA@3kQ=gpE>#u~^ z=91<#Aid=evepkdwKw`x>nxHj#hjwaX)-;gyQgXRBm@^9-^FrSswBN?8wfH1xeBBo^(k%5| z7#T=$q0h(o>>T*8rfMGs44hofn)Hi0JlHCMwL=5)0-c(%=q2z-we;02>S&tWiR!(! zX*ypHs(<~p=dO~{?beh02^^$Dkh^E}LO>6X=jZA|vjwTI=e3@dO-bPHFw~m6+z&8z z_dFFFnKzP&E?R5h?mRcSp^t3OT6-Fxn40TlMj3{f4q(xNd$6@*{0}ozSrN60s@`{( zW0PsWzot#@mrV)wd}=nEJ(Ep4nz4VHQ4G0-U)r2k(>(IDwU_=JBNu;jppI`#55B8a z{I#|AwZrqJLnDbJe6l_*s-UG}(+6&|m*SK6`hB@S~bgG>Ri`T|csChDm5 z`K%McWek7l{&Sf0OY26VJn{0I4HjrTCa@UDe0KxL*8In#gna{c+2&s!c~RLmkDwp4 z;c6!hE5Ox3v3sD{KR27a2}m(5)k+Q7f@#GRl zW^k>yLJp_+)d_wDaEAM5$7C00J+ns+n73@lp8b}MP%BMfTtXnP*1=Ma5dAj-#D2b- zE;sg;v?e_yqUg0YHj*RDX&LcGz3@*ht>=Sf@;tkkimw zgDj&qM2){#@yDn6j{FCYBcs)EN7ADEql&mn0o5FRP2Wqt`{K#^H-Y^|glifO41(03 z2ItQwZUZoZ(9iag?h2fpSfHx#z?t4&^Xt5g^_bvQJQZmb6lz$T%dg&X*ki^A_Y;)x zi!sjy7au=@l7W|V-4z4_bF_nd4m76&`!1e3la>aie?`2OX~b)H@HFN&^x}~v2GYnn z4oKOJr1EA?^$N=0p3U?b5~ZFd-0l&&(kD_(gW{?4s1IUiH-hw86RasYeE(6tNPzF) z&aNH>8{OEbqxZ8dV)tj{2fZne5uA$DO-n>%8SYoJV!OfIB*l8_psCf(UJ~Dk5dpn# zaV9%2Toz!1)xMM>Pf3cEe^(opkZ=iX8J(BUS1?I}Xu8yi^i=ct+*f+5IQ-9|BJh1z z(Yb?=sF3HYDw^NOS|6_v<=Dy`CP$o(x``7p_%Jk39Z#8R4Z)Hr<>A%@0@ zjNz8VD*#$xd5oyYSQds{?eCY4C^W%jGqxe9%P7Vk-Ya*1J)v>U9oHd;sEr@0ki%Yh zKNCiq3tGpt>){U#hUUnlMc-dH7yyN@JiT34d)ZxtPhNW8CP(mE!L*p;WCu&wzWlEE zjQR}`G#(v-JT@+c*#f%M00Bq+@x3?fMoIXke^Ec|1pMD9hyu%OK}5AJn-~Jvr1_gh zQ%8~;U;1+X3*xWfUK@GaFz*bw3MB#?{iBG(d$0$HD_Ca3jW(yHryw%otH z!PK=FRbU$&>hvl+BJSOs4tx@o9%#1H16Rdc*{mAD?g_|#Jn}tX2$4l@3NI|AHGu7f zvU<-=f9I}!@1`h!{;+z+mV+R8-u{(?%8MSe+kHR(PJTfd@{KSME+yfesKSj$!_iKn z-t`52#VNaPGIJd{5?-2qB#30gSWd-MfLuHDbZsUk=oxovo&sS6_#YRbqWimTsg2}k zL8lh$w@58R3?sM)pi%Y!MRuuNJUE+HH_#Pi>x9;19l#hhmOC#c#H z0?d?Y!w1{ToBD%#6u980KQ}oHy-hDs^O|E{1C&ur8%@t{B(ARSD*gh*_UzhS;d97v zX-&->#DyZW;lL2S=vDsn3qmVDZ|8{f#VJSXB|nnvW6U1N=-ivu^#D2TIO2PncoVD; z5N-Gxh(+YB^2q=^+a-*UtcZL6LnzbgeuN${^4Ga>!xdc~d9?_1I4`Vv1iV4xrwQ~C zTm`%IXG??qPNV%pyt?NwJFZ&MYoMMvwg6RqscFD0#GWCmH_8+&OysU}M1XeHWMkp= z_2E6GsN}*^>?!KlkuA+E@AWW*+ z94KQJTm5w;GiOk$8Bfr-^W8njWgLl`!)Ai*pWD?;>4|5ag1zRt2#UBXXWx2BU~aHF zP#+{P1BhOzL!?r2%O`E~a%G-n${LV2$)eyKkYvgzeadK%H(Ju7Sdw=DJ`AzYjtgUr zZiHvA{ZW!p+3&RIjeb}r>73^%Ej8@C0kM{vo|*Rs<6uR1HdkzQ-k@m}c@oa}s;N~Y zF2}PmfI&a%_I|uezegA{98ZjOtshT_nuIZthN=}=mjKFPRx|ecxKP$DS^lXG$PJz|Hz(VoQ=V_^4t+UVqX5hCTd00voDV|0iSS=IZTwPzS$XRc=Yws z$82dKF5iUf84IC>-RnvNl4{1lz(^GBF7EmEPG(mj3+tw7>|vS1{VNjOkUGqy$Ta zX~GYegn3iE=2Gy4aOnh~@Vp8GL4ts+GPtl9`-iVY|7A^2hbr$t?3>_h(WgXmBUFbK z-H3}N>!_MRAL97SMB5+1lx%2M!||U~MXoeRH>m`vd!LEl1t1CLktpwdP!B?y$4}pe z%x8X^>GH^Te?YN?JxuLi*HW%|^zGRk`LkRu8Ow4K7=4dp|VQMRPiYr%7^VP%k zK~R^!Z|=u=j(y$qh_%kP+UT!u0fcsi(xqi~Z{Io6H#xA$IvVjdrD>av{-s)ID8jzR z8RyE3tx12UDk}9aC@oyg($LkJfuv>xvVcZcI1awCMvF`bpghycV>7=+7#rb3l*wgy z7E^Qt%-ofzwC!i;3I~X#)`#-^FB3B@V&eheUqj;pW=ka7zqJ$zLBW9EkT;TWL2v(s zrQ-y+&X&NUPdr{DHRt==PfDE>d!I%Hy`!~hwGxZw^D6p>#z3`q>>3bt`EY6zzgCPK zf0d@^EX%iAqEp$`;oWBFl*?%{MRPGNJ*4x0yExJW0{EG$Dn@tA?BN8mkK4H@5vEgt z=2xtTBLQyih_1!t&YaWbWRsp#i&HTww{}TK+QR9@#_7+?O?sxjc8ti`utCiYFloU2 zeEm-KNa{Oq;H8{#WT+nSa;FCStzyokALzzvh(5`QcR!sou-{yY7T@w{;3TmQD6$&x zA~VN<5#Z1CP6S6D`w*>D!rVR@h+&N5GFJ0b$OdF3P0UV)44v@N%dgItH(l~(4uay8 zjRvL%vz^SCE?r1>)bPl~jCb>kUa{w5!`(sB@Q)4T9`)Z%=MMB+*KhcMR~`1TPQ(p6j!g1}zt3j{ z&Bvij!H-Wc^>WQ?2%Ew!xD#L z+Lo`TwNUxwM~?;Tm9AS8jNah{oit{N5m4xL`6xp=BZ?RD@ItY;S5dAfcG+H2^Us*7 z_%M=-=$s=N8Pw@ET@}c4*Z+)KP;`V9>awNj?|SvBA2a3MU`{G6z;!6$$LU|eC4z6$ z6{*~7rliQ?-}kcLHViuo$JG;EG?5QDp})B7`IzhE6hQk|&h=!lwTKGXI9_HRQ~a8^ zxTvETIlI`-r_FLh^u`HrsGN0=P%3GA*z%lGim181$q(NFSE0MyyrJ<_hlh^o?qrGZ zO!O@(&eX>*Nx_gsTOzphGbm;5^W8?lnf`a%hj!y?3l6sP+39_44y%wmwVMM+8e=Z|8;V#!! zHfFF5W3J3Esb;C#M-2yO*a%f7(;xUQC2y4|2!cENgYYEofoB1C?DqEL`ZMI^iVE}n z_1uM*WPf;@{?!&}W#TvCO6z}GE1?18&?nwV81Zu3+s5k-nrOlGbQWuC8zjzMa{U9P z(Vv4l+j0|j7#4iXwmLt*k|Pf@YutBTEkf@#FCHS9P6`U71#sspAI`Cl<0jw%;z#3a zW4evhs=XSQf2m@+T`#WvNcYtg8tX$X>!=RkEXHsi+tg-B~%$DWAWqThRJjXuDEx@s9(Z{o?}E9j@q|0I*@(^ejK zon4R^8scgS-$W87FPjX$%`JV{ex4uep%+j*~K2*(TU`P}!?o5Cb$d@vt@FKmG;1j;G4uSGU*9Fe&sd zom9_yuw~`c#eA(IXLI@NML}Uh(#}g-es1B4s3t)$-DcpxDJ0|ZEe=sue*2z*D{Oyj zNXd|g=pHUzxvUjZ{GypyldvR&I|tI8!zZzN$vf37B$zjA@vXgQ^JaU-UBPT0kO<_m z4;pmMLoQnI-;HxK755kirq3c_$?`#jkA+9t3MEhGnW&3CMxVY&2ZsqehxOgTk{j=C zn%QeIu1_At-#!6AI6E$>@UR*#l;h7~)4O}Oj~|YoH>5jVH@%s*Dxs9Weln3jKUTv@ z)5_>LnYM-+K|3V;UOU&EupPnfx}l&-)y!{MT(}Y3auSu5$y?R{`o5-3NQIL7OqVCV z``=l6E+>7we>-xs=Z<}-&8dI$%6o^qL<@0D&APY+vb|U-ar3z5!=F1Z=psT%MWYQT z8X&z~7w+RNcRvz`CcbGwn&)2k&)2tnQvdJ7-ELcO^30t$dFLfPQz7pPx55>)U!g8t zzV45A&F3~$bAJU54EXTZC=zGU?vp*G*S`ak^j6yPcwYav%uIpnID@Hj5FdlL=DFfS z!5#Y_4Gf3I8n%8wsY8_ZvLgF}SN^(mHZ@(5zAd{`vGdj_1To^}-*nSF|IR$~3&{yE zLcYN&@{q8eYeLaAnbcjc+*|D%P9euo=KDp?0*xS91D-s4X443ODH6 z_1QHl8*Dk6htz|3lwt=Xh_qc7eQ>~pQ4)|yRzqSlOk_MRwv8v@Li+Q^g*v78o$bw8 zA=(~=MTgrl^R1FysO%VcYQc8!srfks)fqZIgZJ@`ycyv_0qyYc-*AnA$kP5Xd(ToG zAs2l-5B4!jmf#Qm5s~e?%qav;-=slPAf8oWcYI;`m(?nXeuS^fzj`F5YOo2%;l&v+xZZYv+1v5E&Vr0o~W%e zXN47hADSDQgXHg20k3Mwz%`?KZXdNzP6~05%XxdOLT|&u85t3@BT?iiIMV`h0>UWmS|ufh@G5$>;;vv*S-3i4>}lG z90Ox!mAIuZg1(Qt=vKymX3e_rc}URw`P|X*X2lPVDs*rsyI_|i0F4GLnn4C;p0Y+(@s7126*NuPk1LpgS(WT{a;gT7B4Hlz_>9KA9Q2*8>v5oL+ z?n8(wQO{w5kXU6TX$IT7*HkLks^0h4A~+wLf#nE%WkWg6#b?=?^s5$FTjyFGPR%b1zYf;vf+Wjb5k zjV|7VG!SSC{iAS(hS?b31qv(KHiuj8Te z^+EE|Kw{&96>rFr)X)O`MKW0RD2!Z35BP`-2@bOmsQF(YB2uv`o1}{n=`Q12w{%${J zBH%&oXHYU?I;BR`w?@F=m>*ZcfdkkJ;dGS(wQr@T`QDKVS*mio)w8>%?8RDt^{UQ$ z0-}0b8*<+xpLjX>CLZUB@4CK@Oq0__%k^UPG+CpUD#lYrd{BOn9fm4W;1AxA_g7kU zht@?{8C*$q;$f|Qi25$i^!{4zjDRHq)( zKS9EFKG7R0L(z-Jt-18i>sY1b zXyH4dv#VF663iy9?nh%pgkW0C12<63&tBY!^&AacK)}rF$L`fVy-*a|h`=9ko-wpH z_jzE+fNs>+F&wqY!OA#~hhY%(jz`RW7@dKHEk6`pHg& ze4{4$J8vkLIl^L$~c4JGz1>Yw-g|$Oi8wh0uVj zKEq*KuVS{ZKsb(Zv;eGIwHAy{?Te$5S|uAkj#-|TP&)5T`A2h#U8|!jn$^VsoxZXt z7@2Rod+lgEDMo=ys`IU-q2^^B@!aC%)d`HIh=`z0AssbnD%jVVkzQr&d&!5BHV!mgh zjIh~rI}T93F=_>p3B+NkLdC`>0*gBiy>VG;f&x+q|E@fTZvf4t?(HF#T?>4gMhsWU^F6&gT+yX;`7tl3_GOv1Anc@`xGtS%rudc9!Rr3JZ@^8iqy^Eq_Yv zTD@@K4lPDveKj!R>zm-|w*eAmI5V$=t@UwQ{;eeL8<>*3g4!AS1_Ry#18kT8g>jen zvgx-YIW^0xLmHpV3jLlnP3tFBZitZf(lNN*zZntN_dZ@NY}gY2aO~~;gz+iUvg8hG zu6=OxI$Z2m7A0yJU2^M7mG6L2Kxm_GG1)@0PtISqdtL0akAb}?m>KoevK0 z%6!`C&i(fY(rA$Dh5F1#LjPvuFoIGl!2m!J@!Hx}Xv~a_Ja<4HXWsj{x+0Q0`%RzJ z)zRXaK3WAYIyqqFebf60;LPr}N2_a3X|LB|Ek$B-7K;Fafm7cJ_in$Q#&t5}lFs{0 z3hXuGeQ&{`1UO|Ww5CZaf*8vmu+u~SO^5|5j{}LxMpdSDShlYCWfGBxjf@9~{fqcPW+6|W!&*l3y z#7mQBqQ*wt{YG+q9rFDTJsQF9suKGEqIT4PrKe76&bm5Y*z9o`DX$x?`@>OX$`hd> zPTkrB5t=yHBY(%uKw6DKkvU&J0Vt6(we@A+gN#&FOen?$XNLCIuRoXvu}|Z=`dcf> zb60j*SzgMg+r6x^W*>+>iL$^u>u1M+)fy9J8aac5fy)xmF1U38o{ zN3xuBiJ3QJ1)^;h{xDv3&Qi=S)U^V0{OZWpr0_)=$;nt_v3H_$AQ2$j54Zj$V<}s8JAhMFz=FLiS)OAxMe@o|y$+Xk$iF zUJfCoRznn14=0ay^eamEZD?=qyEl6Z6jQCjz1uikvF7VrZ@$v#eSPk9549x@M+R(~ zkWeB(`I>@cl-rPsPuacWurO)3PK zf@@|WD3un&C5$<!8c~*fU%u zqx1JYo4dfuzl*u%Zi|O88+|*22cvv~$`QXMFKfB=7k0n&>?$Eg?w*9e6!L)Xmz@_? zq`Z|7dmIvYQuI^9yjLPy(_Zp>vjiR!Wv1sKfA^2jwtwj#^vo}v@ushy+L7bmIK>9n z=1ouh_&~T=cL1M}3e$>6CV4qiB#kA-SvXwztFKycvsrFAPtZ0mA4c0K;Cd~&Suof8 zvFpX@;dogrceHf&xv}y^LHxhqw6ouldGOFbCLK~EE;Nq%S{FrJr{4P{9p^Xm`$?G? zP$`kk=mCOUPF)DAuHsN|%>alb0~Oo5GIuJ`!k1fATy*$7zZB2A(;&#(eK2n${%)Qr zsWB8^ylrWrc)ePPLT(jV=lxDc>_++x>9{IB;9sb4{Fk>2TMm~kY)!_P05<=Uy;vhi=IypR%p&|gz73BLUA1I$@&naz^Px2R@@!$cHS7-+1Ooi z*EhFtSsaGl&G(nYjGF+1cMJlT+Flz5jHBq+2Z%c85?zYDtYQZ}Ef89whHA4S6N>bH zW>j$^Tc(sePH$MtPi*aPdXBJ^DQ=Na+8IjwS*d0a1rKj5^I>XGzEj4~umBy~uLW{7 z#eadH&_l7m#r&6=7_pX>dVyrz1=z7)jSZH%6*Ij9H> zLnOY>r;PQnTfAcf{gf}AT~aecqdg0#dyE&gCC&EVvQGa>Ji?$R=vJBb_Az%ndv?-< z^NFf?{Sovep+v=gfpU!V!HGOKIz{^5Kg;cy_-sppH=&GS7=LF)q^*4JnS!1^US3wd zAxkzcvA)x4oN9Wvbk{GMxbLGj2S-kDq(|5wXBd=MJjO|cTUguWu-VbjFV$WkA3_%ixJEgDQhOV+( z|HaGn;kZ!zBl7QrBdAkf6qm?VC^`6ASSa+qCP!_%`AlE?unRbs4SqcPX&EN1ZKm`4 zhDITxeO=}dngv`d$ANvTmTgJ)Bk?d`C;xujV!JimVlhxurJlu1@D1oXEe8ftzi6@g zM8?r^>?A~aT4>X9guU^H{7b7iDZd--+7C~?-*{5=$2VEhEhl0j$mPS#_+j!_VBrI! zq%gV41{r3MDv+9oox%H8;ps5P{J$iUo=G1vc5!1% zwSxWg=wnU0e?sn#Seu*{3|aJB0&c``kU^6%jh}X#67x(6neY)}Fd$R}lF-%5`^U zry+x%zl|GlZ3VkS;i}-{8ZFLG>qGSYv=&lHeYN4Lh#NTlo237mudFpn8{r|-w*Qpu zx;&m7b|}eTGboPPSuod#Bjh{dXzMC;dpJ#f3&?`W8*Jl7VA&upNmo4gNXCBUI6UQl z{y(26+w~1My$?8?Z1OYqyP{OVd^{Ba6mWr;P;u52uL$0lloN%GduArsP1Tn}+kGDf zfKeVQZ{cSZiy)f=%u>E@!F*)u1h?20U5PNac7Nuf$$_VrXEKx2Ms#nL{U|Nac;y6L z2D@LHz=`7}S^*hk+5-C2u}0C4nWu!gcbA-*}F+-#%)00O6 z-0MTU&qiA{|H!NU%OBeemn2SVboNpGS?y)EX72Ufzs8Q4BIuj2*tvXXX^;ls=L`u< zKv!yf7D0vhr7~e<`PhB%ptMzxekY^kgSYZBx2_I1&E%1`DMg#-ecBLyi}SwH&Y4Ra zm;a$$%T?cdGCM+pz(UUX23%T*)K}OgtkXUXefd~z-%4#umZENy<~ME$)~S?+fQ{?} zvwdmm!-I(5<-HH-+{~~^(+j0%qQa~0%z)${2$8#koSIi3OBc=i=4m9O#;_|Q9a9~9 z8JY_;63VyAxDZu{jZ^g9SMfGRM?Lo{{(m0|J8 zI}@ZB2Y=~gT^N`%Of-KQ&?VWo6MU`+x=vC>`E8l+ELZwHVOWzJSuCleBwcEWwYH^jf6(I)xF`nQcq<={)iDj?-G zMzT)DCOaJKw2iP-D{+bzx3%95Yjf}Vf$KSP+Us!I?#+iJTPiFd^+?nHB!A1nP094E zWrS`8$#BrkD|v%k%g4!yrp?v++q@cDy~6fW{ZWbHMPv$%$WWAXmmzoMK&FWPd@S(f zT}YDyi-HvCPbvItDM*(o%-O&%%K)c97pFiT<-wT_qfi)fAGBxu@hd;YCsXdDozIbl z?0q@^zZW3?0XSj3Ac#N<4bIBH!xNU|=WE)y7jE7NwHSTl9ikUUp3@1mr@b1aN8~4CFKIFM z4vnk_Cm)Fe2QD1X%uWsAlh1_@CcXHTy5hQ(rF~DHx;<2ow zsFtHF3Av_(Em=9iZ7+7W8eg6Q;4C8{^&plla3Og3w*>kr)_Yy! zkW0?&{vW_=pDZqv1{B7@lMqzAT$=mtslm4iB?~We`_AyeQm=uI&7zvyHw^u+xYk%^ zR8+Gk8|TzII!wuw%QN$A)Wmu40jU>yF}cgQdw(SfE`)))s*2%V+y15>PLo+P5>Xb3 z@KysY254x-@~nFK{j*@>$I(b%p7!tjPgLV z$u-Qblf?rsQfKrg{z*lt#!L9ghu}h=T2VOJ^)c(^CRIUEg2N~>B)AGm&)<+QggNU= zZ`FS-L9c_08aaI>6NadZxuIaT{exUX#iUsGshzs+H@44QCS|K5-5NEA!bN*;4pvce zIxe~R43rPpzX3F*=JPlRz*1Ln+6cF^cJgT2Z~y&nw3BwvTUhnfJsN^B}S8d+F?p1{@yc7 zf@IfkSf=iNDa5=UE+kp_Fyt%nQ9G41nGJwGU2t`A68$4-|Eql%9YEcPRLJu>VDRZMy06= z94=k9SPM+wRj8CHkXu*;BSR1fYDZQyAR+e8_IaM?nUmLUZRS+Fo}lYtlwA-rVhicB z!10pT0%O)84oh4+lArx}8F2DPcjOQO;;@zEKhp)iU0f0U=tbsd$h4DEewj;~#wM(A z+%>gDfs1rt<>gC@_jck9QP$5fLh!Ja@v#HWefQ7N3EfRwOnsKlu3Io!g{_p<=4Qec z5298E_Gx(e$J5`>doztfh@=lgHJaJJ_YLM*1gZwNTDzL2yI)mYcMlY>*pZKaHXxr2 z!MFWXZW@85qvmPQVH4G|)=9?HHULQqPch#8{S=BjT zXZwOq(_LAfo&#Z|@#fwhp(Dh7@wYvll_AJxmC-OqNsk=Vai>2#h! zaXu~0oC-aA=BTnF0WIt61g}>1Llky2CWW^VJy;{ZW3yT`xgjn%fqxFH?Si0pb}VDo z^zIkLj%N@q1#>81wf#%)kN?NhSB6FPec{dwLw74(5`uK+&>hnCqgz3`V~_^v?gkNQ z5JWnqK^p1q?!3qUbMO7&@e}9lS!bQS_j+S(*-t%r;MN|Wi3p-E!0#on`unF7;9M?5 z>4jWsX}7xLYA-}McdV1N=8L<;oJ1IU?++-u~xDUQ|sX%Oi~Y`=oCTdzMg!?zy)P?;R=#E$ZogigO- z7KQ_-8?3HaZ=K)izqUed(JbMP7!5omDAzFmyG<{Ab8prp47OQ+`%L?$=S;gYtkgkB z0vu4(^JzzzgX5~bKgvit{nnO+=M5x6H8xHne1jsA*C%#1tfmmjv~$P<_2i`~ zUh_D5v8c{>3(3&8w{`q0-AEb=@?zsKKkkejx2Ml@>+Wo6SU8f}F=wo;6|h-_>Z}t_ zB8Ls$CwziYB_tZN(sUeUfsIjAM;;Ii6i9UGJFdkXlh&En=kT#;$2GBZdXa)3k5%># z8~K>jhhOHc$%2GFJ*D1uylI;voJH_@(kSZh8!2wu?~{H1-%^LVWug_V-n||~g1Jwc zakfdzw_2~!$3;n%PknG(ULuJHx^6yx%oULnS2t$<`Q9vt{2gnYEfo$LhdpSlf&64A zT-1WT4r?e?%cK)IpmXa&vam!gM}%5D`Lm7MTh~Hy{$0u6(-^ALNVf(gbXUQD#FO+o z>cy3Ey{YN5eG1f^2ESC`HE-MxBEI4Rw%L^Hc}&!^h`nP3@4&p1rVvg z4x2cQYo17YP(@~w_s(7#;B9_byM{g!t;>+MPJcI#__V-V8|^}qN5DEhBOiwX%l?b5 z!;X?F)=>|Ug1&l9#fu}*d!j7VVI!8t zJe#B+Zyh2HMrvQ16jGLhL%fJw-_>{7&D2?2MMAHs)nd}~-r-WoivJoLlYpgk7HN_G`>65siHPUVm0P$WKwZtUn9;jN+w_kGg21@_TnXBf1we2*Ud!TE4~yc*h#6553V zl{l2jO0}2p&q4gpnPqpH3!gT0^Q68(HXM$(Nh^Zfdve096(`?8io!VwAEFEvBeM#? z4wZC7e$x(K-t}+Qj;eam`5Y^19EyRDbJ~P^{d4U`5a(JD_xvYLQDXZFX0kqW_U+9@ zbnb@iK}@|&!1Lv|a3}39^!Ory)593Hu@{WGV?W%bUv9Yha1Ik?0nm4CE>YhLYS)7d z25w6ZlhPhVLRk<>(Kmet|NBCMEiLyc-lo+vXx^;t9C8M)zhKVMG%|ZFGiPQ1KSlsm zkAIrqq8;o;f)wdytQ$=GtJ7wj(HZQbKItCBK#B5}ODP_~)egJ<_CBEPt zs4rH)piM}t6*oj?Ga_u&J*wb%3`Qh*dHFtvwl#>7@Qo)fD=C7rLW|~mXvgvCTDzEi zZ)nAp&Bv5KI|=$JynM$+gaPWyu>;Gv!b2C;<*wiOTgW&S<}`8Ikd9Wly)A>9 z5|WoEFH({W#%r?iKk}67Ja2!Jcz|f!*c8zU-WTe`Dm`ul2ks_(Na6j@xkSUN1ICQu z6SeQ-*16O4vNju+ZEsE=H=0&uTnPX^lq#UUFC^hQ#%XU*V4N^*x!f#}@52*~Qm#O1 zwu#rYP>9m|iAk#OEk=~y*Nh!4KO6I9Zy-drNouXQ(qc|KIfe@;pcR{eM1W)FGus7Em&XADVbGqyd zVfWqysS&`(K|LTN7itA)e`sE9r3yND z)#!F}`en5AgPQ&Xq?OgrP6sevn>vP(&*3vrOsC$FxF#9SX30%Y@vP5jR9fm|3N+9U z>Q@e=M^k|YI<+EN(I9b6n!BWvfYQ=sl%EKD(G5}PqgpFyLXZN&!~j|xYOn8#X%sbz zF0sPC^yX1qNF0?hbvH5wA;;{8CdTd|*D>Ldq>joW1P_$Krc_G98r+G9$p$WD)+s3N_h8LAHX{G96nS@ySs<7BlKXIFPz9Rfjuua zrgdwYN$3-u`CfhiQrVO`mDgWzgDwbvHpw5!u&w`h(;j>y_KfA-s`k?VAQS&7a@wv7 z+jz{|+G83Joc%l8(XzR}#K?Iw~IXsp1l7k5>Y-G z0sDgrx+!_Fw|y;Y+=Qxsv^+Rjf*;x*`z{+Th;i4fGsGH8)+k2reLQ$^GMBf~g|!8< zeAeEwSXpmcYQjtgXuy3jwoYk`s3nYF;X>1)0d7CPw@&kll|#%5Pl^C?m3K8lwq*Uw zWFPZ+T+;80BkUXcWRN4N+kdU3Y^|*rBkpXjf@m6w82Za6IUg_TInDu|Nj4s-I<0+~jO`NPVvDt*O3sygH`;%c)c7VD zbc)wP>HCu+ppqqQA}%dbf6$AK5L}Sx&_OBn7X(?zw0*BmB!2I4|CIr6Y^>!!`9tc} zt~wbLlNGWVwh)YxUrq+wEqA$Qqg*Evg~9{!5n^enfA;(tnMR8{*+nk$qUO5%Z-NYvbT8Wp zGA$Qpc1^;8O^H*d#K2qa*f{InyY3VhQ(^nevQ;s~xYat5XI&h?6tnX2PaTJzWe5Mw z#~jMMfLudE*O~BodY1Ju`64P6GblZ=KhO7nxSQ$ z{PIXf%4v_}?i_pLs#F4sG->kv^Xl>-Is5u6NTu>es`h&5o~l`QA6^=Ux9N-ODJBg= z$w8$ca_WD+&9`xH!i(`f?VKoEYKb_cJ@Y^7w<1~<22La5z7vJYp#$=C_N@ZcCIH$z zbE7#{Ace?NgC3=s%RhFuG^WtP5czD3W6n7Cyw!Ia>pj)QjCSeri)@lI%e?ebPH#(!bC zP+(xv%~gz+66DOO{A#L{%7F`NfWO9Gndyvke!*gEK$Gy9w#Sz`$Mc$8`0Vm805x0T zq8IeWf`kSYY`L zc#J}*W$AgSG7)kJg`=1N$^*mB9>exz5Y7N_%G-FFHGMB^E^M{ z^>b;7{8k0oOd?hn7sXpX(Gm)mZJ68E-z65VM7j~8+CTq_eT@>T7Wbh$PxL>tbd`e! z*MLS}QXobq_b4D*NxR1eEA$dWFG|3aVJ>i%!MhGAz+djE18;9ytOB5JVZcgG7sfd1 zmQpOY^|6nq-SMyAqqV5Wu-6t!VJvTpt^;Jr!%MAI2^Y9tvny*6*W!aj&rbZ8VyXh> zy3qD}ngu4V%6T;l=GT%%8s1$kl^bArU;PdhqbdeR|GS&fL z^CivICkfAEf3AVa0{}R4(iu({A$+<=5d-OgRa~qupM}Lv%!RKOeb`AbSu$j}y>O`P z73!7(&0_^|*n~wS)5bOfdG=a=D}b6JAIAs@Z*LDUIkH!oN{mYxMQY&Lz+vnNJB(CEYQ zvphj%r}8gr_g*PQXM*0IYliy?KCvqXl-}4MJB7t~42!g2APhtvW9YyZim~5|0!tNE zNRtWU|C1S6q6tlq0JS|>3Ozpz{rHLsdf2Vq_woO}tQka9O019eponM3oiauV%cc0a zJ1rt)CkC<-MG1~iH|_W*g;_sNXSzYi(-^Ms5RDpZe!C_4jv>>85q&M7s|0 z_AX&G7fw4{_qTqpQf%py96exrY*ESoe0lKxze!N7UKBkWq-c;%^~_ZA-fWbXufU*@ zwJTrVC|qNilrOvW?s(R7w}!9anYGxrfZP{WdpA47v%Y=6u%5v@YN|yfZEJ6d&cg&< zt%%hzpT5udYRql*GHa`*XWn0Opj7}X&XKOR)pr%@z4eNouWoe9-1wlY;76Lvz65q18;Kfox?jyfC|HmdS- z-ydKz2r-cSG=s$gsc(i1_Uc#WEUc;P0hSdrs#Z-M_3BBT@krQJ9i`)M?)OgPgKy^a zAi`<)k8jHqBeH(Cn2g)8`^bH^rZuS9mc#nw2>ouh-ku8Qyfp+br z!Rg@r4EC$$3#TK(o$4K8dU(uFj5I6NVhMYDgwbr_DBDqtq!+Oq%{+4a&q*U0yuJ#h zA~rDG9N$fu6k>Q{Rg$s<1_3_gfd|mX^SmNr0P|lp`M=^TksU+hXvSdpm6U~v6xGkOOWH*gpbVK&)asro*EeNF%KdI!f zqn@M?5vz!8$u0Wyx0`Y+JQH;Vrw9+@?+F0u7$Ekk`^A5WVp2AdFzFPj#$A!;PzAd_ zW3%;Z%c-K%&Bx2*cmxFu0?aj=Xh`*I_V_SxXt#W{F4da4jC5B}OPckVS5&r14|?+N z+Sp?wrbDja8)9L2;8PTI8)(>&R_=MX@<8EFc(EN2*|NxzvaDCXNljIZh*j{_8f@fy zukCs=BaH*!?96r?JI8~|;U&Kb&{{97n(43Sz*D4q*RhY8{MBBGRiiZPBv1`U@}4M< zeT+zwhH6j?2PU3_nVKa8(PP1lOETh5j}Dtu%Dux7eLO_AVCN}OdttzL+0X1zxT6^r zdf*?<@VBiE!+#nI2dz9dI#hM=Xi!QI#Mo^=65G$HzAmj@aqF!IVG;k^h+$AJsHTAl zS|Ap0K#u}^4j(!mZ=NG<&66a+4Ri08;r3gYRJ1V8Yb_(3-&TL>G&|_)ME6HDogGp0 zJjRp^y(V;jNYnXT?6~_oe@}Pbdb)Ml6Ey8tT0@s6m3MGQTFwbzYbHXo?jVq$yirSt zG*%aCKOJQ7ygj@7Jupg8`qG3OeI!Ez()_sB`Kz+)r!_h0-;wqGq<`!A>NS$%N@9C8 za)etDUDcB12j)2$MR(nwq#7^CpBYQcVA5Wv{c0HDIlVjRW>eJ?SpoOsN&KMm#Nmtv z1E-BI4DXHf&|6i4IR;u;ucvdxa5{>KRXXYq=p)H?%Alg7HBDnmT3RBkZRHIZcc6cKToPG+Yd0wBT32flu){)Uz=jJ07B{Py8MPy z7B-O-0aHf-I(hMleYA`L4xe(hbr%pelx{cs50T7)vYsUQyU{Nx6>pC*@sk{Z;WpAJ zF7l-h+%`@FUbGW+A7m7=4EVu7+-J{*(JAxT#fV*L2;aG(j7RkCxo)gzJV%tx=8T=r zMyQvT;lsYr;tJ3cUcSb+&dcu{r2#`tV{m(*Y^5hnfCxHvML6t{Rr3|2yS?LQ4V*^V zK-eFYj+6u$fcN+_S9d5~TRBfo@qJ#im+bPZ3alVsXi=y^F$EFfVXNQmGp(DiQOxVv zmjkNp@NIv=)@9Mqu3XvI^sIP4k5z&7SRxgnCI`ee9R(AbKlFfd)aEY;CAJ^t$)g#Yy5%>xpbb6uM~8 z_@0e{ExwV@3ma6Dn(3RM3=hZyt-cYcAD6=ytcaNdNtrksW>YiM=$8~X>@@8z8GplW zD)q(>xNC%-q?PcbXzp)D`+9f2C`G!g=RgN9(%LUN1Dr07Q~@J~N5I}sGQvk?a} z*AASP`^91Hv2)!=xj$SNqhfYcub{=Bo{#(Aq`4nxsAG9I=;Oe-BXbHW&Yd|==O5~T zy%k}wKy>Zg-*KRbG(?A$Ud6U8z*ka|sJp*eo4VBSu45#%C4Q`qcIO*p&NTJ7f0Y|Y zR^y?=5~61%7OfD{@)5sz+nT1^&SGCbLsfY6uSHB=b)u7K!Nob(Dpml9NPLuzl_4uI&vr#y3i zj00`#g9vE{UhPqvjQ8R=1Zl%g=>AU$LiCrRaf3G{R3*c)DB z-{)b%S-C61-gGg6iT*`<1eTrBWJMSU& zJWE!MPiG>toMed4rgaIZKByAKPBnClbj;HFtmd96`3D6Q-7OCyMAmO?HO ze%khw_Tv%@60s%F9F~I3PKYs(JWD>s-Mj!WS^w&D*$}k9hBmC^f{i+i{?lf<*=zx$ zdY+Vd`9C6>&*tCTxSU1qk@)QP(9m6orvph`KOoF%HQ;dhyFn1X~KXuVXY zYrMBJQU?bGm44p)CmnwcHL6mU+nBAvQM>-Q_ps;K#9_Ay+D4HJBjL=CC?SI;D1g$4 zs3d?Uf-cCS5AOIHLmp6f6@6&C*q31p1feGnwrcsYgy74b2Ysx6%nG*1wIC-aOIJx* z)=j9b`R|Eglktsbp~{Z4eu`lf5?cf*MNG&gId!S7^Zmp1uijy)8QivaW#SA^g^rjo zr}xz57;|;9fu{&^?Yi#i;s8<^-8Wr`E@~J;_@UgCV{hFVMTyCspdJT0Dr||M>9zMf6kBJc0;*2&+qg=HybVl@0Sv<%4fvokZiu04KZ*s3123HsST{73up^nb~J-hC7hE#m>%~AKb#RN ze>(9VzEd&1QAHZ(ypq?i4Gp!*@|kh++|4OZn^&q(dE(P5>ECl*D*6J#abB!z{r(N{ zlYa{dW;CmIdhEvo1)IgaPd#zIS$_LCMCxfVGB$BR8?o&y-O00JT@s@NkoSVCyEx_v z3o9E}X6phBCfn~)UBd-D>gAm;1{bdWIz7FME&TQk%Ui_qHDLos(pyF6`?|l`fM3@} z_-c+jO*x@VhHgwfv`1Y5w2%N#sI`)TWE@fK>h*S9B1nXUg<|b~=29U+DVH9@Lo1%! zi4E*P?P!@5?ZqE!=~m%a=wNulQ@_XP`VJZ_PE<9I_}mkwBI?yp5#@9h9s9Y3wZ zyHjOtRhHPu{;+31pY;e?2UxDrQb?{+ZAVPuN)kTkN2j!cr1mub*)>D?`~P+<)~GkV za`&TS0QDh#4ZCjB3RC~Jc}vE)r;Zgzy~Q$%@^G8o%TZTp{O>LKU$4Cr=PDd-3^_dBz0Te(J{RJ zAR>_l8quJTzL{yhwP&HKo+1}joVD6Aq7KnMMP~5oH;0TB?Dk}nfo}>^GXi?Al8xAk zPm?oIPWk;C`^U&0y|0G5Cc=p7$X*m|Di-4Ry|XyZfHRD+a1APhO2j7Oq zy0%iYMrXKn%=^cu{e75lO`LBFM}nrFCQm$x%C#rA+1@_7)k}*P*MHb2ak^?B>l&Fg z?)Z`=L0f{sR01#vD7Pg#8aq9)0ZC@vDc;=NKTWyq=IP%h6UXFYjGNIKh~i?!GITt% z?8ir}AvCZ4mW+h;`X`xHVTP6c2qbBLZo}hK$?YZ^k}~|sX_TUCEq+irf85iclM_9} zCQ42eCEp`13pV>Z5-`$Sk;ZYL_kBe(5+hTOt~(MUR{WpDYtBrAEPlY8ce=WygDML{ zM3uvZ!cX(EKqS$c^Pe_;Abnrb409v>kRAX^N4(U> z-!BQrVmHdge)9I{pNw4!F31U4Mb3`7;m-ch7fB8JNNV+~rrt|~`Q0ZZY4nfpY$f#E z(D(P>Sc?ysstHbO(3Xmv&y|iO9w&>^n8xXd{bw-V+r|4N+B?5H{|+IY7vWc|9I_Up z=AY}q$pMwzD;Cj*bB66b7Q8Ii#nhM?+Be^9otm9a!IJDQ_rL=X8yu_J z&IEEYZ#c-X7>4Qbzy4_XS~u>rf`Az^aR2COzMKuXiSovSnWT~;X+UK73oXST?f!f+ zWEDG9q0GowVyvvsn5Qq< zFQva?)56fy-+-Yq7=g4dS zMk21Tkbw4w?B%+0t1n)rQ?a`O{CDNAxNJ-F$&~YAjX=_^^sjimTHl_;EgOofe=8ff|I>t<&PQU7AGk5GHD>Q#gg+EY z!s`VtMM$};UtQ$1V(O*y_DUH^-$1i3zF{eX1Pl3_JZ?3{TEnc3JSnxK^elu9zI=AL zP^ur8Ec5uix}4@ca`#He3I{!LT?)?m)h$$p;n{?0j^s(LxsZg??^?vj;PlO-|GnRi z=jbR^xrHzSKyUh5EZjXl$pTW0f64-QOpPkQ=R;Z2Q(cfd3>*STPW&ImTn9$X0Pps} zB1&9J|G^cPUatQjF27&bd;ZH+)5CmuMc8OLc`{1eb!1Ldm`FPR7rKJ!ZB&Z^~or>d>LUAyR;V6A}#5Sfy4IZKu>x&5ow@H;nv( z5p@dJ4);wE!CctXvQr@2goTboPO6AP`YClZ2pkDCfy1v?JaejMT;tytxMGpi(A+0YY&xud!=Mdz90fB5^>-X`~#Zzy#R@C z@tjV(Y912RJ5I8f7iSx3OZOVQz%JQ|Lz1bl+m+OfO&YQhBN`W?awaocV4_)8;LkjR{q-mXy`Scj+Qb1 zEJO%Amd588)C90pi>?P69})6KU|(ej0iBjgkZ95(%lNuuzV(eS2FVB{P<17fjwy%;uEO!%B)$nbhm|8ckUQTm%&#fKDbaqyeCu z3=u6Ss5S?z*pcQls0ioK53~2^W#!QW*CGAR^}}<(zhUHYD+S?#2lKYCIuD95ry^Os z=3jByQK|4dki`hQP8nG@xGWtieNFyNE0xIk>qjN-i{7nJ+lv#^4+myhKS?h1vqBP- zq8c1jKfHL@PE#tD;6L2s?x7A5tOl3+cfqki+dP!ks$2Fv5No=s+?i-l8+^@{0fP-j zmYH2U4^qQ`E)rCOX1u14xP|P;d8Yi1!)g|m`sv#y#wB1Q-EtAlzsxY{Yrnw}Ra4)n zl<%E4VyxYv%5PYLC-%C)SGho&lKfM}?q`(&?aF^#2x<$tPjNW1v0d3p3#(gK=9zO^d|co7A&68xtR8HiW6X4~NtUjgmbo=p@ONS8oY zY8Vu5r@6UhwKnlk)fs3W7A^%W_hNCL*)|l5W#Zzr@!#wT=b(IB_l$*y*xE9%rM6PB^XQ{hss)v2J8@v zU1wz&3HTQPL794-L%W7JXrZ5RPY3#0oXmHM;MUK78i-<7WxYPB6P~+6f3^;s=6SH$Wz%fz8cLl8&20W<7F8TOL_ZoSdIT%W z{oK^^^7(^!Ff15CkMUuc9B^xLS)4C*5I%+9S(&Z?n(^$=pfB5ZbKoqgW2oJ;?1F{ZMPVe)7BgP?l0a=4IeixUo7C!%Y z;&)5f^3WL|E&hdjP$EKda=Z0myV)n4@kywH*8g3IPE96Fd)#x*?WEI~{W3mndHiGs z+BcD`#b*_(h@9W-$vu=ZmvQb;n9@0SzrkU@O_6Mb3-Y zzIRtuUFf{gwQ^VEzaG5D`$hxg2nSyP&z$r0*P=HG{t|0AEcEzDm~TT@h=V)7cEd$Q z^z5c#?4Y`VaHHP;Ou1j-V1(gTIVbm3Rys&YYrXs1#bbvFxcQQjv^nPV$yh%wYIYqq zNy*SvfC55!Uoc@yR?kvz-95Ys1=!VF@g}(_j9;Wsc0~R00pL~w$jb147x-uxU8&f) z?^C~5qsdd~5qtU<8dNost@!WxKW)QQ1}{4cl@nCN>L(^i@|0r-^VOxf-y+(NALLET zXWFiaio|7R2Z|$j*RaI5MmE=qJ>0ze+-nEzdTZ0LKO-6NHd`*;o!Sf`Z|8m4)Le4~ z*~m4KrZ#V0&HSiDE8}2s!8a_;^9+S{q(|`WBk&c0iJsrIB9oLzQ;~%ej0Y$VVmMgg zGzVE!jJaMhhd^e`mKXmz{c#ElHw4+@1Ot-|sI>wK-u9_9*N2Pu(>yg0a7*f)@yB45 z%vbj3^#kuKk#on!Lh~_&yR8D}ZQv6YFclU0X15W^7hvcsZ%BiXuVqY4u|8@?WlgF} z8B0OkleA3@(K5BE;c*wQWx4 z^<6lee#_H^(tU8%y>rujblqja&5pg3^^w%sr550Dy8T13j-!v4&gUbRt+-B{wxuYZ zk9!!H&bOS86_G6dGlJWY63*&G41#A-!vv8^Z?EOcB@+hS`_N$bR{Zi#4TZLJ$$-}imQi>Kw zfnjqY+SSzvhGN}72MTx~NQr(ifClM(q$1Ea9v9x%N2HW43G$^NT7i($eo+c-!D01RY3Lgbg@G7_k8EXKG3O*7=X5{2k^V66 zF2QRuq>w@SB7-oAg){RRgHdbYPfPfvK$ZiU$FR8PZBDsqO_~&E9zm264x9jCGz=(* zA97RHe+X@Nt(^nWq}MzAFqcirZGSJ?v?S`jPR7~9ClmV$zSezT@Ku(Y7L0f||I1a{ z{l$^)r@X<5AEIapP3aUb$!FfnCDg##9a%juOc%Pp)ineG70ba}0rnDlUOX3+>?E#- z6e_I2=`cMrdI{y8qu<@KrT|~X(f%qPlf8ixFo-pHHpa*>hzpjrocHadT^#<(*51mb z_q2SSA}X`Fq%vwN6GRb4$%_|8E)1cS#ef+(&^xgjy|lHCyhz)W4Pv<_~RoHPh~;x<8`bA zsFw+$RJ~Ea+VX$HvbVF+e^KR&kzE~7ERQEdKIv&gp)-)Ea9%ALYW`?i$Z?#vR;{nh z@}te3_7@jZ6;oSl-NMl%eVRLxL*@q)4@$^_E}07U;86Kl_t?baY8ppIKPvQVHb2|7vE%Iv7M&DYTQ+K>+!{dm|%8Zcl+(~ks<16Yp z#d>hMIna3)h(OB5#mi&l`8kPaizvO1f{9cKB%wH*QLaKb{dLDtr}c@*V3vin2(Y*U zi}U|-cDB9kxTODVKEU5>-$I=-D#Z}WZHG3E5H(P0xJeY1-n*Q*v0TPL5&0r?Po?{= zq+R)QHjaEl?&4m=vZa)X@wLStB;WJi*jw`nyQwLj{L0FRY*A%;1TNyZ6PXVMw6AyQ znimMcoIx`)ylV%lIXysgLtt-v1_3zCUiih@Zz$|2!?v#GG$0B92k-$GVJ+2>uw_Q! zB%&4-ZG+!zrPuC%i`=h!NC22?8)8_?f`qJJ86{91voASo1sIHsR7E{^&7!|_ ze4Ea!X|2b@3X6JUQ$U6#HR$ENfprl_Zc`uyA|W~SJnGfsKd+tukP)+aR7jjzhb_N9 zr>(8idhG{_p4wzmlZLe3Fc~Yo(_81ROuWHyWWTw%wpT*lI9LKUuVRFKT@S+5-x?_F z7N&R+6$rhd>F9?375tE*GqWC+o3b`m{NZeNe`K!SGAyZP!otFhI5LB0O-k5hlj=WjTQ_74+OfReLpUq?p8#%Ee?+mr)?_{29e%dU=X%KV4ECss;pc zM2He9dBT4RgG36}Mu_Qc}uh|S8mm?yxt*x^G&An|L%NV%YNrMRx*g{=Y@ND7u z#8L+RqJn2P$J6AcIgTh;uleu*F3;lnzvsXm2Cn& zjue)3yg6>NqDe1d@{miw@jA_5O+k18Je&ka9Qsod*6nAziMJVth?<%g1^0yKh37%u zeuw|$N~dcdGsy1)PtXTW4ZG$%E0!tg%-&QS`#0~4Y!0bx9qw?xSmxQUXzU(=U*}`7 z3156@emmE2n@zA)M~e$hu=!fu1&&?E8y|pg`bP&;A|t|_#EC9E2td714<@lmh{;XP z)2mxw8kOgh%XvHN?>5dghF7V-VwO_F+=K2L&SD=vN&d~Ol67@0deH1LFnWAkXxD9i z6jFu>f$Sz2O@qY9L<0GUtGe$oUqVn2Y$yN94Kt|K|D?SsVsEYZkLyc7LoV9DrfCca z5iT%uoa2g@m;6DrV?2Ixx}CU>N&}>uF3EPG_$rsB6A4jJbMd*IqDiut0239+iW-XZeAhD$SQ4`r=;s4~*0QTrOmmT4jqqC@c1VS{Hi>JVZ>a z9a2~5a5*k6DKVdUoW?wy9sq#|lH{etHRa}O@sY8g^L`)>CNr0JA$xs#IfLTz(xlB) zDKwejRjLa%e8I?sbf9dz2u`Z#y%Ev-mWMOyda{Nqi%9!Ubo5d&Q8{7Z!pI&*q#o*y*R6`A* zAf~4(n-E*z*Vy`R_5Z)HdXSuw{^yAe;;(OY2|zm}5)w5Qxnf+*$Q1^>GW|mO`5Q+S znvA(Bzn%TTuh`NO{!4&o!bfrQx>4HaJWxK&283&!*ay+Qj*N-aoM-&`?({)EF*i4? z;-Iup;?8lDF$l^C!stq=bPbPhX_1LZ4|?sgB3+z@_9)2z0r|+{YKSRfqbjuDdnwA@ zKC?hwDd`^lF47q)_{!JPbGi0c6ay8Tr#vfNZ`?Rm3^b6-cP-Tgab*g;v9`4EE#}6rf*|#Z@AZ`Dj>Ch4;!;uq z!jC4hixX{#`%~YZ|3>A$eo%NII4eIJQb;bn*pJD6V7Feg`*>#(`|Ww4dddZ{;~){a zd|DK^@njaHgY3Ws3ikzL#N_JlBf_x)rXXMK%jtI~FO0Z9s>z-uywMQ29E1a^2O+#B z3y9!JSQg_u5qxHyPrcs}%TFg&UnJGk;xhggi$HX>K~_qBM$@}_pr%bGj|m3ge;duz z9qcPKn3WYTQY$~=0q-H~?)RyBBi+|_e~Vn>XCc-~&YZnj!lMOlw^B1p`_mz=9Z#YY zeExQ{HMaIF@h(!uYVRX=3(K9a0+hRq8$>P3?Phg4R1lNRYSE@&8l-5Tpj{^5h0GY& z7u?2D2t|}4tM)9jVN+{a&4*z@xD{UBcz}+v4-sI ze2udYWctL?NBqzhGPx&g;8mSB6@nQF+MV4w@vPqwVL|c{YEm5G}g*LU~51i0xZ z2oRC#V&)^9`cE&W!UB$DDp|roc~oH)H_x9xLy|q(g?9y)ytpX#X5=G4V_~_bT-8E& zr%Vt*zHq~-S`R++(JrmIfYtEGD7LsoFz*ds(wSl<;Mfoq2b(xrse@hxA2EU4kC$WH z##%zNvJ8u#k22nBrrfLM%6Aj;d@Fd_z+N4_ey6!_{&TH3I$tf6f$GuGT zb-+{w^g@3l9!_k-D6rk!`!9V$rC;}r9m{o;q7u-f4e1z|ovSO&x1cAM&~J=4_T%8< zS{YcIzCNgETnrDc8B+ryp8qf6K4@@NDGPpNJpOi zzwAq?q+3(Y>kh=sbYGufkR`SP*UQJ_pngiK@|mBpnJ&N$#n_E$c3USf?Ykt+u{j() zLG|3minH$dLr5CWZqK2TD=#f4SB*F6J|{>ZlDOeY{X;>z=(~Ioh@Ic%-va- zjtF;OANu{fi|49Rv)89*;^Z-yp|`NtI39#*0}+&V(EfpskC#~U@lK|3_j*T5>K*8t zc8oSN$a!2~Zn&is#NIu>6!jl4ugnfyy9Yybh|IVpvoGsd^xzS}J#c#@#<&~GVS z8%A%jKZqg}`=3`=yVTyurgMgt)e7M;iaaV@PC(rPZ5;iyvD-ae%>ag zf^?)GNGQ2_eb?pI-V$9!gQwpqflWf|ei2u!mX7HK>KJ84DR2-zj-skbB>kD>df(`P ziE;cwwXo>h>b)yhi`VvusmkcCV}~kNq^y>QP-eTA#$o-&YV^M{Ur5hu9i53wV*Yh9 z^4CUKE(z=JPySCkSN;xl*N49|Mw-!xVIsyhjfg_&u~qgl_ASKNE0TRAStfmXBwMKL z*(s#5v<1?zcr!Qwbsz_B=;fMvKM0ujv6`Zu@$U~44jJ;8Sc3#iC+fsGS@yp-vGz?JC zsqpMd@5@kr=v7ipCo=787%gpL|4Rv&u}0%6=OGHbV)9uzk2)UdB)To~*(E>ho|X+K zxS|kYw4$OJqN}X^=my-@C=L?%UqZ~6& zd*p+23~A)gRIIZ`M}`JCW-8C7B4qE3@2l}$of%{- zGx6Tk(i^%kzfwfpV(8)*tSH!8^q@pQc>10iAl)SZ{vCfbWyp7(v%yMJG-@5&!q`S4 zgJS3(4BuW@nu()K7?E9qKi8j@bLhyuCexGB+v^-3%G9r}t3xW>60E|ogW|n8PH!y4 zNUPJk!i*NN5hjGGHf37BEhaUGD zH^OavCPhN7CoAy!F(=TzESV^}X>a;*sPy&=T?fwaC|MOaA0W}TdhOENu8GT+4+bf! z@d(w-S|_MBet9C}w5`d-;h$v^nT*y=^vPZfn%}A&_w`GtkipbuAp+)jC@7ptpsd%$^If4V8_AoLKoojvx1$Mdr zR9DBcgU1JHD%~+a5*8?3nUj$LmLht({qeF-tNd3zN9yl%ev^Da%1CNq5M0g?%;1RX z`GoO>^t;uFXOrc+?jsD$RB2Fg5g;W}WB3!xPJe(o+C0B<0Ne{|%9$)?90Ov+56}=D z^gjYE)$Of{_uSj!YkInU7PG(se=n(FjW}?W9M`Ipihq~E*)cmk_oImn>=Wwebx`f+ zpbt_D0C^($X19J7S4rATN#(Nqwa_cN*F<>KpuY)296{KeCiU(m?c2hYDE-0vUeX9q8r#T7dM zmVyk*J^o$Sb`Aj^-RLrwM23B@Z;;S!7~~LdYHF7Q(m%BQD003*a83ZJ(R_S-AtSyc zt4DMba&8v3nU?4{Em6MQ)_w=q%Q*%Aqdb~PiWWZvRUi11mwj9+^S+w`4OE1vR+!3EgtD>Eu?qiE0IFIf4rd-LJE+IH@ z)mp!?d2Fi~E_dV4<#0G%%xl`9twuzZ%4dqsj6O6bO!BL!V=9^dtgEa0X6WR&oft4P zKFa#qHMVfk`5J-Y3MV6|Yd=kcC_0$u*Vhk9>k>2~~xlTrhbt z)m;?Hi(Bn9@_Jvz>Ee?Ajp)^>BL9xrTwj!5`+3vzQ=`SGf!lVqhcbbemexvH^uFP#@Nngr?fB_a$aOSK_;C82J2yWUUUGT!er_)k zDNErID@#~9?e(!j){VAPKt?nFXa8G~r04J=Jrb*lw=#G}(twhd%$5+jaq*&Cq5lJ^ z_=A1?$9z2UvRIH8YLE{J)Q1xoaR|cvtwUlO5^O@bN%1#*%dJZPbRDvwrWt{QzsoJQf{Tx)66%xW*6!YKG2cUb z=$5DdH6%!-QR!*Jra{<7XvYM!=TWo4RrAhn%K5&2bdYy5RT(ZUaW_p}zBhcJc%b*e z1#|;ny?ekswge!mE$4n zUrWpzP)<9J)k-f9!)}N%GGrKY4}|31nyHCc?M2SoALh{t{?>t99u7QlkrXzw8WY?y z%SrVuJ~tem*WPY0!O=o`qqEe%X0AxEVSbYHvEWLnQ5ORW7{oU+!ipaBolrDvzs0D74XIM1DD!l7%Ty6*1sT3t~k zml97G$_BJA>(ka>P1|POxqtG7py`<%fLyc5d3GlxSk?>(8UbE}_VBN4CJRG<35E`@ zbiiuuWwGMiIKCo_y`d;rUFG;ggPwMa%hdayY((c+Z*i=8mf}@%%o8-KsF;?Ro}Q)& z4>Qb@mjnh^iwNk`Qp-KjiCdJe%wi{w1wu`S=`0R@jQcu ziIA%_POCDVD~A0XZfxw}eu1X5h<0l*@^zMSu;2&vO`P5H`KFwnMhm6vkM`d@X?Yse zfdBH6xx!OvpBMRR@1OfbC_c#)d!*HB%LUlalh z=u=r&usKQ@)K8+2-Glg`ZYAQ*bt`z-qBXp{BnC^Zg#YriA_du$sNUMP)`1UfZsxfJ z>l2*W;9mf#4{*$D$+pU`l0ypL%6uD1)^5+24kqzay@mu@t;*tuhXn>7o3G5qIo-`+ zFG)d&j7n<27}tgD7f|DS?g<%>U9?U+BDZrQ;e<3C^zrT=Y#n|7zVN|Es~H3BnpCaCV2YRkJa&w9?7{6mh15+ zuDj0m#6t4Mia);x?2eiQqLF66aBm3?^D6|9Hqg~h1->;9%HeLW5Qm`vA;A=F{I5_9 zCIcA->&Rgf_%473T#=vwbJi~O*ZXfsa3+FqdMx(`eGs7sb$S$Z`QYVl$rbY}1QCz- zngKRE=TH4c8%~1Qpl^4ILp$;>I#>u!M$1d`H<}OzVv}#KLimRc9)crA&;5g@4Y5%? zDSb=lHyvvT?(yEr?B8f!dJvl^U1riQmt8vlPX6DO|G$tuoy8`cTv@@?Y4il3rcX4{ Jd8*|c@gKy$vOE9) literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png index 5e49f4c8b3bb758e9a9434b691ea406432bf9e91..728ab87b0cc83291f9437d9c664fce9a34f75006 100644 GIT binary patch literal 54562 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 Jd8*|c@gKy$vOE9) literal 130724 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

j3)Sg&3w>w!l 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

WEcl4p;g_Dk~8yfptOL{15*hE{lJ?PC~Ol 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

LOZ-6#wFqD&=_yziBjLoku^X0Fq!VI@mS+;TyV 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 DM$rC` diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png index 0ebf1bca72d80e0f2b46239157afe6b7644a05ae..953864c97f30eec862cc1a718a7dbabdb95b7492 100644 GIT binary patch literal 3853 zcmV+o5AyJdP)Px@$4Nv%RA@u(S_hO=<=K8_=1#9WTi9g_9duV%6{M(9gMTzJf@tji36@0vglH1b zK%&N$SWwWI7&K@|L85|%dZI^-0fK~})O7)2mo04H>E%wjGdb^j_YSlD?!uqsi@Hf1EN7Cru%08bk@Wz+Bdr3UYBuSGJM zf=;JpFp`u;p4*I@uByP;Q91uKfTsmqDwT#-tHHKi4Oq9S8VZ-ruXiGmkl15&C%kC$gk)M4=b*rCgD)Ur z+LR*PeDzsKrPI*%6Py1Q;K(xs#%$JO_ueM_aeWnB4ijn{Jvdz34uf6?DV1h`Q!7ef zHVV+|by#%Q%&z!5si^${Qj&1r5;d?HhUGbmr{=a0Q;jHTHS1A*+=mah*1%-c;nUAf zAQ*~4&}n%0@wkNXqjE92I0s@ZiSOQa9*PU?r#1G-2t5rjWN-xLc!LiSG0Cw+p3!SH z2tbE@)orN#tO*B?w!j+@q1S2oiLtnZNn`R+R^;U0@4o#!6cyM81xM5k#1oLxX;=gS zWu$T-u zx1tz2t(NJy=+2oi8g=N)+RE<3i6mEr)A2CTnG$|n_rQkB^kxBz&omS+VO_>U)ts@LFIHeqeK|o27 z9VVl|w;M7zg_13;0YoAR2!aNQWEur-3#@r|e6XVq4M*GHbeQ>pw3uGO7zzt)STKJo zEM|lJ@E$>;c(NlJ!|`C4DOno`^Yt!+0izujSo8wQbDVr_IFjHHAtQ@o0xp*sd2S2J zik(9Pr_i#gH3*+ShDbDymewExAO$Qga>8U1(CHKL{?;0F`l8(ed~BHuH_R>Phtp<> zqCJ-at}zrrOISo*C=6dL0fSbHL@I@eE;}3sJ<8n<2wE+Btg$J86U}~B?HrdGBa56E zQ|f|Fr%~@Y<-x@7nmR92N)(fb#gnjF4A5vbFc}1l8=ZqtB#x@X?PzTe!D!TD!kAo) zEt9R;jeb&!6S+c9k8ZgJEc(VKJHDvcV$gQ0{hejwD5=Bk zm^FPezBccRC_iIN2Bfx&u3j;Yn!rf|lE~y34H)ONb*pR$1bL7O3Y$gGdl|M`_Lpd~ ztNq{nVG~xaT91~N4)zpLlQu1TCe2D2k0&6Caab%S%$svD7Tt3*a$I&c04XpnQIg;h zib zKq8SG?76*;6BT2z1XJ?&D<5JHGBw2{_8)3PC>&=Mq?Dp|sRq~A4VCyvGhB;rFFlb%Mf~{69{qY1y z!AP~NdI4^O0D~alx2refp`Wc}c~2&#K8>24%j8& zMMJ}MBV|03nYnUAgaNvi{>HMWy7um^_(|z9TrR+laCqa6yv%p&m2BD zrCRWaF?{X|aa%(Pl@hGWpoi0L!SdxBvHk70VY8W70J0a+h&)L`F{-QxXH|@2?}kHB zR3ABxLx<~_YLp6kUJIm<(pq6FoPmj>@^Gxa0~)Os7Ly(o;|npZvWVv~0~Oz@Ja@<& z0JR@25s|%@P62Ma5wWHSUU+3U5_KOV9_)lhOUYCA97%jE7Khnv#691>9`mle7!HRu zgPlNc+p!nRo?nB*pVz}-xAX!?RF0Xa;EeI3VKHjZ;frFzs66g6ZkSV!8Rr(C8aSfa zL64uypCi5y;wcGQXrR+;vFWt~XgD53vUwlG_T$h9hRo21)ROYt$`^iwiZjPDC^_HB z_>?3a3`X#sA1uY+{$2%pH-H)-okU8X3!}RdmrNfAEmDXlQYfF8hg+|&P~YIkhShsvHkuGTx)TXsGc7vTA47IMrHfc}

TnggZwrzm!Gvjzq#Z>&&rOw`Qr@^p-iV8@Qg+U;;#neaP!aI3dBP*CG^7 z;K`r=75;DnvHDLD>!{0kjp*k0hw$R_OK|BW(>Nv+3ih=##Y^P1E3aLINQ63jT{qPw zfWc6N6Z?#56?|-*Qt5c&`=MN((06TWokEIyzw;GpK9w%jU=Vgly43k zYQw76_w$YXp(t{lR^;Yb@cnO2huv;u05LI!IoB>iQ%fg5B-_G@=SURRzy36eN9L;n zr)>1*+aAOxdk({D?e00naH1H)npKbCoJtxlQD4}5OwrSU8E~(yufmSqji|0^MK~Hq zVZI&XO7l2bo;$gauiLZ#2yVXhCoq}FdcDghj*nm%udKKqUpW74)iFmR^wqB|LLd-k z0qS{gqNc~|$C8ELz+HD-4N0Pr{opgq47fkOQ-vL$G@$xeDS7s&In^roCNHm6PZd#1`hL)~)>dgp>yLcjj!h&3ET=xttJhvSDEm1c? z+4A90eEi7?wv5>%VBVJ};jBp%J5*svn0Mo19Ia`Dnc}UV?*!zjSR6%#dHC&153*{? z*OLOusaNR|NPxco!)NiQ_jkhSu=Z;(#VBNub*mr8q=}ix2pf;5 zmEyFyr4v_Oe=kICC}|MXe@^A(8x=7k-;KqKzK+W;ozW{s_8&ZorO&R$&RqxK9DoTY zQ-VzSUoN{BU%70Ss+2Hb5|?KmG)B;3_nvC}?;Q`rVm9{Mi)F*5YiI~WKhzOSJ^Kvq z3PRy14t{nFyFabwR>)>E59%?xuOceX8X#bV*|}xSgd?OTzAc-c=FK&L-$-? zL{q@6SotQFKDWAGrBtR_$z+ntsHBwQltJR-b~!k?ldw?ig~B3N9W*VYb7@g~MANd9 z@!5Sh!~~kvTrhJAR=xC~dO_(wdSuI!)gF2LW&G~dEj$3~nFfe5)W3xzBJ$i$oO{kB zoIhhSCRdC{X-NT`4tqB*u{T3uP#hmRd>lLfUd3%sLt`r&z-l$Im$N-dLPg!igz;r~ z=e4IeR0it|25otiYT$eKEyw0R{k2>0D|1ImzGbC_xbB+Sn0v(+SRwmb1C>owaMN^p z&DwXdXYY|NPZ~0YBxX=rp}5_+ZW(M=`7P2w9}Nr+uIt78?f>^vZ2x#4Y+bdVpwl4~ zi9#<3T-4q%e=f%(E!pbb=l|K8$h1{mUm8(-DsO$rm~U4)GBP;vYq2r7Pk}xfoj*K{37L)XDG@x=3ajvYHCj~UD`W*nDdnj@x&wF zW>1nuPreHn8mNIpjE=2%`7JE}#Tu?kNM$K~y!q-Am@vNd)WIp%`PO%zz=q9R*>ksl zV-6lzd|O89)i#eqft{UW*Kgj6`yYOhQvrEw^IOYRwN!(~oWkqomJWV%Q#oYwO14$J)0)WWky~t$fgU<2qOE#5vpQg9Y+XJf!Aawf$Sqd#MJ;AE@zX z6B^Ys3^f~9dkz6qKB-dEs1Dn6YB%(+K2Nph{?!{D&h!5ZZa7x^cev&sS-v~cimVX3 P00000NkvXXu0mjf;3qk4 literal 3723 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 AB>(^b diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-1.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b6dfbe87e223dccf17746e17809603c7fe3bb116 GIT binary patch literal 4151 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 B>>L09 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-2.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b6dfbe87e223dccf17746e17809603c7fe3bb116 GIT binary patch literal 4151 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 B>>L09 literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png index 1548951d5b6ae3e68607ca125a28669fbc00c582..b6dfbe87e223dccf17746e17809603c7fe3bb116 100644 GIT binary patch literal 4151 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 B>>L09 literal 4046 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 A4*&oF diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png index ed940869da6577b80ca47b23ab16e9a940084d6e..83d0361eb5847cbd1010ec1204129fff9c0d7543 100644 GIT binary patch literal 4235 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 literal 4238 zcmV;95OME`P)|Cy+@50Y%IsIHa&)n=z$m!$|=}1+l~43Qp&!ollB-?V9MeGEt)xlPGWD zIiAuWhpu9Y6DpK;y@G}Y4k*($RA#TrUc>MFvDVtGJ%Ag->OP;(%Vz^?c)ss5ywCHl zwTYg-SQC*A5!pUw*oepezY{BJ1GIX=^Q8%RlJkEvu_i%L16j3dmFM~M=fm^z^3=`E z%_{(G0`QSIHZ?alugJ^GQ=dP7K77@xRi0+9YfFDH%S#p|A|j1O)4iaeV0>$9Ybt;O z0Clij>Hrk9wzj4g6cmitXf)kr_xVFuTo0O^o&8KpOUoJnCB_si%km7vunfa6EXx`U zQCOB`c{3AG($dnhCObR(8FTmiEk*BQxw*MM0MY?8$^luHWjK!Gc%J7uj)NsbJeCtD zLp}kG0Mc`FbA8O|@U+E-h)AQ+SXWk7E(35+2Fh@PSOjRn;8>PrWZ?HID=U|2G#YEU zE>9hH$BrGt0p!a;J7dYt4xZDAgrva${EkGXwUVq}miRn)Z z+J=azsi|qH%&P2f1!_E4mSrV9v|4R)S3}zp5dla605Pvv9H%VHfniv%tT2SnT@&8` zIFWm;T-RR>d;k9ZB>=#290R~&7iL*WA5&pjwo6Z=$@ z$Iis79QMqQ6-fK!du;fq0N)%bl|grjrFj4>0Hmj7iD;fTooxf) zOlK36T()JML+pYaY|1FatR?#qzbFUm)6d|qD-UDgo4IY4{`J7}L{_NLXgbw=*bos_ zS643q0ES_h&VW96sMCL*KJP26Pd|g`*`Go2^1D#Jx)Eciet`AqXAnC-2W2;enuTG^ zTbXU=a|b#w0C4i;$z^huj>L+HtloO-t^N?!TJCYK%*tRdm(`-EM2pgEcky$19ad~S zi8oTdLrBy{jEmcW2{W^x{PTPGd&;*+T>1@;p1RQ?usJb4hUZP8fZ)hftWC?ujD>qq zRC2prU;t=*)QU@Y>QQ{B4&{x_2GH$IhUD7Uu3g*yI4fHd5hW)ldjn_!z&|c4OV)k( zNQdGQE%FP?@x|9g*uAe9Ckt+%OnV<&b`@dSx+9o6_aB(3%EZd|j$!5cIlDiECfaSO9P*ido*Kf9UprVy|04XfQrv5Nh}ByQFn#VGq-;Kgluh}VyZj)c z)&JFD`~twGJM}nLp+$O8DN@g0M$Xj=6x7_oBSy$gw`-emd(@9^24ViQ-?=@t<$Vjumz2R6_s&|Mx(L^A~Gy;gS|b zKi$TU#notNdT2J*0H8q@lalZ}4@O*FZZ$UJMCEPly;^~+%hz$NLW>`2YW2rHdc@$| zg({pVD95=ARe1PFr?;@E69)iqzWL?^b5^z?A}T8@+hD0Xn}g}>sWZ*4A#Ry!v*MKuszo4+D7H740@KBr# zsfyz`9`y|m^!JkM!!Qg300#~n*lZ5i3V;=!pwM{SGE#Q60z-xcqkB&$xDN<|@2E(O z936*|&&|LvMGU-$jDx+?0NC|*L(1Eqn4JHJVfAio3?&zn{36aub#?U*;)a3VrLBmF z5)%_WAnsoLnjTkPR(|^Vepp%AV8GyT1cl8)V5l035ETM~6A%!b07Zxjfgvg=!;>%~ zXd1fpa6rflQ}pMXYd(ydjt=T^$;BF?qN4iCv$Zu5(axPa!yp8@PU04Jng8%dJ1{Rg9stiwrGCUDMVYAIZC&Av)3o&sE0RYLGJWQXz2h$hi zVD^#&`liE@_7Y+jwQk+IBoWwF|6|LREz3k;i>s>#ItJ&ocW_pF7iTJe(E~d;dBAt% zL{s+-Rl~>cMYwv5f{XhIc>08x^?<-oHJtknM*Q5Z*s%Qvyb!Y)FT}i$X>-3s`e)}X z29^@n(xpq^lmpuk5#79b)1nM5xh)UiWTh4b)wTHMdKHe{ssR8*C#Jx~%@@k>L>Yhz zLq<-5okKqaj)}zU$s4iat!;>$_BXh=4ThVSzY(+w!vdl(BK$w_h9(cnKd*=X_!Pv< z*@btuoVM7tCE!Dc4!v*U(p6Pe>74<-(b$Z_np*6#GlAO5*33 zGW#DmlHYN|VGcMyKR?3+xT2z>Q@~dnnow9%i)}@v$h>qF-`>*V#YG<@ENK_~L(~{K zIu?o$6@~^xqmSDl$k%0_=b>X51L&zU7NL*(a05#Z4~)T|0u!-u`x(6b;Th~X(DqQn zlCYD2j~+exu?cW-adB!#z|v-%PON3?9y~;Tw}L&tho6WPR)hg{tA==7+z%k!mnGmL^pR_{%T9 zOfvy~=bd*}ib=~POUsuVxm>x|fa4WfJY-p{__PqpnVC?Gn~&j&DNux{FibHOUIPR4 z$G7K(Qf0Md#RqV4AEA$bMX(Bf0aMVg|M16Nqa)x&ix$0Q0-TYNkt70h?ZJL`@;Y`O zC_z*6BLi@Trv=JkW1ELL=g2z~-$Z0cY<$1_u{I;J{Ed-1`S% z^7OxU%B97Mj|TvSLh-V`(gI*bMC9b;G#FxO$#ERdah$$$si&rI5*=;D4;YkMT?l8qvczTbLxubdONG`o-$p-Z4_pHH^rU+5N&p#Ud zef%FgaYjSRl8r>jaX$YS5E+SQ#_&WEBUIArr z6ugIwMPR65RTUJbhP~4OeDe8zy`mi@EjQ1h7^a9Zsm=mJ)v$B$K*^OG7P~dWFjDjI zBN0hGv0iM5h>jjT`hjr4w!|gLuCFg*>YOhyb?z5P)*OXg`g-_bM9?&oGEott!tlTt zIJpc!eS=~DD_K>NmnY3aU(Zoy>+Ya1H5^=guyy;M&H%FjuzmaXZSux}0Vm+Ou}OGV zISuxXp70$Jju{C{kT`!8!Xjef=rRCagPzBjadS*uSzekB^o@WrI7)y2j^bGAg;|!p zPDK5TK@F^&m6f%@*sb+$B76ELW!9xDKNJ(zY!fAe!qo8dkA|z~C^$F|goCp;dfN4Y zm9;I1tkA8y9UPqd!@+qVocj90dq@QQpMMQXqb^EHTmuIyEdrJ{@z$&B%GeJ-#t;Ft}Jlwpch4I!; zU40Ys&s@MNO$L;~QLuOPM4x^mFlx+90~a4TIu3o@2J1bm-KQ18yCFP)79tu=;%-iR zR<Q)>=A*Nsy?qzzIV)lB z;0}+0qxGTU|NLukbn!-I)h{Bj`NRdW*houD%c8ay+{}wO6V{@Y>)W%kd>cm@90hOR z2#gsw7ySkV!O3L+vUVLb0nzCg=okhJBW%e^;lVJB{(o}0d#?dw!X~4qy&L?Wk4I40 zEZ94GqWIEP{q;JqZX*#XiO9Mm>q=rvM7GP9FV~3oW<_h81s*t9fj^CS1-+fUF*0z1 z31nv;e6uWP0={}(CTwhbVnpB+^t9`P|IR&a7Fe!pLPEm3)bA^_xmR|p&19v~vzD6cl_(mI`v1%R@$vLA`a zi-@{e3QM9}_aLINXnSLaGqgsVmCyZ8Tc6rqY(2@4-=m?S1=mGbGae^BX=o&(2+?4j zesQfE5%p3i6bm5i;&Uv^n#8kQy5hYJbAyq&InVRv;+6xz4;nORAqizrZNo$Pk>W*LUz#Fxb_1>_lq;iTqWCiUyrug@Z3jddd; zXQfj4#7obUiWL#rkucMqL^NUX;>91<*Vq3H^TKgLGs23K!AifQ?IlqIX=-ZvdEvr^ z9}>|7@g9A|d;WgkeTa*TvmqglTuErQ{XIQB)hQ_{A78$F`5c6eL37_{Fcu!by(?F) zoLjSIO{Ry3$1Ec97q96`M7_m({V^miF3!fw%gc_4Tu4|GJ&9;25shBVoPtAfdST50Ou+m>r6!UzekLAiD)z$Yca|7AR+$jNeF@7;%7S| k>JbqUVJrLc##57j1IHF*gENxzxc~qF07*qoM6N<$f|TJCrvLx| diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png index 9ce4a868ebb9f95026181d17736eaa9f4459a050..35697ac0202b105f40217566405ca39d09251340 100644 GIT binary patch literal 4568 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 N002ovPDHLkV1i}?$NvBT literal 5862 zcmV{@_&sq0d@NHX&(T)0F;S)ER)F~lgU_yVPp)$Ff7Y5a=DyUrYy@c zyvSrS87q^?ngc8Yu|hhyz=0hG%zhKZ7P5Z%^)!>%Q7s>vT}|Dx}yAdS(arP znM}qsgLfe<+_2-}nZzYl)JgxNb0^6628f1ivm!{ad}cn_-ntbGwNO&G;e zUteG2?!+@SBBI*b+8?_U%THiQ*g5?BKNs=l^lfk*8xD_mzk~Cb)$m_%02_Ct zV%Eno*tzeD0(3_Qhv`Ba8Ga6lwA2BB`+wFVC$9pTS0%V{ z`#wsg)d*R394prRjs>5efa|!m82w%(eBO(Mx8INOn!FKV8!uqdm#6V%xMB_8VJlX| zzRtIm0U!?!4)*B^G}W-MFjes78NOcCX;@|VYLJ{(f~)xz$Sb^uf*X}6y7K_1(eQnqoX@j zy;UP3I(zo)L;&D2h|a@mXkd_kh2~3a+C1toI zy@$AxGMp=xAfv1b=ZYmLd;CPL3U|w@@!jq;Or5(Q?|pa}GZ)6dZ~lJx z&p&_@=L;G;Dw8R-FacO@SMm{&Q-t*LDkMuP6yJYZFGEJQ1o6qY5Pd8M3CXvSc~uIYr?~w>(Xrgu*SF2Z zxf&7C-o1N$`3816*ei=KSMw{7_J;)7x#hT$BgN&+yLebr2Yx_WfT_Cw02foT5T9@b zf8-RRwzjUx-{o?-!r}mcmCJGdjuh$TRXAHL!QsL?NGq$v@5NG-R0}bX`)qkd4brnD zxRNbFdX@y0_ghX3;^6<;XP-?Mvr!7HprBv}cazSi60JddR9la-iW)`c-dtki(lOEZ z1DIJlKu51X`t-FxpT7N|t=At0#?~0-{06@G`g=4qG;Xg6)&>C8Pa6-QhDfB^vY^)lRlPz#xiRSJt`S@1hi@`DEt3W;nBw^SkGcBBF1@E7Wqg((Bq zTypbo!O?XLdTHpxsGk#t44;JIufGRp&poI=bfgWch|B z)+UyU$4^l9s1{E}J8x~ZrS&+>nWR)I&6_rDnuapBR3#!>x^$^MfI7Z0&#a0nWZmKo z*p+K`qKCRB%&pwv;>7`S@(6&V`>ZDF*m8lUCg@=bv1%QTzhG%A7qESf}BPZlgkA+J6Kz`xv6=Mu}2O6H8aiL*V1s{Q2`|D2roiL_}FxSzmFZ)Aa(OU`=w- z|HZHZLYAXv@4j&Hnyu8LI-)LKff#5v2E8@HVpI_%p22fp2T8L^3?np)Qe zSOx$)cI^09W!|P_#iq)*-32Kd6~1Y&R1<&0I098zy8)+Z}kPl{(AG6a>D|WdwT1>6r!wxRIAxeI`%~x|TEnFYv;Yhn z;SW34_hA2*FR^;-MJx$BhnXM8AR+a3mxI0ljAhx|&d$z8Er5+5KVGLhE}38T5Gj&- zh%YI_hV)!S<=sTol|nfCt-_m&Pr!ZZYS<2+sIV{>uRv(&m?I+U7yx07sQez{C6SGt zC#;6P)nX!W_Lv1jv)2&1WNQoS>;fzWFu7b_U}0gQ-vk%{6>DqjUf_d1f3~ZQfXH%N z`}{UP0LWMt=ZYoBthkTF(h3wltig)iiE#4&7Gpm>4Tq8MW0;$NqboX$hmF0rqEqc{ zbTl+@WtanpW6`It1zfxWTf{Qx_VDrz{G2|=;PP0 zW!Gi=7F(zkURr)JEbYg_!EG7`%RQh;$NCyrBVzZ_4tGqvTCf}bCI&lDF*MWu>l?owN9XNgsGZr4fl)1YxV%%y>`!E{QLk}Z0qp^w#0Iz#bfu*&N(lo%; zI~e*V_E@}ZLnmCa5ty;LJ?vfll&%<@y#k@7V}`S_m%8Pa;1}OMK0ZOpEKG%nXv~-~ zZUCO}ooE707~#zkmk{)~qi`F$irXHWxE3Lw9>;-WO*bv{jRwKN#b0^V!6N_zZQq97 zaGwraf)MnN{gwbNoqjEXe&b*S!NAl33qD@e9hX#;cWiBKJzAs`qF)#SxXRy%Z8E~5 za}m=+55qt706Zs!W7gs$@SA@SIijOV=i}0#rDF!?Ryx&~R+wS`q4SE4wbns#S~1M| z4fMD1X?1<+>=A$gLq@~VZETm_QkWrYYHF?%kqNc(WL*y;Qq9WBisaprX?l^SCvT>Q z9!Bt|$Kf~sAT~!_YT}N|zuXF4!y$0>4r&#cuq4to=#OfC(^YUGVZ)R0jcS%;+#RN%CyMtej zUTtv*4gkiy69lsX?(G%_ojd|yHS|pw7!N|qrJNSm5lcYG-=U>r&Q~(pFa2ogm?8a2 zo?;NX7{BH!3;1G}R3##7@Y`(7-Lko*iA5%w#cb?HVX(dOSxi|;$J${WH2WB1{JZmT z;#3kUs~+IVlc&fpD8|Y)5wINS3_YVE9j?y0dWS$$+Z@|=9OQvDbjBSO+iXN+OYJoHpAY*h`-F?YGoZ51Xu4M=$j5h=;GDj2fj1b#Q;E5RMb8q>czWctD;Io zYTn-76TzR%>*$Syz?@%D3~gOYIJ(bl)2dv&0x{HaGE6Mpprbz!S~})1Fd2gWgWOkWW|tACUD=Hw9oo7W~_&=B`d0RtcG z?dlmbEdLJA~dy4;OPE7oICXGx-#h99!PUm5@8SIsb z1`+9E5PkL8e2HQee^sSnhk@Qr9JMHl!-t!JhQX+GKOhVk^S59jZp8Y z1v}>{a2pi_ZQXt-M8m;7;ooLqQEMpFjyu5TGa^?Hfshq2$ zqC!NPL}W}vt~oh5i2^jX13B8uR#AXQN=nK_B68#VqDjyBEdyG_Wy1D*_wGF+WDVUt zMEpFJUn9x^VEgv%M~P?{5t;FQdF~=uni&xd{`~XLHwh#6s=26mCIrANT)1!x5m}31 zy}0*RSXo*1=5K6aZf-t@VVE1jG%lCR*_R29Up^^voVvQYn?^=PbBV};h)nsmzi?3@ zuKZy_ME!{9^-Y^L{R}R_1pqn2FfSAwzhGCm9{^c+c=%o-^5ENO%(wZazPw0{xIC>N z5m}j-n9NL0P8KEvK^TT%!Gi&uS493S`d+~p`qc-_3PK~V_CKoEk$_np5b4l#`12gP~rFd)_rq8g4|uVZrwf| z9i5rf2+EwewPB~rG%s3Ih)7*ePp>a=jkYABfkfo#>j?3e+ zva;OGn>X)ubaecfh&=gwSQ3#re{Xeq1z)t*mZ%WdXl>%$!jc-{ITO*ukt0Vgnmv2= z`hENM9g2;OjnB-?OqWO`xivL4h1J#7g;J?BH#0LcJw84@?w4PFITR8SvSH-Nk&B3E zB7coRqU)OS_xi5`rA*YUtgL$L>gwuJW1JH@I)J#`Xee_AtFOPJ-xo>=H{Bjr3bI% w`wgGB2=96A!K*rPFnaR;7JmOqyr=bl0N%oWPv^I6I{*Lx07*qoM6N<$g47QwTL1t6 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-1.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1cce4faf3395f0fcef458ec46bcf224cadf2c9 GIT binary patch literal 6034 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 M07*qoM6N<$f?yDmPyhe` literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-2.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1cce4faf3395f0fcef458ec46bcf224cadf2c9 GIT binary patch literal 6034 zcmV;D7j5W?P)Py1Oi4sRRCr$PTnCg?<=K9w*PYo8?6R=1$g+TR?4pEUMT1}ii74pr4`_@gDyRuq zzz8RnXkv@{YeYgUV2N0gSWt{zkh;JwENy$A-tNrgyziZFm|eC^+1>E}hwmH?uyg0$ z?|Z(tJn!>4p;; z#6AO1cF8cLU>IvR?7)t_^)MT?43>z6bOpyg1>kZAkddy(!fVE(U$*Il1+fnSlw;mo zAMVBGZ;l|{qK6a=@y}E$1zR5h7Ycyn!*RSJw4l8gR1X`on1 z-?f;vxP8&-&}r2t5_Y{?iI9cKE(&NhDg>k;9{tlda5(*JMf7L;-WoKuy4gMDl3amM zD8!#l8dU(DjsOe8=MQ4>wG&V@I0K<@_=Mt!J#K-t*oGz-yCh{)8b*T}QV3Y{#&$?j z5E_jdPL~f`ORJ8vC;~hX2x0h;Y!nPgXDcL%Gw0G0oIXB3X*X`KnDkU2=urTjE;Y-xuaU8gjWio2^v%$Y{cGeN8y)(*s`mVlW*)0 z0G1TxA}`m1U`V#WxwA%M^4PqD02Hy9+}`F7z!L~^rZ=ipuxhm&UfRd&*tv)@vn%jZ z22f0(vc`c{n-?0jlEG%yDsMRWtfdMImTNX@0L7pXHKIrfVaLD0;o4|`~7m*>OMukF)8D>q_ ziAnI+&dSb|0i@j_m)(D;g{^}|RgH}^tZa#4j)nRC(%{qT;eryC74<0FQ3-`oiQVP3 zXtsOgO%8*>8#$~W($fr_Py)daagNYVZa{> zL8VZjB*OxuhBok6iOFjUh0)OHg46Af&MP zYve*iU9$UGP!~|5rNM!1Umsu#qs37sCMrYOIxE8jokqnKi{OECW{$*}6B0`x1k#=s z8wf4;xTxgSodt?Hk?ZbhwnM8@qSY6`0lV|qq5%xEnvtf}KnjI0GSdnZSz$z4 zYiM$#u0g(@7)2-;MpmW~8m$TzlMV&>mZ-(11fZCa-yg(*!!5i>svwS3w#uZKyoQoV zFoblg0Xf-b-qG?ZJ3jfeoGp&34-sc%7b7kh=32ODa5}D^GZto(HoCZY0jzaF~b)OVW`!N9D^?U3^E3fPeNV20}iK;=S1@?$hY#w z78Pdjrt^Gzq9;PTe(-P$JYI>d&}Q?Zp~)E$NCAUhjsE>D{BTMVgYqpXJJ^DcKCeJi zt0y{f0i?;O#iTI^an#I zw3yJ(sE=9|u?eqF;!x!GOA)~XD9BIe7&vrr1}DoN0Z=T?X7@1%RI3#{QIe@VUO9%C zj5_|CtdrsgO@QbPO|tAjGmh5SIRHF4J~R_KStd>*$9je`G<5H->R|z3lh=p+ ztxo9GN>n;MsCIcc7Sf>DH_&WAp2@)UsyHJJ>AGW9PWq(X;b*d6A93Y$s~%aICf-n* zzYuzR!~(_cSJyhw)Z$?)q(zFtVCI_&z41 z9=W-h7&deuMwJY~po0F)lQG z`nz4It!;uoK!u-zvovo4H=oFYm9SdO4B}6xpN$#Q&xYA-j5ecUU0YN*2W?I?cqkFb z)<#1j3l0PQje3rMomC?ga%de)!wi}>^hK<-R{-oPQ;LHSWR*L2AHW}F-PWX+$FkjLwT6bNGIkUZSDU?zSx`$B$XN7hI`Z}j@m=<&f949cWf ztwN4Lk4(L`tEtBIS+4=u{=f)rzARPA)yb28T94;ndIvtAA8BdED1C|NqzT?z)4$24MRM3h-K59a!?4KjPy}-ywt>OR~KP=aD-W`+e1KX?nypE41_U=S+Rv1*|s7wt+!NMs&;0-yk|y0#IEez6** zdk-Qr!wN}~vtp`)z#>ZyND@{(a5Ju)HT5_U=^3I{7xi#YH1K;JKtVU^>YK4((Fz=> zsDjmM=2+H~gWQ@n%IS3D;fHR;6*JFo17c@nJQ0%K(R_OqKoQT}ZZED|xB@$N?MHeq zfEVl1^h}S(hv%NW2j`zVp-oKOcc2No%Nn??U`f+qba76!fuHPVrUYPju|;IXUoL$d z@4mkoSy|~l=C++Jn5ax35aewB#@dHaG$fz@|IR#;B5^SpUjz z@zKAI;Db-gk)2^;g`0$4(jAFsHn(~(W7;XW@Vuc3i?#IpqyeNNyvFT;%@<%vh}x1m z;#YbdvUFOW+@5`hF#Foyud% zw*0skX=Y>GR3%m{5Jx`b;~u0P%6;Pah5|}RaEG%ob=prcAlrZ+c2%Ld)y>+Z&o3c2 z(}b}lc^nh3y<#-RkM5svjUG3E0zA^sN}F5RZOLV6_W}_MB!Wu)Uz5d%P49n;$5%cD zYq~jZ@W}Oi)ckS#xJRPZkeeyFN}+hF(`sNe>bWB69!Lcg;Q%CkAu~L915bv@r!N!_B&IIHsJDc-Jps01w)osCWBVXCpTznaCB8H8XPGT$7$f$lv~c zGwQZ)LfG31DC7otSAm}ZvD;n9&(Fn_v&UiL_z@VGmjkt0jizQBhl9;uZo`h9pTqS;q6eUwX&wv!65$T^ZTJv zD)Ha*XX3iK(~*^B?eJOx`P0vTz!Oiu#(<_<>G(%yiHYVEghFjXz&s8XlNOUl7ohAA z#XyOBG}JmJk%R6_F)+ibPe{CtJBh@0x%M>M*mbGrKmd~43TP;CguFq#{^Az6{9%Nh z^>CDb4TZ8}3ncKoK0lXqPdt1(CQm3~;6!OBN>-s%i}K9r@?hBm&*Htme;Ege5)|fQ zcvS;1xg;A!gR;5TLh1@7x26_1E;_FWKbw2T6rJ7ExL%c)O8b3Scc9%j!dX(Ir~m!#yY;*NoIF$t2pn{CYb zD4FbQaj^BVTuJIkAc(*Ic?*JeKU7*B{LM$&r($&q=gJ7mSI8PicRd@!^cCB}~Ihf&2j-9NC4D-r^b zz}nqpgGZ9MQC;Wpa=(Fgk|gil+iUU3yL(~Ms}WXe;6AbqzWM{l#Xxdhs#(uDYb;)R zc6pZ)RA+M+mbmeQf8kemKh7m$SE>#@(_y#cf@!DYnJ4av-ZoWLCT;-5gBmX`HCs@+rw#^_9zmZQj=i5F9F$}qiW#&RyTgU&pZqnZPMOFeKzmuf zJF^gRk;=5o<}Ssd!!^)xW2h^hD2I)=U;Q114#}6B<#C>N=xjb60vP-L22Y23yvLG7 zh0Vb-IawjOFCBcWthQm*A2uVbpsGUw=l-t|u-8GMYU{rA8Sy$Q?cRIyF_?_WA0ii4 zxcad*EY6Zd)_GQ@2EGc-%{JU|+cmiLrr8}zUfpe6`_GR9u&dV!gcZ^?N1SdnxP4rW zq?vX2@Z$<>*jNgq%E#2DBk<_q6#MK>7p9&&5zjyM>y!>m3bEpYe}08q?|du{H&(Dx zGh+B)Y*@D%N~K(4rZU<9D8Qp;_qSWCP}|_*U^`-1HaEK454RLVtIv;+0=VnmzhKw4 zy-@p_5DfT^vpn%#a#d2LubX=@RxDqbRQwb75<>0P?fWqAhWlX9>v%)D8sq_fzaOuy zc?hSDDvGulk_9mepa8G@U^CXfxs$t5)I_EUQQb%xi`cr{k(XaZP(;+os>(XdxatlB zgA$ZPn!8XA$c`4?8XeB zP-Pu1KOTSKTX;MYpCo8#adFv0B@gv_FF0=~W=tCvEx0A>Jt&n}|MsW2=f09`J0%d?0Qma5rTB4IEn4hu?A~9; z>W5q{s4)4|0)#@qP1jA};~4^Uuh)-DXD>l@O+#ERMBYt@7xg+VHm-jZxjC7vyd?8> zrig({mpzHM{`MKt<5Ye`C-14pmf+$G&rHb++5q^*#!_tES&LSO2fNB^nVwL0p48h( zqX#m8H_xBQr>m$GA`Z2?v;uSDj6cT`i5!Q1d*5QryLx(3aY*pJ<`z3wSyX%Ieo-fwY20-c=5QuahkKW;EvAJ1UE-uVLzw9(V+OTBt8T_V^D7{|W z@DYA<|Fdzs4?UPNA?bbv`MG%K^@rKg`RG{!oI*UGl$k#~^Ln=&usxA?xjmRLwivIz z{9x)XEXXn)H+%A>@6p)ohQXlbR}sj4%|;y`!=>iSPtGpn%uKH?kSi=-`5gZG#y^me z9$);4wZfKGI~HC)3%_2nATA+6d{=-++4q_o?&Ua`NXvjWita%tBHmm7C^9pxNrQMC zjj5`2VC{yTsBdyXqn2q5#hSAw7U1%WKosB^Bml= z=t>5UhJ5rbsx-E#mA~6kio5T98Z|YIOkI*W8Y1&SJ65l_8FR0?An7<5cPSU!!57&t z5dzy8up;i+>`t6EaU`F%I_JzWFc_%!(RS=BJB(L1e1r{ef6AU=&})+dPY`M*^b2NU z*=g+t_)Cn*988C*lRF$&-AQHf}j9_Tgf;{`BJ8_}%YcNhkw$1*V97 zK3{;dG+8<+LBs?o9_#fwt~{s$N_9{S^mzRkR+Nu-UV9{AIjs$iNpv#80`Fb<9M*9L zmf!77bja;qA>q@T>LCv1l;Mx#bCF+#LLie>%C0Xbop`uk`?-lsY)La>PCKf=RLT&2_7BN)c6BiN6t_lnc|MD5+dI?;e!yIS8Xs z7gs!@I48eE<6#~~hayRv8#iV+MvfSQA%%I!$Qs%6zs^^2~M4#xG zaAkEpf>H=Zlb)MYZ8Lc1+bZhvH80$UGbWEtipnGmppd;tn4C#9aBX9^H85EU?KH{w zI-Ld+$Bn=x7oCN3&K!$^f&Jn&+zziJ9{J<;efayw-(b_`t;`FFlajn23I#iBNAta8 zWypyqAG?$1)7cs8t|pi?fQ?P9xODbXxLoc|Yfy2{#ZGSwY1O!B+8MZZ?sQBTR~(&_ zOrFX8WpXZPP5ZJ=^gvhzqRbNc%}0Va(hcbl=i3`U2bGtHkJN(V8}ZZ5;N}i_7NT#gpr(hNa!5*QAIfpLgzfCd%W-3}@itc~K@_v*de;!{ZSW zP6Yquzr2T6)_nk%+sm}4qs%P;T>8sv@$*Gj_7#A#21uN2&UMQ=tUzejsX8HjZpm%e zVD=T$ zx9upy&u+Mnb-iQne#n9;1^Tm2AA?m7+=Rh{21F8!T;uk|5Me>cTTeZ=0Z%=*o)Zj( z65-N9)|!9K#du&@a{ZZvU04*|-+Z?V*Dqel$IZyCqa~TmiTU#`!ScIqVCy8;QOCS; z&=&xTXYdJzh)nj$XW!$V`<~&3KDAQ09T9m&;;PH0;&%`JqHmIj$W+van0Mp-OrmMW ziI-8lyZg@h_@4zc+q|CDm!P$O7ReEm9B32CrEj_85m5XlmnLxO=p3Esf8?QC`vySa zt`wZ-&R@=4Osmtdq_pb(n=xy~l*q3=NlYN^ZIFd0)YLXHh(B!I!<33Po{pFN&EyuPE87hRpk=x%OFS)jP7pbhkYBEfx?WxHEccb~`3TT~?7eW$a} zQvxvAhyH*1-bnyc+|82!o&+#O1XBF^Nees)V2TK&`1O+(m?D7x2IhWi)J(8(R{#J2 M07*qoM6N<$f?yDmPyhe` literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png index 9d0ddb0b3201019df0999a6a0ee5fac8b72f8e81..ca1cce4faf3395f0fcef458ec46bcf224cadf2c9 100644 GIT binary patch literal 6034 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 M07*qoM6N<$f?yDmPyhe` literal 6175 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

M!N1r z6GtaqQ|l491m?BV7NPXWiFSoR5vNka$EcBm@c806?12TSu@Bwbz_z`f?9k-+m}+*< zz3>iJzx@HUS~WYYwo#5KKfUz)PciAT38xoa;XNsABB_y1m6H<^JSmPSwb-4wdFprZ z@Po5>D|Xdbmuiq>kE)UtKf3f4E(M9qPuyRKNTiHi{k?CUZg6Gofvn&MQy1Z6eN$AJ zrY%KXG$aH5Y|$*-dh_>q&OI&R^cL`f-^sa_AFIZ_KYbSa4;)2ChBjR(F=+*nI|_~$R-wKq4QPj&_<{3$HR!Hdr>!kAHm*&~xC zdZrGsn+WK|kN*~H-usv3Ncs9g_xE@GBi)e)`!zV8^Zl7(H?@?wvoK zv#idJ;-5)i3jvDe^v5;-zcg%^xU8d#3ZyVFA287Q$}o+s||L>nY3vLQm_$;_* z!A&6oDZKPq%RLKj3K2-*rO#UKS#VQ`KngGYAE~Y7&P?7QrvLx|07*qoM6N<$f|6?6 A_W%F@ literal 0 HcmV?d00001 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png index 33ab684e37b3ec1bf22bff5eee5fcec4eeecbf9c..173c6ec953ae95ec3fcb817c9d136e1ebba428ca 100644 GIT binary patch literal 6646 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

M!N1r z6GtaqQ|l491m?BV7NPXWiFSoR5vNka$EcBm@c806?12TSu@Bwbz_z`f?9k-+m}+*< zz3>iJzx@HUS~WYYwo#5KKfUz)PciAT38xoa;XNsABB_y1m6H<^JSmPSwb-4wdFprZ z@Po5>D|Xdbmuiq>kE)UtKf3f4E(M9qPuyRKNTiHi{k?CUZg6Gofvn&MQy1Z6eN$AJ zrY%KXG$aH5Y|$*-dh_>q&OI&R^cL`f-^sa_AFIZ_KYbSa4;)2ChBjR(F=+*nI|_~$R-wKq4QPj&_<{3$HR!Hdr>!kAHm*&~xC zdZrGsn+WK|kN*~H-usv3Ncs9g_xE@GBi)e)`!zV8^Zl7(H?@?wvoK zv#idJ;-5)i3jvDe^v5;-zcg%^xU8d#3ZyVFA287Q$}o+s||L>nY3vLQm_$;_* z!A&6oDZKPq%RLKj3K2-*rO#UKS#VQ`KngGYAE~Y7&P?7QrvLx|07*qoM6N<$f|6?6 A_W%F@ literal 7034 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 literal 7134 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 U%_{~>rvLx|07*qoM6N<$f~c6B!TR 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca859a3f474b03065bef75ba58a9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb86cdfe0d15b4b0d98334a86163658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee1c98386d13b17e89f719e83555b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3831 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 diff --git a/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/apolline-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 zcmV-m2cP(fP)x~L`~4d)Rspd&<9kFh{hn*KP1LP0~$;u(LfAu zp%fx&qLBcRHx$G|3q(bv@+b;o0*D|jwD-Q9uQR(l*ST}s+uPgQ-MeFwZ#GS?b332? z&Tk$&_miXn3IGq)AmQ)3sisq{raD4(k*bHvpCe-TdWq^NRTEVM)i9xbgQ&ccnUVx* zEY%vS%gDcSg=!tuIK8$Th2_((_h^+7;R|G{n06&O2#6%LK`a}n?h_fL18btz<@lFG za}xS}u?#DBMB> zw^b($1Z)`9G?eP95EKi&$eOy@K%h;ryrR3la%;>|o*>CgB(s>dDcNOXg}CK9SPmD? zmr-s{0wRmxUnbDrYfRvnZ@d z6johZ2sMX{YkGSKWd}m|@V7`Degt-43=2M?+jR%8{(H$&MLLmS;-|JxnX2pnz;el1jsvqQz}pGSF<`mqEXRQ5sC4#BbwnB_4` zc5bFE-Gb#JV3tox9fp-vVEN{(tOCpRse`S+@)?%pz+zVJXSooTrNCUg`R6`hxwb{) zC@{O6MKY8tfZ5@!yy=p5Y|#+myRL=^{tc(6YgAnkg3I(Cd!r5l;|;l-MQ8B`;*SCE z{u)uP^C$lOPM z5d~UhKhRRmvv{LIa^|oavk1$QiEApSrP@~Jjbg`<*dW4TO?4qG%a%sTPUFz(QtW5( zM)lA+5)0TvH~aBaOAs|}?u2FO;yc-CZ1gNM1dAxJ?%m?YsGR`}-xk2*dxC}r5j$d* zE!#Vtbo69h>V4V`BL%_&$} z+oJAo@jQ^Tk`;%xw-4G>hhb&)B?##U+(6Fi7nno`C<|#PVA%$Y{}N-?(Gc$1%tr4Pc}}hm~yY#fTOe!@v9s-ik$dX~|ygArPhByaXn8 zpI^FUjNWMsTFKTP3X7m?UK)3m zp6rI^_zxRYrx6_QmhoWoDR`fp4R7gu6;gdO)!KexaoO2D88F9x#TM1(9Bn7g;|?|o z)~$n&Lh#hCP6_LOPD>a)NmhW})LADx2kq=X7}7wYRj-0?dXr&bHaRWCfSqvzFa=sn z-8^gSyn-RmH=BZ{AJZ~!8n5621GbUJV7Qvs%JNv&$%Q17s_X%s-41vAPfIR>;x0Wlqr5?09S>x#%Qkt>?(&XjFRY}*L6BeQ3 z<6XEBh^S7>AbwGm@XP{RkeEKj6@_o%oV?hDuUpUJ+r#JZO?!IUc;r0R?>mi)*ZpQ) z#((dn=A#i_&EQn|hd)N$#A*fjBFuiHcYvo?@y1 z5|fV=a^a~d!c-%ZbMNqkMKiSzM{Yq=7_c&1H!mXk60Uv32dV;vMg&-kQ)Q{+PFtwc zj|-uQ;b^gts??J*9VxxOro}W~Q9j4Em|zSRv)(WSO9$F$s=Ydu%Q+5DOid~lwk&we zY%W(Z@ofdwPHncEZzZgmqS|!gTj3wQq9rxQy+^eNYKr1mj&?tm@wkO*9@UtnRMG>c aR{jt9+;fr}hV%pg00001^@s67{VYS000c7NklQEG_j zup^)eW&WUIApqy$=APz8jE@awGp)!bsTjDbrJO`$x^ZR^dr;>)LW>{ zs70vpsD38v)19rI=GNk1b(0?Js9~rjsQsu*K;@SD40RB-3^gKU-MYC7G!Bw{fZsqp zih4iIi;Hr_xZ033Iu{sQxLS=}yBXgLMn40d++>aQ0#%8D1EbGZp7+ z5=mK?t31BkVYbGOxE9`i748x`YgCMwL$qMsChbSGSE1`p{nSmadR zcQ#R)(?!~dmtD0+D2!K zR9%!Xp1oOJzm(vbLvT^$IKp@+W2=-}qTzTgVtQ!#Y7Gxz}stUIm<1;oBQ^Sh2X{F4ibaOOx;5ZGSNK z0maF^@(UtV$=p6DXLgRURwF95C=|U8?osGhgOED*b z7woJ_PWXBD>V-NjQAm{~T%sjyJ{5tn2f{G%?J!KRSrrGvQ1(^`YLA5B!~eycY(e5_ z*%aa{at13SxC(=7JT7$IQF~R3sy`Nn%EMv!$-8ZEAryB*yB1k&stni)=)8-ODo41g zkJu~roIgAih94tb=YsL%iH5@^b~kU9M-=aqgXIrbtxMpFy5mekFm#edF9z7RQ6V}R zBIhbXs~pMzt0VWy1Fi$^fh+1xxLDoK09&5&MJl(q#THjPm(0=z2H2Yfm^a&E)V+a5 zbi>08u;bJsDRUKR9(INSc7XyuWv(JsD+BB*0hS)FO&l&7MdViuur@-<-EHw>kHRGY zqoT}3fDv2-m{NhBG8X}+rgOEZ;amh*DqN?jEfQdqxdj08`Sr=C-KmT)qU1 z+9Cl)a1mgXxhQiHVB}l`m;-RpmKy?0*|yl?FXvJkFxuu!fKlcmz$kN(a}i*saM3nr z0!;a~_%Xqy24IxA2rz<+08=B-Q|2PT)O4;EaxP^6qixOv7-cRh?*T?zZU`{nIM-at zTKYWr9rJ=tppQ9I#Z#mLgINVB!pO-^FOcvFw6NhV0gztuO?g ztoA*C-52Q-Z-P#xB4HAY3KQVd%dz1S4PA3vHp0aa=zAO?FCt zC_GaTyVBg2F!bBr3U@Zy2iJgIAt>1sf$JWA9kh{;L+P*HfUBX1Zy{4MgNbDfBV_ly z!y#+753arsZUt@366jIC0klaC@ckuk!qu=pAyf7&QmiBUT^L1&tOHzsK)4n|pmrVT zs2($4=?s~VejTFHbFdDOwG;_58LkIj1Fh@{glkO#F1>a==ymJS$z;gdedT1zPx4Kj ztjS`y_C}%af-RtpehdQDt3a<=W5C4$)9W@QAse;WUry$WYmr51ml9lkeunUrE`-3e zmq1SgSOPNEE-Mf+AGJ$g0M;3@w!$Ej;hMh=v=I+Lpz^n%Pg^MgwyqOkNyu2c^of)C z1~ALor3}}+RiF*K4+4{(1%1j3pif1>sv0r^mTZ?5Jd-It!tfPfiG_p$AY*Vfak%FG z4z#;wLtw&E&?}w+eKG^=#jF7HQzr8rV0mY<1YAJ_uGz~$E13p?F^fPSzXSn$8UcI$ z8er9{5w5iv0qf8%70zV71T1IBB1N}R5Kp%NO0=5wJalZt8;xYp;b{1K) zHY>2wW-`Sl{=NpR%iu3(u6l&)rc%%cSA#aV7WCowfbFR4wcc{LQZv~o1u_`}EJA3>ki`?9CKYTA!rhO)if*zRdd}Kn zEPfYbhoVE~!FI_2YbC5qAj1kq;xP6%J8+?2PAs?`V3}nyFVD#sV3+uP`pi}{$l9U^ zSz}_M9f7RgnnRhaoIJgT8us!1aB&4!*vYF07Hp&}L zCRlop0oK4DL@ISz{2_BPlezc;xj2|I z23RlDNpi9LgTG_#(w%cMaS)%N`e>~1&a3<{Xy}>?WbF>OOLuO+j&hc^YohQ$4F&ze z+hwnro1puQjnKm;vFG~o>`kCeUIlkA-2tI?WBKCFLMBY=J{hpSsQ=PDtU$=duS_hq zHpymHt^uuV1q@uc4bFb{MdG*|VoW@15Osrqt2@8ll0qO=j*uOXn{M0UJX#SUztui9FN4)K3{9!y8PC-AHHvpVTU;x|-7P+taAtyglk#rjlH2 z5Gq8ik}BPaGiM{#Woyg;*&N9R2{J0V+WGB69cEtH7F?U~Kbi6ksi*`CFXsi931q7Y zGO82?whBhN%w1iDetv%~wM*Y;E^)@Vl?VDj-f*RX>{;o_=$fU!&KAXbuadYZ46Zbg z&6jMF=49$uL^73y;;N5jaHYv)BTyfh&`qVLYn?`o6BCA_z-0niZz=qPG!vonK3MW_ zo$V96zM!+kJRs{P-5-rQVse0VBH*n6A58)4uc&gfHMa{gIhV2fGf{st>E8sKyP-$8zp~wJX^A*@DI&-;8>gANXZj zU)R+Y)PB?=)a|Kj>8NXEu^S_h^7R`~Q&7*Kn!xyvzVv&^>?^iu;S~R2e-2fJx-oUb cX)(b1KSk$MOV07*qoM6N<$f&6$jw%VRuvdN2+38CZWny1cRtlsl+0_KtW)EU14Ei(F!UtWuj4IK+3{sK@>rh zs1Z;=(DD&U6+tlyL?UnHVN^&g6QhFi2#HS+*qz;(>63G(`|jRtW|nz$Pv7qTovP!^ zP_jES{mr@O-02w%!^a?^1ZP!_KmQiz0L~jZ=W@Qt`8wzOoclQsAS<5YdH;a(4bGLE zk8s}1If(PSIgVi!XE!5kA?~z*sobvNyohr;=Q_@h2@$6Flyej3J)D-6YfheRGl`HEcPk|~huT_2-U?PfL=4BPV)f1o!%rQ!NMt_MYw-5bUSwQ9Z&zC>u zOrl~UJglJNa%f50Ok}?WB{on`Ci`p^Y!xBA?m@rcJXLxtrE0FhRF3d*ir>yzO|BD$ z3V}HpFcCh6bTzY}Nt_(W%QYd3NG)jJ4<`F<1Od) zfQblTdC&h2lCz`>y?>|9o2CdvC8qZeIZt%jN;B7Hdn2l*k4M4MFEtq`q_#5?}c$b$pf_3y{Y!cRDafZBEj-*OD|gz#PBDeu3QoueOesLzB+O zxjf2wvf6Wwz>@AiOo2mO4=TkAV+g~%_n&R;)l#!cBxjuoD$aS-`IIJv7cdX%2{WT7 zOm%5rs(wqyPE^k5SIpUZ!&Lq4<~%{*>_Hu$2|~Xa;iX*tz8~G6O3uFOS?+)tWtdi| zV2b#;zRN!m@H&jd=!$7YY6_}|=!IU@=SjvGDFtL;aCtw06U;-v^0%k0FOyESt z1Wv$={b_H&8FiRV?MrzoHWd>%v6KTRU;-v^Miiz+@q`(BoT!+<37CKhoKb)|8!+RG z6BQFU^@fRW;s8!mOf2QViKQGk0TVER6EG1`#;Nm39Do^PoT!+<37AD!%oJe86(=et zZ~|sLzU>V-qYiU6V8$0GmU7_K8|Fd0B?+9Un1BhKAz#V~Fk^`mJtlCX#{^8^M8!me z8Yg;8-~>!e<-iG;h*0B1kBKm}hItVGY6WnjVpgnTTAC$rqQ^v)4KvOtpY|sIj@WYg zyw##ZZ5AC2IKNC;^hwg9BPk0wLStlmBr;E|$5GoAo$&Ui_;S9WY62n3)i49|T%C#i017z3J=$RF|KyZWnci*@lW4 z=AKhNN6+m`Q!V3Ye68|8y@%=am>YD0nG99M)NWc20%)gwO!96j7muR}Fr&54SxKP2 zP30S~lt=a*qDlbu3+Av57=9v&vr<6g0&`!8E2fq>I|EJGKs}t|{h7+KT@)LfIV-3K zK)r_fr2?}FFyn*MYoLC>oV-J~eavL2ho4a4^r{E-8m2hi>~hA?_vIG4a*KT;2eyl1 zh_hUvUJpNCFwBvRq5BI*srSle>c6%n`#VNsyC|MGa{(P&08p=C9+WUw9Hl<1o9T4M zdD=_C0F7#o8A_bRR?sFNmU0R6tW`ElnF8p53IdHo#S9(JoZCz}fHwJ6F<&?qrpVqE zte|m%89JQD+XwaPU#%#lVs-@-OL);|MdfINd6!XwP2h(eyafTUsoRkA%&@fe?9m@jw-v(yTTiV2(*fthQH9}SqmsRPVnwwbV$1E(_lkmo&S zF-truCU914_$jpqjr(>Ha4HkM4YMT>m~NosUu&UZ>zirfHo%N6PPs9^_o$WqPA0#5 z%tG>qFCL+b*0s?sZ;Sht0nE7Kl>OVXy=gjWxxK;OJ3yGd7-pZf7JYNcZo2*1SF`u6 zHJyRRxGw9mDlOiXqVMsNe#WX`fC`vrtjSQ%KmLcl(lC>ZOQzG^%iql2w-f_K@r?OE zwCICifM#L-HJyc7Gm>Ern?+Sk3&|Khmu4(~3qa$(m6Ub^U0E5RHq49za|XklN#?kP zl;EstdW?(_4D>kwjWy2f!LM)y?F94kyU3`W!6+AyId-89v}sXJpuic^NLL7GJItl~ zsiuB98AI-(#Mnm|=A-R6&2fwJ0JVSY#Q>&3$zFh|@;#%0qeF=j5Ajq@4i0tIIW z&}sk$&fGwoJpe&u-JeGLi^r?dO`m=y(QO{@h zQqAC7$rvz&5+mo3IqE?h=a~6m>%r5Quapvzq;{y~p zJpyXOBgD9VrW7@#p6l7O?o3feml(DtSL>D^R) zZUY%T2b0-vBAFN7VB;M88!~HuOXi4KcI6aRQ&h|XQ0A?m%j2=l1f0cGP}h(oVfJ`N zz#PpmFC*ieab)zJK<4?^k=g%OjPnkANzbAbmGZHoVRk*mTfm75s_cWVa`l*f$B@xu z5E*?&@seIo#*Y~1rBm!7sF9~~u6Wrj5oICUOuz}CS)jdNIznfzCA(stJ(7$c^e5wN z?lt>eYgbA!kvAR7zYSD&*r1$b|(@;9dcZ^67R0 zXAXJKa|5Sdmj!g578Nwt6d$sXuc&MWezA0Whd`94$h{{?1IwXP4)Tx4obDK%xoFZ_Z zjjHJ_P@R_e5blG@yEjnaJb`l;s%Lb2&=8$&Ct-fV`E^4CUs)=jTk!I}2d&n!f@)bm z@ z_4Dc86+3l2*p|~;o-Sb~oXb_RuLmoifDU^&Te$*FevycC0*nE3Xws8gsWp|Rj2>SM zns)qcYj?^2sd8?N!_w~4v+f-HCF|a$TNZDoNl$I1Uq87euoNgKb6&r26TNrfkUa@o zfdiFA@p{K&mH3b8i!lcoz)V{n8Q@g(vR4ns4r6w;K z>1~ecQR0-<^J|Ndg5fvVUM9g;lbu-){#ghGw(fg>L zh)T5Ljb%lWE;V9L!;Cqk>AV1(rULYF07ZBJbGb9qbSoLAd;in9{)95YqX$J43-dY7YU*k~vrM25 zxh5_IqO0LYZW%oxQ5HOzmk4x{atE*vipUk}sh88$b2tn?!ujEHn`tQLe&vo}nMb&{ zio`xzZ&GG6&ZyN3jnaQy#iVqXE9VT(3tWY$n-)uWDQ|tc{`?fq2F`oQ{;d3aWPg4Hp-(iE{ry>MIPWL> iW8 Date: Mon, 6 Dec 2021 16:10:06 +0100 Subject: [PATCH 522/522] [fix] adjusting application name in all application configurations --- apolline-flutter/ios/Runner/Info-Debug.plist | 2 +- apolline-flutter/ios/Runner/Info-Release.plist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apolline-flutter/ios/Runner/Info-Debug.plist b/apolline-flutter/ios/Runner/Info-Debug.plist index 08fbb694..d3997417 100644 --- a/apolline-flutter/ios/Runner/Info-Debug.plist +++ b/apolline-flutter/ios/Runner/Info-Debug.plist @@ -18,7 +18,7 @@ fr CFBundleName - apollineflutter + Apolline CFBundlePackageType APPL CFBundleShortVersionString diff --git a/apolline-flutter/ios/Runner/Info-Release.plist b/apolline-flutter/ios/Runner/Info-Release.plist index d6a67b86..540e2c1a 100644 --- a/apolline-flutter/ios/Runner/Info-Release.plist +++ b/apolline-flutter/ios/Runner/Info-Release.plist @@ -16,7 +16,7 @@ fr CFBundleName - apollineflutter + Apolline CFBundlePackageType APPL CFBundleShortVersionString

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%0Aph}qQYN1U2_^~hH-8clS)JL2T_ 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 pQsvtlCqi=T!hwj!yG1fl@ouO;vr zeDi41sF~7yX;kw5ed-`sJv-2P`UtRpRIW}=?`MF;=A;INZ5??ca9deFU-pkAkRm*c zOY#RdnAp$Oi&I#oz+&jqXWFS|~O!nhEqK`{^#5Uj%)EEQq){5E28v ztS!DnJpYS}iUux@RMe2c=cB1&kB9OqvaB4*w?uqEntQ~BVX^c6nNTj;**~Q8AWPMY zhgkQUMvKwbHro?u1j!5pQvhEO16mjM)eFk2=U(;I@Sc^&jl9~PESaJ3oe5ZY3NoRW zUy2j9#5ek&ORJsZLPAI1I`z5V6kwdHrW-G~?MQtDE(Ilv0EuX~+tpr|vhMoukEr1A z!w(BNd*`e*_RgDF$q~dZV?XHLHF85Pb7#0_O@LudxXOs8b z$-f?Pwg^UP;1YIrc5>(e4LbaU3|eN6OFd&m<^b5diU?Lxeqs%dGH63JA9Y1SVhdiP z2AZ%<5-O6GB(5m(4ay5YUx~F}l=urRe?z;G{+B-lTe-ito0iVF7b>y}=8@SqkAq}* z)Qz&T(gYpo1&rLN`1$jznP-Qbpc@V?AX#+2Gb<5m>*;1huAsR-UDD#zNQx3#yb%m? z0~v0{>)pFMLqUouM>2uR62+zJ6a*!E*c?Y2z>!79s4553Q81w zU0MViTc31<_gvEJy4Sm?y=(~%#>WoReg3I};rm$y3dP4;; zqc6S%rqiTb0#NN8Sjn3pE071fk!{2fPOb`ZiM15m=1J#n7^mLDeD8UKm~m7LSf2B3_B*BIHs(d9+D{ z)G8|mR5?3}O9iJjBiNMXX8;6ifY2)J91*4eF%o+zv99)Fct&C&Mi3}HDfm;dB-yT2 zeUJO?9Oloq>kiv`6@wKouSqUw1RBu3efw;5g93=8>@9<^kaf(;i(_K@B4s;}%kTK} z&_Y@$1=<7%LN?6)lVVK+-EcHRLX<#9`iI~ilLNnVA3b{1*#<}<-RIAr@2X*TG>^4Y z7(3*_Dxp3*)w_Zdu5E1c-$H{eEUtAqO!`EKpesV+rWtCr1CGQ$fyXP$`yl$9m;-MT zgcJq?HK(b#$q|M2duRiw){ouwax64S^yESa94LV;oj-}{guPN|i^)}!ues-&2RbGu zlgmHT2=E$O+}?qqh9Roe8O#&s`(J`pT)C_mC|5%Zd{`vi#ABYw|XhMlVRId(4wu!xgxJ86m zdMNtwx-Sis_H7{32?45mPSxO@hDRSUwXKph7ZDU5{S(ZBIha6Gv8s-mJfYjCwH3G&GZ zkc1)f+NObu(+pqg$>7CzYr`*&k3sv4FrW}WfJw1-U4_n}IpPvmOCW9qPdN6xw@G1o zMlbae#2gRw-Z465x|Z7FUM`F3p8)jTxi4%M^??v{9>WV7X<5|RE{F|v+=|CC<93}# z)1}>EbyPzBi<$6~xE<$leU4YOBq;f1MfF9Rv7tM8o;=qjK74?G>XGE9?e5Si9qCF6 z4m%OUYlQvOtTW_rGtt|Doc(oonSAhI_n=4!ZP$I!hB}D-UG+ccJ0tS-^+h~LUo&(K zKn%_fO;-P>sQ&)_4(P_uLJocb5n}p$dx&4}pYaM;u$J0@;>k=*Oq}}J^x#+lpq>a? z7<$RvkpO97#*=F81}0Cvi^A>~kHp5sUATkhAUMDPBJH%b`?;ZPiyWI?DLv%@-w;So zZ16Ei@12wISs2N&20fsNoq8jqpb{2hmj;Gg&xp&*Ct3pesD+~1W4B|`QCp7>ndKa4 z<3A1Q6supRWxh_ZppL=#Q74=$fdrj_S?J)VP&eTGBVXQ3w~bmpFbw`qbB_R{L5F6_ zhg-TmK~r-#l8{8B%(?AYMrRc0Y%uY?qTIx=dEF9SoNutG2cu59U7`{f_R_n%oxMPQ z?|U+BiB}0NKe<(DVwE>6FO{ld2t``yIu2ZOC&kBf=3@Z}Fdggu%EI(y)$Q%<0s;a# zDnVQHt7~hnbL}DfFMwJzsuob8a1g7*fW49v%uU2x(l#Cek~yoNE7T<{Ai9Uk0nfXK zwAWmV82}8b00J}XbOR1KtTchl{cuncg-HP18ZH2fIj!MP4VHTK_N@p(mspOof)s_{ zMm+fvE5y;hb#TDkqqhWK=gvlUt)=HF1Q23tn3M2UMoGa()LMrqU4P`k(Sz+u7&ff#-edJXUAb zKnZ367UwIN!Sn6cuV0>O0Q6f1MM|1YquW^5`nns++%DqKj$XS1VQj+2qYeh^HbAwY z8v0NQfoa0D&{jP=0RntAn=zF6)Ks?YFfLY*}8a$Q5Uth929z1w(88&pO zmbS|fx&>KS`lhFAQ7M6a{+%3eTNbQT#@7#Kp zac2eMAOPaBJ1__sc!fnp8^9;i9N^^@5f+{f02$~r{EWO-|3BXoLBK$R*wP#ZkQkgE zSXK8xE=0rsfEC0}Egu1b?;VS_@v<9g64+w^q}8(;f=}P~zXHSLG-zla^=0)D>TZPr z<(+pEE07qm8VoIld<2;-?0llie_fspG5@zaD_H)-jeR6QET2fa6M`{vE)7KB(8p;r zwD{~Y9{t79+J$$prQ}4!0H}l4;RiuGi!>fr(X|i0>f~^9hoUk_WlaVrt+9<7-4~NS z<8!y*Fkha}`*x!D!%`M_UC8%c;5A>IGb`R%L zG!qP0_9ocrb4}FC#(-u%nqe!-BHfQWG;D_eX>*kYi7&vGjx)eka3jnl1Cri70%W&6 z!p4RJba64Vwe_k2%k}2{`*t(X+!YP1Mw`@}s*0|wU!U#P)zw`CYQ^bYd^7)~(#j7$ zSGGrdz#Qs|L=tqM9Ejt`e2^?qJPhxHVbN=V{_YgX9gHz3RF>1L7}qDNrNh9HDUitj zF37DcmkZ0uiN6`ysu@6Rm+B%6M17KC{c*Qvro+%e;k$=k;g~N|AOcq;>SH0o1OrVx ziaP2D$1fJ`*XNs*xL8Q%DreOjLTQ2}Uk&z2>wYpvS7qEd|Wq5OEw zA~WMTr=Z@wWW$_?eXqsOeSb|WS$9530jf#i4OyxDA*p-sYiHa?DOPCUT8@aReHcIi zFbk&w1jsvYv;qR;z}ox;x{&1j{QP@B6Qm2;wqp;MdK1*Fnmi^dV`F0@IXO9PuqOj* z*fg*()v$*^CQJ_K7`Mv+g57-F2N?k@f^qmV>tzVfMCSq>vhwHEJx(FRqST4a!)@3J z1y~$W=_5DSTy*Ely5W&_vls7?>h-H*^w%+1@uPb}d%>989dmSE5UY_g@(&`APqqH?{b%ch7SnkmQf^F}=&psC~S+goppgdd5Dh+M^!@P|7~y|>M3Y_IW1 zOZ(ab`9ueHCqb=UZywk!`#w;WA?jm^UZU)P%-T?2KR{6k*x8z4qjRf&hJ}+o&cRCV zdV}Tmx+{MX>pN%4(8Wv89mI9JW57;#DmUzmqeQZGwb7@^h{4YANu3e8>TdaE@ z)}RLDG>o7N>?#A9b(=AAr9#4ffO=qOX3hP?XDl~Q@u5<@PiAwsa|P+v_3pYK|vAhzCAU*1MHTr#ZzEJ()3Gn@RgJJ9~)zv!? z@jt&KnrNUrXbIAVmkx>(KZNpkUSQusp#RtG%M(vue~~(IY<+=j5ltxu+qGLO7_p^& zH<=oyy~)x`X2Qk~(Es#`&wG4UPyS+%Ff8=;-CbgB6p%2;2bv>+LX8-Fw8mOsB#lj) zlZA7;4N9Lwcwu)mgO3%HPaX>69_~g5d+Oc{@QJ*Q1|O@OwIa6`nu?Gnm*eTx31Hc& zI(42j4Lh9i3Kj(DeQ|PEh33|YbzKN1hE~cfmZ!RE3I9$r=FG4XTYN20;`HDBzJDKq zAefsHbN{(YjDFHd*jc>fgwPH|{JxLQ;K z<2iN=0Ag2RVu+=Q6@#BahGGCTfq0RDfTLu}_o>9c(!Cwuia!5~#&<)k==!yTk-b2; zD5($11-S$dhN)h@jK5on-1{P$KfK-zYy&oc zssNDd(tE!_fuh7DVXyxqI$EbotWW+x2ngsrXlF6Qse=C#S@x@kI^BUavBNLVV~=fW z0ql_T<%VqFh!%%GxPS!ohZwnVZW25J?J^CS29kT-s5e` z!2O!>0e+i^ICx1isMOaa?REbf8hp=ras`PtK8A%Id1meufcYrkE1X9*14(v_v^Q+V z2gz(uG#y+#Ns2)~s@=~d@7*iR7+JL}mjFE-Nz0iE6_hqb0OcKUT@cg!Bg6TsDQbs_dN5XLBmEO;23jok|)p~3!2%7(pp0%&=!)`#M8Bhce4kkb% z;2Yk1uclVZZ>FzhzqmdT|J~wPnWg>Z&clZ{1kHW~vA#}kT2I&!-kKf`4MVcl&m`j+ z8*zZE0~8dRiWhWrEBdvY%v7X1mTN_?;?{V`Sg`-B(*x4KOZ997Adf~~r=7cAximm^7OqLzVnIo#*6iB~3ecZoBREnRADzVErT8YYQC5l;O zVb;1b1_hoFB?O9PKnZ*|xm7r9f6Kex+}O}C$->CU>u)D3a_Zx!Pqn^(a_-uAgQ5J5 z*|b zix&Q$op4+dMNStROrLGiPLMNBFX0->iUlbUdmO`J?oumO1n~8DDN8-K50D) zWvzg&W>OL8QZBDk(oP4APIg7t{g^ST1XiZ4@JkU~9Q?b1={d9M2^W-jq#?C2I*d55+fo^TrbrogNbmEJnM z@rGC6tG`Kh$ZtE^URphJ6xPc2W#50!?@c_7T2f{W#NZEQpj8zcftX2 z!9>ad7Ss}lx5I%xsMvt;vv%j2yDUZ@#GBZ?0E&)q@FDp$fECgbVCp;d^nBy%$=jo0 zLkk~3fTz8podvz{2>2tnA=fHUs$i0aY?IzQ5R@ktxY6~`CdNPwb-cs@b@`()R|4c2!~U2^BUl)!knsBwng2GG1m7D^Gg zUM}77tva9^DM7RBAiu-1xo>u4SPlMDYr$;>26!m8Y8xVfSSusmg$mq2a(KcyKa@`P z0vjU<3k+%J=^ED@6cYbg0MEdnS-xj`sLwz%!X6%Ap(*cu$Qa&CE+*`D$?-!<2peRl z06^I+?3R^Rd*7mM|B|TtpNH_rTNy7p)-IbE;j+=#2@LiUM>2hDmz}jcD|sI~K&V2G zutU<=hos-u(b`nddX@3wPRNHJwAM_3Sv0|DpMJTiZa!O)?j@O_OQWRhP|qg!u4nPC zPaE7g`fgAt!Alj^4LWBtrMKtq=T)s=-F*;h%Av+1=Vlj(}x?zi!~FAdn7m z9~=5)hp>R^I1Bcrby+X(2RM3myrszTmqMCfe&J}Ue~0#|r+xM^AQX%VXJ?VaP}FhF z;-~K+rdDB$WD0n4Fhr)Z!AoU7_v)FN7IyXZ_5JMWkw3dSnMGbV*0sO4~NP|jtn)T+PWQJx)U z2PEOA+-P_;eg=c@nGzO6^axoN_rWjJLLQ@ZYl#mq1wEyI$jWPcffqG49JdPDp} z;Odr+Z_OFaFeNNXm#V&~J4_49Wi2N_b$mm65?3?gOp;EJG)d?k3%ynHq~w~?B6+^< zbQb`XQ+ZGm!DA>DFt0s!V$X!>z*2hY3KOTok`jZJl@(e$JG-%D_P%NqbBx`F zIG7r;-1MeW)T4X^#*rC^fA|(16i2=LjDgKiMUdahm98h%$NJfBqaRL|u8w5R<1S>$5zCNiN z+33$yBbRcXO160XxFRxlO$-WyJ!elqhr&@aKp@C3`6*%=K4M%wjP4Q-pz z%Fjh}{-VD1b9L470ILjq#b#9pauYXH`B>I`Q17 zSp24e4_1-nwTz@3aoy(+`ZS?CE6p<@bu@6mw75=v1sn^Q%mti(5x99kg9MaFL-rD; z#>OwYF`Pg0`f?daw68otAWXk$(ID>!#1^pDVB(9q2iy+J6bq67Q}6%|JO9Qg|7E8b z!MnS&s<)}2fOqfGGkO0bUgm&+HlV`jo9#~vAi!Tg0T4tdSmG)O1pP|Dr2Qt87?Xg; zLglXl{r~Qbe`-2;cIl*J(CXC1e17Fq`155yV-N4wA}|SkChdF4B#HFIOD~xQ79x6N zO6O`nMBEtye4+zfp2IOw^QRC6p!WkNkzh1}k~#Ek7s&|{Q)4yq^$x<~=4iReq1yKS zV%cwWKx9YQ=M3O)F1Df_IwB@n=J(ml$s*5)KMqo`XF%C-~tx#>Y@xyImUq>&#a6F}3 z?vdZwIq+qPUqHWbv2E6R9d4hg_aZ~ro-L`6J+Xl81220VFFS<*ySNIMf$GhNsvM71 z`5&nW8meUKt9|*SoSj+AdDy`elvl&5jxW4>a=w}FLPzKKME(nuQ3v4_8{B^`&Y+s9 z+YeWs9T~~}ucYKJ`0;_8i)#w_RNAlZEq2lZ?fBb$jNbLNyE{{G1LuYsGc$7t@CO)x zTgKoEeT*jlAuJVx|30@I{SG4P{q>7+VR>011KK@2WOBPa-BX%vL?W%hn!L-AkrB%> zBVW_P;Scb+mZigV@2o!??y>=F=yrTvIApt?9d)kLga_f^1Y1!5eK8`-tnxeIPu{}` zKZ_p%kL}%0b{`r%jIPe%0cvH%08%s5$w;fKMJ;7|pK%ButC0V1ThfTKSHbOwXA$4i z!XHX%2Y*K%P$FNYd8o8C?PggK;T$%3-Rm(Pe*|y(a4ExLv!Oa4xEDVqvSty!H{K)R zYFth2;Csw|I)`ocV;@?hKg%z2RyHJMbqo3y{eX*fd~FNze&=JBN$KY98Ele4n)&#zhRq%WK%1Zts@5sEI1!1kwWH1qCcsYk zxwIq^Y{Geu5Rzr;?|+kXw)_f)LjxTK$LA$M_Qf;|ktBLG1RP~>d4Hm51-00+?w^3$vUq^hQ7Q4iL#%YluJ5gbEOmFxm}L?Tssu5)8g9miBF zuaJtJMwg~CbXe#j?%L)!ey-#uCGhB2m-_g}%fw!1F^&(5`3b5Ums?2;V9sKp+}PY` zu7+~*b!!r`?`-t152D)Y(=pj&pD`&c^}XkqX)=QtPPSBY|r`bJ;9PN zfg>_Q3^bI#45)w)l+6J3D=D*FBVdGt{F4bH-(fEEze?PviPOA-JGcGr;<|-T#6B7e z-h^|?1UYpHIBQtFz`e&W`_N!G=)Vb;A<5nTeh%gPb$HCv6o=TZ<6 z**iSi7#&Rq!k2@lrltXKBxnW9OVJ`YSGg$$Q@#)B==8CJ(-GzbwUM$7KLj8sD>CTt zA|xcF5eRFKqru+s=r{6dNoInih6VaB5GvyD9-yBgAS|p_7nWDB{@F-Br5aUyK^@em za~j)~5A!4S;!K2%!M9Q=jV_Co8dB?6(3eA$lB~U*WA97o9Cqxb*H~Q)R>iii!C8{5 zra#=c%ToGLlvVQ4-`4IKW}3=gIvGEfnW}S~?4ohHow)!~CG&uf2a?w96KtCV@h z)~*N61mE1k9zGe2C~;Qg(vumo*P1W4iUp z?k3C;QmxMa>TgZT&NdATHh|ePdgT{wsl0efOK@K<#&j&W=m(9htrVw3A^A^wV$BCG z%DyHF3wn`ldBdE053%CJ7-Noe$mwOYy1E@yw5=Ek?#b!u4FrXKVi_8WSIx-2Z%s!( zhrdJ?Mjdl6F-BlWS8p6<5?Oh|`))>_DFz?U*7DTz4FgR1DeRB}0s^)5xVX6E)YQ~Y zU~ja7fvWj9IIKs&j7#xIvFS+?rZ=OG&+^+1CFeZHgBa8SB+4cv)F;eH&cdP?_}h-u z13Wc#e3S}zJ30mkaj#CmqGR={%1S@M_@6%{7=9ZA45wgpV^XCToigi=PCae)p{PSEF4n52o69XfPIP{0bv&+K?3-o7P?#sQ&(y~Z@ zurd}&e?zI$!)4C)?Y@J(xNH|SL+BU&-5>(@1Ka02aTx_#fwk(2|E*W^7O$(TyukfN zI2rSCGT=LpmS*>JaA?ddT*GtDsuIphMJzHC^5u~t{t3l+&**!*?64=3MEsIxGbVn5%Z%1jZ! zw%`ph$_i912{y?NiduDv$aGQ1yo2bK5CjAf--5s>paL8PAYLaxI2$@UJ8J_}yB*AC zY=K<@pFEek$mLvIcF-QLUV-&sLG8NsH|FNZIn{s2TepQKjXNIel7xtj*%Ddi1MM%F zI+TnLb%znX1upKvWnJVb5JgvRXlQgc11S$33nk@25)hKUlxK0FQ6XzUsN7yZI%k5O z3@O>MVj{x@B^11n{_nW^#NL|Ar}RwOi<^+$M#GiA=)LQt%`D1d`T3%znu<9Dq#m1J zy_81Z+(_+Y-`GqlDExe5Kvz3$w?E0v^DtWP%USI?VbESYG3-zco zH^<^j^8f4^28P?;>HjBeO8(qD`A^>7+doyvLytabLY)S!S(k5$XV1Q!8mh7BWq>l{ z?`v{KP%W|e#ysY53ZFZ|| z{8y0ls{$xb=Qd-VaB~Ua@vtmjz?Kl1tRRvolkFak9Q{FIS+yjvoIlK&xsz*K^mLYmGBHJVHP7#SD^t1@AqjkDh5p$&<|#^; zX%&4}TV8#4uSYR3l@0ATdl!h_%1hBhluWW$2#tnc9RuYu(k~Th^928LF4(gR&fHWv ztQVb%DpWPIzxAh_Ar|C`xO;kt?-k)qlwF`d$#}x>ic7D!F|F)*F^&Y5|+9Mj}($7r&w0S&uc+H2WeaF2&PANg3Bn^hFoc} z{(nSiwC|9iLn^(_5&#YtkxC~tl?RqG1NfA=J)J{3N%QxQy>FV85&HRPb8H@Zh*GlE zA%-ioR=4NXxZ_V4R786VHi+3h(c9k2Hnga+rs0jB4s4l&Kq{bGps$wOpAo{N21=mE z9%fVtuQ@osQtw4GxbieG815v@`+@_$vphdG?zl3h_L*Qd@;m^*TM$L%E=A%_oKSI?>&6^^5q?{dFBc*pYMQ}*z^t9 z;VA^9$ckyd?aV=9*iWAt zR{h?mEP7YEj?Uw#cy13{m;bTdBIJ(yr;iglJfG>83P|Zu~*z|SX{T@ki>rf1iLz^4ngc~{Gfnt zoc<#}GYBr62=8nD_m+DbIU%6F-~vKD31A)g5)e6^tiZieke}cF7^r%9dOwP-Ok+~{ z(Fia(@8HlFqsNrSG#CU{56W z3@U^EgER|x=nm*1Om-E%{BK|_bjBYU{E%mmQVNJJ0fv!Pr-ABT=gxUX!?EA3h6qk; zb^FTZEAvc&Tg!szz8p^k(+Tkm>j^RFFzG4LJa6dq(4FITR+n6){}MJ%26mG)uIOm1 zcN{MFgOAbpti5?7Shbdi2%bxuDJeRcv^a>>+j3&%m&oWet@%vmF6lMNGY;o@XGdAL z1A+djDOjxL1OU=*K;l?$*iPnR9tj^8JQnx zy=T_&B)Hr#+;zcMkR-KRwSRyJyv=~EX5c@d*@mOdG~$R1^^jXEb$-TVaG@Z4>DOA~ z3VJjIgI%cj}gdgmfV?$=U$?!$o&3|u_99byGIzY4a~mc14RQj zCmDANcw|jYyRDaWundDjuuo@TcsQt|LmfDbb^)`Mbe!? z@XAsuEiFAgKwga^uhQDBiLcmQ{AybkDM&au7Gshtqqz4yf1`Twh#A>?3;4o^DdjL4Qc_A;EBAAp& zIg7_jQ#I}2zK6s7(!XcJBp6TF*-mfvrq)G{g?!`{ELQQsr4{{{m42R{p`IWfykYQl zgJGbq@U8}#ZN}$b>Digt%Q{dN>zBZjgzh{lB%_v??h>$9^ERMl$sLLdLKo|$)|rIv z=KF$Z`>wyV6Hj^{FZHTmmry&{#gYT_vav#L9*=H&g;vNdl)he3EBb z=3RH%65(dG4+9v>s6(|%RJs?{m#DsH71c6o6{~{wx}FQgj+;43(9u9Kw=&THu7at` z*U^oF4RRGS99V`FE#zH4!v@vX)eTHdMS!yYF;HE-dh_Ni8*rGffD`h5`1|*JcmxEW zwigzxt)4zTs*;-ZJ1|o0Prix_U|t zYOkm}zdUU^HY;3{EAc+O*7lmUmz*h24LT|Qdnf=!6k|7G?)|fMBg&1S48-;lS{LDu)gP$$uF{pC-I>4 zzTl|Pl|$|bX1)LX)hA7%L)y)}LGlEs|7e}A{~b!?%AEA08MdHBaIOIi03flkYBbkU z+lFlG>LLwwW~kDG8fo9Z_{Sm7tai#CY|12P_pajd*xV-@uiYuA{&i60f(ovj zH|XCVpEm&zOd$6K*rk?}YJ$OQc7;0p6N>*_&+PDf&3ZaB2W9zOvbxwQz~ z(h{}{7F9ItVgBM#lRp*>81Wf=D*6!@#SEO9yofTGQBnT`Y+m;ryU0YB|Y4Tje9*J|ZxRZ!t${Kd`4Y{(X zo%pHJ9?YILVljrg?{oi>?4DWkQgxg2T;?9Edk-F=?BFQ2d|PCeX9&t5@7=v(kO2@$ zLTaF9emXqe)#KDr-)3+2<6%TRty|g7ZSG?xuJEhRnS5g`aS>bWd?5TcgM!_0dNRpL zpM6GXX!hjfWxe7|!p@o5)!QEyrF?hCDy7K%*nf^yC=s*sh?2inq+p%yp*x&4m1wQs%$x8LIzgrSNi>SCgx*Xiqjma zJ}GR_GayvS8B!*}Xqx{8shI129o^=x5_aD(3 z`PkHqns1VvlRWF4ZoUek?-D9fee_B$P!%6gogW|n>5Kf)@dA`U!C8;LO7&F43tV?O zWa@qKH~R0klulR&2*ri9F&{@G#&Q_Uei*CLpm|tZ(UuIAI5(^ubSZqXx|XhQ`7fno z9@>4~Z}UrUO$d;gSmesfX?5C-0QRh2iy88G)nlzBk{8o6+;!`NC2IYQief^&0^g<$8kHD&Ivn`={{^%GGxtHkHoku0#Hm-QvZ^bVn~hNA)_s@KSQn;Sx?+aO`6O&pC{R{Lt$2X#Her z^r1A$ih7CTNmE-J^V}B!P};&Dt#6cUTX#7zAoygL+OsMIM;XPv|0tDp zlAUpcgRvAhRwMv29GOQBAyh!~qRbud4~{WA8w-#W=OZHq=D_>f*v4k@3Q$RlckkX! z0piSgFess?;oz|G5CeXv8z(@}u3T8s18ik4FA&lW!Q4I^YTC)S48**~VNAOPG$KVO zfIs2^BdL9Q1^R`sKzJxj7s^PXf&L1m7Gzmu1Cqp>{|apkws~55k*|FvLz;VyL`Tkx zWR2JrNHExsAT42Ri9ZKsW+Gb__}h3CRECy~0$IY^aAx1R8ZU+DJS*wQSqm5GZN{dd z{M&3DAO<37>z^pcqY6=(vkmHFkSRbsjoSktxDGZ}Tp{d<$R`RY+bPxZ#YWi6V`orm z(WU!tVXt8O8Ew2GQ@QA!-wdkrN{$Ko7Uu1Kf|oIHI19@dT+7I9f#Fg>-m0Wv!$X07 zkaG!xqYn4Bnqe{wMX8Dd3WBTx_Fj$2hv zm7dN?ULz?7N6-y$wz4E>Y)K~=dmB&7U+D%+JGJl5(hW2yUcVPZ8*yl~jisHFk5NweKWe!L6tz?&%$J0QU$H&LrV4Kh>IJHOM z)ck-`G-1*$)8p94$jIe?o4shlk3L~)7j@{c{zw1rf-TeX5m%C#(Fu)>q8k4VxC$r+E7he%iolV3R0Hf^| z-|f8;?il$<0IXHc9iF60%)O z_IN?}#4GV08jZYP>cN@v()E8e5G3t(jIY`%TDGCgk3pR(Ep4i2xsl&8xWkdPt2zNf zk1t*D?{$1&P2NKD$#1QQPld3>U(h7q#=$vfY{ey>gsVPkl8Fh6p`@2)h>hGSS>oib zWcvB>h?jRuSuGw?kf-O;lK>e8kNG1^nGoWv{{n$h(A?H90s_44+`-xE`nsxy2JXPf z2shx>zdAcPY4HmQMQc8IFvUzmQ|UPV?WvfflT#-#tKy{#cvljjeMuJdhFuB@3Ax~L zLJtt2kEMSNKrBN*rH4FnfGoga;)dTLK#k74S^2Eg2SiCjK$DaUbQQHgKFkVfz^1Tt z;izB#peYME;JI_PP~FI=vdT_#|Dow@n8wE-(72*FtqjYYM)AG8u`NH8lLCx5>U|WU z$m=WsPRZJQkE8^^Q@|Hy=2MNd-H-P%k_p>s#|*_W!xWVnTwIrZSx zw~kwDwSYox>}lJSwu+w>^@LotF0cNTStFhrWSQ>3c0>6wKl5#CYLkiEyv3X902Y|? zHF_Vqs)_;snzExYs9_IC1H)yb7)92je{-5g5_sPAN%?;7U; zFd-_1R3PTVaA;hZpm+rVI~hNFVk`yf13$v5Cw5>1ldqKzY_NfdO4-v>3V?#|kB?tl zfnhi&@XG}Bgtpe!)|N&_V^snMMW=rzCMN6vYKv~QE;E02g@U~1#h^5G=yC^ry<-7j zLz|c2tH|ZQe|rrJhfQIDFfS;B2m*QvBBDO2^Bpyv9r5d+Q~y465i28u=#hy79xTV@ zP@V_sTIT=m=?aRD_md}o$X=hzzCI1HX`iT1UaZ8&1f+`>gjQlt6^mBe&;Yd;mbt1* zlV=_I2RsNjn*my<&ZPNkrH>i+rzBJEj(_HjikXRcM~E zp$F3g&6V{($0%;6?WY7^IALnR`i>?A8z|kl1&sm^!tPSnr}69p+1L5$?UTlsCG&aI z;nlR=x0I4)X+f98Ztvt&?BML&3kLS;Qe$Gs7{D{=7#w`{0hAb9tYAKrn0%KK`2PO;de>d6EhMqxOP(HAi)r3$F z+%Sb;t60kqGO0H=PWAhFXtDhL-c0meZE`{N+kJ;zJ-!MwPc8>jU{nOu-rfk%Hs3Z| zpiEUj;?|v{HUD?ioV>9e9^GI94k^5AVRnZ2!|M_{n~eyO$|XM+fqw*?@SzS8-V{cF zSCQsO1%a=ZmU;mGMY}X@Gm2EnIM`U5vCQoW9$d9=zU7NiPR>eZ);AdQ6Zz0~y{?Nj z9N{ej-2#ai&BWFDy8{@fDG$vk5e1aF29L!JyAn$zFEk23F5=xg4+MFF3?P*mExf;ah^HuoJ@f84C)p3Rl=k>i8D zn=pf8Y@?vBt;NnSa8mJBXBT|(Hgpb)wsb-caUk!zH()3r@^Zo#JgKIZ*DM`lGJqTl z3UFMk_~t40eOHtdBW(E_kzEPz9}RwK2XE@0AqJq!-gULispXUzri0s3T3NKPC<+|B zbTVo@V^bx$!@k~)#l`hBJENN6R`HX$y*nU1UV%ARZQPF!f>_e1B5whr>@_=Q6*dNF zcdH|sfB0sMH7!UXlJbFiNgC@T@mx6%xgrdIm-s=Tg{J5+(*w2L_e7}?T!x65 z`$g*Bk~JKq1zLD%$|OO0Y6>BTJdisGDqfjqB5<(wK$VNa|JQO>U0n*uOmRRjBwqFX z`_hM`q*-t_ihf|y$uD`KYG;67 zGW(!qe$jBQd<)Nv)~S`p;%i6S3qs+M8GMXX#cA<&<>h2eOLto8EHlu#_{O^Ub$0^Y zO+RV9L7+CrE7(nLX`37gMzBStm6uTxbZ~RRZ^;!?>T$O3zqVW);lxv53hKIF7JA<| zARvohT*6b8Kk*$KUh?d}4pPQsA_zzxRMoY`ws}V9_5q?A*4^0<{}BVF`mx(u{g7dM zPXTo_{YV$xafyMhJ}==8wqHO1EIqAXx;Qewk!*i@pxlloU4}bmBA~1KKa9kc+c&DP z`UT*vf=e6#d)wyLUwo)7*6rZkKf)Ib#10dVleSQFyH!tq> z4-RJUY;S)6qRH<-&q57mb=$akc+zFx?B~p`4;N1JXni{DQ@UEy*#RAylrcaGTIY!r z0R{p*Np=lKzFH`y0uSU~VUmyo0#IV8yFkJ<#CByyE)h&J`=8GaR^(EFgS9i@OQle1 zPze}1=*Ls;!BpET>3%CaTG|Krs-(=BJmD4ukx?l1JVvr&{HyxXwM1CI4oOqF_ss|C zD7=8QSP9!CHVjLF^9&TJ>S5_4_uWADOE&yC(5A1&i`$f*&PlrS&Y* zX~^z!v%36wyX%63^=DS#Epqi_T>CC+j*=d)PWd%lUbEni_Cv+bG81>8p{7|Pi+0s7?@ zFpi+@1KfMB!3_6xlPDzwvgfqfS_(F2+VcsV{DFYlw=WxRUkZ z?&c_1ZUP;on3LuYG2kIM#KkK)1@fq>cD~FXj+>5^pU4%N&<41eNjC3^=@{v}>|Din z{GqhX7{SyR927|jaLFKv#1SWej&z7oU<8~Rf6^f~F{sP+A*k^qK5GUeCbXV}7NmPG z2pr?wG;1JCxs00IeP0MLG`U)g9zR8{##p?|_K!o`78Jc{NO=j9U7Y z3~MHj7`dx7vmg82E2?9@F>5_{v_8zTHqJ%t@tDiLPGDae!f`4d+L_)PE0rVJkf|Rp z6(C`J-P!EpDKEKwS2*HEa>?GLYB9@Y0o*d>=gGZjyyTf@jb!$BERDD^ef9a3TaMxj zRltz~sV3Ro$GU|T^^&muJ_SqwjXf*CfFWx&W+ef?mS20ker=#{XvmY7m#5)(GVKZ5 z0Kzd@r-|>tOzkW33U!192afk*aLf6YpjOOloBH)@Zj9gic7;;F3_2T0xuyg z1?2S)AFybE73B(@z^I_-*laeK@&)<9Fa8++ZTg@`?cC@w|9*w8y$|iFXa$a51r9|b zj`bG?4uVWQ;!HgWHV(=*DvCq~J%W!WST!bCLF$CqH>fpLEH~L!2St>VeT5EBj>K?r z6eFRSp9#-*=Cbm0aLQhOJl&phLLf9OBm4ZSZ|=5gSd;`#>ysKy$k+f*GUB_P&5)NQ zSVBmE!v78>FYWb&<70%=w144Er7SVswDfYZJ#_SP1JppP)O6f>=6dNUV<+>*X8b>B zlSn#pki3dKJvs8vzO1{)UZ#Nq*x->lOwNX<5NLg4J>?Y0FI!s^7;aDVHV=e4ZYm}O zJ2l_cpFn2qAyWB6t8fMz(S9&X#b=F)_GKr;_p-E43apW|##3J>=|dzYS(_X#u!?4A z!XHm=+boYX6ivKlExfXxuegGZYC6L#r1yD zL(tMS8okwk%t0&e4gUN=I}Llp!om6h zPgp2KMw)?8#)V}5RYS(-pEpM1U!Ab!8~X&L){jzlym?(5g$kA(H~d6(K~ceAO>I0! zn83eF&A&^xg4l#mbI4j9=41|p{qxBIPzDEcNJkTKsgRr8Mr?}qT;uv_Aj-iW!$m4 z9eIF>HNTlR@I9{p?9#0kX&=#fr1)^0+=Lw{vEtsNJ4m3#HD;iSX&towM5{^wNkx2K zod_3sEm)dS840dg^Ktrt$lDHro>wP9NhgYdED~ma@W1`PhDr zd630GjWJY+^sc70`)AdA85Cea zzVn|~@_&IRcBAu9KXOb10%N~jwxW1Js$fPJ{7#+Tw{miLI3yu1ZmZyTDa|b^y5E$m zm12NA1|$C%B)kfgWk}nP_z=_xXman5fYtB>DhE3o8?nIud@RfW^jeNf1p#NmbJkn8 zZfOWUsXbf-%BQEmCB+}gQg#OIQa`q`3L%tu4?9vFD}b#lljqy+vk^#C_!8mA3pQuX zV5!g%AX|SbNi^!vUW3pBf(!?>@$LcDy~8f*)i}O>_QY&8evOpdQ8Z;tw>bDd@iN@e z6A$BhPKV;A{B(!nduYyc^7{kaA2PLWs?`NvPCe1n<8@uW2kvO7zP+ZteHSq&mh5xy zEp_f2!87_0Sv_{sAP#n%j&Qw&FF7|Lti(tiICRjH6FwLMBzclg+G|sE#7P!!G|2DN zJ(rd#_g06rkD<|nWR1#2y<0UjlwGt7Havd>(DKPl7|xX~L}&pq zj%FmUWF4l@&=|c>37uC{Y)P{q9mB( z?;?gIAa98GUqA3`_iF80mSEj!$gxqq@ZBf-gQOSVWAeqx_=e{M^yj)0F*i&wG5axx zTDeiMdMp*OD&Kk_#Sj5k{(SgDt%vQj*5hOis`tK}N^yZWNLBD5UCaB#= zb}L;rG20?Feyi@mULW9$4pcpH`cq&)haK{8M7y-~WlP{smgM7cf*y})gwW1gJfina z;|EnQFRnRl?UFL9i(ro{nDa|^)UDp&in^JQr*kSEP&+(54nO|Qmx5EluP3Va+_pt032ZX|)rzzWWlebRF>^iZ4 z5D1r5Ev|7d2c3tH;yOKzXNEv2jA>rct${IPKZsLMDKFg}5i=7O%} z-WS*{=z)9ryiAy%pfv(&b@{wQ3Dg`7(HKyaEWDlU{p}b{E{6BFIpz<}ih=2G5ZHTA z2JRWjWTn$&2jCyJFayVZUAYI-;DIgqXm(lSJ<6IPgD zH7Kj%pr0l!*gxP50fPt33h=-?4KVatB*<A#5c#i7(vu~H+pPTl=lrLiOWq7 zCqfoMW3^KBDFsB3_xC2DwrZMPTU$ZF*_+K*x7}`8f?<$Prr2|YOS=5SY^r0~159G}4Xn>p45E%Y|LLja=&NMt1{CUM-Pf)>jnBKXl|wQ=J~Z6_$x#n3&WmWW zb~9L*H-dNlZ+1*pMoM&mGs`}1MpIymGfPAM~fD%e8(v5)9(mCHV_xt@_cP;L{ zBDi?Zdt&c>_DMP6KMZSURwS=6iCY;mIcM)&Ct4(}lnfOK& ze4em%vi|*D<)t%#J1X}&{zI^&RzA0DZDY55XbOZ-hbyN~sZm(`np8;?+q%F0=i7Do zbW`nN%*Tb8kz0e>a&m_+h(e7^eu=#NOWu;QH7E6` z;M;ifXrD;Q#@B_c^JXHQfj=g(!k@>-Jk~!lyiPVFdw4KvU7yv$fY+~1pq{~|Hk0qrld(UsZ zKcD+5&~98heH#A_4-wi;|KnT{J%u!cRRYmsn=;P^?3kxZ^cr3>&@S&(k+NQG6AhY+ zpzE5SMCg^Mf(@hRf1B1tq zfRqj>Q?7{#yZ#?8-ZN;qJaR#qdop<(yEfCAzG4XMw&YtGW5 zRg;^_^z`)q?YoY^voa}|F8+&BVDMY_bRgy9!wU0RW02k8-DF^uQtf9;m^mPGv-QQm ze&nJZO5|zwxZ$GzN`+fs$=JOYSIlI#_p>sQ*>FAG!6{G8C-(0Q)Z62Q&Kz(-yyEFa z+{mEJH?7tb{VPs?ero2s;=V_^;;|P${nbz4-{;2OjU~?Z=3|nk8}e;LXlhMgg+?T>_hTW=ZZ{HPdy0gJG zu>l!)tghX;*uWp5f@U?wJao^?wcX-#kPP*rP$qXoZLk&fFsdWyP^!x92b*v6J7%H@ zws4(-jxZiPe~zk=Oo&iB$cd64s>ds|#0unPlK#`c$MtrcuK&jkgGDO7lD{fGg@gtl ztLN9)gAiHyx94kHuSl3xh%Q!*`-kuyz>zRRKWsV}J*F2BL3GhINqq zR_d07>xyP7p#QPa^(Q5n9@g%A{feV)Wd0`-z5rHsPt9Rs&qniH0BCW(3QSK^Q&UoO zVG%e@Fra!0ISUVZR2F7X9P+5_R;fGKQj^t&*8fxMF0TtiF`NO9*kE<<XOca>}E73cPW`sYPIa8)GU zRv`-X)yAjw*e@Q0o|~fdzM-B664t305K2Vn+rR7WrGn8=A;#^qM)j#t-xSv$Li&B* zR*2OEHuY>wdwyCFpziYAzRk-J`gJVgPH*RF^f6Tn2L8)Qk#JnS`v*q69!P6vq)x)= z_#q+3bSw2%MmuT@6C>jlO>!(W3`dW?7rN@1_>3O?MYp^;Ybo~xR^VGp%i*^t{B&>{ zg_qG>)x9R>foqDsvhj50;=(HwRqXf^?M>JmAE#>PO6es;BX^u{zyeV(EOR&!LK5`f zS6Ey3UfloO772ldJVfWpcCYC+VEXQ+wZsFMQ=96;qv(qS4~aS= zu*ZK!2fYr$)>C%BS07&!L1qDPq`*6H;haX`o%VJ5=u@zC@2;+{&IF=}0kCha4s$Ku zB4Azh4}yiNjm6&8Tksfn@SA==p49Y1m9)+yS^^Hxz#Ywex(3k(Btqw z$*yZ?IG#yPPA&t&1UuL@7#~3s40!|uh*(lOj3ch9wbk=;yLL&iN?D+BKE6e^nv~Ir zRAhcpZqya9M0g?(Dy1)NYQugi?S<{g&{o4bh97Q;;EbPscJcbu>|g@o2vzW<1^fD) zzjI@Fk$4s%&jT6VRX~O^sMT5la|7D22mz2*!;-$k!28wh$_e^kmF|uUQ0ehPKcAC% z$#Z`C#PT*RB|7>cJK{i}*0-KLtY$!s63qhqw47DM#&Doa9O9HW%00SE#v)MAWdWI%@K%+$@=AR(AStx>9w)?*Oo7JgNXe#s_ zORUw#_8mfbFAjpPAI`f6HmuU`-o(?GO!%!+0qGVR>{0-jswnZ_7xS{K15*qNj^Ja$ zZdWwQu{(Ime`$EUZL`-sy=%;ZQ}}Kqx%J>io3R&F=4(^*?eaCT*;Cd6nYZef_diui zT};J6C%nQCemwlgGpYp_n1xUasEne)ms>`SWsx0R0Ox4?Eds`c|1eV4cw5&|rC|Zp z<>>}orpeDz`Qzu<{Q$sFIj`TP=PIXP^6;gr{`Xja{7W$Mnv~hw0YWH@f%z2-LS+#L z2p^VYun&QL4AepJ4;UI>=NlB$1Jjh)*x0a~oSf2BDJOFxQqq}a;CuTN(0=FGK>8>N zIQH|chHyD)X;LXVV0Gt1X(otS#p?B$T_!@mP;g6N1ab>}r3}yg z)qyP#PiwF|co7`Llk%miIJOWnsMsZJSLDF2zG%~Vxn7secdd=ex2M$B=SEDQ-)Zut zz4z+$)Xa26K|K&tnsuAtUvneh`f7Gjc$`5wL?_Sr9M@Wc@H!T!;CvS>_z+p7uL4@W z>=9({n93c3b1Efa9MmusW%LvKmw(hAco12?yuR2QDLAp>i5vZXr*nM&7Eu1vRc6*V zK3t&p9$f{yAPoQTnymDseq3P(!BXe&cfoR}8=%3e0~%gomSr|mtMhCEp#Ftt4($bQ zBvATp_%Ww?nDq<}hXW0L6pH&J_z;+W{sT-~DjBW>34N!JgU-TM$*w{5TRPqE(bvGb z4f^$`t$<<*nH{B_Y5V?1ubC`_B071u*Y-p|5LQRnWqwtfoM%dw-8siY-@ggl9r9P4 zb77a^!q&5XW6H>i52l?nbR*7>X@bA9I03lJ$GFEERO!37VHvtmax8&k{%1B{oW#l( zPSn!phLmobR9K9Bs`Um?@aBAKBQR|vl{HghlEB5bMe+RuS?+JuL6O78aQ`k zN-f9zxXEdGF+OgvxE0vo9wC}@3H0vvZlAamo+uHl zrsIU2|IkX9oeX9bP|ZRy)9@8m!~cd@OGM_|fA}^moETi8uTpBDT>cCBq!$k%#YNfr zi-4NP=e^cC4Py|(B7&b*+s%Dn|G~ZR6W|>}<3f^#GBmE2g=*5Jtk2d2#YS8>9Siz* ze3qV8|NBolLOMkKZ)!QvB~e~%umk78Q8`%N>}H(yuB>(Mo`@6yZiGYygT}$4Yg-}H z|8k8N_c4=lJBXQ6CK18U3gEwEOe`8%tx&T+M zO+@|YBJr2&ipaAuUcNHN?jL802NYEuA5AQA-`s{l+8mi}yihU|s9_u1+uNl;N;3HE z+h=Mvw$`E1(a{IMiT4V7nAercLJ$}0jiCY|&z3Sppv3C>i6sY z?L~VW8EIU0m%PI=w_<-$(KCl@?77A#?^M{3FHr>(ZuuaYH_jDEXEvTLnGcn&qEHze z^tk=vR|=P}kY8G5tm6?`97ZbfSdRW$sDI0(0?UY%dt`Gg)8Ss!O$mSd6=MRJ@+y65QcA<)jI zPP85K1m)hLtSn)ilOtK6Pr>nNcMzNRAbOlOq>2p?@Zg`N5K7W?mXplo=kuV8`x(*5I0Fq%iz3=fkT#I za_0f#;cX(>YJb9iO+x_tlY;F|I^F_q_kcM+1+J`MAy9U1a&pq_@#Dv@4*!lhV9x_O zf!Gk`=Py2)p1(S3XV|ODygVHWxOx{8)6W17RAe?cHu^F%F`a7J+OF{Cm_bTK{1|bk zoH0x_9)!Yv(j9sjgcYx2?tm{Va^uFR057kd9`F)ShbWMx5baASnF0dFYv|>@6M6PH zL9V&*tI%AvKZOOS5MUewzb^-=reIvi3Aht~FeW2Zu4H?umv?PM@8@J)OvT(9_?tqfXFzcSp2;p#vGk+`OE~v@hqPU^Q6ri2N=f^hygKP=VpT-J| z`E6q8M%^O%l9f#dnGL>)=#LTwz8_I^tX9CQDf?5o-;Cd|b-EkNr-6Q{j5g!<@HLC7 ztXRWAjW@$W1Ti^xs4ANo6{$ieJ}WT9298_(cE{^3XQ=8>WZNj~{nkEQlo=W|GV@o- zC6g}%n&-(m%j9#Fhe1hisIzR{=)Y+Y>1Xq*%nDI~=&S4yAqx{>uw3+JB8QDHvZvte zq{9jIh2)h+${;!GwOD+@PngB?$Ti%aB(%~eM*p{=yOSmn3+o1(GOtXzyG@Hl@G-{mkDMuiZ80{UqH4@k3;XAV5Iv9^ZO z(9l@cOtt_E^+>?^w*epV&j4Oe14emlwN+Iv35kh@rvpy@`vD(>O#Yq1+m31g-u{oo z&+l>^LfJE*DV~1|=$}@B!2OT2AHZp8$jsCf7qa{V5BER&(0=h-FDxwVA2@MV4Gw(G zPLGYbGa)4-=ukE}Nnu@!yZjI`apzySx%|Ah6Yzp|!A}|W6^?^v208gUaqVP(ier4@^=17wnGNLL z50l^G`0~BO%38=WB=jXc%Uuvnea~X_bZx9tdI`Xf##fQU7cyn1NHqLmDMoM)xE(Z8 zWGuYi7EaUs995Kj(|La`T(}@m-(&}u>AGM<*{zO;1{xq@h^xl9fRu0kYM9|NiSJ&H zT4Dq48(c{3aGtnUa@DwQiq_he0F_)S^PtZpxL^e?Q-Ht`8L*RK4yNEVgruclATLnF_xJ9_k^>JMe?Q)pgb zRQB~AY#4y*oZV9n8#tcF2bK6ljX;e-O0Pom+dtaa)Wb@~q89B6J4k1{bx3D+TCJ} z2UjFBW!p%@X#{@QZYG1 z2}K2P5#n4}nVrUYrBXmp3mrsBLvwytTl?=F&`^a=Oc*zV``i^^d$t@7mY+zVJHuBL z(9N4SFN%x#vE|}Gcxj*B{&bC~A4AGx_Y|G7Y8fJdF|%2=XJS&lq`bFR@r0ac{Me|K z^D9P2<3cqY(|UPsy<{ayW8`<&O5c+0RXiaPE35hjVHH10Trm)KbS-Ss&{Bsw749Wp zJ(6Hb4N)F<5;6voa|6(lD>XMY@q@c9{n@3Z zjsd_I#~rEz#9Zb7PZJKDkXYC9+jjxv#y`}CIT95DMd+=rEXdw0{6SMbPYy2HWWint-1;7nTz#<>BwpAK#sJH3k)9{gbWC!OrWg1pz3 z5OQIgE96Uy0z^2Wb00nHxzZ^v#`0^t}5K?TT!YbvODdyNL z|E0F}H3lRtRP^zh%8wXhilUu(a+~q!%7YeC0*r(6bOz2&gfH&q)fI%W*CWayH$sRk za*CJ+M5TH@+S{ZHX2b#EZ1Y?m`?_2kZiY~ikwh`Ev4h}&kz(b_MnGh_Hv;ZP`v4uf zJl2smz@zsx)}_v+&Ue;eXmaU7HkZ&`WyRa0Br6$Td{|I;-d9@$yoOp5^C zQm_Rglp>`d6#8(&ROEw_f`ShA$J3_1Fn|a0tX|$$rWl6w?KezGhsnOhm=v;L{aAEL zR`hvkyAH><-Sz<=YDW^pKNw>kE~O<@M|zJCSxU0W&PI^wf|UsFg7eei zaVb=fq^OHzGph@)D3|S;i*(~oU|W^aPq&#$jaisM)Ps0qn?NJi)h`#A=QkrNs!(}w zJczF~J;H2@r0*}Awfx!)dGCiicF#Uui)picOP|Ko=+i?GTG*N~p~B!;`e zHrfjfC6pP9r_Mx8u*Ww}hESzf6*by{VJ6h~b*Qt1z^&%}OkA=WHTz_$<9R$dVNCn3 z``yS`xbiKOeK*Qd5S8&lpk6vX{Linu6DPJEGSV#5o%;*zB@xDdj@_9$wGuJq5W-oH z$YWcy>un81e8wT}*M>*>=Pe8`(z_Ue$ig~`+tf;sa)b(rojwXRYlgU0m)9Ujuy|0c_PGDEDW8u^Oe})lDNMB;36L`oQ;ziRV3_scZ-Ur`|6Z z0t>HWS`M%*y9y=zWCS#*;LXnz{YU^EfPusr_*OYMI+jko6MSgu@cen~!SV4L%nLY~ zTRvBW7M!Jh$-`B#p)iNo^;+0JsTm6pVMx3g^bw$j^SN!)c+qe88;V2&kQfotqiPm^*S`P`WQf82m=K9;?4yfkZv#_fk z^O0OG(^%@f5*tXJZSDsmM(e7PnNhGxC2*~96(O)HlqP>JY@UP=fQd^+16uyF@di~ct(Hkcj z@VIUpJId7WaFbT*-G|k0BZ4t4HJ}@yN=>_wWs?|HN8hKR((!7@a}r%G;B8= zG*^eQ*BchVJOF8_Dc`qPktBqWD$rZH;FMK02DHYx8)MTTKK$kE+dDBzUy|aXEY`(y zq6tn2%8rJiK(*Kr3em%bL7g_=olg$@(wa@fgQ|J%181V*7nCu9E-^KQy_JtT++h~> zSAmlbcpy8R8P_sG5EX9kva>X{zB)^@!k~q^+S(W(0hIvq_;=~RYuL@pt1%8hUghAd z2eG(#)jTj54B!$wxCWj0azeW`9566A0AbntK^zFf^_nzY7vl~VTQC_iuQX~J8z(LS zMLthTMn(tsf>}ae@S(*w-+%uDlg0_CC%)`fSL!e*?&2gElW;HRAY1+ZRphUBCJ~As zwo{nh6jVTrq?$3CNa*A^ch6a6}GHNRviKk(7RzkI{#?^Jwzs7Oyj;yb~O zf`U~Dcb{7_k_B_yvw=vNkjCdN5L4{xAkCx@i3^YH;}=U-^*Sr18h5(CuwF&7OD+w4 zenKeWHiIZ}d}CCiQ}w(~=0VvlZUm|&loFp1LT{8n{C+~OS(e)?M;iR~UOyDuU2L~Y z@)t4@`X}drr=|W_Q$QxDUzW~(W5LS3 zR{ReOEEDt@B<*~i!_-E5sQ}sN#|+}o5l&mg4*TU3&KQz{#NHUXiXOxW^w*n(Wqny+Q(bXyz{rqq5*VVs!^tF0D4(?dzB!ipzsC+3b-;39_ZfVM~^f> z4oCs(xPpV}avvz!*tT{S7pq3lXiMy1x&utk6lvUG!+#DeL`*82@N~{6KF@PA{0Rb@kYijDXHBgr`A{9`al+DcQ zb`IX4;`ID>#Wo2E5v#nHBvV&J`$Kp>DZy{~tykM$#fV`<@x$-+T%*1Uy@}a><1utD zHM@fYzYyE8ssFy{FIuIA>cwS5b9W>Do`vt01`vwkhmA-}2i3n7Kd7EyOiROcNWuBF zLVHGVdl=-EZ_VzSIzwIM$u*UpZ-R~rUKp2IM;lf1oM?|S3g%%$hRHt2;}Kqox@bAS zpD)*=^Le|&0IFaN`)5e;;5ceDj=!V7eSNJIQEW-3r7i~oCa|EEZs}VarQvMsyT3k_ z&u3wp>#X7Z1vUB-x`FSFWN*nl>HN7&?C4j~A-RIz(z(CLU=)&N&vmJkCV`IK(hTX_-LyP9_!pR5|cH zP{frDStY8@|A-kKuP)l&@c?J%KP#Vu-jAMeyO>cnb{sFY55Q{M4HG+Mhj)B{dp|G z0quH)oMxsh1`T}dSpO+;#>+D@V4eHKmQl1oL~=_@_0Aj$9`_b?+r zoFXgoB`u{%A~ETp?!|kxan-{&yH%8;$-0O6Ql@-%i?-=p{|W95^xee`W5=7lf%|;J z48ds^TVbzpLNGunm=}pw!a@#$L{pba2VWKPGjp%42uHek1p32wB1e@<=y9N1@%L-P z^Ac{_e`BY7xYs36$42=hqWhCO0cZ9r*3mONgi|u9WX=8ciKl4vZ?66Zv#?f-QDgWj z@$?iPgjho2agl?IJeXN^kUR(qvmA}REdr~i)g4_m!(#_z>`nTCjX!^;Q*VGKR5>iG z4Eq04Nxjb3CA5yUdckiu@Ql690$&Z2aX~Iao)FX=wa8+k)=3SASR>k_L-r*bAM6r0 zu-7jB`L0;&PG)0i??H;{$psEi+5iFV6-NR12Z)=dAAnyUfojtgZ0E$M%Xu<4HZ^H6 zF*9FjX=tpHRR6;;L&IZZmyHnee@G_42r4St5fE5wZU;B+E_5C}n)(I~54JLhnxEYG z*nd-qzJwJ?gSr>t2xVcvT{OwQ;;L&Cc!WIt7|4fOLFm?$hH()GYsU|N>j93De|pI? z=Un(F;mI2TTZdF4L+ySC1ZLj<>XUF}2GaT%G_ zNnQ~iZnYM@Hi+x24%h7K?b-H=be^qeU?FYgEPPHP&Ln#!@)8v=96=66O47$as1A#% zCd+&0h{)HhI}Z>_NWvVQdRq(GmVX&HMw;p(_GP%bwbh;+(Wm(IUyRfGmW9qmTbhQB z_T+^^D9LMdj-17s{g@y3-;X&8QEyMsoA}i(ct7-e&wU`RYOg!lC z{)59yMhKZqh4?4=Q->z|*?Y|x*hGFO`cz&B6b>89Tk>7|0I(v=_PH}p25pLjS=3EG#Tc?%esVR8mrcd1PjGnRxw6#CZ<1 zV8;UIdwvD}uM(X-4BCxcV8o_-3RdaeW`H*tfmPxkPS2kc14BwpAR%sOG<`_|y|;%D zALkHa=h(l4mfFGq&-vi4SMn~1Q|1I2wc>P+f1V%s()tpA+g*G&tAS%I2KJMbH2bA9t{#XCH%mr6 zreLqpugDj7qy!vToO2I24Mgaz17^HWLcer$im;}9-j07z`^8m@Tj+5e9wv*)=C?1D zbr*)pESdXc6fpNnEiMxWT4f5jS0l6Fv;!rwgE@g1j2&(vdDSfT0_O4hWFaBlx)Bw#fDn*qHH`nIL?RQ6TQr=Q z{X`3QWn@;g^VhM!jEZaIL7&W(7Xr=uvhW!!@7^6OZ zJT);joiUJ2zbXNvi7PpTSi^kSo^QucfN=a!^y$;o%+wUKytH(3|I-@5CexR4&=Cs+ z>8%j-E#HGsqqjxCJhJD#@UOAcJs?+QUnv$;dkNAvOOufJF(xAIG?M~q+hIgo-#i2J zj?;}RCpc_}4T^Yx@j1t)7audf#_6x<%MAbf;`qB>mW*}5+(j&m%4Dx7$IM7)UTmsq z=_pjce89bEKxD0Fs-nO0Y{F?a`c3zh{-X`tloq`AcbFFiQ^ebHm~8S%VNf1z8E2WJ zYAj5@dwnf$JVsn5TC~ib>{&kEHQC&Dbj+or@ro&BB_%GUa@n$pAAS>_ zH}_0)BeR1Uhbzsg^$GDUxq>ci9N^h@-4x=0HAntBNk9Ki9VX+BES$cTqP4epvxq---zpj+1Qq z=iuP>J~&#B0S3+GD*y>0ot~an4G#-501><6(lnzB(Ik8RR|83+hn53-)~Hqkp5m82 zBge;khZzBJ6T9Gz5qqw+FDiSCQS3ULJ9y;u18=uJMTvOVZ~j>2zuZ%_RLh!Qh>J(xfPg1z7Qbwu1{_LxBz8@L847+ zUFJ>vQzu~NIp%R3o)95aPE`VV(j}BYPX2aKBMgdCkz`f|% zEgV!}cAi>Eoy4p zxNMbBOWi@U_aluU^hAeKw;a0m%g%&kU@p9Uq3}R8TJyxhbZ6P2KkQ0av0c<_&_||F zW=+gt_c~ph!Uk$o&t#qrTutLfK5n3p*y@TO=7dmOPQ^l!u`dunO9`xp-|)S|Dq*Y~q66+{V6b4rMa#KNJVHE`tbVxupS z7bC~Zd%K{%{#Ra2&8sz#q)&lwX}GCK0|8nBU~Tta%ei>V-+g5#*0E^m_L>=oCUM>R zP3|)o&Eo?&#D^jxhWmf;UL0AM3=sBFA6GOiL_b(wYuiqhBXLCJ3dIZC8kv8HsV>`< z8P&cO{owDjir-YmQEAa%H@FE))Q6q~?wi!?p6Z_!|2>C6eeUN7849R$G&VeBTT9bP zn&@<3PyeP23EKuOW0NVW&Xe9W$O$c%gECG$b}y!cPIg3sKv89dS6gZP?-6Xjwu6R$ z{kpY(ar$aCn1JH>9c^vknp1rQppkAx9v+Q>v9ZIQv$M1I#J6uxtvMk?(HWo-AShEq zL*okE%)|T!>zo08z&R3=nwi;-eN76$w(i^9+*}3_(x1HL%{fp^*vBpL(3grxvFA7O zBa94VYD)LQ3hnEj$X}R;sykg8MXUkxqdHo?J~gm;_U_CEeV^#M$$~=b*Cqu@@3>BzKB~xY zg}d^bR>Ux*qzxs-8NN$9z5GH21Kr?Rdnr9sML z&io}@t?Q39`HfW!=2&Yb^EA0{n<5QCn$p^zK4+kQQ@TnM_EF-p`l&IeO%&ZIkFkh) zk1M}y8&{p_H(bFyyS0Br%kmEIiE2cX>oO&eON_PNDOfTQ6dV0qUv|5jLLfkClh5_{UpKyU|>v zuIp_EA=`rL=nQKt!2{@k)#-A}=pWwe6Bqk12q65Rkdm~UsS|p0Knp8oY1$fG75;`S{2ke~o6i1ZSc3!1{K%S-bz`#>$Fq54hn@ z1~`=pAbtuE<>cI}0G2bE!X~)Twd>dYGLn)Gng9wj8ix;gy?!l12>k@p_uj$5MFS|A zmwHxKiz#+P86S_2j<$iWph-ef@-Vq)S-g*<*BU}vo~+ID0T9*hx(GjeoWzxHn|@G_ z-P%>5xP(lo;t?)Z8z3PcwTAO$CP4C;{Z68WZ}u0=j@c>bnejtbAN@Re=s^?Ko>Rl{ zo2`{^V_p534~6!$kN)Uf@DkpA6-D!@x!~$p^CZusoSYhp1}zi<1v_4I$EDn{yCrJ5 z_aLA{K#hm}=!RV!9TH{E<9z|K9~>;}^5W19C^X(152~FObvbw~>5y-$6(3lNAV9mK}gB*J)^?6aBmg7 z|En3P>LmE<v6a|o zTyrWsXY$W5k|9Ac=QhY}x^|Kh`9m#RG2~Asrfv*OpjPj3g}(#2Oo4UuzIU<{_t1+$ zdgvZhxyuX;+meJD@esGJM05+4I`e1N8odkg;xdl1irwR9;9{ZA{v)d5?H9cip=21g z^-Ipk=sr1-K07}LZUY@Yz+KbQ$Y`tv44<2Ty|@GyW?w0K?Jhh5w-e}6Z@oCnO-`Pu z03KxZZhZ;YGlcsC9S4MF#{0Bqi{rHoKM?io%pRBRN7?_)v@BSSV zyu*{&6#muP>|;hoIr!d}D-=(##3N`_0P6|fNX>l;YN+42DLG@&I<2c?_a`mmCXrip z_sESKVGo15yhfEmdPwixyz+<87xm|#=KSSpbyjw$92wVpW?%9MfF!HVj7bGy{$fMf z<*^j;^yjzpQ=u2{MONzEI6Yy%>pZB2o^7dEJ(h}^eyu;H+oJ1zTlD2yG1NNYdQU6+ zYUj?54uq6`fPf&JB5TqtZCl4Be<>PIS;of6nKvzVWxXvHaX-}cDt9{lPS`|4b$+_9 z`xGjV9Wk!NScAraT%1gF`2H+s@g|ay1uuG11X{$al{679xI3t4MpAGlI8Z-#M{qL! zG27GWzj&)grm>qKO3?Gq!i+_p1XWynQ)&7Q;GBQ*_N0RITIg((N&#p>;O*`MA~p1z zEJM+=X3Me+xnD1L(Xy8>h9{Ts%y2{ruvEj0YuHGBCsdq1`0z+_LhbbBtwv(l>$Y+&rkQ=>VDEiX~ za=0MvxGYH7!nR3eoB&6Slw74ul>AD}B>Ui7vUO9E`1?CdL=EJGvJfD8loK10B{AB+ z;;CW;`KS^eRDWa%(FCJ=vJm}A8l64ytt@_N6p(AA{JS;$6OQ~r8ou(mHR~Bi3Jyd_ z1%V7s3YZ?G|9AePlxxW8GcY%2hUbsdHHOTfJZ(9Ha_&%8H_$4NT;Gip3USaRF9qz* z`fC`==BU~)NCX$6&eC8I|E&~qS}2MSC1hD;gt))wAFjC*9QfVa*vmZ75DU*lz93K= z474O$SOTIo76^TH;v=29$N2D{Mb?G6;PcGmoP0mR7#MwbccGY0Ic#Mgk7ej2>lb8j zrg^9f)TWkDdV2Z=Sk55>o7pF)Wse(N|LyNn0P_7ayNs)CdPPMAc#Y-)uvc|4w{am~ zT^K6#Hl%2Xovj}}^em2x8wvoG;Ib|!M+L}%MxI+*B2osP+PO%l$tq?liBUW>z|PIZ zp%A17p`3qn$Q;iDIMqE#z5IejMVRS=H?1R}ix7RD{4qc?#a?*~qbo(z(9FoUv)MHO za(C@gk%wDSV z6BLi{!jTQ6p;bnFcV9Gg&4`fx(v`E?peEvtvv2g;3XL8&_d4M~Jsjpd31JPiSig7T z6i4$-^nlMdC=M;SOId%)foj$hGHp5P=;LPgD8Es#=833({0IMHm?Pc@>%you~3}MsL z!fwc4`w<~zoIv@5UE;dkaFPPjaGyYjn^dBV5p?zxF6oAOVBTB9z2+9Hti8i%E0qxv z)bXq+l}CB}7FjoFQ;ys5<92;dc6j<gu5c(v77~RN;`(>!q{`&UnCkO9&@a&HZJ)HC5Qrdk8OWDM!n!>KFS;{)a=eE^j__mcIGr5a+)k zLl6Q!yueOCTv|F}a8MUq?juzKk*^MfkuUxIud?^ohML)A-R%94NVI^eYL^mL)-Zo{ zHs0>vX4{vLe}^7|umal;@7~>mfV=|88LrAoOYZ`G!(3RO?e>!@<8g2r&=ADF+J6i- zIaDcg6UbgQG7*OXUbKKD+6$2h=}`iQRp;+8V_x!XyAeIQJlEG?4p6RBDhw679A}<> zJ2nyfoecQ;&xhSPe9>!){J=aFu_jT=SyII|o+2ARI}^!T?SO=EK)Z8qZiJVWqH!AF zlo|drm{@4R1%qHerdXm%gdmXL`ChE6c)Ykd>eP;ooau>>3E&9aqjSFaOxQhLlfC6l zB|xraY~w*X`uIrMK#J7hQCs{2&+yt$+<8ea5XJU@;l0>@u3I_ZLg!oYed(~?^9hTl zpo#K>ulNo>*|LiM5WaIC93FP>`TQnhSaLV0t%`$mAlS;9jo9IKPSDOmJ&OqYi1YCj z0Y&@eE|DT>=0ex*ygzL=RS#9YAUoAaAywV6(9stj&Q(j|BQ{<2&9@SpN+}}uu^;7< zqLOj=BVu(r%Ug*eA{2uw&Grb%m4MNX%`O?I`E*x+l4M+D;~+Y^KhA} zl|5CA&H-|r>9x&e!HePHSK*)PZzk2IAu6oG$5i+%Pp70q#E|-G`|Wo3Ef@6e0qoJ0 z6xsKd5PpB(&jCXIkipk#U5+1%3(pxb0VGH_Pa&!CYr76f35K?Np@fq@G#%pkod~2g z4H~HJWGT#2@0Zr3;X$8xBC+bs-@Fi1E0mB8D0-b(CLq!2>|O(!-AM%Y_>S zq4J_7dqv87(*KgT*xTj+0j4T9O>#1r1Fmaxoq>rPXrIQw5ubhFh7k);PDcf|_4wF^ zhK4WQZ&)xsoRFoR-LW@7GDlllfIvrx6NVM%76QaHGdv{Z!p_z89|riKmHeDl8rA$i zEx`ErG&w2hW@>VBBXB#**gL&gJYCHMZIz-%D-q-jX72j_cHv?iV{b&-gRS^SNl zx_H=yNWhe+LFg`a<;q!40w_B4Vs^`_pBY1*vt)6X8PoD!#HtSS+(xckqM!MSq~ejw z)f2%R=Ji~DuqQ3gzn(rUYux>0M2K51QNR40dqgIF_Ge_;st9c@B_d00m}+<|{F}&X z4mZqbABJRr!Pt+EmZ@wY$xGEDCdN*iRRsId!Lr9=QR0jSnlenNd&Gb*ijAmY(WQv? zee=I6nRVG(`5W0w$w89u_u?gGp+9f##s4A?i+RsrD`Co6_7~#6p4#;1uY*vZ-$t~l zso~j3ojx*sq3Sf-UobS=KZn!H_FQiAOr+QnkLk%{FwkKKJqfqjDvw+OH`11Dr%e*o zeMItfXjeBsaqPCw!X_1t9tLNZL?#M^;RF?3T(3f5m7N9rh+R{8bMZcF%$=UM%M6sB zH)wkFEHr#OjncH*!a`n6YHAOCZQA$NY&J&4^sCsK3Zxi48q2ApI~7^O=mRIL=?OvOR64&x1iaSy>}6GS-w@I#-LDL4Ov3{zw6`XNJY1X+ zHQq4m5(^5lygrf#d^~ zM7lK9gUG%lyH*<)2>z=?Dm{o;fl9W%SZwk&QEZ^pLeou-4)N;~SME%pyIEk$peRH; z8he@1$HGb*v;zygZ~VMVv|r(v20dA>(HGZ6MQKL2b^G)JU%I~)DtaMNE?h(`gvD6F znmo})sX>-qDn8EIJ`j7fJ2+De1Ug~6rbse^9l&YjL@m5_ysyRMfYa|Y1RjsuzSC*6%@!Me_Tu$r@4@!1gr5$iYk8KB7p%o1{(kb@j+m{ zCwFZq^H>^Kc9&;natsU)?+yi=19`k37y{b4{6z4e8#iw%MFZ;5mmM+|;Ndx90+5Q4 zz5TiqfWMkcLElqXT-^84*;&lP*Y~3P;NXA+B>#W-pwLiJT4u9=vU6DqBr?E3H+k`& zn9R-Kk>Y1!6N&4T^;ZjaRDTGS)9)JY7q(jOy(dPdDDhj=ZaJ=qU`r=6R!*-XgT8s~mSvJ9v_ zL|Q$jcU|j*xEUta`}|z>fdfn4m>DA9nnFumc{elb zn-(*ha-CsE0x|vtGUdg+2J?=;Im7ytHBp>rVWc~X*s+PyzGw6yc8FBi>LRvs=r(#0z`747;ecwKWy zNKIRVo!Zc8!EIEMRmqR(cB}>ZD)(80Oni`;&k&d6LwR`D(gK?s<+kFvXDV0 z7)elhAce%Cd{)*U!e`eVBEEmL3YB2{evNcb$^}P=Mhe)U9_x%Ue$UsbH26hZ@_@t@ z=V@U7Ocm_;{e_+nc&qq037LkKh^tnET5eb9ek;?ieVX@V>t0JQvIbgUQ)2kow@nkC=h|<1HI{;H5kf5 z7?eGrDrLC3x@rfQ=-D}#UVf&erm_L7{zy+(cNKdj$5%1Hjq3jfaZNxC^`y?i(aS_r z0O15p8HEE}*!HkpxADjcMY`;B6Y^qcegAJ>HDue!LtKAO>)IJZy*qcqllrNErtEZy z%NM;~lR>o~;D+-tuS8Sc{!7#U$8ybUu!&)y28qHYWDnSL&dd_if^DPQ{I-dRQHX>6iXG3XLfs$Qz5OL%jk!tfTxz z9>kuN00r$yDmu+%+2++O;$>$jI3s~j*Vr)eV%<0PgpKRJLEvA}#QfYKMwK5-5^F!w z9iCc;;nX0EWi-%Z4x$$-87(Y6(O+*0-iv_WS~gN;VNQ|V{nSPV{>bj8I?40D%=+hfFp5tZ+5hHf z?%!9`c&08H_5D-4p?+kE)VH@Eje-vP;nxb+z#D4hOA|nK9#>$k=g8%umX6ZfwUTy< z4$SY;WlScpndQ;rbC6MeFp0n9T5zKMjq$sE*olP;&c%x{`iq@U!v7OqAv96~fL>#T zu;U_=h>rGT(e^qQ$?(d6mPt^7Jx)pjO%o9Um)gNo)%p@EuL=&)mAC(Fhx{Q&M$~Eo zVc$o=arUpoWlo54Ki2BA!mOtW5oAYy#Ex6wKxK2HMvJi269*EE4zN?Poh?&I(TM+Q z=)0I(6AFBmv7I;h-=|vO309Aka*m7L2?{gek`X|L;kT8YGQglO4)G8=spvv58iFKc z_as9W0|pr^>kp}crmIu(1fL3OEMer_hoQ&!$AJMc#1*~JT7z1LCd^`bgMS0Zc*W5Q zMfJX|r$5^^)qRe|!fx}5Ne;k1^x$PG9j62htqq*A!eELQb>v{_Am{{0;&>@DhZrE# zM=2NzPzqJxHSGp)a1L0fumOsj16kLV-frMZ{tT@0V5q>-#Q+E9q$l9IUpXZf00zhI zvZ|`~-awXEJ{554n2P`2PA#p|9?;K@O;1g+f`iZ$m6MyMz^pZDXe|!V>eTt;UwL=z zyk1RXn!6|Lnc2Jc1F3$34IAMi$03pqAC8)|Kxz^Zompu3+Oq|WiO@s4(p6h(U_lc{uF=2!y=%-Ih!p(VF zPET{glOxP6mVck?ZrOaJVRHF;5^MyWcrPFQ5Ev#ig&#x}Z!?P=d`Y!^SxI^Ab8p%C za5_pAxlVCQZLL;5uDaqu+XWQ!@+xk$j=QPFfT3)jWt;z8`=7p)gw&+i=#=P0&qf-R zy=UT0mSImmbB)&8M5GUstN9KEo71{MLpRpf;B=i2hph}bw7Pwq>=h4>=#WwS_;G=Q z`@Os3CyN;l{%qjlha~-?LrmsdRtD?d<6paI(l0)7b#O$-mdPsW>vzbW`3V0s$38{) z_r8(%IBD|hBfh=;Kf=suSH1W1D1R!H;F^~>*G5b9NYAWzZ3MiRxML5&q#yStcNdLz z_cv5RSD!?f_Sz{wZX=9J^Ki%b<>oHODJ*S6%se{3N0Sa_EITl!Z|GWviZ4o zeJliiA~vRAn*`rME+>Rt4x$tTGrfBsnuZj5aaBGBw(Z0D7ERArkb?~L zC-N(LKbV9i-Vi0-2X%Q0>$Cr+m@Pp`<{pXucs1#2aR5!d%O_ktROxwNTyaVl(|M-B z4qjsr1hs$1yl2523b4XCUd%QqXTP~i5cRP70!ip*Pw;dd%c9PXM52?pf$qp*>o_NP z3SkD$X(ql&?QOZI6K?JQ$jN;;@;U68e+GVBNtO($Roh^b*(W`AjEk9oKp+5U!8Eh6 z>3RF+jq}_0@1>-rr8TnB(iR~V=Y9m^;yEF{&>R^Rbu_mFJ(VRXQUGW?VIX*s0Vs26 zhPwNsx8>!R@{5YPok>>m7v0~W#Ci(~B%#*%{8Kiz6oV^7F=gEY&1ChcxbN;H9f~ti zhEIC3CE~iwKB%MgzSt)y zso)jDeFdszY08HY3EwyIPoD^1JeB+k5KOP;*#+j=J$zt}xE>;UA8}I8$iprB6pO-2 zPTud(DxbAM+gWPnWro38eY+PE0V|QJQ6==5tzB{{i9QFJ!Mgw9F=(BPQ zKk!wVa{W2HEqQ&o?)%SfkRQkpq9e?~%ZqxU9<;dVjDz2-$0fgKn+CYE=^;FnnvqWK zk`bF&=1xNwn-{Nw{}2cFb?xNjzCoQ{x^YqG5%trtV*P+WH?3*|m``%nDnD9c+UC2^ z68GBMo16#VI3k^D5pgRdk^a}cL8{+d(q_GtVklIRz)L5=_ZvM*n{7Sz*ZB8$W@dgu zC0tC6c`4HPJ3{_5(0}e9&y8FezwgF~5@2!p1p9l*J6N6ctvvAe$gew&l zRnl1b?JqVk{O)*U4@~9{BR8P+L_lDYo|BXF3%{Co4)h~0s=;Ukr@MD0vRkL*H}($Q zNxY42JBq%_pE~p5A;Z9zFmd) zt@NVVgL5J2|5RS9if9js@;#X|5HKZjxhNXgRas*ksu~1d&LPv2c%7(Vf4m!Yu6O*j zs0%c$Lj|DD`RACz{H_~}k_T5-1xltcdd3v5@77~oLMS$A8p?*+=tZvymbwp9nwN0w zhVkeR7JIkxnY2g!cNO>t?mf+ay@|LtQKa=VpWXX7k1W?*#v$|knVi%(jmur`2lmpNHw>1sbiNtHh;h<0S{a zBqU`;GruaaB__&;u4~XvObX-v4O4KZ7^V*2>tL&Zxk}!*R>{3y7kh>ORdwuiQN~_t zzw@moEcHF-o}Azs87E?z+LfB&p@-kX#LMhgP=R!(ZH8()=VWbA;SxP%Y-U35Fh$gs zfdEuA%a2_S-D4*M%grt4i!321r;eyKewA}K2?OgmNjmXt2M#EVtPguO)JP1tuoS&? zi<0fU7ww%9Y5VBDFvw6P>xy$jziV2?7jp%{f;(sGd2MqykCjdwF(U%omSL7d=$y@v zGU6=^b5J@L{QNQ1L$^z1Lx0pRjGk`!H7}77Qa)8COyA_NrKwzZ1p^)>R1oh|13w|E z$;M7xa<=xa)hX{N-+0yDQ4PaTqI=|$=AM$d_o|GXoL7O_#$$N6_YF5Q0aix` zRS&Jwzu~okyMJGbRg{_>HreKD$ zBp=)m{NdfZFJbMsc(c;eB_=&;W8pK_mQCc&O4#v036BWK;^!zmbSTZMNGiHLt(>HKsSr)wBjsK%v z?yi4=WXL}{l;nLaUmqhp6g0RU+!EIooC9G*Jn@Yw6D=TeIKXOvLY}`n;#{O z-y&htAqBQHwy|VnKm%_*p`7|#m`)Dv3D}a|juIT7dI7Tvd5xaUnoDXaASB<%O z`r~IwY7@i|Ddu3Dkqk307H`)z&X~Wv4mLeNBJtGxya`dD%Z(Up-HhiBZDuhiwwZS9Lb`MwVtQm{l;xuD-P1BA@5+#E) z4jRqB`B&(`sCkm;c5d)v4}Hqaqn{5D1k)enyUDZGhfyEciROOn$0D`tw>-dK$f#J!Z$dC$fI_=NISl zo^oqkSmSIXOo~Hawv4J`R9BbtbY*rKAP-qsyHnA8_=b2e&IVPmY|(nybL7kw75`xG z_i1pK1qzA3Ysx&?j?<8r_niLuf~~*7Rl7Y|39hXEG?o!jlXww7*ydY4xzkwCb?L{J%FTEl3s$D9rUQl%6vu1ssbyl?&m0q&6rFaskNu(`dR zS5@WN1pCN$b#-;`A&Ui5YdRDZ6(6x@nxrVn%I*bDPyqA|@T0GFh1J#lSHGm3t|BKV=b4|Ila@*QilmF^qa!`GpDKC4sYPzGX z!yP*RKDmX|4E?@cmhp`rL``}CBR_#Dxxr&+A{3g`OpHg=7pZqTiG~wr^#eL5wtRvv z`z9ie9qErG2|zIFJ!9L?YQfwl-mciy1{~pR(O9SRx}KJ!=6PR=iz+g~j>7rgvWjtV zJGQsRnYdRdVefv0(BMyeqs8}htj?)_bNorroRX!>JRRH~#j}E|r!5L`Hmf!YFE?gl zDT2ssCg!LAInoCTb*SW5lXLHJ(_ek}&P*{nIBCjKe1$4>^p0s~f(uBJc%E=YUf4#L zIfRC&x1AD@OC0I{3kbm!2&X574j-El$5OT2fk~qw*#+C!3*Q*Z-?Etvlyy8;mzF8} z6ETyUjN6IAPQF>L@%}A3ec7Wkmv}Pk+CXko882_9|H3kVOXmVwRCHo`byMojoq1U$ zrFbv7iqy;(9fxWt>IhLH4xE}_c>x1~xyg3=naUqY;| znwSk$(!;Md=VZEV=6k__q+cD^Id!Zr1LC{{09T+i_lvU%ux+CNPoC$TOg08wd^v78 zAs-e+oUTvhELx$Bm6+rk#SIsjnEIkZQ%yvEE$V7pMF5cGlOj;@n~KHj6ZWPi+wdLA zK|5cRs7ZBcPb?0>P``mj<2FABRk^UmWS%Mga!mfg;)KqKJc2uBI@gYY!ZWBP6M$JN ze9PxFkY3PF8|kCP2YTbfmd2MITCqHe9L%jmwxIq%$rLGNZ-w{2y&I^EWx%V{KVp=P+c{BheNs1nj6tSo^we&A@G zr_0zo^O8!~Q10|}ci(iV7z%^W3on>UX&8mhxR(>9*HFO1RdMd|E8;&6KZA_pYLf=N z)luDu zQAD9~M&F*|O#0cxpTn^ftBvAIe1!aCJ2hU;_UJ$E4P4oT=!=kStD+Z}Hx^6cR}efi ze*$?~!hMtJ;=!x+%&=~QA7w4Ftam@4fmyjp=wBv~fb^`_eLZ9qL8U}(Yl@kz-pA_O z(qb=lW%vmiBk-qBd{+SOkJrX)5pBO?1z)-%^^7Io4?Jjlgfh1n&c;_9SniVP&U_7H zu`;TOzG2xeF7fVD#r&3&>l$`~AX7MQ64GJ;=GBAzrP!jCHlx?(sO~0K^s{abq~Q3X zdbf;Tn`Si5dR0#zTo9#(smHCo8yu>t2OD)C$X@|m&6%a@H}nWV9l(sQ<91p;!j5pz3>U({ zu*(lMr^H~)N-Ha^*Z@urz?+KzGO)7aTWodVe!aZ*_I49erT$gP1qepR z*^agkAJHAb`kaxj|8JLN$v|vli5*QU&KJLH#{9_An)PA~3aq|Sm-uTiN(AwRxW)SM zNLTVm<2J#jSjdb8SiN)6b9Iv}9;o^&h`mg4Pr+--+J*ja-Tt4_`xw(2V0#OB+Mwg2 zoXnGmRaEDD=Z>n6*F(qrsNz%43}$}|Nt{r3^=c$L^-A7JwSeJS;6YN3YchtF`yxo7 z@;nfEy&4_ydx~|AoZFNfr$7;|tPhMYjy!$%qV*r7*Se;z_IWyK-Iqap9;^{#Js*c<8TRj357rHYrO;w4$v1ep zr~iIpNEQ~6zW+4@kvD~Zsu2OJf-Cm&5Iy`mdgU9jBRFJbY;KNoCYkX8WI7m;V3J8> z6Z0nnp(=tN^rI{viM&oQ7KLT>0ZR0nu0RfKK5EEWCKsaocvMWTpoV$t4YctzD`lpw ziZ8A#Sc+(U5rNforfgg$PHDp>X}yFTW+O!jhX?4~+L*9~`FMTkh3g`A?>r?Q4ZUhv zuqFRWKfySDKre+Cb3WLiy`c^^Xif&1JIMy##=FwwL}<2kz3zyN^bK#jQR3cQL)K%x zotN*6Ouk(4MT3H5=VzkGFhv9C7>tLzhwLHjgp(2!v|GOm2vFco6qJ@;gMoRZoFR(h zYe)ch91+vf(oSwe5pO2k_=ln)7ry20UWUPn0dmrGZFHR#*p|uG6WV6g;3m$B1^)v& zx8(cZl{KPjB-Oj64k>_=+ zJm}7>KhJx;$+_O&9Ed~DB;Rkbuvpz_o>k&qugq)}1cV<`*FOg|$5mKF ze+3NI?T9P7j?@2+J;=$iqjhF|5Sd&{>vDTn)5!fX^BIBOE4E{;F&-3t<#emt&2KN;o;R0xG;f3_L>ef2tx^^jY8d#Ks6XMW zp1FDieD+_-sH-=(1))f(ohL56BL^_^3&VI;%Tc{+O`w7h5y|=2#&Rk7awbL<2kRVQv8Y@aGEW#+$x z$vS}6M%26vxLohR?=>v<}1T{nTQX8u5o&RWpCIn^I{+mVoJ z_BYVIN5JFkLBh{pAuo&zwz4aSY<|D|Lrs5VbBh>w5(qTK)%cY2<}~ptaZ$1pj^Z?) zZYE0Ozf)eJkDI>OA+XlCfPFa5-ODU7=`G4%uP#@%XiL@a%AD(}6X~*J4yVsLH>Q3! z=G;3*qlI?aRJ78d)F?dNSnW!82@H+oVR=NRbuXITL5Vl~X(6iM3X}&sK(U27d_k@q zCTIo-WU#C&UN$_*n1HovNv(|Mh5`yI6;Gqr&LcWr^MV}LeP#%WGP`6}TD$EmR;CRR zBVI;k*Q`V4PjmP7k4CMnY0<>T*n8aNdQkDNA=x85L$QV&g;3aWtJXH3Q zHm(COc&ivSs~`oxCzMm+*&<9$n2 zeJBdQRomhOcv#_k^@bH+5!W9PIzpS9v0!6)EyN+(`VCd zwGo*5O%BFCrilrEsJuM5&HmP)dRz`5${P3m59inJQ}|ZK#_bKA&@@*h@LL=>3zKgJ zi@3noo*sJ-4-ZNJ*PKUx`Sxu)CMrr6=CORX0viVt#N+IN1_}@w5fKQ1StinY^rQPQ zU?Bn$-hcM@eHzQkWF1A5A4hfHNkJ|M1~Pn1ks%#?S{DUio7MI4#wVn{<9x5u5#6fV zf#&0VA}4~-*K$#fmqYI-0i(GGi@6GK+ZvJf%pYQ%A*+q+>ipT?#90Px(6i8GBoGLi zM=pFE+qPzTNS^~kn69FPU$1cL!*1!!+v~WgHEM5t%}`4$-G`b2t!`46Uw4zLfBOXXr%*TsIckhXe1@c(&ryKko7Iqla#klb zc07UF1ttnrim)0#rUNZ@rkA>&;=$)Tvj=w)uE~bv6_UCoCQ9P30Oi?7&K`RF7M zz={m6HT={;Zsj=F4~fGTYZ(r+^Ib9KwBq~TIhzlvcmTuGlkTT3my;W}$I+l3B8*#^ zE4Mnd;BZP=B$v=z3n(*T3KK4^8Yxg{Oha6*6c#9Crc56{(diZ+K5U)GX#2`dA|~@* z>!(%e?Ss({J5>Z24WXLiyMh@YXxH@qn_SreaRuCjX+zNq8TVRj168*NU)jA{rFE@7 z*K+NhgX@P2;aPf254-n%%+MXda(*xQN#+No(hd#UeR!Bx9#YRm$l1-LlO5Ra;Cdr0 z3~=gNezaMFdPdrZ*OKBRh*Mcw~Jo;j7Nt* zx7(zT~kw2GlU%TDl6rWAs1&2txpP@|NdPr zD=pnk4i5ep4+H7OxDX%*?!x__0lTt1fDUkEW$N^7o~<-#(mUD}u_kJRoV&IxtSDje zbzc2*JK(SCfqO|2JLjn}LuZi?V$&s%FxnebDVoQ&q2WDevc2q+wq&|0> z7E`}RV<7azZt?}0+dQ|~hq#E0J|ZOwR(}p#Xbs&4CC6LbR@pu>M%4 z*FN73{q)Uv-OJPMojJ;sWO=G_9EVYt1D_cy_72a5-u$#yTKZ~cqYQ`6u8Uh(PU~#A z5&YvXS3|LzmiZ2VDj!)nISSFso9&9S{T|9ZKi-~p9kO{#pWQ&bUQ{<);`Xv6@a1}T zm&4ztK%^*xi^=HGZ8}Fr>I-bJO_xqv)QpVFa;J&!o*bh=QB#wE5N9%fMS%PLnH81;8qhm1K%CFX$syMH z?iA}nS)ujF&beb zeq|o2uz^2D%Kn0!?&pSTyqbC9-&sSb8RdVZlbYcZ9Y&8nWE9kP4X~X+GRK6G$)Hi& zy1`pDSbY0*v!P8aE3w4K|N2kD>Cr0!9M{BmiTJWotRGPXSS-2)WCeA-@mhezw|FdczDZw=sWE z$S6OMn_&3zG|}Q%6;cKawed-u2*lGO?By~tV^2+|y9U_4P2h&&Wol5sV_;DvlW+Wz z(A$WX%`|*ZLYN?Wit*BgmEi|P zn}T{cTJcFTw5s==)?Y__?{8MvE_zUqD&3MF_a~ET+lL!$G-M9&$C%9ft^F#@q))-$ z@vFFPa(yx_BxHQYy;GAN0)n^9=o!a%b|@upG9q^)VZ=l7%MA@ns*>JYJk-*`H?V?` zm6_zc9y;Ur8MpMq9`?MSx_zs}efs0(OAdN}$c6_^Rj2yF7v-^N>IKEUeXYSnh&5?? zHE%BS!rdpegC0+TvAv+<2OeMu0j?!0Fqum3=_`aW>y~)#gzVL% z4dZ>-xyTpt^^;D*FC4z$Nw+V+%Zh{2^4*}oJIMO6!zY@uD#Gud$+l&Sc+H5tX|#~c zr%%tLWKk%}eKUi1+n1K9R*%c)n`hv7#CuV;8aHzd@i#gfBGXwdZ=6Nd22wl`~Xvd8*6@!17643W#oDMwvHiOaR%U9vc^mibuH?NL@_EhTvw|8{Z8M}MYcke z{CUt=^4AmtaFRqrV5Wf0I8NDSdPSsH^+|+-T+Ezwfug5SA{q>MgB)Y=Bcf3Wz#;Iq zv;yovMDc_0n=(`vEw5qGIw5xWQ9*-~&c|fYwx|8mqhs?qV%G?JevB959d*_Xx#U-p zb8XXrmVcO}zJJ${@#)hf++elewGmnVoIOF|Eg=N$`U}P@1D^0OBziVaij#4jdY==&6&OB zrwdh452a70B{2}VXAgi$K&|qu!RR`?4>i3}f$REo#~s1Z;}8DY z>|0X+c*1EVgLb+u<>IhwRCohJMz!E4ldP9$vP*Ae#Q23q4vHBz{v!{gAK56s2Qt-} zIbNia*#{Z!I98}M^aW(;mg_c!yHK4t-<&f}0a67%&Zm$8xWW^TW(9e9Lb95g6H25r zEh3`Z{rU5f7$;{M(TWaOSX%mvVZg`M)@H9qkB%cIq`>RT@nb0+x3>3 z{>Pc?o&li%-%49fDM0sjE+xkm$M)nbN)X1Tl)tbN$bXE7=3d551Z-m7>Y?{2QDFRA za|2`BY)qsAutfE;7(+`Mg7zi_oS?#3RSvToQ=dG2Q7bOt8_r(x;`{i|i0@^T7ka)1 zw^&TlmPTj%4!=6pTfg&i=koQp^kL*46$rQ+W!;`F8bxl8xSZU#u*m)Kol=pwgnxMG z(*tEsX-b1eX~HL2hLO#9ZJiFfGZJ?gQk2@RJNv&sF@Oj~083h!EMeN~0kDL|0*7<& zk*`$}EkQtz8x6VfvOEIuP`HyE2%)f6N>sP%E;0-VisW)rQjQrKF6n9A`FC3!heC8+ z$5ymfPc5XO*nKqAbRzrxn)_aEoV`juA@lLtI^zY4W%b}_T+F*1p&AO-kEcpOv5*I~ z6#j;p;AlwXfjhAX9zM(O<}|RG7~km8>}J=Pvf%`nC-gLtJ(e`YzLyxx>DIke39Dwv zGzUpx?vy-QM6hWQ7H3JSzsOzqB8)UM^sreaL2)u%DVtguhD=0xRdlAMMZ99 z#l`m)AO~YADIt*r<-&(>PmHlimfD*pCaBo}`UVEXgw)jCvk)F2nL=)FJpkB|S^1@N z!0aD20w3Y819@ibJxBhvs;$XKMoK@@RTB@Nq3{Kw(8TtuT6oPyuA(kSzOy?Q6z1$X$1}V9&9CYnBwGt+#X)TNL z6D$K6F5UeA6}g6##c(~A^4d62)nixecpQCxxv0$f3t~myqgA6rfaf1vc^-Yzur@6s zsr)W!E;5~95G^b$DNMDJ^EDrpLbW z>{IANcA51t*;PZs+W0>9q^T)(O34W3LFa`hTRwDV{gvUBNhd{SW6Q4TXVZj;$bp)8 zZVA*R^QHzV(f!1O-luMn*RfgDc)H<21|)KUfdQ+n^n?Pmd7e(hPBK0A6>);l?2mfg zVx(2OPph(P*@d8~AR74oQaDan)sV5Z9EjMp&LhFC*P`Su{E1p)XWyg8#iFN92(2f# zYd`W|Yrf%DI&pv^?qe2q@@9k?l2(L#A? z>5(pj02#P;Vv3-+b~68@2utUb%`c40ZQ4KVoc@LqY1;Zfc_g@Zv>fZ@XudX1dMmRW z2gyd(JdNw$^kaFZ(fXq9+9rLR?b51z>iZKal@7NvZSxd07vc=7#H5a|4E~ZR@j|{s zX(NKAo|`>_!CL5uf5$llFS!Q`tK9nC(fYHj*91?VVxJefPlyQM+%^#$bn&6_Ih&bV z>_+iefx4F^w#?*L!q-Tdpc-T%t6;J1R~HHf+Ghouf<B^)@h~SiGqPWnA_toyoljW%kQqsk2<8ojxHH?cJ~6FKS(;cHh@LibMQLdL{y| za$aR{69?$*>3IbuZ!qWYy7fB*uzx_aY21_JIeltLU+j;EH_y+Iw%+4eIRsuTB>(k- z@HX*Z{eEKK_h=}!GQ7X0E#aIQF9zq}-ngSD046UWWNz71PyemZ4^3&%CyY7bOuf+^ zkwU2vqaD^0Qm!iLByI=JxMAV`XZlx?a_df0-i5?I{AuYCOyIqjeSwB3iNO2+F{_FU zFaQ2ne3dTfqoQW#VvWw7e7S<3tAZ~js6dQ35D*%7Ztlh1K~j3mTUZHf5l^4lXGm5G zj(MxnU%8T7-^VHXs|ly_h)(d;jQgoI>GE>^=_x3?zdZ0{{MfF+UkN4pU~%L0#(uhY zak+{bAQS*X$IbQe0Rch?I4nd@dk+7-&qGIX`Tj(1{yYBD)(ZKr-*a)M>DBmcDF&N- znobzuv>2hVeU;0t2-EGM>cvokq>w^r@@qfGMdNNFE`6R;GobuQSIXs&0ja@-4q7$f zO6PT~rxK*|cTK=5ME2&iq3WatnLf^HxNuX*3Za_FFd&-oKkUVvMvwk+d_r*^eVzJyaXYlai`oO z)zX46II6Z^=-7Ma4_j3}v$yP5&7;6G${)E`G+C&`(Eut(`n=&<>s27ar4o7osHtcg52ymcOVyLqod9pCyU9(X`Cs=!W@^J+d zMaffw+6rQO_l{kK3%R1oORc^{)|JgZbgn+$=lQNu5o&Zn- zUXJBDunG*JbJoDgtK5cv;p`~F5)=8&M++iH2yn5!IaH{6CR1|lTrs7}A+thYq2e)a zs}3(WpPZQS+{ohC<;M5%?-99E?hTn)f5D|c^Kp-6P}tO z`|C5u^yweEdT_und}k3EdOl#UrVirRCcE$QdyLK8 z)Gt%^^b5wlO2jK8n^xkQ9M3s#%!_|}gTB*ziuDs8^hPI#4j#? zP>{g1kW!qR$@^ena1}*oLxwk@NEBALBac> zp5^+m-Mp|6u}X<8`L{WO%sm#o`q! z0%Bpkn|T8Dt7on}vS}BEa)|14Vc%P5Na$?7BORQFm|6XE+eLu*2?X}!{e&HrcHVKa z@O}D|u8Y{_hr6d)k28#5PCd*DxqjgThNWfw3MH~fQ+M!XM@^DNZ2x*fgG3origs49NC+Dxs5A+$)L26iZa-pOUXeWY5>D4+uuxc8uF zK2&(}iw(DU;`B9<^4e}-)B^K3KYjhm1J&!jgZ)wE20hU74wnnk>{3_TBG(B1uiSWb@+W&LWO?X(~F!RQ(ZuHkt(KVu=oNo9xxP5#YjYcZqe z=na1pn3w>!R9q6;`KNjFNzOldMz$@EM0e9fzXJu2C+Qb0`(ppcyiBduKmPiSS&aBa zU5Sld1-X^~Uq8s{|B%-9=FKr%cx98Jm!jZcXZ^ss{!w?R$*U4BQjFFmV5wl?!1}dbV!*8$Q%g6yehPc*6Z)(n*k&8vHXrnICvt_hf#T-Qjb7yhs@o$D z;@8EryHvFx&cX~gGi}@!dE-EpPOw(gT+IgHhr}Gjrtx)jfxBLh&V~?@2i(^&3t138NV>r}e;kVOX-)+>LeM}*mwa=_Im|9QP*dn@ zkK9um<^@jeeg==<=dMxghd-O%O*@0O5$_n1d{&cT5nC`);$D(N`P;P4Y(zdXD?sQ^ z;G+P<1t!D4zY>&ra+ewZ>(egsQ-eXcC?y1LR53koWRwi|^TDG&$Be-G_|!ST`uhvA z9IgNU{WAw@5CC5Jeary6{KXqgP!V7}fCgAU9d0JBy|YC3Ey&buzPqD)MQQTk9yfYc zy`${LGhD+ps^p5=!8I=m?)cHrw>oE7+?aBqs9EnF`t=}#P9sSS&wGgyv(W_vVvyh+ zgZp&zLp%dHfD%Tfpr=Wkvp-Me7B?RIQtajk|a#RC6@E8MPvgSe(tYCX-7At zf%nE_i{{hk&jZY_U*Ct@T1UO0ZtN`F$x*N1^6PM825Q9Os7X;t&L!53!>aP~54~ZW z-We!#xdBgxU?7JkJHU}nhYK4#9lvLrSqH{3qQ}fYpsbAdPb?bL?AMW{WGM+Xl+$U2 zou2gHIhm3C#g6xCq`Kfx?^XjXEr};J3J&%}&Yqevrw6X)2;jO4u>hT`c=sMMr4X1m$%VXv+@q<#ODTuhN))D-aoPqEloYsev$THsJ< zah6uYi!}dr0)~MTTo8?ZpJPuM_Wfcjk-bhai4L$?GIkyfl@5I=L13D?8(!!T3F3EQ zx{1~G*tUKO47Djfy5n)`>OW|)Fvx*3oTb78!;@)RR#_MdmSly{)C|V9-%)nYET|`o z$^G``I|fc_0b8mmTPzdub^RX+<^uEZ`C)A!4o8?F2Z&N&E>9WCR4E`ENT2@C#=2?85-~YjBxH z284MRA3z>-20pc##g-LwUU@)3P3`c2be3uW_VVR_fk$)yX>ZMGK^*Vd?FlHit%N4= zds9d}6oa4n->$!jf+kVGKzv65Rt;V68eC$&c;wYs%nJJ~_dm`kljn`WHYN&I_cX%C zs+c&kyW16g*c5AD>a5yIJatXZfmMSHetkBGT~0u7-vZc6dZpyO7FgJT$}l4V6P3g7 zY$kpN!;>#`^nW7XzF5hrpJAXm1-(4KS%OV(8n{m1oMpW_^?MmQR_Qj9j?H~;Sj}$y zIC_&y91#Bg8N1e7amxi28IFJRhI4b14%)-+%(7h(l2+l)b!5i%FRMX^8c8MFU+F4X za)&HE@8m^#ar;Qm@^A-fpv2LO{PB4XwpdPSw$91|oHVaRdg*ckSmcfG8{ShxbQudm zy>)o#wn}8O32+}XVi;&dQ;r!W^w-lYo-)rVC7He=ui{q~-^jRs#*dZNE3afz$4_eS zW=eeeQ}MFlx@L1+yhs=>>eRf9o-SyZTG8bVFtIzPVkXHs@Di z>e90!6m{d(WyhVyuh&e2lHC6DNkR1Y#JjfJX8_D1(A62*MY8N38WZa>KSNfRZlHWd} zRS#;!B_!0ZZ*8ao4##FqM!|&@1~ZlZ+5P=Q(#Ky?KCoLBkVnMF$lsWTyoxrrj4})V z0#u+6$=0Kbz_#Rdz2T3#DPC;0vNT5A5_W11;DP%|vVRstC~(0^@1^zRH>IVHCPseG z_@>2*29q%1?6g2VnrN`=96W`AdcQ!X4~FeZTK>+T>fy9#X1t&b`}-7&5poKvSX^RZ{|1TTjt?mg@L>rb7Z zix$<{)de39Wj_m8!^U_C1T4~$C!4?|b2yYE5vrLl3;1iEXYHYvUrxdD#pfV1do)Y{ z8Xg%bhLFtA`u4WW(a!8GS$k0mz_d9fWcuE*=ihgdUaKL4>3rqTMQuPbt|ib6aGjq~M$XB;*q!0R^7))|7t z@Uo5SM!VOej+NNkIWr@zqRKV=do1y*y?g5Q0*Mvb4(pj7eXgmdbyYc*__~yW{tz5^ zVb30T5#6x5{^w_SEy2RTwVDc;8bRg=4an_2GFyaQY=-$kC7PNGer!*v5O{hK(Lbcr z)^p>cPXbA?O`~6#kuQHSi`dw49u|Mp;nqx7?ExsaIU!FGElaa)} zF_I&Kmfj;#G;eQ>>P#1piAcnY0Q%a=E=9Tjuv(og$ftSrN(-_8N;L>9pYb;}y485t z*lJm!vdYRiFgUq=b+SFpEuQnV%dWN=68aCSjX1#&^S8dH7UkJ>bTh(~!V3{JkdvbWl7Wd$rXvUJ39$JCF@D~E;*rD~GZ-W7Lez%k zS~WfF@gQoWQ?E>tQ?XY7hv&-!t;yHePjcAHCZCN#VYq;UvMoN;nqj~_uLw*1;|FFD z?7=L8E`(50VrrIp`$P>ww51lC{ARg$MS0!fB5B7bmX)_}`=gy9yg2JPT|aG-8>5iGXrH2+P~G zTNM(OPR{tks3%v|-+H+cpF9*DZh`M|lHc(~M&Nb;@r8PyA#X*B+`}E<7Ez2J#PgZt z%_4Q?hNtK{aV)H<9bMSMvsq8?aS`K}f#o4$_G<5$FdmJNk#1fO#3G5o2ybMmFD|L^ zJC;gc%0=Tf=E6|e@1QiTDU#;|DxSdY1}9sau0Cx@QS3hit~sT*H*pzVYz@>q^0yX| zXlDcrOb`C0)WWVuz%a0{XtcO}%;(y1_@aZEYsPnJx@7j(h;BNmnErxO65X%&ck!6( z7SC@w3Z`bCV;VIQa0g7pzF%uCb7y3Ee^W}6nQ!f7e)Pf(r3@sUpR9k|_5b5fK8$g} zkni8We+FW`8m8;rgO!z)X)eyr%5EnBj6f2F90>K26TpMOlC?H(PtS8#G$=GQlm$Y( z8!Qot7g=uwcJClT$dDcC*n*QSc^|F^ zOGJGctS@8wkMh?e@_Y*A!=XMc5v8tZuomZtXvuPy7`GV{OrjGR-Ol0ebUiP9e5(vv z8bQNfoB5MRU!y?`plB$8qVa<6zUT21ksk(sSeQ{#$#Wt2A9!OXLV2+6g=G!T%!vh3wAPccae zP mh*Aj2vV+|8F-r1z!I%N&JPraKP5r$jLg$#-VMBEw77`p5Ka=-b0=x~Tf|a#U zk9e%rY^*NvbO7dyduuH9Vz?W@RhG5Nr1*q39aCa-SRn@<(PqHEX$2&qZm|MvRZVhW z-T=c~d2wvulqv`!@!nj%D>xXuTv^)Nmj;98{g$YZgZbs|W2M`|bUOt;ugd`jvy_Ho zyrQ4J?`Zs>>2ar!cHFH6u~=cy5LiX&f0(1CH5RL?*}QkYV15y(mhju42zZHG!7h>%JY3vGu!5^az_h_)VP&PH2+(-;Qc{g5 zVsr?Mr7Z0NsxRzp2n}*0023)U^WGJNV2EqJxuGG%-PZQ_O>}h6?#(qY;xmn>LP!&| z0SqXGNp5U&ecdBFH#f;fh`LvUv({S*ux9jdNNCbUJh2x4b_Mk=@m*vX<%YTaa>Ri;r{}}1c*R6ZM!O;RmI4L>2Y4=3wdU>vr;_}#-^pJy6Cx7y z2@P}@81Fj7yqcKO?-|>V+ik~$7RIh|;7G$lV#MOITus8+JwZA5t}IYDhbsFzd*Xx| zQ{yUNMuy>hXgqN`h3lE<%FRmLlN<`Y;yCYb9UN?rQGd3SU>$djNq}{4R-DF3e7w*p zjOJ^sePIJH_JK(Y%LiZbyV+RGC3aX3YOA0D2Sj>HX?N^&|tVSFM)}JE3R`L#uCv*!mi)J$YhzFf39TK?BR;fPL7J0^4R}8E~f^+x9iAT3GxjRorfcb_32^6ZS8?smcH6iU2sQr!#-ei6QJ!=w>K;p65RksTny0He+2?JC2lw%ld6iFae3Ymq{k* z?ewo-e?^6bNu)$Xx-p=`+tbPK2psgugIzt+XlP(8F*7KxZ~smUo zq%?Z!&f+&zV|8b;CYYt8vk8kYPRy+Ul9njkpIquUF`d4MpUWMaX0mRe% z%Z2dg5DRuhgCp1xfMsp1TjuPb>K4XfWwqNOCxrP0E3)R>Fag~WAws?z_~36N1>{X5 z0?q&p?hcE}#z@>MX&McXEEh0iz%q^r3#)@6lw9x{1J$25JE+MQ zO@njIje~Z(b60+~&772P32kwQNZEMAgLb0`oU2uO=jfbVxLXrwdy*-XISadVil zKaLL0uRVXzU@BRIsgc~k);U2>i^w9 zCKl*BT9M^o@DE4SLp1Vk) zt5TsNRMeg`oiw|NgCdk&v+fM~A;HA+ZzQ7<4Mw!JOcU%Ph^=arcuDe{3OPvY5>8(? zp+Z&juiDeN$(6*RKeNK4ihLObm1f9~A6awHZ#W6*A9oyx#VwFEkc=>7bOw1bYw)#N z4D2H-vv_@y-qa~@JHqz90f{h~3csOENNBBd*ozULFRH-4k=mL+!!qd{H>t)js%C7{ zQpgkUd+Ao}@s?udh9_xqM9rSD7pAv~EV3|I^#HpMM!*lj0slA~)EwQ}(>$4@37QyywQZhX=v0*uc-TY4HpJ@uU zZy)8y_$Gx>|K|mG2}Y=JJE|O2bsrK5Zwfw1jX`aOR}By2lZCy98vM7X>Ry7SeY}KB zvM%jTe|W_CAvG9c=$;ln2Xu3D+TQMNZGE`*=Ys*tT~BXx;`8Uv4=5-o4vkGr6iame z`8JyVF!=Dt3Rpn!xy+OxwPjqN2X7tzkrkIVQ`s^+Nu9^-L~3XIrH>F&C7*8#7GXgz*mR_{a@FOjnjqg9w5 z?aYaJ?`Z0-WgQ=hows$zQ40D97reABZQ)F{la-lPKSFO2^??-9uHGYzYMf^A*z!k; zh017fVRZ*65NBpcQ+tJ4cI?xCfp=&H_tJiQZg^_Hl~lv|W0*tJpIVdo;Ntv=GpR+(c76gh0}o zKZ{)@Sg^%FiV6x=o!nes`hzU~Za^_*fJyyfxATJ)J}j&_lFtye0yHr-)mBwpeAu}_ z2+`5y$YFu4Tl}o73Sf2DeRHtDqEVr64G7}_5W^8C^e_mrO2Fsm zcMW)9o;*rNL_!gaasRZ>;@`7tkJG0qRqwDOWPVU#x)`iy6HAfbdkca8usappp!q)* zHna7G3bI7@g}+f?x=2uaNLvmZN5IC3g6PAOY!3^%v+)>C;7Kb2k!>pyLU|3eGk55O z1}(Yl0-2)wuU=->voi8ZVn8ytt ztf(KU**cIt(3)37hh?N%LyeJs%b!29Jgog%MPT%(V!$b=X@W@|+lFYrF>c6pz`;o| zs2K9!h<^@Ioe@ZyXva1Dc2Xk0u7(2skRrLS5<1#-F_b=pD|vFTCZ5N0b57l8QtB<7 zz4W60ai=ry2=3CBm-u8b%aGWYDlbk)*xDPHlTVJ|N2FmUx>Dyr95G}ko3?PF+<9P& zjzHk^p%p!_vKUN^p%7%$ZwW9wu(J3^2Uhc0FEnjoIiFD8g*%~`) z&|(m20*X&!o%+7@t3ostTFKPli8q#Z|6;02`H^%_u67d?0*)|DTk{fHB5_5<@qTg9 zdIjP0q(7UXs2cWxT6RvQhkiapVI%3)OGusY`5`?Xv7lh(GI!#I2WC<_?shD!7o=Zy zk~$(enl0Cw;7hKnU8BG8f=UI3h5fn=$*9(AXE3pmg}wCr7-ocbi4Y?&ghhv63~U-L zmR^(EqouI_q|Y#e$mjc&&=?wXX#2@a9xi4{!XZN}o_v6pF+b_Cw|x3rK7au7z#{LhNyhbd2ABQJ+!cm+9CXGSxHbE$wvEN)MDPp1j0drW6B?c#PZ2@1vvYQ$?<9^F3tBKJ<#2} zE#y1^Y!i_HLD01Z6~?x!%gaYhGBU00VMo7I!|m|xVZ@}Q2Z{_3Evy=xW6k2CB9-~p zV1ET$TMkWT;w_2>oO$x}fda<|jE_3z_3YGK}tyU zG)A`Hdx8=Vyv_#T=vlsvkZBvviTR~MC}h#tWyMM)@+ML^eE+e_BuVnX#5Z7@ll40M zs%0{tw6h~SuyVkXC|%bihlZ5ZreoxO#WQ3FrK^|Rsg4ceCRYc$S_&)MXc_}o8eU|} zN5kEuF;Rgg7S8qf8Ri%rqg_~-eEyGQV_2pcFzKxx#^ljFX^_1?`eIetlYvwLN|p0Y z#yT?G85TS2Fw_MFJ4pWZ3R-9~$Qp%Piig2Iz6*{taBUdNyAI+=fOnI9&*iuSt*-o>C;Hnz~=!v z6G@ReFm)bd?LMkV^XcTNSg^Uwzu0IvO5c)c>b}zY24(R()n~G4_*Mz@ce4~;%16pa zyzS}NTc6(y-yI%qDZJu_F_YtJ8yLg^^F`atjA>X<(8bWh*8&V6(9$eup(DZwyyBvw zSJ9MElme8`0nyXb%bu;~xZlt+GRpFR8WI8+WrT^zG-H~Y&jW$iV4AxS0~+#JR7OW? z6e{IwBohjgpc_ulCO-S&MqaOL4OKmc9QxqdG1+xU$7A^0F;SM7dF04ST|9re3j3sA z_zV1n`{&Q_Zm3A0G;ow&lRBeVpCv5FEdu;cSGmf3rh&N{Js%P5z+>myihS_lXNQ-z z^n|yS#Rd}w*}Pijg;L};9mb&nKLoc*I1kT%nN0xMiHLXD9C!)!V|5O{z(T8(@Vr1x zxi^^;MPVTGvUvN1-t3jM$*8P@bt;3t-96=p3xAm+#Wvf!f032iKh&g4n2xQh2pZ$KYX)?w|QSE&I5w zq^(SMppG7(Gn3Tvf|5J~M@wfi_JD_l$9YQo>3Bp_pMWTC5Hm4w-AAeIQzayfgw_~h zCMXe>CvAzp;4RcDE6_U1UvJ+z#UL0GS}j3G010mwY_R9qoo)7C`d#u+wWz2lV+&Bj zs|PFJ9&K-J-8{lWz9xpaH1p^K0sQg=V}UpD2#b0p)<*8v-yT9fBXFdhf~R z?~P!fMiW7CXPzr}ewTQbi3(qVGskA4PH%y|r3bxVm&-*Eb@(+w=F)2SFsp^u1!`}} z2yPL*!xvI0L3gh&S*Z4)>y=Sr2j0{(hGw=jpA*izpK!IF&SF~zQ}vMEvAHYt3ithh z0it9>^Xi@5jU!Abg!=A$Lr^bWK7dMmJ09V4B{tLYGBI+Ic61bn#bGn1S}|$NkAyZm zSW9<4VdH{uRMe-atsL)BB;)7LCk0O?5#6PQ zul9Qv^Ae(>?m~jRP!OYBn5pOK&g|xGa=QS4I{S02!S;M6U%rFOKu!S)xjA3keVi@& zPZIHi3OM zKy&iPY{4ZFdIiPvtgw}Sr2S?4=k`zpm`M@ZP+A@y_hZW*LJ{xWx@}Pu8uPCrAAI=H z;q?ICaA?)J+KXf$Cde=sooLerfTz1FpL?~UY!L+}p1vUs4bN4(e+$A_&H6iiWw5_o z`(;j5#_Yc>5&D#ehvqG}?k!!=@5SbBW`0U=`jg0$Ozy1lM$}ivYj*1Og&(!81Cinv zUOq02j!svOj7n)FTmMhyV--&IuTI0iei76tl?F1A>{67J9_R4fl+n2uL-?w%vgL5( zN0|uAbYvL%I7tB_WJdTs7XHC8udwcqW7v2i)DlQ1G$KsB#Q76rBp3ICPp3nvh>FM? zq1Xp5ABXJ;W}Jl2>K-2!HOOIbKu1PyLKY-&#LrQh3p=1_kKhuBddI@PQS_Pm8-`Ip zCYL4Hne`Z(5={Mr1LQLeZ=x1|(~8!8F8*MW1PTOe4L!rG)#tiI08X$hQ_fRohA z%gD&ce(}Of5+wTn%99B$6*T(PGtt@k*Bnf~-#UWM6#GQbp_KmM{QjlZKsYly`||17 z*jV`Tet(8I3j&5#qETjoPzS(?IfEWNw zsx!Xk1D;>>0#I_?DYuKFi6I`uqmYj}Bq9~0G4NI$si|I4(Nj`uDE-YWH>DqI)pJ8E zweLG*AFcqCAO^Q6D`*FG=9S)ngG={p5X^1t_6kCK!MovE`Vn)V<4OFTN(CDhDMBs7 zLK27;M@UJS>4r3ymKowvgK5QN9ylqzHef5tOtEfUnFwwt-V|K3(4LVAU}{XBoEEe= zs9&>ar0SHMgB*ZWr*M#2>{%Mm>;ES;(RW+9bw?-=Qjxk5i2>kxR~w*9@q?5K5cfP5-=Ue zmGWL)`$+~({XGNueY^K0C0iabW}_lHEw1wRIdPDCdwc%f-Q8mFj;X02HCVOFpSYGng74lszvEmc>fdz89;1 zuT{?cgnO6^)HGIQ=X`1cnb5M04f#8b1jqpx^Xf@>6U1E5hkG|?Ds>Lwg05EK*uxQq z_QPN_jTE_#9?#7>zDJ?ciyDD1#Ngeq@`tHGsSMCx5hV6|ayl;lNN}$8SN-7us$4HxzDq z+PxsT9WnXwkx^LblC89aaEk?eL5%&tgH6MpwV{t8LY`A0 zl0hH4y4?M&=L-Ya&D9jcEHOY%TGF!!^%7PLWbPJxI4I?p#6&mkdpsq9@DnFQx_Zo< z8Og?mNou-oG~Vmo#elQZi3S<`!;G!y)@gOa$Ar-=;|%xu1kQeUz|7aDL2t+gc#Ll3 zHX&OjR#F2vL4hn7NSYdkj?_mVaYjXaI}NS5lEgp75solwe4+c;PKa!MC`5_1+c`IE zn0r5*&PYmm!C<_&wU~~z2A%YdXOmz$!K=8@%~+n_mxsz>N$3G#15Etvjt*fYc^pvL z6Qp|jGeeq>{Lr(+#QPxe?xFi^lkf56ZaWbH9-c|H@8*~zNGO%azH9qcPW3tMv7F7D zOIgK-5LiO>mkm--RK&uD7*kGPLDa%lJ@-K-_3qDnIaD|xIi(jDdlM-e8yn4l4b~($ zDCkE*@1k^_F+Y1a%V(&7M*J!j(t59#nr02j=+I0lUq6Lb7-j*F$!ais^A#Q8_fT%s zursPpf93<#g1#%6&IdZrEc28@in{E_$aO1O)Olx;ilf zRyQ3lFAG=C%_G-vkuP|nR}2;xx~*JV^AZ<&u=cKZFzs9)clLnGz?>KhJZ%7PBUT<_ zLl4cqr{o@n=Rxsw>`<5GU*AYIl>Z#wms$PHsW7~y2j47gWQbxZ+lJSOop)nvAwZkN zCfAVpXygtOiy34Zop&5;A~b4Ea0Sh}t(eSp^nFIGn8ti#Qhs~_r0#F?)ef^rGx60% z&}W?cV(m{g@htM;6(+mE=wFRM0@APVNlbKN%5GoZvv}@}*DyVmj={(XDVX5bK{%_$ zUUUW&&-c$97Qk9hkF`T(Ig+kwNc)no3avb|O_pZqHG5<)kgVLvH9}cC4-z69<+NK& zuyi8A0Tf@fpixusg#n?W>virmmnO)D~}MDKxE+)X8eYpE4e>?_e{|tPaV~* z$KztYz0|izkwG~7ANo^WAZGz>LKu2!2eb)$21@?<#EScD9y}ZHO0%CzVe%N+CR5C> zc`;F^u%0VM7U=EmCDvmBE6{OtPtc0^ijz8Mv%XCsKRlM4J;f>gmA~)&p`)bFmT2TS zeRS~}kD(@EG;ErJ?Ra~iY1T*)7vecw^ljgrGo2~?=@-W`j;6AjC$y{s@4#RqU=aS@ zL1LXHAhg)f9i+p&WolsY_tWe|8yBv&Cs^4fLUtZQQTD-I#XNsKE8%9;wA!?CI0*|s z=8EPg@48VqZMHd@ARD9yoJre&cZex3FQ)>r)2ECe&i6aq7Kl?e#77UbrvD`VK5<*F_hVLNX16~v zH-j7;Xpa1!qZ2QLMM0-(I3BH~IIlm@rs^1_cvI9#KJr8B$;JYDgH@?`&U_n!<*2|jt?`_GaQ1x`S!K_M%u1K=Nn+S9iC_R)h7&r(0G&PjTghQ6 zZ3)6Q854=2VtnwoH!exSUa_*@C}#F=GVcZBT&=qGWv8-928iO=x3?!8VQFfaX-6gh za4XZ(bdM>xNPMNvgRRADs#iYxLS0VpY@}C?V90sZ79IHsOm=0arD=meuJl*8N%`O| zSgJ5>^m-8&*FOOo3sinYL}&O298jHGv(2Y6px(>A{&t;84lxN)C;8ujbu8`QI3KPK zp^{QkB$`2rm$#A8sbj%#2eKjyPSvFrHEeK6y+U!%{kp1(yebMAYd&1qWU z)&qu`*bT=1YAExQesdx=H;$qH#Kv3{zXfr>#SH?of+0FS3-p-s1huP4p-&1gh);=+ zRF7WC`0Jq}>^B<_S!XX&vvB6x;MN>{=NsV1+~_r0H9LDm;GB#k7J;f=GlCcI@E|jM za9rXS!yhZOLwnDWjpM=|ri4h_cC^wFMGLE1xC&@MhJy(4he8W~o}g3MlxX5W86Q^r zP99N0Qw&h?^IV~?!z9H?^aaiv_#)2kxBWsMjK#3#gqV>2LC?Qh2@kGolCNK#nH^l? z4EX|AA28HlAn%nIgJum;*5$hAJ<22g{$=#Vy>h)+N_jf3!*8ix{{&7Lp7j^41Y54r z;(w?L1Q&&3{{+cB&L7my8}QICId(lU)Vu$}w{t>z^LvdA35 z2Sq0SpnT2jbTcnDR)r0E#gndX0+k_LAT5$&SuZtqQgw(MOq3dn+`W4MR@=Rzr=X~_ z2HeOEpi18?EG`yVTUze7qk!0r+T0CCU0&j2F3Dg(*G2YcQA&1c^Ve|WdBrn((Xp~|GWUFdjyj1O;C>QgKGSwm@I#G4Qa48Gt3sw zoFRR!IZO)u5;~Q_sOkRhS0CfdH28C?!DA=Jj09mq|BP)cD`Rn;W4w~7Y= zbu$YlRECBmhhkm)4MSE^CI!9;`|lIFOj0BdG(2qZyq{<|{f8aluPI25i=p@ao#rOD zyh_~?VVm~5LK@udr(1e-lE=nyB%t;6_BK5?AB%T&{j`2E;J=4&h?Qf62YeiOYy$gc z+w*q6Q2yI%+-9f2dyk6b45HVYz$uaMpTMxrOs4MkiA=5$IWlw;s@aSEGwv-k8%EQD zCSi4+9W_Bk8#iKKwG?K@xUrGLk|yoD^Ogka!A6DvmxH3>Va`Gfpt?B~&CQtrX4En< z;T7cOCZ1^zmpko>!CM0lxZZX8%aH%S-z7`Axw$GPCMGD?o_Lb*o2}ZPbJqBz5NIxd zu+0bg`1s7793Ni`0Y;=2@UFD)N=xsNQ&NUaPfSpc%+9_k*D2qC#s7ykY1AP^1*TpP zPP$ShqFxD8KA&3bX=~INtZi!1+yrv)C$$l;Ta4hOug0j~$o2%q$lyJlM}&FG@>k>B zJ5`(X|&w;1>8JIJcKa>_3PMPcSL}F4g0_4|_u!XxK6@;tyZ% zuwH7DymzK!cG->8<6-k}c)5#L(KvfUn00e9J$}ttdVZ|<5mQfE1pP5G3 zmkTABK2froTV$yAH;LHSUG4flMW^BY6IOM2LqG*kp%nPSlEge&B9))N5gzNo2;!3v zYRm&fZ>PZsWyhQ=MF8FxtL_XkNg7YaatWrQqED2wGNFpEQBGpZUQ&SZUG@TaVE9Vq z{1?2Sv{Xf3OKbQ=Ufzu)2gizwq2a_BSTlaXXVx+?_2Y-ztE{ZacWkQ3S9^hQ3&Uuz zF#w}A6|%USOnxEw%JjD~6Ej_oGO znKIX|KiMj#@89c?)I&$Derq1vcq-`17;8J(b^5YGj4U9zLFl*sbKPz7(f1 z7gUe7Met3`r3oD-A+zk+CFNd23%y-{M>PeCvE**tIfQ^?L z82E0g%a2`^=*7c<%JrVj&6$1v@};P$$v7J{AwHl~@wF9SUY}oe#p;2 zPp{%7ncE(AFv!L9ADa&Pk-d=rFsdrpq9XSnxt>TRcr!mdtkn(vJ%GGMydOS%U~6h_ z9{JV)j5PQnbV3&45G7l%wG9}l>~>z)B6p|@mqG5?T`a2wNoWZ z6%UyqZc~qqm4tqKL4;X5qtp;jMJmU|7oB|31PsQP;O&HK=e}x{AA1|Yp{Xd7*D;cN zSEt5TA#dd7pTx`YdT=hv|16ighG$(2+(S#s`y}jU9UMJ5bKXFzo zLCeibY(CsMJo_rKv!GQ4!;oIIkr_11k6|?>)?1LnlyTi)6EcE_1i?S0sE7n&3O)LjPZJFV!~v%B7hu|n z{-djMBzE0{Pquz(s;L1KoK}kXQvGhNmM|mbhr3KIdcN7OiQa*?pB>~04yZ; zfH0D=9N(1{hZZ<6K=itiDiv-FLjbEof3dvsMK>qw5Xv?Zmd^!o4;IkiFgL??MkSW? zpOOLT?r+c|w#qTlh1)Y>@Mp>DiHyMBW?EO3syat!;EUyF_XzG>1)08g>iE;d`F2c# zrLOX}BBkl*$Bk&dCk|^zzpPrdvR2@1lM2IXnH^tfxsi5hmx@X_T(bPfgjT6Z4z3xC zVAY6CIt;vaYQuf2&*&X^AFqmUD*2&+l0Lnrzg_v+y1P&U?8Eu{sP#vWESSgybg}#aa0%UM%r-}eA|;99UQ`lU10_6 zL|IRiMpBGR^mv}=K^6dbpu;1wf378Zd3$dHnlnA?)hlv;Fq)lO=RDr@BTFRC8DLH( zUEL8B3mP;Jg8O#wQYR6~f4?FJV4)TrEIxa;`1(GUxa2-_<{U{FsJ#AfHIXZv}ze>FRX~ zg<7|bP{ZCUNGpvLv3YnmhBVZx2oC|=cZKytPoBzfyY4E<^VU!>$8Ep?XjB|JY~SKW zj4|UNe9@$t`{6rcpBLN|@qTaQc)m*}hD$i-c(i`ODHnUxpg$7r{O3`_``+~TDg@(B z*&el(H2$<0YR;t0723$0x}gSB{gk);Pb9PSlVt9s?71$7@<|7f&6x;vyZt$>HVUC# zS|f#b%n0I|=5u=h47UJMIC;(Z1{1L%QWSN?nl(6Y1bF5Zf5MZSEyb7xN!CH~f#w;ObL z+TGu;qeJJPPPmRE^Z0upL!Pn60+5x4xCb4;7Ob|` zs5+I3QVfV-$Q`H7SOz??mqgDY;>6zdot;<&v(^)R{S)9b8Z~PVyOsxe4oAS8IbLB{ z(=|CV@>0g}_uKG)>+2y(KTt$>pqAFw`4YmusL058af0>uH0-0%=9c z>?#cDSj<~WX3khrxWj_b=YA+`!>MCUegN{aWo{H+2rGvEJ?C#2ACCMSOF2{S-nk8W zpGxOWetsb6IX66=j|_eemv(Sej4dD_GKp6E;M`gFDJXaF?^4f@!j|OA7z(c6LiYYV zrU1;U?9pi8s&_O&h@F%q!!`VI{4vyw2E=qrZGeRp4WERs(JV3KvMm2snwH)w^D^Dl-&V^}_J*(4j z8DsJ9E80Yz9A$!i_vXDEY%hI$T<{2(oc3z!#+vWqk~%!E6MU6z%o>gbJC&L!mQz| zm@W!X(p{e(s*75n6~ao#%rfr=lfWrmI={%INrs+aeqy33ZY!h+4IMpJsW`uOrn*q# zA_WD(A?%^F=Iu|A4<Ln@=!!0dRkCadEx708j7VuV25?0ERWJb@;^!47gajgmH(O zXlPL=&S})V9lk$|n4J9RF#yT;Z>2cU7`6Re@sgtlT8b{*0(3vSh9)NATYvuw2aS|I zdI`pgTe-Qo*5b9eTL=r#k;KR(z&Lkj*@M#mllPVSz$@JNWiOwHw#3gk95yHlOFv+( zY(M38*aXc_e6Bov;Yl?7Mk@}XpEx$vu_|sOR<~%W%X>EmeSp~(VnIh&b7vmI(V3}m z|CKt&jj;3P{e-SyQ;)mfP=`iy44>h1?`Wi#O*Z@1zuKU|Cl!L%W+K=f_T+9UpX~G7 z0>nW5?#>whm9@nV6M;ACH3{&hEdy^_>eb7y_ z0}w=BV_qWo_;TsDAK&6Zi4I1B(lbDKjgE=2NmS97OVkoGgj3uQ;QHhoI4S|bHi%mXL2&Yt`nd}~zK{KEH5yd5l zzFD7#(A(m8JNr`^2s!ue2Ll#Zv?{8zisrvo=j4n9#{BwQ94RylqQ0L{37WM~f!z~r zmff*Wz`_JS-BJx<@!O@WY${1-hw&tAbD*-g3x7sO*3}*FkwALH%u<+pCt7gi70Wea z$8M&^s)>vEWihbYrkH-R8GKt^U5)YY-@iCxW8+E~H+&cufm`u_FGis-PEtdG)bxWb*MoTVYs=7{L22z*^?xnBH-|B<@N)O$ zKAin@Bw=liAtsXISF%GSuU>v({m@8}HB>RcejoiVZNe55DL&)QtdBS6PJG)q0sm3J z=v1<5g@Uw`qpC_MZ{_PTw!iXHgik{veMwG*!{>b)VoW=Z+<#d8jzmw&DW=#_r97j2 zi(LR1_iR)ooLMLjNu{ZVL;?(=g4_(Gr+*z~A+;4bne<5L%_rPGn}hbkMv2KAxhr%e z3E;zR?p^@nYLeYOOY%ut8PJWY&=XbnUs`_s*z0j>lET4zVtJXTrqpBBb!#4)q5ruP2bO!n+%7nCS8c(2VucMWIH#o`fsapfMOL@s*;4p6k1tI{w}Vr^Gs4+ zZ&e@=C(<%xArywS;D2i&xw<<1iJBf5aEJ!DI$9?9D(~6a&?O#ofvqim()FWozF)JTEMY*065z^--QHl#ZYeZ zA@yx^;05K!M=s?eO7LCaUcU{p;ENh_2|5M|=R_$98c|L>YN%MB#S2|w zS+t(*`FwQZxmf%I-p)DildkhyAB7y<7 z%)Q|YkRGHo^#?s|A2*w7l4y1RZ8;G0j3w!3(0{pRQR*!OuKnJ6x|GG?8ur`=Z84WL zfn{YM6%G6a_1+h*eFD7Fp>E-04+?dTSLzsgJQPL?1XDbPdI+BMLQQsgYi~N-#B;#N z(Y-4Yu(-}x+RLiNd08rmtZC!|2WmmC=`$4YhWgWNJ}G2QE4d&SB(fiK+z-M20>Q~v#c#~OvTT8UCk5N{sL8xvR8$m=CPWiK zc^QQP+~DcPz?o=!H%py04Z%mL$VXY++WJ%*fZ4Q{FLlFCwkAygt$$zGeXhk;TpUEB zt0s?LZknSm?$AJISb&37b%k|+((}2lE;OI#<_@q6LDcL}m@er8`11ou9erYAqNUsB zE|45wYRdk?20Ot!v2k$DuT?=`wHAK0#DvPb=eyC6no2x(ezK_v0f zDiEOlqV#xTG&qX|fUBW^CIb-CRvfgGIEWRP!*jTv|8c>`Ry+(>h5?GtWTZf8(259+ zl0ds+hZS(ZW3L*{fqPIW2cf2hT)lZ5vy~yfj2%7TmDx$kza5rd=dmeP(inM+h1!>kad>F!NVsE9$)o`iRV?6;M=d1h3u);0=E7zx#3 zAPdpjhHJZDU!2@(#R)M~oEmS4xT^jbQnz3MmW`S9gtgN2XU9^D&LaC`_As8S6zQT8 zRmi~%=NgU(E?Gvv5V>chvv7u|t)QI&$`SFqpK~BgAr0HKfkD?!Ft$9Ms*hT(3auk_ zIC$l_-F#jNKaL*e(eeL?`tES7`}h6VecQ6P?7jEiBO#QLkZfgSL_(Rj6|%FHRc1zH ztL&Lsh{&GV%3k;H<@p@npahk`qb-K^@(IxhHQw!AkN4pHJjVK zr1N9|S>Zc_D;n;Syr7DUxmf6yIY}f3hGhJ{Wz=W~HXfG$MQ-kiglG}~4S%0NN^`Q- zSP~$KR9oBJOfoh$u3KGNO5)_;n7(r9*MIV4rxTv5xO;h6*Zjxtcs`sd@QTT3;3@oT z`7#OQ$SxL-przCS+yGINf#^#ju(h+-8h9}tc+uC^*2XI>J)y+Il)e(UFqSU0#;gqz@3LH*LiC_uqY}dNYAP{8MEGft#(hS@;xT zVW%*sOLUE%9enED3kny|4Rlct0gmUKW;~@gRn=vhKEDl*U&Bdj-jRJfo^SQ-HMf zDrd`HjL&`O+-Saa*+9b$(nlE?Ti8VxM zqT{O9CufP}5W5Ek&5BIn35S!e&dx1padFP5OoZ|Q3h<@Q zeUY(>2f_^SBF$ngXhrau*T{35K2x7Vq&Gej#1-qcST=wjMs^?yAz0&)=#58&(&)6f zqH3E>?SRlRt{qmZZi$JHce?U&)S#rMWiJMMYV{G8aw*m1P-n{zC9S*X9>0k~w(74H zh)K3h*l|R2^8dHlAAp*}!%#)1BBR-PJ^)|J?&hwE1xwokTZo}|t!!WYyIuaPvugh- z{5D!Pj<5JAA@M=*`lLGU)Mw@t&0IrXoXjRTim!}84t5UOLXF7UmrLuLQ#{jb=!y*X8!|NH69;N-NJhKw2(Il0d# zaHDa#p6NYv@*2WaQX#F!Z1+blvs5sr;pAAoiiYJ!{<6bL__Ft*=m0gp$s9QoQ*$Q7 ztgzy-a;TK0z<{dJRbNUX4|8aCA`b;gALUwd?=VYBPQGsFX_m#VoUh*GOr+mq31%6h z_+O)1gR|s37x!;pL|zD0@yyL%+m%Pevym($xy4-h$Q5{0k_hpbCImQHWix zy1Pvi1#Q*il-_@1CHjak%~BvJ_rMJ5id#{O`JQ50lxN#Crnp~T5RibCPykm=ZMf!g zeu_TV6`5S360obRAO8t+^wJgy?7g%3n>wbWs#tTV=fX#V;>>Wd9<4L$I`2k$m{8DN6U)cUmYDinACqSP(sCax~y{YsT zb)09Im#?IH|0Y8ygSj5J_^RI3Yj6^?YkRfpx*OGLQ=`cq41b#N8^KI?>#>s))~{c` zuppx%^#;U_pf+G7;AA6z!9_CjU zFy54+V`3Vv!E;8h;^Jlv^!44ZD`TS`gG^>4#0LmCCTT&Lgu_cpNblsOthpZFgOS6I zQf60GXrRqe)6@bga-ZIWWe9>-;gj;VP3W8K%0F|0(f38?trx8j!?E3l3(b&v+2ico z`8C5XFXbmJtoI@s??w+NnT4t;v;<#_&o^Eo3j}WmAH0=@58G;m0WZb48C3klMLCEP z#N(etF{%QRs!OAwy^cwxr_)UO=S*1L9FR|EuC_KiI%XA6L!iF6(%J%f<(I#(MNkI%IKWEaG_X$(Ve?!Zk*RZnrFHsuiRNg`28Y4ID5($iiG4f>;a!$gzF~e6)(w498(quJms?!( z3icSBLuR;QPE2bVvbN$Q2;19ca4!q#H{A?Sr@5AXwct>H0M@FCCGrOUr<}8g$~i0N zZM=Vxh_r{F!QjlSP3sTyiTVrn*l@1Jzcpt)1AI5ClyTExi>0|Fibe6i4cO$d2oko0 z!MvBZ3>g?0-odoF(%;|zB{Vej+Q#_DS;(*IrjvQPBn=-s6Z~Ka;a({2o`M^3U8cbE zz3{8O*znJvhyGWce39F^lm*ax1Du_mXRND!?I>t~^H{%aCQeSyx6rqF2sUT8pm6Vqm2;t;P{Yt(P4lipz-PUZqlg0~U9N5Pq+Ut25$0n()neA*vOIjO z(}$wZwDL&yBlTxTqO=TkMM9Fa|@pp=swy-J=NNdIK5Dze5~ zZEkkX3q8*Q_J6r%5CIp&ZgyqW-cZ8G?n#j&jmtygL1|0r#*ZEAp0o3YhWI~zFojs& ziyJIwyzK_OnmCrD0?hPhF*lCBX{+ zWGroLt1$W-(@QgN*p1&9PkN4~tC*H3MElrbVqfQ(yYmG5d8eMzgU3s%$f}OyK@mTVCO+4 zV7inQA77CR4>w{fUq^`om#ch%yC}%?^cuKAv9Q14f8bLtV-*aA(;aIAeWnd7c~0$T z>SV~sWn@Qu>N!M*4?rCk(-dOYb_Fd)_dwz*6!e|svT)^g)h1%QVdw7Z*nT04aE4Oi*avMo)lYbXS3qCcEgnUZXNj>Vpqizt)xNJ>R@sDO9aN_dR?%aJ@d4 z@vFa0QquU`!q_u<>8IDDQg_1Mck}9`$ubofDR%r3yBGgDa6P>NKIAZ13dBZ-l1>}o zuWd>rqgL#7{Ru~Ylk+<dJD1{_8Am>s+T|SG@Z#nAv6XS zY`Og48lGOpfDHgW^zbY^21k7PH?{dZqvTQAXM-g+ z>ztAACu1Kqpfo?H1$ z)#{|`F22cMZV`xrCuX3~@COnF_s$)ltH`Pov+RLwqK(bL{;Hu1|LwEJsrYFfnw?^1WlPS082>jX7YTqlZa`h} zO~`LAco)c6YTh+~P%xi@ZPQD#)?BlFy+XPkYo`6nZ7C7kd+eP2aj4GMeZn5ixQREZ zts2)@`>F2&W@Jhqn{dE=>B>*K<$t}?FZBh{saBQ8NdDhLt!-Q4{pPW)qap;HwYkC> z07hu?nm1Nq`9sA8jU`AA65stc@ZejIQHh+!H9oD5k=O^~r|JmBRw zrw#pjCbW1s{g5KrFrs8#PWC+c z&W1kkO51Tq_}S4iM08d%wpaw+pH*g^b4`I(Ue4VnAP%1UuU`WWbe@5?J$1S!Z_M`7 zE*AQr)b@{YxmhH1jwa5KdXiNFDUl~oTY(OwCFo+Vx#@zP*n7S@oO=TY66G&F z5dhVkz;udso^AR%#E;4X%G%ma@h@L?`7VWDzRAyDR)UC(Fhp-48Rk>7-^nN4Teo_7 z8q656n5otHlo>&>EWE7ym%t92s@-q2G|R1TG8{LYY5of&1%FPT6%{G$J(8ki9SF!lwap1a_xZ&UMv+2N{6}lxXUj6JKx6lg8;uH&PcM;klJlEXHK2 zBS#bC9ddB)Y0}_D+!m|0prV7V)wePHon@U4Xyz|Heh}9yNeCP+T75*o+RQ5h&cwwR zaB(X7m&E;oMfJ$CBO~Ul!YVGr%aNcyz4sFX(UO3uvhiiin zX)$%Ad>Lp7P=7JvdzMIUJ)DE02WrwT)PWz%2N}Plss?V?#hmy~bysb9OTdOQp*Vzw4NywP;J+TG|&aK zJ^RR)RuPRqC)8%Mhn3b~iE8*P3viA5z#0;Km<#;#$YyzVi=f{uwmtgUsZ-_$b8>S|BGe?yVS|w=AzA9*p!+Z@x~o6G@@-}t@cec)~*Y+ z92YaD?Nrll)X{fT-jyQB-p8c8H^f45hy{{95TGmoimFV>>T6T;a$5~FO?e30~kc*in~+p1gnAc@s9p}XW<6iOCerCBjU?3+qKJ>mB8-X{;OxffC31M ziP6d1c15#55HJM(&9lZB01X`Yp9L*<&*y!EoL!$PFq-d*Sv13= z%z(s|&7X^qYh5RKA0(tE5Eq9pN(UoH#llJM(}PLFUtm2QC};xsW6;3?m#nV>Zw#^#4-EZcPm6#fCd;UYa!bAs&;!vA=k_+!2 z_=eh^i?WUd$|rB@VqIzrw%Y8yFsaWBYPj}mB@PD9+XgJ#!b`BC_GB&Q0k*=w&S43U zE&NMIFf2Fy^SMghs%LbjaF-iGosJ(>UMWV<-C*<0`H8f^JYP1^&TGH3Ul0C{9XmXl8TUkEsI~6>s#VgZUz&~yCS5n7 z$&Lrm(7g-|ucYPXEm!A@!bm70Hz+2+m+{PsFF}735&Ha0f>Vb`b!T_-A9pRA7-6G7FG*!8Q_LGX@n zZnl`_c~>;;4)mcX%#wfcH(UYH5*3VAf_94W2iG1S5Cqx_(|iS2%S|h7?Y^U8piP+@XAHiIuW(pEevQyAwfOrFwGX$vN{ zDmpIJh2m}(uSTp2k-A(^-IXQwII0r%mctVJG&4IPNufTwvzGN&Dc0?DT*7?||NP!M zy4NM}!;a6?Hc4nvvnTe*Z$i67D%+F+Q+`t_l#5EC+vQ({yu8)if^t$-*psZ=f8_=7 zy-QX#?(vo;LE-MS^&|n*EJ_wF8Mn_WTBeysnk@-OBDHaeqbm<-a_z6(R(KF?^8@54 zjZy=eayh2i*sQ3J8uzV3%Lxhi-&#uq3Va#gYHbQ3t@o5e=vGDPAAO;fx4>~%EQ(Xn z!iuoq$Uy+unM4Ng0TTSMxxMGmm({B3*N?+PFAI2N{U6lz{f1yfk(mA9TeCXX%pqv* zwAFOHaP0fNR8%%(rjhOSmJV z354ND`t@cM)qo-t2!4ZR=X#N9WC&(bWm1$KNf~ei${S$@ygWRJ{n3({)6*%XwXZ#6 zh{sB^9p0=vEMwj`ze0gE@7|o zq)3Q+It%~&O*^vs+&0}6O&R#tlJX3BaxAFPkP;k=z8j_wm`7Po>A762+B*xud_fmd>I^z3k9J@J!yaEXlx zwZ7MwWf2q*O=QNz14T@>`OsYKTe21hA($ck>d={0UmoZbf64izqlssX;KU~&OG(yg z4)#UG%o~);YTf`Jxho5M3Ga9JxK-aPN60pTduEE?CghWv8#8F}Wb~Vgd zWVHQ-Qbh{m;jn|amxcVZG%N3F!%~tTg92sr4<)NvYQK;w*^kd1x7$xJUeaWpEn3wb z2o{umCF-M05VrK8wA23BX7lTwNqIyE=8&dIc|CsLBV%D#p7ibJebz1kMdGNN_J%6W z#UrF`^Rw1WmFrK)F>h?RDD+>ZD36a)%61K!J6@{C4vSdiU?U>Hk-6x}U1K;mc2$&& zzc|X8Di_YIrbx8+ZEYQ+E(tg${d{EEHkNG@e_0Pa4+cmg&_hL_P_FUaR>6GVKt&^?_`~}aIyPqS}MYn{_>=~Oz z(&G|Ny~M#9&Q}6JK=&wSUe+Vmem$bM%Baod579Bs+m=5bN{g-S1WQXPx#i`wW?8@> zk^sNq?eT3c^!q`)FxBs6m=(=Kk4&p)ZeCCU<^)aX%7GvX4}mEI(zLxGUG~$)`uYcW zeOA=g#>O>U+I?a7!@ZK9x@p3#(DwXf$OOVtSRnwQe?!tEnuWR!C%$q!9Oer6ZQ%iE zX?fZCP!!#3B|HO*1QTRe4rxTwh;;S#I<7;V88uu$IzuLHAwmt&gZPe@gMl&-Og%yZ z@DOr>KN#{l!q&~ma{JQo_E*(CSB{|(G=SNFnA0tps~&eX&mMkh{PzAld>|6{lPPV}5@GE?TY z!VnLbLx#A!R-`o&R5|}_d(8urB@KnceSIN*h zto66!D#%4kJ`2q%zD64Tx=i%!%=EIPM3)#SJaCAvY?U(od3?uS5b6{~0y1#u&HeY< zSA^-M{jkOZUfnd%B6{_zq}8VK`*)U59nQjlv0TG9e0nN4EGJB-Z|+1vNi^RmgS;u5c3*cbaIX1A|ocdX@^0x6Qn#uj{Yiy-gS*ue!0ZK^l z%%3s2A?J$*U)%V(IWMI@Ee6>cTS6a8N-uNLH%*e^NUsDM0fvX_Ko`YJ#FXzW_zJeF zUs+n%$Ut5R0;NH?9u#nmbW@6y?~($uNAD39Ng3j<(*qLYnTRPFiTZfM;IC3umGckr ze|z0*_Ze}~*}ufIV@wdf|CEwb`y&~!>XgtidqGHUWEPgMfvLaKyhg9TxZ{^3d|btb zf!@Ku4M(TH5%HSzXh?v+6qzR8TZy#!ApLe_?l3_Z@ocztlQehf^Y40~bH;n7> z^4{&tf=D%d!PL0Zmqrg)lbK~DF{s;itjFW1=e`CAt;o5&>`cmsgwCLX8F?5WK`#&G zqlc@uu)+QS)rWEh(~s_@1_(gCmJVm#)qPu9h|AOP{gu5^tZjO3{ z9)hcU_5H_>>&u&)&M!76L<*r#mophIW;oEx1RoH)@Do2=T5hRhpuE+D#OLl#71R;8 zluT3LbFf46Dpow%&`gqN5iBGTENg3O8X8>eWNm*e1=f^c$7GdM`~7FTB!MT8ApU z-Oo|FODL+PgVNagk2~ICZ*9PeAeYsOA58)5WNhg07aM|v-x*vKw*OqFq^N%pxcM z0shO`SX*hYb?j~ReAeb1`T>Eh56LyI#$<5r`D*E+!2c5=GZui;v90v-KudK< zd8C*QXJh;08CibQTJkq_j4BiJnraqtFx5zEX*mslvpJHvgSd)~4VU2(Bxo=rsx%>B zjDxLESV{^N)RMlhfLzRmFJI1oL7Paj?b&9g0Lc6&(bd%*a$oEkIEQl7l0GY8MOc?Y z#>_6!(4y_2RSu%*lBnoeT=0^ZNztY?7;6#QDA;7Dr=MWNbx#q`T}O$-_O{_auubs2 zlElAE#sVM1mvFiYSK|%QDNwdAG%WMXreC;2t7gLkV+E5TbM9}a!)ip!W9oO6>2WJY zh;_P#(2VB}4hy--V?hN}h{*}oiUu3E6BtyQ%oN(p>q+nKvTi-*;r`DqBh;CABDrk% zUlq6IvCQcMwLd6&15vh|8?0E(cagQ4(Laga@#my)DRYDue#7Rrs!SN4jQySBb;Ypz z+(4-N2C_OmA4$}(ltj9n1y25Wx%t!UVO{N_<25|eqA_#^XGgMPcjjB(P%g^(-Ard^ zrEL5m|L<%TVf2vta{mnw_+^p>))b$ZQ$XyWk*j$-|*_- zLEGHi3QpgjP@EPwb2>jcA3;KJ>RGx@2-IV0x^X`!ybr>_15~z?M>v8us0@d`^ zWZpKo;pl(=bG5X+t4+sF#sg#ZyN~vPF9Kd$OZ?Q-WC1DHQznp%8K0g`>#;NQ^_sP{ zbr7FX>8`MpRQ6>v`mA~KDkQEVqZz`?r*usO0LtbGV0+_ddE>@^ie?0?PHxZ_5)COH zqt#VaVsenbc@ELIF=(di3!r~DwjL4c1_C@@(13YGTgdB}i~f)jAB*(4_cvyWTP@Vj zg4@Y+GuhN2r6|J`%fVq~{skMg#E?wUhezh(Zeu~t(chEHTq;sIh|7Y~uHqM9C z;;e-^q%vW*djy7Yv+%GNgFT?)SEJ zWx5BrM8=qmmeH}XcOp6ro@q4_^f%gb7un-~x!n1iKLgBHGW1?gX^vGPWFwtHie}z7 z>>`dBB%ic=Qe^|TFk1hLUsE)`YGPljfYC2_C8|1`k01g7B2~-%rcdq~+DC;p^qK*w&VL zTmpvJmglY3X);V*(y8x-E!}|Kp;Ft!OIMm9!rgSihSK)sY9mo_IA478-9zLpHn5oD$!J*KwFc-^O=U+BrVpTjh!igB#Aw39wU^_WD zeCdV_x6D0}Vf5~TV0H_zbacnJ3KR)8AOfx(T{f}N8CP>nJa4&*J(d4_*3mu&M55Zq^4 zf4GqMiVfj6jjz~D?&8b>xnf05bMHQ-#Jt9*!q+m5|5u84{{`Xm{e2k&F{gwi{gBY= z#~lSm3)Ti4jO;0FyiN2+i+%1w&S$AH7;?uYnzqnM@W z>v@mH=G_N9V9dYEsi*B+=1(%Nd%q%sLwMV-`jc$S$}47)XR7?1oLJv1vh(XSS~i5S z{SuP!C3@a*;v;*Oo@zdP8j)}CEPfhU^a(|ki+h_vRU9|8X!V+2H+fEqb{e+P(_`*c z5_3$gUuG0_JbmT;6yQmzeMiMw`<~b?ouYQ~^o5_Bw_MTjN;IXx(VG{fSEv*Tey4-|KYjBl&FhGQg^u($yVLFjg4%Vq3;mQ=Ms+V^37fuW zz#u1DJb&)Dwz6{gJ(^bR zTkh@YKkWK0LY`V^h(ij2--E2r;VpoBT84QSWMIoZ$1t>$9uA$MugZ7KF zqaiIF9ka>d;R=ivT3FPhKs7>752q$vPJ9}BSEzt`tm~+JiwkL&o@8>c>UPt?kus+? zE9BER$t7wjHolLD;`Evb-IA`5j;FsPc{*dxIwQW^jfi-FRsW2Qn7Vv*!R(>npv6FI zI$!7=%igYZzF!}@lOkL`xzC$23QqU5C&NE^*eCYeM=$!!eK|tASoQCssr+EM#a zMRKLy{dRSKHsUfDhPk~ClBoQ6Pba>ygN8=MKw{gLaRP*40cxEVXh|e0V<8Yl&Y;o| zo8=F2%T7`e3Ory}|Ex)1gkw!VG0LL$RXJkS@7=?k41PN9C#&z?4&3BO4Zj`)YJ!Oj z|6vu)?dpww>l&G~W2YROyVE81_H%Y5Q~Tn)?;3R}Zawl$f=i@bfnagdt9|!Od2Q%7 z_Vk~C;WyjYR{8~m)0Q#b-+yB*ZHqxrP}VuoThj7&4eJ6gYq-t~`|F-|u6-qq&&qaQ zJ6d(@TcGhUJnn^6JwN;L_J`hk5+5?tYe`|pxjto`*TkSM@)@+$JN8*U`b^~7hpd=6 zVupRAdPfZo1lQGXE_=AupDWJMAi%>9k|>xl4^H!m;Lagzawqmwh9_K&^`=~Sc;l&^ z{D6SUv){IFo80IgVCc5E+y|UPhw!=*x%jgcFC2gkcfO0Z$?h;yOR%6m`gD_hcvK8W z-YZQ1w>YuMuS-z(2r;o1NTZ=U)AF@Qe2FqCsB>ZeetDiAH{3+5xx-;r>OH)siywwG zD5g-&C2^Ld8yFaXe)-0R#>W46`S?oUjb|}~yLX?=)VnXvL33CsL5nZXgW#o^WAyo| z5*u6vH^Yy3s2BSBF*kQF3od%kAk-3K0l?)Qf!9aT>F8%9b2kC%`y=ckcmabNj=Au! zC5A#F90F`x=BxRoq`3Ix02(`{<>uy&EG{fijg5{T^H97ZXEsGpA+7X*a<1M!5`LG# z*dS2kYY#o~l0>N<8FfAUmx3e9x034_%!7L@v!Hdm z{M)A2G3~3Ol{-spn=&b}!|xq&72m#^yHSj*m=@epL4nD@PVrQll11YOiC@I?fbm>$ zOh!!=Jrn$3;sTqadBaVGj93gVF}F=sDnYZp&atVmddhpjMaTH;dB%(16IXk9oK@Xr zu8ny*i`U?`%)f#?Py}A^yU%qh${#M_TJz?5bkEQ~f#}8N=`}1*FEwGBO#X4I2y{8_ul9@4q!eBj?D` zb;k@*z(KmXks-utbUI*`3$t-!fnez8=38-Ne!O!#RL3K&Xl<@BAp~IC-xPl3NbK?+ zOPFT$<=#l@qVL&(n~r}6R&n(Nmaf5PR>;MIvOD7GKF z+67+4tx(gk4WKPE?3d(Rp=QdAQL_Vt3itTJcL_b+*|X%S&RB z#*O22*!U|GNMd$a-G#q_)7j>2EML2IOAQ7l(c5n=l~KBGlA_e4O4JKKL&(%P44MDv z6N-AQCs>X~|NY=KD)qPJ@ea^seyPbHq&7e|H&kFzfeNKENcW)*+UCG0gFVAPxnce_ zBi5aJFG-uAtw$rR&CW z&WQBN?6MhB)~Pv!ma}3ID%Qq8T{4zL`(gmC^(jX>(kYPvb76?&txTW+@s1T{Sk{f> zF&xcXeJY-}F`oOWWCIkgyaP~EPV%a z)31FLWI5J@Q#2!<1;T*%DcM%m{H~D@tMm5rw-@x0f5z&WEML+cy>dITW4v?o;o@*Z z_k`~`X)sZKOQ0@N61&r8IyT(otHAY=Iz?2fC56$Gn3t(S?mJsYz#@RS;_(JX>90!? zr&^7~k4nt7dtBSbCpWDJema!Sl7_%wny3`Q^NlTF+w8Y}TfYzQRjji7^9<(P5v^=E?nUOZj6tQQCitNc3hIk?=vi_pEWUE3o()D6bw&kF-2*iF>8i2G6^mx=Wmgg|GwQBSGZ$k zyNkttIZv|EfMfgZTtN6u0}*!OmmDQmnP>eeR?)qz(C#g)c29LJtv;Uo3)Zm2Q&ema zLp2ZWq{`GVTK-$Zs)rUvS*YXeN90I9ZM)}+ z&4eZdXEsb8{iXwYj6$OxvR!xJ$s}M)5IKu|)$)04Kd$$24nYr+OMA={Es$sDRF@K! zO2&R*V3u&zUyU`Jsk%Y>->`l6Q~~5vR+84#)V%ukP0I_$gX5h$cT^!IvJ+;P9BA1= z8AT;w+v|J8abr}%Cm5wyKw z@;m%x9|Cz&$A?o-nyWv3`hky&TTu@^>0BUL>Ux4^HF1jokO8KVdo_H_o7Vt01wM?? zTVs6*7QdF0KEmriiR5Jmm=7BR{mF?b$6UDiUDb{5D7lihOh~{lNH}x);i0EWyLT4?<-u-Zj=&71X(&Dk%wHiv#YFff#YIUiRBl+Y8=WzPjQl0(f4UpCTv{WXv4po$4zsX0ZgBS1u%f3)ZED7ACs~6HNsskFZa zi}=S%b!B{3zU$4{#P}%Yi6sEf;6CWIo7c8butFOFY=88OR$l{pU8whjo7Ps9B#HKA zsE`dR=Y54xHm-oS>9gV5P_Rg`zw<&DB>4_tnAE34i3^@Ys0y-!nj~}eig1Hu3EbP8Z)T7 z#VPhi2#bi&?hYcsH_Gov|RZgYCLm~oZ+rVUlw9ed_|lk34m1y&nzc(8y* z2(YNhqE9nLOg^(+cdETHOg)Ltw{jK( zGM*=L&Jqs>Y)(wO#;s)!d7Xe)V)ObFO=t4*KQ~+Hxs-G&OtD6K`Es6A;`-RR4olp} zWw51=7J1f2^P}fhcaJ_HnD8#UEcpZ?=9)kEDVdY)e&!l$MgWsRlc1A3Zz}!n;nrej zb$m}$nqLu$e4cba;#&sx?y(T;kgrnWdmkB~=Y;|M0&uRsG2s>{QF;29NYK(BH8)(f zyNllyEmLA`H6Kjc_;2^1XlHMWhR$Jq68?FJkKb$MD!Zg z7r8gW1EAJh(e?}Sio=Y4_=OG3p@n_Gf3XQqnd3k&Zlb3!e@;+?At zdeRTsHTgj%u{Ee%6!QyFS^+= zUvjW5x$zz{>UK9J{*m_E7J*5)D>?g`n_MHNJI}qI{$h<=GS?vd<5q72aZGq%L=t)FJs503&f#3G<*J zcRqo*!f8l`|KCg)t%q@Iiwz5O80fBh-yDt&`4X~!(q)gXH>6Pv4yhmB+3m{_+#OsBD(>zQrlymv@Ot$xo zKBzF^mk+$8hb{iAg#{ZUcqPCBev%NZ!Qn$$3ZLDf$^_QpJ6F)lGsV-j_g96t<%*&# zn%@84$T=D;g$4K_AuwmjDjnc<3);=M9hm*DHx5l((t5Zu`o8)T zp+G6oE*2RpIZBlDH2D+_|L+3EE4Mv2mmde2?Px<;{kyWvsI~>@oP5--0y4MNSvWdZ+4{GGhyWbrzL7VurVe z>v6x-;oMj>%e^9WUF6IXfc5otJ$-!^A%1@6-f!Q&!RK{(a=0~x1GnT&gX81lGp((y z1`i(i?sH}P{pEnWh@?Fvm|I#B@A&cKDG6MGG62872jiB+nTr0W6#@@x9W>O`bf7%# znX9w&J|%wGDk2YA#6^6a5L_Y+aDZ0WY1|{@#a@|;q(ArSZdFPG$RO+92@ih4 z@S#Tweh-OUfAgt2KjrxJ_qv|x_m`)fj1%-Mp{jU!1~N+u>v+DcuciFY1Ku}YD5Q5X zC-yS$U;ub-s$z1YhmX5^UQRG<+g9xNvn%Xi5cMVq>Zxz&5 zl1KCd>UU$=JipdI3VlDg2#kPitu*OAh<#RHQoKX7e11=D2i9QoZG|8Z_$@r}jqX~i zb9fw@lwKx)0WJtwFZ3C|@nyYlXdqP0r7RZEG43^WVqo>?(HJahlar7TCDzOG# z7--wzyV;Ds*cmFglX<#KtaL8C4)0GSIob37O`U=Q!P@Wf&ngk^Z=x zDr#>0eyX@6Bo#_{xf&yG$IhICH&TYo4vrWHykE@+n>O(YYx5aF6-kI?Imv7+Z4B@bCV%#7!Hsua_h$EcWwF{9vT) ztCiJuw0{2!nqvE?gwt9Y+qoR0&wmIQ$e*g(t0Dn8KG>%qL|ke@PLps$904l(ijOET zidF*BagR#8tWySfX<{Bke79wQe!?jq;J=0TLjbAUP)XnU`0WX8sSzqT+!g4~Z=w;;I;!-Ks_!-pbWOVI!WTas%a>-ajH^ z;ReN_IX9xA6i$ope$O}m*oh>q->-PvI zS`kQM>%Zc_*pIGGo%2H5By>E=gAkvK{vgXP&NH?`o^VDDt-jc!t z++V+aXqE+fJIu-tg&<9F$(|g)v#7*Lb@IL6+h#xNOSxFov|(ANRC z@@;`Fg!0DLcP1=gH(C1fyR=mFXkAzr4J0}j5dkv@bA4Pieu644hE!dK2M!_(@CI45 z`(1gf#dHzAOf#vi`1Tz%!=iB)D^dKJfp=i$qlP zNfQ3w0(KX*DNwmRg3;F*S76u2v8iAN7aVq(@+q z=!V2g$E%SSZ6{2V4ZS#suV9zfb!i-s$q;ueN=+Rf*N9_$1iy^8k+pTMy{+vcLNPngk~JX-4#@%8Y);f5 z{s0TC>7eR#g>V2$lOGW^9rP+gQoh$oS?8%t`K&<4uaaN5a+yI28Y84MDZyJxoG^Lg zHr-Q^a_rG4t0$)gYI;pCjLoto&YB*6RZQqY^SPz@6}K)EoT=Ln?9_xVf4?1daUprQY2YU2={N$_Ds8NjwH0NZ@28JxKXJ z&1+f=z*bxVVkwKq2S||P6r~RhWW?NG_NsaJXVno!rQo#KPw9s;#HcOB(6ATCcUHaT zt^PDYf`1bt%N@rY`Q1XM)fOcd2+%W%0NFzt+S*a@EG1c3SXeNu;IH6&e+;FJnO9Wo z6sQefP3AMclcC^S8(UDYGLC^mME?zLeqq6o)nmBgEe!uxQF3!dmfpuHo<^tu6mj$E zdPyAAd?+34?jApeZQ&$b!oB@_ytl|9At8}VPqbRA$IYMAx4dal1-b3#JY!>n<=%KG zopR9pp4>Breu+|oMX?ND3Hl-T?s83dvoff_@~wh>8St5WP8<9G(RAJMSm@vX^VmBp zdxa#CQQ2f=m69!FWo46@@z|T9L?kOK8Ief#N=C{^vS%TqGBSVXx!>3C{&ios*XvfE z^PJB)?{%g#!shf_Bp$BaU_ooSe^&|un+zMY23vXMiN z>o{~zvbbgq_jLP*uP93W*ElS-z**t-X$|Ao1lF8&(Tt{pYZ8BPf@3NCtCD(E$@}u&gZo* z(!b~Kpm_6ejVc4HtP;v;QZ_k1b_v%rT!-%R0xy?af-Q*)MLft>K z$1snY&7X>6vZdi23IJgBttRY|JbwX_a*V=#w&EV)4;KKF{~el_!D-++9yQ&tfV@OHWWyah!z1rKiA9^a_~&S^(Ho z)zs9=bc&r;w#cvHV=up$_lPKAJpUPk{eTC(><6{xz?YGb*;s>ox#EszKWHM| zN2K7BSwbZPxu{OC{Kd{ua5xDKlFMC7^JXe`E&nYd%GN|eXXkHKHm8b{$hkJVvq`(N z$^E|;0JEGWp~$~FSQ3ky3mX&qNmAQH~YdTVNatlHmMpQ;b|_Z!rV zC(3?rZl=#IF51dkwi5I~Hrz2TxAwTrmlRdJdGi8;g%79+*qX^5_`)i%<3zD1hEeka z7$5IMmzAxlB_<{+A08Yu%6Klu`(3-%8wwFk>{?n{hIOWEbRhgz;=makyYox%&wM{T zORuR zaC}O|7AtLRn znVrV$UzczF8C_T#w8K2B^K#>26J}x9**=#`p^#pTc{5Pp1N~ms1jfJS*6NAwA-(~R zE1cjF;5{=Swn50=z8tJ5Wi@-jeQ}oEiBgvIt&NO`L(Q3cTFy?q@eCx+JC{cKXx&Etk#!#<{GwJnfq$1Mn=C`jbC-@&TQ@mMN?4m0$bjuw zc?DuZ?DZG|kjiUm3Cf-;Q!=&UJFhz429LYZYcZ0+Mc*)oH9V~ezg_=Fml|<}b(#!m ze-Za+#n}p39FuNdBZl>`Q@9}FTyLST#q!Ri(ezr2TqG z^g#X2k4Nf|%k^^;c;&CSKcYt+n^h%~>3PP4garO`=X7CTd-NDEpkPSDevVt%eL$hs zBjGeE;tBG^Yo4BeTpN$}R&qFlc4xXM-Vi!zY4x?x{V&0{MPT^dwVddszP(A>HGNcHw+pL8-f`pi(e4HCV2hDlp{=On9+KG9*6CI5+t&bSJmJ15g+TcyiOt09DF{Kp?@+DM>m?}3H8#9)a!0f_b(9>1DgHAg6u$} zFuq^^1ZiWMK9;(Ie|;^!rSqBSC^gf|5iKmqP@q0n_PODv!kZT6FNnaoSdcC0L=u1M z0*loQD{T~vt5!P?_1NT}$HZM;nDxFVN;~-Sq1gcT_fzlc3Id!UH>Epgb^EbEHwF2X zuOIJU#z)1ENXFn;yw3?|kFL`?XC+PL?=G`!@)i>8a2Cvszo;jf^rSlXb*+Uhic;kH zYl1P=#NF#%L@d@$(4kJ?gaVxdH2!?|NEL$PKxgh953HK=G#2Itrtaz}*hcJGg|HzJ ztb&C?QEw*vYlWs_C>x_Ttc@hO%j8t7K>plww|U{Wc^Zc61rWdz{CJ3ZDMRVA%)bX7 z-i$upp?xzmet{QW|Iysw;$ycvKi)agOy_38f$cWP0*blSM_OEkln#b^+Jd*LLrkh( zR!r7E)bC<&_4eH!Q>~Q=YYkr5W?7nur_`d9bL&U1oY973ZkI_7h1-^dlBOYJq+j48 z$j4z*hmYCGB?uq!cBy-{ zCy{>?$_~4X1TTkti`n%(R{WS@zq`XtXCNuc_PNtnHObwsmNVh^R!(rYwDw2sp5g+^ zM8*2owteZu5q2QazLY$=^Mp)ZrToSzP$^h=Qg5wy6)*3e-Pq7+Yj)XJzr*OnYeMA0 zU4?K}4SXUF=dO%1#)-##I8wRJ=CRaW(JBh;hkYl!|GF_}%a`xu$p3m4Mu9IS=UE@m zconXffijxCo@k0)ZKjc%+Mwog^POB7oDV(OA!_~JqIKQFS2KX}~f4qt3DNEpI zcSyPk+v51ixq|a;tN&J}U*97hai(fp3w+`R(cAyQ${Lp>*>0Er2VdnOG+%Q!ce^iCjMd5Y(*XUFyH&77i?R`yA;fz@%rTsT z00S#nS3y*zrlAqT51;cI#H;^=W45)x?7B=r4;q6FnfXSR>_1jY%7jlJrh}=&T9{ga z1_1~=NgfRFOt>*Py8BKLKxtb*)x`)LPK}JD-a0JAJ&88v$l^co>sK&>+;Mi6y9Y&- z2MKKjX7%2E=XiML)WI{W3^hcCP2iA6pc}it<%nC>L)z%_%0l7}W^HjwCR;txesd@p z&vX*Gr;*sh?$LK=9u|EzbgWX#UwB!*(Ufa_d_I?*>#_f_vI51(FW=}(-#IL{M)*sA zH=S^8+TZxya6)+Me)z#!+xKI61LuaM;qSQ>-uw6m6+A2}_*NC7BC02AcbqjxiQ~0< zXg5w#Qc4s*X4zd!>>6o^A(2jlv3bz_K!@QoGgle?&l@Y+w_21u9f`wR8wIS6*g&$Y z@j~q4r7Ex>Cq}s^xr0YJ{J@uHMSMLfW#0hwA(21x!3^TwSyZ{L;>d@yAddmBA@mvM zpvuLvinQ5~baBU-YG2k7r|~4S`@+*oyMgU|cXINpiJZiru${xbdcj*D*ypDW>zm0b zDZnt_Aamaj5=+c##DHdH`u!bNzFt!*_Bq0Vfh^p%qz7hkf!*Wa)dn9Uy`{awhT!#` zeEZeUY1Xn*DltXMUU~}JY8|0u;*pd2MHVeY(O9dTZ;qwd>|Ac{*zC}Y z?uNE%xs^lfbvcTT>ta! zRV-_c+g$VZ6kl8}tGa9KTj~pf-)eb%5b{hkl4&8Slq{kZjF6zVlZSO!80fZT7{0>- z0s_X_*xBv+GNn@B&dh#QY^>%dn9S~-BAJz$Wk=Yah1Ur3Sm4mnF01_WsTh~I2N)Fk z8~xCvZhs5wv*Y2^63M$p+?(xB0G!h?0`~ z+rjY@GDLuPDt7V__hAr2zgcZ;U{t?FUuT$`2PyX93*x^8!l5IQCHM+{`OJ}SS|Z^+ zy^q1foHcO=)4XIN+eD7s<`FXNB9it`OcNUA#tQJF!8jQDrX-Q}4>k z%3$0cyMa$c@nf>wys4i+@m_(WVGTak_XJ7p_-u8(y|=%0c6L&rE7<{v_u3_mvnRB4(%$6sd3d1;1W14$2H0JIjWPWCrJNR@|Z`e0kcAUnn7T>kI#=U|i_0-&GYRG?Y<~mqb4O zlFgL0s`zk@>grb=Gt7{EXr@$->C6-d+PD*RUD^*Df?oc(j(uaIJ6*pb;7vTGYCn%} zTAQ5keTRI5yBu%fBqeo>y7cwRZx%_s-Jfn9q|A5WV@D}>H5Bg_$HyO@AxQl=FuZH5!B3* z*C}I>+hVox%Al?LG_`zVl$(eoi~FX7@9wUYW{_|&TK*!WS*S#l&@U9=|V=;rn6C)Gt= z3Y`nBXdzu&Cxfso@#J5-^C5#@(CXeVdfMc*X`9S3 zMrkb2Qgq%qX3_%zQBc4)^z~~V99+9)WW*n|_t(Mi?%m}I{wWCVD)9|o3}*7$GcqdQi|>JNBR z@D!AkG*8i9<)YWrzWELN{;PiN@h;`8uKBd@5YH-AV_1Sr@w4E&U0LY~uEy#;8HaD~ z{dN6W+w@VGrmT_Fs4{D8(|rD96yZy&>1ltCnx0RsUrv)P#`QN3Nzry*r>~|fFS;V`iP&$ggCgeir01SoNUJ{(WSi)3^V=d6+)QkX^{Q6Gny-Z8 z?JcFgz|XIiscA;!KGGo;UKX??E?TP7lPi+Gvg{8l)72Z&qt1ML0ZGtm%6TM8IY#Gg zfdtkIX{Xod{d&~s+YC|t4FosfFdm2SZ3eEhTj!OMK$5CU!f<|yfG%S=O{|S@Z0?sx zKsDvio1&UtTOZq!qDLp6j|rmP(zu12sba+r#tJt1#jCPslSINw_-wLYTkXT=;;gvKC0#0)%T*Jk7QA}=|?nlu`fqrf_b~2wZd=zriyuOY^j}J(JM!6?a2*3 zjn{+}u8sXgpB!RTxZ|$ccEk>MU6tRAr7`>Su=?Bcv@*sQD4(~%L6DjxA7GB6moJrV zY)=1M?8_(s1=ic{?(QV8UDCn@vEayYL~ho-)COxoPrus*U6FDZ*gMz6X%-$g*%03_BJmDIvCYoB7BKo96HsP1nvZojoY^=`!uQex?WGdf*<)jFno82v3BPN5hx& zfp!mx!1c7VN31L?aH2F0yhs}G1DF^ryg^o)Z8Y#iB!Dn*~ z4TsvgI;mg)@;Cr&qbhm%@+$6Vf+$v6TPhKTKCZh!-Zj6vBHp0DuWA;CY))={xNjCg zobLKCGd1bM=ruOk)I_cOuFV%jG#LJM(SLb~pZt{PU=knQ>1cB0HgL(lb;MX66E?U^ z?&chPjH~C0YZQ=qT1_4AV2u|K3K^%<6|hy>OZ>nx&?%Ow@XHn5jQBO7Oi(YPi5G0P8s|Om%5eb3P zqf~?0mOQr1q=wjueeUVSH^iw_j-nIxgsM00wQqbDGO=bRX$BYOi*1B`J?>|9yKVSQ zZalIR3X7PyCFnC1@~Xa-hWT0acc16kMYVcFXl%9SHNp;0@io297A!w;bH-!>mI?Bg#se&G$HTzdkaJ;w4A$Ec1ez3(Kn!t-=j9HI0>( zm79i!QDA~_@bY?71Xq0a0Dbd&B5dCHCiwVB7j7a?6crZQ9RhQ|0>d4-qO(!3GIhHl z0XZ6D6GPK;bAv<(7~r71?CgQ_NLx?uAd)Nkn5Rgh=A0t+suG(@n6`*L?=f2SqWL3dWzi(YVsJIj;@!r@#a@{h z=4~jP`xLsRiB`#1nEv)Ei%zbRbf!mIWIB*^_Vkn*)AcH4+XWHO^(o^jYtSjlsvuBu zm;8E*l{@d^`J~Q(oj*oDn8}~Kc~YT7h4=mh^8MVzi7yF%jOF`;92mpts!N0!J1=Gi zHt)kc8Z%!lE88omy0)VE=<(OQvfBy?c-5o-*3%Gn^PIgsb#_Gs{o6Hp#rbb4P7{7? zS0`%PM#u0|>}nP4LU|f?bK|c0yBCx|=T0o}_N=~?K09T){mxQ)WPoD{8#Bmgo!B8D zDNL!-jJpmH-}UV8HTuT0A=>}-Bty;u@ z|0|Q`vZ}U@M5{Ify64nDjG+Bo!AH9B>GLFXE5jQ`^^8$Ux$dX`QDxaKT-W*l#WR)G+~@W}lzySSJX0G9Mu$;rHDQ`LEul6kK{Egvz&bnv$S z!b1adXo$iT`p)SEFW-M9w9GeRA10?p{kZyx+CuUwB&%;c;}+@JB%oN-kvU2cY!hiYAnDBD zXpu~zj=x0ZVknzpv5|IpFqqShHk5QxO{80l9{N!0z>#G9;`8u-x$3wDB5cJ^@>Rj9 zW`8m~-`&$6G1w7#A_}A)VrL;XepuG*#dA{s$C?k}WJbzN(~|Uddd6_vQC7Pz~4;3KDaLxkY{({rgQsH2!J`cgi(Y-HWr z?k95bHYxE^f)OWmc-|S|S^qJ7diuu|?5I?}UY-Fx;EhTCLMGeSuV(epj7`RmG{c9j zEp}MOa$y?((D-VO++-pV;$tdp>9Y98qzk{zHP`?p+q9rLQNbP&nfvh?{|SkZvMjm9 zw0f(EE~?c@A2Lz*uMe^|>C4GuZ|a(SO`L1eBWh+w&GCfr0-bz0Rek~?@L$}z7Z1lO z)g3{Zq^rvV89T|3o;;Cw@4vPD3ocKHfp?G=C?)pQ`T6QwYHD4(5Le5oLEZj|;N<=p zd;}8~9{Rv|YxM^x>O_&-R`{6a~qZ^n<*lo-MbzW++j4J(~Q9@9DBdirt-q*nj zrCD=ZP~#^Pn`p^h)|=X1#aS zH>SkMdiSeUij-VK~?`bd<&BDg8LtbIVKv{LAP}J^7gK3PjOD`iY&51cO#zW>v zHidd4K1?){GhXx{d*`m;WfJRzu;vR?osxqV*Frrxrgi!PK&b@W-sQ6`GU173@51BkZV*wP>fgPXdz_qA^j_;_bF^?OT-=_|^Nc7d^&h+q#)x}GslcXrTbsK}~eQmeScH9#t zjdcd=giJ1pGNi?*+T+4CXIW9pJtcrc!rrA4K0bB1 zmr40zd<(M+p1#(FG08y|7HPreRc-$>NF+4(qtii&H2KFit!%k|hRDvIO8b9&PGcOA z8_`$Q>rxYY3xzjps__7>70bI^z*;Uo z{c+=KfjNx_n#Sz~#ksj(QhFA=m)s=HV4-~*8yh<{P`Pcs`S0L3r937kSPY>7AkWtD zEC4Be=YIlM#G0C#W;iZBCOh`nl_d7{!9FCNCA|&_Y2gL$MiktePJqx=HSi?)5(rRL zl*s|$#G9{EoW`rcfDW7`xEf4;W6%KX2=8BW)RmueKkjDbo%qo4?Nejw;Qwm@;*3e8 zworYjOPlMCSLwH8rSxf0cEn0Iz4m0Z6+fF2ZQKZrGN&DvxZM)#MQZeVkroHs)%E0A zHj2;(tCS>F{sxl9goi6|sh9=g-);zsi%QDk z;ag+b=7?|qI9zXGyF%LVlU&p)UdVaZj?eR*IMDNNiD3R;Ihf`3hutODEv@4AgAkL>C#|tttsz zCsR+!@sNLJ)T!K=cJM9xPTX}RD9w2>a#QzNPIm^mmyiI9=LZow3U*s1eC%SWpLl2W zT+DKRMQ;5Cer#U83&E9PDQ&%U!r_OD1GC>OmRDc6na;;~1rfXNs$aAcHtU+WpZ=jw zSVdo72ynX}D{5n{qx28Jc2)7Ypw#G)6vP{#35te=K~GN)PJk-i0^KM7*|WvHu)b>D zxX~1Nbnx#7q;;%&xVagXRSJ%&at>-sZ88VxRGW33!LBEg)6z)2B~- zaCA!xtZs^^5`Fo+iqBQRku6lEZ;Up4rm&n~AOAectD<4dp4A}O*0*0y^W;$&-RC6t zX(QU1wC$5QgkCA4+SoCbf4F_@lSo*-d!M?KMb{eRzo?e&${q>RqKJ1aw(kpnuV+$= z)w*PaW*UY-9p zz+@AVV|q8Im)S)CAFEq)>_GO6lq${U9qm=qw-!4` zB<*J=Rr}+<0({|n23e@0TbF|Y;$7BV4ur12Q5;Mb!3~f3^y0Iw=xEL68ndoSkFD!Q zGJ6*9K8yXhey=%NvQ56fSZ8=1yPYJb#75U(T&$vANZf+{QM+~`{FFd zJ8E2UdXm-XZ38p%-94kD>dT2iXYM?gbD@QXC9hP}C@kqzn-SW00lO47S(+0*IM@@z z0rwDf?$;4?BZYf?Gtu<{_&1&}0NIsD2m{_rc>B+8Kx)etAam_otW*4t0sW8mCY z@XL~fvI*NmD&cCOb)==zXaav8$Z9lEhkf?KJ?#NJ5+=Zn)RFc;3WtYWJx1L?e`Hn?DWb# z{uag+9ejf2qWwmxan-%Rz`%rZ)4JCOeHjuam`uC{{0+88G}+Non|vkrmIWAiLn$%!`~fBfr|-@<7cABLXbg z(urh>DKo>$U(;G_vRR4H?r5H*g;m#=Kiqmx52#&k&2?0{`v;-L`zd!WAd6Uu#YJ_C4SwhQ{^x(vYlU-~5i) zpX1;C0Pq`fuEC|^5=29*yT;A`mu4qyN@N;Bd5&A-aRdPsjzA zadm8W%w5E9C;>I&`W|zc3Jnd3pK8h`^WkKevGSlwRFi9URa>(fbd{(G+Sdng(_tpD z>EmUZwV;^S6CPwJe?T*}!FC~%ptiI@g6NES-Do#iP~2l=qXy6-OP$C^l?4 zIOGE3LUZrxeZ8p2yG()<){d{^qlfD81$?Ij1nzFk+F;fuf@9N0UygF#BYGLQ-SQ=f z@-GF0Rc+a&NQw)v^EvSs|8YPT*M&Pvzk6dUPR zPeUYZ2uRtC<1q z9fg+bA%jLgE9n+J8$`ajiB@-g>n;miY_#|ys&|L400y-pD`^1nS#87Hn3N-#d*oA8 z<7-+*yU9hKHBoq9Uzu5JVEyhL#Unc_mJDZSw=Oc;*yvNojNzjPr?vjuK`$31LGo&H zK2k6$-q8q~>(7oH;p~tD zZRJ8}W9$*ZbLX=gQ=aTHVJ@eBvUA-gg7j_UT0M{dw`04YcFj#5zWP$AY zxW702)`|&8mN9~lYvhiH+6==X-2466^U5QGrlt*9A%iy!E3DT^OE*SIFR%)46bNG9 z)tt7e$rmFJ8;XZ}W-j*;RzHdky_KiK$EouvrvU}gGZ>z}X-n1LnQyVu zKW9`cNL|%u+L9rA!qn_sk-g5`)gd{>LtXu=z&c-(upD+D8h@tfW$Nb#RPpUOZ_9}VXZ&Oy9hmgn)&;Yv(QOko?y)Lh{P!Z7I7?u=Gg z=H1^}d!?d{vSk#hpY7o`LRckJiIGR%svzQ$M@W+GI-|72O(L}S_vc_lHc}9VvFiw6 z+QTd6=H_iZJy+LPzg49|O|L<&VtXW`U5 zzQ=C?H=e^wxx$x~H@YdDF8h+R`rK}N3jD*Nm}gTGd>)O46+=s6nFd|0E**Yp!t!BK zf3CM!thrySl#K=a%pOr+Q%3I&r_}rLr%!-_r<0z*LKe+83EPk`kp%+&VL2smvRQ_z z=c{fE%KE!rZA*UI4@_qn(fZItciJzAkUGBQYx7yUGf{Ky*%#u z#uAk)`fYajs8^{#4uNVJB5<|!_2Uf7;~s8`u#(2Sb-yS}74luF(zk=5SIjGHO+^hi z^*$J517IME5SbTE5~CnyX*x1xN)UQ<6>WNoejleS%c|e_K64>Dt|_F;SQsvaG2dNb z;i4unF)i17f9KDo;oO%IW(rk%ba&~5&OTJ&&rd!BJ%$#3zZW2lnm&77m9H5%RklnC zi{;YOOqV99?%rC|=CH(j{7|n_xT&XnZ27k3b367Mzc8rZO*dUiXe<2==`Z(fCW&EY zPeB9ANvq4gucne3hZ|IH^oMx%ZKTR3{343tZn#Sx$S)i<%?Z4hI21+G?>5PR zXKX#tXS8S#Wa;cL6m6R!C>UdFwd#hjG8H*u`~&T!lE{FIx@(W=T5r0PsIMZe}ijJNnmaA6K*aN5OCz87x%$vf7)GKd5Rmj zU%ee$V5pi z0}3z{Y+`Bry82q4_VKU7VWwk}=^!OKI9ZYYmI}(S!r4cXyPtQuvoFeb>m5wVu<2jf z<3ZWg)%1jfgdh6)PTJVnJ&^}xt2+=d3*e>#L3Q@lW+mQ0pP|f)jw% z12$@I$AGG(|NCtffL1QTNhr$8rvM=+m%&H&Q5|apAU5Ax+4&PrN*9SMBt2i>-Ci)` z7ykb3VUD^mro<-+`5(9v+khadfpm%(v1F)#;-GCXQ!Ib-quL!O1}cvFsJ{KdilF-f z@9~bAkWt+!Ox#z~@Guh!!6zz~{Rg^f@;j1zCXtGt1nK9lDK}pr%~?879;5&L91m3& zy7QgFVMu^^4!o5oQ+`L@?Ellacc&IHa(*P94nxgNr_sh_X1LdP9h%x5>Fx0G&d(o+ z;qZGx#t!*|6qCf)vHlk?y?G`9lAIGD_M-XN^K#>_F-O_$PYQSRxVKm1u!Wyo)9Nko z|Jv0l+|OipM)v<>-k!lnk_$hZApK`yn9OwTX(o$`NE+3|%9d)Wp6Pj7bo?p@;-+bF z5}UzQ+4n-P6aoXS>lFj%JKrs;Q}Z+HP{39rUCyQi|qVuXc~Qp-2pJbY+n$8Gn6 zlyB)jN?Y-lqPK%F05P@0(EOU7?vhZaUO(+}o*=Ye!Xi0X(?fNtV)6(hlWJOuNVn5u z+XxH9ZyUY$AU}8;K06vCnQvO3G(N60G&1rwgP<9h>(ZmlBNE)e+X9k;2Pr8$V8aW@ zc=&L0x-)^5(aOqdn_bead9ba``uy`x&tX|_{WaOJk3#W~+&;V%FI=Y@r$9J!o&pUF z4z85t%_ZDZ!0PWO!(=E@YOL7h_f}0@Qs6<)oTb5j@p^csDM?|%bq0MivGzE z_l0`;ZU?{U=qH~YS0fC$P9A$QDYwzR=UBw3(DgeCOoHm(z zJ!C_Q#np1`Xks@DgnW*VL055s3T!YB{@_*IiwVuUPmx+$M_?#DS#E}=r#yC=q(rfa z_~U_;Fr`3jH&MS?P$cWm^34MqX1LLIiuTRruw%F`m9v4*juMpK2bv^CC3#Rk_hnT} z>arZH$unAO#AopQYVkY%G#rZ{`pDBKawkocs94vpM~`Cq{xxLmCHaOJNt)^&l-v!+ ze5?|IyD*O~#)FRL65l5yy!(ZeMpc_!RFNuktuGvFQ?g>O1FSf?-$5Rr zrKu@R$IM)34VIsCu-MzmJC2lYvQeqM0>uGPf`38GWe2}j4~G+ix@O$oiChw#=$pKP zo0ms`<>EL}!$+a^k%&N1Bsm0yavgOncr@uiZFzsm*O+2vVex)bQSqYy*N@cH3SR<^ z^Oi%-|1TFm8YqOt?eLzL7jf_N%jUnDL-6Nl>FD|($a3bEiAlY=AVXIQ?>{_+FgEny zCK_YX=6$FRixdOFfsKUap9J-Z;Ma;~prIKWCfEL3LzMJ9m1|S={PkzSp@Eh@IIZEX zlU7dNG3|^Z`=QdzRVD9Tdl<;d~Q z$-Q7gWN}+!@-GSBt#C^ivU|N{N&j@%O;3As#5D-FdRd3|P6TT?(lvV{teOI?EIwVO zt*2Ok&+U$FWeJ*qS;+DVh+XlyJpd;Td+ZfNCrJ#RN;O|61#|+!;49F^;o_>!(0KsHq93 z(YI@Y_y~}uFwit`0~fOiluLP;c~cex#2SF`Z>=eCe>(!+{VZn-i)>I{`{MOjH7x{oP0Xy3UzqtZXu@mn1^Kc z_%JUnIMi1HaoKaC^H264=jP5zn4W)o0UuFNQr3e52nOyyb454vj#j3pMeYD&E)Cv* zv_qU>8Jg?Fw}AobtI6{hiuG=NpLGDti|((ZcF z0}0a{u*p1HpVh_<5cfFsi4(`5xYF!osryXC4E#;FnnKUR=wVEZQI!-at53ew_mGQh zR83JuwSuPg&ywtfHE-&u0+~$=>oC$bpNf7`7g3wFO&jBRO)7Y%nDe;tvU(7VT-Up6eRmT_U60*5p|=J+*DA=$KT6f-mXYB!biFe@8WXocNfDX%NA=pXI)bOxPAxM}r@tDA z7EmAys|EQTxsS^{S=JsC%)pKd(XtP{5wfXFgnws}A7haXJkwig6wz_+t=0D|x6A~M zj<&8(H+61daw@i#URU>deGSn1Z*NO_L;+m6#+P5m&d?-vc+mec5tOc9r-H_$7Yv{D zI1q4;Aha|JZkd%*QczU;cz8S&_xnBn5HL|q(DyChfR&9AsOx+8-hKR9k;137cO3@B zzN+Kb{xH&AL?R+0KYEw`)Q^7q=4FGLaVl7xsqzdQL7OytckiE~me#K`V5~GhJUoP$ z9F=SJum~Q&DCb)C>Qw>*3Be8ZT@<$-9+$i zU~lv7Z1wiL82^mN!or6wMX>nWaV0wji2y*SCOSAn(93Y8HE2Of@b}&vYQC>aEADio zW8~05^4@~Z&ZzMmj@ky-|S8GuE}I$zx9jRX(ylq-DyF{ItPZ~2>o@y8D- z>`QA(eIauGB$2j(89pZI@%+az4CJVh0G`N4YT9}1nk)en9JUk-G`2Vp+VB(2g?Pi( zeg_`ek)z0GP0v)?(+Nx)9)_%D8UoGm5Lc0~_#7HHkfUn9px6$u5-Qo~3wivBeXu#r zeE#%!d(L###_hM9HGf8|U$-d554`Cd066k*A{Aml0a5@8rj?66SA@@gI$oqryG#^n zAve0btQzX0baTn*IeG3Bx>YNPgnPb6*h0)PaGh5hxKFr5q7uh`bm)1G~j@ zV@`Z@y9!MQv!RPz`~S|F#x}(qf(-JF%jL!Mqu6vl7pB5>3au>m$nHgNMDEDRC@$I_UP z(8t7)R9FgI&On{#QZU^`+-&+ICqI8^cwpcGA$pZGg^xhB+X#F~V`Gp6Y`z>2uD*VS zTE!JMp!KmgD?5-uabUT<`t8uL)JXImz%ACaw6wjPa0DGBzY<+6EG#bM5v^8x1aFB^ zJGgMJCFg@@A-Dl}l@iCN8}Eu(PGlXxv+pJ7^yEt0=vlnMC5|rMI4S}J8V*ntfr8O8 zGEnjwV^-v0>}6u~Ui`G>;kKUBx95>z7m<2{20r#nA~^zu{D$P8(>M>xulv`nidV$p zOJtSX!u{i#8-Y(X<;7};FhMQyBKxO`>EdQOdE}a2P|q}02wCU8C=+^;CpS)zNn`su zS3S-y3V3GG!68cT>x~;m`>fu-WFo4TQrwqr^To#Xz(h9%mt=|*yjyygcdl~hc<-be zJ0%B1#S|-Gm!C?{H=VDL(kb|VEkNhQedFl*d-yGuqR?SmT5U2!x&lsiUduc|Ikusr zk&x8F0-t#DFat8GkxUZc=@U(J#5?UJPvpp?X#MDPrFH-1!Bgj;qw^&U z+Uj$d|9&ijky7TqpC2>03+#XX_`wgF>-Ec1fjegA@ICYSHMVshr<4F;2?>T z7;|nw+`5bu?H2EF#V2ldLn#pzp#06?E z9niCktstg-2@J||H&JeJ?`#=JAx3f6gI`l&g?@RVM?oBP3OO5XDEswmh8@m3b3^Ip zHonuw`o#rUelQRDOvnDy%<5{9!&7Cg?|93%^z>3o3ertiP7enC`^OkrDleFD)8pIH zEj`1i-z2)ysxRxFdDmu!Fid$|%6#G+I<-j6CPx$X$Z_XEh9M|b{2$zLbR|98ZYA1o zMdLi(c|OhfFi5n%f|CGg;lV>X+dXK?TR7R)J-9hqw?l96>RVjhpRd;MK6}Ko*q!ha z^8DBaMx~527;lWQ|4zsL&Z#6ae1bu?Fk*I=mw09uiP3%Jxt1;SnL{;o&1kKXZl6l+ zl>Dan>#T*`>QY*~5E5RE^s8d94xbj|0`PcI-DW$zGxj8pR9Eo7dkklFziPmR5wnA< ziXA8x1II9m!7c=c0jWUF@}Z|EMLy`D_9uKJuWW8^;`}0kv#^M;iaU?pdF%A;wFVp( z<`B1PkH&yx-q!p0KCTS*aXu1AG5yt#hxJZ`62K|&A?4HuY`JEc&z{wbAUISPw3mf} z9po>rbF?gY+|S6!IQBW*+hW0m*8|%)oBa6ko45J-yp6@hKc%pD_f*~*v1)<<-$*cZ z!1>g*Vd0#PfL~SS1IP3lym}$uh!CQVGx0|sGLXyOFQR~&!yq($G7W}PazkAn#CN^W z(w;G~JJnK;AlqG}bK|&i;>a6=B_%|+5|Q><)CcwBD6X4~L6@ZoxwtB?P;jNNR9JTD zJIT4xMYXN-2qfa6Pxgq5_Dv(Zv?{TJgYjvXsXi6J0(@UxM&$QhuU#~Xrm-%~5&J?9 z+iAA+m-xF?Lp9+~YfcYUkFf|>*4vp!rg<9^A?@>HwvQZA4{~pPC*$erjQ~jWT1Erg z$e)1eM%xqHobq9{JrWPnw`gr_9y`B7FtpcpoWIo*(Yh2Y{(5;7_m(a_(HqN@R7}>< z8y=eRYB3qFdlK=d@+;1r#EKURA}fY8BU~G^vQK;y@idh%l1ie*g3=nc4kEkSm{Q+6 zYH5v54)L!E45MPjhnZ{$VGv--Z|Opbr-&BnM+p>?ZnD8QaiUoDjZJ3(D^0A5b_0S6;gGdg&oKmNXNGh}9EW{>QWY>|jks6=*1_TJn^RyKtqGeX&WZ<34#LT2{P$o9SN z^Z9%pzu$SB&L53)bh_@>bzRTvIn=P6>7c86n#B%Sc-);>fm_smZ$|4$-3iezp`LrX z52JHPCD5#|(01WpVmxJVLKOR3K#7L+1$8ZD|55%`eI7fHPumx9YMqg}q5 zCgeeDQ@cNG`!2)Gq(V8WqGLa=Pq_3649k^9D}}S65qFgi8!lhCK$BHi$PCSK{mt{= zH@?8k-ekCeMg-E*G!q_ZPygC}q*CL{GEK2HQo1eiM8>VnRrZyMsA~_JgvEycEisEI zF!zG*_g~3z$IdFB;NwtB;Y3x54$clfWTDI`%m-1xSE3+%TrZN68b9VV7qT2vroxDTg2$RJmNsVyJE zFUqpAvWjr=@R$e*33ZkL&+Yuw*+mhzlV2jskS8 zW)=<|prM5mN)zDX6*LlCQ~>}I=vS63yxi7(}f+OPlB8m~Sg>X#CR*N4+x|6W9P z!N1M13^9PL@d3HU9v)ICI_a{-8DJNKj!m$nk6;en;DdAVTsqBgttV-cZ8;+;@ih}g zdGgj)(^$_nSx19<<(oHMUh)XQe0F#N)T^vCYWH*v!hkJFK@0Os%i!jg3@&$~Jm?Zl zu^(~``(|M#tK~P$mPByOun&e|H7y%PPb_{)XM$09UM8a6#Rz{VB%mvqyfDiQO(IdBJz=HhJBbU6$;kUTCRe}wq_xTcm5=P`9V3--%VI|B|!?M+! z0O5qCy{fVCv>86nOEAm-`g?q^y#hpcN&|iURD4zzc>$l9WbQoe%QR{?*%2%{nqnFH z@nmv9mJx)4#Ri@<+mG~{zf~ko&wI_e;UGnzkNEXE93wMa!oN>?LqkqUy;UsxeUtKC zTcBbw3~=lpp%Al9;NyQit|_^Xp{>CK`tA#+rquRUGyj3Kxq#`~hxfiEMf&%MWdP-{ z&z=f|sIad^f*7H6Z|gPQ+=3xt>0vS4Gky#Um^lr=a0ldCSn>Daeia;RYArHoL~(g_ zsM&PQU{%T+-y!k)=H{T&1)7GNHu^ZbEgEq~=9XhP$XDXU{xj>RKU;R;pu~D1<3lyc zKhbwH&d!vTYeZd|RW`y^yRCnc1?jG~Ft>G$z%k@=@U=j=!CbVxnwup24+q{N^@ci} zX7VPItIb9EW$A@B!RNlG7_C*~TZuC^XRr@er`QwIlclkP7DoHQa7JEU*t;$6!M~3G z-;DG7!<6@kj;Z*K~PgqT3T7TnV_0)AqZ*6_Ei9YNJu0#-dtId zVq!`y1Y2AgpsUF!G)(Ig1}y%->Z*Z*E)z^b|927s0-o2_)iHzw2NyQNSD*qTrYOc5 zp+<0@?V+Eckj0P>N)vQ3@E&r%(ow&`5i8GzWuW6C5bVQ75%%q`r}P(INUr%$A|2SZ zVf?+3K?i$Z6X*UybV`OsYVYjgg^A6&OV?f$Jv z%L{4#EkpsVcAd5U)l;o=gez5s9XURhBMhFjU0KYR1h=l+T3nd9X@J+m4;RzW!RHSY zQnQ)}5n(cObLO`Rl|gdAm3{S~qTBP3a!`bKr2K>jdnV0nxdHdD=A!3i!Wh#~tO!aQ zTI0*ht{KM~T4nSXA~#*bpG!?-kt7;Tg@ z<12r8Mx{k$o%c-l-u!#r`SOJq9t>1kE;huYlYh1+Uw-u6C@T;^uqqq*xyL|qL4iVF zECNpZIpPJ=>lF-j|8B7^KM}PZ_YPfMIB?g~^gj&72ViBb)iX9I?!UX8h$k5mGk}jV zxnhT}210mko(plHHT{NVls|l!nVqc^7ayoRqT6pbY=wD$z-oS9(&})qMHE+ z6pz{D;h53l?~s%5c(M*7|D`CzD1~=-a#Q_=@DN83-|;~UohjoFlYf4h9y~k1#tc3= zhb5KIQQ{E{(_P-F1;NE^Nly_-8#GY%|I~u&CaFLEt-DcoriB;*XJ&uBKKK)X?MySo z)q1R-6U?obKWzJtPH^WFg3hQux!J*uAnKzyWzWoApUkoJaeP*~sCtPeY;b@_errs0 z{7ZK$Or+4uf+J^jBfc9#HE5A&Cx@XJ6@gelpjg9oZ@3coQI$vRZVj!^N7>XrrsYYb zm`iQy>Djgsmo9q45hrj@LJB5t64Jg#ofR)~g1~;Z`I)QZxBUWA#)rW_LK*J;N^B*o zzt|`5^2f%If3K^trbYNYD(Yz#EvQv15v12CvIMz6coTlI!uzwTOz3 zxc1er!sc=8^E%aS9X1T&YZBqJ+(Og0|1wE?A2Z^;;QWyHo(%<$JLNgvI+|Y#wEPdh zdJ-V4^jPYJ8TRN2!b6z8;>%%$1N*KIA3nsu%S!Cz=$Mbi&DekrI@*^i)doQULv(a> zN#Hvjy$tkU3@qNhlW<>x@?2E9_jYg%jZux~^06>78UT|LAASPlRHJa+4D6-OX1CnW z;zAHm8m3l1v9%x#`ECY)>2K`FRsihd2Eyw|`iBqucVJt@8dhvTvc*l8zLe`)kWfI= z)z!6enTID7-=0>U8N*jgJf(=pD*?TaYBB*vG;I_gIN`Ay%s-l%|Bq!g+r30ELha3P z>Q&fcp+_XWH1mkYi#CSG>V+K{0s@7Aw?e77Q}hG`!`sDBiloE+ z7mqx7XAkv~`h6iBWW)Zi-EWj|-<2eMM4O2ci7jpGd->8rXxvL=Elf$D*Dj+m>2xR25hscB7ceV zA<2Qzf3rvp6%*~1Adq0${N0oJt!{TH-0`C8kFQn7?jgq0B|3Fm$mMxY|7#x13Ad7r z(*KfxR3wan+ZEbC2SOavc_E3sFK%K5}5}IH@?Gv7p zW9}BfT023 zkVnAQVYp_S64}&rmI*u$0RTxrONsXr{~lfs33h1kJIXwEL0Dsv^O0*jJcVtu5t`#F zJqkZw(2jUrW|}?%rm9BO`xYUw?Fs(XVN~ZVDM%!!vJB0O{;!POVhT8?KSY-&kjUf39l_wG?i z?}Fq*g7JV`_UL*!H1d&5HR0q0HdD(ko1l$`kl(kyIUGO17o7AC`~e!sty*-)2E)L> z2x$w81pX#`2pcIev7q_#l45!Fz{UNo7Us{7E(z~dQE&0}7hf3VB1#_<`iR{E^iyFO z>@5WlQo85TIQZs$!VDq|S=Kbhwej3Eg@i8*2T-dA*YOvMIHvmo7rMP31&r2mg?8xo zTUlHi_$ZrQI3(n4bi$@eX=CH9t^IT6>liwF+&6-qyRcbk)1o(JA=)86vDLkrIGAL1 zS_(&xgt;>wjqs^Bn|htdiMhZSLMLSulOcmoKWa*7fe+;)Y%+dBy;3jGLoIN+&QflV zQ6gkJG0y(qsngSi3)u3}ZvtU<oeERz8#D&TpFwGs32X~?dv)zvmIm`H%W?+N#w z2&aWUeX?`sel097*ABI}|G5P&JI1&Q&nR&-lF|q8od^aGlY5@%T6<{;! zLU9B<$8jf1r~ffRuzBE3h>OnWPL}k5jWt9+p@|e>Md^+O@%T<+EFPPMHl>Cv@;{a! z-^CsCYm83Ux7-|i!$*9oxFotCV~CF!7^`j)-fez^(bK7%mZbR@-O+nBQP}jChq|6S ze!Tfj${_JeCyennik|OafK*{_F{`G zvwYJkWFUZD>RZE^)7>`Pt;f|Lt3zwn9~HMtk@BC|waV}?uP9PZZ^KnZEGYn{9l~SY z^Lqa#yH01LDO^OTO3wYNjyDKO{Pn=ya3VB^OExI;3>cD<0Z1oZab6AH`;CH4HhzL@ zw!ga?0~e;37*GU{gd*tbc;sa<`oUi%BpN}sovGg{hwILFf2P+(# zpnlDE@>%UkjVl8vZCZ4TQm3vLb#*%s8$DacWola*7_v}TXL@fo^D*S}LT(|_e6NpW zk!03*Q>HQYye(A@JwHWGDY4JaRyEE--)kG&>XML2uipcZ_<^p4rtk`3xeMMY{bn zG6nK8DsuA8L<|Pg1f7?bIeIvc2qMkPyucp73)UunfL-#j-@q|GZwHiUwE6*qsp%6W zyG2c>x)%GJ)9euMs1I}{Z@2@HA)$CNq>mXeF`}ti%5gBovc1y%F29t^q#}utxqCu_NA_`z-Pp`6>6`PiTco2zxX9fu5r=tI^|yZbQD01iz1GYw z>$1G0_Pti@swMqkl;t(g+R7yPyNL68wFuI}1eg7x3%DD#flLG}GgEoFp^b->*EAis zrYz4*%sEC5C^8qC`N^k!dW;I?Dcrmk0dXAHkl{Ru! ze4#Y+`j*K3BMD~ekmj!;CH5XXzDbQlud~b*``b~0BsL=VHoC|V#P#Gb<>}L)*eP> zaeQ)eZS2=C0Y+)};`0jRwa_xTKV+AcxQz5=BkxQ8+V57O6~H{!CPUN8A%!aqex<0uc0(vES@ zns{!4JXhbYS5FTQ2&$cLQ~1W!gjy?ttd;cL{ZG1BOjk~i;4QoJe7#CGNYJ0`ZcySA zeDA;uNVhk-zAdg;Ht0E?PQ@12YxgeW^;&*=T?gh$;!F|CA=Uiz5Ld4}!qRD9*9N6a z_|Vny72+&E3EJOeUwlMo>{jdOsjvVMmr9^tT^rr!mkH))xxLr%j&52^*Mh;rBR2*;dgDQ+=OFaBDnwm-Q_xzX4* z+bjBq=0|3J4&J9v0fK0D&+-AlfuGu*nUoy=xkHZ&cp2Is`6^(8-BX4Nyg4R)1GEOO zm3SOET-GbYtBhhUW|SeQUzeQ~iF-KiOh#OM zWo|T2qUdBn_omJ$={mnO6iN14EW z3*Ba=vx4o^p9`GkPk3=c;Do!6zQk8xwZ&D3s8+Ge?$qdwFgp;f%Sug)c9EHK3;Bmt zFa$fg4~Q3cxCOfoh?IuBC;jt{M1^ztl7it@!DE5H)0<*sw2r%d z|3dSzL$K7m!1>^Roj#!>ZZwI7*{mm9Y6-6%DX?BEd~|v_J6{9q)b}cL(W^!Y5JoT{ z3$`UfR|EcXaNl8hcbSs`OgIP@CQ!}#{<&~Ap zc=p8F4D#1`SdcJh4tib}T{vq{Qt%QW97J8YvNdN#;k?AOVeRB$b#UJ}7q;h$%73mK z^XOh+7yWyc>eT3@kw>A@CnQp2GD<4#O#3!>UZD{(Nt{ALBx$uN(>R^`JnG@$?{+q! zeClRnRg#=OsmLu`?yZJdkqF21K=+!`6N>sm(KAP%GiTyv!rB)`KvGs7AU6t<*|k&d zmk2Krck#BV*Zq@A0zKzyRTb_&=11y`$u6Qy^nS^w|EJlqjBGKA6+iII;c zR`1LKfmG=k^ImFt=UE4rIlDjup^(9&%;Ie3irr7otf+2`FYPAsf1!oB0dwx-1r$=| zZ)vrV)tEuQK{PqLRd%h~cSV*h8UV23Hl1SW3-N0Y+ft+$ppplMU}bwu_Q@LOD^R`E zdb!>lj5d$cq3BE&6Y~(?h zBUx?wr}{v+Ix!0f~c$pz}fz{!cL%}=q%7X1Q#1i|1w z*b{=BIh2v9DLWQeH82o_2wn;hfBu*QK9n4s#-;(D61=6Xysi%>X~PM;S}FMFFJ74e zDeurF@Yv4I%loAd(?MNS)LlDvc6Ms)gA4B7KP4EWO5u2|At3OHwBbyed80`EUAfVR3Ri@z_-%-(RawR`AvpIhn8k$b%4{7eJ zBPG}A>FF6@Tli;o|+cw>a{6~BjCI?)1Tu$dj{|zDpCJYlk)R1*}m+0h5(t-oE zAirRGM(Y$A>?s{(doD!iEm>pRM6gS@f79T z;+1E|NXT6|#omg

oHs!!QJ?O zy&h7^?XONCGvXRycdm4vxTbTZFvH(@^hp#u!Y0_k`M5DP8l@;cS#K^Ew>~T}*ljoM zQRD9)UNYLF%FuskC*H}`8fk-jE~jrE=p3{4*e8m?<5L`@u*k<@SJZ6q~jSv_iOl$(m*&6IE5`U<}_)2pZj^9DxUld4xNx~Z^sd-*m zb0b$N)F?c2=lM=MOV8$Lo6XiTZjHQ=2A~YQtYK6dhOj?Z;%j+$sqZf(Mkg_qs#LvI z>5M;Iy!AIO={zec5Yyjew{(Wea-S z#dc!5AzQa3yUud=juLUwrmVO;9+P)MS-qrK6lgKlua=n$#bo(N2nb!9gMfsn{YgeD z-Pz*iJz~yamu2%GS~M@AZi&~~D$FFPa8mVMR%2L+bYO&{VOikSrL)e1%XoXam zI{Lb*qX)FjeZRz0+9K6^!Kh^Rh#Ycg%o+^~iOyHr8GF;j^^9u7Vlk zf;oFN#}&M&O}*voV}}SpCOjk)!c-a@3e6sfV8ocm!bIUz#>Kg`}Y0*8i17^*b{ zDhLI*s@Zpmo5d^YFgm}Z1=?vAro89U7$-&dH@$hfRlIDl77B`gK%o3kMC}&CB9Vq1~*B{IRqtB?(_~j z;0cFEnW-SuDa~h-`EDzG!$m5cw~)J05=Jtx9G&7uVGGRn=yY_{~p>3u-SN1vkw zcO1QR_iHXB?W0CAKR%wn@&Z{Q`OaLnOqfzSMsXq=pK;7a#LjYhVF*&){fk7z+g}NA z$*|M%8yYX!G z5i%i7xBxC@jr|qOntJpHG!&KXfo{-ZnV|$j?fWs(CnrrFd4GUU{oRfZX0nY# z?HARl9H%>2&%Hji*0*uFrr7B&EPtY`XP0r_!hhYeJBU*|Dl^D~YuoazvgWK3zvN=h z-CqWl-pG=gZ_PuspBrX%>Uz@7#R`Mh0R~cR!VxuD?u+ck_fkl-IdV)9dTj&GF@r#Bs@OOm z1j^A;+(^1Buxk=Pt^&R`<#`AfUl>8^iUv6??$V&KW#(TDo)N`7@XS%r8lDsN>jy>q znnX#eY^|Au`?7MzcB|)Mq0Sk6Vv1)A<;NhZ1`+yj>Wl$vvcq5fUk8FeFOgt9XA@7- z>4ip0qn|BDFEz*H@;ACh1OQThikiLz$lIS~ID;jHL6dI;U#fQ%hWXv~Y4$=mY|b-q zH2dFfCKQY+gKb~DX7_4-D#IB*%O(2w_(AVn#d_Jr&DUQX!n)XMnDLhgxZLvR;&b|I zWNFl&ga?tM3lazk;viQsCnHw@Y)}e0bXn=`zxVhmnk4*ahU#Q4J7oCa=lyUX6zMh{ zteHhRQU%AF;9@oqfm#(tLGeO)Y><#(FNzvGf$6~_N(f@=*jJ;BTj{=IwCax#^_5ye)(GpnX`wF;M8#TUj40NK_C)>%QH^?GSsFfGv+MX~WjFvmyagUOc%Rc9?{gc?FV!R_j z!N7UTNyqGOGeas=;{;$=MGlTl^RCQ7m)KsWqsJ+ z!!a(mh0;JQCzDz_O3`GGAM}Hks#{y?6BCp5D=SAK+l1`-6~&yYpRX9H5)Z4btT&p* z$Lr8OOKn>UrZ-TlQ2jOulwJ2*TG(r^sX_Czt@=(_0orY_$#~+dp34vqYWEfW4eT^2) z<-M8T3P%+=2&iy2)(PO(cB4nQ7ST8*o?;IC{zAXVq`;D%JN$EToVmR*g}$N|Lh;3} zY_qJs>6uR;%S5jG3xIJQ;Z53f-Lgar70^DMRbEk_<|IjW9B#u{CvjW;tsWZHjY9x^cT%X+xQY@rn z_k8#FtBH}3D*T4kJif)q)np70MXnhW@J!MNgQg`DhWqj%5ZN3G{9IVa`285eHs{N0 z!}@1+=#n;~R)~LSIJtx!D$85=6awN$hFw`Bhh~iB2OwOHZ`~!zHG~DJ;!v+wp>2sm zdwv9+1`d%;BCq1zjMX+DB*EUTn}ae`R1TwVs3csQ34KPTQ-pB!Zq4DNQ+BIk^{^sK zC8YS?5Q$;*y#$x!1EDMv{_V6?(u~Q z8~||*{uQ5e=u_#<)hgv<8|-jJ(#EzMF(QW6F#y~{C$%PBTu04kXS=@7?k{F$l!Omm z718HrF0d?YBu2b{w@i;lpbH?`-9wA(Q~Q|&h-#Riy{c++ckcCFt{?8i4I5i>dcLeT zxAmn4XC*FGpw@nZFr8X`M*R1H!tibXs<{7$c_Tc4+r0k!PlaC@b4F}AfQ+TT;*dhS zlRhiCsF6hyOnu=KGd#Z8xZgc_9t}C51JFGCvu)E4q><)2oFssXsyOM)IqxNJuDu>C z%>RHN(T47XtNh?C8OO(;eHF*R%TE);#ZRD=oN$3@-Jxy4$;f|D^Q;w4lV$YQ71BM$R=_q`$%8%PtCAzsp5xSW^! zX_X^obO7PperE(B&fub%u?mPNiBsnE!*u}LTaFoJWtqQf*&ckIZL&ohDnsBy*%q(4 z0kS>byfBK!O>Ct~uVtlC!7*Zdmd717y2Ue)+h^Q_pqq<>cskU)$041MjVBO44Q+1m z+}!@0+(+6^!xAS=;S=#30Q-vAg;#&>*B`iT`CU!&K`bfkfka@QLIlG^L;XNKoD0Nf$HV+U%!V|VBdxi+*I;B$?iD^-p466UxMREck`9sZ zgU~R2b;p!h#hXUDFyT5+WAPJR!ny_AMpo?`;q#;t!O&yZm~*pop_lClEyRy=zH zM07io^)ExjR{dXrqz^7r*hKUt<vLKS z-R2?_6Rj`7o|1cbJsU!{$rU+l+oL-5!s;`EJC(SRWeV1$75c9jzDm39icQ*NKHRwm zw@Fvm#UcnlZDu}j1$jACNgA2{#F?s-P+YT=Ymb|7dg-6c^E9;W=ek&L{A{s{veV40 z{i$ZWd&7>Wta;C^sWqqE)@?68uh4G)@4+pFz-DLqS6065)!3xN20fLZqa&c2A07+Z zy}Rv#j3SCw>XoHaahWM(w^xV6w)5%p+y*Fn`v|hM0hVoAWoURbq$_~2oKe!?j`*6b z{VR~=Ml4^5mhz8rpW&g+FWl0ba93In>^rRsYTR z@9UobcE~6oC1w1LIy!0WU!4v7L!0z=`iDk#Yd4bx7&D?aGc8W|9$whG91NlpomgYQew8|>AW&Z0|C6jXh_Ss4hY-+zU zi9BH{&Z#`(tCW3tRxG+kLDi%0$oLPKz`gkGg$EaP*7Q62*<(A{Z8o9Zmz;MCe3V$I zQ%sU)B*mXd3X>>^&`I?K=-|BdSi(4@_2`c+UJ;4=A|nh3Um{IiERK&Iqn+~eY1dd4 z>i!Pi`b*MsY|uLyt~$9e=Iuk1TQRdR`eu8$Mz;j8y9rM%emmzbipz^7B=J5jf@gUw zrUA3+y>>@;9<#`!gM0X+hokEaFGsob3&t?i*VG`QTcm1>$mZ@@cCjuqA*fS_X=WU)-dzYV;Lytg5Ih*Aw9r(Q<9y4ce*bjYp~p zC6=UG>Y=C98Q2(d%8F!ASWbE8VQUmJ(!(ZbY#MpL1EOEb7PWiwZhgm5<8&&54 z__UF!h_GU{%kz#+8$oRa@pG90>5`#U`Zh$K(aqcmr>L4l%f= zcWtRotS*8yLV54$0@=EMnX03R0k{lJmC@Yeo23Js0g^UB3sr$?msLCfL_xRGQ`})q zW@5YGn7;3?23-i8ROJ}EpiE!b#b@|M)9)-FmPl}QpYNZ>REZLEZ&V`F4hyJ2r_Yo? z>S~Lhw8>_{I;UWGzTWc>E%KN=cYMbS(lOU2V*YcwIK7!UtND1g&+cIRXxLhT-9ETU z|A~&VW^Ch!wZpnq#-baAVNtLVeLAYFp0JfFhS9&BDB#A&ACRqzlAM_Rr@nGuf9yI8 ztFAiB3pNa7>@)Uj{Pa{guf4}VyYA>AsvU;!pd0&l*N>XsiCFAuZ=Q3Gk(3Z(m^XMD zqUb3n65WkmAgOfrH~`HvwpCDi2R(M6>N3`XXJEHf^g@m-_l6DO{DVUM4UOGm;Un{i z`EqroZuKB^TBSQuymMaaJBc{~{)UPxaM0W*s;mt6vvqCxuF_xQRr*n`;|S11o)L0x znXd++?{qR){`Bc`wl_1bv2TUHzbydr+pPGYR=rf#(=6#wIPaUnh>XvuL&kmUMU;{TQGej8v$Y18hHKc$+v%2=>~AWR1R8?B&0nz=;v^}& zd#K^z{6I9Koh`f-ko&A!a3QG&5n9nfRzM^8prIqhTqr2yDDc2N<ewk%I^!-tJXAqCypSWaK0F`MO}h_-`91A;A0*6LUHeCH;+|_^kxK+mGG-d zzT=v^GFa^Z?BH0l{*R4G$=0u$*kQZB_CHM;el*&nmb1a(&p?^dJe33DH9{?Uv4cY1 zZ&#|#x+>$E-*#4lqhgYhYzo@`ye_Zk5#u$Rg&yGjLjwfj$Cpms1UcCWC>oZgJh>8|ZjGI8<$=_4?WDR%7ub<~e&rLl_+>GgWQAIQqs@g54nS#6+<(S?Mm zR9%n@c`{hhwhp|#ihJ%uot}4FEoz9nf|2Wz6-o59CUzAqWlaptHcl~{DP|xB2Om|} zLVe;<0gaH1g^d3weH^+e9b>5h*?U>p{NWz3JT*i)l@34ELzVpY$lIYd@C@|#V&sZR z*7D5IN4G>umt4IY-W zh`vJgr7TknqO(fOViQko*o}{>wr5P?`W4*v+(X=eZwB3YE+t*)R+XIc_3p3W9cZ>0Mb}xf*NF*RDehf?3`=OQo78>;^K-b z3(Ik;iYnP(yuo?OYmtqHwWx%i*E=@TGSY^BQWoGptv+mvu9$YOY|5&r<4!Trsbo%R zLp@0!EtvK4)h(0v!1eyE^n-+5_1drL-=A1gU_Vx_0V+#}_vptONzDZfDb#Z6s=3;G zoVvT-o>5cA&Aj?M$q#=Qnfw%NoyEls-3v0fPPbJM3R-Ks#vm1;B>3?IhH{>o(qJs-p7`sy?>{4XsWmhzld#@rGPQnccB6CW zw5eQn<&U|oy2kR0LvOdBlQtGq7$b=E*GEq|KXY$vm`)CZDD?Y+Z36T^f0SFFOx+~> z-$d^J{%v$C9v=;tmgTn^Fa##<%P-@JZx6FC45v#YXHFVE-x5WaQgafds(ahUUF$!p z{2~m%>_%F`;;crM~Fqd^VvxV!Au`|2W44_kZXnl6?1nIMQz0F z_)x)~qC}-v{|WYZ006A0V2?cm1B8$Sg_pEbj6sNzDRP0s5?%}x#VOj3Vnq}253q&6 ztQYgv;@)8igtnx|vFFrJ6~?KCd;tzo=`rx9=7@a^R8&2n2k}Iv&+r1Bu)9TRiiQVn=qdO~x{H2kxw^=}u z8wG+$hZEP2m|<8C0iqzMaI=W2Zucr|eM@i2xdeMPG&N3_G8{j+S?3*Nj;XPAexu6r zCRWv)7B{lcggmN$>-?&>7{>)btt{#|m9Jc-rC+XI#cxn;F1i`U7xTiTpj)f>vV!mD zF_^^2RfKOL4XX~lgP5`AA6nTsjdUK^w?^HQz-g!;(@$DwtfTSpWpd~DeKWsLLc|JRQ!SkKxr%oEt7YBC!~-Yf zjV2V&X13#rQML9Pg_)m$EcX`)hbI&SB+D0RFfZ@F;N^^L#SoPLE9cf!B{^$fd)zco zITWdGoT8e`$*Mg-6(;`Z;4;;%yu)g~%GrPnNjcVSHdmsDn|tqsImB!w&+K#-J6`tSwoSK?B65P*wgEu(OtOy< zU5Syz&UeeCuq(%Vb+~HY%Ce-f<`DThC=}VkQliu5iQBYu5Oznd=2ESn`Z^y>syCuo zzswG5ms?)MNJ%z+b=@j*GzPi7IFBq9jlJ-F_b|f9LDdGbka} z_ICfM>lV3+X#FrAtf)jEi;YsZ8{uzA*(fslMhcKAS3*8q)z%H@2jdhgjy@? zZ1RUHB#7Fd`-h~Y@U)gn^zfW;E_y=Dlu&m%SL8CUfM zR5rrdD-+>*ktVj&`pekF$tSaw&usKy5~5c8294r%z)+e^)ko(x&gNt1KT&`YlZjrc~?G}Gy( zz(wkJ__;(dlqg9k3Em>L#6}MyW-1}s3R)8Dv!-yEv+UCk(f0BR>ZLyl9g9yGBTwCsEZUS7}V(B(m-KV`e$#h;5eV_D}D z40mOqO2qeEAaWte-eKZ{=V{xwpLuv_H}7vP1XGiywB520`Woi@CqnzCYrbI`W_zFX zmH+H+Cb0sqjK$NQ6`y_0?6K$DbXrhQ6z!rLp>|%X{7@_{+QDt* z&vg)>kktCUKK*>w^kW_d51tB{v2Qbe9xSgOaAC`~AqbS94O~^p_+AL|Thz%{&sxf? z5)O>H$=R&!3!)UzgZmqAl;U2kc@%LQcZcFuTzd20`<#8xIQOoR zG4g)Mhh(f|Wz9L?-}4NGpq>w#%SC2Tal`^`XZUf;{Bk&*>gbZYRi^w6n(G~)mG8wE zSCc;vlXbJL#M#VvpdHm=F$l%FRQY5rGP&m4X^afjp6nqMsMVMv4XtH0?<(#2#0%#$ zXRU^RVcWUFcToSS0=3|^|9aZzqF-Zv82u;}NoSWJMWs?(GAgC=s?y9{w1mnj@axFZtw9%nEu(!2OU4V@L@*X{XK=D{ zKj$STUxx0i^c^Gu?%Rqc1t{4_FLDMH$}$RlwZ3d|?rBi?e;cw8@Q;YP!Mx%ebT?>n z?T8o22rkukVijyd57S^oA_{)zCKXOD-|Cy9p6 zt=C9v@McXrof!?vNBgHxoTq$dV7elHa6Tga9lmL?OupU#@eR{l7-fw?hd2~R3XwBR zT?W0E5H6~bo0~na0K=~+&-y}tn>o%8{o&IM1-6GZu43!p)_6Mxe|XDV0KUSR@wZv6 zqr=qzKEL(6c`x64NUEyzm1lj+#b8_}#RrKi?Wz|_7K^^ucNekoUOD${Y%VjOTxsxC z%t4a14KrTVca09I9Qk=h5ASC52J|_c(lR)&b#mm4z6-viq4YyHJgfuPQ73!oevGi% zGd!|#vhv9fUQChm_)Y3Sc)|xTS~ZG=pt*ASn>@qhuBKy&ZtYiK&-v<(Zn$^+n)<8d zt7oEauUgI&og~j@7sc`y$i1C38kezA`l3{}Cj-bLpQVmS)y=F!(8C4GZQH#&95GbW z#t#fmyi$vGG2j0v5xyqNu9ncDe}uaj>#dRRWk(mr-3q9x2lDE~Z=OX@dvB+hH0nZk zzJiJQT`!fP%B)7lNy3iu{EJ7kVcFq@=|vZVJuMOIXnQ|qNk48nqw~;zOQ8wAd0Q}b zZ|A*PM|m}BfWD9}obNN;a&0$vDvekRy^>LZ9*b6RxmDQN4Gh%wm6q9i*Sg$_B*4*L z1;u>B43_E3A42xu>iIQPNB_LKV%tdln3AC6v)ryxIczq!2x-Kd%R2k!fJ*Y_O8?6E z9u>2;V;Cn(sZRUtIrtp01@G&f;fe`>k*=>cPnQuk*9ibdbMzGGIjw`k=iEFu<^3!htd-lu zYGmE2QaGd*Z0#>daj@1Pv%)XTr^T>dDpCBZ zqxNKQ$Pt%y5y|U)*#-*R!A4Zz@ zNxxAiVafmynd3?F$7I^<4fLZ ziQk>!jT>3*i7&EUuNV1-3$4sOB#*bEEUG>0WEA+D;hQ!6@KZuxS|d#e`bL8frD`Y$ zA5#Phk%jMV;Gop{8nY1!9P5fW&ug?e#?-vND+?< zQ_4OfUXXG*j&Aq+T8GEOmb^`#Yp-3GQLsR4fm-FFnp8T?Yq&l z@F7D6)_G~kzD78b642U00xvD42sTS=(*&GOFo_z=T;u-aosoUkajIT)J*xu4T{&CD zZJut_V}QtBFlUhN8D2v+-fjFKKn-*y^k{_f*K_%A>7EqwWBN^b_R;W4zjl%km3@7E z8!xPbg%CEV*=OdmnCFL}lfaE1JJ^rJ5+IuXWv5OfU5={80Hue~0;OBJtZIl;e%$c1 zvBi4r>9wKP`oP}MTySj>VWSaO{KuSn5tucf3KYNonJqXgJ7dq zUF5Ii#j^&3QWuSpIsCeI501)JyejFix2kF7CRBa%-Lt08&ueXMQzHA;k&r ze+($`HcNhPR;AFGkRRL1-~PfP%j-=Wc5ojGJ3+2rI5}N4!#hN_Exk}{^nS_qVPKVd zB$?TC%nh6@Ce3=SM(vce@*H7QFf}olRnFVyEu&;Pv1-Q@S2o?+C>sDc)W)~2vH&Tw zUf;nON;O2~Djt}6)ly_pTX`e!8K_05h@@LdM8B>;?hq0lApCMdeij$;E-lCFQsu=> z`cnEa{uv78HJnx`r}NCxc=OYo-H}&?^|@&*pYM+!s-mr?b@1b9m@dF!@JL$ATiJrUDkjZ{!g*|`m+u(zdkA#cKWpLs=M zytMmAub52Yb#dmt1(**!9JQ;wLE9Y>Sm>V`ZLWJOAgvbwbZX-%Dd;b zN9>+tX(Z_f1qOPRGX~U{$*W9OA;eQ1F8vx)1?10S7dsrwv63#nkv^YA5h#1Jdu>TY zlxj@Vn=^zmm#g$kaj_tjS{am_ck+3@YzG<*VY3YjG(-?TqmDSYruG`FMU$Zpm=-&H z53RxB$D36lOa#?|QK10-N~@yny&cWuF%Ojoe4jBUi(AKW{MZjH0EzZS@*g)jgI5ms zZWCUCn@SlTCAb6j1@u;Cb8UHAQ)#;OUgf_BHB~mR#C_j;6VHvT%bdDl3+cE`Pi7JO zG(ZjqgXlK~*?b+D4(z|-voCz$gu8ji8nm;(b+}#8! zZyY&C_HW?LPOUObKIU?kf9=BhW0E~b93f~qYY?hzOC}aMZk@2#(`B*Z?cn&a4LvTy zvEHO`VuDlItY(JNGl8V_FkpAe%?-(@Y}}Ckx?3NjmN@fP@no<7Z8Eh)vIa^+)~Qd|}3Oo85P~ zDy+-ynX;nZ2eu2j9TNP}gul8+>6-pHCHH3VNGO9IGZC2TalE`f=FfIQkS)zeJu88b zvle{zU>EmKfln9hgK7c zHAc@TVpz;UoFeQIT^s|zQzIQRB2H16?Bg0XE*6wwTwGg3$|>=UA=WWk&mEdiq#Mz_E!vquu$W1dc0%3uPOzJ zI#66K;X6N3Q}uhVbSW;Fx~NPN4fO^7%7+DQ|OHRe4jyrw}owjJ~N+ zjW+!Vn%xnzD=ZQ3cO=wq(mei>XL{jC?G_N@1@vdNhypLm^N<;lG6FV2R9;jKQ zD|!PzojW!p1$t|4$?_KvtHoG#^!34d-cq)FoubPA<%SNk6lz7?kQyg_GK7kiT*oNK zc8^tO5T2G-_*J@#+iiACA}VK2%V$?Cu3p_YrJq$c2EvH!)s>Odh9-F2M9Lz(X_6|< zLaB9$3Q$hO_pfE^KGTUr9sB=u0UB5BQG&mnkTDsD460x?5(5j149Vvlz82M=j8Dl6 zQ~T9XUOP2S->YucDiRe=bpU2sN!RXc7tjlGr;?=7>fkT}Ik8Pz$n@>{X_RoF?+>i& z`)Fw7a2mt$-VCr~ENil+OdL8QC@LSgvkL58>tP_2xjZ*j`?JEap|?Yg!I=t+{{1huWi6RK0Y zM6U^#%UuF7K-~@&dTUJXpUF6Tx3`j2rI$T^YGkQvLY}_(y^%#tI{7Ug)nQX4^QW_w zWHVnsx6O0h!;R@xgX#BIS#L&`8xw@*-=W{K8B8wcU+Nrup8>m*r6pvCX^_cPx2W&C zf=JyulnrKtjW2e3g)Ntz#Z9HKLO{YT4zn{t+MquyDoXK*Be$sK76czis*zIS*Q6nh{}-GgrOE^1zUw7(I9ut zJWaXr94SMefKaV}blk0(P5n>zWZPW`H(t!PsWe2!qHFbQPxW6%@iMP zN`!8nVV1Ow$A@gqVAK5dE{c_?if8o88Lw?j+oPs9uhVi%bVYujZb&|`X!tCF=2I`wFtqhE>vgfzi<%YW48HvuBHUm9tZ(n2~=iqP|2?8(cUQTDE+u+ z)P^-V+~cVAq{*^)P5EcGz?=(aGmp_n9F{78Y@7377lQ z6*os}zj+I0lkntFkCNm$X%H<`a{Fur0B{X@z0a>e;d7#dE7>cg_{XqsN9zootgj59N&e?DSjh8Am3Wf%G>JPv7i~ ztPkuX?>|rQ%g` z(kYyN`EgC9T4|2Nk~GNrvdu7Xj_Tq34!nSI&k#L!1YK|GwOQeGV--y5H@_r=Bq@7p zAJm2qnRZ!2^(G?Y3`IhvPM6XjS)hy3kF z?c{26+qJSvpkx)-gqSej7%494ce=|NP-H)2yhme70FT zvM`QtwTuoA_p$nG!<=d5l0~pb|MZ`Q@8o$eRMOg@ibT885<~5BmO3Yq)$e*VB-rIt zD*F~H)c5lb%wDlT^o+)f(Y!h0QFd#NoB$l#=i0&+8yY5(g-lAkjjh&=6kptU+qLiG zOIav<5j(vGgtwn@YM-fH@Fe^D#__xWHKjLJl^iAmgZ-hgoaOcUkluywDjnIvg#jW$WuCGW!6$PJ&UCXGa9Ku3f-Nz6;#U%Ws|j6x^9EUuOf zUw`8Z>=L+SA3+TVp$McwD(pe6nYCO-a-&GGY6)Ukaz7kY$ng#m>W6w5%%Qnh*$`#~ z4|*4~H=Z$Y38GGZ8;YMJUS*!bSwA_i01Fv4w9v-`p3C1?fa}tA~js4gyy%)rB57r;}R5vEZ*R>0V23RXihYZ({8b@xEpkF zoJ=p%n|)|0pC;aOd>+XPSN{!q;>?0zcQM^vH zvs@m=HUMVziP8F{)XZ%6jb!(vx91iaPTFet*yLJjIPm50zGH+p7CK;!SmQ5zTGH>n z`37B|GjtS`25>t-H@IFt8R+x;XS&Zw3lN)pE$k>}A6&87n4+uZCpYxi*y$1f^eO4T zHpfuY$}=mic0b*@0)Y?Ng^j1jYcL5S=Gsp(JBsK^>CdvqXino2?x^plh@|TWX>Cm6 zretZZQHLgDiIT1ek-j5;urU{DYdX1d*mz?d`2EiFrOc|Lfc+VAQTtmsVnGFcMmIeB zfv$%9-SeF#^{%UV_*V61KcgULE}VjLM?lSQPv%(>s*6%z$Hl{(5PNT`s80?~6uR4J z^DA=9iBbzCXK@Ef~U^g%2=Oj@(p9TT?9S}X*q)_qQRub>_kU{ zCc48Qt_Ig7&g3J9nh1gB&V?*jCL96}u{!<5#H7Ngwx4)ck-sr`W2$06QgOt{F-AhO zjh2)xtnC6y)+sIh<*cT=H9kLh8_LS>jmr*|Meeyg&`{ku^%w^O`dKo>&Vv20pJOR* zmHc=EUo8H@MUj7G|G9UkyE*02e1Z8bL(prPkGHiu0@`i`Woc^vYj!ynNd z$Rl>vYihRj`re2+IX=-CMi33V*A-I(y}`)L{!HW}IfF;NHvG1K=FbVKnm9tkK(%8l zZ8DBOh8UCCe>R8w_kvc?JjUxsh}TXIQL#X2gc=cb1`|>b%-Foty~E*&2XBK*0Ata5 zTG=esuu-eUXr?%PokrI>Q;?Mf~Jxp)>oInN9z{Wl++IsfuH57Ro zu%*#C-;DB<;(S7;it32-c()tuOot*UW5N27i^pA7JSeNU-f7%bG0oH3t&xcIYot#T zEtRjQo9Jfo7^6uC$Aq7E0fF_AbOHh{e4Y4@H=O(Mu3+~RW`g0nG_z`a#+mZ}yj|LV zxaQ$JoQrWqX+}YLifc4+-8-Bxbyo%#s#yV%I9-TW9DRr>syRmzV$Mfe`DYUim2Vae z^!;D5a`FeUXz}`4 zoJ8atvdHg7pos0CnzpdLI~mbc=+cr^NCiF94PWt;X?HU}{k2-hVE7bDQ>QBg#W zSS)R(4+MJVG*jd+XNF0+8IM}*d#^p-Smh~oc#feeUe0RAxznqpB4@UD}eBqe(8lDG{MtJKu9HBy?m2 z+qauCgh-FMn7OjPq?gBifUD1_+h}Z64n+?2pYQUbC5*X`oA3{JpGkZt39c`^h{+d! zJUc(9TSGS~M$viV8?YN^S$snuHNpE?kquP1vfOxQ`!;Ogl!6umJ}J zTN9!`wswmUvWyol%s%N=^XAtWZzwEDtI7k?>fYR9{2tL4Ip#DsY{SI1%f(k}!@NWq zcU!lV-BzQQv}kPnacE>3Qr3V}$szs;aBU3&aYOXOJ7L13#0@35m2vphX$1F#eSk=R zjn90lV?-0}g1))B{PC3MBCh;m@QnMW66oW1HostHMUQW2YzDIi-EeR=51-)PJ9fE{ zOIm-`%44(6@T7Pv8COiJ5d^7E1q`S_&*)lSM<4P0Sx)AxVr16PN09@H{>$%*Lyccj z^%d+dt7;YyA=9$~?q(Kw zK0F?BLy<%qTg2QX_HL|^`Q!7W)1~T9>wj#{`FSk+YWJ9`n~L`>66xX@s`9?Q*k#Z- z#to6wf7l4W__*THdWe|6$CSE`%Gfe6Hy!CUHnjy?D6Iv80&$kUSqp%k zHMU-vd33H=hskO*i&)9AUD|=Y7+yAvJadsytIOIY^f=!LiIR%MfMiSX#u3(vD4!`H z?oaO;=SZvIV=IyA5t^Ueu&8*>9`PZ*VtN}eaw4(<{q@iV8IkN-FVV9=yLQ9-W$Q#pf#r z)`DP$qlh$M%c_l>u;?5~EZ)Bnt^4DuKe)Agrp@Ta?RLHoNVe|hjCGJFg{aw4!eLPX zoaDJ(pm@j}XRtGEYREa@06lvPJ%cL2?0;h!?O)ohy zlSMSNfHK3rB}5;dKR^Peu);~|&w}Ya$3HzjX9SD=c^OFSSbVcf&5gq-ct8Mgp zRI?);um(e|+F1KMUD}l1G80+l7=%m@k_C}?JSHoWc5h1)z2Qjd;MuFgBxT$h08RO^ z44c*Koviswr1=>MqVIpIIdBsopM`<2+HuZ3d{3yJWlfEr00UPdVXQn|HQtLZNmGOXj=GBuKex zNQx(!+Mpx0^cG4s!ES()We98W3^}I2O@&2*+w{%XQ(K}u>)AGgtZQrFT3dzqotwmp z&0Ph5?Rxde!tU!Eff;mm7Vlaz13t&)4x)~GsOrN!vycwh|1Vraek5#`<(5SrD#CH( zRm_hy)%Bqnz%C@RETclRnCnDb>HZB950~#UM?4mAOo2h_FnOtL&-vXA_+aT2`v?_Z>w8lno4PfDZG3X4er~J^LB%&`bq7<1EPl4bqT9v+hNYGPY?&xvYCwa^N)ET8JCmOje6D@&x`r)t5 zr+-*QE?pUwi`+RWcpSr~1*@yDx#e_JdDIWft6Bx6Cs8b$`Nju%#!Zn>y8A&jT@3rw ztj+rj{y%|hcS|r+Z1hQ-Y;Py)t`)TxDaWHp6?E5KtDspXRWAYOZFX@5@Hq(^h19{? z*?Q>H7UV9EA?a)1yoYQ1Qex@Om#iOf2GCmeIiA<|LjyH>ypE3TqJ(P-l9M$&0=1`Z;*6E^+@5^nI*dMQHVTjV&lWS! z-_p3=;1E=*9ve7Q3>WtqZJ>4d-K)&D2h@JtdoCpUQ;1m>$%zEPM?f7wL+&wFv?Dw; z8H5TN2)P?tIc**Y?p7G`f2Od0A1c61vi|DYLuBxFJwJCK&rBsVbhL}(**LZA=z$~&A%JHQSG$>-`cWl7;y+d5fBqX` z3wd8{`?WecL-nTmkzS~9A7UROOakgABf-Mm%ZNCsiW)YlgfoVoJW5Eov^_Hi<`Y`N z86{X_T1t}S8df)r^fdx;i_gp#=#~Wtcnew)I*Ax)H)xsa_M~)4qQ{XDwRHzA+uc&R zlHjwTB!%Y;NSbq@WCx>$C8;8&YJ<^l7z$8vSo_qF4no|Dy~Nqz-X{+eCM|Rs$w{1P zTF_9L(ZsRN3epx*2qzEHrp_0{A5TqF;m9q6Y2;=P>*ayswq(2Jj7;61#OF`zvGGEa z24ZYXI8-!+3X&+ z@h0EX8VwrxnN^)8v*_$_zoxbZJ`o#C}qFLjN0ql5R?(;PE-xN7I%`jvPL>?YS2HJWqpb^9t|lZ^_^*5leiv z4G}%IKwgKGtNLz;NufbUxF@MI`q=xFfoTL1r^{hlnQ<;@+GIjGm|6L9?~dr-YURfN zk6M}PzsuZz7HYeROO~Wv*$t!b;V|wNA5Ijof4#Rj`pS?aw;e-eBkWfS2d_76HlRxo zO@k`F4ZG|A0iPhZ`+*|~ZyEG5iT`x3p-jqfc5(&3}+{jGb~zJj+_ZSNHIL z9Wm6@O;#q*q9RiUV%lvuney$EcnaZNIVevs`;Ktftxf$%mOuGw9Z_AXu~2VCMg+~< zCxT~U@X?XWAJ-tH%22pN9V(5Xi8|v{C|Hmbvq_qmlQN->(TDFNs2zP77 zdf3X{!-|d5_;^hU4ksli9s&U#yfqaSJ*)--0;%Xd|20eo0+;l_2cU0UO0G9_)7hw5 zDh!_Nma0_1x1OHB%1`H$45w&a(i^Fn8S^Gi=jngpd>@`WUIU)ynt%It8I47KTL58{ zTYyX?GKi$(&_4sI0?(dLFFc5(=>BgR84u3L1kwJga3PV%De7}WY3>D5=$oe*o)1Vk z{vfc~0JU@iI_0I+6!HhJDO~R;h$Q(*lx%{=b;oCpVMDKSv|^v^t~ERT4|m0UH@obe zQMb$DK%nQ+oU0*mqsmI(`V-4c^2;hoCQ~97ka@0UpOeaIr4f>6)qE-U+;c)Jd7~s_ zP-+*aTanvJzC&xZY;cWbOPS>_BR2{J0v(?KK%nLs%Bm+tH3iLM$KVVVWhf|}=aanL zzi6$|)vq*_o!A1d{p#k2E(f}CM2FT?DG_3__FfhCIpnbz9d}hk4&Ge}LxuV=fr(|H`wglx^(@*;8 z6j3m=PhO)1J*d%{W0Oc5_)X(OWJ?e1lvfM&LsdAIh>|apZ?NH7 zEX9$sK7F$0gVB5cjqimKe3x>qGIbb6Wn3-K(L+a6?QDr!Z0_j!bGTNGSJvbDnm2$O z=GOE;#{idG?9*pz{)a)&nU*CXQBsV7is0V$Jf)T zL?7^pW#t$<2S4o{O&RZ(2htqLBUza#cNA=7MOzfP9g78zCQ?|+yT&N+akJtt9I};8 zU7g^(7W$Li#@o#F$>bVWEQl2tt6*ZC$-)uD2N3RT7hXpE2p-L2~LrcskRX zHah5-=t9YBcfx-K2yLFZOeI9+K3gxWesVZ@Sz2+-FSM~)gQYv!?G(5VAuZ*Avy-(| z;}0RN1A0<{}3D2iE$?za@GacMQ5- zi_sfE0FGDkw0?uN8!}HyI0FikNO>5)FsfDGN;WmPlU)DOP)J$8lx2wXaWif(>S3{& zT^tIdG3^-@xlG6_lSTHA;fnx6(sl{ljyhVtM|_Dw3jei(JqVo^BuvHm)I;CrM2O?w zR_u@~1-|1HE(oN;AjDL03OD872f2-g;$YZ$3>fmE=noe~W$DHDeP%{R zW7in#o2lnK9UY$-E=I%pkj@TN(b2Au5y7WCnm4vD`O?YKt;hmmsyPMEF;@_ek|m5p z1vPS0z*V9$3@K%Hzak#A4yUzIu0*PSSw#WIt5&gJ#S8nvvog(B%`$F-k{AU`cT?n! z=W6N9XTPzdyYD)BY#&5)pw|RS-0Mx>L)sYiFCUy(Y`&4E!Jy)vL?r{h>ANG1BjYYB zpvhmLb5<7Vn8Ek)pDtqu(1F3d>KAoAiY2njhcWg2eSS6c#J3)pKwXklbBCo^_pG;) z3H$aLy0%VogcYcpgJW;5^#hgyUfMDz7pn23j+j`k_gl=o@YJ5&c2AUSw?1xz=o}j4*EA_w6xQp~(5M-J*%l8jtwRF53= zQ&3iRzH6TI@4GO6sxR3FSomME3~JvhaG?1!FYhdCRqk%DceI#W>2}^&S?KFXf9?iJ zP@erUp_%*2Qh8PHRwEhaPUWUOS>-ER*p|WOTCRtWL z^imn8u|sp}S}+cV8vXoqW567R^=VrD6|Kj|r|3|~U6dX5Oe=SY)65sV}9@Yd~DiiS~l9udjr zSubaeCU)D@vfOu~eDdPVH>aX&<->bgALbVyVzrqv(i!GE82Zv&MN@S=%rtJ6tJ`Is zbX`cU8AW^nZ}&Vm(nA-Z0}Xvqv3)km|MQL#bLG|pF4yK!^qtT%(8e*Jt{U?EihQ1g z6992|3Q+07mHPLq(S{*WIQ-?Y5a&Y(cbCVZM7N`;aX=?{j{((zV7YND?4L;d7^2wOg^&GJSA(eG7duj9|2XZi zDgonv_g`v5=k)x}x00FF9^%@0=8LRY56K2Nf>#SQW&{YNG)GhWIy6?*v-M1?mt`?x zoBZEx6LN$3?UwvBzUkOj)Xa#n9yc!}@ce}<{R@ZqLUP$v=0r9}-s!_brYPS%XfB7q z&%i*TKP#Ev1I)T#%)$R5CKAz+sqh4M*5()WN&1}ov8Yfy@J2{LcrB5j!*sUZ>?-vT zDjRWfi^W_RN#SHf&&^-%mEW^+k1i_p5j&k&-)Ikmv%+cX^42D1U8S^Oe5nNeV%s@C zutEEp0Y)^pEdujm;BOB`HG}e5Nh&>LQF(NbIS)7w4sQ5@`;J%7Y6g5o0XFGXCwaQK zU$yH5-QxZH&mF&VHlOJaT7576v)Cmi0&m((QA~!hs#jN-TzT*w{0?7tw!!s~5e2EL zInJl9W@u@Cazp{2;X&>%+}FG4kK0(i%+o5O0CU5{USb=>i#2b;Y_yb?6?$h)TW|@E&BUqImn;QHE z!xV&-S!>}24Vu=dOUkO!5dyU$#62v_kUg84vrpzv4seHw-*fx-}W3xE*`MIS1 z*}lkFzjFMngrsB63=Y}2gT%^E*PIOQa6G+1T$S*aUgsKBqy*ntH)RhWBocaRQsN{#SZwbOVTB&?>%_CCmu9rmF38B3s-4idKb% zTGHH7vfM(#b=nn06=Y@Vr=1p|x&4FileBQcdlLN37DRA$AD)E3d$)cXcf=rN5Gw!l zdcq1o6xO?j9&ynsGT1rP8fT+rUkrbNl|Hky@QXo%t*P8E z@78C$AwCwALKY&-qbfF@J$tJ4V;^3=Wxv4pDV=Z)cJ?aGuzdMNGU;N~C()(;h%+|8UpQe&kq4XT7Oyc#mNR-@ zPj9oO30;g}u|Ub26hWl!?p#+YAnX%f0Rv9gjHCW4@>Lkj}e>5}J^v3AA1w#Qvn6gmb=kr_vRyceFC_F!(8vJ)~WE+YE83 zrHlHsH(Hr<0*VPAXrWRpg78eaz6FTl?rW8t&#>OiX&JANd}yiS`i9)}yx44Lt^>&& zstm!&)>3F6$VuTwZ`zfrhhocZF;bd#*boVCX$dJ`M(xJFke>W zc}S+XtEkdbsY`2&ut%iamgA~1`}nQlXtK!7HoYU>Y4Se1I z3s*TJ^gOV@5ih9En?G0H)=lfN$Kvg$$`yb6AnPKJjyd2LTA}u3=qJjtaa>tIZiVAu z^x3L|C*bbpEG^$EK9jZNn&6ON?jC{L4B!XJ;~C={h14IVkIZr9jp)l#Gh ztVDJn*Ytku0pZWsPI~^r;duII1tfbeRA*hL}NjFDIQ ze#**ZDWG5MOGOtHrhS^@uEs% z10)G@YsnclE=%gPKy}#V6Rst?>^>g>>=UhIFRk)aI5}hLh5piwUb2V8hk_)Tj6R!R zRTIka`9rSKG?oc${PT=*osC};pYeE%MBHa45NGmY9R>L8d@6NdGT?@Ko(_mh;j50Q zelZi)-5>Ud>%^VaDwlgr?dBBi<;tT~FPi0$U)Mr!r8cJG_HNy|lV|nwY6IC#Ypl5S zNwSr~Q$5{s_MUL{K{RLQjqe-qqR#6Rde*YjS#bhRg5VZ0f_}rDA&mGr${UD;i!qrEDs*m}=S`4flGQ0Y-}U$V;U7WNzcpG($NIc=$Za^p`PG_hm| z*k|49c%bH4m(EhIL<}!q)pt{T z4_zOK6SOnAS(~*g`>1K~;SlQ4->wc$> z{gAl&7*dw}R(=-mu&47LM^$`ga25%l0lTgC!eVoO8-S;pk2Bk}W6J5|Yyw5*ikrK+ zhwXGJzg4bXM2zanHDwgJ8I6W~vp+DrC1Nwa`>^xLK}f|$V?fEMrLybHlKC5h+xJNA z)f)gdaHEcG<;*7^d?DWlXh-Pdi;H7$={=S&nKB3gdB)5MPd2L25UlD|T7Mrfuvi)` zA)RcjSEUhI8}uhLlyLPlv5mp@cCcc(skl_*Uzdm-y4wA+khpz0SNDY(q094&{)Xq- zV{Z>ahA4~6&?W)(PuHd_|M#?V37xXCH6ibDQ6vZaU-1$cJvMs5o2r@!N_M?h4N{g9|2f zan8Amab-~i&B}lmLlrOUmOaXexl6_8^t;wyxVaDdEtvocJYESLg5Byz`u}IJ$lY=( z2K@$cINRV#=tw%h55RglWU<;PKYtOUApgx+5S79R>$+-uNOU)Q-to7Do?rf1aSrv| z_^sJ@LcRMMGJf7t3tg$=*Vqq5j&4hFwPoS{TA^cY0nkUonyE4oFws--WRj2Dj! zNpZJfv_=(G@_j?G$f)R0(jm%=ROm3+-4@}_t)hzxGjhe&AhO&|u{T*N0@^L0qPB+< zT2wC`N@5xd)aV6#>5KDx+ho%7D~c#u(Eyc}>n?%1%~~p}TTqhQi+uGA$DJdqXKR+t zn#Sn(Qa>ZYPVWeJ`Di5*fFJViq7??DXTr7 z)bP;T?azXJ6D#hjGG3&yc6W=+)|QE===a5BFoC^D`0{PB!PSBZu&Uq){!~n%3$7Mv zxN4dmo;1hU5nK4qbKk2lFA1vOkbRWlmy zVg-sraS5))i(7HGph1gEDemrCN^vJZfZ#3xic65<1%g}A=gYJAx6ga_e$P1L9V20^ zgujxt)}4FKYhJ%=q}U>cO(JE@4#~7DvALuYUw!%zNC~`D3$ktE(3xi$z~OQ&h$i054Nb~KI)~r9rEQxt==&f*AXlq1+S5b$>u>cjE=o@l5oWvGK z`l^`L!&EqrYMt+O!x{xM_B!$qH4*S4rj#v`dVfg4@Kxa8)5OzIK+!JU^-x1c?KXFy z-%{$$M&LJJiJ6Iv?gxh8;W@Y(t{oF?vqxQt_M(Srdi!sEGC7szux;Q6=nJ4a#uHc9 zYbRzCz6bga;WKu9qMeO{cWK@myzLeBM*~K2Bx;*jM*x||t+g~$K z7IckchkwWzho1gZAo#CDxBq?+B?a43H4_bcbu&62l>L4&=sD9H|MPgBk&lw3vB~(i ztUzTwI8Scxo{nRfNTW9}zTc8fW*co={4^JcPL}F6z^3_13F~we{mrQ&DlZ`_l3*1i zwNTLv7Ceur%_t>G27;KqCE-p;fbX1L z(tqc~AEB5EttVA_^9`xeS}{>1W!9r2@mHCoP`pHB7#e6@=g5(x=GbT&^&8vgap0Y06p=yY9NO2O#3hYjp=MM zt6Gb9PBziDF=^Lccs$YS+x0rq@pSn=e(HG_+36Y7mESO@hR#>C$h&cw*$B9X&(dzI z=*&bWadG3P`8`8tXI9>hWe7L)U>}J|0lt*%teccAa%}&6;7CndqHXU>5$#|y9(>-6 z4h;|ud9WtwNjEGOtW=4k9IGgQ`L&pDrn(7PO?}@m-LKB7hp8?rh!OHpq}>gG zRhJ_YTc?U8Gc}18>oQ50(yoO%XmZ*X4}D!-b643`O04Z+2h!n0)`9B35B#N>(fnek z8yWy~&#GdzQ*XjGCDGSjQTNg^Gt`y)_{%EKF*7gQ0KF{3&5ro&`r6%lO}?8MO4Rhj zW3D|u$wWEti^ZvaHYoBoP&1ceh4jCg%Gd1 z#fqZKd!p}lc;}eXj~iVKgGV%Y>tHGLxY23oZ*$s zHe+M2zM2R4?>yKRma`@(zWC1eJlcX=pW2(vALNVW*V+ZKUo z5t?>ol2}gZ?Hnp_#lgc>9p8cQ&l|n@Rcn$s!t;PETFUhAorvH_$m)GEhcx~Z!nW3~W^ zdN5bSn%*;8QpqtuX~Y=#8TVta8IPiAYmw)2tq9n?r(>X7hoi zj8Xej5PfX|9(9xaS)25G$Ki3Ia{eL-l3UQ8Oc9`*>(#mKpPLgf%3X7M(yHrlYnbi; zCdUE{qt1e2i!1_@GTPW4&dzfPF)_HgG2Ni-0bAjK>>6AiR3l%0HcK{zv8Gmk7|1@; zo%hSnk!V zC*BpGyPh3ChRM+b3e3SpQR(&{z zbd6!(EIq!lGJ07UVN&!puXOcsNCKA$XFct4k|m??Nr}!sLxN$dJxfjFB#W0(RqW5a ze{3|U@cv1*Y!2dz-kRWwJ{*6mP~|5A>07v>0zW~Vi`7^@eR0n$S`XBEe**_CMGX{y z)}0U&kM{yj2PL@BK%DiC+W^c9-1yHCy|Ye7c&wFg-AFvdr@71W7Ch*A@25k_74~4%y3w?44Q%Y%08rSX-4!nJIq#1 z3H$wSADP?n$JB&u8oC_Z~$j;wm2Ult}RZtU7&L!EiaIse}g!6OaJY~0)zVw}0@4FMONv@ZLwVS-Dl&@`Z-J}XO zXVci_D~ZUz&Lhi}V}eprgumZOTZOMyCwG+o@U&Sko#*uUI%0b;mW#D1eOelIXQ?+b z#|AQVRuX!HJ$Z9ZY!PB6B=Wf3^9}%*&EW|B`HQ&R6uZw#Q#P&0_9r zL`AHM>cUE~Ft9qoGc7Oqmj@kA><|pagEPJZ*LBL3Khq-sQ?px}-FlX|TwZE^dd$NX zH^O$9^)_>yIv=A_h0g(B;YIZM2-@i=8bKeg+}YThAmx4nIg1Zw%Kh}n7966Gefg}f z$7N%WkjlhvD0&^YrFM3Xl(p%_TCsBVpo5UVp`wI4ce;Whr_2zL#cTPUu5fae9m`WN zx10UgP$^@C5=&=eGeiz2w&q(f5|hel5{rQ)94z_LUpq-Qa{(?}p?%=?gKP0p3}*=H zT7PF_AWHFPV@6nBVar>0P&BOFL-`f97*mxhMy*x^4#$xxM)vC-_T`OOlGlHruDbQl z)$z*B58?z>14DNGwY@+0Y$|cv#2OH+dd8ITxh&o3!y5A-q(it-$-Bx7Oh;pUdacGc zN!|J*omTi}>pv`4?HU0KFrPfFjMS7hxnF7YS7KX%zZi$83`V{emlb=4s+Uc|NKt>j z+%ZG`^`hbjxVD>m7u9c4Y5gn;4xR@@`06O(1{FKXi7Xj~eI>27X>k3TIY6I;(vwg= z;jCCWDt9CXeJ1P{+03VHOjNC1%R;?~OSq{ZPM`ndb{w>zpJZw1;4YFka!mQM8+8Q* z1w}M;5y>>U6Q6HBBkX-J_NLE%{WhFkHkk_@xj@b&DP-i^joFX}O;qt&0v1iiv(Na? zKR&x%=zsbip?L<6%y1aySt!nCqtHa<#t?t~s$Q!l#gpbj+s53}%La(F0C;+&wlnXS zp5AnKcx-ZhLi@zW*g7blxsgUr(djuZ^uvy(l|q%njEpT0*m;)X^rwo@#M7Hida?wp z!X9Ov?}KBvo4A{8_c30;Qt?%3h;HCDSN_Tl){eetAe1ZH4 z&>S?ri%0fS_8$I1Dcw5>jqG}rDLe8=2KllEx;}o2yJ$mgUG&NimP4gSolU8GXEov= zUsngXVOoVl)*zE-pmh*3AGfXdF8l_D&}4wr7Tf!cpr%kBpjwqEJDA`fS?0 zm~)iF$i^C#%B@rB%e!$SwQ3zRrCxJzn%ZXtj-0!$UVBP4 zM@=s}mNYE{_Oy7b$Qw{<@yE?%E%IhGaxHN4*xR{s14TPIl+wS=6<_%wg~;lSBAU<{ zQL8i4^2?jld){*++6{h-r2~5*OkW#}#Oo6xo;PRLte>WrI@ojO_;?u!$;$Q@$G2JR zohT2D#TmYyX9>E0vG)aRXbp-we7Bv*{Uc8gJor(W`WA?OJz?ymwOl(tNAj#vB>AC2 z>GN8E-ye%RkXjFtz~Olrw~tOmSGUP9Z5ScQthr1`(=rwXnf@$V<$I1=%XCJR0qneE_XUyZbN?50oXWZrQD z+$U3hNKAhD+@T&&x=Ri7)(r-8YC6)OC4&9l+5M{Ff~;FqEoTeQeGdw-8d$1lQ4IAErJxDkn`6`@Q)R`2K_b`m)9#7STwK zgBgwDSY4A6FD+{5Hv&0Jdbd}(Zm8T}zk=~d@t{!{nDrQ#P(q|`1FlH^ZkVui?o$R& zkDbmk#XYaEvZN17!iIQnCIj(?pJVn80JgVTR@q|b_j)EC3@tH9@4_ZZdb;YvJmUS7 z3%g{7nsUW$v@6ne$IY;_Jlll?pBlb>duV%x{)KP2LdgDR@vCQLp$(cQ#!k7+GA+lT z-QOCLp+N-N?T7Fk=C?IARPCwk5YYVvk^XA)ZY`j>f3k}PgiKnxUnxtX{{8rAsl}?u z`(2HFNV|aj$no$l_6aE%u|2VNPv|s=GdO`bKDgG4Q8#B(5*1ou_VGV@Y4c8Z8!OHw z(5BqdSOU@Z6|9aXrMd&kln419NI+))E=YEphNhA@< z_OlwKUBYr;fQuD3-HN-)Y(VAt5s1Er9oI|)up}lmT zlUc8)f`o+6XgZ$xo`-nqPp*Ce@M$qUI%h~k>{x#4?w)rsV=6D+5mVR)ig%3Fp zNApSe9F32!Nn@`gPrO34iACxyW42LB=td9_HCx4?OZd&>hxU)w)b1pM-AYrcnktGc zY!RuryR(6u_+w7O63b`@Awsye{b2xk=q66;xb3PuWfa%#a*@G8YMlqD*JTpBE&X7E zO^Tn{xYlHaj@NxI`QuC0v}$dk$}z~)6JVx+?6?N&CoI-K~Ip! z2QlE>k?XtJB9tdBtpBIC64ybCdDTv;3r*ylT!RXUty5{_irB*Y_ zoc5j9RvpbKznPQe?s~qhY2xDolj}~{A;cW-i_S{xs>QfROa|ZwxRLrmbWaV|i`T8g zkZcL8L|5#(MHYX-s0d7XhNiq?Re9JO~7@b)%O0t2@+>~o+2;C;rDVzZKr(%CAOy{ zzrAgFE$3b3%Sl5b^AmKZe6yR76-l(u00f(8n|r53M)W`CtZ=M8an?Kb!X8_ru8)sr56<1*P2LnQJw^PHm^_4Ed3}*HCAzcRu;A;k zTok?OXsZ!%^y;D#%08SW5U@1)(5^fB@re1oxCVT%1gMZ=b^Q3@^#sY z2eVn=B+A1(JnN^&zR#or1IgcYtPVMWdul31b8B|k%R}gxsl(BD8tM*k zKS+|}d5XQt_Q@WY3>h;Sm@t~w%ImgTM6bqpHD(a_A=x|urkl*%rbd%$teTrJK|fB- z09#iZusMEjSKk%ycx4N#wM3z7=+z`wirGtyTgH!<+biXrG%H?1c^&4sCnT)S>-%Q{ zao_N(p-k|G$I-`&0b_kTW&6oXok7nDS7 zD@ff*kNKd~_IDTA68svzYg+mCGxf==%E2$s(&=`$jZU>bTw-=9CQ(hjjle<(g^dG# zYOoM}xngn1V)zjTeLaV$>c_QR9>;L(UGE>&daZ>6;$-&mcn+~^!EL~{)WBfpRpEuLFN18zTMfM%bI*jFR$WiA?`}PQ|D})q? z9w7Z*FxPE>I_hgkJq7^z)4~1-vp9Vc5)@&;7^6x!!|hWf&>u2pInx1YB-oI!oGXw< z@UcM$e~yq#sA1*`R)=a#LD}2`i=SS82~|AsZpn{o84>`gJ&T_VZKB8#J`fHRcK-AI zkj=tSM5R!z{OeyRvHNMB<~l3b=j|lZ5oqq7xsoN?YhDv2O}89F_hqkz8L9%l2g;6b za;$X<(dG=Rw?=n(ktJ30v4sn-Mhlc9o!<32I|{0pe0#A=(MWFu0BIk#ASAH?Eh%zN ztv&7k5?eiOzUWm8zx}gb`D4P~#or6#(kN-$Bi^F_NU`ZD#3yNH?kK7MgHB<*f}0l& z4TTdgeX_#g5?FS-&xm*fr)2939@ibAvP>WQ%!QC+YV|`@Xs<4pf4I(+uV4=um+sfR z_|;bGN~#W4kyUaBf3k(-_#P|nlRY9ig*ob}C~SrV|? zcHWAk^7xi$;mD5=Y(S1*Fnvz>l;f2kXkRN33!!I z4UfF9#&pYVUiPriUbRl*vJr@B`J;nK0==ar{ib>(MRMZ2k9BhD&n~W`OaIqk&gPYs zA2W^Z6n;(Erk|R@)&{_g$mct|P3DQ~wl7@kxTXf>O3SUx_r1+8+_@{jw9)MB`rpGx zM@L$@UAU%N9milTX*I=eH7qK9Vz*dvs_*!G$XZ`;*Voju?>l#v!o*$gH_uM^K;j~z zKr3bK2CowIHC;PZf!a?D@3X#RFeImH;VFJvl}$eX=_6Qhd@XsG6OQ0hiN&<=+ObT{ z>S?xgeVMeLm{055QAu=`x~8hP75!>ikeagS84Y$}EnW~5Qv~x>T}Z6igenY0by5D) zo+?Uawxr+9$~91k^sv`a>f+_ZE;jKv5s(=@Z7KJiWKfUy9-c#%s9*n(x-zhLy6&J- zapUMc9A1)EWZqF56@872IvVzZ(tVoesVIHdA+0|#>wy|43A0Z*?2>s(ST64G{lHV> zm|!pq5aE!W<#QnD(i^q{dMS$v+gIe;S2gSn&eXfO#4Wt`fm7PEr82qG`1;{XD^@Cu zTR5Q1nUyP3m7DJgkbbY(BrxD{vn{d&(0T3(?3R>H>d)Rjl=v>5DKx`9`!olfTro;cky$H4Y}V({b6>Ivda~!a5en-e3#D`C(V*`heUZs7L;SHOcqrO z5NW8{aiP#JWS1sC?6@roucl_DikqnPaVR^!Kr@soU`1$<&WdcpsZ?%+}lref9#14Ey^D%{liV3 zJ*^uVIlp<39r9>V=vL9vLc9~s&RJ^3mfXZtRV!|CDsafm{mirDXa{;8Jv=q1FTs~I zlh&}DeH=a5b8TF@v9S1d-A3v1%PHs={Bjkbv4wRf!s_uunUX0_5&owk#!oq?+X}03 zcSrX_RRrxouc436+fwHdsvDCpuh>OmS|&pupSjEzA7+ZjpL1@i3SK$LW-`S#u`%>d zUC!G#m_Px4yktgaRrUNmz&OX$P~2vcg)CVa8B?{%LEHanZTPpPLVYKic{3SfE8Z3u zyO~Y);cwCe2?kv@A;uvU>H*d5ADT)A`WV4% zfl^vt0Cxe>`dbWz(J4WVcIOn|d3SuGDf?=_rtM05{&X@upNPz$%%Jd(+wmWV8N$7- zQII3*$T9U`p~7S#%je`Wy@TT2$WR$p#qC+nmPqUkROZ(hgWRtQN2T%Jq)3y73eY_7 zl6fY0qA~DY?*INs|5+1`#{9cjhqT%K*Q{qlWMoltFD-|-)4zG^{=3iaU&jouwyqt| zWZ1{z3S7e0>(m?eNc)sAAUl=Lxy#=^_E0Kp*>fvOI#a2(ALJ!-rQ$GuppX9Wemh>$ z5(8zazq>oDKPYVFqe5O(-qO<29I4O#(z#|8@F`W_=5!!-7W_SeCM{S_8F zTi1oPA4FtL98$d&Q4d|7cXW%a)~!@DAry`bRB34sN=lG5JW*Empz+`uNTYOV@Igde zG13z&&+L8+|9-v|4~$H+(!<{3-!*6O`R>nEY4zO@NehkF6-3Im6*;ub^0 z9(Ru?;1Zsmu7QZkN=z#Uqv=+H*_ID<#We0V+^%4#pve8rp&UCH>bn%x?BxuVJ&D4w z_E*)(2c`=A9_5kd!a$nT&^>Kj**l#>?nJz9m%e)}9*ZP+L07)$wkcP4so`JW??ug z_p!R+yoJ;dw)*rVYJ^H-F#S2*UnnmU)SmBL+;_>uE%XOSd|5y1&>(uQwpTczP3v;L za7ZYf_(S#KYR_qMtaCzr1e~hrFAwel2-lX=yF^A2V!8T#um;S2pBE;0JNKuwgjI0= z9-#NugAa$kTHcbWh>tw+bAzB!t_p9%eZ@fu5#{K#|fB(Mnq z7+AexB2}+3X7?~IZF}D4B@jo zb4?!3q(timh}PUNN;v6uDkJ!k*R|#^f4R5hsf7>Ooa(-OVq(=1`CN_V-Yt)RJV0>; zl6}#pb2!Xoa)eo@+aa~0r3E$VC}RxeGmH|pK{#vbou6KwWvM!bOC*bbv^XHYZPPf{ z4Q}yK!ZBv~=^@&IQFf&=A#dc2XC}r^z6`195A0)s=*ZXfGoaS%z0}d{NU228PWu$( zRUq#R*nE9b+^E~cCKZ=gV$_UYGwO(G-8if3VZ{({to-95h7)uv1@o8cr>BQU0b(FX znYGz-75OOGST#%@Jp1U{Yq5YY#+ahZanG?2_JF_C{lXkK12_Y zBb4T%&>VP=bhuLlZy=5Dj+$! z^R{Z~`5B+%rMF1Qn_v>c#3d{CpTHWvJtT9jn9VC&-#*iI<(RkqNp6RFtT=e3W<=4G4h(l`KyL!_mLR|Y2z>6IXKbbk>xfkXQ)`B&rg!%9Lj}Oaog2Yt8j}%c zznT!h&-{X|VpdlUz3`dNaz$q)b1U&ENUo;e<+YeovA*8BFntB|RetagF4n2Rkm|k~ zk*H8O^cP?1o8Jx-slwLY zSb3a8=8+e<=|SI_s_pH<><`ZSj|C5eHKm)}SdTiVVsBaIT(QSt4E6|a!4z`v(}OSe zWvm$e9mmER`v^iy9fC4fIi-MVJ9}yXGrIgl-=w{iB%86Nv)!<18h0dUc69a^%3GJ) zsXy@#Z=b()ZlUm`>tNrpqK`i(7$6q-;Akk)OzmuvG9deFy$__Eq7`3DAvkFquU`$g zeH4p5-(d5|eh&0DRnzLANS69FVGu#T=2#k@t3LGYe2ndUO!S;$MuldKw}CJ>d5lJA zgg#t#8wgaDlR4g2Jw84@G=DHYqiO1T=b^0!@;J*D+nkz}vDys>^rwcUzR$`HgEh=^ z@|Li-#%jbsW6j2E@+;2)r#~(W%kC5|i>v0BaJ;{SHJo2kqQ8;gL!Se^IWS26+5kNe zN(C@Loey|7w4k1%$m>X?i1k`s>^X1y;~TD6rA)TZ>&VAXAa8@9Do$~Ohj`tmRQVH7y|__x!FT-X^-)teE5< zT(1n!QxPyXC5zQo{kHidRcHEn2KM3M$h@F;3Ji%fuZozhT=qQdXWGxV8#KeJste81 z)h+C=s4aG}0!4Ax!gFQrlf-8XbNu*?$Gd5Z?b$NYLq_`lLh)+Aom~+yuW&RoB<)KnO$-gSJs44ntanhJip%P2ACS$yzEW;e<$uQtGM{RMtMFTKNY9RI zXSJ%x3IJ32bz@m7(TNX(*VA(B>|=*TCh4;HUeh|khR9>jLlWD+u6&3$US@%5iV!1y z{n8?>!uDNRV%1#Aj9F*0?T*PRjLKURlw6d|l`OFF#NT6L#%P7*9jj=hUbx@BD)7Bh zxr0Wq=GD2!UNZ&Syb8@l2fn29!8{I{BDZ)nF5kCBV8d3s4?hdLBEz(0(I7RdMu|F+ zJ6{lcbsC}PeX5xJQtglEv9%lH42K5H-&24qQtI}0MsLea+?WZG z-%hVwZYWdJL9%JZ{B^S}51;hybA>l9$=>ocdEvX)8H}3!CT3Oo*#;PpTXQGmC>o!P zm?m}5JP?x&FLpL&%69;$0AbUM^%nX}`99l1z?9OL6{Db%}st?C)93IvC)O=PP)RV`=TeNr(CoH0n{Z6 zY_<6lV^D&rGA3SM|1t{}UtHdo$6Anbq9)UsU>JEtDI&WRp7g_V$`hO%>%gv9;M4|R zW=$%yLVtyBFjdp)tJQd)a$0%$SQPm3OGqc#498$s0w1=(4b$%}wT6%+9WO!-mZkEu zcTTLG>(Pyt0ofC7LI@{Vm)dkk!XRJj@4Xj-5=H(($k-22+@HJ;H4#6NT%O|3E7PC) zW=FOe3z6X!qBTFTUUFhYLn}PQ&PERMWD80ozX>6pn!l4La5NW5d}Grd@PRK{Y|F$0Zq$JXK7>|zK$ehV#!Get1g zKM;uVdO=dG+^Fy}6jb|a+$j}8mJabY-b(&joTgH8<-qOljWQ*1!qWUhIUX3=3U#>UA~0nbM?w>4DI(rxvcv`fQE z=^TK}Dia3t7Uv5NZak8;42yzfYtF6qNKtC-Ncru29Lfp|Tp=%(fQ16`T;e<@}E z)XVVdO~VslYutaKI5NHY3uS%rDvg-+bm}%|P~s?bv*7;zT@ko%|55YuL_*+@&>A0K z9tj*V@?ZHk9rb?{SHu3F&U1nD^{g-avx$go*_ zakM<|a)N!8=a!iOH8o>0S&=7MC5%l9ASFZ3=1BiR%EDCzf5fEUZ6RGRK2OIE%YuGB18s+u(=z1Kx~3LXr@J8sOA4ACv!5fS_PYG9;3hF|g1 zx9l1(kxmP0enKd}tTsHU`O0*x7B=`ihxXeu;jM;10utZ&$1Z2j+#iNNe%dR2Cl z@IMn8Bb8za$}D8z{*QS|h>Z<$JNuZI*P*W$u7h+po~MTH%;+*W+kK*3txp~{Mxfky zmeO=?Z^Cs1R&su*9tCm|$Wu(^Y6gu^1W8hpb7LTbb}=xoUH^v7T-m6(9^iWaIeYgK zdCz2Mi=>^*N3ZI?)MI?f#qAk50Y{eQ2$kPQcW^MceY7_fwD^+@FI+wu#F~^VMablK ztsRAFUQ5@t)~kvH>IUjMw?L13#{hk7?)`*Pmh_sKq@+;6#I7PRJ z-p4roatp@dg`HWR^Miz?74!IPv6gY1Pk*Q}QJMX>)Klo%etf@JL9?7E5~Tw~l602t z!QeYEWFXJ{Q6;3cga^sw#7k{r@N}GD6TzBtK2aj{MeCl}!MJm7*K|Z1v9+0>eI7Aj}*Y(dgNZigQ11=pc#L z33L^LMuIcfvjd5<+0uOUsr7Hadlz9?jr}^-u?Try4T_bH=y2+{3?I9VZjGHY11k#E zILiLH3!}r;XlPscR!Jqiw^KePHxiX+^W;by#0A!SlBw9-<{G^6bGdGl(*fqBn0ThL z36VBaMD%^HyQb_kF~OEe@`!`2$8tUU3k9Szo)ur6cIdJD+v?|-iN0ArGjh-mhpaI3 zwUBu_k4rK#rIIlIBg_a3>6Fdt&&tb7B}7epg?XZoS1{wbK8571tQJ7Ukr$CfkK@al zzUfUyYQDhKYU-W(bN!(MHumfWty#R4?^E(NglXS)cMR3dh83CZD6IJol6yZL8CH=N zLV|RkSK8^A!;`+|C|G$kWGHD_HMv4AFYf{Kp=a(V>HP6q{H$%+rhj~=in$jR0YRS`^w^_7b|3{Z8Edj57$>rM1wKaJArHu}9*%gt2a6** z2IykIA_xieFZ-r91)FOHR0Y0GqmQ~}w8TU>4GcGrs)PMYsy}_T_cm6`qT87lp!vF(jz&c`e<|Wx zQ-5GQIr{!vJd!e5=CM++LA?@=h7EUdxgorC))6rPlWO{uS%#fo30Y@?bVDs`1Zd0& zy{*b$MdVPqL1!Wn7d>o*VlWblJ|^c5j;F($b?2;WVBk8=h& zueHD7cz)Zm5omk1@FOwoIxNV)2~%{6m!g=SYnhoDnh#V!U?2wsy}s$Be7c{zzqVG7 z|9e$gF@;Ku-})QQ73{BO@Q%(Us(nTN;1CEuIE$ek`l_)eSY2WXm#?pHY_*6`y*qC3 zix581b%`+CYT8Xm#~GyxD{& zC3xHgO3xXvTA3Nf_`N>Zt;_ydlOhq(7^g;?+m2vq;2c`iw#-07@p`>MsWXe#JYwG# z4U%jSz5v01VDK z2y}wM#xDSlUAkGOe%pGEUsC-heduqJ{ee5`oL-4kA3|l+#|r<|@%}%1Dd}|E4Rj%l zQ2o3ouYgXhb&^ZqopH|Gk^;Po(sPGoFA2VCzO>Zg2R*q!Al><0g>H#e0cCu$j-QkI z0BNx5vf=ta757(&6vCIsssoe;2*cE7M?5*aKA{kWol$dB;CAlZlpHI{Wjyq> zZD|%(LFs7c4P5uj+1l>2>`N-yJfuI(zD+MCH8BK#F8Z=(zztRKysVNW9ngV_DA~KG z+kOoqFC`x#AO0XZUFAdJc>;IrG!Cn-%hdSxa$2WvAt@_ba3m+)?*bEG(hghs3uR)i zl_kW(zeiDlEnVxqhSAvA>Ymx!Tm19PI5xfE36Fz*f{zSzAhA9nrbbmwUe~@cYm31F zu-k~eq*pjeAZ!(0$uTi81ptEqB5!_7pdiNSlTJmghgw3Y=tBQ6j)6)U9Qzgo)1)=; zI?&uqOKqEk8Rc+7T=&Sbd>HsB-AQ###SpXS3#>d^R*bwj zWaUL`+Msv>lRusgmQE;`Fbm|ACqiNH*2J+lGV}~)zJ6|Qj#CTBm~lxjah{UeibUp)s7pJN`+Pb7wYjl527B zr&q9Eg^2VpHisU?pm%X*u4^2%it^^jd@eu9_R=lCcgWU4B#$waQCH@V&yywK;kmEk_;twHyqu-qum)&ft7AGm*p+9?33OXWP!P)n3w$M?bd`DzDV~*&z@CSC}RD+89>G#WyO4nm+eP2^7 zbKO5FUj-c)pML)K2gEouVW((&8ArFx*E)!o*67Dx>mFuc2|IUTqGP8PAI-<_*i|ZS z({TwlCbcvoy=ZT=x~=G^7HjFy=5}_xqHTL6Z^BZ0IR^WcG!E;f86t-d{IV#Bti?Am z(Dw?sS&7U>J*{cJQvM2Qk&sNaEl#xZZO)YXiJ2n^h~?iP!T00KjEoA4406<^6S7k@ zr-)!9n1wi5%QxwWxYm&;;t?ufO+m5dc8O`o3TX+5`3b0LxCKihw`(ng9LCt>RjYX; zW`p})8P-@4qJU#4oZPVeTv73%l5T=`Q*~nisQ`N$(R7wY^EEr)l%}Y!=>yd)LnJiK z?;4td3@UMY0zia*Lb}zL3!sCd`mPk?jOaJy2jq-fjgkuu$nr(hj}esNeomQ&aXsVn zL&os7_P>ae|I0zxN0_DJ1NVsjRt%l`vZDJ4jCS)}MyG6y8Y6LTxQ`?wYm}7^Ee|Wy zqXZ&X%Wh1-kb-suAQx0X_Q+3{ssXPibzJdj!_5h}cDK2bh3JH+>(P=7D%q}V!tLl- z(j6%2dj)>WO(xe&Jr5z3TlgIdbDzq{>t$vjjqh&(r|Z3Kx&X4OYe14Q-$eeunLdY; zH1KKvYb^Ocir|Lt|1m2(>**aJQDKs|xBF<}_?`Csc3oslLe9VSO8>_OD)LQDk^`d1 zwzL(xE|ia-N(5YACWhtxs@tTOSL{Kvv}Yvn!pA7whX*&FPJV9~9ViCzonSV?3ISjA2v+vgG=Q+p+QTsGo4Yo=lck4j%Q@7YvzLMe=T< z0LbxZK&2LXT2m1Z_pgSA5pkUD_{H4N`0X=^+SJ_D_2YU0pw|hT;~+e-t$j9JjZBME z(VoQeK#~hmbUyMX_J=#M)tEWsq|Xwx2j6$nF$VrN{8|7c2Hvawo_ zQ;3Zuemqwy<{=b9g9`Dp_+YMyWfi1Dp%5cOAoeoQ$#`~jrO)y_!s}MLZ=cHcCca+y zXx1w*hiyu!Km}8fgNGtWDACw-oBnHgIw^`Yp$cWX z`j~c2yjD>{t`vDe0G;_shEzyKZ5TKy8Xfxbh2Aq{hi66dgy0V0TczY+k*?D- zmC>QE`YRzbA!oua0blR~U>9NEA$)bYKxn@ZEZn+q!4x_B$$>l4+(Y&i7VXFej|Q(t zaTmq&+(AlFP;|P15xXy|Qd1)c$7vYo3i#b&YP~aJ-599&+sZPV+%0M#XGS>sRUb(~ z(dUvxC-q8JtFx@PSwXKgExG5}G!YyQm^eVv?(O%CL6P5bWw*`kD1^Vcx`&YFpdcQ4 z%`E5{#wG|Ht~)o53+6K6!fHmpDuDIK=(6B)n=0YRJ6JvtY&8MDJUR;pRLVF(i^J+ z0PnvS6k3Q+&o$zYTx%RX+ z7guHVQ)DNZ*J-mU{hk$X{5XRw=bn8@_<3@H#8~tlZhGT9-{C;qw~z~1I3J6AQ5LWI z3k7)*_L!15ycMa2>@TN_WiENozg;!{&=!Mk5>aO5BK@qmvbkATj=E?9T|y1Vad5P{ zvaOkQ7S-BOG(r7SNSBnxY&iOMV?}5UWkJisI`IQl$NnFIRrzE=$3A+1JjJOR84?;0 zgw%6CauCR}0VmMOkYsbx7No@=0EV)Bayy4GI~|>Vi3z~H3;^w~H_wC~VDX7AMqg4{9LbMpzv*ncepz`V*JhFtY1TulHWM^i=6;JLin zTYa-yicY^&hmJA9I{NqPu1MY2GZ1m_fAl!N1ov8kdvwse&v?Ron7nd)gsksgA(iJB zhk?Y%d|lw@;fI;=uhE={HCSdZ!Bg+YvpAC98>*&zM!x3(hEiSlS?TG|-At;#s-v!F zgIC6$J~Gt~(|6I z{7V+RYvTd3vz#Wuv?QVTWcQnixcT>wLa{a0uJoZYD(?Lqh=Q@K8YU0!y5G_MI{4ao z5)g>Jy0m)z$G7||nEdVn*XbVVmxoQjp-&{hM>Sc@Plp>_9ln2|NGx%$6K_A^3SOvo z*^J(cTUhnJ2l2|l>l4OTZ%waaY#vQzkMi=6ZCaa4&j9$@vkI9c53Lj!Sr2A--r(_G}l zM%AWf4l}BCBu3=uV9y~7tJfo;noO=skR24@l{-7U6Sn#|@AQbgkB{yem(Dp5oBtne zZynWUzi<0urBGao6e;c=v`Aarik}M8&hnL8OEP9|SkE8xg^vD` z3V<|Gj*1Un_iNOa-=GHm@mtGdpn7Sux}0nv0v8{RHYzl1Gi30U+?JJ)NfXt8q2 z4!X5nptP|da*KZLry&Czk(vWjg71u2z^2=f1{`*J`~DyGX^Sqd6}{kD)R^$%4U@g4 zfx^Od92onu**rGHx zScXLi;fbs|gak$W=`naQENx%}Ts-6=jW<<-y!CdPg{C_yWTa%6f~_VT%vF$nxr?&(~$Udbi5A;)GFA=eo{2uUkbOPZ<>v zl5U@+fUJN>kLB}~ayKW{%cZ0uXrDsr0&*MvkVOqbad&4mBeG&(bb~Os&)K{oE-SA~ zDmcW#_qE>VuP7Xa?kn1wK?uoMa|GaRQUa+xYFYHn^;4`_ zpmMDX8^lhY`hi2Y~qApmgjVo;^aXX>70=Nq(wxef8Y60d+L@db@bcM zy)PT(s^AE0C!-8FT_w@TUnq+o%<^MA&5NI<)0_AO4(Q@u_8L%DET(Z>9riO_PD*?u z<&z9G)N6FV=<3X}__3dr2Q!T-Z=$%V1nRoG) zH9ne~v`o+OqXxVw!%RQt!>^82bP?xf9WI7P#{xo&#d_O=D+7sC2S zY$9yyXd`rlsvoB%P{Vj^-vq zPb3ks1V#1pv|{pwF9Nw5?bU=L1^#8XZc3imh0LFVuP`02WyCUuJ_+36G+A|iKYX6w zso-UbYGbFysV-j~uV#~-1r2&vLRy9Y0;(;a{ay#_o8|=#*&)=^rug+m{#n-}pJ>xr z!N!s%duy;S$yw#(hy1@#6n?k6PKC<3HZpsiw3;w_6`2xSZa8UG%8${YV-8FUhJ5i= z(3}ekYbWz@L7vTDsISP^b(#6%Xt+q)aY>v~W%EjC4UW-x!7kACs&=R!<3~y33<4Tb zScwew8rgws4s+jtpDaI_?d|R99M&}1J*z{sS0Z1qk)e~~2-bKBfAjkFDAYj}YOuQ`+ zmo}%1bs~?8yK};~6l4@$w&YBVByI^*o4wmEWY35Xsu^`GZ01u3go|SjIH&hZ5X1f! z4v5(bi5SROh)Iaikix-ct%;J|C~5Hz8-qv_Ocukyly4DwIvSSK#fuHnN0}|Tnot97 zTdtkPvhv(165a1noRXFAuDKgGA!_OhI!sqv+?}8LYPT2lQ@dFN7`SJ9{uesHf4mj! z0Jf&)@w6pUVtV}XAYVYYyIan$fQ`Tk^nA@I4RdAWI3Km32eyJnaEKcPl*u`mR0PBr z)A*3sT2K-uvZgR-GXX$G$H(uEEZ6`cdpD8g8tzsmKik@c``h5k#|@M$B*SxHw->u0 zb4tk7nxi5kdi)VMKYp{~Oz_TG)S>?iq=WeX)u8{4uyn}5rMsSgDH8P+f!+W1=34SU zw>OUb-QI}xKQC|mkALt#KM7WZqyEgE{D~$ygavuIPR1Z1!R_6P;QboMH~K2jp}hO@nXSzXcPiq!w+2TDGX#o00Ti12;t)A!`{}hp z85Y(Ec!d;Dv;ZEq@DVxSpdbWQuz_0+_CbBD|#alR=BPK%X7)R08PE(JY zza+zAWR}df(U*Qmcg=byc=(~VarLk@Nuf>lWDNhR-{}CC)U)i@`RKNQ4))HV3E53f zYU_nklS?(v7(n3=c8T9N-t6CN@%uI7?rtptB$ai>{GRSl{H{O%=W_+yQUPujDgjz; z$=D@M!t|5*XX(pn#J(-HBje-LQ3#5Ti5~lnn+yMdVvF-r+I>Fp=sy??3_~_3dO` zqkuc0py=VE>(gVc(@8Jm?;CS^%ea>oVnK!3gOjoCgu~Q%su&v+n(2*WGM$GcUL;;O zV7LC1$e&-X-+gKH8A|t4ywL90W#y*<{RJX2U$6Ndv>bZ15Y+(s?XuDa9jusM-4qO65h=SYqM-dZx#OKQy~x@ z*er3uArSIR5A%60h9kiQZbvI^u_32hRUdu)52z($GtzfD#tH2;>Kl8{N7Owwj#rCj zZ3)`>Y{j!ly_{ooMkE#)P6+QGX5WjYl;F~a2|YRY*!}$NSd^fDynS|STff^2M$={o z*Ir9$^qVsK)#?pTn$%BUO&Ep0q!g>YUH-VD_1~CpM_#09JpmGw&2()q#Y2_gl_=tY zSff~x62b81OI;hv0fFRq{-*H_z^TNrog+>fr0i9v`}xJn)mp5VVeI!9w`Y69MF+2w z+!~tL0MnvhBiL(`E3S&`@ic9Z>XyCg-~@G7pEeie)$z@kliQ-WqU>ALqMUgvT1(bv zTRH*7&(=3+pOwxatmX_pb8mlHbgKQzqPrzAKslhlZ&5CpV@mZf}(XANK4#O5#v z5O02Pt)qCr_cJ*bLw2K>WQ39i0FX}eB#69oHodsZw^$Gf>fTqP+xM|^Ig4Ca8ojne zNfDkeM5<#)F)ouD2^i++lHYd-sBrra1(AF(UoJPI^e@-Tos`t?iIrpW#Yq?9+znjS709e(~|mJ^iTM$ozSxR`o0qqrKB|HnDM_*tn}<1thwPpmsi?2 z6Thwo(k2%#Y=7uAC%BY}A&#WA~{*gEG zO_7NO2e=yzU32G0-7SbW!J5v%y3ElW)+&TF@3-K7T-5{G^yYud-~?2n<( zM1D|#WcI34>RPMc^IMTASkri2A*@vj$tb;SveN9a`YrVrii*fr(@3ASZ%xO057k_= z&7YGj6e$I>+9Q9%y*pHRx*u<}Vw>Jo&Sv8K1t~Xu!jv;TQ+t~8xl=@>Pr9`gSI9r;Me5Y+oNY^#5Ob~meFISB#QBA#T-51MDp_iE_Chv7UTrTA6IJyC8 z@#~tKu&A^EOHGmXup0E%$T4LBkDhU>aN~R+Q9m2=B@vEsRHE>Amr%-XMwXANyv@J= zlmBF&V_K}sDL)~?Y{FUZ(08s^EiN7&*-Ds5*gT9JQb)y&QwG%_A&4x*1DI0A<)0mN zTRS+t+Shs%p1pTyO_e?(_>lBc5hIyQ7%^O6m)i2)$Z&Soto+$agPn?HogImu$P@vC z@-fAHdT}Uc)jcWM8%^r24KW}}ffNqxg(n)Sk{>4HFW>|$5jCzi{`)3$S@R3f6MHX5z zF*XV~3M-#p*oxeU)-5u#xN-4gyRG`D6|ayQ()l;XjD5bn*IV?$k zWE<@&JgapeL#w&u-)C>Qs4IO1v(M}CJ`5{4wsk|St)x3nFg(C~Xs&mB|L}I49(Fv< z0^3>soS`@Mr>B@+tqiAk{`d<;WV)f~JFUXbTMrVm1@f2^`O_1Jj#z76?aSj+s9UnU z@51Pn@k*!ujnxxS^VL{o#|iVT;mjH2;>o*AarOCHnt)R}bfM|)W-ZYvbh2}*>FZz{ zqLT|L8o9HOKLO2I9FgA{5+o#D^W%ez-d`vyPvU<9`6n_hi17syn>>#O)kE_gpT~Zd z@{`4`HR2WOqsV;+-13M zy8npH`t@R1KcxdhmFvM_PaNiU+%bN*Hm5P-`QfyH8yQ!z+O~3hfYlsLc0AoU9wVlt zwW>H`>3m1;Cszc@rZwG|^5UO19Q{Ha!VXUaDs<@`8X=N54^wW4vrEYR6V<&tqVenn z@}nzJiTF*ZpSHUHfi^C#!JaN*?v8)T2HGorKLM;6oA1QI=u97LiIU~}dUm9ZMFPDZ zr^1v3<1^Ojda1HGYtd;i=W}Mi2W^$p(1^rvr#NgiHY5@4?nVqkA+Pv^zOf<0O|!9} z+P2d%`5&j9BkPBP5uBqN_7$|mJ+vE93_g@^p3jF zfbiv5=1}=NT+=TZ3(tlu*l9%r=am#01SrhWlGPQq&{%+S(b|b4PPAEt+hxg{$72>6pEC(WJ>RB}O+$??-ZkI(h*-)#&Ch*3Aq58i8S~5w zJ!e9P{&7xdsb|RupYSFT6URw{sWG`%zo#pfHi#khfC1lF`@g-6b>jZN5Zg@gwHh<5TRgFvf2dl|HsMvFu9NtMs zI@Y$ASC7DtMnLur20iYrj>e2G4PK-6YraC^6etwY*JKc9tlo@k6j}`{9!;{9REy<~ z60wf;D0ceTHA?%qno-WTd;samF-`f+`e@Dzy&dPp+|N9P?cVI}42DZ7VHEHH)El~3 zc=N@;N=9(hw*o283}NE9)T9A)^#eTJ@1_3J3tR(*lctAvxGd8zwxP|`D<9^r-%u1N^iVUAva*5QmwWg$9(Ng<-P>wTYBXQ`ApRv1>S^q z8Gt(0&NTUfQ8ibmH0>)1#?PTWC)pD21ZO^}Z5b37vtF_EVAW((KwQ4kzUT0%K1!U} zra0ytdv9#-N0>LS1$J zWFiEg2eMK`1)q6Wh)bFH>4Kq%?2=EA@=rS^oZ6PbTJ@;5d1cOrWl4`Co2QCxruzT` z2lvP;y9TZ#a-G2F`S!O;y-h4fxyAb)-%|OVIU9GkF&2H>U$Z=%tWL|y&8yS?$JqO& zz?DArM(an4ir$lP!sc%#CB3{Cykf1g)BRl0;M{Q-Zay$%&V$-bd7Y!Xd-H7!UO~ zR|&D+jj{}b`@_?l;|SwOg5rlMYyKXpFjLnm(sOBj8>B-G$C1@=dgr=oAFRO`_kIhm z#n0e9)rUK#;ScMq&yS+uOcb8)l7@aaw@tQ|MaO=}6g8l@MI^d~W`T|lrsJb`Cno+| zDsW@@TPiRXPA$3r<>jbTEf5TB&>+%jfLp4jiAC~Nj_`RIr!Cu|RxT~2MP+2F14Yba za=BF!2s7bO|7YdCjnt#f+n>=EI)1$9KCGT*;I8QV&o}%3)$?GmNx_0NHa+-SVy4^3 z+^M5qzd_KoTn^=aI1&cZ%LzfTN+cKjMlG!uXx?jLOI<4`q4i$E85s`D(3U}F9#u&H znR)!>oFX2MG8<)jEDI~969x!56P#~nxT zCfQqhb}<9i7b4LYP6iVo24vIe-#`B*aahVlJPP`O&to6VMT`IZ87w(EyZ`#JU3_x< zzHd=hRukDML;hOiUpaw)iw*owe=RY73m!R3glz66Va5|!mr_PKH%cttc&sOb8FN`h z-YJ6zP=MC8Q-)R5#PY=7kgV-^#b?yucN z=+Ua|gTz(6d&>3Ya=v1VL7^f0u4=}=VN(un!pZk0kuO9vS7W5q!jxVd_{8)P`WBcC ztsCpVCn7UK^1B!e?n9q(|A|qdWYn3^SU&jBNwk#MEAXyKQe^C1>nD9 zN+UINM7gkaMyFW=p4bf&G?JwT9;<)f_%;!fQ=$%GXLjo3X7wUs#=IiYZzRTr9qSn$ z^AjsyyZa-ib}`p-EDu`;PDczmh{lA^X^^IS=O;<;rtg@Xm!7H}5lb_#5{e22qf=B8 z`o6j}>7^&@u{__7Q+*90C$SuU2JkV(LomI#7Z-Doz6-#aQtiM;B?a7Z}Iy6 znpp*{SF}meknv;~H}A3Q$l(-+A0RH;N=U*Vc{0%tVJKmu8I-1rzNZZ3ql|X#2TSjii@wL^EMrL1tHqav^WsG?L$X zP^F*UJGHtyvwUV#&5luyEqF;r$9nl`QpaXuVPY4kwI2tWyJC99i$; zqQojuT=RjIE!Id5B&nUd0arG76-lJa86{ZJQ;KQ)546uK8EWaIGq2Ym&|rqJbl1{_ z*Ip1_C)NBR7|}U<=QUwzyG8)#sASG$bgjEuNzHzl_~xokb#gn;E#$DC0ud$aR-rr- z!<%cu7xGq8%+VmSTo9j8RABS6+4@LHOP}t|cTjS}JxS2iT}f`k__KTBwz)i<&p|(^ zqlsk1;{ZKR-9y&*WU-}M(m9_DQ~X`a6U9?WqL`eKx|wv()CiwHI?B6=$MJBX@0k0x zVORiB+ePgB3N?Jg*KEB>B|T(mqQ7c3@k*D_YPnNNRPfq-l5z2s8<`yCFRD0xTLf3S ziII9uVCDy%x}}%dz(qi|1`gY9$G=zPV~^WJmM?`ImNphfO(ijat=_BO_f2Ita7pr= z2e@B#yll9Zf7lzSmP&G%OPGcG%4k#^g~C9Ti=G#lDoHqf8|y1kDy`PXx*0PlJm>g4 zgDkn-b5*8a>PXK$wUE9E?|}K3MZ@HGV%&Ww{EN=9y_5Z13YYdKX>(VBcVw@@E9s~y z+28N7kafQG@~W!FdK+Jblw%%~D+ag252d|-lK^jRM!U3=30U!9VUCKV0zZ_ZhLI!7 zap?jV92Kpr)UGT*+K=@^{tIPEiV7s>$w4jG)g)fP{+jrS4O8!zT|cTyj95|lZUn`J z&Z@l+EQw3@{JpI%ag6oKeVi))<6!@-Us5wQBEDkX=Fur<7G0{cZ2#pJnBzCDkb|i@ zj3i9whN|JT(p2+#{qaG^XgN^f*;$N+$k}|Qqa=QN;n(oXie5o_I@k3TIml-=SrDnd zeA;bAv{x{~uH z_8e#c+ZN!@Ah=W`Xot?L*S$=uu#b3I#gcJYq$3MjR@P5UvLzz}=>E=W|cWsuEU+Uy&6gU+dbw9{-f)9-~&X*EDY!`9dw(T%7nlZ3Xv{OUHT`(BT zDU~&Urb$!uZADS9!1W4H-K|)x&NF93Y1B}3CoDMEC_LNR`e#G7)m=iAe4zJ(cn8Mr z)mRG`$@G^*=rV7$$mzWBWkS7PGh=mIsBAEzB!NMLbJVI6AWYnT3$ouw)P{=c8X1My zR2acj8P0LjhCvb%PHK{Wq1@T;J{HwfjsA8@it_c2s*$%E@XR@edEYJFF?ea-^Kkglxop2NpHP0T@(qj2+z7UbbHdTDE1kpk z$dq4}HE!I1(x?o&F!TJ9Lpeb=R!UDR_PT`y&T*`0kd1kib8=yV2VP-@1$2a3E^Ass zdgd7yTuso;`Rr~}B7{l(=>w-6ys%wxPJJxpAea&_Y?9L;DHL6)O)~>fFD`VQzdqC0 zUrdSEY&4aaymhxPwp!~rTFIWVB&H=jTMW-jR}}%A4l{xQ*{)z@HtX~2}%sGM9nOih7v>pk}yWh4oyU0#yXtUC~Jpvz48eNJ9QR526ESF=q;j_;E2+d=_q1k70; zBp5ChoA>YMQJ<&2CED|mVyD6KTWS6tUf!M#X^&U^obDo25Et4obLlvXt){I!bE{ZZ zbaTJc+1ET~nx0aMv@kr_9yJ~uC0~*lRK2~CH}-DoYbR0N3cHL~;qplj_PX8$?V7V} zrO}8hKbEtw8*>T$kZP1HZ;`(8aJR zF9GsLcWcb+B#g=#7R5qYWLuj6{*OZ&TxMkodLh~gdd0bRlJt}F`vBbwO^iUUy7oBH z0rm=`!H_Ce3yIEz>Y!Okzb4&gL@JVMx!H<>=Djo9dbC;P)r8eVoc?f~lO7g&4 zJK)w;r&9fF%;3U|AlVd8NziU%Ilv?Hii2xw8z(wp2~3P=53W73v#Eal60w0<&^$1E zpwZjU8B4Ex>P@d7XvOMo?+4qLxk?pX%!aakLQCcbS zpvlL0lT1-NQaXGHhR#55&}T(WKx@sANRfAtkLFCT@zEa5hlGR~)wABB+S9T^aFqsb zwbhZEYSI^~I|h;Pi|0C(d}DK7+Za8h97b<9q934a-93&hgF*lN1ODL~+IFOU=hO z4s+KM7#G|cl&BlC=i<^D(jvhTZ^a>MMFQnoVNQ)Frw1o6UsG%;u8Z2Jg$}$FnPKX7 z!_!uOO>~tUJVWuW1Op7jwi+!97Ovb zk2|W}dZtp6ixak8ug<}1j>z5XPL7)-@mE8OZ95|CN5)yF$@5lTRM-xQ&YnBr3d>pN zB!owYX7wYIT)55e)>2=-Oo?kI?muu9u@lY-N)!2>p!B|w&e6$(VXc(qgsG>CX-jp3 zYkSeKslifIAvp{RSM;U~@5OLDvR@tp0TiWG@z29h;z*8>=2PzDL7(Id=kN6LT#e1^ zI@BM(a||Z7#thpo7fBaM?4q{X#t2Nr_2~{RSL<&jH&9X98wu~CRP)FuL0+ab21+B< z3HIJQyH|gqnAp)cL8`!19l8XDG#kSBF8a@~?)qnn(rF zUqg!P?Z4cA&0BH1p{aTqM(RKL-9dED>9j(8i|>53rpx~QVa=N-m6_0AcfC5ycScT5 zBwH7kMcFwvi+7SWG+1`zv~6z;Q}D`%=bRV6twCo}LkX%adA3x%wTaNl`QAxw5#5N; z>LFlpwQ+)>lYo#OEfRr_FTBr1EBhvSywF3v26bj&DWRyxK2qq6Rv%_Z$G6r-EQMab z`>f{|r2hiw^dT8ZYL6`hbN<|^RBbuj2T0!P7_rdu4 zs8QfWEO3=q({|X!bJ;X8Ioj@H&fu0Eu<(mzJCMRrA12XCAJ%ONgF$`drMyF^Twm}L z2GE+t^^WN$$j1D#afdzYw|h4`b;qhxR8OpcfC6Np5o3&AzS?w%gS?`d>iZ}>L%%a*Onnh zhvg=Lv)+Jg7M7}s-!9ZHvv18scMrZ^(i9wR0$w#bv{&lhz14th{ca>EmJp39G_~rl z@GXvN0z*4%kD`pGu3P>6D88@+41~N5_2PV)`@5l(rY_aM85*_fTDsf{rr-hBC7R4q zZkAeb##Ki(q_%n$(PDFJ70A3a8%Q49?;!4$pR-#$jQgZa>*8ZXm_E%u@S&M>9!!_8 zj7}w(07OEC$Bs!0h0GGf#X{Kf0@!{9h^~iF^st$SVT$HO@SDYmZep5Ybx{VP=m*KA z$fc&H`bO?mpV{|JuU38tuTf{1*D3GuF74DFN7Q{@gnvYKxe(9t>MZDmQZX;k{;&{0 zw;Jk*e-ge|{9W!6!+~75(k*c1ht$X2yAxPI%`LruF*i!NCUqRk1FPdpcD2WbO|*3D zUO19t$Ijf|IyWzPX~@AT6Kg+!A?7w*i}68Tu+b5T{t-G9dR%%^A~`~xc=DeM&CR!Z zzd;~PpfHb+lDw28Tf>~1PRYlrdX1MlA5l<9M$Cyw&;R9g4Esl&RfN{@0^7UGiLHl3 z1yW5IGRDQiie-*Q4~k1s%p3|3&BtcVQp}0am;UKmsRG~DY}_q9P((oyVNQuF%OL~P zenc=^_4F`{=_Pyv2KuMVOXObc12UZ%6EbpgT<{eyK+#pxC zbI$KLu5do)cj$bZv^~lsr;(mf0?kK7PDk=L-03S1&FUPpGuGE1$y~&J{8-?PBK)uj zcSm`4^rL0bO^!>upZZLR`o}nh3hore-{KaRGcvJ%f^-bmqDCSe!-TEK^nAovzH3d8 z^Vso`XK_}y>R%|n5inci_md2{N+bvO)lCZSoU-uP;43NCVs3}D{ggRBzf}A3Petc{ z`}n;9*uHe3(?F$yTOrXq_D=Pk3=;&|PDb1-A>gluah9Tn(M|mWIsf|>oo88OC0~}sJo8Tq#@M6?(%7aCd!dvYB~2CgZ7mO#+P!4s)RHwWA78lu%Ib-Mo14TG zmSP#=H8W^i8MfTF>B+emLfOR zME4g4EiU9`q0_U(^m|gURP%DSY0DE6v~iVAsn88wIq(JNkPCmdqHyTpVYs&ACnCWi zLRqMihfF8+h~euompZOkDjS#lq&KtJM^0iED#Z!JdnM$?c#iroG?gW;juoimsjpaS zjSHiZTX@cO!JWFz^_V*Er!Q4mRGFRCrwRZe@xgfVE9$s!6<=TrkYNXC;T}iLg@1qi zeb)E_8<@^fnNJ5Fh1K$zmp?9()|vW+M7%N$js~RuOw8q?_VUY4h`Pq%Tz1?l_5yl( zf?{C|j)s0EZqJeP1^Y-LZ*D(S4;zS@bW))+H5JhA20WNU=tMN?fEwI5TI!;iq3!B( z3x&pR%QUeb7=-fc(4-Kc7P3HF>tldoSWz+(`JuwfFMUEncVCQxanabHGB~h$yeHTG zK!>+@G=O&_58g==K7~iV8E)oU;rb&*^}B$W@)^84Gb2yLaYOB3<%#CWS5kkm^hF>1 zWjjrR04*2fX{S`3ME7_;P45-V!9LW(-$#8w3FIo7@*+Pq*wrQOnR&L|eg_ zHcYgMk!-WJP4Z`RyLV71qq5$>0!s8jl-eY2IzS?T_f&$#@S+0|_z()afSXN7e72Qn z_q+mTRM2}7vGdLb3ESwWLozT7f3$xhbNbwVzHHpxpz`jpVvqoEj;PYYc+abTEVGsr z=vx3HP_S~iOYbXo(5ZZH$}bZBPii9gc=zxUYKX=DGXNdAqLf!#UJpmNsS*0Cr2bOsP**bkYi(=%LnWGoFS2C}WdSQw$1ynh%7^xJY=2ssJ{Cgr9^T;5ep^I6A3R4GHfv zics9JsF;?UW{bSzsqj}n=2XKAWoNQsUl9L_1M(T*$u0I;AT>FmhbCjY%6AM7dx)=pVLK6LX~AR@}6q zv+z0_+oa~B2}$?dtbvF@Ln>cN_@;tALReAR(WLj&c}_a~)u*K$V5d{CucA&|C;UoN7@Ki*T={B15eb~dW<`6B9%}_n z6KSm6GuD@75~na^oZi}vVdvDVSw7*CXt0~)PJB3L-3o)tc;Z<1g|}KJ^ln_7f2s4h z|NbpMO?0)74$=b%i>fxTa%`}{3wm8{qF6|bHKrDY5=ynDwfliB-syLk9d1$E--)9ZnYFMF0OnmEF}E`!U1lP9q8f3 z(r$Ny*CUjQdM!aAEX2wB&hwiQ{ES#Z1#!7%nCwhQB+z2U7-|y(*voUK#$x2^NW_`N zE$oIE%>vD#dvRG+HZ?rM81eTw%CB+d*NL*!cNk32!D({-vPLg=29a1iy(gtoJ`TUU z{Nm-4J371TmkGBDG3ddbV5>bdjuP{QiXp{ zwKWO!xcRVK%^E6{{xM!Vikf+Du2p&Tw*$vxgYBK<_s`0Vf0S12=~+fPRrGP@>Xjog zpXmcugb@xc!rVb|U70uN4k0Td5;KK`4LaTUSsCM0!&nOun*A#jTt8W!Q@tz{O<{^k zQ(Re4T^1XJ4`_}uD+;nyi@0%%e-Ce5OF92ZlX>GfJ`*6l*74Mz4)%LMT0zLZO!&}? z6?gBH4;m?V>vLHyq`_n{6vRiF{W2`5eNGvN+mOY^s?69FP>!~Kx;VuiK;MZ#pySx) zm>Ovp&(<;ZFNt4c5I%B=XY?w#>7El#Sf+(5#$x-~QM|Yd$Iz(Tovw73dAX9p41BOw z>t!CyeST{q3wlM>OFF|>&beANx)P8$^=;)n&B$sOYS^D!)KZ;hrE=yN_JTo`QLgul z&r=71aYlVgDLws-Db)Ha5$t9Wnmp4OpO{|!?msh_g3wBjzX0h3Wd?zV^|2$1PDy{H z&zCT9PfV+s^yN$wAdgSQ3;e#kLN6X-nxVRhlbB71$0w+k$lbk%8c?@@hhbQ&94sun zbu_EBjPO9?u3MTwxToD`4wF!AHX9c0*LW7g)>_k|uB(EB(7hNw(6)T)( zeB+#ER=BtHO(}c0-`nMQQhnriR+>Fjn9!~29-X!Rvx$x;=2bvvvLgqlPt0gaqJ8GM z*(@0x7+2@Xc}I!noS1+b`5LJAJpQq53TYr-^n*~oQZj?1wt;)8P7L2*cC4JxJRqv znEjSlWr@`;zf=73x0kP4VCnb_zG0;oF!WYxnY(J0@hAIHQoya3kej%HSoR|2B6Ql8 zIGZ`mIBdAX;>7@?QAXzl#b^=qnCp#4b16zzVpTPV#TRAYOrmxZN!YHHNu{u z=K}y3RrS>KddC-<ZmWStQ$); zN^4^GN1D{lZ&6L$J1ILbrkT-)8)-nAX8{Z(Pn6KNA{-YWxg@$^9>Zo4BL#Afp~#QT z*iP+776LLo8Lo&cZ&{8`$k~58w%E)vB*F3!{#B=+)?4^J_fxLYKp!ZSkyXSn@%tFw zM`Df>cdBwDuP=;kT3FW_M@Gk%Ieb+uieXJKH1ZRUH5eDZ6lAM^@<%M0OA9O2KT0T;sl=)V^S3 zLOqkg#JbW)UE1Ip)Q5=M#m-MTZ(ik15>OsF(jQ9T;7A<<4+DsB zBPeNkyAsUH?bgJaS~)ojwh>$6e7Wr$J2nlQi9gi0-gNQU4)7>9u5>K)UeN+jOn2f! zfF2t|v%(1(7cN-MZSgP51cuN)2_Z{Nws#;AL*1-0^fWe=Q{^MKPaXVhLpj~zssj_m zGJ*mU!gi`XfVm7=#oQFxC^0xLQ;gz-BG-E+VA-go{(73?@c#j9FfJ#HlON;kwS-m2 zWGyy7wkS0O^;{mOx}H9IueNuHNznlr zyk@w1e_9RDw(nvlB6DO6f{{bqXU?RBGE5zxNTG;1_6|vvX2L)w*?EqTY5$Xn<{g!i zhV#02hKI``8o;)QKuD1q9V{+Jm{-%Ainhnb9rmelyro4iU}Tuh4TGc=_~2*NRkzM7)1y}W}i#!8ifU5 z-`DBZ{~CNYA^@_K%JeoUn~d}h883aA)z45^3E7i-mNhcpl5n8w-b904$Td{f;uLd_ zDgA62N7Jn^{6zuTj*vJpS}E69j2CyP6{jJfxL#vDO>C1A#AC(-Ms83hjDIk@1?0H2 zuoeF9StreL9zp?0Pmx<1hubnYywNufYt*&0r{PjSjh~u@ezK&8CdG9HU}M@)>g$!G zA?sU_KuA5BFuE%Y+92AT-+W;a`--MP4ARm_R{F$0xC6(qaKH(Y(S|I;hBaB4mc(=M zB~N@C_AEPs>>FOd^sAS%i6nv#UJHp~-$b?BWt}Is$u7f_8&Y`Qzf7CPMczJ|fspXU z3%o>YukKD;4dqIj@mj^>Sn zhD0a0GYm{PEoBDyjdB06g06&UJfw;aac$f2ifCSRo;uwBh4Nu?&8u;Rz)aejGY2L}n@so>I z$H{Solg=0qkL4Gjm9~CszC{X0YNEP4ji@Cw^FHC7R682a8Ql8>(fUxu^CaD*)o?H~ z1IKW)T?|{V#poIQJE_is$-B6aigdSo!CW1nYV-o41$)LmCEY0xqk_DQOC;SIR-pV5sHsg@3 z(~G7X+T*reQH%^lrFPkrbhniztCc3F*y6lHR@@7}pFdh`PsOQ{dFo{!2h{s997teS zG~=0Ysufm0pqsg$3D7}$R*I}alE;Qmj3ZSMk!W4?l~=^ioO>BAQ_Dxv@xVt(w&ud( zkn$^;Q#@emC9-7~G6RpTm7u2%8Caop=nuYLNiqHEp3>iBMZVCwYkNnrs5d7moSy_M zJB6Vf{&c0IJrjA7WYXK)+Y*R-k<~#JAmQDnI=UAIA5O&~KB#=_^xUHXm=&2mRk!f# zn5O07#E>ALq7^Rd3up4pTu_=f_UW)g_Cp-YjpNMpEB#ZFy(xEB|n)k)0iGnh(c7s8}v zOvm}se@U^oIGq3WgAi8J>Nu6th$>_UUjuj8jVws5Czo0(o5aS zIs3AHPD@~(z9Dy51#i`0>HG)+I(vfOb%UgM1ymr}Gr(v1O2B7In9kttI1%v~n`6E^r4%JrLY zE-l<>+ww32R5Ldb=a6NFEj5GDuz0>&BB(dob8dFkttjRILs#xuj-{AoN3%W*jPr5a zsDC1ED1#J(qyG(Yb4LF8IyKmNU}(Dj=Q4a?=#3u*r4X9p?sl#wq+BgTnjw!L^T19y z9aiqD16|F`Ln%OA(%m$)7h&`ru1xX9NcdQ}t)hzH7F5TPQ}JXnp#H7iC&@U>B=donWwkIIdzOD!x1i< zyg{*!CpLx!jaXD}oKB8mrg9(Y2%jqmMj?jX$PYC z=>(!gAFsp|A`4NJ1{1rd?M4)s5`SFj*IvOX@!$Uj46 zg)ypY6M0;Kl943oEXsGx0Ul8-$g(^TUmQkSY2=8~EUugELL~`_cJl^Nh$;zXU1%Y!S+g>qL)hFY{~xBZ&5jOaQR&l3{LJio`kZ zZ^cj+WVIo2&Xr96eoX%R+WcRCpp5^20c`cNtPv)NPcG4bRgmCk?VGPf=yExik{@&& z^u8@NK3Bgb9_q1O8&_^zYxykPkdpcN;PJ)nJ+bD$CuG?MnOx+N3#Y%~C)DwA84!6; zA0{Tx2J!+bEq%g-&$O*)9ehL zxi8#b`|UgP50-S&6)SbtDC5rKc(T3~;A_X=BuG2W^AoRjuEewwS6w1}a~l9)7)VSO za3*~f^2~Ftx?%B?&e*~ts%Kh}13Z2v)!W|N^P}l|OZ=C#P2~(_yoIrGvtr^d^9USH zRN&CGkjE@EoZ}EJ2(_LQp&%uemP_}8~yJPE-5Rlb=`KhlG z-cYX2tUa~FN**;e{|4Qk3tKvMYf6re3XHx}ce)LwEooIR^7;=)Dk#aFTWav5Ck-7n zuMwXmu$C`sPAr$9QcQ%%rlJ4ueC(f7vj6&#oy;y%zo^v+U$262*smF9SVUBg8XZys z6B{ze;8y^p)Jjar63>t|6YCE3|L<(hI?OU@Z^5JqO+H`h#w8}6Mqf*YtJ~}fT)iPd zc2DsCV~fTu*A{$;8lJiAB-gWpH_lYr(PaFEa{uyL)U7sFt>y$=d%?wY-%!D0)?69y zC`c*#r>1RBWJn{2?G#Q53D(@SMad;Ew)W3i?F#?2!NAjDlZ#y0Dw`DQG6HRN87Rvq z@QG1Hx}UI2XH`u>XpS4I6C)19%-O{-;rc9PNs;uV?EwRZYaT824e8Z}BHs74B=*zj zM>|w%KO@MaXdQyAC#SEKvQeFwgXZHkv`wb1^L zyF*CiGt8g&scv8|!#<3HevmBE7SE7o62^+FZE zGMnF8$$lMW=j1Js?`(4W#H;z@Bz5~=`$=zp`jhAHiQ(G;iSx*t0h;sTGl5bTI2B77T8?7#Z>?qe zmbmi_95Pp~dFL$c2k9E02wV$Ayl^3mDc3>{FSKbAWDgbS#i?)rsQCBGckDMY4JeIW zWuv%X09i6UVF{FwJCaBLz7;XwO`q~}?`}1u>Sn{Hgtl96F$wxG`?l9@!wApdln_o1 zbqQ*wonFP!Bryvj`3)BQXi@T$Q27#I+RK5oUM~!1fjy6*1!l7wz-*R3({mv3((uD! z{zE03m+H>C26hx9(L?fn!>qK1V&Gl}?i+VTii9j{4!`djUQR(2wl!|rw3Z2wyr;YD zR^S22oo_tGdVWIKCwe*91rH7M;~gy=v4J$7^<*2GIUI=CruZI`u?zd9n-w~@=3<6o z5$`~{!rl^~?E18P0EHwj$!3NGB6d{T*`jzaH)jKIrbta2r`O%tF$*+sA`_z}T{EjF zV}Icun!Li(S_R*b-7kx~Atwd#00gOfGgi~$e}eg0hUoL`T=hH}KDA$T&3tmG^Zq@} z%2sG4Sn_Wm;d_u%`_^@L(iFI<*1eZnZA+PUi*=otlA5=$jf&;XA6av<8bYnBUYe8$@K2;hsU|8s=H>%z3;~!D z80lP}Q;2_q`?ZLdy$&tmyH(BKIgn9E5E4X10m4xrlf1dOMn<@VN6ufPIGF)14lWQE zh`0+R+{MMUK!Lg&EPFdb|NHBPx?8}nJ@;DrhjVqJ%4@3nBCXmqf- zXdN`JV{)VCLlfh~(1-hwccLB{ROTlVN`IaD3KF+A-1LV9@MG*VpV^0TCE~Hjx@H$<;SyYb#CTGS*-w z%@~bbmMx&b3Xf{Jjim*wIc$MC9CGLC1#YNWpBk|I!&sw{>GvlaxDBR69-DP*L5~Px z$kSJE^Gyc=qr_rmp31+cBIcqso<{dtlF5IXIDR?~8si$%VeRt~rtcw0-paO$bwwg| zt+I8adU{rKxiRg?jT&L>)uNk|XfqVbv9iFdqMR>Nf}h43>vsr|PEK~3!`8ru44F2} z({hs1@r7ffqckv%VCfbRmHEI|Q}~J1L%94**~_X#^<*4&CME>bWYWRw=*F^1NrZ;@ z6Q$`%Z~6KoWMvYkn6^>JcX8v;@0%07Nh3sNtP|7mBUv|h>>HXFqmJ+?wo$s&#l$++ z4cyM})h>3RH!V$ux)+BuE(g#e6Hj&j>B|3~o)DV<{APk0%g@K}DsGQm3yMMQ{X%?2 zUtvnxJj1_OxW4&oL!W2s6}?MY#^M((1b2-87V3DZiIbO;R}3Rb{+q1n67LQKTAKV( z&SsE{cxac@ZE&peoWir$+4u=i9v0u)l#Q7KW!+Ut>0Q#(|Vb$t$PB`0nFaUfPWClpND=FJt1n zaD#T@@POGzAsi}ZH8NvMdN{%;2h)#|`sg9&)|vYI6?fYLodcaVf-=}YG&$(tlRMw! zUUa&-S;!F-dT3YURI5wT^xqLb7%o@#sqI6WbE!yeIE;OfwBYBEjLZFzg^(I? z6}Pk4R(eWhpPP4gY2u$g6II~^?gPmK7%rGI{kt{ybyMC4_U*Pu>^0gOAMeBVPOgdX z9UijtRJH#2MTbrt?z3$#s}uip_eUHztktouPT{}-8M;xVm@@aWPvnH0&ktbT(j3J1 zM+iK)ZF0B2|8U^HwF~vF8W=-Sl&1v4k?D%Q_s2dg2Zto!G;&!!v5Yz}3FBI5?nrG1 zIsZsGjM$1Va{6JpP%oQ|S1Yo;;!A#=rdUohN~SX7FrP*fxC=4uWn^-qW*t-2BV}~M zVwFsGCE@MyEuSkN49ywc$ds3Peq^Ij2_Bg)HGGksL%$|+J+PW!L30*-v1+CBR_(5k zS>$325njAn-_~yFhAXR5r4gN7DjR#};H@YpVpi)e+tr0ar(Yoqz+@)Ph0CtOY- z5EC~BMjbEr9Hj?y;XsRVb28&ZmKxG{Ki77fxOg}Lp=*a!xSr4w4;uLmR9p#~CDv;; zyWsStzC(2_mwlRlUvEuAbJSQ*w57CxwdId^C~eiyumx=N9-%Qr*Q<b;wI03t2 zd|&Hvtw^ob3Z~)X3z~(U%^p(fomN@Fm=FsPGUrKMkjWIWN zTSLVL-wf~Inzgj+cg&6e?1Y1Y1#r?clQLR#DUlRK0BJZ?-O4TAM9vM^+ds{Q#=Ea& zNfKr2{&}bWF9&fnR?p8vN#r);fvL?i03`)PPyL1$`^$~6_W(J%af>j3FbUK#DL59J zhmf@(hR?2FEJvK84^p*K(E?Cj3hbPCBR%z!I&ado)Es0rm=w}?%2(qic5AevVRsf& z{bJtA)oJr8oET2b$_;#4jx5#>8N}{|_C zEN+1LmGi#f5y1RIHpae; zg98B$Q8a^D3QuAkj7>)gR*4TQ^02a@ORuBX-U!J)v`ggkO%aQ_jg&`u7-_C@?P@w$ z4ys5C6bnEK+nR)IwvK$1n!JB#ig-Sg4?8Ls$wF2zO=*$miRMnG$=_5qw5wMTFJrF5 zJFQ1IFx67n9vJlynTsn_iZ6KP7c2w~+xo$y$NiK782I@TN7NL_$65Dq1a$*-BXYJV z?>~C|QW6yU)K3HSh&X8LElMnJS=@2G6HJXRmZ+;;vbLgQwW0-booL?g$UtdzIbtYD zz*v$y91o{xBYU{GUI8e-e_*)(_hW{J3hY91)M8Xrt}Y@OkEjvDQjAj4rebT;h$s_! zrF3{A!9XYtTt36{l}Ms#zeGV3yN(HvuZg8DCbJ}wsHHBZr9QVaKIq_h_%`MSZ3Ou3 z*S`*E*K9Jas%5#RKE*a}GkjU0Z)&s)Gc`_`CSsaEkBJ!S%u0(`YXlsCyR-#gV9vrYOzFJH?w{9{Q`d zbQ)c-P3|Ldr5w(Y56P8oFC-aw#|N07k#9zX*yr8<`J-)Vnf00*9EG%)N!UL;OKJYr zlTae9c_lILFllzsGBo~39)htdrRi^03E2fgl&`5X`-j|ucejjK%!iVjdmL{J&LSe~ zdrviltdzf5H#vC)p!dMc9*=f43A@lbru-?X2EZJW3Cq<+KxkDwI5S&WQdQa%=oJ*` zgQ#!`p@`7rS>K}dC$*>7rtZ2_EPMqlUKMr}$fC!8PQ>*i%|31Crn8DbsJlfMkGy4e zc*6Ua(W<;5oB=Y-OHY9QgD;`#l0r_y>|>*?+hzGrd%E0e8}+L0XUQzF+j_>)$|%=tTTv&cP7LlwaR;kk!waqg!rQ?>)(^RvjDJ`+LSTkQyCS z4mJ5F$2FaCP?6NkbKQ!>s{2P_y;8pCcv9Mhihv+a7JtwG#*_HL3PBh$@(V4nsN@H zi~Icw-C;$smj(P=?9D+=kf0aW=4+g7b4<$1CgA)-EUC`yE}oy#Xvuc260SG2%_Yp5`7evl#lI*Y*XSiA+l7f+rM<$4 zpGI^5MGEv3FsmZYR zX%wLluJs#zgDB|hq9oZ{7BZtiT;-@ZvpqO#@br%DR$SfhhqO+;*o98x<9au9dIzAb z9AL`qG#wiW!D(b{)m$qjIJi0N&ii))#o|jz3jjpsb`a^M;1Na*1yTzl3!#eom$_aQ zi52Bivvwyfq1?@a70GF|esvs+grYzg6esQ$0!RoowKBQ>(<+xr>=BUF_w@p&Wv;e& zyL(irz%!PMay7TAuKswuoqdbafjPW-jo4<#;pi1U+o^3eOJEfp21UCgP(1POD3?U5 zVkWtDv}))DR3| zU$C>1?;1PTC2x!EB}6{|w{7#E`{)03ke*(czY|C#fgH`_A%Pz-V5v2UJXuIv&>Mj) zn#;1`-X^RZ?mqa3>E@2nR>g}FH6_gXg-rRc7xKSc*Z=bC#V3I|x`v*Wv7y{#WI>@U zKI)>H(>`(u^cTRaw`w^675SKMmz8Ui*^(OL%jk~np`p&t*vlfB_;!nlM}w~4)krGI zEM29^+h{2`;>~0&&6leb)xLM)V<^bXgvOZQ9%{&Yr*JVDCb`lYflfI61~)msTcR$q zNS;fUoWB?&OD|v-Z&oO!F{0ZG50NR;=1SgO#wcs^Z>u6Mb3Yt}j0(_NmV=d&(r2sa z3>Ze@O&l9#J|baT#JV3U7I2#zNN%P96lzyW{M&w*bDo$9K5}{^u}!)v-O*-4fwOTOr&u5pl2Wi*(^%qrNc2f;BSYIaogAs#Ex?6RGdV228Xkp^{w1OC~I*BOBHl zEVZ*(ty=UmqOzkB<$=16geN}C^+J3YFDREXMi+sWcNSxfbG?P-qC&QLf-Ys3f*J}grzwufQGESbE?-x#5qgE3Gje8?X(bDr zz9&TGL-|H|M06K-2{K)0;nZSgnnl@(qOgDBGgr{l_?7dVhUYUkx6J2YKDl1F_C4jz zS`e@0Vr2h=72XN3wdkMEsO-C5f8~6ZYiX=rRqYQn&@ShIP)Qh3@Fn^DpiOK zKF@>1u%wn1AC#$kdbNGK=k2<{)g2y>xmKJcVFUd0t4>qfb=--YwLE;uzI11zalXcg z>e4ph*W2RJdijg3d(c3NA3p~S+rPQYtA>(`nE^SEO+U@o@20eVrQc{vp6$7(@?d4Z zy(cjy|N2 zof1=FmT$~lFuH%+Nqdd#T@NGZZa(vp0?&4H%D9zlkEdYYqO(gxS8Od1)_UpK`EQ^n zCS(hzi#HCho@tM$)hk$AX=)`)aQ@lZH$RYP!R}KvA61QxOjn8rW)v&7ZMqHFUwM0Y z0bl#x5JIcNVugP9wV}fpp~SJRirM%U*5fN5l`<(7 zb66k2y|^oHC8AJ|U3>^xxC54vPJ&&$Mv_aYy~B;&wZbmhmo*pGXHq*cxMkwA5Tc>d z+OFxZd%|@vcu#?sq|a3P<5VlH!L@jn#grn4t8n+{a6UKgEc2|M$?@ykT%WP~pL$Eg zKdRYV#4xHMpcw0=rD3HkE5eMe4{FBNSt$$1ieZ<|QhGUK)mzZGSn$Xn1S0FSxJhbZ z!g!O^gaJhHhqvX=(a*mh7)$v@GP@%lY+Nr6R5=|!q*VD?@{Lku^EyD376`d3vR-wx z2M)mcF^P8XXv2`=Sp`cmE%@w2VXgQT3`NJf=QnF^_s@!#$T(sk0cOILYiny&`VD`6 zPk;FUS`CA+eK2yETF;0_{d#CunmMF+XY>TC&Fe!W+!;fj@T@OY2Y#a@wOY_4N)OnN zN$7B-!dR17SkCb}>2j$+M#bOpI*+u2UhX^Zu(HKmVpj+R(=VerLIbh~mwuM8Ic_=H zA2$+*dP!2*R%@WgI)7NZ!b?<=2wbmHzWDD5Cs_(zEjAB;H@{pEw5m+BoAVV^{(Oyl z#^Pbx!i!Bmg$!bw4n=#J#V)gNZ8*fajN|Y|y z1jjVe+yMLf6HTMft^}Blx<8%E@M-KVx=h6_#e1|Sv-3kZPM87!Up~QTFNN=L=cM3n z3kpQG&6YC;W+9esL+tc6=B%zR4PMC0APj-14I!-5v{7-MX>zmWmm((mDGZ*A7J7aF zu0)M8pV}FOd_wj(Zl*FZ)%*Ex== z4Q#_wd4HrWHp7WV4fR9X9+gO>qnug~Ww@r$KT=y;k6#+? zyLSDg|7A7Wb+Yu z+ug7f3UcQ+8ST!g05Ds^8P$tASKsjh>buPlhZ(L;gtrG3_7h?8oguQ;2(Q>SK0;8g z*8Z?F-y=*I@oTb?@nCIfnX7xBnu?{uQcC_#I#L1hpa9+A$89FFGJrl!tgP^(_$mJ~>*iD_6Uv|BQ?O9N z*Q{V=h zae9{076wF`{wy|V4Q5~F9$s5py2tepn3lay9Q9C-IP8OV{i8iBZ9QgE6$oi* zpZAyLtnY`;dUc)jSr>clPgV-rz3o?YWhfdU9r}rkijB%%!^ji;kt)vxXo27v#JVHY znt8{W7t6G7t)8d5Us@hbAxBSk^}OhjH5$x+v-FKqPJm~}{pG)sNnpUc)UhI%IZiqGh7E39g(&=!R);w!gL`DWs7x$S-&U=@Vn9UkWPvXdsgg_sXEDJ)oh zEI!UekJOo(YidzvoexdO1s>nnJmUX~#vimD81V2!#2EB(^6Lomi6lh#b~PJ9dMO*q zM>H$70%>%l2xgQ0SjFeY4710`${F!ckD^%J1cF_{@ufn#GLo0~!g+G5rl3!wC@%k9 zWTkyBvO=t%i>%l%tPGexL{^7RPOnRsE@e6j%rDFqR!XEKv-lBet5SAPr`a=&ogX<3 z%G{1-Jf%X(uvLej@`qb{{tYBLtx)c_C*XS^ziVoBvyF?eiEtCH%Nvw>r=XawOXxb# zUF}jhKt_Qmv>4Rb#QNF9`&qtg+6PNb1DZC#7j6@$X0L~2$B7>?egyn>wmqo4-FV)1%%vKy>l8ISHK`^QbII9yo&}r(!i<( zn51zv?rFTWv+MDuK?U#5U`E|{qGE%q6!&eOi=(pKoo`>ec5UP_@qbWo{l~vC8V3Yiv1563R_33(Px#Z6()n z1r`i!EC0!y>bHMp*B7HhWRYeuY8pELfmLVOJ-ttNJQ$qU#anreq{|a zdwMd0^k-a2Zk`p2EnXq-=B+XO@f+ivS26exx+~nQT1O2jmhiRRPYr=WTlR5C72znK z;hn%Fh6kPUf|TU=+5<6@X$T*X-U7%X|9|~_Em+~ck(*^SJqxQ2;smyQWfA>>!%|-D zeM@jMnu+%FtrFqD%;RuQblfoOu}if@)vI@wxk4MVc5CfkmaY(f#ThF?rn!}uU)?KH zg3ZoE4)Ug2YpdVT!%-y3krJb-@J`)xTxzLOYYAm?#Kfh%SP?$WjWEu5X0EFZ<$VG} zw5d^RFS)7f@EL|hDMh3$pRH$J;&VOTKl6@9q^I-cq4_CZeF5W~#ZBhW(@u%`=zuu^ zXB??c__l1`sMX+7ebME)peKxnBhw?=e6t8xMnA;4e+m?w5yTS%j?41LlQdiAx*I{oqdLkrasC>kDN?b`#M2aQxb zdn8s3b8xI85RkV<#QGh?6FCEj0QLBAFGw0XT9{8yRC7TwyPg zg2n!vRr37>GmPPCAl)pEiFfgloFQ9(a*KG2fuVg=ao<9g&L%EUPPeQ~fg$UqS+)Oe z(s)YYFLitMTo!`1sh+5+5zlT~pCeF}GGO&tNovQbpVD43`+$d`yF;XglEur3LTs7amEU6mO(_k%zIsoys(dA zgZzu-gpwM`P@hvHN#75`=V6fA4qpQ=hdi+FT`G(#4Qi6w`10<1j9YG7-WfChz4#vL zGir%9Psi!KCHmip65jRJf+?0fGjqD9N8jBD$&Nem5W)i@rt0WDwl9x6qJL`roMi85 zy+KQXKe_kxGzI5>pH;6QWp?v&K>CH|WiZ&x@{h3y1BCHI14#oxTcTS` zPM2f>OZ7KUaJ%(S>$!r~I#dEZg;jk25a4y;>bT zkqybrOBQ5~|7^>Mzlq~h-Cu!{O0UI4H!ugunfb)pAN&aX`(AQrJm05kD=+7+M zqSaLqIHu%jSy8RKpKGx?8k=zkx`4UO=zGy9YWoZaM_mw6JyCxK$??Bog~n zxd;sa{e`8^6S=Z;qYDj5X-v}#VM5mmw)In@F@ur%xebB8ZiTYCGXI$PCU>Ffbm{%U$=ZuSxJ@23csg_92XkO5lmINM%5y_E92R-D0gpdxQ&^OTUXLr__~C%a$k#> zoFDi_?aY1IbFa4I8I{iD-#vK}@vgk0B_&hGw znyILG0d%%iEi6ESFCZY$M-V&k^N~0IcagA|K81-KREBnO2?FE3za+xqm+Y7nQ(#LS zrB0Ui5^F{sxq;84km+fBHO?E?7%Ezrw5_SJW%x6U1XQo_I{$Hg`6A1QK@G@&286aV zgou;8T?>W!Znwo^QxOPLz7ftH@4;821evYW>&Foph%=bo5uPc8SnzEGezF3H#Mzpw zfbmQgQ-Uwby@1p1t*DmLkcZeck7T*mB?o@4&k?Oc!5m5{D@$>~lSjbG}6_$Q@Fdx>&scJ*jm5GdH{ zOC&L3S(H9gO%h4hgqZS&Y?5YkAaDu=CEv0;b&c$1JxUgjOd{AjIR-6i^dD*9E*Fa_ zZFe`9vs0*)8r;OO50Hi7d-F?BUD^nYz|)NPSjvO6hxwAdP)*bPG|0mYGZ-W~qwAUB zRI%Ag6**t)cwjz!{Y0Guv8_rxwv&bybBxMq@dd>RiFQc~zpd8c&?6Gorqkk}2FT6g zu~C3m3J`;UuKpOASXcY!F5}-15*hx|hJLwS(fk%> z2CgEK9QVlkUOc*UT!6Np)ix1pjb7{*C$U=e3B`@e_g)u1*(fJdMmE_4a*oQzwikhv zcSl;{}|&|epO44sYcR(mo9u)=$+R@i;O2dJ1y@!hgdufITab9 zq77Xyt=nz>wjILwF7_+YUgW{0945~|35Nr+PC({!qu=E9u}^ee_wrbGTWVrvoE8@s ze#HI1OWyu3dQb6io%#)<_x&__EX(RF_;{*XN(!ZIVHdY|TXJ2~<^c6)a*$0DrW6iP ze_&>ZU1p5o&(fYX89k6Rg44XvQqlI@n2sB`;?7$GkC^Q1XG@{(v)HP3cf?)f`I4A} z8jM$k(p?73tsIM`I#Xc|M!xxP2Zyial(>~~-fR@_dsiRWEoJd?rp2hikjo_Kn;gy} zI$o#xez_w4tYi77$HGLCPyUDWJ=c``t7lDZBV~6&%Cq+MV@5A$j;$S|tww(?aEzYF zzvtT#2JG0q9J_rANe2To*G(OOus|s3Qj&< z?OR62l0mLLJ$)dX{axpEMTqhqYi62tuEx#yh_*~0s_Bup0RLG&gjL(>7=HgY`e#ze zqOP3_xxdK#p$V-TJ{grw8-di+f?54>_HW+Zq|176O5Y8C)@$k{M8i$f+AsK@O}nJLxVJ3kE_m|&&E8k%z@WN0ZrE8g;&#$K{! zxMgaj2#oOP$mwHkcDeu)t6DI ztK|@Uc`|v(l}(=C*}Vrq~3-hNf$<9c{I1A6;yS#xa{{ zt_5JicoMa*7Rv~Z^LUv6Ya^JA$tjCY&L!&tM^L;qoFla)YvAL5HhuidbnuT~FOpy( z`IcV#8!u;^Jh~P{mxw^Yo2=fq*pD?JU2Y`SQI^F7v};C*f~W&^IB93! z*y$#hFZ$DSI&r6N+fuAQxu%GLu?5W(9zkXul)uUgrY%Gl(@NxWqfMQ%SU(%{*jlVR zawo6XAXuMD#={&_i-KZ2o^fPM0Nb~}s@VCjmF}_mTwQ(FkLJ@2iB~-Hg4)i|lvHw` zWjWWJ*z5hnZ|QOl5W%^^sKzZ*$88pYCprk*x>t=%&dba>m_mc1r(T2F%} zJT$LcvwgCU8A=blSXWsT#2sbPh(EbB9lw?Nw(yqy0QC(?0ZXXnt^c{4`Kv8$ltQQ; z{gtEV5LpTvqlBR^8q}hiN?ztD^9)W-qJBGVR#z;4p3XIGs-T(Y^X;~Dqaxk8o7%@e zurn_M=jy-6wlap14hXD$&hMnq_Y8BtiFpf4ZJY7c_w2=gJK4fdJ6|0IHx7(M3{P7E zhGIcIQEmNT2McEhu}i)%VS(PEx&^O(lbJ|^?t@@5qP!nv+(Gt^!HZ}wnqez^d*=Pc zx~bSeR(YeIU0;TPqj^bCgD_&$mW@P=JxK?YJsh$gBi147qp*rC3z7TC8zR9(yz@3J zmyhq6+JJ$3LV~vWm}y$CjF~&CDA#@9Lm6ekMc#nHh-33FHsM=Bvq+i`(K>7aX^at! z1F_2mvf{+NTohwVIJEo$eLovUht!>aqKG{>JNu5~Bz~>@qE$Qke8v;YFJtS4IhME3 zBt;L}@L0rF)N4&H1V4VG^eCv-1az^YD3I}{H-j%sfu_njI|~6tCJAc&k2fDr85$uc zGRcWPf{}cX;3LXn#&9>OJJY6THLCN!qD#|osvO=p0MBBU1Ya_{Qhjl8{H!rXLiPn; zBT0cTchuDVY)!-sPCf5yug8Qzrqa`bbpU7|N9_3y z*nga)1K0t>s3-b`5f{YLMA&{^owQCedB0MUSIj-m@`iu?v(Cz}{+ICRrh^0KkkC)9 z2TViX-hIz{S^QM8=cj_HANx@6?l5)7k2=bSXI-n_s|Gu}kKK-3jbf&4?fpa$R979s z1@RvZ*_NnGcBZRk4U$R}?YgI8PhDsbn@mfYMLGRT-RsIj{-9ruGQ#Z?CmRE*B3LVm z1>6D(0-tLtl);}Ot*2QvE^{fQY%A|^e>e=as~)=7{~B@grX5XS*3nA$*7J$t4Xyw^N!I+yd3O&z2$*7*(ASLOoJjSf#imia1K~Ir<;zjt6>cHC8)`P;8 z;H1#7hMx9RP~iS@j%{{|q_p*`1?(g?fFP>vYsF^te&M_n9aa`g1UrYw{bpF34&QJ97|JUYb3^{;~ z+E%g^*7(rBefC{oNXz;eU;}S*(lvKd#J* z|Gyc>i<@O~JP|T3TyVa--UsP9#-JYF;L`jjx%v%A1g8h25{~Rw820U9Wqpo*HcB1T z2OuFk>}v2x3SCMxAaG_o*I|J%0?r&+0zi;WM-QwaqOjm|Mb+zt?ifOY>ds+MeP5>ey$t}d*0tuxZ(%v4PK2M_M0LYlc3P=)K3S`ZHG4=jz;l>#> zcxt4UPl{UWWCDmG`YY=2J`Q4U)8YG814b+cMuPh+cFm-$7M1rIlgRzY8l3q*_i3@W z2Bb&lJZv7+%ZMSU!wo(JzE@DX1+ToBduAvjksk5Ysv`xG6w_)ax2#)<@@Dv`28|z& zSod$U)ikTGcBpb?I2Ga)4uDb9uDsE{D+~#yW6P=p$&3f$c;?jZTZHwhO26x$!-?Bj z*S&(rVJAhAeuH-Rro3l&CUi*!S6Zsb{ddVtP1#ygeRwo(0>iEY=>Xv)xJ>)w+EGVO zhW&8F>e`gvYIdK@F?{4AwLcvOd-hw1;IfchCj7MHvTnCgqetLAcg z${OS;5)8#DqJjcJzzP`ae=A0=Vmk3+tp;_#V_QRu2{Us&kzmVbU|R2rqGq49*>XNW z7>F@CGy-OEyS+JRLVr2*$K8%Q?3`c*4F13G*8X8fGU3Uo=PUng{}LCbHz|pE#b^cq7@Ivq}-A0-9$johEDLSP#UfDFp7l4K$DJC zFB%%O&WF}r!(4pp(5}5!uE8E36TVQ!s(8;EZ8X`%B-{{?x;&=7BCP&_BEN>ERmUuY z=F83a2Hmw-uo8T~C^^P7{A#33S!8Hc;Me#_V`}NsqG(iK8+f*cG>p?ZwU5O)l77D4 ze7-OtRCG=|0-q=RmA$bct6XMBL1o3f*BaRv7;@sf{$6F>IHH7AscaVe=wZk{BIg5& z@6qMP$xBGyN;kpVlWHPf;9hv6sO%zNd{|MQ05^jf2u|`yaz|NtFNFg04E#>6YK`p5 z;cWbko!h>d3U^kQ)}A@Si9hKui?>6>H3QdNCFP28t7cy~v|>-54c=eZK}hLj{_J})>z#E)rqIKpjiF~3nms`^n-^htJ@ z(Q46{u|zq?dr)w;P>@pff%~4 zTq7MYu^k`dc`TkInB(ccT*415-Ow@7vDMv$=ByQ_?+dL$HVug<+iIS~9u@XAj7Wp1 zSl1c^Cq^P{11#>rEgnhXcO1z28%R;p+t?-A224B6clJ)cFve|}Dio@D|+b9yKOJa7ys%BDM;~kwZFaxt~ zpR=9UV=GKQ8+S_?=>E|ruo?#to@)OoHYZJ%v_!Wdkh> zcro})2dSd?43zTrZmCQsVtdQu(hFI%319pMOaTavK9+O6cKddOJY+FT)|oscbiS_I z&?2fO`n64^vF7GD&UOFUZrlsm#e}%_8S!0HNYmmtu9fIU_38ltVR;5XSc)Zp>ESU( zK<(5u#_>Uf{Bxx)RbJqe|70)NS_JaQ&eRT6*dJ&@X+tEQA`|{$DY`f@JmqbdlJ-(m z?sQ9XsAu%#3J-_A0D^lVFkXPqk-7?g`F3virt6J+)D20qflz%V=DewUNuyFCKT38F zv{$yS19!mj<5l&Q?AO&lN|tJ0r?0JT{^M@^Pj~6Ryl>*Qa927yZSWDjXZXc$c{?-` z)@0VV1t5)km%<5RIvGiihl%iaM=<8@fj9?L0^JuaHw~<;7@Px*nFsEBnSNDY^e>zW-Tu{jUem_UxJP z+3S+MQd%PmI9g!V8Z_I$0t1hmc`?pg&EMk9FZZd!Mn3`!64eOYW56IWIw)-RN3uQO z7$sMMrs=aWJ;m8jcv^xby=z8xjm02^E0a*{wH_&GVTEDQ}BiSqJ% zk7~@uk}M~42FH5T=LBCoeydRTLR;z9gS1Ta%RPOX9IDqM9ec_5dGBAw}R>VL7T0JLP{Noa>uT^%(*YVD+24wqJ2P`=ZFt zEU~6**CE`(=C8~amKJ9&ryD08MYmsP<9*9Q=LSuVUpR(DyB<@hXOPMHPG?u zi5mmRqO1{YdTjHLyH5#@@4Zc3B*65HX3j;L3%oPlA9g8A`W@Z-XlKxE#D13)?@@3f z%dkR&vRP$TH^k~O>4u82#tgK5l8a4J($BDPDOIhc4zr9kw4jA*uJr(D3~=gv>UgK8 z{?2B=#V1dLinTrIq>3Q`H?A1d>t}^^7J&xZ#OU35Du#J2;~ce#>2c|imEf`QVoZLY zVTC>7EDYo1q>ep+g>P#m9BBD|-Cr0$arhsG>q&1aFnY)n>F~to>I$(};-XoU(yK36 zRC1bC(n>uhtUDL~p=8hn+uwzZdWGKAZ)*&cUTA$6x|!8yl-(4{d_TMna35jrf4ZM~ zrav+};t-_4h%Al?>#{-+1D#XAW-^D5%{fz0P#&7Rogw;~?R`0S3*4>nVnfJoSgQ=; z;*n=mQ#-F{Z-R478+@Es(1Sac1WP6ofB(tk{{9~9uIuM3m!S+k47g8sQ6mgh=`Bn$ zoo_tTTffU5DWZSWJyg_O<4?*$pmjG$!0jTrgU$^>3-u#<|gOzBJ{bh=8p~quI_*%nFV-vMMXYa27QHqC7a|F z_BbTo9n z2wwo9V377Z;}Qu;`B8{u`YJ*9*Aa3Kz?a->>yYV!FPS1_ME06X(C%IC1}=#v^k~%( z4l&+ET^R5eDia6*w)UJQ@-^jZQJPb)=Uy!1py2h#*?( zU;DJJb)P0I^@U#=Xs=-q&&cXX@|uWk5kz&!ep(Z~`F|}o5(J$@JoJ{-wzxMUgIQt$ z#6Yc7T3YitVgO80A^{)>(5 zDO6W8h*dc~w7AS7uUEQ1$XEWP^bzu7^fPpJJ7x6b-SP{S(Vu6*kH&*P3RbUNn{0Fs&r%d0vb!zoTnKQo?N54b)m1xfxYkjdEMvOkoKSAx zklX;~8Z*@r>iPLk-}UWo@tKyZ3*74Oyq8b*aX2lvM7?1kgb?sZ$!hm??Vhi()3%ko ze6(66J9;a?wfh-&a|x8a>uTHa9WRDsC$rc0@yMi-+(Eb7#ovMo7rlXsFnq^m<#$C$ zu&H0Tm&}nX89Y8FJ)saWFUU1JvEVsn=LunsqK)JGK$QmBJ{OB;`Nj z0rmXm;mq>6-jIw-HF4@r@z85!}CztaYT`u72Ddh!aylBNI$=?mw?DAP2B>vZeKFPH_x|j@5UK(546s=Zus}Pl+M7`jT)N`C()O@ zQpkCLnh8uZWM`h+UZXC38FC?HxzB-!L25#6`J1ff)=(Pq$tTp^YheMo%I=+=?e!}j!WA`w3HX1UV}T zh$F_P>QjFiA_5RDPEzzBeQ<0PblT3y$UJW@bhsR#7L0nS6N}u>r&FV@8)buw&$im= zOBek=*4_iEsr6m=1w{erok%C4gVKBNy-G(~AoQ+u5m|IY=)EY?1%wzvFH%ECdIuqZ ziWKP}>N=CP_kW-Nxp$v))*AOR9FFOLfioYOeDC+Z&+~g4Z&A$EpY*%O4+vWpC#lAj ziILQpt|K3-aUCm?i3?waA?<1=>T}Z1p>zu{l8Z!*i`>ZExknb$|4trJ{uG#1mg*Cz z$ay$y7smZ;FY*RF;@YZUvXEsddIKF1wTvWqW#2+p8lY^j(4zzp_t!g*y4q#$}X)7=5iQ)$kByFxq4!y zH7gV&TSuq5n`sLl*j3EI!3+0sCfae%-1R$w5M>9@d< zkB0YZn~ZJJaOj!Inu5he@{TYZz>nY`X3+lk1hp>HxFmFtwo{z$X9&20&HvMJnoM(w zOcw_OCEdHRrH0bIYYBC`km#bH#y>H>p?~aA4z4gX3P#d ztemWDfU!93KlqEBQNg+Ze-YRP5EdT>KC%@hAu+%)#D#c{dwJo`!R$L<4Uq)|5E-^_ zg0kSR$9w7}dSq29gj_5}bj)P_Aa}C=G6sxPrp=K=@i!xtX#P22pcGdfCD4TcBbB_` zN|!3x@0tnT?2!*;sWKUQaD8z~5t@Cm9X~de$^7#{ARIOkUXkP>d5EKB!7lO-K4b0X@O`wOG z9HC8Jczs~dR;6IiSV#$6{cav;J2VJeS0BAW(^RY8sGS6>`1>lRRLXNTwf=49=}ehF zZidn!1W?DDp)~77B{CHlN@Iyk^|fw>(!OJmv(F`=XKw#&{tEm&wUxlwvZ$_i@_n^; z0wczfbE1p5rCvF>(-K(SL#7JNHgSZS4p_~3^d{H7{l9vNV)O&*6jJJ){89*^d%F6@ zV<>GC<1}UekQ!5jP?nT48`8Tfm3$#9>06pV=u+Wj4VmHXTh}yvhT=91HaHDuUz(dN zr2Jm6xwZE7R+*I#R7prKGS`>c9ES2h3Y%KYJKD!8J3M75ztno9^$fVTvRAA$8>O4R z?dBN5P0Crkad@Yot92oePg|T~-x8vmoNpsU66tG~tKtvHN#UcTl&v2F zwMD_Hx&C1{wX#khSQb8l?=xex^9*?2f|3L0q+5?e#CJx2qmqmZ|BPm%Z|x^51OBKb zq*L@hbbC3(YgCcq1(r+R&BYgvPsT=pLrQVwo9*n5c2lIOnu{uPZE1b_O@)zMW89hT zSdBc|VS+6+o4ZLUmFhtC;Al2NR^rF`uU9rYa@2%w@+2G8s7{VG-i2>ut6yb~`|Uu! zui9RAK_o{8{=^wl2q=EiQMO$J1Hb*Z(LcAy_{Vw?ymUR$Bog_CZ0z(7l&qxQ zic*j?6~w*o8e-MP-DZU4NmS=sP80*m24 z?825R`~N!H7`nVDw-1y8Tq&AC;iGGw~!ko_7hf+ie$odG%9VVf5Kov63^B9d_9WRpxizf1G-orJl31dbR%1 zxw5BsNQm;Z-}72swIia~W#mZMj+2O0cv$#)^r*Ru+lloC&mw;I+#F!78L_nfoJ_sf z{^VUnUFFvR8ClT1gQLe)V1FIz?t^@C1;0SfXUo%*{VR_f6K2TV!jglJ6@Wl$cqT(c zT-S#ypy}8;NulvD<~8%fb}wi%oBu0YvbPU7G+6C{+R&)2xh5YXZJ6-WL)gQ)wfXr`_0SQj?zK5aF`i_gKi(L2Y;*( z4z%eb57WC?_G-G5@Wn2_Iq3rLaN1FtKR%Hsom={)!PHFfSJ&mcJApw_FrNs}Gu7z) zHP~wII$#*c$!`-LxRfnh@!FhPidlKs-Hi2NaXo(8-|;aZXnAaac%rE+ez}09K-XG? z&&2d==u%oX=P!n{)v_{AmMn`h{2h{{HbAPm_Z$AZqi`mE`H4?jMDLE=8uV-g6tpV? zBraeut(1Hk`k(prL>KrMuEO{426BpTF~;~tm^Iy&AKh8a>(gsd*B@9O@YFsq4u6JU znfmXxE$u*aMk(nI<_hKD^4M7&eiAlwH0}wm{|WF+emH*ALT#eNkw+_F>bBuFxU`sP z5&)!0w4;|+ieOC&M!BV*U2DuU2NXoKC-gOHol5{EUKZhIZ6LZe^YE$e5cW1Jj&g+6 zzBj-QSE>BoUeKWlOV0c2tA&~jOOwi6f!>zK<68Y~7tH=qg0h-`aks_GkT;=on}Lb@ z!Vf}tmhEq6A+xzf;rx!ibQ-l+QlcFgLywX4Xb6JcwLZn&)RJiyfV3|b) zF~$qP+-7owc+#xRYFm1S;~}@Mh-sTq_d8>$du%C*lC>(LK1_+?PH=6bT8CDDB*C!Y z<68Bvb4^u;o25 z9#~4g6I^{eS~ucIYS4c~AfZfxf;pr{-+w|#5J#PZKX!xKukXR+z%8Lk55XsJPlo%S zJO|tI`pfsC_)!c@Ihg~+gF6ItnO-eRqcv~h7tNO!r_fI8* z2d*jgw+(S0Tc;XxiDa>}FOB}EfcRg7#e}~J#Iy7vUKm=60q`+dTI+Pag8(;o4AQM^ z2?@wvqUMv(``MQ^mRj}rSV?x8RR2C*&)-j)P2_l&Xk!)HSdOt~mvX!=lMyCRx8&s~ zKlI4rbiE%sJ$!nIA>-mNA;DB@H)_N0IsEk#r@j^PxxjUjTqgE5F!q7m0AE-=vgru` z;0xqlCJ^WV0AEru5SrH=p^5C4dI;XxHvo?2z2kS)kx4I~O$gQ?#umvvfvrnoDA)KC+$~19`vL<-Xb`%J;t0 zZ+%R8Kfz_KQ+m`|Zr&Rkz-4Q+8uJQT0?$!M?O1NYo@Zy*#?=AUq}gwImPUw2(}dt5 zlh)@yC?9s^Rm;wLZj-bn%%W{Ji#i_&!?^d9_ye4s93-8H6_K!T45KelAL3FQ;b0j3 z;%^#kJvadE8Ryn0fP(&u1U<6E8y+5h^xrBT@9FndDE_Lj7~m5k_AP)-QCo5+>J?-3 z7%9eN(}rZn=@Br#{gmcvtGT*DvXN&|kh>;DEY5{G$!Tl8{-f&j zT5^kZ@mN%)-kA@7T{5}ECf<4_$OY63bhEZOLfOM9cI1wDt%3}VXDlw?&5An)!iwnj ze1}&7(7+ng%fN-UmrZ;ZUTf|3@3d>j1X2a`qTz_rn6dl;^>KjLcDP15gG%x+zL?EoN+n0=`mxRM?Kgk@k>Q&MFI5F+@umDro1zSf-jTs&@XSOhn z{f8t=VkeXdPpD>eY|S_m^`rK8WF&=%49gmQiHFP*Jjr9&UJh;aWJzw{B2i9ztq_Va z$r_Akz;(=A2;n!&u-Hf;YDMe!G5-So>qnCOHLv$Hm!H4t+WUHNnD?rxIkhJlH-h1m z6KuA{&N?M+LQ{IWcAJ(QQ#jxH3TSgK`D3{oNAIK#4awWdWMo)nNxml&OXm}>nnl0+ z%^>NsNz}(hBl;)K%T5K@$%=fpL)2*j-KU-V+oSe#-Ok@KL;OP%k&>E{EB!pUrBSCo z88bZ;Hm#z*^^Vo67$5|Rsmz~+=cmGEChyS~_jc)?h3`kC6>0RRFdaEYdf^7nsqtWJ zhn?Y2^+k31R~;zWngVi$D0V1%{Qk%sE2I1UUM&eriO@#hxU~CuY*F0C9Anuam38Oi z`ye@W$>}g(Y>^{X9lXZRSwvs%-h1O3|7~|I1cdmSI%)3Gk1pLjFvY@_Z9)SY~nl@kN9aqfYqhV-8@KE0m z3D+?>w-CYtoeCcRHqUG6q)2@GpbNzQ&%l%06PQlz($p5l(zEULfTkC6%Pd0kK7i_3 zP3sBr43TlZBD9XlpB*<0%*(9&HO+o^A0*>7I=;3uvCzFHyjs}!`s?VQIOvkRvcaWy zF3kJP%K7Kd7O&Jt`LCtSfw5U(=l3RfV<0TN208G4YI=e{G#PK-PD&|$J++Y`Wp4r^ zLgY0=c&9Oi<**Uz1-G1u|24e2hCj0MY`vsw++w85Xnj-mx4hihlSlk_1BtgaGSogb z*|bW0eRZPU2Yzz6g4QvY|7&C+#9F3)j z>Fg=N?h*xf6J_K6Ox8+_>DY=itztyz$y!Nh9Ns=aPu3#-IQV_BR)k=}%#VUS)`3!R zXG;)hMM|+E@lvg-`OjQp-5xsoI1BkdB?BYw@~QS*@F4LV(g{8&>JkjH$MFy=3e6+g z@WhJ=zSyO(-81)dO(Q5)5e)=`9JyGz*e;@PI)5cuJdXbfpRI^81Ui4DfI9OQZQ?(! zwK!m5V!H1ok3M%0Kj5&=QRXk8I2n|@#`9*y+fhIDraHmaX!|!AmtK5bZGZc>^|2oR zL~3?)9o{J)-I1y@i?-bl-ZxDJTDT94w}BQeJ1|{9DE$?ovr$AC3AAw2KqUx^(Yyb# z_5MS9$G^9W|KnQAuK2DxDSYLVqL)}0d2>=?7M`Z^7?e#2gs1x=7JYA#zTod>XXllwd<^ZrnUVlP?c7Gcl zI~QyyJ~AVk6^9*{kz9#U%)R#xz(xvE=`?!aYllO3S#f=_Xo(Hz`Ff*QVObW{T-k))VWAU(U_z zaNS$WLQDOLW2Lok!7KSagdc^{bJT?K(x3Z*2=?`5Q?=~b(|ExB{q_$n-M)duw1tOK z>-^Pdh)D>Ex7gyf%F*ty5HA}vABIQ^tik~7_aw!&R%lo2sYV4BD@kbeBNmOxqtBEy z{LcKEIuVoI9CK01fX0{N!-h==EQ@}0upRM$G^OC_eaHCw5-4|T2`5xwXoGRTtkDEs z>KO54bp05`Uk3;b04pK=za-^sBXpFnlA2sra|7lDuE8yU&?1aL8%8SCSs>}1EMO8QvB z-|Re7XmuIHAG7v>EW#?*poL0&cI?-mI4!i;h&oCP<75F)g;7TWz`9XodtCtC{Od2T zzbt{A(jf~o_`?U8r<7kS{5yV3T354<;C&dl`(R>sdG9)uDpV$-ac}QXw7!fXP?S^? zXcOjZZ@Jh0HQScuZnn}Mcg~l0GNkXQ0Q4-bUpx0 z`msFwDllTN*m+yt{(@!Z85XFRx+XR`Ay{*~;OCfUpp+@;L;X)Dq^1u$Ukz;^DW$*C z-PtoPs+HZ5wF(WCZYay(N~{=?_~>>YbGx*S>Skl% z^qf=p_ik=1^1U63l!d6g0dCe^V|cz}d@jS1IiW-DM2gPkQ>8&-VMK*C7DWAI_%Q4` zZu85Yx7lFK7FwK{ve!EQYE5>H1#BP{$6!ZWEw903+mY_#h#=Hgx`@d&wKz4_G*-v1 zc3FD7mT5M8{OI`b^Tz4vSIK8#dfy&f)=KJZzQl~*=BR0==-)+k$JWKofUG1Dq?p1s z##Z6*-*gn)zw*mb7Rb7knp6LWVsGc6=t|GVz&5DB{vQ}yfpAH+jd`BH*ytnr zMH>zBW@{apFu8JA?_^ZE{pE{f#M#INnD;QfE0h7_Xjpfbh3yW{2F7mqQQFBTm-t_| z-#+oq{BFJJ5to;*b)?vs*L&I z=YDjxv#y>E-Za4sy_Y_7dC4!OE39`U@jnX$^jGJhTbqq?QJv29^^aQ!ymIzinGzOXd~JdkwcSoS2Y>$B z{QJ`9ld~F)0!>Cq9>!!C>*68mqe#oA&#yeC2KMF{_Uv1KvHbOhgZUa6&zhoyM@ay7 zB>19)U&(rr!1eq|zg3go^1!N>Wd&~Rib|t?k7~FTE7q{N$0#9omXGGA3BR=BrWw#Z>}C zmH;*uCxqspz7!ZBi`=I36BG($V+*1LWaEKPL#lNi>LGm|7`J(;YegSFwJf~hC92zW z1TEk262m~1TfqP?QQk(M!S69+btl(FxZ-16DHKo^daD?%*Kpu*q zK}1j6D9ZZDLi}200<(yGwp6Z)EZLnOYLIQ^Z4H$3PE|j(p&BsaVifG92gJBI7-}PR zehLhu{U|Q|ZNW$)!FUt_N<@VFud(>O^${qCR7aI!X!c!#Z+2_A@Lr&DFg*8=} z!qBBCn0BlNlLwhB+J_p-;c>bAf|4VXcya;m9A6Mw5VuAJq%aC2EP!Bzze>o>B0@!= zgp@49Ng=S}%^8N4Rm;K4xVMUAAe7rY104KYeo8bBgGRWHX_nAhTLLd=cfwvbaR9XY zJ;jjuLmtM|F?v8CxU$HpLQoedR0nrLc}JHPaPe^VMi?p{c3VTtB&J-%G)khJ^hy7 za6W4$8q35>0(nM1Kwo2(!d_5m*eJROf0#_Rc=k(3Zp?$OVz>KIh+@36yX0k3X;(^S z5+WkffKSIgASgZPGU z6oq)M0^N!DujD|@Fvq#zEg8^eDLC}!90Lit z$rneDwYJQ3M}k`OqMD7Fs8Qi=!2t4;ejo}NUywZK1eYoRmr(phNGkny^EmD4ZKhOl zKGnXN1Ig%{a}_+Y5AUyYm9a$~eYAKn;lqz`HlhZkPjYf{xK0cOCFG_FK9^V692GhT z=H8B9_7i*=F+q0~Sa$#v&w z^-I%m?=Smyb>Vz|+1g(;YZhl(m?Ui7Gu#5?Ml)q?J?OGV9jkG|rp7XQjk*+Bz1n*h zzR2%`QIipd-bZR6;)157Fr4Tk8LW$u%X>zWiRDiUv7_ql zJ7A_d00r>W3@J_Z1k$8he4HziXDIPLxaR4eyaXKsnz7O9z?hA$Lv*|zs}Owvanon= zL%})vZSNd`K~-cFbz;Ht5+bk9nA3X4Dj&wWu(^+`TOuvB1^6lE2VwpsT>3H=n*;JP zYzBN`zEu5WaVvDO0=Rd6vwv9yv5+>1Kg6$k!mJ^tLRaJNa=Igb|LSA1mJa{@KO_P~ zvJz(p%Q4uRYsda7r9?~H8LyfYx1{ICiS9qW-_KtDj3aI5cMUIGd@`oBJmOCB{0YE!v?L$B^_RWY51ApPzYn4u4(sn& z<__YQFtzSkkdtxSk#iO^BqzU4v%R61;&er!R&t2MD$$;c>8jJeXcI?ho^ z9@KU6Cyv#nfW8;bZ($tJ7s4J>Qe|%XmOWYLKHGyCJpi;gf4{u>zkX%RKau_3KT^HC zJWge{6Ph=Lj6Fo!Nos4#uII*M9w%p>OigNPyg~wXqx5*01@oresc?G zV6YKj;dcf{M+>8I?i9o)ET{tD?%eFwoDnGvkTAJexCu&=x-{hej;dY#UHz7R2IKO* zRTGTVnB$(m%3WPo4AW23mOT0}Djk~9I$d>PA{rrOemyh42d?FV3!t*Zvt}t}SN2G7 znffB=#a2ai@{r2ioyW)UGo=3*6Wwa9(+3zJ9u8XSWH+V<#KYogy0bxmcsNorVY^A_ zalcHb%p3i!<7vDy6}pdnsmCYU&ua7mSkAIf zQ{7cFx;H;%9C+tJqWUQH%w|kxi(H)m{~t1bi0KpZPAWp?)Cs|-!i=Tf;DXXEHc?h~076M23pF$YbCa^QI%juG9-Tr>C)Lb_ zfCGYoat;_s8?T1t|9#qwsCFVdL|Z(7$XZJ4oBkp7WV)XI*0YKVr-) z9Oqi;A7kr?!X~u=)RJXkk@mD_FMk-S$qjd*zlogQGr~7q={h<7N9%Bu(l7A1GsKJ; zF{_bDC}e4PoVyZsTJynY&DLz6-|6}(9tN0!Ec9OlLLHqWxCwXz6_}3>fQ^0qlO70b z7wJvvhk;x1C0b<>2rY~$*l}B-R6m`bzv?sHq;(wIov(z6(U$a2mQ?O*lZscv?1yYe z?rK*;Z_|bbmrT%>%{`Mgr@L}(zm)gJ)!Awd5-({lv&Rm@i*^GSmI|siL)uV^K^NEtO&fllicA6_n(XlCi zDEd{ax-Hc{H^cg!sZfvzsFZ)zAR2?!aTZNaSs=)>Lg$XM@6H@yMTGU>9rOnhGMUEY zOp*9|%+G$ygq51H;_ML+kBpmd(|nPC7TfD96Z_fw>P5JauU${XyN%yn->(OXDBQdm zj<7KcFO&Loa$g4CHnhb+tIy<@mJH0cAJ8f@@<$qO9cLo5`5chWj-96tJ&y+(@}C~N zf7`dLYZr3dnKgT#>w4N)H}gY6$6fZr;5?c+wU>!U@QRQl18)zlAOpQK&z`b!gikzG z7!P~ua)cix%Xy_PYKxzc^VUZ7(^~a(%XO&w!0U0h=F{`~p|6VWV{f0lGpAex6?Y{J zV&4Zk^w^;teVn%-jfZCA(&KhCY3pk&Ujzhtet{~U+)eE7kDdBq$3!bam7K8B>idH6 z{g`N3%Y^r8F094B4{>bKBs-mdqPhESIjQwPbA`FR&1WS%-|y_{_l#NsdyR+O#CYuI&v75F8=)=Cagoyi>4j(IOp8i&;3cX&eE`1V1$S$B(<3EdqZ&kdk z@wwm?ZSRMU?$i)Lk>ratA_duXP;R>q^5pFv7T9tqPj7^P8~cU=J+}7Tyy8iba-#-_ zwEAO+D}zvMR}|y4hX4Mqq}!*WQ%C+Q;$Yg)=-c|T8IsFVT6Y@1$jcXFx7$-%V+k~O z4~Q1%E5;#aO?KUDX|A6)#X{_Oh%eOKP|*+O5B(u3SK zkqq^H6nR&5xK#e;x{h%FWq8aAvr@ym@YQWE3|UI*ujTre3LKV@hzWaKAky~W6#P)YTa`4H&lAKoFW^ z1*9VQeu6jqC?!xe7*ViWQucBRe>2M1N-Oxl^%5;bF$i0AM8dNi19E*`zXh0bKQI}$jI29mx zE^*Qdo!`ow2F&`L#n1Wxvp%7wp}tW3UuON%Jo-Mstk3j=l>!rr5I8zI`Z@HEi;KU> zv(=-ag#3QU!(}M6Nafg|tEZ2RR|g5g2?mK3mAU;>`tEQf9>uG;lc)V6=pk>@q4TZ& zyM${fNt#ro(8bm|pA~M1lOGOofzh$5rF1WSw4<=5(r0%ZB-C@5Je|oBdGX+lIk4LQ zF}3;s( zGN!kU-~g%{JQ=+UPM#EiC$ldC6@%l~SwwZbsBuF+6;!T~6Gh$u-USe`!+A>bu#APl zK?_YR(Nj`DOg{nf8-kowl!TrFh0Q-fWkee+es;A0MFIQ1dMw)2;%47ZB^FE|2ljnN zzyOW`_WiusD*I}@X^lr^FYoDJ*>qHnhaTz35BSACB$pHMpfnXp1QExg+D*3VsD_WO z-c&OS*Dj0NjhcRO`yL)^!a8l8+g`s^FEsFTO2P)&9BN23f=+MVA|4zg<9!1p$~pla{ctdW^4uM9yv7BLkA3o@JDmZ&hZ^5&Bdxf$~eW zd&knzQZ-nIxW=YzSW#C|4bY7<0%5SS!Y_Jdsc`i0x*;MOjL00~p7-_zN9LRzjQ)DY z3q4ZzKPD6)Gl(5Qy!Gl6JN(3|f_5(=_m?ZI@=e%Zv5*kQY*Ql*r~|qo0V<*n{35D1 zsCQQ6jnb=`5k}eva7h6y>B0DTDmyTXLO-P?^>C)OCik+IQEI6kYKymtx6A!%8F)DS z?1%8)Aw`>aAF1-YF^;zmGomZbbhR084@q|Yn;^(B7U&AgG75$Kqgh5K#LPR4 zDzLVGruA8YKiaZrRdGRs&qAizYax6E+NJukA?boWFo^Dv!>ITHxcPU{UzbD3kfa0S5Bf$GbvN}o$1m z+1%+~KBSi>>)9!+C29UWB3V-9(dO#S0Ojx>-ge4@R@ez-x!!d<3Js~loh33LTpF>7 z9Z(>$T{){8Qt>gTe9HL}5MCa2JY)pIp4I=vp}MpikZqWB?UZy^MrL;P=(&hI<#iO9 zg_6O{J@t8!P+u+*-Zg7Y>_%4!Hu|(P2w#5-C%x-&?1s_;@|dO0yHhcj3I2$r)m!mF zXf(4^@KrGGn*KE9mqe@NJDVd)e&*Y3(;%Ge#Afa3@7ZE`D2q$4-uAPwGALQenfR-~ zymv)q2*hVeBb4X5{?4%&N_rr3YRu*A0fW!)N7{KT_&sA}m~h*O*gUKc89E{#-Sb!t zjujMMKyA4DT3#Zn;s`Tj$9!Z|AH$gi@5&dAl1Kqrz+6fp1wu?BbRq=y-XoS z_zW-Xyin%jB0THOq?LjpjGLM7VZqdo=R%qNgLgpK_m;AHI!%>~E{883p=Hs7L~C?O z3vHpDEdA9pE$xe7lK!kA=?9M zcbS{}1&64G)r}gx42$9_mshW0imZ`95bBx?oX_QvTV7~3vuOn_kNYSG}bk{=W7 zTI+~pYTZ*C_x+22iqz#;A9AgcLql)b>KQ{apJvclj8X?$Z zxRn+jeyqWmW?&U6QKw=0vs~8y(N^8~M+;iOG-GG}gjaDRC8A zR2VBg#|huhDU*=$uzWf4xOQmABj5~_ryrQuA7TSN5v@7h3Z1i(Tv?N{FXEl|u&#Pc zDg7@@z`yH{|4-L{$dZWMMh*eemuWK;Q9K}hp`^&8WCNrxB7lU05U7LFP0`e6E_om@ zyK0T2um&K#cY-2*fxw9$G0pvwI`l(#ejqhn1Rpi5YAyoDYlh4^Vd31EzSM}!avA+LHEbxE6DBl(;NsD50 zVWr%X#9?!5?iy>+&D{Krk}do4?fI7< zG*yO#T{Tr2V#&v&L;{d=RT>_K}zPVIe-0;jhOny+>EU?Jn%FJLj%Q&Bqd zu*0nTre(G2h1J2kPmCBC0ffqq_u|%xc!;#;K8sAhZM(j4h`VWPnwa|-1VIKtO$g*S zdM(#qUi}V!@wdYh;ZOb|r2I=g{GUx9TfYmrWbXO&wf@z%2B)$124N|k{Nt>(pQrDo zh#tROFNzsqP%xo;aQR%PFBK!|Lj4+0T2liI%LEJr_JH#)-Zo0lV_}D;8#> zhoWYkTxO zMx|&)_nN@#iGu#(!9&rzfO&}@A>T`q_8JS#toVb+fd2CG$EM+N!@<{;7w+NIPJV4C zJ4htyzO3HGg*`mthvD6zA|Y=#r4~#8QEp~-gv;#H1j78 z?Nwo6Uc$HC8a@&am91nk#4Xu7EkPqjcO$g9Zt@oI?um`Q3JI~yql$?5puewf>-XF6 z;Nm*rL?7cd7QV&l}NKl%nrERKLM#NVLk(BpPK|y<2Z~XVFBORH|Mm zc*bL*uFHWgegYi?K?mzVlqaeR zjc*tp|D!wo33!yHGGQ!{g)2Mi;EvOwU-l!VECHDkaQL;!CUdoCZ1gmTesD$X=af)W zFK10I`i<(O3A^#`(9ubA&u1fPX0UFMoK}BV2FA>G%Idz&=X*aHzZSfno4wzvsh<^; zaPBrt8Oy>#(ZrFUvK{jqJwR(WsD@cZS)6xJVYy65RJ4#7v82t0@pu9K5>z(ja3OU z%5F49_YwO=!YzL4bFn;rRbkt%yfSTt5|Y8QpSB%bD@gbW=&Lk>1J;6E4)D%!LL!5{ zb+xU}3?@OF?`U5ykj6BAhfX^)%jy3lk4te(Rwui%x*5kmf|zu`84vxqY=bi~ z-{);EWwEq~;x|v`sp=e?yJ%m3ps5a7QD+_(t@*U8lG447GOEQQJpAO`1OpGTsNkAR z;(d{rnA5rK&IjQY_shOGCd>6azw^UIP$h_K_!P}W=Y#e1ADkqH`{~)XBU8-ZLFMUg zL&HMIM|SUhH0p!3Cj%N_yx+8MH=6}s;|t{XxlZ!yUjC-~#5%qqNU8qVdd}Y}jwh>k zYGN%b#JMGZ*zx`S*nJ?M(SXBIx7sS{9UB5j9>+JTmo52O(quAUVf*S)JvGB#2(MgU z8sN=&OVWK0=iBts%B6nZ8;lMA=0GG?KMCV;aDSJ#HCuOU*y2r#4OdiX6JHxid!Tw| zomnV`Y+Eqh2ZxV`;A+ zCSJCn@B(}rC{0d*VZUrQ+;bNYy_OTTDPGmebD;|szoQJWAMz-t&A_E(Y)(8)fiJCc zpH@9Vp$l(paa`^kT*n9SS!G1_5AuaxR>v5M#pa^#yqJ}KnkQRm=HF!6lPALjuc6hOSYEsUi?K)=RpSA6^@K>Vr z$6p*LR%J^Aa;#fPx(tP)D4LWDuIn{&JV+chdjbZ`abB_H(fa`jYSBhGYSh3tVRU3; z^oy*I#32%l#6b}Na*UTEA|k@!;m;=7%&Ki)lbgpw-5@;WK*&5&s=gtMf7IJ}5%rL} zea@3HeN=CPKi0Z6=YKyiN-2+(p~x_PnL?EiR_d3-2)m&$4g5#@tKNVDXn);=ci^P! zP0fhyDxRHWJ4T&yaQFBNzSw^4Mm9X6POnyUb`n=cv-`*cj!pGrXju0@3w;BPW)A`5g@!GP*S2hoXVy4U{WN3PE zQtnCJycLNFbD{yjN_5Nx!0ZAf0)c@+E_*dCpWJeo5Ws_^o`=q{xp|OM;2%>7fd{Do zsA;r-2MIt^R8-4;9J1|mLVUM~8pJUD5Z0h6PWDUm%@Rr@I&(}Jx36+*O+{%Qi%Rg> zmeLBKh0(kmO~(C6xM{TBrL87xB1EJIdI?3!3l2d+5ms9VzinOt+!CR67_DUy;UgC##j3n69A#; zY;p9^(xepq_ZA)}WMmt-k@xi7mTA(TIHLjiZNH|(7b8cm+C9hr#Cbv&gr3jw23Tho z$qEI*SIMO#vyETEx-?F7N9((oByR)m);x7Y!e*@Sxek8POwKbSL%&>)1rLYk6#Vd~ zBl;4$&SN>&qp{2z|MTAbymC)6a1-w&21Q#B~iPv{`R9X2NNdzcJf$AvGq5^UG z*rl>rsGs;D>HF;OODAl_XVlUv9Pq~ApE1vr7Z$hrlVqcf)dUFltO<58fjqaYk|lEB zIanI8r3UI4&Lq&{;XT&|^4SeT!OpPWHhE|0fl%)!lh!)TFCPTTB%Vua!ca z#iAd5*es7x`I!|OR6K$-prMQn=yQ1g$isikU)ZbllU?jPvS7a{nuhb}X^SOPuSU9D z_4}v07Bj7}uxP9Oy*Wospt%>JAyJHL-anIk@N~ED*7b=Ls$KlZZe#tA-0PK~?(fh0 zxnhm#JWpg*M*6KKl4nC*-Bhxl=_QY?#0jMo7j(TC*wW#n2Jwjs`%YMC(?R$amT4mj zH!*Os44S&{1|(^dtrF4Ay77*|sDVyq=$RP5cWs%CMs<9j!7HTIcCwc;*4s-VxdI+0 zwjGT!wHAq`m|T;*>Wj{RBFUOo1gAI5NcY#Lei-}*5Vj0 z?^SlS@%g1CzeZB0*!Pp3wW!{22>jiBzY^5aiA3^{!OJOW(pou*Fi?$%mAgBdjC_%? zv$8?_=lMJ7Z2S7b*|;H}m7o5#wWkh}ah=NP><@;1-CJwQv{Cc~GR zScsXDCAj=iMzG?=&kxfsx6PpYsx=ekx7y?aVi(_sh}^!O9Ha22RM#DctkVVty)skx zq4QAPDjj#+ObaJj1Rc+?yKqIm`ZB<_=4hS=jJbOS) zF^75tSF4+j(%MPnc1nqrzVOh3jb;)fr01AJ+}F4VwC9hSZb5W-K_y7~5eg|>DYAAh zAW74i5efKb|7zO;_TWe$NfSWVv645KiscqVgd5G^oK8Dq*|h{2aqg9hMlsENI463k zl}a{`Hv^021UcV+Tu0kc*n+sX0KlLHoFmZ?1OSAn5SpVFkpS6Bm-ul!!19Y(1YAk% zVgGz9PYC`$w+{a9XL| z6Mjyj6w5btQw;RByn%~^X7P{Rz(t_+0V6zk09+)VOh`f~<)ydk=y}Xg>6lFWm@Iwy z>gzY#Vs1V_P_98HTw98{VX{So_I|IdfvrmVL%ggqL>9LTl+FIZDt^Kn|4?ei=z;j0 z3}@MG5Tl7RXZ)~KIUI4{H}~Tk7sl*5XD}BAGX^OA{FfnAl5 zS(u$n#9!Kl&PXVrX22SeebX#`~jb z?7a;}Mc_!y9$c+1=@e$-Z#k$*N@dF(4GA6ud^>?b|AV$S0f)M6|Nn{X$||ui5<-J9cG+buTb8k;Az~QYkbRe3$r6fGy8j>d{VezMd!Fa}?fxFe zf6{S$j)}v_e6H&{&-49$y``!(r04_PXktWEr|S4}QY;#!4}NbI2{Pckd@QTQffiH2 zfaTg2L^`)dG?-rUk8|{-yFzkHtIsXc#ut<2Uaj}F(&yoNQp8+ILGFz$Wb0BliaQT{ z?{CBySey|!7^!JG=e+DJq*;^F_z|ZKL1J{vF&^69n?bo7M z#VUOT#)K^}K$vn!k)t>xOsRPqtcGU+gsI2I)0$_5sT8f%{D$M_i?5#FeZ)&{b@?8b zY)p4hrbf5!IUY@`UP?A#-y;K)gBjm|Whw}Y+DrMG1cpatkY?#G%cHZA&KV2~pH8&d z(>#@ir@;@E^A)GziDM66X$*o@W<2xqnw=L4u<{S&Lq2kB)K2)`k1Nf$lkrb!e17D* zWpQQ0xAWF}Ad@*n>_(wzeTC!?1#CW0@Pexaucx?V*vp7MFjeK)ii2w?fl@0rUv zU!=Gy;Iq!>@Z#rN&WBOtr%N|)JqerhZukR;wl^d3jxppypvB5jS#y=&6lGm=qnO6M zy0rck-v`CIg!D`vHd~uCD`#0`wO0@kaal9?BEp=Ew{~r9ulB($wGUn#u9vLjA7{H? zEWLk3oA!439@NUn5I>dlEj2fqgQxpiWivQsQRPcy_O8nIk=R0hcgsfR?q{PEEus{q zUDCYA1aYdTDNN^rdx;ni^AF|B4=k2H|CqfPe`!wI&~mk`Xr-yLrdzc);bA?>bYfRi z0a~f@eZE>JBx>paLJaM`VPJhOWL@WS?qEE58xN>Z;OQA3*(Z9{gZ)Ayg>t z`jqIBAo^+7#>bgKO7`xA=8TNI>tB1T)1~Wdwi~jnkd>`;2}FT#lDwSuF{gzFF5%4_E+F*ELsYuK5(CxV zQZPOPu$RoeSmeZ4MN3Os0Qv)zQ;gxg6bKM~n&a&3U7d%;oOv#WY8(5T0w1RGvZQzl zCFc#!WDU%ifkXT4;okl{0YA0KrtiGo9vmLTAkx}&nl!4$cW@A8D3py6@(qKb+k3CN zHT*3RE03A5PCI$@JD=}jNdQR0)_#w3bPBBmP#sZ@Xk|tcav0+|fDO#Qkb9Q8ij^04 z>v&9X(L*jDkRd+IA=>MA^Vg;ildxt<1z}cYw`w7;-?DGZYgk|S`G+|K@P+_t!_WQ? zleL9ZxiMnxsOV*B&nX_jG|3Y#6W!axk+*^5?{{w|=FQcQZ;4V2#e;o66b zhwm1|O|Q6~AR(-7|3AU(|Fkg+BaQ-gqs?h2ye(_EFU-(7AKa#5^iPSxD2=8%!np!% z=_sk$L5d&iSjL|_ajn%G-$}7z;)7P=oM~0LDU-B}iJ`h^ybdjnkyuhQsaHeKR2!Yn z>rre`7n6>LE~9vm=LCz0(a=@;GnHW!5s@XJGR#y{|0Ae0g>N{qjaH|`f60}UrVP27 zX5kd`V64wF-< zCf52}cn_$AD`t(0Nt{iSlYJWds=DIX9q(3^AR<+Vcp^kBNer~T0i^F4I+L8{lOC}& zBWV(W1JPqAnED@~4FBtsRJ|=UUogh$Go|$`t3OSxa$&?TNDuUZn1?qU_fSbEfqT-U z6nFYe1y|Ev(30uWFK*dRSRK3fnT>mjNYx%*lmuQAklD$R{0Gicnz0kWd6N19v4TBh z;)yd1Q|iLhmK6@@URK5T_AqvZB6`QA#1yGsb2@t>0V%RJJ?jEam|^Uh%;z&NaogO0=*7nZE)0CucHN&l?wDbFv;}t6!G#{jFj3@^~~N}-yH?7%eGOb z8}tL~v(WWRJ+%B5{Uj3Fq$iA?+2bjiq9GpY4H0}8G~JW5XXEvK#@v`&B&3gNRa|-U z(+3;&Q=`82@@8^38lxB}l~Z#&g*MY13rUF1XW1^78#hwD9eYM$UTwq1g9M$Z1)Mz) z5GjNlSW1X5DNdULh0Jezck{`U;l1O~Fdm+2o$=zptxmewoB`f=`91|4j{po;vM!n< zC2`SeaPy2#ugm?!PYPN7&!g5;?`!hOYZZ?OTuQgA#~j#xe9=sDVjZQ`!SGJ;3#J{w#fnvtw1lpGy+3XTezg{r&D7$s<#;ox0K2vHUq017USmJEcsN$8 z|Lz%Y^Gok`tt0U^gt<)8gyiN{E{pos`Ul20VY$_P(g^(YLf5C`dEmQ(hDdabzg3murk5e|Dq4QX4BwBSpy<73sb{TxeP#Z!u9wgV; zlkjHri9lZbEvJp1+;5Mm6C#x}7OFg$tA`FK8ld0(>H_xKG2B?uu=Jw3TSDZkFqxZ< zEol;5pLZ1%-jIeCA%^4b3YjGnU=ptcI)^SA`pBcRca^$b7bG9*Zb&+m)>ytc)b=(s z>w9A$pR&sBDyn~8*BAziY&br!bbFb7I1_Z4`QGEGFq*=~m0LXmjI}3=H$S?wc+QWX zbYgNbkFm)}SbN-Ci|b4~8&X*m6+`1va=B*QF)@7a*i~p`h_^M}{aywwcRdOLO|}}Y zEM|=zXjZ*UNFUhJHz`L<( zjPK7ok8m)o-bF3QRVjFB=JhxS=7g_E-s<#X*s^ir7(%v{ezqx0YAo4SPS5;E6R`1$ zZBQTPM&CAnXYNToiGw_u?nSP3u83F9=du#}<&Q5My_e;D5a>PiG^rWNRZDxSL)^{- zSZ3z#S)y0pwR~tAtFpPWKfGLkzMd-$kD1z@E$Y*PR>>4~t>2%>{iq?;`x7V9X7$$5 zDbPN}{}~e@>3w|8IGk~PuC((Z(@(CK*YE{EWTJR!!>a2=CbnI^4|gO>?q9xI>=2m# zG%yi4Xv#5pBgd>-Qv&+D#g@Z#m04A!5v71ID}PcAEA?7grWOqJP~JR8aj1@ZY8klo z8<9MjVFm7ls0NGuOg1+tvAcIHb9ry8%4wRUjy*+2QESedGv@o=`tmBcdcceFLai}K znJ9+543~$Td;Sjp(vP7G88-ti-H`Z~TP1lgWss1xMqoEVZ5+ z>%Bg+c^4bSOew#|d!T{6ka@esLs{21*-FPP(Y6(L!$WZYg5_mSg%vMXF?onUb4+@q zDcD_nQhFuTrdvSAf$qchXg!jlWs7OtN4}x0{94kAG}UW zj6o9&A0h`mdYQ=xO#+hjFj%mzJ`-q3;dZY}9~cN=gRop5#GM7O5nq-WKaf8QU}O3$ z;CmLp_VSqY8J_Tv8}!$-gSKb8T^vV!H>vS0h2$<8$y|)S5XuK2U~U4CC$A3ra7c0% zuwBS8Vj!>7kX0Z50vyTSy3RprZItPY59ttzQZd_lU+3wfUa>CYbY$yL*JyW--{40- z-oXX}!s9ku-?xXFczlb3<}U!1c+>>_ss@m0>qu}8r*t$ho}$zib#)YwL$G~~$R!NU zm-afWunMbfK0w~k-<}*)Q;YTgwOqRAaf78kwe`c3p>;Bw!cqg++7*vpE{KlZ&h&!Q7t0A5poY8aAwhSwwp z0)x{W&+wY=NwYB!0I#Vk7@fTXkH+b!2r^e)$b1zkz>Z3NBVsJ^g}cryNZ2ZTo=OY3 zgrTWT?gH0>NOGkH=t-kF|LyI?ls+GAb#7SU=_s4dy{RoVMuWH19K-DTV5N}`+R<5z zP`7a!jsJ^b+bYB$MJl5{XJEgjHtswwbVQD3NR@3RPOumN`ELNO6fPvK>xM)emmH1y zPHoIan9Jr%b=?bAO4;cT%$?Xl!dyEdtW|d^J~7??z)mubjyjmC^A~8hJ)IA9*q(`} zz3!1){7?Yg#U6{YI0_Qafb7p>F zA>R$kj$Cjdo+cNtkZ&b_KWs-H7V#wDUD+OHyIt^3h};`vO$2UOf!S?me&63?ka=r@ z*!zLrop=U7&Dx!>XF94$K?$R=zHooG(KbCu)GE0shW|2bomYUD8#r{MCFS7xu6o>& z6iOTU4nR~wiX{!Db0M0JR~`TGrz%{o)sgpN4*78*kX#_uL<8a|vIbQE2)4ID~{FK%u9Bj+o` zWOo!Z=Y4H2%Ie-se9Wz*ERm!>XgRY80We)T6R+jH4*^#jM&(1Z(ZNGaK!*A4nBlhP zx6AuS{dM75U@{&%n35d~2PBi=z+%APp=}kQ{M#Lx6TAKXC+F9^PrA>)WIS0)q!Rub zu|!reY%xA-VnExBchxuQnmZx)$0CE}3SXVj1QVGdMNZt$I|}1r1Y~tvN=`*@^@XNY zJLNs{&{qKgbPs}2m4YzZb)CJsJIx;#uSZhI(?(rhzLs&5DulHiFA@-I{YpjjQGg417X#&W|dMAp#UJ!V=fn+0p_6tAApAfDR z0Y%}^=3;QOeBkFOHPdv!AeNC)HTu@=x@YgtyL^_jR+L`DA=j&tg@)1oxqFbH&Ju&kY+W$g@`gNpWLXka? zKq_=cHoX+##yYPCB#@>>ldiHwoh6V`X&0hY*pnjO6%lg;JYU&!5=bfrs=suBAX1vb zG%zyrtop;dRU_wdzgK^t4t_LH{Y?wRxM;1&;t33M>O{7I0#{|D&MgsZb0o)J2>ybL zy1XtUCB?!3?Oad=V(bt5I1t*3u0V|azb{e$T~BXI5vOzdRr0N0*`^f4#eFI|s>-@n zMUAh%aWBBw}2tKy)hrz4e*K%s@|Q`MX}#xyi9K=s}mLD0HW^~ov! z6o7}VRDYN1SltxUvpJ>Mhu`T;$H)=YJ?7te`|QS-xr-o5Jm=#&6y*|0=jy=zFCRT;nw(S;3E1hwD+>*64?^C!D!U;cKj*bD+&A-i&+s z7K<*=4da|$M1b!$tl%@WqsyutFPSO$9#6_TqPW<5O<4xbQzzns2Zw{XIRiJJ3`}N> zCla_4;teJ~nw6g)Ed6lFu*achz}BVHEaQeRPh(PsYKkj&?iRE|(odM4lNU4g5yT8h z(Z2c?y*B-dkhLnr7r(s( z+D0%xkkpc}d{X1G%35Ra`7LVE*pBH|kZz;vWO7wUz$KTpE4)lT`l8SCI)#*ra#y1| z;sPscbzqYoGnI)EWo`a>)|Vwm95-r=J?3lp;t0ZH&kx!n@OUAek%pt#`Fc663N2}P zUtdcrmpygMZ0}s3QqS@?sn@#vhKmFOChtZ5z7ee@k;_VqhHs?-U525rGdnAlwsV7; zv9!#kaSLO@hT55R|SGi zMk6&X6}F>$#c;hwQTTY*NgQ5lNydO6Ik%;(5RzwgaKPaya*Iow9g7FT5t-@+YzaZ| zN;lBfumS_w0?zBAisHM6$YTJ}#3<@ee+`kgj5Scspo~D;+$l(3$eP#nR`LA)vlw6+ zC^YVoWHuM?g4mktO6xzZxsnu!UA2U#x!Ht+g=i#$psT^sP1(Jp>Dw!%jnbd14xDEv z?VCycg?pvC1nVN=F&IqKZ$uY0y*0fbJ-5^;kO&5{yniE_y{?@eaq>eAjg0HN|Bp#p z&+LHibc)^h%L`8lMld-dYdb9M9FX_qXSuRMP8jyq}Xe^YV^D>#e#kVGQPQi=md!c;UI$9;L*`ur}*37z2xEX4bLb zu;)thF{?cfYdRZ!fADWakq=K(cMpzx7eX}0jse8g-Q1QD6G=I@tZXCOvfzkaDUCa& zH4;ZDl#j;2sAib++*$5gy8d0>Kf9+>%-<^~KPr}m(y{B?;>37ir4bBt7>iy#4P{0N zZiy7iC4e1Ym|t@EhOg90`*f>0oTu+LMfSF2owR`luFI`Bi(WUe!KnW>KLRlguC^~~ zvs!QwFa0a5XGa|dp+J5iDjY=P?cB4Q87&kAraT437a~6BbzYEWG_O0K3BHHcjIm>< zGi!iM#{4pt&-?(S6F72Fl9xGldNz+OP8Rz>>x8YioH$bfPy~BRmnd76s2z#jvaQvY zu;v*Xma}bD3ZS8auA-2YZ(peKfBw*dq?e@A@ZZVx8BWTFuBAYQl{FHWeqC-{_iy{* zuiD{EyVt>6Wb!;7X0fs5^F9<^{PYnZVkE^M#=JUPNeWLDhP#DqDy*)sHK0uWMTt&t zY%ovJ%0Z%Qf8Luj++=H%WZfBVk}i1Mq8GqT`b1Ye1E1k0q41Okha+td8vc)aj7Sdi zl?!&o_V&2he95OubE>EeZ2w!U%D0UX{q?$2_V$`%XPTNLFBapgld zVqAuV3e(860G!S}fM+Rl4?4(+12jp|^T2#y#!{bjx||ztouVCqe}?YWF>nguPUu^1 z%&NseG=hnloVnkSeo z8EpaYb<bxZ&ETbP0>@V&EZT#Z&(KX5h@5yF3aEurO)uMkb%Q7 z{wmq7yO!%hrGdhu)yA;Dkf#0L@_phG!hYmw6e{QIrpU);zLb43%?p7;&@Pep0IO++ zrF}llea0yaylp^MV%lTL@9XZ#O4wb3Sq;SDqdw`0E9gWh0xvxxE8;Ysg3+hULJ&Y* zmg_Z>3_;tLh4GKLGw?llht`^F@#iP8vhoAM1?JDjKYSqqf9M*QyDo7pNA&zd$ofas z3vSSUXqB0aC>8xk!c1OCzJ^!B9J}u}LTjXFR9m``NLP9kIUs#Fpm5~1fbr!+eEDdy z)h;`>_tW$HYZ(=u->be9td{8G&yOUck|X-ASV_gfS@Nr&2R#}bsqeS|$MmtM;sI5q zSsMVk9JR7GB9wXqQu=WZg@bUFG407zko5e5piUSt2$yRChxi?#xto~~=5@>->ALCm z)mP2#f-W00^F}#Idx^7WDR_c!fi>Y-{oKNM=H3;TIP(~MdS2xkPYqwi?H2d9kr#bF z90s3$4}2&W?!U#400voPT74)Qi*P_Pcb2~SGkwQiA5>9-v*f(_B*Wx6g2`eo!$Ktx zMGA0MiFqk@JIFz7Q7Ovsmae4YYjOTOX@@5A@<4{>S(qjeE_n)20Wg^6;^&}$!geAl zPI>#oig=pL{_v!-u3{LWsgScx3iu-Vzw2&p0w|wYMp`$HYi-;qsmAs^a&`X5(8l-+ z^LKJa2YKIR1ZFL)%6JaS#@NEw{9g$!R;H9+m_?u_wn;ePHzD6*WuIrhUV)tgIg%6m zU>~402AueM#mGqKVku<+)Z!=qpM22=_dQ)WvKA|(EJj;EHZROscojT0PIr_D?+HKe zvdfBe%&!gzVwrm9yV8CX&WGTWj}tFSj&*2d`ESX$YvK=ecbEj>af6b>q!A(zA^^k) zD0uV%tQAn9{$%+a256`)|2zT`Y|*ox^=Z*7e#}SX$(DvzJwHu~oK4syhJ5hNeQfp? z5F&h7OL1|?Zv})1g>U5bdWINOrKJ>P-1Ryk6S-2ulSS1f~kQTEvRWNC^3F3YIeVVb9a4C5(4nc*-F*CG{V{ zOn4bvoX~YZ3Vop>^`PZU3QZW~@i~)1_Ze>+5zeI06K2`mxd|_9{({`&xsKVO@AszX znd&JO3~fRs2$$T1=>F;^VxA{gT#AuiDxK@Kns99QgGOD68#ldCx*wR*sXsZ|eN+X& zt)HfAAQWe5WLh6BiFtuEvJPDM8jwa7Ghz9xT!FFg`u}Brpwc;|kdn9$-#ka+S~(q! z^DwRDQDJchQ6hVJ;H3Nv$_i&x56F0aAUF?@h({2ZW8d4j%y~PG1I>&gHMUyTc$*CE=w!Wn*9Wru~ZT7$? z;Z-!)Q&^Mf?SR#eTY#|j?Po$UMj1Dvv&RT#^BhBWgy~p?50Xg%_jS+yT&YM>hri2o zrRy@%na)u=S{y#{AY1@ulu(jnA9WXzf!o0CPgPS$>cR(GOWsbtV7MhI3pUE~7&!V1 z1pXH*``)+v*E`W3X(O$UMlDQCPk9(0NZa5pmJZS9Rcdnht~sOS%7CCCqhfW2STUKk z`yOzS+re^|lG|GSujIQfReTB^r*cbMcfrW{_^?Y%2`N;WKP|rn@+x^G=0AQtf>C`k z&bjGmp<4SsiZA7JO1P)XdTb1@1JZ%bik|B2B!&BU+@+*9Gy(k$^`CQCCJ_@^*^i_r z4<@WJN(6#vZnflR7<{upKV!=*ArOtafweYH!vI5RR)XS-Y4On=RCYsuZF*E%F52xs|PM&RnT>>$g`?7Jd| zYGyQ!P@U)R;vh74j8cR;f7)ugKI)&x+ZAE+VtQAcpTCVkGHP;=fC~th8w0n@$sAIY zYmBR`@y2OV`jW~P6boqA?dc4{cXKhzSc6>YLKl0l#gADpdjy0~_H@ZK${b4EOg^eK z65Y&hjYTn~T6X1tnoYXk$`!po7jHWJ&a@z?RHopH!hG@mB?K&aMmhpw_Ln>Fw}Wo;t}qw4P5$xWcl9a8Gxz(R(i8bx7$vgbQPR8-< z+4r(@jfY+>q-;I|I1QQCdR+IO8QDqt`U z4CtD-0k9Sz0QCaQY`{K&Y4$g#H36B3>$tJPKz5lNck;64@661g0zUJ<`(h1Xd+RQM zcHVDix(<#c!?v%8F$(Zvqe6y$qTKc9;9vy98=2OO<(l$x)*SwGcklvBu^Yz-Q9`gd|IYWBXZTF~lm zMNIeJelcAiiK|AXMEz1r!`-p2-Z;hjGY^nq>@1^tg@PW)FqRug#;eh+`GVxMlkh!a z=CMONTp`8NHCbxm@worJQPTDwdj#M=zw7?nwYFtG!9)bD5VWUC9c#8h7cW2>azK0I z4Lg!pF1d|8>c`iQ47t_g<%-_|ystJ@F4S;V)Jxa)clXP+O0)s*lRv&NU)7+V7q+7iYdDO^Yjg%-zt<`W@g=3X5|s=V|+7+L?x zL-{ZLpFe$qsY1_H>)edG17&mmi!_&E_vC~L+MCY#>`7`yd1W;m86t1#vs>$I7A2Z( zO9#U(Uht@ut@_+^(9i@qH^Kw1NIsbBJbK2~GD|Tq&}G|t&zw;vhU$|lMQ-YJVE;s= z$*}S7wvi0atsC7N*(^VekArx<51(vudw8At9R;yN#Bc!iRijB3d5g2ex*D) zlpdKvm8Rt?*=Q~>CJnAhq6LfM{+KiHL{fwUa|Vhck|dmMmPi19y`+{;G}2aRu@-h;-RIWxwM{AvbmpG6e6K@) zUa&Zg%wm1Kix(f5ADAmLHFlp$SiroPwj`s}W6ZqNJd!LrVIF|4mjqSKWZ|AQ%2CAX zOHzdUB8W6Oe4_4|M?xzm;;3p>X&%;gaR&AXM&r)+wym5EoP_v*^l09*fzy!XX4;VJ z1|-8ojwW`cA|!PG&&R&MwJAduS%Tm+Jsht19`q4FwVA!(p;2OLI_ymdqz+Jeia@${wk3@>1TWuU7O%WGD9W%y7!uW-r_#T zVX=m|kVO-R5vy0XOh+f!-tQ>ECP^);I)~;vf@O9Ghkkx+@6MaU%HJ63-!i0Ap8m|E zN4xqE3M5qgErG~X?_WqIIE6Z1UHYtncb6=&1QBvm~(!x zS@UinRt7H5QVqJ<#xK?#>zI#=+T*|K3eN1UBfAxIY93i%ZF;0wMszv<(y+#Luf@-S z-|Mxxn9qei9x%iZ?$mLeYQY-JBnw4d);izH;_>*q1#LV<|9W@)`A+$tuLUmv&3Heb z169a7-0a~l6Se*nJr7vVx9BRrPBPI(fOY7rlO%xlmsG~Xjn|I!cUlg_h&3`QThR%6~c5q7mY}ZSdCJOC^b_`V1 zBs#%L9P{A_ZSZ3b<|VYdS!rYyqyCkwXM+7u`x?aoU&%D-kM|!OMA_6xw@&ic*s^gu zkfj7ex~R3m%((uE?6>-Y#6r3fq=QF!=oh+tri9{hc6Ps7D5wc-(j1-)Lj5Xd+ubgu?O%jAJgo_{ z@SX57EsVLok20c0QYQ!F&M1#SvUq*3<{9NN7c(rBJ2vPnQicFAe*53$mrol0j*k4( zuJ`+YPORH}_N zJbhKye3FpU`sw0f4n&uBLcOOHq?&l}*yr%dV!=c^VbrF&?)Wm0-{fI+HB4LpIK#1z zmxAmwEwZ|2fHPbkuIX#@me<0Bvhu<^{(rQQqn+G21wr5TXUlGxUsK9{z{+#%1ajCV zA?!ai@&x)Kf`nXZc$<+aLka!jjhi0y?W&SDa)&Q#IpNooD>mMHu)515q^pMeCqKp? z2bTCBN4IC?ubeiStCYEm3X6`$D@KV6=i~Q8;5741#qi_hOvN)5p5wV~hlN~6dOm?? zha>Q<)U+^jZqrwCRN$YdK{=S0dv#0>T=$T?FW`=^L)3ga|ofQky=t@Q^j$MR#*Q*WUx!71%8^! zTp!TdW=9{>16o@?Ze?f>H>SYNpaZnF0q?^#Ik%t z*JQ@F?}+2neLY+7@|EiVo@WE`aK>e(P}`GJqIts*lo4r?k9}D zo!bL&(Sn2(d>ps%lB*tCYg`aEOk1!4F?S!j$p^>!)K1_Y#kTTjn^|6_Af3UOBql0} zK$CbOdrSiL#hIQ#5Khla>!nJ`n*vFprqgDws2?^9geNmd0Tow9if>R%o))S4Vj|E!gc&kD4yw>jBQVJ_-3FfP6&W|BNVm3)pRc_X#JPi8M;aq&N+(Zf4 z5@?!S`flSAL)Yirk45hmEQKa3n9I@dqfxDIt=A5}g@d79jy+f1|+a(*DNJ+ewAcR8>yeL7n&8AbYK8jNct zcyZ)iFZti)Ldk;ZQpPSeD1Uc6x9eb3>yyfOSyg7c!An9s(=A1nE~reBvbW>8R`kh5 z7~2NR+3M$FQ*jfnWEOBTAgBR&ymOu#0sbs~1ccna8i2n~#5m$i$DWJOfUVfs>8$`0 za4>iXECxtrwsc8S3p8vlVK^`!a#AT&xs$c|`Gd4$p!`w+JXMZ*%pN(r2CK$>L60Nd z)0{T9ZkV6$Z5|x%?(MZ%dp*W}ekeUe(W(jd)nLHEe0oLfVBcf^un9jIJe_JJ&G<*5 z%OW=M&22$fzoKCY=_o97T;8-ptAe>Hovg*Xg`2}NLUN@%1tE#hsv`8@S!f23neo~G zB=5FGIceC)%Ee(pC0+-~Ay$ZqoR-*a1i5qIwpnV!7mOG^s1rW#_6Rs z&|UFnp$J)rIK#000g#szF~F|;;+eNOPycfFyYj(J&WCDeZp@&6S#sFabyA?76oFv4)Kj3ZkX6sS&_MFLC;Nn4HboR zq=%eiq~yw{D;W?r3%`iQG+GxjJKVPmMLs} zj|BKpI@thNykg28>!mAsa&0n>dd~Cl%!};woyK0Bk=$_a7g*7I>E-YnBz8pmaEJPe znqYal3Rw{)(&2Zn=%XZ5`EnQ}nf#VNG(^#FA84&hC#!P!98xo->T-l^GKt)hev9X} zg>K)s_!^t}Y7)L4EMpU-V|>|5iD*MC!6hi6a>{`}0lAj6fw>mX$SUk#_T0XKFe$w8I89*f*_2 zWZ8?%i&D>9n90&8MS2up%WZ@|pq-n*%{}(dE7fbk}vU^pyq3{2GS7?91#dwyqV^cp`${9b4*I?vzCJO%%p9wUdK2JExagF zt1rx!r$^N>CNU;`?>u8v7!3e2ts~$PPjUuL2;gJ_mkQid-dVZ1LT$s1# ztpk_KER0?#Ye^xZV+T0#0$H%!y^f?S*G=pFK28gISsv0)=NDx9a3q<9X|^-jb<&Pf z$Bw`3q@NUt4q)d~?r(?OA`{z?(iBG>e0knAGdN~@&UmOnirxIWyJOqoWgHs(h^3BtP z-({%gPf)IiL{F_Nbhqs~)?K*%x24Tq1jyY2TsLPcD2@!kU)cd=u*xnVIUL&lIQ!p! z5x>$MQ9CNXlKmUemgW!f--v!Be!Y9D^1Tk`b)(`%!8S$uWAB@zsa{IK74=jJqa0?O#KVYuC^kz!?MHC4};;$QtG_R z)xBLYSdnN*hc`R@Ta2WvteF%@hqgF*SWjuuU54wWYNq9M7V=K+oh%@^44Ci%I}ETu zF93Eo5eOWJAxLS=oV9R*JCGy1RnFpq&fMS{TBWEMi&DA_UP>bE%1d_@Z%75+lgrAt za0;N&Fg7r9omL<2oAtM+*wZ+twmm3mh18kwA*S~GVDa(wS}5E|YIm@^$~6dXh#BvHw!USRR9p?B6dE9D_gLxV5O zu7=`UgA&_&k7G616CXxl+%0Pmtuht;j8lM*o@OMKPK$J|4$}Nl{-%$=kH53C6Q>2s z)4HzhEJ;7U(Jac`lOx2D=>cn-Fa)wgEZ=Nn4Zl1F@gy{UBV!-}6lf91Og1cCCZi-J zr3{eY2JFDQK-+mCZE=76^6LJIf?7C`uleE6wY7;;>w&Mlv(JHz#f8-t2B ze#iBpJjaE2U9EsaKfv}gX|XDcW$672z`WIpCKHyUTrU&B9qZoxVg?Tpc@=zJYp%$ssmUdQn{D(r`bt;rDecZL{b}iKvbhfL)Vfg&aGVb`L z8{KXyX&60zsYZg$%4(*xI!7G9#lXZsu4I{6!GozU-=~4h4$=O~ zr3mD^S#Vwx4^Puw$!|PjE53i4PnB-u77H%Nv>uBN_85*;k9_Q>N3@O}T4c8c+C`%- zX>SkHh=P;M8HLTq=jCmsF9OI%3j1cr&D;}STC)IqULIZ` z_yR4#kYZVy6e(zrq_r&l!*ejA*ayDXgXp(sG9m_gYjkH}-fM8U0TAXrq^7pbBeJ_Y z*q_INa0FA!C;{aJs^LRF_^g~@GOtn71Ih^k-z6ysvx;5IJ$9bA%CVZ~b5cl8C?YBB zB{P~7oLm>y8C-cVNs`3Ks;MyB1gK88PLon~0(R`0(DMm~f40?>>ulK#a~U5S3&|`r z1KF_r&^5G@&l#Cr!vc7#%-+VNm0{N*HLy$ zYw`ut6Kq{!^6&JvKw|Cnh!@09Y8W%MM3%{npF)HK^xz7SMkK0ey*N|~?A^$kAq_(TPFen*+p(gbP3QbCd0FG%% z+V9({?an_$zGJXA*k716$Y|XQf(S{ltj*Df9Q%|Qvto@+LQmY2Z;AwCrOAHe958z3 zG7DUbDb2$J=3zPj_oxTn9x}>l8gyv?$oPQKKkU1_Z9>1lqUrIOgE6t;en$PS;wpAG z?e1MQGk*S^1=%D{(R?ZB!n{P55a+_P*yayo`NrQrDEYg91rQQmSuJdJibthi$p^LU z|Gab?LZCBnK?IWnL!0${K0P<;z?2OhP;{WBN}^A5(AdvlF|Behqu8<-pllDA1D#Go z0w=P^BDR;ZH*^^~NDC2MkFzMD%K$B>(F!f4opa$Q0b*;2qKnFZl!+M>uK9FyyJXs~ z%W$Ej?Aa(NBS55Qnt8J8M_{g)ac)lP15$3CU9oiAz-sfzadIFOO!5}xK@t!OMw46s z47v`9sSh$^Wxms4F!gGve@?{9d_Ft&GqQ|!C3@y=uBU*+AQ-xCt%dM!3?#9ANwFuF zdFcv;hMeJOTK_@~DxuoL1#by_j~QppXezQ-Iot4*O^o+c)EH)Ie8^}`Nrm;*p8r4>?(9KLy9#{yOg`e z76xB$5e>e5?y$!8QWD;_)sw>rQwtc%cGb@AE=_O>h$&@&n<=GN6C9(Vc54^f$wg5_ zgcj^@KtsF3d5Pe3M8t49PS(OKn|S$U0Zi&;y< z$*gH=&xs2NR7EQ?Xkea$BFcyhT z9H9?jEcjdDpiYz@w0TKdjdnS_51c~D{D8R^d1<}p+&O+8%5$YkDRKvlcmPv>-bLKD zD0V}euyM(cD`nvWsTMbJav@TGP{sYIQwWBi6wAd)4If)yu*KaMUT9{&EuRBI(FAI# zg~507Ra)*nDmzpNS%BInX5SLkX*O0aH*`!ca^=f*1tQ}R>zU(%%IHVM7v++32r%3b zA8a9#o)P1SQ_@kPBcdllQ*fa#HQGm(013rg|NYSVe;r}`p+oC~DO63ghRsPSAm_xatv5t$6UE~UAPy=O-$vi0p%zCP z;k~<=!X`zNUeVccKnT{u>;E|G{&B%nU4fTZ21C-V)1I;4_au=!30CH)t>dui7*hvB z^hx*Sh&iPCMl&d9g;uiFVnbaCDso74+tW)e4`3JkpUFz3UV&(OmA`y!o1U*42)85O zptR3`iYmhzSf#q8G=+7~ze-iKiB{n$_s}dzEqGE%y6;P#Rq7N@HeoE`%Ep@^#MOM> z`u2eaxjYLTM7rwMay5bNUD4*yK2z?3JoB0lIYwp5K&9L@oZ|#w`F&idcB`V7I#W9& z0$C?UhfY)<;)lNSbdyZs=+#8r;>x@HAZW z%6M#K0z>9E85e(XnNK+3LmM7Pw9H`xy#3z!doIN0-Z@HU_jY=%{TtE3jfb+C--2;< zPr{1ZKmT|r{X^aL!{GK&zs(K1OD}>i56STQ`%u@B0E_hYcYm>kKy0hVcTAci_(eB2 zyH?@fe}c2E*J?(@BdsLklmcyakVQzscaj28VL(`^&j^Ve5EW+ZD7hb>zT%73x*~Wa zyy2CmmErgcT8lD`oRw#dA?zV{TH**jEcQpY9}$6e5Y!UEQX`LM+XUlvbv{ql%fvnK z-?8XUU0vNco6D%LA(gZS0bE8e5Y45go(J?GW}?)y7JziFth|Mz+aY0~>UfLZ9tV=` zFYj~u7&CW=C)(Me^wPyI(bwUDF%052nNoWv-hcGFpe}LS$nb8u3x94{*svcdS<{@H zi1cX5w#W8DJY9Nm%X${{D&!?xU<-Sw*#r7p-4wcCFTr2e!T ztJ5~RA`WtmIFeQilZsjpJc8>O5yxe*n^y$o*`Vx9mNZdn-KLrEM`ZdMbD;Ncaj{6T z(5CYSW(%;iheqkS#3Fkol%y!TWsF@=jxiw8 zLq%FR#~4yR&1a;1nhD@4crzp<8)UNc`XrkYHj=p5uZclv!X6a&8Zl;4;IHJDIj}iu zJP(4qOM8Y-c!V2P0Hc|oj_7|b-=(5f2dB`Y#6g?7!HG)A1K$J07yfJmlY`G64EX3$Aeb;vbUY`$ zYNUY&>{k_@OwCStM*rntaqnZU7$sP_lwPlRV*+1$bN7*uF*`Y@J9GJFwVKHNWjui( zX!e?;)5Jj0EWc3o*h4dmJ%jeTY(LsT#-zpe)TMeN4Ty?xAYpah-g!NYd5v2{&z*_@ zt%!Z8^pnJZ!yf^DslwieUt^{IZWhA$y=WbKMa{aSaQY^?L@fQf50(>)X)n2_{(6`9 zc(mVIlR^^I4tK6_ZPP?eKr3cKOjoZ36N#x}6_T`o)3z4jy~@wT_xcO3MW(W=nB#RM zs_G2CUpDS)C7Jg>Rg_^1`rZ97P)!oKt2~9yk z!L1sEW}}2=2J#&)Y`llHx7Jw8{vd#8<2}f76B}`K$=EjP1@dMCX4a}@=0|b@SQq8k z^!!80>dNXyk8JOa&pveVWy%_IiEcuFzFgle*!-?89xx-ZgqB}_t#fU7c>2DvF-F7L=`vg|ZiV57mxwkXHBmqxD-w8kBh9AXkOH91MUIk(Mj zRKNdqu0s%n?lSD1C(bfTYY^2J&Wj>OuBE5~wJEU>I4O!qt1s(^RgKJLWz;O8Dx{2l ztX^^$F%bmjr+9zIrN^Dom$BBUml0&KW5N~o)nWWXK^&x8+L+p6S>hh? zWo1k`-B$FQNKcK=N{I9NQG6&$)vb$;!5fxL7;&NRfpqK6yP28U4NjPQi1=SJDDgkw zKr5|^J`fREwKWUv)HQB+%vnkAK~C4hZB@1FcpjnUHjiFYvl%U?Ig+38o1~juaQB^Y zxXAeSs^I*AiSd-WQhHg%m=n8g`1#wW>g-nqXH3IVZs{+?%hO{qmur!6Ct813Zv1_N zumz_;9ps!O;snD>QnV>lpsU0P2t>f1h}fCu|6}e=z@hHjzkebT#UM+_Hufbm_ADVg z*|KkCFqSMCHFinJI(FGhma@edYlDje-Po z4Oqo(8xZA^c^K*!6JN?gvqK1o;GCAI%{Qc!us&oP+Y&!1C9KH9s0E~i zy*uC4=sl9hB>!T(bfDi)6Lkd>qY=N{8(W-3#HL3zAB8?%zwyD#)CCSq8J_$T%$V@cnR5mJ4S<3G>a2BLA%7AIM4i{Y>Y4Bd@*^C z$wQeWe*L9u%mlIg^a14u&_$45tTJ;Jab}+T zYxxaTSHuf9&1=G|z5!OBC6--FTzfi>T>kCfBFOvRHt(Hk4Gm1DG0|NWSYyTxGy7}& znY&Gb{3FNn`=a-@;LZdKCAGdeXIer>51>@RxdItG@ z){Srs=?qvf-;!oX2j(U)c~SzakIkXEsv_5ArNBUL*!KLAOT|p*{NiO(h@E8awFR9A ziUacPM9+za)UuI8xD}kAGf+M}-?XWPjj2g0B|#C7%1e)JUXY~Uw%m^#AlQyQkYgMH zn|^lH5nTJw;>#O6dncx6!(M$qF%fL#SsgO|wA_aQYx`$HI21X}kbZd$*El2zB$9?h zGoKe9(K?SP`g%CKBy9)rEAmAXFJUjsw-24cHSt~+dnrb9yzAxVX?cmM2JDnr zeR3$0itp;7<=8!*x6SsW52Y>YK?AROk{Hp&<{W=y8pru2BFd7FqQ#I3)?oRd;g5a4 zin02UtdrlEE9FX-b-cR+-qA|+^og?LRguWDWveE}_cz7tL~%kKLKj(uM}xT0MVR&C zN`9_;jgNIX56Rf|XgwpUEVA%o6?|oH8u)A9Hiyi`2%=Ia)O>q5A6q?Ua3V**xn-?w z;xl&We1{!v(cb0{rS0|;T6C(%b|$Yz(0bI84_Z`|M!xXHE+ft4T#(w9N(i}4-i)O2 zhZQdhSIpF)+<}w<4AeXj$aRsw-WFj$qyL!f{Canu#VT1roVHw=dJH72-;ODdiQrhz z(+$XhJLy+!oAs2tW>U3XaiZ-PS%pmCiVRNm;>JdKDY|SODb&=&h~HrwTnUiWPD`e= zXqvN3_yCca(9qpSX+LJX9=gOI|GKdd>J##)yRt=ZCWU&dYF_pJtcN-+3&Y4Wa^rY`=Wo~a%5no zL$yz7;3_V=C-aAM8jirCT~wd(DLq@OdnvZsG)s+%w=y;6;zj8UOKqA502aVKnj7ITMwfIFu#KlIcm772@p;6m_>!NN;`~KOi`5zsNa&K^k z8G2njsoP6dBH{uh(!^bTL!KS$22Z`JiPU21j}(PArxo~O$oyj1B81NIouidbQjFMP z<_GbtC)|q>q>StaIpE)eM>d)<2pm5W+KYXNkqq;2TWkx%;=TBsx-V-(F_a83s{fR8k zvF50B5@%&mY4OD>ZM^)vFv4j?(hQD*vjNJ@;_s9$Hl8Rz=~DO@qbQIx}FhQ&XTeFnY|KKdiJg~Yq1kPY{LfdnM{$K_KM_4!P+*43)}QP*wsjLOOU(7OT-;DmQa>7U zPk8TrJn0u@Xd!a#W!Nxdb{^mSh)^2r-=zdtdcYG7fm#* z$*w%}?oj%s!X9=Ad5Jlsam}obpqei`Cion;-=AHeTT;EL;W15)M5+%gd^d)PQ!k+?%hiNZQ z_8QNI731_vC;G+iJjOw=G?XKhk?U9c4c85SRS}1Oa4ZZq2r-p@RS;vTM)+mAU-g@) zQVE=rlSd*0mRXQ)5_#eCXQzD*KP`LCHN}tF7z;!dixvCe%PBXXBIG$RQ5$^E@7wKC z&3LI(dZAT+;g8eWV-v2zoj|Pir^JuhRG=TApz!XB1}%v1=1<&rAT)t63NrSZ;U2@? zJjv6-MACAGhBvX>RO9Y+t1Ol28IF3jt@5shw)0@cwaF8srnPysh>*X@J=_irQ?EI7;jjxRWQqJ z!SO?x=%XQ>+5K`}B^WKBb@pxDZ`E9ouJpfsS(yH~=uc!@A*~^YhYNS6pKTtW+WfKe z@aM%Iv><{N!H5KX40r<<8|a+_+o2f-v_oS|?i>nI)gTb6zt820}5W8b1hPC0c7`un#xsTnUWKgGMI9-?8 z?CQ#!c~7+e$_aHU2*lyfZH_H-70_NNdyQ*Oaaq@zgolj}zGv zrnaxJ5lp(!ZERXejq4N|EAVB_IOOjd;{RS~mz>tqr?2Px23!;(`IB^^JUTqRE}tZI zxEQ2Ui7v~6SGd_)9EAYwdnXyuj$^Se- zI-kW`mq_xWe^&CfV)EgdLf>s`$*dM$U)tC*>oMZ)E!@D592ys0r)T9#C>+Di_FIXL zyyEFIW)*oQlDN&pFxPv|!^<+wx`ahJ%-SvY^bl`Kt{$A;Qd!GND4i~lEH)^wF{q~i zrkY3G-XV>{ZIl~Cfme984x=4c63>Rfp$9LaP5H0Cq`Gvrer846`%LiH+ROwrwQgj? z4L))aYBgf)kOEJnVzq7V=@esSbRI#ak|Ko1S0F1O@Fqc~`^tqO0k&vs+B6YyN;3n_ z9KD;-YZ59ctmWF)+v6i0zA*bH<*Y4Ts1Ph8iB7|Z^46PYr~wvL?Cp>PUzzR%LT#Wm?z-h+IiyI}R_WeXN_mu^>z{!g&25ghr;AbSpEmVDTY zNCfeQ*W3@h(jn1qu+qx(#-~P8*KMkCT=V`)jo>CZiZ|TtsVkwKFkdV=^tE>buk2$O zMa9AW_<+0l$FcJ~s!8N~AhAAvWYo5dOY3Tndhq0>=U?ZZib)wTznb_?|KP4e6RVr^ zsat|~0)(kWbyXJhsrmh=W6MEQA!$`~x*)Ur8gVo?dLl*_dFsOY&Hb_fTuI;Q8;m9Hpkgs&}dWi@QZ_nraYgUm&F(PrQY`}GYApx z*$}_`K1%pIi#|7Ix}uG$iSoZdve)z>VeR|g=4SLm=S`LQ+ifEdOS`|G$G`&tw-}=; z%QXer7azs_>Ys1Wy)iOn-g8AW3HKl(895;L3>>YC)6)Wj_r%9Mr!X@xsg;RhsQiw@8N>TEl(j`P&OOQ#Ch6Rv2ivPr;Hzdh<0M zdK3C5g;q*sqWS&bXD#2f->-Zsb@L9Lrdxf)LEz`oJgAlJJBf007DbD3Tgzvs_PgCP zy|`}jJIAG+l2j?7ocF9kkUhgOTJ%kv&dJ6KEx{yato0X!O^nZFM+VXtO3%9iB~(=Y zSw*r57a-DM#JIZvp^h53V%2!vD-EljSA6dOyvoj{>+0(CqOKMSujPrPq2zisz_sMAZ{U;_?bZ3wVEp9G0%$-?$8;LTqTpxjoqpPR0h6MZe5wo70^>T0ZEt`!#x` zYq!ff{xSpK$T|w73?rmpA)aoxUYza~^zBvtE4KCG0xIQTE61i8OOcmyRu7u87}-h! zW!73mdK7CO=en=;nDra+Nb+yS^&(Mh1ZGn$wtUjs6rxV42G*v(YcI^Z7nWA3bol7x zqT{~2MbS{OF_M$Br$Bz&+7@FGa0SoTD3c=I*8x7uD$cjM>9BLXS66(gQ?HPrROmc< z1vrzm3fZ3Kx<$0MKHO9sLhL)1SWmsL8VOXS8@4VfiY=6`rMflulBrwSy6(iSG;%i& z-iH^7P+l{2h0l%ec1#&mF0o%aVp^Wv{L+-%^97bhj1m%{3wq@yI#Ufba?r&_+<>3S z&+c-DB22Rj^zFB8`j~28-x{aQIcGSBI+HPNQ$~QSlOVDb-U5P%@(hLQ4+B1$h0X@Ts5W~flNLh zubI&-cJq@Lwc|2)I!O?*$=NhNwai&+a`*wcuIdAuFImRvPj_h!EnH2xJ@=&a+4lBK zmDeZ^H4)J^$(s@OmhsfY1B9C!0?8xjC+Oz0bGoPhExv5$WQCMzYS-3qUQgH1abVuo z<|~HdZ;vHfw-fwz&kTt#N%ltv{k%)tac~Iuh}`mb`lmzZ_>dXqRdR?dR22JZcw(yl z2_xeACglb`&U^22ce|S#vf`N%erfh^`rK*Z9eR?oCTIar9>aH@$o6VgqCpS6m zj6{bWk8VxlE6dNR^F&^PjHz>clV!!W>d= zQ*zyFCi(?_?2L2iDJ9AP_w@0>H|X4?=6!a>MK`}wf`=Q^ev{u3rveB3&{Okoa~Aq3 z$7*`U{jHCSUs@c`g%xypt6jupFyehD+gE%(9HOs9viT_ei7ZMv`4Q20e3r)v`#sR0 z;O~u0Kx3qzZD4EGWD?YS;5e(z3u)#PKLd5~fpv!qcWHqgULWTlvy;^2vlbMb5LtvWow<)+Q3#Y4ip z!lEL)esgK4X^>nRT|i(DTpI6Auu++@Tc4<+=82T2guIEo1pZ5;K{3|uy3OfZBRmfVPL z&G=(}UzZ<0cH%sqJV4er$7zTd>0#gM!mhQ5FsHrC(zubposuz2oEhu^v=1{>y%Do7 z$I@IwJ|WIkPNC8=fjEmBUas{2HaVqgnbjRDFXrMri1rHAYz?ewlp@v7CG9BA7fz4BD?#Z8d~ymcVid z3f|D1ip{UG9%Oz@13n0R{C!TpPSE!Q7XSq?2J=A(Y_!y5z!?m(e`6D*VsRik_oDkh zDtO`@2P^i-jJk?B^msa{+m|Kc2ICfMY#9(hdlIBqRBaC}MEK|y!za_AHvhAI?COHw zt}#-)?QvSA7U#&~YD$KjJ_jAwO?E0YyZTf2MPZnkmz0#2FF(Ykry*3nHJqc$bbjC! z`ve8evp1Pf3dL>6VFX1b<&=SkD-ixBcFx;&!P%3#7nY9-`crAvR%27eMW%)x^cK2t zQU-_5xR_@4|9%ru01@{%rlkN}9RylBdOZxT27VWb! z4|2tQ+>?C+LoT-tRrb$}Px;K!CRKc!sCBsaXiCNoeV^AZ49M%bAGMInx6$Es>HAmc zRUQz{2S;fexTXVc6;f=-dJyVU3{|UcIOObuC%-WCbOu6HN{%^P4^3A8rmH)#@zvGh zpGvVFW#M3VM$sklHF~?hyG%EK}#oEGh}}o_^rn z2*in)1AJIBM&bV?PW|_P2xeqYLG&9&u_#v>@Ic8)1_yfpNgT{SD}Bn3bmam2t{d9? zndjo|=_V+`_uP545UzwXOvLeL4%g3jKVD^2WYV{Ta)uX#Fa+(d)R>(9mraYpk;b z6lEK!fBUgiTDzQc#7bJ1OP4%c!1m_3qz@UuNzYpt$jeI?wWAlbsudUiPr!kA?eP}= z)XHm75)M2bjv|7hU)3p6X^nk4uH1M`qkC4ggW;-dPSljbi*uV36>*#66BW0+VmzMa z6+EuA<;(3F;;b@ytwbpm*T;;qtG{LT++X9J*Xz;yt~#b1FGh7RNU!u1 zSsj*vTVdJxTUmJOV1)3*)NXg@8AQH7qD$nlb%}JgsI5a9Rdks%ZuMUpMLNLnO?MwP8UuQ))6zT9)2dRu^=)W9CeM z%jJW#S1%7-ym2&2TQXiA&g5nHGltMz{H(Wp7Hd|s#$%*Cn}zc z8mzx^6;F*pPs|u{H>WEF0I$47+(Uxxn;_}_5scmWo4j%d=Tn;$M^oCoUvn2yZSlwr zf@i&a=Ymz+&56hvh)uQdRmu+_+1>@%pQf?2P49+rxJ}Y8QTADlXOsRNeXQ#C{`WWt zC08P_ru=QMOWPNre~L2#uEUd}#||RZITW(l(iKub=n)M-WPv&JrEl?x75x?wt~V?) zBSibPyBLBQbTsHSF0oNYQbQR6C~xy%7U=IWI=0;}bF%Hr$Xw#Zl(x_iI|e75OVJtu zd~l%~PjAi6y=@+^HxB!lC+PSoMu}n2(dko6U`dS0%!5Kj_1Eevrx-6d33+#A=YfIB z{%w1o@YJdicL!E(gZ{1?cDS(y!!}i-<@{li5QomV);I6*Gf4*H$3$8N5r=oGKKxJj zmvdyN&dyBy766y> zr9<_abfIeTJ&cABBR_4O+Wh;JT_-lLFk^`H04WpgXj5}lVvYDQ_0*-hw-*hS!iKK( zbj?LA&C;x2NB*+E%kLP~mb3n1&&@(dIw=eBfL9wPHs03vk&$g!Kt0AS_#!k)O6JY5 zn0=8zQj`#lr);ilomEwX;2(>wu7jHYeIu@AkY=-`d&?|;O`RqKje=3ab$5G=1k7S5 z;)7TGbcf`t2I$^&Xxw(9k!;I>xfg!IA#9AwR6cqvEQeS=P5e}8oUN_!0nr1R_y*@njtE5{FCIX2JtxVFHT8pfHG#aCjEsyQ$cy6}+>5H| zqzIeTeANuxv@rnV-4L&a!8aRxvEeicxc^nWKV_2`15MDz*kq#-fcQWEp^ z;HGkcHZnbPxdtI9OiDjim>P6Tlb6Scd;qKXaf$bsIL4O=y%?h!yQgmoMan9DaCy2G z8)`m+$}`xUD^kknF9YIIddTSb#zJaaKdNVyJh_2F9AmmCK9CWhC&)Vc3dice5`2=5$1fN*l)FnU=a-BN0dO?cPh)na=8 zQU%i>rd9mtjp6Kp%ktz-5Sot*W~cSewbGA#4-GFoJcclv>HcM*5qDzHT~b}* zCM2e3^4s z4!N{~9y+ZffT_#`l|MDH*61vBhzO4GhiqG)HIAqEYz~zw$6JgYD?$is7q*WGB@GXO zT<~^dS5%iFwISeccTYq`k!o%L0yHe3WkH8c?mK2(E|;i2mqtfrtD!8Bqj+nQoqO|6 ze&2-1Apbs_VL=R|(3A*w$)@0cGEav zH*EcwBTZA5J*`fNY)IAfU+1U0GWfnpn+-#ABZ_Kv)r^dM>Jdj0VbK4HCXPQ%v6u!S zl_jDEtOUJAiu^DVQos*@ZFoUf#|r*NcQ(S8JwxEHTzD>k^qL@egbGNnQ6Qq6E)0V7 zntg5lb1gy%8JlGs%fb&LS?<-vM@vQs`upD!Y8*x{(y%9G}8*Jh!H9{ zQtO4K_;?Sj#~D%5?KpIGG3Dw{If~7OZI{;{-gcPU^kS7W%OWEPa%MGu}i8z&MdfgWq#4t*rNdQTDqfdvsdy5_IV*Ohu@MBhwlY$^PNpq z{&L2G<#C0H^@+-dCB`Rznl(X-#KV$ixL=MQ`amV&6e&zfjt2CfYWEi#E|)8)_D39{Jmbe%;6kGT(eUh{3YH8;)|-PyNswMn@0(Sd#E?g z_BtR-y*-m;jm;K^s@7j2DmNwR)ln0s7h?(XcoWcnNJPjo=5tPNaO9JbFw$IIM5-G`(a}? zP1zg)ZZNl-vrHe7VOw$5uU5+4uwR!%bcHx0B@w_Dl-IZkovYrSzMC^WUSP?>*l@0Z zHBEV66fQ1Nu833kF*zfeAKfw=BeyPbjdC#skRa%$5{I|YP3mH8^}z(XAyc;n)n(yxO{fAJjs=0vXBi^)hfv0z{0 z7$=&cbEA6;A_4RM!_2(uabBLEU;uy|;_WW^UlzPlnbfZ>>tC-jaLc<_jxy|Bll}FV zhO_OT&%D(A?%U=E;&x}NkF#Z$q!Xt?2$1^<-^2)> z-x|t?eUx=Pdzaw+bnoxy4Ny0k(Ya_#o^-sYOXj6bxro}0vV;rGnM9V{{%ochhv+d7 zyaF9Hj*a14HLuZLY`Dzofk-=SyK_x|ev-%GmGN%w`` zF*s%kvP<3EnwDfYqV3`$i<0VI;dRRDeI<0ATOg-;q+vkYY=ub+LHlh^4sWUWggj^V zG0ygt8rp-X0q5jb9DnXN9d*_d_lmhdNw#&6!~NlFkxQ&jy>DyKR4`1JSD1*kZ6MUU z$Mc;UU5}Url3i@-L4G_f#DM0q)TMktcbFLXuy%e6xc+R%{dbxOAP(qfXX+nyL+r6?IXhq&!_Vb?a zoc!2Vhxjz4H8ce|XJUY${T`Hs2Sj!~DXiMP!Y8mEpODb6@>Dc{N&#ikv%}ESCFKyI ztG;FG%&+=Tv4^E1Kg}3ZsQWQjZ*5q6Z*`Qk1U=$qVx)jb@q(@z!N}+xt9u_|Omjcu$hV(Fr&l@-#Y0ffKppNavT` zzP_;WEz}MW7>_etV_@tYmpGtom7{vjSLZXQxlmVoKld6><$wA@ypXDU2#_m?!^b`c z8FWzcG`KSb3lDD?ko|#jzvt#kD{^g9g+L5j>mwB7)vgxir^{mR1*%PM? z8>NYUH2$cWBczV1=OS)>l8fYSXaa+yUzmC6Dy<4Bd70&%@k_z1S&Wl7wvKf)OpRZL8b#(`zpjAdeRj)F$N~``Ervvq zJDB81W^D&j%ywCyvg#+y6fu201-Dnw5Vx7buuPs)uxwnR3|vd^Qu5dgL@Y&&OGiZ zMO6^ImSyro{g{~6SaA-u>Hkb`1<5PBbg=h{h**0y`-C}u5G(*svvJM(oov2b7-R^@ z=8CS;DZPcF|1Hwwp1Ag>bGf4jK$~#XP-p~5yZs;^nu+;0(ylitqbrZV{M7(N?qsda zWD~PpPN?&MSq(OWEr8|CShK_ZvB>IA+iYuE zes%AQE}7|A4xZ02{E&4cW^7!rL1j|R0MTTo=l=eDt!1Hl47s9Pp-uIHz5n7j&6d>P zl#6;xuszfr!BVtfR_kKF#&PWRF_*-=X5Eum@+P2#_%>TO_tpjf1ZrZbIMZL7ewZ&boXj+m{;}im3gMVtsk1k>rsB3^28+veu`?d?r02a zn#l8$9Ev(2r!w!Z>bzLSjwDd_85)|yytI@Yy@Z+Na4o&VF6H=~ z_)YSqJ6twkO3|6`ZU>y=@XbIo2dX)J`5cAFHSEu$SDWw~0UWRYmhG~015QJpz`)j= zlJ3(5omNr`wVB*UJErnECB73}iR&HA@9q{TxO{7(Zj8^3zsl$^sG0ob)8xBBc|OlV zYPM*70{{i@7`Upkg{nb747)R$SL$ME8`mR0-Y@_t(96!5tnuK-fSf)sU{Jp$B}ckR zy;kw zj@@(uP&4?_I^Ad|ibzSJ%wR?R#jM`NFi3ILq)+Py#PFI5z7exQIFaZoycl!7w)YA& z^V$2P#v1EV2w#v34(%6T>(J)kZz){%cYmrs8asK8Q9wGEAUnAqgsNW*TDQVTl#ETh z_^Kw6Qe#W@eOK2E6sZ+`PQRDzN#R)_cK*gJNy7sC}IP#Cf0%b$~1xM$uzH2WNN>y%tLs_nz2w$G&C?{H1~EKr@!=>y>-m_%&H_*wU2J}(uutQq;Jslr@IM1mA<>7Eyl?? z7?m-j;XgFB{@h(fOQ1?a_R7jVd2?GonD(*blo-;z{zP`~@MqHt9C-VOgv5&d>r4i++McXW zz%0oDk5js*qy)nN5XBF0HeUZ#$#@MHpuNQZ_F(d~p*^AR!GP}OA`{aFmx0;CZ({6eufB;z|bAMWsp4mkb$OAWK4Ydm#HVGuvC zkt-r|ul;5t9|9WBSzse~| zL!+=51L%#^PhzRS0ZNk}BgI0Z#W9ePXmL)E-)M28|NM$noAV6d@3T0Ss}@mdSJneN zSWV{X7pKzV3=hspe1H+tSm-#Mz6`T3iFf#2AGlt5C=Pd)Y+yIi6Cs`m#9vG0jPZUa#@2@vf)@@d zAZQtk6;D>ym&o%rsY(lk+a84{Hw~|S?*jSH|0r1cT~=(I$M zrNk?&&tdsD9I^UPz7ZYd`r^6tQteL}buhY>tS)AedSCRIzy3*SrB}8Ms0i_yY|UcD z7>Wja{&JeAcTWq2e`Zz&<&8_eVCEsHk37il9bCa8+!(Pwuc+fD>kuFuf|`svLIQu)z9VH18#Set5b=( zM0JS#jx6uppeHesi);xSn{tPE>0WKa)rK;eFfJ8#L%W%NqhkZBl>o((jJ$a?dNpqJ~Vz?4XuRP9@Bhneb`iArY192lu}aW zGV;-%QK>maX@g4)^{^7>b?%e=O86V%5m8VpV|U{GrI@Jti`r1Zi*M7BpJMmdHGbiJ z8#i8tz^QfRMzg6zalAp zw5DGZLP{Sc_+->wA*GL2KaJtdSFefoar02v$cZRse>R>isUx0h8NZ_JP{pB#G>aEr zAGwv~723G$=_i}8w=8-u+%Q^G4{CCA_*}(T+lZejHZdX}Rn0C0mXW7PFTnn0xckVn?AdlB0g>PEqeL)jQ{)=Li(L$Yo|)*&d<;oIj~Y zS18_kCOBoHQW@z{ntvRiE7jf>w~KsK{-$0%Z0 zMRP)LUVWD)EKWX5K~NZWSV<6x&EK)$t3{VvlsuZN3_Ky8X%hFmlY>cf$;(i#LNS%O z`B00q)XYstB2xd|d9m^8clQ`Q{=+Q^+VEl-AyJgMW*0YSYegBf^wc}zwHS|b$EXxG zb=%sDVb$o-ej?qRNcQ5Gw39%hqF4byaw`fH9&pLVT=_!GAW!X04N1cAgLYjElNX zW}dsLN8o2Xr?FT!#}I@d-9szAKT=Cv}7vp zop#n!m<}^c)+MrdDHenri*xGqSkm+=%lhDM`{v&H@yF%VR@Dqw=n$_VJ>q=gv+WmZ zcJZ5A+jqD$hwL7IZl~CLB>htvTJbpa*WKHEe02{0q!Ri4L-B8#HcS`(tvbMS+yW0z z3(7vO5m?*N89R^F<5Z{A{KSc_8Rqr2EF#i#DEm#eNbB7AV%j{mL8qJkuw(2Ss2UI*!%WD>#I9A~gFob&2qYc#pvtHdmZk~BX8k} z7{;iUHS0Dg!p-x@t#z2eTG>@E7ymwf@P*WJ*%5V_Na5_X4tnvPHax?x^Nh6%Z<_wt z&7NtiDzn&BLLw((q%hI2yZp|ZO9l>-|X%b@s(+Li?S$^PzKi|U}q zLGA|V9RY{`@UjAx2wJ~QB%FNV0-G!6$rsf80DrxsiT-SeU_`y^)ne5!6ZVn~3T@Z8 zv}0Fl@wyVBut#;N?I`?>V~u#b^*XM{&%kk7J)_%JA-MBR-5r42Vy1geSvdf}w2rslb)`sj{uW+y|F!N~F2j5b|yf;S{|+ z`!k$=nrWYA3MqGsr1JZSvqh3retcSVuc1KY=LAJ*qkzhfuffu0b(n5c``V=ve~eM}AQ?LK zs7lq-fT1(XqZAlA2eLdp{w(sSuG%cQ&+yT#RV!s+0_oZOncF`=vQr|>`{y}AI6}zB zAGw^U8!^v|^--SVonQW2SG@|Q|=Kqb^R?ZfZix79 ze_lDvpogYVwY*q{G=Z~ti$WwrH)EBl|LB_!x7o4q&DLG1*y!G}Rl>=yY+V}MGIy%( zc;aa+u*@U$mN?5Mu3ontOu2Zasi6yd41!?4b&B7xE8V=XPL`hqM7p-vDZH= zxq9qE9kO9NOlL(qm2YEoCj8!C(2Z=DI@5%FdZ$E=K-s47#X8C_kCj{TVNQS|^NgEU|K?|MFS zDXS9iulq}iUZa&X@0-M<%v{Q)Te&>+&4L7aEdbB`DYqG;lFV~|tI*gHKt$dB0TTf{ zn~^9in*sAf@mH?G7CUh+YK z*uJjv#TcTT7{@E&<|T z!iKFk9P+8pRG!Q}Uu{FRQLbK6WXFHUqzKs16O~uAeL-}S0?CH1X*8G)A=%K$G*18< zx`O9;%xU0@_4E7}!MX7T>HQ;}V@f$RJ#0F)jYDRG{KxB3no9X~dFwo6Lz|n^>(h8X zBk)?(_P@#l0{%Wh)0oJ}5`304jflj-?EuS*c>`-VPhBC~8F>|_93U;(&D_`-z;xPY zoxpr*#uhncb0r`tLRU|#IEHw$ytpZg-7gr$ziQPZy&?PF&5d0Ge^(}aZr$#i^UNb> zd2igwOLv}GVXAdCsQJJ|fmG;*wwlUSXZsFcewef+vOb<@dUtA7XpMpp6kK*}958h^ zZ*g8En@c6>?KoALDugRKSFa$i5*Cb44G1eZ+}S)n#N!)Rn`4Whg(aJz#Edg9sQ>|EVs%J=t7f+3o_TAnKpUr6s_#v*7 zI;QC0s@%Mxj52wx!`~SovpDByHKps3aEQ~N%fq$8n3_z9(cShHcKGIiN90GpHg|=s z=^yo5+&PQGsyylVVtuq}7=6^;I9u^1X+Co~7wN_@efLh&s;)yZ>tvtaLVdO9tqJ9X zMmzp+I9>Drf-uG||0%N77q4y|unb}SB+){gnMYUtf3&>^I9&VMH#|XtAbJae(V1wY zccRxIy673vTZ|SZg6N&-l4ubG88v!z2GQ#v45E!7B5K}cpS{o7`+1-5Jo|jt^Dc5( zMnq=T^8erW@BS5=Y6|zstO}aO>q~hiS|=OTyr{K2qvOJ)vtysxdN>u#K$w44c|hb) zhGRp9k^d`USaQHxOhSvB+|tcDZ8KBT@0|>0>=^sl)FtZ*tK2i5 z5Z7ZI$q_1_%ym7MkkNxVSjGOL?#O=UVlo@B)~j7Fb*0&;un`0#Bved^_;nua!PEAx zD?44h!^o}SZoBu7HAYuG$uyia7hWcZZ!!$4lVzXP-Ua;YHHWG?1)QPJ`Lk<24I6$q z^v0gM!?@%VaMtU0$S7)-R`*p$XY_nr2>b#tA*9hDjZIR8$XzAlol45?o|~KjG0WhH z-w57sCGw#n`R(X~qpw;id1p*DxrGVIqVZNb7y>JTOlSCD=7c;iU%Qn z+L)MWtANaB(!{>$!qH(jSly-@@)?@if0AWIMuGo18vfruQR0AKNIkhLJx@9v8}}w5 z_c+;aLGx4XW2I;y@0LU+&UAm!#*>=HMsO#IgH+$6QC09B3!(lb0y`n2z~!~meZuBF zoba{vY712e9$lxj-+EZQ_;&Mi$BMU1rGFS)CbtCU#~l9$9d48DFClBK%VO44^!iI#ZH5Qjdb6c|?m*_szeIOm>( z{RxD6&{W-Ts3uq&vYsx{$uJPY#`@CHkZV1bhX9(m_+EcTB2-ezxj4BfojSR8fKpL4 z@9&UZb?uX-q{ik`KhbNYM3wk3<5eG*3X8uz#2RNw1hHj+N4@G&B{hvt%`}!a zu^G^R>fX<;pvKkhDYlZhEG0h=uQK7n@u!??z7w>_ZU&VXKvmk*VpWOojn+TapwRDT zCGVyGJVe_qBpA{Ugv{}hsj$L^acQ47WRQyi8y^(W#Hyi1fshyBR`r-dCtG=Ju6`g( z$+X0?_4IX7)joUlCi12R7N#RHlC^K#nzT)aRxk;#S?zyL>=Bl_w?4Q0b<@Id?ZZ=;9y zj6DJib4+ID5acfN?^cF)^6B!v>7G85pN_s=dktXdtHWVDE*=YwLgFbfBH zLrqoBNhJkegp5vm!aHTlV(k&f6V;)^laG}zx|BtK?jEn34RX0EuJD4({4JF_UV!`U z3ZJHXb_&ci%8ZH8)ty&k=Aqb4RR;)=586$^XskNlHRgMLeuM9`y*)uC9rB~VUm&0M zb5c^Ot2e+p7Dfu}g2;I&6tKtI89X9YV*T^_6t0F`-=Ded`LJ&W&-R+9H5kSMw+{@@ zy^!?bQ$DqX`70MsPCWU3kKE0TLtMz4Q(=U4Y{1fA>iM4QWz$pIoTx4{Z(G3gXmEjk zy-Xx;L{dY8w246-YhLP+*aiAWcD3j3X!s9O8+K2lcWx6H>RnmUZRyU9bg0W`pUbEl z@`Kx%5yLtavEw%8N7buCl;x3o4XKym*KO{sHF+1?TOVV4`%hP1H@2xTN45y#n-pUu+Q3U z5m8V{9(&x(rh>iR(4hgi0F_oRd8+i%%QnX;g3tD`K#(6QOWyUB>)D6e>Fhb|%E&vw zAp5*G!FT^Sik0U|8N(H{7LVDCg| zjx7rTJ}HjpVvT^tEtyghbuHn9kJ`fJy$PX54NptK%6)6xtI9Is=uN$-<69tNIG0pf2p>Bkyh)qMIIA; z7TzG6QmD(jL-k#39aBHkHGFpTS}Lq~s?@OGA{T6lSF|+;Xd&V6`o=nWsJT27$w^3o zY+x0pu&NQlSMDP??d0@im096~6l zKiOw%om}rZ{3x0{eCta;>Qs;7xfd7t51KtAu>yYzt(n5)n112x&;5k7qy;o+0mC*R z%gGiRmb|Sr6TL4#TpglT{Oe`~~ypPAzB~X)0F;4EPHte(lFh{wBpHG+p&cwQLrjD2v` zAbVnks_@&3J;G=4Z~*7kjLuYuc}4YXTx9|)7^B1bXxO8TBUf3~QuTx?)VPc*9)-B- z^W%SXmZ#Vsq*J>-x8JA4IaRf=zvIT#>Dn@2Z8M!3K&JCYsr37E*k?@wzy%ab}&%ng@7V)fFjR*vW$?DDHLx*mlCXo z=Il%^Wm8*}$L4&54`#p8r0vg@*@z1Krb&x%$1eahX(ISvvdF~ZN76e!Ln~6&qLB){ zw4L?=3l*Ne-1S+}Qxa=u`}f4&B)$=6i5)IZ9qYMV4jX`5B z)6{8BeFsJ-3PAEWHlM(R$UTG$QfEsMuxJf#M-CylCdp+*lx6m1}nSePKizU zkI7a2lolqp^Ae2jva#&@-j$!Wo@Z!J6C&9riNWmb(quxpWsLOJgbkuRZd)(bi9k6& zh$GzGP3mnU5Tb_;OMAxGPp%zvX`rn9dl(5+@J*IW=oWwW*Y>j;;oopAn8KqOYH5lRzQ}ZYAv*ETO<{Cvc#61V_6ww7-XE$ zlqwWb@5{V|XggG+%|x~p83}@0RsM+@-c(_UFS*hHjtWh#yX3YI5;cWY)A__34=%>b zV_27{eC+cSqaHh)@1l5u?ux%<IgM@tKk*3wlU-Ps?(uWz9rrEb2# zJ3Mj-n8cE6I}&_^@Ay0E4jjk<6fTHXl}S{7jc3~{ZKCrjzI;qlJx^k7eD)E;CCkX7 ztnsNz{Pgd;{`v)@DBMix=kH?j;bFiXR2E<&19EayZi}uGTYBjKGYB<$rY)md=)-vT zlP+79N;huBu1R~cwRHMG&j{m6v*)Q_@=S&$9=If4i%|D(By{FXp@sC{gQR+VJIVe8 zhH5`exOdwVub*xap2fAExy&cPaMRfz@Hdzxe`cgE2E&ailF%gvW}40kJTlJBuEPA@}$j)(9?i?=u^2;OynR& zxN^pk|IqGs|Bfstg0nOqO}CJ!v5AK~=Q6y;k~s8{#gc;p+@n8RLa1Wl%S2KOPYwBG zxY1+#Sc6)UMvG0Vx#-qCdR$x)~!8W2lF^q z7V+VHUbU-bXvgOl2f^zpLOBe>qtxBR9lHbt2v$GbYrjl?uiSzli z$!!qte*xuxF3yuh-}UqN3ftrD83;%m&?QFo94H$)sN1mbnts>)&gL2I5vm>jb-Uj& z*VVYzMa5B+-!^ttG`ic*SlNF(GKzvcGAV`*|Jk!={e<880hTQgS_Dgeq{kZ`?HR8S zD-Gy2oGYxo79C@y1zT_gy153E3bE;`l!w^1baMr1H)3ce^BHTp%HHhLCk+8eN?5fz zHZUnt@aU%nNTR^@{454g6*VLRJ2ay5kJ(6M5pqWZs{a}X{=V5o00%+oKl#dsnfAR2 z-d%cZfgbmXSe_B-(opRj3)9+dVNz)wNriSKnU>I)kZ_s8C;hpcut@7L)e!MU5IR}y zmKaY5{Zxguhbw>%b zf?BI&*FOItN=$?mAgFp(q>ksI!+|1|BqvGto!;P8k*df?6buxpWon6eK#@9X@K>_Y zeMDAh`Yonyf!RixT^&YCo7%@0bg97ut2VRowlmn9@L7F?X|k&G8Qpc<8bopvuBIsW zckw1~m&CnBgv=N7z=Ob?lWVz?0h*6r^=kS(ov2J1Hd*81$hM`SZT%q@eoR8LWCenO zTu>QN3yF!Z$X6Gdj%0p;+>bBxUaOrnuaV;y3ewKs-|!9^>ANtcarZo!#A!WRu(W4^ z@95JBeGoYlvN3~v0Fj3D(nNxwc))vPJtygg?3 z>-}l=okN*1wWb;c@WKF_xroYr(*$UlD4fjU?ea;+tFj9rd++cCwjA2oxf?#wEN2)m zhPfZVkEwtUf1XrDKf2%gNYE>b!+`hE1(}@_L*v}( znccIeX*()&{^{2NPX$>+=HOPw7J&t|x}a`_=-$ASr#~2ob*E9|L3x3Tdf(7QbxS*& zN9rE{g5V$6KiU7<$=~Jw*_+im2_SDQnh|lpN>~L|e3)tWsx4U(pVksc&F8Ug$CX;g zGxZzCONxGb6?J>jutz70(C>+WJtj|29C;UYW9cnT2i}!1VTJ`M98t|`ExyVVqLVO0 zDE2>#DFXh4*a0#LE|465|MON)mAG2KA!Vmafh7h(kycca;QFdhpvI2|Yl>kzGrik7mc6 z#zBqqiEVnuG{;-;Omiy*MT-zbzQXkPe3%uGzFWuVPdhh{cc*(;w>T-wi84Nha?r)5 zbU^g@kC>|s{di167H+CWE+Yu5k~&$dXt8qy2T5_l8T9_!tIWpSmIlWX*-L2iv@i-9 zQNHNR>Obr=!`JUKWuf`_V(K{?>~_`Baubf&*2n$-`PsblR%0z?THVdePD1`X(<7xb zeHN{z@Vd`cPkPH>zF12tc_^rcIEl76?SsIW;=8M^|G9MZk&XDS4$)(lwT&!41)Ap> zVYqo}cyfNRVYr?yePL!k@JF}*qeQM#8JX6fiOkXK+V`Sk!h}{6U)81xE_{;XpncN= zWV1)CW#HY!->C8!D|*~zF6cGU78kw!cat6UNtGx_fnfMvKs9ug2K$?8=!#ql1yn;w zCM+Zv@(F@O4*VJI;4-UsT;0}i-Pxb6#5<(_K=o+}SSOOGUxgr&WMTGCq68Jetcsd| z-sq}FfXp|Nw<3QZ==gZs%pmQKgb|&a%KRY@Km7=JiP04~FJS-#!7O)n3?Jqw=0>m! z+Q1Jj-rHIZB7|d=(`cpF**SODa4g~5P)RWbGXY^((9Y^~5QczvRp5ySrEQ4mf>t?S^^xFtc}L#L?u6~m;Z|yMNC(+3JLv(j4&%+ zKveY!y!aj{xKr9-m}+Hv13Pb`%&IK?g;3E=w3i;fpZ|_owF<2W%B0W7J&Z9M=9$)R zZh|p@1TJ#4tCN8)u!jx3d21X~MCh=|(T8y9&+#1g(FlKv@&4l^6}o_4t~O4DGX%CW z5EC&TWZ3cO;P6aGT-Fo8zD6X%yGO*?k9t-g7;k@8o(**cBe@I0+s8WE$jPrgfDyIIqMEZYv9?s`D z>2H9pbySX~$?%Iwjm?RT02Vp1uC*+`BK`&pYK^T zL$1=F$(SmP@j`&~XDAqYmHzBxSR7hNKEm*J)p26gjYZV(J~+8n?Bq_oP$6z)bJ=&B zJmensce^%^0lkfy?_YYRnxrYB&IIQB2cU~wKGkq zAa-nWvDwgN^u=AFCx2O9uV(J|iz6gSQ}tpJ$)f@aJu>KFfa{Z9k30n0$%#{?LmKv3 z^UAstl%k{ZxAa1U$S?jy{W5Gk2_hgPlZgO5ap_I@{5Y02RcH_u&N5tx#eS)u` z`A3+^7U};y5`XU6XdLtSk^j_+PkLI%9Y3ylEB@#{Vt%1mh#k3{;;312SVB4HA3oxMFsPb^vm=%`*%bPdAdBt%@YTx^^o?uW0JUWy|DjiKfmg18LtY9rbhx3`mL%B z9AKx%lo`$_99#8E=^2G0i*VBrMz^VMoX!7mc|#*G0{gs}fwZ#yq`-10>U=;s7{(x) zxw^jDN%(Z^H$am}{W)tKxf*0#1Gby}5;DE&mVmt|L#QU@ddIk!ZdTl?+Eav&hsa%^ zG=A%OYzs$fbAJSqC}0ys^d?y$~WBqaw-P%=!=#rr>;hK%kN5|=Y_mk zP^<5{XJAcCh#K3rMa7ZH6ni*~%2TU8N_S}EtyNh~U1VXN5xP{JYNOWGXos1?1@$7h zEwwIQz#hyyFU?0<_`ASTT}N@k zZ`4~}3~h0>lw{}Io)thlb?X6-ZK1Lqm; z#SA#c+)JCJ-`A(MEqG=>gX6P~FGwfTr8)08<>sBcP~>?xv+}|EmOpXL$?jpG-jtPu zPk#K#3G9cZ#bC`N84eAcgyZ{*l76~mvvW-;&@fy?%&Z57R|ng5$HiB#K%c=>BK1{# zi*L47yvS^8GRF}M2S!;NtpgOWeUTxNAOJ_iyLyjt{saMrIR7|AkZliI>8@2BT-YPe zkib~}%YR2gWd4tYXX+}3*%PhV4#{?R0rdh z+~d#=y%8R_fCfZSe&w^7U4SSGFG@=QFT~3e1jMz60ir0ecazaKtL_oH#kESU1Q6yG zgr6kLWKzM`9%Iq{G{OzcFI&$8_A+aj`@yBQOb|Q;`9h;e$ZCStcqwb~rZ@|HMuj{* zdM#aMc-X^k%W6B8zFbr9dLz5T9f8~H*IBE6Dm}dDTwVXUWuqDKHq0_0BL_uOHv^MM zJAmlH=VT&ot((p?B?x%il~cY*YTuyMra^PrY3EtG?H+eE|2w_cfBQ=Q`v>&}{rG!B z@Lps#+2=TnlW#VUF!Jd+6t1NV>Qzj{R?KsvA7`n)jsSdn$4g*0^f`~r9mZ+a`?cs) zSy)Kr)v>@gTKqynPR+kC8N4G?kx}+VN6<1=Uf-U0%x_4euBL9XGn@ai(siO&I?B(y zPsMXijER;lOSSYte9P@#sS(3+Y_6C$L4SYFt|ItfJTCwE^rrfnJ>b9=K~_z*(jf`$ za4alh%D1`@=>>CeAy7p& z2)_=+H^rR^x0|0=MFrWjYT5KPzexaPt5MEf2z@oJR9`Hw9; z8V?L?;j!SzTlYwxsJ^?d>I`ekWvkY>Gt`Lgxkg(dSuZ3XMK`%tDeXm#UpPP+K=J6k z^)2aLEvcz$F9Y`HXLz|2Ue*;9%+XTz6R@ao55Z|ak&f<7&V6JD=>`~s8g+RX(b z=4lp{2JOj~Ee3wRae))(Bc3!opMqbQoimfi)A-(ydy+OkUGA;+FxfCe_j=$;Q#cp<4_aqPaQK`{51PMPz_XOlOUl#5me}V4Fa+lli|2$_C+q7NAvxzmy z?J|i)WxLw4yDWWmQ~oJ}!5k@(i%Z{F_C31{_DQ_(GB69kDtyF&J=5(Fd#->^t>gVSM>+|L?We_rEd1*u71 zn@Hj9GVKlSW{-T|jsCjE+X|p3Op%sL*0>^q_C&o|3a||iQY(z&z~{!5X3bOI7G66= zMS+uS*{3>HT?^GQ>1a1(0CWfFA=X+?28%Y@;F1X^N=BE5*gsU`j)=dw9b&;T#{ri? zzd&4#kKf+5WC^|-(vALL5K%N(3r5`aVCKz#K-2ZGJ(4Cf#-3DgZ5|L{Oa@vBror^< zw$yXuSKZ-~jHG+X&l_-&fbj^BDiYJ5(ZdSU1pTA?7}~nJyvZCz)>|$PRD$x|Hnza< zzh{-mSVSbor9RmR!$gW1h6R9JfmdROJ1%E(8bMXuzR6C@%GkI#NJpLahHWOdzbQ4R zB#o{j&q&Dhat|E4g{lCOXw=LGT4~KOM_>E=?4+c|$4GiP|>VVLx11?CT?! z_AIkZaV#?=$#}ec-g}6O7d|NC^-B&bSUO$06%*}pXoHG+S^?O$e?%`ropY1C%cGaj znnI3LiG&bnDI-M@(JiG!9Z7tZ28A{3Cya|@$a{U|LCh`vzmpu_j+yP zB0g8u4#qMw*<#6&lUx%JD<04yjZNF`;~+BDmONe+(@ujFeJU?Ap81BQ_aKs`qp=@S zt%!vkk?e5Op%@s)K2`jXISAbyicB0<@###Gxm~dP?dOGMRY~-u(*)MdeL@%3aG|dG z)H)6ks^sp>xB)YfM{CqsL(h}_q8ir{2YvMM{yTZ%zh*7-0}t}jGNChlcIkZviF~8w zokQt(8Mn&%X=NdZDU$SNL8b9Vdbp|az&Cw*c6GEOChD#p%IWBJqqbGGX}dr-r{qB* z=E}qcaGvcVQ??OQVoLSI%Sfyls4I!qWLGwidkm@;X904mdLGf7 zNOO$EW}nCldNM=%iUIhZ?c5}GP1K3d8Z98S+-P)#2}b0)CRp5$Nn3xJ)it@@i3713 z(}DR~JFtc}WSSyO@ym>NI6GN=_EL=dp>)pyQ2RC!lh~8D?XIL0)m@%len33a*iH(543k{6ai2VzpmLIQZ16m&dLuZj#iI%Of%o`(`VvFlapU4bA{i>F%(qn{v>uhV6Yujtb(XNPUg&;GFv}S3Ocv)GRF44l z>Y6%TOJ36J$H$rv@>6?Y}Fq1>IWCVWmM z6>Hj6xUwUtd@*oGVfK@~YtK9Zb@PB(^to0==Tk+)n>C2VKB4MW)G9~$*z3OGHf9n>qTgO8GoJ8crg6_#-#<4m16A+XUdxGe!{*J8Z&|PFsYEhe`=2Imi zXzF6K9R?$?hp7*`%$E($x8IpgAoxDJRpIiyyT;Z1q^jE9ii|3>QK)2Sc!zLgu)d}B z;)fd$1NHpdBD~7*z%(bmW$?ixh_^DeSG<1QB6)_0C(ZG^2W%^&b>-7AWSZ}V>uvP+ zb))<1(1sIk9aFs?U9Q)zYB;KSCS_VIjr4ZXqU5pgnK~}x`Qm!N+v#Gx0~9l~n{qMJ zYtS>MQdyqV^EXnl-RhQ^;;G@bZJ$Lrg75aie}Uc()kHIea(;<5wvEK%2Y4GK*RCSP z|2TjqN|%(HPUL>%Tk#8(xbfPXlbcF0E^k5}0>t1myhxF?J*rQV&_?pA7|GKISlXSX z{MsnZQdEl(qlJbMJ05eac_cEkeztzbcQ-6J?`Gnqsw*dCdD2%J zn)$^nqMgtn@U?h;nk)LrH7gLQONOFShN4N+RW}5O>Aefzg5Ny~zfe3odl7MQ!0vMP zk$C*DUkWaf&RzcGs~m~^oin^+7Qw(_HLYVVHbEbjL{wky1$;KkkMtqr&%nX&=SnV1 zLyei^of>)p_xn5+>RBk?iLFL1XqS&pSDWwHsdl%&1!jIZ+CSd+Qwwu9Qm8GY+qB?1 zjyA(Tc=n7L^@M!_m_0PYWw(ZyCwi4VvUPk{`0ek6`|et#*NX2h6ObW~`9>JZD(OCP zP_S9lK4$2OzU>_!paMdAgiWC($wwTm5=!~fE0k+>?#q3yZpul~5=s!xhKi;BC}Ae$ zDrP3RG2=~Vq8 zVJ;YV!+Gk$2DxQie{qM-lfLGmfrWD6icE1+=6nVl69mn6@?3eTZKakV%>fSNv%dfWOP6J$ZWGqj5mBoP!s@Z zD2XZ*)=8Cg2{ol*9#!c-wtCTMSVYUklFricMIfsG;eQKU{qtT7SAB6}#4{!9!ywfz zcIY~)D}F<)mzG6lk3w*`%XgMOuZdzeDwbPFtk2b8`fuo*!2wDdWvpo&{#2TMgs6Qu z8#r+z#F|_pWrkxt`ACnp@3!H#NiU({9j7{{HTH#jB;fw-pHWW)XZ`z(_YN1*z3f z0W%YP`?+%_%lQ2xe;a{Bui}qDhnL(L4s6xAj zl1FK1ywa3rIaJ1ri#VAxjOCUeVQiyPV{Bx;Cx=gb)SvFa*E&+d*2&#b3N*~P;*SzD zK%hX?s2?!5`9MIV0aHyfNJ<=8959DarNmX3d-`G?iL93-P@&=q?&ffO7};Mcy49tK z)&v*zIQKN>Y<`(@hUZbE>r>e|%PpvVY;Rt^Ao6nQ&aKNbTxUlU{QJV^yfz9yw)vj%M8ODdkg zSspr^H4t`b>Kfy6Pbr#g6gZolQoZtV?WNs8OJ~Wg3eb>tkkt{v z#&a!?zunfnJvn{sYR7k6OinC1h?|xQKaC&{e@aUl-5N87@-%A593fLL*3*ElH7Xw-+TeqZ6j}0N z0d5wfn>nBY>!p>&VE%864*Lg*2rAiE0K8cE`y%T)v~|YEYqR*ipM329$2$5q^@*hc zMq9smh}K+rh?=pmPfZiq|b$>7R*w-BzV~oVoF!r{5(X(YXeTO2{6Jk2Z+HV9DiEYRQR2hl$>9n10q#NI04R%q0`1r* z2(#UNRH>E5B5isjZT?z=d5hL8Y2?1S1dZ{7Ki z#KzOkT7yOgQB6W4s#NK%DVW}w%aC4f*D1?nK9B6RedTYPxuRXtW-Q{nHc}RR`0;R; zjEBVok6ti0VlWFc>1(h()DL4%pzG0#MZLlM zdl#7n!DZ`=d*hqX^GClx)iuON4|aop?iVLBm z%JHY~Ts_|Wo_Q(w3p6u_d;0F*|48!VvDLPp$Ct>_w#ogo@28r-K(xU-F4z|al9rcJ z1_@`2^FT$!c%H@a=O5qjD(Y<0W9dBL7YO!vY3t|3X&`%WY}*f!XP57CD}RCRaQ9y9 zx%>iEBwT8d|M?l4-&ef&-mrHm{R@N;ayxn&bRm->+hch~C-)0vpgj#>ER?pF$AEG3 zRPQekdo&{M#JXCLrq1lytiN@WSGuI7-T=AC#e!{Z;XXvCzCh}ETk-BzgKPBK_mW<9 zd5N(G#ts*#8tD8ygFEOAacZNq@Tt1t^@b=2_D{Zouhu%lPUB8)rD3NcW3t@GFJh;) zrIiw<=XmW!Xj%J~9oN2s+ISAbPJ=m;n-zx9!y~a+$3E6UF4=HjuN95w^ag7T*j>3? zr4aI%0EuG5+b8M3-WNlVc;M&04hwADj32?Y`B>h$DMZClCS>S1BJ4z>D%fFze~b2Y zDnle|v~izZyd1kdkn2MYgTuW)Z?emTe7E~c(OTJ=^}DlYfx(O~ zM%p@b@T2@?_bSt5Za#e##Pm~^O%-JDC~?x zp@XHjBQ%I{c9aixXF|Ly@&38fN_8XonEyg2W{yWs%YtV-ANu@^>}%r0Q0H-YEi8Il zAi*#-K(f;6OQq_9cvo!3(c)attFvp*^9Rjl7LBJPgzOkD)o+;1c<;#N9d}%&`)b52 zHmiGDYD_xM@Mf1DJUAA=ymdzbVY^1=f7fv{xt;3B8{4m?uh8jXyfu)EwldNb)b`~U zsOU^E&)(i;zDZ)wzT_`Muiv@pe^Aw5K&s^_Qbt(aJAq1WT-}x)2y|@(eCz0{aI6T? zu&XLg5sH0d}78G`7hmpqrz4 z0e<@N8lU4#6Z@csy@W&JYMcONzC0;}P|2pX{oDPJ^6^sVo2%x1+CuETZ~Xrgy}=tW zM{n;4Nl}GC{Dkw34IrBSZUCuR>`@6RGwm{%oJxe8pPxUO_DizqlucI6_&wGER&`!J zF1AdzUNrb-W>yFXtcp~M%E}W>7%w(rlNH-NJA1jS=dv|tohY|f!3|eV$fDVi4R`xS$R%p1ZPQ16*}HVOQDORhIlk67l*WdNBwhpn zWn5bCygvgr{-u?IH=K4=k%fXL<`%b0Es%C^ZA!1H(P%QTzppdB&m!K_Yw@GtO=irO3zkcqj!w4s-);l7owM%b# zmu|(M4&=9aXwc$66Kj%KS&ARQlX6>q-!|QBKYD5;ACIm4bq7bnGa{=kt*u;aDf;ba z^g+_vtDX^4E>E$H^C4#gW2VaFfyuIj&eiv8b}z_bZSvRs1nfa(wGky#CG!(<<|Jt?W&B@8xi?*F~#I^C}bDzEw z!bLMPEj9?3M%?&*cCQm;w9qdr z7w}`=Yu!I^UNwpp12lqqS13@BB*Mp=#b#M?q!9`awk-2G&;GLXBuY#VZ?Ean@?|Bm z5Y|HDwkPUV)S3_2U_Ng>^M_*^r&l!AD86u9*S^dhPbMbwKJrNB=(NJ9+@U6SSWRm8 znq8(N>GDt?m8$XBH*Z+hW}nP$oR50?c)xyyI4))3IkddOAx_w8s9?-rMD3gLtM>;v zNu8cuw+^3|ZMdNN7orv- za~Gn3>ikN88ic`I0J!(Za|@NXr}iu6>DDDHn{zIf9qjeUKE{KJ#;J%?0i(9w!f&}o z-@;bT>#d8HHzkx<^AsHFWw}(e8sGOl>9rC0_DTD2Y25XT<%tdFGjdxo;>0?}u`~>e zQEy89unn|u|uofF+uiz)tQ!$ z1F}V7-7ldsfaWHB`P*K%8&*T!{mz1)xkU$}#dt^oBVHRwK$PMJQ%%rBE(sg}yBKq&9GX2t)Wf}7$6KKLyim>wfhW7_uMg@fz8w&s zXFI@(f^rOVMN)n$cm%P$o#d~{wMbME-*Ijqux_(3t438%?5?=yujf0sqYF}8mZry> zWZy3_9G_eUtL)A`z`8Hn!oIZr^RoCC$Y{7#-&b}OnqW?sRY()}&|c4BZk>odeeysj zt2-^|ts1K^M2jE2?`p$F!$43K=Ipvh7`l)!>vroGh?9{(tecHN_N`Wf-+O054-pn& zSC-C4kQ%FXF{v*^zD44X{QMtOb{j4+RlUgMSPwS;(x%od+Qnx9ojWyrZGE$$aVO^C zdpLc=iDLkr8b=!0aL1ts-IBzrhY7rxC6Yz(xLX__n z2E+G>oeDL^@r9f~oP1~K#ChrE*hN})nJ}DM{mTcx^GoeKMuN!FyF2O1=U*&}xD#Vi zQ*;EH_z@yVrum!*d3q~P8iJt>gtvf@s~w+7M3IDWNh4rWL3rPw)DWE49aYF-6;H#A zoo<3Z0|?`Nc0Zov?{}<1@AmGh*egBWo_hT4PTF z9MDbgwjQhQNAo;s^$u^x7Y3m7N|<|(C$EK1i+JF~hm(HFSb4qKR6MP+-bO{xFl5#SKlo?MiK4d-1;nm~ z8uvYFY(a*sTA%stGMA&Hv@vnBB0utmp!K&x`t!ujLH|{?A)CjmpzxC?fUHmv`16kg z02JD;7Og!LDhPZ+Z9ZMA4IW0^pY$|6%SbXMnu>Ki=jti(tThy2z^y@h&5T&XWbr*X z$hXZ+N=-_)O%hT9lDXfKHO!=ue;kccUgIkDe`4v_vp8rmNSl*H>aZdEJKXcv>KAzM zrnH%%gGuNb5BWsBq4ADkt)TINmtGWB#F%C9r0Orv)cBsRW*iu3oC`>LnYOE;l5J zTsl_DLfpqDn_G9YRs!D)fe82U8x|du`7@g;q6eqiObLX`@4;#_3i9xmQ`tkipx9~@ zpEYmEv+6w~1a=2GD+L8b-r*(E?eayCl=H&pS%}f~hJu&k-{C-FeGTkYpElax<|2xQ zxzh~66=ZFmdcu7~@RH7M#+JE~3v@P8(56;b(QrykW=F?eRUvk}Xs9JkoY|>os5+ru zpAlC6l5N{1ePuGwzcu^2&Sv!YHtGo9CQg)Ak-+yBC+6e2Y`d${Gy^Y z_KWNR-AaKg>#CdL5TP;o->j=Tc5)vB)>SvtjGq;@*|RYG@jNJ5*z|PS2W-nac};8h z@NgpdYqyjjo-@6JlFtsj4y0<(L57u2Y*~`tX~4O*z9zAH%-)_=AA%vWp|qV+Ts@fhC_E5Z%ZW4LmW%?N4F2vtQYs}_<0 zKC@(0l|!ig{kBSjY7jkwJ2K_aq3iY}eOj!UxMg?1GJMn=_XWjCtZN`T z+S!S!H0_Cac*u}=t`8}Sj~HS|lR6E_lf&_EkvI8pxflKgW#A(lq!-8;S0()oO$ciT zf#(~6b`KC%G<~eTgE2Fmk%H%PIanKi^ntpv(We*K&wNTr5l|tF9UhVdnD0Kmjm8<7 z%R251=wspp=82zp*g>IMc1M(DMvT{sR_JC`f;6a3{5Eatch1p^J5$$NHX<$4MP}F7 zJ*|ygUyi1^Kb?NBYC=ExV#~C}`t-#_&|cr(<^X0#svJy&=>bCqYD2~wP?Gl@KZhxy zvdbh9-Y`BRPriq_7rXU=07aqA`=KskZ`7Yymi+LnWz0ZMBCllU=g&D(QWd^D%}@N| ztO5YfKNi^^2D+XTiHw?2R5StVz0BXZc#bMDt>PZCA?Fh9`}ZO~Qj>Pw<%yjTYckhJ z+%-$TVJIDR7aZnK;n-&ne~giF+|~Hn(04FN=N_B7g~_{zmC}An@uKD*#^$KyeUU5m zQM~LwGbVgo-3LQHZr}elqUwGSsGl_Euc7gUpGe%!JIK}9U_q&>J~_E*UUJQ|xsKzV z!TS*>#^@fs3h?68iICXVS*r%e@@hQo#bD~AS`K{gxI}9QdLMXJ?qi$(!`fK~#T9N_ z9wG#S2lwC*++9L~I|O%Y2yWfD1lPvhLI~POaA_>K6I>fz=b$KKLJjG+b!OJpM+wgDbI(g1kb{P;P zTm!4ZvW`5{4Pym>S~bo-bV0daq`AgRC*l@cT2@8(&G+R%ymZ64bjZw~q&A$wpSVxZ z!91P?C(*_EGhBAunT;ejEEH)4ChCjz%(`rf(UtuKcG#eaVT5EuF^w%^j66fhS5IH> zVa6VqRQcd=(jAq}P`y6})k&a*F=3oaXs&-d;fHU*Lck)h=i+GQsXN3%pG*);NO|d?!q7@c0DPqg=v8Gna zc%=(eQ-p`P;f1h_b13vo&Q#^9BX+4g2x1102o!oS@)y-`k62AwVsggrk&h@=D^*ZB zF$b4=E*W?7%0{Q}x^j_F>S%OoX3@Tt##N5f^)p`)x=^gvUi)3)QVdDq60O9R0JA6c zS+P=MtE}Ywk1b7Xr;-1{^0cjS0RG*30Hs45XmpaI>BXjCjYvZgD;Ur%kufl`a_;8A zWE*_^t8&%5YkbUpY2c&E-lZzx(TOqKKLAI3YJG>*`h?0vHJFa;20a5Ep~2+lgB~dX zxt6LY`vp9#T|is8!;Yh4hf|T^snoE6-1CnbzQ~(&&i~XpbWkj0d0d#3t&VMfhBFxs z7}sJ7e_~N}J%ql&Q2SJ>k0?DeHW8&Kllk*hO-29`5e>);rWTJ(7l=fc2tva8p6HGA z$}5?UiM8h?QldN(63XV^Pc&2|>A;W~Pb0?A!9C3P$;IK_=I@k!=o32xbxIY!KObeC z8gU$99sLo}utOa$OPm~r)b7=4^6<^OIEtTJ|5b3KA7w>MV?-ZG zV4tBlesEqQv6qwKXX0{Ya#NhP;ElLGkU`vH;%wwZ+QGy+!?V*^&vl-NOR!XRlaCYq z(7~DdGjm^Q+7+ga0Dg0AdUGsqj?71DZ>0{khDW0C8qypgbgi@!jb4XwQ;_%Rfd*-- z*tN#*51X-%`5y>sH#rpA(`$f=HJ%=!+<8>;<@F?sl_JR8H#|X`MG{1s5f9DZqa7iSMogLi4$MpC3Zy~isk8Z$o$M14!(0i9sofE-T<-<=hGMDs zyewm)2#<4;|rpqhkslMk?D+6yF4wMv-Dp zn~Cc0#4a-Y^BhPya5nkw+)|41)S9D>0((Lg&REU$N5r?VdfGYX&q-z30zTfoyXa0T zgvEBZY9-$aE5{_8?xi*RT=ba}w$xOZ>mNLmQ#(S0>ottH%q3P8*=(BwKz>Vr!&9f# zKS%`=N<6i9EM&+zr749Pmm-`?#ol#0YYV}Kr_UvTEIFgF<(g!}?W@@;U_+shZYzk(3ty`8zvFy!Q*@6Qm`JnAxz ztQ6`V>hF(Pe_*kc_hD)by2o+t@%`xP`raQT0Vf?zH@U8{ z`zt5a)kmF!(bGp@m0v+PBRFPwPVq2t(hLN?fROVJ`b$MpGMhy^)`#0wqW_F z+ftZ!HP?;is65O^ig_rOy<9A z0{;7@AGU8cBFr8h7AsC{M;>Qj^!uGNCOW8yrnaQ+D`N4mT2b}3y9wGXa1Z;yQ~But zCyqB7a%o=|D0W{93MgotIk^*~@cn#Z5~bIU;ld;DLiWPdD^@Hy%x>nHJQ8=)=bW!2 z=GHb_!MQ9KSf08nGDsQljK|-hOZ!=pb{HyEQ|V&L!3{*5cfmxm95FR7UQB5WXoE*x z{WH>eW68g9%P^>t$C#=j)~-vBZ|(2=e54&D_@@Ac1yQ@!ZqQ9LPFlikx}#$gT6H@h zVJ?b{Z2oEBnB1h!9}s0-re!pHwg z^VV)I9TmH9?9EI4d^)#HYp|SI;_DORHW?I6W=6Hs`3*#U&E~p+`nSG*(SxL<^0&UW zp!YsQL)6#c$D1*{LPchU|FNOUCNJTmy(>aqg>V}sjVx^L*4FtR6L_Br$#0cv@5#+T zcoPva<8jdj$Aw16p8w(q)qbprd!}h=R_PR1Z?!WbtB*?qq3-Kuu#x0X{+Y=X%!pye zjPGMfL%bPuoY#aaj-mQLaCu%;oCz;FTM(HBql={>Z^ibpDraesgU@iVRYZ*-FO((~ z*5>csUMR`R^q9po;a&LpB1GH&hw%CDr8H8m*A6M~N38Wg#C#Hsz?)zof^@6z*)s+j zv}c8qi9%<1{d6vaFKsxCzeS{KT13^`v?8Kvp7a|flyeHUKHKZ2gsHMAG-?RcT5Tl! z+(dYL5c^YwRFSL5EB&7~k7KB*R^@>K@J5^!=qnK4m%fQ#-L% zjcmf%yFvm5#9oDGEOq)lcJJ)ILl&D%lf_P((|p-lG8{dno<-qnCqA_T^6OI!S#rC& zpU?8NSkAc}cc^(3)^fSrfT-XEp@t$hHyKd=rS_HYh>6qj2|@;(fr~?kgn&mP;BE+b z*ug)+kp(>V!C?yS$ z2%XUtRVkdxc$X1_5_|4Oiov#a*jvp32n|Pp*JNc+t^HV^6(@Tc^3?W);a zlIlAhs$MyV_4DRiYedS4*QiA?CzhtA^9+N3mfnc60vAMEDMW~5mG~9|L|m;G?Rn5A zV!%z{X>yi*V^f;d-SnBA?K6q+{O;mUET^zm*Syo%3I&^jNG3lxfA9t)AEO9|Gh!Ct|a~*}0W6FF+TUjqKtm-Z}cz}Tyi!qYMn}d_ zk51yk<07kd`ceDn_?WfpmvOM?w*x(TqY^xTU8Xv2PFhWVMUU{v8G=7BApYrAXPzVw z3dtK*`NU~GWi!#HQ9&z3Z1OnFg9)sMhpM`SPYw%3S<`wMcj|dwsM&^}%5&%DG%;hs z4M>W<+(IUZm?}1x{N@WUnBGA>JQ((sp`3Ltwa}INeMH0;L@P{?r3;h%FDwU%t(G&| ze)Iw{`~2Gz-m{WylY_Ok678Hzm|o}pUbtSyI<7;MUi~d{aOVr>`qp|Tgp)tlEB5w4 zFXidZ?oCGOD$z;gofd zvQ|Wy#~5tLG3zTm-0J$F=*Jb?rxKZGdZMjR?QS@HJM$GyTViH~t7*!2)bH_2b&mU+ zJX(7(D-F}lFr!lT;e>HprHbV~?al81O<0@II8W^Wzyb&NVm)>wlSxW2^!9xk_|6Dk zJXtqX$I2qa!{-hf0*Z(UyC%kb4SL;R^`-396H067Z#}sa4wVN7KxDyGw?441?SoOp z5`T|5YyYHHtmD_%s0P3M5)6rR0xM>u7S6^AT;FbS-v7%x?q6@c9Pq7>sFE_Rz_WV4 zD`w_ywstC5J(nAWT*g*gQDc&`N14cSZ!mGk`|>%|!Edpk0t#Ru@^Sm&A0*Y@KSax#xDMv77;|MEw3wWVUtQ9S4uWPHnwsZ4(A&*ro-dC4$8 zWoN3W`4txDWBL7ZGbGvE-k;_(+FUgKoA8x(9ddi_5%{MwT-`w3@64|`!LkQ_Pq`P; zy{cuq4ZnpN+_rZK3e2GtD~G)CQQs34$wgjIs)q7glq^H=u5`YF`D+a(j@EOeHURng zpW;F-8m=rqV|3MNsA}7zE2!ySt2@5CWa>G5q2bhsz!PKl-z?qSUu!DeUt7J0h~V)Y z?>DTbjg6l?sw~yMYn5$Z$$2Wi@h^B%U6`v@^-q|RzlZiB?r6>`!okP*Hcs?8P)cCp}I zZqy?l4aAd^Cr`Q!*QfQ1H zM$SB>R>pA0fXY$Z!y%vj2*!xeDmL~U-wCft+%v+l{~$$OLMLyWjAqMf9$AzI$BG~# zWUTq0$_$381{AsP4J#|oDRvaUIeXxpGKekcQ$}Z%ZcKPUV2<1c^d7EkIa!22(PeP# zk5>g~gYHH)|NXavZ|ctsPZ7!iU%{CNwduQ#;JFi0jyGO0g`!wrXB%n>-}UoyihADN zVo{mzDvD&U9q@A#SZtYlAU2M9;zzIGBi;@JP^q!XOctMt>I5OXvU(1ShB1|)!0O#) z?1U_(IGJp($T)v(RrEdgjSWpl>8mziNLi+Oc|#w~q|`SS9(%NT%A_otn$_nw%$1_= zPsuR5u_%AWC8=$jw^@~29Z_J&@Q3l2ryg6ng5Xt-o@F`_#Gnd|nG8TGG0R-4o+RbQ zDbadk#1qlwsL`vQgf7+ifpr#J3~e1{liI|eTP`36gM!&oz>x%zJAIXFY}u@xVgGbB zuFRV{D`W3-#R4N9H3zXvt?t&{`V}q{UTr@kS5$2RGLhy6tLtY&Xs|%hq2G&;U4A=A z@fLrawpv%MIssR&QiGPu2ZM&6w?<-}EzHz8?>m_yegOWpmi}w_fmm9JepwHG>CFJD zzN-4I6#6ZTzT19kvTRa;o^gKL88Bd;5e(o0*LMz0z4A9B&JWQIujR<&n~+En&>t@L zd~{P54VvL=PZ-kl9E4@p2+~FiX-HnD8x|B8u#$-oLAgX68uovQ5${zLo`TbbB8oLQ zij1KL#8$|A8~r82O0J@yWk&&?={C%Lr*EfM;MOgdOE*Al;@1OmK*^<=tP4w?G4uIS zI@ayQPX&KxqSdw4-p9T}gm_wA+k$P$X~yXYVE}?KVq53FJw9=Yn}9u<%mwINI29WG z$URuCy8nYz340WA+&@6OuFLs&`EL{(?RHsau~N&z=pR}IK~mstjkiIXByh$z1#x6t zx)pQ?B0UMZ=6ha(Y*i`@S4+z2^yqwj68+qfA9|>-l87XXmA+y-7ut{Ukf+Pmx-*Zr zg^$S5x%8XuZ;qiNo$EdO82tZ|V*Wp2a&c~Vo0`r;0H z9S%o+Jfn5IIQ!I(|JM0%`&c*RK-=fy~~>Y=vIv3mQhiU_@YY$XkSsj~wScIiGF!OF2aDOug+~p|Nnig-w2B zbh1~(;K0Cl1mZd#tXG_=DO8L|kS|V0Fh=N7KX9l2+kR1cbA9Av`f zh=`nY=`2M54^cb0NABu1`^gI}`BG*@xC$lC)2C!?7RR~*uFG-SCskMv9E>6x4rg4f z7Zl_ZhW61Bz+QG>wY|zefW49zOut1MTVAgEkO`65bAo%vY5=)Yx-cO%yUEC09fzG7 zht?^wYZ_X=;T1+#KNx~DI0$=W8o}!@UqRpcgT!)ldYbm`_}nu?X7Y|5Lx@n3o_4b~ zl?2>7c$LrzYutSxLPOJ^-^pCi`_VAT(;ca7D1y+1@!?2KruF~)y;mnTJuf9q z;075UhX7*(cW|0KDqTn_`4`upG`2rP81l||MeE!YgL}BX=ufwb4KC#N$w~xs2&mE_ zM^}_pa|G9_a>&GDu*-(!V!`YB!QRa`Q-$JIwn&cS27z zGD8*&kyRVyXJONx{)s|Mcj-31<#G$XqN3YB7<1}Oi(%90v)`6r4(N7@)a>i8;L#nb z+4S$aER;74dr~Om6oGCWEDu@Qe#BAGQ{w+Rtku&SKMap52c?B$q3y2lo@n+6e5qv6 zORW61MudMp-VKxC+m}zA!sltIA-uS9qk5jqz4>`Cry{pGv(mMjP!+S3rr_m}CIQO~ z4|ebo>-ISj(E3Xr0jX`SQ-rT*KAWLoOE4AT*G?Do_YW2TMyW2?PZcgUJNgjU5IiN8!s3Jr@Y`#sq z2RuoxO*_*)AV~0di>~XPY%hzPW14K2@$sJb8=XVVal`!)Xcg*&bzD_7!Jy^n=&`k$ zmi%(np>a7;rRVYp;m{Vz*hHd5`s)Uc`G|z1D~Y5RBKblu-sZ=(qoU&PFkSs9jxs}uSIu@hqhkfDaWG4F(&3MdJXn28r1MK>AV5ChQ(7JW2hXA$Ue+! z19tq{X55*RUmhJl-5;HiJu-a!+g~Y|n!qKn`rlKF?}x*KBz_owkSL%}lux-GB?m>Y zD{G+S(D)#(A7*1f9{djy1S&APFv*D9uAR#|M9>uQ^T00+cR=34&{nP>*+ck}E{&)d zGET;m#=LM<-xiUPy|2SS1(if3p1sq^R6U~9wItG>&k=odt>s`5&6l0nTUN|=;?nmtQ1Bw#ie0 z%#U&3smf&>XDf|OMI4w3c)JQTbl}bAW!`LP)3(HYd>ru^4Ebp2yM_>_QX@_x4fni3 zYPf{%t^*&WI&&_F(*mfH*KI56OLWNqjk@4z^r&r(X>`itc%JzAHrZk zT%1m9`K~uFVZ0Xu0rs_{d}YW*6FKDzufpG z{93x27voA+a&IWYD<#nC?W^S@)VIjZXU92kZ_bT-7DdRqk=A}SVUJZ=0~R+L9uy5>@ z7&Bcsy%K%s(PYI;Y&6O5N3H<78(@=Qw{S`k<6CSB$`9FuX&J$UJ;xBkrG zJUAP~)(5f-s>le!<&J9Y>n3qaGqc*T;>VKVySa@vpPrwazBF#&LRN?TU}1LXTl&)U z792t{V7a?+<272ewY~}8Lv#IgqsQAu!t9oUW-w!001@C$*+$|t?Tmk)3TIDs`LJ1W zO45}}Y5PP6;G;rwYlr2VXNmKz-o{Isz9&1v_9TnUsyNwh?)I39 zt=!Gfx4I=D`&~uaP$q z0`+Yut25#R!9hq$p;*sm3}oRjB04Vp%3&ppFAsP!F2o~- zo)r$}Mn|^E*O4oCoU^O%H*zV5v9z;e_AW-M+lS^ClQ0C>MYW3?S_4HXQ^eL(OYF7! z5;^@H?)hQY2Z**p+51Rw4a;hOYR|2J@_0-1 zu3i#632ap0kZ=tE9Pn{Ic4;mkklk+)$Zqmw$&rB(>L8rV-VC!Uj49cxkVo`1@@uYPi2mh&?iVn|SbLYEi&7 zDEkH6U!$1wi=Yq^L6!_M-)#XJ9ja+q%Da!dCjnVIH^)j*sPDheLb& zA0!FC6dBot4kLs$?+o~{!H4Gw8!~bAsD1Z@_NI3_l|SbGaBmd0)KPRV&=0u0xZ#LX z_DN;EYMITL65tuN9hFVx@qmrg2t}u%!tReY&qbg|_s1=Fr!zbv(u^$E*H_#AOZQ8l z)hUE{a`)n>U8rzpZ*Y3GbXvUVsr6xeykly#fJz}uWavIB-Gm6=N;QG|9eH$PY_jdnqs(ouyEB=oKj##~R3URHL_ z$(W4X-lzNkJY3*R!6aT%g) zo+1xsTsBrX$z2MB`kvV45j@cW8}f#Bl@0oG0!nySTp^Rg>#kl)gf^D8xFK=I(=U&P z@v==-I2M-mJkqv8pF(p4?%Y31Ea$eFaPLovvDylUl52waNEVVe#Iqu(D9a)H`Mr^* zKltR}4OqhBdtTu(%c`F*P9b~qtuFqA{G}xu>k9>@=v+*rgT*Ah5bs6Gs6+j9-S*Kh z@#o;!rmU1TA{Dzf9eDVAvm2M5&w_eo;G&XdP3?xP3dnx10Y%Z7$FceGE~HshTC{?^ zSN}{cmxai}_R$pj>dZ)gn}lqOXUb4{vYpz6SFpHO4L;_2jQK;zo5XvOyC|q{or{oX zu_#8^gQB<;aDEblqu;kQsOWp#mX*q#ShwCvOBdg+==6Jhz5gzykokk z+GQ*Z0EtTJm-{NjeS0|QS`e!_mD0cm0N9yTwR%JvP+QH!vY`HY)uT(U;3-SB7FNU8 z*!gUVY8>g@M6r;sZ>RZQb}@1OkONHV(0v{UT?t%u!y9CNzOt(ahW50-Zhid+Df$(5 zRZWKjNB!!&xZ?A;GejN(l~w!n70fUtw^8SyL+O@-<={vqPi57hVsxBHHTlZ={X?vw z{P>52`bxptFTbi$RB27nwR2PQw6?0u?etSI{59D=@iAb9k@jh{nz_3G&lWP6KZrUn z*6@ef(2PpZG(Ot6TtB+nNZfE}RO)$t-Ebn}exko=Osnnjv%-XN^-_EenUam07BaN- z_8=(cEju-b7ptVWSQp{SiyqPsGx9a>e-sRN8kB(J$?jLs7hXs&Grr-y zs;n2|oQ?0cR#BTgn+{S0G0eK#%cqEn(LnGMCu^lvtj9-5)Pgu{hBXSy@BSds6cu0b zjIF$N<|q*+?~eATv?Rm0Y8Lq24y^xdWFz#r%Dw3Ree?RE@(+@m!A8G0|Nf)cnUi$i z2*0rcxzyN+X0Vq~ZT)JYZIMCb8yh8Y4;C4@TjK^P;!AO<72zJ=LXF>Zxnfb&OR-c8 ze~<{9lCWd2$kq#I@4h`z8O+ZJ9_mC7TD$7K78=Ns-NVT7sv$Vi%M?2LH2A9+R6j{n zk00NJ(Z*a1R_@FH=8P3rwM(j;$zG5vn8N!I1M*Y3dpBt_?Rcr=qA@)T(gf`~q+vua z&t~UihA)T_R&*OjHTgtcV4@t6&s@ImV=lBZ=gS<^<|8F!uZnl(>}8gYOvv0}fL0EW zc=3~#Z4%TM1BK1{C~@t;FHg}Wy2Yt23i@r0BzQmY%qEv_xbjv=5!zT)6DctH9&u3X zOJ>#`<7-5>rc}JwKlI_tFFKhE%Up_HoI>k6VuB3aiZ2gV}^?qV{9PcxR4yw zh5;mgaj?>1D+kdEd@XP3IPxfW3*d6!KV1zI^8AL=oV2b4WS3(-I7i{pwxubPSvuIp zjL#JJYhK}sLCv;6A-_E1JUPY^wum9u$*gm;F1N+7#y-8;j4?L!XQ7IPl(_zwO;}2Q z#bU=6$r3bP?L(7S)H^yb^;668^zwn(SUNIP#i;x`SJQiKPI7qbRa*Rtt>srCsc(IR zq(ebTKVH_EMJ(1TG~XYB&f@WL}QaPtpr!vaRituYBE!+i1qC@i6rc8nJ}#> zb~_R*bPc;^Ys+rVi+>2+zC~k&b7sDID(aif4w2gjJ8qXw;f+ls#p8E}A~RBS${FR@ z5Jgp?kZYafCH09{ih>Fz7K3`~-LIND`BHnApa}1-l8Q=2N!J(|?@X5>*JOIRPNP2a zR{u)N412v}lFJ{Y&bc^tewT2KQ+8uon{2-i<11NG8<0~Xoef#}&jW07g0G1er`?Bt zf}2e!3F4^DlVj;yGxVXXlfztOM*)$Jwj&%Ep~1^Sv#Gur8XR}$$=3zcv4k2J0! z{)~XBLD?LLw|5;w;+Sy}?-DJ~borT&ChaTvZwbBktYfbx-F^TUPi_o!)(>JC-#oO5 zd>R?)pvloS57LMJZqDFZr6$TC%u5;_(|x^IbfGLeQ50PEIa^ib)eE}^+LW(rR@S?u zEBPf>Ru=oiLBwr(y3JUZ=6WgmZnNo+pM>g~^!3AURX$3uYi<+&vx+moUFTr;RDB~# z(Sow3VfRkAk-;x7O$0NB8ex*-3X}Zu1Y)$R+-G-2-lP;hF@vw>G(ozr4;xqbAw8F3 zJ`PhmtG{6mydtDIPO|mFeELOs=6MWCExI1S<7bXdwzCBhb?8a{-oT1?(@Pzht$P%p z>m!tv+snq{@^fh_zsK22k0rlG|5eJv^Nw{rl=7@vk2~m-D)iAf8h1Am29N95_pkC; zojbW}EI8h)38jUFL!bU2jUoE*PD>^r)yZ9#=SQo-ja&C7C2dTc?T2@Hb@xnzIR7Sz zdo$du{$th*Rk|Ph^N?Vp!?)gLW}4R*77Vbi*y}`@0`g#TUi&V=-waI0=GB+xEH%2{ za+%-e3T}rXGPd)RQRE7v-a97>(egVBj!^V;X7q$EBVv;l^lCdjA@LK5@(iW+09If| z#F*|7$}>@i(oK(ZLKGV2-zwXn!>J0FBQ({x%%}Hnxc`gF<{y{xigk9Y5$4%Gy}a6X zO03vy2F^rcK5C+0-eUa9a$H_>8DMuFC;uVODhsbDrIamp2@<5@oep0e%uLybAW%-X+ z5_IvS6h0}3T2=gip-F$w|Nr@>D#^`7pIgqSd)i^lb~ydktn3GUE=rQFTD{4R?=f4( zG4G3%-KcDH1nu;Pj86ZDAqoFt1pK|-Uw8OkijqrCaxFkDK*e!Y)p|9`OCZNb!3&@PCdwqEB>2$n*lvZ{; zeeH=YvHd6^;9K#UfUEvnsRANpAv8piB+D<$(HsQWX1swup)522vOlT~{_Q;w@c_50 zHu9pdak3TGBv5X0tiL=6tbruZ3?ed*G2?<6%lR07OuOjk<}zZb+Q!^0Tj{=SMwZv# zk`LOZIk;l1A#%Cg({07wC?*r+gL`*`7^-{jMM1mTan6l)=x^(BKWy-QsL-hub zenCc&w#bX(Sz=(X%$92`MX^YtCy>fC>^7h$rNg41Sqm+PWd7c;3_oL9DUz>|Ge~n|-&b1Tu1CjHS z^Wg2_^jdt7uqM;Nv=-#G1)KL##zN9c&5H+ll|hCMBF*U6?A;vTNsWcJvwOl#! z1m(Tpd*okOIVjz*Yxir#glEr?=^W)&OUdq^+Ka0+n>qjTnq=IREdG(E2Sq%I2t)RN zr0FFNS=p@b$-6$Rzu<~aYgOuT97W_{KoK4f)dCRgzNV*ket3V-JMnKu5`CR1ox0%= zx`b=ouk}h3?<=(Q&FhwDG$T%08Ze(^kGyHo@k23sy`cN?(ZY84fqYTTaCOhxh1t?=;5kjsg1# zZ6KM=2B8@;!0~*Bc_!cZT{40-U?UwQh=2{?0+yy`U{7>Me_8Vgn4?UmJxce*{ov{2 z^Ui;FkN;~5`61!T>F4Tohe-<}J{KzE2ZM_ELmZbLRT0%Jl{84nxFfCD<8CIrBzBQ@ z>(bGoJ!n3oL;XqO;=3wX{O#7TnjOq3mwQKarE0p_O~7w?m_7sQ9=W$Z5PjQbC}jrOBiIDMIm6zloh)Yz#MHm{GRM2V!X|>}5-!d%iqqy&@f)8dSdu z^9Z|vwi|c)Ox%_Om)y6Pj@PQ0B+P+7F=WBxM4pDBhAEC>cEcJo=?tW|K9}dZx6NqL z#dZ`a5Z9D+RYy&*E?R`qLW5sUdt$99egT~Jr(?|8m7)OU>cA)}!Y?+D0 zsSQk(N+J7vHp+>IolrP@oYQ?HdyCQ>`Pqa*9xVsD%PdWENz+cbb$6!&{XE2!_v(#B zph@O?jGSRF{Y#^tc}F$sIl;%-R1Rqqz82lf)@3_33%)`iWkD?)VL$#h;hHrXtHK3s zk$U4=&Dz%$U$e9u=#ai9W*6*_%Na86k{M3l_=tpX^Ke}(dYZ`hw~Y7!-CH1IRkZy3 zthQpV;Q)N2DCJ?z^LJ$^4DISamNgn9P6N(dtZt$q&dGLw?R84GNcTIJi*EEvPcKHKM-E=HR;@M0t+x>}MTO3pz99jh57fLU$GHNdMPSyC0 zWUYNj5w$6 zpVnU3_Rh32R^KmU$4wYC=0?@+yX>NuWw7gD;Vn!^lG`AQ9hjwTUOWBWdf_{>`7D0U zn)Qxwx1$UZ>UZj!Ux=p5>!TCJm(8V8^k{l_$CzwmRElj@l#3?y3(#Wv_H3e<=390s z>Fi;pXkX&;iZ#?Jze|4jPQ_}1nhz;$vg%)^a~Y1ECGP*V7zHzbQ^jt8hrbZZ=Cz69 zl55!T+PBaw*^>IK1yqafP)%g8s}M5l43w>qtvmsP@PxlW8&b;6%&UJKP9J6#kI=j8 z_M0w^T~GP*8A=z~fj&jw3D!sO|oXctzcj5gd#Pr)+D!w!KWh6oCG!8SmbbkM{NcOiqtP1)#z&A}$7^QWVyM8L#NJ)QQ*O*khXS2aB+uOwic=NP z$%t{`{`&GUz<4#StV;Ftp`#G!uql3tz!+S?Xw2KROdgnJr$=ulgL6Ys>xf58u zni~m-5o2RdKE>^klhZXFvoxLIL)BX-jFZr2X^681T!%C0z}XtDnIacffpGDxA1kA@ z(&Nv8J<}Y0uCE43>R!FL<=`haZf7mWS z$189Llc6CC3O(oIj86g|^o+wQr3ilIt_`VkysRd^W`R(pb29jG`u^znRf_;U zsKhefC(S{&jhrMRIg-(1+LFvD^m0KIt7b80ip~`%Pu{`_Rh1(>%Ih(dx=YQRZRatAPh!rH=GB!5I;$mu z$h$4t`@AIz{h214I-;p`Cvva597NEG`K8&Ub1I&#`~um_Z;@|Ubm;x+NL;$(xp8^= z=JM(qGgnV`EAlByjO9*#*8~=alNx-22PUoUuEP7#sxu+@D3&~}OWGWjylb18!P2Bh zI|{E@KTOHI$!>UanhmT}r1yxXMGe^?k>l>`#hrVQze$`EXXZPSh{%@g{VXc(L{?aR zr|`N(7;HfmE$S%1m@)KI^atR)C2YZ1gk;!^^@}&653wJi9n+=9pjo-Q+bLuyI_k8+ zQhzzEF8y(8ubYarMj3iQm05hnziNv0Xh9XlTlPq>MFJTO3%c|!h+`#$Ont%EczK)KIS-z|jZr1( z=`#23uK;Sx8ttH5zrt;&;h#6OW{#7=Mto`6Q0ewU~44HjZQTkGo?fFi8CPx)l~tz=^+v`B~cqu*=M5wqn+2 z+JxNDMAHuKSkiSmY>l`iU2DL3uh0AW`bxDU<dS6O<29Q3Zq?n-U10;WmmmzH(o7ktO}@-AHK(zVp~aLRtF%XF5=YKy~Fw4>hDCMV(YreIFQ^(J7&u!E1H_=gYwLIz6$SS7YBNl zP%83NW}Mh}o~8=b!gCS?k;U1Adcd4VFw0GSV573ra6%Vi`wY#T>xiS;H66E~79SvW zWz_e{>`rn3ULoE%*j4-1NjZ9c3B;BTgs(sa1guRLa=&@IeRK1n3nrBPF6tmL*?LcZA9XuRx;1h5sP+ zv_scd+{6-wevcGI!cB0voz=Uy*p(fNuo=Pqd$hG-wLxI@J~@!>T>m_{6|_72E3FVq zWP=L1HNeIMONgDt#SSbg?UNX+nRH?XuyA2?S8ObraztPOyWFj)Z}@; zXiUPs5>}4jtf8&ghbmd7rr#Pq=P8qVmrA_g>0m z^k#1jj{t}V=0^u2j9|9K5fVh?E~h+zv?Y;GvJBWnJoCLaj}n^mEgGTUUd0|Y@C#XI zK3+Xb6s+22x2&9v()$V##ZhLJPJ-AzkY3p836jPUS#IsY#z&yjxmq=Y<`2?u zl;EU}?zDiQPDO8j)iw?Wi`aA9S18_hib|UmTu>3H@d&=Icc)lRI=C<<;pj;GK)T^^ zPPU8KA+MJdRRsC`FxC(Gmoq6bZ z)+20Pr;ebJqBs?FRPBoovuxyCIX)rMBupH~Cz^p$j~S~wj}4F4nhGk|;Rv?!rASTo zzX|w0${~^!D}3rVA-4RfB)VSV>4E8iVRD;bxdHkxPb;KMv~|u*v>>7UL?MgkBq4IC z?=dbMz{1Np7J`6knUzisP=#BNP;QS)LPUcUmKw8LWM8*kqEO->d9q6)}k0OH= zv%Dthz~_V06dRTLLQZPbf|`rug;HlommFh|eA!}{chdNa)RNW{l}}EnFFT(hx|nZB zulFNS#fI!HEm`SYLR-S=k~Ve{1rh%0sfjkPH^Tq7E~NsnO!SI&V21bu{R?_Sx`YOF zK8!v+CcSvcO;i<066#zoA?A5NI&Cgqy~=X0f%;vIH61)yLYpi7r1 zw>QE)Y`iN&Z+s>8rX&iVN7kGxmB#g%E0w1T&-0ieA@fw`7k_W(^C(Yx#4QbkCqI*< zwkgHQSLOw7Fk3O=5aC{b+~g6$u!v&%7Nhc4bBX#j=q*BX*~JvN$wd@yzN|IGWa8zp z;7aQL&DqC;4$IiI0ymwD*WO%n#FC)wq6AO7y`{c%yzNa6!g5v-9P5fKfWA65UN7XJ!A zc^n^8BE@x>%N$Z^70#uVjQXCu77%HDTL?jC!`M^ntVzQ?2CH;4&&W0MimIfzcvDhy zjyx;KFFNo`jou)|mmZII^G^;Ln++d2c!S29w291VmP*#hTAFzKBBRNet!m$htBRO~ z6xQfNBKUPm6A~eIUE=ytz>>iZ%!a_G(P=n zPEUX~<3Za;T}u$g8jkln2#^5v5tYiBmhwMyuMlA1zwL{5TpMh1QLC+Y`^R|+n9XaZO5>RY{Z!j7>)6y$8&`sGMyY!A23z={$<^}d`sVDTRc~A} zUKd{s2mZ}<+Am-0wQX6JnBIMFZ&?EEoHiU1`M%fZ-Qp6;yIJ^jUf%9ymKCx&KlKJi zvDlZoKa_pU4h7LSh!b{y{b|QM4TGIQ`N&+t>&lH zy;T_PjMaoq9pVzy>zYvnT#Et9)+aZB@I#l9vgq54di>5=R}eczq-AXqPc?n2%*5VqaI4&oXIy74<7WREN5Ydg(o+U-L)MvShlnitCFUJuR%c6Z1uN)LzA$&+99p)z-+ghPtKH7_Z)N zAK__+uMI5AdlF1CdM+9i!MVDU!Og1M^$KjVyz=f3kC%6?jxNYIk6TQMGY2O-_EURg zyh5foo4pq|+7TE654}Tf6n}bEX+n5Oc0)cF6!T`l!*0~3QtU=NI{NCxcUMI=24-x* zAzqU;9 zWh81&d@*0Ol^>=w$s4wIapUMvtMh)Qjct$9@X93;$v*S3wps#U65wTF)b6*MEFoeR zjLv%k5{yN>XB@5*jR=tsFu&YS@DD2+-a8& z?^6RgTIBa+uyya)DP%}>gRi{&Mz|_|RY-q3_!XhQhlwH|s(*kltG=3DKbKg&N4**M z7xOWL(YP<>k?X^5sRj7BW>pP~h)=Da+iOL-=GbC4x0_K7&t;>`!Ry>1!}|iHTHEqP zJWB^}S~Nr?m+@tHGl$%T`G|(|~i$B|=@8I+*iu^#0*^uks;J9+CVsQ2wU?3_S_dlO;NcoDOhUhwV zaQ)P5cXfUMJB`}sX=Q{zycssmUXHrX6^V582KJ)=75!>joPUc6SRZA`{eQV=j1buD z9SzO2|FT;|U5?3fX`MXGx_IHHxQXz5Gjj&o7^C_S5xU+<7Hs3fnscR|=D05pP;V|R zkhPZxzJ#3ThKavE4RIO8M@&+BcFD8o+HB8M!uS}a7vBaBJyI9))>G%Q(}4<)@*CuZ zKsFL=A@smZ{+zP6c3fD}__MG_QnY|yXAge63E5JGA?u4yT;3MJi{tPk{>mDt*=c=E z#{dW4(y98F?miAK4nE7H=@(?xjf9cB(mNfi>cg}B^9bGAUo_-i>c&jVLSa7|c&0~z zB>Te%1{nD zT2H=!&bC0TO)371APrv@lc^7b7`knf{D)W!j@{(CQ{|5mUxb((ybTnUrsuR8|5u8w zQB*}Hb;ikZ%kCq3w=HbgVy=7c!mx(DqCn*F(2vUPVcJr#1c3)0X^|;gXvbF5RZ+jq zyAVvKu;j}5sYYClj2g-8d~!k`iq4mOzn=fl<_}SPDd$eTNsXkX*BOX_prUBu?yk+|ReMDB_ae#aurn94Inh_R{#wof32t?ja1+ z>+8An&IKUn=~nyL!TCOp7c4)T2*aS>^5?j9x(VY=;rU>=lTw3idgnS%FvG8P5r&Ch z#M@?k?i!^>*D`{O5OH~i?kd6@k%qcur21wBf0vp>XSo0#XGTqS@9@_{(NroYdzejs ztni*v*5t1ka`u;e_@LJ&-z(U8#k(kie)#Zs^e(r4nymu}@iB2j6H_%73Y?Ks-}oCj z90cDNd2X8ac7B@hf*GFYa734$F(r7ex% z3qhIcrfS$x)60n@?kj`OQFX&+2B&TJ>%BCVdQP&-wqcd>rdTcyBXwg-wPEbAm}K*} z_#<>q5Vm9m3oNsa%sn@;ohO?<)s!}l+THUk?LKPt;tDv`6{(}0xD`J+&CATH>_pG# zAFg@wih?=bCP#%2(2t-)6NJ`X(YfTf!$-y=089A&c;_I$P@d4N9xjqQ(~o|8Sf-oG zz04!Bj3uJy>y+nB%GW_+mlV->!+ry?r&>|k!(hXUE!x*ARE8>q$#w$U(_8)H>%Pck z(*fe1m>2KKZp7`Vcsn0^u^xB{fi6`ANp+?tB{gJLc?>vID`01Jeak+>;U~AWeVI$t zY!)d$rb51CX~|Uft~gNCHq)+c)NS1;6k08AD%O#%y_N@fj=FKMVkXX*N;FHFn4^Gj zPQtgjD74D+km5@=2$@Y|1~}C4&D5vYk=emTW1e_}($g^)WtOKVeq(3*Xjx5s&vyp^ z2<>m`qI1jgs}&7#XQk}0?I4L*3juhPn1&m6Ua>>Eb>EXEPNuy0H8j}~R7aV>~y z<$^(^g3Py7U{7>U8NB1C@WCg5bSBN%;pCm*gj+N>1_oz(vH6O_!&|Pt3bI^i8Ht4# z2wQ@ACG^|*q}wj3>MH~IsVc5o0NUJ7M+c7I@Vm4-vv~HkSj^=KMINJHmQkx?<~qu6 z6i8RJofcYR;Oo?CGh(|fC?Cn}R=w#h!_&OmndSL&72Wit%j&l|lRL!^b0j?ux`t@A@G|Lh=KiTt!2uB`o)Nc)`kS+?Nay9J;lh>J@BK{= z6?mVGYRGLOXFWEPvPt@_jYBF43C6{w6pv=h-txK(?A-Eydo*AKR6SWJpDpDQ-q?AB zO^UXP6t73D%J>^@R~T537X~)WvJ`}lC(&AXl=Z^&B1t29YfgAQaNQb9+l4LiinyH% zuLy6CZ^^w>mpQey)d*#m90}P@=8#1A+1($0G-l}LXfOry4lk6b+g2FS{Q;3#j73GA zBlVVZ(giSbi_8zGbAv8=jhBts5G0jmEk(M_(!bK>B58H&e>s#G%)Cv~OSK*%zSrCm zQI*@idNSh7UIZ72$Yx;sO$4=>ZgTG2FJmtkUG zC!*ilso#RH{57xK3}Ybv;6_VqWu}u9 z@cKS}!zWqY!M`el|MLM0TD@4h+}xvnH;JJ2*thqoO8+<_XnDrWlwTA(bDj9T?JbNep%@||U365yI^1)+6edoFyd zmVOu4U|Ga!yCcYe9a$+*GZP`eJMr0^#AaLj6K!yA+$+yH(7WM}jiXT59Kr}%|7sW?-re$Qa zM(`m&bS7rJh$9c`TbhVoOA2G32wUjxFPp+<#!W1$#YcyCAk}{BL{| zAb%s~XNkfMz`(w=uWKC0Zhw;3aRfc3%aF9W8D^Id?wOZP5KPXCu(7Uy)rlpS+Qf5& z6$pvg8$=EoSM;yjyPlF~sKX+OX#zbrpl^_nsio?8$x%Xu+vZ&YF;TDDdb?Eb~6 z=5uzTB?Ox;gPfW| zpwOIrYlNQh%@DmjOXY*{}yJ;aZAL1$_ul|8BV`! zB7V`~I+L2*rdUsv7l@IdZ<(^&$Uau?+A&q}itnQ+{c!0iNWCkMLW#B$t7VNdd^mii z%J7**%5b`;(wB;Nj5!ugig|pq$r>~v+eGe12l6mbhuupio4@w!sxBkyqyN~iEAI9v zP?0PY3Ti!S^k)%@>~7X$Pkk&>t1W*RFTeUmD>kD!lgC@jQukrot$3EQH5>M#is~ZI?_C@Kv7G zu5Qv`D6WvnnnZr$MfS&bd?eJX?4DD9?c0RRs&La|sJ%|A5jn#bHN*TqE6L{O~9RIH4}Y#oT3E4B1d`(rd|PVb`nv z3FAI~BtI71$w+XnM|F6}RNIFRjgf zPcrGCHV%2hB4$5u6LeD^_T!Fy`Z4r~s74u+5!y@JphOv;DV#=z4FAX-qQZMF*$U9dB0QEoT;+L#Ovi)6R! zj+QI1>QB{UDt>vVLNBxt%T1sk!)X&Ow*=|zq2Hir_*h<(wo_l6`MS$6mNfrEB@R=> zq#!5p_YZn6(EYze^>_SJBi=+(8}LN!#<*;*FmF~72}ANOIzOLsK$|Szu8ag< zkhgJ63({res8EUYvcDa$*y}c>i>e>%U#px7(TjOa5Y@=GM8isbzhS>job}M1Dx@f4 z*~z5dHFyqE5g9}&I>2np2Dk>tT)G;B+#`Ui*Nb)!x_v7w&*hZI=Cp(#ZaAo7Ion$p z!^EC0VIZ{kF~2`4Dr&K;O+Ld|tLO*n7tFU?;vlFO;h2)-X3mYM$B%=?vX|7D0ncma z7s%I6Mk2cpP~2ZHCbd!?R%*4dJTTQT?deagF*|^X&+$@e_pYr0C2pdEXBO^UaqKy}<8bznDvNc&8BIg@a$r(M_SCBJpf6V&Y%}jU|_E<^PGK#!!X#SI2<|JSS=%-pE57Ak5dyxLVNn#?Jl`~m#w+b_2+%6q0f;!yT<+L9hkG-yTa$BEFY0I zWi83i)3(MY3hujYccJdP)DO3Ih2N?UPDEw*W`j0W3$fGJsb&5bn%2>SEh zt<*5v#XCGo%KOAK>u|wtr<1*2ySbKpXzoc~>w+wW0vQ~zikWo$UyNeqxa}srbXM!^ z!df4i4+{ZIGu3d)9K zd9`DH#OSGyckTBL>e1H4tFybUI;dt1wsR}YKl4<|m)?bNjeDsp^o+dg>b+Q;CER-`^x7_)G~pT9vB&IEg;jvk z@71rcny6Nqm(Ye}m9f`i4f5+Q;Xw|}*EhpSD1RU>vSp~U$F1QC-; z%H-r}U04BGp39QDwhXj!zCW#x_6w;nzTNsYgYy{(4Jy>49@VDL^wqs9atc5xmad`8 z8XG?Dq#ybhjgb0sN3btHwr6-0#-?pqd}cp!u&wMYgOCH%YUDVrMwF}gtqhI|vU02Z z?MwfMfbfGt+x}De6R$i2D|#Lr=-W2)b^M13d<7P`6@zX=UEKrhHI`)eSAX3El*_W}^dLI~;36*6?af{8n?fg(q0Q?J{VT z&0Y@E-HRnvXWdBuh^T`pcviiW$cu&6*sRAlehhmRU_2k}wg2Vz!6}~aX{NT1@$-6t znn%gUN1CMt3hK?#oQ^~CYm{%)=N3mjP9AmammbP}f9-3vcyP;M2bIVa5N}$@c;-BY z#D(?sImVpM@P?zZ$g8hZnL-o_An_GbG1%D45F1F9h$``}?1=oEZ@ngMRJN)G6)*V| zM#ZU3*2>R=o!Wq|jhG)?XusSsvg^U`&+nzUosjr%>&INb%Q{FXu0@Ca9e@s)DiaA( zY^SVIGFkJgFI)BH=gut9?Ux@DAH&G9aAd{J3E@@e7@G}_j?8ny+eQU_3uvv~bT z{_EjWq~!ip3_4|?$+4kzY+kE86oOhh_N77rv+xL@A)zn;%)>}wdD^^it@9~t9ec^= zKyj2z25b~PKOJ`FrED#0x@-6&`*>SWaM7RW1PzQRzh^F?0%Y=+kvGyk%T<|Aezx%A z7jDgUW8|KUMVBvFuTZ1#2mXM@&$g$dop64w?1!`f6;(p4;bN$;Fx*gAB2C#*tD`$9G8_>-S0?TlrU+vX(vrPR9v5~exh3r;WTrDzPbtFz#4 zqV3r$u<-i8@Xz+KW0EB;r?Y+C%q&|uU2o2x!HPJ|W)~U+Xp_**%;36c)rgZ}4SBd~ z&(OD{@!0g+=GWy&Z#MYa3JzslaeBebQ5k;Co$v((uTf36ub5ia_Di?AU>kZEv=VQ; zC~L+Y;vpAOcjN-`Xd;YHWsI2{Fx6;6sp~eI?2ypLc%7Rk;5_TY1488#{uupy(m8bz zOFm43b5$jj(@ullvPS3H9r60c$YPnArOfJ1W}6wK^+!0Hh_@)Jeovr({w6wf2AATi zI$sdZ-8-+hi=lQb z9TtYiICS+(6e1&)30$C0+P0JYC*~iiT5yc@&I#zh3_^Z|H7MdRdPZ%eD zkH5USEUyk}T7Oj2{rMS3Uvp@`?4!@*&UP(CEn}%IOv;XxwRJu56EISuDo6I31{E%OSI^da9n254akynP&)*yXf<|q>weA zxyKA2t<{*P$%fDcvbfL8ei(o1!0sp?)NaW*gvaP~b7=V~K-FPYo<8Ok0VZLYMh4r_ z{hcvNfx!7Ik5G-M5fi=V_+dR756aUW)b4+MS1Tip8KPKe5Sp}{p%nH)yZRNg2zJ>* zZ+G^Gg_rEzM4CZi^=m-YoF5@ zPPOB;U)!K{McY3+w=z_av7RDvMaa#)2$s{7k`{Ijtrj+tYyWXFvDVvBOji>?vTD+s z%kW|sx!d=xE_M+aF>WQN>A$#@7O!8!VzL&a!E4?bpB`(k&ykc6A2GDe*BbUahE1nmfy2;Z` zSmW1q=uYGiMNBD;Jh47G#q0qe~yUsBqvV7T%K=q_v14Y$ehR zAKZORj4EC*5drs2RL=Yiv<)Q}z*%6k$YI?GR0Kpa9s1y~p1&d)%NWJgM}I{!VYtR! z!85@Cf|_3TUzN1~`uG;NN6^+fl128pO7f!UvCcYHbKaXMYn!J0MNa6Ks02&pp`5oS z!&|iyntfDP$tQ{_Z~rgbzNHXeX?+K8-7GoUBr6faU)n9)TUQB>XIB6risi%sm@-;eBEYeH0 zO5L4=af6@rQ}RrPNVBfMy}DxSyt-NABIT$u;ZeHk$rL$SecjL%-jA`^Sg}L%@IF1R zXCD?Iv6)4z&@gp9f>{{`g?N!N>1euAkmjZd5Hz4|7Nh z!&a0A-J`{CzmMOkTh8+qFgnTpZ_@~$-jn?DLQLPMH3}1m|(F=>ah>; z^jk4TxbS?HovT%pj5VKKxwlI}j%~S-ZW!8O0S?+ppY=CiWuyqbUPL<%I&v$_#DO*UbW(q$_AEwrMUH^ zcS!je)=Ypx{1!_bDC(hb*DKI}@K*qHj5Jw;fAd!|!6xzghM9&6(Mi1e9=R-8@FAY5 zP)jn{&e4#m7k)2NBpnGlbL~w* zP&~^TRU5HxWdQN>A>R&s@ovf`yb8H9 z@x3!rOb@^O&axN=d{u`5QX@D|7~G+Q1NAQ>M~C6r)Ghk*`u}+!A*NwUeatNIxr%A~ zNMYi6jS}VS`?4F9u&PlyN8K+&PbtJ*W*hkx%r-R}CU$WZ6W#aQV}dG#0Fz7^lkXgV zO)?2+EA+7f0Fz99dj7vAnfAJcf%$}^RHb*&)pmOpMqoubYZaLPT~XNBnMC=2SCn+A z0bvZVqRdJZsHduetMI3;8yCL4hA^>;yBd3>VSj}Z+9k^kNSDQieKL7&$%f#Uh~zV9 z=FChS{;T;?G6?nk1H!rWy(^kEa?hKOg!@&sx8NP#H0zB2jkxM>b@$Mf#qJFAxo{uT z-#21@ce>hLTTB#`Cnhrk~ zJ>*x=5UY0LI(RY(y}yix+8xKY(p93@%8s$?(Ndk@+x@|n-_`2h+S=nvoGLO7XR7ST z%Vq-K5XN}0M12L2`LkVt`h9u4%rIsaQpmiGaAxSCaHc~4&)VCV2^`+qd&iPoTFx`8 zw41GLOb%}pBs8q80#GrgQ65H*qCVgbKNYjuO)?5kA`)8yPhj^BlsjRsT4+t+Hdl}s z>G6d!`ZUo0+9$Z9c0R}xv6T2&ArOs|^v(HQo8lm*ofh=WaTxKwQhk4wL$b|mo&c64 z$f;>cZZ9h77gTIzn~}_%l?9_c&)6+boJFg|JxKc1@>7@!RrbKmnkHBL^=CUD{?av@ zs}?cKwdI!H?~}d?euFI39Uuht+F99q@yWoZrV@OTO549GwEyLB5W084?HcB(?@I2$ z7^L(j%S4;^y-#!4d~Uxk+Q~-l?ATSPiT;+^JuW-bHqYkr>MSp|(DqwqEtKpjzOhcA zn981SSY<})FLz0b7a=emu}YeyTaEBj2V)AwUWcgfMW7G#r7!No8bzL95Nj&u*i&97 z%ZSm}J0GNW@UwM>H8vrMKEJU|V~)O-by$LM);ORBQ0;HhOwG2HyXHDZC$o8VMSpx7 zCvuS^a%QX@FvIVqv{;2I(e2QJaQDFKL-Zr7s>4lPhOSiFc=8z+CD#Z;mf_x_A3xd+dG+N8VLrh7X z^!#nz?nE8|(kO;h2ArLJX1V;xA({J?o#Q<{Iz!v141;bya}5KYnZ!?qs4~Zz{k^Y| z?z$vT3Wq2V!L_9;oRA)%zQSOaNWb&#eMFVxta`E5lik))0GZhE2bB6Fo|SoMZj2g5*vj78mb--9 zhm*FaH=82Q--%pG`>9dPX^*TmjI}*aqMH_xVfUI2J=V}BR?#!zf~0CLavLSIh|v`9 zdRL_t#bp$V39v|NR!j~_)C`@AP8h-Os&?o20AA*kuZtL zcM&VO%O+$$g%PT7r6*Cw$u%+nC$!+Z z*+uI?F-E7FK`g?a>JvkWilR%XI#_+-MV;ekuLg&rj7~@}0i1#sq^9WV8R)QM-epC~o*9UjkKhS#FfqmDCtsa#TsSybCkA~QaK ztEvt8c^<0E3HQ#NeyBN0OEPT!IBO7->5ZdBOSrBV@?ByjrsxOEt@7(qr9VYv@#4YS zj#ezS=Rj8v)bz{8q%VUKin6l#$cJLH(5Rp_4#mR({DHsLll3F>*}0Rs>ux8uCGXqR z801Ly;n!UwLkm?c0EZs7U%ycK%_x$Z{AEjJ#*_v*&CG(Ax+nD-*@NGxREydDH>5Fq zo=;OVyt;9}S0GP~&rCsH>L<3LRrX$0_y>~lA3M`#FS(Pl7@~cPFmWYO(}h;6@aLV9 zdoJZWyzJiOE~JFyw%t`D7w`k`rYz;71`P=~-*%NxvzYjJ3|~142EVtqRvL&3XlPV@ z^CXYorO(qQlG9!t`|y#h60b?8N_?-p>`HQHRB9=a&nmsEJZP#E33q)q6L8;s$7*=! zB6)UpKD!>avvXJe2gF~MRfos_=4X|Iu?h~$<5RTPk*!zS#~VftP|eezFIMIgyo4JP z+6t2&R0}&MPXKTLoBKjm6GuTBCPKn`g0n7nan`_V#!Z)@oSwctK35kvsE@(3~J1b{>n zG~VYBDSl1yWC$SxK$fb&q-6j=xWt=z#Q=gZ@UZ}teJBeI3~@IolRbD8Cfc=}b~sve z2<1s!<)>rhBeG&t1!9*4sJovo*cFT3op}LlG~4NP-=>99;fd^GB1<}y48`r$XxMa= zDjrSE6>PK4D!KlEF4|_jnx~VocIZ%n?&+6<(L59SWztfVjU&6dMFE`O-m11sjAr+p z{94nIUMcc%F~c8_xcY#vQBd>KLsMb{o%0pR(0pE9Um4Ak?b?BnuB#M6qP~8PX00Bg z6`F(SUbZ$$f`eg!Ms~YOhF8SJopnu3UQjdF7-n1X5gW8w;6pI zwT>djeS|un>*1J1aSCRqHyW{UwNU^+lEzaGqIjcBHYBC(bZ-f|TY8tM@qS!zt38KB z$GmN22ZQGaF4L!3QFVRaUYr<@TC17c=93VA=Gd9s6$-;*2ozo>Tlpj}yb?tQ0?DQQ zgBz4J_+*ftUJss42m1(c={|K|zx9v(ftD&NT!@(OSP{{eK&zXEcD7E}_BZ^>Dwk++ z4%)vR1||hQm{z)JA*3Gyw+cb@iB!?h$VjCPCfNB(taYt*tf^=+G&vKocItHnyVadf z2Gh+VE?XUM{kazu;|=P;&gq^7F4eW8Q@%BV8|-|8$m(T>K3aZdvyrhFu8Dv%$Dw;H z$~RNBBnx)#oCe+3CX6v6dBO#t6t-7+2_p9a$9Y~C9v)^F9$t3>0tf*q3M;# zOGoeYHj&9^ni&(4&mE}y}?#1YpN8h$Qt^@8f>&Kh*W=ujGWoidYTkFCk* zuOZA_n(GWK4D2TZd1NgB(aI8q4NPd34|MK?y9si4n&KUX8K5bi(nf0@kN%=iOq72%a|GsDb z>>?}pn@gk!K5Vwl`G;)rJER_sp^-b}uV8yX$(l=(CbQ0Bgbf4=6*);_&7BNrr;h0NM~i@QguP^lbgQ5ZDQFmFW(6oaqqBJ@xlV z`L7uhX(CUQ;wl{o*gRPPcac+fU<)m92Ku^HOl9y-&w99I<#$lPH^*Hi;61Q~guClU zENF07F>PvzxEPw@U8QtqIjpAVLLO)Cp7WisbIk>c&(qN}GeJw70Vl~DH_81mPB6~# zrE-e1p6Re*=A(QV{i99vV5U@ZVb?q=4d$Add`|ZImkh)Sg2BAtj2%$)DQba5Ovu6E zoR371T`(GX-MvYvdfgyR0rKTSmE8D==5UpN_}xal-8EVr=}zyr#`x*(B!S{w1aB_< z)^tq0B&5wj^skHLt#N13D4L!zvGJ3v5^!JsJ0hpzAU?5w;bkIP>zY_lt3HQ%CL z>AB}d$<3IeOSEB5aaQ`wH82t8T(Y;8F(JCY80T*WhoC>Y(%m{_LKYOhY8b{c94Qk& zv013QiB$aginn+D#mbJHh&B0I6*b?jDAsclA=d=k!uWMK7($RUu}aVMvWp&LxDVrB z)16q$WxA{{+HrZWV}zHY=)>-@e#M9pUctv&iF)t}1Q1j~57K1i{^sxiJ@wnaUU&Fv zCd_}@TCJJ_esImvV!Y>=y8&?w!%pj-`K07B8nZykFG@Y!{Q7Iz z%;07q8@MJ4L!>rM({cFnb@0gUL#nelk)n^Gwy%PFU{lJ{4-SMD(gJrpAzAa6A2 z%h2;p`M7O@eTXSDD2DzU1IezgqyRCH9g%|-y(OG^bBUd^?jTp^XIzb% zwpzu0g+0}9YRs2fo*BHx;Zhr1Pi^{PL|Quje~YWWF0rKlTgdwFLLa|a3s4(713T;a zr_&Qok6EkHv{!hSuYTHGTI;pUcYzLA_bBTaN}3Z0Tk?1dW~XHZm$g|Kx$`=EIw5dx zL^iWo-HyngUDJ&`ViQ1CM{1R^NAgO%;5q^|P|z@*J+bvPb=gEhEB8ZgsSauIC170a zwpZT7oVi)iT11TZW=;^Cvy9P~YIbal4$~|?CnL{JG`hbVS?d-OXQ(Hwscbc6JIkpV z%%pVnzHcNif140eK(-oP-dE?K0eCLqB|V^*q~qy%1nix3&9s*N)W9Jd>)ro+w8$$i>tEPLb61~63lardtcDX zkZ5h=9ntC<52l&orjGKw-Ph)LZ&Xgll+Y|CXkD`@I8vPoUwDa?HjtE#C8qq5KwxkoEw)4YFvk=# zXiMowm3s5L{eYgMZ+`nlV~0CK6>}sE$w70MEi|cBySr$|6tm8iMj*0LOFwh|lBy%7 z^nUpTwEFC_mF09Fjr6&lyj3OvJE67fY!w&CqdUz%WJx39CAr;?Cc z(}~?v9|L*~X{z*A&df7}@0bDx5airSJzBf%QUvmjuZ&7cdGopF%|;uy8nI)oegnZy za6&0()9hC6vS~!+&cHg|x^vNDJ~-0%+LyuytuTB+GrqV<_}t2dm)B_ld3EFKC)HZp z)99lC*c%-0qmHg}r>(PhC)elePfr05R^rwEcFSnp7ysvsU318*)}qdXt5Q$L1IfIr zul5h^AGAs}9^Xhs-o;Mjvjy)Qh&L?Op@pOkw{d&&IUcioz9gH1%^PJMw>73gs&5Yoq^{)?bsSb7M`Q` z{9=G#^88Wy>H7NVr_cFac#qjweigllsC^+8jaaQA_xgxN_)Ck|@PF9BQ%>obcwc>r z3l*~CcPSajKYvnZlEQp_akMY;CG8+F55gi2lX+v2>kfWcW4H@LI~fNK>(!tj*V`IM zsVc{X!I~wE#@xYed;F)B3((n~h zXY97B-8sweUVR64-O|-s3CaUqZ4$(*Zh1xm-rb=tleM|~UHt`mt&YhGtyKmcYhH{e zZW(KPOAd@2UQsH?2c&J@0!!8_Q!Tzk*hBt@bozh*!||>=^6q`nMO?Xm9w0ij04#8X z^;GYAS`YoTe53uB?+T)?r`~hl$opS!lwG%;hK?ShL$3$D_yF)>Xy{$~@>BP_ZkOp4&1%n;VMDr$oga!*sVq_Gx~H^O(+O(c1D>Z;a6g|lISL#pRqMnH>MNKPqJx! zyNp}45nJ&3(W`#oB!crV`CD7HC(i)b$rO#$BqE;fx6xQ?ES{(TW)AJS|F%Z1KfKcq z5*w5iIbz|pj$hd^LJ*S~S44l89)n!(;33(q5lE+Op_d}-UR*ba&`<9TEmU4<`~fYP z>>u;H`v-2iR~OvuZyi0|cRXdaE>c88N&P$KTQ!?0P6^K|7A+L+FdhqHnwM;|_}1S) zozT!;fQflx{7~5E{5^PM$g(lz5mb2nVY4JAsQ8${54kInbob1`>Ds;rwbYWr?AwxZ zP3PPCaQ{O4Mp0L44CP;A@duQ}Ug&RWdeK@U`OkamcbbI*7*yxpU2fg&-Oq~9bmgIsV z&8qTcDyOT$Bp>%CS|BvS;L<8HDT6GKj48wRooWwj^p}Y4(2(y4bsDvSqq;~fsxoyh zOu8O?1rr9k1Vy$Eyl*`CVU6OU5{)6k59g64hL2*o+Vhv{FsEuTm59E7@7%}c|A^ho z2*r$wS0f4}=zJ+p(8+qghD`CEjCR-N<<`)NQ_LBIr&Sdj79!^>-%%%+4+Cq&V?~(0 z|GtaN+8!y-bWCQUzqnuz?vL zv8UXP$L^@p>zn;e)WP}u#5(`u&cQtgV8%YTb!i6;c#;wOTh@F>dbeaZ6I=MLxZGql z*PrYn&WShG5$rcm^42 zlp|v77Cqr~*NjG%^f+dMFSy&Ob+7#Gf14x#Re46XFEL%#L|<3$FPm&qf*+Ab#j6n2 z#HrvO3}A2&cA38<1gYSE3SgX!5>#9V^`aAfDr_FC#dm@DTon58t+sJ3@WcA)9%UEb z>yC!AN~^kod*_g8d-oP%v| zT%k4pL1ms;j5LliS$GHflH@@M`^4N;f@ag$$5Acm_tC>Et^^U_C<}!CVx#d$U6_?< zge*P%|2#rDG&P9gG$>tVUP6d|3}7;9b^m*cloI@8*-UjAXypQ(-16B)ah*P!e#XSN z_538FLtPLKYfKDk!HFZW%Sa%oIbm@XgKbVVoZm0%9rma5X7kpupRZyv()?CE&^aXD zb-(LAp8_LP{xt_b@Y(pGf&J-+D*iBT{2&?GSHtbD1O;3OMYH$K_%sO&Pl~Yl-7>02W-Z`aO;LZwcZe+ypi*v{D)lJa8r ze++vo0L$7P40Z(O75RnAkT>MX(XJwKBPem^1aN{peZ-zU_{GF*Zi;59#-5t6J8ANH z1j9TkD+uEEalz-&D1pCFiG0*jWRJ|Q`0CCumGJz6=#X)UeIdn3FnXWCxv3ux*qt|( zY*rAx8JQhc;{FDA^+qXj9K0p)}Q(oOm>05iTA}@(B zG}zb@uuC=<+0|#A@oanr!!jpKAS-BeQa)i<634Tfz~doAJrS%>7d+y3v%bg1t{ofy zdqw$`N8~`OJloF5ft0+;Ib{Ktw}v{Uqdj~~F%I1DE4Fm1EJ^?BnDRkr{g13#!$=5Q z?V-HuG%vMTCWR{CJNe4(XoD%d=(BMDnhJt4nUN#-6+cwih)$Q6!Tt@e0zL|>Jwl;b z8R_<5F~*>3>SIke?$3HrWgW8B7+~5YiYej^IYR;;VT|ICen4CIoGPwym?AK7@;9-Q zl#&O8=DZSL|6`xv?r=nHUT{w+CT%VQt=>D6ic5DCOn3KJx$14Rl=k+8*Nq^)?WH3RY)yq2?#O-L6 z(+CO!nn@uh1_TSKhkjL#*%`xq%QNY>Bey8HJNmlSP9aGA1b%@g%*xPQA9h!2{PcT`j2{hRCVoGbpFK#|n%tM^@O zl}!dtnFqtyQ~Z8rJylC!a4mRO2IptPp6cE4udhHzJwMw$AiakYbExKmbi^biWz|d{ zH+0OOJ*+WVgF)O;^EG-yFciEw6}ZXxZ5LkR3C-WFkBs~Q3GQC{42&WQGu^LqNA7Y} z_%`aO370B#(vMHnM6dO)^}Oobtc2cZ2+GkTW5*%tNcRyvokhQAQ}gAM!mdgKjdv!m zyDGDa&g*rB%jja&k8Q72*YRSpM@DY(%q@7)aFqb;LFZ0t6Qp0|@CC(~vVXYz=#{`9 z(3b5V(Aw$G#t-AbnePUDU{_-P?#ug4i4sC+r(FNY9rPU7zv`6aV>9UiJJrZ13`v~g zt>5CKwM`+Ny$u*ks}R105Q*o!93Hl>r53h+Z9V;>{Z@zORn{U9WJTwm*#7}djQ;@* zZr(9bNd2A$DltXCRhm}#R{;30pxSxgsIB!7ABc2+X7mD4pFVIQozs4y7mUVoFY5k) z9Jc>}whcz44q1V&rF`qHn$%6pm(XA__>A4@si#_>nPAa1<+Ccy@DOzawNuP~#xA&HF!AP>>YV{c5Uqm<5?jkMu*GwMT@BY&hRFFv2Xs z30}OexyHkXk-NimmEe(ufSbSFGIkzp*RL z(_6N3Zv+~k7d-WMA6;bt0$9i$r$0*k_1!lq%9io1gp8dV2u7>r-5Kojx z68%~!t$G->GPr$k!Ik{a`;mYB{12%6RlQ?}#cFN*oduH$?VFxHHPl;p zcWzTZe=B(9ukD|$!@k+OGtWImy?~S|+P)(}TQ`q4XoQ^9)|=Th!6YISI2X!OR=HL& z2IHa4Z9&s6X6J#po8KxQE#cw)9Oe#vnPn6gqZ<3R^d_018(RASQ8nglO5mkxq@v;F zozqGRKDpIJBZZ1ak%*zvL+uO$<-(U3X;`1(@hlJ(pkPNJDcBc-XEV0l`a1MZJWm)9)m*Ig&ohZR>HgF z=I8tShQj)XRug2P3AR>o5lVl@6s`Y`DPn~mwNN}lFfScDq5!5G_oQzwa_TVciHWJJ zZ~a~JHLw@e->}oIyx$S8>PN!vxPzp2%UV2@IK#Smj`$;mirQOfo=#reNaEH?ibg)= z8b0>&@&)jwZtF23!NH9N%~WU3vF)voo3?b