From 672d6daa8ec5628a309f152e562d5c8a4cfa8d70 Mon Sep 17 00:00:00 2001 From: Josip Milovac Date: Thu, 13 Jul 2023 11:32:02 +1000 Subject: [PATCH] demo version --- .eslintrc.json | 13 + .gitignore | 3 + blockchain/block.js | 142 +-- blockchain/blockchain.js | 312 +++-- blockchain/blockchain.test.js | 6 +- blockchain/broker-registration.js | 220 ++-- blockchain/broker-registration.test.js | 205 ++++ blockchain/compensation.js | 6 +- blockchain/integration.js | 20 +- blockchain/integration.test.js | 2 +- blockchain/payment.js | 6 +- blockchain/payment.test.js | 79 -- blockchain/rds-store.js | 32 +- blockchain/sensor-registration.js | 230 ++-- blockchain/sensor-registration.test.js | 266 +++-- blockchain/transaction.js | 15 +- blockchain/uris.js | 26 + broker/broker-app.js | 257 +++-- broker/broker.js | 2 +- demo/CMakeLists.txt | 18 + demo/CMakeSettings.json | 27 + demo/camera_client/CMakeLists.txt | 78 ++ demo/camera_client/CMakeSettings.json | 27 + demo/camera_client/FindFFmpeg.cmake | 39 + .../libvisiontransfer/CMakeLists.txt | 195 ++++ .../dependencies/libvisiontransfer/README.md | 71 ++ .../libvisiontransfer/python/CMakeLists.txt | 70 ++ .../libvisiontransfer/python/README.md | 39 + .../libvisiontransfer/python/setup.py | 56 + .../python/tools/autogen_docstrings.py | 216 ++++ .../python/tools/autogen_parameters.py | 183 +++ .../python/tools/generate_sources.py | 81 ++ .../python/visiontransfer_src/__init__.py | 0 .../visiontransfer_src/visiontransfer.pyx.in | 876 ++++++++++++++ .../visiontransfer_cpp.pxd.in | 161 +++ ...isiontransfer-9.0.2-py3.8-linux-x86_64.egg | Bin 0 -> 1298828 bytes ...ntransfer-9.0.2-cp38-cp38-linux_x86_64.whl | Bin 0 -> 1298174 bytes .../visiontransfer/CMakeLists.txt | 81 ++ .../visiontransfer/alignedallocator.h | 100 ++ .../visiontransfer/asynctransfer.cpp | 445 ++++++++ .../visiontransfer/asynctransfer.h | 166 +++ .../visiontransfer/bitconversions.cpp | 303 +++++ .../visiontransfer/bitconversions.h | 48 + .../libvisiontransfer/visiontransfer/common.h | 41 + .../visiontransfer/datablockprotocol.cpp | 884 +++++++++++++++ .../visiontransfer/datablockprotocol.h | 403 +++++++ .../visiontransfer/datachannel-control.h | 130 +++ .../visiontransfer/datachannel-imu-bno080.cpp | 157 +++ .../visiontransfer/datachannel-imu-bno080.h | 89 ++ .../visiontransfer/datachannelservice.cpp | 242 ++++ .../visiontransfer/datachannelservice.h | 144 +++ .../visiontransfer/datachannelservicebase.cpp | 135 +++ .../visiontransfer/datachannelservicebase.h | 145 +++ .../visiontransfer/deviceenumeration.cpp | 235 ++++ .../visiontransfer/deviceenumeration.h | 65 ++ .../visiontransfer/deviceinfo.h | 176 +++ .../visiontransfer/deviceparameters.cpp | 261 +++++ .../visiontransfer/deviceparameters.h | 1003 +++++++++++++++++ .../visiontransfer/exceptions.h | 48 + .../visiontransfer/imagepair.h | 23 + .../visiontransfer/imageprotocol.cpp | 962 ++++++++++++++++ .../visiontransfer/imageprotocol.h | 259 +++++ .../visiontransfer/imageset-opencv.h | 52 + .../visiontransfer/imageset.cpp | 254 +++++ .../visiontransfer/imageset.h | 548 +++++++++ .../visiontransfer/imagetransfer.cpp | 642 +++++++++++ .../visiontransfer/imagetransfer.h | 232 ++++ .../visiontransfer/internalinformation.cpp | 26 + .../visiontransfer/internalinformation.h | 54 + .../visiontransfer/networking.cpp | 158 +++ .../visiontransfer/networking.h | 141 +++ .../visiontransfer/parameterinfo.cpp | 154 +++ .../visiontransfer/parameterinfo.h | 86 ++ .../visiontransfer/parametertransfer.cpp | 246 ++++ .../visiontransfer/parametertransfer.h | 155 +++ .../visiontransfer/parametertransferdata.h | 36 + .../visiontransfer/protocol-sh2-imu-bno080.h | 443 ++++++++ .../visiontransfer/reconstruct3d-open3d.h | 144 +++ .../visiontransfer/reconstruct3d-pcl.h | 125 ++ .../visiontransfer/reconstruct3d.cpp | 556 +++++++++ .../visiontransfer/reconstruct3d.h | 292 +++++ .../visiontransfer/scenescanparameters.h | 23 + .../visiontransfer/sensordata.h | 116 ++ .../visiontransfer/sensorringbuffer.h | 146 +++ .../visiontransfer/standardparameterids.cpp | 102 ++ .../visiontransfer/standardparameterids.h | 141 +++ .../nerian_stream_unified.cpp | 179 +++ .../senshamart/client/camera.hpp | 74 ++ demo/camera_client/scratch/scratch.cpp | 70 ++ demo/camera_client/src/camera.cpp | 320 ++++++ demo/demo_show_video/CMakeLists.txt | 22 + demo/demo_show_video/FindFFmpeg.cmake | 39 + demo/demo_show_video/src/demo_show_video.cpp | 78 ++ demo/milk_client/CMakeLists.txt | 42 + demo/milk_client/src/etl.cpp | 604 ++++++++++ demo/sensor_client/CMakeLists.txt | 15 + .../senshamart/senshamart_client.hpp | 22 + demo/sensor_client/src/senshamart_client.cpp | 86 ++ deployment/cumulocity_template.service | 14 + deployment/init_instance.bat | 2 + deployment/senshamart_broker.service | 14 + deployment/senshamart_demo.service | 14 + deployment/senshamart_miner.service | 14 + deployment/senshamart_wallet.service | 14 + deployment/update_broker.bat | 13 + deployment/update_camera_demo.bat | 13 + deployment/update_miner.bat | 14 + deployment/update_wallet.bat | 14 + deployment/update_wallet_pw.bat | 9 + miner/miner-app.js | 365 +----- miner/miner.js | 107 +- network/blockchain-prop.js | 317 ++++-- network/{test.js => scratch.js} | 0 package.json | 4 +- sensor/sensor-app.js | 6 +- sensor/sensor.js | 2 +- settings.json | 44 +- ui/demo-logic.js | 802 +++++++++++++ ui/demo-ui.html | 153 +++ chain-util.js => util/chain-util.js | 90 +- config.js => util/config.js | 2 + constants.js => util/constants.js | 16 +- wallet/wallet-app.js | 283 ++--- wallet/wallet.js | 35 +- wallet/wallet.test.js | 91 -- 125 files changed, 17918 insertions(+), 1481 deletions(-) create mode 100644 .eslintrc.json create mode 100644 blockchain/broker-registration.test.js create mode 100644 blockchain/uris.js create mode 100644 demo/CMakeLists.txt create mode 100644 demo/CMakeSettings.json create mode 100644 demo/camera_client/CMakeLists.txt create mode 100644 demo/camera_client/CMakeSettings.json create mode 100644 demo/camera_client/FindFFmpeg.cmake create mode 100644 demo/camera_client/dependencies/libvisiontransfer/CMakeLists.txt create mode 100644 demo/camera_client/dependencies/libvisiontransfer/README.md create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/CMakeLists.txt create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/README.md create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/setup.py create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_docstrings.py create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_parameters.py create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/tools/generate_sources.py create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/__init__.py create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer.pyx.in create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer_cpp.pxd.in create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python3-egg/visiontransfer-9.0.2-py3.8-linux-x86_64.egg create mode 100644 demo/camera_client/dependencies/libvisiontransfer/python3-wheel/visiontransfer-9.0.2-cp38-cp38-linux_x86_64.whl create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/CMakeLists.txt create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/alignedallocator.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/common.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-control.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceinfo.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/exceptions.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagepair.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset-opencv.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransferdata.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/protocol-sh2-imu-bno080.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-open3d.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-pcl.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/scenescanparameters.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensordata.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensorringbuffer.h create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.cpp create mode 100644 demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.h create mode 100644 demo/camera_client/nerian_stream_unified/nerian_stream_unified.cpp create mode 100644 demo/camera_client/public_include/senshamart/client/camera.hpp create mode 100644 demo/camera_client/scratch/scratch.cpp create mode 100644 demo/camera_client/src/camera.cpp create mode 100644 demo/demo_show_video/CMakeLists.txt create mode 100644 demo/demo_show_video/FindFFmpeg.cmake create mode 100644 demo/demo_show_video/src/demo_show_video.cpp create mode 100644 demo/milk_client/CMakeLists.txt create mode 100644 demo/milk_client/src/etl.cpp create mode 100644 demo/sensor_client/CMakeLists.txt create mode 100644 demo/sensor_client/public_include/senshamart/senshamart_client.hpp create mode 100644 demo/sensor_client/src/senshamart_client.cpp create mode 100644 deployment/cumulocity_template.service create mode 100644 deployment/init_instance.bat create mode 100644 deployment/senshamart_broker.service create mode 100644 deployment/senshamart_demo.service create mode 100644 deployment/senshamart_miner.service create mode 100644 deployment/senshamart_wallet.service create mode 100644 deployment/update_broker.bat create mode 100644 deployment/update_camera_demo.bat create mode 100644 deployment/update_miner.bat create mode 100644 deployment/update_wallet.bat create mode 100644 deployment/update_wallet_pw.bat rename network/{test.js => scratch.js} (100%) create mode 100644 ui/demo-logic.js create mode 100644 ui/demo-ui.html rename chain-util.js => util/chain-util.js (77%) rename config.js => util/config.js (95%) rename constants.js => util/constants.js (78%) diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..ac214e3 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es2021": true + }, + //"extends": "google", + "parserOptions": { + "ecmaVersion": "latest" + }, + "rules": { + } +} diff --git a/.gitignore b/.gitignore index 23aeeaa..0e7993a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ /node_modules /package-lock.json /.DS_Store +/demo/camera_client/out/build +/demo/camera_client/lib64 +/demo/out/build diff --git a/blockchain/block.js b/blockchain/block.js index a0cce76..1e2dc61 100644 --- a/blockchain/block.js +++ b/blockchain/block.js @@ -1,9 +1,14 @@ -const ChainUtil = require('../chain-util'); -const { DIFFICULTY, MINE_RATE } = require('../constants'); +const ChainUtil = require('../util/chain-util'); +const { DIFFICULTY, MINE_RATE } = require('../util/constants'); +const BrokerRegistration = require('./broker-registration'); +const SensorRegistration = require('./sensor-registration'); +const Integration = require('./integration'); +const Payment = require('./payment'); +const Compensation = require('./compensation'); function concatIfNotUndefined(concatTo, prefix, concatting) { if (typeof concatting !== "undefined" && concatting.length !== 0) { - return concatTo + `${prefix}${concatting}`; + return concatTo + `${prefix}${concatting.signature}`; } else { return concatTo; } @@ -20,18 +25,24 @@ function getData(block, key) { } } -const acceptableMembers = new Set(); -acceptableMembers.add("timestamp"); -acceptableMembers.add("lastHash"); -acceptableMembers.add("hash"); -acceptableMembers.add("reward"); -acceptableMembers.add("payments"); -acceptableMembers.add("sensorRegistrations"); -acceptableMembers.add("brokerRegistrations"); -acceptableMembers.add("integrations"); -acceptableMembers.add("compensations"); -acceptableMembers.add("nonce"); -acceptableMembers.add("difficulty"); +const baseValidation = { + timestamp: ChainUtil.createValidateIsIntegerWithMin(0), + lastHash: ChainUtil.validateIsString, + hash: ChainUtil.validateIsString, + reward: ChainUtil.validateIsPublicKey, + nonce: ChainUtil.createValidateIsIntegerWithMin(0), + difficulty: ChainUtil.createValidateIsIntegerWithMin(0), + sensorRegistrations: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(SensorRegistration.verify)), + brokerRegistrations: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(BrokerRegistration.verify)), + integrations: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Integration.verify)), + compensations: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Compensation.verify)), + payments: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Payment.verify)) +} class Block { constructor(timestamp, lastHash, hash, reward, payments, sensorRegistrations, brokerRegistrations, integrations, compensations, nonce, difficulty) { @@ -185,104 +196,17 @@ class Block { difficulty); } - static validateIsBlock(block) { - if (!(block instanceof Object)) { - return { - result: false, - reason: "Is not an object" - }; - } + static verify(block) { + const validationRes = ChainUtil.validateObject(block, baseValidation); - for (const key in block) { - if (!acceptableMembers.has(key)) { - return { - result: false, - reason: `Block has key not in acceptable members` - }; - } - } + if (!validationRes.result) { + return validationRes; + } - if (!("timestamp" in block)) { + if (!Block.checkHash(block)) { return { result: false, - reason: "Block doesn't have a timestamp" - }; - } - const timestampRes = ChainUtil.validateIsIntegerWithMin(block.timestamp, 0); - if (!timestampRes.result) { - return { - result: false, - reason: "Timestamp validation failed: " + timestampRes.reason - }; - } - - if (!("lastHash" in block)) { - return { - result: false, - reason: "Block doesn't have lastHash" - }; - } - const lastHashRes = ChainUtil.validateIsString(block.lastHash); - if (!lastHashRes.result) { - return { - result: false, - reason: "lastHash validation failed: " + lastHashRes.reason - }; - } - - if (!("hash" in block)) { - return { - result: false, - reason: "Block doesn't have hash" - }; - } - const hashRes = ChainUtil.validateIsString(block.hash); - if (!hashRes.result) { - return { - result: false, - reason: "hash validation failed: " + hashRes.reason - }; - } - - if (!("reward" in block)) { - return { - result: false, - reason: "Block doesn't have reward" - }; - } - const rewardRes = ChainUtil.validateIsPublicKey(block.reward); - if (!rewardRes.result) { - return { - result: false, - reason: "reward validation failed: " + rewardRes.reason - }; - } - - if (!("nonce" in block)) { - return { - result: false, - reason: "Block doesn't have nonce" - }; - } - const nonceRes = ChainUtil.validateIsIntegerWithMin(block.nonce); - if (!nonceRes.result) { - return { - result: false, - reason: "nonce validation failed: " + nonceRes.reason - }; - } - - if (!("difficulty" in block)) { - return { - result: false, - reason: "Block doesn't have difficulty" - }; - } - const difficultyRes = ChainUtil.validateIsIntegerWithMin(block.difficulty); - if (!difficultyRes.result) { - return { - result: false, - reason: "difficulty validation failed: " + difficultyRes.reason + reason: "Couldn't verify hash" }; } diff --git a/blockchain/blockchain.js b/blockchain/blockchain.js index 4fb45aa..d93c5e8 100644 --- a/blockchain/blockchain.js +++ b/blockchain/blockchain.js @@ -6,10 +6,13 @@ const BrokerRegistration = require('./broker-registration'); const Integration = require('./integration'); const Compensation = require('./compensation'); const fs = require('fs'); -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const RdsStore = require('./rds-store'); const { - MINING_REWARD} = require('../constants'); + MINING_REWARD, + SENSHAMART_URI_REPLACE } = require('../util/constants'); + +const URIS = require('./uris'); function makeIntegrationKey(publicKey, counter) { return `${publicKey}/${counter}`; @@ -80,7 +83,9 @@ class PropertyHistory { throw new Error("Finishing Property History with null backing"); } - this.backing.undos.push(...this.undos); + for (const undo of this.undos) { + this.backing.undos.push(undo); + } Object.assign(this.backing.current, this.current); this.backing = null; @@ -113,6 +118,30 @@ function getPropertyClone(propertyHistory, key, fallback) { } } +function namedNode(x) { + return DataFactory.namedNode(x); +} + +function literal(x) { + return DataFactory.literal(x); +} + +function makeBlockName(block) { + return URIS.OBJECT.BLOCK + '/' + block.hash; +} + +function makeSensorTransactionName(sensorRegistration) { + return URIS.OBJECT.SENSOR_REGISTRATION + '/' + SensorRegistration.hashToSign(sensorRegistration); +} + +function makeBrokerTransactionName(brokerRegistration) { + return URIS.OBJECT.BROKER_REGISTRATION + '/' + BrokerRegistration.hashToSign(brokerRegistration); +} + +function makeWalletName(input) { + return URIS.OBJECT.WALLET + '/' + input; +} + class Updater { constructor(parent, block) { this.parent = parent; @@ -126,20 +155,23 @@ class Updater { this.store.startPush(); if (block !== null) { - this.store.push( - DataFactory.quad( - DataFactory.namedNode(this.block.hash), - DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"), - DataFactory.namedNode("http://SSM/Block"))); + this.pushQuad( + namedNode(makeBlockName(this.block)), + namedNode(URIS.PREDICATE.TYPE), + namedNode(URIS.OBJECT.BLOCK)); - this.store.push( - DataFactory.quad( - DataFactory.namedNode(this.block.hash), - DataFactory.namedNode("http://SSM/lastBlock"), - DataFactory.namedNode(this.parent.getBlockFromTop(0).hash))); + this.pushQuad( + namedNode(makeBlockName(this.block.hash)), + namedNode(URIS.PREDICATE.LAST_BLOCK), + namedNode(makeBlockName(this.parent.getBlockFromTop(0)))); } } + pushQuad(subject, predicate, object) { + this.store.push( + DataFactory.quad(subject, predicate, object)); + } + getBalanceCopy(publicKey) { if (publicKey in this.balances) { return Object.assign({}, this.balances[publicKey]); @@ -177,9 +209,9 @@ class Updater { } getBrokerPublicKeys() { - const keys = this.parent.getBrokerPublicKeysSet(); + const keys = this.parent.getBrokerKeysSet(); - for (const [key, value] of this.brokers) { + for (const [key, value] of Object.entries(this.brokers)) { keys.add(value.input); } @@ -339,7 +371,9 @@ class Chain { throw new Error("Finishing Blockchain Metadata with null parent"); } - this.parent.blocks.push(...this.blocks); + for (const block of this.blocks) { + this.parent.blocks.push(block); + } this.balances.finish(); this.sensors.finish(); this.brokers.finish(); @@ -349,13 +383,30 @@ class Chain { } } -function addRDF(store, metadata) { + +function uriReplacePrefix(testing, sensorName) { + if (testing.startsWith(SENSHAMART_URI_REPLACE)) { + return sensorName.concat(testing.slice(SENSHAMART_URI_REPLACE.length)); + } else { + return testing; + } +} + +function addNodeRDF(updater, metadata, sensorName) { for (const triple of metadata) { - store.push( - DataFactory.quad( - DataFactory.namedNode(triple.s), - DataFactory.namedNode(triple.p), - DataFactory.namedNode(triple.o))); + updater.pushQuad( + namedNode(uriReplacePrefix(triple.s, sensorName)), + namedNode(uriReplacePrefix(triple.p, sensorName)), + namedNode(uriReplacePrefix(triple.o, sensorName))); + } +} + +function addLiteralRDF(updater, metadata, sensorName) { + for (const triple of metadata) { + updater.pushQuad( + namedNode(uriReplacePrefix(triple.s, sensorName)), + namedNode(uriReplacePrefix(triple.p, sensorName)), + literal(triple.o)); } } @@ -442,7 +493,7 @@ function stepIntegration(updater, reward, integration) { inputBalance.balance -= integration.rewardAmount; for (const output of integration.outputs) { - const foundSensor = updater.getSensorCopy(output.sensor); + const foundSensor = updater.getSensorCopy(output.sensorName); if (foundSensor === null) { return { @@ -450,12 +501,29 @@ function stepIntegration(updater, reward, integration) { reason: `Integration references non-existant sensor: ${output.sensor}` }; } - if (foundSensor.counter !== output.counter) { + if (SensorRegistration.hashToSign(foundSensor) !== output.sensorHash) { return { result: false, reason: "Integration references non-current version of sensor" }; } + + const foundBroker = updater.getBrokerCopy(SensorRegistration.getIntegrationBroker(foundSensor)); + + if (foundBroker === null) { + return { + result: false, + reason: "Internal consitency error, can't find broker referenced by commited sensor registration" + }; + } + + if (BrokerRegistration.hashToSign(foundBroker) !== output.brokerHash) { + return { + result: false, + reason: "Integration references non-current version of sensor's broker" + }; + } + if (inputBalance.balance < output.amount) { return { result: false, @@ -471,14 +539,21 @@ function stepIntegration(updater, reward, integration) { updater.setBalance(reward, rewardBalance); const integrationCopy = Object.assign({}, integration); - const brokers = updater.getBrokerKeys(); + const brokers = updater.getBrokerPublicKeys(); const witnesses = Integration.chooseWitnesses(integration, brokers); + if (!witnesses.result) { + return { + result: false, + reason: "Couldn't choose witnesses: " + witnesses.reason + }; + } + integrationCopy.witnesses = {}; integrationCopy.compensationCount = 0; - for (const witness of witnesses) { + for (const witness of witnesses.witnesses) { integrationCopy.witnesses[witness] = false; } @@ -567,16 +642,7 @@ function stepSensorRegistration(updater, reward, sensorRegistration) { }; } - const extInfo = SensorRegistration.getExtInformation(sensorRegistration); - - if (!extInfo.result) { - return { - result: false, - reason: "Couldn't get sensor registration ext information: " + extInfo.reason - }; - } - - const foundBroker = updater.getBrokerCopy(extInfo.metadata.integrationBroker); + const foundBroker = updater.getBrokerCopy(SensorRegistration.getIntegrationBroker(sensorRegistration)); if (foundBroker === null) { return { @@ -609,32 +675,65 @@ function stepSensorRegistration(updater, reward, sensorRegistration) { rewardBalance.balance += sensorRegistration.rewardAmount; updater.setBalance(reward, rewardBalance); - addRDF(updater.store, sensorRegistration.metadata); + const sensorName = SensorRegistration.getSensorName(sensorRegistration); - const newSensor = extInfo.metadata; - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(newSensor.sensorName), - DataFactory.namedNode("http://SSM/transactionCounter"), - DataFactory.literal(sensorRegistration.counter))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(newSensor.sensorName), - DataFactory.namedNode("http://SSM/OwnedBy"), - DataFactory.namedNode("http://SSM/Wallet/" + sensorRegistration.input))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(updater.block.hash), - DataFactory.namedNode("http://SSM/Transaction"), - DataFactory.namedNode(newSensor.sensorName))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(updater.block.hash), - DataFactory.namedNode("http://SSM/SensorRegistration"), - DataFactory.namedNode(newSensor.sensorName))); + const foundExistingSensor = updater.getSensorCopy(sensorName); - newSensor.counter = sensorRegistration.counter; - updater.setSensor(newSensor.sensorName, newSensor); + if (foundExistingSensor !== null) { + if(foundExistingSensor.input !== sensorRegistration.input) { + return { + result: false, + reason: "A sensor has already been defined with this name" + }; + } + } + + addNodeRDF(updater, SensorRegistration.getExtraNodeMetadata(sensorRegistration), sensorName); + addLiteralRDF(updater, SensorRegistration.getExtraLiteralMetadata(sensorRegistration), sensorName); + + const transactionName = makeSensorTransactionName(sensorRegistration); + + if (updater.block !== null) { + updater.pushQuad( + namedNode(makeBlockName(updater.block)), + namedNode(URIS.PREDICATE.CONTAINS_TRANSACTION), + namedNode(transactionName)); + updater.pushQuad( + namedNode(makeBlockName(updater.block)), + namedNode(URIS.PREDICATE.CONTAINS_SENSOR_REGISTRATION), + namedNode(transactionName)); + + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.TYPE), + namedNode(URIS.OBJECT.SENSOR_REGISTRATION)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.HAS_COUNTER), + literal(sensorRegistration.counter)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.IS_OWNED_BY), + namedNode(makeWalletName(sensorRegistration.input))); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.DEFINES), + namedNode(sensorName)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.COSTS_PER_MINUTE), + literal(SensorRegistration.getCostPerMinute(sensorRegistration))); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.COSTS_PER_KB), + literal(SensorRegistration.getCostPerKB(sensorRegistration))); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.USES_BROKER), + namedNode(makeBrokerTransactionName(foundBroker))); + } + + updater.setSensor(sensorName, sensorRegistration); return { result: true @@ -650,15 +749,6 @@ function stepBrokerRegistration(updater, reward, brokerRegistration) { }; } - const extInfo = BrokerRegistration.getExtInformation(brokerRegistration); - - if (!extInfo.result) { - return { - result: false, - reason: "Couldn't get broker registration ext information: " + extInfo.reason - }; - } - const inputBalance = updater.getBalanceCopy(brokerRegistration.input); if (brokerRegistration.counter <= inputBalance.counter) { @@ -683,33 +773,56 @@ function stepBrokerRegistration(updater, reward, brokerRegistration) { rewardBalance.balance += brokerRegistration.rewardAmount; updater.setBalance(reward, rewardBalance); - addRDF(updater.store, brokerRegistration.metadata); + const brokerName = BrokerRegistration.getBrokerName(brokerRegistration); - const newBroker = extInfo.metadata; - newBroker.input = brokerRegistration.input; - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(newBroker.brokerName), - DataFactory.namedNode("http://SSM/transactionCounter"), - DataFactory.literal(brokerRegistration.counter))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(newBroker.brokerName), - DataFactory.namedNode("http://SSM/OwnedBy"), - DataFactory.namedNode("http://SSM/Wallet/" + brokerRegistration.input))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(updater.block.hash), - DataFactory.namedNode("http://SSM/Transaction"), - DataFactory.namedNode(newBroker.brokerName))); - updater.store.push( - DataFactory.quad( - DataFactory.namedNode(updater.block.hash), - DataFactory.namedNode("http://SSM/BrokerRegistration"), - DataFactory.namedNode(newBroker.brokerName))); + const foundExistingBroker = updater.getBrokerCopy(brokerName); - newBroker.counter = brokerRegistration.counter; - updater.setBroker(newBroker.brokerName, newBroker); + if (foundExistingBroker !== null) { + if(foundExistingBroker.input !== brokerRegistration.input) { + return { + result: false, + reason: "A broker has already been defined with this name" + }; + } + } + + addNodeRDF(updater, BrokerRegistration.getExtraNodeMetadata(brokerRegistration), brokerName); + addLiteralRDF(updater, BrokerRegistration.getExtraLiteralMetadata(brokerRegistration), brokerName); + + const transactionName = makeBrokerTransactionName(brokerRegistration); + + if (updater.block !== null) { + updater.pushQuad( + namedNode(makeBlockName(updater.block)), + namedNode(URIS.PREDICATE.CONTAINS_TRANSACTION), + namedNode(transactionName)); + updater.pushQuad( + namedNode(makeBlockName(updater.block)), + namedNode(URIS.PREDICATE.CONTAINS_BROKER_REGISTRATION), + namedNode(transactionName)); + + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.TYPE), + namedNode(URIS.OBJECT.BROKER_REGISTRATION)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.HAS_COUNTER), + literal(brokerRegistration.counter)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.IS_OWNED_BY), + namedNode(makeWalletName(brokerRegistration.input))); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.DEFINES), + namedNode(brokerName)); + updater.pushQuad( + namedNode(transactionName), + namedNode(URIS.PREDICATE.HAS_ENDPOINT), + literal(BrokerRegistration.getEndpoint(brokerRegistration))); + } + updater.setBroker(BrokerRegistration.getBrokerName(brokerRegistration), brokerRegistration); return { result: true @@ -850,6 +963,8 @@ function findBlocksDifference(oldBlocks, newBlocks) { const verifyRes = verifyBlockHash(newBlocks[i - 1], newBlocks[i]); if (!verifyRes.result) { + console.log(`${newBlocks[i - 1].hash}`); + console.log(`${newBlocks[i].lastHash}`); return { result: false, reason: `Couldn't verify hashes for block ${i}: ${verifyRes.reason}` @@ -976,9 +1091,9 @@ class Blockchain { return true; } - wouldBeValidBlock(rewardee, payments, sensorRegistrations, brokerRegistrations, integrations) { + wouldBeValidBlock(rewardee, payments, sensorRegistrations, brokerRegistrations, integrations, compensations) { const updater = this.chain.createUpdater(null); - return verifyTxs(updater, rewardee, payments, sensorRegistrations, brokerRegistrations, integrations).result; + return verifyTxs(updater, rewardee, payments, sensorRegistrations, brokerRegistrations, integrations, compensations).result; } static isValidChain(blocks) { @@ -1025,8 +1140,11 @@ class Blockchain { this.chain = baseChain; verifyResult.newChain.finish(); - onChange(this, this.blocks(), oldChain, chainDifferenceRes.difference); + console.log(`new chain of length: ${this.blocks().length}`); + onChange(this, this.blocks(), oldChain.blocks, chainDifferenceRes.difference); + + return { result: true, chainDifference: chainDifferenceRes.difference, diff --git a/blockchain/blockchain.test.js b/blockchain/blockchain.test.js index a295669..32e023e 100644 --- a/blockchain/blockchain.test.js +++ b/blockchain/blockchain.test.js @@ -1,4 +1,4 @@ -const Blockchain = require('./index'); +const Blockchain = require('./blockchain'); const Block = require('./block'); describe('Blockchain', () => { @@ -15,13 +15,13 @@ describe('Blockchain', () => { it('adds a new block', () => { const reward = 'test-reward-key'; - expect(bc.addBlock(Block.debugMine(bc.lastBlock(),reward,[],[]))).toBe(true); + expect(bc.addBlock(Block.debugMine(bc.lastBlock(),reward))).toBe(true); expect(bc.lastBlock().reward).toEqual(reward); }); it('validates a valid chain', () => { - expect(bc2.addBlock(Block.debugMine(bc2.lastBlock(), 'test-reward-key', [], []))).toBe(true); + expect(bc2.addBlock(Block.debugMine(bc2.lastBlock(), 'test-reward-key'))).toBe(true); expect(Blockchain.isValidChain(bc2.chain)).toBe(true); }); diff --git a/blockchain/broker-registration.js b/blockchain/broker-registration.js index 6b6dd3b..2d99e0d 100644 --- a/blockchain/broker-registration.js +++ b/blockchain/broker-registration.js @@ -1,151 +1,91 @@ -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); +const SENSHAMART_URI_PREFIX = require('../util/constants').SENSHAMART_URI_PREFIX; -const tripleValidator = { - s: ChainUtil.validateIsString, - p: ChainUtil.validateIsString, - o: ChainUtil.validateIsString -}; +function validateTerm(t) { + const stringRes = ChainUtil.validateIsString(t); -function validateMetadata(t) { - - let isBroker = []; - let costPerMinute = []; - let costPerKB = []; - let integrationEndpoint = []; - - const validationRes = ChainUtil.validateArray(t, ChainUtil.createValidateObject(tripleValidator)); - - if (!validationRes.result) { - return validationRes; + if (!stringRes.result) { + return stringRes; } - for (const triple of t) { - switch (triple.p) { - case "http://SSM/Cost_of_Using_IoT_Devices/Cost_Per_Minute": costPerMinute.push(triple); break; - case "http://SSM/Cost_of_Using_IoT_Devices/Cost_Per_Kbyte": costPerKB.push(triple); break; - case "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": - if (triple.o === "http://SSM/Broker") { - isBroker.push(triple.s); - } - break; - case "http://SSM/Integration/Endpoint": integrationEndpoint.push(triple); break; - } - } - - if (isBroker.length === 0) { + if (t.startsWith(SENSHAMART_URI_PREFIX)) { return { result: false, - reason: "No broker is defined" - }; - } else if (isBroker.length > 1) { - return { - result: false, - reason: "Multiple brokers are defined" - }; - } - - const brokerName = isBroker[0]; - - if (costPerMinute.length === 0) { - return { - result: false, - reason: "No cost per minute was defined" - }; - } else if (costPerMinute.length > 1) { - return { - result: false, - reason: "Multiple cost per minutes were defined" - } - } - const CostPerMinuteValue = Number.parseInt(costPerMinute[0].o); - if (CostPerMinuteValue === NaN) { - return { - result: false, - reason: "Couldn't parse cost per minute as an integer" - }; - } else if (CostPerMinuteValue < 1) { - return { - result: false, - reason: "Cost per minute was negative" - } - } else if (costPerMinute[0].s != brokerName) { - return { - result: false, - reason: "Cost per minute object isn't the broker" - }; - } - - if (costPerKB.length === 0) { - return { - result: false, - reason: "No cost per KB was defined" - }; - } else if (costPerKB.length > 1) { - return { - result: false, - reason: "Multiple cost per KB were defined" - } - } - const CostPerKBValue = Number.parseInt(costPerKB[0].o); - if (CostPerKBValue === NaN) { - return { - result: false, - reason: "Couldn't parse cost per KB as an integer" - }; - } else if (CostPerKBValue < 1) { - return { - result: false, - reason: "Cost per KB was negative" - } - } else if (costPerKB[0].s != brokerName) { - return { - result: false, - reason: "Cost per KB object isn't the broker" - }; - } - - if (integrationEndpoint.length === 0) { - return { - result: false, - reason: "No integration endpoint was defined" - }; - } else if (integrationEndpoint.length > 1) { - return { - result: false, - reason: "Multiple integration endpoints were defined" - }; - } else if (integrationEndpoint[0].s != brokerName) { - return { - result: false, - reason: "Integration endpoint object isn't the broker" + reason: "Starts with reserved prefix" }; } return { - result: true, - metadata: { - brokerName: brokerName, - costPerMinute: CostPerMinuteValue, - costPerKB: CostPerKBValue, - integrationEndpoint: integrationEndpoint[0].o - } + result: true }; } +function validateLiteral(t) { + const termRes = validateTerm(t); + if (termRes.result) { + return termRes; + } + + const numberRes = ChainUtil.validateIsNumber(t); + + if (numberRes.result) { + return numberRes; + } + + return { + result: false, + reason: "Wasn't a string or a number" + }; +} + +const nodeValidator = { + s: validateTerm, + p: validateTerm, + o: validateTerm +}; + +const literalValidator = { + s: validateTerm, + p: validateTerm, + o: validateLiteral +}; + +const metadataValidation = { + name: ChainUtil.validateIsString, + endpoint: ChainUtil.validateIsString, + extraNodes: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray( + ChainUtil.createValidateObject( + nodeValidator))), + extraLiterals: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray( + ChainUtil.createValidateObject( + literalValidator))) +} + const baseValidation = { input: ChainUtil.validateIsPublicKey, - counter: ChainUtil.validateIsInteger, + counter: ChainUtil.createValidateIsIntegerWithMin(0), rewardAmount: ChainUtil.createValidateIsIntegerWithMin(0), - metadata: validateMetadata, + metadata: ChainUtil.createValidateObject(metadataValidation), signature: ChainUtil.validateIsSignature }; class BrokerRegistration { - constructor(senderKeyPair, counter, metadata, rewardAmount) { + constructor(senderKeyPair, counter, brokerName, endpoint, nodeMetadata, literalMetadata, rewardAmount) { this.input = senderKeyPair.getPublic().encode('hex'); this.counter = counter; this.rewardAmount = rewardAmount; - this.metadata = metadata; + this.metadata = { + name: brokerName, + endpoint: endpoint + }; + if (typeof nodeMetadata !== undefined && nodeMetadata !== null) { + this.metadata.extraNodes = nodeMetadata; + }; + if (typeof literalMetadata !== undefined && literalMetadata !== null) { + this.metadata.extraLiterals = literalMetadata; + }; this.signature = senderKeyPair.sign(BrokerRegistration.hashToSign(this)); const verification = BrokerRegistration.verify(this); @@ -154,6 +94,30 @@ class BrokerRegistration { } } + static getBrokerName(registration) { + return registration.metadata.name; + } + + static getEndpoint(registration) { + return registration.metadata.endpoint; + } + + static getExtraNodeMetadata(registration) { + if ("extraNodes" in registration.metadata) { + return registration.metadata.extraNodes; + } else { + return []; + } + } + + static getExtraLiteralMetadata(registration) { + if ("extraLiterals" in registration.metadata) { + return registration.metadata.extraLiterals; + } else { + return []; + } + } + static hashToSign(registration) { return ChainUtil.hash([ registration.counter, @@ -173,7 +137,7 @@ class BrokerRegistration { BrokerRegistration.hashToSign(registration)); if (!signatureRes.result) { - return signatureRes.reason; + return signatureRes; } return { @@ -181,8 +145,8 @@ class BrokerRegistration { }; } - static getExtInformation(registration) { - return validateMetadata(registration.metadata); + static name() { + return "BrokerRegistration"; } } diff --git a/blockchain/broker-registration.test.js b/blockchain/broker-registration.test.js new file mode 100644 index 0000000..c024284 --- /dev/null +++ b/blockchain/broker-registration.test.js @@ -0,0 +1,205 @@ +const BrokerRegistration = require('./broker-registration'); +const ChainUtil = require('../util/chain-util'); +const SENSHAMART_URI_PREFIX = require('../util/constants').SENSHAMART_URI_PREFIX; + +describe('Broker Registration', () => { + let keyPair; + + beforeEach(() => { + keyPair = ChainUtil.genKeyPair(); + }); + + it("Construct a broker", () => { + new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [], 0); + }); + + it("Construct a broker with invalid counter", () => { + expect(() => new BrokerRegistration(keyPair, "hello", "test", 0, 0, "test", null, 0)).toThrow(); + }); + + it("Construct a broker with invalid name", () => { + expect(() => new BrokerRegistration(keyPair, 1, 5, 0, 0, "test", null, 0)).toThrow(); + }); + + it("Construct a broker with negative costPerMinute", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", -1, 0, "test", null, 0)).toThrow(); + }); + + it("Construct a broker with invalid costPerMinute", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 1.5, 0, "test", null, 0)).toThrow(); + }); + + it("Construct a broker with negative costPerKB", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, -1, "test", null, 0)).toThrow(); + }); + + it("Construct a broker with invalid costPerKB", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, "hello", "test", null, 0)).toThrow(); + }); + + it("Construct a broker with invalid broker", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, 5, null, 0)).toThrow(); + }); + + it("Construct a broker with negative rewardAmount", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", null, -1)).toThrow(); + }); + + it("Construct a broker with invalid rewardAmount", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", null, "0")).toThrow(); + }); + + it("Construct a broker with extra metadata", () => { + new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + }); + + it("Construct a broker invalid subject in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: 0, + p: "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a broker reserved subject in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: SENSHAMART_URI_PREFIX + "something", + p: "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a broker with invalid predicate in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: {}, + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a broker with reserved predicate in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: SENSHAMART_URI_PREFIX + "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a broker with invalid object in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: [] + }], 0)).toThrow(); + }); + + it("Construct a broker with reserved object in extra metadata", () => { + expect(() => new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: SENSHAMART_URI_PREFIX + "something else" + }], 0)).toThrow(); + }); + + it("Changing input fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.input = ChainUtil.genKeyPair(); + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing counter fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.counter++; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing rewardAmount fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.rewardAmount++; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata name fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.metadata.name = "else"; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata costPerMinute fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.metadata.costPerMinute++; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata costPerKB fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.metadata.costPerKB++; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata endpoint fails verify", () => { + const changing = new BrokerRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(BrokerRegistration.verify(changing).result).toBe(true); + + changing.metadata.endpoint += "a"; + + expect(BrokerRegistration.verify(changing).result).toBe(false); + }); +}); \ No newline at end of file diff --git a/blockchain/compensation.js b/blockchain/compensation.js index f994e6e..24a7d46 100644 --- a/blockchain/compensation.js +++ b/blockchain/compensation.js @@ -1,4 +1,4 @@ -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const Integration = require('./integration'); const integrationValidation = { @@ -60,6 +60,10 @@ class Compensation { result: true, }; } + + static name() { + return "Compensation"; + } } module.exports = Compensation; \ No newline at end of file diff --git a/blockchain/integration.js b/blockchain/integration.js index 483aed2..86610b8 100644 --- a/blockchain/integration.js +++ b/blockchain/integration.js @@ -1,11 +1,11 @@ -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const SeedRandom = require('seedrandom'); const outputValidation = { - publicKey: ChainUtil.validateIsPublicKey, - sensor: ChainUtil.validateIsString, + sensorName: ChainUtil.validateIsString, amount: ChainUtil.createValidateIsIntegerWithMin(1), - counter: ChainUtil.createValidateIsIntegerWithMin(1) + sensorHash: ChainUtil.validateIsString, + brokerHash: ChainUtil.validateIsString }; function validateOutputs(t) { @@ -54,12 +54,12 @@ class Integration { } } - static createOutput(recipientPublicKey, sensorId, amount, counter) { + static createOutput(amount, sensorName, sensorRegistrationHash, brokerRegistrationHash) { return { - publicKey: recipientPublicKey, - sensor: sensorId, amount: amount, - counter: counter + sensorName: sensorName, + sensorHash: sensorRegistrationHash, + brokerHash: brokerRegistrationHash }; } @@ -128,6 +128,10 @@ class Integration { witnesses: witnesses }; } + + static name() { + return "Integration"; + } } module.exports = Integration; \ No newline at end of file diff --git a/blockchain/integration.test.js b/blockchain/integration.test.js index cbece6e..189f83b 100644 --- a/blockchain/integration.test.js +++ b/blockchain/integration.test.js @@ -1,5 +1,5 @@ const Integration = require('./integration'); -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); function createDummyIntegration(keyPair, witnesses) { return new Integration( diff --git a/blockchain/payment.js b/blockchain/payment.js index 9bc4b33..25f3ea2 100644 --- a/blockchain/payment.js +++ b/blockchain/payment.js @@ -1,4 +1,4 @@ -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const outputValidation = { publicKey: ChainUtil.validateIsPublicKey, @@ -79,6 +79,10 @@ class Payment { result: true, }; } + + static name() { + return "Payment"; + } } module.exports = Payment; \ No newline at end of file diff --git a/blockchain/payment.test.js b/blockchain/payment.test.js index 66f1f80..e69de29 100644 --- a/blockchain/payment.test.js +++ b/blockchain/payment.test.js @@ -1,79 +0,0 @@ -const Transaction = require('./transaction'); -const Wallet = require('./index'); -const { MINING_REWARD } = require('../constants'); - -describe('Transaction', () => { - let transaction, wallet, recipient, amount; - - beforeEach(() => { - wallet = new Wallet(); - amount = 50; - recipient = 'r3c1p13nt'; - transaction = Transaction.newTransaction(wallet, recipient, amount); - }); - - it('outputs the `amount` subtracted from the wallet balance', () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(wallet.balance - amount); - }); - - it('outputs the `amount` added to the recipient', () => { - expect(transaction.outputs.find(output => output.address === recipient).amount) - .toEqual(amount); - }); - - it('inputs the balance of the wallet', () => { - expect(transaction.input.amount).toEqual(wallet.balance); - }); - - it('validates a valid transaction', () => { - expect(Transaction.verifyTransaction(transaction)).toBe(true); - }); - - it('invalidates a corrupt transaction', () => { - transaction.outputs[0].amount = 50000; - expect(Transaction.verifyTransaction(transaction)).toBe(false); - }); - - describe('transacting with an amount that exceeds the balance', () => { - beforeEach(() => { - amount = 50000; - transaction = Transaction.newTransaction(wallet, recipient, amount); - }); - - it('does not create the transaction', () => { - expect(transaction).toEqual(undefined); - }); - }); - - describe('and updating a transaction', () => { - let nextAmount, nextRecipient; - - beforeEach(() => { - nextAmount = 20; - nextRecipient = 'n3xt-4ddr355'; - transaction = transaction.update(wallet, nextRecipient, nextAmount); - }); - - it(`subtracts the next amount from the sender's output`, () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(wallet.balance - amount - nextAmount); - }); - - it('outputs an amount for the next recipient', () => { - expect(transaction.outputs.find(output => output.address === nextRecipient).amount) - .toEqual(nextAmount); - }); - }); - - describe('creating a reward transaction', () => { - beforeEach(() => { - transaction = Transaction.rewardTransaction(wallet, Wallet.blockchainWallet()); - }); - - it(`reward the miner's wallet`, () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(MINING_REWARD); - }); - }); -}); \ No newline at end of file diff --git a/blockchain/rds-store.js b/blockchain/rds-store.js index 611d044..88dda31 100644 --- a/blockchain/rds-store.js +++ b/blockchain/rds-store.js @@ -1,5 +1,4 @@ const Stream = require("stream"); -const DataFactory = require('n3').DataFactory; //class NamedNode { // constructor(value) { @@ -294,32 +293,29 @@ function addQuadToMap(counter, map, key, quad, toPop) { if (toPop.has(key)) { popper = toPop.get(key); } else { - popper = { - delete: false, - removing: [] - }; + popper = []; toPop.set(key, popper); } if (map.has(key)) { quadMap = map.get(key); - popper.removing.push(counter); } else { quadMap = new Map(); map.set(key, quadMap); - popper.delete = true; } + popper.push(counter); quadMap.set(counter, quad); } function popFromSource(list, map) { for (const [key, popper] of list) { - if (popper.delete) { + const innerMap = map.get(key); + + if (popper.length === innerMap.size) { map.delete(key) } else { - const keyMap = map.get(key); - for (const counter of popper.removing) { - keyMap.delete(counter); + for (const counter of popper) { + innerMap.delete(counter); } } } @@ -342,12 +338,12 @@ class Source { this.objects = new Map(); this.graphs = new Map(); this.all = []; - this.pop = []; + this.popping = []; this.counter = 0; } startPush() { - this.pop.push({ + this.popping.push({ subjects: new Map(), predicates: new Map(), objects: new Map(), @@ -357,7 +353,7 @@ class Source { } push(quad) { - const toPop = this.pop[this.pop.length - 1]; + const toPop = this.popping[this.popping.length - 1]; addQuadToMap(this.counter, this.subjects, quad.subject.value, quad, toPop.subjects); addQuadToMap(this.counter, this.predicates, quad.predicate.value, quad, toPop.predicates); @@ -369,11 +365,11 @@ class Source { } pop() { - if (this.pop.length === 0) { + if (this.popping.length === 0) { throw new Error("Nothing to pop"); } - const toPop = this.pop.pop(); + const toPop = this.popping.pop(); this.all.slice(0, -toPop.count); @@ -453,7 +449,7 @@ class Source { cloneTermMap(this.graphs, returning.graphs); this.all.forEach(item => returning.all.push(item)); - this.pop.forEach(item => returning.pop.push(item)); + this.popping.forEach(item => returning.popping.push(item)); returning.counter = this.counter; return returning; @@ -461,7 +457,7 @@ class Source { pushInto(parent) { let on = 0; - for (const toPop of this.pop) { + for (const toPop of this.popping) { parent.startPush(); for (const quad of this.all.slice(on, on + toPop.count)) { parent.push(quad); diff --git a/blockchain/sensor-registration.js b/blockchain/sensor-registration.js index 3b2aeab..04c97b0 100644 --- a/blockchain/sensor-registration.js +++ b/blockchain/sensor-registration.js @@ -1,150 +1,95 @@ -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); +const SENSHAMART_URI_PREFIX = require('../util/constants').SENSHAMART_URI_PREFIX; -const tripleValidator = { - s: ChainUtil.validateIsString, - p: ChainUtil.validateIsString, - o: ChainUtil.validateIsString -}; +function validateTerm(t) { + const stringRes = ChainUtil.validateIsString(t); -function validateMetadata(t) { - let isSensor = []; - let costPerMinute = []; - let costPerKB = []; - let integrationBroker = []; - - const validationRes = ChainUtil.validateArray(t, ChainUtil.createValidateObject(tripleValidator)); - - if (!validationRes.result) { - return validationRes; + if (!stringRes.result) { + return stringRes; } - for (const triple of t) { - switch (triple.p) { - case "http://SSM/Cost_of_Using_IoT_Devices/Cost_Per_Minute": costPerMinute.push(triple); break; - case "http://SSM/Cost_of_Using_IoT_Devices/Cost_Per_Kbyte": costPerKB.push(triple); break; - case "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": - if (triple.o === "http://www.w3.org/ns/sosa/Sensor") { - isSensor.push(triple.s); - } - break; - case "http://SSM/Integration/Broker": integrationBroker.push(triple); break; - } - } - - if (isSensor.length === 0) { + if (t.startsWith(SENSHAMART_URI_PREFIX)) { return { result: false, - reason: "No sensor is defined" - }; - } else if (isSensor.length > 1) { - return { - result: false, - reason: "Multiple sensors are defined" - }; - } - - const sensorName = isSensor[0]; - - if (costPerMinute.length === 0) { - return { - result: false, - reason: "No cost per minute was defined" - }; - } else if (costPerMinute.length > 1) { - return { - result: false, - reason: "Multiple cost per minutes were defined" - } - } - const CostPerMinuteValue = Number.parseInt(costPerMinute[0].o); - if (CostPerMinuteValue === NaN) { - return { - result: false, - reason: "Couldn't parse cost per minute as an integer" - }; - } else if (CostPerMinuteValue < 1) { - return { - result: false, - reason: "Cost per minute was negative" - } - } else if (costPerMinute[0].s != sensorName) { - return { - result: false, - reason: "Cost per minute object isn't the broker" - }; - } - - if (costPerKB.length === 0) { - return { - result: false, - reason: "No cost per KB was defined" - }; - } else if (costPerKB.length > 1) { - return { - result: false, - reason: "Multiple cost per KB were defined" - } - } - const CostPerKBValue = Number.parseInt(costPerKB[0].o); - if (CostPerKBValue === NaN) { - return { - result: false, - reason: "Couldn't parse cost per KB as an integer" - }; - } else if (CostPerKBValue < 1) { - return { - result: false, - reason: "Cost per KB was negative" - } - } else if (costPerKB[0].s != sensorName) { - return { - result: false, - reason: "Cost per KB object isn't the broker" - }; - } - - if (integrationBroker.length === 0) { - return { - result: false, - reason: "No integration broker was defined" - }; - } else if (integrationBroker.length > 1) { - return { - result: false, - reason: "Multiple integration brokers were defined" - }; - } else if (integrationBroker[0].s != sensorName) { - return { - result: false, - reason: "Integration broker subjsect isn't the sensor" + reason: "Starts with reserved prefix" }; } return { - result: true, - metadata: { - sensorName: sensorName, - costPerMinute: CostPerMinuteValue, - costPerKB: CostPerKBValue, - integrationBroker: integrationBroker[0].o - } + result: true }; } +function validateLiteral(t) { + const termRes = validateTerm(t); + if (termRes.result) { + return termRes; + } + + const numberRes = ChainUtil.validateIsNumber(t); + + if (numberRes.result) { + return numberRes; + } + + return { + result: false, + reason: "Wasn't a string or a number" + }; +} + +const nodeValidator = { + s: validateTerm, + p: validateTerm, + o: validateTerm +}; + +const literalValidator = { + s: validateTerm, + p: validateTerm, + o: validateLiteral +}; + +const metadataValidation = { + name: ChainUtil.validateIsString, + costPerMinute: ChainUtil.createValidateIsIntegerWithMin(0), + costPerKB: ChainUtil.createValidateIsIntegerWithMin(0), + integrationBroker: ChainUtil.validateIsString, + extraNodes: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray( + ChainUtil.createValidateObject( + nodeValidator))), + extraLiterals: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray( + ChainUtil.createValidateObject( + literalValidator))) +}; + const baseValidation = { input: ChainUtil.validateIsPublicKey, counter: ChainUtil.createValidateIsIntegerWithMin(1), rewardAmount: ChainUtil.createValidateIsIntegerWithMin(0), - metadata: validateMetadata, + metadata: ChainUtil.createValidateObject(metadataValidation), signature: ChainUtil.validateIsSignature }; class SensorRegistration { - constructor(senderKeyPair, counter, metadata, rewardAmount) { + constructor(senderKeyPair, counter, sensorName, costPerMinute, costPerKB, integrationBroker, nodeMetadata, literalMetadata, rewardAmount) { this.input = senderKeyPair.getPublic().encode('hex'); this.counter = counter; this.rewardAmount = rewardAmount; - this.metadata = metadata; + this.metadata = { + name: sensorName, + costPerMinute: costPerMinute, + costPerKB: costPerKB, + integrationBroker: integrationBroker, + }; + if (typeof nodeMetadata !== undefined && nodeMetadata !== null) { + this.metadata.extraNodes = nodeMetadata; + } + if (typeof literalMetadata !== undefined && literalMetadata !== null) { + this.metadata.extraLiterals = literalMetadata; + } this.signature = senderKeyPair.sign(SensorRegistration.hashToSign(this)); const verification = SensorRegistration.verify(this); @@ -153,6 +98,38 @@ class SensorRegistration { } } + static getSensorName(registration) { + return registration.metadata.name; + } + + static getCostPerMinute(registration) { + return registration.metadata.costPerMinute; + } + + static getCostPerKB(registration) { + return registration.metadata.costPerKB; + } + + static getIntegrationBroker(registration) { + return registration.metadata.integrationBroker; + } + + static getExtraNodeMetadata(registration) { + if ("extraNodes" in registration.metadata) { + return registration.metadata.extraNodes; + } else { + return []; + } + } + + static getExtraLiteralMetadata(registration) { + if ("extraLiterals" in registration.metadata) { + return registration.metadata.extraLiterals; + } else { + return []; + } + } + static hashToSign(registration) { return ChainUtil.hash([ registration.counter, @@ -163,8 +140,7 @@ class SensorRegistration { static verify(registration) { const validationResult = ChainUtil.validateObject(registration, baseValidation); if (!validationResult.result) { - console.log(`Failed validation: ${validationResult.reason}`); - return false; + return validationResult; } const verifyRes = ChainUtil.verifySignature( @@ -180,8 +156,8 @@ class SensorRegistration { }; } - static getExtInformation(registration) { - return validateMetadata(registration.metadata); + static name() { + return "SensorRegistration"; } } diff --git a/blockchain/sensor-registration.test.js b/blockchain/sensor-registration.test.js index a364093..cdbc9b4 100644 --- a/blockchain/sensor-registration.test.js +++ b/blockchain/sensor-registration.test.js @@ -1,109 +1,205 @@ -const Transaction = require('./transaction'); -const Metadata = require('./metadata'); -const Wallet = require('./index'); -const { MINING_REWARD } = require('../constants'); +const SensorRegistration = require('./sensor-registration'); +const ChainUtil = require('../util/chain-util'); +const SENSHAMART_URI_PREFIX = require('../util/constants').SENSHAMART_URI_PREFIX; -describe('Transaction & Metadata', () => { - let transaction, metadata, wallet, recipient, amount, - senderWallet,Name,Geo ,IP_URL , Topic_Token, Permission, - RequestDetail, OrgOwner, DepOwner,PrsnOwner, PaymentPerKbyte, - PaymentPerMinute, Protocol, MessageAttributes, Interval, - FurtherDetails, SSNmetadata; +describe('Sensor Registration', () => { + let keyPair; beforeEach(() => { - wallet = new Wallet(); - amount = 50; - recipient = 'r3c1p13nt'; - senderWallet = new Wallet(); - Name = 'IoT_Lab_Temp_Sensor' - Geo = [1.045,0.0135] - IP_URL = 'www.IoT-locationbar.com/sensors/temp' - Topic_Token = 'ACCESS_TOKEN' - Permission = 'Public' - RequestDetail = 'Null' - OrgOwner = 'Swinburne_University' - DepOwner = 'Computer_Science' - PrsnOwner = 'Anas_Dawod' - PaymentPerKbyte = 10 - PaymentPerMinute = 5 - Protocol = 'MQTT' - MessageAttributes = 'null' - Interval = 10 - FurtherDetails = 'null' - SSNmetadata = 'null' - transaction = Transaction.newTransaction(wallet, recipient, amount); - metadata = Metadata.newMetadata(senderWallet,Name,Geo ,IP_URL , Topic_Token, Permission, - RequestDetail, OrgOwner, DepOwner,PrsnOwner, PaymentPerKbyte, - PaymentPerMinute, Protocol, MessageAttributes, Interval, - FurtherDetails, SSNmetadata) + keyPair = ChainUtil.genKeyPair(); }); - it('outputs the `amount` subtracted from the wallet balance', () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(wallet.balance - amount); + it("Construct a sensor", () => { + new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [], 0); }); - it('outputs the `amount` added to the recipient', () => { - expect(transaction.outputs.find(output => output.address === recipient).amount) - .toEqual(amount); + it("Construct a sensor with invalid counter", () => { + expect(() => new SensorRegistration(keyPair, "hello", "test", 0, 0, "test", null, 0)).toThrow(); }); - it('inputs the balance of the wallet', () => { - expect(transaction.input.amount).toEqual(wallet.balance); + it("Construct a sensor with invalid name", () => { + expect(() => new SensorRegistration(keyPair, 1, 5, 0, 0, "test", null, 0)).toThrow(); }); - it('validates a valid transaction', () => { - expect(Transaction.verifyTransaction(transaction)).toBe(true); + it("Construct a sensor with negative costPerMinute", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", -1, 0, "test", null, 0)).toThrow(); }); - it('validates a valid metadata', () => { - expect(Metadata.verifyMetadata(metadata)).toBe(true); + it("Construct a sensor with invalid costPerMinute", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 1.5, 0, "test", null, 0)).toThrow(); }); - it('invalidates a corrupt transaction', () => { - transaction.outputs[0].amount = 50000; - expect(Transaction.verifyTransaction(transaction)).toBe(false); + it("Construct a sensor with negative costPerKB", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, -1, "test", null, 0)).toThrow(); }); - describe('transacting with an amount that exceeds the balance', () => { - beforeEach(() => { - amount = 50000; - transaction = Transaction.newTransaction(wallet, recipient, amount); - }); - - it('does not create the transaction', () => { - expect(transaction).toEqual(undefined); - }); + it("Construct a sensor with invalid costPerKB", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, "hello", "test", null, 0)).toThrow(); }); - describe('and updating a transaction', () => { - let nextAmount, nextRecipient; - - beforeEach(() => { - nextAmount = 20; - nextRecipient = 'n3xt-4ddr355'; - transaction = transaction.update(wallet, nextRecipient, nextAmount); - }); - - it(`subtracts the next amount from the sender's output`, () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(wallet.balance - amount - nextAmount); - }); - - it('outputs an amount for the next recipient', () => { - expect(transaction.outputs.find(output => output.address === nextRecipient).amount) - .toEqual(nextAmount); - }); + it("Construct a sensor with invalid broker", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, 5, null, 0)).toThrow(); }); - describe('creating a reward transaction', () => { - beforeEach(() => { - transaction = Transaction.rewardTransaction(wallet, Wallet.blockchainWallet()); - }); + it("Construct a sensor with negative rewardAmount", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", null, -1)).toThrow(); + }); - it(`reward the miner's wallet`, () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(MINING_REWARD); - }); + it("Construct a sensor with invalid rewardAmount", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", null, "0")).toThrow(); + }); + + it("Construct a sensor with extra metadata", () => { + new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + }); + + it("Construct a sensor invalid subject in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: 0, + p: "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a sensor reserved subject in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: SENSHAMART_URI_PREFIX + "something", + p: "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a sensor with invalid predicate in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: {}, + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a sensor with reserved predicate in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: SENSHAMART_URI_PREFIX + "and", + o: "something else" + }], 0)).toThrow(); + }); + + it("Construct a sensor with invalid object in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: [] + }], 0)).toThrow(); + }); + + it("Construct a sensor with reserved object in extra metadata", () => { + expect(() => new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: SENSHAMART_URI_PREFIX + "something else" + }], 0)).toThrow(); + }); + + it("Changing input fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.input = ChainUtil.genKeyPair(); + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing counter fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.counter++; + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing rewardAmount fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.rewardAmount++; + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata name fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.metadata.name = "else"; + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata costPerMinute fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.metadata.costPerMinute++; + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata costPerKB fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.metadata.costPerKB++; + + expect(SensorRegistration.verify(changing).result).toBe(false); + }); + + it("Changing metadata integrationBroker fails verify", () => { + const changing = new SensorRegistration(keyPair, 1, "test", 0, 0, "test", [{ + s: "something", + p: "and", + o: "something else" + }], 0); + + expect(SensorRegistration.verify(changing).result).toBe(true); + + changing.metadata.integrationBroker += "a"; + + expect(SensorRegistration.verify(changing).result).toBe(false); }); }); \ No newline at end of file diff --git a/blockchain/transaction.js b/blockchain/transaction.js index df99ffb..2b35a7f 100644 --- a/blockchain/transaction.js +++ b/blockchain/transaction.js @@ -1,7 +1,8 @@ -const Payment = require('./payment'); -const Integration = require('./integration'); const SensorRegistration = require('./sensor-registration'); const BrokerRegistration = require('./broker-registration'); +const Integration = require('./integration'); +const Payment = require('./payment'); +const Compensation = require('./compensation'); class Transaction { constructor(transaction, type) { @@ -10,9 +11,13 @@ class Transaction { this.type = type; } - static mapId(type) { - return type.name(); - } + static ALL_TYPES = [ + SensorRegistration, + BrokerRegistration, + Integration, + Payment, + Compensation + ]; }; module.exports = Transaction; \ No newline at end of file diff --git a/blockchain/uris.js b/blockchain/uris.js new file mode 100644 index 0000000..06c122c --- /dev/null +++ b/blockchain/uris.js @@ -0,0 +1,26 @@ +const PREFIX = require('../util/constants').SENSHAMART_URI_PREFIX; + +module.exports = { + PREDICATE: { + IS_OWNED_BY: PREFIX + "IsOwnedBy", + DEFINES: PREFIX + "Defines", + HAS_COUNTER: PREFIX + "HasCounter", + COSTS_PER_MINUTE: PREFIX + "CostsPerMinute", + COSTS_PER_KB: PREFIX + "CostsPerKB", + USES_BROKER: PREFIX + "UsesBroker", + HAS_ENDPOINT: PREFIX + "HasEndpoint", + CONTAINS_TRANSACTION: PREFIX + "ContainsTransaction", + CONTAINS_SENSOR_REGISTRATION: PREFIX + "ContainsSensorRegistration", + CONTAINS_BROKER_REGISTRATION: PREFIX + "ContainsBrokerRegistration", + TYPE: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + LAST_BLOCK: PREFIX + "LastBlock" + }, + OBJECT: { + SENSOR_REGISTRATION: PREFIX + "SensorRegistration", + BROKER_REGISTRATION: PREFIX + "BrokerRegistration", + TRANSACTION: PREFIX + "Transaction", + WALLET: PREFIX + "Wallet", + BLOCK: PREFIX + "Block", + + } +}; \ No newline at end of file diff --git a/broker/broker-app.js b/broker/broker-app.js index cbc7801..3284135 100644 --- a/broker/broker-app.js +++ b/broker/broker-app.js @@ -1,16 +1,20 @@ //BROKER const express = require('express'); const bodyParser = require('body-parser'); -const P2pServer = require('../p2p-server'); +const BlockchainProp = require('../network/blockchain-prop'); const Broker = require('./broker'); const Aedes = require('aedes'); -const Config = require('../config'); -const ChainUtil = require('../chain-util'); +const Config = require('../util/config'); +const ChainUtil = require('../util/chain-util'); const QueryEngine = require('@comunica/query-sparql-rdfjs').QueryEngine; const Blockchain = require('../blockchain/blockchain'); +const Block = require('../blockchain/block'); +const Integration = require('../blockchain/integration'); +const SensorRegistration = require('../blockchain/sensor-registration'); +const BrokerRegistration = require('../blockchain/sensor-registration'); 'use strict'; @@ -18,10 +22,9 @@ const { DEFAULT_PORT_BROKER_API, DEFAULT_PORT_BROKER_CHAIN, DEFAULT_PORT_BROKER_SENSOR_HANDSHAKE, - DEFAULT_PORT_BROKER_SENSOR_MQTT, - DEFAULT_PORT_BROKER_CLIENT_MQTT, + DEFAULT_PORT_BROKER_MQTT, DEFAULT_PORT_MINER_CHAIN -} = require('../constants'); +} = require('../util/constants'); const CONFIGS_STORAGE_LOCATION = "./settings.json"; @@ -56,107 +59,221 @@ const sensorHandshakePort = config.get({ key: "broker-sensor-handshake-port", default: DEFAULT_PORT_BROKER_SENSOR_HANDSHAKE }); -const sensorMQTTPort = config.get({ - key: "broker-sensor-MQTT-port", - default: DEFAULT_PORT_BROKER_SENSOR_MQTT -}); -const clientMQTTPort = config.get({ - key: "broker-client-MQTT-port", - default: DEFAULT_PORT_BROKER_CLIENT_MQTT +const MQTTPort = config.get({ + key: "broker-MQTT-port", + default: DEFAULT_PORT_BROKER_MQTT }); const blockchain = Blockchain.loadFromDisk(blockchainLocation); -let sensorsServing = {}; +function minutesNow() { + //divide by 1000 for ms, 60 for seconds, and floor to get whole minutes passed + return Date.now() / (1000 * 60); +} -const sensorMQTT = new Aedes({ +/* + Sensor name -> { + Integration Hash -> { + sensor per kb + sensor per min + dataLastAt + coinsLeft + index + } + } +*/ +const ourIntegrations = new Map(); + +const ourSensors = new Map(); +const sensorOwnerHistory = []; + +function onBlockchainChange(newBlocks, oldBlocks, difference) { + const popCount = oldBlocks.length - difference; + for (let i = 0; i < popCount; i++) { + const changing = sensorOwnerHistory.pop(); + for (const sensorName of changing.removing) { + ourSensors.delete(sensorName); + console.log(`No longer brokering due to pop: ${sensorName}`); + } + for (const sensor of changing.adding) { + ourSensors.set(SensorRegistration.getSensorName(sensor), sensor); + console.log(`Now brokering due to pop: ${SensorRegistration.getSensorName(sensor)}`); + } + } + + //Integration hash -> Integration + const removedIntegrations = new Map(); + + for (let i = difference; i < oldBlocks.length; i++) { + for (const integration of Block.getIntegrations(oldBlocks[i])) { + removedIntegrations.set(Integration.hashToSign(integration), integration); + } + } + + //see what's added, then see what's removed + //if it's been removed and added, we don't change anything, else we do the respective operation + for (let i = difference; i < newBlocks.length; i++) { + //play with the new integrations + const newHistory = { + adding: [], + removing: [] + }; + for (const integration of Block.getIntegrations(newBlocks[i])) { + const integrationHash = Integration.hashToSign(integration); + for (let i = 0; i < integration.outputs.length; i++) { //for every output + const output = integration.outputs[i]; + if (ourSensors.has(output.sensorName)) { //if it references one of our sensors + + const sensor = ourSensors.get(output.sensorName); + if (!ourIntegrations.has(output.sensorName)) { //if the entry for this sensor doesn't exist + ourIntegrations.set(output.sensorName, new Map()); //make it + } + const integrationMap = ourIntegrations.get(output.sensorName); + if (integrationMap.has(integrationHash)) { //if it already exists + removedIntegrations.delete(integrationHash); //remove it from the removed map, as it's still present in the new chain + } else { //else + console.log(`Starting to integrate for integration: ${integrationHash}, sensor: ${output.sensorName}, perMin: ${SensorRegistration.getCostPerMinute(sensor)}, costPerKB: ${SensorRegistration.getCostPerKB(sensor)}`); + integrationMap.set(Integration.hashToSign(integration), //add the integration + { + perKB: SensorRegistration.getCostPerKB(sensor), + perMin: SensorRegistration.getCostPerMinute(sensor), + dataLastAt: minutesNow(), + coinsLeft: output.amount, + index: i + }); + } + } + } + } + //playing with integrations done, now update which sensors we own + for (const sensorRegistration of Block.getSensorRegistrations(newBlocks[i])) { + const sensorName = SensorRegistration.getSensorName(sensorRegistration); + if (ourSensors.has(sensorName)) { //if this sensor is currently one of ours + const existingSensor = ourSensors.get(sensorName); + if (SensorRegistration.getIntegrationBroker(sensorRegistration) !== broker_name) {//if the broker is now not us + newHistory.adding.push(existingSensor); + ourSensors.delete(sensorName); + console.log(`No longer brokering due to push: ${sensorName}`); + } else { + newHistory.adding.push(existingSensor); + ourSensors.set(sensorName, sensorRegistration); + console.log(`Updated brokering of ${sensorName}`); + } + } else { //else, we don't currently own this sensor + if (SensorRegistration.getIntegrationBroker(sensorRegistration) === broker_name) { + newHistory.removing.push(sensorName); + ourSensors.set(sensorName, sensorRegistration); + console.log(`Now brokering due to push: ${sensorName}`); + } + } + } + sensorOwnerHistory.push(newHistory); + } + + for (const [hash, integration] of removedIntegrations) { + for (const output of integration.outputs) { + if (ourSensors.has(output.sensorName)) { + ourSensors.get(output.sensorName).integrations.remove(hash); + } + } + } +} +blockchain.addListener(onBlockchainChange); +onBlockchainChange(blockchain.blocks(), [], 0); + +const mqtt = new Aedes({ id: broker_name }); -const sensorMQTTServer = require('net').createServer(sensorMQTT.handle); -const sensorMQTTSubscriptions = {}; -const clientMQTT = new Aedes({ - id: broker_name -}); -const clientMQTTServer = require('net').createServer(clientMQTT.handle); +const MQTTServer = require('net').createServer(mqtt.handle); function onNewPacket(sensor, data) { //check to see if sensor has been paid for - clientMQTT.publish({ - topic: sensor, - payload: data - }); -} + console.log(`New packet from ${sensor} with size ${data.length}`); -function onChainServerRecv(data) { - const replaceResult = blockchain.replaceChain(Blockchain.deserialize(data)); - if (!replaceResult.result) { - console.log(`Failed to replace chain: ${replaceResult.reason}`); - //failed to replace + const foundSensor = ourIntegrations.get(sensor); + + if (typeof foundSensor === "undefined") { return; } - blockchain.saveToDisk(blockchainLocation); + const now = minutesNow(); - sensorsServing = {}; + const removing = []; - for (const sensorName in blockchain.sensors) { - const sensorData = blockchain.sensors[sensorName]; - - if (sensorData.integrationBroker === broker_name) { - sensorsServing[sensorName] = sensorData; + for (const [hash, info] of foundSensor) { + const timeDelta = now - info.dataLastAt; + const cost = + timeDelta * info.perMin + + data.length / 1024 * info.perKB; + console.log(`out/${hash}/${info.index} = timeDelta: ${timeDelta}, cost: ${cost}`); + if (cost >= info.coinsLeft) { + //we're out of money, integration is over + console.log(`out of coins for ${hash}`); + removing.push(hash); + } else { + info.coinsLeft -= cost; + info.dataLastAt = now; + mqtt.publish({ + topic: "out/" + hash + '/' + info.index, + payload: data + }); } } - //UNSUBSCRIBE - for (const sensorName in sensorMQTTSubscriptions) { - if (!(sensorName in sensorsServing)) { - - const deliverFunction = sensorMQTTSubscriptions[sensorName]; - - sensorMQTT.unsubscribe(sensorName, deliverFunction, () => { }); - - delete sensorMQTTSubscriptions[sensorName]; - } + for (const hash of removing) { + foundSensor.delete(hash); } - - //SUBSCRIBE - for (const sensorName in sensorsServing) { - if (!(sensorName in sensorMQTTSubscriptions)) { - const deliverFunction = (packet, cb) => { - onNewPacket(packet.topic, packet.payload); - cb(); - }; - - sensorMQTTSubscriptions[sensorName] = deliverFunction; - - sensorMQTT.subscribe(sensorName, deliverFunction, () => { }); - } + if (foundSensor.size === 0) { + ourIntegrations.delete(sensor); } } + +//can only subscribe to out/ +mqtt.authorizeSubscribe = function (client, sub, callback) { + if (!sub.topic.startsWith("out/")) { + console.log(`Failed subscribe to topic ${sub.topic} by ${client}`); + return callback(new Error("Can't sub to this topic")); + } else { + console.log(`Subscription by ${client} to ${sub.topic}`); + } + callback(null, sub) +} +//can only publish to in/ +mqtt.authorizePublish = function (client, packet, callback) { + if (!packet.topic.startsWith("in/")) { + console.log(`Failed publish to topic ${packet.topic} by ${client}`); + return callback(new Error("Can't publish to this topic")) + } else { + console.log(`Publish by ${client} to ${packet.topic} of size ${packet.payload.length}`); + onNewPacket(packet.topic.substring(3), packet.payload); + } + callback(null) +} +//this will change maybe +mqtt.authenticate = function (client, username, password, callback) { + callback(null, true) +} + function onSensorHandshakeMsg(sensor, data) { onNewPacket(sensor, data); } -const chainServer = new P2pServer("Chain-server"); -chainServer.start(chainServerPort, chainServerPeers, (_) => { }, onChainServerRecv); +const chainServer = new BlockchainProp("Chain-server", blockchain); +chainServer.start(chainServerPort, null, chainServerPeers); broker.start(sensorHandshakePort, onSensorHandshakeMsg); -sensorMQTTServer.listen(sensorMQTTPort, () => { +MQTTServer.listen(MQTTPort, () => { console.log("Sensor MQTT started"); }); -clientMQTTServer.listen(clientMQTTPort, () => { - console.log("Client MQTT started"); -}); const app = express(); app.use(bodyParser.json()); - app.listen(apiPort, () => console.log(`Listening on port ${apiPort}`)); -app.get('/sensors', (req, res) => { - res.json(sensorsServing); +app.get('/ourSensors', (req, res) => { + res.json(ourSensors); }); app.get('/ChainServer/sockets', (req, res) => { diff --git a/broker/broker.js b/broker/broker.js index 38cf298..e98d803 100644 --- a/broker/broker.js +++ b/broker/broker.js @@ -3,7 +3,7 @@ const Websocket = require('ws'); //const Aedes = require('aedes')(); /* aedes is a stream-based MQTT broker */ //const MQTTserver = require('net').createServer(aedes.handle); -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const crypto = require('crypto'); const STATE_CLIENT_HELLOING = 0; diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt new file mode 100644 index 0000000..f5414d3 --- /dev/null +++ b/demo/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required (VERSION 3.8) + +SET(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + +project("senshamart demo" C CXX) + +if(EXISTS "sensor_client") + add_subdirectory("sensor_client") +endif() +if(EXISTS "milk_client") + add_subdirectory("milk_client") +endif() +if(EXISTS "camera_client") + add_subdirectory("camera_client") +endif() +if(EXISTS "demo_show_video") + add_subdirectory("demo_show_video") +endif() \ No newline at end of file diff --git a/demo/CMakeSettings.json b/demo/CMakeSettings.json new file mode 100644 index 0000000..0c5fbf9 --- /dev/null +++ b/demo/CMakeSettings.json @@ -0,0 +1,27 @@ +{ + "configurations": [ + { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" + }, + { + "name": "x64-Release", + "generator": "Ninja", + "configurationType": "RelWithDebInfo", + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "", + "inheritEnvironments": [ "msvc_x64_x64" ], + "variables": [] + } + ] +} \ No newline at end of file diff --git a/demo/camera_client/CMakeLists.txt b/demo/camera_client/CMakeLists.txt new file mode 100644 index 0000000..7b3b0b3 --- /dev/null +++ b/demo/camera_client/CMakeLists.txt @@ -0,0 +1,78 @@ +# CMakeList.txt : CMake project for brimbank, include source and define +# project specific logic here. +# +cmake_minimum_required (VERSION 3.8) + +SET(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + +project("senshamart" C CXX) + +find_package(OpenCV REQUIRED) + +if(NOT WIN32) + add_subdirectory("dependencies/libvisiontransfer") +endif() + +include(FindFFmpeg.cmake) + +find_package(PCL 1.3 COMPONENTS common io filters) +if(PCL_FOUND) + include_directories(${PCL_INCLUDE_DIRS}) + link_directories(${PCL_LIBRARY_DIRS}) + add_definitions(${PCL_DEFINITIONS}) +else() + message(WARNING "nerian_stream_pc_aws will crash!") +endif() + + +# Add source to this project's executable. +add_library(camera_demo_client STATIC + "src/camera.cpp") + +target_include_directories(camera_demo_client PRIVATE + "private_include" + ${FFMPEG_INCLUDE_DIRS}) + +target_include_directories(camera_demo_client PUBLIC + "public_include" + ${OpenCV_INCLUDE_DIRS}) + +target_link_libraries(camera_demo_client PRIVATE + ${FFMPEG_LIBRARIES} + ${OpenCV_LIBRARIES} + senshamart_client) + +target_compile_features(camera_demo_client PUBLIC + cxx_std_17) + +add_executable(camera_demo_client_scratch + "scratch/scratch.cpp") + +target_include_directories(camera_demo_client_scratch PRIVATE + ${OpenCV_INCLUDE_DIRS} + ${FFMPEG_INCLUDE_DIRS} +) + +target_link_libraries(camera_demo_client_scratch PRIVATE + camera_demo_client + ${OpenCV_LIBRARIES} + ${FFMPEG_LIBRARIES} + ) + + +if(NOT WIN32) + add_executable(camera_demo + "nerian_stream_unified/nerian_stream_unified.cpp") + + target_include_directories(camera_demo PRIVATE + ${OpenCV_INCLUDE_DIRS} + ${FFMPEG_INCLUDE_DIRS} + ) + + target_link_libraries(camera_demo PRIVATE + camera_demo_client + ${OpenCV_LIBRARIES} + ${FFMPEG_LIBRARIES} + ${LIB_SUFFIX} ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES} ${PCL_FILTERS_LIBRARIES} ${EXTRA_LIBS} + visiontransfer${LIB_SUFFIX}) +endif() \ No newline at end of file diff --git a/demo/camera_client/CMakeSettings.json b/demo/camera_client/CMakeSettings.json new file mode 100644 index 0000000..0c5fbf9 --- /dev/null +++ b/demo/camera_client/CMakeSettings.json @@ -0,0 +1,27 @@ +{ + "configurations": [ + { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" + }, + { + "name": "x64-Release", + "generator": "Ninja", + "configurationType": "RelWithDebInfo", + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "", + "inheritEnvironments": [ "msvc_x64_x64" ], + "variables": [] + } + ] +} \ No newline at end of file diff --git a/demo/camera_client/FindFFmpeg.cmake b/demo/camera_client/FindFFmpeg.cmake new file mode 100644 index 0000000..a086b38 --- /dev/null +++ b/demo/camera_client/FindFFmpeg.cmake @@ -0,0 +1,39 @@ +# rules for finding the FFmpeg libraries +if(WIN32) + find_package(FFMPEG) +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(PC_FFMPEG REQUIRED libavformat libavcodec libavutil libswscale) + + find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h HINTS ${PC_FFMPEG_LIBAVFORMAT_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVFORMAT_LIBRARY NAMES libavformat avformat HINTS ${PC_FFMPEG_LIBAVFORMAT_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h HINTS ${PC_FFMPEG_LIBAVCODEC_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVCODEC_LIBRARY NAMES libavcodec avcodec HINTS ${PC_FFMPEG_LIBAVCODEC_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h HINTS ${PC_FFMPEG_LIBAVUTIL_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVUTIL_LIBRARY NAMES libavutil avutil HINTS ${PC_FFMPEG_LIBAVUTIL_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(SWSCALE_INCLUDE_DIR libswscale/swscale.h HINTS ${PC_FFMPEG_LIBSWSCALE_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(SWSCALE_LIBRARY NAMES libawscale swscale HINTS ${PC_FFMPEG_LIBSWSCALE_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(AVFormat DEFAULT_MSG AVFORMAT_LIBRARY AVFORMAT_INCLUDE_DIR) + find_package_handle_standard_args(AVCodec DEFAULT_MSG AVCODEC_LIBRARY AVCODEC_INCLUDE_DIR) + find_package_handle_standard_args(AVUtil DEFAULT_MSG AVUTIL_LIBRARY AVUTIL_INCLUDE_DIR) + find_package_handle_standard_args(SWScale DEFAULT_MSG SWSCALE_LIBRARY SWSCALE_INCLUDE_DIR) + + mark_as_advanced(AVFORMAT_INCLUDE_DIR AVFORMAT_LIBRARY) + mark_as_advanced(AVCODEC_INCLUDE_DIR AVCODEC_LIBRARY) + mark_as_advanced(AVUTIL_INCLUDE_DIR AVUTIL_LIBRARY) + mark_as_advanced(SWSCALE_INCLUDE_DIR SWSCALE_LIBRARY) + + set(FFMPEG_INCLUDE_DIRS ${AVFORMAT_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR}) + set(FFMPEG_LIBRARIES ${AVFORMAT_LIBRARY} ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY} ${SWSCALE_LIBRARY}) + + if(${AVFORMAT_FOUND} AND ${AVCODEC_FOUND} AND ${AVUTIL_FOUND} AND ${SWSCALE_FOUND}) + set(FFMPEG_FOUND TRUE) + else() + set(FFMPEG_FOUND FALSE) + endif() +endif() diff --git a/demo/camera_client/dependencies/libvisiontransfer/CMakeLists.txt b/demo/camera_client/dependencies/libvisiontransfer/CMakeLists.txt new file mode 100644 index 0000000..8de3945 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/CMakeLists.txt @@ -0,0 +1,195 @@ +cmake_minimum_required(VERSION 3.0.0) + +if(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + +MATH(EXPR BITS ${CMAKE_SIZEOF_VOID_P}*8) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +# Search for PCL for example compilation +set(DISABLE_PCL 0 CACHE BOOL "Disables OpenCL example") +if(NOT DISABLE_PCL) + message(STATUS "looking for PCL") + find_package(PCL 1.3 COMPONENTS common io filters) + + if(PCL_FOUND) + include_directories(${PCL_INCLUDE_DIRS}) + link_directories(${PCL_LIBRARY_DIRS}) + add_definitions(${PCL_DEFINITIONS}) + else() + message(WARNING "Not building PCL example!") + endif() +endif() + +# Search for Open3D for example compilation +set(DISABLE_OPEN3D 0 CACHE BOOL "Disables Open3D example") +if(NOT DISABLE_OPEN3D) + # Search for Open3D + message(STATUS "looking for Open3D") + find_package(Open3D) + if(Open3D_FOUND) + include_directories(${Open3D_INCLUDE_DIRS}) + + # Check Open3D C++ ABI + get_property(def TARGET Open3D::Open3D PROPERTY INTERFACE_COMPILE_DEFINITIONS) + if(def MATCHES "GLIBCXX_USE_CXX11_ABI=0") + set(OPEN3D_CXX11_ABI 0) + else() + set(OPEN3D_CXX11_ABI 1) + endif() + + # Check system C++ ABI + include(CheckCXXSourceCompiles) + check_cxx_source_compiles("\ + #include \n\ + #if _GLIBCXX_USE_CXX11_ABI == 0\n\ + #error\n\ + #endif\n\ + int main(int, char**) {return 0;}" + SYSTEM_CXX11_ABI) + + # Check if ABIs match + set(OPEN3D_LIB_SUFFIX "") + if(NOT MSVC) + if(${SYSTEM_CXX11_ABI} AND (NOT ${OPEN3D_CXX11_ABI})) + message(WARNING + "Open3D was built with old C++ ABI (_GLIBCXX_USE_CXX11_ABI=0). " + "A separate version of libvisiontransfer will be built for linking " + "against Open3D. Using Open3D in combination with other libraries " + "that are built with the more recent C++ ABI will not be possible.") + set(BUILD_WITHOUT_CXX11_ABI 1) + set(OPEN3D_LIB_SUFFIX "-without-cxx11-abi${LIB_SUFFIX}") + endif() + endif() + else() + message(WARNING "Not building Open3D example!") + endif() +endif() + +# Search for OpenCV for example compilation +set(DISABLE_OPENCV 0 CACHE BOOL "Disables OpenCV example") +if(NOT DISABLE_OPENCV) + message(STATUS "looking for OpenCV") + find_package(OpenCV) + if(OpenCV_FOUND) + include_directories(${OpenCV_INCLUDE_DIRS}) + else() + message(WARNING "Not building OpenCV example!") + endif() +endif() + +set(DISABLE_NATIVE 0 CACHE BOOL "Disables native architecture compile flag") +if(NOT WIN32 OR MINGW) + include(CheckCXXCompilerFlag) + + # Some useful flags + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + CHECK_CXX_COMPILER_FLAG("-march=native" NATIVE_ARCH_SUPPORT) + if(NATIVE_ARCH_SUPPORT AND NOT DISABLE_NATIVE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + endif() + + # Activate c++11 or newer support + CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14) + CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) + CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) + if(COMPILER_SUPPORTS_CXX14) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") + elseif(COMPILER_SUPPORTS_CXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + elseif(COMPILER_SUPPORTS_CXX0X) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") + else() + message(WARNING "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") + endif() +else() + set(CMAKE_DEBUG_POSTFIX "-debug") +endif() + +# Search for python3 +set(DISABLE_PYTHON 0 CACHE BOOL "Disables python library") +if(NOT DISABLE_PYTHON) + message(STATUS "looking for python3") + + if(WIN32 AND NOT MINGW) + # Make sure we use the Windows python, not a matching one from msys! + set(USERPROFILE $ENV{USERPROFILE}) + if(${BITS} EQUAL 32) + file(GLOB Python3_EXECUTABLE + "${USERPROFILE}/AppData/Local/Programs/Python/Python3?-32/python.exe" + "${USERPROFILE}/AppData/Local/Programs/Python/Python3??-32/python.exe") + else() + file(GLOB Python3_EXECUTABLE + "${USERPROFILE}/AppData/Local/Programs/Python/Python3?/python.exe" + "${USERPROFILE}/AppData/Local/Programs/Python/Python3??/python.exe") + endif() + + message(WARNING "Windows build - assuming Python 3 is \"${Python3_EXECUTABLE}\".") + else() + set(Python3_EXECUTABLE "python3") + # This is for CMake 3.12 and up; making sure we get python3 + find_package (Python3 COMPONENTS Interpreter) + if(NOT Python3_FOUND) + find_package (Python3 COMPONENTS Interpreter HINTS "/mingw64") + endif() + if(NOT Python3_FOUND) + # We don't give up just yet + message(WARNING "Failed finding python3 with FindPython3. Assuming python3 is \"${Python3_EXECUTABLE}\"") + endif() + endif() + + # Search for cython + message(STATUS "looking for Cython") + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" +"\ +from distutils.core import setup\n\ +from distutils.extension import Extension\n\ +from Cython.Build import cythonize\n\ +print('OK')\ +" + OUTPUT_VARIABLE cython_output + OUTPUT_STRIP_TRAILING_WHITESPACE) + if("${cython_output}" STREQUAL "OK") + set(BUILD_CYTHON 1) + else() + message(WARNING "${cython_output}") + message(WARNING "Cython not found! Not building python library!") + endif() + + # Search for python-wheel + message(STATUS "looking for Wheel") + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" +"\ +import wheel\n\ +print('OK')\ +" + OUTPUT_VARIABLE wheel_output + OUTPUT_STRIP_TRAILING_WHITESPACE) + if("${wheel_output}" STREQUAL "OK") + set(BUILD_WHEEL 1) + else() + message(WARNING "${wheel_output}") + message(WARNING "Wheel not found! Not building python wheel packages!") + endif() +endif() + +if(NOT CMAKE_SUBMODULE) + #set the default path for built libraries to the "lib" directory + if(NOT WIN32 OR MINGW) + set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) + else() + set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib${BITS}) + endif() +endif() + +message(STATUS "CXX FLAGS: ${CMAKE_CXX_FLAGS}") + +add_subdirectory(visiontransfer) +add_subdirectory(examples) + +if(BUILD_CYTHON) + add_subdirectory(python) +endif() + diff --git a/demo/camera_client/dependencies/libvisiontransfer/README.md b/demo/camera_client/dependencies/libvisiontransfer/README.md new file mode 100644 index 0000000..6756dec --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/README.md @@ -0,0 +1,71 @@ +Vision Transfer Library 9.0.2 +----------------------------- + +The given library provides functionally for receiving and transmitting +image pairs over a computer network. The intended use for this library +is to receive output data from Nerian's 3D camera systems. However, the +library also provides functionality for transmitting image data. It can +thus be used for emulating a camera system when performing systems +development, or for transmitting image data to Nerian's SceneScan +system when using network image input. + +Images can be transferred with a bit depth of either 8 or 12 bits. When +receiving 12-bit images, the library inflates the images internally to +16 bits, in order to allow for more efficient processing. Monochrome +and RGB images are supported. + +When receiving data from a camera system, the first image of an image +set is typically the rectified image of the left camera, with a bit +depth of 8 or 12 bits. The second image is typically a disparity map +with subpixel resolution, which is transmitted as a 12-bit image. Each +value in the disparity map has to be divided by 16 in order to receive +disparities at the correct scale. + +There exist three possible ways for receiving and transmitting image +pairs: + +* `visiontransfer::AsyncTransfer` allows for the asynchronous reception + or transmission of image pairs. This class creates one or more + threads that handle all network communication. + +* `visiontransfer::ImageTransfer` opens up a network socket for sending + and receiving image pairs. This class is single-threaded and will + thus block when receiving or transmitting data. + +* `visiontransfer::ImageProtocol` is the most low-level interface. This + class allows for the encoding and decoding of image pairs to / from + network messages. You will have to handle all network communication + yourself. + + +In order to discover connected devices on the network, the class +`visiontransfer::DeviceEnumeration` can be used, which scans for +available devices and returns a list of `visiontransfer::DeviceInfo` +objects. Such a `visiontransfer::DeviceInfo` object can be used for +instantiating `visiontransfer::ImageTransfer` or +`visiontransfer::AsyncTransfer`. + +A separate network protocol is used for reading and writing device +parameters. This protocol is implemented by +`visiontransfer::DeviceParameters`. Any parameters that are changed +through this protocol will be reset if the device is rebooted or if the +user makes a parameter change through the web interface. + +The library further includes the class `visiontransfer::Reconstruct3D`, +which can be used for transforming a received disparity map into a set +of 3D points. + +Available Examples +------------------ + +| File name | Description | +|--------------------------------|--------------------------------------------------------------------------------| +| `asynctransfer_example.cpp` | Demonstration of asynchroneous transfers with `visiontransfer::AsyncTransfer`. | +| `imagetransfer_example.cpp` | Demonstration of synchroneous transfers with `visiontransfer::ImageTransfer`. | +| `opencv_example.cpp` | Shows how to convert an ImagePair to OpenCV images. | +| `parameter_example.cpp` | Shows how to read and write device parameters. | +| `pcl_example.cpp` | Shows how to convert a disparity map to a PCL point cloud | +| `server_example.cpp` | Shows how to create a server that acts like a SceneScan device. | +| `imu_data_channel_example.cpp` | Shows how to receive IMU data. | + +[Changelog](CHANGELOG.md) diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/CMakeLists.txt b/demo/camera_client/dependencies/libvisiontransfer/python/CMakeLists.txt new file mode 100644 index 0000000..3d56b47 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/CMakeLists.txt @@ -0,0 +1,70 @@ +message(STATUS "Python build uses source directory ${CMAKE_CURRENT_SOURCE_DIR}") + +set(LIBVISIONTRANSFER_SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}/.." CACHE PATH "Base directory of libvisiontransfer source package") +set(LIBVISIONTRANSFER_LIBDIR "${LIBRARY_OUTPUT_PATH}" CACHE PATH "Base directory of built libvisiontransfer libraries") +set(LIBVISIONTRANSFER_EGGDIR "${LIBRARY_OUTPUT_PATH}/../python3-egg" CACHE PATH "Target directory for Python .egg packaging") +set(LIBVISIONTRANSFER_WHEELDIR "${LIBRARY_OUTPUT_PATH}/../python3-wheel" CACHE PATH "Target directory for Python .whl packaging") + +if (WIN32 OR MINGW) + # Extra libs to link in cython step + set(LIBVISIONTRANSFER_EXTRA_LIBS "ws2_32,Iphlpapi") +else() + set(LIBVISIONTRANSFER_EXTRA_LIBS "") +endif() + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/visiontransfer_src/__init__.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/visiontransfer_src) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/visiontransfer_src/visiontransfer_cpp.pxd.in DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/visiontransfer_src) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/visiontransfer_src/visiontransfer.pyx.in DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/visiontransfer_src) + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/tools/autogen_docstrings.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/tools) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/tools/autogen_parameters.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/tools) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/tools/generate_sources.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/tools) + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/setup.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + +if(WIN32 AND NOT MINGW) + # CMAKE_BUILD_TYPE did not work here, but we only build for Release anyway + set(LIBNAME "/Release/visiontransfer-static${LIB_SUFFIX}.lib") +else() + # Linux and msys builds + set(LIBNAME "/libvisiontransfer-static${LIB_SUFFIX}.a") +endif() + +# Target to call all required preprocessing and build steps for cython +# (The || cd . is a Unix-compatible way to clear Windows errorlevel if directory already exists) +add_custom_target(cython ALL + DEPENDS visiontransfer-static${LIB_SUFFIX} + COMMENT "Will run the Cython build target" + COMMAND mkdir visiontransfer || cd . + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tools/autogen_docstrings.py + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tools/autogen_parameters.py + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tools/generate_sources.py + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} LIBVISIONTRANSFER_LIB=${LIBNAME} + LIBVISIONTRANSFER_EXTRA_LIBS=${LIBVISIONTRANSFER_EXTRA_LIBS} + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py build_ext + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} LIBVISIONTRANSFER_LIB=${LIBNAME} + LIBVISIONTRANSFER_EXTRA_LIBS=${LIBVISIONTRANSFER_EXTRA_LIBS} + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py bdist_egg --dist-dir "${LIBVISIONTRANSFER_EGGDIR}" +) + +# Wheel is built separately as it might not be available on all systems +if(BUILD_WHEEL) + add_custom_target(wheel ALL + DEPENDS cython + COMMENT "Creates python wheel package" + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH="${CMAKE_CURRENT_BINARY_DIR}" LIBVISIONTRANSFER_SRCDIR="${LIBVISIONTRANSFER_SRCDIR}" + LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} LIBVISIONTRANSFER_LIB=${LIBNAME} + LIBVISIONTRANSFER_EXTRA_LIBS=${LIBVISIONTRANSFER_EXTRA_LIBS} + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py bdist_wheel --dist-dir "${LIBVISIONTRANSFER_WHEELDIR}" + ) +endif() + +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E env LIBVISIONTRANSFER_LIBDIR=${LIBVISIONTRANSFER_LIBDIR} \ + LIBVISIONTRANSFER_EXTRA_LIBS=${LIBVISIONTRANSFER_EXTRA_LIBS} \ + ${Python3_EXECUTABLE} setup.py install WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})" ) + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/README.md b/demo/camera_client/dependencies/libvisiontransfer/python/README.md new file mode 100644 index 0000000..3fb8ac4 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/README.md @@ -0,0 +1,39 @@ +Nerian visiontransfer library, Python 3 wrapper +=============================================== + +This library is a cython wrapper for the C++ library. The wrapper is +constructed from the current libvisiontransfer library during the +regular CMake build process. + +If you wish to build it locally anyway, you have to adapt the 'incdir' +and 'libdir' settings in setup.py to point to the libvisiontransfer +header / library directory, respectively. The build steps then are: + + export LIBVISIONTRANSFER_BASE=".." + python3 tools/autogen_docstrings.py + python3 tools/autogen_parameters.py + PYTHONPATH="." python3 tools/generate_sources.py + python3 setup.py build_ext --inplace + python3 setup.py install --user # or similar + +Examples +-------- + +The examples/*.py files contain simple examples for using the library, e.g.: + + python3 example_qt.py + +Documentation +------------- + +Documentation (partially auto-generated) is installed with the module: + + pydoc3 visiontransfer + +Development +----------- + +Development should take place only on the visiontransfer_src/*.py.in +template files, as well as the preprocessors in tools/. +Any other files are autogenerated and will be overwritten by make. + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/setup.py b/demo/camera_client/dependencies/libvisiontransfer/python/setup.py new file mode 100644 index 0000000..9d6df2f --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/setup.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 + +###############################################################################/ +# Copyright (c) 2021 Nerian Vision GmbH +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +###############################################################################/ + +from setuptools import setup +from distutils.extension import Extension +from Cython.Build import cythonize + +import numpy as np +import os + +# default to CMake build based directory structure +srcbase = os.getenv("LIBVISIONTRANSFER_SRCDIR", "../..") +libbase = os.getenv("LIBVISIONTRANSFER_LIBDIR", "../..") +libname = os.getenv("LIBVISIONTRANSFER_LIB", "/libvisiontransfer-static.a") +extra_libs_str = os.getenv("LIBVISIONTRANSFER_EXTRA_LIBS", "") +extra_libs = [s.strip() for s in extra_libs_str.split(',') if s.strip()!=''] + +print('libvisiontransfer src dir: '+srcbase) +print('libvisiontransfer lib dir: '+libbase) +print('libvisiontransfer lib name: '+libname) + +incdir = srcbase +libdir = libbase + +setup( + name="visiontransfer", + author="Nerian Vision GmbH", + author_email="service@nerian.com", + version="9.0.2", + packages=["visiontransfer"], + ext_modules=cythonize( + Extension( + name="visiontransfer", + sources=["visiontransfer/visiontransfer.pyx"], + include_dirs=[np.get_include(), incdir], + libraries=[*extra_libs], + extra_objects=[libbase + libname], + language="c++", + define_macros=[("VISIONTRANSFER_NO_DEPRECATION_WARNINGS", "1")], # silently wrap anything we want + #define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")], # for numpy; Cython>=3.0 only + ) + , compiler_directives = { 'embedsignature': True }) +) diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_docstrings.py b/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_docstrings.py new file mode 100644 index 0000000..a86e28c --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_docstrings.py @@ -0,0 +1,216 @@ +#!/usr/bin/env python3 + +###############################################################################/ +# Copyright (c) 2021 Nerian Vision GmbH +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +###############################################################################/ + +# +# This helper script auto-generates pydoc comments (Google-style syntax) +# from the Doxygen comments in the specified Nerian headers. +# + +import sys +import os +import re + +def print_error(what): + sys.stderr.write(what + '\n') + +class RegexMatcher(object): + def __init__(self): + self.result = None + def search(self, regex, where): + self.result = re.search(regex, where) + return self.result is not None + def group(self, i=0): + return self.result.group(i) + def groups(self): + return self.result.groups() + +class DocstringExtractor(object): + def __init__(self): + self.docstrings = {} + pass + + def snake_case(self, fnname): + '''Convert mixed case to Python methods' snake case''' + fnname_snake = '' + for c in fnname: + if c.isupper(): + fnname_snake += '_' + c.lower() + else: + fnname_snake += c + # Some conventional exceptions :) + fnname_snake = fnname_snake.replace('r_o_i', 'roi') + return fnname_snake + + def beautified_docstring(self, comment, indent=8): + ds = '' + cs = [l.strip() for l in comment.split('\n')] # if l.strip()!=''] + # remove leading blank lines + reallines = list(filter(lambda x: x>0, [c!='' for c in cs])) + if len(reallines): + cs = cs[reallines[0]:] + # + printed_kwarg = False + extra_indent = 0 + for i, c in enumerate(cs): + if c.strip() == '': + extra_indent = 0 + next_is_param = False + cnew = '' + increase_extra_indent = 0 + for j, w in enumerate(c.split()): + if w in ['\\brief', '\\c']: + pass + elif w in ['\\return']: + ds += '\n' + ds += ' '*indent + 'Returns:\n' + extra_indent = 4 + increase_extra_indent = 4 + elif w in ['\\param']: + if not printed_kwarg: + ds += ' '*indent + 'Args:\n' + extra_indent = 4 + increase_extra_indent = 4 + printed_kwarg = True + next_is_param = True + pass + elif w.startswith('\\'): + cnew += (' ' if len(cnew) else '') + w[1].upper()+w[2:]+': ' + else: + cnew += (' ' if len(cnew) else '') + w + if next_is_param: + cnew += ':' + next_is_param = False + ds += ' '*indent + ' '*extra_indent + ("'''" if i==0 else "") + cnew + ("'''\n" if i==len(cs)-1 else "") + ds += '\n' + extra_indent += increase_extra_indent + return ds + + def generate(self, basedir, filename): + with open(basedir + '/' + filename, 'r') as f: + in_comment = False + comment = '' + names = [] + currentname = '' + currentargs = '' + level = 0 + restl ='' + for rawl in [ll.strip() for ll in f.readlines()]: + l = restl + rawl + had_restl = len(restl) > 0 + restl = '' + apply_comment = False + if in_comment: + end = l.find('*/') + thisline = (l if end<0 else l[:end]).lstrip('*').strip() + #if thisline != '': + comment += '\n' + thisline + if end >= 0: + in_comment = False + else: + start = l.find('/**') + if start >= 0: + currentname = '' # force finding new name + currentargs = '' + in_comment = True + comment = l[start+3:] + else: + rem = RegexMatcher() + if rem.search(r'(namespace|class|enum)([^:]*).*[{;]', l): + if comment != '': + cls = rem.group(2).strip().split()[-1] + currentname = cls + currentargs = '' + apply_comment = True + elif rem.search(r'[ \t]*(.*)\(', l): # match word and opening paren + if currentname == '': + cls = rem.group(1).strip().split()[-1] + currentname = cls + if rem.search(r'[ \t]*([^(]*)\((.*)\).*[{;]', l) and l.count('(') == l.count(')'): #: # match function + if l.count('(') == l.count(')'): + # reduce argument list (just names, no types or defaults) + args_just_names = [(a.split('=')[0].strip().split()[-1] if a.strip()!='' else '') for a in rem.group(2).split(',')] + currentargs = '(' + (', '.join(args_just_names)) + ')' + if comment != '': + apply_comment = True + else: # match partial fn or something like it + restl = l # save line for next iteration + continue # and proceed to next line + else: + pass + if apply_comment: + ns = names + [currentname+currentargs] + ns = [n for n in ns if n!=''] + name = '::'.join(ns) + if name in self.docstrings and len(ns)>1: # warn, but not for the namespace doc + print_error('Note: not overwriting previous docstring for '+name) + else: + self.docstrings[name] = self.beautified_docstring(comment, indent=8) + + comment = '' + for j in range(l.count('{')): + level += 1 + names.append(currentname+currentargs) + currentname = '' + currentargs = '' + for j in range(l.count('}')): + level -= 1 + names = names[:-1] + currentname = '' + currentargs = '' + + def store_docstrings_to_file(self, filename='', fobj=None): + f = open(filename, 'w') if fobj is None else fobj + f.write(''' +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# !! CAUTION !! +# !! !! +# !! This file is autogenerated from the libvisiontransfer headers !! +# !! using autogen_docstrings.py - manual changes are not permanent !! +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!''' + '\n\n') + f.write('_NERIAN_COMPILED_DOCSTRINGS = {\n') + for name, comment in self.docstrings.items(): + f.write(" '"+ name + "': \\\n") + f.write(comment.rstrip('\n') + ',\n') + f.write('}\n') + f.write("\n# Also add parameter-less versions for convenience (duplicates overwritten)\n") + f.write("for __k in list(_NERIAN_COMPILED_DOCSTRINGS):\n") + f.write(" if __k.count('('):\n") + f.write(" _NERIAN_COMPILED_DOCSTRINGS[__k.split('(')[0]] = _NERIAN_COMPILED_DOCSTRINGS[__k]\n\n") + if fobj is not None: + f.close() + +if __name__=='__main__': + basedir = os.getenv("LIBVISIONTRANSFER_SRCDIR", '../..') + if os.path.isdir(basedir): + d = DocstringExtractor() + for filename in [ + 'visiontransfer/deviceparameters.h', + 'visiontransfer/imageset.h', + 'visiontransfer/imageprotocol.h', + 'visiontransfer/imagetransfer.h', + 'visiontransfer/asynctransfer.h', + 'visiontransfer/deviceenumeration.h', + 'visiontransfer/deviceinfo.h', + 'visiontransfer/sensordata.h', + 'visiontransfer/datachannelservice.h', + 'visiontransfer/reconstruct3d.h', + ]: + d.generate(basedir, filename) + + d.store_docstrings_to_file('visiontransfer_src/visiontransfer_docstrings_autogen.py') + else: + print("Could not open library base dir, please set a correct LIBVISIONTRANSFER_SRCDIR") + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_parameters.py b/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_parameters.py new file mode 100644 index 0000000..bbd7c6d --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/tools/autogen_parameters.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python3 + +###############################################################################/ +# Copyright (c) 2021 Nerian Vision GmbH +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +###############################################################################/ + +# +# This helper script auto-generates adapters for all current +# Nerian stereo device parameters directly from the C++ header file. +# + +import pathlib +import sys +import os + +class Generator(object): + def __init__(self): + self.pxdcode = \ +''' +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# !! CAUTION !! +# !! !! +# !! This file is autogenerated from the libvisiontransfer headers !! +# !! using autogen.py - manual changes are not permanent! !! +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +cdef extern from "visiontransfer/deviceparameters.h" namespace "visiontransfer": + cdef cppclass DeviceParameters: + DeviceParameters(const DeviceInfo &) except +'''.split('\n') + self.pyxcode = \ +'''# distutils: language=c++ +# cython: language_level=3 + +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# !! CAUTION !! +# !! !! +# !! This file is autogenerated from the libvisiontransfer headers !! +# !! using autogen.py - manual changes are not permanent! !! +# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +from libcpp.string cimport string +from libcpp.vector cimport vector +from libcpp cimport bool +from cython cimport view + +cdef class DeviceParameters: +'''.split('\n') + + self.pyxcode2 = \ +''' + cdef cpp.DeviceParameters* c_obj + + def __cinit__(self, DeviceInfo device_info): + self.c_obj = new cpp.DeviceParameters(device_info.c_obj) + + def __dealloc__(self): + del self.c_obj +'''.split('\n') + + def add_pxd(self, ret, fnname, argstr): + args = [p.strip().split() for p in argstr.split(',')] + # remove default arguments in pxd (present in pyx) + for a in args: + if len(a)>1: + a[1] = a[1].split('=')[0] + self.pxdcode.append(' '*8 + ret + ' ' + fnname + ' ('+(', '.join((a[0]+' '+a[1]) for a in args if len(a)>1))+') except +') + + def add_pyx(self, ret, fnname, argstr, comment): + # Generate function name reference also used by doc extractor + args_just_names = [(a.split('=')[0].strip().split()[-1] if a.strip()!='' else '') for a in argstr.split(',')] + currentname = 'visiontransfer::DeviceParameters::' + fnname + '(' + (', '.join(args_just_names)) + ')' + fnname_snake = self.snake_case(fnname) + args = [p.strip().split() for p in argstr.split(',')] + for i in range(len(args)): + if len(args[i])>0: + if args[i][0] in ['int', 'float', 'double', 'bool', 'int&', 'float&', 'double&', 'bool&']: + pass + else: + args[i][0] = "cpp." + str(args[i][0]) + if fnname.startswith('set'): + argstr = ', '.join(' '.join(a) for a in args if len(a)>0) + self.pyxcode.append(' '*4 + 'def '+ fnname_snake + '(self' + (', ' if len(argstr) else '') + argstr + '):') + self.pyxcode.append(' '*8 + '_SUBSTITUTE_DOCSTRING_FOR_("' + currentname + '")') + self.pyxcode.append(' '*8 + 'self.c_obj.'+ fnname + '(' + ', '.join(a[1].split('=')[0] for a in args if len(a)>1) + ')') + self.pyxcode.append(' '*0) # extra newline to visually separate blocks + pass + else: + argstr = '' #', '.join(' '.join(a) for a in args if len(a)>0) + newargstr_defaults = ', '.join(a[1] for a in args if len(a)>0) + newargstr_nodefaults = ', '.join(a[1].split('=')[0] for a in args if len(a)>0) + if all(' '.join(a).find('&')<0 for a in args): #len(args)==0 or len(args[0])==0: + if ret in ['int', 'float', 'double', 'bool', 'int&', 'float&', 'double&', 'bool&']: + ret = '' + ret_post = '' + else: + ret += '(' + ret_post = ')' + self.pyxcode.append(' '*4 + 'def '+ fnname_snake + '(self' + (', ' if len(newargstr_defaults) else '') + newargstr_defaults + '):') + self.pyxcode.append(' '*8 + '_SUBSTITUTE_DOCSTRING_FOR_("' + currentname + '")') + self.pyxcode.append(' '*8 + 'return '+ret+'self.c_obj.'+ fnname + '(' + newargstr_nodefaults + ')' + ret_post) + else: + self.pyxcode.append(' '*4 + 'def '+ fnname_snake + '(self' + (', ' if len(argstr) else '') + argstr + '):') + self.pyxcode.append(' '*8 + '_SUBSTITUTE_DOCSTRING_FOR_("' + currentname + '")') + for a in args: + rawtype = a[0].replace('&', '') + var = a[1] if a[1].find('=')>0 else (a[1]+' = 0') + self.pyxcode.append(' '*8 + 'cdef '+rawtype+' '+var) + self.pyxcode.append(' '*8 + 'self.c_obj.'+ fnname + '(' + newargstr_nodefaults + ')') + self.pyxcode.append(' '*8 + 'return '+newargstr_nodefaults) + self.pyxcode.append(' '*0) # extra newline to visually separate blocks + + def snake_case(self, fnname): + '''Convert mixed case to Python methods' snake case''' + fnname_snake = '' + for c in fnname: + if c.isupper(): + fnname_snake += '_' + c.lower() + else: + fnname_snake += c + # Some conventional exceptions :) + fnname_snake = fnname_snake.replace('r_o_i', 'roi') + return fnname_snake + + def generate(self, basedir): + with open(basedir + '/visiontransfer/deviceparameters.h', 'r') as f: + in_comment = False + comment = '' + level = 0 + for l in [ll.strip() for ll in f.readlines()]: + if in_comment: + end = l.find('*/') + thisline = (l if end<0 else l[:end]).lstrip('*').strip() + if thisline != '': + comment += '\n' + thisline + if end >= 0: + in_comment = False + else: + start = l.find('/**') + if start >= 0: + in_comment = True + comment = l[start+3:] + else: + if level==1 and l.find(' DeviceParameters {') >= 0: + # insert class docstring + self.pyxcode.append(' '*4 + '_SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceParameters")') + self.pyxcode.extend(self.pyxcode2) + self.pyxcode2 = [] + comment = '' + elif level==2 and l.find('(') >= 0 and l.find('{') > 0 and (l.find('get') > 0 or l.find('set') > 0): + ret = l.split()[0] + fnname = l.split()[1].split('(')[0] + args = l.split('(')[1].split(')')[0] + self.add_pxd(ret, fnname, args) + self.add_pyx(ret, fnname, args, comment) + comment = '' + else: + pass + level += l.count('{') + level -= l.count('}') + +if __name__=='__main__': + basedir = os.getenv("LIBVISIONTRANSFER_SRCDIR", '../..') + if os.path.isdir(basedir): + g = Generator() + g.generate(basedir) + pathlib.Path("visiontransfer").mkdir(parents=True, exist_ok=True) + with open('visiontransfer/visiontransfer_parameters_cpp_autogen.pxd', 'w') as f: + f.write('\n'.join(g.pxdcode)) + with open('visiontransfer/visiontransfer_parameters_autogen.pyx.in', 'w') as f: + f.write('\n'.join(g.pyxcode)) + else: + print("Could not open library base dir, please set a correct LIBVISIONTRANSFER_SRCDIR") + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/tools/generate_sources.py b/demo/camera_client/dependencies/libvisiontransfer/python/tools/generate_sources.py new file mode 100644 index 0000000..bb2a510 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/tools/generate_sources.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 + +###############################################################################/ +# Copyright (c) 2021 Nerian Vision GmbH +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +###############################################################################/ + +# +# This helper script constructs commented Cython .pxd/.pyx source files +# from their .in templates, utilizing the docstrings generated earlier. +# + +import re + +from visiontransfer_src.visiontransfer_docstrings_autogen import _NERIAN_COMPILED_DOCSTRINGS + +def get_docstring(what): + if what is None: + sys.stderr.write('IMPLEMENT_ME: missing docstring link') + doc = 'IMPLEMENT_ME: missing docstring link' + elif what in _NERIAN_COMPILED_DOCSTRINGS: + doc = _NERIAN_COMPILED_DOCSTRINGS[what] + else: + doc = '(No extra documentation for ' + what + ')' + #partial_matches = [k for k in _NERIAN_COMPILED_DOCSTRINGS.keys() if k.startswith(what.split('(')[0])] + #doc += '\nCandidates:' + #for p in partial_matches: + # doc += '\n "'+p+'"' + return doc + +def process_infile_to_outfile(infilename, outfilename): + with open(infilename, 'r') as infile: + with open(outfilename, 'w') as outfile: + outfile.write( \ +'''# distutils: language=c++ +# cython: language_level=3 + +######################################## +## Autogenerated file. Do not change! ## +## Work on its .in template instead ## +## (found inside visiontransfer_src). ## +######################################## + +''') + # looking for docstring substitution sites, the C++ docs are translated + # to docstring-like docs, and optionally prepended by a note. The same + # indentation that the macro has is used for the entire docstring. + # Syntax: _SUBSTITUTE_DOCSTRING_FOR_("CppNamespace::CppClassOrFn"[, "Python note"]) + for line in infile.readlines(): + if line.find('_SUBSTITUTE_DOCSTRING_FOR_(') >= 0: + toks = line.split('"') + what = toks[1] + notelines = [] if len(toks)<4 else ([''] + list(toks[3].split('\n')) + ['']) # extra Python-only note + m = re.match(r'([ \t]*)', line) + whitespace = m.group(1) if m else '' + whitespace_len = len(whitespace) # common indent + clines = get_docstring(what).split('\n') + alllines = notelines + clines + for i, cl in enumerate(alllines): + if i==0: + printline = whitespace + ("'''" if i==0 else '') + cl + ("'''" if i==len(alllines)-1 else '') + else: + printline = cl + ("'''" if i==len(alllines)-1 else '') + outfile.write(printline + '\n') + else: + outfile.write(line) + +if __name__=='__main__': + process_infile_to_outfile('visiontransfer_src/visiontransfer.pyx.in', 'visiontransfer/visiontransfer.pyx') + process_infile_to_outfile('visiontransfer_src/visiontransfer_cpp.pxd.in', 'visiontransfer/visiontransfer_cpp.pxd') + process_infile_to_outfile('visiontransfer/visiontransfer_parameters_autogen.pyx.in', 'visiontransfer/visiontransfer_parameters_autogen.pyx') + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/__init__.py b/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer.pyx.in b/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer.pyx.in new file mode 100644 index 0000000..3a4398c --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer.pyx.in @@ -0,0 +1,876 @@ +# distutils: language=c++ +# cython: embedsignature=True, language_level=3 + + ###############################################################################/ + # Copyright (c) 2021 Nerian Vision GmbH + # + # Permission is hereby granted, free of charge, to any person obtaining a copy + # of this software and associated documentation files (the "Software"), to deal + # in the Software without restriction, including without limitation the rights + # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + # copies of the Software, and to permit persons to whom the Software is + # furnished to do so, subject to the following conditions: + # + # The above copyright notice and this permission notice shall be included in + # all copies or substantial portions of the Software. + ###############################################################################/ + +''' +Python 3 wrapper for libvisiontransfer by Nerian Vision + +This module is a wrapper for the libvisiontransfer library, +used to control and acquire data from Nerian's line of stereo +vision devices. + +This documentation is largely autogenerated from the +C++ library doxygen annotations: + +Please note that in some instances, the actual functions have been +adapted to be more Pythonic from their C++-specific calling conventions. +In particular, the auto-generated documentation of parameter getter +functions may indicate a number of arguments (C++ reference arguments), +but they actually directly return tuples in this Python library. +Refer to their Cython signature line (first line of their docstring) +to see the true arguments you can use; the rest of the arguments in +the C++ argument list is instead returned as a result tuple. + +============================================================================= + +Copyright (c) 2021 Nerian Vision GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +''' + +cimport visiontransfer_cpp as cpp + +# Autogenerated parameter access in extra file +include "visiontransfer/visiontransfer_parameters_autogen.pyx" + +from libcpp.string cimport string +from libcpp.vector cimport vector +from libcpp cimport bool +from cython cimport view + +cimport numpy as np +import numpy as np +np.import_array() + +import enum +import sys +import time + +class AutoMode(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceParameters::AutoMode") + AUTO_EXPOSURE_AND_GAIN = 0 + AUTO_EXPOSURE_MANUAL_GAIN = 1 + MANUAL_EXPOSURE_AUTO_GAIN = 2 + MANUAL_EXPOSURE_MANUAL_GAIN = 3 + +class DeviceModel(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceParameters::DeviceModel") + SCENESCAN = 0 + SCENESCAN_PRO = 1 + +class NetworkProtocol(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::NetworkProtocol") + PROTOCOL_TCP = 0 + PROTOCOL_UDP = 1 + +class ProtocolType(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageProtocol::ProtocolType") + PROTOCOL_TCP = 0 + PROTOCOL_UDP = 1 + +class ImageFormat(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::ImageFormat") + FORMAT_8_BIT_MONO = 0 + FORMAT_8_BIT_RGB = 1 + FORMAT_12_BIT_MONO = 2 + +class ImageType(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::ImageType") + IMAGE_UNDEFINED = 0 + IMAGE_LEFT = 1 + IMAGE_DISPARITY = 2 + IMAGE_RIGHT = 3 + +class OperationMode(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceParameters::OperationMode") + PASS_THROUGH = 0 + RECTIFY = 1 + STEREO_MATCHING = 2 + +class TargetFrame(enum.IntEnum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceParameters::TargetFrame") + LEFT_FRAME = 0 + RIGHT_FRAME = 1 + BOTH_FRAMES = 2 + +cdef class DeviceEnumeration: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceEnumeration") + + cdef cpp.DeviceEnumeration c_obj + + def discover_devices(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceEnumeration::discoverDevices") + device_infos = [] + cdef vector[cpp.DeviceInfo] devices = self.c_obj.discoverDevices() + for device in devices: + di = DeviceInfo() + di.c_obj = device + device_infos.append(di) + return device_infos + +cdef class DeviceInfo: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo") + cdef cpp.DeviceInfo c_obj + + def get_ip_address(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::getIpAddress") + cdef string s = self.c_obj.getIpAddress() + return s.decode("utf-8") + + def get_network_protocol(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::getNetworkProtocol") + return NetworkProtocol(self.c_obj.getNetworkProtocol()) + + def get_firmware_version(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::getFirmwareVersion") + cdef string s = self.c_obj.getFirmwareVersion() + return s.decode("utf-8") + + def get_model(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::getModel") + return DeviceModel(self.c_obj.getModel()) + + def get_status(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::getStatus") + ds = DeviceStatus() + ds.c_obj = self.c_obj.getStatus() + return ds + + def is_compatible(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceInfo::isCompatible") + return self.c_obj.isCompatible() + + def __str__(self): + cdef string s = self.c_obj.toString() + return s.decode("utf-8") + + __repr__ = __str__ + + +cdef class DeviceStatus: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus") + cdef cpp.DeviceStatus c_obj + + def is_valid(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus::isValid") + return self.c_obj.isValid() + + def get_last_fps(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus::getLastFps") + return self.c_obj.getLastFps() + + def get_jumbo_mtu(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus::getJumboMtu") + return self.c_obj.getJumboMtu() + + def get_jumbo_frames_enabled(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus::getJumboFramesEnabled") + # return as bool here (still uint in API) + return self.c_obj.getJumboFramesEnabled() != 0 + + def get_current_capture_source(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::DeviceStatus::getCurrentCaptureSource") + cdef string s = self.c_obj.getCurrentCaptureSource() + return s.decode("utf-8") + +def create_image_set_from_reduced_data(width, height, nimg, indices, strides, formats, data, qmat, seqnum, subpix, expos, disprange, times, lastsync): + '''Only for internal use (shim for unpickling / copy).''' + imset = ImageSet() + imset.set_width(width) + imset.set_height(height) + imset.set_number_of_images(nimg) + for i, what in enumerate([ImageType.IMAGE_LEFT, ImageType.IMAGE_DISPARITY, ImageType.IMAGE_RIGHT]): + imset.set_index_of(what, indices[i]) + for i in range(nimg): + imset.set_row_stride(i, strides[i]) + imset.set_pixel_format(i, formats[i]) + imset.set_pixel_data(i, data[i]) + imset.set_qmatrix(qmat) + imset.set_sequence_number(seqnum) + imset.set_subpixel_factor(subpix) + imset.set_exposure_time(expos) + a, b = disprange + imset.set_disparity_range(a, b) + a, b = times + imset.set_timestamp(a, b) + a, b = lastsync + imset.set_last_sync_pulse(a, b) + return imset + +cdef class ImageSet: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet") + cdef cpp.ImageSet c_obj + + cdef np.ndarray _numpy_q + cdef list _numpy_pixels + cdef bool _touched_internally + + def __cinit__(self): + # These members are just here to keep alive the refcounted + # data references for ImageSets created on the Python side + # (e.g. unpickled data) -- bear in mind the C++ API purely + # operates on unmanaged raw data pointers into numpy arrays. + self._numpy_q = None + self._numpy_pixels = [None]*3 # MAX_SUPPORTED_IMAGES + # Successfully setting pixel data from Python flags this + # object, whitelisting later overwriting (which is prevented + # a priori for all C++-/ImageTransfer-managed objects). + self._touched_internally = False + + def __reduce__(self): + nimg = self.get_number_of_images() + return (create_image_set_from_reduced_data, ( + self.get_width(), + self.get_height(), + nimg, + [self.get_index_of(i) for i in [ImageType.IMAGE_LEFT, ImageType.IMAGE_DISPARITY, ImageType.IMAGE_RIGHT]], + [self.get_row_stride(i) for i in range(nimg)], + [self.get_pixel_format(i) for i in range(nimg)], + [self.get_pixel_data_raw(i) for i in range(nimg)], + self.get_qmatrix(), + self.get_sequence_number(), + self.get_subpixel_factor(), + self.get_exposure_time(), + self.get_disparity_range(), + self.get_timestamp(), + self.get_last_sync_pulse(), + )) + + def __str__(self): + w = self.get_width() + h = self.get_height() + return f"ImageSet({w}, {h})" + + __repr__ = __str__ + + def copy(self): + ''' +Create a full copy of the ImageSet. All its data is managed by Python (i.e. +no deallocation attempts by the C++ API will ever take place on this clone). + ''' + cloned = ImageSet() + nimg = self.get_number_of_images() + cloned.set_height(self.get_height()) + cloned.set_width(self.get_width()) + cloned.set_number_of_images(nimg) + for i in [ImageType.IMAGE_LEFT, ImageType.IMAGE_DISPARITY, ImageType.IMAGE_RIGHT]: + cloned.set_index_of(i, self.get_index_of(i)) + for i in range(nimg): + cloned.set_row_stride(i, self.get_row_stride(i)) + cloned.set_pixel_format(i, self.get_pixel_format(i)) + sz = cloned.get_height() * cloned.get_row_stride(i) + cloned.set_pixel_data(i, self.get_pixel_data_raw(i).copy()) + # this also sets _touched_internally -> data is replaceable + cloned.set_qmatrix(self.get_qmatrix()) + cloned.set_sequence_number(self.get_sequence_number()) + cloned.set_subpixel_factor(self.get_subpixel_factor()) + cloned.set_exposure_time(self.get_exposure_time()) + a, b = self.get_disparity_range() + cloned.set_disparity_range(a, b) + a, b = self.get_timestamp() + cloned.set_timestamp(a, b) + a, b = self.get_last_sync_pulse() + cloned.set_last_sync_pulse(a, b) + return cloned + + def get_width(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getWidth") + return self.c_obj.getWidth() + + def get_height(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getHeight") + return self.c_obj.getHeight() + + def get_row_stride(self, image_number): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getRowStride") + return self.c_obj.getRowStride(image_number) + + def get_pixel_format(self, what): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getPixelFormat") + image_number = self.get_index_of(what, True) if isinstance(what, ImageType) else int(what) + return ImageFormat(self.c_obj.getPixelFormat( image_number)) + + def get_pixel_data_raw(self, what): + '''Return a flat uint8 view of the image data of the specified channel (primarily for internal use).''' + image_number = self.get_index_of(what, True) if isinstance(what, ImageType) else int(what) + cdef int rowstride = self.c_obj.getRowStride(image_number) + cdef int h = self.c_obj.getHeight() + cdef int size = rowstride * h + np_array = self._pixel_data_as_char_array(image_number, size) + return np_array + + def get_pixel_data(self, what, force8bit=False, do_copy=True): + ''' +Obtain a numpy array containing the image data for a channel. +Args: + what: The ImageType or image index to retrieve. + force8bit: optional flag, causes rescaling to 0..255 in case of 12-bit images (dividing by 16). + do_copy: copy the final array view (default True; primarily for internal use, disable with caution) + +Returns: + The image data as a copied numpy array; two-dimensional for monochrome images, three-dimensional for RGB. + ''' + + image_number = self.get_index_of(what, True) if isinstance(what, ImageType) else int(what) + + cdef int rowstride = self.c_obj.getRowStride(image_number) + cdef int w = self.c_obj.getWidth() + cdef int h = self.c_obj.getHeight() + cdef int size + + fmt = self.get_pixel_format(image_number) + if fmt == ImageFormat.FORMAT_12_BIT_MONO: + size = (rowstride * h) // 2 + np_array = self._pixel_data_as_short_array(image_number, size) + np_array = np_array.reshape(h, rowstride//2) + np_array = np_array[:, :w] + if force8bit: + return (np_array // 16).astype(np.uint8) # implicit copy + else: + return np_array.copy() if do_copy else np_array + elif fmt == ImageFormat.FORMAT_8_BIT_RGB: + size = rowstride * h + np_array = self._pixel_data_as_char_array(image_number, size) + np_array = np_array.reshape(h, rowstride//3, 3) + np_array = np_array[:, :w, :] + return np_array.copy() if do_copy else np_array + elif fmt == ImageFormat.FORMAT_8_BIT_MONO: + size = rowstride * h + np_array = self._pixel_data_as_char_array(image_number, size) + np_array = np_array.reshape(h, rowstride) + np_array = np_array[:, :w] + return np_array.copy() if do_copy else np_array + + cdef _pixel_data_as_short_array(self, int image_number, int size): + cdef unsigned char* pointer = self.c_obj.getPixelData(image_number) + cdef np.uint16_t* short_prt = pointer + cdef np.uint16_t[:] myview = short_prt + return np.asarray(myview) + + cdef _pixel_data_as_char_array(self, int image_number, int size): + cdef unsigned char* pointer = self.c_obj.getPixelData(image_number) + cdef np.uint8_t[:] char_view = pointer + return np.asarray(char_view) + + def get_qmatrix(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getQMatrix") + cdef view.array ar = view.array(shape=(16, ), itemsize=sizeof(float), format="f", mode="c", allocate_buffer=False) + cdef const float* pointer = self.c_obj.getQMatrix() + ar.data = pointer + np_array = np.asarray(ar) + np_array = np_array.reshape(4, 4) + return np_array + + def get_sequence_number(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getSequenceNumber") + return self.c_obj.getSequenceNumber() + + def get_timestamp(self): + ''' +Returns the time at which this image set has been captured. + +Returns: + sec, usec: A tuple representing the time stamp: the integer seconds, and the + fractional seconds part in microseconds. + ''' + cdef int sec = 0 + cdef int usec = 0 + self.c_obj.getTimestamp(sec, usec) + return sec, usec + + def get_disparity_range(self): + ''' +Gets the value range for the disparity map contained in this +image set. If the image set does not contain any disparity data +then the disparity range is undefined. + +Returns: + minimum, maximum: The minimum and maximum disparity in the image set. + ''' + cdef int minimum = 0 + cdef int maximum = 0 + self.c_obj.getDisparityRange(minimum, maximum) + return minimum, maximum + + def get_subpixel_factor(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getSubpixelFactor") + return self.c_obj.getSubpixelFactor() + + def write_pgm_file(self, image_number, filename): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::writePgmFile") + self.c_obj.writePgmFile(image_number, filename.encode()) + + def is_image_disparity_pair(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::isImageDisparityPair") + return self.c_obj.isImageDisparityPair() + + def get_bytes_per_pixel(self, what): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getBytesPerPixel") + image_number = self.get_index_of(what, True) if isinstance(what, ImageType) else int(what) + return self.c_obj.getBytesPerPixel( image_number) + + def get_number_of_images(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getNumberOfImages") + return self.c_obj.getNumberOfImages() + + def get_index_of(self, what, throw_if_not_found=False): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getIndexOf") + return self.c_obj.getIndexOf(what, throw_if_not_found) + + def has_image_type(self, what): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::hasImageType") + return self.c_obj.hasImageType(what) + + def get_exposure_time(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::getExposureTime") + return self.c_obj.getExposureTime() + + def get_last_sync_pulse(self): + ''' +Gets the timestamp of the last received sync pulse. + +Returns: + sec, usec: A tuple representing the time stamp: the integer seconds, and the + fractional seconds part in microseconds. + ''' + cdef int sec = 0 + cdef int usec = 0 + self.c_obj.getLastSyncPulse(sec, usec) + return sec, usec + + def set_width(self, width): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setWidth") + self.c_obj.setWidth(width) + + def set_height(self, height): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setHeight") + self.c_obj.setHeight(height) + + def set_row_stride(self, image_number, row_stride): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setRowStride") + self.c_obj.setRowStride(image_number, row_stride) + + def set_pixel_format(self, image_number, image_format): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setPixelFormat") + self.c_obj.setPixelFormat(image_number, image_format) + + def set_pixel_data(self, image_number, np.ndarray[np.uint8_t, ndim=1, mode="c"] pixel_data): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setPixelData") + cdef unsigned char* oldptr = self.c_obj.getPixelData(image_number) + if oldptr != NULL and not self._touched_internally: + # This is the only kind of data access we actively prevent here. + # The C++ API (ImageTransfer) would have no way of freeing its own + # buffers, and would try to free the numpy array data instead! + # The double check is done because it is OK to replace one numpy + # array with a different one (not really sensible, but valid). + raise RuntimeError('Refused to set pixel data: pixel data is managed by the C++ API. Please use copy() or start from an empty ImageSet.') + self.c_obj.setPixelData(image_number, &pixel_data[0]) # raw pointer is stored (will throw here on invalid index) + self._numpy_pixels[image_number] = pixel_data # store locally for refcount + self._touched_internally = True # object is whitelisted for overwriting data + + def set_qmatrix(self, np.ndarray[float, ndim=2, mode="c"] q): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setQMatrix") + self.c_obj.setQMatrix(&q[0, 0]) # a raw pointer is passed and stored + self._numpy_q = q # but a reference is stored here to hold a refcount + + def set_sequence_number(self, num): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setSequenceNumber") + self.c_obj.setSequenceNumber(num) + + def set_timestamp(self, sec, usec): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setTimestamp") + self.c_obj.setTimestamp(sec, usec) + + def set_disparity_range(self, minimum, maximum): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setDisparityRange") + self.c_obj.setDisparityRange(minimum, maximum) + + def set_subpixel_factor(self, subpixel_factor): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setSubpixelFactor") + self.c_obj.setSubpixelFactor(subpixel_factor) + + def set_number_of_images(self, number): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setNumberOfImages") + cdef unsigned char* oldptr = self.c_obj.getPixelData(0) + # Changing the number of images with data present could mess up + # memory management (e.g. by allowing to add numpy data to new + # channels of C++-managed objects, or preventing necessary frees). + # Therefore, we allow setting this number only in ImageSets that + # have only been filled from the Python side. + if oldptr != NULL and not self._touched_internally: + raise RuntimeError('Refused to change number of images: pixel data is managed by the C++ API. Please use copy() or start from an empty ImageSet.') + self.c_obj.setNumberOfImages(number) + + def set_index_of(self, what, idx): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setIndexOf") + self.c_obj.setIndexOf(what, idx) + + def set_exposure_time(self, time_microsec): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setExposureTime") + self.c_obj.setExposureTime(time_microsec) + + def set_last_sync_pulse(self, sec, usec): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageSet::setLastSyncPulse") + return self.c_obj.setLastSyncPulse(sec, usec) + + +cdef class ImageTransfer: + ''' +Class for synchronous transfer of image sets. + +This class opens a network socket for delivering or receiving image sets. All +operations are performed synchronously, which means that they might block. +The class encapsulates ImageProtocol. + +This class is thread safe for as long as sending and receiving data +each has its dedicated thread. + +Note for Python version: for best performance, the use of AsyncTransfer +is recommended for all regular desktop systems. + ''' + cdef cpp.ImageTransfer* c_obj + + def __cinit__(self, DeviceInfo device, int buffer_size=1048576, int max_udp_packet_size=1472): + self.c_obj = new cpp.ImageTransfer(device.c_obj, buffer_size, max_udp_packet_size) + + def __dealloc__(self): + del self.c_obj + + def is_connected(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageTransfer::isConnected") + return self.c_obj.isConnected() + + def disconnect(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageTransfer::disconnect") + self.c_obj.disconnect() + + def get_remote_address(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageTransfer::getRemoteAddress") + cdef string s = self.c_obj.getRemoteAddress() + return s.decode("utf-8") + + def receive_image_pair(self): + '''DEPRECATED: Use receive_image_set() instead.''' + return self.receive_image_set() + + def receive_image_set(self): + ''' +Waits for and receives a new image set. + +Returns: + Returns an ImageSet a new image set has been received. Otherwise + None. + +The received image set is only valid until the next call of receive_image_set. +The method will not block indefinitely, but return after a short timeout. + +You can use receive() as a Python library convenience wrapper +for more efficient repolling with custom delay and number of attempts. + ''' + imp = ImageSet() + ret = self.c_obj.receiveImageSet(imp.c_obj) + return imp if ret else None + + def receive(self, timeout=-1, poll_delay=0.001): + ''' +Python: polling wrapper for receive_image_set. + +Args: + timeout: The timeout in seconds before returning None unless an + image arrives. A non-positive timeout means to wait forever. + poll_delay: The sleep delay to enforce after each polling + attempt. + +Returns: + An ImageSet if an image set has been received before the timeout. + None otherwise. + +On desktop systems, use AsyncTransfer instead for best performance. + ''' + imp = ImageSet() + t0 = time.time() + while timeout <= 0 or (time.time() - t0) < timeout: + ret = self.c_obj.receiveImageSet(imp.c_obj) + if ret: return imp + time.sleep(poll_delay) + return None + + def get_num_dropped_frames(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::ImageTransfer::getNumDroppedFrames") + return self.c_obj.getNumDroppedFrames() + +cdef class AsyncTransfer: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::AsyncTransfer") + cdef cpp.AsyncTransfer* c_obj + + def __cinit__(self, DeviceInfo device, int buffer_size=1048576, int max_udp_packet_size=1472): + self.c_obj = new cpp.AsyncTransfer(device.c_obj, buffer_size, max_udp_packet_size) + + def __dealloc__(self): + del self.c_obj + + def is_connected(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::AsyncTransfer::isConnected") + return self.c_obj.isConnected() + + def disconnect(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::AsyncTransfer::disconnect") + self.c_obj.disconnect() + + def get_remote_address(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::AsyncTransfer::getRemoteAddress") + cdef string s = self.c_obj.getRemoteAddress() + return s.decode("utf-8") + + def collect_received_image_pair(self, timeout=-1): + '''DEPRECATED: Use collect_received_image_set() instead.''' + return self.collect_received_image_set(timeout) + + def collect_received_image_set(self, timeout=-1): + ''' +Collects the asynchronously received image. + +Args: + timeout: The maximum time in seconds for which to wait if no + image set has been received yet. + +Returns: + An ImageSet if an image set has been received before the timeout. + +If no image set has been received, this method might block or return None. +Otherwise the returned image set is valid until the next call. + +If timeout is set to a value < 0, the function will block indefinitely. +If timeout = 0, the function will return immediately, and if timeout is > 0 then +the function will block for the given amount of time in seconds. The received +image set is only valid until the next call of this function. + ''' + imp = ImageSet() + ret = self.c_obj.collectReceivedImageSet(imp.c_obj, timeout) + return imp if ret else None + + def get_num_dropped_frames(self): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::AsyncTransfer::getNumDroppedFrames") + return self.c_obj.getNumDroppedFrames() + +cdef class Reconstruct3D: + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::Reconstruct3D") + cdef cpp.Reconstruct3D c_obj + + def create_point_map_from_disparity_data(self, disp_map_data, width, height, row_stride, q, min_disparity=1, subpixel_factor=16, max_z=0, max_disparity=0xFFF): + ''' + Reconstructs the 3D location of each pixel in the given disparity map, + with custom parameters. + + Args: + disp_map_data: Data of the disparity map (unsigned short array). The + disparity map is assumed to have a N-bit subpixel resolution. + This means that each value needs to be divided by the subpixel factor + to receive the true disparity. + width, height: Disparity map dimensions + row_stride: Row stride (i.e. distance between two rows in bytes) + of the disparity map. + q: Disparity-to-depth mapping matrix of size 4x4. The matrix is + stored in a row-wise alignment. Obtain this matrix from your + camera calibration data. + minDisparity: The minimum disparity, again with N-bit subpixel + resolution. Lower disparities will be clamped to this value + before computing the 3D location (default 1). + subpixel_factor: Subpixel division factor for disparity value + (default 16) + max_z: (Python specific) Filter the numpy array to only return + points closer than specified value. A non-positive value means + no filtering (default). + max_disparity: The maximum value that occurs in the disparity map. Any value + greater or equal will be marked as invalid. + Returns: + A numpy array of size [:,3] containing the 3D points corresponding to the disparity map. + + Please refer to the C++ API docs for further details. + ''' + cdef int size = width * height * 4 + cdef unsigned short[:, ::1] disp_map_arr = disp_map_data + cdef float[:, ::1] q_arr = q.astype(np.float32) + cdef float* point_map_data = self.c_obj.createPointMap(&disp_map_arr[0, 0], width, height, row_stride, &q_arr[0, 0], min_disparity, subpixel_factor, max_disparity) + + cdef view.array arr = view.array(shape=(size,), itemsize=sizeof(float), format="f", mode="c", allocate_buffer=False) + arr.data = point_map_data + + np_array = np.asarray(arr) + np_array = np_array.reshape(height * width, 4) + np_array = np_array[:, :3] + + if max_z > 0: + np_array = np_array[np_array[:, 2] < max_z] + + return np_array + + def create_point_map(self, ImageSet image_set, min_disparity=1, max_z=0): + ''' + Reconstructs the 3D location of each pixel using the disparity map + and metadata of the given image set. + + Args: + image_set: Image set containing the disparity map. + min_disparity: The minimum disparity with 4-bit subpixel resolution. + max_z: (Python specific) Filter the numpy array to only return + points closer than specified value. A non-positive value means + no filtering (default). + + Returns: + A numpy array of size [:,3] containing the 3D points corresponding to the disparity map. + + Please refer to the C++ API docs for further details. + ''' + cdef int w = image_set.c_obj.getWidth() + cdef int h = image_set.c_obj.getHeight() + cdef int size = w * h * 4 + cdef float* point_map_data = self.c_obj.createPointMap(image_set.c_obj, min_disparity) + + cdef view.array arr = view.array(shape=(size,), itemsize=sizeof(float), format="f", mode="c", allocate_buffer=False) + arr.data = point_map_data + + np_array = np.asarray(arr) + np_array = np_array.reshape(h * w, 4) + np_array = np_array[:, :3] + + if max_z > 0: + np_array = np_array[np_array[:, 2] < max_z] + + return np_array + + def create_point_map_and_color_map(self, ImageSet image_set, min_disparity=1, max_z=0): + ''' + Reconstructs the 3D location of each pixel using the disparity map + and metadata of the given image set, alongside their colors. + + Args: + image_set: Image set containing the disparity map. + min_disparity: The minimum disparity with 4-bit subpixel resolution. + max_z: (Python specific) Filter the numpy array to only return + points closer than specified value. A non-positive value means + no filtering (default). + + Returns: + Two numpy arrays of identical size [:,3], the first containing the 3D points corresponding + to the disparity map, and the second one their colors as float RGB triplets (or None if + the ImageSet is disparity-only). + ''' + cdef int w = image_set.c_obj.getWidth() + cdef int h = image_set.c_obj.getHeight() + cdef int size = w * h * 4 + cdef float* point_map_data = self.c_obj.createPointMap(image_set.c_obj, min_disparity) + + cdef view.array arr = view.array(shape=(size,), itemsize=sizeof(float), format="f", mode="c", allocate_buffer=False) + arr.data = point_map_data + + coords = np.asarray(arr) + coords = coords.reshape(h * w, 4) + coords = coords[:, :3] + + pix = None + if image_set.has_image_type(ImageType.IMAGE_LEFT): + pix = image_set.get_pixel_data(ImageType.IMAGE_LEFT, force8bit=True, do_copy=False) + if len(pix.shape)==2: pix = np.stack([pix]*3, 2) # Expand grayscale to rgb triplets + pix = pix.reshape((-1, 3)).astype(np.float64) / 255.0 + + if max_z > 0: + if pix is not None: + pix = pix[coords[:, 2] < max_z] + coords = coords[coords[:, 2] < max_z] + + return coords, pix + + def create_open3d_pointcloud(self, ImageSet image_set, min_disparity=1, max_z=0): + ''' + Convenience wrapper to directly return an Open3D point cloud for an image set. + + Args: + image_set: Image set containing the disparity map. + min_disparity: The minimum disparity with 4-bit subpixel resolution. + max_z: (Python specific) Filter the point cloud data to only return + points closer than specified value. A non-positive value means + no filtering (default). + + Returns: + An open3d.geometry.PointCloud for the (filtered) coordinates from the ImageSet. + Contains color information unless the ImageSet was disparity-only. + ''' + import open3d + pointmap, colors = self.create_point_map_and_color_map(image_set, min_disparity=min_disparity, max_z=max_z) + pcd = open3d.geometry.PointCloud(open3d.utility.Vector3dVector(pointmap)) + if colors is not None: + pcd.colors = open3d.utility.Vector3dVector(colors) + return pcd + + def create_open3d_rgbd_image(self, ImageSet image_set, min_disparity=1, depth_trunc=3.0, depth_scale=1.0): + ''' + Convenience wrapper to directly return an Open3D RGBD image for an ImageSet. + Raises a RuntimeError when called with a disparity-only image set. + + Args: + image_set: Image set containing the disparity map. + min_disparity: The minimum disparity with 4-bit subpixel resolution. + depth_trunc: (Open3D argument, relayed) Filter the depth channel to + zero-clamp points more distant than the specified value (default 3.0). + + Returns: + An open3d.geometry.RGBDImage for the image set. + ''' + import open3d + + if not image_set.has_image_type(ImageType.IMAGE_LEFT): + raise RuntimeError('Cannot create an RGBD image - no left image data in ImageSet') + + cdef int w = image_set.c_obj.getWidth() + cdef int h = image_set.c_obj.getHeight() + cdef float* z_data = self.c_obj.createZMap(image_set.c_obj, minDisparity=min_disparity, maxDisparity=0xFFF) + cdef view.array arr = view.array(shape=(h, w,), itemsize=sizeof(float), format="f", mode="c", allocate_buffer=False) + arr.data = z_data + depth = np.asarray(arr).astype(np.float32) + + color = image_set.get_pixel_data(ImageType.IMAGE_LEFT, force8bit=True) + + img = open3d.geometry.RGBDImage.create_from_color_and_depth( + open3d.cpu.pybind.geometry.Image(color), + open3d.cpu.pybind.geometry.Image(depth), + depth_scale=depth_scale, depth_trunc=depth_trunc) + return img + + def project_single_point(self, point_x, point_y, disparity, q, subpix_factor): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::Reconstruct3D::projectSinglePoint", "PYTHON NOTE: Returns a tuple (pointX, pointY, pointZ). Please ignore those C++ reference arguments.") + cdef float proj_x = 0 + cdef float proj_y = 0 + cdef float proj_z = 0 + cdef float[:, ::1] q_arr = q.astype(np.float32) + self.c_obj.projectSinglePoint(point_x, point_y, disparity, &q_arr[0, 0], proj_x, proj_y, proj_z, subpix_factor) + return proj_x, proj_y, proj_z + + + def write_ply_file(self, filename, ImageSet image_set, double max_z=sys.float_info.max, bool binary=False): + _SUBSTITUTE_DOCSTRING_FOR_("visiontransfer::Reconstruct3D::writePlyFile") + self.c_obj.writePlyFile(filename.encode(), image_set.c_obj, max_z, binary) + + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer_cpp.pxd.in b/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer_cpp.pxd.in new file mode 100644 index 0000000..48584c3 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/python/visiontransfer_src/visiontransfer_cpp.pxd.in @@ -0,0 +1,161 @@ + ###############################################################################/ + # Copyright (c) 2021 Nerian Vision GmbH + # + # Permission is hereby granted, free of charge, to any person obtaining a copy + # of this software and associated documentation files (the "Software"), to deal + # in the Software without restriction, including without limitation the rights + # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + # copies of the Software, and to permit persons to whom the Software is + # furnished to do so, subject to the following conditions: + # + # The above copyright notice and this permission notice shall be included in + # all copies or substantial portions of the Software. + ###############################################################################/ + +from libcpp.vector cimport vector +from libcpp.string cimport string +from libcpp cimport bool + +cdef extern from "visiontransfer/deviceinfo.h" namespace "visiontransfer::DeviceInfo::DeviceModel": + cdef enum DeviceModel "visiontransfer::DeviceInfo::DeviceModel": + SCENESCAN + SCENESCAN_PRO + +cdef extern from "visiontransfer/deviceinfo.h" namespace "visiontransfer::DeviceInfo::NetworkProtocol": + cdef enum NetworkProtocol "visiontransfer::DeviceInfo::NetworkProtocol": + PROTOCOL_TCP + PROTOCOL_UDP + +cdef extern from "visiontransfer/imageprotocol.h" namespace "visiontransfer::ImageProtocol::ProtocolType": + cdef enum ProtocolType "visiontransfer::ImageProtocol::ProtocolType": + PROTOCOL_TCP + PROTOCOL_UDP + +cdef extern from "visiontransfer/imageset.h" namespace "visiontransfer::ImageSet::ImageFormat": + cdef enum ImageFormat "visiontransfer::ImageSet::ImageFormat": + FORMAT_8_BIT_MONO + FORMAT_8_BIT_RGB + FORMAT_12_BIT_MONO + +cdef extern from "visiontransfer/imageset.h" namespace "visiontransfer::ImageSet::ImageType": + cdef enum ImageType "visiontransfer::ImageSet::ImageType": + IMAGE_UNDEFINED + IMAGE_LEFT + IMAGE_DISPARITY + IMAGE_RIGHT + +cdef extern from "visiontransfer/deviceparameters.h" namespace "visiontransfer::DeviceParameters::AutoMode": + cdef enum AutoMode "visiontransfer::DeviceParameters::AutoMode": + AUTO_EXPOSURE_AND_GAIN + AUTO_EXPOSURE_MANUAL_GAIN + MANUAL_EXPOSURE_AUTO_GAIN + MANUAL_EXPOSURE_MANUAL_GAIN + +cdef extern from "visiontransfer/deviceparameters.h" namespace "visiontransfer::DeviceParameters::OperationMode": + cdef enum OperationMode "visiontransfer::DeviceParameters::OperationMode": + PASS_THROUGH + RECTIFY + STEREO_MATCHING + +cdef extern from "visiontransfer/deviceparameters.h" namespace "visiontransfer::DeviceParameters::TargetFrame": + cdef enum TargetFrame "visiontransfer::DeviceParameters::TargetFrame": + LEFT_FRAME + RIGHT_FRAME + BOTH_FRAMES + +cdef extern from "visiontransfer/deviceinfo.h" namespace "visiontransfer": + cdef cppclass DeviceStatus: + DeviceStatus() except + + bool isValid() except + + double getLastFps() except + + unsigned int getJumboMtu() except + + unsigned int getJumboFramesEnabled() except + + string getCurrentCaptureSource() except + + +cdef extern from "visiontransfer/deviceinfo.h" namespace "visiontransfer": + cdef cppclass DeviceInfo: + DeviceInfo() except + + string getIpAddress() except + + NetworkProtocol getNetworkProtocol() except + + string getFirmwareVersion() except + + DeviceModel getModel() except + + DeviceStatus getStatus() except + + bool isCompatible() except + + string toString() except + + +cdef extern from "visiontransfer/deviceenumeration.h" namespace "visiontransfer": + cdef cppclass DeviceEnumeration: + DeviceEnumeration() except + + vector[DeviceInfo] discoverDevices() except + + +cdef extern from "visiontransfer/imageset.h" namespace "visiontransfer": + cdef cppclass ImageSet: + ImageSet() except + + int getWidth() except + + int getHeight() except + + int getRowStride(int imageNumber) except + + ImageFormat getPixelFormat(int imageNumber) except + + ImageFormat getPixelFormat(ImageType what) except + + unsigned char* getPixelData(int imageNumber) except + + const float* getQMatrix() except + + int getSequenceNumber() except + + void getTimestamp(int& seconds, int& microsec) except + + void getDisparityRange(int& minimum, int& maximum) except + + int getSubpixelFactor() except + + bool isImageDisparityPair() except + + int getBytesPerPixel(int imageNumber) except + + int getBitsPerPixel(int imageNumber) except + + int getNumberOfImages() except + + int getIndexOf(ImageType what, bool throwIfNotFound) except + + bool hasImageType(ImageType what) except + + int getExposureTime() except + + void getLastSyncPulse(int& seconds, int& microsec) except + + # Setters, primarily for deserialization + void setWidth(int width) except + + void setHeight(int height) except + + void setRowStride(int imageNumber, int rowStride) except + + void setPixelFormat(int imageNumber, ImageFormat imageFormat) except + + void setPixelData(int imageNumber, unsigned char* pixelData) except + + void setQMatrix(const float* q) except + + void setSequenceNumber(unsigned int num) except + + void setTimestamp(int seconds, int microseconds) except + + void setDisparityRange(int minimum, int maximum) except + + void setSubpixelFactor(int subpixFact) except + + void setNumberOfImages(int number) except + + void setIndexOf(ImageType what, int idx) except + + void setExposureTime(int timeMicrosec) except + + void setLastSyncPulse(int seconds, int microsec) except + + # Utility functions + void writePgmFile(int imageNumber, const char* fileName) except + + +cdef extern from "visiontransfer/imagetransfer.h" namespace "visiontransfer": + cdef cppclass ImageTransfer: + ImageTransfer(const DeviceInfo& device, int bufferSize, int maxUdpPacketSize) except + + bool receiveImageSet(ImageSet& imageSet) except + + int getNumDroppedFrames() except + + bool isConnected() except + + void disconnect() except + + string getRemoteAddress() except + + +cdef extern from "visiontransfer/asynctransfer.h" namespace "visiontransfer": + cdef cppclass AsyncTransfer: + AsyncTransfer(const DeviceInfo& device, int bufferSize, int maxUdpPacketSize) except + + bool collectReceivedImageSet(ImageSet& imageSet, double timeout) except + + int getNumDroppedFrames() except + + bool isConnected() except + + void disconnect() except + + string getRemoteAddress() except + + +cdef extern from "visiontransfer/reconstruct3d.h" namespace "visiontransfer": + cdef cppclass Reconstruct3D: + Reconstruct3D() except + + float* createPointMap(const unsigned short* dispMap, int width, int height, int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, unsigned short maxDisparity) except + + void projectSinglePoint(int imageX, int imageY, unsigned short disparity, const float* q, float& pointX, float& pointY, float& pointZ, int subpixFactor) except + + float* createPointMap(const ImageSet& imageSet, unsigned short minDisparity) except + + void writePlyFile(const char* file, const ImageSet& imageSet, double maxZ, bool binary) except + + float* createZMap(const ImageSet& imageSet, unsigned short minDisparity, unsigned short maxDisparity) except + + +# Also include auto-generated parameter glue code +include "visiontransfer_parameters_cpp_autogen.pxd" + + diff --git a/demo/camera_client/dependencies/libvisiontransfer/python3-egg/visiontransfer-9.0.2-py3.8-linux-x86_64.egg b/demo/camera_client/dependencies/libvisiontransfer/python3-egg/visiontransfer-9.0.2-py3.8-linux-x86_64.egg new file mode 100644 index 0000000000000000000000000000000000000000..7d604da850b203ab56d200730995828892dceb1f GIT binary patch literal 1298828 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%0Dyi(a1u^sEZ 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 z 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�Zdk3gXp`S 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 z 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%0D<$<$>W^zc!dA2?>o?v^JWrT|KOdE;wiBr@C zf1%bcJ!bV?VC76pJ)FtfH?;tr`{yAe*3b9h@r|v;aofJ%9yp)5IQ~R~DJ!eNe9UzX z?t}RzseP;b!F;lRoKyEaH=lZm7Z<6=jcoOB$Po{Skr1Nz%xm1n2}3%r6r`}SB6VF> zPTqeG=$?~I`1sw^Zknpijg$nL4j21Jo#M!v7S~ixN%^DS>!L*Lq5V zB`N1|^;ysQEnaim^VARS);1o3F6+Z?V#DnIaSPkSZw11SG$vC&ze|n&6kqrlnKY&1 zONbL(RTeG+2X>e;59J44EZEJDht)jM0*v|C(@xKZ`=c*UqdYUs?c}!vF9*i$*Ty@f z1dyN0XKb3T&Xkm0y8c3i5SoUZvaTAHk#ODl8ISgk57`_t7QlJ@;G9lVwdZV#*OC?x z;y*bX&$O8w9}!CLs_V$;oOrWJoV}f0ytPuJwNDI+o(=1DnPpM?%KVWVV6IQ}S}53F z`w~sHdtkllgk@=aEa>^|o=uY5H8IcF*EjKBD1WR|kPoDUey$C?gnlJ5{s3JY;E${1 zbtdw`xh~!*?~fMpd7~C0agvFTA|+{h=6w@i7b0k)PcI^qko%LfmAwu~bB0_&t@ zohaH5#2q(nylUAm@-iw}_gdajk)-Du36lePSFwXh#|K3akfwf&s28#?HD=Y+>X!?} zym%pg^1b{QbrL2Z*(Jt1R_-*?XR{QZ4P)LsoN5|MU86i+Wub6J=l&~K^Vkbb9B9vLn!-vkGi z;x?CB3J`e%bRzC`New*#=A)W?L1M-I_0tC7QQaUsOG!FAT13&ZCSQge<#Ph}| zJR1(1%hJ~^kxwjw;i;Tj_H%T%6O#R2gNfNr_7$R9(3#yLJX@ua($PO8nRqE^D$_>l zc%kbyEdg_gN%@*Lhc65Q6ZX20^>%!OPDwiYE-j&vmNgAl^Q@THJjDN)(Rz2igt&4l zQx{x^otE&M0QRw+Z9yR7e2!{^v36H&h_Uu%{?i1P&R&9QZAtr!9P{sV zymSZDYLT+!%xz*n*!>v<(%GdCl)0*{V^$LQJHAh!v^n{2zu z#vqqM^RLj#7cfd>p(~iT2n|`@-?fbyM0|nfax%yW-dEV>p2hb?EA>iyaQ;Vd#;YNO zFLexX3-yY~T<>rTMNv`cD{4cTH4^@y&p}m}GkyubsgG_gxpSyzINjhqw}G?=G`V#u z>6fVJMD!IUp05^RQb+eQ4YNdXMaVU3_Dl zbO9kN{%2zs!sXk}%$oU&FupCm)lPywE0|c!VDnqzUWIk?PiF-KyRB-|st%*D7oPir zN2qY;3kA8zj#8E;GBvvJcH6MHriX(^@$fr-;(wi$U@K~zuU3v4Hm1neT0aRs=72s( zr*--0t}jDJ4j%H+!U=oI2b!O#D$rk2_zAeT)|uX?>OuBlN}fD^Og`#y_A^vX_{+Lm zxc(fR950&zQx5`ypJ>B*!hz!L{S*v+Ywk?SN6Z?(?Lm<(V@W&cu{jXx$(hlLrzPBi z0!Yqa0FtCO)1QZY6D=q#9%u=Qpw%zqW^l8q8`mjfHeb4>4KJl3V)IR#hBteeYDbX{ z4#Yp66xoB~cv;3j1e*{mlRci_TkQ{a@|70i!}2|fw#8h0{SdvXlKDMc?HyVMani^7 z%KCba$}qHzY?1W$UU5&4*7vxo)PNdSH-t;lPZ%w4^Kq1sy5N!d%(wQz2e??(C(kH` zD=4{rpKfbiFpM%}ePw~LbAP#J?YFzJf-c`gF~?GZ)6(_$jCy-I<;)kA=Uc z^noiVpNVj~pfu9_8=qmAWn>u>Cl7|0Ccs6+FDD2ZU<~uusDpV)6@hs$Gmm)haR{S7 zUu>cFzbi1JeMPNjCM<SGx52ic4l-SR&D z4ZczwsJE*wRF0_w>6ESFTP3EPYDJm?Ug4mPst@6=K@m=dF`|T>_aE<&>=l>n2np79 zWVSvX$14Xc`A@;!d%q`q*H55+{$o?CPMvjIIag6G?v@Weh)OmfjS4i_T}+@(4xo+*;!1|bUHp_6HRLlc2ClyUS0d^ zLa3&na=xr@Nz|)Q6&RE13ZvdeV^|5mA$YFhpPpgxY?n!-wE)j+*{&3F!F;an59RdP zI^ilEnzkxLQL0AwlA1~sq61#&NSH4lWNVQ<{rCh{`<7#`ProeTL{6)>Z$oDRrNW3Z z_}zL8OJ}bkXNb2y-1L|@&3W3e#O}Cl&fNTXc;?N&=km%+o31&T)I(`=LzYRPMKR^<*3Rrx?o(u+sp#0d#nVvJ z>icwZ(8+KTu=0?WMv3`|+0G7t*d*-y>-)N90ufEv`DNRG-of9$O-f~HnPOhG9%?Dn zL}tYZEyZm|o-|GvE5(fkxB*ySeSts2-ecKvv zjO@@fmL-Zp+ZT1elth!+PZLBaM6%-GFVY>Bw&KuqFrRdItQN9UHNK0nWp1?4SLf9) zt)=BEX%O=T@$aMnebd`Vd-Z_$q2FqWhr~0dgpo=Ko3``;74*f;K}qIFDO26Ci?o_~ z-c;7%kTM?{7{oJLR+%$87;rhyc@g=v08uGW{u3^(Y9wz^wX%&&tTQFb)u7Hb$Nki; z08waauvPjOesY%UC*nSOw;pF8riY%p8wMv7e}Y(4?DvW`eB@T32&xDD;bJRSQO;n) z-VK2V+|jm&JRCb0+>i-e>;<5_bFNkm+U;n*2uB`62ANC675b8Lcz`(bxr2M_g&?}$ zKjwMr&Y}>E>3(lfXoitX)y=N2dYU%bSCH9dijzI*L>WDwcTTVroGpA*&%#`-Npy!1R9zFLARlPhQLs(RMK!UL!23l|*T2u`MW z>2+5k%BV0Ud~dsPfj{G)p!J4qLFw5n2yEe9)zC@j%c<%c;^VVlS9Z=VwnI_bw$8^; zA%=c-QT10~jiWk2e(HtZa5| zVTb9D&aCU(gIKvV49ba%aHP&4l$;-2M{87-V@lw`>I3Bg^gn&J7+wUh>nTxvyQPs; zcBi9ha?v)uF60J`$iy5^X|CS(G=@^uF$tOSK9+pFJ|Vt^6cNjq-jY$;yWDqR7;m{|4c(t-V*m6AkO^`UPL5+vhI#TKy1Hgr1U;?L|z&%ab z{~MAR`c5AaI2tT`jbXHLFZg;etm{Q;n{-wwHpfZq^W@vVahX1a6@S+7;ufdxHSUS+ zQzcKHgc!IKbGYV|ZQJ?n8{D+u8wt=AqO+gjXr(~J7bW)Yd_rUqOZ4s>3_yzx7NdpA z(4apLMOturUrSqE45N;Jj+r$>lsb%N@~|iIxZWyC-ur55}iJQ&%zyc z50>OTOMC^vRhK4f*n^pXucl`xSu`~yzDoW;a{d*QlYk*+k>A16l zuV_D=?6*@R)lQ63U>gKI#o4>oB8Wl}aRl?#V7?Mq&i47OXW=6SL34ZL&{8J!a5h3J zN;&!m~;(7aG`m2CWvzD?Sz*2qvPte^@!~z2P+!utBd8dGf|Zoc^cN%5khZQ z=*NMquCO({Awlzd3IMrdlq~RXXt@h=`MylLtQ&h zxtD|^Xklw*cMP`cr=qQfek9Xv2fE_srf&8XrOQ;AS~kNpn)-PurDHZl9I^51J;a{6 zhhzX9$fww!-e z85D;mVGW#ssD-fGP$e>q4haqM&ProQCEC`!miTc5+Z;Hd@tIcuu?g{6xxm*qPAFpK z@S6)_7GNmZz9|wvoBj2IXX#sM%Vgx7Y#%z+A6SM96NaoKwN{LO*4BS#@kFwJ7Cu8sKkn3I??e3g~0bUig&tnL=7r(qyAX26aiM%3u>*HTb_1`KDVSN!#2iYY;M z0Fx5_?CSWv-#LdG=3~HA>MuyF$4`#(LB~KGA*o<_c3WuHB1~B<_ z9vOgETZo$0&oh+f8l33B9f1;5p7OJ|v&`94+k5}Y`vh2Fgmwg1)4FsH(jC=2JLu93 zWaF=bi}9^|K*9C!<2koMUEb`#E3Haq9pTFFCXKBL6_drxY70rHPI_X`K!MP~%^A_g zD#p{JrA_H)oZO~SpKDb@2ssGd81!1M*kq7T;Z8y!xu4bJn}4J)oJZoo-KYL$oA*|r z$Z>~6>8wCW3B0T{zRM;wEP^RcC+CiRX)+6WjV`t1&~S zWz#RRjI(y$q@?FIOQ1^@I=3@upjCy*<=N=#RpFBbX>;AwR2rN5qDeiHN;gr*nuDK_ zU6AYu+f|=hMWiZ#ZIAC5WMKz}UwWjlaGq8{pZ`FM-R4+RSng zsH*LKS`Ioqs1~v1QO@pUY#?KyLBcg7am%hsDG-umwV_%aHk38`CsM}up)KVZqgAG} z^TM60zOxcBsVO$O5h5U;enEU0T2LKeELVDbA)}+#>*%tGKbammooHdmthx1aLw>Cjcrb+J`{0fS*?&8Q9vaP$?iJ;Y?5#90HkZow>oE z))6m_EFl|Nh3-2?O721$T!UVY47#Y_pP^Ejr+p%iJiBUVQF*A_n^`TFK2~NXm~^(S zn+@u8ALyc+*5k4QnzE`FvU@vZ8>vZ`5VZwt4892a1auv#-%E+9T$&PRlcc2U9u9#! z7c{LUD?vDqjo6FccB=RYpMPm89FSt86f}1zfoOoqkm|Au8!i^cQvKOX^lG%LF?H33 zQf7K?vynbfKe%lJ*+B7*J$eK$O!L+myPGW{$=DdTGqelGaD0k(!zp-XYE`5$BXaIJ zn&Zd*oAAhNAq1ze2qVPqjWgsjbAin_hxlQfM~>#wK--Kv-aBic0ha}q)utYGOcm=a zFGpvN)m@KsJ)eagLxkeHh5en5$WNq&LnzC6v4$6sL8$c=_6((?%QDXLcZ+BaGP*)I z3{!g~bwVpTlm_sZ{#NWDKjUN;q2C;4%F|wz7(2ZfO4Ms+Y)j^tj0|EIRwo_*mifr z%QIy=zQbL2Fhg+_@J~=nZmme&Nb&E}z^LD@-=~XvzeQB;z!qKD^HMr4F&mkwd3voE z?C?wOdu?;A9e<_S3awd!w%UROq1jxzhwUU_L5@6+NZUz$K&#-1p5?p)``x}ltwRmn zs}#5(2Y~>^dj?xPMZXn=e-MblZ_2+oX#E0Pd-(w0!XD}x)8In8;wl{Sxd&X-t4?A* zZ8Y9M5c%DhuO+&4-|Fj48J0Y*Hrv6hpHb#wFFia_srlrx^?qKc@Ff0R++e)ns(qF( zWxYrO1y0LaA%Dh+ikkmW)!+)Mf=i30zR|uEt?wOvI>WC?4=#55OA@K4!|uBg zscRQjGSdUr;pXTTiXHU+Oymk0S#ij0^-jLnJx3rKb*A|LP>8)E3o)zsec2+o&T63c zT)`T@&Beou`LcL_l_@y1p1xxh*hhpXK}3uZs?P#?X&|%LB}06IL{%J7CY8M(jG`KX zy_jCFS8XG8-m9lzQ8+oo9jxHB1qkdXW>D`q-b$>;z~71sG_YY9Ro!^67Tmz4h9JOY zWJYaYlk<&Egpt!6LGn^H9-Yht;GIr-LT)@{V;4u=J1IVYgVW=@>JDbbmeGY{4l)zL zg;>|HaUY&|NHbxX-*61pLbDwY9c!A*xU2}4tx~0myIpZyC1BC{M&EA$9hyI;HMyn# zhNXo@Y%4L7b$&p0d1obga8~h;z0da=K~?|3Fs?*s7l7Rqo@B-_m@ch))%Ih>jks#G z@rMl_{hAetauD=wSiO49-bjr*?f3wHX{{~J8xz9Xv=*L$ySmxh*Y9sXf6;aPX_rUG zKGGgTeMx@Im2ThDr9SWtEUu}#;-ffRnHR4CGaUmjD3)m%t+8GKs%M&6#$^iM!l&pA zJYP7~^@*oj^X<>_?}k!VQ=>C>no(mpjtF@hqms}%p<&M`@PO8*ISw{>V=?`I2GhA0 zh19htxgC7SDr_nW2<9>JBi?#O2l)p^JN}S3=n~{}ck^fToca;|hPbmqBCS$$#xkBgFo&`xV@OySNy)T;T-8sK)oFKRv@>Be8Eq z)A_Ev?c^^sdy%U~hCxnR^oEc)5+W;F=_4x%l=m@(K(5a!WqmfAm2`!6=63;O_Z?@P zZN!pLjB}4V5yAXTlfU!f-l{~%s?3PhxnQDELF)^8!wih+S*3>oX#v7ZfvB1So+)6_;sgR&?1^!pm< z^0it0X;<_Z1*qY51FToGmxuPg19C#k9BtNDin8U29@{9*fi3qMK;g$j(VrtiUrL1p z;Za~`OVQB8ies84yHo{P;c>*9ou(kC>V>RiZEgy`HoCeA_k5a?+4 z3J{l2CyApo7V(9g0f}WZN6>#`PKFS>ny_hBa4rKsFa0W}Hw^InKD3O)fe&wU#I7o@ z834i8#JTyedkY_NYP0K%-#@w1i%SvU1?q(rRox+1R&$C=6$9Saz`_+a7mG{;X$>7% zT#Atki?VHbN(f|tz2*vm!5=+|0hB)Q1e7J=VB$P@%JY!SVsn` z!qv>qiTFYChL{iAdh#kJ*INI2NQXXAuUjBC8g6G@%rN^k%aFZt&mHXF$GZ4N9UEp; z@kAAC0as$verfKA-8y0l=y}^9=tW!{CHk`SeH;Odk69*gwb^FyePCnO-apXWovZN(LcT^QhBcIj-rKy z2&P3nv;~|a7bk!W$1;#M^K`L2kpidr+#BM7RRLF+BISs?9q@W;F|pQ} z-~UV9phyp3rBEiKw0uI9&;eG49wQhd#(tBK06Cy84r~GU2lGraA2{K?kfmoF3yTMD z26qsyNr=aZLbyVJ1L7Wg4m7cJ0DnYE9@OeUS(09&kck498;owfpP3hg^WO5$Lmjs# z8!@)+mpQ^sdV&0GGwvv5BMeYyk~A+>q7PwX^?91k@fU<@(|Cc9v|FZ!W*E9|Q(Zc^@tXg15WH(7U&Ha3YOFWj>$i?N&94}#vgZ$tn~1i!6>r_@j<8*c%`6l zd=l&J-d6q(+CU}0A70C6xVvk+&Pofoat#yN17h(LCLI+S97MPG2s;M_o2F&0Vp6JpMDxM zfgCT5(8b;nYR=RkR;zQ+ly2V1`yf`!Dkm+^V$?I!L$f}t1E1&0A$6EJVfimc4&ZBy z)J2t%YQpj|Mow79z+u2hHDM9vEM~$eUBrx16BdU#{tp_B;G@-q#m}6Z%pHT8HbzZY zG}G}c9DW(2CM-_VG0#|CsMU1njaago{lL=tH#8T&@@(fGd`UK1f^D8Qe5 z@*aiDk-a8!!Sf)rzwlFjye^6Zv@{S0fovnZE;8mTNl#Btw4ED1_btqAEgG1ZYP<32+*|ho(jDMz!lA9*@(Dv}L%bS0lX3c-bFZHK|fhSYi2`mPq6ce3}Ysu4=bD;29njaJtwpklvD-kvXX zvGfa0-u*8zR{fF&BL~tY&-Wr+rM;?dCz9CGv1L<7bKNfgl`hJB#dW(skZxbmC^eMp z_Mf261By0a5vNA`?)t6GT(?_V2}mJLWn4N>~ zYw5Z%TuX0*<>uF_30Tk_Bm6Pk1mv8CNz^pe1f;<0@)&LcYQee2G*!2~-MMaehEvCB zT(^61SMesRtTdMEb^lXZjS;rd^*?deL!|j=ek{bhAxT$ivG>=eje+q+x3t7 z>h|AbGu7>3_PRayf7R_bk6Pbd_{^-^L&mZ3k3|GV&tT)<2xP+yHvZp$oC7$k9(`rq zE_C$ub$h>6xA(uMZs(tgdOcHrg}G*`+x!1#-QK6lV*w@atyrz~curnDsCZ{4CvO#y zB{MmBVwNtR&!oM@SJZ7eo~yH8iB*_2o_jAg--z+ng7(5%exmmQ)exjm9J0rH9!; z;nEjWPe9=lAiiKRWms5c2+>Z$V=*}91GIA>E&@3Z5G_b`DECi!Rgwm8DU^*AXCsCA zNk@yTui_iIrC>I#A|2nSm&4}h;^l09tbwxOjl(KM3M;Gv9{Rr61xg*|LTQ963CKqI z6u6}-RAVO#NhgD&|SwM+q|GQgR7IJ2#o<^R<|mGESWM*)=oL@xhM2-)TvF8|d) z7JtL#Ki3K*dUE+sxln#`qjf}ULd<3Wv{%jN$)iz%+ke)#wdA9Pedsx-{y00q#iCq34Ax!;ws{C93ALak> z;A_iYAH~C6nn&fElVcG(Hz!QVx6Q+pS*;1v_4#VTR6eE&O_+uv zPx=4~^#7MWr5n?Y!u9x87wrK2OjV3#?gd?m(N6wtN-Vh({~fzy^t<=j;p-|Wp`;i+ z!Q$uyhXXNs&>eQDMh};K5ud*hoc^PObTMTk=P`ykh@GQl zjNbe!zL;VxK}dkSn9>|bVq1AiWhlsH*2R>^EZNV(vZ%U$?|avErKK7|R9VJa{>=TnIfD zLSLBJfFP>@S%|ORT~*Wyvwv&4rV3MN1saVNoaA~|k~4+zeU(CTrrcAUDH#fxK90eh zaxt~P72iaPZ$yk|LL%R|2!h_mE7T2|MV9hpVvLU|`_&X)2;T;#^(%NGy!uK^omcWg z_yizBSJKl0BlreQp;efXtm1|6Q9z;q?!7ErE`;Ab8eW6}bvk6jR!pHaFGA>_WbtUJQe?X~L`>oC$* zx<3L@ZyoC%10-P`ovX~C+xIZWFiZCW(mg3g|MY9ty&EC7uVdY#e3oq2{TTia*Quq8 z^}49Do^=le60@Ej56Ph0cX%u!O*MgH6m)+XqyM6GZ$`-P*7MlX`@l*!W9r+=Ry@+c zdv`s@qfinmYZAw!K9G6<_lO6!GB+cTkY*VXMc}I#y~#9=KwkvunWRq6rKt#nj%U@1)_rL$vlH=9YXhQO;Mg0uxVTG4R?AXC1hwKK43 z!EpHx)IR`uy8N~kr=ZagQ+#v9c{BKQ`DYsu_lk#C@xOrvN*))E!S+hQVtocoqU2UJ!o(xj@8cAPRr4i~QeHmyR&` zC&DFQmQ9w^lr?WlF**G22+p?O^YH&`AYZAVa`=A=)QRtT_+Onxyu~?KX$BAfvu?&5 zW-|}}KLS#Jvl{*f@wl)ohk4!bKNDZN;eTJq>%CdMLFHV*jp7)2H>M5W0Ul73UIA0R zhr*(iz+#)LIwpbTOURiFa0~~r5y%FL`798rKu!~}7(|;bx@Zl^O(i$xA7wQPE2_li z-CRkQVk~&0w{R&g05TWgT*&O^r2<;J7{N1q>g&GY3^hawmC4GOA_HbxlYP0@Z5eqCwor@-6~7yOSRC zNhgmE7Co`#C6c^-F?!26e6T3rF7(s8_+U|MAfN2wgGG~pOxVQ-iw*(Vw~N+4$METP zu^YX@ECHX5D7J^w-U~?gJ?dB^kVSjwK(AvPPeIt@d%4K{_hFW} zkBht^kox<$$P<7J-ACt(#&VHw2eo-07x_aVY5TayEA7V&Yd;rxA0R#UbCEB!QkP?# zS>(;X;oM&Yo^SW7V_gYf&xCsBV`#Bc^59p%E0nUX`AYB0Ny#Hh>@+2$Uz2nRx zKcbY*L68{-)X^?W=>ogbU*Ml|fRz?FsEa%YS!o9#Z4T0a=bu+(y)5!QmhO~swj!U3 zP+uNoy$3A4V!Tc7arhrO$a-@eLe?K*y+J^lAELp|Kd&$~3~tx+>`NX9>crz`y2H?G zuKIwy9?z`+Eqsift3FG+RXy+eHG9)BB6w-h!Y$WYR+zUJlFZu+3r27wo8^w`b-lxo z&N?yLxw$-{Sb&(0J46!->Z7B7NZtP+sxx$G720KN4S?<4`l5T)k`LF81-e2*Y%Q__|o-~zd+tkM|hEp zlCIWZoEE0KP{-LAEp;Ae!xMygMB$`OcCzv-m9pV>jMn8_b?WXY?D{C%hT?OJv|%>e z=mP(CN7**E1KD(xZ6n7qMgZg}ri3mT;RXR9%&0()~@jnPgi-Axg);W5^I*0Re` zyIqcff5I`=eFVsXW31cw0eS)Mk26=oYnIYPQhF^$YdD{k)<=-{e_*AzeVu|`=}`E` z{J=_+f$aQ2t^6NH&qGT8$=ujKvy`Th((5tW4yE)R1gmwNl?rRfA2`9LbTItA$64uC zAe)Y}(#Jp^9;c~Yx|Hf~J@8ek^Yb%SD)$e}ZGL@a>n4YAw2wAlx=&f4Ub=4|EkCZD zUEVrqA3cc{xw6X>>FuMJ5Mizy7LL*KWuar`29V{m>FxVymwCP-Z;WQ-4Mczr(dP5? za{aMmwC!^youX~;+joh!tq69Fwtbl)INJ8UeTYdEPexRYF?0sxi|7E8mtGM1GCGHR z%AUVqvNT$gXYoamwJQ<0Ij1xKLY2ld2|n7Oj|^&uL#iNPxGS8 zuLwM}#LSC|^<~$*s3|gsWH!`@=5GPK6V3VYZIqdu-Dz;0&xE{@u^`HPu3xHL7-jpU z!Qv=e<}8V_J^sHm%9c6Hn2^h(%bAeNqAN_%#mp@GHOiJ{r=!d)6V;Db2Io{WaY0UV z^vVZ$gk$dPM3hubIAb&{{mI7FV*MSnm5WqePk zI>u0Mr6wFRqS`rX!TC4%p8`1E0ulA2F8cgP$JfD9umM~OHph?F7C&#MU=#w-x`QxI zp$-rc2I6-R=Kv!&!%k3+9oBAN^gf5!>9h_ZtVZ5FiYi%iDH8TMyv89S zqb|}O8GN*9a7hNWlcINtLp{2gadl~?OOq&-nR zsXhMaPmE&!R7WF6MQIf`@a-|#XAO(eavpd|UuBDuuk-&2*5d&4-e6X?HQ+Dbsq z3$@_rZ#ML^FY98&W!3s;GdWjY(Z%8`>fB_2DbsUR7Z0webCWsD;QBRP+`p>MP3AN? z_3OI0bxrLA=86jNqo*Nn=%UIEwG)`z44&;KWZqEcCi9rVi{8R${g!&|Fs~V*Ny->NRz{;z*G9Q7M19#Nn_^Vb-5-F!@Mb+(~7{y&(ys#KwtXGVIl&tro-W#bH zOM$V(U1Hpj><};3s6)?5#MmXOY=Jdk+z+qTU}}7qre^TbPQv9dsJ#H~0*E~Kbddv) z>neyGg&gAT)u`RqK(v8tbAa{`!~q~%0a-djckZ<+S_-pvu2vlJl!O3BPp~yjgJytm zmPs<%T3@#v^PzZ`vl6H<>uZFwkGwH!HK!pAQU(I@Q}pvwv^!o+&KxE`MLR!5m%IB@ zmiW*@^!1)2+V$1k-A{wKscBs7`+y{;ak1Y7ay^ai#n_5n=qs2CMjFH#-=&2E>(iyp ziODv#O0Hd3G|^zKvW`U3-!-b#tPON%4PM3X>mnP#aRbC-Am@p=2%^pd)L4MyM-WLs zrahpwI|#_DUDd=UmYLTd#8*rd%nL#*hMz3|z+eGdc@Uj}d`d(e5C?&5BjRHa9skuu z3xL)d#1$Za5fK8y|B)^XfHnX`3m^@Mhy`&S$UY**f%xz#5Q48koPVy16#&rK|TujQhg3a*JS)jAWpzFYwFya1460B76pGT$$gVozFPLrH9d$$HLp zEY@%!AV7-k03^u4Vh;dGCf}7CU-O-(OY5u}PGUcvtoKo3Um)O9CAO)bAsYIz*oi>K z0i1I;z9P2N%oSd*+L&Y#yKS*zp zHIBwEAUgog{F`2JDKA|-(A?7Z-?mTIV%Bp!{zk}DjpOm>cdA)ZSf+ztTb+j3+)L$18H#%;w%ns`Sz*9$}MRKd$F&jzh=@7t1x=$a5FV-3;P8fV1)I zjN%JRY+x~njhO5zoy20(5b(B}#n#giL!HI00kQ(%?DIOKSde7h$s)0XC%c9zu~!lB zPo2e9GYnD5V6hQE1_7KMUSSmaNVYS2^lW;P?+NO;>`q^sU7KWmZC2mM?({wCgX~Tt z2W78xBkQ*$>nyZhFUcqWADjHnNj~}6Hu&U^O!CPuwZSJ}C7tBIx4|d>YLf3dO_vQk z+B>^my~{FvgYTMK{02UVJ3)CnpW3{oSJHZG{Fg<3y2h&A3MkGnWFC=*YhLLDBZMSsUt;VlF%0g$5)#b=0=Vz$vo zH2fnyta=BKEgn|=49FvZGjL;O)uwJW7{!pIICPJW(jF+?wX+zaY8KXAZG&|gxVTOC zSon|3!n%(FIhciYd$JlZS?I2lp^C_z!*+jg3-6q=Vuag&qdKuC-0j!<#&Eid9hGgJ zja;@Jtg`LSqTjgfFM@nBoKrSsxCE$z$hX)lM#;N?Uu1ZTT?8G)RM$~)NH#~&O=_*F z;*i1eyO=d^fVertl~2Cw5I;mS4$wEkDh;tMs#O_cTQ{mY#I|l!jR`rZuFixUOxIvS z4x(!g$(MDB`e?FZ!IU|wC!HH1HwSz$1L zEc3reTe@FH+R`ls+tTeAY)iM_U|!Z+69#HMNBYS3D$?sCtIBx3b5jycBr&^*gNP8h z##eF{tpi4C`Q*FtX+XvfqI5@U=6YvRq`3$uQ@Vj;B~$tx6EgA}O`=%V3+F&>iOj!k zswO;Is%Czz&e+`w&RZh`=oRo{#(!f#ZI8?)KMwm-84x=n3*;Y4%X_!agZd>hues`p zlpX0o?`TA3r^h-R)ixt#JO7}i*T}NulKt5^Nqo@A%JhYZ`ogaCqGV*i%XlbgkV-@E zNcq&e8QZRr=9ffeRtHCN9#*FzdZkEnX>`(Nm4}rgLvP>l6WMF((mTetc-%aazkJ#_ zlFP7iq;1W!s!53Id8lwon1WNTm}_XaRf9M8)2(X8TOzVKu{1&r{{T=xYAg{cmvJ}1 zVI|-_si!214xkMA<%)X8Drtr$9AzTwI$FWGus?cxfa4<&V}T3<_!CRsV7N58YKF?& z+eTR~dV=aAbwlNcn=YwbxVXI0_BWyO*Ji_)V;1&_K zcHol;TRYG)!nST6WD>>mZd0E{pAaFZ=Aw8LIAu+yGsC+gTmh&Y9<5I{vx;Wjk;`a9CnY*WTW$vdAD|3H0qA9U#L?NyQ z6u2=*I(lUV3&3;%V6MZ|HB;0c4lMxzRAs8hsm18P!Z3{wBHniNg!69rZwC02Yu*UB zTp7lO9uMN;P<~Bp3<&KD{4~vBh(Z8u4v0p%3{eW8EeEkQw;>h-v`rw+0Xa&86R)-v zE;);++TL5s(LfEOfEY8)v-}$ygB;>s(vj zTDOBQ`Be@yL`8tSV0@pyOhS-F~TAmah@tlT;vO91}FCeO;1dD9R@ z0dlR(J=A*8lf)F?T=D2GUMrgmo*4kSR(1=>6+nPJkS5Y7kUA^(P6|r{Q>4FfRvGDn9|As zUULc{6JNSh08=3^v6Q+!=`==|%<8P1T$>M|vvQx0v|h=iRI2lF+Yt79fIJ`f0LVRn zKe5O|ay3gE;w^wYB)1#Lc7Qx2H*L5w7lo;bxOGVGU+_LG&Ba%=j3EjFoXdyXU*44m zI?QnL0iwY}t%o-$n(uFMO-<$ph&mv28-RR($Rcz*K@Sj31Cj{vCjs&Sq7+ca0P+E% z5@iih93USc>I$SIK=zc=ESpLu)lJsB2JGRUayodvF3VH@X_mbxOr3+b<{vx3yS*%T z`*VX?C<61Xv@6WY(x&TOBAFvo6Tz#$#gSQJMOtCmGe)Kp zcssnskr@MI)LUv|4`da<`JF8?)|O6giqm&ioD`Nv#YsI_bP5uFRPotj#YbTQ8RPRW zcps|x1eP;Iv2q-r#y}bZoQE>RM?GFd4gVo4Mu#$FzvF`~u06?W^y5Ae?|V(v3cW)$ zn-*qm$c~C|x%P6m5sp~&FK4KOk5-^GvW)Q&t}c6d(6$>)+skocvX@7}mgmI80f{P4 zGtJ@Y6GO`zx%@DU2n^K3F$mIh5Szf7RGz1`S6QK3^3dQzD!U8+o8?*AI~5F3tAbJn zBnsdxn?adeQOZT*m>@`MxX)>3LqV&tSD4j%V*KL2kF()Bh)e5ORuS zlAb$Ko4B8ABt8btk}oXl2%Y07!CW*6pl<oKY&-5@s$AT|GL#F(vW*XL&ees;cSy8;bA-=!1|MMC>0q}VYv}9VWVanzq9rYL zIo?FN??t#)D-}Hcb75QV#Op48XN(U+RrK`TOem? zO|`VnCg8C!wY2Fwg;&cEakV&B%YZDYrS?UD90xcbCcL6c(?8&bmCm5vJY;>oalOsi zaoBSHk)1PWobwFxIrs26e`0fvXXk1{R}Br# z!RH+2Ie4f#wc?B)?(t)=F-ked|Zm>^pZvxNr7dF@hIj z@RI-^2UKC8^^xB{9l(&hL+Kb1|!WR3A|5%#eW>OkF1(D&75#t4a8} zaJfRb7aBJJ3dohhb>VWQFs6X$3+ZcWVO3IbP)8SfAmTrD|@~3bu z?jk$LmBf^AtpGdZl<{33F0=L$WSo0j&G3`VcsF>*5FY}{r&SYT;W4K$*Aq8|=cgEZ zG~wjM2f3d3eR#lzxiFh4_57<;hj_WHxFuXJD~3TzZ$M7Dytp-7E-(HFhaUj?NsjZa zoBpEaF<%RH-R9oH=Kg}+^Ibc{GpqW_{m{NU}YZ zce?N*0gf}_%|m{0(k)h`{9VKo;J6IpV;~>COVd`cY4_nW0@N^oIc~V19+zG~Vs3_O zIe*}`e>r#-1I%`EATw$rg&6OIYqCZ93k-j}%Pmsny2$^!+#-bm=?`!(y>H)oEdGD{DR#Ui2-Ln4<&OmLvR964(sH2_QcZ@xGm?Y9~s9cmU)+K$X82S-&uM@NrV>Zb-Xc*)^*r zE$fHBLlt2j5)%n1Q2l-B*oMrv`v->T1SrtHC4Gc7d;lH#Nrl4!a-6nCa*iU$Y9GQZ z00qW9l#VmV@rU|`*bgwzN6ibDXA5MVlxveCd=BOs|WzuQZ*zzA4q6EM^2IVsA_OEbQPL6V=(rr4PZ)k``0P`4>ZaTix#1L5k z<}oP4bZplQ(<*@LUPX-8uc+fosq|`f^YGGVPts#DmHfoy7KWGraFn$ZHEl$;`XC&I z@pA;!0rGZ$@cYCNFF^Q{NUbGY>cXWCAPcFicf;D3yOH4>O@S>XcaeIMG8p_302!Cr zKxPtA*iMwS6E$swj97ls>}BC3YPGu4>Id*0cxaK;=#sVHLN#fY70n>XbOeT%p8gY8-kk`!wGG!1i>PTMe3kbx zsE2L1@>XkWh)Mu|5-BV108o9}a^+3CX&raGnYr@D{lt}b3HTSa<;r^$$l zov3LeY?b%X&CHc|_0|8g@}9V=DzCz<%3Ctrb?hfD#79tcr>&~I*Dclr%E&6=C4c*w zD{pi=Lxi>C%6kdOnRZ-xJG3`M5Wt_p$jZAD)TZ`ac>_D3*8sR3wklY(Bopm_wjTku z-jS$a<8@cOVXM3E-SXAlX|D{dPrl`=x*LDaRCSl$vQ^#WTd%LW@(@XfYpRYZOuaDR zs21+3_Y2pz;Yi`o4s5?`fUN4k_WKKvp8(E&8S0yLh~&&QRa7aI>$AeOoxgC^(K;I9 zQ3tL%iq9oNo7t+)SKt}nkyX1o8RBI}R^1gudw{e2^~_b>)UAB{L=t2=W`}Eaer4TT z5pr24)_u;3V`y`m?qQt`5#5<}UjXuJXVzW4iyB_p>0%_Hibx#K}1>kIYJ#&_uy2oEvmL3F|j+x%SSqf-uM-G2kQ8O*vvLolQQ=p%0UbXPm=8_Zw1kv>l5>H2I} zd`GRio%Wrs*WX|d`ovZ2Y2P{en(R&=xSDd>cQ&gVyVGQOh3W37A>8BGxiF?2`U)og z!#v}JPo{g|RbM3Zkym|+|F$Wfe$}Tq%Nd{Iy;psT-#DWbJ9AynaG)nGNmZ~SJqIA` zPkYU|_7`W=yz{iTI}HTQqY$UP6MVPC?s<9Qea36sy*}sVS@?hNg8IRf=jD&lOtogC z1<$M5=nvk8@~{JnX=R8y0r7)3m>dg-ViFyyPCy)I(E&7`9{f^GYtrb;IX`-9Ia86MroM%3BzHm{Q^K|b=#Bv4k|E-5Q;V|9Xj~rX}G(@AG%A98?bEdkG$Dw+*G?Fsg zTisC}&fCDfp(j}|T=Uj}ONbv^@Q3Hgf0%^fhIZqF9{4Ag_(Y{4OY&~*XaA3JQLhCWPuap9E~?6vW_ zU)l)0l%LOnkG(RmKG@G^!8a~s{-V2|&4L&B{SOPC<4|+E1j>^2Uaj9nw%|QT)s8-F z!CCvFr|8QT+zd#gzI5c-?==>D#9>)5iQVqizP`v7JQ@K<_9Y8ey2*l9U-VgUsw0C1 zU$wM?+Ibn#Y_f~A%&W_xXF>0-9ie8kSnr|LeO0lv~)-R@dqN_+eH zB3s%!%66(w#jlZyUm1HPe9LP)5mipr$dRg}w6JU73D{$k|WT$ResnQqnyYt+{go{EB;K9fv9}wH>#sQ<97_dNCqZR)2gUUy4h71H;% zSNrP^u6UgxtfQAJ-seEZd%5Cm1hO9B99!`<74K9#IS!E9;;hd{~@ z>UG+)sf`2`4=8#@wT72$rglY3XKHlV>@Pp7=sQ5wzhOlx|H+5V&O*-dA$-`ZdlW|K zQGD3!zMpES6=qHEa&39*jXycA2f)8OisKp(jfqDzA2zE2q#B^5hhvn^M1{MvJ)+V? z^C?CVO7VOgrj7fPO|%mPb%86X1OO3f027RLfwZIi^|z{Qr)^EY6z- z>ge#7YL(B2$>uS;w8QgZ&3*0p1-7yx-_s_`#<1M9O6~a43b`??mmEGxWBnnFTkcI^ z@(Qb{zV#5O6=tX)-uhApMjdktUsl_2E5fSUx8YWr;U6QB{{jLirft;jni+UaSR+S2 zI2VtFMaCMY)V$Gl#sm-_!K;3(+*Yez_)YXy9nHk2x=c9-{ZwRf-%z!)V_1DkQ#6A0 zja3zKR+v^>w^zieVcL80bbO~U+2zeMt7YeO)v~Kem5DP%-Z)h)gH18<;cwMdzRIVM-3~!3bWSDV#74QtGsUZ5Tb7mQ|o3y zZmZd+M2-r3Gw(GX0S_K-hylZS1bh+5FT;5R{Qd~kxDnL5cIFZASD?m^;1TcxAh!VS zo^IO+cmfk&UA1quN2w8TqK(%*R=16SU50N2eEgMx^#O)&1bpji<`J-A9|0TxV+6d@ zt!5X2U1$^-rVY5pt=y*xXf6}DshJPtn*?rZ{s3|zfo{?1uW9A->(;sriTyfEyMB#Z zxuPRs^&`2JQ+z0qF1A)~1pMPis-qe}_KalJ+9*T31mWD8LA7tas;F*_Wx7K5v@os5 zb=LhMLccwVbt^uX2<>Xqy%_%UN3rf}K>ixVy3336`WpQw?P$o%jef`t)pVB&>*i~^n}w;-w`#-7huKEo6;(H|yd;>5v#iOMtm0v9 ze0@eBGY9>gn?AKYD4S!q#kh2koUE94C0-2DO!3PHnX`tVDfA(Qxd?II3Nd$3Wmf$r zsOW*_#ANeLU0)fUJnFs2)=n;sy*XL|zLPagDMb$LRl1bxi{X%Dv-v$H2M(1!STJ4E&T5oogJ% z=YRq-@dF0-Bw>HSVL!l3%0N?j0OjtIMXEi>L6a!&z!nZSGPT15G=c!f6Y%W%+z@L4 zj@uySOf#T2%C&CE>HbOh3t zh!r4a0-2J?rzQSar23pxO7QrBfgjxF&f^Ant|U_D@c`pd#i)xMxoH`EVCmy`!C17i zpQt*;5XAwGoFH6N4e<{VE)cswter}^gD?fl!KGkz{AhLY6Y(|D0nnO&xDDh_K(2Nm zlEFOwj#FrzL5!JZh!}v@2SkqP=xG4j5D*K1%pzhGJt#QC5YIsr{t84O=dn6yUz~(Z zgGXC%H3Mi1LHq*b2tX8G4{8sGQQyd*XY#Zpcyyg+t=*r1y-7l(Qu5o z<6A$kV{=z)`T>-WHJ7Rkua}38BWx}v^Kc9_B+TSI+zn*sOwPloyQfp&`GHse z%$ZIAEytT5?yRycKuvV|P^Y*x4oq8EM3nU@OW_is7#T=Nmp`Banh{U26Hp3({{ zfVJ#=w!(oxde3JoTxDslm(R4qGihvvJHfM=bdZmnt?(R>UrDaM@)cINXvzP!LK^K9S*k{PDWp1KkVY?{%F#~V zh3JbGs#^ztTQ#LhelU(5xLUxwYCy;!+2e{O$oy zPFzb2@oX_qPDX=>UBZ)-$3XsGLX(sHys6)8sUbdG%9E1=K(+(i_mEimb3rPKKD`IM#MEAs@Fu<+l~iXi|e{l zPb>5-9{N`3=VXlciZ!E)=YCtObhspt|dDySNyf~iSJmlAZDh&j) zn}_@QuaiFJp}zh{BysF-Nu2k+CD3Icza_AG0FP4J4%7_!cA2BUIh2&oC;0U@2buEy zGmVLY=Rr98XQ!iz#+Nk4boDphww~&A_qUB~4Gtqmwx0gBk!_a#wvlbt{deN39NA{?Zw`Rvmx}^8jQna*4%V}Pj`ii_FiU&ECzt6{{0g$tI8RS}j_ohsHRDH7 zC-nE2&jT=>*x$U~EQ%!DhL+L&%#z6dNR`CseieMrAdK$!k?$FV(fvC4b{?Mf_Ox-j5$fxZIB)M)7fLqo4JP zf;^*2g5()hmncCVl@yJkcfC?xRZ^jz9L;;am z)1;5fOi+P7HY+OB$F@yVxR32M+#-E!R#dc)&5DZku~|{^J~k@~WI|fe8zxcAke|1z z(8ooex1yIKrc)V)m{ZdFk5%D63z;%Lr^bgCo`r1j9a_i}%2V9uA+{;*ixA#Z+CpDQ zPc!8u@f_T@%X{*vnv11{bdf5T8{)|_b!Z_iWH34QhvR3<)t=IQ79Bu2yvb0VQ{X*;O~em8(&;R@dJJ#MHz z#YMjMa-Y&`r6Gb>a-VV%$f1?or&L*Gh;plFEF8=WUL!%puHruB3XtCb?kk3^ zPcb+q2~S?R<(tD}>r>|22>qbP*Qe}yWneu|7GIxo@k!>-4rQ_RDfP1ak3QuckLpvB zDN8(|TGyxCr+mB`UFT}Fmv5&w#7)S-oKAqnI-9}Y9uD0AMf%$e#!n=F<& zhrn-FNK;2DoIPuip=-&4;hOgjT;^wG3;y>hS+Iu0#Dk&#TDIT;Su6`CK`9|`9(m3d zTxA`G*z4GWX8}oE#}@n)$isDH!69tH&DI;D!Fsmf^+1*b++(xYEO-SI^`F1ef|G2# z?hmrsEVyS@p9PP2Wng_%R-Xlb`#h5cAIxgA;MA=D!-CIeu`HOfT*aK-n3t@&hiF+Uu!HP!gG00v<=8=vO1gw-?b#ux%*pI#+Vsta zxbeLqa>^VH2&qgt8ob32^#D0#&gKZoLOHu(E35^OQ|55a5Q8%K<~Bo|+@`8~F0St7 zlaTNVelEV8l`kYe<$*^FO?Npfe@MViIBQc9N0bjb=qGkKTzo^TV2B*W)Zc+lXNS6> zRVYM`X6o-WL|s5*qXwss?dQcyr^qRXH8n%zuqF{)Ujm$knKR!tpLsV9scbsF!NK3d zpvMgUt{MD$1l>r%BPwSOE^jxjuAy#xD$KgwR3)U8j^xPOP3Ixx>`uPjBz76%#ZJE6 zR2oFdU3|N#IgqBi_;ynS5brL&-LwG6x4Zau(;*-S0M5&-^VPST)_r7~zAS3syWLbx z-fkLdT{F`^C~wN48*RlAXLVR~NhP0qZJYaY&JMcK7G=517=-$6wNa_kwKiHN=-`Wv z(4SZJiT%A0mDbG znN-V_^ zFfvqBt60_{^5sTZpkh@kXS^&_wPXpu45r|sF1}<1m91%%tvx~-l|m(ToQ9Vx*$}r7 z7spW$_4XQ~G{CVFMD#vGbOSingBY~m5FG%HMId?}Fht7(bT|ak3SNdw-aGiY#HFhJ z3nKWSAsPZS4UPV|Ll}bsv>YHlIbw)60a{TI)sGp%1JKHWNd3VOzyH7|RVr6dOFcn{ z5$6#hWve({=IIapI078!(;p3hymy?o!oenwfJ_B78Bp{i7V(DDGClV|wg>Z|O0L>a zn}~qLU1+rGfVhu~ke2BhD z1v+-p5Ssy_+{aLxOp$L0WXX?)nDry?9uBhvkU#ZEviE;K1;v!Yz5l9HhM0Pad;dc} z8Dby6X;gW|n;ODJFM-bT83PHO6jJLg9dQ~AFZa)ec#hzX-XO+<81geMOSbb9+pR!} zM-Zs|`U)So5oiy*n*U;m`T)mwAPxfA@e93V12*kAT;BiH5H)_K=Y&9P0kW2et02mq zMlt~IlPp{g&mJ&w(dDwONk*dRp4r&k2dnr9eM5DVpkY^Dw=2_W=jy&{?-bm`zH-== zJ=jltZ1n(Xl+;S=E8V1|z5}lwh;1mqQ4s*$Kq9}yG9Yt_2n6xw8AB91Ll2N0MYi^Y7@*g!=rhCR97(8m{#re~dCE83 zT_;=niO`D5(8MumoxQJl5T{glEr7&n=hz@8S$qk^=Sr$D!(f9feI5B>puw^pM6i(QNl##trU}z3k1zK~s&jUY*Jqe;hS;pzmg#(@&U}`VvtJVllu=)WXzyonnbV^u zNbjwSY?;6PW{9J|v1Ok49R$F6y>jN)M_kuvC#I4Tn?zz0LrUveA@&Kp^gocNf6#N9 z@Tuk8@4z@WVMM?pTPU{~%5|iiV-K7^2KRda$0iW#fUE)(K2D!x;Q(qE_7UP<>%=}1 zIbno$9>`U&UIsXSV%9OY)o96A%P9iTT8vqe&3B_@{)oy}O*)P!&BXj7E9XzPRP?&3 zoIf3bv`yvwnGIxmDjhD&kU!RK)U1_NpQJGBEvrQ#`6fYy?Iq78RTOg-io?>KQ)n3uz>Z%M{ToPix zzgYu@<)Ayw!wdL1y1A!ZAO5dV2W`4B<ay6P|BbF+?h4rraH4BwlSXt8hPOq6hh8tL7sRt1IPv8aialph3QU(9|jC7-^GKRj$U7N=nTt zCYnL~h8uF2y3d-3pl9-4LZ3$W&)n6x*P_=FoOw9{gKQ-uSEp&R$g9zEb^5rXHSuxN zdURkj*t|aW5zV@fl~J?qj=^JS0iiXrzA>Oc?0)Gumw1c*g*r}-(Jlu$%C+BLt{P$@ zpukt-rQ=WJSox+Q&fS1xiSyF&o_wO@jv>wfzI04^OA2*5iK} z$93j1#DichYZ01RcMA609gO%-c^IFyJUMh$4v*urzC#XOl*9A*oX2Q=q-$`#6KO(Z z``ZxT+*i*p1P9A`_p&GG^q#2a7eY?bFcSh#GVH`Qi-JZUt;{=aKL;!NiU7voY%!ye%Vlbe58Vb61 z4i~>yJ0(~%-=B?1_x>!LDIFfoo6Yu4UcoJDpsg@#;EezkbMU}BA*)9W2MGP0y(R-a z^3^d1cV98~N4~t)BVRlBnY{9muks5%_7lN5T_UGkH<}YH*Nv7#=wd+m6!<=ZJo5`V z^Md6%(k1x(29WK{7%PIrODwXTDdF!C`2n(>`2)z$L{K{uoy{X60nU&eulQW5O#aX< z>O+h}GbaC=V7)?4PX0znSqm^v;wD&u5;6vwi%7|qJiA9crvT=>?9^uKORrQXzX~pU zG$+r?-T`MVfSi}b0PzC+iA~PSeg}0PQ1l{;*q&21B-#T<2jTuc*>vO^1f;60RiITU zm%a`zTRj)6Diq)m`2tu~Cm=xpe`1rWPJucKDEc0YD49zQKZLvHzI2-8G0iR3XKqQ; z^k8jbF77MapT^Otxxw+dZ zozEkR*3NN!HlU4%W9pCtzsLR1Q|Fo5WnXQPW+@29uZc86aQ;T zkN6Sb4Bei&^19aCa)^f8tfC^Z8-w3CnIB?z!|VN09uZiI>Jg>)C|sKFG?@#Y2ci9i zpTyE05eLxHK+G%S5#s^ce<0?U^@z^_xvt#C#G|pF$e+(8w3{FnzU2{<0EG+Qafrt| z)OX&^zfO6%6Y^RfGGS3VFFpRdRt>8u|0>!aj+aCwp?8iD4_{vS>)9n#CkvWk()@wE3#YfsQ_Mh|;Wk<=={hL>#o!SNj$nZM zDs#w1J?9aoPNsWIbUOm1LVgHxRoek#0z!@fXh%RC0J0n4^6Yhp<%g7c=b*Oz-`!R3 zL8YTGyz*8+eFgZFk5(Ek-9ZHdw5lK$0hvq0`ykvEJ>mt3qDNWYvV3ZCCG=v4O}FM? zJeZF=p1x{1)t%#*FGbGEOjzp`@B8*wq)EOwWPNR&BK%~xr*VEZ$)1SBXBF8bzXmd; zBAetcAlm@WY=<*6AZMuoaXw_BWSlUOxo-tNd5bz@xvp~6AwQRf9Ls9Y;1V>yf$jepbDK%UkZ5Ku zSKTeZs{>0bd&E3|Tph?-1qi^O*yQTKL{Osua&;gL$Wdm=R?Mq zyhGK_1WN6u;5VKW;fAsoqSXfAPd?J}X79?_P<~j$Bg)j^hH_|4kLX^L8_HF+JR-3c zH3yu#RddV=}OwC|g_ zXYReb3Ge;$_;K<(Bj-D3eCCdIuLDqmH=8lpb@$4wYy&BO`rT~9Z zZt5rtRkE{um8hd^3nsP_b(CFC=|98XMC&N?nx=Y_G zc4n_a-DM>(6{=8o*%nM|kb35n=LpVoO-(uF(OC*l(N)R{XmDw|%5gv)Q^lT6h4t<# zH}C)7y2`y5eOS^y**HRZ(sslZ-K>o+!2no%=E^~n&;3!bj&hmn+f1Nhh)A!VKK9&R26EVZ} zzjOt2Fvu4}5|ztvw1%u3r2GuW0x)xGQcdl1QlDKxz{hdC^szitQ(qy@+8M95fB;OubAlUPX)?6g6hHK6eOg4mEMd zip-TY<~4v`f}A`gC$BNto|+`G^BR+#*OctMhNug@$Eh~!^%SY)4|xS98iAr)|6tTy zZpZPs{I~N{w_c_W*2Hyq&23KI`sjn+-TJ7ycGjaVb?XD`*;)H~)UCI#kELOK>efSB zASL;zTW{RJ&c1FS=f4L$C$`an)U6k6XlMBw%5FX6px692kh=Azh|;*B?A8NYV*VRQ z-FhE*_i8A+^-u)u45V&73Ep!X%5I(S1c+{ZKfLxfq;CB=b<^^Ds82rX*6$-mD#*%? znw!gY&u(4q|4M5vykk#*@(%f_V|O%yY$NK}>w*bsM9n4Sv}`UZEwzsQT|R0q^ATq{ z$jL)QbIH*dbNI&8Tw=h4H>T!t2+S@}KsUl$m(OCDWV?0RXf7A>nI=!>Mzg`(XfFL< zjb{C6eb(1X>)J!}Q=`e-1co%BM$-gLqbAg7`hn>KQg@$DyE0W5pZ4t9xu@vbWhG>+ zCvp0(;>fQ3JD?^t;Vacv>D65C{(bVn|D}ItmQA%YF!{;R&f4$G5W%iftGt#mdtbH&p0KaAbnv`LhbB%Gy1~vyBNmXPn_~W+VmWVSDKSe2}fk7$CoU+ zO)py5*^?GzQ*cW=E8dc9iU-pTq^>!VwyJvScCm}V^!Y1J8B>UK?}6m1mQ;EjkIJSZ zxi6^nbUS9X!g{e4*|8tY-d1GCBQOtI@vl!uJ?-eD+fnVPK2MK;9dF{4vR{%NUxe9N z#xTl*o`+?*BuAR^;3>lIgpuye;dZt(oOE}Ju(K$TE$OhKTm8~lP%vAp$*SC6>fim; z)Z^*aHAnf1SnD5?`5`&|MS>%7fn&JswGk~tBTm2XOA?4u@c?VmctS|F2r61RnQ7<2sh-xnEtB9Z6f z6V;fZ%vzQNOFji;JF_Ffp2fssJrLe&FDTC#~L6brC4w($fN?FbKi~1I(^=kZ1 z*-8IF{W9O_vGOZ){GZs7a+EUdNR=*S+L7vHa;QB^dF~GJYE))w5g+FBF;?vU1XFJ? zjrv@lg=0#}ouH4gu{=rzlu99xcK-5XY(H@jGRn^0a8Ggm@?-2|?)f7;&x5p6md)do zwS=ynvTPEkM4lrLamun$obvXp=8;)!GyNMYc2N?d?QAe8v)E?(PxHJCkF(rUY%?)! zzon2HGh0w*vCZV8c@Bg}Z|*5}nKEdeXW((1dx|X}Me_`Z!3+pgEFmfbYg^ksj*bOvdsFMZ?0>B}s!cIEriV0y(-N^}QL z$$T*L;wU8t!R(Ktl>7?jc^suATWe%4NZs@Qn35-YN}hP9q*Pp?1;r>Ot)VxzHKk-M zn9;2%CAx#BWIdR*ttlm!z+7leDfth~$JUgR!fouV07%Vu;r}lsp%?UzRTsQcQY5ZW zhvJlyUeMdK4W(orm^p1ICAx#BWIvd_Z73xVz}#y?DaqUx<4apgNhL7lKVUWymMoNG&^_y)`$ZK)Isd}C+%zM)cV0Hz*DEp_hyrxdqPx6h9p)GBFwbBaG_ zjCTD?dX08s`WfVPI>LJ3f-wTJ-1#EW%ZJ3!D_f;4bmt)?X1uubAP(h+#2gma97Z<~ zaqo%?5QR>OkpH-&)8zBQk;lilsrXAQ-Ff&qR>|0uj{!Aew95=r`M^>$M!Qva0<#*Q zTI8tR29DY>j!u{XWnB0<9Cc#E?>b~m==xo3)kFx>r*3Jf`$i4f#6(FPC@aPv~zTq)2hHiM|{Z>c)SE8=*K>b&u zChMqEbyQod8PyRhQ4i~=*D=f>(cVAxxf&V9G`(&oP^W?=Erat3za-G+OgMC0uDjhunq zcZ-|PtvlLTg^qFtcHcdXdlu=8HVx8hb(I*p0aGbPX}v)E#b9l2RwhQ7JB>WV+^kfL zQerWAh`Cvb7-jt;%|pBF^1v-FyIkmk0lEu6qQccabc?#Px+}&GP-fB29%-HrZ(62C5&wLQ9HVNPqZBUSF}ri0dmgd)QeBNF7ZvpRin}!NP7v+D#e=>}N4&b1_+VW;izYq=qLa9Ii*&?oh39LYe6X2W#v%i3 z|C#*Pnf%8S2p@!=>i(ibPyOVTlj(KkfwYZF3|ODCI;?tfNm|>Og)bLUs4Dre!2eKz z%f*C7Mp>Ba2L!qH^FJy4&vHI`&BdQ~c6JvYN@h4-_Or7~ASDkRLkHMd9*|NDj$uPE!hw{EaP%92 ziUCsUz|niOokfF`7H~`)gPABu;TN2`jkVm z3l$k%$+!n~p%AQ6-l83B$}?T6lbrnY#yfjUc{P7fjEwwtK^Fv;u zcI`4B@X`kfEoJ3&Rf#-hJz|1ZmZy|W1N5ZbbmHg~m}4MkqD-N>$IkxcDXd2jbIa@B zimYQjQYgMvMpCp4>>}3`AESIIPv0u%0IJy@`uGuX(9W71ppPH7ez3D^AhjxWdgc!= z{(NX;87%B!1=#cj99hm_77P-(IA*%6{$spzv44!MQ3cAyW{BSaqzO&Xg(i3l4T!NN zNTG!gNa8|83qx%%Y*2#0T!+`?GxViriVncT`PeHG`}tYq;#o@Ub};MCQew-Wv$L;2 z)`6zPGWx!>UN@`_M;jWWw5dqnmwH2{+d0y@Ue|gE@$~OYM-aa69BD0h9xd`bX&nrv zKS-ULP8MrLw}mhj{D;nAG0M)0RCKQ(nR1?RBd^$5%w@t2xoc-%gVc5NJ#j}!*kgK) z2;r~^F^XR$g53_m{&xxXpZh?$Pq4|q+Sx*o8tY}Q*fHl<>dx!d#&g(_F$LRHqAPVj zLhw4s$wS1Ix?;cCSz(ZBOVp(386tH?!U+9bS@uMk_bD84RE&}$4P6e|Z+|00r~hte z%U_eBCqLNPQIPe#DgD|eRQW_%Mz1*D;h5r0zD7^XH=&%|M{HLw)c$EQ(ZOT;m4ysJsl)d2F9b~PzL9*C}-Vz;HDkAsy3iQSfgV0v>0-);F3%vDf8 zO~U!Sim{}bNq&5V6S;oME83Vs$+S9+sbgij8&DUZIl&MOZCR!bA zJjlsIgt`-OZLpF$pNtOni;dKkvO8Edkb2rn-3VQsR;EES^tlng0hSu0OsPs`I>O;# zwH#EYqf3uT;m2;y_E%0|oHkGh|LD zaNuV#$~Xz!r4agnLIi9t;$TgJ2)ImX2P*+m2PS&~KN)W2w@NYirSR)+)oBV-ZKj-8 zNKSvp3@gi1)o2_Y1S%~uW<2?}UO5V6(uZp2z>Rhnr`&zX9!#WiJ!RgPAt z?E3>S2fw21>sj8x_LigUt6t5)s({p~p4q4U%sgL<#{+DA2yBXnV+f-51BskmlPoKO z7cUG@-2^`NqHt0bOs&q{t(V#I^y2)ThgPc5? zsC2L4dJYP>OAuFUSd8Xmotw7Wz13|$#C2tjRm#*P+q*SE%A1hwD?%Oo*&EIFV-XH^ z2xN^l+wRZ5k(}OGv&Aa?YEo_a0H}W=cw;@X%4n=hYf@uPGB;NJ z`;PVQYVXEcQ&$(v?=NPL4a!-I@~uFmgXN8+d}{|L3gqO`M84gI>oO>y6+t*^8IASO z>NL65eU{9%cyUuQR*A1gxz;HPBX<<#+K?D@3vSA_TJ0RHI!N8WBAv#{KXD}kEV4Fi zIswNpL><(Q8tcMYvU*ESZ+CfPZ3k;nPVPqhZS7=ZP1c2yy@di}ZGTE3YkLRF(4IHe zD^Pop=gCztA@KUTJvEyZIsgyn-_W!l2Sj-P_LSIv!MtrxiS63K!8(Gh*;b})tfzIu z7{5qaC|0>%n;PpH$Ru|lt*3RZZG26Q)wd(sQAg6+3{0brq;&?E$so1xN{=k2;Y2IE zE3@QCn#{F-8LO12Lxq>2lY{*zk(0Y%*4l-T&-Zk&A3*BO6=}Nx0sC056BjvbkyvGn zg#9ueg7E}9t~W;6UIg2Fpo8@Qsfwq;+G2)R>i2r3X8fXM+1Q}Rb*NHrfZ!UC_KAQ8 zi^}{2UiU!(nPzLEH|iLl2#T)t_(Z@zl7>L=o4V9wYtNSIB&XMz^07)#U8*zX24O@W z#G7o~TBFIfs!L6Fg1O1+A5X0t)|#8FXh^g5Ndr$^%=PddIWn4g3Cq{Y{M~_EsZAF+7lft1Y|9|+T0^^ zyux#2l}Y7zbz_w%iI)tC!4nBD&lCqsnM`;u5*_SGB5wj|@Jj1=nfUV|^U-4`vZw`y>Zz15z`t{zS6->B$b^u;EB{eS$p#!S9j?Hgti5{q`NfE?nYZ zb3y7I?*)ZuGXnT~9XOr?N5v}NNZ`!L4)$~j0ncCNU{#k9@bXm-wg{wFUi-;OBbzIM zlR0q5SY@jO&bk^#t|H)pYaOiMS^^H*2nWde>ss%OEv4gK;Xo6}QCe42g!@WRC7|u#7thZ}=_;8wgT6txGTA z{(Rpd7;p_6qQ&Nh;{qa|-bG#gq`9(ll$_oId&k<=HJ}!lf475uv0HZa({!O}-a>t1 zZ9hw)aS%x0LPd)}Z5!C26a{kwUYB-Lr#n*z;Ng5@LnJq7kAns7q2#Usle|Y}-(F-N zNL}xlTU>_+3x_B{`(0z`H+Jx1X=s0sTFzW zNxU{3Z$hlnOXB?oiR*_5ukR5Dt9gX*QjR&;I*^)u{U@74Z5=p~15ZXaN#HEU9qj!v z0-klk!8)BF;K`@3dIYIO)~C&X0ozxHJ;Y(BA^nXB_67tGpCZ_DKcEJ*E zJDFgaKi>d*1r*iaRBP`b{Kk3Gn)iZ(<+?yx zTZ3_ftSvpXYOj;)h4qRnT@Muxhtqr9$@q1(W01gU{uUz?2|#>u--R=yB^gZgQ#@=oezHyrH4b<%xJFW7jq z?#hT${s!qD4rcHT(tQBT9+3Jf$y2v+=yb;deOTtY@5L%TLP>Xyn-2Ep4br`5fwVC- zi%EClEeD%&i*#QFbMclOD{f<~xXp*|g&q~3D?O$w&BSj4-;Y%uNTnSi((txi73fM? zHj~oncQE(ALrSlJxo}4=wSR;p$a*ua(kr^s;A~u3tkSwUDeVA}20xP0o4V3WpPQ6U z{mH>5{zOVIfjRdRDb0Kr6Z5-#w&qpB#u4NDy6zBuG4^4sa!2ZJ0?B%JN%t?h?gX>$ z1qh#amvsLO=FVNxo%d(-H6ZoW!nCbR(_M0*K11fZpT#N>El771B*T6t-DUJzm}=HN z3*pm$Cfzr{T=|)FXHRvoEFg84mu}-&cV%67CVs#6d8~3p>TV9nCaI*my3qo%n{-b` z`1n-PeF4mwRMP#~JqPmzsYzbChwHlQ=(^*%?iaC2vzDa00VM0(Bi#*k-N|O%qY*yh z9_c;_=IA}rZM!eNSu=Ib!cVp62FbEZyU2B?#wzEe?plzndY^R5cvhBb);$~HiT6qO zO)yvQlkP7bI9OJYnsw=?m%S60>NS|(;7yFN6l_Hu>bH>X^nj3eg4yTABjxf_#Gh2!&q@YL0SyM>uFb`DTnc7}ZIDd^SPJ}ln$p!S;jo-^2?jb2&m9rh5 zWn|%sF!RZGiO)}d#L()Qe<#?d$6~f|vyE)JqWSxjX4ciSO8$U=XwzBWhtb+uU-1g}!|4Bv)4k{1%IBN!fT``ad_M9k#vi}8Xy<*8 zyXm~|qiF3+ZM6=F_m~`~BKX;0a#Z4H8=pj*&h9>qHl5vl9&I|i`y$$OcK6q4)7jnM zqD^OaUq*kHLH~h{SJ9>)=y)A%I=lP3=E%F;ZDAS5*-srT z9;6lG&(U<4^`~ehd9bENJIs0`T4~&mJj7wvE78hZGDJJfdMR4zOCH)`*4feGFl+AT zXe1!*FzXzx0Pe!$Jogk8X|Cp(`~q_=kam4&p5__-tAn)w6^qZUvdwYw`09e_?7L?w z{HJFu=Hsgiqdz+hZ*hGnHMcyznj9^Tubu_W9*}l?b!oIXzB=nSEG9tpLq}`I%j2ti zW90$T?a|@@sr{t`qa&te?I@-^q{*jc^}|PLo<&LgA63pPxVNqWg=^M&^h(f0}GQf0|rJ_WXa3G+;-XVEs+D%{Tnj zhNF!5#=3%ctFp{h795~rSsxuxzcqEMVMuNBm(;D!05kO^b*tyVoPJ5&s{NINSzb}M zS_e#xSA3fgXkOjwIZ~B=x2h)&hVj$gov6C{ur}PVThXD1`dgT5ErMJN`Jd_0{P-9C ztcJd+Tqlp1?R)q%8=}c(I|#?U{^U3X$Aht&Bj+VJl-v08`R@*P_BGZazra!Bjf4I2 zCmesm5%A8z_Wlir51N0Kj}G?W0~~&E9Av(1HAu8Je_1}60%2Yjcm9uUE!t0}T*wVfka#UPHUKMBka#Wl zIhdb8PA(%}3+|T(z##Eja4MLqAZt+q7mpk@BS-(X=Glg}EJ6=pjWk8JHXm#_Y||1n z2Y&*1d-~G0A1Mxh4(UqUG|wT8rIsd6r>!8zCx0|$Jei`f1fD6`+)Ar&XuX(}*Oz?* z^5N^nKlA&tp&+qd3=Z;T#X;)VWP6(LdNXy{6b}2jTUjq*7ecUOkc2Jf%MywatXdjH z1yT!o!S<1`3w7934x8PrWN1gQ@er(BnqZHW^<}Nf66~5vzH9|Zb$Y?_vDAMwYHy}| zD(l`J&1(W2FA()ENSOo2)XKhWG)UCC^Lho6oc?hUEh(-Y)w&E-eAx%cXhN5DA<5}g zwTRm?OA0lEP@^iol+GKvPy$Tz33gi^$aGFbq_I^fo!7uzszT|^_O&m|46~tuhD*E@ju+srR2a$i`4>S=Akhe<9v<%1**)1KtIB6i%oT2pkr=5QBe(l2pD*Cu z8?y0S{=pb8`CWTVKXt>in$L7HzgYaIAyeT#!g}&XKZBr{w4N4cwNW+f$k+ zS4AmQr8MWN=F5DmQJU|8xdT$Wj`b*8WdP$x>Nsu(9anO>WC2ulTWWS79VM#!vSQUq zhZ{^(b!i1d=I_eZ%-0x_d>v=TN zJbDOCIR;2gpi zK$=Q5^ks!XP99BYng!QXP{2Zh7}(jUP}Uuz)8y4QJ+DHzDz{s?(V6nf+6Y~8L&~f8 zCcdm>6UwXTP+t}fvJMht{hnkgPAC%W+0d*GOhIEkUukKY?0+m+<>e!Q*Q_GK69 zlAj=cYN+hTAL&AmyoJ7T+uTy9QFC8b2gHh=g4$%B8>hi6fY%(5`11Qy2jJm+)ux?J zMEJwzl*(=`d|CSzl**f6u7cEkBhuCg`s|!(ptSEI2kqomYIdd1&RJXfGQXCjT*kxn zxsYmncK!z8aV<&tDlp4hlJdu3?ziM`za*p`m1(DZpe(w0VES}*D>J)N(S@|~Ww~1s zZr5-$pK!vx80pK-f~+e%ijJ>slYuhwTNK?-a5$q7CyI)$sh-NF1HDQi-fg?rl}e#C z;zvZuqHCcGweS||<+gqPEeRckz zPB9mqz+0+Ug^L_-uv=Lq@kTL78Yo$Tt`qpNGrJD|d{tAlGCDBvbR{N2sy>h_FD)78DwHHC0ZGu=gdNlmW- z^J{z3RH6gAI*>C&Y8nbxe^7vBkOuKhcl~>^HOJUAJzdU0GLI6trrB=GsqU0Vw*Ygp z1Le`1j;Kf-DUULDMgl=^-OfEJpmfon@gs<_Q{03Oai zGilR0gpck*iS_M@DR);&>;N!*K-OS$g`norOE)Z25YUp{mf}6Bxom^X#;&Bbm##HF z$kbeXzV&4vyOP#AaMbvgw2lQc5~N-oolaX7MVFu#T?*HY8SUtvRCGrnx%XSbZPLw` z)#^sL7r>kWsUJqAv#z;SJ_B1aNY=en4!gpg-zOfhmI@h|t2^e$AfLYxuP2yqx#Kw; z8^NpuIk}ADkGP-p@MU&Tz!t*$y{EA+*IXNUqo_W%)K=3xQTz1_m0T8C(ktDT*mz1{ z43MLHPy#1`nb3n0xD`wa$a-dwsklTfx~NyUi{7c z$9cD6>qRA;t0zjgCzY^_mysnDF_rLggfHqzhWf<&viCj7P&XVcLDpY~nCq2LdULSs z2@i3lC)`S+RC*X9JL5^IjAv!RMNLX8_QJZj7b#5vv!)j*&EMOXdlbv8s+kv7F)(`%H+gE`)x zblV4@X@RUa)7FMqUFjjN^nzQNA(hsGNc91v^c!92E3?vJ2p=?nlpY4Ne*h`<8Hnx& z4mHIq!N!S^&bscvlF)t8t+@J8Brdk~iP94eh6IzF#75v1$8~9DHkbNIy9xkQ>nU{zmA0 zk5InxZlT!--zh!NPhUBC9V#S4B-xGh4T(KgvazZQrb$4NVZZ5M)30f9;x83 zFI^pFfO`T1I&(iG@DFdzVw3Wf;`P%^eW-ioJD>pr$eQ$aK&{>Ady4i<(dzvC*NP&w zt;^y=pU4t)UBTXBc-$a@=G}{xJ*wE|{sXZSg zHZ(gDwAj$>6lvPf>`V@^q1h$Uw4vFR9AZQBTXKlUh`Ny;@fcC}NbyTX8O1Lc_0U4{ zZXPJ#<+%|_@A72yGr!9NZ|z+k<|p6fxinC2Yo2L`%8k!I^ceqo#PErdF|30S z<8(g$4pEfYyJLBC>Ry?oS8;f0l0i|z43@XL?p0QL^%*47&@hV9@VCd?LJgxR4X^aK zh2{*B7PgEsTNtiecv?s87G=>;pLo966lKv+Q+3oIb>l{8fh=#P!4hVAlud)V=>aoc z(`Z*N>M#Wc%bb`Sl~vnpt}|HLyDTc3$=;PwzGQEtF0?)>iR#KW*YLs8!n2gp zyvaKBPf_N5=+r3Mht7LdPs4MW6{kGX@LXoaAw3Omb<{sSQ2)|V?L(v~N;G9wZr!VF zv}PSiHKiD=&dR?~mF-#wkWyK}Iws2oxeacQ?8v=K4Z$=PgNU{bZjT(!J)aK8yaS|d zgWDr#i(VlC3lEUiAB08HHh4=g%gn!O-Xu~PH^=;|<_#j1V$wrwgV&2x*3PD1H5Z+b zBT{UGTSj59AL&cm;J#YpJPFU8AZ;7msd-KujmZi~d%npPNzXT>B8{7e$^Gxlk+lCE z;<5kjA8G7=hgMN&|NHYuvH#s<3}!4KZT~xaq}cz?Iu@%^Q2o%gn$`OL_fWZkT{Kcu zv`L6H0i?EDo6e7yzg?qw>igfic(5kE8KN7xxIGd40Has z-`my`2gCS*kd<@f4`^QGhBb=}Ph4+duJ#CWMesij@yDks{xlvB)5h}+U_{K;8$NHT z(&rokhcX6#9!$il5Twk2qu(T~dqK)#I7&~(44OOE!!doTFBzb(#lGyvMR2@>qjNH5^dQBGVdNZ`9o&%x zj)TiEk6#K$ARGfWV)DHKjuLPj-Gw&46OPJoTs-2-ZXbrD9vsEaVUm0nj#hB|a~)*^ zQrg0C;wC1WpzJ;15U+OZGcvC_GH*#_@!(PNQ5Wtb9(BnxmvTve)MY1X<7$w2)MdnN zU)B>O9(AdH2g*U>QJ0hug~cbBA9V??p|DH|^r*{g#Cv(immYO#gCOy!OO7A0pabRN zkGi~CrRff&B9Bg>2VO!EqbbPx-zw9u#jC$kf*zZfH{yYpWZ-WdNe{dXgk;|zeYFQ( zwu0FN5)Zumy+Quk@ZHd08})KAgOS z8NdESi;jT1$k4mA=%@px7Dx@>==pP~;&)O)$dev<5uT#5TwEn}g>YSQ$BO(pGR+e& zGE$l+Udqljl9FXqnkQZ!ukuQ%>4_Jy9P2Pwc0lo5`@m>r!zfygtwUNm-=*bghh_S2 z{MJ^CC0O%&zO2zb%8e~x*50Gs$a~+H?5*iziv}teUnYYfAM95e<7QWfI09B*_7dlFZ&k`b;5E_-F?#N{)~kJ z(`RV3QgICFj)ru_C#3tVt~;Qj?Z{sw~Fq^&lCT zJ_*svMyY!eBnLku-8+_Q@$4+Pp-Fe;=f14$bJG1Cn3>N>xAO(k4zg}E>Go2ZktG7m zXJoWeWGpEi4Ur))Na>-adhcOY`Vir%FGy+7ufD9{ucWjqnD!v`=2FiDi|-KPZKK_D zCFX9u$hChyTOtcA;dbyBhjsvE8%R7h^c$F)+`%6kdjFd*djt}X4Sjs+%YJ#u4_*+M zd~B${@wO39iO)R!cc~j8#k(Vww_~YesqxyEJ$*%~$@Uk(-%x5QsZLf7q+VQ}w%Ur9 zhMe={?{-U0e`#n>WT9%~EZR#$y#Uga1AR`hyk8pnS~oA4o3}qwnKO>edkwicAYtAc zhm)PNJ2mqTXLqvwAT>1|^91bCc`~otaM+`f$_okGB!`pzm7QQ;2RPZa+yq;xC{hhl zC#+6eY5j*_tW5-1=kfFk!uxr08$@#Yw`r_BOOB^+)4hP$6U1zj)@jlBD+tl!sppi7 zR&7osm#S9hdM&Q;aET*Hs!Qcbx)m98c|2_}B>{dmNNh0O1altbb^#n-dnP9YRR? zbTCsv>W%g3jVa>SV)POW2By!mNaf)~D!~jjoNTMaty$N}D%T<0P0gKb9mpEA#?)_$ zx;I|0du=%0o5-N1lc?@JfyBe+RQG~fI9VQ$lSdPEZwXxUKmiL0qWUDG?oHibu6x=8 zaJuD^(>uw(A`2XwM4cpS>16)`R&|EOn4^HylqAnivX9JFve6M#HSg-BC^@~B{TFG=GMQ@GkBEOYLRQWDy3l=ZAr@t; zFNH!Pk^7OnYChm|f1YIz!AytOWYriJ*Wp1aW$raiHT3WT+Wb+W!7?WrdoEV|(B@Y)0l`0P7P^w@N|r^a7D zQSWawI^hh)n<)PLdv$QA!XguCzEkTvne~#>N9l%9N}fbA*E$UeoyO-o6*d|3orZ}t z-}&48>XZIi+xqJ!@A-~fR~HW}d>Tgu9Z95wmH>Q_X*A|^2h$GZ&3tG0cQQ*;xTdC2O3oSb=1-!!J&Ve8)*>gH4pPspP20%* z`Ir4v4mJ}NXdoOH5cTvT8dTPQCwnc)>HTl3C|l@r-B)~gcAD>%o~t( zplQm%XrgmjH!OssMMo*aW>Q~WF4@USC6m_6y4K|8roMVK!bc>N){|h4CX-g%0Qf)$ zzfuh2AT?-1dJ9-_n&LazY*M*yca(B{~a`^d~+ z4mw$hgR(47qAXAHUqwx4`smNMmy!Y2bT+m6nG0kyl$`M#e3T{YY^rvpPobnw@m61Y zi_z*sW>c$wVs7>Nwv#n}i@DYFB<)=wb3T;r(ZpNB)V#;FVC;LOALwx3Ya8td~i z&q+y%-<<5=uNY9c66DXjSXD(I1c|e>4Vphjaqf)6cJB`{XYT`|E zO}uFQ9)WmEWRa{RA+W$_R+KIOJW9@GK=1j7lGE^mlNJ3y$vN;5At3eL_H>fNcTwX3 zRuw=>Homp^FJ_}3`Q(XjmR>|q$t3=OKOBz{l=?4?5nFf3td*Re?B!9uQ|3{!EBuFc z_n#aicIrZs(;MrGDBr_UXg&mHaiOB+pq7Q9$0-ly8NBZQN4@o40|4QCyH?~wQ|4j~ zK_VZ%12dO9cs|?(a~-5!-|f{1le8l-VxIG1kv>>(*rQSQh$OPArjLtN18HSZaIq|l zcpmX|lzmf@>|oP!a{VnWPZzc`!e4+>N`_Ryy_CwofcEMtH9Y=*r zHGYSAxxtSGBm?E=@AzBQyy{w9>>rg1r{ZGSqg~{h&eE)=IpQ?2kd{SY=37Y1&tPtW z)VLj9HI}Bp{LBH1P}q44O3G+BzOuSlagg=_YO($SYOz-fy&GjOxj=q^Li`~hO=y8G zBssl>{v2g*CxsqC;AbvWG!bfpBls3Mn6fq(D`}(jF3|yaI6w8E9au#8FdL=UlF`LJ z+9_{d%JTIhD%fOTE(S5%xgEyH)OiujlTMjOC;d!{wYzCZ(-IY{Cn}jI>SdJW z!Xir44Zt7ur$hy0MS*0YL|x0~Vi!Pap6%%-iXWG`2)F|%2;~+WUw-alfuB=-pSVO; zjfvhVd=q8QvzSsi0P%Z%F6;YLU1+Me(Ay|`ODS{<0#~?D(Z{^aMWMd`0wyTCi{;Nw zRc?j>fN*{uM?7eg9s!FPMYAM^P=I`o0{Z z3v!V1?{(#gQKtHC&FNwpa+30fVCv>1|q|=a=SIEHb>edExSQcI4ellP$Am|1J&w+e?gkxA97wZG^c?!pSFt54e z2pog*qHchEcEIsPpo?V!IXRm07Cy7!ng~*SDrR7n^0`N7f7@7g(P_UMA| zmeT6;HDsT2bRHsBpVbPvSY?npIoWgdX{^2H=y-`7FGsWzx{R`ACM1U!B1><7>0;l1 zNtO-{a^nDZBlz8U57oyVS}S>t0n9%2&M!PY~3O*R+!s#FxdP zyEx${ftggCaO;+Ev6>+DMLM6n1#EvkZxT3clW5BqD+o3Lf%u6u8g48n0 z)2WWuN^^~#)FzKr@N@KqSJ658K>hUMN(zohWvsy}Iy2ATaJ2INsXz{9-AFOS#fKZ@ z;Flx1uacJ|Z12dM-*}k3$~bkU-9RWi&j?+cCN$O*dRPx-wjn0}TPFYcCjZwa|DEK| zAB3^57H`W5|7hB#!a(8qfcf0WBI(*rce5|b*7Ll9w8SN7?zw`t=~I&yug(G{tJz?|GL^pdu5ZqWsTt< zz0gQdu{9pg6izUnDLlN;u&K@(vrX41q%sEHSQBoUMTSH_lYbQX?}4#XG=HBm%yxW{ zk+c;iWJ1;hLJ@Bw@-(sUAeAb#vg4^=iB$sQg0nTiVmlz@C zJVG`tF%aEmL^4aOu}x_hZ1UX6221%w5$;o#*$z@L-xHg;R^L*$-8PBsTx+_lqYERo z?@hwj(xj>6QX}+N6Lf>62DJaWPe6Ay2?wt;-}K?obCw!qRBxSptI{Tq@AB@WkG$5aCF>LsHy>WDVz*fUQdcFBt72l>RUB>ioWcf0tcOzrVnBI--QO5jk zq^<58!<3`mrid&$;hjZ)QIYWbOs_Q&tyfO>PSZA;Uy3Ih`0+ z-#9BUCTL}!`ix)I-+W45ahVVv$-SF?g+&}lyW%n-Jf3?#EQ=KaNW0=PA$**;_fp=) z4uiD1a5bE+xLgib28`6+3DvH+oDEmL9zq`Cip!~RF9E|auUYF)|2nt`+{E|WFSe3jt=(yq8n38yPAnVzd`W{SMxk{C``T-tbC zahVZrTyaTwE}wXu6E3c}JObzy4lb^^%ncV;TsBm3v1Oq8ArmyKL;o|Scrxmvq8>M;jJ0x#58>iog znfzTThW~Q%=T}@Br@t&WLk)lRwkf``O5#^sWMQl9 z;&XljK0Kh<7P{in1F7u_5?5T-fmy{J{EEwCF!#BGUvbG_)y49F#1)q~Fwr0#h94&__?`Mf&9LCQclW`mi;9b@76I>d!u4UU;`d{@)OMuC(ia9phAV$(p% z1~|^vb+K&#jcjyoP*zSxr z{J%B))w|<9^@|bGRvSx(4L+|Ul#kNZ;n38%JJ~9cGqS`#O}2LHfjB+L))X)sdXTNJ zz`Ovd??-#;*4}&I$8~EDl@(QT`f=S75e52uPseqGdb-$`AaPu`HJC=+!H?^P#k*Jy zkT|YeqZhgmklL8QK5?gE_E1?jF8;~idW=wh_?~KF^WH9&vp1#YbUzns-j7ma83G2R zrjAUT8gZv#$x!*z8lj(Oq%+M2^`WKJ-Lts0Sk_%4g~0Bx}`E>-{}9-y5L zW;}QB2WVe|c|L}JWPd{s(AFI5VwFMS0oqky7K5y<30yotJB}QG?KItOGgds-X{N~5 zspAZXZ8*(C_ye@%cBLzAOPZ*~;SbQZ+Lh)3+8q;3ozm5bUJcdz0oudEWSJ%KOsO8B zT-!x?U2z<8a~$RMHxp5o6DhAZOm(p}Ahmuvjmp0Y2Bs8%HQ!BJdw=U0FFF0oBA=x1 zrjLXVfp~u^-`ZLe|$aq!VTT&iPlk)*JQpuM~4;G^#} z^c)~@@Uan?8q@e3;Vr!+b_A|HpnyCCv0=CIl2{#5WWMMzTpwn*rici|e-C9|*mR7C z(<$=?%mn64%DgUfU91C0{X4zP#m_ zz`soWZkl43`>K;pWvA1wIc{EY?2EeB$ zC}0sm1ntx3>eg(NJ?b7GIZ|}X4{=R>A_}bDN2A3}z+4A8d59P?vMt4QGMR>q&}A-G zei;oJ!imRAw^otrBCB1j&}!NE!E^wr`6hT)NpZl6e_J>NurCf;Sot#> zO$V&<>a#ia4$7uQSe71;+w6c_vYPUupdK&yovDrdgz#IdWnQd7UaXOM0VWot-kXx% z9ED?+8Y}Zxa=B$uB}Q1(gK}sF%DgplCj`uKspBP>U%8G(W7D=n^)vFM!&cf9HW&X8 zbBgjPp47GA*|LkWMg50D={yxpeYwF&ddalmnYBDZStgAvx)#fswPfV>b!f-y$jIL| zxY#q0wY|Af`}1!*i9pG82x{-bQFNn=72HVKy=;V>zVbNyTaVB(72$n0l9p1N!E7ci zRkyfUr7e7hHr_KUwADBN>brA<>_QH4%uNx6h8&_B8UrBN2PAH2>;SWI3vcC!CT?it z-0EUkKmoT2qT3DZsAhqIzv=v=seD?&I z@rfMvL`2~~4pYVl?8dBkH)VV*n3fIt~W zHJy&IG(18HD6t1K(LI!aTVPJ_p#&`2i`gzneLeXT3D}n)=W^^lf2l8`@R1{wfIASp zvX>H2bss9>K0fhzPYD>K_widkf}z&qi4Mk5Y2Z z1N4V|l$<>KUF`Gyl$=Rm#(}Kera{3T-FGAULlzRQ&ApY!t+`Ill7fR$7 z{1u@TI7S_D$%E(_4w9uZUPhMs-uyNu!WSJROMMPuR6a|Ugp{rYvjk*4G{#VBEi&bk z7Gz{?KEi_EBb1!S$%6bxT`b2@+A;4vM%HY}WuiRQt(k|obB>ZVhrt{?O4d9D^UG1b zW)wU2Jw{6`$>o>j^LK=@QR??QhMIhg^bgQwB$v}$e;LFreT?+Sf^i=s{bRw52B{Oh z*6YUGka8uDahm7D9}!Bq6J*CGNUo7~yw%5H$$jB%$9u$mC+#S79L@eX+0g_{BaoWW zYlR@r4q2ZLF&22XU|K8lqXBJBn2rWy7?FcnD^jS~m+nXozIiz2gnlew3VHKw>17f@ z-}pai3O$r2^pz>}<_Y5?jNdTB|CPzVxXC}`NyFbwQ#iht_vK0R@2>DeXQf6MhTDdd zgRkf#PNscyk#C}Aqz;MiwDvt|dV`nm{H`GqFz1Sy~)S4L=$_HbJO|xxH@n1qDK3LiT$b21$=+1>N~kVY`A6#6C18`{y;AP$}BcsvxbR1vwLq{Yye36$+T>mXXf`V_VFKhijCOpn&*TM zF7^-snZ<@|4$X6-;>Ye~@MD?9#%xZ__?!+u_MaV|VuSVz&Cce&eyjp0v)HK3rHR{J zer&B1o?^o`x8|9Y*^eE|1W&PX8=#3l%IU|>fHI2>+&p380m@dn{8(jBX0ef*SMwZ` z+mCeyWfo6W25Kgy1o*KHpv>aQ%6yvVZ}51=JyW=6eoee)9zXUaDDz(KSwQogkk^lO z1!X?LJqv2$Zv$Z`D03%XTMC7V9qNDc`?0@4nTsufonLC6%?tRkMxe~)xo2UmjP}7} zG57T81k4~U?Rg9NvF8Qh>Exb8G(~j^`>}GMVj)XZHs-9{rfwca+td|3wyEK*ZBqx6 zx0st02#|A8$?07GHcV`TcS1-zkeGCg*A3)xc@%BZf$&8j zAMwt65kFQ1B!;(>V2*;+^Tj-ew_$qnM+C^>bA)&D-C?!{=P3D>qJHcnkXRNjG+GxL z?JX1oqqsm92($ws*}>aXmhZeQob$49f;RPlXd?E}THUaMo4!C>&UsyygH*{Nk8@v9M&=w)2tI_e<@9u zoNoHtFx&MDl-}lmXi!q7cfKw(|4Xk-`is)L1Ccj#0akxeB`wZsiW7~r`-&4K|Ax`& zhty%}%Ss+!Jkg)_`T5a`?^QPNl0>nE>nPe!o>Y+5g(9AhJ>2r@ zqI_GY6f7!5`8ZXNm+-x5K~W9il}k}Rjsi2h6y@U)Fb6|VFnal5(h&-#Dag93f~l<3P8B@9BmJ+rlZw% z2LQ8AFr|EYVY$-ead{MB)j@=B3?{2ymc}4gnyi{$#*a+~S)Z7#LP6|QS=eQ%s+gwg z8X_JqL#nnHmbHq<p^P8TxoGF8=hnN^o9JUk-}jshUKer9k2%w z^ag^DKu#W#?KFI51k#%CHXOZ*k)&*0dAkY%7;Ie$e+Ue9Ih@hkkL76cTo=f?_xn13u>35!&g%7eavqY1nliJ&SR z0YUG1PzW5o;T_L|a{UEOsbsHwA16OI;R6EZA<7&ct*Grcv{4`^PB8o6wWl7p431*O zHQ_=e+>Hz8LBKu4_!(raT-;bFGBqc;&YLTX{~idW0{`qa{!?9W*z5Z-3rINyM;$OV zxCcK}v9_WticE`96mJidZUZ47eyCz3;tT;fd5Ab%aUQN8I1E2r;n%>AWdw=C6}`c9 z1qGZTyv)~(!%6|v#qk3d<*$9>WzcmYM!M9~~oA3r!wf;k+<8z7=(3xdzZQkrD; z(r}cohCj-T#G&OI3FgpXB@#@Ia6gt6q@E=;4UcPQSNdNZ%zxdXG+#kytjZUqUx_1b zfp$4jicVZuC*uiRQ_HX*=S|X7Ji?C!MUbX$V7>u46QrgGaNPj~)FX(G zH%yy)r9Cw90&N)}3-l1z6c(nmyGaGwKhlrYjHCj6=!U~h1^U}JSQmlRdBxHxP(Iur z)n~?`e2U&SO!@gH4fjRc`LTlSXk0j|&zn<{O~d_Qg!gSns(%D?y&b9ks=Xg82~z*{ zQaxO+qo)I8F}>otzX?-H-J&EVL9%mu!adc=kCp92xD|WA0kS5T>L~r#r=CTDOM%xR zOc^2Z7DJ*(4~f?cbCh0$_jZ6E`yFIWDQ3nSh06X?w=b0AbqotDbQ^d}5%kqSKUN&% zGaHUEV1|R7JX*F*@ChwLm3=21<&Pbu%6>^Oy9O(F!CZpGIgr{ck5^?sm40PUPFvY| zs)O>%5=`b+b_!F5-lkNS8|24qgDBNihGNtnLaEL&%8$7~>d^Em2Jf#1=ardxk;9G( z%Qycg8eO|VFb3r0A)>RIozHu8Ejb!Zc{Gi#UB>vaW@Bh{oi`Tqm9aFsUR;L3@eYly zJH}ziA4j8WXg>K_S^HPu4vntC<5983%h5G?xyq{Dq0u!Q-mS*VAv7hQ=lI;=4h^A0 z5M|JKIS5|_Lc$#ygp=XDc)T24N*O{U{LTK^7r0(*Jsu`4P2}1ob%aE7`s;2^u~tO^>E|=SY7iskiZ=DmA<+L zT_9kdMlnu)Ou)2G0}iJVFe`(p$P+>vcmmVnXpnt%<%wc-l>l^c9;<5tyv9wldjYKb z>iSLbe_LI}jlmE(8!qKl>ziyYeUWC(bYwAn8qJ!|E6d$<#@B{f)A}h8_9<1rJDAR& zQuTL%`2l1Lt>UVF{)?_#)(4sxUm-+cZdQ~dHEb0M(=XZltt?E%8Fp3(Bz|}ZQ#%mJ zg;SkW!5%>O-V7>OfthxeZzdHi985!yB`L(qi-njmSaG#N@p62aRO0YunlXmJvKuIX zKM@_UvV{AL(K-$9?`bq+?4O0HU>407^*+PM`;2CcjMWyFHZOEfLSKqYFfoEFm7SlH*6Xj&M8k6EJ)ye7@JdjYNctg*eszs(vvyXR_v zr17dvN-A;h8V!&c$YKmAfIks=)hp*dKn8q)RrCuQASV~t*_H(~K*APba4ez$lD5{u zs$Zo6GJLU}^|G(hq%K|3sw10-dgg>AV) z1EfBZ>n@Q4Bn^*_U7-Qe70F$e$N>_zjt0nNBu!dE10;X7>`Q9!RT>~`p|J*JEnUqx zK>Vs@UsA=dpJI4q!2j55G(3*M^6(NG9=X1>GygAXcucM*yCQ3yK0Im~pu`lYm2FFd6?lw547zfAK|1~&H z)l*aWdVO&8z9vKBp%|N&(%`rb=IT-!9J!X+Sx%7UdcEv}gSVRHNWJWXV~89a5`Zqw zV{lZ1*RW-FFMxF)9C79TZE)~Q33*G(9!cRp z*Hx8L%K;LQxT^B$3cQMf#8s7>U)k9{khrQ6_N|3oxX!@^p~Ba8RuUwxtfb?~lw?66l^$TatRkeQHIVHRzCpjQ^1mB|)E}Ue4hrB;1XBH1!)i4l zH5yFI)r8cIVAgZnZYvYvH9BQ&N^9lb2#%Ql-Ins1&DAg5N*^{D}Z? zzsl|a-uR83&HRP{9I?*MO0OdTA6jo`>(Gtw<=$t?nK{S9_jZ36+=xzWNRZV`YF zB6Z&e3E%eRPu2 zRc`ybie$TF0C3E04**v+0yz0!04#ooSkO>*rR3_+V-Duyw+YON-`QFGck;ImFsa`W znAd?>4YK~!(6C*%NN-*+Ji500kTmE!9mDTP^xS}>Yu_0$Jo;@I9#Yv=v&1_d7@qYn z7#4SqDwmRdB{@x2e05UEJ9p?5d9F=ZQ9$AVc@&sxT;K=Dr+jZ`13=;c`R2`bwh&~g zOU~#3dCuYUKbT|5cJ1h+QtBfHuYP)xx#?YMHcr>$=e0P?dx_GoPDRlZ>x_A__%g&1K;=gT@mixt{gQ|c>cmcmpGGCJg z><_zUyQqLKGce&~$j@)T*x4V)O>n#|$z1QA{Bh)0JFD|6IsW)J zJFE8_IezxLo&EJY-|uF3tbe}YA11$0KSZZ;w?~r7uDnMdCadnZvr7Bv!{lHvz4r4D zlbh(necl8)<0ghyM0Z{!JPaD-~q|ztStHa{}nsCahb+lL=`nY zw;IM>ldE>t@G2E_GMI^1si1qn`~iPZZqVad>!lYb;^4In0ePJ@3UY|f~>o%WE=C}HuGWf_@0@i!xlJu1wQL^xszq|&0W9uNi!=h$;10D&FEBko zmOPcSLr(k#Wl8(j_868dVL3>(N7#0>$M9sc`7yzA2E0$ZL$DlHNqxH7Zh+-pJpV1V^j9(|Fz^lFj2~-jiWD@h;_^s`Ab-=AD7(JML26 zmU|fF_bBgXV8TI`EpB@L4Nly8jl@zj6`nwNbce%eFHQwsawwF$yEW<*R@x*odJ&`_*UNt;F z{lpbw?OXa$k)IG}PiZkfJ<6(1nOlY*8HJ_&Xff9ti?v&EgAh}~CD;a+bbY>QEZt4z z1u)T$)se~AME!|%cy zB!M5a|N5!AAuybh`KkRqPhB5?N@O^Gt`xy@0lyToFTok zA-yG~^P~SQp6S5@dHMrN=eGyCKQnxw7GLPPly>#eq-U-V+cLP|-O{c~+uE0LWw9l@ zvV|WWqYDD7NsZsSI$|i{NlNE;3m!`I%uzDvTufP)neDj?F7K6fnN@!7mMfVf*Cht? z7-g=|Xnj`JfSLB?U5zq2yYgw?@oNl+gKTnnwJqcMLZl?!9BU`4DKl`OwfHSX#Kp=6gM6| z)Dv_3iOCJ52jZHfCw4+Y8=fd`JA9-krX%4So+vIAOx6>9{zBpZu*lY7Nl!>qBa1@=2@xZ1G09=AYHQ(MUbv8a25TRoq}}DP8319N<6l+BA|#c zYD@XEK-0fvl&yVk}7BL44c z(j`LHL~^PoTM|Rd{zEm1N50PIRFjclhCip8ECI9VIo0GBFh4z~n%n_%>p9h=zzaLe z_kwED5KR3S{D|TIO-*e1n(2Octh(@jTrof^HggTCwubaLL;4^?`fx+~R73hgL;6xf zdZXs9e76|Vdl=G>7}Cc#clo*HO1C_w!Ouhcsr!bmIg~G&BX~22&1G9x%czmnT)yN> z&MAA*lob31v$N>M{%G^QFQ^x1gGqZqy|@L;4=<<}FM>J$f_l;N67vd356tJ3f%!6< z|9|#eVbycy1;mVD?^G&lV)+757tH_fl=u6mP_54n?w7l)OK zw{Y!AV)du4J&FD@>vq@CdN9JZ&tN5e7Bj{drHWM<|Lf-^`E)#1%6_a!u2E>dSbhIs zI*12)q}ABOSweWnX5zyCL_Ae->#ujBSr2^bOf&>Ojn@Sh>eucub|o|8(SFTnSCZ2# z$}`(UowcZoMea(PC3fU0wbArppaLShW{E?2;&LP`0O{c}n^OiFFZ^S2X=Y(5covZu zWtxfPfWI-?K&C|yhJzXSH$N{1m7q09X_QO1s`4EKX5NkeZ$aTSNQA};2ryHp4B}qf zCzkl!Y}G?!Eq-NZb3r0BmhWpjd(8zN8mkwCuAl&JBSK?sfs_ssp|Og*v9r7&YbZGv zp|K)J$ZfW|MuHw_oZmrp8g#9f41&#Oqgi&qJvs zyfrY^2b4M9wRw|tN;E&OV19W+@40^epc^=4k#)8h4g7U`H9fGf zEbg{XqB%bxAzrt`Vc75=eqT)Hec?n-R>fjf(?|xT^C6*M{ryZ02U86(7@oU+~ zBX|z}{|*YvK?1?+aw!CJN2L-=w6hX|dzm!W1tbuB7|d^6;0Uhjqp=F00B$1?JQ30d zAc5c;U@n5JzveO^_!bGre7zz#%b;r=Z#N)#rQL;Kht(^BAKP6Bu445-u&-u7aESIF z2rgt-2upL2!g!A(*?ZmS{d>B?RZN zXv`19Y%*_-;73*$f>Z2n2ySaYa5YZ^vlBq@$pjt2AJ`;z4@x zd;D4$6%1g1W#KVi+wOoX&wcbrm#V>#SkVtIc;7oJ=LHK`2JvAjRwBk{tBgbzVF zmJg6SUp^4JU+^I;r*Vge6JjgCrKvg|U4+GHPyl}t6poa2q#V@BAeiGJRQJ_bC6Kub zgb85AbD=+kZ^3*862IaOBpZ|B=Y*^B7>9VGBhe&R&�Q`>x@d4nRK|t5!MkVB^&187<4|E&W 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%0D7J5MDTQ1 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

#@b*d8cBx+>T33GzZ3qE_s zhr}M84YN3qkWCXb#^%`OqrrXB)03*GW96Q*r!_`{^w~#=&L>?)p~S2 zHB*<&gO{x%k>&rusIwb&Q?2^$H7CRAN{F79<`9<33qRvG**QQ2bP8Q2OBYB@$ggaM zBv(cOsU&f9+vOhhjM!<$IUOk1AOaTsGDKV*r~5Po5QY?<(Q!kGJ?zMO-lIc?Qr1Wp z7VQYi6|}Dd=T*Zos#+7qww;Up++RDua{{?|HiM;~{wMbEi8d9b1RD{h_{JXN?Xud1 ze%6yvCE>ROk28zF2lj%fdW{oqWsH#WK=CO_g$9vrmol~5Mc%B;Fh%r)a(kotu4@sdjyLsZZE#h`4N6_d8N`C zbMFRT#g|=44;SxXpgqb#R{wiW=F^c8C?A8#*B`sDV}td{?UJ0Za`M@0sa+wdJ)vT- zbzSKA;j7HyE1y&#m+zvaRdA$sah}p*T>R1w#k74f-Ar6ps*KZl=D8FuRM4D3CQwm| z*g0m$;M@o%DT-l>46H&Eqv+HKrgNc`>{3I>H{-BbXCZrlf$fhAKG4taw*+%NxIf2j z6W^Jjkn=S?n(b3LMdQbl*>AJi^O*~Fry*Mys0_6K0u^Y|=lTzWG1gD6ekiOoD0>;W zred9L5hWYTyIQetkYmkF36aMOZou4YM_^xx^DsFk!ZC?D0l?7xv92HHn$3o$m1jVK zC9d0iI06R)%2reX7y@GJj##G-ho3poBb<#

|#C@1U)3=ZDu-#$zJTK+8TZ_&die zg)f<$C*stY;E~$Z9YL{$lET1}(=(dM{h-3q{H3f%W#)siF+7z_BR}l{Av>Hqt^trm z%j6`+q1QD_TFUCa*S{PJ&U<|OQW~mZM?m=}lv*fvij6xw4M4ZcsVp5NoBJ6AUmO zcgU(V+oq3oBQv6)6`=QnW&76Q9IO96x zY+`?q7fmmYuw@fcC#8I zJt6ii|49ud|IFKrzBzc`n}=8?iSgrx5!JC}i9db}U&1rWjBYBUj)i;fU0Lk?rWob7 zS+!N=#mTX!?TCBq>uwH=8i2CUb))ADIt7(y6gW+nMx>r}!n2rcPAcA;^L}}AAb~Q{cs3KE(+$Wopu|Tl;bfr`Ry@gT&C9>qX zGN57`t!@~LA!<{|r_)UF+>XIBMBare-Fn5y&F!-sgWrs(oTpb++<17pI*8%RvY}N{ zjx_TTB#WY;Oi@tpX_Mx|r|6dZ5Xv4LM830Eo<+r<4F8Zs*uma&>^U0s^xTxkMgM6( z&?rFz22HNkvI>&bCS$U2I4zJ%>VcG4rh8zYOq~Td)+4TiC2P$wJ@r2l{ z?H~m-?Et{TVb>b=s+%(gkFENX;6Qh@#=T!O*~AhZXg^ryUq;uMI%MGPHFW2J8DCs! zDPDMb9{FLLot?%)o38dJ#cNZ%M2E*Agw79%ajhQpBSpGZP^3zFzD#HBRg5G`dMHd( z458u4X@Z2xIr(>nmm$-umnr*lv8rR<`m+UPm!XgPMO zE>_Ae?M->yP0l&{9zx|RJnGaG$y!a$)sGn?I{E&n$q-;|?FrGiD@4uTGtG-oK;PvH zRd5cO!cPug@RYT`i763NLTv&=YRMZqXx)#W5nN-zZzvX(F>KcQ^4YiZyQxEd`6FKa zCfPA?T-a5J=&mE(15*FvGDb`kOS$N-_62tWr&f%z?Rgj^Y{SXzM3z3n^@`Px5C3Ws z7pp&)WO1dJ8xOjlAtz(&9?vln7T9A#W(s`UM4AwS;LpJWn3QYrDxd%fPYLknjk)J} zOXk{yAbXqeE1=>(D@e2SRrl0iP|rV^YPkJbzUSz+Qj@1@FjsB_*KP%i zo(fj_PtkE89z)7G7nU`FWzN-xx>h*#P1w!%6`1_o>-_s{vj_Vmnfoy26-LuO3p{@r zyf&T@w4WHTs)0`(l>B-{BzdJ5t)2D)MS0ucxVjsod(^rz7FT6ak}*gD}; zszCM%cx3zM5zG10;8)=O#elJM{hs%si9!gaCFiyIy=MrD!30OS+f}}{#zP*NEd(Nm z98gR;ML43w2I(FzjE;yxT&T_Nx52`>Y_ zD|mtdq4$pyy?O|G)pQdoz%n38Rn-5q94!z!tzt)uZKXQ( zRsPvcVYcHJp5-$=`@qze|5wzP?uM6D_g*^-L8pP=N;RbgqNP}8?;|!+HXqnbt5$+l z8Fb8SQj3fsg+~;ck6=`bC^3F;YzYJg5w}su-xrHw^=(owshWVT={MCGjXf*A`4CT& zJd(Y5MuCl;ruMvxh6RXQlnh~eR*uFrb4sCmI8h0`vGd{W2XC^ORPNl^cwTD{5sri= zVI6*{u+e^DJ3on#ml=jq2zhbp(C3({QMxkJDK1#NJux_a7wjsMAO@7kFxA?zPvWKm zsGu}t80^iY_Zctkx*&zohw8<@Q;oYfNgvHIx$lcxb1p~O6gFGaob}Xkjg-~P3-jSC zJ9lW0svcY+0$IHIP6!ao+$2Tl$rx%N#pm=q3^HjW@ zayCs&?5}FNAG6M#c+P)$T;>o+fPLA#bCIM|qMeLYBg|a?Jt^p>2O*0W4VVS#Fn757DTro~o$xNx5 zkyL?J72BgL$OZul*-ojj`)7qRA0Ak;{>*iG_MO)|a@a2wZNZ_ZrGH?9^#?mI>kc4w zUdC&9Et@#moBI2630u{2E|AsNUUtS~B@291PKl%o$_JA?x`<3~XYXoeOMSr;y4p33 zMvgY(o;-7H2jkIOqHNvKxUCnC&)+nxy_SyQW{>h5Alk&Cxi(C7dIfjQzCJCVhFEdX zdDjrByi1OLlAflRP0x_Ssrwc=FnbRyDuY{BxtkKqk)GTLVx_YlGUVPUpnzcV$QP8& zv3N6KZl&d?X?1np>PlC1eMxt5T(u55NY|~X{FTqMr)%JG$ z0lsj4jdLvfZk-NuOzcc!xseUNUl!B~Kj!EymtncNR!Gs-{1!%=F$-5JF+ReR-OtC; zM>DEq{J<^R#1%@aSQO#Y+ha&Qkd(TVOwj13LK9?6w^WCsfJYa_CpHxz6&WvYLCP?J z*13R*`Zw0uEV!+ny|e*zeFZU-6naSqQwlGodjNRc?Zl5jy|oXQ(I^MfUBOS0NJeyL zliFFYR_7+xnk}cy8I53hD*8=;<_+)RDvv0{T+PXQDkyxM``Wd_m#xXiNGS|Ei^a-{ z9(dX#<~er7wCfu8vo220_sf{6Pp?MQNm@${1%}~u=l0m?5ZB`3r#aIp_xf)E9C|6c5DPN#xlAX4qpY^g!&5htrf~k6A`z4tZ0IlJ21MLbh{=1`F zpZzEZLUSIXHz2`p{ms8}09wUEO#tQ^!`*+GD3w{1n8Z3QNgbn1Hns(+LFuw9o?B`n zY0WJ!YgR9ex+T1?JTv=^*jvj(Hx3lWe_@MX?@$^B>g~T!33qD|2X_k{Tg91Gp66ZR zj3lF!y!>xY#1D(>I2@jW0zjb?N5V>;RzdW+XWiq^kgd~*5Vw6mr4%uvXzilV(j&F~ zn$StUL8Yb~=M*K=NPt!|;isObb(&{>oa$jRf9NpS>{H@NlhQKW)OHD#ARl(}Wubn} zs)CJ-bDj>R7{$%(n+iNJ%Dl>RHUu^J_7JeywcCA&McUPL4PGNpVU;AOv@g$B&umR1Q^qnF9pR4(yP)Qt@C>tTyxJ3S+tNGC` z%l>uHNYWQ6Q%CZkm|&(zx@I}Kb`Fs_+4ml4!duN~mgDok*Md6Md$R;SG{R*ryihG; zmzfpwq4KYcnRDwqGzEM2=$WHtvh@QT8D!H~IFC^hWh@gwYytBQ1Mtj z21N`*OWI}@v5P8YQAob=E3Pi_&nxBH`o)|vm~ToB%}ub{Ko74mG&-l8Mx;(>$Uruh ztOxp$p`G0GJ10&QA0JR4LcY>dS?e-%_zQI9lY+K(2)lyFu&5BXE|nm1oh|TXughEj zw%~3qZpE5q#2R*lJy&Z)QR^=F_5y;>zkGO5cBe2wRe?EAjJ)eES8+Y9TRWz{F#->U zmmD7aNoBbq4p3-LwBBD2n}l$g_^=R(`aVXYh&(^zaqR4zBi)>BGo#rD!pMB9fX=pW zx+mFv9Tf()@X{PoPP&LW?F@;S38QE#o@d&0x}|ntz+Y=7R)V*2?5yOx$35}L-V>$& zeUVd?QgM=`Bf(WV8qzWOy4Nh5kf-Df{_$^$xYadpc?BaY2@(A9fibT zY+FnIxL%9lYy{1Gvp{-)4q(6hp$!pTt;JW?-@*T-OvL5=JYzshL*d&x>%tkSqyftSi&& z7qL_UU$6N`GGB#8;MlK+xP)~^yGR2Ox|UJ*9&8V4W|i~=ci8R#w5NH#D*!IV`i7er zsHbWE4y5x0G!N75#cvl1_!&%=fcV;p3lk3Lo8kuG887c71$&JM1X#VF14+T4vM%sP zjRn4$@!w!y`95${_ctSc?yS5U-zo{5c1-VNEwO18@me=ix1IiSyXRwJ z%d;4ZZ=_ct3p7SL^fcXm5X5FJ?Y4p!av)A>Xh}Cj7)4>E4K1qzh-J-~_|Y5Z2|luh zw<$N?L*QpKb#+pqLp%5<(Gp+Z@?PZarVSd$3S0%l$?VlvEgwUX(HmGC>#q+uOjT~6=AJV&Uw4u?B4iXXe-<$by$({c+A(AlP0}8y1Sxs~j5dqu zh-&S-a>ceXAy&=k4Q8lX{@>PC`zk*s9SFEIE5&A|JoO5`^4!64d>LMe$8`TQ~HPNP=ob(W9xQvoOKpfgR7xfh7MGr+gJh`kRq zbir8{%((UDoqO3X2~q5HG`wVi4|Dcjqghu|Ec^{i%e7NGckxgMVQ-^j&t?H}!Dn)s zXT;_c{yn4MpHTw0@ldYS%`;x3d55Cp+C@zuQNb^z8-7tM zqF!w-`$O~Z(m7A^?i<4W?|Qx3=Wt!U;@$T4%U&zO{KU5HF8i+YCDLqJ^f~US|IU@-8jN+yQaiq2|7vdiY4Yw@LhT2Mo(Cio%Sy#^Yto0LuJD5iXP!U8{yii~f zb%r94)@tD=AiO<=93V^-^j@9_m|YG%Hx(c^w=y~Zhj5r(Z-5yxx(tY(lG^?u`%NxqHH|K;0b{0Y_3?_dXd9%yVfff!sX?7%y+p3P9Wu6oEU#%Kpva z?#|VyJp=L1=5r&O)YBG$yf&v{-E?KB?^WHH{c+W<3sd0xx}5sj29GB2N90k-h*J@& zpylh1XQ}R4xd6ZgnwX4-ht;|g;123x)DH^PlN(hBeNe(>QeybqTQlJ3{8cfjYZ|XW z>O9omf2~Jbh0bnJ9Plj*XQ}8J(bY8^{G;%O2(@orgz$}U?+F)d2LCjF`)y4@qBFGY z#smuud|IlTN1fi&I=I${4|~K`Dy>%$WEq{+1LB*(m?@zU6`b0#-iEwj?Y0OIXVL6**)l zY`b5Kn1^J&LL6gfvN8;d6eWNU7hszr&O+7!?=nHx86w@%2l9+Ejk)hj;piy01TsFZ zxH2|-hrj^e+SPbI0^z+;Cjfs(Ug)6#t63bvJ9yR3K)f=qbe(>ufVVhw&0q7;X^<}J zVtm5p19g9K7bCjI<3gta+kHR)PHQK%h73O?pj-KO`=Wc(3c0JFnm~Y|)0EA*z%4;X zujK;D>j9pSLkqFN=gmA758S;r1?KvY@z;W{D}>UEv-hOkVG$l+HJ}E~zEZeqJW|<$ zMRgQr0p0>y@k$E@Dd{$7xrF`mqj2`By7p-$LD6wTYSlQ@+LIM`TId63B(c*K11^qg z^$%-4O@543!=8{%435;wo1FtK-t^zLdZ}X>2NEGQ#Qv5yk=^L4jiUrb7z?S@$B{?j z>=*7bxU8o(EpD9MHe}2)eB_=7M{kS;ZLTG&O&oLhKDhwIN=M@U8658JaYy=!BQ~t$ zoXi^r?Jv>B_VKDKZ(IZnx(7g7wAER`+E-)*Io}CDrk2GPUgC5Ezb)~7vtrz&+PSy= z#WWoGR|!`&f+jdrAmk(0s&mog@xgz1;mWcP6qSmV(^^MkfZPj&%%$DZmXG>bWelLV zfu^zY<=w>og$z{g$>-KV{<`pUe(B(rck4SljTv!e_AOm>EAtx!iKW>3rP_(GUo8g8 zHfJ(kJB^#nUJuX0C!O{DF;RTuY6PWabzdF(mjdPxhrN zP^ag9VcXcFHNUa1z8%y{C(3@`D6@E`*v?%$#OP$S=n=!v`$0Bwc%MsZt}I`c%j>es zs!s!MEre)P9u+RH^}7V#82318dE&QMiRnDq4_Vz4*ClC(<BwoJQu$JZg$=pednO}0QOs;7pBLPC4V)-RINu``~-6qwYlZf7WVl)^1 zGzydb&x+Hpd$!299{mMNwoZV8^=#KDNe`3g{WDbQBSu1Yu`!!R`&MCDk{YZ_*m_d~ zIdOwR=pKVl$mv656byDP5SQ{&B^X6mHv&D3x$9o=2C2*yzAHOkR4rIad?C1Ru0UXi zM`X1eXlOXWh#6MlY2i?ZIW0=FzKC$BzdR|{XwPLm6heFTK~oVoZGFN@=PtB0ZLO&0 z9>N1QIXCN{F#YXJZE*HZ{0*pgvVzwb0&DNR(?4Z#u!F!UE7KAi3GQ`>V9;{&$)&h< z>5NDDI#e}QM{VF4aF7{Oit1>oMBHlXV?K(44?O-Xl+J{!Xlo&Mf*WtOLQvUXQDzF>DrN?kgIm|3dc2)~}vDRIE7D;Kij}QyAQh%IaPaw7A z$2-Uswg}Z!Z<)HsyTieWbqt_tBh|>P&acEn_RGvIg~upgm$WJ1@51dbpGtjJPPT(8 zl^)%2HOkSIq<@s6lDIY3ZhxUEkkXV>)6LL|?_TBl2V;(~Fo>5vp~@6?;MBJs&?YwN zlWGo*jr0({(UoGgK;+(g-#PSoM3-7}!oYiF;%C{6nx9TC`+_Nl|30yl+2hb2+!=#J zLoe+#rXShkFR(!}%@;wv(Jz$o<5{m?^rWG0l8NQFSAn&&8<_N2Jazw>4i~<5IPr0x zHkS&p$6vtyVEzBTxnibDN zCVz(=oTl*0m||u6?pI~%?gO{}CQ)Dh%%yvIfsN=%dd$01hx=yvuIcj|R{#2#5o?@l z|B3FwyUn|6^ZUW}>q>sV3lVaMhF#jAdI@!&fs`xXvor7K_mHwRf6nC^?DmYTGmAd@ z6J7tAVi$eH;A)Kj>b0d2Mx%i}Nab)bqG9*KscUx!C>NaIZ9ZcLZSb(U_+4qA;~iGT zK!L?ZIo^`=eRAbf^Y>hGX<2#`bP6gQ{HEMqTpk)VF5k66>*(Sv8lG zVt!I%X8QxVWMN3yFe^~9?ECuuHn%9E(Wfn5NQSdp$Z0&ZR&v6;tz?m5awZOx}+>{=c7Sz8Xslb-ot zcmZ|PuPv79x`ZYlzi|r5KIXIK^emX)D^e1a7JO#q(%=7iN?FjU&OWv}D(ak2 zx>w389IFxfC!2~M80*nC0bbkOVbX1G^_EL@E-?yM_kdwfWbEk0%4QjDHvLB+z0?|2pU?WYWJ^I#PGfegUo3-7XsQqU(QRd5B}6 zPW|Vq>9qH6efb*gmN4<&N+)|T$_OJl=k{Y?YyVu-gaturrHp*=JRO~2Hx=e!lJ;?y z_jRRrn@-`Cipb3Syo{A2#YKpJ5T?4chR&VWdJLVJcSDM4w*A~*a z3$+n8q~>O8%SBUrlB#@O*o!4ZVHS$OF@Dym`}QgH%?_j3qTeS9DdR;Ti3uL2_cpIk z-RgGCk&HUC*}QVk&Yw*>FURS)a>C1nPL95!chR+xlR)5%H5T110o8X#(v zLsTQ@sYOS5lAR!K!8l;}>_(vr{38|4fz*Ew5o+Et3gHi{a6~}Up#QxnpFq)NBD@@? z&HY}ERHmexh6Opp%84`{?S}_Bd?_*^w1s+2O@7S4k;AX>>1GG*KU3nLH?PrM^G%D# z>kuhv-2&h8Ru&K6*Jcw!+bKgXc#Vxt9_N;{n5SYp%QiOsjQqS(mq`j{h7Qcr4784T z(Hf&M4;a<^q510E1WUA8k_+S0!x*C%*GD$2Mk?&FHS}4_&?uwk zFRE13EdbWIDlz3XD~6|9-ZaGsGlt*^dSP6yPWY+c^X0Em>_

jHS}m11oht7Q}bL%iyVs@W(uLfKdve7rg3~51zkwBCR_{$-db+HFtz4xaQ3d zJ>R(wdgScNTuMx$f86%J56~eIALZ5~QMH6UX?|fuPGS<@Kv#InGos5J`9owW;R8bY zsE0KplPd>jK0uShDft`0CRuAC{a!lRmUpS~c7Sd4^K?C2lw3+!u*{Q$e#IDnq#i04 zo^!KSm9m>u>3N8%?4K^J{P^V9=+Svu4$aZr6*%DW`!fFo1O35fKi@9my^tpmT7ctM zwIDQZ+h$6&#xp)5E{B+Cimun`=`2ligG=Pik@?_My8bo6wBguH%)`?fqPwog5a-5i zE0aB)XwA%%pBdV6%Nnqf$fsDgNUy5Y5-8h*hv`Mr%79T$h3;NKq|_WJNuIoh{!o@b z_8G?3xoxSWk0uUkF(R@j0rX=5bVX!znf&55=^UbkqXk+6)yyT7McAz!hiM6xJluZm zV$e93Q2N*2&nA|Ct8M*wckBpPM(yB7tzIMsI$kSHy1>h?#5}y;5$yX-VD;_?+WzDF zsS4p-|9p=*NrsBbHR%Xk*T{j6H8bv4rMP2hcAZZz4*~vk)@Q|u!)MuGku!4fv0xp# zGQ{#OC1}Z2%aP^apM5H_o0b%+#|g4bsVRD@8w15j0d&i^jz8X|soS}Vt%FTLlNcDXeLs_atxIg-m3C zO{g=c=M+OK=Zj6cI#}pp^k_FwjrMIIQu4&hYmAw;3mHtl=fXO!_jXc2Sal;7+r;A_ zFt#5SZ{z_+=td{pVPq z0_cljB?01c{A3e5{5h|~KAKdC=oi$45Aitw7EzxTpzcZhb}WC0o7s`-%rlQAP?PX4 z{pf7v$~%X`JLbv*=!8(WN|u=rTBq`Nf1B?d*Y6+e6?`Otx3q2L?nsGw&g%+B&k6*P3zqdS&o?d6yJY-a4%K>ct;KXmu>lu&`hj-V@S2 zgpbLmcyY}zPM_Sc#ZIsz-(8`&TM{qlmN*?td-je6VJlIBI-1LbV^}=wI)5zP#Z(@f zE$7`YHC>vKCfyi(p3OjcPJp0eLj>FbFXc%_eObPBTu+yn+KY`2?k9ZImyE<2k=KM+ zkq)h|T^!GDkO=zmmusM*d0v~IJhN5W%Evm&7{@37jyvvm`i48Jc@hUm36w!ZZ9uWU|Kdm@BsPSWYc2snJ(bitv zB+ztzQMS6SCXouOvRr!f5_#rRl-0H7k1IQluv#asET2EVS=q5_M_n4r5n*%n2_lU+ zmr#`DF=5-1S6e{Pl=U)UQ~khh$ow;E)t;v$TiR~*E?$x3hqm<3_^HwoviG1&j)1ZP zP#Fn7XZrsqDmNjLRa%Atnp-VBswv7|ElKTyY1fVX)yKlaj)n!;bOhGWy`lfp%8Wxg z6I(T~orl=@mbm1fQm7e*MbJMi#fZ$*j6=STcVz#fnJdr+i_-0^=%ti{v%_Wo%f@-O zAnMOh>LSOFEY>K-paAB#V2qWDlyKbGY>&*p>d46cztYA$8hf|o6%I8-@jnQ z1IkTVtw7@|)N8uOU>^A5VV^MfR@gbzYe~RMG`>C2kFiscy+@Kwt0{D1Oo36(CQHmI zyx)B!OoT{3$DPe7Glp7Hh}F|R^U*?|L6-!lO)ZcOTo8>8i-9AaCL;|c+;Bla9c3?* zG3XQ!4)wyW`Nh7e3P2o1*Q~vc2uq;1lp;^4bBH&IL3S&MJG0iiz<%2a=x>KPJBY8T zq!%EkvZqrnsGcXtx>AJST;~j<*xmGNTxH{9og}qy#H78(O>_He`->hN9?UYg*Ygx?utJfQTrrFp=El-npwOB9mSjNVbSd(x7`j%qj=n2PK)D;Tc%}WzDD>j+`e+EQw-8^`@!u(|+uaI| z?>~=hJy%}(P&!rH)xg&WUBnk%XSpypUo_7)cTqAqG_;OtpD!Hktxv#63xgPOni2 zzxo`4!{3Vy7f_uISt7y}?SUzCU9huMUVc&8BV!?wATEFzt! zVm7PWOYe4Iffvx^=FshkC)V?b6~ZleDj0k7eA6r)d-Gw)Fy9}L zLVcPoB>L-8tU0KmqiGA{5UMMOi!%mmG*jg4rBtQLO_-piRtykwOL}nG63i zoH-cEIJX*rXhedHp(i*%=wIsf6|s49v70B-~IoiU8%w7R!HI;MBBXM)V)2|&=@ z^(`Iz&D-xJk#{%ln<)Ba{}nCw*D67Ql)1t+=W|K;lj2u6yCJ7?0}&jN|4BYoa(P&S z|Bh0w-V=il4_(5@Jq1xl-rZsbq%(dK^I!aI4=-UW@YPN)-eXzmUVf)k==+=blljh* zO`~2`YY~;=Suf&v$X6Zo6~F0dtevj!aHPGNm6EvUtqB&#C_-5DD0-+M9C6fUP_cw| zb6I$GJ$^X(&g7BoK0EsxdXe&EfAUSw=a7c_Q&XzCpZBzlZ}()BHpqs^Z{$LcW^i}+H{ZSYz5l(cziOmvx_eG_ z_vv%?UTdATZAFbAY%xG!qr9@98;u7TG#hcCimOVw#1SM&DjtW)8qE z=OVxE3FtDCZ%gSMyaiOKjAdsuWQ~nyo}26vGarkNlthMkx>Tu97j1MMl&RblMiHj2 zbUtlxcWs7Sw;8An;%==MM9*s0qHdAuqBAu4R`fr9!Axj|8|u}f;#Ni&bsF|2P2ud( zSFxrrVr|GYb`UNcCu#5;&Cl7HEtmXK(3p4A7J?JC! zc8?p}{QhHHE0dZ8(S;biBbyVIb1iE3Al8M+0O6P3S$|}9p(OGrErCR-h5CXm^P5n~ zN+Y&G#)81fK=Xl*A+@e#$fukLEcKJn$>>MI{bX9F)8GbIb(Kk5R;GuJI-lUWH_-ZL zuUXKWp~ATqEzNMRM~VU&SpV-wj$YQkzmKig>A-J2uq!)te?j0{Q<9#+XVxP4-m|UU z%7LXaqidNFAE`huImxFmiHj58ggg^ZQubmrqesasG?QmBBcA&Yu7d4>T%#C0?zCn? zk)F(*IK zI~nPdt;Qz-(0E5|w@KnCvyk4DibZi+br3rrx?%M6e_-&S{cYY)3}Fy-BXb?>21Yn z9flI%=zUQlx8x!BT9K2W$;%$S<FvJX6_x}V{Bbw>9Jj<_7VuhPx8fPvcYd4Qm#A%z3nYco zh50bQXyTi{?Yx1NncR`zC}wOjsM>~W!jbs8+Oaog&hg+&?B{DI{Fhdc8>*~5EXO!? z%4n#$4LtMV&;`N!>Znloqqbbr!vV`qPBqeU`0U?k&iyGcP58kg-@6tL2B!_U*F z7^Y44Rrj`(qiX$os#sBsRqq-irkT%0_lFt9U6>@H4NjOyXp7W=EjhzDrR|n_0TNAx zYKBjRLg30dKtv{c5B1>Gs_?I?y_{Plp|!fh7JtDHZ~=xH3h*Al9I$9DJQ!+dayd>C zQlE!Mmmry13a7c0$5NV_Vdu)>UKDNgIFqS~-fz43Gww3F;#Z5A)1L)vutb16rY7SS z*XVL+={aKGjq6cWHXrJU(-qxp9N;%C7p-t?LZzjlyA;`Nu#W0*^mw@5R&ZUJJ_A zs$k-Kx!WBV;Ti+x+_Kvg@Wm+S`f^i|3#uv_vGF3(X}POA;#kQv(0@r6mw zNFiB8=Fze&-gRf^Ge(5+Mj-|ztNf&HWNHUcZ$a=N`va1=hZrml>RSOm$qHP`qJ-wZ{LkKX zLa}LJo4VHf=W}Q!;E$j_H(Pgrp*`4Sp;*B!R*x2Opk2YOeRZf}38H>_O2QY#6G$T- z6uE>!I_X;K;e9Ha7RS8#O^YKm)Ib+@a1LKbtU3lz@M{~)@h>#FqAx7?p+zuMpw9mF zFJHKERGI1$gVmQtvU8C%8P0U;?5&S`0@O*wKx`})bb4Bz5GfxYjNnP(TsoR-Z8$^b z$yfkPN)3B+C^C5im6Sfzzgev8w~Z_iUg4G711|Q)M;$t_n!bwutfv9lb?*Uy;uD*L zXWzz)%@`f34N(X{=Fw*>iVsx)`|CKEpF7{L*PZSi7LJGs12g^HS*+$}ogMp;@eo(! zR*G`064QqfuCTC?Ay9Q}qpVuFqHsXqoG`IQzO9T#*5RwF9_Gv>@+XTm>oTDtJDha0 z{SASdNwTkcc8F=*@)x|clXcgXZlHs}w`%R}PCGmZA^H5Jd9!p;}6F;EUlBzPxSDqk`8~^XcAD zo(RP`u};I)SkBR836Wn-{eik9FMc3|)iUAxi5BY z>~fexuO8iy14Q;3_&++&y#La9)*tZy%__kH(K{ur>J4qya_=Hu)&3tjZZlE5ucrnz z&DfuFu^ZuQS=eYk9~`2q+`WGQldEx9gRcf&Ze~F;0zH#}$GdSrn?U1^oZ@?P;it;~ zITzHRZ{NhRGr_AMl7?j;lz!cO_9lO?Ll56$rTC9t^+++(^ja}Fw(*bDGiHHnVcgvR zqgOruv-FS&6#KXz73Csz~zT+nVh$p2IjdWuEP`0uaOk zXyu&!YPVM`)AZ;oT}08UST4Ovb?kT+<^bLm;F9SeOotnxejpWE&X?|Sn6VXi*x4c# z9th**3e_-eERjZIqm#JH)M{ok((Gr~nMYU~T5-9U_JvjhD+5@RQc-&<0JmkVgqU(t!r_(Kyf;Gi`0FLEct zZ$_ea3gs#}GWZ1W^k*o5jo8z~2V6ktZH>xi^WM<8Ed3gXPC^8W9^NrM%t_zbm#!5a zeP^2EJ+*m{)?h2YeQyn7#uvX^raNa)&Vt34-Uu;CDUiP-@*h3s0`AIp&9zfM<@75( zXJO+#ng~cgE~)qsraMap%>zdLUC$2JV`zTbMH2Uel+m1n$yb9;4O!8CrVM^G7_T8r z6B^G)9U1ug`?}*=;ps`;sR>!v4uHT$>cw;+7`-XJ zW;~<^7BM^vVYn*{1$I*cJbO$;p)#{3LT9WqCp&Zzc3>aC_S<{W(4Y)fmU=*p{)3xx zK7xgCUch&(yjpc(r5LHSqO)uqgRlyhqPAggLIK5!D#L{N-%p9N*UYGBxrfgBMlg#c z;1eMH)?-(G`=}h0FMscu3+@wT?$kP?noQb)$ACv~U}i$s{3}>@t|BI@(PSFwiAJrk z=07cKYfs4_%ef{r){bSYn03#6_BYuF-=@w`?ijGOD?$&hwh{Umg?u#vRs`#VmGmMB z)$mt(JJ9Vp<$wdD)-n%>t*zAtNCi!iQ-EmF9~5Unmo1Bd@Gzg1kUFnu2;)a6nbr~* zUwD`+@<`0!{@Ul?BWH6BHXmy3^zkeruMnbt^-7ViUjL&&lq`hgUsOQ8;<2y_^2DT@ zw8klD-}WbaO9m_XGn#CknXSAfMwOhL>)*LFzt6%iWSYI?j?VxBuagPNgT!~UH9mbod;8OM5;aRLUBqj)}|Kh)9vbACJ&)ZY*>$h>G`zH~tpUglt#b$WZq zJ><<8z0G=bJ!pY9tOy%1bfDBsw-8aOb|21Xd3g^iS1+7kLM^$VydSxc>Fp$2pe9rN z4i-?D?1x~z@sW!KGx$60mYj;6mSyT64ZRjzxUBZT6M8vd;}w&=;X1Q4=`$+myRhDM z+jIc>mW@NawOmYRDfIRts)H|mXx3&wpB#AM5R{)wJl(}0gV=r#gukU5=cY`V>d%OfIK z^Y76JmTJ?{3W*1eeh zigqC<_}1q%iK`#A=*>ch+uR$`whxbkH}G&>1@wb*N&VfIhzUSSWeF%huy#^9Cyo{i_z54K5PgxDIwfxbdh zgmKR1`x4|$dDrS>ew1(1h41l zJejIcJJyi5{vfaN;^AcHo8BXz`N0XT=F;6Yrp%WU-K``tBY0UGo6K`_l39xfMbGZE zsnUkRb4jFscaG1j1?sF3v+bee-GW@##XQx$y~Z1RW}7^_^@Qz4sQa7Xy!~@@irMSV!C16E zSK}$<&IYb`xSZK71Y}v#EyHvU-Wv+C_628O)9n;tY;?+@G)j9iTVxFAqU8r% z7E-kX4%|EMD>ZRvoXPUON><*xGs;cDj7g&Pd7zSU*kYZ^7%wE;vMT=BJf^f=0X$M` zqL@BP!Hc`20jwiADEgzBQ9*i&Fjr&Xr*~ka7dA&EfCC(sOwx!_%$#JRQ}jDEqqFKU zR|?{8YBN`2$JQl*#lK_dm4c)7Hox(J4Mrpuk|h$*Jl;&X33ekfcHuiOb}@GQ%hHBS z*vsz|k&_=0XfNSjG%f+#pRQ!AZ)g)J1k3KPAD5Npy%6oO&O*Jfbi#4Ybnt z1Q$+k{5PJP6U<}`_jsXTYeVROR-#Ok&b}$=F=ph~yYlHmT9iGmi_6A=C)0JFLQ>K| zXyS!m__KlOl%>c zyO5YJC9+AlmzL_ye(-x-cta1)|CT=mMKiW9uN(zFHb!6yoX|E&d!z#oWZ$g4Fq|G* zdI|Oh?<|bBzl}l|=Ob3bf|DC$?{_1#$mZTiJ@7h(WQc(9@kyrGN$x&doVx3P-Hm== zl6L_V9_I-ZTtGiPi(~n1z>(CkH6&!^fWr&pkZ1YR@?-jU7cjqWN0|BnurysH)2 zE8DLPVD`mF1SH@iR@Ea&OfMj*i9=s`*ZvtN3f**;5!^u&bi?5xE*dLUqMEw2!FWiZ z4aM+kmm<9L;^z&53-4JUxV-0AmN5QTSS(0kKaYIp-?F4CW>t{gHr~HGAzqTJ)u{_6 zysCUafeX=SrxgNbe-$~)A+P!}p(+vn@|BCjZpurnLq9#lfZJNqiw3vV4h{{PfHjI? zfOm@u)y6-?7B-MMK=G)iG6uM86`~3C0*m9)0*4<&0;&bXUWo`0AG5aLgHes+;lU=Z z2Ut62i)NDW&bN#H;yLGE3I0O2>mX6g5Gul7UEvOXA%3f3bD4ZHNsApoGIBKB{g5WX zxQb5`w+zBlRpv`#M#HLv0~yN4j-EI+oBW3Ue%2~)2N^~m1T+q>c}f_Mg6Gq?O9V6C z#$jOE98yEc4dh-5*$#=~3*`_RS=5jp)#we^0T-@VplU)OT~w;&U7!kr5tKH&-(S_~ zC%z#RH`Ys@uo8GG#fd&U#xaPb$T-;Po0yD)>ZXcUa**LL#8`DC2n|IaLz|BY8g5$;QV&9~ogJAO+7C`h}M5Z&anz zuCajq*>9chHqCD!ONjyhQ4>p+r*+MmAI2wICnbeGL-H_B&0rS;CCXD6es_VeqqnRD zQQcae{WsO_qiq0NX%cvG!&eQNOK+wl@^3r%iX?@2tHnS>u!pV8{6ERtBeAN^C^A!QtL|7Gb3EKw2DZV8RhBJstz3;w z)v-{h@zt^oAWmpSF3G8h!O@EMBZeLItBGr?9xFcZrXvS-@6Z)8DPLjXD!cOY%fgNw zisIhV3A;dfGHAmLDTMMl3KzEDh`tuCkOHO~l7)H-z(=l0Lca9#8jqB?TZru|#DyFf zV{`!z(+(>5pha)1wA2z{hxXkI8VGSV1BWB{r6+)-?j5j|x!es<0T1yY#YDGKTSF!8 z+N$nR7%vEwF(l4Xb7RrP>V2&2)p$i%=cMH%0NYeNEIC`FZCBLAfy$${Z&zl?CX=A? zPjZ!5G7rEPLF*EyDnAPAN!bD6#VOY&>_?f_D0o&~tSCXx2Fh%IbYs<#>IxP~%-M_Ns?e#b-& zldq2u&GR{Iv9HzPp}q7M3*d_5)&iN)tGn1N>2G?;SU9KW;ssw$Pt%}|4R7Z=N?qHK z>r<@?eXK_noBM|#NTrVrq1qvolWK|P8znX60b zg}Fcv5uU}SQrekyAMLHY-E9DH)NR4xTS&A-vG%|Fz9`110EqeEe6xSnl15>1uDCZ? z0g!HxdoUg(ASf_xKEj>(58}b61oG)e9{-+YlaboJACA_nn}<bsSky~SmYqh{wA%DxK~4Q}gp`{Kx} zp+`@r;`1PoeZ&CDNyy|Yml%4@W`=-smyB246 zpRll-v+iEU_@tkW#M)gEBXt1;S}A;`P!Xu{BGXIpv&mGW(P6_v%s`PQBdTuMkGc)L z7ko5{O|zGA)A0~0&~e_o9&C4PrqnT=fl(ONoqmsqOTk1c^PbpULd;H2F z_YW;E7$ZF2jDY(6jPTD@!5z+-PesIxr=*Q*6dt{8rD*EfT z#ajA%P{RnrI~jbRguPA74SzEEqXlO5M!KAR5?>T%2fvUD4G^}2?$`L@;}g}{$TxGg zfk}mC$zO5Wb5Xjw-lMH4dv}2!Z+{biGOXigQMNURMl;)Txg9M`r+*Gt(|fC3Ioiv@ zadt&|;0>=GHD8GKQw8oCyrlZyvw@@5CvopPgGHYqxk^+ub+^fv03^kBN|4N1s;Kynt(Tz-_ZN4i(BIT;o9hsNxHMfmQf3kRtHy4bkZX6H(IU*1+GmmP_qfVQb zr_h!sqA&KgpdNS%C*VI<8@Q3>Ec4rz7LDNKr++t1AC`ZHj(JR`VPG%zR`Fy7HB5Ou zHPXE|R!xKR*Kcw*OO~0R?Nbbn5@TM5-b#q>cdFIz)GnjD-FS5eSd+gv9#UKDkrR8K z6LUAdZ|t??aVKS0EAGSRWZp)Ik81lZm>^{No_TK~TjL&EMx`kGpndUbYb{14p5-T* zy;Vv(Okc~^HuzQTUR>Sk9C$*o)%K5e+4N@5-NhkK$&OIR`o<+EcnMxzdxhg6r?8k> zcfy48X@~>vmN_PMO`56YN)uUZkHz?t%lp*jx6|l%r2;WuB{f0J>VOc@LHQ0Tl}b;t z&2}ypfpx*PkcZ#?ss_ZLt@ts#V=l{MeXr)iF}A`#VuTjjY9@0=oASKLR=M+Lho_sG zdPphr1!D5Q;UuE&`-wJj zj+qFjV&S}#Nt8#fwo5X2;y%8~y`6~Ov!uW?)u`0ZKR`3Fs2Ff~jM|m%^{hUtU+gN? z5i?-+{Gx-mEAdyg{yVoSP;9z1r7?4a=Z%D%9FR$t_|ocfOUPIA{%g6M?sGz7WBkGC zyTKv_9JQs%CxIC|*vKTerH;*#x`>&k`0`XCKaVxOk!1T+Oke|}Z zF{NnEy7`i+A{S&IV~LUxaGvjS3MT|7L?@gjiVj)dJ6-$D>cWpNIFqqyRLV|i^tZ;i za=p6iix*4X-dgfBM&7*dLMU>6{G#l1K^;jJ9hME;^+kB=@ zr}hKbCv3QLn7MeWvE-Z21K(soY;hl*6H>!kcyrI*>T}w-itd8I7j_l`IsTHcyX9(I zgta#HjY z8NjUi@t;T$!nl5v`}yUww?Y! zymOw9fauV+QsuR_mZM?}0?=al>3t3D%Xdj$_2xfG$e{E{FD=?mZCPG}yRs;Ihq;)- zOEdl}%)~Ry^qChqDAGW-296u5?qs+>8s2363tm6kQXr`M()o(<4^~MXTL}-Wdd(am z?{fPL`JF^@h&C(SJ(*OTMcKN@7N9Qs0=YS{iT!={e+(uoM=YySAbQj=Sw@}qyoLs)28?MFsQ?)J#!UbM(nD%V%$0~#1_hE!5W!f$c zW=jb(ACh&ZS9@yYt50@<{vOmDNY^-BD4A{_m<=I?yQ3&Y-s8W@YZa0X}12WMM!7CPf>cubOcxUv@Ph+EEKC@$>q?bxFOv2^%LT;l>|SrN5fY zF8cPAU$?_r${FlpZ7bu1Vh9B*d^J2Ck!4cMt*szEV8zeL9cVYblb(yk zE(UxIHwGo*8LIURPWc9PrFw6=(qI=7+Cmi&X)L#5?>lzjqo~m%U0^Kz8VE6v6vPR6 zzx!91*O*9#>r9+@?eXj2pUDjTXP?Z`ozo2qdaCY$xkyBHtLZpUMfJZDeXlo#BdHA; zj4q+5w#$SP)WdlfX*hXLI94}r{z&`Ltp1XM3U1waw)-PoG7;Tkh=pe^MHDOPmG)usEjkcN6O+j z3p`zU*}g;a=UY9X@*UhGieW{zV6%1B#HcyaZ@Uzp15dHPDxRx}knWqk4t~+$S*TAr zoUDq;F58&nKQk!J^|RytteWB3!fn2!sCnESfk`ERQFbX~mJh z$vVR$Er(;>%wmY{a>qs?r&SW~A!}cZ?Xo4Gob4_L^)%vVq{3A=#;-?eXxACg^xXZl z97?qBFRVwMbVI~|7iR^E=?!C@%$E(ev-*n7|mh4{{@Vv#$=@8Q^-k zQi?`Eg36+=F8a%XbU!vZ0}{C4ogqH2mQCmAJ)jr|zaANEjlg9zclqiNwySJAJ(t*7 zzr!VGE{2B5UB~FH{cCIuNMA;oFa4=ZXjwbZRCB^p?X%E$qBK-#JXFcYQnl55LVe+J zDAaxghb6qGHt>nlrF&j4^FQOuJU7 z=k!6)9%UVvd<91H5;TQrOEVXww?$!9_bLeQtr=*ZVd{H#@eE9QNx^-)<(tvrcXoc^ zG4^FQ1okFLhMRIdZeJW%HSVn_4)f)WU^J$dJ9a8#sww84>rqGW>05r;NfRAa!qATy z;J;nID2d*Nlm!ZK1b+OmGn2ztIoF?TqF!g%;>h+y?r#$At2X!CmuP$VilWBwcMjPa z+99&TdCRw=J5ip$W<&{n%gP9_CdEoqYyyz~cw1VQqC$v7IAPsRZsK3i=U?f|9CGT4 zmqR!XPylZYlsH^@gq>-K;&O;dInxVRkJp!%eKfc^Y$6rI@@W75zJ%g%deP!hwWdE+ zdP?AM^xv;JvBr%LhUe5$x*Wy0LqMGG$LPC%1(hJHv+Jw39T7O-bX{$Cqd1!>nzu<5z zI`Z+G;JFg|8FlmT(8={syq%A#~z|J!LK=iZIcGP_(>~dm>F6#$jX8vP4 zwuEyKajycw#T1>mc;{t`SpNO>Wr0va#qcVUhs-sK_tZfV4BZ>lD~G^a1}7$3Ntk;d z4LF-pARQAJUWM~0!zlA!2Wbuu_-48s%zE%xxl@ekngv}k8fEocv6a;x32TK$&oX7?L_mh|MoES=ZL{Gr z4*l=@Px0kF?8Q~i+!U)rNBUn6!IQModz;x41q- z7`KZ8Sha}>-@F~Ao&rbbd^4BRk;qw*JmHIsuZpXyYhR8~6vSVDHQqNh?2r_Bj{*F` za_jS-Ruu*2%5vG;mOYIa=?XRFn6~u>kE#VGSWy`${FPJQo@*{~VeqAiPV)94>cO2B zd&OjOyUplBUAz;RBGz{gccSQR15%6zZ>qPLy;*m3{_ibi_u*&J-{i7;X_#!vp0n-u zV4ix)!s6-dc@AY|E=4TKqf?;5#%`M;k;-cbsIck^lSVw|zM0n&*@7k5SGP zLDRjZf}cDEg6PQqK8^f)wfJ#^%55IB-hZu74qKH|zmKL(ZTK4b-0h!QHJ8>$&WJjR z5TWLQtX8^gSsKRan$&r>Pek!A27w+?tEt0TmycbCM_s_(Q z`~!2dj~UxeY(R>7em2aUE3~tCh?M@6WG{M}V!FQnblaOZs@}p^X0aW&(dLTU7%SJu zG?P)TuEXOUJE>!3g-Py1<>id;E?=)gnm$kn4@ftJyQp4Ej}=0&XhYwv1soyd38J~w z#b2J}KKzzs#)R;B0-PaF4y<0^d%;)1G>|{?|9(n(0&^ZO_a=Ukb@ovR^jpJgfjMMw zL@y{d)B2eN#=oBmz)`dlro@7FQkOiMZfomH<_2yntkU<^?rE0%wR~ z5xZ!+V|Ah{7dsQ;Bga22XQV#WfLyFu=f;?q{;Qze3>Qsq|08XL{bi)L2-DWV|w$T6c$uSXS z{=bK5C-BvQ{QVO%#CisKUo=eQq zh9n~~qZO`zK?kaBidM`{fI3*5=oWP_2GYtqS;6MIz=&-QsDLS%@C1n3^ zH3>0Rbs%QKU<{p-C#YGeunsTu?DgW3b6|K139pq#>{4`{g3L9r$cct7UzQKUWrroy+KB%@+?ny#h=mL4za37tkST93}Nh>c&3(&lJOVFGy zk@dFJ=aFP@o zBm)LrD%`yg_UZ{UN*x(e1n$)o^fh1uV-)P<-p_vxJ(MRY+!E<#OC)*h{a7AeZo`~{ zwE6@wd(ZEy6{XMJj}5;BVkQo%_m3#%IFwe1l#$lf(&9@saGdH6&fk03htEFeTryk> zD{|SL_9uQv7FD8fIPDuXYhH{c9wI28!HO~}&iDm!G)SR1%(J3O<=(3z}!rO=)6l#2I*4Ce>}`5upbspZ z=G#_ga4$1?F^8ik&K?{2iyabkM=d$f@10h6!g2P!m~2_Uh25=KezIv`8{R!`jel(^ zg*1YUlBS6&IA*>%LG!?6@@y`lY=+!$&ZXpek~T^#w>v$DJiBjf$pHClSN?(Bjcx-mCVHC zn3mj*y6sJKZzSG(7+G~UuWR_N>)~}FA$9pTy2BvX;4 zQ#o%h5#L0mw&k5aViv7i*-KU34rps@>x)S(8&;jtVRLA()wX6yf{5qgUyukk1GDgv zPyJDFotjhmoMExoScYyV>TI4nS@u$#NQ$iJxSpXO`Fw6;pxW{mwk4G)y>4Gq`^>^~ zxMAp~U$fA!%tR@aNB>xg_sh)Ei~yGXlO_O8*W}>p?%NWI4-F(cky7qnm4MGfye~X} zfMit>fKHx-CIBOTZyP0t#9s`ooNxp~SG88+LCY=R$t3_hkBEbR_!td?p1DVGX=RMp zf&y8C;V|9^Fi52WX7y?gFmU?)51x0NmrTWj%38rk#lV4iYZNet`^2aLA(>6HAh zV}t|h4YLIZ=T-o=Ml}JS{|X_j-*3TlSLiKx_NaM82ec)n6J_ zi1r{=umWsH6!K~rtni4-1OA;bSww&{e@ujYu6m7stEN=9QRFm>$V3G(!@@T}Z2fbx0?RV+2v zPff>7KISJ{P761UKpG#xZtFcHc?toOXt06b|LFxE>}q(q`WgQzWa$2S)$wY%lfEyR z+US4lwkTcInQPfCnnlCx;$+;|8g170ix^yU`p<4*4&7O-aTPO4+*T3Aw48qpC(BBn z+Xj@)5#r9XT@>uyq5xeTIv)lX0@b5 zER5aN?i`<(Dvy9ZL9wBzBV8ay9PMD1I?3BK2v0# zjP<~FaSebIGCMbGJJk&goLI#$`7!wO2b%=MP(Q`j<9ee_?cC;npNh8ldmrLsjd`g3 zc5cl}d2GA$P!8t!H0jtj&V7@#mfZkV^)?uZt-j?AmPNS*s#IE1uaY8mlSf}UOh6S! zy&m;SdiW#7kD}d0SZVRt%^0o27u_B^bh)HCIk4QGX%xDOZG{TqhEbqk5pPn>XWKp> zSD#=SnrT<}j`DzI^!_7im5f(oT~ez@A-SO)DzG=VY%`0|oNZ58JWGY^$+m6Z+rq$1 zj)T8JBO8-tr5H>RjsCXW5T&FlTGyl`kx1L(tpfYQSpP%%Cd72I|I&EyRn3w@zH|t{ zBs6v5HAh1vJ(W@iVtcl*DXxREL}+Gyez?x`n~#N94$dIE?wO988V}(ED$va@SVpeNzS3xbBY(NQS@0KV~prrw=v{ zeK#U+pLcYydMXeX$k&!v{qDLo3&owwIfV7GRZxn`3#W>P-;#W|{FA73bK!lp@w%^1 z%=tK4@L}nS;uE-{){&skTP2m~1@qhojraD6`bSo$W*)pS0OrPz8DVuuQ12xr&D?gY ztJ~na+XcS6FbTL{5){yy-_eSSQ@)W~znoc?^{^(nt9^H$zZ)->Gx%{bA&W^frQA_| zqm+3*{;AmdJ2)dyU!&2zG1KCKQ=#Kn?w*&VWIT<|+HbK;>)rskAFVRJp?Aa z-_J{Gz+20!5I_C2q1*RZw|u$*oEim@d>k{EvYUjCnA@K;`)6}GOG8uP$1zO`Zk0~? zlEI_ztyx>uyc%*`gjdfovUSQxuS`^NY+L02*1fPwi*0W|kp52h)Fw>Z1g845Pc6)f z_P1BA^dvgliL7MLVkmEAaotpMB}v+#0d3`9Db~Nnu(k-!EovKOioh_J0Q54gd_rFSm0(+Hc= zxr+n?Dx=~~ewN4mRS1C;-%M8{IXOClw_=mWy`(Z3)9LaBWFRcUT`4~Dc|XI>1Ppfr z(B7E9Zqm0X`FPfB-Cx51j{)GMVl|8pJkqlP?-7*H6jpu)=bxt3XaxZ&HL*y~CA4`U zW-KHiP$^Qg0gqNpkGR@|d^d<6MU;-d4#`~ZCf4%YNkNb13J|37<(zSm-Y$thuI?@T z2|&4$ywRXbR;wldEqM@I?@&7eYVX|8`^W%V_Z0u}cLQNeDLztX7qM9>{Lh$3s5j4> zh97%GYhyy`5^=9M&qfC8@nZ>2rR%E~qH+n$LZ3U^ABAW3IX}$~H%TuXEv?NhP=$ox zL*gxmM)`y{h$cq`&$7-}xeQi|@Rpc+-D4R(&fwO(5SGSYCq(W<2!b3U1Z)3I1N(AK#Bdonz!c?UYVj4*jaoG zJKdh5X10lva)6zEbB{qAGGELpmM7`caYAyraO8Zd?|ZM8bDF{oT_VDCdUJzx?~9u& z_uA(f*2ZHgEqX7v$?s;`2p%IsGjB80?Rpm~H~a>>q;7w8&t%Apr~TvT|J6$F&Wo_= z)Oy7pFkR!$Auaw+QXC*wAzGR$TKb-(JK%Xq(pZk{%;mp*C0bOR@ox+wWmjAkUK^FW=g`HV~==G<{_dfLMj;b)%+D6W+=@YuoBe#@I?hN4oqeSEBao4+|Ko2kX$4 zsb^pZMN;^ug@$ben82AwE0^^D2J7}*u3*0!84s3pi-^?F(tyFfA4;C;`xLlTS?0VtzpO(&(=jZ(;q%q69q~_O`LOD+Q_qfb^1~}*<**Z+ z;UOQzWF+%b(G;Vl{}*KFH|w&|pQGyO-3rtJCqHlxOm0ssmei#3|I?66jvL7sZ}UaA zWRufUIvVQLGMVa^2?Uygi&YXlaGylEmdfZWpqF!SUmJyu$`Iw6eYq#HHr+-lgn=h&@LG+g}bd z-9AO;<|9UPJ~eIH(ChpOMm@UcmBj?>@$2-IyDUCy@I}Y_m75#kcqCdf?m?br{y~_k zV4h3d1ETxa1LUAWL|1xnM3oi|u-$;y$cCGYBUX% zT6YFB_L=~ds@<%b?z4bfm%`T_mRfy~D-zpOATT{9!ELSNmYrzyZs&4JFV(lZ$A2N4 zsOHyA9p?a}DKNUWo;F{uC8VKR5?a2A$pQ}Cw7FBww7No$iOD;wAv?Gw z2zC|mE~d~ZxP(dTiaAe%o`Uc?S%);00TY^kxMrP$R*j47N?6w)shq9bq)e{4XiOf=8>#|ICob*#zMJgI*5e<|eN^zc@zy!ebxW(Gf?@ zs4t@Z^KS;fmem;Zzk%^r{@1+kGikMACVG{vP%x1uP*2z+#%ein8sqFY1nXQ1JlHcV z1WF899K&8Z8hlu@ECgk$$8DQIN{J6zw#Tp{*ck*D%CABr$^x2>qN4&JfnH$q?Z)#fmFzb;APv(B@#R!pI7aDFUUy~wQDmT_IZhG+2TeRI3s>v|Gu=x^45~L;XM^`z1qOG4xOL9p}VbCuNLACQ{8}8X&|VISP`+CD;0KY zop#6e{x%1!%Xq+9_G?=iDB1`x5#OdNy|*AKQ-N8(Pd|pWmf-6T>nO4x0xSQOP%9AWWw0qF!l-wZ!HprunI9g4Ru9`dV22^$xwm#-Di1dItwA zr33ay=bPr#qjvayN@I(x&q{cNFr{obW3%-5+q;*33uJc#&LkVUt62*@9NikNt8J81 z+!Q#TGRo~*?XY^bC?wGhE6KpAYM@F|6`rKrpM;w2yTV)6+(d2i`q`mC<;pMXs0+PK zfy(ZQx&?ee81(H)u~pX%%@2-mX2go5^jb{}T{53N-iM7szMc!XS#9vSciXj32XkX# z3Y`#-Ahah<^A^*Zo=jV;Kw{v$`}Z|7^jyE20|@Mz7JikC&!pDww3RaB^% z|IN#ElecEX%J;0HU#*v(aYd9T2!R*Zrq9M4-H8d?ptr8N#`ySnP7opI*G z1sE;V1|gYX0{o(MfK7ByK@OqX)(6zeeJ;SC4*;B?)jb*F1n?a~tc)=;+tTE+t7GuP zkXngcZr>f{&#ut9&!FC%a-K$%E?PF;_p{sgJ&{n0PoAeD)l!*@T_uuPS8S;3Y6zYI za)Me1?NTH2^Ja5va{1Ds0^iGp^5zptkkV_Cv07u!^%=#e*mPfa9sk}o>^bi0LCF-k zo8>S$6Pe(wqz-yhH{f!z;Z{G`GS%kJ4L_q`e&6l4tG?M1WxJ#Ya@zuGOL4dQ_Dtco z3inLeeh>`fbm#7Quyy0xkWmK)K-H4>A!9?PKvh5@1z^S=`IR4GrAFVO`NuX%?BZbM z;k)Thvem0!ubnwrK0szLD!2QLUqL?F2(W_DO)V%ME(J^r>17tcowl)gl)D?IDUVlx zPE3ypFGDNuUo)#7g?|h;M(|wF%h*_um?1qo_S_yFU#!aB){F6O!3Zg5pq=a6f(kH^PfYsv7a4S zO_DBloDbx4iVoIrRfGXs2sJs-TvucIxkxrLr489`(l3?qwckEhesTDi)au@`Y!kOv z21H>zBonEkMIYD3r1#Ef0oLX8BKEHgE78obea#$G{a6EZ$93y3oR>Ko3PbuaCZCHe znq(MmTH0J7C@Q@NBZ3p|6#WxoH8Fu+zbu*9zjhpMP%^kGJnfUK} z&@yP%Wg8v4g4rp|gN8|LGrZv|BKcZcDLY4uV|hI;_C2u~Wmj=Rn(WiYId5k+2ax(c zB@u_HaB|(7@>sCW1Ua(W6Err$)fF^%z}59;V6^Xvy&_Trmlp^&u=NK$#|IqN4SNN# zASM|R9a1=B^Z}(@HML^8(E2pNrmv4qJbWIPL29`wAZcFDiHBpem@X6Xc{|^fW9?eN zJ@6Kx({)YJk}0sb;#PP&u%Lr7Asvk9xVNB{RO%(DRe7j#+uzSX^vVgfJM8>oT34Te z^^bi&V~;!j$sPF1cjm7sO?LF6q?6l&JVSmqj1o{qxIJz$a-8hz(36>wz2`$^kt=Hh zM>l9y)`6EEk-gT#yOD8rf{Ms|7oTviZs@9!5iUMyPy~C^!&Q#%*^oeR60Q1E-GHyO zbwjH9C$8$@&m2rX>l}wD{rN0eoK76ZPYW+oyzlC#Zp?CNzvr8*q24_vT_IGqw)Ba0 z5CuHt=hy`8&#@GY9oOtKiH`OrxGnK^N`X`7ohYh-#Fdp5*sN{`Gn|xb|J(vei=$cf zdDQhWkEQcAO6l$WFEZ9-(&+gkU~F!VP?UG*6`jO&-JZ-@9~t9x`r>#VT_w}#Bn6FF zFkYDQ5r+axuGw<#P_%{%Lk-l2?(6Hyrd@*ZYGtk?EuY{6zfH>ao0NDLH1hkskXzTN zQhy#);PI1*HS(v5@P}I!89+n^_+sO+e2D)ty$cl%{(QiXB>osP8L2H}EvgPd z`$*&}F|hS9!cVQ_g5b8(yggVSyRvi+7jYOqjS>}S~OF9)hJ8nh4| z6^?FWzkHCo^I*gjJpkAK)$|fu&@M$w!tW-sY-0Q0A3O9GXRl>n?FTP(&IlgFY1Tewu#Eq>2G zve-medBna(BMzEY{M)xG%tL3RgrWhevzqo!;*h1J@^71@K0Uh+2aX0P@jy@JR_7Ki zd9I^ysUVxt{fwt_X~ThLchLc+Hfza;@#byA!mQRONMr(aF2gBtTAT;zDC1p2D30l@ zDfEj1%S=ws_Qw@8yhPS&tJ;*I8e^J4|8RC5Lw5VykP!1=iGQm5C*-~Qcs9$&IS90Rk}KhsB^juaM48=c@a(3#Nt6^2*=b6M zxf(6dBrsbax%wkHqW!kHwka?TZhJa*CgXH#N;YZS4k!jMtck{}O3ckl;|dkT6zgIzx3Ihg1a6*CDS<3-PV8c9-v`lPSJcRgbyy)RLpj=8;wA`$jqul01K_c`J%98%pIW@}qCaA~eE$vw} zQZCESuDBnlA3?NU6xHj#I^-|Mpbz2V&IoeJ_!r&lX4Ej`t+2r3^!;vJ?7KMdO??sH zQ*XjGLXl$5?pUBbC0h8&wVW+D9^W%AglniLBIWJ^;kB1V0PK_qka8VKITeEcWjxk{ zvUWwum2ucoi)`)n^U+F>xnvClUbi!KL0B~fgVMK=<}G!kr_c$_hpE54e5huS>b2Jwk~*7E*& zx77K7-weh&S8LtkRlBdw+Ow(G+x;x4=k}>=^TGC~cY6`cn~8Psed8tU%rR&6ehbx6 zJFUwBacxvocbnjnde7%)WdXk_xglBCf$PB15~l8fz~i~^(Z@Qg=wpzI3LT&>Ay!tZ z;nKQr%;)gpq-mrw)myy9bXGm=u_&u%)kZn81ruotNp%IC+}XpoaLPJLVtZPYn%|{# ze^Z6x}(;9^osW2aN>3?Sz0N{UW_6(Iii z-qzap0E*KyAl!5|E0Pp;b_VeEl z!xh!*|GN9Rw-;l?@cAB+zY$`vscKOpi%W3$(l4E67ZY4>CvV#{sT* zA?4%>1MsRj4Q5sMn1*lXHY;a((q@~G)?-D@V*0@M=&?6rvpQ12W_wbC8CwZiX370` zd~NswSmj1Q$hCWr&>DbeVy|%hHI7U#sjRF>>Ju{5 zybnGhLaA+88pwSS{!OLIkJaxrVy`1dRI0g-uhA1=>isZH|Tkq7hQFS%VhN^3Xi z!mu%Skp`p-d+`oaL_V~KXy0TJFvPp&dMTfsg(cV{@iGn}R{)vatEVu8!rj=5`i+*% zE$9)%z-%e~+^90q+Gjc<31_x3t;Uo@D)c#E^Ips@DRP}!8115Hf3pewu#59&r8l_*N=-^T(&-k(x;)K>@9j$`3JfW7rM0vCciOa zL;r>b#ua|@Nlx+e<5Ps7cq5B7!ypTzJQJ^;O@pAZ0-oY-De$@aK9bxM?1j3pe2lsP zl~VLOeTx^WX=}s=T)&1MyUtLw9opp87? z%N-3g1m46Ekj%q*?J!B&IF#G_!34J%`X$5eI2hA6X&Ys4@k|(Hb19!aJ~eV25{t;+ z$ae*iwv6X2__?3u$Xy&U#F;&#f~O=Z%cVHyhVw&s@K$DjxQrPM2F-OlBL94G#=){> zqp-?hE#UbPfS$=p0*`}+$IVkRO|rH*%-t>8+I4{W)>#>P%Vh{F)fjlq1^;x=7~=EA z=Q|P4o*EO(mJ2|vbWMFp=Y|ifQv(=)1Q7twvJeQE0DhMKhMJFzR}v7Hi)U5$FV_kE zc`Ik21f))7hCkST{4wOKOC4$sH_{A>^hkgqRGKLT_Y5ilRSFF*f@!~JRDqeCDy?6a z{>F4ZFPrs%)%kaEaL3xlQ!-cH+tvw*ol!(maFp(5OBeOlbkDpd3CMXb`4KW4gQI7X z@7QAIDjEq9uF*k~wjxsZ5pI*()Jw1nJt7-d%YBV=h#BJe$-OT(jNX<@$S+v0Wt%^} zt@B3`s*diNR!xt@+pGOQyq}TXY%#F2SnHG~=olCc-elfjDJ3H6w~YKkSTF612r6Ee zgE)@d`4WF@)ndOH^J>9fuJUz2>=gL z1xPq^0GZS4i5>uxCUrb}zwUQ`MJPZnLtqstmmqQO9}|L}UP>_eG&ZXZ_NXMV&}ojP z$oQoclp#}$^Mg-~TBLSd#fA7b{s2}Wpca{|NG~r4(V?98Q!MjT^BPeBY5^4iY z5-B=FAd+bTb3rZra@i!+kX-!!Xx$n>nCDkD78f-PlFd7= z$ji~uPxy9d+Bfg#fduUKqfo%lMyx<{^XGWJ@^eFzH!TDbkB|)Z&&w|4UhzvMdKggl zxB_7}GY?aD9lHwXyc;#U+?7wI5D1{ew66qtMiuZ-%obrqzGy1HU&bt5!@I!?c1E-9 z`BGfwbMluroQ@Y0Fb+9CrkYZpvfv zCRdBvvpX|~S3wZ;Ls&n&E4IiGwzf0a`;1 ztl|#Ktwb)-62#R(&S(Loy%{Zmxo`Hv;N1?9lkJ1~NP z&ZZ5OJtpp6IojD-eoEt-3YkJrJEq2CE=XTt_#*yfmt-{%l&Zt;J(tw(H`GR9f~o3a z@=(YAWM55{SjY`T33EpHb;dDg8N>_{LNMNXhX2GG;1T$9qqno@D7KBq=JQ+Ij!_rP3sq#k`DNOh%KA7 z(Z$S`5)E@!FP4Ron5*3vQ8?O}wvxezv6DmykErQ1v6yFx;7SHj(z@91Rs^C+OMmyS zR$>zO)At8VS!tF?>*Sp9vqUcJ*PB_AGsXs$aocG)vKAsG-!>fGXmDn2p_J3&olO?w zVga9dlvA!o8beW%zUSiIDVD|YDl7{jE4G{WP)rfsH(c3EwG1}98p#4G);32@IIz(7 zSUPP~qw(bJE7Rw7zdXvDyra>L=*^$BMGn^C2G~|wLt;wrqa!+FvZFP&fA=|AuxYlm z?K@?U0jaxF{V<*@e)2(1O~sj3a&1)FVl1bF&7q-9FRlPc%}TJ$N)r%O%UIjc@Exn` zYQ4xUd1K*gX}20bSc>D{C(xE}l+%Y!h;qdLZ49?+c63V%fvs>v-QekA9jS}#Z5VVU z_^B!Mh>69-%f&%GM~nBvJiL*K|@x= zN28=@?;xs-t1h*n&E@*@m2y6(2WiBG7B?N*LlBLQiQZtouJ;`&C^Mp=oj<-!mq=}+ zW?-;4F!CLZhoo8RYbKVd;y$axvuv`)Ybpu~{ATb=FEwGKJ+E0@5NQ`b16^kv*@KEC>;R!R`xXng zCuV$c9<}RJTLsC}IcO)k>s~~ghvtF8m3?=^cWoG6&P|>$datm7#SIR{)olp*k)r>x z2wo~}!w~EC*A#Twg}sPs3FFxq)Xay-@J-OH{a4OGuS0_5rx=1{Fm@teo|#!VlX&pq zQ!v$UkAY9DO0?2SvyLccrCElivxs!MHIBCw=L)Tb(W^yKhxZ8&@dwk7iy^OpOB(r^ z#@xQy0da?C>lB>N_b z$9m71FyL$zc3KMdngO`(SE8s7q%0wAi1%6y zdl4b}51qJ>iF(2inll_CDOz58z8!3aAE5fofpC9AZl+^`S~cu@ntG@T)=Q zy8D;+uECGEm(}|)6LoRo9q`x;a#R&;!I|C{u0=wM2KIV1RagWxj`X)N)Hu!zz~k%25{>hx zF=oS_WyBc5z$GsEntR+bc8}3ffC-zXsc`#>`QdnDXz$7Zy#J+*hLnAgaTiA9TY+D3z`?D-=%@IV-E-uyI@qlb}ssB7diGX=_ z^eeYlu8m|&Zw>3pLTurSDY!u~qRa$BHgDH_;>}i@!h|f4HoZ}_R&l~8k}*w7r{2YG zMZ?Nr(x!h3lozZKo+9z|dI|lBFRd*vc^`-Y;iLUq9cNroQuzyfp+w!mlyHdwj6#yr zq04mt2c5RMPDAs+imJFG@oyQN2!jRH1pf~d>@1!)Kohk6@kYsP^dog0oz#TsE!UCG zxOX#xE~aje3*Ic{fYf90mcob>H8UZG_YIq1zuMdMr<09paa&ixR*DrDsaiTQb7uy( zDP?G>TCI9C<_hZShIx@Al&cWb&vj7t@#PEjq{tUy0pCr6J;1wQKnA$Tq)n7f!uk4a zM*6kh0GyF;l|vGQNE9#z8VfW}2tq_Iy3d)R;SL=JZT1<00C?vM5}gq@!n|HIY+F;5 z3F(&Ba586iN2ul6-+L6gkclk^-;4WxFmL|>9wGr$PVh^m=o=;U3eMlGv2vj3{b9Ux znnEYvOl=UD!*N2_8i#GhD)wzBzTcts4o5>6v{5l=%OJ4SC}>w_9LAQ_z7*0n@GsZz z?^z>;p#o^#0|bBdV+}+kv45NAqd9s{oo)qis@GYWGT6!4>S_GFM9%DEJ51(9L>T;h zPC`}wqvU3%yPwRz@pyRI%utT}&w%8r@@14)8F#s+mL;h%k0?grQO%HsIgFgV_^1V+ zYTvTvyt*d-PLxpsS_ruRpPcpZ6RS}j}_beWdcmR3r_mF)N9tyor>U#xrY5U2{vn=ZG z!{37n;w6|xjGjN91eo% z8;+R%n)#K=XwLR%Meh_DJUzsQleIMWGG^~bD&ZijuwwnK?66j6Cb3p^XBSF^Tz|0{ zcE=q=;K*tQas>lCA1XcI<-pdG0O~)X5w&lh_n|B^yTv&0X%HO;tSatl$RXHw)dA*w zla6E{$Y&j}p~zhVj4Tpi7Qk)4D1c?SXVN2>_!t1*vTwt{s}hGOCU-HgtUj z5iQWS?D-%{adY_4lnf|aD{_lxe^!I9gXq61-hJu=ySZaaZGjDW_acK(0ohx#R;-oA z2(HEoO8X{H{5w7_`RlJ(4Rn&GG-Ycg$|iP;H04Fb$Z|7vH3i1nLYPZ=0VO(C|H{oo z1)Q&kDj!`rKE(WN0k2(!iabz|8QS#@A2#k!I_w?wQ8$D_h?JiL`0}Ble&Q!U>GeO~2i z4)3QPoJTYre3D@bg)txVzDI1tvCLt+e%`m;yqQ#fJqtY)l+WlA@XECrQ>(CYUe-0Q zUce#smF?TwiSPh&XlF%?Gwd0fWY_XN??~@5@jF2wZTJh zLMvm~Z!9zQFxI#qSH2e_JR_RrzyqcBP&IL=BRW=BRQelf+!~;8zMBu~ji$Q6?*@nM zMB3IC2(vrZceyv`{vH!$XKAtVX!gKs@9q;PgbZ^yQcyLSEjZ+=os8!_|88r_>w<3P z5gJz*LTTm}8W)VaX^ZpcytT0np{+~Ec}efVuohVT5OZDv>y(JUPRN!z@lj$|g^i+{ zJ3JL0EVAzEpjc$ZpGmU%)4nGG>6+4Y!dl^4ta;X|?3t#m9Z`31MU^(xWV&&cru-V! z`@p1HVs81TByGc_j`SrY+766^TuyEy_B{cZq?^#fBmM zzNHf!ZGV-duy(0oievIi_J>l(?x5Yn^d|`QPHR%rRv@@FMU?mc?ov=z5L}9(valon z_YYjgh{{}C$(Ku|R)$ojFPE#4G<>viJijFs9BOvc1MVU84GTiXSqO2@leUh(35RY_sFklA{VHWB4R6 zA4F---%hcwWqM#_f!pdA812)g$GWYT-ZDR9F)Er=xPpXRYu@j%f? z8Zxp}E3}CA<`JYsl#_3A>8l7h7%QC5cy>T;X0F4r**CXi4J~7&UPla7j~7Y;tF>S~ zQ>WT%Fs%QlAuj-<%6>%KM~%kvTP`(6W&E)L|j0oKoS#D-YOX#C2_5 zd9+;*TDR@>+eLU_9SFNq7D8=V1>|zJ)&$jMBLXHzI(R#%2TO_#EK1^Yma~ePR;Cg@ zZ2kDz&9X;nyw=%!8k9M95j|@fpbtctDzMj9QRk?Dsw-Px8v|wE8vsX%MpbLE5-WRB zlRii8GabW`yc3;4RjyJ*{hgnLM3$J}8Kj>zS1skVlh zusD3R12#GC(bhUQ-WFYL8RR99`LcB-q}-{VlFfQ6`hO-=)kNZ~L=yk0G|VZu`o%lF z#mxWx59?#aEb&B##weWKA~Vr|x^+4bV`g~bySVNZ8CgoXU&rDjUI(xCLVZ?q^%eZy zBP%b;8eLZr1~Acj#^ElpfV%n3Sm<+g1W*k`8&LcHWk&CI5kW=oe)xAohtoh^pckc3 zSt_&UuiC}^YRf)e^yK)p45UM($o7LTMhSNBk2E0b*dPG}e0NcRD;BgaP%aQE0N%9c z4J`neX~IS!;A;^D+}EA&D2XAOa{#Q}aO2Jz(UCv3cLJjp zvy?92{oNFS_NP#fB{PRq_)mFaj)#6#rxua+K_YGt=mJK8)X6yA*ix*52@x;*vPz8T zYK-T(nu&0%G?>&Pbn~ER5|!N8)nt*%#wtd8bexut!q~F6CScWI&wO!MX*`zM8xfDs zLiroc?)Q24sl0QWdFGJNYEb~KYXM5=*PFs^LjuH9yf9bs9FZc(%a{pnyO3gXmH1us zkNzO6H0Y*RQ#DgoHF@Mzya4Ej&C=iI_7LS^`JqgdiM$)tlPtX}VjtTIUej zgJK!w{B(rSw&k)-KW?wE!gAK?gF^7?3nKm`5nRvGYIq1mCS-Dp5UZ0k-N#VrF@rz& z!D+Uoi*UtP!A7r?`-G;b3eH?e50E}LMzi=oXQ9tOP!_{^lFDS^kx5gY{OL3qxaXm1 zyilw0nhHPjP`2Ex(|^%+w~Pf-I=_q^PXKCN20 z5^0Au;1gw>fpEfEs)NPX%iJS;nm?fs7S7U3FVBW!<(gB{I4WFl!K$IS=t)%4J64?T zEZq`$JY1lr5X4lqMkZ{W(9~sba7W(>nmIAOQ422mOp#R)b80rFSwHjp^6}T)jc-Zi z2D_K$H)?$Rh*5XJ(EL%Hg7Cx|GRqDOVTAO0I%Lb)2I zLDsqGtwG9%80!D?%SSy~*b_+$wdHmKN!5yALOVH}+_eO^5I!j}>hHY;r_i{i86pWz z^xyfCMCNdIGw8o>dBd&(EYD3xu$sN-&&=ny?uF69aN_jU?291@|Kk*4{*VjVgt#|G zNZKbEDL~pekX$MjxX?(7=6?g!2UXT0#Uv5sr6A!a3hjyEgV5Ug$ zG<62s4%HoQ7Hx&tv7@0Wz)`jhg@`l0hv2L$pbSUPZ zj8_rn&u(=(0CS0;i3PnLLVzvMScqBpD{^{7<|O3Y9FgLsoN%&6o4v~Z(*IUHVpvL9o%kg$VDr+Jaulw~5HIaUf#4i_raIYB_hTQj=0{6~L@Un*`*o*)8s$&f`28rm zH3J1@ut%X|Hz!~2danRB$*S;Q?RuW;J%ol|tZwgEp$K+=?J$<=Emlp&f^zF?^vg+@ zIL3kvvHsMR)ZCBQ{mPni>AR!6TjBMcLMo+$V$JVOi84sA*7cIqD8=XBLS(`Zf?mCb zSO0RYY7;Y5ihKrn_|S>S?7k@?l08PSZykB9mD;zIY4g~6cj;vC2AFUmsO6ES#43Z#xrwn-)l9)aP(x4Pf9$D>$yBkczSDm=a@4Xi7_`x283C-YHp4BOOc}u%+bng_5wN_2ied#%IQlL3;qHV2Bs8O^7 zb7(ReW_>2qRP$r*zzJ8ffJ`of+5KsU82#pIy0C(WPKv3bxe|R&xH~{iK~$voeS+#8 ziazc=*RsS+!+a$vP1%yyJD8`e>xxM>WJ+^xq&@t+|1d)CAtf`&^j)u4U2N(ndqOV$8KR^?=2y@soGU&goo+@!Ply zUNn-)6EfNOsr{ee>?uR_q7f>a!o3J<$8r+(JTZyI@(@)rA1t(L*@H!J+q8e;Q7^BG ze6h)&&S`QB?$_?B4tOufCT@IW?KD( zq^zZ%vU6W6nds#9ycyjS)>f|E_AsVEo4@uue9;K|&Yi3Y-7qcB4Zv%n3H0fY^3suT z8>WdNtD1E87cGhT2T5}iXT+XMBZURZvTY*I&_zdXTo|mJ@5B{;&C|Kzd2)plK)-?K zky70EkhwIcu$$owJZ)oqn0!jI%7MZfuEu&mUrZ`!uNTuykz12^hFnB=>Lj6@V~)=VE_KIw~6Pbq-sk^g3@BnI-%bLyuWf#|rFJPnT)CANeQybEOAU10Nb0q-mH@AS^ zYG!XB=yV1HMg8y+$bQn24gFu|&JbXe>;d4(^KzyM6p(w|0H89&^CJ*s!m|Y&V-sld z7C-@qu)6*V9O6I^7}nqcD0bQZy23iCNV5;!1}$txI>QhRgNeMQF661_x)piwg-R63T?68!{)KI)=y zIT`q}3~EIg)DmEC#Ow>;ov%Fst!DcF84}@OEw?ZI$x$J=Kd(AOSro1&^Zdfw5)C#s z!sloPM2QEK71=s#vp*q<*g47B<^I%{FEei~HeXCRi{07tUFM~l9DK@WZ^;c(Ojb?) zR+F+yT}!8A$XKFetW`P=>^$A7m^+ZKT;fzBA0b|$ew?rf}J25Q`Dt z;5MCY!kanxdE$!q=t`suTky?z2QS+3ca02z;K`oPbN&a*^8{AeX1m#aI-_!zTl}-M zUZre!owx&!e8y{j(7dU%jl6}sSr)LZj_?|I;}1mHXeP4H`Rr=*0^xOPh#vWMk@kcJ zi7)Aj=iZ-xG18buZp_exQH0O=FcnSoHqdUb5kM@p&aT`Rjcg_c$h~bI-F|#b(th@A zu6SwF&k?(vkvYGBB@%am`^>w%{-(v7Yl;HKo3i&#Cko+p^|yQT{pO3p6;W#d+Nal& zO4;%RPw!J&gO z?-S9myOS?0!d$+QCU8nFY5;gtUz)vx)ma|K%YXV)uh^En=)88_83M$y^?cY~RQFLS&*gyGPfDP2cB=XFot&ZNwy`%*{PoAf(r=ERQn&Yipmt1EY~s56 zBhAQLWdUi2z|TR=0CMb2F=tyoTK=&&{R*5aMO%O5Fjqzp*-9LxOZagALqSlonGU__ z8;+mL7B1N|O8u)pSMTq2r20>^%yumKgNd$R(Gg> zH!8X(-!y@HVWxOt+h;=sB(HB_V$ffQ=^%+<0;gdtzW(SXkMSkulG{O@$w3iD;{Uwg z0+JPeZ?ax!nmkfiaIv1cC5<2HxDkJzZz)RB7%REpP->zR^G%TY>Dl!Ig_`^@K1rQ1 z#)O`XaXL8`YnTUkIF!{;@j>3hOvO4ZQ7#8v3LVkqMFoGOM~OG*Gsh9!l$zu-y{9E4s-X>v zLm0^a4X^gqttiQW%M4Lj^7xd8l5>uo6;j(hM zN8@1#N5Kl&xx8I8gaua4XrM=xYl%52-gNmh6=vX|VI@}T1&zSR`X>EZ2E z=_+5@S06Jqp09dSBA*BQKP=&%YuqG7PIkU6He**+{5l<%BA0dCy0y4Hsz_Ca?7(!= zjq%V>MjR#<_v6kYgLJP!Pyceg-R2gN)-7%sD)x)Omb#$EzNUxBy5%d@xlgux-M)R2T4y`7PW)F_Z+%yySsyZsKlqcai z(KVUn_K}C-cvY8C6g}cttY$inD&#a@UsP2fywIEm@-m)s4kw|6m-X`4hBJjH!>dr+ zP9hU~?oaIej;aqQQ!Zl($4AROZ{{W*52H*Z}xrT9_1WyARggY?l_Jbj!N0K8Jn)`%K)-G zxYHPpa@8ZUQG13)!cy}X-X|%Y)ET3njl6`V)b!rH zvsZhi&NNUFk_3)97aCxBFmfUb(m?ln^0;$$GOpVEW@G6KMVCIQpEjS`6n*VZS-n&f zl80iKZ#+-X%kL81GoU!|SX0Ncc}C~LB`Ts@-&S+h2*EB4xt0WC3-AFKn2eYF zp0Y@UYUya(FB3Jha<;<9NXRepYUq6FO^R+{$l0V()g#zhG{$P+hUZnkkrf^1XzJGO~yA^LR9O6h!!I7K_zWM@Udl_k~|b1GC4d zuPPe24qez){aPXeKGZf4{JWb$RSuBI#j#MFC`h0YDZ42CUT_vrA6)%GoY}uARWT&F zOE4msJuLjwpEJcgT)csDmlEkrvpv^;$Ym0X(pfH#8;SGbmWd;3y6Qpu&?;f2QS%+i z-lq7^0@xo4b&On+Bzv_$8TCsqoSC>RvDL0EVWkh^)nIb&t`QeXnU$m z^k8rr8e^jqkIz(VZ;!k07j2W?p0t2m5^zS?c?8~J5@wEJr@Ym6O zL4v}*8xr`IpAYhI-D_c<66=nnjvX(H*aQ%(|P!k%&V5{7-%k6zXBJizs{rHS(nl)BAT(eZUAIlt|amN z)!xaKsrj51l^f0umH7%2)5R*Kk+y5v zM5$?d4RS-bD1Xy|T*MGEp4;u;oINS=n8oy8?!J7QG6SzYUuoB&if6^4O&9;A*aWNE z)Joy>vp-?fWXq}BKuBLtLGF5 zZlGdKYN2y-$=Aoha|Ro!$ojnaBa~`Esy`u|Twg+It}^(_Ih|{i93{zQ{D&%ahL~z8 z9<*cuDvV?UxSrbQrysoP-y_eJ7i4y7+K15Iidx)a(62pp&lRt*v~!1~Yjj?{1#_jU z<+%;=9A0zOhBWZiK`k=|jL~_Of2G&D)P>h?RC0^+)=Mv(Z|gtM7}`|+y3M|d9j;3s zxjNA@g?+0FL;t~R?Y-)+z_rr!k`cL#(L;iEur0bAgZ}vo(GugMa{4!_E(!0 zLpNXVq|vu>1$v%gD+>+!$?ekRA2R7z&@<6x`5C1+O>?)yGN`QW@uCM`>4RhJ@0RW$ z$=0Qijx~yiFS%PxwgOr*JQ*)7Ckknkr_28rS>GI7*%SO5+qSXs#`eaz!N%H+ZF6JW zwr$(CwMlMlJNxeU_v*br-m5x&X3k7c->IpoJ2l;(?q)D&pjJ2d3UuWYtL>5QBsf4U zXMT-Q1hTowEhFEdFw^2TP?YEfN2KMXF7AF1Js zmNDaxdUm8zJN-mH(6(a2WIeP9L0=>eS@ao6m;X)}AyZDqGrc94y~AZ6%*@5j(ke#M zY1Li`CMf1lcdw4hg*5?nE_~t&4p0IANSXvie`Cb0kz<)rUv&{v%J%$*RbOgt&p%Rj zdw#aWli=rpHle3yz;>%x$mZYG_t65q=%cRfWn7$}cPyZ&<`MIau64-RUFra=R79X5EajZ4RK#6!J7WrghRYd*H6P|o%*O1Q~xpRBd|H*q}`DyMU&w`Du3-UBlJng2f?3DUO!rXW0JQ< z+gQ01?K|>|2rS*%k;FOT1I(NnXI{{wGRqZ~+rJL;0ul}0Gu{g<#~yNo3B49Bpm!2Y zNskMZR^eyth9k?X1u?Pt`1;e!8qV%=p1ZcstPzYoZj%IlRIujAeqGrjf+#`g3S|E1;jBn=a+fKQn$W1weI7ED&eECg*UD zRZ2$IAZ6i(xUc#(D?n@eC^1iJXhIoTa{D>B^cql#Jij6mR{>c z?w>@6`^hp3p>~88mH0ZfH0Ym0ypjAX>MhnQaxq--G?9!+jEbj${ikA(Y z?fGz>)s#;1@RI7$^CJa(lAi27>FR9FM~$+R%&hW-cud|_fb%ciOS5B=j+-7UOjmW$ zWoFkeuQ>%AD-69s2rUjG#ZyKR+e0}m$g_!CU@Ssrn_gW-r4RBC^h(-|aBTd@p^9#E zV>bRcxlHO)O&+h1rr~z&wsvO8BxQG*F%(ap+m2CW@DwQI+eXRX?nDHS%i& z+F=@m5gCU(#s-ia%!FLxYHfo5+C8uU__OB0Gu@oCfS+A zI!!;HTdCz_@XY0zKXF>Viu|1{L^(*R{BrdA>w&Pne}}&hQ~b|FM@x1(*92jH|_Y^!L(}=A*&$b{oTg0zR_lg7xGu;8DUs=4!1=U35XHeW$wNJ3E>qA7D$Jk_}F1ISBEhFK=b zScngt?svj7m23mk8{5x@imY~n1guTUrT{EEBf1?L_k4$Js{S{2E?HTuzS8hQW zf#dQ(T6;I>B5xfhy>e8VIE3iY9Z8ggmLC=^(fCG(H-sggk6$!ufEXK6t2iSXo51p6nxxvDqMzQ;RO4F9aKIVOy_GQ9(KG^&b?NR+l;~|tnODo9kpM40*7L6PKx4vD=L|p3Q01Jmv|k@93sLM=^gqS zWTOW-naexl1IO2*EfC|rWf7(F%z?KBm$&J0XOMuv4l6{0_wY^T2D!lGM+gs^@ukii zcb0;I5VC*o?0hdlJVn#vAs5$JAhTIL`U}Fi{|9`k_+RVTsXwT=-9^p2oN3VXfmZ(@j6E%IdC z>9dBEb=wdmg!$q)-<6>%TngX>ha}K>&a{~$=9pI5l%dp@!zmsB%n>5j$ROd3w!aGC ztb5`jDVhw)F(rOIXSRP6%k4@Jr?`;^2~F2Y`vwt->!b|2mzWkb(pca<+!ZmhLV8et zHk7e5cZ%MTui1qDMR6T-z9tL#Wv{l1(J`k47|ZvZij_A9zr^iSL(BHb!{l z&`&sYf(X4`zlxlI8fME+X4?W;KnR>nQG*!gw{5*_)6lho7G>6%f;Lg*`c9D8T)dc| z*OPM5z{I7{ZrGqa-TMLXTSY7upqgh`*(=`odW+vFDGPmkgP^PLj|^- z6T5`Vj7hwS8iVK(y`}W6ard{JDu`P0Yi}^tJ*R2>2@pLUPc)BX&j-zN`h5e@S}w!2 zcRJsm6BE${h@OreYoB>Ds^U0{iR`d{f&*Do)SR1DMbGke?Zrx3hOi!$`QfodzM4jW zXfMgh3>_22{T7mrHPbM(wq&&O!--Bw`|WCXF0?wcirLxn3i2Hkk|$_R_fFBlY!B=` zIm5NoLMPV}XD5c4PMTjHm}P@!e>S+MjO1Bro+!*&)Fu6@0{isq&V!pZUcjnwD?CNZ zaeY1gOK??CNCb|?UQtfs$Nw(V_~2-dyt3nFxbmtp=4oh}tAM>;5Y@ezyoWNbzmdze z_>67LA+6h7%w6XG;_Fw$5qp^YLT@m>Rx;^co%>gpR`AaNLN$odIcgk7>48+Rw?_x` z5pj)y_<7)?p|ipaa+ipi^>xllUe#J@4B0yIoZJ|RW4Enie8{E6(Z=zdZQ<5l@j~WJ z)O12_UsgzYv=x71Y^WL!`QWYhH5uF8wbb(KXzn=(W_0c(RTy|?e9y%ZoOj}jh60>z zOqWHK_684C+Om|-xDs>{q*?B4u6V1V498KA>W(E)G8>QI;xquw5w#qvJf4tWa_Vk5 z#|7@8Q^{f@-Y>A9*BKTB(He>f$&B-1XQ`8-uK0G;wV}5kRfjT6$2P+s+sOSCsuXJH zfugILE9oIb;`W<1i4$KX=NgyhWxD2L?_t5KEbV!VFSAwzWHa9Go>nqCUpkZ^wgyZCQOZkNP9AS7cjL#{br?i%y(XU_e;qto= z9KVJ5S@r);8O;Q@TT|*xcdm&1+g8+-;B}y5bODC$LowpUKh=t+>xy@v;%S{D#6 zNbqJ$5P}&UHI80*t9#4KJIKnR8QE%+Tg`m;WLxcvdFLj zGjS22Upyh}5P23GjIv$DLq)ycu@dPe!~J)5pL!|A5Njz}=Qvn#x5L}vx)-fzk0_+4 zmg!kfosot`48PP3K`;_$+M5D?f81^Ot`o(-67qjLbsja62$Yk>-q^%h%c%>6jLZWd zCHnk_)tzvP*`lie;OJO@3e{_v`J9lbVT-J*fthH4 zC&AW&O;oFaxhlf1eS=Xz$lF4Iw#OoDz`MLQJHX^XHsW8eGB$Laq9=i|>683sPB3=Z z=1(MSIeAsa)LGaPrQDgMN#^H`S^Uq)%s!R1tyiwefB#&+CL|)|GAi@|uW+k6& zAx0^OJ`HQ!wdN1QJek&?x_^}%u)~dHUqLVZS8SPKHL4hFE-VSQ8Lg~&T$q1_PTx@H zW;gqHS1f=nB;tNZ2?5#0m+CWMB+_Jg+EQvXvEWXYDL-6uG<@D~eH?0O+ ziSIZ+Oa=4S5?Q_08NCX@>aa+YTgAOFBV`8)0XNYY z0vWYIdS+E=1mG|u>l~_Py?&hVD;EO`L?&w+nCIxEwTI}Hi57NT?r&C6QUz8~eQ*3p zY=3G-<`dX&%wwBJb#1NT{+0WNK>Z0x<`a*mtQ4%jzy6Z+!CWbatw&1{G;}Sgr$mzf0tCf=W6PnKk;K28` zEa#mc@=zo0OOHlCI;i#jI+7EGs_0cjj3a}j;3jA_-P6TzsA5$!G7;YR+Zxsf#}OT7 zMw!QeNb=UEDugj&#!9e;#3H_6=!ykcz2Y>r-^n3b5N9*gIAbQ>$>{#qTJ0op0F@5xZCiw1kw+LV3pfPY|i))$X7bVA6m0j@Cr3wfGOKSnETULnMG|Kghc#wbHzZThNv#EHF7DxDmGqvi9&-Ym$zUs^A>Y zi2U`_(w)OJ-DDKG63E0x_3t)S)t$@DZ!5*W+muIopj59y1+ohuLV2GgJrzD}uNRf` zPS?agD>%8KWeXjA1LqgCI*rbSUXu^m=rkflrbG=Fb(;?%_j5`*2M=LAKx?t_4CXd+2ys5mXq#O^J zSeR6=)$jYdQPTx0kDPBn=3z!B&We9dIN92;)H{$!4c5ZUWjxPDpPuV|sk(ZTBb|5> zU--9^HPjHf6&>I{Y0za7ajNNSKS%MkpkBE{j705t7h9;uwoMy$0{VK`>6lMum38A5 z-F2b9ruG9+#^T`}DJSUzyaU=PbM3+Gz=2l4F{pOd!0J5Irn+X_nK8fbL2szwQppOo zWBMUjqNJAr^Ky)p&f$R)UV@qr5BR-Y{@6(0YS7BQPyNOWgl;uVLwk_Ayb}kfx_9mI z$k6S+-IE#4+@{JC2)v!Kf1<`MhW+UiKNTnCkyQZ29~l^&t>DfDTGwWg99gu7)YEF{ zICjQLw~(9g5EYWtlT-Et(G`6+fT2UjjgMr-yl8ee$`axoKtmKQbj|Su$WILF=Y+=823#N)l1so&{Lagoa-L>xFXx%^ zjBC5&mTNo8h8d(IVaRXM>tDkN{BRmfoB8(!RF4J&07BPr)9xl6lt0dUq@R=r{w2g7 zhedy0B>E9K^M=NLTXk!+@f6w`ov?)`LtDn!Q`z5BB%oAT#Smu#gk_6!)aaxx z0BiWA)lEx~@T#(FUC#1I?5_!&kvw1FOB%1^50YCCKY%QphaqeTmN%*`CA=F}jB@gq z6dwF_WJcs>fel)p^i_ZWng)2oOqo`V179YVbsH(ycgD4U$u%4l%j+ z4WSjSZTMRcarX^|L=-@sOFLG{R0(xwi-Y;l2-?Bb{u-hrlX2fpPJs;B%qxB3;)rsa zsBHFcd3|ZW<>N9n(=?%Z6UoKqIK>h<{b`cJNdu{`n|j7A8+*pvlJCE_8@J7STv~i@ zn}>yke^)a@+ThfRc2byWF*J#DN?+6Uhh6sKoKYOKWQfb1?QBc+hWt^Gr(yy{zQyic=ILyqZ5RL=AJ$5v%OBME#0w3+!}W26u1MJ zyYwAp*G`bzrZ3SwMHvQ)wPHYavygMgsZCa>LnB3TGz7j@q$2()9ir+%+yn>GPhbMC zR_3)HUpf4rd&CUMO5-D)Gj6;?Y!GOV-6Ll!4ve}IOfVqZF#{d)V)I%BW6`X(w^lWq za{B1URPll!eZYBGqfNjYt3|i{$N&rf&8rQM ze%PE3E_h8t1m&1uqDErB1KtYT+!g35>7Vt(Yd-(zcoB-c*>o)6=taN+UQ3a2dvc%} zHw(wvy7RM!->s|LMBzx?P4!5}O*JL&s)SLF>%8W3RIig4TU)^ZAI6Hw*M!ITh^@cA zgs#_ArTE1{|TCnVFv?JTO&Ley&t`ijWxKed;3K!j1^{aAeHy-!7;wb!#GB;LViNBjsonwixc%L*uP<@bH+L zRf5Se;rN$GakcZ{IlWUrw%4>oE?3~r)~_p6>)L;GKR^C@#=W@*SH5_-JQEPIGq0b> zu=Bo0I-YP1vDZlsH;6fYz=%`1{gI>lDCr3|xHozrO-r`_@w1Bap2u+--@(^tz3+&9P==1BJ81R%Qk zPE8S$Md3jtpPUBqDkvYUX#jj~K__7W27iwej15$9wpY9Ha(u^G5XV!6iKQ$>ABx|B zCOL+yXUN&z)GE{S1@v^`J@A1947>3u;khM`_<%UGh(nlV*BD7adb&9 zZP47{Q1*_2xOtdNlj3Xa$>{O~Kk*R{)? zjtyu!sh-)RxP?3k8t~q7Xsc2~?#$%S`fU}>GobC7nLk5w6;iC1@(SgUKx|acvYkJ) zJ$-H^RqIM>qPcpwGJ*UV6V#JE^l984GAA=6n5Qd#!au~6Yy}71$kF+6tk4G{p)|PdN5PJ8ZTMr4vvzo8izO3$9&p!I~6o-$e-guOou~0O&3$XeB4t$Yx2cX zE7tWtN~93QP|>)Fm=@s6q!5o3UidgPYLZX4fR5>k8a+N0Qmt7UkE&x@YR5+;jkS_h zUIje__4s>5OD1uRr85d|;twa1=I{=K^W8tD8p+*s*VBKybU6AhH^-zuc0qrvqj`q4 z?Vh>qd@Rk@ai%`doNdGt=78G0a+-3I;C{3QdlRdj3%!a})MO(DYt_C7J}6jTnGM_e>G7|I z6?5qE-!Xwz3!-l%wB?sblqI(1tEXHSo|VRpuAcEF@>eOBD!?T#jjvrKUP76s?>%(JKX zQa#0aAdoLl(8hc@uMdn8ve#hf)-Cx_7MTtg#M!XiUyH zT88{q-SfDFke>c4Utr2GB62Tmlx zeW0{RN3|o_dGeakTas^EM0Y|39Kx*gRgkd6MBXL)u%`?JyPq9rZ=gnd)}46V>ZcyX zun?j_iq?8~V=`21W_>rFY8msuta}M`=wrMeil6%yen9SVdIvvMX5wP{lU+$6g_0Dh z#kV>5gv3;}>*ucx^W%h0o89vGG9j2nlJN7bOmW?5np$yyAeH-3*MV-;GYS$=TQ_wp z=*}mx$X3i^=fv!du(aVZwrjw<%Tr`>g`@1*}R4TNsFYUQ5Am;60I2mZ%4@GTL7+1Z(tPY;XA+s1f z=&ahjEGd$P*zi|x)-3i(l7{1WT1J+(@YH6z%;Es5uXrl?n`>3yGpuTsdK53MYB*Ki z`I>8)+}2v^!HR3@o?IjpJCJwTq_SM!Gi+GKkYAP0Fkpim*+gAFwW(G~ym^&slP6F9 zcE(~hI+Ge*K_=899`!&O$V`9keLqc1I~KLfks7kkI9^|2%wPOP*e~f}>05flo%=_s z@pU^YU(h+R!^PAwE@NEz8)u@+|4Zg=)5ed#8>h1lc0F0Uh1S<9Y*M362GUK_stX}& zif*x4537h+w+C;;OT2u2#*$z^e@ul2L1VMB9*S^E%A5aqo6#FfB83f4TiCcESx>HF zBgoDL@)M}91ns{H2_Ev_NUK8%Cnot-si+6+BR>&N8DXr5l$OHq33ASzmisFLkexj( z^A=ShvvUYe9+v)Z7cYA$1=9D&SG3tjBUNy}wt)!IOP`aY5Z2`U=d7@Df`MllQiGbb zen2Uu3II2;gRgnUOMw+)RI@+F=*QL=zH53PBr^RkFDEZl49M5qqgJN0o%x>a6FTItokbT<&X26N|1Fe4Q{xu23~K_53zV(Rx}ggY$$Y)zJ?- zYwi~%&4+}YJJVgP44%&YjlIlOm(?>aJnOaYM5lI#&wpJWt9QqR#;)^OT0Ct~eKL0w zeY$G8k?g)(1>liRSHTM%gi{K#P1oQuKULwv>`$Qhbk_7dX#e`ark&f`$Q7vA&_6{m z=om0-FEkCdqpF&%wz0CEuBs_MH+MKUpRP(PKG!?-#9a-Wu5v^6F=5afTu_4hX3qV7 zIHE64o;iOU&+YUZ0jfiGpoehyrD!DQ6mc`CbA6 za|(X}a_SzNvSg@#domNlU<1K2jHHu5Z1-J*5Ondu-HA_=@>DbF( zfriUwcpOg&5V-9D1a5o8Hc79)o}37*AEqiHoK9JLXkNpRtF8vGs?J~2mU;TTt&~t# zw*(YFB^}0~dC@m#IoB#y=PwcLcT+Wos91%S5{Ai%dQTmf#&v_a@NH^~A@7Xon?t2& z_X|1CO4&73NlC;$YAb6wk>MwFtk?nrSgm`xF%*Y8nsBAD9k9!%yln; zIlwLE%5BM?tg^7_n7+Rhdr;w0pQLZk?*>o(G98{-o zl?)?0_GkQ8J!^q$+3C@#%L43k zeN)NLXOKa|VCwB9REaB;N9O6z1uY$SDoBI3GgmjZ<`H5oY=X(?Et~Y?QXo-6S;W9p z!1=~6>koAy{#&i0J84*X#BQSMA|L#9DC|}%)JiFs5cG|=BM~#0Fh<^+z5gASZ|O~D zY!#Mot?x^;#|4&Hjmja1$cjdU78B-A{vefGqQDw%e)21CP{MWCR3f>e*R-@6JJ2bK z=7dSOsKsc`o;iDHoC}2`XOaaaMl&spV$H!0KlX7KSVKofqg7JZ-iqFsy#X7%fALH8 zVp}w6u9IuwXdEIrwM|9P;^a(PU*-#z7$|;-nQlh8K9xW=Y$ogCJ|b$#hP-1u(K?}N z86KaM!BZYS=wvlwEu#>>gtg}*$SEP&NLSEv9kXtj3=P08|4v}796Ku0OW2QR!DBzy z5#Zt|F2%rFzmJ`nQK3#K22R}(gzO1d!i z2O~P1&w^~%O~`T162^zVTGS~O4`iWx^#FeL5B%^ti3kcw%m_R_eLQC4zoTH4ZY_Z0 zM`!)j)Qr{Qqe-Z4JPiJ|XRNGemIP2LHV3A()mHiA$8R&1>)8txT7vUgIWs$jeousf@RfI_`J!G>3 z=N)3+dt1K2GuQjs;?pW#M>Bc@wddkr@aI(f1tESkJ{{tq0uDXk8M*&){ zBcf)W!8GLfPJdrbQ=6S@@T>1-Drc8T2Xb_{bc*f=Ze|cqks+Q z8|mPJl6{z~AbN#{>EA}tlo#D8Y%6_~Wrw>}(COM@{^ANacKP_jQOQpYmG ze!N#J2--8l7oGexaI4wG5Z^0c z^PWcmRPk|!+xNzVrQbcsD1&^F9BIPpwJXn7ckvb3%G|Yy9SNv^#f3{^%pyHy7UXKe zPvP$@40SqdszWO|GcCydbjBRbx(}oEb3`F+*t33Mzmd-Hck~T_?(AsY|D4iaW#itr!Exs${>Nk^3pV z*Kbx>x25V$euE60?bFFAoWFBu+%n9xp7o2zM{61wTgiy4WR0mOt^1_(31=g7c|Xg~ z=~FDMm{oFkVx3Gni2LzUY!@H*aX5@HUpp15!hQ(-!ep3mZ&&j8Xc9fNVJYCQpvoE9 zJ+F{1`CA)R)%(EKQ2HQyYjVG5AT81R0dNSAzp82HdmD7J5!N$N@g6SOatl8F{i1eq zK^pP}d!Ue0ds=wBSr*DTXYAr{;CQ0yyZuG2E4pTt!x!5wgjW}= zH{v-+E5Ij!Y1r0^>tqXJ__dvv!OSJ`jKP={VPKN4q3VUtLQ&H~$y#O;cl3}i z+o~&qtT?ee_865G&2|OxrXUI z_n<0sDjlZ(u>kIcffiqS0@MGhN?%*MNY+zCZH=_loP!z#hz)~F#k*2n;F{iy0q4Sk zBIm-CXYkdG3=B1oCIp})!wAtj1|!d{$t=f@+#*@MYi-5v3R|=`vvjW;>!~|(6r2Lh z@@zF+#sqKeAYLo+k!Rs}7PF~d(t5+gOe7ECdT&-YT-IA}HqR}mNsz%}0*gSnH7d93 zA?y~OLA`w~P6KTc*U11KbC$MnRIpWETsU7o|JG^pWn3;6PY+5I{eZ^s)$l7d%)&qw zef}UvrzAgDsbub@-Q>f#cvj+{-^3rjKLR%Rgoj=A!ET{{wrs&uF<0?Y$mR-s?BhiW z5pIirljs%wt&MwH5l*ozydUZsR#;`2!mYEt^*-U3(cTO6uH2Q8a5DKoiu5b@iD`(s zz~6nn*~3Yf`MY|b*A3YD`>Sv~ww~Z~2zh`1sCtWpllzK<1W>_ZTS{wdHqh4Tx!=(k z$6~w2hU>S`6eSgDFuPc4prO9#Jm(*1IUgQjsxJBXhq{ld7=?1oVP60(SQImd(ogTw-9Wo*E4)w zwEV@{rT{Y3FFxEKCrPzBqH(mofrt|{@XnJaY&nF;ETzPq+pdhS8}*wl2cqhAgurI3 zXKlcut5-$~&}zeWvne&pk{#S5)FfHtE2YTy{2@G{7T~-oRG$VVngXa~h=3=ydH->0 z4#+)udI+~Q$USNC*^g$gA{)!L;imKdNHTE=ESmXw=Tc$|Fr$CvQ*EtfN8U=#npuQS zcuryl08Sysbvh>(H}q_+Qny#G9CbR85?U2fOKm#5Z59tLGMQU#CTusI+ig^zn*VE_ z=xI51q#d!2o22v!%@a=CQal>8Tt9F`Rv0Vq8psW3=;CSfSCSSNyc4Uz$`lLTKrUyk_WerE7(emh!Y5pSc#BmoyJAnfg79gv z34j=D1;A7yv85q^Faa!@>i9rh83f>Li56WP15+g|Fw&q|#qY(^M;K1)1gaMEoc#pc zps`9V#5-M+%%Hw1rx(u=cR=QZ+X)V9T(OY;Vm9Qe`LhtI?A^?;dA97DjU4gwkPb0^ zf&uweXYvgEm0l)aPEQK$)I!`91Me-2T=+i>C8{g=;#wo46{Wauk|rrT5I4-Fi#!$W zoLPLw3e>$SyeVsAJqEz2+>Gm`T5$?t^d4;R>`@jr_0B;=j0}pY$1HPVCqTm|z@bX4 z$FMH@I5M{MnDeXaZld=p#}McC3AxR2=&(iCdp6vptDG}y#YF6WWf@A)(WICk z>Bh3EUFVQr*y1;$hW_5c!`{RADQa$->a2{YlsIDtv!yOpmm!?nb4rBq8rc!up(rty8ri>b1775_7NP@5-Yl*2yV2ubKuZKXn-M9<_X zXAsRZ=k|+Y3*P(hOGjNT>6@oaBXeI2nWLsvqww3V0~i`ag|P2hH`@g%&w~a_`ZU`o zcQh}23H+!i&9^^YDdGM-L!g+?WU;xjhIz-@+@dUFpwKwwDZUvJ(4UIu{NDmTAkP`{ zAO{S{Xd7a{GrW;pwJrfe5U*~NckZaN7zyR48-WW{REWcQp>}mu1IS{Wp(QL!H?V0F z$tMi*jNzv00`QdsWn`r~AgMjUAgOTGdqNn6C(pklNSv4H-zdiLK`@DHxGDdwv}oSB zO)a20m`8<)n#hjyi()~aDNSl_q?Y(CunFDuq)p2x{7|9!Asg7-zL>6CqTR8cPDNmA zxS`b5ITVDZR+g{V1dPF8+QiTozW96hM~-GM z;QN7l3MB<>lr0;5R}LHU$%S&BB3$A4}6m3kj2O z_N@pD*=Kj({O&M+CI`%fIw$S~{6(O{e6-SL#WZAmckUzkzWk8=va^xIbbKSgBlBN1 z@cxRloI#_Ws9H;MQsb!aIT> zfvnz9-hnUK9?C)iu~_|4K)REuw9UEH)F)YNv|8&Y87->|oTr~k>pTBh%UQ+dS3ia6 zk!LvU)MpKM^RAx2Y3yRU8T-z9%uH3sPU4p_eIqHo6Z>7HHBFQGH|Pb}+=EoWo8B+o zXw@nfG)rBGaMouMj|VBERuHxkXVrtEY!2n9rz zU>+Cl?ZQ!>1xTNCHD&Db=A<-^v*nHya#~ho=!~pZ=<=o{yc3p0JZbI5@;_PQh5
y5IGx#Z&u-Jdq&J|xXuWQ({vN7CjIH@r^CZ?!@;*`{2|)V4^P}c1v2 zQ~lr1gL@~aWxVm@Fr@_e-!pRH<+Kwys>VV6QpF?#4z$2|03hpvDUQ97jYM{~IFfXn z2{|wOoK(EesXgZl;?x;^Kb&^!9};cGq*;n=ZeCtj{l?OD@e%y%)MM0ZZZqwsJ%?w3 zO)Sd}K__f9o(p|H%XR?ZwJ*T*5aJ`HqbVa0vlTaTJ-#gOd(8t*^&)r!#;AmHTC?W> zv}N@LFss~oy~8p7>6!z~$+%|`LVy4JOeOO7xv%qc>aEL{xdnTP_=pw>)faH4Q3MMG z?(}Cgeg?r8HI2CO6YO~H&=J2mvyTXcMwPeYcMSV%^ zYELyQzIv9nuZ;zv89xGDw-_6cs& zP;}r3nn8Zs^WE2H2XUZ=d2M4!8Khz25Ao&JxCGH)a9ihxi#49CB=JeCb_9Lz*ao_) z>GdxBs|4Bf{QLKBvs4m6xbx2wEUCm(=R*orUdU>M519H z93*GxAMHPWDn*U16xmpdMQI_WnT8oFzX-}v*+rF6L}IOM?9+}Wlp`#-6j&8NkzP3V z#>`>no4{s^#!P@@saSK8JUzht^S1BRc+zHg@;7()p>bm8s_A$5q(X$2bRCGpI3?8T=OPNyii)3Ce=rX(A zl!>8U@RsM*d+l3*LM4+;NKtR~rDi-Z6S(~(9**`%-ejwpo6Tmf&(sN%AK{%mV=8>D z^I*h{^63oe>#_Em?h(5z$D9TJilvyWuYo$0j)giD(P;mZb8?l#T)$3p;)Fu;o<)zh)YX%3fEIE>nze($TSG+HysAvOO#G+&v`ps$T#A974Qa)Hk0> zpJzDA(H#odQPSfvGK85iGf?4Vdo3(rr+IUUc|YY8Z_a0zjzRgc-feP{AfI^-^ZuyW z6a<^@#I6$ZZE!lhOG&;-<4h;!z;5u#ZfWjfmQ6q|aT_Zz{ts|65^?O+Fs+dFtUBFR zTh3XAKeV0vR6yf3JpHdr`bvg@y{iovE^u!ZZ? z-!bIfdgFJZcuB(K6xi@YFQ_1939s2oI)u)NzHeTVco77Wp$V_2H;*R%Y#3DYL7i+A zOgdT;myp23_%)WdZ8wgnO5SY^k;jYDh9o+M=OXGxspI#hlc>|>jouX_dJvRtg zUb}RAUJ{BjQ~mzq`V|D$G%hl&^n%}@`F@q}=ai{C%=*}aDQ9}98Ca%MHD*oCm#$Ze zHPTKCD^9*jrA)D2fBG8a97;s*RSMv%_HLf%SgR$K^1lMM?4QD#JXFM)sA~iPAO%U{ zYRGXoMv_n}7;m&O7KdgL@qD<23h;F@wqgyr{n@_xG%=o&H|M$wWCQV<(Ev9kSiN@cGBE+&Y!|t7LQ19g`#Qx;7DceA#=E)6de1GIJ zyV$Qt*L*1NVUBZKhxf4j>-$wD2cmf|W?PhPTT5hzbiz)l6qei7b>ofo4x*aYaqJr0 zbov+a#v9QDYcfKiuV!pN?s!LhhSn{d`FgHREw)=T?TIuS(H-NQ))ngam6yC;iYs5{ z`U_w0IsaiJO2q1T2?j*SFZ$cz4#|wk+>R9$Hk;|>-M9y$vr@J^JnL6WY+8G2>5|dQ-wd{) z*fge-Ju@7z0tXUg9^IAiL<5M3&M=W9E zfLnVucHw+{T6Q~cE>PX6wR)Wb#nd+@eD9a3uV#m}|C4v&ARJ7}gIh^UpQ@^gw0~F& ztBuhH|Hg>%y^W|BEWyjRI_krLRTe5{<#M!V=Qn!0>R2sY$=cfAK+5u-u5h~38Zp8H z8Fl2m;>OFQ5wo+08u@;MXMFXLmxzaCp+u`|_g43So4s5Ppse9*M!!aKkFKk^k`#cZ zni4?J!DWmPeJ%}Bix#t($(u^))SoTSJpV7I&M~@@<_q_+ZQGn!Cz?!VV%yHdwmq>q zv2EM7abi0YJNLZ*b=SK0L$6+4r@BvdS9f98ettVO%Q!%Fa^QyyASa6C3CNE85zHPk zJj1+C%PMG;dE#68X$i7=lF%CMy_np$9;aBG&?eDy`r6_PTbz>5bT?lj$nx;865ogx zniN3D%O_l}-q`8fqYe=0^1ha9MCCJiVVR0d@Xf|Dre_E5buj(}uO{W>uQ4}}^pll= z1AzMb1-Ct6cR-reiu6O-Cr`#U+Kd1D%tY@QtViX`6s+IW{UX|HC^l#feV&OB_aLOf zT_-qYx;cvx0frj5IoAiL?VG{~wt!rBygy{+3pE63gAi`wX90@VYI-$1@ibQQr7KE-d_ zbUoMt$#-8)&YKJD%mqp#$n-(c+$ruM1-K)~JW@{{ox}5Mq@6cdM47eko2*+(Oe4u+ z^+CX&BCF~aN7%(i+e^2A1J%t##ROe44`kOh0^t0z!AeRD3PS)OzEDI76em-4`>^bl zMSsa{tvp9Iupw(s1LDOi;k9eQj9UM%i^qE9fmH*G-CvhBdx}U7p?jBBJUB~+ROCGO z+!~IaHiM&g{FA#HRs)%}o`P$!@K+VUniaOZQ00o{=(3-m{r_(RJ<)Eeau1~Lrqy7- zkVlL5jCwzL(xoYJTgy`gYb!8SEyi~wkPOI_Q(8$^+B6H3-sNU1b?mc9U$3CKVHoQ= zL#l`n@F(EyU3&PHrv;j+5K4&WyW5&(*9I&?N6`N2-s4NgC%VF_+d+u#QWVOdEYw+< zt*T&&X0_1)R$e-Hc(qSmWrr~71Lfp_)4>iOn_QAW2gB`F)G+gK&S$~&9+(%Y^F78ds~_$CO{udt$7W_`Av%f3k`a}cKC#eD&Bo2w!_ zcFQAtr=U)+vpYN1b9FDpvzuwI88Z2I1q}6ixoCK^r9yrcLDFwV&HOa!ph#rMU$j8; z@pnXlQE4(iz^|`nXj-Ta8#~x*boG_GLj^8tq!pg(Dr3sl9AYWzxP|J9#KDu!Oe#?! zZPwG6_W1y#C_G7|gmA?3RXkL;ZHvqP`D#Km62@QK)b~T+Kgs_gCqV& zO&WJiL9c9hA-$Q;ba)~48P{Ldr}aY_ogNNZg#sqhSKpWn@korr3{Uac*kwHfS_x!1 z5oOie*FaM4(Wgo9iim8kAvr`HKGK zR!_hh<+xa_^w%-eq>ihQU|55zHh{XefHfK-?!%7S*$7`+-_?@j)?pkAwGy9R0F`Dw z0`_$$XRUSV+(j$v>#eQ}Fs=F>0Ud_J5wz`R z-ipftrj0ot+d8v>Uv7MYQ{w6wo~=?}M@gIhz2-Ib*vO8NFES_r(Us-pfxy1{2mxM% zstlPtRoxJ^knaN78r9#Oa(8F3w7BH*Y%H*~un$Bs5G+r5hyT*tD=jVr8z}*D%sf?h zkgG#|WfdM&V*~$LU|Ph`ZK)F>D<>a?V?YYV4i>iM59YdN8}c7bYI6y`sS&!U7vP{6 zAPkk5_*$L#q^_2Nbj9}Y=hbfMy+LZ#aJRp(9+<^!T?r#S6W}w)(jE9MSt|<4NAPYl zHZ*mhQWA+qg&p{yrh9@s3&@2XX%oeEW(CTaa%Z|0hJAYDSpT)cb$)jwb8=(jgW|3o zZ$_w(oFG@A;EVgEtp?Iu02m+&XDVio``prqAZ)hl9LZ3R9pQ+i9m&{)e>kR*yS9a~ zp|9?f5aLsrB}kw+jqPTJ_trfrO&d*z9~@K`P@+0+;U8z|=006(iIi;~g3a_#_k*bz z&33ADY+bUAFO|HuN+oJUR&X}9?d8q=t@3AXSsPx=Pm%DSs#8BlAxyy7q$+?WId z7tCUUio?~7nYQnbS{J`_-YNIM!sVQrb$#Splan~qhB{GWBjiI1=xk{ZFl9E+{S$s# zoLE~i7|&4flVr?F_E`-garU>dB)F(y=8p(4$R{t(6n*xCp75sLs9E#tynF+H-$~-g zg+E-|ag2YUZ&RO?j64>od1}ASIa~)%>d-u=o^tG08CSH2k^dv~vD|knrv7vnG;WuC zt#O(2YVLkT70_RFAd1(40aQU^%a&?XKy+)m2j_f2Odm^U?Nk<7TokF{V{)q^G3yUxt-LKqZ z3;>)WfZp;D#tTgUPAiby!PlgE3hcm+sRHiSPg7==P|w0RuyeG2oUFzC4A=PyzzB1D z2eNywRBC`9c&a(1ie|fE4?%Th4vP3T|1`>tEnh zzQ*eapKS^IXhRy_$+kw_yq!^}GG>*cMmF8W4{DfKEk?E0<$oHSDAD?YBZO~Cma+Hr_exftem!qHl4JiS z6-$icbT)&^K*ay-nsveSfoD4@^Q13`nP)sLF|5XJDJ-WhFft&K| z#YA=qy=KMy4`doQIJBb-RT3rrt!Q~o9O^w>Uv5X}h!d2PYu8BE^z<{pl+qjxLfFVb zv_~Qr_aK;26UZTJfFV|t`xU7`4}?e6R%0FIIjTeG?e85xDi^vCS?YI(Go3TL#xZiClDUk-7*+`ErzZ=`&vUjZ>6?<6s96(oUaD;v=vlj&np)VlVBb~V_Ox!-88lzc#HJ0z_P)$1mpZHymB^YRuy60;q$`GLVERnAOh>MVt%&!X)*ai(Kb-_P0RnTB!D|0^sGx-$`^-7$He)((xwr+U3aTfxx~^!V zjG(Q*dZim1YY>_+{=#8})97hJm1J>@ny-w+vF?&A_>63`ZyHv)V7E@yshJxP_TdXS z6A5;9iTBnOrZi$glY=5(lM&b=wnl~?;#v^Ex-LqON;hZk&7yFK$BMMxk8ar%bImVj z=)X)~eZAZ#U$NdpWIms#U1RuNE&KH>q-6HZ$CqfyY3ETa0f0Yw7ePek&KA|H`q(cl zNFN-GYG5xkL*B~P1ACvRiAm8>Y7F(x92!isd~5qwV<`5FRIel zoEY5J%t=HYh_%k`=6fZi%FdX8fpa1%4T!ZdK(T|~;tS4pvdGrd;FYU^0eyNy6Q>4R zD>zyS8-cnllv7IHaD{XL(&=O>9!9M?Lzj?=sUl4|HXh&UcdA}_s6X0D~?P;7r4 z68cpN9$Dt!N6~Nsh8iT#cek+?N^K*X2bJi~FOf8^Nte z0)!?A-!#Iu3Y(!vMDO3}uSb+_JlY{4b#*I!hK4*bS1G*M!jth$PtgcKeZ+E(D~e)D zx?4e#N?Fx`yN@RRu6JYv)H_PWzcwAIQkU6V2C3JxXUyL3va;re*22{aBVqq|Xom+B z^RP#-*_kxX5g|JYW)z6p{!k*LohPx1>tI6y%V@U7eZsa{lwvX)dBjXQ#)L2lRw8>j zd(;lZ73wvEp#Kq#+fd=<1-KHP6)sLA zQ&*C4L+(UyR7SLlAZw|w1Yug@u|~V_e?s{1f;vSA&}(e{UCBH$D@SO?C=G8kRzpqI z)*ZD-ghUn%>0m|j?7Tmqv>r4dx#afASslD`q7OA9n`r=DhtPsp&(`YLJ*K%9cUKM= z(%f)G0f@>2T^xjfxV2B<*AW@`y*9GOq8)Yjon+iS3}MCuPnG44v5pq`BMG}A@WNon z3Ae7a#(f^O3?>Q0!3hKeEPu+|@BBtT$VL)D!BMdtgw(A2KGT%h&u(M@g3|gKVU2N-HvRGS{>Sh%&9WqGvB2$S%l<2SC<(|`Z)Ev!D`1& zXYsgSx{^k@V_#}uZNaQblsDfZ5nnAL5N}o2NfB;!kq!cB&~%?g_TA392U6O5_QAFx zMwyx5n1ghNL{1oBD{%Cj>@DyQM3K-*4svI|FNtQFzLc|%B$zk3J8T|5ZiFtEi(X0F z_7vK|kJy~w^No#CszrOzyHmfki@e^LzSB$?0Xw=56d8s+lDwZC_C%_Rkvn4@~cY-JydbEN(6G)wQ6h&y3QKIHAhdUyeo}a{)D`@cNXIle1826X!#{ zv#6M9@3lcP6J)#F5m+z~U0B!$yC7&*8`DM`#F^)|T$GFwEXb=cdyuTcIWWX%9(FkX zk{(Gou(&HF1RsJ4G%oR@Ws4)!;8fotgCV$*2hqDijMSj~RX}bx6|s-vdB3lDs zh(~RWPr0;RJCgmR|I_*u(@)>vWm?fK@tW~YhGklTMGv|EiJ>nkf@oPN|A2r-6ZI9b zo6G4cV3Ky1sRxCGW*020Saq8x)){mzt0y7Ahf3BdytIdh1wBnFUtU2!tO6Hpjm9xhBJ&xj_?^+TYWlIW* zBkH99YKEf;$!PTl3trvQ$(V+j-@}Zl@>i%16&KKzyQ7HMig4MCqd+|Tw7D@-B~EByOXiOeMi9rR@~OyTWR>= zj+k|OFRo0P)+dShsM4^Q>9WDm;CAdJt_Qx^ngWTzK|;4;a3!9>-O+Wm;0^RbRKTqW zb#%4Jy)0(Hdc>2QO+T6fATwcp$eHtfkcXY*F$)H%Ye2D+a(}Equ2tYs5~gO? zYcu4<_|R2;h>VAQ(w?!Jh^(pisTlh{KX%5qHo}9)7mw_bA+3b4;0gW z_ckVhZ2)|yBb?^CGSNQL1S1{?8}a|ZVJ4*^ZkdXilf{gg8xShD)y8@bobb5v~G-A_Betds7ze;pU? zG>_a7RdVOapCV)11%HNVus<~)$a$4!OK`+klm9~C()*D4 z{Mnq!wq2L!S^vPJ;TPm){T#DHYzV)NZjJV_;CBw&?HdYEn|BTb9IbVZSDl!zc)qS3 zW&66Om*iX?otoQuysqhG`!)j?W*#5!8`J?GQG}%@d|}AB_r7$NSc2keR+*NG7AM^l z%D*f7O}zao#?xLNT_5W%z3pR8X^(3^1DUl^XTi6!6WbDr2cq|xK~bp31@Y=h!vyLF z%1p;bLL3Aj+Om+i-sKfVZVt=hqqR(Q7HMo>+doauG8pAQ7Io4KdZ0&OJlnivcFJth zb@$fg6rzcbU1_!Vd)KQ2%za}VtsD`;cuajRc_>AwcI-La`?=f*kyllSg;j`$2`+<$1n z6-Wfva~dAR25U#vL+hqW*##NgQeRC%u(}FoY<ai*avM5E|r!GBkeO$3M8o-{aPzq5DgZad29eBQ+B|YnV*m$$i(99o#u6Rx9~En#1*V6?x+Z(S%QFOY>j%0)d0i`ju%|5JZ5~ z(+aLj7AT{Cd2U2#G3sNdkDRwQxLH>dIxDqzwWuz3(#Xi<7TZnm-3{$&!G|k2o5Hqi zCcS{OQ~ac6Fl%0249<)0yKNCDKl`3Fws?8(_F(V!GGY}QPbSDT0!8L^WQJD4t}%hiKL-$ZNe87 zOM_(!JUJi)0usJVhg>yzBf5iIj!xorSXnlI z+p_U@TFj>&niVwupjKG<>M@>Pm745}9XwrBjG+?;Cboza=J1R1YX;b;JQ>&1K)IIiV6;d466zb(rdM> zMmg#lx9B6E?wVo}YEG;^$hPNK_@!*a=C#DGzAqCf+Wz2{XKJQ6za3Bg*L0L{-Fupm zbiH(bOL4y}`yPI{65)*C2%GAQ(6*pywSKy%!Lo^?{)gvY>at`ZU z)u|iOm|fa$&6kXvqw$7zPPcOV?z8p2Y|BcIbM6##bBn5gS>ZDi^z~#l<$l-1-zvf( zfbY^X%$pE-XUq3B^P{PsE>#mNpDyjU(BDC2r?IYzKH#>lYCD+l(~=+8UG`iSJF(vj zUtUJ|(mNZQD9HxcE6eMF1q){gdQ_~KuSB`AJPaHv z3lk;Ee%QY(qMBO?J`Cgu7y7n(pM@FMmyyb)tJIpV?%rdZJ-^#mhsnOIgq~=7{U*Mx zLLT;Org=BOt)dZL-7F(zib#CzyYJ#Ug`Gf-#I^1U0LWW~Tr)m69xAiqww9$b`V+G` zcIo)~E!)48{tV+`cn~;L?!jy=+otaYCcI|dmTkiW7q78$<%@kwyfJ-gAHH*3z`Zsa zYC<5)NPndRg`?j$xU=s9omAk5TisJXJ`H(<%z-xYgBOoOm9afsKEe)Gv|}W3*W~{b z*dB@_M@H>m#9z|fQ;*307yrY8xSnoprw}E*Zg0#Qqx~}Q2j!&a8}@}A3R)1}OqC5Qj0SC-fbJSubUB2D{A$9{@; zL#ahe$fY9SZ~GF&q*$3Yb58qGuk5B}M#pm7lK;~ad2CWJBr?E^JfDMOrD<7y39+c7 zH=6+1A#$>-^UY}*sf6x`@Q;LJiflb+#s5`P*Pz|G)0B>vjog`rH;>*XjFN?qh|!Rk z@4h;P50HLpDi=>EcQuzCPam)^H@{~-{Jc6#8g2-yW&W)~4Jm!p1#5al%(uNfWI{4K zxHYpl(B>(aX*C|nx5-ib>n{k>B>13K4P$qhajV+A_>0dO)$}ZKvZPx=EwPN1T{yx! z9u%Z`yK#l>0slz*fJ3G$=w(p=&i0HL>6>}cR^L1SDKXTt(2^&t7n|sH>+FAu>nvlV z$)XSEG!vG_oZsPV@?p>Far(Ci|J4Rpf}_)Eo5G|m+uLc}rOdiKk1|N>TmsTMdmWn$ zcYipq8RUgKgiZCnEG~(_U?hN%MGA>J*7h2sJ4u7ropt9x=t~Y}()lawUzbR4IRRBz`bL9jb^=O6f%GedHf#CJjXHUe_3jE`(fk_sp|8;YXL5PR znsQ^;J>G72KZK!q7eUJ?^qQ1f`gBr3m%olJzs&yyf$$}hUU?VL9T7+n+r3V~0C;IJ zI*~f>XnLrs(NEX%iB=I{s(-sMSM|Df;*^-&Lr(C{cHX#So-AUy#G$6!{F$E1aH+Jt z7fnm!wmC*+l=>TBVWGTgM>g^NA}TCS^W5oR>vQM`$G6Qk6Y^Dv8!a5u7-1}!mfhHh zec4iF`d&%v`>exW|D-6UO74wmc%5WcXwI(Y!L1el`#@4YA@rw>ufVdpC%&-e=?289 zSNL^=uY7dUgm#;iwM7E+-!}CNC48>C_D&6&W5#WWP_6vuFU~(Xs18sD$X-<4c zZ-Zy5&iqiavqOm0jI#r^uFkFxyRMFftAqI7u*__vL2=gv8d1z>bYiIN}5XWZ@O#o&x*s(a&%!cm%lewqyF-;4~r@-z(p0* z&w9W*PAiL|r!wLuMAV^`yZm%mLt z#;yR0PakgI7m)8>_F>GfzN^#e%ipw304?R&IZEOrWFzDOc)W$Sz0$8YSN)VWyk?ni z=JY$qiPg2HamwDK{gbP16{gHQpk--6#-krIca1G3J>Upg?QC%4RV+Ni6%~Ea@$C#h zODghxT=*E4LF8+fpM}$K+1h7Ozqjz&Fn}mxZr=*4gBO!~l_hlH%NPSzOwOe6;H#lr zP}43w*p~!hYNPNE*w0)tbe;)Ms=oLuKSv_DAID9Q%>9B^Q5uI`E#k>>wbdNzdi~RL zJ;MX+8jb>&I-*4tH)a|_0HENf%;$0G5Kf1I>BrO0sqmG4*az*RwkEzKFl{3|i>#89 z?3Hb5?ErOyirQc=JcS1HsgxUlnBI@dNGKTuN|tXDyD8Aka<=GX6iEqAcB2WHppBp1 zL{b&6z7PdL(=o2xFz2ZmU#nk?<=r zX$m)s%1b1np#0!y9`bfgn-B+|6`gWpz&bEw;J+4m4Adf*BbW|v#X2_rourhHSELqNW`s}<6XRbmf|P)6Gyl{#u7Fd=cFZ=vD? z5sz(*x+JU_eDp+ytvR06_ExBHTA8dc7}+d79iH3LUv&PbO*W-KE&WfNEJW@fdp%2i z9YAMm3F#xnE=ll`7R&QuIdJy_UMh!l^qj+g#JthN4(2>B{-jwGb;=>TF4faWNgk=^ zw(6;`l6+hGj89UKHbuY^Ks)s;5qgCzDM(Zn78JX`I1um2>poFJ60>`2Uy7^bZ=jc} zu2?AbbTJsNYfRcZ|7vAvA^xP+!j-HgV^uShWL4DF7;0U#$RJfkF+qH&HU~m*FV0Ic z6IYWeNz*ntyXVL-XPGe(H<7@<|Kn!1mEyY89Gk4e>sZ4DmvUtPU5fx%9$X!IZ-&)J z;osVtPnYg>8yB1{Pg&`QC?;UWQOm^U%1lve8BvmA&W|@lH&q`gd&#ysaaFMVSBMjP z81p-F#BKv=GeVL%aglu&L=TZsnh0*$Xg5hO74#N?${~CE&Y&6V6F=smr;zg9HSg!v zZv%cN?WtnO;wiJ;Cp*EXM{I=j?VyOwNyrU(45_5;4e3&VuRKFHl|3m#wW|FW&;{!1 z7$fN8xkB>!%Kr(gIF=@D3kjgx^{pPil?TIr^9a{S+%&S;z&0kQ~&N^k>Cgbcy)1YDR&2etR^DYvqQ$rhAw6+}r!$#m20fvUGb zKN!RY=;BprO2CqnVEf6+Mzs6?-X7x9}o#?9a}_gJ$W1f6Yx|E zTu^4X*@9@Zd$QUDvWmjoQuLmV_IEQp7WiD9C+p6bF@I;NkM*ZO4jCJoJ7(K$N#^MU z!4ooEHe{cA(k-m4rkygb9NfE9o;bg6LCp2OZ&A(VPRS_u+z*O2ycU1ctl{I3Tw3D$ zYZhw7VDYo;MOBFdVWw%w&`x@&jd`zMtta_B7lzqOFjl_NSo|T^&d?*zan7G3wy?6`J{h^DD3m} zr?Sn!hlhkzoA{XGwokB;Fa^dWG{^CzNP=*ayG?oWPmNv*tFt%5iD@T%}*P8S$@ldSV?G79WQzmfa=s{{~Q~DZO6P2(WrEJ++YG z^R@`Q3mWDoH-7(=P6%Bt^!+$v?25{%ytfer2*qjn;jhIO zT6?`IC=(?(%(KH-ad3EZ+%-(Ho{yb>nO{rqT+l^)9TR&U1O|&iK($>n!mIQ4lRu%~ za=$&A@?2~{xBY;Mr+kMGfZ`0M1ePlHi9>_K3kUVHW-|P7M5Gf&{|2O^W1yh>bK>V& z+_U*mZfSOWi4Jjfkm$q3wY0Rkw4}NuD7a~OExtD+z)FYfvsfq^o`3yYA-7yw5P4^} z1%rROUed4>{+0tDs_dT>Ca(N8@6A#qYbJ(lOfU$F&tVRwpK-Z*Ds-ec;Nide0OyK5 zR!y-cd1p9aE~K4c8XA9`X8Oot^=Z+-^~w|?MA~=9n9$js$^gh_7jpZPO1GGld_jkS zSwLf(oPbMHBf1MiZ<>IpGjuosVUPIa`+^>lPy6D1MlXK5NMR$Qii! zvNruPCwtHw@;pL)SnK)p9f4%lKI@{fBeJ<3$J$6T*Wyt~v6yzWPET<T z_2XBSIctwkYqsy&7s(%2fps?mI74P0j>T@A#K?8X{d2%_Yu@(pEuv!Q8NIRZx6awr zn||<#g3vp#x(=0EtKX6{ggPrT*=F@FRhABtp0KK3^SXlZ8tG_ ztFZM6Ag9RBb^ZDh?60r?fTs8xmW80|-juY)MJgzmp3i9U+H1ujQGi{H{9$+Z*>bh> zY`=KHcirXw7*TQCMRH1@BjDS>2ch@;ensbSXLGyO-15)$e#S)L)x4hgqv4{6(=0P} zddIyCDJFGz$DJOj`U%)V-iE6&v4Da64q(KXy^eLY_O|9_m58FxMwwOw%PehV3>*qMliSi4Vo;>Kb@p6d5NuzsHb;sP%}GvCw}9uc+jt#cNkk&-m@U`lYG~tB2ZM z6O}_lDEK&4{T4w0R=)B+)ku~giO$pRT#fSesbfGBA5&l7DKvxZmpNMDFr%yvz-PZ# zopt#YKV=DBZk^g6mtTcZc<2{?wgS!ZhCWf*U?MF^6Q_0BPPj4PjBkhT(jZTLwGR6p zU$`@$hSk*@$|qDT%vG&;;0EW3{1AW3BDHTCH z?CkEknWjH)+Jp_pnjeTQ=xbgoUscv$%q6zF?rlzmjhk}KRe-l(5-tw$dOz9t${kZv z_1NIEc<33{ngeWC(rn(mU;l0o0$KFZ(1w(`>FK#VKD7Bts1a*8%Wm$YeX7ODQxUsO zm4OFJYG9xJZt~geq$U&*pEv`4d4bpz)Nk`G#sPg?>D9WIZgAD1JWSoIU>_!hXCE!ik?+dw?|w z=}m}k zyw}YV&Y|UMjRn&mmLHUR0D#@A@4?_-GFia4bG7UdgSG>EtneLJCA4h{aTE2DgyyDy z9}H&aRx0QJEMw=t;)VryejkYs~3(DK&89)i;ei{PG>!x!8iq2jgisokL z(eKk7YqP3;VfP2&Ks78zs)|Xvs`9s%rdne?(oKU9vq*WesW>BJhFVINn(a|iMQ8f# zI707Qwq-MDFH&x8D!w+JQJn)IFk>sC~3pm))rPAzCCNH1uV zpqJuDkM>$-v!iYWls#;iWtLT6TQop0yWFnrO6e8nTqR_uP-jNTt6_108GEx_ z)irkzzlO{`2S3x>{`R-61d<%W-N76X2ao9b1%@^lzcGR$g=)?#-!iZi?=xsfmlu(5 zT1EPA%A;+nE1|f}0q&0HI=s|6JpRJjSq8NYFNL5JsrBig`>c7Udb?MJ33B2?T5FC& zB}wC1z|oF)GAoLR3ZI(9{rPn76n@8Ge-Bx!OJ&;1-%AHHV8|T+g$pDai`{RlNltm= zrG9ddy4p_yj?lM(k~$Et7{z`^mp(z2xMBMz9uM{)_eu5*A_wnja&p=|<66zOZeB&k zu=YweB?&%0+BKc*NdLQB)^|h#YxXM(y#aRKaA`@)xo!(i_UaxL!%+!bq+t|_SD+Hx(xW~y)ak|Wr-y}Y0d4OMq>|T$Dv1zZ@RvZRB_!63y++TZFN6g8Mk>rw%vex5 z4Z8A;fM{nx7g234tLBMrD|reV0Ptd;+VRUgxP!a`WNN<4#GxS2TYT^M-; zW5O<~d-X!$8K77v6zOKJx<=jOiO0mBM|Wqmxqhce4!)vu`)^X`ewaz;0wMdAN)vA> z-}0%wf+EO%8o>pS?10Zgh(K)j8&2;I_V3x1h3RD^E=S&JIp$^Xk0dJJN5ugcR~JCI z2Z%L+6CE*Q^vd(9F!suV+Jt|g&+x==-|OtsPjDV-dAp(AbmlBYutK29yz6AF{(;HR z8yWv87Y5cnA!iZHJy*;H%-V@w-lg`s)F@x9?zyo*?uLeRM`vEKX&P|_Oqj&wHzH3P z$|kZsc9dCdRO*rcJ)k^UR9%&$H>`376JIu5bhdygf5%1{iQk8JsDe7uM#@I1utZS6U0gz5LuI3v2{4Xm~#+E-H-p z0Q$tfgd_`0-Ki8qL^$L6z~N7NBs%#o+V3%l#O2O;f4=h@lA_$-selRm@!8>~q!I`T zc@MQt0;LzRxGh^X_{7b^*G5A@*)Z9|jkyES^1))L3?X;2blgs%T2n!_pSf2CmIBYw z`?Ws?RxKVy#uG)3-|L6LZi_3%?vEFP$Nqyn7LzEa87}cN1R5_?h9Gp>Aw55Qy8Cqs zJO7?Eo0B2Cy{o|$_-u+I`otJLmp;vIA+Zz-g<>YQ^9Xzx@)gXGYK+geEN|I5=BOjufp1x;+=kx5KUIj&pl z4!Z!>6w)4D z68`yEh`QI@Tgv|_?hke?s&xezsl6MAC~sm<9G(=tc`>&Z`2wGemVb)Q_$T_8A@r{`tcv(cNTMEyId^`-+1HOH%{! zdZ%j%Ws)m|zRjGSzQ~H;TF83GssX+suEmAdylZUQ*jUv;8gqydF+0V-!~7cx9T(s z$}Phr8K^mE4k5JN5Jbp~@df7|MJSg9_F5dg?B_9;<=Et1+oy6&i^SH zGc9BLt%R}yY;hQ6gRe&&Lc_6CDtyZ6CnXDF&Iv8QJQikFa!xVtB(8ThYwfPoqHpV5 zv9Q}ijjWrjLw?SK2^cP~%6TBxwR@~v&(pUsd~PTGkHg>Bi4;%RFCsQV)DFFn!jDJ} zIR2=Pp&gD2q4?ne2saD*UMlk!1uY@TRUA{iD)VMU^V=aR^VX`%7Ju%aaFZLadazHk zw8P>3rJ6z8HZ2$f*ut;JX}pTSK{KIgN& zI$1vA;YfhX2e{5xy4?6Lx7aH~>9F$!`sAS!o1Y8hiTd1BgM3r`3g^fW37O0vN_V=L zIm0)#a>Thz{GFlHcZ=}Lp;}Lo(`{E}?L)Op0Hi(kHys3oYGYPHxiwJ4lr_2-*>POp(_GBZAtl zjqN!eyMZ|GxWiCB0&25Z26KM4tohzK3FAZDp!XpCl*UIPVeT{fV)0>C(H*!s6p@ffkbGKVliUqdueTQKBWo!EM3^VIMgRN5s&pH+8Q6}8MEbztLY`}Vz`ZqEocFA1%}Lsh zQy^Oyv8(%DlUGJQh()m6sEluwAQ|^JZDI;K3w5kTiJjs?XZ*c@q{iiTOjInitQTN` ziR33FYfsJnhpm;7$s4-Q@TQiLO;Yn{8R-gX<8VfTO;>hTxS|JbUn zy5sC@U9s)p>{nUvVcuAY!%*Eu8CQ)c3Glu9_G;&2gdlAJPV6AZGueTW(R=(<9-rZn z{(F3TVUuY@<3r@5G0t8?0yv9iGi4F3jjvkXK+p+TPD$R?rAN6E++-y)t)H{zI*js-$f|ZH zTF1Wg6N%kkI!edJeRlXolkT4^q0NUi9>K@bQ^D4OaS$ka_&z&w)mi<|$MQYNCk*SL zuem4c)#py#ip+H%ak0wxi#<@zjy2=!jIE#!RKQ~&=#cOzX!uw0(+&1B`QzMa|Iwf! zWD9TIq=A*5VC49ds#$=MmaUf&Qwx6`Ra;m1L@%>c)ZxM;`D4PVQ9hq7qOF(_$~%{~ z4&rAq^D^vbJ#+PtdKz*BpZz)JIf`F8&PrO3eB=h6n+*x!nHZs01r8{+2FGbfIlAug zUwW&C+jEk;4$q{&@ex}Jq<$ps!roQZ-ER+vFjZ=`1nX!?CSsuORo&)7h;H;owBH@B zv?F`uCF-t*7;BgPh4D-%&2?0gz?HrjOZCW1^7y`C2W{5nAoU>Nev+Km69_lJ4E%S%eKNQ;erI{;(o2!Uwotx|wE5 z7*Sy9b?%7%>w!evG&YZYP+ly4UPN4qv?;AL`^21X8b88`E-Y3p^Da&2XiT62<9O$F z5x)s%-aCJQAAXG&jd9^VR6oBR<{qJpQiyy&ewN=z9$|nPqq4nT5u zBIh5aiz3DwG$Aj^;eKQR3`-)xGUUK@gN&(@sQ8s1MR6wqh1jHkD9*}AdPy6+U}|G^ zaRuJ7bX&HPde@Y#_B*5V>mkG1-cJ=82@J{WBypED3&mObH5`pNO(*1%>AQVA5teg< z+M0mPdX$}vq^%Ji#S16<73trpo?Mm$d|1s(kA(pU8$y~m$ z;%u0l0ArhZ8d4^+H*yC3Q5r%%s_GZZAX02J@)wd(F4Etf67kyg(<$!(Fm9IU2~Ul1 zZ8+yjTse-<$dY0QYBDyIR8LeNZzp27#2@!W2?aUXRyjhm^5?Cq2|_+Q-#K_$ID+;m z3UVZ#1)GKu1Li&iVD=i~$t|cQ8M}R1-OwjnaY;ZbS;!Hdca|_aBpn*AO4!gGphTUR z83sMCC7I>zIa zU&H<&SsRVICicqFenynYdjrV|WO-74DpNb8?D^8GbtZom6jw!I&3iE(AsJ}`SCd`z zFi}tY!sP6d8MW6?f7sDe&+@Q^%<7YqQQN-E(peo$xz;)!g6eDso|X|#G63O8ot6GbDd-)N%#m2qGZ}nQBxFWemZ-{RTl-~m&&9jX)Ru120UVc)YKY*n z&~vuv@W2eEllYSDDG@YZS)5D)rl;9G4GcEY(}Y$`#l6HIm6W;di^Mpt1MiY%=pI_rm?`yZG zt_)Lb#O$@4_FrjltO){@kuo?qMLGE+wu@RI+uh5zrIJgm3t<-UCxq_@G~@_Gj9(Nv zJ)_5HV(~f-S1Ol`dq4k1CE(XSRmBedAHv=`IF2586JAry%*@QpPGV*|c5KHSGcz+Y zGutsUGcz-@y=G?SZ{Oe5clX!TRc%d48c93S^vp=zPe1KIQBGkK(^)N|;+jF>Y2laX zF&X5agTnD;f;d~yb9e8CMg8;U^yJ#>qQx`d@2jP{sLkHG{m*-RjS$&`*ojs_9iuY$p;EBpS{9yTlb%%u*ev z(si&`ba;8EdfTsiyblFcYes2?Sc3PV=FN_=Fmv~Axw`_jd1`e(e1BeXVmB~G4f+{q zTDbJ0K>rk#LidG2qCw!xK~l%WPg<_oBdvLg3Aqsn<4yJK5LXYdnsrUgsVXVGBG{V| z1mOkO!m#jS8-kTGPBf|$3D4Wa$Nk-F=1dA+srKn%t*=nA@Uf$uezHNyaI5IQyb#k0 zL~>j5zxIgUyr%ev{2de!lkcpWdJD)HKp~83T!~)tUZA%VW4s%q*lU&fHdzTZf6Nii z*QQZB&m(x?=}w}5n*{irmtH?6W!430|M0m=Zfr8pymQ;%EVDO9uQnnTneOy)OSXKM zh$&DE(u3C7jTO|{@lmeVQ2GxUkMNUNkbe#=&~pG+4d0&vyJq-}lmvOQc4gjGG{~v= zybw(e09!3a@0u{iQ&~Y7Vn}YM?ZrEX(>Y{`%vRVL{azd1ucU0PfG{<`%hnkEDThG@ z2m$@f@%JY67WED;!~15fR%jQ^N)buByEG>n+RIOADLZxtW$EyCL2mMb7WEoj%E3*Q zL=0|&rhf%3>o)Mh;Ti4bl6Fs6l!KE_n!l7bKAh+^7(MQKmJ%^sy4TZVcMpT5K*@{? zNl810i_8B?SF&PvzrCU-*h7Wa_WskIseQ|eZUlImSpDMzQ))D`GiUc9mw>rm&iGH~ z+8jg<*|Mez(z#w)AHZy@td$QoF3YX+2>Z%3!GP&B5K<0o z#t4%3fTC&HahrQcz}TKX{@2<=*f&WElu(nm2kCiBNcZ{h(7*-EC8R^!69hVLyd;47-CA2j1t)062Nhk_H7mt3t ztWf}!GJA!i?Osl2$GR*e5<0y)j}q}BlCT~`s3;3fK8#Z0qs~!ES7%bW8;O=ZjGN`@ ziWg{1XCAsAHm#%2Sz&hOP~8iW4NivsH&>c+d1$E={G%MRQe;Y%8M5=TFT3g*5^0Bg zV=9UFbcN-z4%$#_1aanNf^sF!qGhyC9Jw2)rA1rwf$kCo>HZ4na71x*y%W1#knHzm zX(an8zh9hv2c3M)8R_7*FEKuC&OjIZdviUjt-CIa9Fj+088itWna$>l!g0>n;R467 z#J|BosZiJEr81{%=ViCgx<=4#xN!y5n;+sA_SLN-9oTF_2Tf5YwUY3L+(RIs*ir=6 z&ZW+wvyz&=s(G_@i|WW-6U@4S5j1Z|*(f9z)feHK7ErEJQ=pr`&1bU+S7V1Q9m;=I zsR1^pSfw3kPfFT@|MV}gHw66+ESY-5~w2##4`;2KZ9NF=+ku&;@gJgnVQ)+8b64?cnu zl>WF_#d-kY6u7`HEb%XfA0hPs7asT-rx1NGzDy|BadqFSW(@e59fqE!Dewlc%nL>B zdd&Qpoyfj!kbq!Pfy6P3s}~i#K(JoqBu#rQwnXGaLVL}(MC5{qFs&UL!#hi12t=(t z=ZhSQ7;TZ?`}0PAYh&*ppCUwn$X>UE?ZzBFLHd2g4N(XdkBk3sFSxGI>|To&Vsyj| z@Rc;hSd3{hTq_;3m4n{iOm%;*Vx&+#PNtsh|D2#;GMgevnGM$xr?XB>qxqvoA%u{ov9Y>6n@P=cNbXFN)Llm)(EAULQ5S zJrgD@ZpBFxl_Etpa6e8raKA1rHuMRhrtM=$rdXI zKQz{ph(wqUB0sj6V3{GaF!C>!IeBW3K4d`k{AtVna0*_`&`=!t-nND%V`J;Ej{_&? z$;QMKMz4a^_l~6@19}jMH~r*m9Q)|{+WM_sn&obi9TGEp>*$Zz??OB>0ne4sDm?Vb z_sI%8Hi1tgt7ug9(O)|!^N&yHf#!$s^#p|3%qnbA$I_^)N?1izL!-uBT=Zm+y+anc zj(Ceh4B1g7I{b|9cU3QUhi0gl-0tQO*R*NI?A!Q4ZY0AO`RN46+?w2#6s~REAA}He z3jPw+MQnY_D`r8cF};iWcO_cWQ4%L~^w!W$ssaLP>UL+P3(@>UNz?9+PSfv&MOdNSLLVn@M z={Yd+kqZn~_k~W+RG`tr=I^p|xjVb^IkgX*U&DaHX=|s6;lPm#ta-h0h_~0fnP$N$ zpmNZy-nc4(Fv%@{i$#T89Z%%Vp!(*0sM-7S`=-ny;VjW)^#UbQF5;IOT-~kMK&?&e z@yG?Vt(rx}T?11UtMRg@1aC?kP6c{( zqMjL^fx@HUB2h^fiXx=F`C*T0%uv~v2@^Db)pBF?JlD>G^}V`T=vJLCFdhc`A&yF22pP2XY7`+~G)U-hVy z)pG@}77E%$K}8<$JJRF17JyNpQP%e35jNfLEjC;j5NMI3fyvoda?2Xen}pO6*!}Ic zv(tFeQDtOj=FcamX9K;+aC0psQE<;KAo`r9$V8M?)^UxZtPa~@Z6f1=cIx^)LJ_^? z#t8*>zx3V8R5{K#9%|KZi{YIJBHeVY}y0395&~Y60HdCaf`WOl8IdkBlxoBqF*3 zl=*X?5(|&~6`Kj|1KWDndI(wPtBp#=>S@tbjUc|Zt)&Rg<0A5}46w6&*DGbvssKCs z>>q(Ge4l=Fa1o_C^HEqndo@MDoCU`0W4!XldQ{j+B&NJhkq)~7{QUzf8-aAZ zx!KVW6ayVC@A;N50qr{2n)C;^emMG&2OGyzBf4Pp+W`x-uPM36kXLf=jTuHgTqtKI z>0UN9#h%VktX&FP{3y2Fo<~bF%xH@Vi=pq=g=2nWPx8ND8f!B-X=_yxHfv!-+~yQg z+~%m@Nc_H7*)C~5|s%ZY)sL|zEXL4TeI9#u9DQl zH3Y}o9a`eswF1&&){#-s<5e(gva{L6k z$Wbh!#-JMJkb>0|nM~HwEoxbLOe&L75yHCPe{#)rD-{!N%kUp}u`^=Bsh^bZ<<=Cc z?LHdr@E&heOWNzsoWW&N6pkppDvTQdv^LFlp%Ya>au0}GJGUEwhbzo)JQcbrc((!_ z-&k?6yhj;v7{T7#MO477n~D@*U5hyhaeJDF;yz7wUaa-ZFoAMNi(uEijatmFlV(1( z-07NW9e%@L*{24kzA7Q+P_FE-mw;}d@P+kr$!6F#xM$Lxri!nRZ3&XE6+XHQK#eP- zgbxTMzbIp?$Matmk$u z(!!=BTmTiaWM=fV(V7t*U+0-_!#S&&vI92ETqgQ+;9Z+y7n`=%%x^z+{9f!q!tZ!= zTRtz=u^oqXm2@AJ}I!PtP{2joR)O(}JNdKMzQP5fq@Vi!IzfzZ+#U%EF>BPxK`MZoZ8c z?As&=v%ScParev)kb>(>@{9VaT%DBZE75ZJV(IK3WdpYM6|DfocfVs;70gpV7W;C@ zt1zx*kGN$3DLf020Ts&v=`A8Xy0(`!_fUsO{nB2-=T9|GMe2e)))+e!%aqH@?$2YIX zw|1PzM@KG;6aDV2mWrcEMD$NIO=!9nnSHzb3X*h39q(G1MTVfqNO5zpqk?I%bby;Q zy7Go20H4*kMzHrHg;8A>#pRC%>OBJok>tbn?5)34igc|N2xZHEt;#+ zr!@oCzZyjvEBjQHLVkO$Ht2nGji!b;hQ4A4EPY?xER}PD&^Z>L%z{_WZ1M3~gjK|U zx;!BGd!$2)#IhOXWNsZ9gDb)|Sq~<(?N%{$$L?Ms6F7XD$edt&?-a^SXDh z3?~-t)L>bY3_l0$7A1$4B6*ozo0C}(nggfGA_0v8Z|}>(5%Nwq=$|-J0)I{Gy#RHs z|Efn~T}5FAwtX=V?ipS*I0%_!Y%>tp$y}`jooJ zk*{eOkz7VlUv>@dT00)?+LSw#0Zc0b=?Ck|!jOOc@p4%`4qF9YPlP~twOOvURK~WI zy>;n;U=nFSIbV`DSwzMe3@MN@o47}pZ-KO1HjP;*V*&!=ajORMTJLLDt&2!#-|UcG zqzo0})g9-0%Q{pOd}T+X69iRRh42|N!6PE@Pmpz=Dua7Q9QtNF2@v*l5Z~()y#hC- zls>Iw{-F8hJS9x!V1r4ytXZ6W-O;`j(>bboGzv=oM470#I&73Vi+EaRpDSwXKHbeg z>#2UT<0l@=Nc18cul^AbPKL;WB3oeV0TC4hxQ&Kr5ESU%5o2o7nR9*5wIfz+%`)dMQ+u`6!M zM;PGvE!HMngg>mPPeD=aJm0>^3(z1iCX>PcT4Q9&Fm&mx+4`~UpnAGFf7!t8!e78< zWTa$J-P)|xva+cUwb5oKt#P9tq2-z1{@H{Pa}=);el;boS(q^aepk6*Dw8EQRQb-{ z<7eG@@5D~rgi%bxEFwe~&)GC6&An$$7yBr6hF&;4dHyiVD@|Ru>=PGMa~`g*_!%#wh7hc_F50@QEaF-!d|tdR>ZXs>LGjv3E~ex^Uf`*_A@Hkf z#S{qx$PwN6!iw`acheTTBkBX6(1?!2K4~~kMgODu?+%n& z=9DK)HW3w@rJZ54D@-E|^9SnRL@#w-zI6IP3@CHi1?~lyp=-c?{sQ+J`VLn#?V2f` zb5reb!u}~o&r0;3^vewakGk#$ka z|J&WxrGEHQ<)k&OGX$yjP1XIGx|-CvJNy}qV=BrA0WU?CC{5qg4StX^p*RBvNnjv) zeEfS>=*#UD#qRAbGSyz&jcNq%zfKmKFqxt6t>qV@`7TrL0$mSZI+%DaVWa1&0 zaZ>5#_qhg5q+e|Z*ag;{XGPWmWV_$0iaRzmY`on89(N&|2KdTvXSXx-XD2?yS=mcJ z3eJ{aO$q&r8PLpLkzY2Om%H!LQw59?;+5u`i!r>$`{+gTIOZkg-7dMggZ948sUOu^T` z)utS*#4&uw$t1aglSlA7cPuSPj22e17*`ze3T|0u&qF~-BMONUQO-xt!nc|I2mTEy zipQAH6(<*}n#h+L9~CpvR)Q@VSG87Ff?jD>?ybg6ur3)D7c~-155TFMQjYgyuBXCn zLW}v^F^4Z%>v!~?)MOtxw7Y|C|A9ZB2NIE4Cfnu$ZGQbs)@QxiXTeAwGBoTSF4eC69n(LoN*U}LPrBCg;by{tjnjhZpYMji8Ma8YjZEyiaEXFQVF8apM$=M=->1v}b~ z@!5V3hhAZf!w7gLVIXx2Rlpi@wi3|+8rv4m6So(*XpU`($$2QhPiXN;#_N76(b4Xu zR}A6^cS>bZw!fCGwAHB~Y^vt6$=)XTik-yEq&4889RdU_^t0-(QA^b3B7f z#3qhHXx!}enr~-oZ^0OtT|_1cnVlN+!4Im`-N~nm;o@wOL(J&Kvj0iCr6>FhpU+Hu zz&nBBs*ZPaOIUKenM1lyFI}SzIcO~q`eUP!K;M&DE2w2hPNB95GnzjSGwQ@Cd`pG_ zF~ve0Z&yZ=YQU>|`YJ4iwrN59$rp8uI9ra9w`i5-vOyL{gKarQm)ejGrc=4b?~r`fFUJmMXykiWJWOdkjmH@=vhZdjb4Pg>p(Q%d%YZ=;o&;iZAl&cJN<$kex2% zHZf`zh#2(3t4{sopxR?=>OP_4Y&s?*opVEwe$IUR3-5l{HKhKu0_`gK^=Y+Q#V1B2Jh9z%r1Fc%Yo=V|6>y4#wmxmIE~DTi7=~` zxn6Q@>|57g@76Ru{X3b%)1wKcB{xd{X|DW+_bCFz$v1?_x0#Js5FHUmKjU%gbIl;>tI0$6ZOrQz^Dg*i(s{G#b;RJ{>=d) z=9S80Dl(AU3-ke*+OzexZ&`ZgL+nKYnsR^QAMkUS;^Q^^N;4vE=tYmO)JQ^9avPgz z#_GtScxxt_oG5oo>PO7rLJAYYzZf?uPx~&X;y_d6>6`wctSp9vd#V*F4#R1ar7Qsx zfO_H3T`cxyLOUz;WO2W$IPkTNeS^(D^cuxBN8EtpLnHiUDt`PCGx$*AK@(3DUSQUZ z6J8KPW~Q?{+nW z?<&KptC0)g+$$yL$+tDGIH2hBH8S-zLk$sbas_+<-k7o#3 zA`1)UTS-B1;YKBr=$|pdUJ1r~EjA2yrurFlQX>tZdj5DE7jzRt%PYP;5>(2#f^FJ$ zx_2ugPKa=S?o4dcjiPCbKwxm|NPSOL0y$7mN8Y(tZ+UcLmxB3+6Okd715WF|1dj-m zL2a>6|D5M+2}b=Ya#6c>th{HiZqo2^iB){|mkKiBtcdy5uWm$eVR|LW*E;2%r%<*wKR9X-j%LQV?DI2T}KPk{othxpmvhh%?_@gUDt zhe)vynfl>6V*UU!s}1`db57GCPk-ffa7h2z=XvDV=I`fFHx$IM!VSKVS*R-}-q6~X z9I|2WC=GraazYtTs5eKgi(0Lec|iX&M7LDS3zp6g+wV2k$QT;|kla(zic6Fs)v}G( zzy0?@`jj@rAfJ-$Au9yZIz;$$9^kM}C5pXPW4*z6#|{|qM{-1vT={03cm@A@^5aWh ziB8cD!WKMpwrDfTDo_s2<~hJ39eESUZoo~QdL{r-ri9L?>`#0{+~#s#8tR;==!!sz$E&@zCdLxMN=IF5K}SIB#j@#I#K?eU-iYLMVRzQ zd0S(=729En-AAq9hIAYBhEf}J2z&oAk?r0w(X~D%#8k&@y!{x9V?9RwasaoYxP@*b za~KpF1A)5hn&v|o{r*Z z+5)NHYQa$J#Uj<@_)A@%?ChFq_R$!w>EZJQH!bXsHXVCnss-thW8%8vA zuh|l*d0=BRqjhmw0?DMAE}fm_m?7e}?u z{^74)zsT4v;y{?NoX1Q8gqyqU6fc$mC@Vg!6bBz|_7poGZHG0pwFN}vN3*pPz3Es( zXtEyMCL(S~>ZpsIWF}#IO>9yLmU%4FR=bGU4wxWc_62!qB#EWuyVEIGx`@i5^$`BI zk06TKxIP4W(aEL>e0f=lF{pC6ipsxABmvE{)jSD0?m?aZ@sq`BaBwwe`>CJQKh{3Cuj&xJ8bG4A!1app^A^0=L-{vwdFtE4 zcj2A!sCaS=(CScFC;_YKubuRj-uUXc+DaePrmn#<;g7s{uqYPO0S_DjL%1i1u@r@=B~7jRH%xODyh~YpXL@()6E8HEH~E zK#n1O^{NI--NY_ZM}PH9%bsHsWb@Ns!%sv1K&?fXLSb?Y+GP~l1HNlLnUBf3iarbw zGw1Mne)Eix5G!Q|t0|8%>6R~dQ11goSQ8o2n z!+%*Sno1VnPHbn@U-72VKOE?TKlY2Q28nD9&WL{eQIpq4c17HT&|z@cG>5lujz}un zoE%#*owpcuX(~+b!i-Oe{jfV>UBF0YD-9VDsQvMky&p^61$62#%~Zk^N31g`c@uQPIvG+>zxLeDkmJ@FNxdWF~w` zGkxGp3H!KFq-M0tYBjZrv*u~92hOGw73XtZ)4^Kx-ZGO18{0OeZXPon@9h$=72mg& z^RvwGwzk%qmo~=`1Z;d>BhP+Lg2GaB&urU>q||wL6V}k@ct57J*3`zd$9GjNRp;7d zpM4#wf3>--dJk(&H;;{_(L=Bzb?j-=vJM>DIHy;KIy>Kp} z&DHB$FMZ-H=qUK9&XP~%Bai&idMErK1S~Mp zSO>!aNIm^W5VAqd=9p2l^YeNw#_zi*a^bY=*ZZG0=}qOO3+k`8_np`ynLAGrA*R*g z+-iYCFPOv=)uX+@{t-<3DwmH%H@_SCX7P5pM3d_R#GmoJmsxeGwp&`kmhiMX)RWZ+ zFQMl``aSQyd^%(1U*D&ky+@>(uT&cg3fkZ^ac>{@6fd=<}!4Y1QOe+UJx} zM)Mk;iU2OHee!XcM(YrP=KSbhr<=R?wV?i1pk*8w?%#UQ3Ny2>^v0__a9KD?&o)@zzIS_elf633n^it9}oo&TRec+jHlo zoMZN_^15i6K*xq8tg*&-jfc;5!_C)IXJ@yXtdGX{4n~Kc(2#dmgaqNm10l@JtG{hr z`@w9Tnl(p2c20YEP7|i=!3=5Mu4wyjF+;$>e=pxHLX*GglpA>dJZi|!UNUg=Fuq87 zxbNtgJNi~0bKF*8VI}ywy1gt`a`mWVr??=JC5FxC|0tNT=tQCso6?zreN^!Ax-I=- z6LTIfVTSEGO8%C-iAJeQ@-SbJO{LyDK2}8pyGRb7t*bLikANNftfFRt`jewY>3yvb z{pbF5+~Mp9W^jy_SyCK*s_vc3K3u*k0jv1{jTO3r0cfgTl6eUQt@8@gRNQFwXc3SD9zO?|qYcrd8m+7CD8928O=!XgZX7x=iANUKG)* zUtPX)(F8mvrjQ>Erp?;1fzpyJYzXYq^?up!>M=u=s1A(;MV{i{qT2clM+64E+uxFG zn2vX4MKF$V@_5?wP<(|K7((Y%giCYE&~WRf5~Q;)>DJw$E#$n~3xOEPXvs;`3iU0S z5|*00A%+p-^CrxKN)s-Ii(*(Ellcva4(iei$fH*yiZ)Z^RisC;S~l52nkO0livf-O zUpL*H{gPqhCaiYo<1JNs7aWKmnOR<*q)ROCfu6;!n-|EXSx_8Fq zrGR#cCmGB4eS~J)jd8%0L&?%xBEmRRzup@NteA2BA3E;53*>iB`36GF2?EPz;7}UF zVe3`QqsxDe6BK@9tortK8wg-t#V>*Tp;3yZMytCNuDXO(su8qeWNqruW~NYm?%RE3 zTg>-7{Md}5#pi+~9nG+)gIakjIUZaiz>PjGEF$8ZoMNc29y#=mtIjkrP?uXu%RgSu zUTbM-JvDXvD$9@&j5t1JZ%36p*&kwJ;-*QJ+%FzEGQviz)#iZ}-JjnLd`9m>t!Wl0 zWI(VpuX;mN-7YUZli=B!$3F2Q{eeIVQb~GobkkpVE=Vmf9yV7~*Pj;DJuI_lVY8U+$ z^P!iu$iy;KV^AoAdT)9A_O`jdE>gqH+hu<%rBSHhgn#$85vJLSr8SYlynTPnh81v_ zq7^!J9jpH0pp#>ZmrjT*n4{<~ouf>kG?7YTO7r)qd6@GO#yd;Jk@xlwb zq0%{ufU`+dyYrUbk!NlKVu0uP=THFHM&}hQShip|n(=gL#ldf9UZ{Km(jVywk*l@O z=NCV#mF?vrw2Q^>zQuNQi$zmw1kWZbUSi>|8Yh!x8G=QFYh*)Km@qr8-_94^-3!PdqbL5rVdz7LoDTBf<90FoM0J5A67p2!V{)m@2t!MY}>p|`4A-0RHHySe?68IkOj=@cEmhKl!%Ef<=xu+ z+8+=|h6&D!*DJ1&D8`5|A6@!8CSHlDR}#lCldDsZK(Lg;$D^HZ zPkwy@eAfe^Fz*(i+&kp#!s+u;b4}UMrFqjIWaANmV%fcUU<`UpGO+Mb!}UtX>yq$n zUPN5zDydM}%v6ptmfA!zNqpT~oFFX3U*R%T;iJkoK$lJemJ5Ho zxf(#}rGe(w4D4Ah=P@IEMB{fHt&NNM(k5gth|jLb0FVti$aVJyt-&eyNa_C$;&4eI zQ!~_OWoU&&s0vt|00NlZgIM;Rt~r04*p=nz<~$ z78)>?J7{Spfo#{gWxD8$WtU=|Y|1VF(K%ERe=AP1>KbVra8RMtgn6u)d)tK{<#jEy z;i0qIi7HUqT7fNNL2KhRYm)WE*uPI+*=u9G3a^6Fbo)a5)lnQwGZLG6-i3Qar5Yjh z*dp6$oa$9wE_FpVrv~r{Qze;&$P%T8W?M~5MA<^KK~7pCs<6Os(HJyTK|0a>=jxYuY6yX?Bi?LU{d=zDGt#7k zA23YiM)QPHcS;Qq}ewqFGnYItH1-Jt!@k@wR3EA*aH8J`~N-hG&D zuv|24(-64^a0Z#-fnkr_(apBp>%~ydPB~aWZqWO_9mHIqG7X|pv2MT9((s)pD1*Cp z;WV>*YEpo=?R#Nj>@ho}t2Qj34cM7xue1T990z2U8$=p!gGaMHDv`NdV zYq=E-B5qA&Q+4P^Rq_-@z6}~iYL#!=gkw+iP9sA8655}hNH|S^0w=Ryr*nCWg<_>L z<5j|(bO5uvCYnjj+4N?yIFa#>JU4ocJ34ZwyWsxKk7?esDdDTw`4%q zkz(Z)Y-zc{IcJ(u>MWB@e*x>`l~@&Jb~!4Yf+`GAy+0oNcU}mE#?t(`;FWl3e0_&9 z+fc8!Em#ptc8bMBNo5?y%8pm7yG`4KRGol;B50lt<%_@|^;Fz?|6FiR3P zKu6xy1whTIL|*dLG5*#Af~FJISXX$2o&ZrqUr? z?-i^R8OYc%58xpkM2SIQ;Wbb0oi-L6D`?S7tQ*VFuwV&DXe`a{F&80}(cqor)J^rR zJFleWFPf?zFS~aw!^pVytHzr~%EnpMIei-|te`L+{;h*ipBvZk&pv_N;X@#SDhyow z3Ow#nPj@@yZ77`rKyoL=G>-bVVm9|URf-^Wb6kJ<3ljPDq z@?>#mT-wIp<^#%j_*<^ll~(2IGDDVHHky8RI(lxyO>j)C$;H$3C;e6AA9=@epL`=| zSqE7(mgk>Sa*lmxA3gcN`=$1tTt0?pvl!{A6|Iez5WZ1DL0rKsASZU!jtkLXKcf+c z*f*)+HnKA1j~l0V0G5qIhMt7|&?ldW;RYr9rSMR(dpRxpWjt=NX}=5O(^adM^ftN? zYVV)WcwCpUNacnd(Ks2EL#3p=sQ#S#!^s4ixI&4f+@gksrdah4kVZY-lGJ8O)cM&Pckjxt68Lj51_t zr{`3ZlMSVfFqM^k|2<=OF&lH|9w?AHI%0?e$(lZx2%&S^+{n z{*4~$1qWZPUG-s~|4>UVWdA5M(D*F;@0+Ny^nn@SEczLLpwzPJa|4FctyjH0vYV|O_4oqjiye2d^&&Y#z(LDnwBw2d8RZup3G2`)ouVuj1#wU9uI@$m8e(ni9 zEI47<#*R>!?l@kjsnF5o&IJ+m5hL+@Uars1!wz=E#om6$g8{=@_cKHa!M`hSsvJEu ze5#`|G=p3Q6L-szoe4r$Xs!mW^ZsE5!@hY98^>>ybS;lI6oS<*bU`WxA`nYMH0j{q z$ORyLsTXK^U`62mRyjhMnmTTB6|VXNzy44r4Jt=Tub16%xuF|#yuOjNkXR^p_G?LN z(Vp-Xn^<>FFtTlq-HhP5?IKyB7*}#bV~h4mnLXfD9ym@$PtkXTvQoxPSth07Dn})EwUkYfW_I`6z@o&E> zdd3W8g%rn_d8Np5MP5jh?_|gx=nJ^sp646XXIgWlE$Gu z<4Zz|u?xcZAbycT=hZ7sXkS)rh1vJ=KJL6!?awJfN7FU#JE4+x53zI)JvfYcK+2ci z_X#Hpz^C0M7S6kS-}p1QeG{EzkLmo*!8xr|JcQ>j6s=1+508_@rm3RY05;Z2D>H?7 zxik5IDs{qXl=_X}FwvNF9@(giQdDX(b?T@)X%)@O`?Y`6Ra8J_w+#+kDXX4{SQQ#C z&M4kxU_=P@3)DQZRPzEU6xI&T_9utqvnvQ1sE?beSbPHrUl*YFCr(XV) zr*N*;+wGn)&XGg6mEj+*E!M_Rg*HiX9&`AH*~)9!1Ohobz1$gJ=(-NB-uJlEDMEWM z^CnUUGv)&Pv7Fh2wtn~oDXtC7+|1&Ei7%hkGiaN0DDl1Ki5=QNcWQbxOcGmUx3e&^ zjkEvA(EPTFtURd#MrsfduI?N#o>+rlNigDdH0F7E)rCgH)l8o;Eq-QIrN%K~zYht0 zRnEg${dmoYY%EDZYNbM!;VtB2m`t`Jb!e*dJsoj08?p=#S2SduCG#5c#0v+0Mi(m& z`>r0R+y8qrpwo_hGoWhIx-RniY?^OO^H&F!%*muwXIxq>AG4!7Mk$xIB{QxIA6goL zsc3sp8#Mh?KE#9~vm25P7t0Q6+NT`(v5*Kc>k)w-=D*?5iGJYkBT|~lD0ND(W4j=iR1ZCoNZ5x34~uS6QaLh2{fwMw%m;l??yNZ0FgH&uHDX zGbqqZCJO%StCxr~K>Sih5)Gk1hiVmZryhd}SqqWiIhc!F$?e3Z(MJ4VuVj;d-G&e< zAXR|Y0^FE?-!hdRm)~@qJp{3f@g6hj`FlpEXX^qMFL3eDWhHov4t~MS*Nt(svPN)S z98SNagJ%Ql=;Z#Y9W=6S=AC^wmXH02-FF{>)ZGU=4wMKsB@;KOd{vac7B+N|~8-bs)UtT>%o)+uDH=IAUZk7?H#s9(i z2h~3O-RStE+A1WLkF#v z^f6q&qX|DjBP1vlS`+Q7G;~ON438&o)pqBife~~oylb+oLjwL%&14;h$k% zcGbr0!CcpPdFl5gAm@eIaUYPR-~d^bX-F@b(s$Lty*q-@Tollyd*}&dY3*F5db824 z%`v6J+N0>JQUTpsH(_8;u57;3=xjaPIr4Wsn|K$X8qS1?_KRW8{*Gi94?m0GFTRp3 zzSw@ORTwQ-2v(_&1I*Bqlc*RV3WOQ>NiUBJl(*twS*Zp#A3(0On4;>KqJq@;zx>|E zU<(e^!hdLB_%#4J`g7@AXxPku87}0FmWajuf=~IC8it`b{vbOoOy}#9Dev%1u3R6h zIA4dQ(z1ptx$&6U&fQF~mvw$g!qY?k846^ zlQRp&o|NKzU_##QL}IdPTBH7~FS(RkUUOr3Pw!;9lm-^As?SIEd%2P6w~AIjCpL0!`k9=wyUmH~8@MNpnTs=%JD8DpDmp(92= z@q6)~`H!dyn(Tx9szj?!ZnLdM*)U$eXzWag*eOldD%_{N!AolT0u;mbf3`nK3wFQ9 zaEbj@=79WSPHhoKw#LswYk+{f((66{=hhsxltyFXH2JWwmD$fRrI-1gyzANtegbL8 zrd5jRd0@=HbXyniBRQB+VGU`Izzux+QW+O{yO-ksN7y?DNBRbBqZ`|H zc9V^5b7O35+qSu}Z6_Ni6MJLZ_QbZo`MsyU^Pc}s)jc&+&(u^s^VHqlS6_Gc)waS! zp1ReCDF&vhQDb-b#Ow0+es{cd@4-1c*JAvi?JT}aqkcZq=9(k8vFe@oPqR0tUd& zAxPdaS8e({5BoEYk~g0)Sa}?|sc5mJf8A$n9Fv`U^mO1W{+lt$`mL@!#KMQEJ|C(4 zEf8#^$))koNeNI(i1lR4F6qP^zWP+)}Zkpz1nCjT7iS55XG*@nqyq)HeE;*(}h?dR?foi`o_ ze^686Fv*Uxo7S^4B#cL_I%$BQ`(K)Wv%i?Xd8^MM>AqzD*I_1tIA(%CBI^)P#>=Pz zeoUmS`UiP`^I#wk_7Vc2R!$ashrX);+yetdUAB;&{i*kkh|i&>(^hS;$;8s8>ePbM zyHE|Q=*~1cyHvK>2d{l1SK+)gaA>Z0t?Aogd)Z@3xWYZ}65TJpoQzH)U#=VnTdqhm~*ExB{louV9~ zQvogJ-HpYkVUB9tuLI#-!#f#S*_ft!%(jg>NZyojPZ=0SCZmx31yb~Mgyu6EqmFNk zj?I+>JGRJ+(AS(G(bcmMyeeH+e^3+Rzl_$)oGQh&xOCQkIa}GT@CeID4vP>{v>F~+ z5TI^5+y4Y8SCzr|5}C9!R>e;x1tlEnB6&SP&ln);+RvfJUr{k&8CUk}*#A}v%ui@! zuJAFd^ZP;bY4Yhx~ZA<`fO6&l9Ku0nx<~13EzG)Zp_qxjFjszeWV_obNOuUE$3N{E8P8PI(Qilmn@6F- zSHPil%u96Z0!Fe_{A+eQ*(EN=VBo2kF9lBS<0Pn_*M(3lQ(sSc87H3q&$#%`+ zHIn(?z=FRoM}ej`dqu7lFaP8kfKH$GDm*M7nHZn}wa|BdIQ1j$%(S-htN?K@b)#ai zmNza;gD{YmB;TfT&Qw*0;hzy#^!m!A^lGFeJC(BXoGQqi2kluajwsF05+AlAS3=wd zb*PnfA-uqYhR9v-=?3q(n6iGo46{9+@EmZT1XgKPfuU01`4=qmwVA z63cnBF09mTmfIpPG7DB}+MJ)?14khYFTRih_=7+C(r=kb(r#7}>BRm3bT1y_(pW4P zohD0=2ZMK}jh=PDH6C_>D7FQc_XR)ynUNs5g@1S8e0}rbRG|ZVZx(eO|8CHtWJ@d- z@^^C}S(USW0D5b%NXBQVXh-8~ck@bcKxh>1)kAP40V8$OsSlu?y3~t4mGTuvKWH}~VdacrX*qA5zu4uuy{04jeLT5h zBVn054ZtSFq6@3(FvHGx?l(LZTlKavC$SBIzFo{7Qrs~IE>m(HC( zJyeehN{8&Pj#)pwVg-VUyNdbN|9O?rUocKp^CWrFXa4Cq5yqDd_#s(hIb}SbagUd` zRFwcj;7rE2pWD5^_54$e92yL=XMFg)%Q!+q&0h-uPC8h%HOQ8 z%kY=gdCX>?sGYVYiFE;^l9Z;l$kTRR*NGrX70XA)EXm$Ikf!0>#iUltN zL|$RE=}_3NW5>-CkE7kj>!A5fZ#Tb2@L{dH5i(zL-1@Vs8Qi|sKWM+&P@|qNmd)VHwmKJlT$!A-Gws_m%s&FJxQdb0^I_qb(;f1Bg;7WB^}Hax$5W%@Z+W7xSx5Rrzh5JGQ)h*&@eDwGCZy*6gfPR z#UXhkT6!UeS+E*k`YY4CV6>7y;D*Ybs*L4VaL!O$~a zavbNI!mgOwuvam9P8M~B?NCoXsB_O2PXvYY6}`w6`woXjTwLA95E&}@OLMEMrBDyH zDBrAZb<&!{d2!vbl~o-jnlZUx?fXzK8|gj(m(L~~ldvGmUc{g_fh)?Z8nEP5v9m3! z&>pDu6vO0S!D5v^7};v|Nlj|K&`@o2e^x?iYQ7K|C}0d4s}S~NNaJFl09&7&#~S99 zh6ea97lsDnXpHx|qkVB69naVE9O>ACN_P=Fpsl05Jp_ka(;gh7z30N%KtmCTcbDWD z(K7YK8@_zWmP~m$79|RT*|!edejwLFTQ|1yML(o&D{kI0`Bj=1FXb_3z=5^?geyX; zd5BpRiS{W@RmC37cC9*Jdn>GyLWzKPP#QVM$$>*}n=#^>XM>VZWC| zV9dpZ#}Zg75YdB#hm!A8_NYrEHKZcM{p(;*NB9*VMdEbRI0SLE7o!?TM5+%qx+pm} zh~w6H-*K5IxgbPr{6YZ|?p5@~Jlv1{@_c z{tD2Y5^+AO93+aPp2jX6K-oZ^HQ%_js2{A9w&}f)URnuSM|!o%-v`^$X4~#c+{=S- z!^(z{Zw(34Z5D8;>&(3DIlWQ&coJyO)AY0T;m77NNQ>BrO|#zcWG$Y6G5-koadre7 z@ZXGS-vVmkg)Zq>Eqz()c) z)23k|OCKTq1tH0Sz*Oy=Ss66rp^IsIu0Bp~v}`BN8}rM9_1BF+S@JsW{a2HzZk7+? zU*Da~pVfLgav~_}$zQjdI;AQd+)9vsKiP!zqah(~ShF6Pd-Oh-)j}80=XH7hMKc)oGx{|jj&=2>#N@63DJSL_>$)bK|H0U{vV(Ho+Q}dFz z#(@&P4ljHkD6xZi-ViR{Rp|Eq7!IS_-adIE;3E;RjK}u7H3$~i?;R8h$>Y<=pWa#X zFJ95VY*gN!BZu@2#u_>S%OcKP#0WVFROJVYCq8v(!wk1^yTwkxQ9VIu>MuwYo@wYl zMNgB^cP%Gnvs^uu;m@2UAsR`_eEEG++4(n8^=>}3thn*ZpwW^4BAv2YAMmU!x>~EzqLRx}Ur&xA~O3$|g`I zpGPzd9Bk-xJ-gBd@F#z#$+MQvlN)d7()oZP0G@skeE-;t`-~O$Cs3Xy!2ZaQ_}VtU z|FRW+3|)R3-L!0NMGvzvUsclI?eUp@HEpAce5f(tp0@waV*ky#e3xGcaoX4xcg=H) zDx$KbP0i$F(6WnJo58ZZ>wy3A5-gWW-Rq4#hvw0>0BQPCf(=qeZeQ5TledZ?D zaes~BK4TX&q5_AfH`5Lz0o*pVg$bBm+wL+yg8uQ#@htzG6uWSylJSOW z%M$}ROB+30-VsT9!vW;ft) z(#Oqz6~&+g-FoXHO~otkDYvVDXqY-@u6!(#r<{3)q}br58RkZRxGgruk)f2mk*WOO zDN8-0Sm%viH>|Gc-y-{Xu3-CkTE6oQNSPgmZmhm)a$C+>-V%l}Q2P^~Tzx%m zITr_~e>$v!oynzJVcuS0ihNsJlfn(~pN*vgESKoQHI=tNMgQH$OyF;=S=zgjwp>jz zdc7pv%39Os9~ny4HC-RT0jtOUcn)T=`ycr;*tYM;10ToGsch;k=IC6 zxnA+oUVpJYrJ0DNeNkSzr9FJ-S?#W|a(8)WX8BR-#JWGI`1hh$*+R(@-7z{emy^t? zTlY`bMqbL_>!{?u&l|j^0OK=j%Y&vBVtUS7Pxm0we~h46F#jrZ%Z8(N?dmBZpEZ!a zUzYalz=FB;2*EkFJVnK#nm^^Z;~>MJQ9hcKgQ_tIicJoQH`v<}Q?im1Q*=k=pF)s* z643YT8Y@NccDC3-wHR*+BPwlep~Kw9T|0Zy(Mp8;(C8#kCNYCIJ*4anP;Lc zB3m@H^ZFwo!TbkP8iES9FBGW`VtG*2no|(y^5h?;m#vVoLj;of@`umEEg?4&Bm%ZxM zoH0~bV7HnwXI8$vtnD2JF=Qy^D2P3-d(YZ4 zrvE(uO2-Mw0l?<~NKcm{w(=7wL^EGACv=9jDOykur|OHP@W})&&DqSC$ZL1Qod;Qml^}!0MmwN z-^wAoY^j!@NMx1?c_Zv&sSLamXus)r6{hKcpcFn`idmSl^UeR2dl-3#HsstDfka}= zfA6kqnfmpBI(o-vC7xi&QepgN+DjmSvZI*+jIXbN=35tCMf{*oSjD%_F=gE`Hu7I! zoiVUz*XyxW_Z*^%ZGLm3b?w2Z)~*Rq{(Fk?r&`mz3$fUIb4A~Bj}@>2^q*8v8kQ8G zdndv4a976tV9@a3yz3zF_YLN7VGx+z!8Xz@C~$l+r{P!Kg=Lx;?lgmvY!{li#LBy_ zJBt5jc4hXg zTb+|nTZ;X}Y4D0&h)=aq*)*EtDqWtHP>ZPIsR_ zt;$ABt>{OkV#4Czk+~5mvBL)QW)@nVZy>cv-KW7L` zU~jYq&I77S$2|6s zUXe>Jk%6l|9px&z2fziI+tggG)8#oyFHmRvl%<+=nSQND{+FUl&(rhMYL?o1mO3gs z@rGSQ4U4)ma-!r%WtoSRYv!$Osjt~4o_f_mlLenELpno;#*0+J-}wg2pIMPOui0}t zSMUV047B+SbmM~4%FUz6r+q9L0CHs-gz*VM?$w!}l!)#5&?eyntL)-miQtjsFnI^j z^KHxR(wikG$Pst8;h#w9sF^{fhGXv`93}sfVqrb{$TcOUyX^X*bQ!znco*qA9sdP< zD8&Wktn{uUgj*&^^pbV$DIUx7^1!JX$PxPq)Q8ubdW>LS2%20P64Pe&-tZ;r`#HoK zE@cgD{?Wa;? z)n{aD)rk@^)v{9mt~-%kc9tDKqm~_~QFg_X$fioSXlwjr`iue2`fEfX5S(Ko*f~d0 zX1U1Nf+5D5*FF>)$qhk}mv(9=Db(vUQ?jr5IanV+3(R`&Y35-L1MUrTEOEH?%{oVmx=*@ zH<1LJNU8aT6hmM2cKUtgPgUX=PltGk?V{#IC*H^mXIO88W|oybP-#zEYMGng`OMTV zK~O8BN1e=jqX4O|>H)YDM8!o-q+HaLU9&pt8H&?eMn0DzcJ;1QbsaxS^iIra6$*bw z!J}*J%+VfXeP^tM#8@Uh!ajJ5oUwXb^V@6*?kZe`)f>{fcpwmXle&W@@%**=hR(%X zVf4}MY(5St8Bc!>8w3mYCjSE+oiyOG?UhXI>EZ`6eSBnHmJRQo@T;9Dq z2ccLEED9d9wSW7o1Ae@l?V|40YOg^3+|~A+tZ_+sDx}bs`h)=KJ6X^Te2^YPA{M9V zs?+&p-c~2S%~O5E`B@M?^$+f@&-$ta8z^?VkPS`;d|kwOh3TX2P_>+gmUNauo0NOp zlluUF*|MgtL*kMQf+p?oyu4@$p%Y}GxczJaXcu1nW+WO6PO3&fp*b)1yY!-~MrLar zp}5*H#YQL&yJ8uC>FdnbmS^Z@B(?7@3gnZb{q=RHb)vjZOk1V#k2g4*#-B>Ge|gUn zeF~!7utWdd7v-Rul8%a!6H$*v6dH%w!~sndAAJ(&@io6ShIIJ!7OQjjtyaCVmm@3i zeL<~J>^$t@tMH!h*gx>jA$dgMsfMM|d{fv=&J$&}F1LAyx0-}bvKfVj~G?r#m!zdmR9uQ3Ep(bU3J}V$KLu;2&9Vo>F%*cctJVQ;bzaWzgcw zYPlE6!m!Ai>SziZbU?^72VYstsIWv~2lE>{hxIhxt2n={o#NL|*UC)8l6>5n0>}*n z&~4p|fNslUP{&^`*KQ$kg?6y&j1yU_AqkgkksPFm-&Uu!EyTX_siaUXcK>3NsNR~N zI3%uCKv55#pNcMIZxS3dN8lSQ-Mc+G_(a~?NdEZL9bz4GlOXr*9p1fs<9s z{G^TJeoYNBXj-bFG_~Grl)TES%5IT&VjMH`zf=z^i)n)D3(s+QD#zcB6U6X(JdfxJgunKLQ1`pY!0#;@1lxwMSQ@98rEm#T?=8JB57V zj{@i3E)@E74$6;I0bHGaDOTu1d1k2e?6Z`-s+ND|V8h<#QIk%M?L)%e1~@XHnh$G} zj>sqrWpCO9lH!yGaCMA>3m2B7lTIz+n7ar3vi>QQ{cuh#6fbdc0`BNm0~NGk8H4~r zL34kJNJ*r@93Q)(g5J&Haqsu9$?}N~#^h<6pZ09nEiYfKI^Jq*aMY*L1ZI$(OmFOb zO$R$J_BLrDSNuYkSx-s*4HZelB3jP+G3{Guw`%l@xav2jnSn)~J{!`=(N2Wkb>F$v zj>p|vxGqJ|V!dSsM2FK)u4iEUF0OZ87oX~QglfCO26IHVA|3KuR_FItG*5HTJ~fB@ zo=XTPK2|4w#6|?3XQYqTL}Z+2rE3mwGuMT?8yTQIB@?Mzu=@y>(UELGjrT^BYaz=S18X zaufNwH~D)7Cr>8FH&fJOP?px%+!=LP_EBZRM14^9F=Z`am7;a>Ns4_@T1K^l7v-Jc z#2z`T(zDBO3liD~8RweYoD=EEgF%Azg$Y2zbOsZ;Y{b-LeNo1i{Tu_Ug^vxMd%ExeA@MXq1im^A_l=Pcw<+wQI^!w*{T# z8MYz^Ce5UK^|P1o$5Wt9T(OYpXgN^EHk> zGa$WZb|v8?*~QYMpSi(Ug3pCP27k-HGFeV419a>~?En%L=ySo~Zp3aDS= zFEUB<5|W*QQk63Il5d?Myyi|W^S4#!py@(9J*lDMo+iXzYMVj{Q_QDF3fP%LKzcuv}eszQE?g$x;eM11=)ZOvxV;myTCXyX5ZLJ&&Q zid(fzFFBR+nm_$AT{xli$Mur?XVP*?Ju>KA%|~tQ6U4Y(-WO-VULmZXV2U|h7_H~G zGgzeH4k=b{!xOeOmwxm-NHC}=m&Js(a@}eeOqe8aN7-QGbAt}qwqt%ItRfr*Cd03j_flh`4Y4GQs(5Fwrxs9bzgs$ws}QNVh9{l0{1S!l>j=H@WWx?_{I#E zX-G6s-n5?&Vo<&Nz*iYH+>zzd0~Jcx%LfBp5`4hRjO=(KVQ6aiGBp2ykA)^`(mYCE zMq;nO;5va6AaII=oA?E7b(aE@bUBV zXMaK8tYh=H8DgYgd($idn=XOpy-V#4Ri-+puCkKgQi6kK`(@OzvV*DVN^LM-KY;XR z(I$*7`M!-}AK%o@Jx=y$VKUy@@-lapwQ2t))x@>I)4G9r4G!Rms=*#FIZWvnzFjCm#Do-NX! z|N5rmc)P~)YGaPb(4C?Wwq5LPsHb6&N-nouR5(WoV716vua)2U(%xFVPkmuVuEUOe z$A>_RE$f)@#4KXQxV*x*5ewS#uY;gV7~dPsE;wS`|F&v6m={EQ9OfzZ!SwsCpKlW7 zF7nk-Pf>7!_5j8Mj9tH2<*$4Ap{^Ja@1ElUmM2@RxB2^sc2YU;cJ6|PbQ$k_$ALx7 zVUzR;AhvwXV`SR+9i@@3$KR9>|B0$3!oobS!+&6ZszwkWrm018-6C%2h3aCKOFT3w z(|E{i>z4Wls}~z`t8tZzC!74N#_=py6C=H0kK$YS8p*5WDpscH$Eb}Jwlb?)u4$(0 zZsV^E2G?0sEP#hBoF?qO9`D(%d>1)J0mquK>HOxv?UQio@=9t=T-K+wbSdwUl$B0N zpo|LNGQ2uHUnRWe_9NkTlZB?64-W9xdQ@5m@ipQ0AV-DZxC(qK`>hQGq zr&Cb_D?W-2o_iKqdK0z)hAwI`C0HcmCl3Q>z}fl46%S3;n+XZ#$HEC>zM{4J6*95V z1H#1_9(M~j$iA#Ey3-c^#2VVR^_a#u(P}W^FI%>}KrBke6l3%3feKuWD9)q~PhfP+ z6m=6QHB|?UgsykCx4iga(tHRT_nxT$jx1Pc1THBrZX19+?5jF1`rWv#K*GLr^^9Xu z&*L~)ki2-?swQ~4U~RP_XB*=S)Y}f=sX?zQYx83sW^Y%=1=!F|o_C!485iUag@pAK%VoX52qk)4+3g_q-sk?wfPO1XkA zpuJSKMz$d2tFHih6Oi@}$yD?t_*)&y)?&%>_5l0fIZU2$d|~W>(~MyIlc@9>r`9YA(Y+a*!fMk<`oGiyn(WN_9|=GtGbeOlSZv1 zk~W;Ng0w?PD4WPSko2e+1kU@xg}bxC_iVUt>|D7AJ5+Bj1?f@Eqx&dRT%|DGSJ6cx{Uu%fsw>*t2+^tmgqD#RZe@6=afd@!1W852tc){-TFM5X3~_#OT@f$Uf{H{Oh&dQI-d6r*t0l z90FubZZ{jecFu*CxE7)~);BlrShNjkZCY1Z4k}R}A{`TAdKGy#$QAzhf@fXpw>4fXMAPMFM2j~;r+|@s>jj%D|rws030rws}^Rp%gwQW%zh21lw zew+ShTSR9qNsKgG*KE~Klo9XvlAOXSQRJ|M&d~vFEXIHJtw&z^DkjS0F$%@KS;Hrm z#htv)vlpU~#C0kkCuiGyS$QhN*8(|cNhI5y^$7wC=DY2>xMS#CaZdjO8GJ6X?k)iW zt82b2PJ-f`onzvjO9T zRZd4}r5}8L+%LR-R}ftdUY-3WdBd{XQm58rPl?#RPxe@{FC}m(8;vP#&!+3+zBB%w zHw6Kg95{K?&?!L@m|w4jK|AF8XRGMeSn)VMWMw>tC{G5u>IApL+ary1qly+MWVRuq z6N{-2``vHCsOMG;mpRp}QXDhfvk^5BCK9KQEO;v9t3ncSMG*IfOaJ;iPu*V@)%6It zBXn|mj7N^Eh(w3VYh!#?K@dY)54a;d-;^Nn`w2g;(6@)9FEjDAJ~m{0?oN;3ChUV} zL`~aUl8v@C?wsI-;a|XQ{9rpMhe6h?;=U`-;*6fFzCeF){Vh7V z9Dm1*5Wc22rY^KrvG`swy7ufketVWs)Oui9{-$->4RPl8aN2Fu1H%T>`yEr?ZWy@e zZzrN`61w?3$j?U&w_NFEFwRSWH3kitwh(uR%mjrZ)GHr<1y>1uTLfVPeSAKs`65_C zHzL(n5y-bxD3oijNJ>&i6@R6HIbsL{4{tIp{87=Se|4%X{j(CZbVebMmm9_&WCOUo zSHMY1D=37rt7)35Yowbd-`>Yehi;cq>ZIWA*Oe~dX;$`q0)wHf^vT-j)`M&Pf&3a( zeK|V2OwR(eIX_2hFq~$PL|+Q5#i-1B^hZ_Vv$g?71@N07n}=Ha znA0n>yW)nRP0ouvFV&Yq?Q0?)=$fYt`m0+%WVDYp=0Wb8%=$_Ee<1nzri5r4UNfIj@$COt zi=bp!Fnt>`Yp^y!5mL}qF}z0I(&>Ej!j)ew{GcQZun=X6|Y=KP-KhL+!bEmeUG?TD+GT9@=3qWWjRy>@tL7+o?Lo^6Qrqdj z!8+@OLd52Z!_-@L>YcjwirE_PVY3`RV8r+Fy_sHjL+1bLi~TQ~TTHq=Ys+AoM6ZVX{0R`zSX-x0j8pF~AFA zlf1`bX&dn`lay0YE`x5=b;WV5Thh8!!P>Mtg8N5RdR>FF?V^xxy|hjFMK6ss{V2yg z93TCuaDFlVbRdcI*eH6a?Gd_2A`-IH_rFnGTh_a79QA`ZE4fJy>1evHp@yQUMlOhKKWvtQ;NR|E?Q1QP zr@!9np^|wX(4pRP8= zVzemK|CcPHe3KY?|F-BCa&9_TdudWFdWMJ9$gWw%;5E%;roWg=U5=?^!?3lGyNNv; z*fjOw#_|oc3!I~2gUVdTngZv z-XuE3up6Kt@-Vo%1avR0`O=po=?<lhGt7AW*z<4Km(K%bP*clGHJ3|WZfKPR35F* zuEF?j>%2?p?RiF675f85RW33*2kx{7QM&(3e3XGEUR9t+uq0l<-1)Nu*F4T&B1n!pD82eHH3`@STxdhCyo3%S{Ia1EQ zwS{CSNbcG=`v_DX+7c#tIqHtAmD7Z(0=su`wQ*!Cq~dp2ywpX(_?MVRXnut!IBDa8IAFj zpGhF8x0_QS*W02zIOK~Ne0YOu$pf#@57O5jvP%h&MeF7O?LcX_2iVf^)lLUMSLY@B zKF}>*ANy*lr^=&6x6`}!+xpdmmpIXZGsq3`-njYl4z6EBwtyS}CH6L&e+(fmlGJ&x z1$GbZLnZ96E>)kSeT2s`uArO8F$4&~w)&+hs=*v@ifeA5jB4LBT>Po=T?J9ZAFF7L zdubld)#1iQq}~)}0Ba+PHwrUsM|niLy&RBT^P3K1X(7!9N1cZ|<3zi+e_2&Lbi1^` zkEALhBUAR5%)10{XlbOpb#AG7qA3+ytG>%8*OU1X90pk=_WJVeImRuy4-`D2-?TK7 zT^2PGIf{p3goOe8(3;xfCoCigTZw5^-3G8?pxg%*|9@;6*(>{nAdc?)nflgBb_dzz ze+Hc*p|!O}HvibleHQlrnlu?QNC4Zp*xO<$rH!n+yWSe(M*V|MG?$g7%*IRNeV&kk z1L>uUsR|cHcH#gVWX->rlh*&n5#4mwy%dWKT!#OTL0j|B#pPHcV_kFW{5y&V%j*Zx zz&Yncj)Fo>L^qXEJ?$iSeAVVEGrT7C?RZ@s%y0h`GZOo3Oc{vzX*%c&A*^$p&rNm+ zwLVSG!%22~+iPx9CC6et66EoT$R;27tLym7EiPlZ?p=5q1ZL_sHw#7hYm`7q*Lk?; za5sn`4b$pC`Po!Zsgc$0JBTp*enIQMT4Arx%-}AO?fz{q^lc4`x$z+yC=d4!_-nJctE1lj(sH#^$0XluRQAzsVX(pBYs) zMnz%Dj0)Y{G!Gz^-!+IpGb{ZpGMNJT>~VSSMYteUJ`HtBxp`K%fjrKOn^F+BE0~y^ z*g*E#2-bDw;yzQkq8d<)q_I-2V~n(d78aX`L6V==vIx-@=?cmgmB-8uI^UD~j;oUU zxY$b?Ggq{<0e{-bkXOc5g{uRTi5%%FQIcL_n#qtCGJ@vZ27Hs7$)^5xidk5HpR~=K z@H-DzN0w1qeF552A49eYfjBbvte#Ont|`5GQ{mV=8dG6nY7jq`1|p+EL6k0uK9OEw5L;qmS>8^<{_`oU=wg-$V=@ryv#jL>gdrUj~@%q3B{P~}e z=<^J(yf)r->N~+|`O%7C^wK-qbcT-roAB+%KTVv}G2A^pF`6_IqT{O2Z@$!9HwE8s zIA5;2>u*}ik?)!VhDrI#aK?n;k|#xf1SW>Bl-C_P{6MFM)Ym$Sb}+BnSs!NwFSwjQnhCc3-X^Z%w=x@KTD_nY!F zGu1MOb`|h!8f(2gIoa!k#pa-0WF1^&uTQlCkG<*6 zh-+WR))uhltplT$(PO9`nW!(H=$Om^BiV?(B4nI(6XC-@8dyXA@BOojh77aa8gr*J z%l>NiSu_*@nxu`21n)R1KaO@HKTIlZc2Yz2*N3-A~h>9p&mLA0c(i*(UU;4jvEXS39);R0p{p z!j?SPM!!tJid+|w#&AobNstU35fjpxT2DOz7kc|r?%k`Ir2{Vik@o#5sRXgM zbZjQVd$y^ESrJ$_wg61!W+VbgweijuP**}qzk4eQi@2cnX(b0~%4uiz^& z4&vK_z}q70c!d2%LEw{ZSv9g@>kbqONsd6=j;?dyH(>#nKu|Dk#{mUX97dNw;evkq zTbhw+gi45mr>RE#imvTDqasigWdqwgx3b(uj*psh4&-X^yO?>`!s@A^_q+IZ;#J^3 zo$%UiK~kvFsY~Nm4MM`3ku5TV?un5t!SBs=r`u{ivkcw1iJjZya;PN zwSTMcpcj^$__+VXWS*)|-!7ET$n25_kU8oaZT`!5?h+#!VvQ@c8=HNPj6ucYI zcpAKS2-Xk-vzhiO9IfS5gRUX^9tYXFORs)Ae#$nNW$ujlgoY#;V{>y6WY)A&bJ1AN zG=|AP6P#(p(|>SRYX9J+pc?;V;?<>Wx3B2cu&MCwbTmPX!JRmjpt3~L#F(}UVcQ$5M1Km z&;-(`Aa&_kJ{k24tDW7YxZE1Rm@jyJ-T!3R6p0V=_Q8A}2Uo6^x*y$+}3?-^)hi);1COuRx7u&84k`Ckfl4 z4xgIP820NEh*`T6YRR(t+TD;c;{S!LG*_I4-?Ey zz5p=GD@mzmB7goF@AYKB@9Zgq0P%taB6q2$4&?DNU5Xo?A(50fFYH%568=jXtkHOe zxOjxrt2b4Z2)v-zfLhqJmhnqmlbOj4?4aYWGOi}I%LBDo?Z|PCCN}6t{n_tUU0}p< zkpSr|uvFJhEdMKo1d;8yCTMD;{CHL~xN84rd((T3RX9{2FeL zw``Q;!q?7B4bMp z5XegBhh)>xob$uaLRza$w44VpGCS+oTW-!P-yRoNyQ>oFem(;zYk}jHSP3|X8@dRp zX)@xu+riR*9KBy?$03Dr@F4uq@OD?~%tRSwBwI5dbh=v~Zjpal{$-DvxPu;- zJe@=bboCxS;5&{wv8LXuOLH^cJm*KZNNohSNbiZET&0*WqIkBDH}T2Rw|S_OncX&v z=gBZ^@BG|cpT(Yv>VTL}=Xqn()QGOr=F=T!Hd2?ZL}1|%z<@2;L?R^~s+ zHmPSO!O=j`JNs-u7xw)ux#{b`$W zY3hwk@hh;Cy14}z%PyICY_hIt26c|@|Lqe`XreP-9wB?%i>=IsKe>U;Wb{!fY?9W5 zCURq%xy(G?p1>9-$`(L7A1w?@R`)YtLk_lV*|)!OqH;uu<%+aGz?`SIv_Y}U!YrU~qV%it^1evkv;#&PWtsQv@#q9EC44xp=wRE<>|&On zvY5}L{xW{BLKNG2O6SpV-7ApD$`^@UUlb_gf$9<_r{V5_RSDYaxtpWDvsbdeO*U~f zpRASsTUeFOwf-|?N_Ost{Fm=F=i~6acgc>q$syy1GV-40>w2qZM~N|o_C8a&9z}dd z*95D~i(BDPr_(`mTj39iYXtStAVsD8rg$KSoLNsdT3hUk!07I+ZJvC5$0Z_&6$;6@ zxpclK#hco~rx%K^y!x>xbjdRm$$IdA=sF9aIJ>P&2X{ztf(H-oZoz^FcMI+o+=2uN z?k+(B!QG(=?rx0+Xxtn3dGpu?YAPBk&_T>*g5ntP^16+Q#Bh3^Mn(ie(*}2U4)E%pq(ZZ5bdS*ZS}RzsdP` zXPJ`;i}=L%h-`&)*D=eBoj^BCPl{N73FxBDXkBW>g3cKEm{sd)wx*z{iD% zKF}Nf91_CyavCh@^@cmLtFqf~L5qN!!Z!?CL$@X6! z7ddK(ois-NS1wXI2jrp@$|}Ik#W8=f0ghYw-}_3?8+N+uI?o6y|eN7BmoLQlxZ=`bInd!s3%FWXV4=W|Cz+F z$`tV2PbEM2L79)!$708yYT6@i3^`FoZ*7B1$JuqhQqH?|a!ArnbzUOO>3Q3IzM))& zS29Q28rej4dcz4LjWRnk8rxQ~_+gcZuN;Uw$N8L>oX;R4sE;P6AF z^L07_SFZZkMOH}`Kr)K5#oq^xnCDmT+I0fJB4B$-d^bjontjA7c@IV`fgj68qR2i5_9?rHzb@=VXF)*;3+ z8DKVa3)yd1xXNp}m2>#nI?@citKmgS8x*EHOE!io6k76dBCFb&7iiv8q6u_7KpLKQdw5(&<>+TY_L92cMix@_K%ITV)( z*&tZ{zwJ8~0Fw*=Fv;=_o_f68wZRiHfI`Np72T7nB_C)N-R}bWGZH{R3flxyG?lc7 zWkpw^yoUS$WG^K^_S!81Y}c-TGm+2lF&56XY?^^hcEimZU{Si3)#(3cRT2f%G52aN z8>GRDYenF`)z5(xj><5>{v`hJ^})VHHs1g&@`(E{X7Uddi3i=1jMfMXVm{g?0QkD6S@qPCneK=*_14UyDY6ct1OO)FbyCHi9TglSaa#XykPg95qQeMN)WHv)zQj@9_5Q@@HcbS% z)=j^CliZ1;R5p4|l8+oa@ZyP95g*bx+I@%>00EmPZOL9Ff+gP_iTm=w(kV$EQDDK^ zOL4>moKl;-VJDY9-SH7l;|p<=bV{6CH80QZ8sY`18E5xn#x`@|(D%%`YxQXyrthA> zl4Q@u_d+BnoT*S(IhrfiHt>op=}yCs%5?24g5P|Gw_9Xv?cG*=p-Gf=ui=`^Inw_D8d^~5F! z0@h!I>?>Jo=kz6|E*wLMCIw@V#IPEAT7X%wo~8iTDDDtKm$4x#L20i zJQ|OGB2k0FqLg!LR^cI$4}gB1rR-H*=`lD(F-M!NmhwyW%J@_Zc->v*->94Y=yGm^dA-7dzJwk*Q!|3w~{W10WO-@V?3 z!tv}}oJep}TN5j#vg|k z;z#m0ud{D$&IH&=`UbcQVL%<6ejEZJHy`Z?U z^l_?~Xh(|FXij7#L0q>iQse3qJqi`5_}M$C`xF_Eyr=1#gnOzjrV&Z!7Qn&t>?X?S z+Vq6uJ@G_JQD*JdkS>8DO>^V|Yxnyr(qgWv*eo_T7jN1%D|Xbc341lEtz5&c(td?X zyHN;5Pi(#OH&Zq({zHP*VHo1c*Z7v|e6i4#s?pvYHiDNVB<}(J$FBY~EE_h9szxK= zN@GhpNaLnqMpz)~?RZzYWk?g!^d7sL50eKWc7>ed(2@w63D~5M6;d6_fr%G_PW+VK zPVXg6dUbxi{x*H1reDF)6I~xazfL9VadO)Ad$J~mcOaqYgem=)xt2aG1_gKzA9UMp z0KwHqM{oSJ3+%E02EfG%JFk%Nnfp}czvQCubhHqDns53y$sMLzoqwFtfYcC43)UA_1kOw9He%>(qneSE+ow)&A{b*{)Br3f5!}vwub&C4UKgKmRd`-6zg^7;*~CGd14Nf zKpnCMRM~d`Xv+zFoO6jY8+McpF#aFc=!_7B#du787uBy)pto(({==-k+|K>-(R8vU zY$*xu-uIW{--|Tg_BkF*CUo;3$W}(Q;+be4cPNA0O+Y>(-t~ciD(x)4aY6Px=8bxT zXAHl!jmtFm+;EoTUaqnm;NRMlRUbIwe#!V*(U|#O zph@k+ZRtD8s4eG$D};ERm##SGX*Wg+4{S}pVXl)u>9)^VulR-NXp;Vakvtbzg_3vTo=}f=tMwQmGEVR=JJ86q z?vV3vS4bIMklR%%)p&IyWq)SLVWc>gFE#X~&%=uz%TyeJPY!a!`v-M->-t0ou(W!` z+v;@sOaQt5fN}R=_YX?@oD%I6-m+fnzwYt(dfeGusB@zQynE#@LN4$A>)p=)4dz4> zV$SKmy!#zcD8RYwSbmw$$aOx*c+nS4XQ$VRxX9aI8Z0RGiI$n_TzD*J_(gvBv6)HO zaqJZ9!7VNkumnn z-p(P)jjDDPS*E((PLQtKi+B0(ClR#yC}#2Pb8vM+y&n_@Z&}T9@O~dvQ5s5x$0Yu; z|2@U?n!{MbhA7F-h^r*WCmkK5$Gj;^l5MOz=1`C~$>3qgmWh2NGb5_kkxBfN@qeGG2ynS7Tdc=(S*LrpaI$+WLLp3k|R| z@9x`G_4nMn`}X7Wg4B<(SD~_pQPZ(QD6+J|J(--n5!LW-M2Q?5f-y;seX8SKu}lIb zQfJ@2ES~-`d-6U04K0A7$i>w}8r;R~ADE{y+OivwfJb(Dkoc=W16YL-5ZEarq3tSY z{K)e@!1fux6RBvS(z`-6xm0~y0}Xy(v*^7BSgTYO!OIsgVQrbubc@C{eqF%fBiEXI z2Sn-ApUAJNACmzd8SJ_*_C$JU4fm&E<3*-@=b`lF$+GzvKi5gw+Q!{Jbd8?MUK#q1 z3~lzt!-*Vb&R?$7z-KB>PuAYXYD|#HcGN^a`7PHvgNBMDXw3v7YWCcSC?hGV-T{{G z_{910y0e=@S03&-!F=XM6ShI($FWg;In6#b+!SelVJqCicTp{8jyZU0o(9&*EVid}A1RzFq z@V}#ft{j8cK60RaS=;u6u+;X9k=cEUAB80a{dK-p-rhEAJ+Xl9hlTT{Akar2$^US? zvEj}K!tZ*oebhLX^N%pR?{2&ZE0!1X(2Isw2^DaD7F*bLR`1+q2x3!bSLb%UX(s{W9#p+!zslCDl zRHBPsBT@=hKzh2ybJjun=*bCqEdjl@q!e2GtAL!;IRiL09>A7w9;X;cy$PmiWi_5X z<(!-Jsh<4I-o3ka=o>qhgEYEAXvIW5m-#(`sIf@OwG~oJfoG?WOy9-v<{cfv;&UOv z+$x0!fu`VKA~R~?GWPK__Qc0Tx8N^&`3CkV+lNsmIgFf~LXCxNvHcqEZoQ^PslhE; zKqO11YiO4AGsTC10kxIsS@O@cpI-!7E>sR)$CCjQWC_m2jGQyn(n!7Ja(+t(u=(;*AhG}4Jl749R5Um;5jM?_dsI`qu!kJ$wm5(JL{-LXcQ%Ch&gz^ zKVYkyjZ7RvShz@{G^&@n;hJ+u&C!D4m(UjGY=71iVU|yh?R|h&Xy0l0S6{lurRs7EP2WCO)k&4JYXokg3`|GEuY)D?`l()Q4glYOL z(oJQ~8cr*ZR8BJKZ8DWuGzpDx9dviWj4LW^ylWhs@h^ zy6j;sUj`6Y5qVtmr&Ii5I!7;iXkHJT0X~7c7|ZcbJ@#S&`KH~#L>7xu&s zLQZfrd*T!DDV{x1_?Lt24)LS)K~Yksv&yKX(H!JeG8##tOCX#Ei&OP5 z0uN&bvBcy1zp(+~wZXo-w><04=M;qEjlX>AkuoCHpw!urihMlTj-Aa%yH5)V)PP{Z)hnF^R~hL#(4uq9W+SB`bB>mka&U{9uQTD1wtDbI%|c|wvQ@hvHqqA z)&gy)%NhB3{+l9@Hvm!u&bINTx9RNDke`)+LU3q(Pp}W92-t0^onUy%Q!|+?KHT`R zsJUXxRk;ZyfJgb#H+-|(*E+wo@J+j0lXLayXXPN>xBg8L*pBw;)dE6K=C2){nR%7| zQQx$-o@+LfI-@FHTiSa&(@H|oTO}(k+sFN0IlKm zjQLZ!JE}@-L~*Ck^cQ_WGy^{UW8ZdN)+$ifF0|;KZC>qH-Bo^%bvD17g4gf;Lpqrv zi)(|kZGPs<2&hf#C0pAV|4i$-*Y0H@NxhtS7#NZmq~Il6Ur3yxe~iPe6e+}=&&}#w zrr>qTp+xLB_k2KSC!I>1@vtQB5U-p9zVh z{^;qMrGe>9TIQR5ZddU9=Q4q?a2+E&hBsHi;*Du;_n}KRg~xqx`ysN+DEX0~cXkJ# z;2^9x8500-IEqjKxbI*4_-Xl3pr|YU8}6^XWDaLg8eRtq8}!TnX$eca(d3Voitf&npKGE{_ze_ zAjUsmWV*t~3Tt)eRp9>=2!nYuf#uo!!if-a_`HgOn1@rId;m`p__Y5P`O8N)FkG($dTZ>pG6oN+8Y?D}>6l`&)d~B2RW8CXw+|767nHC}m z7KU-w3W6FJ^NcY~Vgb}^rM{AwBxh!8*jLmoj=_R_UM6egbn@jh`#{ zqwnwH}7fzQ36x;dioV9p$J`MT?cbnBSe`i*a~9%Ocidc zwz_I|8{Z?*f$3UHxo0T&IoDz}xgVenGAFV+NvYB9o)>gKD^u(j}{JO27i zW@5da+7-H)n#r$yQG!QqIVu(F$rqYtCsw%aclP6F74obB6a;K?} zS4NW4z+^kc#GO$# z24gylkzM3ITjVep?ky$L_G)ka5=&-J+h9Vdu{2}m^lJr2^S(FAW#GOw>ds09L1DNp z7!-5X2ArSr1j<=dg)cPb?;P}CX|(FqKC^%!Ng+zSw$;$~sQe+h`^+`87T>MU3;Fup zxD9r^FoYrSO+kUpKFBjx#vTKoJ@zAGj!*jW=5S)R%W2JOQsVmLK4?0Vx*5r=E~wnN zm8=s)#&kpA3N>&W+1tY@%k=NQcak@CWE|&hK}_Tw#9!E3EF5Fy>)Dm6qh%y| zbLkv3l9~)Pk-u-_l-tVLWi2F}eQl+(M$s(mI$0yl z8q=JLJQ$MwjQAwyzT43gx2rRM#}%P|67Y@5eBA(SYT0(zf!io(m~q~*pEg9>tI#R) zniE``Hq_XskR#Hski%Q5e1EBdb%PnvRxsQ!>F~wMgS%djP`>uo`XOrB(NWE4M{1J2 z$D9A!lvXBS^eE3bHr>CR!6>OQ$j(F6U!54Wwbyij-srbzx4y8UBtvY3;jxSWV4@XutnSw^u{!U0JQN!-0Pw zoJ_LI9x~0J^h(01mWd}lDaZp#^MK@!El&VTo+%G3_L{4DnA7^%(Oy4nbcSyb&aRYw zPi2>_BI(-Q_N>U%3+=Y#=)=;K`|P{>fT*+8NlQg^rxPSXZlz~;Nc?s=#TxnLCB9ZR zOfRpB|DnGsgK6pWjm0_#L~k6jtcKGri%?fA7B!jy%dV6T%iYAnThC9g%d4K3C7kY< zs0$VOwEnS!EI0_(hIs46scyL=GZq7Xmmg`R#yv;D*lU}@HnP&uY`!TTPu|yLDp2K= z9mf53Lg347Y!ZDzDs3gnDB(|q><>Rh-7}*L zUrB@1D$0Lqq=7WTGY9K#MR;A>pYIs6&Xkgle`b-f`=m=AMGUG5MJv2W2j z<{t3l}Gj&%00=)UjK7r5EtXYJU(d@~1Z#s;_6_-;R&HF>gr6TuE^E%3 zWDWJ7DIo(&wFyhe;g$tshLW~nR$Fy<3NzvIF*Q5 zq_-geI+qHB9h>MXByED>2gl+r@S0Y793$K-XqJj-XpyT$#H}OTi)fa_m2fouGN!SQ z<>c!hm{o4{@>d-rTIc_MKiiOErKOu+*&x}rggvaa!a;7YE6M!Y+`}R0cI(v&!8;0X z=(_$N*;s12Vxdhoa$dUAmeC)vv~;FqZfRCxTq?f7Lz6NhJFi9{m&k+9(VltA{@o0t z&l*~T=~d2nUzXbQl`@O@?Q?eOy)tHY@Z6T#X`GkZKPUx{{Kvf$^=d zlvVZK2Dy_bX-2hoiyHUu(2=%Mz6J6H?j+ITa}|4WFWvcPb63jrv5JbIp7l=$9vMybitD2? z9o%GR`yiY?jz?*G{xjJAq=S6Ug_oQ3Jbe52TuDr(`iRmq1hwVvf7P z2^)rV&x@_b;kA5ygYRDd19agN7&x18U>E%G!Idd#myI!-+b%6f zLcD1db)ueG3-8JVnPI)F!ZyN|3=OH=u-MIR3cwiHerHp0My^X+>JmnU^_lhs4)s$W zStuxb*+KmkgEKLL!tLq%KGYDR-N58-%I$=CWPzYk))B42G==YEi-6ToEux>a7k zRbqGI!T4hjl=T%6V{28$6Q~VkA_g^Zwdr=)?3}$~AdVuFL9G%CSns*q11Ey_k zY`#D5a;RDu&z4oYIcl2XARn^d~*jn`(y}zp+!o74$izbLUZ_g6i?G{n0Zg);F1~;LkbYwVzb5T--)1AO!D8Nbei(Q?Z z+ECqY^8jvvPVm4frq=RF7tJwyU(!R&STwyyq`_kTHThyPeW`zxfpYi3`Vs;~*#+mE z$ZWI8E+}K^3};vkRA1gFFXvv)zg#96TidTSf6>V-JdD~d`W>ycGz~}F`HQ}d`jedc zyq`%rRyf!NRD+YT?rEyAS|#=O#>+2rPBNjzZ6rUopn6eO9QFA?K1kzx=UxsDQi?nI zFb^9w36qW~um`&)J96thU@v?Rb8k?4ugBUX+4XLo;1F-SkA;Xdu{}c(ddMcr==D{r zc7}Do<5WjgUh^?w?Y@lidH3}G=C2Cagh98AcsG}}Hl%(U_pr=v7>zMMdp^6~qTk6L|M5>Nopz<$^rZeS{Gq5Zj&nJe%trb|EaE#Udh>x?1}`~&()4op=}rzW;ItJSJ3y^e6JPn!$>=MBH`9sW z+dQ|EMn6-1i1c$!>GM?S^p?J)!@l@)v<~H3$i6=PG>eTh=hbb>`xRKufuA9_vw(#*HR$F z)bLANHo1vmeML6;Z>oSsCiF+GB?g>zj`1{(Z1eKw<(8-Z>3U}EigJf=%^UfSgjIi8 zw{DjoTD2#s>Xt>{m;V$b*7@O*ismPrV1y>-j$W&1-dSaveLuD@wxqD#InB%S9egV* zcJ1k2+IfD3TVe9$aoF>c*FE=z*D!qk>2-y~^|rFbJt)fr7_;75#eAqWKj8+=TQzaP z+9%vD{tzgj_GwA^+dchp@du*h8+6@&MM*}BNAn9l`;-502#|t>*l$7orMj8hbD#Dj zpOU)o+XOU%Z+~4dz7{Q-CKB~i8RNMxZjqJ|^@}gQDF%BNXTC z_(Eq0;;KOfB$rp3cUL*l_sT|05#m$lj}9mh$F>M6aizVwE0tRV27Ny*hH~F^p~usr zzPa{M=!m?@V{|+6ee!BA9;+Aafbx3`*h>t+hx*;tlXIUEDl}QEZ72_}80l}*^U7;V z>c)%1$!fF=JSWYyif14E?l-}X^Cc1w&BfGYPTNa;x=L}|lY{=yhXw;9I7;L5jIj*I z9(M(VTR8K8IPtlJ8ohay{@@@8M3&ubn$)iIJ9(1Q7`R$T@oQ1qg*|-qR0XYGavU{iBzdc~l zHcBetG^0nfF;4#|H! zJ`==J(xR9ZRF|w!I~TSX73IN*G5Fy@zrgh#LR@YFV~>a+r?{PuVQ=@FbrLpsO|Ju7Eu2%-+)WE)XV1Z(kxm~GetAZJ8 z(g?&?y{e=F>)F?$3CXi@w%)L^4tltJzuwYMDDE*;OC-eBQ zeSU<$psQ-jUBTgZ&EY#-EWSq8DHqNFM_V~sK$}Eow&&ei zMX3MS1_t-kEkE6R@hax0Ur3PVtUu8p3UUO;dJVj%)Mwgc^43vypKqZF#{P>a7Lx%r zztN$<0xB-DKdK_OoOYVP5QUSF7X}{1a*;u5EZ`NJ_4+yqyD~+X%dr_yK|o!^Q7+ad3q zZu1WA6DedzX#%z*_)7t5>n@9u%}kB?Xa7IXUD-U6=@Vtii02`8g`6x=g*ERkNd;D5i|GRW zXEFO@uj_iO4JRF6n#H!OT4^3myGsN;hwV5M;+Y z8qv5pkNyw^>mdqpl^zjgx^k84g%aznb;P$gkJ*3iy`R1m; z=d>sdttB@0I-eQr2uhq)_Ia=Wc(v^pxTHqjOrbvoKLkB>`NU5p+=$AH_#^#@K7Q5<*~;-U4Xw~wV> zg4N%f`^_xk$+X(R2=6&Q)uD|aGk7J9M2-r5AEo${JKOd(iFMUBi+t7AD)%L_E}{Q2 zi`rHsfgSCRYn1mgT`FMbb?%y1pa|ULzJ#K;BC0xjBpLP1Qmi>e%T3oA1432MX|-qeHRh_ZPy=5 zVJ?B7(EDq(zSaTlQ)!bAiEX!eD7x4Hs$X`9>Vl{uGDb}q?U$)7W;DO8k6@UTT@~7; zFlFed^9jZBgPpDF2NwqnFrCxE^9+xR{LY6qs%RGe+17yoGih*qzw<9k!&FB@g3*U! zbJA1r^!D=R9j&r+j#2q$Yn8SuEMrW}DRFY_V$vqs2$)j5Wqp}{^0Y&D_VJ$^U$O=L zb4>h8QpwSo;&o0$WV=3lDom`Q*3IdNxgX@ad}>gHKSYbpJD#T|oT2Y?efuI!LBWCB zs;oc4EUV^~Cyn4!!T~|qV*(zi5NeRFIyo8ssyk`0WB*WyJ`kDQJN8>m*G~$@v76}G zfh}pQVqcolsC^@jRWy9d&*O<4_Me}>yV%RpPJb+ou|b0AutTK7fz?z6JeiIoa}EW9Cec~lW6W3=W_Ik)bcx|nul zDXpXdwEE>kw($(O%@ivl>Sy=J9?K6DgZ}%wEap z`K~O>`Q|7&SNd1Pv>XC2twty`yg^1hdQdOspmPtKXj2vRt~6h z(l0cu3eo{j1K-+EJJ0gkhrY_RpSqC=sjhwMDp=bY$b;u=W3;eS~Hkh0vS(0sY0^3>NGanweXOrt`d2+(7mcXfNcz zKS1Q%usc=_axddV-IA?k=V!4+(akLIpeTrfYda6Z&PsKI<1T~Cvyj05c~`QgzIh?9 zqZ2)kt+%f$aOK`~-bm?#%~B3_`7!d1S>|W6T?85K*tuQ-^KY?6&O>AZr|6;O8RmEE zenB{~My;_XA9`ND(F+T$(!+OPXjRsN_Ub=DZTJa~)PspVUZVQPbeWH}s;BBMX%*{4 zFnQpL+r++}cV1d>7dZiy0p5Ft9Agy>?E58VJnmOwx^Qbf2 zJ#GS}?2y0j+P&sUs;1*fs?Yr;Y*2J}a)Ed%vx1d8-Pf!q#Me#2MEJHSMBkjsB$}-> z2Iu&y4ujvjx!QtALTMS0o>HK&!+EdPAEKU#lNwLMF%m$`CLaway?=Mmu#K~6@*rKM z#a^7gA#ZpK#D)as**e=)TDzime9!u=pFg>Z1l{t9I-9D#YU08wMhgxrexf1hYWDZk z?Hk*9Y<*)^%AZ>+n-S2=pDX2?MWrCg-h=@niJAYJxTOqFbZ>%^N){K3Tm}oxj<%DX zl%NUm7R#r7V~0BTF2ot3wlku~owb8LRxQO3jB3EvNrQAae-~7Nv6tOR!2<8qsGd(; zxJ*{E$Z3R4IH>ha1BT!5U}=n$5<67s4-WwT#)Nz3vEqnohyeoFjc<`#B$s*JVLPPi z;YD@dRsY@89%$TMm}cR2n?V9ZhtdSNe&_xKgZ#vc33*k^ud3e;lA{2|x&%Pt_Ol99 z@?5fZ(p!AZVqw>XOJCT0gLRo(IMntmsYv#Fa;I3HP+h5*4LRArNz5#S4Zc5Pdb5F> zK}VWK+|kw)0ix1<@Ii9bT!#YaEemE}|yx7F#>&5_{?I7VG@e zC051$!I%O>0oeP+y0{-9XNyfq69tyJ7+x{e?KJj}+k`iMN+7Mm=`m9!@>fsI$8Z$( zh`<1_MU>8928y1eC{N$X2${*#k3#cnLlFb{{8k~P0-lc;+_&uNjQA4VabbcLu--qp z3=tr1-3Ki(OG+co2RDt>24F2aBond_TETvZ4^j2+E<0o@p^2EnS4%rPtWyYVlb_;3 zF7Q0p;QM#S*5{2+E;wh2l5saulF+QiXYPePT60*>NQT}QhsL9Qvy`xqvuV?qRo!-p zdo?A^D*y+-_drwZaUrB0dH?!4A=R)=X0n&+z1P=-8tC+l3wFsWg$y4hFsbBQ^o6SC zfLl`Shk5sY4;-3q!SCot_7SJE8^q7;>qJyoV?BA3{_9Y*Y&O86;j)WA&Ry-d3xNj7Wk>1bCr7OVz*khsHYPJ>lp8&q-?jU3f^m+LihzeeabOnYa&-) zMQXW#f9y%z5(i8tnrwfRy6pMHm`1Mc*i)buiG0#9m4uOkMM`tEEw>ychQjv&Qs|n#*EWF+wAwHkP3bl4jexao+I!!|tIGTZJKq+XOMnToo zu#cL1$4&ZOU|4KnfBW~3)u11I3e_Zm5gmNQ@!im`*@MT*Jdh2BU+m+J%e~2EmP%QQ zvL`QbZ!7zFIY0?G0`{pQ4T=nZq&7W5?^RnEOnf<9N-9d8*txba8za~nvmPVFv1 zRK&?!FO5(h9ov;7%0uPnd4x#YsAih*-z=_|XY3zNqA{3HNrBB07DK8=#Q6O=2H0`m z!ixyYeT=(%2h41qWLL8sp#T2923(uqH6`DAKIvhZAGIfa-gG4jo2moAy+$~P@{ zZ0AWZv(HkVE|Vr#PfCdICTudv>xYkTj|RbE!wOT=xCYsBoJda_!u2+zTM1H``Mu1;YHJgmsfJ| za{wa>U(1iPKuejirh;n%<>32^{tUhf-A+C?Pb=;ZjRYp7^x(7($_P_eH5=OpU*wOr z1{0(?Zo(4LM<&-QuMK)c70r2@HXp+e&K0kFr8@Pjj0581Oh1ioLt-R3{?f+J8T9U4k>{O?;Y}uYBy8W z*A?qkJW9%^>z6wcEmTosPN%ASe^S`$9})i&y(cu#)3+V|%hE#CBIG@p zThk&+RVFfDLy8fDFdob~+{2JjwJ6urZ>RCx-k+L0`=KgR6OD!3LY<}jN&jQ%=nZu~ zZ|d&xnWSm&mJED@P)f>e_^bu6`m|f#VzY?WraI|3w7Rd?8J0$0+bK5N*>{__Fqf`4 z9rt{Yz?WBFA6Fe_FX1*;hDe3QV%kCviIX#MKiRKebcwFTqSw`5BQLB;@2nB)k&#Vh zo}QhZAv{aB+hcT8^z_sbE(i)SHJ|ftZrlYPlH{EJD6hEgjQ7U3KX)4bGsjUv`N(>2 zX|UZ|z8o<4@gimirD7g|4BZA9lQuh@eCaB#l}e6GNkx$Ba$)k8yejcS)dqWZT`~nx zdGm%vAI5kORk@FpvZZFSU!mbPUcD|`N#CP{#~%Lammj=*SXA%MvXQX7TxIRYexHLP z3MKr}C$rW+_|7Bx&nua$bVRf@d!wYf(dzplMPDU%UlKf-`oZnXlW3)lU$keF2l+Y^ z6B2dw1lGki0SQCmMvp)*UBd=fr#Od=_EcftH^&sBjj?Y2<%?@9jj2t^wG;+d&m&|f z{lgN{U(7j)6xP-_DD@h#=MO_y+-*%1*_J>wIb}dJ11VhmiZPmUeObh{T=!hfJi2`? zuhSd$VSIUo@Y^oz@3bZw0Rw0W^>~1+@9e>3h3q6R#@2Yn3<4SZF0o_cj-$mm-D~pQ zb#N$d7c;S)JOR%d&oOJutA2^)pBh3I+dtn-M?zyJqG@#Wsp&=afoA9tw9}>_%;W$4E~j_wjl7Nw5XG3UI2@K=~rKU z?bTSu3cW%GHLN+-sWLh&mD1RNbEF5I`8kTR?gQAntucGqNh~`|Z45~8-)U$+foW)F zXajSh{tjsDa1g2KSR0B9U7^iDhve&Hn1-B;fbK^00+g2PYZF!NA!lc z!@}`P1F_VqM*6r|zHYwUFt#s=PV2 zPs`T)O6f9Ks8B;;@k9eVXb1YDu`y4`n;c6S)mQcxi<)0x(7AA_H+O zH>B%NJ3h$|BXI5B0G)w%`2Xw-c1F61s&ew8$(#|9CnKr<(-h1%V-znqz~90s?d6o4 zmA7BkN5I?g4x(V9U*e)=ZWfitAkmwDE0^u}7?2C`z$IElLIPLibmc~7u|vzVrmCvA zy2;#TKB}Z@k{ShyXtcBKt3x$>ImP79oEFrb7YcttemC2_Ax{}z$e@3y$u_paTwQmR zEdn>IbLHH!Pada^dS1bs#|y8Lf?Z`Q~L9c=d*?HhImlqm8+Q+lD)rx z4zk<5VI7qlH`u*uh>g$XSek_HUq4@8%q2Qow97QPE(f;d`(PNjK#0Y{w!}%c;0?6*-Bf?wcS+)L5jhjDp@dmj z%fu%48WJhli5)^Yo4`65RqdE;_!0TEzqMV~X7n&h5*CYGHrfj>-uUH%bDA+fERK&e z59POQ7{U1ET)V*@HC59r#ig}>3Vn8ZH{zGxDz^I(8}sa8nhQhWUo0k}LEblSWmZ6S zTI*n2XCvXe^6ioU%YqkDFum7R;embad^1=Ae`y8WYU~{SrU{;X(L9E1OKcDWJPf5k zX52f{Qr6C|^C$V-NWI z-O>hv;C_%P$iZ=@t1O_N32f1Dqx-2RvDOjPjKq_rOkmq;UhCko_0$%%`drcN;1Irt z77IBY)l$}6PB<>PbDu?YoOsJ&D16>$JqPXk)zcFyJt*?79F7JQ2UPQd)ue;^iLfu; z^H=SEbQbE;<2$nba3vS2Q{K!t^xeIg+sZ8O^oF)uOLi692{e6vE~AS(=CXQmXF?Xl{jMNxRc6ITs(x3!tUBlN7VX|a zB|Rni>nGW>4}VW?^K2`&eOYhWUCW%pRkNX&QdDd%>5u!UDxU1Lx#HvE>WUaa`J{_NcvfVR z?Ah5nnM`EzgX5oC`L)DJ7&hOkdOuxRj3;kl30_w1KhMI3gZW>_{_dCCpKIM)A61Q0 ztFLbtm+M}byb&r+CI2H>}PLIMqquwtMypRY5G8A3*+9VVj z@Qsb#{4e{HQ;Kw9PKo)1!u^VynTMqs(DY>&etJnsC^$>?zqotWDKDm!$>1xyw25>a z2e-w@vr!y>>y+T(y=DW>2rh}<%wjfgzDX!38J`pJ%|49SCq1;<6IuazA7o_zMr6nGbQn8Na@yJ$~cG9$ek zcgqpBw2SSLEfJ>FJQfA?a=1ttyebkntV7*i!2sy=kRX zz*bA!-RYo8rkU)$_KdSHr)SO_cd+h@#UPJvIDBgHUU4K3< zu;&s&Q!7yIm_ocKGi)B#ox%w+t5?Ur9Xk~1D&97gMtFtD5Qf*a$XN7fF?Ha}lMV{G zFeADV4yc7}5H>@&;Af9fDw4gg;(`ARw+T4qv*2jx3@bbaIf%QSf?POcl1#kk@@py5 zRn5wT$#zJ+iQ^X=hp)^~7lPod{V7QH{7#UYqdNX*#1yPzM@fIf(61){Qj!bTqmhdD zkfX&#etD0>h1{w%5H&9s2}8HIk7(I83nf&+l4={_V66oZ=AI!nN<$Q3lir|dR z%;cawBXIGr1R`Lw?ResWwx;4elN`9uRF-20xP}^b!R&{Cqc)}^{X?>UfS24-t$G@jYs?*=*Gx%IT#jQz}6y}!eb z{j6Z&%3SN^MxuOy$BE+-n&4Xg^bM;ju~o9wJ1R?HK@UT4-ze% z5_jX63$0~PDBc0d>|+9Y%%V1-Xz<>=X&ibisoY7t$C1L8UOb4Eo=MUXC&v>@8W!>d6(nM z+tv<2-jeEc8-&$WxJwsC z;*nFm3$KlF_xQur2uxUpnycP=ML zyrs z;`&epIlbTm71LNgQJmQoV}t-dC%s7n7Gn5eZpXRJ(L%X!FWkY6-qcAH2Ho{@UI*Rr z76IE3>Z)QRuN_phI*D@&n;~wLXW3$Q-ZZq1e4h6bxy+-%F45Bo?@~;@tz`4eg?=d& z%qtnAXHEGBB3~(kJWb6r=9I;BQ>@$57)=urz(2@UKBif~IgwmDJTurya(G_hb1kj) zGM56{q2OBB{Xj2phuv}c5ikC1figB9C?xf&&%#luz<~(6Ep9eRYdDG5&R7rmxesCZ zS{{USBMQY!JVK1SbUD6(Y+f*24k2#_Wp46M@~d z%I- zP>|eyV_;9Nr3CIfxM($nTWLSRC487}2Q_@dsx{^7qo|PYY(T}TMfK^SpcmGjTU8n$ zb7oDbS@(YY?rVc&_ZuTAcDn)YTdfAY@f_WwASvX_4kvqr_`slaOlYVU78qwSq0`Gf5%FJI{cg!&(CgQ{;+K7m37&T10ytOT z9uh_Oz*9IIcJ?FU?Xb08`?0rI3=-fbGhIHT*li_6QrjT7^2h8wf29o=gD?5FaGnH zwP~~nM(ChB@R_)Q-+mxG^lOPLr|{R@C>}idnQpXA~ z39Xbp0*usY`vV#PVL+257!}tjK9i*iW!K6dCQEusL!ttIq*7*aVmq{lyg%ruVBcTf zEk8N`2%N%3Blvhi2o<)~I-FzF-}o&5`Y1kgmu(H%UWu zY>E}*++T^VOaA?+62XE7FD3EE)y#=z_*=)6t$4w!HgLwOkL@l^%RoEeIq=gF;(V)Oa`)e+Dy#zqR^v!E}r#$@yt={dZDX)V^sj;CwroXlu*}0A2k3to@0kGY9ces<0g?g=(L(46xAPPh zU~yWQu!n@q_u<9QRg{xz&((3O&-foEsHvu1RwNOsRwQkGV*_2riDp83r>|p5`>TWP zY(i(ra%)Lx!^yq$baW~^HoHl$`t=UTYDFAQny&Ji`4#_b;1!UyMJ)`;#A?rPGw74{ z7N7~C>@i!x+0ir`59u%%j_cBx(<+n_uz>x{&#~AFWdat6b&5`5Q1+0o`0YrVL6`1T zy%DOq?O&D{?tfB>oxc?3TPFJMj=+N>i%VgyL84TdN0P{ds*=btHA!%se;OL%)yncU z1wE_+t^Lc9YN2+94+=nu0Cfzh6tj3iN8;fQh0z}dK2|`75!f%#jw$@0A7n1jwj)V< zg`HnIguE$x7*-Hq?BU|1{po33R2r3~MqDe&d0kXUd83RE(R=tpRRX%kwY?}MH6HB; zyfQYr;@j8M14iy$s2Cgp5Her;94o}3>vXUmj3s^|dDYd^X=ur)U;u6c-Vk}Ch@dq@)2HVa zUSAn6b3@vmvP|p0gb)F8p`i~k=!ER*P3_uV#yG?z>MIt2@E9)+I4+HH&O-#r=5j+4 zPn2PTCSgsXyJF@`2|&avPWV??=$P(5EOfbgCeOCad0g@Fmut+`*I0Vt*2NLEQ0)=pOxLZp zsf6*NvwHEZ{Hc)up!(2Cq${1pT?juiL#VA`>qjm;5VE;{za(@~ZEl!;^(gkQ38|OImXgJy7U4 zPoEAtJ%gerP#t1aAwB(MTp)JII0ono1{Dy6st2>!B!lZ4qfFJxx@tteDyi(jQoIZjqXO*P@HQjvv z4wHbQ7at)RCDm-ID8OSwey1A55`~hjoJ20eS?)Kj1b(*FQ?A-mLQ1z_HAgvFH#5?V z!+%K0xpK`*RT+9)zHxiWd1Ki!k=;}T)r&)ghHeGyvkeLOK1>u$#; zWA3t<(-^*JiyrC(>};Nu*?T&zB@X6|$&6oeP7UuYptt~(r*Eb}Usr=7Gam6jj%`u7 z(Piz-^NKDU!Q5r_^jQ*%e_23e;QzFmWDdD!E#(womO!HuK%gwjHTvyZ*|7X=e#P~q zq>q<5;~g&fj;sd|fm@?Fkv;9uIBlR2U!Or(9!+bFAA_{I8{KIX+#ZHy3BXpsVgs=% zU{LY{SI!Y}49uF#^AXoZoc`IN+QZ-qBl`1r(nHt7paA|M!N_?jd0x=y@$B6HxQ{as z{PD)Xz`jk-pBrh0Yg#Eage{JTb5gS0*e(0ZDx>5*vi=ow%x5S&4}kQP?KMFJo__0m zv)ZD{e|pVZlF_vL>BwKj8vTBpFjvF_K`b2{X4?Y{v*F*S6IB6aE6%S^ib1J|$=@1ZlcV>|__wK3Q0x(2eX`|$Zki!EpM6r7s5!?!qqsuvo4o9JNsF(TLL)0`6gtl*&NVJpxqq8P z=h5`3TYM6Kc|}Pt??=%@04mQopW9UDtAbW$;8&fISG|BS@bsVl2iA35n$#fS&g3CD zJNm$__rLy-4omSjOq-|6PpUX^?X->skt?-VY*-_EXiR+1_vW;e z&pjUm8)qoAb~oVirs7RG-2|oB{b-KHL)!cbD1rnJ_41k)5!7S22ppn~y6GT4VkKF9 zORQZKnZGVOp>{*rJD~1EfKMLZ_>%_)A*V!HaoOk~Nhs#q{uo82+Iaau>xV;DNHA{` z`(686r=r4Myh~ZU1-DyRlfcl|{rTn9Aql zt^EN(*9FY&tAx9~WftII+`eIbjR9{Z<G6b+K`~A?aupr}+1G9XD41s%cQ% z&rysNV-Qlr%|Did1%kg9Fg5<14A>TGX3=2rX4Y3zGnoLI0H?>i^ zLgeB{v_e?R#WQQc_Mu%J;w@%{TDR5q>fTnY6WZMYB(cfDlVTw}KCx(dOO?!t;il7x zmqqoWk_f-g6~~TK2ji6|WQ|Ib9p&wnbol8Pg zGTD#%4=el#eE9Kc$~6RibGYl?RDt%mt!?sL;l7U;a>1ha!Q-OE3j z&%YWQP78#;l8t)B!qTAz;Y0N++Yb+)g^q(Wcw$I*F+S#->K%;jaziGwG0?387cg;h z`lX%ZO1KLai|H9c5%z%<5TLr=-*Ew%7t1iZb5HOZ&R5Lag`5s>4}zu{-91IJ_JUf^ zlEivMwwJ(q5|2h0;iytuSMIfL+%XbQWE+m0*hiS++Kw&*A2wKNQi3b^!9Ltr4mA>- z3-w!Tt5p1)CpgI%v=R}?*4p`RlA7LrPKZ1^X2HH`AL3>^e=HDYiH2WQWrep_v_88g z@$B%sIAYbQidegRYRW}zwsgGiz#->;y~#Scc@NsHstUb$L8GoL4%=^6+p-Cn8bCoK zE(H%3R(wXd_lL+Fvm_4^g2Rtd)8FQ+=3kRwm@18C&|u|wZUbF7zUpU5Mf>W`T=30y zSX?7iI6;FibdGtr48v0-WDn;?gBsNnNbJW~X;08~qm`=S`J0=GpQbk5Z=D-@Ig0p@ zCC!1>t{iVU<>@YTx*g2$t9ur`nlI8eXk1b!xFkZq(i{(Al|8S%Yi#fy4dF;I>foQD zO$0{u`%X*bI89q=sR#>yu6x?o@IQ9OMi8JMq^nSNQ+W&|#LT16MSQu@r;&Mmn%*q> z4$h9?(T7V#t$y>mNsl)-E>kuIbQYDdAn4ZJ?)w!anTtS&fpVk3=3do9El^jJqCid0ZHnAoBUyy9l^b9@ z%7oTJHXxYIbm-*i=g;`)Nh0JZ!+lKXGEl(KyvI=Y=35%r{Pz2c-Cy#A{RCr{O~^5; z?rZyb_O`WM%u#P`p55g;m=THQ+n1xJZwGVI7Ufr6%CTS+mv@Sm|_HwtFFFAJE5;HjU|@uddjf2VHZ9bXjls+VfrJD4IM8<=ZvjUY4rb zD3!k*r_KPu`cOvG+b#F`g0Fw9K1D4n{`EOI{L zQ{D5Oz-1yqho9P{PYc9ZQ^ct1?gyZhcq1CD<5> z>y45U3Km30%{AdVv@(!7wFpU2#%q259ty*2m&i5!N`hPhz4x#a zB*%U8RhSzb<-_4R3L(+$x8NGJA5)vV!FtDz9*;sCHbcO>a`V9XXqOH~9gbHBl;_T0 z9^G*)jxQ7ODV-IGpjS(V?=K7+wA>;*U|lkyJ#7E_gmPq+i9lT1%kViR zVcCWy@*Vz4{)U$p`U8iD{M^{2S&wuF@>AS)p5uZ256v4pWKSvmcBk2PRUa~;En ztWUixfYbKRA<*LQivtuxOKKjacMXW-<9Dynm=%rpbYxrHAO+l;QT+am|8%U)ZOi7# zZ{JUdD^xP9mv<=`hWb=D>Bm$UNjjn#?IH-yh|W1PniVSAFF&ik%e7Y< z*jUz*?aT`Y(jeJ$yvjpoO*<&)=TO2~U}{InsjY_ZYg_w_>z$EVsF%see-oW{^GM>} z+Fv1&Za%1JdRA|XxK6!pDS0_`8ZwmUPL@BeaS^;sEmf(LX01;5dpB!T@J=2YM74jZ zaJ4D*wy=6^6in1xBS@*gSh33-IDm9Vw57qPE#dAIPF-o zT>a_TgwzuPtK-C?vLGBzDo})BAksApeUFB(LnUvHyzEPk48XIK-&UCZ86KfjRyt71BNkIZNtrT(l@9CrPOO2n_k`b^dPqay55W}(S zijcekl6?M4V>W8*Z=DI8+U*J4f%pdyPYhr!jS+*HQR&d8KgC~wS_y$^rE6iADF6JL zAYWH{*c?sL;!fIX^2TTWuR^Yxyo|x!4brc~g7z)%_G)_7puZN3jqjG<|F}`qmYGSo zgtL~>60EN4YIM1(bJV6D&$Loh&XsJRdI)*x;r93aj5S8$QJnEt$Su+JH*>V~AEoAz zd5Lzg(AYg)@Z?=8zdj_RcHbMLvHp|36PkwAQ!X}9PKcx2dJ?!;JD-SRlE3gNZ`E$H8VV_Ny3%5>Zgj=^J}?dnhM%CBfLu)GLq zq^ntxPt-c5FDy$V0Cn4Qw6{Zj#7S;k8KOLuV1nghB}J-hIYE6{MW^CQ{8{JcqyuC~ z0%5a+zCCqiA3w*6UK8RYcUC=Y_F;vWmtSu8fu0EPVUwv5s~qkOE@@AA3ZHyJH$$cv`AE!Drdi zU`e|!rLQIg?iMSL3Ks;JMk!@{!C*oF*Sdt|J9x39vx*0T6F(l z=hwa2dh+n{diwF!+?aT1_2J>M$077`fXZ^sOZ*8;tE|`l@qoyXEJZ1uzxk0TTUp(X zsWyQ|hZ#-X4A+mg8MR1}0f;XB!tncKwq5nJbg??N&Ahp+tCY1suSHu`e-XDh!i$sG zr`8Eqoy!?!6v&@)W@TlRv0PeWqPCR%SQjan`=2)1JGAgw@Di-cSZL7c7Rrx zgZVxvOf?X&mR-UqS3#!o`(#H-HSnjw$s@HYdf!GG>3zJ^!r%EMTgmrosfF$z$}W;V zR!XYcgC0F4l`7nB()f88HPFitq3?}-~I5P zsgm9BHoSK=fj}#Lm9HSX`>y<$t|4aLc`Ul&XNZ;SAf*cn6l5KM$oABpu`2EUL~ z>Pt2zVJWSz5rcBjJP$SZoXSMGNnT1BWu80C(W%(Z;{3y-JB&G|_e8nd)viNs)P;k# zdA%1eppn&y7vEydOGhv8w_}XgJdBBE%<%R1#z$f$3Ar-<>S*Smd0lX=c&3+Pf?s{L zQh0s??6&;_b62KU7I{M2Xr_ckn&FCA%G#gSkjtwale#yO?9eXM#+zD7EmwAuujIgI zZow)q#1lMx`=VhI6ElooacOT5Dv{)B9%{zL5HZwBdPkt_ma4H}_AFPaP;nArutQWx zNWRmRfBw$QDC|W*FVhs_m=>x$V|(F%_)?#Dy*#gv9W~tX(PGXkaC9E%9z2VW=%Bx} z6&>c)_)%can|$OGTphS2ceveB9Ys+ zJy%h*?Ol{%yrZdUr#fIVldL~@>zl1J)@;=NT3n8XJ!GV8HR~V%#8DnP51t__3Ra>L zZeG|caznF5Dt-T(qOR|NH4R#I6@oneE@>P62%@c_foJsD# zOqb*XPK{mN;F$y*jUkpuSFQ*rpxVC{uoQBSC^ca8kkM4zNflgE+4*+YhJEg=!&?E@RT=X`-nJX>jRtL8n^YRy`=@;R7h@>`3tis7ARZHVJY`! z^TXEwpL+CX4`IsqWT92~oB}V0LElKAwZL@9C4aT_97YDG3eJBE$|Y0FGv0P;Y5?qQ zLyD?nN5t>vN+cK7UARWBpYfPsY($u*dHJoBUvGu0TnX#t21K*wbV^tiSSVlSETiT{ zy5~xEn;%{oA{`X)2aKf}l@jl;yBZ8BC#utqpBS>9QghCTo?K9sjRV9kU@2{H?p+mM z4kFEXIM!rdrU3ZnKto5u7nC?#^bG|huFQ65B*zE9bNP`I1y zth-9~&DwxZA1T_|22q^9V8-7i&kM)@bZe(__j|F)6WMboPPrt@BbCNn&$OV6PxUi}^sT26Z^B-){zia?gvHOEMHf}}x4*5K;? zEGFs`z)mKN7IKGyP71a3b{PA2810fTm5kMp%G;XcY_s%L?&>3r zq3NdKyB*c$v21X0bk)fyc-O))80}W%d0Ersc|W132Tp_P;hNw^K)N^g0xk{d^ICw{ z>AAceop}NnU`FC_|6O&{gq!n{$r#LMmEMf{-~l}Ttgx$-ZpnmrRx+U516BK&dMf_t zAN{7o;3`+ll03z2LU0n$enR7;^W<=aNNR6{m0HK%sf-}^$#MA`UDpxRs2MlBEaOPN z_8uf}G7{&K$9w$i%M?33!ymvArQP=Hq+c52?$vYMRL&YAvlOd|1=G$|rMmIF>ml9oeb1)wy$zAjst#5PefN3bo9M z{iSFsKMNHPCV5q3sopaCMkMql#K}$a+7Y{&k+?(FGM=d74wTg6R+7BlJ|uI|xg)P& zYh_a@RfBHFpJ{|Q-O=#eO!cJsqvI*4O12&OKmD#Wfvu zF_rG6B*IWw#ixLG?NwZjGL2vO!$<9fqgH}exN)=Oi5-;4&7?nj%j-Z=pm%s&xvDI} zuZ`<1mEbMVSVNy}k^7u~g|qrT5{&zg`93@B`pu*2d&ze&|8G2SzFt9 z0uVQg%#3(1*?hihr}IbV0DQhfPl(GA4=om<_ZAT|}#lv(Zgl_Vl@xVsZ=@?u$N$wqc{?HY@nnt(5&M2%B6awH$^9 zi%Wu*&Uy=Ag->&l9BVYN!D46{uZws?2`bIj2vHf^7tm`H#qT4h

AF>4Dzv6=$eR#w^Ml&q@EfyTfu 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�Zdk3gXp`S zrZMht!|1O{XiASZ%n&z7{nC`_F3aBxVw&g69pji4OSXIS+K+XWsgL z7T4Wmcy`;BgYB}R{{DSG*VyUSE;^G~Z!3gL@pTd`Hsq+P%fv6u{JLF(*PceBGDFtB z>uMKQo30^m&GgXZxKo$q(&JF_IqH--iVFPgH)r`n4w7Nt4gUR|!^D4iM(3;}^cNj` zhC@f-B*})Q{;+)zkaQ0Y6FJ1JLJxnSW;9eW{c5R!dSih6b-vMK+J3Ro(|nA$Y2s3a zVxF7m`vU=SuC`O~^z&WMa-8&K@r7T#3>nB&($d%_Wcn=jFpkqX%&}YkEyH&0k5G~c z2xl+dPdFXkDUP${CR<2%@k}x79)T%`Ir)XxXGG)^$ix}u!94Btt>M4%O7Pd(KMKIr zd1MZPO3^DmG`baxKH}dVUvea+m1y?*QFXUZ^}N?@V2nSBuBn?yr*g8phZYRgpBZU> z@5<|vJ>m-deIq#Sg4z_QiqB`Q2v=XjTf35t-IeJ_3HRx;3UecLT<_KC&LB;$mk3v& zHA)>>BQ6UK;%Z{~ct(q!>MVGJ&SeiZ9^!4~9Z-D!vQ7ofQ#CDmK{;+dwch0j$&=LcUOzR8$}N)&}8?{8`~( zw0XW?qHb$Dni=dS!jUi0__Z%r|1}==nAqW#+@Lr)-&Ubr6G#Lw6l6wpvd)%Vp@AU* z37DZF1c~{_A%u8TF9=1uT-2~I5Xmq!_}fC6(yU1L)K()o$ zGSOh~wkBj_B^9nY{9lOKKUTSzf-JM&^8wA}Gd#IGOZ@Pfn!rG`3cxmC0*QzMVnW-< zxp`cOxaJ*@4TtM{a6oPi^_g&?2=*Q>Aof$(;=99(bN<-kU$bY?#?Bii)k&tTw;W(@ zo5)>z3ZJJCkq>)dsU>FQ?)+A@u>E%rSfX%t_-yQ`8;46RXG(Kq*36i=v@xifS2mEE z5BDW?(r<)%_}3RAj2mgSc($_tHocrMueCa@LZ(o;OGA$^*#a;$||3C6I0 zVZSU>ee7WGqF)QQ|2RUuTM20d)n%`qM4BGlNq!-BmKk(DDn5&X!2W}%uPip^1rve_ zxeU|qm_W01cogj!x>lg~c}a+8O*P#-Bm;AZ6;)$(pU#hR=8Q?EQW7s} zbyb2O8WfA@K))8z#S7Yqona9St?(g+;KL=ly^7?|7TvRJ;_*ipi$2Abe%%M=+M3eP zkx!0-DZpmilK<&QPWZcUoi5Yh8Z0Qmr+6$vV1Fkz3e%DCpkN)hJABy4!h=wYZGfGg zkv0(%a@G2PQ0yiI4=wgN8>P_JS5_?$N^A&EUB~1tj-rteZDOqr_k|N0P z_gVy*67(O8vU4M=-Qz&?S|6I&34#O)Y?y|TFoD}lBYA)eT6X0ut6PUAB#axInllu0 zVJJUQE>r&PJ+O5}tUl%#uX!P`-PFLz8hr>sf84nu&9t}R6SBO@>$GfuwvFVcQ!jn9 zNdD<`gF9GD2@L@or*4DEF<@tE=orjKBh923t7VPXsHv_L8TR!nFKwDN(bs4(jkXx8 z$lm3TZUSuK;p`>$*q_I|DZc{N*g|kRhJmR_VJuHQqt-*zojEv6Fy&)0Ryt=v$+Ouw z+xLa3dwBt}vd}bX>)&(Qz2(&erLzFm6@CFUN@+AR5Dj?{PXMMR7E3q!+2I;-G@X`) zSWmJ@T$@!l-p7Vv-T4ct`c#ntGFvYq13Ajg>y61DYZ77_u-ZIs^$6e;8%l63XekM| z2dPznk_uSIqC*HryUz#}NB5xY0qg;n(N)SggB$TVbd$n;`v$I_^b zAgLn5NBPv!1y$Ev=mN0U#o4ZGz`(E90&sd@P(;&on+KK~Q7sN}L*`<0yWBN0Ly4%N zFX8}1C-s-3Db}b|+pyGOQeM9^L{(UZu3Coaa2rJQAmT6pw&tX;yTtLLsbBmIybHfJ zi0HhGSv%&ce_G_QvL>2%as6T_8bZplD~b*5oS-tXy(20pa4sl9J=^NS1cujY^Xf5H zBby-PyDlD$Z3)Ydvr~BDd~u*^X6%80p;|X1?x?a)Ezs9hUIg2KWav!HI`>|HlXOV8 z5HO#~0`i9dg{TVRNa6gxFlH9I>&TVFBQ8HYZ-f$EsLF$ISGM+VsshnV-<@!~hB(op ze89D;IJzjMzTt|u%bHvnDL?XhWzg%UiMK15d}(3T>?Ur%7Y*~?8S{qLvU;2UEwUgD z`>oa3sa4hN?j7-YBNFcRVZ>*I*T{zJw(4>021=uwPO0&e)9dyj+Hpv;Gndli)!|Z& z@IEo_PNHq}E^vMuj`WV0d@*y<^LxBKl0tr~9`k;iYV<~Sxr#=5lQikJCBiRvcH$E_ zcXX;*-?|8wzqHk5Mo|KtOXAi+_!?3Io1^5mK}bC*3*x7f!v}%$fFeW~T7U?E&6W%! zdvF$Pj4VL`a?eyM&Dk;Lnq=ycF!askVoA<`gY`Y6XHy?1G_&C};$l{2r?Ws2Q6Q`T zlX#J!#%53p*+D+|O~$!cHK7{pLtG@3$mT1M81bewn(R}@q=_P#FbSsJHp*5J*KbB| z#gj&YlP>KawLw+(FB>>FVpU0U0BO4f!TOPl%^9d|X^{t!`HH8SkFAhv#yhDq1D*N= zK9LTy37l1Lx(-BlvungEc=wt|lNitK1`(^T%?o}mY;nsgS9JAy+hSec{-xOhcyx

*vK8p(`+pOq-#?0sa7wd#KJPIn(ei=L+$^HjmKbtQo{y8h7;CfeRr*(;bJCa z+^@UQ@az3nMyX6`U3s{tM$1KL(E`$plOZ)`p>25aU-D^LqEQO*+%{oaRp550UWz&C z3Rlp;4=Lo?Y$@sl()L(e;tgAF6IeU1$#uam^u#P{5~H}cfUnNzyII4-(YjdyLs@QD z@{ALuNsLkzQb3Ir#27>Il*fI6teY37gY=Ev@>js2Q+4rMuid`?I%`cMQaO5i>iBKr zz2i&aILTb}47u~&rXTOPlWq4@zIhbtu#KnYxWA(mwU>WRTP59o_^yB4ec!-SZPj+V zRWN%-^nc9F+Z~dU0^OX9y?`g_cj}#W(0w6Z_aJ@WD(v5@rkXO8MnP$|igbiU*rc(m zNV%x2YnLpU+0he!!1df{RnC2IcGgr_@on$WEbnH7zc>v2j^Li-s`KFsvh9X=(6{A; z9ziAdS^_`E(6e+~V*RG{V72#ofOXZk{*@HoKMOjNO@v?Dggl93`z71m2380>n(T=_ zIDYEKfk*TO7Q&7$J~d)Q-X6_w2E&MB^A|0qSrA$byU4p)&vn^ztF45_y*#@sFZzJe zy$3yh)S4%cWy9eo+^buN43-H~6pO`I_nnjRsH^q6nnL zI)P1zV7j8;BvnK0%`7Lf;4roNL`WyOZ$2c1qb(5h^@Z=^j@ z&(6_mGr9}!NmKYc$IuU<<=RgzDPnf~pT^INw@mHi`zJQ7q8E2UpXlal`(Z#!S?%z} zkKd7TG3`eO-)uN7m(T(_PD?F+=6ui(8ir9R>5?nO+-(DiOpV>ApZMLUds(WXZ807i z)CSzSv%#IuX;0iC`SzwtD?EQ*l(#MQJT#QIaax~;@6+GkuzO$e)d$(I`1BWJ#u7`j zlrBehV#X+;58fokSGZE`r;f=Pyz)+2`#v$_Cd)%u?$ zKQ*5o%b33etf7^2sD<5K;-XB&U3ntnE`5~+>oFDW&IlED7Vd!EW<0lY|3b?)RHP0Y zZs8r5d>^nkVVF3!vqTs<2;ookMKSc~%ir1m4af`?LJzHVw9iU4Rb_o%;29@AtXz0= zWEdl{b(-L*pYn-la*@_3%Jzeh&AW@?9%BhBGp{_T7HuX2JMpScyP@-3 zB+AffDu&+kCE&k;u@$V_e-2ci^2DAVZ%TO&ab8ONIM9+xR+4u{Vw!(HDl87s!_MQu z93iyZ`vd6Ff!I{#?rqbh$4AZ8U=HUxg8V5}iBsiGpmH;me>UPEeY*ma1w zU|(0_Ij&JH0C+%L(~TaDz!S`;@D)c|!;f3{@gt({pp=vr6!@`X1kJ)Fkdhq+F!lNh zwL?SY)uY}7EYo}ZTamM63~rw2&r#8#fAGxT;z8lyS`y(5{p zWnw79hs(_C#4n`%7FIWuqMj+|udb{MqJ10O1*~<9-C_p($YkXWc3NUS*Y8cH{ihDE zvP8>pswksn5UFCONUPwT`wUOqs&Z(2)5$TKWoKVqJExf_LOo75(ums;u+7=2B)btT z=jf@EVGd^Ld5O2w_O8E1Cg>cKM_J+rsGJ-`SqMbgZRR}Jvzb#lmU&4)rAWXfJdYD= zNWSSe5WYw~w!;!Ho&I~C`_A(CE$>5-i$$1=RUUdCeJ<}}R~l5_4W{BjA;6->&+?*# zuMFM_o?#*1RUB&B+v8uJ>~GoVf8L9Us~l2mDen?KE6^kxWQn&I5tZ4PjIM;QMx|?8 z$&-{94o&18>#vGTbaog^Kc3IPimbLaRzgkN;`ap5^6;R-Tcad|`2im~Mv>nPp-q{A zB7kshCr&6LjBoB19ji~hFuP^^*2k{ZsI_by+M53=rPT|vIG05pIhz#1?XnHMHu2YgjFXk2_V*9+0%p4P?bUOz8#T!G|?`DaMemo zvPPgvQKlhQ%cY&P!&IFZ#4|%s%@zu!{Sro?ZPy#ZLALa3jrMuElrhn1ojXCe|AEWI z8EIeS2$JiC&Wezgs(Kfpq zn`PhE`SafA>=iV!_X_$6qGd*33CANaCTH`oz{qUj2O4+e&;I~ZK&-#>Vb`n8upIee zvbCRuN$k!I({>#HsW$W1Z-l=7;T9>Pum4GEVEv^gQZFND`Z1^@%FLJH8bmTP4N^^G z#AL%KI0vd2|7s(u)VtNcouj!Pt6mRnsjdRCJ>dFz(tGbwd37cuP3_Hhp=opy>gjc>c2kwk8X%HK;YyAT=_E{gu(7-Tn8`K2gN0OHr-CoeQgL zB6*Cu16^?qcg~76SPaUZc$R8C^fBtYXR%_gHKGHWJWu7D8+DLqtO=>+P;uc5$jOT4 zDNr@Ha0zoiHZg)JFsk`@dxZKVT+Q_H&yc!wf2FA4l5U#)-6q+!bpY8~MTga=u^LA7 z9~^GyGzC?U%L|7o*r7diHqiC>1p>wdz+~^D^{MCEv-uL^pAk&G;EJ!*!GBTS-Y%MP|56jr*`?RS6NCLUaXLIgns_4^hU&Ywv^Gzu9f_N)mko zNIeD=pw6w(fVxnNZ0m80$hO`Zpcq+818Qk10hOQu)s=yI2XZIA^b%CD6Eu_TFA0)u z56F&K4=H@6=AS2+5+Hkus~8s`BxueD5VRQ&NaCCTsTUBmTjd&PDGb`j9}#FX0G5$8 zHPDO<+S;EbXrF8((2jhBX8*NJBP}0bvwuqsw0e-jmug1_ZS6+_U1D{ls2$CJ+DVlC z0jU&(Yfw4Pc8Ylf7bVB$sEdBrAYDB%wKLpdddbgj5a%)0)BZHv+TTklN)ki-m ztF6b?_JwTOA5v3RwAE^!4N0if1%LSNMRoN#>WF3weVl7VTkM39a1EwT7=)Sc&$)(h zH=bEQ6qfAc`BwM_SAMNpDGedD5W8|7hm`!s0@3v#pWuU=R;={4RZ`?7NWF*IU%RW} zVQURyj?TV>2O|_P(hPXG(pSeE!+w-_sQFLAL$3vbInIL;vps~6IaW!KQy_)U)KAXx zqT%WdWtwheptEndrFzOa!N?-$#S*hX0v+O%{&}w)(;yA0q2sRuKLkJn0npwAc*x!q z$zO->C;s}%27+|)hsa-N@YwmY4f9w0XHbtq3SX+%&gcl`Fxu4DoFtS!|DixBS@6s& z+aO9mZ6i^-08&mwDIOf~6`&43slh!Uhgryxw?+SckAX0V+Hy@ZH=(rX)SFN3Z%a6BJ`}- zQ=rKsnfR9MylUBbouTExdMWBliU<|<`940pn9BaRwWP$^klKQHs8MnsK{aiCbwTAO zd6v)m+|c!6&z|~CA=Pw#9-9p{(vPO`SC9a&*SGwwx8DuNcnw2?(SBSJ~l%NpQ#1E3&V^$n>@IfAD`z(7c*NS zfU{ajCOZ*Qoe{v2+kX8MJkQrZ{pp+MTFL&gL23uu$6u<_twTQXrR;_YrMlkfqCLKP zk!Ais+Nw~b4Ew5r%-t_t<>y1h^HlNt#8vkAS@e%Guez^@GmQ|LqC}>?LXj9Po`;I( z`*_Vo*@z$iUW6rimDPCD;3~&U_y}(*nPQq`Nl}D?==Df!@9;?3i31_^8RF>ITU^dd z_-Uyq=PA7TgOPoBt{<|SQbEllC9*A$dISrab&H!;AHRJ`Kxf9AI-=ClFW}~O5jUa` zZ#KY~f`gz5;$pBCJ>?kJiX=PqX{6Z|st84kO(gi_!O|+^t-aIM# zH5_kdi6#c)%@A=@z7B3w?wZMSs?B5aS|C#QwUC@`8>Ge{QsZvY2T#rMEoF#_1b|;e zJv)oOo!vstCMH3u`2MqrMQ5lq!@nu52bK1iR$2_Citb-p${GI!)h|4>j9J#4&H%!- zCY5j%QkV47R^4%)k)?c&`&DS=qC`%=m0$7US42J~jQ?GqOZ<0XicIjBIFR)sQ3=%Q zpjxNF^+e2lp`FemB~X6*5@fB#-`eQgC*XSX{@?cHZ}-jCkEr_eRfFboL`XLVvA6HXDn>gQf7Qz_hE{q&!qv z{u!evRDF{kmngI0iTXa#-Z5n|-t;fxC8EFMP4SicjHkB${dih7%LnbC8e%*>rj4hE zed8%gxxSWxjZ&Nc_Z80GBrD87=NX;cCT(Ab%RH_rcFhF1)~Bv{6H+4|gsxe2iaOFe zOAx_x@S+YAL2vpd5v~u!-j@iHkNcDRwpm2(wduPMxYnk+yiLr8rm^}D51jR<@at=! z0~RucD;Mx4wuqN0j^Rxcyg?J$+-<0pIS-HT47V7n`$z(*TVru+5(ntMSWY3kANXEM z*1uMhWNk4^+p0JQ;IVKMhcqGE4_vnbfNDCbciqjGp$v@716&)nHz((hGnWJlgO=S@XmM`2%*^mA)S-R>H_C!- zWSnqrxJW%S%w-}qduL;2KmheW8Y9%};9A>{i){XlzIe!mgEAclC0keCqx=)$8cH4V zHl$SS5VV1*li@2+FrQL2yGo2QWVK{4dw31~>`eX2u{nxLY!BDERAMtoEk+DJdxD2l zOKi^TS2Ug#rG%`OG~WA)R#TL6=TrH(HLuZT%oLRPa|9C*RQG)ZR<{+dA@`@m?MMA7 zF=i%F;#B%BGlEGv-<$!dI6q44efqy1Z_U2e2DtMeIe#;MKSMv}0;qO#ghWzFBeP)^ zBB|4H#5iiWCoa)E+QT{c;kN3cJ0)BGxh#Ugr1N?`;p`J7Z#{8iTfj>)W z2w1nsA#i>r4S}XJv>`AW$_?R)22({Z!L`r*ar?><8WcxMaZtP)$b%w58NAXLi=%lU z4+=WICkBOYDpf)oIKBKRlpa0fdz7y{)Px5Hx{qPz_~u2{Do(7#?W!03`?mjd>f5yq z5$?|$vdqdiFM*WNuW$c$ifQpfEag3gbQ2a1Q&&pi@B%&N*w@NP?eQbZ|57$tzVZ>n z>pc5i@5F586L=7MPP;?naWNJBakw1evmq6R?0xG|`ZSV1CGDpAw}a^0m$h%xAQgCEuO!?+;NWFG{D(ZZc&T{v;6JXe8;z@JAZzX{y zE{7g^o}J=mI1p_I8)#_T(Euyi23He8wTB{ztFkIhhz(dr4>9>6inE#Dzz?5asfF%`F z)TT^5BvoNp3dR6oCU67p=i`WuIzqXpXJT{Dg=qu-0DbTiTvubZKME+@E0pc~Fb%rT zDBBviW+HUkAR7lsq3{RqDOH%&3?gV2`xYnaC>;kC=9+cuUfdDkWebYx5?`cJjfFcXO1n#-$CUVbH zM&_PrO3P1t+;gr`$352(_dM$3o^KeLRUY+m&tDAMqkQFd1LU6L$1~^r>rd{16;Qr< zoDJ4(ruxb5QT1pKa6LIThCpgO($GhTDEqA`e%X80!=)W>zPU#|R-5w8ogsA?iSq^i zB6o^lOvqo{WbY#;V>Z?^Ga==ht3nxlg3;xhRd~<~t8D;ymVezk6e_!KG^F}!-8c0BBkb*u zp{E?lz);3Ay%tRtB|#DKR77{Jh)$5|E{h!n$5m>NkWNFHPUVuW8g*U{ zS@v7%I!quc7W?oNCJsJb0c*-2A;X4J;HY5rh#BJ z@2vMe{`t^fT8is8^wzkJO4#Z9+QIIfWV)urwv`EX`%fTFTl^pwCw7c?=FYHx1 zeJtwLLW(82gD9q$$M%b5PL+w{o_-V{s>>tTaS!E~04)&OKyrvphk`voaTe#PV8eVEup!O`I;`KWL^9i=-2xC$%3k5gQ+9~VoU?B|E>d$Z_t zW$r@czd5`W%d9ohR*a2o6hw!ed4I%Ux)~PA8&3c>0nkySIKS_ADEyJD$mi#Ah`0yo z=9WqJWBU*Fq_7KkdysyY#L&GMhm#I}7p1zAb_G-MNKdJ*bTvXx8>@o&P(rZs#A2e2 zmc>XL_Ug2eRfB2c7s`w=lZiI!E#?y=_oa==K^!p_sbig_4h;Ojo6Ma)>S*nwj(4c3 z=ZWKm-zY+0+WvY4dDNpwC(gw+NHSJDj4bUhC2|olt$8uXwEnCGsvWyqEU1Odk3pQfA`=oIp1M?dZUJuYAph91uhj-se7>QCyY-<3qFdGY z3jh5l{60*3Z>gvj53Te=JfB&i?KfBOeu})ukB5IGKBkDh&(fiLF zO1M^$XqpeHiuW;0$Z{ku*DcXk?Ti$VQg@OJt^E2^kRmRd-K@~OG*856s?X9^ z>1fr?dtA{8v?u-N&~=d+=2UbIO-R5zx6th8@G9Tc)R;BH89*y_K+POsxSUMOV9ni&V13=*wkGh2U zVgQljl{^aR9F10TS}HlHM9%k}Ys7vI#rs1Q(m&ghPA0=PjD(nd@_iX6blC=q_x(!^ zgt`E(rPQCfkitw#$hLB?T2`h%e|1p#ZXT5Twxkz?tm^^+8PQ9EE?%72hh0XEKQF?qL~R?L*H2*H(dVa!B|wayb1TX>Y? zO+V!3b08DSv~wUGv9Ah)m}qhTPY|~HH@IGhwyGI;9!e>nMLb%ym&)&6rSHBC()xHM zeYYI0O`wm}pUO#Xd6crv_7y*YvWh``>c4u5FbWYg=uWwJn5H84dnM=xnk|ce&i4j;C{UJUNzNRtKSvfGdx->C{fn9a zb39JI=xh--Pk3S%T++uF%$~T|_9k-hKiNY9Ehie$Qa?~bi#GsUR0-EWM9Vv5VQHK)u=$FZD{OP!0o?#fe7+`|2Ow^X<MjMKYv(g&qHg87W^?_9XAN4Q zPFnzpIB4Ib3(!8=|GFo5w>Te@r);EC4RkVL2>N@;II1k0jiDWxZ$tz9*&%ZbhHa+; zkgnb}nGL5n>iEkhY{?+F;(OsI`tAedC%V@{eLbX)3Q3 ze14kCt4rn8fh)c*{HJgH4Y0ZX!ud|B>ldEy9O-9w?MDBEtVY2^bEkoHm18#7=5Cbw z#pZHGky4cmvqn!0J#+^1lSoLOtDs~QBtzk;ZoZVf52i~tPnovK`U;;jIDIFOj;eL? z_$&~+!oI--9eZDgSAi|al z|L7b9miQOqsTo+12r=MaAE98HfGj^@XyQ{XZn%M!h83aXsZ zYqR+I;FWM0wh*qRKEo?|swn23Ggp_fweOh1p-4bH)zrAMp1-0>p0rljtK+o*y|t zH>u+Mh*3@j+oA78*GbyT1C#4z1td;A$Kg+zww{lY*xht*chg&%rnjssH;OMuuZwP@ zcEV&Boe?tfypvqV5gEqj5K-E@_iS)3z)+niZP*izX;4(+^FB%gV#F6rfPxwYWtyKW z1QLApc)9n*7l;J!G$0b(DM-*MNYEolaG@ZGA@YXCh&a<*kLf-)0`$ec0!cxRfR zy&+7J3FJ^&F=By&9MdR>&Sp{FfGI#nLpVJch;!{|P7hlNbxmP%&!RsMdFhB=xRL&r zBd)ns~hlK3~Sqd-DoKC|Tx8VVcztQtsXnmaWIX0BHcD@gaCH9EK#Q z)MPu{iQ0_vPDX{-l}jA*b*?A0dOe>}Jsy6Z$n})glJ&d|DR)YQYv0sAxSj>IupTUM zJ)|sKb6B?|6)V|Q3bF!OliS1caWe|dv}bLZ`JqX!%l(wEY8lbA7zt8Q>E~cgNmEA3 zPJlA9fG|O#qztKkD6t!*;fylPrDETD!iKEGOct)~Kc{nO10z6U?zoDIST3zT(;!qv zP9g?@XJCIhop_zgJ1lh2KD-?vDHR zI*DxM<_8qubmk}IhB*ssRZ(pML4{@ps+a(jF5&D~Bs4U~zKs^6QH(kiH zw}5^jOC@3t%EE~Vi-)BWy&(s`q7~4t2@z~348-M*l%abQJp+s|=K@Vkb5u&1Q(gUY zaO3mD%h*LE-*BRq;z}xrKvMu$_uQ~@UvedgR^#YI z@#b@6X2JQYi&($%s#7bJ=mD~hiIAmkZAf!m+PuQqUt5JZbjIk&=S>Z3&3tE2Zz9#W zj?(x^bzM>IfCZoYPjbJn#nrJmgK(-IpD6^@EA_S5Iz@N2cq{K?JRD!VmEO(V{q7q- zX9G~d6GwR;o`a=Q7hr&eE2td*?|gAn(oq`i^}&ZzE!2*2*1}rq2Jyc$lyuw8Vg|NZ zD928om~9aAwZS+88&;5&z2+fOTfHScqVWT^70Pxk&s(`T8n3jEA!6b zUfz}b6ux^w?@!LPFp3$lWu~1r1@A=FR9Ooek(*zMjvRYic4U3Ft+X$oj_mM(Nfv_f zPu`Q?@iS%p2cm1|f;i(h-%$rYM4o{Ru{mn=ZGV4%@q@)wHYXY7i+O5MAi33`quCRS z7kHrJLLCEaVpQ8;J%PM*8#Nzz0l9!SS#{!C{Yx8$nIq;i6|2VcxDh)zf7Ji}k z_j^_f$p6RNcR)u`eU0yuECfi{Py$PnfT0Q!)F2V_BOwWHWWgw15K)k(2uh+Lo$N~1 zbtx(ef{LOvK|mDgB$O;5(xms!3;_~~q>}t^d2ePmqTla)=X`(8VKO`O=9T;Iz3;yJ zZuyoAQi)GA`1oiY5x4pB)@upqC#WQmEcP5XkUYA=^)rH2EZoKS(7;?o)w>ZD==e>$feNCnUo z-j#90+FT}Y(T~oMiklYC=9?oq_(3ZfA2Vj@C1^QfI<=hb)Z<~Tei`Ef6#6VddgFgxH#Yv;UfK8s zc;4;rjT3dMqiFW8DGT2AOB}X7NAle49Mu1PAb9Q>_@#cABlsVS-O8Z11r!OT*XePdSK;qE zfFE5vy=;_dokw&N1b63pVE%9shft?K5JZe5 zh-}DPe|&F5*Q1ICq3wzhLasdsp*8Sqa2W`p-j1|&loVZ~N5o&DRs4DzaNT>miR;F^ zq51#6!~Xx&ZhxrwbH>!p3JxR*u9JJ13^*IGC%{OgH`SB*#`9GQ`jP#)fBVPv_EWh1 z&4Xn7owZ&nsoF%g-bI_YG z|9a;F=o2$s7vU$%^R#iyqS~{sYDJG<#iB>yx>AnAFo^FktP93R?L*(K(Z5@8m2|Z} z%RIPQB9=4_2I{cu{_A6H`hK+j{QzpWKU~*h7dMvpmsfkBQNRhV4T`t9iWnJytLfvS z5}zd;?v{zB<$;1TSk49w;DXBWUFY_o__tTI_Rn9z_Rqp~4YnUp>fin_D!*MXzlzHL z1lQlNeC0Czji&OS>g6X>`H65{jpY~m$M4RO)cwv#ow{qtc%@06IDcojP2`(qnST<2 zKxZ9E1CKxzp)3>Rvr-?oB*IUI!+h))Y=-?Mc<1l_0a<}Ewwpm2Fx#dn145-TAgHpx zjnc*-ktWD>DM#`rqcUU3+XiI@y-_#F@g!K+o>#l&`mL*DpuDy5 zIrr6KHtS+p&+6KGm0fvzVIx2D59rQ|mCKowg?*&bC3U;H@TxAa`O3^joe>5Bkshfn zZ?R8K>040m0p>MnFX2LRN~5yhFAAdGb5YXRCb(NCXiWW-Jj^XMjw2p=|2KG;Sq2YZ z9QW^d=o&-cSx&r&>-aH{Z+(_l(53lIWp${-W}hVtZc1f0b198$jO!%HYWw~qS#3Z3 zQQmbGNd=)RfEc-r76TO1!7XpP$7Xo*;BpjCCB~=I6I3=Rp)Md3d*Yi;_4*K$W zZIL;69=os~u1@U2lzby{Tgo6e83dj~<6hS2?V|#gU$+C{M8^lEHrMifo>M|!DW-gZ zaX6Wkg>UJ&;h4mioDt8#)T9OhZu@#ljdiL|y>X+A{nUvUu)|O49S)}sKLXdO*x>_t zh7Qjx)8WY$O%+V)YCePHPMfx~W;(UCaX(Y4^zK(o{=zK0T3t)7FzsgyL%UJ_0bSov z0lFUCQ>Ld&-JzymG1xPS4jm2j?@(4CZL;*v{7MBZqqm99G}YwI1AVz4acH>J{xWx> zJ$B;p%d!(u*okR9v`+X`+vPIwo7AD4OL_n6Idzy@>;kO2#)ebp zsnc?3czF(F3=d%c3!BQXc!cfG;0UAP+Po)>@G?hi_``vKXnIBiL=7rd4IdyNcH9$D zLwHMGWr(&VS087eVh`1D<#eFw8?NEdX{_M@T%)j|aoo@#ht71@oz}R`52ppwT>v-M zo`TtoyD!{4Sw%5taG}&qba5Y1?~u2rrgr~8f2;0Rc>JA_wH<=Z8f|JU9b_y25iP^q z!(AQO-hRf44Eij?XQ`!+CXhx`4z6u+G-eW5u08w^CRgXP;t)nIm{szGX)SNnd{mI` z)u(Vx`0!1kC8~3d?fH*!Fo6OGxv1M2;hlOa(6oSi`1&dA;Q+YCVGk>_ z+Th;vSgfmFtUVQrhHE?)YsW+W<9VExYyeXiitZG43L(W%s4718SpwiLQ3C5bjBRpc zxY#tefJH!U4;N+IaK9}G2J2SyZead*QP%bPH5%O9%`~_LrDhu3Nti$NIe4W^mIZ%c zD2(EQ?~8(~vEWDWO6esFQUphj?NN8x7X7n<(AAN5rCQG6E<$y}YtR9*b_99i-kn0& zUy(mn&%xH5jJO_2?guh|a@vh#^uyQ}Xu>pLehyjoHW_wLlye`Q`ThWZtjz->9GDG`yFWVsz?tBAEWCs)QpR@Wrd26z)9irBcqhUTT-u$Tr$;|hnTTW`B( z9CTx}-R|ie>+p1L=kUZwLVudsJ>9|`p1!uYmwEx&_jI_=zUXjYP-bEzgtQ&un25rXFs*tuLS-J~tM?ZzM;)>R3Uz5Eq<^eqXh<_fyc+LYD7@^b|#(~2;QMrHM z2suYw;2R>11tIS(GSa?c3wvv_TYN$4_>{qC##%q1mEP zI2F1knnP=>86TjlsHa{82EGh(cm|<^1-eyGsw+&NgD&lnoc$4s#Hv|jGaTPrYx+}D`Dj3U#DZKx3*A{aRWK{h@I!Ymyl?-?I z3hD2a;KrrxyF+1w30zw@<&6-k;am-TFJ8{NnCVzEw{#@2|C6`#k@~j zU?;I@BnL&^z_e(-4P-kk1%WiBCU_$TF?rv_)5J%2ZR*w?7?r$NfQXv?TgHm zLW<_W8}brD-WxV{oYZ~2(4QtCJwe7hJ9;?KwB=`N?$5(=Dt5vhK2yi)?aZcjLQGU+ z)VX*OcyCXk*(93_tE#ng?G(Ae zD}xFN`O=CAk)Wl;9}s_@%+0Ki$MAkzy7T%EwPJX`K&_qou=&H6>aqt~J6UT35MGt3 z;;7Jg4ihK9R=0@2*6{;592>XuVmycATl%LqF`vV2+{;_m(a^l`1MgH!Kc|caWHy?oC6qmC)4^Zfi z;sB6f`Oa*0?lqC_2DW6Bn9`C$i|G6AcOAafQI+s=R-2z;_nAC%?-BhvCqF(>d#R%yhs0D9{>Wpz=K zZStmQZ#n%7nxk9|V$Z?pFC+8ZL5o1gs%33vM>qVN&FroaB8`r=zuPT#Y9`rtIJ>5! zH_S{J)B2yqc(X5I{AjYkiuqk|8Qt;;vj&KrSE<#xgW{b(hg~jMgO*HxlGV$roNc;m zZG_4sE!#9_S`V*k$Rn)TF_XO_svL}{jz2JR#asW|T| z6jU6|lTNWSb{F@cES$EhtJ!}f$(?Z4rtFF>(x4bzM|xv7lDVc`i%NK_oBXoy0#)ah z81!9AJ9w^kV?Vz(r^Gq)!0id1)OrA_>$?e5o&;Aou9==h8~ka>aMYofVl|rI*CZo6 z%hsQzar~L`6#br^kq^+1MB$8Vl4fA$3PSyM(cvzkxRA=*6N+fZjuJpPuBBFIWr~~p zYy^NYL&LPS6advSV?SYUZl=WETUIi}JC-R7@g`RHH^i&?$KMR`ItzRM4Be0pp1xAu zU`RKLT6;DEXn=xca9>{^z;0OK(z$+hb=kf5%abjB1g;8oq}{H&I@dl2%8_LeRyVZpI}=7ZZkG}?@WpnR+A z@yhge+DaT`!^&cw5o$O338=X;kZ7&x*)=89ra+aL;lQ=q>T~`?Orq$EG%(PysD?6AQOjFnACt-aTb8Mw% zeRrAP&Bk}mW5GPFrF{#5MWU@may<#SPixSuI)AK&#%XV%v+y;gNm6lXqIKmhcNSS( zOlxQ&->L-nbqvIo93)lYKhcY*YuniyYGsTt(YuA5b6^QcyGl}DeFT)X-GCLO>+0!X7k2U z+KTbpY|8QWoFy<+ni>8XAr4fWhcJ;nPiKRA+RQ$v%L8udpa@yW?;M^4J$FXdqliUO z%5q#NvZ#>5eFqI@M)cB)k{j{PN41PM^-ZR&5>G;v>Mxb4bR4Ckw`|`U$kE)+`M>*=b$~i*Oo49q2SU~NFR@UiUeDK`6F(Ao7Osvh zp!{eYLRlHDJwKc8cRuP z&E6!W(8l~*GDuFqZTFyvNG+pFEN8#m%Jy6&KfCS|D@BRynAnwf3K!CMCmYxNsaEsE zWp;0O%#?e)ID^1h+6Qh!^mk|4Gu00E%#>-SX z*c%?OH{Y&&9ba53cyK@s=E3fh$bv&92X0A^DRj?kTmH7zMAa~^HB)L3SLXRz)1wU6 z{RC?om>{?^b`Q8C_3(NJyZ6~3yLnsMHRxiYz4?B7W)5^Q-`;#1hJhXGS5=nPSv5>! z;Lk2a240!cJoRSb^+giD>_T`o3;un#iopn9%C3(uL4MsVlzud)A9aH{Xp2p0*oD2e zZPI*uT`hwYYah6i^vNqcu*I2%1Im7Q?YFk*MmGgTr%1hY?7xBvq}qk zYZZ;9-wP2eT^Zh8sA7+k{1eq^F>!H`Z;rV5;unoQg`$UQ$|^TiF>rC4(#64`w8>eS zLHhv9gY`JKCAeh}47`i`xp3v{cXiACFfDq1W)ORn#!Y$~DXtHEgZJ?0-F3=SID|mD&GC zQ9Ap7y#bA`)?&&22iGKy&vJSn`Y~F_>E#9cx7QaIg5OMIY46V|S-VE?lk$Sp{h z+UOWa{85-b>@P>5BGg4L zuC|uWqN~Fn$hp;xcdYi0CWM#Xd!coXSO4!Xb0EVaBJ-eX}%rpf?IEw zcEK3Wz!Oy$ek+4hi%Qk+a*=_#AhQ1C{o7&UF)M=Z0 zBqtLg_ZM!nyfL2)MX+6lA4=<#qEa+;sUl|koQdPY;C3w~%PLj_EbPXyxwn&}cQyE)DQB3H6bC z2NGtguRYN1-y(IH2Bz@444lI6;kt|jn$O|x2xI8941}|n@I9u*5QOu1_@VfK?ND%% z!84V432d+H%$0aj&>AtnTZV=tvDCtU;5rA_Nb`fT_EWeXJ^8$pAM)=Q?Sb1TP`XU@ z>Mbq4QxFa{fbDp#Ymci>(y>gYjQ_Huz`uUwcv2zz9#H;s{BhJT|2g${;Z_C!^mpb~ z?C*5AUc&x1@$at)bDNeV{E2Pj)`dgF(T2qF~k(`lmQ+1RBddZB0<%DtV4`lV%F^F6> zHwrD}(&3RL6iREVPt&QO`=a9pwSoU>$?yKf~sY zH>YhcXP-l|0j#-Q+>Q)XLI$k~q?*NMDdD(Hxzb8(`Q+kE8`%e zBmUHxm-@3cc&Xn*uRj-8zW;%L<#@`2Q zAp2jqzW*Q1|6daYE^}|ykbGf(e4;tRxj@3%(r^P=DiWxDmbx2w++-9FaIXNr^Zp}F z@^vd(?1|8MrT2hg)j%O8pCOjaM$Nugr0u;@4~Nid>KIdK|8Uk<;Jy z^FIRlAwLOo)kK~6iKvJUcYE6K^iesR$j8=^G$mJa`AkHa3pD*A=K`flct^~0Bl4zu!@g~b zc%x|ass0uy?d7lj#?AOF$KmcQ*6(F~fKt?+%{{+VHTwS*>HlS>|0LlTVCaYHyQ=F) ztZOsWzwQ|IB{@oZ9GU~&miErd82o+twx~a9>1rLatr7%eKPq9!(s{Ewy2Q`k7xCuF zIEgp+bN%hnmo_2)r{6S4=B`CZ-h%6e4(OX)*aZf1RFl)kQu#mEYWS8x<+s4qh4}Vb zv48zZP0HyU1&YsFOEyS?9zAO%XeYqkr4E7;AHOI4boSFuR~a2EcCKox+y3>djnS{c zXNl8$^f>jXC0u7>kMMUBL2EXY(A8~e*4a+5o$vd|^C#>q5o@Ue2~ zKVr#I2O*^a8jm7&VX3o>B2)bN1un#?un@0B{RT!Gb|1877IZ+NuFV0|Lt#je8E@gP z9(|#{v!XT>5)r@cz*C3Hpfa`2zXcUKXChe7u0b}%}NaH0o15ay2RP3{y{5jCHf@|>oj5X|p zYh|pV1-YDA`ZOZ{AHCQDD)u#8gRxiuT14(>%VN`Zwvw;Eig^Cn?}_K1gFnih9tNJz zX?;r@V$FS^q77VgC#pFCuAj!DQ#Gqbj#IHGe%45<0TrtcR~vR<>TO2YWt^RPX+xq% znQ7zBYGO}5%k9-%fsbV1I+7wkLuW>d=>D9`)cyW|UP@+nX8F%^SoW713Oj$~*P_3l zuf~pi2G`lx-){?98Sn+HA?g!kihE4?2!GVMCk#qqudz|`n^5KL_DpnSEfz{U7~IOJ z&v3f6bKx`+WQI?z)<)k@4yYd7)RV*bgAGKNhg1F&y^D8OVHa=1bq;p%7HQ1OBn4}L z(=iZmTd+bh8|()H0r5jR)*2rX%Q9a321VMIqDB=z<;$OyzCN!E(ONTI;{C&*V%FTiD%Fg=dQuxSQT zDru(nytl1L1uQ|I3QwE}j$b{rrS!wuZgtfaJ~)3yL-kcOADlmqnN3QACYle9Pc6E_ z@u+>wKNm(z{u#k!)2IQuu>paN1!P*uV;j5@$2JJAeGqYX-(tkAaD|8TDz>@cjxeT1 zh;@mU5W9hCCFJ9_+T%T!cpnpipN_o4_0+;24KC55^5*ydn?>c<=N_`CxPIhAF8d=Q zD=kdid=NT+Op-!TJ6MDa2`OPrNd7Q zIiIBs-1U{HzJ>vuSsw`!7G2v<8f{o)A53u5L4L3rm=eKlUkouqwg-K{6!SrS!3Yno z2sEwbYPPJvdD;ZmJe;S7?7NcWKC2YJQbYi2K$O2>mA5e;j;T-auk|mT^yO5z=Hr*w z*t)xBeZmDzWa_^{h)h09-xYF~aZ9#b@eq{+3get;o`ZzBALP8?BJ+tOndY zFF)LQ-9T_vo|br0juQ%d>tTPdE!QUP@N(?$A-D!2wLQ)K9bC_U%k|T8ZOa97zGOLf zSx(bu@O!Xqzb3`(IL1n^>1}2EwJuP_A=Lg5_+S;c-<{fj39h3NUcd3;bhWNn-eUBg zwxE*D;94Gg8buCyS%lZ56+xxv+s_oU(vx);u-dqfsT+8!&lp%7B{6WYAeQS>Bo09fZpZP}^p% z{#mO28Mq#ZC9hUF9q^?>fLg@#AjacuGsxF># z_0c4%_F3+LOt)Ebq=lS(YHDqy$umC733$1Vdyuu1{Qux;#~w6S8AW_g!Vo6hXHL5T zfBbkwaD;Qp^*#*z)#s?%$7)mj2dH8V*ZD5hISQ^nA%-7O#O7bqL=Jn>C+n&x? zjJ@^3brNn*BY8R+)LN8W}iiN?o1dBDw6(WL$T2A`Li&KOk`O;aU-j zs+Jrk-=fwq_M4|L-*c33HfnR4B&F5qWLdLr5Bm+>LByzeTEm43bf7lp zLK9oL%@3(fCtPb`n<|gX7Us8zzxIO=a$qTaS!1|+q(6)F@ zsQw7JPDEbf#`@C=ORUZgl(VO>oYmQoQucHjKq6#T=}ZOp6z)uQORiWia}--7?Wffr zb20L=IxLs5;=<#I6`W%D4QhGo_Zk;l{ynz546duNWh?KK9{Gy4d9}Xa1CSs*--dgo zyq(3zAhB(Ceb0wjRcg?>4jAIIy#Bp5tQV;AE^tl5%3o&sxloxu4{Ub0Lnce+YH%vw5@K`btt2|NL;7{3%WDd{Up<3EPLlztKkNBCA zCOrUBxNM@k0ITyT-=W#3iPEw`4_odg|A zfbB;@rGLcT76kp4Rm+*S_7vUs|)h;{29{rOI(dS_Z>)5^K=>>>0QE;u>3vec!@@ge{-?t@s#{)k${erB`r!;G+du8lJTlawv zl)%>d$>$Q8RgV1$o3f>%Jh0h7X8f2lFY24mMNr>sO7|vwQW;F<`=mmRw#azE&$ZT5 zQ)iR%FY53d?bF)g)3}P-r&TE6Kv>RPQl+k%8%V}PxsAEtd49Y8OL|*p4!=Dl-VP_9 z`mo2QQV8I~U-H{u#M^om$)J41*Z6I#Cf@{dJX=pXYe9Bfoptb3*&Q6A%z6xV0rqh3 zi)OTJaVLkv?7RZCwhy(=2q7!Ei%c^XZAY#sD%}CPoB{ zlyXTpb>3u7ICd5rbk~R=h4X4|vT!mQhb0Day$<&+JOb!}Djv5&o&&n$KnHACm>De$ z61E4PDEsWcWmQNGX2VEULO+e>q63Q@2-SHl5uJh~>>|vxPMk=|?~Mu?Q;XoN|E3FGesTYw3Nq zTb;iJn~e4gnSeO2e?kV`cK2DdYs4=d?m^pwym7$O%9-tR?C$Q{ZEX%IPlOanx}Y?9 zEy_!6-WV-O;o1uFH1o3xVwj$&q*{g1WM8OtYn3(YHY&1hO7 zt88GbvKk>H0>2bt0dU6H*BpioyEejri~TA~Fn1&bKZoZAu+bNGBE!q!Dc%G1Ir!UV zcanD!$X#KsZDy)pc_xPE5hdF|)-HTeN$mA+eaTA_@YYjbB5yqb*FP}6fU7{W_Zn77 zC}lI?G{Xn0~iUO`f=W1~6F;~L%1-N@gz*SvTVz4(m z5hP|WQva?#HB%R^kM$Bs1f)G#hMRR(N|mpcUSISW}d^&S>p;6SeginC&A3*}fNn3&P%127YFm*>FdTG3&;54$IZQP=q;=YeQH=rb5nA)}hef&Ik(J z3m5(xO!&BPRvb%`+R4T&solXTdGWr)UovxU2|pEg6Jew92O-5p_;`Q&&}+(2c%ycd{SEnalffQq=ti?ion(y5 z?Ni!e`Q$v!p0!qi(cYw##F82fSS(R{Nq-z4JuiMlJdeuP>`@eWroJ!oJ-Ux6OB$0s zQN!uHLIP9t^t9R2vdzl$hK7I|u8BB0&xla<$2$+RCo(YCo{cqjJ^e)@gs6dDvHte7 zDNi>P7?oC7D#C0)YwD;%p=v@xA^qb3Of+f&cai5c9q2Q*FM#`c%&M7jPFN=lfQ^!QMR%_9EOClvn)uHCTCRe~RQW9H_YdE=0eKm?q@89D~2s9w|KkSgOE z2`$#k158|w-(#$fqqpBNHtW_zVsvt;)|CeEVxe{day-3v0zlh;zw zj59EBmNu)&RJto%-@($+Mt?Zv%`jHhrIFG4E_n{VTRmxfuv`6|O$L^m5Lo+tmH?=3 ztB8L+lkC6X`V-cF!Wb{FKB)`!GxHDzhaS?c*i6WLc(e$P)OrHX~wW<&qknT zfCLByZ7Jr~fhj*rk)c7%dopd%Jp7eg@CG)D{rx!|`GMD8ZgKh4!|I_;1wH zYH-cM(LP|s^dc%|(u>`kj>WR!x(kc7AW17^5*0f!T^0+;qGCJXx(ACTLl2cN9}xte zc#8=9qj!kFXRToZ{~dwaf)$0WsXq5~ZT{Y)`cmNP#roby=)4Rc$QW4NmlT!`)|v6& zX$TB1`ZCza8^MN37kUjfyK7-i=GlHyg4mjr3IRJ2|&{a(i47ENk&h} z##B`^4)Jd@dIJ@gv%2b&iP#9(D~v$hP<1b=FH(b2LSW1J_DI~>kD~ou%xzbosm*<* zQJC&GwTPVH$fLjdw7*5}u!S0x2`4%BM4FdE1^hBmYDub*herK*_<-aj+H3}x?UWJ; zgG*6Dq(49MPl(h$loKLB0lC}Gx5}OTK28F4Y$O`M#06Ph796yv4?9}sS48E+JHpYj zywFXYq~PU+l(;ER`S_V4lGexsZog*Sd=Wpz<_A@kc7{`_t@@*(Ek}FH$3!CvnMNIW`-|B2zmGd?wcqZ5|?1!ey zJX4Eaur4z>#3b^R4X(tth*C2NvP&hQ!L&Nv_|p2@5e(4Eo3Xo7OW2&~c-0s#lC0`gHN_t8g4Rj>^7#qs^$_j!n zyj)de$hxChu#RjilGp>yFlsq8c5pXTD2XjvfSAfvH7=Pr^>19VR+!Nj{TzEQy^>Cl z=|5INrZPEE$0Uvw337Xpi&X_Qz#Ukc zCpw_Bh%Bq~cg=U~u9l(gbX7TqolJslr|{`O&wL}lIz?TJdQBtTr}K5jRUGzD#Mgny zGV0_M&D1(vd61`bE^5H)EDDp|d6z#}Ejn>9Pj977O?owPB7udu(dxW1T<{gm%l#DP}w*{ zTCrcRhGhRdL*)#)W)3H)h{FpsWA9i)K;^m+big>k7+D0O?H zhDD*ucu^`8OI@T=G=aqqRdUJTIu-C#d5Dg;F5=m3&?LFNp!PFsp0O5I0c7ay_5>=zHUla11hqjOfp z8nkqhlsdx^VB$lx(d9)@6zBBvX#G#B_gJpib)WU$GKy#-M-f%)|K+b2Ea4e!R<&3} zG2>b6;@)RwQw(N3z&08U}$p zF*I1gLV~`C|6Y#ue_7d1xcYTz)>Uxhi|0{FN9C4w%-qE|0$^IX%Phm%IniwxY z4(mg7ffIi0Q9-goN9UTu^}R~<-6Z8YkfmiY)wL9^H3JbI^Wg5Seq{OA<|fm6J&MPW zfrku83=d3x!5bbi`>U|`@rlI?lW|MkV=`^2pKpp=>IC?q%y>d*Vyw=4CJxP@dsc41 zWR7~uy7$l#p*+eODV+@&&|WATZ_>&36#o=&l6Qp5F z>?^Sqg$Mz>M7>iY+B?T{_^5apuGYQdS6?2JY(PaxvP1me?^l!{Xs`Aiy*@1eXOJvk z$5_72A<9JM@VpVqVMed~KxQ;ofABM-dD%{8G|RsCGoy)>W;C5%BQu(>mxwT<({IWc z!OJU<8O;@Vu;pv?F}W!6wN0IU%Q!C=vdt`#LuXr!7e`4g$4j_90(VpT@!5~$Q9vyW z=QgK!#TJ>N77-iTZFTi3f(hzZWQZS)_-}!6&6fV5IlSZh(;^MoFWttZZo-@I8vS@) zc=MTs7-S-bzn>Dk-DhGQ*j#$^(dG-7wC}cNODgsRBQ1i)_?T`HnnbfWk{~U39ioV^ z;C))=$wdE`>%^Vgoa*Af4IrvC4)H2@oP*u!~@vb*>cU$r6;-^LkC7HXCr*Zpw#>kqK41#qoJZG8fFvk-@l73=+LcpbHY zBqPLyuhT1RBGE2KL1ty+IoV%dP-E|vowLbgV@%a#p3)I%j=6& zxeo$O5(#{k;<2K6Y|Up;;pd;!xS`#H#(3gh%Ps5ruk0lI` zr3$wv;CE+?Xb&5^IYu^i4(^VXZOm6}IQM#u+S@orYj4RIY;O@8Cd;rAgZX>R%AQb9#KySVpL<}l;>#p~&# z<>Y$$?ya)%l4$>3PAs14JmY)R6O7UY#ub6$B+~tt@V}=s!*~DE`CyK+4p_8$tyt$5 zSpPz^tbdJv`*}(_mN(_dbM|lhkkt2Xd6xP<3V^p3madgou&8oN0076;*(}F3;}#3n z(O72jElnH`QkrUIp5lZui>~^SM9zCi5&~I$7UexZnm7VKm9m&Xeo3B~n31&BlpjiG ziWT6G(xQ&;$2*HXd7i#%W}k@ZP}L(mspHZUw0V^sv1-i&h?h2V7(9E+7au0g-^L=T{g?S)K^oOb3@rb zsq8_xdU2j=QrMP|H!kZ4gvTmD#7jaJQQ;*i5>j7cJ=nx_JSob^FOZ|pQfIIuc=1~T zM9RChbl6bLGW7qwgm8fkW`WQ0Qi=wb4%AExT$^I$&lv0*w1dkZ1N{#!=LHgR>Iat} zQ2|TcUNRSz*msY|{p;l-T4}?zlgnI8XmjoX!1^i~ut%Mq2m7nXuNTUb%PjRZb~}Ck zlHc<5>1gchY`E4XkW7QSOoZfK;vhor;(AaZr1NDra4N}^FvBd3Qq_YzleaDkYDgTd zP39BSKqOqBLSUr+h579B3dmjk0=wQRO|aur7&oVmBHVm(P@s^Wyiu(OVg9?CnsSyC z7N1}Tpbsu0_8fj!YcTU&Y;Y@F+rA>i2leqgjQ68NrONkVdTrUOpqeM48k)zC^qStM zno{A~4!iztp5`bRu8b}&5c`YjOe1$LpqQHDvn1&iw51B3f@^!MU{tBdB!v|`Q7l1f z<_cC{z=2fOzs`RLzrGLGSp2%@Z3b3B5df<=o0;hi{4w~3a4)+>0Y8S@`!T91dm_B>V<3STzjsveBOs*2$H5>^#^*8ur~!U7&0 zSL(Hlp|1~((!SnGUvGwM_gDM{o(#W5Vh%HwcIR>GuT!q&kM&x{QZ4VpwHNl`sX`5i z;Yw;db~dW!BPn z;A^Fu=%lL-AEU>=L{h->pYbue6DPTpxqxyO``A%$pf&Ze6vYY|E^Tek`Y=bW>Y<%!u4aU z=RKa8rc`W-UhHiu_7+^-SgZzO?Mon6K-r?xShj~=wj-5|h3h;WB>uAy&ZEkpPwVKT zsz9Gw;JOx@d72m5xm4`#TN+`We~a=z!gUc8%bpKqQcn|R`z(9)V(Z`1FzIKw-BuQp zzRcB=nVtHukoSFLztMxzn5EqqWB0u8pXFvKh!fsH5wQ+0TEqFEa^4hB;E8Jvcgu(@ z^y)%mxo~`q-I^fpjy~BQox^clIqMdm+I5d; zhMCbKDO1Wp6H5WHm>w+|8?jR(73e4+)*gK>#iCrfkCTHgWvK7F3qL$hi40%vYv|Y? zYd7Cftc|!GJAaAM(uzq(rlkH=KmtZAT7*!IpF)kKBl^{qzrd%HL0NY!#CMX6U*iV0?$ zK(in%lq%C;X;vRlyjSbmgoxzy3VNH_A1S?IkP>kMU2F}c+QkhT{|#~#%Krb~;nV9c z{(r=$+4l_iH1zgA;M3Ly|AbGC@0P`<_r^oIY@u~j3|66>jfA@dJr`pE>pMK~H z_;kG-;?pqLMdBUcQ_rD@Pu<~)?*X5FwE{lPsZ$1@o-X`Xdqz(a70@#f#~>(PJ2 zug$stf?qcnzt$fC{Q9mH;8&3e@v9>2#EYoOko#{Se%*sBz6bnrg#doFvoU@(lK6ED z7JIeeAMtC+Z5_YHPZ9W)F-6C((^LHMOWH4Xv%8DzQ*NXa6kDAbRK}5c3^T9rEX>zQ zhA{0dZ#@@aLc{P-84y+DX>eoHFwE+F6Dg>@CE+==L_A7Xyj?;)FNWUV7HD;5m7|SY z+C|u(j196nF(iUA3x?sb!;@A+>;We4i)MFncwGA)ChLq^z}-=!UF*)85lv^SNN6eh*qr5ih^zi zIHIpvo$+SI=Wt=?i53BL8iI5aWoEibM!Fe*pzAH@2IqGaHkS-7MKU7i--6*nQ_vUm zEyegy-U;FEL>qJ>F;rQfT~LajMJBm#rYGXzH5&Vy?d~2XyELHsK@dtP^bKlUbc;!2 zjDa*BMJP?#kxoiMqc1nfO=-##08{UBKte?U8Yb71uMKwdo>ZF}UE)V4^^i`i&asr6 z;FdD$Ceuo9h9*Kp(n_+LUn0(f+&N1A4M6v<^1RXydNf%yi4J#;x?OLt&7n4=vzT9` z`DVI;nEs*<0sTGp7|OeG+}UuzT*^^ipvHiNcl z4vdg>lVkLh$h;_?b(3lMQP00FOuUxDZ)L|ViOgRn`XlpqCf!>T@L7HAfzjVX`Te%o zhjlEaeb|$Uv=7_s<9%2$0MT!~^Ty1ASIRw@6P)NH#jwS!pub1N7{L63;jX5Y7~9kQ zMlW4~inkg3`eLH7-ua?l3^J&$#Myu5CUYBg*#zBCdfkM7lCRsr`W5?svVOIx_5Wx6 z8k=oczZ}XxtX~Uj{?qzZ@p{?yt7-Pb*Dq_fas4u9|KG1)57hs8{VLc8^fRjk&`$=@ zO46%=rVL)c+P+HqFSz1+z?sGsfOy7KEwg^ry8W-~mvUWSzjluk>sQElef?@a{$J#6 zz%SeX34R@{@&5bo_cSR^V6M z2ReSe^1;8#M+!laG0lKa&WPj4Kr;~KlI`9E#v+n|93Wu;KH}PLz9YPeXeA?23PbHh zV%c^A<6E zOak2)8jLmJyxr@Jpmh$$Ix36r2`9*~+f6b{JRroVa>_DfcYcEy!-HsG7{nx(nT{%B zuxU>>AhFTy@OP{8|M2mx0R7{R;$ssOc6gUZETG59p$_-*2r|$11lgkxTAj^k6Zf%r zW)H>t1$-Zr6&p$+JmAqB8VU%svBVUViU?TuHe)xOTnHqfY44E1!6vHI;l8SjJBPrV zACVzCVRz4uSY_zMT{CxLm7xt&{J(jG*T4B&{)wK|*Xk}5E%3qn$jWuq9N(RN7V zvBbgt{6|TZmbRH$ z+R=;pXf>{O`;y>lz0J(kKs+vm=O-@lutV+bpN)XuyXiMmr-8NYFq3?%(7c^5E8pI= zj*JbpHg^(&s3#w2a*!^^wjnw8zOwtGL5^j3>2mDJ5*asYq#f$xxmK;ZT$NTBWc@G+ zs@hPIvDr11sql$2z{FBD`xK(qR%V@Ahlp~Ouv`~IxnS#uXf?SZgv&J*a!X@Hp-uo>hHw$V}?$FFK?Yi#EI#L_ZRs-8SjtseFEO^;rn)YzXk4< z^%vr22UX&h%S5+LYqzVK$lkR}C|-8qNq>ZGD295_er5k!ThSBZxU zOcKwgjq)`9Q}%@#8+1!5Y_%u4}w_i+#>>YMDD z`2lw8%5C-yqPPij{7t(|Q8%E4Wf*P9eNL%_D+S6M=&lP@fTR}Wh<;#o_Q8_w?ZQsT zI}q4&k07$AebnwrCBA$XcoN#ad*6g@TMvNaxMmLbo6X>LGk1JAme@ok?02l8i6HZg z8vwG2LvVsAG{Bi{H?c6U4!NJSw?NvnvPQ5Q|il%1qSe4;&ecffiOb=%z3NgPHhzE;tAT<~AkvwZwrIpH?(Bg!xai}ceNAO=@i zOdY=UL_w*C2^ZJfAbim-j+_;~=T|{uZ4bp)qhQvUX0c3f>sqGdJ8`J>8W5MB5Yf-W zgpBWpDg#cSVu@)t$Y( zT825v4J9RfB}^tzUiK^GzL=xrABVmIdcn@b?j7CC%@nF!pvQ=6@vu~VFUWi}tXS9F zOr_Sf@rZRyp6N`kAPBpeNRzj+l2|G6WUe$+seGJ)iXCxy8o%{IAb!Xo zMs;F)OT{P9u#|(-sgW0&#PP612|}4C7^iJEWj13KMy7#rN4`gq*_opw?o$ zQq=1qHSV~k#ZYwJ0HG#(p|p3riYAO#juwwrw6+zEf;In>%fJW+zL3gS6LX*|@8#YVks!D8q4;oF zdbobrpB|DtEhCT?!ukU40G6w}p@3FD;=Q3uGr2!W?!z3s1O}RR!{1~f2=*qh>8*(S zap%V%VmzaR64MengrZ9$~|LJ;zZP)GCIcK04E@35{cbVTP{r@c<0&0!q{HuINt z`hJ>t6NWQo%~+6PI{=)dTR6%#cJG8{?jGTag&x^aoPkFJNXGFOi`_jktZTdNz$3n0 z={P zP9PyVyc1ww(k&99=x_s>ctBcAqP%Fthv00qEQ@FB}o)K=rGsZ13 zlVXHW43H~+2TJ~(cEzQ4+Tn>m01po+BmO}AiqD5<`AKOx=F~4pD(wPNvcoe1Xz3L` zk##iBMYzJ2^Z8!U|1_W7i~g7MS-0q)=M(!!^QlHYkZ_e} zLFxz;U%Twl^hViX;sz&{HH{8n%rRasGMdGnMV z@F*0&nT^50+{f*fbis8)vp31_8t4s{>@zl)yN?^RVS|W~h(}eF=31LOv#TOMIE3~eaK4(dhU6h-6V^D^V!`s4Dottvy>K--B{F)M=Lf{N+>qbR5X!TPS%4j&2al!gaXg7 zu1Zjs^N`h5+00JU+dIPIV#0)-_U75jjh*xe<~AuW2WJ>_jAs_s!93$=yKf(M$h7Cn_V|W0kD8iruW6Ox>FdX5$5~^TEV0=R;>F9WEp$u_UPl*=}(ao zNH3Inie600QtJqN5adKKU7xk$X$y{nt>X+s{8Kszz>|v+SXElgo<}kCf%8=~X?_(5 zNA2MkUsEr?o?`9Be97g}Sy5??<-dhHz^Q>iD)6Tt{866XtIMF-12p+^Xa4)@)d9K~ zn)q6wkWYXVVzroY4;F9_rV zNY-ha7mzIPnqijwYTbT5MrZnGFuj9s({|W|5YA+!o^7O!6NW|0Pi0(wnw9G3L85-= z_jE2ozm%RZOX{cSzv^-AD#sMmh}z$rPMU?%l*-CMz)pURou6Kg-_PXtK!AwBD-eSR zl<59xp7TfVPR}G#C z?FMtZ!P!fcpE8LkeLLw-1~N`>NYWj%X+u@Q$tc$yjQ$XF3;rlm;5F@kdf-M3B(J)- zuJtV@*N`ni(E2Ot8D9an`^t8Ge@L5(c4c$COy0_bQon3Ql#?bxg?4?R4&bM)k{Y1m zpvdl>WW$qGUZ}AB5M|;XrpD#)$<}Za83WkNQa7M<@FAjwO@1T*4}>Y1j6H2zC>~aO z!``K|fxV&5WRT0keykrr2Mi!-UE^)X>MTAN4MKD&Z}(Ivg@S40LQSd9;TDTHH}12t z(r_Sv{!f;cmg@YlF-5q!X?4~^))@i7Q>)?KGd==#w;jL;AJ5PP1!R7Q`sw@bHE=(3 z@XRvtGJ*H~K)f%(y&VH@0AM501SMHn7zv|K41$3s@<4rwWFE1zAO|Fg#MqtrRTFJ^ zX{M=C&+qc%dp2c1KJdASpr{I$Jm$h$V7Y+rU8qLGzjUnr6@Ot8=Qw@(Z^cHHtewa) zqR!O~pf8iWJwuZy1RKc)?lD1ZFFppiNo(8VZzy-7Z{uVEN1~ z$B|>iqO*8Q0XZgr1Ap5b8tk5p2<<$TS`9a;emhjsFE>My_kSao>?dE=mTyGpIQ^$O z&;M1t;g$Dg#C4rt*xgs+dL_DjfcEZvaXpgUM^IS4hw7HCL1c<^!sPi*1EyzQHtMsu zeWW>ucf_i=?s4wD-Q0gd?Y-^p3F&rs>STxKKMv1(#yGW!yU;c+A2)IC5erf(k|paE z!uHfTNogfk>$Go8xQvwmE1zZ}X|F7Ai*;xT$#8H z7swky*oPB|Z88$v1;DwIZlQAiJ`a2{08lv!o3`Gt(OCdhq`z!;+t{F`G!r>k;x1jG z^m-Wp%we>A>{&cPj})1QYj_Qf!kFS8m~mDkcs4-ItLyv zP-Dm^E@oaf+9PZQrq*X0VpC4`A;WA3_R(kiT5p(bxt=nAOLFHCi^GX#t1<7Jwudbm z%JKpXP81bY8)Q81pomaBLKw+-NfFp-aZm>D;B_IFIQ~XNa$Xv&u1vU{ypct)Zg%gu zQD}tp-cBKjr~D=vc*+W86pSW&k<`0#Ne8ZxqDHMjbL!io%G6_a@5Z4-T_wtb0nln1 zJ~t<%|EQAaHZE4#y-75d+Q@(DOYO|do*%u*?i|LE?pIC&iDvJ@p_6r^cMTEnq74Z0 zYs$n7T3hlq!!#W7Ut7NKrLQgCUViju_jItXJ*2*a@)GHDhdc^98Nc_K=}^n(rcP`0 zukUGR`!KzzvahbGtctS|syH3)^Kt#QD-EE_GanK!TGnUxwEbI^9$Iw&vC6$Lhl9)L zZ`H;B-hVZ({=bipcteu=uek0G?_yjJdk9VNn4Lvc6UxM|9*Uxlkj<{bWbM4&YxmBA z))do~okN4|@v?^M2COTX=I#lAr*0_=I$@wflJI$7?kn;$`} z242$YP*?!Fe^e!lJ+ya%C1QLgQPyYBYpb)k98agw0#>1fYCFa-8Yj4O{o}7e#bdc* z+)rIoHf1oSUZl@9<_bz}29!Fr0(p@P5DJGvgx$ejHvx92?);EK@~w@>O}i^EkW~)J zs@Ejq-yx*lgc^X-0KTrC6-+{Ad|tHpY6Z~}l(0jI>w&z@YfOW#VKHoPU`lC!6K2u& zH`cY?Kx$0G{-TOwK1No;T7%0Ydl|qRJ51o@@GN8_f{k)RYNZAiLUXxsr4;^Zd_-&( znl@9X2bPyTU9gpV`crxKLuiJD%w&~|nu>(-ypyScr7J1hHn1CuoiGYj+Ofck4$u;G zpXN9nZJc~)F3Ui+o0JI|#EW{Hy14VKF3cyOJpT)ez1W89SKPZ`uP#_LP*OTO9Ksgd zAr)=mgQ(TK%^$zMfcGVyR%-a!;N?o9@%z_R(^Lu3g zfmLX}2WYp&HXv(Y**i0PmF~D$u(@#}h?0QF*MMKZW9u|aIUW72uJk}7<~wWC%CRO{ zNWw`kBj5m9Tw#GsAW@84qkEEyl~h1LC%jRTUJoVzDpQ70B~Co>OOAF>rRT zY9Wa-kj3;XW~&Q$fMREX7BvHkLB%aW{KfDUMp&OKGA)-%dpGHl9J3j zaN(*#)mZ}w=Q|O~M`ob`H?`L>P@?>bO+0|+GyoBj*(Q;{osRq^0e;B8^EXERc7*)t z=#8c^JXi@}PVo8#{4E}eLsnUc@=(m@SDSUL`v zsNx6`_`>w=>LV&L2v3~ENKb`z@E2F-Z*&>mK#l;ya$OC3uhS;6KThIms61#r7gdgH zC}Z#vDi?xU*+MLLDiTkMC{%DlIBt>yw^|Y)jO9eJ@WdIEOJLx;-$J9!RMR>`6!GNp ziyiuMmf&YRE}R1ZYeEv7216EzLN<6tQZ0Y#YZ;D>c~iNvh}KS$UIsNBoAC--35yn| zhiEi<`0<44^15>zZlMS~a9j!MxDtY+BJw2!(HvuB3a6;+ttT^X#_98Pg{gb&<0cJ0 zG@js9njb$5ROJ7N#CgUK`6=uB4Z8bfTn)iGeLseC@QyPDJFD^pZVN+#X&g1GNV9LC z#o+FicINY;X0=={UdX(MA3U%rj26o2b|UX2aJL}xIrsg5dM7rN5q59;Xkv&>38#lN&IIl{IF}*X`g5E z)SJUi4+?+RKb&R_r}Yd!CGZd9!wF~CH|dX=C#1;1BheieHH-4@;MMM^1L-7pgh75Z zx};Bi4NlP>UeFa@6M4pZils=_qUfxDy3e%7-y(mx`jno(6y-)S9vRE9GW4=PNE;62 zU%*`^sNCg~q)C^$UGxpTG(o+{v3h#r9nQ3k2pFWL6p0P#CVOSQP9;;54ZL_e86gkQ zu*fWI7(q$cE?tuAME|PN z-C;SkvM7;R$HI`;sm&{MVCU|Fr#eh3pdOtNlXuv63r}AILs6cjwgyYK1mUU0&=p{4 zk`!KYaF$6ZC?mP<;>psq>A(r2yRJ}e_hMYegLyXv|8ua5C|+o1utQkaAQ?lb5;3j8 z73;M+LX|8Xz~MIj<{bPn)w-}es?7j?4BeA4fI%#f!2}oHt@;9SE?>Ze?TEf|i@jQS z(yAUoAam%yI;+#bIXd)AUB$lpM4O8j;yCAJtj(jv`V_n`U4V3DH|}`8p_A}?*a%mD z!Z*V8_(29y$ZRO}no528LD7`Xbkl;Wa+<_Blk=(5RlXdiGM%P!MT{Ck)3J0Lr-21u z;9_3<4r(o|6G?k=8(nnx-!hYgY^C9sQ}NhTcW5fmiJIC8IrX7T+P*ce4hBIn(|ki; z?Zmqt{FrxrRxIDc$u1^MV@tUj!ddqmMhYbL;ph8JF&-11ilO;+`V9cWa!P;1uCQ~gI$W( zDo)$Y-iJ&T2?6H_51)RNYh?c8N26i$i#y#!wc zZu`b+(OxMOY$DlwhAD^}o|wE_lq>Q6o55-du7V_(%3zAx;T-DlN#5aaJ5q=77J=RO zK6H3LJSmxU^^wK5eY|EMQ+fF~ZpXf%ui-bISz%P2txYKm4y^zvI*q=7p5h>}T{8(9gp&pIj}N5nP~!E*Vx(Un)<+i1!# z$lu|*JkD-eudU1B>Mi!bcbjPZ9dIn9S#tkcmC^I200kNlyPVI?v@&sK$-D2o(_h|G z+SFGpW!B_spnJxWo_+c~O)i&rQ_`!VM zhdJTYnc-URd{;Gn|8RKJrSGxfQ9E%>m#Cyt%&|=9=!7VlGgfqt=}bO zgjvK`&aopbYm6R~OF<{qG3fX#bWp!LtMZ@E@vb2lv$jdCKls*rO?rJt$5>VTV-g2n z|7={W0m!qm7{lJ|jYa2_r#;;=Qx7k_r9Y63$?K48c;m=^#8+XO#N|{o^zu+qiT@Hm zqzj9V!A@&*{Gyt_7V@*y0;1f^j=V)$CZFR$dP;D7>;B=*(HKd&Hx1f2lTxDeox<4e7<*EgvYP_2=5zpe0A;5>ir?~hI@+d zGfVBrg&N(Ut7K14g3XljVt!4^Z%Mts>j(~fb6FIv@$OV}MJ3(BKMx%&j*y5S_4ko{ zy4ch=aIN(sqVE}iOLZa=d+$_Oa(iNM!CucUexKO<0f5u5tO>&v%i5^y5Gea^D%*)2 zTT8Qh9c~Ef2sq~7vqoD3lh$bK;`Z>NzfXimBC2f(n(t#nVj@ zLuKhj4~N81iDWPH9+TvsrR2Sm@jI7%!sR=3FtrBx@IdqIxC<*v7cYr}Wm;yH>^0s$ zTynk3cktjyf1&|;YjoM`Jr*%}PihI(J18c-Xi!I}RkT-o>tRw<)eKJpFx0U7R)gT)?NNML=1y0fNZEgy3Nk4>pRfx!wVQGFDr4M}+ zRp$?|%hr-UG`hYI>qBdyfJYz}ld0TQwZ&n*`tRYi!Uo`Cd;YDasQXBbUig;eggl)@ z|B@WGe3ilATQHqo7ffe`tFXKG=Oe@18yBMIbrOS{CXsFgQRUJ%NxsABnx39V=~E~? zV*2OB^o{?`cJwK9`h%i>aatCwVBa6PZNg^yh96yn3y<``6MV&hgfh2tPchhJI4^>}h8O`(lV3%?S^ zFQ>3^)O{$bcT4{G-@Y~)KJ5ajn-Qlz$0tcXom#>+0EQ?FW}$~wQQX?{1lFX6shdzEk}gnTPbuKz~I9mIJk~>ckfF zZ;nVbCf|If&3)S6-p`F{{@eSx0jt~I&qeqtCBvjF$$?Y;O~5ai)F3bNFPjm>B+_QR z-$qQyiDY#QXBm0c=YQc*;IHT5G`}E+mLFvUi?ej4&L0l&B-^lBbupP(%o}(T^~QZ# z63@+Xs?fe~@>+@-n=i@t6o%_fL(fFyKbn7@>?ml8sU=EBM3*a|tW(%9I}V_fSx_ew^cafq0WPs0 zS7z=b5%x7s+5NFo&fFxsw}^5U+FF4||9sDq=oFEF_*0=mnAd#In}m>S_5ltsG{F8i<(U$eC^^xB=Q z@>K%FftMm)9ZCm>^~-R)iMspkEZtDkL}g(0=@>(6MT}@oynmpy#l()k&c_GO-rI3B z9EI{<(h#6uD}{$EH9fyJ`ox}ZvEJS659o63b{5YEaLG%NnY0bo&U@H@=il_-^k41& zHM;&!i1dHcTDAZBiMXWIP;BZ@bn&nrBI9`UrZYPJOB>Ii zcE)2?$CK93-gwkC&+pOhd5tgUkK14KyimGYs7PJcoD=Av!~#z>9@XlAU}fZnN75O; zif0p7sVmXjs}%@t4uc>)ygq-#kG^A%0;2+Z)T({T-dcYp_)Uvm|3r@gR)AQCQ>`FoX$7%P?7CO!=r#dPBN|&|GI~<9 zaj1iz@-M#KS|X#q6h>{GG{s5#Suqj6=T{TLm<$fN!n3>fGdBDs8q%FFMut?E7PbEL z_$w+)@`E3(Mje!Jew6-67V3k2lO_6Rr>Q%oMN$U#`>WL;Vf)1`DgoKbv9HkZCMuJ1 z+?vr;F?7eV^qldcn$tDpiNkkjx+wof+oRmuHUp}NV+-g*;gu2!xCO)JcMsk!I&PfJ zSViMo^1^@8-+3gz4TI2s_223QbyZJB9y;zi^K z=CtAmq<%ANxl`&nef*sX!2WM3F74tn8 z*tvnr4Th==Bg}o%aIkSq}#h$ zz)9am-u(}W{_7vA=1z{>7-3jGOug~`9Om@lHzm!A1`RmqUd(s zUL_PPyWvcTEr;~rTzs0SL-MO{h+4NdL|%jVm8Rd^4*%5_{trV7iaP;WGCD4(6Y#|w z?J#5w%XJgrf)6PaZEDTu_`_BLh=4QWbCAnHJN9WjDrCl?T&aISiT6U}+rms+ZLhHY z|Dqi9%UAdeFJ4gM*^6+@JQeznGqa~SGBZb>iJqBH>b04Mp$VQt43t=S5bW>+=pLsohMd3zEs_C;ZfUr zu~t;=9+AenKB;p1+t7O#dvGP!2j?3XV1tK%A#t^!a;8=ts~5 z_}z=cch2Y;m05V$+j;4NI6x9SN3yvm>B^o{<&i7-A{TY2^a4kv>?qw(f(%2S3AJT2 z^!$?v5094A8rFAJ^vThpo*YjgsTsCH-OBjMv8Ss4i{eWdbg%<|XZz2zO-)e0H(pta!k#p_pclTZXKhf_tzIZ4ZdWBU@@0wkvV8te1Qx{=*iLdEFVR@NpcahU3i1Jt7TSZ@!m0NA% zk{yr!FE&74?d!yFVaI-5!TCwpLo#!*%YnvZpw;1y{{uQc!?)0u9^>hfS`wV0@^>&6 z$ET?6C?RDJ59`Piu-I%+hWNB#T8OUu1fW6ecbt{c$_;uUrcn5jfr}qd zQ~%l*@GI^;Zn1&%M-ot0aUZ{SwirC`hL1L{u>!!G+81XOYhVAhQv2HD)V@TccWN!7 z`0x2jXHTs=3Jr>A@^g6xZ}IzZi(erk>|kB7*>adl=Tk6?eg7HRpif@YhCjk1;27YJ zmi>VqprS0si#TfI0WTeu!n>05j)51j7!F9JRO|zp>u#6$7UhJBP_MG!h>>G(795|P z!iMQKOJ>1gp+Gi}{ZCKen2aip`(TfP;|wr7Gk_4~lYCN>6tg#H@8MnilBdqkMtpXbUt27o+Mt}eVqUe4e8(DK4w)E%K_}MU*z|RI&kmx9%^?r`)9OpxJ zplLQtAu+(@o0Rl_yU=(6FrTy@b7o6q%&6c(ZuHrxr|4)nU5T8%Xo6!4nud4>wo6BZLW$p}q-X*L$CfyQPP()k$NB}UgzcfW0_O*>X%DclCW-eeyO)tae9So!~ zNM20Yzy7HzqRwasE~5V<92MIuN5Q7>15IB1lT1stpu{08ugEkWrr39pakL=wIXx5= z&lkRWOU4QFc2r`6H`7V^{Cyi z#<}FZs?|@J7^AbKHgYB3(B}@(t(z)e0$kkdSCz#Kq>5%Tl9PY$2~qVrG)@7fIXw2Z3PqMQrGEYXi*`Sp6Miss?lmh6hH_RZH-)0*g@dBxZSj2oG@8DREVtFSX+9VerEhbO z%=K+>XPXlItteXGhGPi|spQiDoNrl!kK(yXa!`x2vi!+*FBU!5L|-bBlk>1^_3(Y7 zBp>9wMX~;#uXgv0DEs`&#MT-JKdargP`6W{+f&NhneVEOG&NNtOzJP0-;}qKuWrLy z*#5`WBU*r!(AD)-HVU7>NbDkjncG( zsST;y(fhADAAv*tf2k;)Z=M&2e;-Q3zcX$4*EOV~Y{J{~67cUsz47nN0TpEry>Qo{ zk^aPgi2j9ML!fM8D6nHL0m2F^|_fsA2|m|+Z*XVZhj9QY!e>Tp;CUuQFVN(t=G zJ}B91gu>fVl2Yn6o{)@39riDULX6j@opRtTi}&(0A84v1Y}_6=+kZO%X5#3yKvU8W z2%?+>c-jN$5_i;Sf===xLn;pa^68$ynf|)~a4(nwCnjzWoSeENaB?E%ck2W>JFtda z0PO8Ah>7|FFc1?~l0G1Cc4`@^gsS5+lxy;C=uYsikZO;bh4YSQ_OWA7DGBR!SSuX! z&BluIdHozI=86n^KZn_jNv^m+TF(+HVynnV?dM7~Q=vhWd%G!+(zBX!lPWTj``vEg zxoMO;At8{|b2sGTOap)^u_C}!~2(%C8x&I#E8&gYW z6bG7TcYy!1Y$blt82I*{YC!n!IBNnm&4&cNu(x~zaX@sA3JrRR}AbZU{NS%>`!SbF|e@#~_C>WqPN z$xj#n6DrDkU_ann19s*ecxvMP2z)#tMBNw--99vQQ%gnJz)d)kBUw<@;lN+nU$ts7 z9)6nqVh3unRP1>QI)5gR4_$-CP@BJ^G`;7}ieKF@iGSCkzO^1lsIlFZbs+%cAMLc- zk+*81#!7lNV`J&i81w?xN**@owS1*EsJ0b+huWe>aftbq2We1h%ifj02foQZ9{8s6 zR4DMx)MLD%PQ0PcQN#N$4hcH-4vJuPL(A`RkcQS+$<8;lF1*DA-OxrZ{cnuxJi|c@ zs5AydXuP_zC5uq(T=IRdLTf?4*cEH6*$_AX4zo4~YCA=8{ezpSxpf(Z+)FFCW z=_UM4*63yV?fqr~y~G_cF0i{NQ|V>7tKUNrdWpNH2}nS_N-xVD{pLl{O9#w%&qj@2 z0twd9%X#xA+bl?m1N&j8wpQFdZ{9*%5)jBhWAbDh3-p?L5Q*WaSUoYEZ|-XPfQTW` zK^+O~cD$~_(QD#iAWD^o4XRxor-!Fvkh)Cl|Ggytl3D}wuxa)M{$a+zvU^H_{s1Q! zTpIXue|6x`V-mFbL;tdh(ueN)Hqbb!rlK@=!Z$FR<&ZM-OGw!sSP7Wn$W7b>{8Y~} zSZlit@TdMA__Hqy(7yyoo;YEDU=vcg+c*7CQRdiG31zd(u`Cdc{HbMu+{&7)3P)1n z9vG-&DYRJP9~Q%#`5#o;qlVYXDr-VmaWStrwoS!QC)UpE#M=M1Vj3;h_bRV14(j_F z0MoMu$655 z??qM3D~+n~AVCEh`T__95Q)mtcd+M%Kpu3TR{^!wK!rf~l2?9PamcZ$I#8cYMMHu5 zsnt-6tDb1X0J8oWQO{{Z9H$K(+t3EIAO+f>S`)OsFNdRRgXVBj{t{2EW~Bovd<*M_ z$B9bc88S&YcZkV9z#%I}t`zNig~#zmjw@!8skwZb9q2>Ge?|8oTRwPrj^IZp!Qx7X z;(W|RMICa$QCip6VGL*=IrcQOx76>X@OQ&d?^_ucC$4lW&PuCGc_huD3?G|`oc=bf zN9ieSTxd(cceExBu<CC zwWi|G?QhQ*0HA&0!9mEoBM)C2S1ih9z_AY*EjP|^2pMss1HVtaHEo7HAPld9$Eiuk z!q)-|k2K`$)JkN*tC4pvhc}H4k9!u14!0tsE!uZ@--D@;jJ0m#zD)ZLq441lw{zB9 zH`57}n`iYFeD9K%x;P&?^(}ar1ac!x!4)lv{RX7%XTW$Z8c`u<@|4alccB1SfhAktwd- zv4%3i+abLn(AP7ep{%1f-giXs+{m?MI9P(m{?z0~u4xS-)FsYY@AAief_ETY_(`F$*1n^+uL2GZ}u|A{xvpM8%QftD(5cvRJV{(myH!tQ3VE9F6LXjnf z60RrJ9E`*=I0IJ3TbQxZx6qduBNU3Q%R7}hV+`<9~qt%L#jOvOYoYv9;9;dMg4GWcOxUc%0n*CNAujs^gBClK7*Y1Ggr3WV?~x7sFtaFs zl12$dJi+Re3yU$KR4!Z&zeWD1aisEIhp_REl)%|;g|EW9&gR-(ow_|!8D?@TBQ5ZK z(jD^m0H)CnVcmiIfd2i&-UeD6IBQ;u-vxewlPjQTpy`@g`K2|G;*u+cM~yLb+woL3 zfZ0DPM3e@@{V#4RE%+s7^GN1%5fcpX+s>Gv~qB+0wwy zN^wmQzE%Uj+hI>EFt=q+_)~KXvse)_re(%(-U*(ECx9AcSIe+KhuyL8xWfs5Fw1M% zVMLxAnCEj7_rU*>Kwa6lF@ff?KuqAL{Wb8vq~g~HhF4qhZ%JyPIj>|N{MoZFP&cb2 zaHM4)#<3~P#`D9ki|qT1fu@%Ifu=e8O@Uup_TfVuKFDwapSSoY-@!&;WHm_n6ANkG zPOAxgKmIVVbQ7J=nE-4|@gvy$qm2&VPaz<%{t75odME};>Pq=X$7uPh+s}{H@(bF} zkK_4^a@)y^SM#KH@;az_DQ)sF!&lPLUb;B3^k9s*lCmBPXNms8O@Pu%w<6l16I;o@ z^#kF3fMn%iFCv=)~d52k90l{fihwYQqc}FXrR#-+@;`qs*#X!%ZYnA7c>} z2NSC@i@D$~^HueCjr#k6`n!pKW&a0+>&xTmx2kXx{9um5clcatgQ(17P$mz1VuWHV z(4&OISCPnWcmz9y4#>BbkbZwY6fC4ixiFhjGLq<mPo0yxnY=m7idVN6-U8zOLvvGW<-;N*3|u<2|&Y^8Lm090zr>qc^k8=%^G z(=Y}}Ssjme8sq}@{Vv>FNSZ+?s57A^$mbqg27a~eK9ZHP$Mc%hX*URkPXHUU+03iI zORav!-&CKftA1)!^*L(wNl^V}f!AnNYfOY1ofO20$#a`16p&)Ty4}iqacJ;D*PK6e z#<~|_)n9j{s=XO_4cS4hdDm>HS?%lI*NmDD-o}TUILp(zzNaJgjnUV)VJ5F{v97-7 zBlX>TzWTCt{p+BsZ-!dm)w=q!BlTT)zWTaG>U%@qzn*G+KR-wwj91c36`a7^rS81; zF0XO8Zh7eZGxc$&$V?sXsGq3~x$5|#{>_QJ#+|Q5#{bZH`g?DuaDS)i`#VFe?`o{? zAH2SQM(VrpeD(E?)Hf$;{AztaKLGW0=JjR0%168-@BAY!Hbq8!X$Sp?EAHhrJ_$8) zitd*GO5Kk#06V$2$_&8D#dR4(g`DvH3vQtBJ&LyDZ0u*iVy^rN__tOaUnRQ{y2J~f z#)7D}{IRa&dy$e|TbDGkC+6tq7&S_KTaj5X3I*s7O(D(!$w6t1mK7rucsg)DbD?q< z@cDyjYZnS0#7l~^=B>2#Zy(-X9z((M)rVuM8D#W`v{LV~ZYlV$*#?r>Ppctq3 zPYzpwu>yC(twiagb`4hEde_)n9=&TQ@mngii$B^x*yI`Ha~-{6uoR-g@gL$x{;dY` z#1JXDel|gdZ)1E5!`)2rkB-{S)a~%4T)sJ$gv+UW(v$H#sW6Wh_#nJ3hWEpzWibZb z=B(TCnSVwr4M3sra$bOzh z0Tgb)S-s<-$cmcyj=G`(?6Yu@#{Iy&7yuP+# zM#SD!KVIsbKQ7&247jJ&A(4EW4>oo!!hs#TpL*&g)W0h)GMbrhhe^l|wTuzFGE`S4 zGg9VFwM-0_xhU^^LoV!!8VUAUy8C7vbpHJ~zD$FDfRjs6C(?}GZ{_1O$Y3nI6k~a@ zo$>>yd~u_$ysuF$Z)vCexe}^hUp|(X|BbQx`1YYMzmv*8b{fn7#>>w;t(M=^PWe?- z{&a(`{O=8F`J#5p&!X~WO}g@*XyeVkuWkQ_Q2BIy|F6UTpC8|a4RJ=56(sHs<6CA1 ziZUyUGOO5;`_Nt98LEx3nQhzKxeeP}s&8+O2Cq#s+ZjKVH#F+TbMmx0o}zZ@pGD>K z^z~0`J03#4O#iG*14rkwH>1$G?@UC)jfBpnEphDW2O`+|{F`BHZOjc9JB`J1b;a@` z#rCu+=6K+|czr#(9J~u!r}3@HZ9BdvKgaPc)8n%T=U16)_3esdS+FL8kN?$rN1%!F z4@!3$kBQS7#Mn<((kUs#u1ETS&`K@IOsxyP^(QLv)dgQTf&Ox!dG-zd`3nE+z&`=} z^8xTA>@$2qevEyHf8N7CZ{eTU@y|=STsa0+8Ty$bu4o3BqI}QXtiEEgvPf3&!bmz6 zTV`t4{~L;x(lj4gNfbpSale)e3 zZPDM=UmTGjeg8B`kcL4L`}S@UFkP`cBA(jJvoFK!4R^QF2NE`HkI0wg`d0pU3L892 zB1QuwM<)^A=c@03z9@|1riQnfFyNONh3Qva=#sw^ldD~&p&0ahQQ8XNf>d=ReB`G z1`o#Pz3T=9=X z#d5LqSd3`@PV|qrI)rCST=u=fvtGeq59l??S7I6Ovr- zPOhI(T=CjMa{{t3*1)-L;z7~ATl1^ZI8qY<`Qt9cFVKV8Ry+cnF+*BjT;NPMX#P*3 zU=2@9kAqYbs>Q@n@;}vNfM8w%CYvDHvlx>SAjynL37B+0CYd2A5tGcAl#NM=kYvH6 zL`=%WBzm>reXCxL>iOy9$i?N4d)aL~<(3EWkbZ7d3vV@j@M&$iD4!YWmr~-SWQ2q2 zpTUftWlC^V>F3Z@OI_{106iam3gw@7M(LA@B(0%itvq71NG1T>N~&EwE%>#lzgG1( zN&QVxf78_8boEzMf3wwJ9z;SOkqggxn5Noel}F^=Xt+a{2H$EP6Oi&SbF7>(R>UCcW2P%v z!2D;xQ?8OV%PHTVBafM-WaY_Y@{}x(JjSDB<;!F8QOUn!WB+*R!obhmrFjy(AIirVB%Q&g# zwxdsoXoB8z;FS0HgE419=n^;njc1GoC2kXbqK|Ldy8IJb`DuSsK1$y*wT^s?vAdx| zXg_mE;;Qt+fK}Lr2+u6zk#WgPa{#@|aRE(C3!Ir96KL#)UQQe8;45O!n!z{Lw2q;!IRS#C&G66`8Z&apu#wy2X)rMn#F@t z_t$pf@k1fOHEk@ERy^;SQj+B}}cu zKFgM~MA=4j_|Vj*P!&bcabeuXFrt>X^`DZZdMkn*e1-8$D1B**@uCvn!I)4rJ=XYk z7^_B1#}8nQ%j0KhP@NI=eM^id-PaQ9{f9Cl7foe*M}Ti2JGYHcw=!Zn_F`So&Tb-Sz`(t@*ff9X8GjcxjBnwsr(9C3~;rVd+vaD61bxOMFh26 zvI*av_Hyq9JR+|)VAZAq)d5OC#1pW*b#XXR4>bHTqB-~0u(BJM~@@_%ewYEZ2yB-vxjMaN@nvq%Ke z@?i{G&}>_;2}}5A7*eQ!LLIu4MP`@cwus6ICdylQO;rW9oN$Pu0$ZN$IbZj@RQFt@ zJ2Y9X_5*vCI0abHF1*KB7k!xwM@R1 zQ&`JHG^9l1V+FOJn{ z4JAF%*9g=xk6i5bxDhZ<8Sp4P^?@g+V#CK6OdNtw>`5e@kHQcWwPW2N1#$H>MZapA z$no_wn|){G;5T=r(V*&e?}Gx$b-2WC)fE^QDX%!$Ji19T+@MM|ugh}RECu|(%P z_16zBRUAzo%co$hL=sM-(T*mJmT%{)==Sj#^EnQv>Oze3uo&meg2#b6v{R96W?@}5 zkm&K`ia9g&aB7_oMjRvg^W%g9k5P>af@;jvK_w6EFoAZTavF~U2_6|c=q#(lk;DQ8 zH-`eky4}v$>9$1s?@P8ryACAB-!6O(=Kbk)ni+mHip*Wt21TZ?YlR|8yz7I=Dne{w z3!8{@gfYHk`g6AO1( z|84xm@AE+==~uXZ{W0qu*fggoI)NjFpk7vigr}{2I(ZElsU)6N947M33jhxQ+?~dQ z;>sC9T76v1W?b{=Y-BNea6%OL9lnYffc|H}MXKf6)NJAeqa+E#-bYCSsV8WXgh~_` za6v)>theA66i1W+`misvqs-7kXCt;Rm1iSCNfXXRIg#(Jz6Q6$L-5B)X7JS6R{l2s zZ~P(dyZwK`AL2hIpWh$ijalvaL)^Xuw#43J0cwwri_*tX?LU-T*!y_IRHm6l<$jaP z{)cBoadceo#Z<9AuJwQ}^xdNTDUMS8DOwF^@-j55J%5T>nuX!AKe(Z(Zr1WsOU`$|Vo$pa2J$Sjxtl?i ztFXbh0yT{#-y%Z6^F#1xETPe(;M@})c6k@e@II`Zygyd(eG5#5n5#!^Qn|6NB;-_fQcQ=6dW z1CSmZ+Y}M;Esi|nx_?5Kbs{=zcJ!+UUW;4XMwU64>)Q&%*h;v>Z zADlQekIfRr*KIQLAmL8i*zkCBhB92z%v5}Rn1{A|$RRARV#h~v&#!(yqZCI%^?<6TAXI~~{QURNk=)x&wz`iB zkKafk8_=Z>`mLq?bU7g*Vyr1V)#%#C{~jT(69$>ieIiJ}ePLv736fA1nx&4^@ag#& z6`y>KCc!7e*1RT8C`{`>vh>1WyiR`s8=+XUfHxly?#5-Sc!g7kXtasXWWG_I*;hF} z6|J((Qqc)8tC%|Xu`QQ6x5~EEsLnHb&{omw%lIht!njl%y)KLiqgQbRy^y~n^unpb zxpFBFn4rk3knS4%0N}?fTr&ffb!HghDYl6ONJFbYu801iHymJU@}ir+FIH!K<$?X1zSQYhyhGx}IFe!4Jr4_UUq-`N&SK zVc!vhsx87Qe*BO*Jy%)Czea|SCCjN?@TGHje??W`K?Vm4RXwRzwX{`L#gVGs9?3(g zWg}g~a=}}h_5O=fy}*|ixU@KfW1*jTd_B%mfSd*2(EM8P9a6^wnPZ6u!rc_NU1Acyh2fnh_%Kz+>8)G_j7X10e_qHX zOBXi!T1>*D`LHy6M;md+2ej^L@RgZd@({s(;^AY#$!FB{alY+O-O9Dy9T<#YjIKT0 zR2)SYu89!}xA6t&P>Z3(-7L_~y8b*z2=r`n}4 z99c*%kPZWi8hTo42|Gj+)7vI0vw%0T*Lo(wu_o)~7z%7_)wLh%P=?qxT>>xMQ z2RBPCuT%w2LomYab{qo=)Ar;WF-z&J9Vp0Oxuc)xXgRqcR5t8^jNo#i}?P zpXLmUsQHu%A9*FY&TT*Ck+gG)UcPWiW^4IELS~eFK`8ju5EdG+<4%+@9P@5gy|5i; zKRJ;$A;1ABE_vhE|ES}37PTu?xM=CeghGrGMUep5E@#tu{J9L$ z`*VrhAIM)vdIu9Ll8jYS?u7}vu{FlR>cY?~>Hx&e>SqSD0Vy~@Cx%ll`IMA=isac3 zlV0K=I>`da>V?PhfQ=G2Ee%JdK~zA;M(ptnHKv0Yi&H}!D9WrdF)Es*EHI&nz}Uj0 z9d@GH7j!^O!SlZ_1T5K#cx1^!z>;033eK#;1_Lpm7@cSl@}Fr2v|vycq=flS@{|et zu9A@yX(35%;qvGfPR401d>Y4FNTL>q`Lse4DbxfqpU6)t8Nkji$R)lrLjpcDV>B|H z8Jx?+`#iiCZqw-a_^3u(!i^4!Y82RuMaXU5f?t-W>qaQ(jG*wZMGs~;6`R!Q zHH)QnIB_f-0i&xS{y8Q9 z?A>YbYpp0*Uq(wzdeq`BlfEiP51!BIIP391o+*S>9t%Re`#$Spw`kpt5W42m0| z?#_W)Mw4zxfE+SW0zlcF2fx`aWr+ozbFq@VBLC9xX|*~XZ-}7J=PX=&>%Eg)cDL-~HU@kA@wjU7+uE%-+lU*=!@(lZf$~Vpj zINl^G`Sl{&vu`0D1Kt5VkfY=S6w~YB*`(y7A0PsvJRbl!A4>qP=36SU<1hvMY)EMU zL&#V1t$=Ci0K)kxN`9K;AD$=A2L#L?BFdsAy=cCqnCYdDWPcBQC4t_yL8L{A_VqnfiJVYR(gvmEtQ@-YCX%5FHf?dtelz0?qA_G{+RPqtlrRujEt(<3;P_4#t3}iqaGgEItlIu}j(TMU?_}@W{C2gzW=IBjK zC`_h^+7)8dl?0xH8ic~`F?@fajVAc~S)G3|b*fv<@?f0hPH3FaL#3Or59cNUBXD0D z8Sm=(15_Kh+Z;?M`%r`sq~!tD&CliVspRn4j0gusAI{@&(%{J9=d%AL6du49F;q;1 zgjbZ#pM7Tzd^RO7cw;kqDw#ifJa!~2Em(byzYFl{HV5ayYcXx3SYhzBGuR*UTe}NJ z9ISyv{$AMEsM5%w^KAHh1L>s91q3sQv72Xv&p9dTIi(~c>YS2-=MO5p~YO3i873Pm5FlC#@gD z?ZYxP1*dT)`L`Ls7~eFwDa8Igl(RvwG3^$G;k(6|DpF(koO_$p;ON0i$h2aJEjX4t z#hsdm@el39Wxt4()!jtTPvP?~H-$Oi+V0vzZ}p0)Hi`HNJJjkiVFb4^LsW(WC<;$; z3?bGWA7|W%{2PTo5s1xaHppbNZy|SH?C}}E2>cnj*J2InJY$z5`g$rHU-(mXwRH^d z{JuYu_&(pUH8V&1JTfYAqPKDm(f;r#=!S?*XQ-xj*grByTrns zMkPg9#c?+F&S0DvC6&$%3g!v!-Ak6>mFlkJJ(Tet6 zfK$6%@-FmN7Cfe>7hHd;DkYfl$$8^FQ2w0%kpISi$iME>zt4}|__z7OhMM53pXl^u zYl6RM{<$1uMgIsBIYsm@NkJW%suBADT|lD0)brax&e)??$cTDTWdhjnO*CIo>MR!= zY6|-c);xmqdz3Vq-9Johww>-$xJnw{s4V6l=XAPIT5bD&(VaKZ`*cdgQz0C{TJy4+ zj-;eqjbo9N8GxE2fIS!i)QDjmGOJ`f*ydO|*=9zOV4YC#sey|GO(+ta`w)r)y^|ay zbS18GA7)xqd1Q~WS)_h}#LCR<8x5*MPvSmCrnNbd-5+%#)8tRy2~chATM@cwLbV7p z5XLKS=KQl+A2H0zQJIark&9#KAZ8}-nt-uC-US$Y%?*IDFQyUMsokx+-un1pUnBjIlq)fkQyvBp<0~(7CHGyZA;<>$>A_;eOA>qWn|s&WQZ|IBUFta=b?|DBW)q&DAkE zc2wz=?3`|MY_BcHPTfyE9f3W?%l5sUB0ZIq2dJlgSl$i1 zr@1#E4XX3Npz3OOM&uZyc{<7*#-buI92cuH%;A%$8i(%31lH>#%^Q55oNrKP3eQ`A> zH{yz43OnMWf6#8agfz14)r;2_mgK+fmQO*=X7s-Qrev@4=596)3#?%W zu02ouC5QZt7AOh^f!&W2^CoMTgosWagD}!v%e@_zjdKC8hhE@{ROwvB$s<_y% z#_=U^UhiMQ-Z>3@sR`R(%7<7!rj+n?781)Po%3l7BWt*bO*CLt5FH*y4q%E}Tt-N*7Jo6u&pK1Gu?7;mZO5UC-ehDx#1-{4oJxK0!KGX#_Duh&z4MOm{l;*6&o)Q3xBB(-k8kDG(d~&!{G!5$ zf9#o8xAl)br7+q*cIMT3|JYRnqy1xtqZgBV>{D*wUCk(aX1kJ_LapKtqjeQVG*RYI zgkNJNlVJ%(!uGnZg5oZFU~V#xh>QEdl~>|^Fa{W)>+sbAuX<(!*xmj+F&;*8nDC?3 zo6FwfG2`jEdH~;_im#=Z>$N9a#|H&|;ZF4u3ui)QPk$ldKs0-5Wee2G<_zHMX)j_= zXXyFUY@X#kqM0^0Bldn#{16w>pCsBKW1J^+Y_<)Jw_1}4=EORc`=K-Wz=2K!l8|pj z_{oga7-*;N9K+8nR<6c?s#;u)VT6(Ei#UohQ{3`BNuVHA?v+!x+_T^cKQ<{hC2jzDSX@PE#kTgQD7fQSCnT)g{k1<6QubqE)|v zf--Wzr}Z1UT9~DV7SzXQD5bM0r&|$?f(XKpo&dUPsP#tl2Bw4}dIKcT^e?i)u`Mr! zBi>o%;)Z1u0 zZ|*?l>wsG5B^$+#V)x*e9}I{H$hN8rv9^=;Kud8Trz0%>8vcDB_5IYegj+vOFt78P!=ZD9#8|8k{US)Alj9<;jc&60c;_RgPhwRR^f zT_P$E+h|kkixIt|xc|+Oy>j>Bw_tO711h(qHee{VH{l$WUeMt6s3+4OxYnwOyKp}n zk2VWO3X8iP-rvS~|2`2lZ&(M8si`%HU}5?Z&V-y2QQo1-xh4Nx^`>=jp2cHF`T4RW zoE6;j^OGcHCV-=#+kRY&^3Mnn~1`0%|0DvCK^@$Mia7F zM6}?&pH!^wgVr8_R&NFPo^s2l-NNu@3BB{3B!M*Q!xM*6g-5Wkur72d=TlT!oly7` zm1B7AIFx|ZO&m(Fnh$__1gi2}ETQ)B8BJifHC%(Yw>$Zm3)eJ!W`PI%PIz)G>DASv zQmcz=yQJ3WVXE;V`c@Y|QTvewfq75ECx|5WDHab#_@icfUWv;sKMC;)@#&09WswrO zwh5W#F2VUT_7WOyeZPT+Vb5K_ zIsyTG7@&SXoN7-1(6t_PLvGLo3^RMJA3t}xlTW!+E-l%ma%ml%$fnJ^s8u60{hV$g zj8H)z5L)X%aQ3+fU9wNHdP+5TR9^P?@W`{G6xJN>P_x#dm908dB>EOu3@#z_XMzPh z0L*^~jts}2(bEGLcam_HwijZSFv@cqCh4NfNy}97dx2WQk=zeEC7~SPYmP}$cTAG< z%~$sxGv9mO3hzCIeDBFL(B@OG?msB&gL8Y)vz*SGD465{IxoXs3`<2sFGv*J(Lc(x zO(jP{!CQu~^3;$%(76!aM>D*-Kz6OSy7e>}+6cYzJ_q&K===JhH+r8ir`F)1yi@BGC;S*q75hc=q<@YbrIwSC#N|Cv1v}irP(^?z>?C#LbZ}TG6yC0Ssk@2RX}U%^b7^>A>U#+v!f%kouDwEU3dG8<gI_CqAys$A=RiPTa> zw=%cYq(jAXt+-|0!Yl44$w4Xk&rQ7I(nZ6FdsiziUED#ghLt@K)tp94gpmHsBs|Zg zz+vy6iFnv+p&KN$s60nuajO(W-{TH>L^`|gQm!Pf#OLMHA;kp1@?0nZ;^mMtnqW&P z#KEx&?_&qfd@dI4-5$mt|MjErN1kO%;o9XuA<~gKF3d3UMVlk~gxvEu5i??vFeNJ>5_*?(QsLl4IC#arclFhd(9xf$w$847tn7X4j4 z&>rvw_AfmWoJo>g_Md@X!bI(*nne;p9%s+-nlB+YA>WJWmIsLMh48?4$s15*x*9jh z0chQknT}QiYD~UCDmm&BV~E7$)5V`kHv`Mf?@fT!idU8RIbioLCkTGMT!o+<|IKm& z?YBImM$M4?IgQAn&jXBj9kV!g%x`3?Vl?5jcAkpJr$xDIAyrqV^Oq1Mrygs|N5Lh` zeb;GJvd47Ze&%wVrs;$Wo@|n@@IxNOV{3KDyNW%h5|*bf;fK5{)H{fDfV~zREppz= z<)yqoVB0x__jDd352n=4X?EDqww=q^)oMFeT%t-&S2U}VQ+@p=wf>{QN17w|=0k6P zHrBuf5Ys6XYI&$CB4yoH746^TzjL0xst*UjWqrRd8H*_l#w*by)BW{TF4S>vqJA2J)dk z+!U;9=K4&~KV$py6l>qM@)WI$EW@IgsBF{v$0w)5MgLiPHX~XN^=tSna8Y~GGj$OK zH=I-L4XTU;=OO2GaF)+S;H;DDWM87f85gum&QgUs2<1f=hUGc{WtZ;!)f&!UpXG2C z<=g*DaDL;g3g;Kk>h;g`{VM5mUU}1zo_cvxLrb_{G|r=lPv5c>3+)?sIe@4CxCcFF z;qw~)?84_&{COxo7x#!rrmoQ*(zORkd&t%vrXycp+bhieTf1|ylo^>RAMiNr>WjHp zsY7=zmf8i~W*4c6e|F=9|5HqiQxktw6IWy6@r!t3RX6_m)0p_fMd6LE_Db#HYRxQS zX85>Lt_jrwwJBK1uwK08i+l4*uT|eWtM8ZcfdsF`kYVuNUCsZ!S8IKYzu!-}5_@<* z-QR;(^L3B&?x&l2{Ac-eSpJsQ=EllD!o=0Lxjv2Pk9!9GSJItMTg!T`hQO6qP`$uj zFBBL^<*WtvP4xA_@f&0Ox|JDLCDvgF+*{~|7c*hkUC5$dS9_sq_W?D1stNjl%2c3# zCaZn#!XubvN!^a9&kD8+g#)3KeXsD8&p_cy1*2rQ*@QyWYvWX*K9LIwlm#YKL%-jQ zn~vNF)Fw?bGErWXgkl0<_~VH*%tF%8EX-X9e~sQ54q-#bA~fWB05!v}F`y_;*su@- z${$05bVpazIvx(wlWTOz4<;G}r%w+d&{TObTX4+&?drg2{$%&ac2 z+zU90ra&jzf}W9DBL1q{<>%_pMG!v1&;8z=*LJA;`S`i&?*ECO``?f^$6WCLvAp@i zuK&C8=5F2ppUIn5{|K}!!*V`ksI=l^?U3Z3B~-7K(DQ|a%FL*Ih&o&B zco#0s9*Z_Pn2ML^C`?Nc3egFwBp(!$t5wnXMO>67JXvMnK3=!c_PgD46E(6|LRSfq zM#f?zlcA9()J7&_BV+ZAcmbiRrR0NZ1BqG#DBr*a>dAT;V2Aqp-?3!^Uug3L+#MTH zd@1V0m%Yh2Kg!!HoU=)O*`16*b_d^#&>KM>jt2_GZ6Q#I_Ai8j59sWFfUUuX6fwyq zmjYM;CjqliwCYJFP;qhlUK}jhm0Q_co%s+^R}M$#?Ik7uqDno4r#IrjtRRDLKuwFWs(_CaD4znLButhTUkyK;Ugow(s$5xZTNZ&8xL zGr|pQ5~2r}{v49*ziQH-ZYZNc2@w0U6W6Mcl7AJKoz=7|&Qd>`f@~J7WqXy~zEO&^ zK*V**2e}aYWxf2z1$gsNOT>N{TXI363iTWS^dfb8@HX`A->oaLzQb;S4Rl3km30li z+Z>j6Tdvk(>q`>jiqf2ub6ykq4PrDytPac4<#GhPL?z6BDeRf;o9zINYjp4q@CDCuFb zwDF4M-RPW?HiebZ9+~i3>lFZSJ06$-IZ=Zi%|EFvVdFY!TX?59WTO{+WQsxx>of)a{!MwDBEfec}+|7srLZ^!}y{ zW}m~bs$z-vPzA$be+OZ*nbO#ZZJJ~gc)Za__c zQ`l3qQFw3UGA2OXfxdh*FyuRkXs)8#bz9oAv~yHoCpZ*-HgMNg(`}>KiI^tt+Uhsd zXw72}Q#1=yYdzv1wN_TLgnPV7S2@7?PNdelEQhPL=IPX0RS$k-ihPl&skL{jzo``mM<=82JDgS=hX>zA>kN;A3m5#f^d5kMmdJ6!N;d|C%3*iE`#+}f%a zyUu96ID8B5MenFy+{$}#VCwmMv7kenUR;55G7Wptdws;NV)*(fk7Bp#vc8SZ`e}VM z{ZOfSjxr8r;t@-msbVdSA!6)XO~@1B3BlR8wj~0G;f829R5odFcvOW$;vzj9h7+j! zd^hF%aF`R{1`anM940|}Z~#8_>kz@x+oQ2`!ulwCku2_^I1iU~w9;d4Y6-g5BWGm} zm{{LJco7PV;d?+&#Mdhj3b{HcyvCuB$Fb6(>IbvSnh_knP#4cGU+6*4c6KdPhfeCO z+&>*xLSIV(I?zAe(wn(|y0Z&HRLo2cUXQb@Iw1RV`IgBXH0dtCQ`NylK#bha1{k1D9XEpOF)E8LfHQ~XWqRgSo{0_&;R*9&#!rMcIKV?oH;XdX6DQp(N4PV z#8);c>CjINQ5OzpdOF7QwkEYSI-Js5bY6}p-6ivw1<~}Nl6d(9z5RXTN`knkBOM`j#5-jK^N;Ljb@zL%|1oo0qb$KPt3=4 z7la!;{nvu;3#wiBjk)f9Lb|zNKuvt4q#O9`TXhaqbV9q*nb4{{l+vGR4>1NBOSvKd%W(Astq}_Vq6P>LARz5MXn9594<4-jH#2U1pm!CjI zxlsi|IQBY4fshu44hFQT$cDccrmMvn+29mepog!t8_;cP7QUcuphNqZ+O(lbPTSIK zS> z11-I!c*8#JZm{sE*MI86V9US@`qLi++bq=UKl@h!*GE?aVurhV{Oexb`$VisCtbO8 zQSzq!5BZ;znVUem<2%5R%var>)divQLbfw>4yhMHrStL5shFzfM}?sR740M_`twk9 zgV1Ua+D&2|jUPh4(bfQy=`(7ha6tG_FI>Q<85Yy_=yB;!aX1p#F{DmR&*mLviQAu7 zutoQ~_u$s8HQSKnv0q;HoS%f##3k>?NCkhyMKKVmI75|T5V`@Qdgv6x@fsmSQ%H7T zPM_8b*LZWsQ<&cOahRSV+vsW2Yu(G=gF$K}>D|WtG~paC#z=H!1odxvTBQ5$h2Yxx z*~>daF8*;LDjB5Fz;%T3^Eh5?xfU{>ymR+;#}n^R=6#4nTJ#_+!osOp!C7d1#`Tvp zh#l}Ax~n;8JfxON3>`phz0Y#1U|Lt$dJDL^CzPb!Au?$<5KYYqz&dUo zVXarH>El_Xtygbm9|bA!@y0#uqa*`9-cEuKZtJA%+8Q0$SO?cqvTS)#wd-rJM{;)c z-*9?Q?ymU;z6%6q;P)x^eaidoV&5+BcNhCc13%qh3iOL#SLy4j{B?=G@YmLx&8@0I zkur2oQBx9V;0Z|`xNpm$A*d!5+}djN>M&YU@ohC3YNortt!9>NYpv;o6qTVT7aNo` ztt8TXW$S&O7k{!1>6V+;$P0Cd0iEES;#e7lHJRqnN2=4sjKd}ed6|UA55s3Cn4Mrs zU`i&(dJJl`edSIUQ@Ya=_L>A;w-H|)YS$?nbhZCoDQ0eq#07-Q^w7P>;~L5j0l4+}g{qwRg#_y%1ZwUT*DW*xI|~ z)}Dl|T_d;lG;Hm-b*1B` z)62aB`y;otrVvZuv_ydw+Z5;KK>p=1*MY$P6gd8=aVJ!JXla_s+?j5^z`fn7=idIr zWG>e5{DyRMkMNyv(5Q48m7mIT*4Ic1{IvAnZa1tjoSvq1WoNqbiuOzE*CCJdc=Mai z2n{H2j!bz#j@e$T(3f5)aK2?UW~=pESNp9S{MLn6W-v){VS zZ*}^u?S5;A-+EZKw%Uk{z{N}MZMHn`kjvuNnN;$<8#PM+BcvBj>$t6#P{D-OuVBKLIxdr2 zUYGS1`k(G2g#vyl?sxH^JAi@=?MY5?5N+uy|ZGAK&gdB4?1aPbXUb7=y`0e&^-iW&;0~v>P(jiI3oGSLdY< zFM2#r!3q>JdKUOM;h6L&B{?Y@){C%E+>E=Wb|>#JRPk+g6nbQhYp9aVTG?DJn;T?v zqik-H&CRm8O*WluytVTrp^{+F#xY>k9VEQboOA>wo3N*U9%pjAn@!?@s$)DopdG9I zf?L(Bz~hkjeN}yxs(L3>M<+g+jUh-HP;_7j+mheKgjxR~-YhOqac?)$(}i}Y-cc5% zuy_!PKm?(J@!&`Kx1=F5CS8?U{_)$D;>DsJMHt@y@Ygb}y)0;*bID@Ev z6;QiK^@LFzsxhEE8u8C~tM%&E(KnR-Any%FxvzY5adf7%n9%pe@e7 zp1PeCunG+6Rw$tK6F>&*&aJL(f9~raru@CMx7!{3J{W1VfhCfxOGRW_ z-=PQabgF zMxkvY&d>@)9gAnej>#VHagCQx0_UMrno~3eUrsv9_J<63oQdb(daXq>l&ii9Rs$9m zORX1ol9Fd=kKsv|6Qtkiu6Tq!P)NR2C$ymC6LZtHbJGq(%kamNoK;IS4=5~os3n}< z0_el_p*xJT-^)ZowrH^3aPU8+2TYozr_Umu!2O)p9ZwvkG;r1fLuU%t)1yd@LZf}3 zBL!%v5r!@(wk4X7N|c7XU&;bZ@ zp+&|b9`EQpt@xD;3%YBb0T0eZ4yur*U^TF@b6oWsee(Z^dOehM0>iYyOGnrYy6d!q z&fgGR^(kBlmH75olbkMR(0vPBeh9IyIdcD?43I3b?b{)M%hMku--@&96T&fra<@Tn zn}jd)!g)kuyp;Q-Lh;nIgeKPkUw#8yJXR{~Voe+C(%_QHc-HL+S}$RLOlKU<$GXgP zp?QW+p94=i?-lHPIdsDa-(0LlO+UD+Nl*Idxvjf!cuLxbdo{vw>FjA7p4N1+MRb9E zA7{sRe7SntH`F=bcH$(N5~b&iP94yh&gM}rGSk_*`Ji4<=mkWyTPH+L65d)fhZd^A zdNnO<_09(dV+Vn)r12>s#s0sdK{zjVmdH3kC=q7gf^*R2F%Y-o5XzJ zB4RYI@g)C_<)8ubbM`KP9&$ta!s>Eww^I(2#Fr^agMGKop#$9T?O2LmBfdI>bGj$J z8_$478ti5wA{%aV{v`+Y%FUz^(4Hjv0{f>4yGrA>LJnWE9rr4tNh-NBSV}*;Dx`aHJm6 zu#b~73gplsQ>;9Xgo?%KgewNrP3=Vw$zYhMdHyQls{rr#T!F)0&zu;gp%Vi@y2*|VO_?+ zH5|__v9v02fUL*WGReDzsqk!a{UpfRk?NrbG{;8(>o7AL5WNc*yu9!oL^z3~k>F0L zeRndgQa-kIDhqU1+JIxWpP?sIXg$W&ufj?SH-ZHbAxu?qTUTLkLz%lq$V`|TW9wB~ z?f~a=6d=~t8)mryKCvqaQ->3~-DWS8S?xfk+ivkWF7b2X#CZb?ZKxuGr29(_3M#YL z@*=>Hbh2t2R#aiBke&3}jm6mVt7`s0>KUgvRP-G8R7Xr6@7NMiC@+CbV)bXyfWK66 z;vhz5&Ne(9IaFKRuWs`nAaFpYOWQHjFkCZI*wcn}?t$lS(Xzj~ue68zk+9EM6TU>`_#CjxwlYmN(W>m?z;f3jO zRqtU~<-&>LIxHLUtWgwlD1@wqAn`0n*utNR>&hqyFpwu{pf#)(NWd@ATUSSog5fw> zq~ijve*Jl*>@;9p=xhPJQn>mW+#?sJn}oCsppEY+M5f5-RHQ8sAzbc>)%z^ED(EB= zL_#63c&jAj=Wmqj%57bZ!G!jz-mrzYi_{q)kYfTnb#=@S^{Z88;ZFgSRy8E4F@j-MJy)eMDT3YkECF z@_{Il7mo5g1N8j0>NVjC=@LGrvo%u_UhU)zjU=$_Kf#w}13OQ!+y=-ah!OdZ`t_In z4+IOb9rxASC*Lv(_iiS8g5+5S>PO?M_aoo;q))B?^1vr8h3|Ob5DvL) zhh#Ef{bPRA!zf^$aE{kDElS{pFHpzDr_zL@Pz`01QFulja{43VS9^?m;bkl!svjXQ)jHy{Ke-3TjKp z;FVqJLcYSNJPL+7T_7#Bq32CrzR`#mD6U9f9>YVbW}~vT>lOd`)hQ|eYqtk=ttgqMd)sjhTA%$R(y*@D})J2!RKoY-wqer8#?b^f!FlQhO`PD zBQfBRZu$Nb@0c8if+#|7LZkO>TE4A@RB$tEr{601t=+O!?|1>#awlEZ**fv0^h36V zj~n;VxP>20wphKkq5Nxz=Juz6HwdtG+iK!u8#w04=Lt=NoCh+ko+k0_jYNyB}hAYZYs1Nuks(dN59`$HQc!_RPZj{O|Svt+uGy{qSo?k*d$o zVsg<*ldxkm-OPJu8yRm>rxI+N*a9I?=hNyCdAdO_Hi|WB>RrHy&0pK&(bf;grS>Y% z8sI0)mxZisAmH1mtLNk{Bk8eke3LM<*E0*LB*rTcwQ zC#C+yG7~8s?cU`#vb2c4ZN1^|QD>gES6EH11NWa{w)og6bWb-5dszp7F|URV==Jo- z`luS}4)~Iir=4%;jO2v|2(pR!ZT9*pVR=ws^+y%5$h~&`%M_A~QR{KK(l#>5FJ_Uu?K$FY+zFxR?uY) zSZ}cLtVTstRXLnDucucn!!z4rao(`pjq5lXgTn$wQvZ60`G$Cg&R^`MjqeA&VurIA zXa5FIWW>49+I^@G-2Of#jhqA0I^Mw7i?6mv;{MzbuI^Rr4{oKUL@%!Yh#dEEb-y9U zFw0YVv95z0cQ0Rz6wd3#ngitETwaK@{iwL>Fuu*~S^gB#biDY^QT)8TdSj2Ab2p!$@Y82Kzbgo0`PprdVERwOAdgZs8qlAi+kjsG2*|mERa4 zS`u^#8*7~7OaPdxccKCw>CpFh#*}=)pu!|g;dxE5HiJSf*w`b@ox$rR&c0L;$noI0 zqhP}vF^A)jld^;5O;&z`QQ4vcE6ZFe@@59*kJ0dEs2pUb;=}d(V}&)CV^^JzUf51t zlGC-=Bg?b7N)Z!d54Z#5hrELvHng~&hSK#kS*?7TH9c32$%%D1#A)kjF|~4qOaSx6 zdK&2JaiCjLf+X;?SWkmoJq~h9W+M?y7VBu1sl#Dz36F#@R$Nb$$$A{(mW)GUxJRs~ zIintjw)`^gIWy^YD;e6w$|W?X6sfqG5uam@E^=CU`M*cInuLBp@>kVpk!2t z{E}Z5Wro~Kpx3dNu-~A^!s#){8hi~po!)gJt$|_W*Wutj&Yz{Dch|{GEx~Lm97VT^M_XiU)qCLtvR2& z7-=+rFI2yaICi=Ha_X>bM*@$~igd#a&a9T(o9 zmj2K&K;F(I*03k+YuFA#9nqTnc4DJtzw;`q5~N<1uNiJ^Rv z(7|5;^h*(7bT!HHitFkAl2}9gHIPa|1F!9{gbP2x&O6|}5AjJAT~R>|iO}6UAn9tS zC8FvvSSB?2_Cui4qSg=TG+`X|e~hY;a3^P?XU(`p+#j8^DJ9F#?q_L4wURAFe%2(u z8h~GuxSnnj-;*=}~nIt35z;>xl#r_sVvYu$xcVOYX{chbl$s+Ooog0Le}{hna*Eyl@(??p=|h&(MQ4V-5DR%j#j6dk0IIs8>q5@zuY@ zh2!!+8O5#JXdZr%7XOZ!ZXBql2(fyhPz8D8x&^9*o~#&lnXd{J(|B>P=TG&hXZA(f za}&1`_F-&IxWEfIE{7XOF?2be^Y9I)BH5OM+bDiOdu*dVpv6*y2Oarc^0qEVE2^7t zKoCEuWF@a6I;YOh$J>hestw*_V&MpN>%+vcLyMZr3%{fLPMJ-pC)zZjH z=w09#h2J{;3mmyg!I99!Fu~rmw>5^D9K&xhX%BNX!x-DnCQ;7N%{%moVWiHO6`HQ! zYP-3bX_WMY7HU0#R2iByu~Ou2x_iKs8&WA5zHnyWE2TSzJH4f(hu28waJMB67y{C& z(`X_!Gua=rI+Bu^SR;Rt=1S|66%tacVIp0Y|8UaVwwt0ID*XC@^DiN)eaOUpjOlFvbX;o#=N%>-#mBc6mzyfs3pkft@e zJ(96~fc%sE-jV-tHwmli*g^t{@`GPjg7i2XR+1hEp;*J4VE9OuZf(G6cf@NWP$s27 zSgWB5ixJaDph&{hXm*&xL>zf>I&j!JiEpdcY?6m@v~LTrI|JWd|M-IQ0JmqzTyQl-V=4RCxcSwd3FX7nbe#haApc_E5v?~awa+bJ-R z`Bc(A4egvF$!dyBkdGMgB31^nD`PB&GZurP$9&nNQuZkHS2f~s@?&CTvUdtAh8Xe9 zaOPL*_lsug$Q{+1ja1DxredOvNfLR{utBy2#ahv;C*k?&CfP$4m6*rGi$sM<;I445!|5UOMz4$^CB+ z^9PesDNHqmNjhS3jC&JYaS{1H3ff$g&sUF;ert$N6BWKCg*9xE!dVtCv-$13RDnSv zSo($GN`)NkXbTIrO%7(lU^lQ}ll{Tom4j`NgN>969L_?f=XHMGb|le1}d(3oL|w5Eh54ikYF zGsmEyt`kA>r7&o1Cc^SaWxK$)2}PG?Hn{`USKPDI_t1^&0lyu+HU)S!EcGkE_+m+q z=U?4V6>C0X`zEzJm!e2dpS0{eZmPaRN(w}g&Xt9Wj%t_%!f^Ga?cnO}q|I*cPFoEP znmeNDoyK?6^eAKxZ(bus(kX+NnYsvRs!8H-Zr zi{kc0DU_qUK~W;ORZI?kM=gs|<%@FF7o|#$GJ)z6x$G$jzL5pr;0vyZ@&?}^2Omel zqn14g;kHq5aWe(K2n@C=iminmJJ1aqWskiE8FQEA5u;) z*pRebJN^3WckFmVQTR8n`Ah#Qg|}f-(E21m|JWfu0UsWc_Qe2qP94J) zL#6S0yyy2A6Xdbc@4*Lo)c8Ge`{jEX+7A~!&)MD!sPo@gossxlf9m(j??AX>&gKjV zw}pj6s&j4fg#$)TXay3&PA=UB8M^Mj8d!#Ke;IBLD%|N?eIBENJofrMbp4D~6k4Sn z;OfeTZ)wE`-uoopt9d@bW3}+4Dy8;O`2>Fu0Rgb8eM}Xd>*8O)xqe$syx*Gax2E{5 zyx*GPx6blgv;EdWzqQP7MMW<-C+iM;uViM-Vmk&V>_vaRREAcZ@;V*mDj6b?0_0>WHExylDyIqo0;P__EpP_ zO|&6Ed~=)4yFc7!!>u#?^X_J}(UyZ;)=t?fZF-+JC1~@k&DQM?;r3ent(AUjmET(Hx32bEH~6g^{nkx> z>t?@oo8RgTs9Ti3ZhmXBY;CpC-aOvq^?PQ>R;ZTGHph3Zn2r+gTEH)KwlgT@Eu;I zid*RS%3avw)t|zf*B6ptIqmB5Vja?f@(^9(Y~Zz@EV_YLcF6mT(_!$!G03rt2Ev;- zD3o~(i%z68o5BX4zszXqeDa7_UwO;d57r<{Gryt^pfU9p*jP|XY#VCn11MY8$ zY;W8~1MH|ZG{7db`_3MERkQ~VY$bZ&Spyr96E4bU4P3Qb;T@cmY#>q^lFs7p-ca0X zKrOL#xNdWOhWXjtcXM@kAJrsCkTRsuEhggYDY%h$TrwR-0@G{MVkSmc*|e*%6_-T{ zWQG)1E>%Er<)ad+xzW?YkFo`wlZ2FAua%bRd7&GErO3fdN{JI@l5lq;e`O!va5@4F zn8h2uji3`LD08@KuWJ(Be`3SH039p~nDXUhuX@&i_mS`vCZg-_zH=pN%Y+NqlDKaR zts3KR(RagsY>UdAMV*%)`r&k+`*+jL{Bh|%_V1=U%$IJ>52dSB2B%x&Pj~&G>E3$v zN0k>9a{XK7J>2)B(rx;8(|zT~rCa;&rkhLeP~p8+$1Y^Sq&-8C=qRu(piZ7U$n)<3 zp6vd3fagmAo)bbnEdid3LOq`h@SM^g;`xgJPkX56hyYJ#sHY;p^B#N>>#=v-gX+5& zT>jB^4aVgy^xe;kG{5oYMqcSg*$=gzt8XwkvLkicOI#hki)w2OKk z<7!{Qq0gR!7xLQdh;U@hgmpOO=!mP}#dWk>kkG5s9^mSZl=gT;U+jR;LX z%}Pa_h)=G76&NqILT&g+gMIh15qiOah4xnh956h)6^G$&z;L&D8ud!@0Dqi2g>`v! zof!iBWI%xK-~hJ_2yiJlz-9kz5vkN z_v^OZuaK{o5dM6TmhZ9evwrDXQqtp*KHKaL(&y`yzxJKF4tOS^Y8NqoTs7`Ggujja zlR&>!J93zZ8A~JnnKp*ZJ8-VkkNPvpb?CHbblkKvFxL@JY?LUQc)mL!j5f6~pCGz@S$(W+*qvUm%yxipVg_5yE)eYozl)SEz*Dmsk zmMuTJv92IT5qBd;i~T2%TNA{#PC+$+vnnu9~HrM}C$L&*CFw*Dw?)dd>&^lZyh zEi)^_yO!X+RN`%Qj%iW)gwxu+oP$)gn|Bg^$1l+g=j`G0QA4XLg%97^L~X$sVI5ch z84OSHYKi}wn|PSm$&TW2YGh(WVqWyhi;RmAR;y`*#;o)S60&-~kW(?5&+@>5BzKpo z=;1WR7NN$;?quoVPZ@I*YvAgyAU5pjco)%rmRoffR7sTia@w;YkKrYQUM)M_13QDudpVD0Kev6WQKZ?7%m46#dew`n9T_2e4C6vc{ z%)>FMuWCYAq)}+*YQl?A#fK`4cML1&!Uj~m0PNl`J)Q64t8N9t+qiOO!Xip0W@7uh zSIk5pF%zm7Zh$8T$n~``n&SQMG$lE^z96|@{Tzf}YZhb~`8rC&jgUg6N? zIVcxc79bd!fl`540fM2Ap-kX3v7Q7&FE39-dBDefWxWSw0TX@YyanX|@9~y#+3iq1 zSw0I}CIOcO*fOYv;allJH(kf9w*R`v!>Dg&zmT++63b(7KC+zQ=uPS{nHdmD-ps%qhw z^uivG$JXcJs&QRd^}am*+h{n!^$i9!uO(qV+z#M{R($GtEd{2vl;u9{hfD9~9TQS` zvAUnG&MHsvqpJJq$e@8+iAx}n5=gpiccyT!wjz(vdk97XSUdq<@4(0SgpMKIT(v3; zadQF#^nAwDi3Ex>#IViql-XWAy?T1rNLq?7=ItZ-hj$qY9E_d0pwoWD)txMoheB~@ z3k`+J&-B7q(&SCnh?gDmjK3OTmxbO zn=s7~Zlw#ayQyI*V5(#2y~0Ynj8NC@UVg=(%~5f6_^!8DgLAu#jVs=9R{F#L;AWs5 z_X#mEq!8EFe$JXMCrYnlFPVqZ24~(Fcz>!D28zqetW0?vFC0Xsr)n2%hgly(d23kC z6a5^w#7ajlNH=^&O-|+=k9(-?8@`GFUK_mPz&YBxW#GMF8HFbw)$Ba) zNj1HK_84wqB)E~Nj6#Po!D$34T$oS$zS4cKqlkw=-O^i%Qf_Iez!Xj1f3sjZ@7onl zONP%Bb`v~U?)Dxw<-~^ElQcONgiUp*9zlYt!T0QW`#v^hafU{dqc|*#Uaux`9HX{{ zt2w5?<-~-uh&k!SzhL3o*aPt-aWl4!$|hFCQ~9(PEjOa*if~2hMS>B>OSk+5uUw8d z3G>uOG4fZA(f31fW0?pH*y2n=MLc-&C`nHh^7^E>P6xbmlyH&Xd)jDgQJWlNKSS02 zC?Ior;q4~vIm;WE-)|s4yzI#u8J$-f9XKzeaLg5H9(cQ+rxoTz?klLvls~yWk^u@Q zCBDi|g;DnVdm@K}e1cC9650!@7>y04ZCN-OwfEPaSFm-}!q@1UDLo;(o#y@V?Aq}N z@GvRAF$wqaP;Y?fpe zPnS0SHz4Zg*oTub1Vna~FtlxQ0@`lfh)kCE{#=0m58KI36t{81+aaK? zTIgty?pAi}b!)G1j$3IBa+rI&jTh!TGUVS~~8h&}d*j^fP9ToWjfzxnH3)zNRwW?1FOPgYs^Z@aB`=8?SZKd)5A)mW6p?h9k-^a4bHmcEhGuiW;=^gpU*#)? zC7;0C0`t4}Hh;BL5plx_%mRXbWmOEDh+dG+zG?V*(=`0dov4V&$3WkAeMs>uDZaI< zT@IPMG|`D3$C|%hs&y(`zUle`V}AQz+A! zddhSrPnpg%QKmC9DASpllCD{LMsY#}RbF)M5tE3AbTwvrWg2^F?o zi8Xh&^e^aExAY%rVc1=o_&GG#%`M+7_)ZOtW{hk8YQEy8kB$Rkzd7<{b3=aDVQizG zY2c|#A#`%ha z&8g!QA7PvCV+{}Vu?M|(Pow6&9~09}1S)}Shq;e2`sl!xZNwVwqZ&cni3>VZEoT?( zQ#I?JIpS>j^2olH_vh{-IylTi>+*BjjsnvBWa$IG|xzypFp{$FzQNS)Rn@hD}_;43Zt$RMqMe4 zx>A-z@wUcn-qw(9w7IH)ovbp!62yL?kMZ-Jysfj7cf_Os7jAUKRMULGZRH@6sz8`> zmAAEpb6Y20Yv@!Lj8t$#+6#o#tK{GY|I}+j1M0_U=v0x^tkr9}IeU69J(?V%JQej}ZM~hhwLhjK7IE5WXSx=g->IY6&=5F3>h^ASK zS9Y5mqf=qFqDcxBIr0vj62<6g+S&vo@J;u9Nh9&FzN2K0`1zM8QL8COo$JVt`Q|It zFJbmg*Pekjdn8U*hM?(csuH(#Boiv*Q+~)Mt3hU}Ct#+!D-45fg6Ybnya+QE%}9

>DWO?3*a(>}bk4`&P<1`!=d`_8pXK_HfEI`)%2NxVv zc?lTkr^QQci(~F3JmoUl$Yr#V%V;B)(MB$#ja)_>xr{b)8Exb;+Q?zriyFuKTPbdk&GBA3xcE~AUw$0Fp}F(#MMMk;I4RMw=atVvT@lcusJ zO=V4*%9=ElHEAkq(p1)@sjNv;S(B!+CQW5cn#!6qbqwd531e~%tiFsIa~U<}GHT3a z)R@btF_%$eE~CcWXNWFRlUSh{O{6lKNM$sU%4i~$(L`!mB+iaxodgr6Gn=f8Hc}aF zq%zt_WwepXXd{);Mk=F?)MsJd#7VX>nPpT(VxPE-WdoC929uc%3Gx&KcW}9)j z;cm{3vKCBfGQYv3bm|?dA%=uTof492XmH)FS2pbJ!D$8w2!%i{trt{2^TRHx-!ca{C{U+yB7z+rJmv zzZcrS_y5Q3|6hUa@9?+(bbtG=VeNnF`tAP`YyZux{ZGm5|JxsK|CjvjUnjT!Z$sOk z-V@<*pYblr1Eo`<`L-0gF4LM4t!PV$qpixelz0U*6J;}5HdELhSNQC~-dpr(XZ~21 zX%L!WIq)%NDP;gA@ZEBKZG}cJ%!}6x=0ss$a$6eZCZwhKbr%H5E6!+f#q4kCiD|$U zMJCKyv5iWdaDZ(bo`ezq46IiZR2r=HnU!u&OMkpd1F7PSh{*RyhkO zJZVs*=h|X<;naXvd}dseA2@lE+qxgmg;3qILAYQLB-~T{t*miA`st@|s#5#jV5SG= z0{5b&J#_>08Tj)~Zt1&OuZe|UlO`H|Vcvn?;XqVNG;yKhgMNv$?~qP`AjCXEX2fKbxs%XUO)yW%PK& z$gV@s4_f+0M|OQIrLPK>c={3f88E;2s$W79(Gk{qg~BpkzTX@$){OCHjxW*Q*y4WD z+0yr5WY_1bT}>IJ=NckMc70d?^W~Gyu12ZF;r8nv{So;OQs30j`dV)lBkfLZowMtp zzk;qW<@_PvmYy+@B%j3n9+j4M{ayN{!#&9RB=XxFz%fP77)<90FGd=L2^y1FsOH6Z zUXV;m$ufkV_g#)h5W;AU(bmr`N`qgebsV?VpwQLQP2ysWI<-~xaOnG5vydLV`upX3 z;r6qZPrL3~jZZ!c-zM#ozJ3Xh9AHGojeV8Ih{uU|90G)<7V*|EWD3J?*YA19#8=;i zvGk(g_DIjH9HhN@F-lB{3w$3eirbo^Y4U$R#yb|pyUKvZ1HU^$zEiFRekZz8`h&kW zhI~f{g->=x_XmHMg?x7geW$oOuLggog!pfUZ`}-&qcmDRp&y{^$|O8Y%1}v22gXz3 z3NL&wNp_r>5U0(&&CM;Eil@WaZZj0Mq;6TQYt=_6LR+mcKx30%e#P#zeB7l8xX<)0 zspyyPTaB578-*6SDJi5ywn|Z`$}go z-q&OBqBaqn9n~(I1X8+O?X-;XKI#Leql}p|s^I6D)$o(Q5q{=xh99dFewKCwV96fu zL7fr2(8+6?EyExKMKn$)D>ZHo18AGAU3m48w?SW&Rb(S$VRBeBck>QIw9)o$CnOW= zK}GHDyu+SICA(sBIHJM!9tLi+qcx6fsH!fJWgUlSPeY-;CbNVmc+u3!gukgVE$mOz zsXtAG(Kd2Gf1-l>+a?d@R>}7uMnL;uziR7x$oEZ8s=td_Kp$JaDxi=Eg;%lX;)^xW((Ny}J^okG6QxsEy|1D#-OZjz z{N~yH?(YDxu=MF)zm41KEll>95gB=BfUg@ z7V|9s8-64?jiM<6YC1Fw6;znC&hm3zYe#vN~C$JJM^Vr!q2S^WfR$r0PX zlv|s3q=h#2O#6Vw&YB8M{7Z0m&6w)H7QK9G&;_EJse``v1tYO=k(7MtwxPa864n~P zQqlcW+-d;a$1vO{ck4AOuR8IU?B4e@S$e_=-8O7wQV}^IwKe^r?@j^>qSAO1)7$;} z?go}Ge6SSp5+**kK|DrqLA|M-s~(h}0DiJNX*W|+ZaY&J(%XUVQJ97ics5Zt&~+Xr z&G1hbM z^L`roW@#`Dz3cYUP*V%b=AGU^8v3T1XlUV)>(kIJwgEIGO#vF}g~7>n3~f%EZzbqT zoDxJx$y0g)`NO2$gq9z`AmGRXqXXg*krvU?a|p%;sejp^I9u2|D9&#EmpFUnIX}++ zu_PF0E3SBPR@cn3S>6+fvwsjmMx=gmeViRzF#u;L5mT+;?)n04D_`*AY;-Wr#!ivn z*VN72j#MlUvn$Rxu?kTCp+Op4P=iL26DVycjiBZpk7vaa`iSK0O2PyS@;YZwm`1-WbxO@O@jD|8ve+75fy=W_|^3#UJ6hs?KOo9E$um9c4 z-wo9$z|2nj`p8$$G? zC-6@>i;<(@YDe6Nf~^;Z$af@bhp<}{Z&3`r(8bR?GMZn}cNG{;uI9lTkapkFG!t)q z#F8lU!I(12R(^r}bCjI&!zlV+{Wuhf-@q$d_=G0wXDIDny$*;==P-EqdCt+m=zMk% z-^F;D5(Qo-lC=HA`c>`#r-ce|t6=;#;sXA1np%lP{5il>m5y82f^7bHBTDXe-7L#d zHS%IgG`e&8@nvz#&cSCad|EFcH>Kvajg}kq+VVJVm6jw}AA0(bQn5XSy5_jo8<=*P zYs;{W$F&_`WH8Ghbn}jzI${-y?a|a-rK|YTthko+`S9WvDlo=uUWTk|D=#Wg^-8+9 zGqRgF91mAL0`Q@$TAqyW+R(j&4;H1N;9P^1#Ka`wdCYVttGh$i3`8XNE0`6wPhv$x zwbhu>Y|IEn_8^;S;+A-p4Xmj;DVt@O%{?reg=rY!X*rvFpGWy=-qtjlA3sME%h~@# z`y-5^0yXr|WaT|$HS&OA(i9>iJ(qV3LoK*W z%TLZs4=sE3xUYf_i6!Fg1>kE^Lhq> z#749Uu@S8gB-_{NT`5RSn3UoY`U373r3)@&!fvD1we-Ef>NRkyP;sMPXm`yIT7RVr zJuE!u7>(mqaGW#!EKa9SKYT#=*RBo-pLdmopG6DuE7DzyaWIYifE1XCDT(~}i11I9 zFoHJG8t#gxgZrS{wUs_RQgIoOyhXaoq@xRPv~Dp8Z)vJ%B7coc(pNSa#~v8Tx0PcUXc3%nY;KOLanW@U+;V;x zpFhEkv$gWWm#2|wz-!2@sxXCaTO7?MH+{biuacn>uT#<;IRC(GO!JQLvOEuEMDwB= z&)KS{phUZ{lDUg~G}<>ayBfKzGIXH%F!K66d&wT0c=L{8OEQ)SZ>_ z+T$?SnHREIkZP?x&sD!;0G28pTwVWTz*{SC$+6^uqOLvM**otmavQRqh{I%D7(nkY zZ0RYD_``O_H!;p)Ek#Dre)Ox`jwMaZ!(%->M2=Xs-H&o~q*0*|=lhK^`?X2Nq|7%y zvxw?-?&HvU$y(*K$GPfFSdnVz+pa%?t);h=k8W`%FdVw@0-rP)Qjva!2=LW%-1KdX zPkr+=zB4FO0n1b(R6Vr#dYSrp2(J3+G{`&(GtWp1#NxOe^(_6V1Jkc%>EH2V(*Fe0 ze*=aSS95Usd*t-HTm#aNXX(H9(T_;~VN8EArauyGBM3><^qA5#V)MN(1h=u)61;D| zUPRt>UIo*oN3DqATwPa5s=oIXAeD6NO86}6A6aK{eFC1+qs6RGvQkTYiFYv}jlh9T zt|VJey!kGx=dE4WJaTWKN~T$p~h3e*YzdXfR}UO zCaZUak*W(?VPyC}U3&uTy8`U*1lYey4T>)LKV2(>Q=S_TYn85Nu=6XUaFy1B-_vT3 zEee-XADum5X$akPHbw>0OhW}sGqf;_l0GeAE5cDS4nMu<8L;M)_g%~6_m-Qa-~8IY z?E7PJ@UpMuly})TbSrD7Vprg@?~jD~5f6WO{bk>t1p}6Sw_&@y1MaS&Xj@$FU-l&h zV^s^E3hy2lT@`6k{O9jKfB*UW&)rzyJLG=kNdKzXx(lON$>+JYX)JUsjx7 z8CP6dGB+--)S6qI53UtOb4&8`;>?9PwNgii7P9G{PN3LfTEJQ3TsJO zPI*Os4n&J9C@r6#WAXaBs5l?KOUsMq7L~wvS&n&L&RleY zBIcJ^$jMR&-xb!}`K5VQ2o5DLHy1);<{ZqkLXm4ND1Z#}EQ`zX73oD46;PEp{P5xc zvyXdVNm4 zG3oj9OUoCN)lg!cKPD@ysHDgOMas%D%eK7yg+=Cka4#rTq_WarHfeF@(h^J2Tx+Sd zVvNF2Sq6oH#vC~&>5+=jadRQW$T2@lOsr6h%o{TjO9NFYDz+3soy^pTS>;xUPq_2? zP`)hNF=dr`3alqtplD@_6$QnB6m0F>a=@`Urvhr9ms4Jzvshs*u$GuvurcP+^87Jb z^R191d1hIG3JMijx+k8{J(Z=)Fa}tuDg~w1lDt4iz~r#0+ zeks%k%;J2kSVdtDG`P96xES!7Ri1CoFIt$NmsK<$DX1dfqKGencFnhBAqp!jIrGct ztE{Lpzc`B#J~G@6S`t$Ej@gR-2W za>B=;%{BLW%{5r92S-JIr3D763WXkstON@V74(fWF#5sx^T4#ylKf2QsJ;ORyC{yo zRDgiSk!wfQ%9@{37E;~vxw&$^pabF13`M@G@`x0YsUu0j)|#Ly< znUv1pU8(C*!1{weW<4nyMCs35W=#RmXy#)t$o7F zgVfy6!7iBCU}RfFP7A=Vyr`1w6)K_ zOK?nJam?0oWPq~FIb{~iQRYkr&C`f{2aWk|@xoYhbIP)a&nhb|W(W?9czs`@g3=+KE60UCm_RO zm@F%<=MkCO884(f9a=JlXMlzYi*plcBOH%JMR1}j0*pe0Bev;;|mmLTam zB?uTHL)}=HD6`5#We)HQtiAHhFwNw$zQ;P|b^LhAB;4KRUE%y~x=vc{F%uIR& zEb#ZlxE@dE*#A4>jexpOxegv)0Qctt{K^CDzXp3Qz|#S4vHyqojD~n`1B{d7$AS4@ z0KWlH2c)S8NxvJw9bm5n|IK5Ap>rGy6YB1T6gf^tKwJ#pKiloOZ;snz0GJCP0Q?O;D>xSlx={=ri z83OHra2lZh3IBJXUGsz=28;XezziAUGuihrFfaX!{JrtK`J;UW*t=y2vP11y~KRC8gJM6krZOF~Aall+<2NA%LXo^|%4lVE-ts*K-NL z0#FUG7GRbE(gIKbL<7VDoSf9_89KSwvl7gg0p0>A<9j_D0Ac~+0g?f77xsFx=Jk47 zOL{%;18f0!6JQ3o&j$A@fWH8|vIxrZ6_gj@M6ahEAQ9{_UqhL|tOj@u;3zWDeNZ=m;b2$v1OCA*16U2v4lqI4 z=UEHTtmyMx0cnkO2@6&;g(t z(&rfspjY>KiUB?Xh`*uF6AR!5_YQzcu)j65&vO9a%#D4X7%(jW9XIuPoB$gEDgokt z(&x#H?(-}GSj+W!b^;6sd*#i2o!-^T9rk2|xpI3H)9I(>)r>|4^SN8O%Ze zC&2JAkQcxiaNh|~40dN?pGN{v03-s`0-Q{Oya2WUR0E9t8Mu$_1O5i;@^eTVAOq}g zjf1=ZmH?Olt^#Bv0}cUJKMH9B#Dd+Tg}eat05Jf~0I?GQX8^OtL)rkH023xcUI0S@ zj)LDxFgqXX^QcpxE?{N=Yywc}ATMw`0Pq?>CVX#7gSG&WQXy?H%K$#oLtX$c0~7-c zH-P)(KFP?!Pr0kav*EdZ|ptOckBumBtY$eRJ_0H^>o00#grWdiorP+$?BMu)hZ8Q2;3i@&||qzZ5Vx09+~Q^E?R9TH5D% zA7Bf>n*gW5Z6v@HfKq_90I^nx2jDJ;bS#h_K<08NE5Mdz(9U441W2xdaso&%Lb<`* z0I;(b@C@)8*e?Mr0ejrZDn%mNrwzSQ?>Xx5gL?;VKfQyC;C%sbD_q;N-~+A~zf*uYaOL|z53UoxPr=Q=Z}nxA z!M9K+UV>bJC*hWSAM{^?Tn?g+;dcmvzBgImI!NXjj%m%ooxt*=aSDyST>vr*8x`#H(^_ZodN#O=OWCF-_zi#pF`Sk zz56089jL-3ehL92n)jPc`?F{!)?d!_LquXgg3JDPgtftS9f+`gxDNc@{vFVRTMl;$?hst~l?eMg z+)=pVo(Ri=Tk<{d2DkUS5q1Ku6TdrN1wA+q+yLBRxX8f>`v=@HxMij$R8b>sKsIU_8B->2Y?!)4-m8r%}NgIObNKU^nVE!^a}Bg{X4gq?&tHgAN5 zff;az@q5OC5jF)b8SXUv3V;jY%HfVK9ASsx_QGw2n{f@&uO4A;xSXmH)&tiM7x5xZ zxJ>wW0*}Cb6dYj_TSnMjn?{%qZY|sjxLmkv;AX>J2KOa`$yO>;eHPHKHQJtcK&vRUHcy+Yz=S) zTmjr-xcP9i;Z(Rw;QVmY5v~Ys16&C1+i+`tH^R2Ty#ROO@8B11%AddwaK^w0Yh7}d z{o$Ik?AzC#W&7cthD&t5rpSEYMD;fEV;sI(HQ3xN)}FEwpU=ry*{u57f-PRPwz;Nt zqpvB*7qRFdi{(7QqD6e;%p*5H7A?|#(N65_e+GSH_hr$dm13_&OCv7*Xc}`Z`#JtC zZHcq5wDJW>h)b89%FjWl-lkerZonoIVZhh8KC7mxdEK3=-1T4Qqhl(Yd@Z6FRIeI! zf{5pw9~Ph!Lgw=${LF~D-rLY9B8uY!qwwF|N)%up^jWQ#(ViP~%-_3gYNukqOfQ|Gl4=auGx7xS9H6Y|&Q%@VPs@SQdV-{kk za*@i{cva$s#I(`d1n*jP-4-=i?^E-yzFN)olxC?OIz{7CK~1HN_l(&p3OW$1rGjL| zuAM438?#bX`A6|rqKY(uz$TwcJIUa=R-U%fDJ7I&X%pX<<*8?){NAdXQH|J0eIGRp(c(;v?s)i}MOZ z%~$83B-BRV`k;IkEucxSz^3@#0PS~BD~gv;eEwA)TH`=#0K6zr_l=&2k`^>g9kM(g z$TM2o>=TuTZ|nKA?mMCUTIHEbe%cX<)%v2!2o))Q+oL~I|7{%q8%HN@>VMGtnYx<) z-EK$!OO=Du0@NKk=+wgNUt`0%=#kXao2=n4Qd7(8i7S4Fl=$;T5g-<0iSXUCmMxj7 zdY4Ntn;ZGK;H}}OTSbOB>mtEf0mN(aQ7U>Sq zPa;)L8SJH!1SLa=+qMNkR9>0IzWbuoR4H0``DArOU)sEpY6$I2BJE6`QEyGK6(cO2 z2jx-KdM|aSK3`L+x7O>IdH}i<)Loy{1{!K~P8wRMH0RI>fQI$(uR$+Doe3Y%nmEO* z)Y2x^k1}njX+^eVvdGsQBV*C|hqMqLJsw1+*7<^fRD;2dG~%P@tr1Pm81f)8P6RzD z$*099H=>OfvollIVax&pTV%!|V$p}=M~g4m+R`L?GTvZ=R5Y@VNoi-LuJ-X3-mK+b zyrv$+OD8r&d1tI|XbA-MvKK*-Nzv8LPUS7e$0ZSLX*F@EZfS1ioj7XQV*b9x7YIrk zreFx)Rh%U&}^1lr1WGJ<11dvkpxRl^_$9%E!e;r`qcYZ`1S6&;F2%^<0Lx=hCS^lY9;t4vS*dSBjrA0CbQ2C+&GdZ7`)X_AoC-m`b z`CHeasOmFO^N2KRBs>G;SpzKszmbo*)Dij`8&g4{0es5}pmE2;5bJ&tXi$nMKt7x6 zMawjD(hxxFX=y@|qA}N^@-_1mxlS*tGI~CY|C?pot!>cyk#eeb>zX%-9$FMJI+cbR zA#Pp(exp?7E9eA`jnr!hf$@6|spO?)r-hQ|Mc&OL$hWKLhGuUaELU$Xk& z_~)M!<;}Uvs|qVTtIBR(U05Zb zi*rj?3jX6?53r4&dvp0JBepSL5E?IvQ%-Oe!I5Ud!^cfs*Ejj$cHV)An<=wq24;!! zFzJg_B-VmhVw^Xp$~F@-tstfeGuv*6_g>5+wfNEe<*qC+GiQ^&wHlP^^E07S6ZZjA zRgS7pHnqt1EUoF!_V}+79p8FBH|D+NOt1C5^`Nlzz4b`5`HzmewbuIi%_K^Sj*>UI!}==JvMO;)C+g3py+^fin=|22e>J4fR5dhJq1&nP zt%DSz-xsY~y&|`~YTo>+ywdWj6{}XRihdt^Y&!Zc_Vj!7pWSs8EB}e;Oa8Lsu&0O~ zlgP?-3CsJK8$*`Am_zo7(#KrY`rg`yTi;vjmff9IAyB2= z50t%jm6*m_@3<&s<%O#YSD|Ao&o3!mS*%#rIhE2Cxy6N5H?J%xEGk`DSRkJZO3OUC zt4qt*TGl%i>qRQ-?Ii2Tf9stF>xCI*jgQ2#pjMzJFQX+!-~UomumCqi&}t z(f1T({`8wuI{(_j62@09OQYiv&qiIXv&3I5ZXD`W$Gm9HpI5IcUzNXVdDYDYo~Y;Y zeDR!HR#sJBvU=6c#U)1lmbW4#zuJ8aEq(K|`6{J&#z>FOhwd&K&jHLiMN1dOWc17B zTn#MZXS;cRN{dU%tBO|Vt|;Ws)|Mfvy764f*FVh9kXMn>v_<{qR88%dYh3&}Z&i7T zNUluL@++^R@IP~1Hp*)gUj?JeD4xZ{jo$mAztFLEZC%Y=_ci&M>GPAjhWL~<-o{pQ zN8lkvE}!3+@b}hnpw2=MHMho>y{an?B)Z3?grsYJQXDz?H zJ<7_@`PKX1D)D?*tGAJsYPDy|Ur>)gV>>lrO@8`aIGtWy6umlMGX&D2ucFcvw#jP@ zYg&0^$mc?FKUN<%axoK;T?zkd4K_4V?x|5@?yBF>Lk;8CXTfiak1kuwo=_Wa_^6mc~Y?~O8$^-5e9uhO37-Q+4o zHW%3kLNOz8$qTi7iV;wdfVYL1<^?J0A3qJx^M+n4ne923jsbQP)nF^%(84%2?>5JyUq8 z8Jt&PP+)eJs)|J%-uT5f2Vdyq1{%a-Fke1Z#X=XY% zbpcWIB3hOJZB@Y=W$rFiQKRi#p%A$N4sM8~8Gb&s!9<0& zMEotyw4Iwp^-_+`v~aT?wKKSguXq{$yc&T`T3u0v*T&WWKUd&YGpN)>9h)6h$)ae8 zg)~|#YzU&QqyGsQ^+Ipb(d|%gtcz4?ky?0Nj9$}@K5fNNiOjsaRTE~bHT=w4)0VCb z1szE?YkjLum=56$$4hHlRct2(L5TjZp>B>3b;_&nz(?&ut9<(+7;N-up{Tl{$I|qkJZ;tiU`}lf0AJlp88f{5ttmRN^Q*N~P?2REQBIreJ zTW%SF*;cxy`U61_2NtTvh%tMXAs0+T)y*wbgvMTzX~#dq7@umj6h&87N~bw^Ch3%f zAeO;PaZAvLanPtqyyW$ue7rIT)bu%{fFPJw(KXWv6~518Z1!pc(ahDfjo*rT#5eVf z{h;WMKM!rJP&3<;$@!VNn&`B68v?#XhDo287Hw|CQB<`4FJm?r2;W_%^8uS^1|rt! zH~6+}Zf>bHwy(%2kGa1_Tp7klQqFi43w_!zGs-qDW$nCxJZvM!19W@R^iHl3fqTs2 zMNhqR3tt=O?bKAqyc^~Pgt^xo zsu8uC8KqIqi`Dr3QZ6>uSma@bEN#k>#pfDQAx;pUR7X9mH5^~hBqc>G$!pVsgz1}1 ze2fxKHw$9ahoE-@YR}B9>;Ufsp*!=&;BC~)dS=$VfM_~(7=xN-+vbmVRGN(%lO)D^ z9xsv6kgPbCKt_#cvM-V_T$E7~TYjRJjmE)GbUd5I*o5KZ^B*0~hX1U&2_;{p9|j0i z$@37RFl-HA7|W+w)?e^ru-* z;}aj9Rh72Z<#1w(OuB4HLb5WOS@js}o#( zY-+Y1E;E^_GaX3e8?dpg#5V@ih(9a_f`QQyTzKoK+_S`wyJ?<_H$5ZVwai*o5b zfpI8X_7jJX?NH+yf{G)YMB(iQGTZQ`ZPIvUFot-xKF9TiTi~pTXFXNSxk7toLqwNyq()xgc~LNMtxs% zy!Srh^{dwX-+1Ay`+kYSnfE^vg|j<{lPJ7-Uq4YeyYo2-`LH=JlqkI2`KWl|pAxNaz63nS`Qs>`sWzm-WKUN;#usEj=g+hjF65mzvmb~*3#)Yq&tpyajm9~Bi-|f zZ?(ZXj`YS9-qwcec;q?Gcu|&M$DIFo=3vLzpU0Sn9pgB14)JV_&WpZ2ymOT2xZ>Fv1Rl3M#}UskEIiKsJ<7W9 z_~rxW6F-spr@#>U$k*? z4ErPfgig$tw2l+C z^EnznP5v!a!v3{v9|`%fh8{cpY-K$3vlaaaX|XRT_9hl_qY~F&&rhD}=U^HFYV*24 zbE8k5kWW}2^lLB1e#)53tDz}4I{((tqlMRljS`N|GuxYgD)R;9FL8+f{OJ@$-SavJ zda>7bO^5dXDfFzDivC%2t(R-;`VC_}J*p}tsCRq_q7Fm*mKgnMpOLF=kk&JrTf}BS zGwqPx?Q3a{n=fRZHs$oFw(0w~NcQ+Ha{PQ~yMVFh#Q6C%X+VoU@Fe(=$G_-=E5GM! zeENxYmbiVIri|H&qMs<^hdnY?Eu8$)+IY_C*sbqI@2@7f1Z|sd(~*q$`=k1O4E`5w zm&bgETiQl3e=II`Tr=pJE~9#Boyyx%Wi~4`#&~=@Fh@+ZA2F77{&@F56NMkcI(bz1 z@$4g5?@=aNuOCY|>pitZ;l{In5%2zQqVVQ@pM>L;X^TD)y)o>c*y?BJvhQHCzB#V- z$-sH;8`#Dl$G(SM{Bzkih?9>o?_b!j+mC%5#4xp5)z+hHa7mpvtBpm z_LX4XH+nu2j$_vIS$a>KP%nueF1lPTpDj%|uFFG#bZs$XwsxbgAs|$~W_dSEzka7( zKN*w$G)nnN{aEOxD48e&oui%)juSgxKCN~S5{|z%=NL#F8_9B(yl%lKTXY@Ne0kw+ z<9tSw&sQt#y9MjLP5fv*kI4_y>yZ`nw@agMHt3%)9m6C}F)GE%GSs(tIuk^?}ZpX3Sos5^{@S;>*0z_hOWI^)c3N3NHuk z>irnP+tQWg75DsQZeyeQq7+>r^>O2AQTBDUJjf%w{FpT_3~D;HcIk@6B=apf%K5-V^{m{yQfUpx4;OM(gv!#larAp&;yfbVF5us*j?O>5 zGiP1gLyso_Qv*vlewse#JW9Cnt|#kFb*%QdE%ju~X1o*dC0DjNZ#=qLK^Rp(NEmy( z;|wQYOjk|(k2UDn^xkpuHNJku^mX%5`W3#Y5&bdlg!N0>(mZ~CxvqJB?1|8KgNQWLc<7YNoaTC|Cq$`b3PEkgaH88Y3Z%7}MTxC0iQUlZY17fR7m21u5y6_w~5vu&2IXkTFww`7u)6J&m)&)X!8&2u}-war4^f|xdBnOOBn zPN7@zD+;J`0X4cQS_PD92xu(wN&V-_Bd#3AB!-RLGOm4M|HEQV33*zeF>me*x%qbI$C^nWYile2Q~zo{g73FZkUUr)#`n& z)*i{c2sbxOhMvXxtGKk$8W6U)QFy{cGq>Dd=(aXHOI_9En z`W#WZ!Z5G=D1zKb*D1-{nxfC*CQTaZTIB~R_};{NFUIEBW>`d$!-N=}c5Oh7GTo9X zDlc8NBqJt4m8`G_dA3A$d5VHJZ_vaES%h^9TR)r0h=#2UGNqv*dP$=6YPMwOQA{5c zG~S0Bva%}ch%}*M3;oU9&0*17nEQ~x0CYy=o=7xZs9B6tcbEVDUkZB*;KvTJ1 z&5J{9B#2_>M!Lz&v@k?XRw+!pYS(qdw*#aRG5sR}h9&!;-nvZJrkc1xT2tOlUm&2Q zxwV@OKA%6J?L2|>+U8coK^MbUK=|G#x7VyE!-*Iy5;5owbo)sR0@jAg2Nb!cKsLD> z0>MD+IIxl5X)q$OzOD7UVzg*NlK)q5d#;>){^3{~+_jgRhhr;77t&CqE2f!+^L z(HmB}HM(24K^37nXpK_xY*XtBWI(D*CeG;762!p9hG0+_;abGG{NYNJ)re2P3mTELr}9e)#CFvHdsGC6EEK;^R1@*M)xkV#0|R!!f=w^CvWsL z$+&N8UA<|HlV%i10gDxr!3LKUA6h7LwA_kGpNU*~zQ;^TT}cL2Oj0s&$=d~Q#GAYg zjb3@Lo3gUmx6Tlw*5PWIHubq$vWDhm!+Ys^bE1@zbRn4Wt$s&TIO%gfx;ROxVlO-r$hu%G5{49}&tL$dryu-Nd@Iz5`L9!IN!0 zE;28dugZ6tGfk55nZCjyzptU|2b&wHvz7WX4U}Z+S@r6%t>-ngaa*^@Lj_gi6(hS= zf#^#wC>=u+Y|--2;?pg!i5gqm$`vR>bmFd`-aFUOev~OMG#(jAujik&z%WuTx_xdp zD$okeg;OAY`CaW~-b-jn3Tq=8e9&b>5bB z&2tNyH#d=mwZPnKis$6DG;CbwZQ3w*o%W-NH+jmd&%3e8yE!m7=F2ly<0xXtrELN& zJ?^to*rvLHOy^&DrE2zDLLX5PzgMm2xd`yd9nD)3W^#4&<}!X(AUczqn$hawM+{gZ z(q}V*v&R%KN~)P^bb-uPuDdpSo+75Kyk5w!$5qk!6sxgwh1P@T&8u3`8uYbQksZ0x z^Z-NYYnZ74+7{&^6J& zmcnyeTnIa+L`;7x%YxSmMIC&W1;rwizp->>SygsbY15|W4ZfDrvfwrRn=PeF@vABi z3SVi_ik0&gM$2*Df+%(U8V?aFEZVfG&{KA8RiXTg;eY-DGynb|9f9&UqLZU!Hb@agA8i6rmI$d&;a?o0L8S(h3115a zcU51|=C*pp@&$E9awS>L^%kk}y*63WdO2aOAFoYzB{fxnYwvU(QoXsrqp1nXqM5al z7ELR;B|j|*cNYIAUsKU>C4qWtJ&aMlF{N}}OutOB)0%*x&(g}QH+D&3x}ZCzLy2SP zzC^&-4y+(*+Q4;tZa{9{{5k6yqV;pmk+h;GtXWoxJNZ@8)Zjb_Yh|-38#LxNA-+_B zGu7x-DY2Tu^XhNhqLKCnY8o0iEnlOLAHCz>sBBXeOkyy0gDy8RthQM_wpcyxHauFX zTR|b#TD_nS`l#~q3UXB?EO9C;y(?AeL=C@@vHR{b*ZHJTkRgIOy!L&O2Ge)_ zrt7}?!BwtM-qi}lc{(=^e7#cI*a-by&c>vb!s&`f_qUW7I$BOlFK3Upft&B)4bd<^ z!xi<-&2x;E63J)W`btU+an|57@jF_5<#|e2TlHYkb@l&foYf8MMVF5>21!CPvp8Le zQ(`1_nys%|KiyOhoR)e)&Y{&0&0Qp(C&>PFf+fBdJ_T+n++_J|=`Z<&h|h;CU6s~v zikXvKIx|9(scIfJx_>nSX#J*XWJa3wF$oMObag=M4+~e9=B}JmP+FG1YE9v4{rii; zY=og(@=2^_3WWB#C8uR#Jg99D8^oBFHMaz#XHvQeF1-@dSJ4n3s>1@s@)z4bXY11@ za|dml8PvKl%m%qN@0insfx3o1SB#ytgC zwK1S*R|$=~eTI*D*I4tN7ZYw?oN)5!s7`L3Z8&$0y?3oWReK`y?1{{?Ct|whXUc=s z%k8s|yx!is&fdG;o-upc^XzHQv!^}Jp0?@Iq~;~Axh1%KX7h?ZbLVZM&1SKxp!ofP zD)aXo#&U-%aX7(u{P*Tl*?Rx3Yt!Oeh5_{Aasf{)59@mhWTpB{5kzx@M|>FmQT2dStAebHL9kMbnhV zkOI@``_#0I?iU)XuXd6CS-b)teP=?NO%%fCQN?Qh4eES3K3U`2hO!A)%jvIdZsKxj z^m(b!^N}J+#absRi-CQbzRIL^!mD*&Ts~T@hHrZ52DoQaA!Sw0mLrhWJGw1D0hdn?NZuJ zs-YWtT0-UZrniCzc@qiqBvSdPZiA2(-sZeOEwLK!xPacjXkCe(7zLPay!RS!c&+3I z^>`)&QT>!gNBh*WR5YjSa+Be-^?fcb{smkfZ@N-$$*p!)nE0Qr&_YulrK*)`rexxJ zMMbzE`ncNWCel6^WuTK&6*Tey{%`Sa7JMnQRaKcA%db|x`itn~`Gq9Y+ve8boaXg& zxIH!PTbW;M53{{f7~69(V+TLM*mht9&#%CVE>LW-8OGRkBkOeVVLr*Io&Op7u6TA# zNJ(>vH_nL{OundnEPqMKlTt6V4{y-3{wYZgXYz!JlTt27O`Ck7>mu6z@2g!njLDC>`xWue9ij@AxpVKizH9OPy7mNv;@p&v=<1p#-Bgq!=b!^`064iL&_|*hc!1!8;@wtq#6aGpl@M`)2D#v8*g=KQ^o{b3S03hUnMx(9Dv2?`P#29g zUs0MmHDzY2!cPWh2a;9gw6+j4#`e2(~8mx3<3Y;@ELX-c-4>Ke}$ra2^a!?{GBuG6mavqXV~r; zigFgXYo?;i|1szQ+ki{1R+KeAIm4#TRg{;39^j|mLww+az&_v~fE{i{S=)Dp^#Tt8 zm3fLX_x&@>58MZ=U8E>KogQZWHz>;WpANG_H!8{_z~mf7IRz{LmR=EN+ksyP9s)XN z;C(Lg2`m7<2HXzJm>FgRz(;}ZJn#){12$Y4W<9{SfMMXgSz$&ya(jU7z(HUyur?#i zQVJC1Jzxnib9R_@03QSP0UcL`Svr)jjlc@vG2m|CHCKZ!@Bv_Uk)oUcwgXpXf-Z1B zFr`>gE}0W%^}q(;KHyuxlfWyoz;B77JPh;${{rj*u9*wEz?XqJrI4>1bb;-lMuU-K80KW{(UXD(9A>;#W1oi?y04ggK zCGQ&KANT^W132|sVn7&d`{syc7uDuTV2Oa|U1LtOknYv0*I)U}TGr)bob)P}H zz#jwM9!1Gsgmi&V1ABn3#Yp!iMcD$(0iFPM09P#uv(v!Gf$0^B@;|`+cPNVY`Y?+C zj{uifDav&>gxMb8Q@~Te3vUdwCDo{>z)s-rfX9I=bHXgst0>LQBjJD!|cRekOR=uf;m75-UC~K8PH09159a! z&RvT5z;6Nf-=ioOFGW5+t0?P%`+z;be&AtX-@S@bxeV{`Lw^A50B&CnIRZz3)lhE! zZ3WT+&RhvTKc^_yu0lKdJmlp;ylslI7gz%91D*tS--Pnpj`{}NdOzN;hTMSP2Tt1o zf8cgtdKu_3Xc7Zl~nHITzYkQeY6@Kd*hS!E~W0_*|S1E=gn{RjGi z?*Jpf0eXH!QFc|Jz5}z@hS|c9qI@2>9k>U06nF^O_-_b*E6N{u@ogxlFDl9b;3?p* zfc1}}bFGBDcA-84XFP^{0lR?TxE*rX4SwzbKaYbCUINO)R-mg9<@=JNd=uFJvZ5q!MEgIWDARzQzyaU@Fw}(b-$uTgQ6Aqx{|4L- z-0FusfRkHL9xx0J~mAeb@wgz#W@Wj}D^UZGk*qQ9IJMM*Cf2b&7pda|f`%o^xOw3PC96~XE4)yCz z^fRAF`*;ie-ZsPsp4yK0K(zz)@NMWA4_ag+;< zzre%55b!v#3pfDm1}0wy{0hnu=zap_4OG7hd6ECu&~AbKz&-T-N#q~c2RsI>?gAa4 zADE1By&X6e=>K={0Sp1R0(+lAeFUaI4LMzo_rMHbKd=Po-V1pEL%{9i{|xFOG@{Vg zk#C^-Ea(7xfqQ`deaHvU^9{(A^uXs)zkz;WBd{O17dQay0am|&@W7lG!5{RDcAy)W z-VKC)F#tRQ?0yM+LC;XXg>nE^1CIhdFC!i38#xCcAE5i&;0xFeoO~tXy@K$-z8;KU zK>v3kA7Iz_Q9iQ}{t)Unu=*|V0rb3$@f4^YM*Ix$@gu|sw!ee;K+jJw&df%BftkS2 zd!PgK^r3wN`+-}@|9zA%`TrFB1J$3Qe+6~{Gp@q(QM6-VA20;$`Z@Yrpyva$KVbJU zyodgj{ww4Y*!OF+$4tocH;^aL-;eSq{4M%lVD(A#Lvs)gxEq-BC&(9A{TI*!s((fK zLKk)ervdx_hV~8|09F8d2hfh`{eOaAU>DF0{j3jI4^00r^c%o-;7OqR-)P6s*F3;u zzz}dM^fh-Fd;$9g(Jul0!ziEmz!C5b%wcHfK(}L%od8xR4>FZ@z$Ol|N?_NdLAD#% zo;t`P^n4Ng7b4uh46-g@&c_GYF<}3cK{n+Ygu8f}=#` z!64fX^j|Z`dV%TJfj?k(Hr{^*a#%FTg1~{rgRC1Ex_*$I0=jQR`p{qdat2w+V$jVS zWSzj?rN{>`efc1(SOR}wBd{CT2~<}Mvi(30u$SK7G{};#2fdp?2UrcP1P)Xnzx2Fz zkR1m00Z#&RZXIMP(3iV!8)P{^^>*YB7y|AFDt8RB9-to>2KED|La+8zL!Q9u+Cg?4 z*bkfreY)C*^nm@qJ@mXD@97yhjr8m~ya#pz_W;}Lkv{b3K41y3t6`9Zfa;xttPki1 zrbD03*?{~5dx5)w>5Y&Jupg*GpRV3G$f|+ez%F2W6Y>Y_17<*O z=t7_F0(yYet)L6+10Dm0Hi0hm>8`s6Svyd@2l54mfC}_z&sOjY>;-lJ+dm6_fdjyF z=+oWzf?uF|ALs)6f&D;tJLp2MRz5e#>VehUKo5F!KQIUA*^cyp>Gz|YfYrbh=+o{U z;1k#m3;{h4fKOl-a4Pg^e+Tjp>;-lKLk}YVzx_)kuJ~!>;AMH;Jv09-2$su+CSp78UVgBKHc8HZ%le~u5UZDHMA$A(5zC6SVFb_$8 zWr*#f+mNp!9pJ$ChuA{QM?!~&*b$)nogtP@JAWSyu^wRPcikeWm-f4d*+HQDo?&+UPHG>+Y&+&NecM16IIwe=rDI;x_oZQ032fgp z%#M;dlYPUi0P~!jpCCT4{g=Zmr3vZ&dYDxJyZ>XD?W5n_{!cBO8Ai}DF?e9j|384C3geAAp z_#a_QfL%ZjaNuVV79z6=MIE&c6bZ;nm)pkF<;A>Gr~MTHEVHI|dewg%VSa?`J2k>;F~3s= z;E(xT=pQ3&>vn2qBWw>)`R@^yf_dJ+nGv=N=ns#u6Ttq#5w;NXz3O3v+d+E32i`Y_PXgVp zv&@ftJ;2?-cHn+s2-pkk0v-hp03*Qki_WriZxbh6wGS} zfQ>-^zn*0Sz;<9V=C{?Co@GIxAJ_p@ry*US8+ZaZ0L;XESGf%7>?Az~;ec-79$-Ik z%EJf;%m6BvpJhvc=|IoJr0<+%o%F1Ne_%B*8S~}->7WB_zv3+G2lmZ8%a&ul?70$j zfxWZ9KjCc16Z2-}YQ)2QS;+!Dpx=#W%#+%IQwistW$nNaa2L=s|13KOtOmA|ynwra z-N2*Z!@b}vo3@MECHMt~fSz5XZ=sxk)z^Ujmyj>uRG@M#;moqDg~gAd3-w11MDvcUqIz%dp|G*>9zxdl-^ps8*s}z5;%4$9te37y|YIPXOERILiv2 zK)9;2Y%j38_AINwd^6;OoPh52ptFbcEz}oacRl#}D(C~#zXm!1@B!=%o@KR9B3>)P z0X>_~vV~oU2Rw-Ip8HV$5w5@eENg@R0I;)*^p&%$3z!Z(091j8fo|Y&U=DBq=m94G zJLmzY0{y^DU^_4e7y_09yC@!T0660*#Q*$RwiVd54gOD&J_LVS$Jh>jfCKk~KCrz5 z{Om>e2T?zP1Hj|J&=*i1&mbN!^mUq_!yniMOu>9SeJAn>YzLNf(fs@@s|5A|>xr+2 zkq%IK1pY`z{UZ2&hQ{NwY#-45W$+Jr?Yn`P&-Z^7wwHUix*LEgY#;L+!4K8x_r(>gr( z-H+#Qqa6a%zjKzkUqJX*5dWKq--C34Io}1}Ko9UBunRZ<>;@*k2)e+jz&>CmQ28F> z165!-Fa+!cb{|BzZpisH)H9&+eb5D_0}ldKU?0!}3{y!pJdOnGCzf1FZlml?!PbjbN zA^u+=e_+lj$RFqjZU^=P_W=8W-SqrdN1sEDZehz|e5@Xds zkAtzp!2T4*YF`8WG{*M7M&l%7Q@@XRA7gAg&^?8*2(TBp72*3XW-J-ul&Orhy$-%V z#n?XJz)Z%ndubeD>=>Rs8H}aS^Hq%bf!)B)UK&r3F0dMS3fK!=_ydH?#Cu>rum@N@ zhp{lQ518{qyw75+1K1Dj1NP1ZA8+72a4N7Lm12f)6z7|8Sz)%VDby)2GO_BS6Nq4VS zlG@UfE}c9nC6uHnGvGIkUUZyce%b|hr5CxTF1;vib4t5%Wd723PXqcj@=VxlTCgd)QsSFp~(+Jl+p*kPn!IwdpQojSES!U zxI+|wYnbu7KSi$ePDg=j>JDdtOWl@Sm+G2Y>`KpbrR1gMx~AsxpORJtt_$%lHPKH; z-uG{f=3@r@_Q5aR>qS&}YL;Gm=T?tg7J`f!}Xw-?i8kN^;zt>Pjh2 zTY|@}@awxT%s$5t#OD#?xx{!bF<#(u-|kWiG?okAcs_%V{DjZ zn9}Qm-xBzF$fLxS-oR56WqB%z#@a9=)k`UGr8_F{a(P-U353dPvV+FjFeBAjaa6d{ z*SS)7{^4K$`RMY>hF`78Z#g;mRl{$9JdmA-k*BFUorNy76WPhwF#&nnHqlX;>dHXb z;9VZiT4~x^_~e>=O43C6Q%1Li*<~^fs*~ODn+(6XBr}L+o5S%0a#4_0i2s+RIqpSf zNDjvkZp!vBTc+2E`c$d|(p$SMvA7<5s*6#o=)` z-W`fVo2E)Vc%OWKnB^r2SwBLue%P7kQgb6pvECZXr1IhNbLSemxNm0cX;tOPLN!>5oQm<(Ds^A=~6fH0F}IGs7>|Z z{j>+d?CW|RETlS^XQ_jCS?XW`nh571eFFGE{Ew0}xg+P!>ylDk>A4h)^1KjXN*)Ze zf49kVo-X@bA$yPGX4^dHi~O{M)_&01pqKMz-YBV@sc-AT`v~6G>UE@8^lk1tQ?PvT!{I*Rfc6pqsNut5#8dZe)kL8G~?hLcVlwhMPeWlDpE&NM%%6^5Xi-_Bt#V(a( zGc}*5zcj5>{|(tt8{C6<-+bx}yG6=b_UlO4v0Te9mB%53`!&LS)uEL~p-o%R%ENh& z!3J?N<$syXKjM84yll|(UrPDUN4&LK{;A9kA>0VU-5Xu!OLU%d zd7WPuUFGHYPPkK!r<^xO4Jx1~?Os7!#rw;@eumX1iTY>m(>2=8rAb!OJl~ZmG?xl9 zpIaoJI*56lJTftlj%0`?%@^)~U=>d{J~#&hEJ2!4D3ULS}af2?i4$;vE^pD7oh zD@U5A^fdWUT={<1XnnwPy$@)%w3i%&Z3NGm z)b^G|mlYClUWBef)eEX9&9NQNMcQ+ITAM2cnoWtW*^th-3p7jqEzH!USUG5I&{1aT z!3)!tTYQ$LIX=&Q3QasyKXn@PQ@$8xw3MR+xtgO;|2i3cX9)gt=ryJKV(PEaRV6tuw0779X^tPbI+9ADkgf*iB9PD@)1lC9{aTp) zhdu@uySklXOv%JM&y!*HLpi4K@`vB#t}y$nURUxc{ai}l5kL(ulsaB+sxk5vq#BxD z34WLI-z#Vg=H(BX`#`fko^E5-DRLaQxJs6~JjJexd{=d@t3J==FLmWK+m=8Pm)U91 z@A>yI>vJX=zY7I@NbkSx3xMkkB(nlc7P6lKza#_b+>TtKbd$`g@val^-jOn+@Im;M zd_By#u@2J13q^S9k3)EO3hy2=`r~p<@#FI!ysvyV%=Sxqy#I$^7=ArAWspmC0D>rw zsQ^OHRa_|VePQ;d#>)!Mi=%|AT$Q}dxT#-2xEardSx`@d*E5V^KE05O(i*j&yq;Gg zjz20+iO!eQCENkgXmgDcS{dyjWwsBr_JY>)nvAz|t)KT-hwv`@8)5dN*zt9vKBndg z9diI-k0b2fC>`j3gbq}grc_WLf%$6v{xB<}Fy(rmt@UZV3)8za%sC)3HD7x!q}r_( zyn*Mp;BkcNbv^GW_}E5s>4nf$eq&Qs1){7xj<=&lKy6|l#d{&lDw3k&mFi_o*?7nz z%;L0Kiw|#mo%UwKY^JI1w!?2f{QS}Vm${C3sCX=ug!dB%5x4*4F#FG>xUzIRzG#VClIGY8 zufizpbt`;IO+G8rIze*U$Hdv6Q+hvb*AMaWpa^rDXKZ_k5>n1>{hgbWT=nHHf3B-7 z58X^I?}tNhyWzUv_Q7>0mAa^WsBhR0e)_*B=L*p7R;Th2b*ZMy9l?9|tM>1yt)HU& z;QcfQZ|kaKT`Fb1j8C4ZL{YF5ZpyzXO51B;_L4rwUh3*|I*XI^RwBxC3Bskn9%dKF z@}#&P_)Ui2bJ210lk{1Jh}(v6yLyedG?sM2F9g4zMC+P)(YiNv`M0HVdFDpVA)$bm z+=ALt0qW3?`iuudD&NFpKuHBT<%L146Bky)0)BT zfh29sfWiyCg8HIspFG28D?j<;U*U0xhal3ZM;cda{ydGfoI1s$^1bazq30(%zoN@> ze>$y!3q6?o>+$l^Jd!tx-vzfri~pC$_4ub`{6@{+CT|qKAMPcM?+-+LG6#`~`VvC? zFFB;YU76%+W%7P(nG{gJVD-%7I-on>>MP`Dk@FA!X2>~b+r%9cI+J%gAC~f_acK?s zrVDk+WsmFfJ^{Yl4oP{JJsu-(S|j^6On3eux>#pE-)^}h4qCs6iph1nNnd$Ak$9dD)b z`GR@ir?_FnO+GySxP1NNV$|m!h1sx-n|S?WjjbkzDK1|(ZU?Pt?}pirbv{b*>oFvMM6F~ zjv))ZLLu97#La&H+{z_{xO;v&{KzWoLjk-Anu`$#vhmRyd7~f{v*upka~}kqw(}GXcYX` z7*9zK$KjXrTe%ld6s=p8o0?XYN!O+}Iptq5KmDy-C$!{+hF-mrM77D%RCC*=x>5-` z?Z3m^B3_$ZjvW5nqMxB)Hd(w%wW)oskpl1kK!4!(=h*)tZuuY2E$+fgQNK=}TUVfI>5RGZ{;1IN3j8d~ehSnYCG^G>l$ z_!sgShFJG#oJM=dVfMo`#eUvhU>Y~7o$uJMqLlEm?*XlX;d7J4X~f+ZIk&j(%g|4p zJ-4`xbcceSTikt!dsG=br?@9Bqy4&bi>rPL8!>;lq z(lO*X)9Y{^{e~ zh+BxbMKW$K;^rc5F5+Tp1{ZR!q?Ar4$>vd^Z(X;ZmTZR*d-akR0mH2$fW3%CZ^GUA8khj+U&id^m@ zS9Xyr2O4RS%Twg4z*M)$RbS-t=eyeSF>lSsyfq*5)_lxc^D)5ZW1!E+fS>Q`f$N1k z4A%#D46YyUWKy1MAZe9LEfq6QnvBsH)`|4HFB)W-attF~z6*Xw;HS;s%8V%deJ|cm zOE=!%B$luEd!pH|(z=5|ljMFHejV`pgELOulJoi;r#nd~>CycU(a4^TabU{1(;(iq zP8WAgG~TE@L-32hZ%0D9ygZjexQ+o^b!r*kL*{p(E**@!UJ$|iP=fc&>LyF?1`CT=yG3NQ*z(tDk=ikct-OCT@buse_^xu~o^lwfjjnk0F@+-t$ zAe($G)$>&noi7?+ccDIp)j{S+MtZkBG)jG1VpE?A(ro6=_kU!XI~%(b#@zWXDZ2IZ+SAN}L*7XKwnnQD@xSoI4!ax|Ul@Yk|Ql)p!4ulGg?CdCmE_ zqTHs%ztrHh6Y<+MUN23|E775|U-xQsoCY69K__LFl({p$%nyT)=QNrB{Xsqc6#Q2* zOXh?8;#k2drVf70l@Zt$@O|MhG6c>Te+`3T{^ zDJNt;o;Ttjr#r0~G9S;!&qp8rn|DH{|EQ6VX>{i`L+0br(esgmzNB2EbC1DCE$H-Q z$b8%rKOYsJP?Y<$eAF57_ac5+%ST=OeC$U2JzDy!jC`Cx{FK=;AFD>sM+(N;*EKrV z8GK}330cpUd|Vfw5A|Y<7h3$w4L%y_Zm`D3<)iZv0v{LtUecLl@NociGOm*HoD^T4 z`@l!`@1;Ed(ZS=>_;MQY>#vgI3;CbJ_(JsQ9M3hsmt)2o9XfyIvlL}&)}UBtCV$hq zshPi$OBAJ8t2nI$KvzR z2RJw03TQXLGtmQ z!N-)V&~`LF-iyyi%D*bg8jX)v4L-^d|Cq+dtE2PLhH~AY@$t05#~!+~e~skh>G*tv zz{i(0J{~dnIF9)3*GN7d8J!P0`}MrW$7X|%8CRq1uaW)U<_F^Tds8n({m|l98GO_t ze#*77->Z6H)PAo6d<<%IiUl2-_U{Ls5a_IRNPoVcQf#yT>vu&X(o;?vA+S z+=lr7(Bi+cLznL%{C7B8mh&q+MlI))7oa@;DCPU4!N+8>?eG~{&QI=$Th7X5in2h9 z|A4{Aa>Vz1MwasfJ4P*Me=6FKMyJ`}V;ATg)A(qP&j;Bk`J5L27K4wYh<{S!gZxL+ewZZ{ZwY^4t6df9F_+&^l&?E)Xu z{v`P*Gx#_JI&IfWd6dPMM-TWY*5WTV_(-0IwsgIe$KuiDL1(}2)aYDc@Ua|p(r=J_ zToIp-9L&kTq{UA&_~=A@^#;jD+UR_AgO47K&Of&6d>kd)ei|R-ABT^_;Ny2%{13P5 zd`y`Sx*8uJZXcD8?28m-;-4j*Hw->1$tKN>l8-my^Wni9eV!Kod4rEVi0`>k^6~uW zeDs2ka*fWTf)0(FWDDomjdI*1|MMI-DXk^YS<3z_$HH4gS~=vd#Tc18$OfS6#ycOr zZ6Y1Je<{iCfC%l~ZwHOGqCxhb6O|ZU*>c`vV#{Yqwg8FCpl-@6XRzV+u;U4FLK`?i(C>V<3igr{#{9q zcU=3D3SHev0pJSqSZzyxX_}KwMvyfKS`RFvvoEO=@#_}&te25xpBY??{_e3s_Fu_~ z+B6mMGDqwov88ELhKEtt7w#Ekf2TEukM13)#pO$3+?Mjk^MQm z&%ABSlcMfAX!E4cY3q0aehW#Q|6W420teY|Cq|W>ovfE)fVefuRI%<|(DB1C$Yj-k=FnKjF7aq<^2YxMw zPqAwsTsK?~Trb>VxIVaJaQ$#6;RfKsaP1R{T^(>CxZQAFaQoo8;dLOP~uFKP6 zr&~CK$vn(@9z^tg14MstkTp&EC(vI$A%;HLyIZ0Rv8I0p|J!5v@4k`lSq}ZL$tN8h z)bh#yJM^g?`-%R)3^8V-Q|V{+*IHDnk~HV#NtSaW^1f;>=tVv;#NJCp@8;OcFBCU| zxS>y;Tioni^hcMC61TzOI+!jTq(T#$j*5s{7WXp(TQoMQe)x0D9!nG zYx(7gvj8C^P&sdiouK>dtJ-4DmyEr2P+h^-C5i+IPJ$C4K!OBX-))FU#DDI*V*OS?;cL_hc1zuWSpnhKZF=leu84( z2tXwMR&&Rlfax_P50xZI58LR>O*R_B=s(w4?8iaE;O@w{&3fbFC1j7S`D6ay({#f8 z^i#>#qy)VDby`=Hk@}g!ww%YA3~|>dgYwbV>KW6=xWw1;0h?8Yar#%wAhiI}x#J0z zV^bARO?{k4~KyBgbjG4L`U@(cIz44im zgzdD1!|H+4!mE$XGnL}y;S2Ly??16< zE;9K|?%W#3-8w*ghF*M~>JX!HEcW;qt1EM_#j&?VBaWy&DuvJv0qYGlAdKJs_I_K;9%yX%z$|?-md=V*0OF$(wc z0<>cqI+rEO1Ftt?x93EycTLIy{bvrX2TIhbgIy7ha~V*TUoAI$nt|m2 zbkY-D0G;0J+5j=Pmtw{!)|&U@bC?MFC$#|1hofvAs-*K zc@hpTfzfL@=XMi<+&B8b&lN9P4|!}Sd-8$XwVWZ#2&%RQ079|qx1#diy|T?-XBUa( zi?}qojhB5o@r|41n@(4fR<2;7`BW>CYa>+926a75eg4R3h#7{@C_&jVQR zig3~=Axh89uSCqb*iD*FU>;Bz+FmqLqJ!&8W(0iW8hNRjSt6Rbv9UkLJ2e=1_Hdw~ z#WH8eedpiF_$a)$D>>Us)(-d_*ULOZ zLoyU-n$7^>&eSZSewsn4q?7w26Y#5GY|ZWE$Dv2 z)XufjlDj7R82i$qG&~du$98Bu7qY@gH85K@UwB~RJCdc2ZSY3kejQmKTm5g|CtYF* z^Et{>7f?9Qc=YW!*?nVaa?|Tx<~&08b29b$QPKKe7Y^4HfV@lsQmgt(^8S7NDFKm} zU?k$uH0fj9>h3bK{i6K)rX7p%$}D^@W$ex~blFSXHrAQ5Fn?(!z2-_F!c3dOD_vja z6s|SE7x%t>R=)lIAotk9;^$>kDc<%GN;`MWm3eg$Zs%>m{!yKO%Fs92r$H!1}Iqt`| zH59-uVlR=+kpEFDrlCCf_}jOk!xf|Y0EkyQT4%!%U|sWivmb1odyJ zd8v7)9Nk-%oj=*YFrY0(83O-b_TsLeMfzOgvvs+dPa1T&|4me2KSkStb;2rSC6Mi- z4tDd;4ie+1IL1$Sztr^G+m}pqj=!GNKN0s?+kL8RUFS~fvOgtoQXfwb_&m--C+G>+ zdB2!F=Hqac**2M^B7UnKOt>Pn|9W*-0FG!?l}~cW>-ftbyzzdyBAoq`(~u#qt-7@a zq?~hjb)1zBhG^#%-q-|Y;du)dJgcSRJ-mIMg-}+C{H&A^)8@A8(V5P^#;C`?e%e%O zaw(e_`*FNM%A_Mpi4gucN;$BP?#~X4m1sGc2d}?fxp5ArCfBT#QR*6ErR7AFyc&5)%T{F*s{xjFhIN=d7LTPl1L_!bS@dJ}$vZk#Yhm z#nH8mRypP^-x>FPqdG2G?d>EQ*#wwokF`*_^@$C~c5k4E?!ckixu*2wrtCOd1YkHt z#roi8+C*z0h)w=*?U)3?#gfKIu=Q1a^)9MLWyXahY$WCoskEvTAr3LJu^o%!DHz%F z&FH(oH=kv8CFjb@PAKQ626+dP;FhPjCC6XO+1yvb17-gIk_vTeF^V7d*?HRyZ9neF_o8HJzvq@<;!+3$jWL9uo<*3G8BwZ{%^YhVE7W~{Va z&f#~ZTweJ<5*BROM_k!mHTRN#ZSi>*xcx68Z$1R01#8`=g`vgUZsT30x6>|!dS7&? z+Y9!cEc*{+f+}x{dEx&WQ}yp*ni-O7yx;!6B!D5jA30(0gWsL$z$bpFJ?B{oM<>0q z<@~MOlW>_7XUR}o>4jg*D(`|NVSA092|;~YZsb4k%~&wfu5%(DCEpq{Nw~}vVuYDN z_7w%gbApDD+!pk1cDJf{@-I^(F#Ag4qzF`)VLK%aSk9_id8#Q{wmnduhYsA92nw&h z-oN=XqXXioQb*sV@HpJw()EJepO+}Sk;E zEEvb?QyR!+bJIgH`_6~1w<}5biC5nkoa1+k5#}m?oS|6*h=X3C)~Oza<4+&@ryv~) zxe7k*v99|#LE7~<1%_Qr2rRQ+)&9PC1aKhYuUsGqxq68c6^TyBQ|Q65)0OtR0N>=; zD6Z90)+=VHI5obFjL2nPTh_?B5YankuF36;^{F~1H7K<@g^e-2B*tWZ(WYRHp$wR3goPQ7b~I5FGkkzLAIg8 zU#tJL&SLZ>IHyREGIt$y-^Fhy>k9VXg8=2|DcasJ29_M7vZq}Op&I|(ygm5(1nkC1 zjY?}m8t|Q2^X>j7&ORJam+xkF2K`e1HlT^AY&}&C0EKCLCQ4@*RVZLia~?^_H>+N? z^h;3v;!ynd&|>=Rg$1aiOtt?tt8YDh0dxNOJLPV~?e4FJC2h-Oiw1=_FZR`B)Ya!_ zPK#_^o?aW7q}P8-bi+}9p(0NhWs*A8j#f;D6`$rWeh3G0$LsV+%w;7XnJ)>8y z&7yFlcEr~$1NH@Bi468j&YrcQxZ|v_?Z`uq>&W}~F6^e*!y<+Lou7}g0PhZV^-au$ z9C`JK8ry08VW?|F5p=Fc=*SyCg031r1)BDSy4qJ<-;uVOouYbv>+hl{bp_#!GdE-n z6_^zwzWgEH0P`6`^Eqm|nRW}OVZbbqpe}6 zwrumLr^;~b|3p=r721-&7wEjLqI(#?c53~y-2ixyEh2h&!c$tK&ggjSygQSOr7f@^ zpO9TuR9U%>+KBPYAI33u%Gs`YyBcL6M=_nptL(eN`SAA~3w%cd!e6rb&RIYZFKs^- z_u2w!zbvE%U9KSkbvs}4)BT#{Gyj?~w!j%iQONpp%jRPTuleT5y)7PJi(H0l-mjtp zYl5mt?=v}q@>zJ{1YL)a+a+v?5#FLZZT+M3+DNljHpt0^kQrgK;q$0`<6B@=BYwkw zi@DS#|0Bev6(?60XOg^u{sEPvOGzm|FE4LUW8e?FKzJC@*1U!a8Lp0wabePiWR zZX7tnb1E}4HFIO-Lro*u6XklU=Oq8#y5rRQ>&UKCV~o8sJ9vo82>^4Kk8vmZBGjg! zm;`2I*~-0G$mH!CJ8o17vnb|^abX{YyMuOg4SQ7RRn)5hSf0Eha?QerqZ5yx>897O zS0}S@OXz6BXO=8jpNP($G@N7J+?5DxZZJdFkWIOXV$BS>4^N!&RGW}F)vv%DIO(?v zJH>eSO>|~~_4c#q$JqhU^Ski6i74O&e7;!nr!7R|l{EiDwoCS@o;vynVy;o5R@J~~a0;OHB)j`e6*>oqE4vIgAUCfmA;z$SQWsHvyZ%edAV8^vPhJd6i? z4d!KPCPEsvC!U4n_>s@Ow?>X_&)8iJ7}_G9c0)DJUicyNuShQ2vw-!mW8c9dhZhFu ziOSF5uglEz_U1Dn|~%y0<#S( zuh=)UI$-%OVK=8@k5P_xU3EFi&wmVVA50#&FZyn@)g8CY8yGvZ(>-mK1JyKOpgzI| zHNkEy2ysR{LaJGJA3B(1-*gpPXeLQV4weXSy9S~HClN^nL`XTZazSfcG+uLRGcLg% zs%Sj8{w;zO7lr1(o*wpqK3U|}PQ2T{N6l8jtm?=%Fv6{-liRQ@f)be8lIVmvj1|UKlNN#RFgOOaa5uZE19akMV)ou|Zc{J{{@$(N@_%hN*UaiPIAu}PF zXEySdN4AHE_APfN-saQOFI+bwK(xL2A1a|T@wYk>{$$VR>JXjih}qK*9+f_GbOJ~KW$Z~UOgM&p$UDyPUwA!oRw7-kT?~Un+;J_{=Isr^nADQ(fb7JiE01# zYdrwrkvR(F^K4`~IA^1|OGE>BkA2s~+m|q-iu_c(J;h=L4h|D$Og2m0X!-OyftFFe`hc6&)%w-L%l^09Z@ zYYbkAM7X_{^xB@apFi8*n{qn|O*a0}{4)QgviEP+W`+7}1=u9V2{b}mbnrRdb$jozU z8mG0UI|x6xh3<9kM)iZ0eC#I{nRRrN@HLp{>ji4)Q^+@vdm|57_~7M|IvV-8l9iqB zLRQw!FXB@{;$3a>3&M#eOXHqDFPiWGRl;rg4{L5LSHkZI)h)M%Mce1$c=(PGHluXG z^!iZRXdSM?O*7rP`wF!F2$+A{;z`E}Sz8mVajDZtl1 zT1q#0G71#$Q}%Qwrj?fRk;W{$b$@Do$mX;-ercTMrBTRtH{8?1#@r!8ZcEVLH*esz3Y!jwW@o8 zjv%nde2@~!sp{^16~p$qQ3FZzGDaD1jp}Cs;{6@Cf z{JVa>0DGHwq)+Inmqj(ODJxpUz;oCAzO$U4zkX)u3-_1@h8dp6tFN?K#ofUJVz%Jo z6hDbcQ~XNcrzAX6Afa2zJ5;b?3>oz6$hHagTg zZu)g&h|}-5;*;@TiY8HWIx;;y7#6%bxj%MA`;&<_+rSRbnM_Ybx!%>-?zMS@MLrQO zt0NK_kJohQyrgG?Chv~{5Uy?FC*7sJfwcD?V)w+Z=Heqx0$&CD2tjt0W(AH=GLCTP zxeBkO1Hrj$=0>jKyZ&%q&obsI6)r}E;VrSa23R-u{@!Z3`E%S|je7zD+TI@nuMKz> zXuexqf(=Bw>jp$ewK`vIAj!4R<|7Uj>IHlfgz zOBRM;YdN>QuT{%`IX~{A$hkRwt?K@(0c#&G=Y}1c{=uHGt)&r*vzGN_FK3+$W~1`n zNMUMElWc0TX3_ss6LlxwPqSYVTktS#WN_$BPwUs-HoBuZeNXr9+QHTO$UX}ao*vW2 z&Y9eSP94Z|Lr`8Vk~XRu#$eWTEl+YEOaLbME-EAU?jy?0)*H{* zuHTng5?6`_|DzF~mwZVp{PX@T&~mYtYQa{!8PTaxyW9LpsK6G|?uQk)7vtF1&I|!M z!Q+0sk`S*5V6EiVU~1;icfuygXjQn8x z?4>Y8-lFeg9lODOmI@L!54X0IHm?WIJL!*()$A`*|E`+i!lWA@ z^{E-pZc7dh-+Sf8ul<&h*VD(pg-WnRu_8os{b$g58T_pLD+jmd)N`Qo?><=H(!@-j z4U2Tetu@$YqPyWtK6W#oxn7P+`~F(FGXay~c1Kr-4x?9{ufEPxSy@m;TPoQ`TLoeB zubVH#XP((PoFr?mw_gA5FbiZ0>yZZ9cx`wjxD4bMz>1NsKAzVo8=4j$MdBdE&2yQUSrdag;uK*y9x?BWr2_bDMD+1!7TwpKSD7D#9j8TznEvRor*nZ{=>od z3@fP-ySUM(-aE=hV)F2F?j*n&zvJ0&3+~?NY~c1mbe$(Oy{Iu#glKJiZsHi11+QOw zs^#=IeO`Xwpf8pyXFq7jzvzn zs_iSB^ln;5myR7a&oMu%%|1(qHn z7rv>>U4$?(=N1>(A`LS$QNM<7a)J`0y6{fAyaR+FK2!u#ckYS^ zhZu@)dD=dS;GjL8K>oIg#I;{-y}1(D-mdHaIn{dFMiw#il&IGmTcb5cuOO2+Vv<^Q zNKw3PLg=n=f=$DLzIbeqSI8A<`h~hFS5!V?rJfc4?wlvuao>!q=umok@AMY7begaN zAq`9+_wcLIrrF=I(dTb%DSQfW#qShqVZQ4)3vh({+i(krJ-~mU-*<@%S)jCMJDY zvOToZnwE+_{$6vwkI)FEyB}_02=40HzyiLO?mx4by}|g-Dh&#lAob<nd71j~w~8 zMB;?p(!=Wu{B1Fa1;}^_ChUpRZHQ%A*#^AcAKUm`-1q;Z@)aL<|K)w;`tCo5W=b#A zijgvWFU$iFGH0LeX*5_0CEx+4fxe)?HzO!~&IHO$AD_YT>_vetdKgA-sy~|X;HQ98 zVKcRKN+y6j!ttq3>f1=i5lbT#Si2m;>)PwUzPtNNTb|O%Dbo!z{Ug9kvyn>|Z`%~U zWi>pH-q0*TgtakUzZ@bNZ~EaS{RIl6-6qi!I?>^qkhZIh>l9rZ4>+KO@vF_>DBmT( zSF%vvbt510RSh|OC~AA-|vlX&l|fm=M1$kGqi0s zw(>X$uNGPxsQ+y(cziw$ls~(WvX^3R8t(-i28S=JdC9{ z`cyKQ*AIAD$J$f_#-zM-)BOS4)b84;uA=$~Ds7%sgN{8Hd@=?%I)T-rQ#I{|HTSMN z<)ay-Pn+n+%Fy|XtooSEJDXE>(o3|=EnZ`WYl$|uqs@=g>ISBJKAidCE{^;r4NWEO zA?Hp8Q39pO4+UIHYlt-?rW^c(7_|Q0vxf~^kZkLI06Gr@xQ5nJct@a*NEoNrShc z(X7qY)2;0rKU`gZ`;IP{bjal2;{t-y;>7s{ttgr4n*B!;4!u*~YDp&F5ceI9<13vK zg-!_9#2|xz)65y@f}7aAYq{SsXbz@F*4g-|mmWX@z%Wk2bWYLjp= z!>^Hp?jCsRf;DUFCFmmf^FmY$spi_;^|nT5w>WPz*^gU$P!>D=4aSZ2_;sVCy4N7J z9I9b4_o~ctUvUkUxHbc+Vj?@l?b71IJl$V7U=<%O*8!ew*`d#ofW+#O|-FxmB_W?}eJt(pA2! zaNPWd^NgWUJI4`wx>Yk@1t)qk!f7h*y3P`WdvLZ|Kil$|Vwq#r{{k}f4jr^}48(^KP#CP3K={wW;KM8M=CO(v(GJnwWX z%--6BlhH#en{3=Bp3|Zu&+=)@MNn5sRr?W%)a;Yy!1|EGomDlW_*hFu zVeuUP8_WafAuWwXEwZ8QlK4Y|d00yo;eBLHBg&z+Wv4G5AJ;HZEHNv=7p>w?!K9P$ zx(6Mzjq>(pV@5QC)*#}Xsh{XxvU?t6841c=u6WMgNZpI@XIsdg4B;ovMGqKVcn`(3 zrzO@?%xLE*IfBmlfcB_~B-SMz8?Wq(d4h6wTFCX-mM^xj1?b>TA69lx=w||+rR#t^YQA^%8cJ+S#+1{Xb=59);QN{ethC-ozXbAd*pgME-G04 zO&csDgdaGu!EYQ3{vHfTvN)(@s#>aj=@v2{41Xu3X;tbOiOFC*@6;=*=N)Cr>61tM zf}`oxT(}Ay6M?*ik#&$p6%Tdw*YgA()54YSdS{9Z_EJDQp-O3>JEK{d%JVzN`b zO6$aT{!`Tp7b#zdAL)9t`3wYJonde235XR^I&;2qCus@nFN-u*x>gxhU##}ob;VbT z$CQ6O0|e!gTza-abl{~xCBJClh4Cf#zF;JVBk%ZYfus}Ap!)oeiGc9CRMx{X$ z{SAjIy_Jf)h^`SL42_G~dt+f3=G5b+rF}U3nN+}QdLX66@$RlBc#FF67FRxfn@jT2P?5TmWVUUh#_eZ?JYcmjYH zG62ze$@}=}${FSj#s}w(=Ap)5c&Yc)TmE1a7V=WXCe@~Y)w8GfaycjH;$mVu7o8N6 z@wE9>%HvNB#5(CYy@xDrNKlo^0LghOsiS6J#a9^<;pN8^`p6KrdO1*5!d8Hj#*b0axr5Wh zOlqA-a_Y39nBRMNwCTDKUdT>#Yk|y{QC0?!fjmMMqr;A4!j^ED!#^~%WJ%%g+ELyy zuU|~-WnLu(p1&tMRf@XLeb+ly-gfUq%|4$cqrz<061YfI1=)l^(p4V-N7;IpM$@r@ zu-+MUX#3xZM>{nhE&z|>?kj%|USJ{Kb&yAx2ZK5XkkEtsP=l`!=bkDDdcvCS=%7C& zG7K^T^Dy8uq|2$;#wGUP<9DrhV(Ir_kp{=iSZFw&Y?*S~&Q{=f1%p7N%L+rg&I3cs z$F5XZdu@vN}rj>Ha1&rBDR$^8OQHBvgD8PGEmyFY0x!axIVYFf)R1;>LSV; zPpY6)b;=0L&g+Ojv6fO3kag}#MEOv4Qmvatr597gmvY#_h)%I7ry?L3?^2L@4wiD* z#AP^$ik)TD8@-`Cfa01?2}4-JAjyII(KrX?f&1t$31i};Tg4se7?PPtMC^$41F;LFyrp01ALBjV&2>9c&V6Yu_db8N*XLDH)*-wCD4pd$W&z4=asfq>!sxR{Sc zcQqkTmsz(h2k1cgEU4&iopSx;Fa5-HbVE4m+E;+jl8}v=yh)U|&MLdgVZv6R&8zw_ z#{?S84HP6kTxY}CBO@y7hQ^B`!3AlAz!3w9!}?!&oS3lgeU5*Bb-7{s=F(Tw10*b} zrR-$WGP}Kwd5C#8Xy^O<>Y>#(p4-4vpz~##9szW5WuOUGEtvdP0i*xwFUeFZK z28~xm$l8)r(VokkLQ^G`cI{%byBrG4;9Y@U_#=0k#MBAswHjgV*PF(`byo%=iuQ+` z5wg$td*V^au#*L%q!ulwIf0D*7l719jutrqF5? z9UR~w^+v|ToD8_69@W4AiL?sGwV57FVOWxc!RLZnVQ%t2@)`)l?T`iBBaGt8gOmyJ zd2?PT{)3%P;#m$>l(^D z`~3wh`;`2{n@ty_bij!DNRO*8z%K$jjDDhZ`6bcb*SeWeT#oE8^GPJ2qxF@wOX9~~ zVFqP^$(Hf3p*vUk(=?JNizD|!|4-|$OjX&aooq)!jj)V+PE5LSn1 znb-AFuhRh7<~sFQUcLKgT+c31B_7-(x-bZ**kfScvq~%jDCD+2Tge4Uu9IxMTaaW_ zKKZ)jbHuAL!-1o^XJ5^R2aBO3BOT`Gth)ObkaUt4&Ex!%|AP|`*r|iUcP|0#NQ)^l z(LU}Yn}4?TeQWPnGTuK#uy|zaPDMZ=zK1uUDY488edeVHHV!N&`nBZ`j28p?o`J*= zGD*EHl4LZRq6ea6HHP9MhLaDMke1-|!vf5~qW^3ky#F}#erpIGov{82d{hUCk!jm{ zV723a^NZ-Q0~06fCnH4w$wlK{lXAWI{{G{X$!$Pt-2veh&Nyy8=;|<;k3`^x>OuMdbyq|2rDsVRgo0MJfEtApf6or73^`D z^6RHo*cei-qt zW8Vt50h^EHIoz_!TlqB);i7IkQk`awqQdWQ@d7W3OV=+yvOrg&d4IW2k&{F^d*R_2 zM>=%&wW_P@$7N29j22@&h+IZ~nbjWBy}ZaMs9hVhdKuh7qB9ujzL#N<>C$!|hV=<_ z@E7%v$B^#qV;K{AiLcPjpwin>Tr8GaYDoY;%G|YN*?BD*w9y?9O3=+2nvSdJ`bkeV z&1*_QntYe7N|+5sMr~CNkc4nbXL;oh{;9f~j}99Y5Uu`>;=3j9-v}t9ep6S^a^NB} z|8$=$s&$lL<9I^+)9k5^FO)xmN7J1&yd?|YJ`vJHulF;1Ahydc(^AX)rHPw|`$^(U z*!d~J0s93@79$-Hjxo|1z&J*({O>5y#6INAg@(}|2`PAymj8&4+2@OHQkm^z^>?gZs~><2p;%&?;b^9yZ5XpW+j1PIH7o^|>X3?jvsU~>R{%!dOzqhu0NKPfLCs<1~n z^9vYmy>^60x5TBUNS$iY7}vyq*ha>=M5yW$1aXsoR-~9cA7)3J5MI!CqR}DIbo?F7 z!JCMgF?={yK|Gn_*!E4Bw{6nD=}kGLXOQfkA>1p;-K()()g<=HqpUG*8zKb} z;zOoIbAN$+OR^vN-`Z4RgC^eOYx~P{?m18bahgGX|up)H(%r>p0|xtZ(D8$BXa%-lOT zl!45k3tz{U`>5n?Ncu$tL(!qJF06^{bwS~!IV-3M7XcBG znkkkj9~ag5iC_ld;vmvm7u5vys-vvYSQpm>zK5!vCZVeEnO2q7NkvmAH>4NkJv1CD z%OZw!L4g0nNZ61%NDoJPN$C}*45y8jK4)6g5FtnyC7sqf_dV7eC~LH5IW_UU3@C*+ z34%dCf^1Mw{}1!=7|j+*6yXd)!117|$YGK+WDWX>)1EqhT9$ub`Ai%aB^p4^e-DfE{{mJztuKli$_5Ue;&Eb2zB^y*sOg_qLzNcqm$xhLOv}IDY!YpW82q}~gNLM5sv{63FFwqB*s46Vs`Qrk zwk|ls+7_&DDUu8a4O=@~epM`HxZ!jYEiW3sTnzHovdmK4{$gPItwQ{d_n%1Lplabt zNJyamus5zEN?EKQPp%?5;xoG6KA=R|Tdqea^wVFjoxwKb?Sj&4Xjv9_I6-!+cE&9e zyXxo3rOnHb(1$;?F}+5m3;tO7#1;`Bh$*R9?x8BR&{h~#nr0N`aJLuq*I=T?PoaN1 zzJxPd(S*n1NSfGp@hq+FSKC%-bUHixCwBd~S%kLaEF`Ul8Z zQB`pRTc5F4idvkUP|__RAxgV1WO>qw&8|yqQBkg({5U^YQ#~p|pL9dEkE=o&?6BZZ z@f#rqujU9sbyf3&S9{#r*}aL#MwjTCGf~5nj?!OIT|3QO$@1#i{iNfeQ0(CZ&Y*yK z9!9NHoG38oXKI8bA-2x1o!tuE1(hRcuy+}-h#U(dOb&m^^0I84J6rBeZXo(yl1p_? z6AV8vEGIK(KjjSHP{g1JioAzM|C6JQ&IVH&{NoM9S1rFe>L@NDtY(ycOk*r3?=(=T zh&5(7Snl%oQUh+{^EVQVz=X1|2;W8J zP)nggYBf^KD*-1VIcIC^ZRMY%IF0p&s;M5wlF!1zNzJIC!RAaHJCaS}RV@2~Y^42Z zr|4#8sb_R_d&-izh~DI8{yoYEX@E-ax3PL!%n#n^pUXx?*=5Q{wH&F5try-FpNL1< zxn)P->mw%eztC`~%BRMh;$a&qDs3fn=yEQb^(!M@X=rs=S{V)GJ5A=AcIIJN3%g<<7P18S8GFpshc1;?nLL!$DHXg zk25s?p3r94%GPFoY?OEvMX^Dy`caK@u_fd(ei>@96Yt1?3>1=YD)s9`1~6$l7HSNO zHviOHXS%2=syFqI8I8N@7^XEBh+ht}_Vr6?IX}^x=N1dfpBvS|bV8V1^;O*pg)^^% z2C9(6`iOAwWg=W+rG*2S^0xs@bjnpcY5-)m{SWYlz8^d-s`SUl$env011Jzr{IH^aO@ALGEv?O+#K$0>Eu-r+ zjHjKYYcKS1#3v{Nep!EUNJ8&A&rDi-s2e}sJ((qFQXM>YLq>eJVP#Z7f_#5qlCeTu z*}nQf^rv^bmVB9PcNXPsiak1b@bN2GL2iueLUf*KLKWJvyO|A&>L;hdX-@~TyYc6< zkLIS1NSkCRL#o0~$GU{b{%75ufki6D!-&7IRdiNl?KP(Y+B64(6+907l!8Ws?~alE zrlP7o@5gkQR@xhVhQGF6$618o9=601;x0q9(RIXOB@X7|fc z;po&}E6g4pa~~ixAKi{+ykipuN~VyVOkyY^8ateD?*UrO&)RCEZ>#H=Y?ZwwrcE3Z z(^reXn`D>XDS86Z1MOn0z-3GtFz5*N6<1&RB=_P--t` zR|Bx6CY$nKi8kfBvI;VbM3^~>EWQchn=tsdY80jV%BQiv2$`B1)6iSz*8c3~qRm?W zqp5+_yW+d$kg<-JXaGk48A#zC`|aD!Db?GXYn#|PCwoU(ZXMePwGaJIH9ltYTWdG0 z#*ah>1z!rZ^l?!>hNZk-sOi4&Lt>|_`!TlAg6|*9q=&lrDQQ`L zj|Sn)zb~rPf5Xwp4ZOeZs#w7rmfu8*wy>y4oKw~QCLk#vEf8PjO1NaJyN9-nc#flBU`$<>z+Pci zhs>fNh|{>z5iB&!I`I{A(X}5J#Z?VPZhw>W2}j~BP~Z1|0JT6$zsRBi6c%|F6iuI6 zT2z>?o)*TwI&SO9f>MSfK5td7t$pIAqTE|m1s2@OHW5U4XFAgowJeFdlm$GAMku6? z9n0I7&VED{+y`cPX`Me@t6!+L8+UB;83>CkmNu%HIcJ2TEj)e?r`gG9=SKYtH?ByU&Cb!} zx3|I6$${esS%qWVUqP6Lsnks(^Fi}`;boCPPz|pFds!dO#`Rm((29jAO=?lsvi?nO z4b=4+Ufg!U*P^Nfw^;N_8(9g|<)~IyTM_ezl0;1-L^e^ssBT@Zo-F9qO9jgd&dgxgD`s3=K zjr{-j_0LBB_EZ0iOOQ~<<#pb0q#R92d9blAEV==(%FN1CW~D9k(P##BA1KxbMJ-~| zXzN58Dx(oAp4j7$!Ou7}{%_*-V+l zOiq|H&C|#m@-@p3cX@^zL%wpPuj@q1MQWV{1uo}>xfi&StL?_A^ai0~#mt3f?vjxw zQk<)aqsWjEbcXoCrVw>y3di#n4CO<^*i;^`Ej!i0_1izOmgJWI^BqxciyRSY*kF`>eV2jb7#)qH1jFi zw=q`7hj|kuAEp8a_WNoq^N%j{fI-uCh0%0!wwUYCF~CRc3|Si^8y7NYhL0;W@)kP- zlGKJ-Vj^Fi8?)|c+VRJ*Ij7N`&~dSQRX>_lwXwXom6j%d47CyM^0@V|+&KL|Y=6VP z<&EfCQA3M1FTG9^j%Z{yI&Gl8oG+;ex>bD2dAW`{n_iC25?9%-{Vcbrp?Lvrd6=UR z^rKH)Dy$K&_T>m;dC^!CE1s>M)#Ex0vl<#X=Cy}a+%AJ5D{NpX?n{ME$RCdHJI3fI zHxs%=TJ9clNk#<{Mbk@$udrYljI&)d0h)xKGR%1_vwU@)W+S8hqhV5%P5W6agz6Z{ zbgQ|!xhiamwNcmZOfTUPw`_ zUbCTal!A>6lkR``YC6f5zZfLR7Tx)@LI57PTaq|01AUfWIFIv#RMs_C2~QCO(t!Rt-*g<84}*Ly$3Kx;v^)Ol@`gYJOm|~Ll{hA-pY+g% z9om4Xk~qWSBtHU*j#I?u6JOYm<2l-oZ?qSTx0334fyfMG3=IdG4REjc*#_0e4mXGi zLpD(+=3H~~lCEOQf*QwH5jO0DykM}zW@@k_Yix*}@JJ+o%kfjZiTmURO$PdGn@@QV zvS1yArIHylVJUdy@v<4~<&CU1(DLI}9qe07BNE>CFyA`bjqAHaYyZJ7)IU0i(#_vx zg3st{ih#OT1uEIu4ZaBmttsEr5}`Sy{Cq(&Ki?l_&)WVT4-m|XBY!$tTT`z;T5Ifo z#X;Mwv@;Mn9PL;&eGp5ro|$t|89bi3$sc<)biAd8YKU4UV^@ewM|`IJYctsKS$1@m zlA5?N5#gH_<7lcuf2_vWIt$#F;k1Fi)%aQ8zx8Ff9L-xCGm8! z1exK)b!}5doB=3TBcDh|*%|v&^N`=T<(F+nju}{!)lPouAy$6I@pV?3p;7mCVEyCp z5RCe1F+Mh0wqA~oP4xBS<0xJ4UX6+qRjxVznDHs^q1htdq^14{@0jt-e>n`SS4}Am zHG;89qfL`u!$vaG)-hgwZTRYq_P0?(Wi>~My{mCX6nfZ@-?xHnp2l0g8VFKdSJ!!K zviS;d7$-t-gC-y5yK{5LAAda7ep<&)EY{S5@Rc2 zd@4gPQM%L?X;wET1n1aly=K_G%JGKfr*lwCLV}O%Q%W zZG<9E;*v4+F8bpUQQt-!h0KgEwk-3$mIVA6<_BV(k9{&3&|7Cxdnna!BI1iz5$;nq zfCEzL3-Wl;DQG!Fogm($kZIJrXKE&{pMs^;5@oW|qvBWA`YM-MowzZ`FX8-vQHuL` zQs93^o(c6+H$PyMCI@JzBTRBj+I~mp2aM$T%s?Ng>*%BH6W#uF=FwqeZ>+21R*@=9 zLszE)1ou3Mnb>-71Ay3$99q+7=LXUm0#M6%5ejWP7Yp*@%!Ak{%&Hc5o~RM;GElZU zZzYZnXg#_~9Jp1)!W9!SZmR5qj`G48!!4 z^Yel9bWV9XC%ll+O~{)if9HU)3(&^4a+>1U7u?N4x-%HrB2G0cLH_lT#(kFQ+(=`5 zF~sE0<^ZdM;eC<)9H2EL7*13PhWufS&X!*GI&XjYbfl9d=$GJaRDIBXQ~F+Ozac%_ zd{Q5TGAyn0nXNSKKH;4nCgH1B0$t2^KqMGL&CY>23@6^IsLP*?V3>dmnR921#e+eq z1zU`(mSMJsDinzxKI3eevog`I4^+{-k8a$~BIyt_IDFcS1KTaM0?+poaoe-eQRy(6 z7XAPk0WhKA#vm1d;qq;v3#S*&D_S^x>b&geW4UL+d>lGzG$3-poTAdCx=2&`tNo$+ zm5@<6)r?sb0xoJU>gXg>{u$=fFw_iG@xwmY4>i4wgzRyV~U&#^jZF8-23x2!I&JBbZlPk_}mE-$L6XtAeK4!-slN7 zjg63x9SDM6uQsp}yYy_MY=}L6!T}{?xE3v;{AoLHc`y`+1S$hDsz`8Ez>eL z3!!@g;V^5rW?Zg@pmC-1r_Y~LUOL^wX3oU>X@wqRNloSR2TdCTwUU*1%o_uHRi4wfc^ZG_m;-%5`JmzXZ5yi3I`MUZ8eDYp1 zv$CUG>kYH6*7eN?aIB-LqSL!<^k}n89izWBw)(3xiU(BlfNJhH)$D_PH4G@}YFvuS zO5@zK?f5iD%#MEaNpUk_EI~x7ve`JI4%pKlkkU3v>q*5naPPdmN77WFjtM)9Ni!15YGJe^~^- z$T+crS<62Gf3Z^UHA6bV+m3-OOi56AvSjWwzJy zXPfa1+Xkr;bpAZU!F$o7+hs8(x@cf7S|ah2C*aXhh+8WBv8?jhbb(i`Tvb`;uQX&Y z95~h_=>i15Zljcy2NNxV)lO1QI9Fv8gxn2^z1;=-5;rC~(XJ8_>rbrwHEGY>2h#ol zr5B3M74}wuiFH3IRq31lyZ4L!Cp13?^uH#t{Clha38j5N|LyF5ppI=6(t9BO1{}{B z&fIV$?w3E2ge(AUF z!Z193#6MNSw>40M$)hV)jRU6mnv+cbW#G@ar(hp(mRLT$9W})7Jo{Gu#G{57pKl-g z&+fjrU-yrp{koHFzwZCe_UqoK?bp4}+pl{cwckXXC6>=#wqN(&wO@Dd+OK-V@2k#Gihd+Kwfgb?O8RB_lt) zIFrrlu^s2-RsL%F_>*pZ3M1!+bz-bHeN>B$(xXWY_tIM5i_Rw!6Um!rny;3cXqz23 zG`={egr6M%m(=TL3)!?Pxo~hyN&vm^_y6J`kfj3OlCG4H|*p! z)lmFsR_s)^CdnA7kz^A{D8c;XzFY2$R<(9W5T}3GoxZpaK4iH^;J}*Ff7P1ORH#J# z8j`qG%pc)fvH0qc&v-9@R^RY!UERIyKWfbSnRq$#fa)Dky+o>)(Ejbsa%8U*uaEkl z{BmLv+*o^ear}>lMsHm?rZ#$R7-Mib5D)hn`s(;~Wr&c-fk1e^IuqG~e^t{gmBk;9 ze(6BFo)0(8tw4XB)^OO874B?|UeO!P_q5Xa3-H=akQ!S~3qS zlU^D4G$Yu8n}t4KzAAKdE@Wrt|JPW^&){)bi!8DK@INH52m4&+iS#q!bq}^8O{}s1vjR=pzs5mGJPR5#0IA_$ z-S9@(J)msdLsHi)J649hX`QPlXtEf+>wgUV?+wd|6~%_(#PaQph2Ys(T$|WuiF4C2 z*OGFwN30Xe-=>B3wMfa;NZ$&Sbo&S|^PBI`<|9r5=!cwiZ7MqvwgOKcM~~V2lJ$K; zjaHYfqH9WPTYLo04z_6*wnndrAg;u2D={;GCki!U-l}uJ!{uMnDb)@ah^dWJXd;o$ zbb=wP5nn3eSIwY*7HF)A(&H71i*Me_h&cU@+q*%Ck;LPEd;PMIzkaB7K;%h@JidNM zydicX1|g)~r7Vgaf>Svdl|1^54<5(M+xtNV@3eGzB-2FW>qiX#`kP3EVcG8-$Coc^ zCJYSmt8c!#=x5)!^=DCf^G{cUXo=X7>YC`hzjpHuD+E(2{WM=xV}v4DIWZ*~b-pZ4 zcly+ManYr2l~5-Vn#PNM`cI?f&UNQSuK)?tjS+nBV%|~vV1C6)e)`_!{||}TwqGqz zqk?JC`i*?VCEeE{N*1V2)@CN~H8gT`brD#k7@@=$ub(8V-QLV5l0aZ6;5__DI-82Y zh^0R5dz<(nE&WH}k=?vp_9+^5X$Yr%*vA3HQ7`dL!x(n@rk|Gb*Y85yYiZle*<0z| zk50r1{O5pn&4n1{u#uI8-^B)8$qUwO;1dm^68OJ@KMSv9KQfez{P1MwvN~Tm{{mjQ zKSF2o^j<7R#^2>k6zCgzy;;AhvCZFl&$BVdq?dXv%ij?2hkg7UUY|C%GoK1+s2YuU zlCUg)qWrB(Z=G8bQm`z4jW@{bQV6$J^jQKm_#IU}6)PSr%bz%ZYY9YrO?WLtY_5rg zV7jDvh7v*lUJ@@8kczGZ*1`6{s~_=T+S{U+GiRTCCqOy+Djc9 zfBXr3+8=CNzFuiq{6Zxy-@a&A!fbn4etQk08yeWA8kS~n&L`=J?PCRtVRJ7vEbn+5 z1+$c|effH&UlVi2d`diy@r@@x8~$SjXk?F%;emHC3fc=+t^IG@w16|@k;+;aN|pPn z*yUx(HDP216Brbp#u5u>&W)bG-P^vwuIa{?e^TYsU(MdD;`Cm=!SUd7GcI(J4UX3d z6mtrKj?_Wsp7G3b)Zy4!SIc}dCX5rwe9VsYl2{7dJ1Hk6UsL&XlHCX8ieLA=k^hfU z_`Q(-{t|w2^3Ai-@4R>-&SR{E>)9nbF{}g{BkTiUKa8A{lW$&9`n?zB+DrY;+gHN> zFV*k7y%m1%^gDXbyWs%3pM4bEbo$)5$7Zp-w zr9*H?^(}A2C`*2`KQe+j@@U!plEt&$&5u<1q(}y78K1d zpF6d5dU46TnYl5ze6rL~t{6#K){ljJtZK(pdi&{k>y-b|^7riJujAl>j81cNe-`#L zE1)d1U@PHuL^$5aIC$-Z=O(;^v9OZ459a{I9^7a zd{c#7Z0c7McsBLBYc$EvCf_c?JJ-g(>>#`hn|wP7ua)#5&5TCjHbHMqVtwf#yk;9a zv{lfHldop~1bD(>-q<+wHV|Iz&p2Lc z9C|H;*IAReylaL0$X*>D2d|m%x>hGHN0Yz{C+=s0gx401XD7-233@+GTptyL*Fxnu zBu+WXM80wRK^}NSeb}_4VxgxYjyF3Fy#k>JRUEG*4&Ef8rr z`5ez-rbn16;RS8l+bE&;HHrJd3?VvwZZEmyiOav z+9B|4^uAN%OL|ZkgU5qygx9*9ma-gn{sR=yb2q8&`x-gjh);~cpWx!X%qR{ z=*uQi-fE7w#*9W`tB~I^ju(l8w?UM{MlLOc*R>{bdDjx2$EF<3qCRZwL6g91EPBR|;Y6-91&i)BKwJC3zs5h#QF>(0w2tBaT`(natBe@KYgI6Hx%|?Ec z2(KuPy%KuhCcNo!?Hd1O65cezljGp2gjZlgZxrF3VuP1Kc$00)kxF=TQeh-AZ_EHtnOG z@XBrY+iZg;Q;oC{Ua&cFd)q{K88+jYR>JED$Mat}-UhBwOt2sysvEJ+(mew+UUU!!fUfBZzti^+Ki{S5#CZ8ybi)U%f=3ECA=1! z`ImOWTVj*%X2L7Bskb)5E3m=aM0o8senczbwc5ye1L1vUXa5Lqk_~@r3D0eV*KC6) z>Z6J9nr-SMDC%tm#~2<5uU6=v%{*6yz_XEa8R2!Eo7jK$5MI!RzhZ$${_co4cm<+< zZT!SZg1;4s`%AZ|51Vc?02P+RgtFUWJVvS}XJ=uHVFiX2Sc}&i^Ak zkDdJ!abHXMRGW5GMtB)E?b0L4VN)N)B43;OC?LF1Hh7aneXL1b4!0s*zXUMJysZ2GNjgx6-%?{^U1j`I??x2=R%Vbk8)39mHHyrX9S2yc{) zU279^q4m6<#NhE@6XC71vwwuw)tFdMHwZb~)NhNxv$KDqK5YEmX2R>R;jc;LYcn1U z3O%(MSJV<-hRryyLg<0bIIm3L+2rdHa!n@eUUbPY4 zc{X^P2(R5n?^_A4#b$nY1L39G*yk3)+hEhrtR=iQoB5_@!Jpmum+-dP)JKr;R2zM+ zCA@>}{6C>DHskm*p$F7&#oHI@5qLCSILaDLDki*@HhNG%ctN}M55l{`M$T^0-fZNY zNq8O`d#@5+MV0lqM-+Gz;ay^9{|Ilmo&6)c1vdVqB+6ljm*g*5?7HbZzt&~O7SuYB zdf0bkJd0lCKm7^*B+9exndCT&hgI-0=d;Cx(D8h{mHPesE94fcg81^>Mtmg6Pr>hu z^6h-DZ}JvD&x#m}xnF+Y%;4qixOo4_{oh1i`jpc*mulcl4zJkG;W75X<`+-DRHD1d z6yLf&xpHPS8)tHwxAFS)Y_qP{j_gxB(JV!X2muk~+<@yZ0=U-ysws3Q6qf3UV6L4tce zu!i4K#NldtKTG&(O5gsBHC)&)_dgTcua>TTYrifdy5{{r?i-Vnb48qX)90Vbezj6N z2;P!pK7ZUhd!_!tm`}zPKa8Is>R&yV+o^c<-|-g?-&gg2t7!M8c(spquizst|BR0k z*MsUZ*&~7P+ROf;)0l6o4Ig&Dt``#9&3*N2z0;VFN3^RP9v?Kz%k=ZaX@{*zwqv{B zBcvx?AMT&_@RYE>RL)`(T(pl2nZx6?k6_QfwU4jFv5y5;|A)p8)IK)695aKF)KC5M zUix#UU)NPXj2t>%ApM)hX9`4XC^(dt=RDGnu2m-ZXe#d(>R;C@26+1j4sWIYTZ;5E zz&nR>_|;;3ag~w2n!({^g+%{#mjT|I#^DbVyfe#~e`_j-3;p(_8TGq@;6lIKQaN1c zx0;$f+z-)Y6x`rCZ_e^!5kul7xU+yA<6^|xcp539e;9~x6v0GpB4X_!vjLUi;ezGYcYragVG0|GLBDGf`2diuNkKHIg`T& zmr!~$djJVr1n)GbC-^dgdrmT?Kb6BT68iU;(SMRo zHTo~DV@&qfWAtAn)!06pJ$t90w-a9*O!3WI_D{WZJ{Pl-!1yEm+|ft2~-9$!|p{D?(+~A6YyAke{%7^0;H|#tN5QUrJb(7_ z46=?=ep%$dz@+~Ke~sYn7n=Oj+c|u# z$lsK{`8EzOew^S}o5r8FQvX5eGZvcs7lKQazV!-|f4z~`3vVU*ru411kpD#R&V|PI z+j%pGe=6i#YLXwpU2~{CoMuXY6Xky!*_YEy=?T7;_;0?>B>xQ@K9=ZvPB+P);6EXF z>*=Qc=|&FUM)?QNFr_DW2GxJXEvEXrfy0*&{Vr4b*6TTZCBX~IOzQ^(Z@r!BZ;>he zdJZpmjO6n()A;E+(r=>QVoF~?@HT>XE;8BQYdQQag10R;r6>4jqW;b_rN4&5`^_c( z&NQVb_&9>Q?=|t?!r{{h?pb2eUxIrG-Z|K4Kbo)R@UsbCQDI7d6^Azo{wj?8x2_}k z5xm7~YJXR7`27TzmYU`lFX!-=2;RQbRDYLo`0oXO2OIhCTub9)!C$p0|4Yd}%_I5T zZn9sOaJVYqHKy`k%;6^!yuHT6|3w^rI>DQ3P5fWT;k5+ssx`IW3po5-g17li{GZR^ z*AZMj$E5$w9R2{oJI^uM@AGK>O_Xn$ss7e*_!|Vzs56zH;2#sbqR!O*S9AEc1b5e) z(x1!Wt7(3t;~Ufb%u1U7m{0l>Fxjsa96pBN!5dBXqmk?r!83v;`9(PVG=et=P4W-Z z_>|xU%T4(cyjk$K+>|~<^Irt72$|9o{C#Ifp+l_zRotC&Aw*ct_Y&|3MD_ zlHjcoll}!b+~Fbpif4nLaoN4?)Pf9B`#zf<~-YfR~DNI%5H1`t4#G@WlZ0^%9Os6?9YAFKF>9!CwK+HThBG6U&`Tk2>yO*l0U(p z5%v31Q~UQ){=XpoUTqqmR*?N7c;{+U{^cD00nu+;W6J+54!=z7ACQgntIdmzc|;$9?iPlveAp~EJf_=$7j;@r2mA4{D773Z4b{Y1Xvo(6GGm?z2n z&FMWRdF?G++zTeosfhbq#Ccj#PLW=m&k}ShO!S(DCVn^n#C>Su{=Tv}^qPiS)3Hl0 z&hbu)!-qJ>vo($$ihDDPcjjK{I9jiU$ldG>BYTU8RqtB z(hG6Fg}8r4oI4cvY>9jI#JP8I?pd4@6!)Hq`{Ts|>es7#%1lVJv=}KP)5s zm+AdHdKU);s|f$zU-5@a37)%|zfUCi(kJ=D41#Z>_dn5lCrvC*qj&e){QY8jZ>RST zdT)7$zt_jvFSGH>fz(J+Ka#7K$dc>pW=R@9(IK@o8Izoyk#hNbhjeyo%J@IY5V*#y zL_g1^_!}Zp&ibGv9rD|ec~~U;FXylC$jhg8Ay$MW_xhtvR1N1jKb$dHYzIUR*cGk1oTPH;~O6WXA%DUNWS!T`4C5JGqGWiJW?) zjL~PysiUt4M&83`N6J^VfbcOgHR%RfI{c^+-!YtihX77a)mTY7{OFO0nsZa0LpuDJ zgRySUb|@G91Crr$&Rze8WSNID68&bvbJlRYI3w2$z+8O#m5l%AygvwF|924blH;!c zy4j<#-p@`|HdZ^NTzt;CHw)r(4q-AH`UyNw9Qq|b|0E0YK7JTljGVeccs^m+Kzx4o za-ezQ@NxJ&qzs-X4a016esv3^J!$wHe4ex%p7V#5;qzrjLE4jt2l4szqv5%DD9d;E z2avXe=R5b0fWLw9mNPB_&o>={&qrb*4s}rN$WqRcAlbv8XRxDEPXa)0Cj57!jQ@lD z#-fZdI_K950P!tGusrpMboq4<0iNW$Lv|f8#CbkEHQn7QNk4?E8>?RWRv)=<`xN^1wP4|&V`vJj^Q_6W0QXetGc`8KB8F#uv%23lXI^jkA zc!Dgc0|&8|um0m@co{Sp6Q)Wz&I*U5raLzyn_W*r!&gS{!t~1qI;3r5^HOo5P<}8UQqw=v+*h_)>{O9mez+Q^g4I_cTRQBRgJAMu?)7VRydU6q< z6&`dm@L8euI|SI7F}xLCYSnkZHjOQ2TnE)P@54(8dx@xpzl1ci27C?m(WLr7FUHOt zirU+({_#e5nKu|)zy<2f_3$!3_2)qCLbV&3*w|ACKLIam)$iU00*jbHThtYI0OZV( zF92kNdc^|(Su*-9cxhFSgJv`KEXK|zwP*vpoZTNAV4M0YFkoZL(`LfUX4Nqd2vjiM z+SN;52guUYcOlJ7QceJ>;m8zLCEMkhRZzNP)7Qy!50ydV*1J&e5X3YAIU~DqR4UHT zuam=fAl?@Cy!HW%-|8al?E-rk#1^3LV$6*){yz&jae;Yb%t|?b2U|66;;1rwJ_>Yx z+}vT<405U#!}ICGQN?l(1@z2<&miKm^ph0K3Nhhg(iVNGm^2>qe0p7{^cjBc6cgPt^Tgn{} z(R2e;rSkBwS&+WzVNhS?kzp7wotd@RAt_77S0j~NjQUjmrUh{Qhd&4}viS0tIsVE zpFae^AE&IpR+8R>Zu~C*{yfU$k)R*Srzv-LaVDMMAq`6v1cK2_js&xy{4M3P`I2-D zz;gtSw73G)Na;$suwIg;LhPJWL-tEL!3HV) zOO`GHgc~f7&P;a#(wRqYO2tY?jGVPYAf|NGjUdC?PzmHSR!#|KO415Q`6eK|qjAZ> zN6RVSL#tU0F<$`apQ%C&wYBF%A@b#voqn zAoM^W5C{Q62`!BfYDg%dg(gjDQUsJ-a&l0%FTkr3`~O-Qx&lln8DNTi0K88FTs>$8HgNxmFnDZR zxV8`GxnF^&=w3a{YB#Aa9mmuTu6+&GZ3IATJq~AyN>c#smi_U9l&;2&^hiZYOiR=H*m&}0Q0m3;H|yYbW*f2 zCjfN;5VyUH?1Ac{Xp7DON)LqbALyBwL~%qdSF}N^0TmC3<}Q?2;c8w6`@*(X(T)yg zY$4p{y#SCG=+(3WbWG7!AC;g<0C+0Uv$iDYw4$|}#06*r0Crj+8npuSqoOSUYn4F9 z0dU4E=Mq#!)o$g;qFY>8ciUR!ktgD=>Rm3M8PHsx^U@Ck>;3Io{IH?^T>&2F2Zj?C_c` z7QlebQMG^K1ctAJ%L|sae!CG|(D0!fJVe#>7dT<~M{qf7X|CC=JbxE{=yBiNF^iDjRuYCWT5+3Nx?-p!9$3F*&QwQox$zZ3Afx%tg8 zf6G*D`(&BF;lLZ^=6A*P*Q%O>N&bA`EphX^bp-xaReS1+SWEa$;JxDJZv?%zU8>gN zHOc=7cxT=G(O`wzUQxCCH6;Hk@NQWA#EM`H+l~Mq%E2`|V-fbp7hr)pscNx(U^qGf zk?4hDiFvTuvwfm!b$b9H9hg1rRuvCJBj$ptePYTi6alZqZe?L8u7dxnS~x7Qd>-6i z{)qA;69J(5XmQ^`9(Mxs6}R&HHG!x5Xbt-*w1o1HfOpnX-p{u-cBaNtap|g=oePmD zAMK}iIAQo*xTp@#m6`Q3P$IkjXtzXNAFVp&9^yTP5ooQC zwmn>eS^^-|0*NV%KwEvZl4cT=4}c;IB&IL|?eo#v?U0~309a~)#OxIR0)RgB(XL#S zli^Dt=;6;hPXzkLNBiR+sp%5{T=D{WEQJDo(MRhOBH_FojQVnqEpHO}r;nCUNv2*G zP>srY7nVRiHZA|21a&Qk&O9F!!wx!y%c0U4OH88i9 z^RBn6X!7*7Y1s#*mbU@$Q917_A1=6bIW1e#{kUhFJE0ik&0@?Z5v z@I^Ll^KA)l0?^dZGU|up+(?ymL+R8gpRy%FeTn^s!g)&8OA9J`EqBjib&ma#%2 z_X6t8Q170?e}%!S_-YYJavAy(0M{%~+W>E!1n=sr)q7eld%j^12=jt_C?4*s6(!20 zHZBaE;d|v%R5~GN_-ek3Wj^}?s^oE`XQh(NN?)x?knBAR0l(Q>#-nBlzROoT)?Q}j zO@N+y94?W^e6=;ZWo9k`>K||9qxJEHuXZs@)<-xD@S5Q+IELhYOh*fUWM!-&rDiuY zn9FI}(Kwl(&H&5`e=HRykTo?e@SaRyJfLQHB_KgfG_53D5ui12dzW`E2$?wMCgdVb z)7q_rW#OH0d`xIfbZzG2M5<|L>c~3%8F+s^o+;UE1fK+n`pBAcMBu+ul@0eS5(zHT zv=$GgU`G%dScafS1Cq>3nzl4S%1j0P(*KZ=@Z*}+K$rFV5O?*cf3y_bPg}P@%CrT1pZ}1N@NhrPF-pS60Q8wM z;E$G~i=Q^~rf|EG2z(u&&MPm8gM6utuZ%`!yX?KmU`SEO(Kw42RECF@bJ|A{JNMn8qRulZ?t zm8BWi5KtYXTvm?zP(c`NpU;EQc?WX86Gmq)z=m5&7gDF&lMcmW{#vI1aXias17N;O zAFKHp9R+f0BVAT zY@%4me-JszUt8T$rv5CTHkFk+A=mnA_a4Y%9R}3d$5Z!&?}S?HC9`l9p!dtlEFlm3 zYv-5AEQD2LtVYE$G8Gp#CWRe5 zR=3iBWtQMw0<=aAWX-k%XwS#t5}6;MZG2j0p%_rpDwUDhyEC9qj|$LweIv855>PuT zm62IOE`!Wgk~-f7)K~wRS%Pm0&~pBiif;l`sa!^83HfS(*113yt0JK4RW2j5AO8W! zcLTIHT@ykIpn6p;`IRCQ&wgP>8op1pOMA- z5Kv#2mD$X$xc=zc*1j-F*Z}z_pwud!do+n0hUbm7buDwZ_(KF<2~g2hJc}hkPwATW zwFI>RK<4A>JmDL3?X%SqJ_?|V{{#M5X7=h@*h6vn$zKGa*Q$6{g#?|@wJ)0~0(2Sx z=gZLU0l%PYC2>;cgDUt0vuwD02(S(8?!b?=E1$#e7myv{m+H1HY&!Q}I-9Wv01vAA--)pPSO!G583027kj<<9cLFS-F)a7k<2Lg@ zYbb1LGYs7u21UoGZ86yC*dmUP=iY>1RIO=x%vhvP>H~;Ar6-R=I#(Y+bb&sF=rj6K zq6_sGi7wKQ5?!KSCAv)a8;|rky$aEldNZP{^h~0w^|?gX>Ms)Apr0bTS^tUX7X5dk zTXl5;(rtQmqTBVhM0e-|iSE=V5#6P4B>G4ACd&8i@TvJo?}Q(w`**{?BKmiD>_nvZ z!hfgu{qSIl{}bL3=;*uwW0*czje&7_sf4jvPe46lKyrGj*}z#2$aToUfaG*he}w(< zLx3JY&O^6MCv{Y3h5ZIMK0(fJZccmk3y?{K_%-BUKyq5B2O*v3pd`M~LHscwIf-iL zuHsD{6FKzC&gg+d$FW+ksFwm6!&YnM;t2L3eiJ$`kLehYA6?r=PngVDesmolJsJY3 zg@3>_(oZei$0_q;tGO~SIGO5r;9#B?RdZ!Nwa@3!GmF&ow}i|Nw+wNHslVS6GVi)& zCcq>cJzZUst&q%jZW-cCQMYA_O8Uz!(_$6mV42#qP*iMqbtxkSiM?3WiWvzutS$v* z73UX^VbO=xu1w^zOLePRh;u;g%S0}Rx&&GAn4v{1`X#PzO%_74EFr<#!PS?Oh17bt zR7oDNE^_sUT|(-RTZ&jebM^8rA@#W>mHGiJWznbAdRIm1ez$}K=OeZ8RZ%ei8ZMdm z9gU#KZ*w)~B_UM3hD%7W4s*51OG2uZTWUJkqS1eIwPjC{zrJoMV%_FyYEO~Bv6j^6 zf(aub>*|eSA+*R65}fbV`^7?LhdZSa0nq+&Ts_}dpZif{^0G@* z@@MRa>?Cv5cfFAJuj!JfhZ%z3imQ`03i;YKUGl^)E-W6*qI+?5%2bi*wl%GmAXWxf zpPnjmom11w^?=rptD#)|@}7_?wWI{AfUCdU6H?3FQkOHKl_qm_euR*E&B|+^X%>G1 zSKGcPo8HRnVB{B%EFRCI=Wun`YEjnPmb}O?@n>8SZVC_(Gl|gKQB_udoRR5|%W|~{3a3pYUtL^1DTrQh0tKB-m6@ z57rXT!k4=h604D-z9?BQyA=|vzM_60Ss%F-PB{cUxTm6SXe(G3-3p1-RZ*8o7O!n7 zBvuDS9XDOPG*Pj(rLe^;$oxn}?S4Z@HLh(bB-U^!vSekr6%s37QFA0~gj?aA0Lc7P zii&^dfvh=hg~Xbn&ZvYGS?Rqt@>) zCYagvEUE3dz<%bVwuur_8{AUFI^(0JM+vDn+)_{C0(%jpE#(w4{i2%SZjHs#sQPIW4J}Twn#*)Pr?}k=5SmU2nwqwW)h!gsC;y z=~XYq1)~SS6lqfzCJ6Z%R;q#(Wm8uq2+_6fRPWxwHQ%PTZ71ztcV3BA&!$!!B}(|I zTdH6P6uym3U0qA0^_yFYSS@Yp)>eN?+R8EX{y%2wZO`V=45}X#}T`z-1oas-UL=!G`5d?lgj@*_DR{ydv{uZk#yf2_BB-$u}an{4WLlZ1TjSZ{ga zud}I3q>+>Qh-h_ytC z^`1?&?Gmgbv6fWhO;Eqz+0>0)MXKMprHJ*lP2Js9BzW5`6$o_@{ku(#Juh}b_Bcz5 zSXXUobIGb3XGvALjB}r_dJg6WWTm*Ji1n{cy&_q8ZmGLq)JK=|RcFPDK0MhiMXX?7 zb#bg{*XP|*p_74C(^q|csgT<1mLk>@zUn(mh14mx)I6-HL|^q}plHKi-BQF#@KvKW zisn<}EvX+Crrv{0pz7X%- zx4JHXVl4Aj-x?z7#a7>2p7@J>)m3Lj<BcMXuXDB2WBHzUqoj zBI^b9z0)s`w&fvTwRf;cf1a1T+@KI>zpuJO_J%!PN+c*48{}hOwQ8iu$%*<_CWv*y zR~$rN81MVEqWH<3s>}K!3me;r~}lDPo=TRbPt}Rac>bB~{!EGIY~deet-+ zbu*Wg*!v6qZ@%h{4@9l?bBRj+sS5Z~xTa=3De^kWk{3HJ;xkQsVTQ=?YD-@5&*cF> zTvJEY73uGH=bBg{nmVQ6Z%zxTKz9eH(S2V=x>m1Gbe*0~bc0?%bdx@Z=w|&zqA%$05#6d^C%Quqc?Ib% zJ(1{cJ&Wke`b468^_4{T>4%8Es(()OHT@5w`*nRU(%1ExL=Wh#i5}EP5Iv;NB>IN_ z0@1_zF`{qk=ZU_h+xH@=Rp%G5Y2;xcx@ge z#Ov@N6i>U|m@}^S3z!B5+zT9IYIe|$iEwiQ+zIWrANzPr9|-@-i($f42Sg16g77W; zR&RyXNeG+_M(4mg5caFnMK6MgIesx`b-D%8cN>>Evg&lV-@XbX0OZc0;!IF1zU%0_ za|wWZ8k_Su`vX{aTx`}i9mY?cUPfXHV*!m}{cG&vjA~gQRQ3*h7j}iHBpNs|$jw4- zOG+?TI|kMsPlns6mY`q_(AIwpyUT32J=DeW&v)|+w0t(2+ zb->$U@rR;(D}1rD&N!{*AF!V6$LC+bKjoc#Wq4+c+DGnHX&GSj;A9f~Y#F_E}ius5(ue@WwU%VM7pU=jR7&G**T`-epP4yMy`R z%PY-+i6*Q1RuJC~%(U!usG)jIjM_~Y+sdzf!&tp$&U26xXB`J;^_n{|SEFjRg!?TW z(XgL82~vN+?+#{U61DOVD3x3>HjNQC2vmhOadDgE^cYD++s1Qp#!(2;-iv8J`8T7q zxBQQ3M?o)#wC_QdI{>f{exp(QbkDRkFs6|^4}Oa+ZW(EF783(}=dInKHQh=1NLelN z;cV)W52!9HANb|ds6XwLk8Th-0~&6@?;fV~v}ZmtAhXB~0acMrU0lisDiQe*pIyc5 z2V4?<>RDIeQS_~6eUNyAPl0UKd(%Jg4IWb)LV7@8+D2GbxHBzaYEvBk7;~o8jq!tV zGaeIJE&4-m2p{IRt^>DALxgg6h|dQ@fXDU;NNd|2133Y&G{tY2p2cTIEUiKH z9^G6cZpIt|~j{@xcB|LTWA?0h*Pmg^FG;3f9Jx{%noumCYk*tpDmvE^q8ufkpy zv(GXk;-N1aPjF*+3&x7@oj0Q{*JAc@wjI>_zlFo@7*bxp_hKbDLf>F$f z<=WC{ankU0Gl>-f#f2rzXu!2Y?}$|Idb8v4nV`{(Ye^Txo}yB7V4c|Sx?sDqczoB` z=*qQ-KAhp5L>Gv~HTM*ii8O)9%oxJ8TVFsAggY}3bmoyn@HG=- zB-i>X0<^6x5LL|tuFU`=8F?oy5G98d!s6Rw9X-jl>?@-FE+Oa(s=oHHv=}vbRr+oh z@5i^rJ5O<~8tljLMraEw+n>QAW6a~)=*gn(5?V+-LfLg*P&|kk3%T~=Es;q4tQ^SR zvygHRaU;(q;eJTSqT*xq-S_}4K2ASGG+uv?Xnp+?q6zw>Nk|*&PZMpVFD2SoUr)4& zUV&&+y%y1CdIO@(^;Se%>X(SN(wCJYZLMD=+D8A2XtJ&nzpWljG)3P@w7vd1(GL2% zL{s(CL_6u7h^Fb8L_6#GMAP+RqFwbriFVV!MOwe1er`X~M*0&6kT%v^96%qRhdHaO z@{07m@w5#vCv|e-j5cr;>@m4tv2KS}*}>1i_+Y%{toDrg&DF-f4kKeLOyaxX7diny z$PlarS{*Q3`BAui(!~-VY`n>F{qtKAGWk9%uLtlY-%EhF>5Y1eKUozFiWSB|BRWeT zMRc~lfaufu2BLHHgGA@+KM;LJ|DEU}-S!4dH~YupqW?5E@O`r+{65on5f8*i-|@AU zL*x+G?m;8nZ-w8wLWNbu2i{GSZ~);KdA{>_Al6R|GL!JbOy6}p5C@&h>z=&uBHIzCGLkMNU$E$53KNj zGkZd;e!I2&?k%BF6uo_B?uE51p=n4EzMDs%p(Zqp#KLm3#dhE{D;EtMzrGb<>?gEz zG}_5nFSs!Xexb{-EEw{SCTaXaE}^l|+mZy@IQCD29zF-y3tbYd6@L7Y&|X{65XyyL zyKIBYOUPbDZ2T@Kp_4YFn@EPg2bYr;`v`q?lh8$*GC&dhi*UJS@tfqd6Ejf^Hh5?>K98 zNDEoS@!A;uQ2-l6!XWq?&*@d4HEtjJHit_uxbr)Y8Nt~U2xa-MgJeddKvZIezV{8J z-Sw?Rdx+gP=Mo{I6gpy$_+Zt}j8s zo7NBbs|^|+7;9R;#;NLHH2eW~LZAPchWXhxXn3SXbJjE=7NM|3;J@|(+H8<-K#ZOY zhBMy>*k&VrW5bh?pLOsQXN!5PqOeHE46Z-u0^1!7-02|$Q9WhgSJ$0k-DRMYE3mpd z&UKri1(_0md@N^0#NOfB-U!BygO~!H+8+ZRm*;+QrIhs40@wsR&tscH&SDTN z6nx0F`sX+)Nd7Mcl%M#ohXDLzu8pcA(i`y~aCVe$p8(MFTswRmXXn`foDaXyHOQSK zxW94jRp=pn6EI$KG5xn8A{Qqi$2K0Nb_GBTa;4CHuJy@-;q)ckx?~AqNJ`@Hb!_2L zG=5`{kw}7?qJ7g2-+zWnjdoswFS*mjNyV|6N1S^Tr4c8jYbsj8M!1y@club;`#j3p zM9~^`hQ7x~0ei9qIfxLUqq(A;ZV8BIfw{>`he*6Xp;8p>fy&wI066KTg+QVu1+t@} zUFyr&Pk_2p29lagq}*T8t_7j}3A^BmDUU%Vsz}jt!1U$y0nx@nP3UQ%wjpY>qJ`so zzr6vG??Q<+m3F1!@7ad^080G9=aY^Xc-*L7OnwsSNK>`jxdOz$hs$|)?(q9b z$7bGeoEzO!)xyFAh#MVX_t(Ltn?8_qWUJcyQ@PMq4|w%ExU>oWU{$+bUlH(qg2(DR9UtKz`|1;p4?s|xW0Nyjg$#$J_K zSd@zYtz=~pzj1V2Q#E{gO-BHGfcKikZ;2mJhPSb0!#vGT!0peybC`=?G&mAoZuFD!bck)$_dHi;L@z4%z&(iYuJ!=eY6oU zT`S#y+20#LUqCuq`)CzviY)SR0GRHbumE-U(av=hnc}PAvejD?eFo{s_R+3qN=J6ZC?pXQ@oc~NG@5U%*+*MA9{_8Cx!nSsApm~+p%zXi-=R_d+rJFf5$)Y6 zV@#w%AAC6iY}(WD5~-yz7Ln$KJmW@IuxVGuOJqEtT6-gDq7=vkn>O|hIhXYV)JSin zdsxudUXGYJ`bSFz2FkG+onw&rU=j;037kwNl5zW#BtoF?Z-y@91uTRs3TNw z_$jgDOPlsq6{y%d!2HJrV2KkKLNbkfwO=l9ri7qBr_N;zn%OY7gzr&oztk4Qr|E2U$H>~Cpa-{2+ALa6L1$GDJD1VU+rj8_ zeCn&sw~Lxq%EL&ion8j=NEB4$*S^}tU1H8sk^$8{-E*9Z*P>VQ!tH3~`D%mZ^rnnW z_p-)T@?xBWuls7(BDp|3i-<3%^fh54<@ncE^VB15N>!T&^q4ZKVls&qQhMFUp6qmCvti;07L z4*arI9K$@{6}KiA3Yo_-%u*A-{|80`_=VbN^^wOgduu@29pH9%7t7y{eCrrS2a7x$ z%`{#Fh>6}P>lo%TY;gE|7t?hNgW1bOmy>i{f!ihPxB`o09amic5H_QL{Stou6;bc^&S75_fClr|J1gnwK4i1Bk?&xNWf%!JA^F-*;j^06iGVoun&=l$$fZIN1 z=H@}9A4UAkh9K?ePZ4`xlyPJ$6X!5?7m|Jezt99sUU2f2!t!7Np;yHW$?mQ3f#LZr&^f|_vy*vI1o+n$VILK=OXb7wsF)ps`qE6a3_Xz6@ zWsAWw4JpNi!ojtWM1>Ura3I{o1Ax#H)FjwpTzjXA!Z7zUfi)M|(|&RFSVs^Kryh&< zhv4^)j`Cc4^ExNstMEHy3B1Gm4g!89t{F361f2!OmsVo^iT4E8Isxw*-2ThO@}KAC z*W%iY>5LgYzzFE!;?sG%;Me2YhZ7j92fXH9e4#|edxM!cgR*TP_4j|E;Ui;ofl zlz17BX$Eqw;wLcS_XI?)w-#&Gb&uy5oXrM)dsG}d7WQ%WCuj_Z4R z96KIutFTjW<2y|E9HxsQ|Mes-j~z*`>)0^@4akSUw)K({*0E#X5uBkQuMDi}$o`qw z^4RgtTu#aG7Qjlj*w(S*SzpP|0$#qw$74sV0TzP>V^-S)&azHGdD1>o@uA&bV?RKh ztzU*(-d{JrrJOZlU$2W3y%V=Gu?Olt{28+FO%t&uva~m93(*_@A&N)ZF44jRQj|XN z$~;hlkB@iTjBwaXByB3MuzGuJVR#lyZH3PbSlVK=7GvKux@EfbANA1xPF*x~g#LHy zj&|uM>nC##9tffSai03|Y?buWr_h88|Ge=&uYbfoIM1w z8okjZ0|SF4EUzcNmt)T5VA?hBq@M?VrvD};63OiCkw_9HQUca4CbG;U5v(6qBBhsL z3;=H)CUVY7gsRY$NNR6<;{GHk3MnxDgvi7lpK=y5)PL=-jGgT*jU+sv@wYDQ79Z4t zK>h#bZY#>;K`u)xLa##QI~e0(K1ux-jGyvp{(fATPL29VI|^+xx431l2_2~$6a}TS z;sn32kB9YDMxydr@P^j%2{6li;RD$L*7Wh{060HT2SBrlWq#jF5ul@&mJ?SuM!7iNI(`pW8m#MNMGU&IZtUDgFIpda9V zKhGY)`O~xbRF+OkE8J(S8g%da{iIU&7p2rYQy+9DrO)pbxEz;KZ=6(`@ClT4o-Mz; z&@-c-EDVkkf1Ej3YJG&n+Nw1dUJtfB4vAkom9vOi+;;hC(ZxRQ=P?`l_iN8xFDdLl z0l>N3cD0j2yx{(xuOR#%-g5ZD09zoE+d}FI897-cJCu*lZd$Fuc6zC{sVZwlCszpJ(>>7oKY^~_cRgZTjGPB8<- zYd;I{x|4D`%<`BU-C){%rKSyskvzt>`?ehaS^t;uUzAWCEP7LMWc#|S4JOC8>qI>7nY&p;e&*-?O!@1zXEp z&OXlactgh@@6d&%{@hi;?pAq|7z;OCIQlNWkhU(fY%n7Y5(Tei&SM$DMyHIBn7bbc1s!4R zVn(ihB6`e#9GMaK{yyICEvTb-Zkt~y^0zIgtS;tmaqqq+`bbfSQrH?sD-JvdKbccz zhhr1%APz--0rm}l-`N)>M3QC;k(HY#Sxx0o)Xca62n9#f@6hd~%`@eLEiN3JOgMf ze<_w2{gc0AI6?5?jOC5u?1elJLs2-+N&Ti!LC9C@INLIYv-e#Pcjcy*t3%UFwVANX z-OJe(7vzX_5*i;i7Tx(o*e;wC4l!yB@OV2Z!R5ig-E?y-e-k7c_>_;W+q0ZRbN?4n zS^&urhDdc+gstOTk?QLIMRbOhYE}@eGckzI%7FnKvjsyL#~`!^L-XH)&_N6h2>{%? z7+SOyhT|y={n-J}eK0h5H~#wrhGvBV?ka}PHU#c%2sM5VI%O2>zFM?W8~6MT#u%j8 zB0+83N#{&i3imsx>^4s>VXSTx*MBU*S0BjfdPUxP5yxx&eAqhH`al=H5x&xePlR7| z;S=G!E_@+e(1kCAOS^N^7bo76AWYHO{oI+IS62#G9b|F8o5f z(z{f|>aLwh20JuxAPkFvlI7oz_z#fZN4tz~3^{?9=;Dk0G&y(IT1DX!!ds2l50U=b z_+*7}JR2@UQ6LW$Vn}$|)LKX33d6}Gx|Sr~hY`}b+F-Ee#-a2YxNNhew~;hHp3>Sx zp*h4`;pv?=Nb6TaCU*)h-&y&`kUyT;iQTi-LOk?ui6?ka6^&cq{ueO81uh9xLSn2H zp5kewXrq)54eqh~AyRWNMXC9^VG;y%1LYR_!BO z!pDV$K%PrP}_(pq3Ogw+o~ciT}w+b0R?C+S2<@inRG{5lGy zj>_jOEU#RzzGB>b0yz-xw@o}f4>$uIPr<@>y})Y<9^ZQ@um)F{+*Z6YI{wrMg@p~P z5F0L5yz%W!#==Han3pNz>tGrQ8(HDaDKc&^1o<%){Hh3fdf7OvX+wPdDyGFCxzh`4 z))3#~a$*~YHE;MGFrC;CVJ#ZsYh1Kr4NGe1d;|YY1;ecyHh^$iBYd$pY<$p5sOWkP zU`%LzCCRhW-EVCz=3y#levx)nzcqxhHT-+%r;+7U2ig5fqMpK8WEC|kc@}i3c7Wsa<*);~??a4;_;6I5;1Spnk1;4;!e*Zc=&{>VgC`))VvRq^zG9`F{sG9dY_ zRPFtj7$f)VF9Pp1D}%!EbTRCnBipK4o2ydEX#jlgRzmzvsxWyHq%I-x}FN)k+mE(rpi*j3F+)BvSJ|tgqgx zcDIjAybx}W_tsle$7<@YYMWb0O-ryDAJKFMHRY;W@8wd{ez<+~5lu07p%??9EPkzYoC!ahqsB1A_4=XP9phm+zdl0QX?jBUD2w(XDdoy7uK3MVYLEmGo zbOJ^%7t?=}R}X5I>Dhy(qzWXT3YS?ZvfZl(#b$c;ApHjc;=ACo*Fsx8=+hvD?ZyJ1 z1l}iB?yMg4N1(#UCI23OM5Pq`zCeHqAj2Qs!{VW(} zt=5YfpH_lRVkO9cNv73iasSPo5Pl)jn*Hh1yR`kCIjQ;Z|5XirnV%N7L#VMA{y(ar zZv@lYfRThtT4v$@zNFy?C$1$8!=#2j6-n!XkM2Oty8nY3Jm_$#!7!;2XO+Xh6btNy z|AU(09t-SnSE1-j%z>Yl3ZtlVk=rObJ_`Mxj{w6Kexbko>|qqu8~}Cj1l)GISpL8L z>|qp*MxW^9iPRaz|U~GY2_b7|ASFf?h?-bP&?I&ToR~+#4Mv|-Yc9m z@)iI}E|Ph1Z*5o%Hd7joXtZWyWmsvJ}!tKRq zqPF*1b4KHua|9SCTueFubgwxZysVbVNdn1l!sRZC6bd|G0xWkixmon0oJ8RAP?us}P*UbG)pUeJy0V{{qNwluIv(SZmJ0FJZDqr=sTE1Na>G9Ew8KWiB|A?2>^0t@Nau+69MDhf< zG)0l)URKMiURKM_?h1kUfYJC@OfIz5gYx=ub_N&O8Ni$4%7D8E`SleCV|)|vUa~Uy zh~2wVDtR9Or`$?hJ!sVmspJyyZa$*K)q}>R$Z{D_lM!QNPW>_D?m^qVtd@tnWxA~Z z)NzbUFNs(^sP(rp@quH|x1E<>s|OYRCN<54+shu&h$dGLdK!l0 z5wd^a_SY^@83*1h26d%1@DodFV#)u$q*n1*QmeR@RQl`F_%5d*k8@Ppw*6wZ9ad82 zA^UT^xwx>@ufQHnT4C#vDg>TEfhWp~gCP05=G$5fAz$>6Zoga*dK5y2`5nG-G^d1z z?vWqoJ^mQryRlqc7|S-*J)kYy?o;m`5FelSE^`)xhF1)lO>n>Bc>L4K*3Hz?y>JtT zlUXByvDVE+Zz&mFFoLyiK@lJ3oCKKGEp5I4%dxjkRx{!_xrG!mZG*_%5Hjs3;>Vob z0n<9g)>O!JR_kO4A1Oj6y&N6&2$?Pv@xy-%eIEZY6l2c1fN$N^R)pcE&vDi!Qv74+ z>Uf2Apzc?Y1y%6Fv`{XN?p&Z>6`Xj@>c)PEV&INLp$FpyN z-CGGkijXN5B*ni9h?nQs66o?&G;wmvh9EGM(|@YI=)V0SfLj-Fj@5e9x}93?6Zdgl(`?-Lg+JKM?ew5@dyH3(Z7U8qv4igr%!3Z!+ZLjSRdZdGNX?>Q9Kx|bS^ zjf`GaJ$!#AHyr@AxJspRXSzfvL6(wSOJVIsag2;d)_8Az4ZkUHBiqMz9G0;d3@2|( z18r-Cwin9~d4_-e4R$^?5WTrl)jwLozqyKaU91HD;X_6DNiEcWe1kJtrtKfk@7_b@L#15!UvYYPhQ^u z_;yjWNiG0Od9DUy?G{rVt)3v~0DlU}I+_KgNcj<#nReZ&GaR;1SYs^tI5tjSwK5)^ z;&H3T(P?rv4z97BW9)Z#nwMI@?GM87E*{7}R+P0)P_b=o6^7_m%u3r2Dt=IX=Dt00%s*#8yNH$ zMK8HX*GYOn(oZD4CMo)|-O167ZR-xAqR&rsWg7V>@zgn`u|Xb&QxXmGFr3oFAP>VS zO%3ueoYLGN&%Qv>11?hXIGobbAdkZ-Nd|cwPDwV%<8Vq_gFFtWv@^)#a7ufFJPxOH zFv!zzN=Jh{4X1Q6$kT92nn9k1Q#u>uX*ea_AWy?7T@CUyoYKuePs2$cLE+o$JhUA& z^_baUIk&H(1Y=E(c^V^CMI?F&Y?wP#7ypoY=qm`<7yqTYZX1Lf%kWp6b!bLm=OC!7 z)JX9c%UfVING&h^R{85d2uF#(Qr=M;Fcrk#Cx?Q4-?47wWDFOzRanP*<(FX?r`C?n z^1CqH6qeMEG3Ae8xOHv7#Fw9g;kRMi(y@Nj1`Hou4VVT|_)p)?`C$8YOo%#z;bR>j z+%z2ji`NE5iL2B0Q}j=xHg!?;^f^B>h!&1mfl2IcFihqXrQo} zV~wz>NaKuFH3UU>$0_LOIK300`*@(^jATN`8)It-ihhpga&&Q=o#+NamAQBza=m zBmJ6#W*bpvU6$MI>_9Bb$lF&xCGbbgCsNIxJ2>SH-xpBFc zpy-=81sxKnZzuF?Pd-xA=Ef=#X=R|BVx(;)Mc>2OT-h25li25kNis^K1zj%b%S2ln zA4z&qQuGQO)wzvPQPReeW)Mv_Mo2nG(#=HM8gEJZwWPO*wlmPLF49;@yAVw=iX~kn z=^mo(jnk6;E-5;vjq2RNh?TU9q{T#2jYX2~k@PfCSac;t=dMU&iKZJ}Bt@sJDd>(h zy{DM}X1HrM-S~St(k{mAdV-=e))aKZnx0AM79Qv>My(l0yBcrQ6BM1Wrl9-P^ge_h z?t$)V^dxjQ<3>F}(fMi$x?N3QLFknp=x)YLLT4E0hZQM0T}?qxtLeuGeR9Sl-6F$y zg+#g=gPnq+pH-N0Mh{}?=Sk+iM+)7I^91iC4pvjpwQBkWLf4+@M)xqv%|zPM z_|z#VI#x|Vm#XPA2%YJH?rF3pbT0#atRh8+swwD7HGMpxXM3P~8O4OoG+M<7ijGv1 z(R*ro3Mcr%nU54U(^yL~y^U!xf}-=(ogBTTrgsrSe|ibIBzqfYNwSaeVT_>YEHxQD zq{6IEg0*HnBGbpvXCdutpyO1e=pZ#2y`rY437LM6%Jel_kxV}$HC9k`ikgC+P}7%^ z$ihcO`Wa(Lq`xsYR#5bVnv5P$(<8-}@Xc9ncz1)ZCw&nEO14|JZfh|mL!Q*nZ#Yts~T zYMMTU(4Tss2N-V>I^RGqr%2JIX)-!9O>ZhT(8^P8c)oF!-~){&@q(f+(`58w3ib%W z<2~R5ji{%P78u3xf}#`CWOQGeUQ_ghTn~7GkxKAE#+GMjxZ;p+e@qB_qwC5ylTBQ)H}eASk*RO+n|P=~u=4H^-f;BBR_Kq{YVB27;n% z(PVTgnjRxk=oV85Z*|q zAki}svsGZ0A!fJ0yo#7Tgc-95%&V>;;@l-|!!*w9-A4F*1QMIL=JPh(>^3ssIfyo^ zbrvGc{(;Km&AvJfW0RR7U4UJpmCVHw^nb`%w+Z41(tHc{#@#0Si;B9=A@U?e3>IDA z7ldZk84N;cOHM#_DMRcJA!0hqfzn}i+{ZCFGNI|Z@dniS4oFyUb17PGDf1!Z(%E%aln3jAylcE)dnI5 z36^N?*$c2kj-P>(WWv~G8E-g37s2M-EDVCk;jnAVpo+{1PXO$#piaQ)ZT^`Jk$1vx z0w>p;3VF?VH}Wn-hM4EWLFQP*1Bi??kHhXY8cWh4?{avFQhMYsSftRuEZX-ux3Hr$c>~L-EaiV2@{fQVu)7cJsY2K;||;lWC|4FfN3v)$hU!GAf30(@7DnA2gd}^_JO$;OZqbv`;3{f4>%Vbn}PF{ zxd-Yu<6_93Mfh)3uLc6_a``k!^jC9u3Pi4y$Cq3FFh8yck*nojg2>&xfSC}vMoq+c z-b*m4WLyu9fK>f>-m=jU`z_=R&}Zj)t7<^Te-C*dVv#(rjX$LIhiD_7w_rUWZv=h1 z2)%aaEx}g0862<}T8Zb~s0^_`1AkbAe{-LgxdxE8g0^Ej@jMMS-5Iy3lpT29?zbRz zhf?p#^CEpAy}u~do9E4L47|G(%jJ1*LZ8m~n_@$F-UC?nGVW1qB+tA1Ch+c4ADO`O z-r5Gd2O&5Hp5z6g+kwY8G3W4tSlDT2a2`5x2|n&B_&N$w^x>6HLd~q;xUGU7?Q98S zRw-1!gm6xzGRpq6jk7DR4y=q0+D{$$#auv*q57~h=Ul)jCF(oCa*pW<;RWH!Gj#q9 z*N&J`{Q2VrZlZ=53_Azq1NNEl7{VsFupL}jA>h0Nvy8GZya%EBx=>@hP!f7@Fl1{{ z@HB$XenuX?FLMLFDi0|x4&Ok4tq8y(yygb@{sw>kwbG%H?u`Bn-(d~9 zM5ybobbJ?jqNKthzXNo6P{=}rMlO`l_=RQUzAH4W@_cX$f+oA5nG3y9Ep7m6MQ}c$ zhPqHwEEGLCa2|p2psWm@OQ=OI)OHI+S_QOi3_#b|UnS@vxRxGwGgn{}t+k&e=9kF) zd7+h+yA`2j)`k5>%v%d(W#N<{5)mJ^9fbj?tPjIhc1~Om)w?0sT!a!e7s+h3@{*9s z@&7`Vjlo!P&Ww*CyeSMjm2-V}2yYI{Cly0cMMbFX35zVjwRIs^FNDn^z`R8=SDP1k z)i^Db&TsF5t}R0E{udydTSa(P6Hu`&47;53l_}^fLFB`L9f`6-g#WC8E+oRPQZhGO z$>1#DkJF21lkGVL(4Ar7ixFCJv4qB1Q0i3CWA_8Bxzw5|I1c zjhspp8cys_LpC?*~=Y`<0|t-T8kfOEfy=1HbGrg+v25}8ouF??$ZOQ%hr!azc$OlO zX454ATS^santg^tWLem^)Z(Ru09#I+I8!?gk>~6<*(aKtG3P5tb&~nnMBuC>Z5^0% zFaR=EsjHUanwzo4J_^j%;g~lAHq{wxW!~=JfXF(TwV@rV0XUw-6#Ph}tq&ehVU7C;|!&gFwbsbv!DtXKc4Os?6DssGuGi zOglm=;RrK3f<2z`Vr2RfditISn2eq3fn_+BcF`4wPz}F26dq1jRFby66&T*#8~CAh zW>#;=SoeewdT40&4N+M4hK_^lFiZP>08S%^*pDm?;;efj!6HFV0EjN&S!+;d287ev z55qsz(d}s0nd>`o*254l7?%t#C}BMUjjG#lz8iy)Aj1g}d&$7!eAXjan%%8#GuFc{ z+7OgxFPC!=nnPm3Xkv5ELHpotQUF?dL0rYDcmZDscFCBou$9l4!J|F_{+RDGATm=# zs-d9%9GO;Q=H+8Q<&KBTv3`5T*uVdQvm{`e&(vV7XM8Yv`DNxGn<3JWB2d3S0H$Xn z6`x=I!y|h&3T}G@y6p3eE#dZFO^swK6sVsAPB? z>y;FOj)@^0&w90{FhU}GwKd*HJuklldfG*xcBvlZJ`2YWUm@MQNWH zEaDwq@d)Njfr9r+Q_}z({qZDF*ts&YqsN}M1O56EK?WZ6ZbgFG(^|{Wto8@ zTpo5AnL#4l5BhRuun2DjV=2=v!WUrBXF5dqGNhFmBEtMEgv*KWyXZnERD}P8Cd~{J z;kvL>&I}jfq!4sMF2Yq|O3#d>a86?H2>ajA&IK!^P2D?EZVFF)2$OtyxfYjjz*&?SeeS;QydF$AD?ke^3be z%XSXO@Zb>iq3z7a@DK<3)s9{SGgbd$p}0Ma)BYnVoD-MT+dghOm`1B`6!>IqG2RB1 z&+g~&$kmvuwmvI>V@UeQFBbu$y9>bl`z_3SK`c9jjj>cbfX}}tiRO$z(3AMLZ=j`Em=w2 zS6|Iovx~57vt~smXS`V@n5va#e=7>}Vb#vzI9@I0!o)WrkvN~KDB*m)xx%soD#k%L ztrAQRW=>DP-m7Kh=k$`@k-_-S$<$w4jcY;ly|s*G8=`CDOi{90&J+(}bik~X-KE07 z)%Y*K^#J#4Bu?egi@t{NWePi0)aIlP7_$O1@eSA^IWZ3O7+(!<9Cs-M!HL&7%MB1c z@$eonyh2ROY;@&+;C@IvhI1nGg6*@~qMu-y@jSciHQ%;VSf0bcb30gMp8`x?hKGj9p<{5A9T}14C73t{*AnL>*lV!9n}FEhX!R7Ri9QPhdvINmML!rt zgXQco4f@GoF?&RB%Y*wdBK&tPFmHoJ_>wP#Tglm`zruzjiE#W|aKE((ub7N3r9`-G z7H2~`i*O+H(;?|1yznQu-&Lkn8SZxz;XVi8eukLA{=UiBP=E6WnskN+*;^JUEMlE3 z`p{t6yeFWi4-Ju%0&aVUh6mx&8fpI91|pFWBx1hN4I)*jhN7WT4g+;2fx@At`T^d{ z{)@3;vXC9Xm>g!8bNFWvc8GA;6$s0IF%WF3VX|NNbp}&W_Jzpu5Y|Qb*k_CtwiBKI zMVLkkWktLRd$2-RMZmID*hPdZ1%SB~Bnto5O$djG4SRer7-;3f&aR{V|2ny;`eU8f zrb--&6v2|*JydL(=Rv)84-fNOk77aVrC7c7kBP}0GFph;n^r_CFDJ2ko;~UX#+I#@ z_1%4dtnUHSAd(+~47)iM{o@S`i6DdgVF5%6C}NszfZu%(MWW66Fj;jUOlMwkkQdB? zvm$8kK15A~aCAEK$Puyv0|M|rWhtDN*H>ZDBkI}N2APWyPF3V$EbNs=#02|pz+BXX zUEzq>AhBq_3Z)nk7f88a@9_va9zq39)HWhseG5`d`xO5cX+#Tq5^7F714*_NR;G#n zHZ!6XnWSLKKL76dagqNkb$;hYIYVfI(wXKc$xSw%(RvY{@)cA_YPjvVaf^D`h487vxV z{Q!j(l@AsT<XQQ<)+i%o?kK zQ$-x1nnR$}MW#4GH4|WhD5@$BP|cZOSrt7Y&QGaB6jh@RF_Jm=L;j2Es6TDMH{F^- zSWZaGU^`lrEyAxuvlQh>3#8bvw`t2*^-Z$O#euTS@vRvv4w7Y_0-dusSeCgpRC=*p zmKl>Tc2M$QA+!Zm#UbkFP=nF?wu3e~#ow%~uwpq+j&Gr`k>T`3cXXY@kn2bh?l6_J zkx|0J^cw{CD~a%4#@Q$_lxz6S+a$-{x=mgOgwggt7#l4Yp!M0Xc@Y!PFgvpjX25WywxT_`8 zfD=J8VUl?kEaZ|36zO2TUks6ovL!Em2e3*3Xt(w@KW(V6lFAh6W7e$-Fjupd7{IAU zV`qqoe|u0;n<9l~wF3~TLy?i@(5(=uOA1QNhlAl-&;A*aMU}Y55z12jKgm zj-q`#C~T}h9jZmQYQosqilUNg!DVbE5v~ri=r~cu(bt0+8}BE=sjx(i_ZQ))FF6}8 zCKl(BP70e~BeTqDdzrC`5uw#!4*Hkpl#F41ytIMePg|fGZ$ZVDHgfFPij}UwX_vQYM5sp0;e^> zqUo_$X$nQ^nY}U6UhF5#OH)B6HKfK?Y_01Ga5_>X$?Ts3Ip`$Eo&5{oq{-Im_Xl8+xJb_>YMXRI8QuGvO>F|?U}j3n~m?!*lL zKeyn}#7%4Oi@lNBd@(iNqR@Y#~MiwvA(?XdR4ZABg!(DP8P~HK+^L@LNlFBH&K+ z7*Ic{rs&NbVGf+sOoWg3hWpJ$c=V?bZYjdPw*ZqV!a<;BQg0D%1he#{J~BK^VUzlb zQL$n;V?F%BX2Ga)PKT{U5C7mM+vr8bZL%JEZ}U2|KPk>)NYQUMIO`!Ty_gITc3FDg zLs%L(+hEl6kOoe6FSswQzG~IszO?!xRJh+=gufXNItPpJ)uW6}mNW1xL7YvN3xgBp zjLFhcoedNFlyLEybge^-O_jzMuc)wTfg(I{8)r{m5i_>)S-0)@M9~hlp@hFs`Q$72*215FRGN4En?L z|BtZufRC#9-iPPzvas3Bk_`zhp)4gKv;|g#Kmr6puc3DcNN*w_O-g`BFA*@Hw9u3! zJ!M!NJ-2ULD7Lt}dvW*TTHM`T7I!GNxI?i;id!jC+zN|pu>wUGcXz$ZcYmEHnHI=rBY$3`Y`1RbvIub_QNwp3YJ=B!`||TfhnZ-8vGPew#G&nCUl4D*?nv`XO<1jsk2|4;WZ+Bd9TQKzMC^So*Lco zJ3utbO-bWkK7KE)d2Cle6G>UmR&??}dNOuw7wRs*Ykn!Pz;PU!1!Uj2W7D}tumyRFI1ZRxMogM6GX71*`&(jFRtBW z#E{C|Bn2Q^i2UO|hG##bE;}qCK;?}(pjp)6?{2b?Z}7WYzWdAexi|S4PTNzm`z6QZ zu>IO{{@U%k@?a-%(m>@XK6ISLS2DkvR#cA8pGW<@^%v6F~nOV!r)H#^qi?X^opY$;g|}=avr5 z{Su~OIPN*CyE;Ng#RW*bm)=w>B44hG$8em#^y|l2GAxvF<~)jzKFPHglAn{`_;}zq zS>r^|0uQ)Vu0kK`Dqsq{kv2eFSNU%z|Cp<`|HdUsOaqCVaWz}pU#oN3EV{t1L-?|;ueqAu)iahR-o3cS}QpAjvgTs`{EIbpJeXf)jI zrlB0b^t|?f{u+JSDfRBj$-2aW-lim=UY{?3o1`n}omo|hMMn9$oDRA@;ZU1{F0Z1*NCjGJY0_fjnR{4#?MM8-=^)*aIV@5@nRObX#j{)M6# za+)OM;+dtovW_IoNuMM9nHSutujlBmLf$~{ePogST{xV;Nh4~A6TCj$E+k8tvmpt8 zj*!Q6JaJCNO$ent-zmKNP_TUhHd8zw2)+BDBI&&gc=TkdU$lwYKo=elq;zC_sib)M zJ+p(~8+3_`J3j+MSocV%9Vg)tNJQB{4|u726mxri@5yIfMsT5M1!l5q>?fyKau`A{ zX5LL=G%)-V^L~hX3xE2@YZ%7%ks)fg!`3OgpU%eiscCc{^HZ4a)5gbJhF!n=*qkx{ zg^ob{jRv37iC*4bpwOMR1<`X2pL3Z;xcN#8rqE2eVFQNq1D$8fj=*ZG5E|2%3AQhR z%5x<#3LshdmX_X``sP{QXsvZ_d?l!hZk8~Mn3+`BL_tV$><0^}u}O5BChK)cQ4)H- z!h{osWsS@0M|jk*vFqcHs(<7JnI7pri*Hi63tS!YyKyHcz^&Q(h3xRACk%9L%2}Cz0HpzAbUv!)ajQ^YhONy#oFn^&YCpdR4 z{^8XWY||(?rkeK=2>yBq9?wfZ$|K`i^+~nFM&Vweek>%1;v-l*xK_iyf!ZX=44VYA zA$_*!z%KKZ8g}q`wxErB%-^JCpInfzh?x%lC){GAcQY&val=Jwqj0F`B>JLMJf*ll zXnlI5#Ct?D%Jw`PerkDW%N@SXjP*>P^Q31+#QJQi{k5fbF}wEPQVQWZ0&-R3M5f#_q>;+gqeHxV9%!-SEvHavHAS=qTW_MxI=a>#8 zzKWF<%+&9V)#!64^o{-Jq&^BI(bp9G`z&6}VqNHRI5bkkw56zLbu}t=*Mryb638Xp zddq>N!oM4mhmE3s`r`^M$1zIbc;=s&Eb9uddqpWIk#Gr5Ekr9N{Z<&lmo716al0O5 z@ASotNU0<<;~nL50s;h;MONz!JijX z3B|0xzpoktFZ|TMr7$f2M1tXcJT_O|GEE5mmVp_926*YD3_o(WnGeNWbV@ zIY6O(b&q3=&Ml&y%?Q6RFKZis6r8iR2pFXR}$zy$wyw zU-Pw*pYp!HmZ>NMygy=9#61P{>?`KVq-3i4Ts+8lP_kGVMFnm>VPjAY+>d&TeQ|}{vJA1a{ zVb~6AQ#TUi(kT&c0np5~2qrc6ZdGn@b|6GV8T^HxdHHGFtDWiD1FA)O?fkGlpn@^> z|$2ow*>h^MrH(T;T-9mL$uQ! z>`)YmAVx7#(%YMqHZ3XstJlN9F_0iJlRCG5gma;{)VCGyzK(a37plJmD`rcEdDw%u zq$NK`p5q6J&TSlW;2aJ8@ta9MMZ~(V?;m|kJw^K7IZE&zO2i|lNpH|m#vfg_Rh1)) zXxTayEhSRl9~>Y)V$<@CTm7~rfpV(P(X}_9#u%f`EvmlF1B+!6j~tmYApP)gE$wuL zX2i12SAMiS1R`B?J^d7Zy2&3i=6|28kk6KO&}Vq6C?EGzR^H7KQ5u=(QU8Rpk+>wC z_x1-@c?1cvdv2J(sRe5hQ7-N^jQQM5}pn=)P>CnD- z#;=zX0DmVbmf{F%wogqAJd!1Q!9IxURx$th>C|V;`hq~tVOa3ea;@GZ!%G4|Inj?l z1loUsKeL9A3$Gy?v#I=ZAYSGH$D!MSo8F)DBU8*dZr^5sDhn zTr_))6|fd(Tk2lAV_m_j-cWkMx8pRQ_tDn13vnUCt=O{^`5Tr=0S!C9O{H_y4Wce> z_G<8WLkc;&DDL;ceucDy*5NzG4w=RNQa+g)YFF4ow1W=e-GT##vFsN?lu}SOH~W<0 zLK&Y+`%O#9$u4GrWN_K~6a#u!S~av6H6E7O#yuI#9cr6E3_R(r3(6vvcrgMTyS zFEUVdob7Ys`on+Dywltz$MkPvj!>TjqWWg(K1R7diRn%?1kr12P}`b*-iET6KWCDD z+eARF%7r4Yg=?KaW{t_4N*9jyrGg{y>k^^%7iGR31!@Vp>F5qD#Chrrl7M;U$02PZ ztknnhr5F{NO_$07Nf|=%L{KJn)_^HhoG6&fz4=AFcvwbt8;_~RPD=O2q*#-BuPQg@ zR}NxUqOb4^jQ6~-U$~=T$c>0`H(ratu8`|=u;F1 zrmTkoUvgvQCoaS8X@bAyNog~bxcv^zKGG5BPS9O)W0yWUF_IFrZNa;t>ovnN{*#x6v-K@Rohc2I3h&JEn>eRV|Sh4S!yFLQUCa0BQCg{4)(ysw z=#};}M6EJv+b+MT^zeTSJ5H~WC|XeyLZa8{75fsSSv&g?Fpe5YD zH-%$72%o`VbZV~ptXSguo}(;OM33nbmFhg??D&+xTBspT>XdXc8T@ZMawl&BqSj=;StHcd-^5HM{|@twvam7FMmi6XQ>yKILd#7j2~@v zi(fDbhM(Y8vJCKo#lLPlf!-<#FXRcd+d8uJ=;1IcHk3#ESTi zUn4a0xc?n-W-iSG3FE~RnBKd6TrFu)zZ(#msFS*>pjPf3jbHnfk-N3+>2uHU5474w zzH-KeYn9&x4{gNcaPb^e2M2Y2{p!6Rd^bQWoXNg@O%lzPI_O06s5#nD7H7W%tdR*E zOj4E-R0(%bQV)df7nECNIl2|+4Ur;L0n$^rOC1xFVcoh1$_ZG9=VBEuFrs~MRI{1w zUVtb4^+Ic+{7i3Jhz;V)4g4v&>gARZZkm9R zZ?N2j&Eje#T=Fey&9@&z{zE#N*g@$t?KuOXt4`uZy=k`@a>kp?$DOh?(YGxlRJ#UP z%lGi7^gF3fGX+~8D_6+HFX|Ro%OchH1`Us`)%GqCjUPg9dHRPQ3FpIV4my{`FA^I% z={;ypGmK0SmxCqFXpdKp>ekA7vTw5w|9z-=m3tY&@;yNDb7^Ptl6m&d&VHE@=$tRB z`+mDyVDqfmszY@@TGn`rBV-r6r7r@Oa8Uq0&af4)d=Yp}WIn4y4kQ?swL7ib=T^Af z;WXUbH)6NOe({=EFGANYU0;z=J#}WfY{E42ZVDv}P8MDU9y5ftlJ~Oh#C^WPw)gKy z201(+Yq^L}^cFe73w2Zb%0sTD?ZCl7GEt#6ZUeuCk`S%p3#>9U(KIO~uDSGkN{?yK z32I!EeqN81s|`Ef^~e^LlG?+Z~-|o$XI~+jAJ?8{4;OksGfgJ#RbXG z?7#Ai3-aNei^!`5W=YK@(1#B*DrHFB7onj(MD9LI#NrLDk55U6ll8bAI&fNH(1+)b zjAwbcR2PmDG*?Avnci{9w*+(l%2(quqA|R+nHNq<)iWJi%t7jmzvw!0wEt_1^3q5g z5n4hN1*ueRKdOWyEh2Y4WN*1>@bSc(*Cw6e>W6^s;$CjhFgfGaDRI+66Qh9?20fXs zG;5A6)|1qW0=?bA;yp15Y4Z8R-$ne1-lx}`hao0Q-I6B&JYmelY{+3mo+?# zC05}JO)ot4UOp`owgblZiTOp4X6pMPPQ$7SF3Vr^!uN;ZtUF~+%oC!XjP`{wnmBq1 zg{IJnR>rRgpu_jqX7L`qI>EVINcpO=vyXkS3nNprZ&y^pVft$Z6EA&ttYJe*2~`YV z^AQ(+IF&kE2z~sam37B=VlP&P8^9Z}g~>ZVXINZ-0WF!>);z<;Nvnfb5h^rSJtXnM zwS#v*=hbd(HRQ(P63mALatYvG4HeMzEgI%OmnivSVXDLIL^ozIxuYNZn72k7@Z3sL zN+J}%gZb~Dp~WTDGfhVU(%kEP=Ci(U7wo0GW6gK9%A{HegPTz8+E`Hds)}O` zal32qd*~MvRp7M<6-j-odYC5G1BRJuQ)qX^Rp+2n4N%c{^{dXc`F%EUz|O7DX$}c?$+s>Ej;e zUB*}f@#<){@&|V@eavb(lmyTCY3w5bXwQPJ-bT`S_n~|dxgr{vCG9Jtt*Wc zth9&3y)H&$c7{Lseji$RN3>`SyeNhnX1Fo!nR_2UVq6A?%NmVjv8j|lo*r9xU%OOu zHlbk>Su*=v2n-`E8F@qMUZj1x@o|<*otwSGS0ZB3N!z*SvF(eeD zmtbwmIv#nbc6-&H`Nm`P(%r>t6>_xER|U7kl{sw8J@IAHG5je5|Kv|I#uM6VQ5VtW zuX5iix7`qNeq#*z|0U}{QRQ2_7jyBREobh-GY_hk9IT);|8L;)D#}ghOB-m2W(zRf z9T;+n6hGFPaV(B7%lRUiA~udvBvMV^_Wu)cc)aH${)f|9JXtz2-+VP&pzHUAAfDEkw+gdlh}g zPy9ByB&)}VlcX7+=ItD(cb!JqY^3V`@aU9FBFjq2M_#%w2g?Q3K-Mr9bwp%0i=)&N z)cB3hFjpIx6^c(jElKuB-4y~|W7Kx>;4#!DmcF-8`pUrWTDt&yS|w^xSHkDRPfLF^ zgiMuHVmL+5hqa1lPz0g&D)YbhFI&!d10$4BZkRAn%78yLgjJYi>_IoXDcmc+&kqcthG91 z_nKXGq6%HIhyHh3=d(1vVfg$ePIMD=I(L@+`{EbL0{nmP3uuoSW`BGiA1(jp$I7Ae zn(wG|{An5ALnz}Q`-s|_ZlQaKW?58n1g)JHPg^`#ve02|ALp+k#oC}z#3A!JHr8`h z;Jop2Sf7oNQ7sLLOsUpg<&8iXR>zs!-WHX;5kC-@l$n&(+7r(hX{FnQWu=KuP4-ym z@r#}h%N=DB>vWPcf6Po3d$JE#7V*_l>AGHS1Rvy-CEhj;U$MBBsW$e zoUBbIInrWE5lxnnvz$vR7?G{j<@t5#*Hz}atw~}v-JU;XOyDG$$*+B+ct>+Jk;wA+ zbFn&mE{(-2ej;@?`(yi@{4FQ>o0z|8B7p|&^O#hP=qv7dp~Q;eS+C-imn*n2GZgd8 z5t`yZ=%&%WTIBxl%gr82r_qXO7W-4*cpL~o;0iNJH*;So<1@)>nc zYBl92*8lp$Q!>a6mToZe*JgCZ#nS2?=qiDJ@*8cec()yR>A;Vq`4|rUq)+s(5tMyO ztW-GvYtnI4_ZJmEc@k?qKPSniMue_J2TwIq`5zW1!dUG{K7R#T>7hZ`B(ytyq*Em? zS%M!w16f2-%hrh>Z;(I8MXv5Kc@KTP(+ZJgS_OBtzm$K)<7^y#=#~pb;N@dSVf&m)iK=tIpIjQA8eIEh=bv{aG z+f*@kXvs}4Y*Uu=qU`Alb~W=Tn3ouJK{I250#v3lmCHX!#7c*G%aqSH(2W#xE#q6G zmo@~elGx&uD0kdgi0X`Q%tI|&MVgBL%?1u>RpUzkcf0Iw0^d)(QG@RH${qS*Tc7dpvDu1A0IH;J66-yy_;SY2$p@4zj%l6)7 zNcO1rtSCJ`!!`}uAnfT?;lD&R&xE4UTs*6!cipyPh2T9gX@M!#{?T2Z2$yvJ>~sctrYfI%lAmW5 z7x(yfAFzw-!0Fw;@3{|~C$~=|@d$KGDYX&Xc%)>jKZE0AIyVNKdCza=o+j5YsJ@S* zNp|E~;`Dj@Bax0KS%4`gZ4`Cg^GR-r2?zeN%U}kl^V$l;I-o2QJ%EXX) zu3&g zvPp1I{)_P{x&fg%?Q|``J9MB#TY?C*p%pFEipr+cZ`3EZ<|r%C*nQ~x`olbm>x|D- z_$e@4?|Vx(!cYg^yNmO%KQlZi0JRO?Wc*o4FCK%)wb%tD%z0sgZbb!3 z-FXemmGRx#ifH1+_ADxT(BX26}H~Xo~8ftKP)!o=B3ssSP!loDty7-Dwq!prNLxD|+a) zK8}n?(QhU(IpFv@;2&JKOz+TYzKdZkZ_FQvryY%AK4(NA!}ZW@hGG-75_ zPRL%M3wU($7{IIiWiu zuffV`1qa2VgDYQ|1>!ziL9oZCmQ=1QsB(^6@Y0Y$!VxcJf&#V3%24}xLd@9|cxp;{ z1nWPfm5QP13?fP$43x)}SLzdie5qbbqU2&WE{TpUvw)IzfsMT5o~=BTB4I;|t@!S$ z!ddu$)@%LxtrrJV{#QH%WVACPDuK?_@uds0EO=2rohD~_&4reUCx4)piQTpx*T8`b-=ixkJ&{TP5pG|jwf4niFxmQVTv_WsXo zRufZy+LTV~HU)$om69Vu3ud=NQBim{|7=5SC$o#uz0VCZTP~IRF}Y4x)QWY|FFxc; z%uPpMr85f$LcRc5YPTcB>EMAw#t&2mcTyu|%2a0FipVax$<2o%=^~pauBAgq$$Us7 zNAj5%(tfLa7s@sVmHw}4yt`y6FY$EDJ+-M8smb1K{;kEGavHUFC}n0+50Nsf21gUWo^la9RwZa9dS%0Bhbt-$u{#ol*Jy?jHxkQ<-zJi`9$ltX7zEFSrN&<|a# zRx-GtChQrz*rU%i^nosFso=bMygAf!?uWcC*;$~0<>@0oa?7ba|K(Cld}rc^$Hyj8 zsjb2hxcDyjGtsoB^h|VW?uVeI^kTK9r2bo1)?gDGcsH4)3-c73;k~6aQ2IVc)5huQ z;P6u*c3bjJeNzhItt)r%+Pve|CmZIM)j%-i?5zjC0P~WiLL_maCjWDPuwE*tNXP^K z^wd>v{)Hx3O-n|Acz6x|!n^fJgf^I2UUc=0VV6BRE_JeYQk`1vGV1Z0G6kS>R!PEI ze~M)qVT^kui_Rq!C3({I0)Hp{Pe_cIh-m}FOR%Q&T@jzi%1-|h$#18jeMQHJm*kHj zo82=R*#i4gr)OQl&-jD_Ne4w&{k;D5aTj5a{FiA=p~Y9Xj;p`&TVwpztjWeG_{>UN zehn9~b~ePD1(pl&^0DJ0&ni(bA~azv)UbWk7?=^`HsY`jKwBEKz<+uAxpYO6rHlv~}}q93IL?zeQ~TW~^IHfyu3SKIKJ1nduOwr3y3F zr?Cfe7qtrVecY~xhLKs=a4S7YO^;vVYQ;hQJ~WvTh{H#!S+dR3Hyxs$k%?nbUF$15 zV{3WDCNahfLUF_IY1P>xK$7(Zn1j=hfU}HImvA52%frNLzFqv<_-(1sSU0T=XX11J zKD{=>ujH7vMFCD`x4CByqb7yQ%n@^6$xY4l1VO0Idw>-kf>J-J8SUo%ZaEr?19}b| zaEE(cAUVxu{ zFS~gFdd3BTRDEXZ#XRz?4N=WJlFlQj8=S36HNOb>ChQi-*7z(gP3&BOR#xM{2-JS6 z9AV1S5MSxiC7I7x zs!%f`E+rlH|901ixxVOR?-3X-Vi3pOqtRcaoz8m5Ic?$Pp=RM$isi|?k7Bn zkoDa8t3En@a`gfF1XR7+Ui3fJQe9^uq zb-vq7>Rf1BOA6z+hurm^^vYVU{@$I%=RjLB$_bJjaXtL%+Q+&%$Ecd^mph==e!p#L ziaobDz%etoqBNO7$ED{n7EF>+mS5|S2|8LQpg-mmXW}dy8{+>k*+o}kQnAih7v;j} zi}BlKF*?35oM7&|_9DOYcePgv9EQ^P#%ofstF7j6vrbqGLlNUhdMMV2+d zI0hkJ#b0WePr0Ldcj&yg!ETK1Yhluf!S2##F+I$JT{#KV_hBRx57`H9x)si{IHmYe z`e_ddit+E!cB``W*%2C(iU@WHqx@_W#eaA+MqV0yVaW|6+CDQo0F_5OA9NF>lTHM4 zH!39PaIKf)U1HoYigax;gjQrrgbX4KYt1FQ%uM>k?&Q(VkM87TVcz+&v{nji?FJA_ z4c0BJm<1dGB~;c4;|JnJ5|Y*j5et#Evu?9lGZD?F&YNS|p>1e3yOAViegcL0dkoR? z4lzNi8$;dS&}=G8n?}UHxTW=dg00p9|FhSLbk8aE8Wlf2VF;=CSU52e?@o@u51x6k zJortL#W|$L`JsZds;>v_Qt@Q*V+{@mh<{7GsOvvg6b?{!FTrIzne|`p^be;+Hvw~) zRHrCNpQMikmOW_UfcVkp*%c+OzgJT-smD6LAjf^3NG`3?Fm;triFa!O_L{hv!W;g~ zp#-oyG)5>_pxsSr3otax5)mzPR zi~};<_T1=+ugNBbz~xOJo|!k>2_hf0^hzBv)PCcWQZ}fThQ!gh8M%c!`oujcJcb%( zkW$K$L!xA)H?(-Hx_;Mk>7sjt8wST6#SF#kz$DMhESsZJE~!yt2`4g+9}wdu5|cQ3 zH`x@QZ4t!{(LDu{Nfp-wD5u?$^s7b2ewIgvzwRpf@8A$Mu;_b0SXOqO%-W~fHDXfA zGP2?JLVZoj6FS*Hxw0+HBP2VLmO+EWv~#1-e$tQkMCtB{v(=xS6(p0MhK+ZlQhr*b zUD{B!5>vc;Bz5(n4?RMv?D-aC0Yw$-i})cUFq#7Cd~Xok?U5#a55H)!h!85D?fMQ_rHY?YRU6M;gt)h(OK4>_?UA%9gJ5~oC_3b(v&@8KQ=-6KcX7LP?~ zj|hcFwgV&l5FDa6M+@+PX-l8pnYhNxmz!QTAex-fx%m`B7@2Np(TgtrMT&&nU>giA ztUsS&TREB)n!6LBC0s0R50~ewHVPcjUPdu@l!}Q>eJK^P5|kF8R$0&@+^)V|w&r7< z$A~$yN0rS^7IEaC@vWaCI2bcJt-x??%|;p%Q0`4zY(iNWQ#w9cQa;_Y=H*C34DlVD z>UJH$wvjd+J>1gY&}5V+h;{MI5Ik0$J9j9HXIk?HPvo9?(<1qIgAbUK*Pd~Ttdy_Q zhiWA6nEvR!m(uJ<99qFyy4Myg8W58%o-CJBVX`~|`aNGG`Iml_7>HEXGeK&gzx&Q5 zW~lrI8!~-G^d+_*bS=F8O(u28=f)W+pT>QnJdhY=cXU`hPCITw1h+`nB!cTFW$d!k zBLbt9{X=Z(6Wa#&#BciTwm!A-v2fu;Kldjj{z1VnHZMqSO}4 zDGY{Al_9bYz=rpXZ`3U`O+}^I>eC00UcH}|? zr3x>`yL)mtKC^|vv#;_C4L=sekww31^36EHCn_OPd!cYyyF2#3U>25)imxtLAAd+` z-hsp2F#lvsOb(Y>`xtq%Wjjj3ChN~`oZtlzA~eQSI=TU%fFfU{-g%nd$%ltxqhPjE zL(mBl9??G7fKEAual@7-05%*)L|@w4*#q=?O4wD|ZhtyYJ!8Ix#^!z2(IJ4-4Als& zZzX-1`_mlqu;aP{djS+sgJWt=p)y1n%OIRC<6O(6m)ies@-Y@l^|gsHh;Y1rG+HD`xntoC(>>* zS^VTPhx_rJXGHb#)Yv%n)AMgq?*E8C7@8H)Hgh8AJXs;1@Mx=rK*|3E#F_GgppgDQ zht{;BAU<=XAe@F+_5df$o}XNXQP82ly`%;#Hpmh>wlHW>*~$M7;9Jc+_6tJ@;&e70 zZ*jMV1OLjOxFM1UEo1yfl4Vy;;)?vL>*v)SA*sF!j1d3)ldEcPnY6uBuiptYk4o!9 z1(_!_#+I7O=~H0k65e$(SFygC2Xv>0!Vb#FH|L+0KEnYeay;Q)qsLbO$jw`{^pM?% zAP9sfOKG7>Rz7SHt?qtHTv?zHq+dJvWPfaR4A`g!H)(n&0#cdm7si8B5x#fA#!=-ENv}y>-pctNXxtqp=P^~4u8LCz zM?Umi8#h%~I_V5OEGB|?q!YfTRz5`ttR+>1k~+ZjkzE-6lF)@?IR~nq`Jguh4QCk)9Mj*pM6ovNJNq#j!JekV}ExQm;6x)g4ZD6MCjd22^kF+{x`te*)v%HpS2IM;2=2{xL_QLA9~A9GJ4iEg0p43a>4=TBP=suCxHMl14x=o z_<(?n!KYVx0KWMhaoW?nl@t!ck6-?ZgK_~n2v3ZVUVHnJ+>zPkUUKEhldv*|-%7AR zpXL3c&eV2?_!6hJY}GP@6DnrI9}8{MjT7iQvjUO7Djcy9h(gYMf0air8gmie%oggB zPaPvbZc&m>iVWkeZCBKaw+I?$2u>1>?=t{pO7%3IK1m9GwP%rk8vOZoiWAyFw(cdyQ^)$wmpoL3>&U{#frL>2Vt2*) zw9Tb-!u5&3cox3l2_TkPz8*_3k#7N$PmO>**X9lYX~axL0oZUZBf2Bu6Ru7GPZ}~c zW+Q$B&3^G^5Gq^T;j~$-v4c6M)DaI2D=~z7yEF4vj(?iB{)S}%-1k*J`k1N7j^Bm> zVuN}{YaBw+&}mwRzd8cH;Xq5~J9qx9IU|7AxT2yO4wzItbY1l=UpoOpMMzx}jy-38 zZILfNLeS|L?oh!o9;whzAfa`xAp=0ZS&JTLj~F|67^rdO<;>NQ3)S@yJz)p;07(Pv zf-|7pAZ9c5BeER*5jaK4G*s<~B%M2ynTGZ|@8S*Fx7>?Zy}`4vrcy1C1?AF+4$Ozr zfD*N6?rd1=;Xu28Demw=%v>Fqr>8#wj|3-;A?pYLf5NV?^92`J+Rrejy!JNo?d+Ko z$c_;sm@xMdm|*f5IwJ(7a*RLHL$UyTGJ_A8kR@2y8Tlp>PMEgHTPZ1VfJ;3s%yt+d zi~tlRZ4nEYcS19T?i7hdAd@m!Pkb4cSdd89qd74EJ^Qi{+uwGNaR`tRe0*j&FAQi; zrk`bGH-qJ%Iz&76PXu|!Ii|!A^a17;Hfy~j*htfXZnC;#4zt&74dxM$*<#d^AQiTA z#M;HiXUEHY*Ni_5>ZFM1)utt#Gyv>r%AB>}k1&HMw;2J@ZSL+7LstOwT+8J7c?ewK zKHyLWoIioGDSs(jk1t`(7%<)#E|UGo;x0E9r#Qpx)MwP--Y%*qGVY;ys$nVeR6ugY z3`3Ptw^fXTPxG!D-kUXHZ)_LsQQoa#pkiI!u$U??ObBv@Q#}RZf|)GmKgQun+J;;x z3xN#2DNHbGV{?2<{&?tqrr@VOATk7j8j*GE3<#qC4j*mGp9PK7K}xWM4PlyNnfOo= zdDFXDBPB&n!z`#Qe^3JfL^PLPOhYM#>&S{9lO;iAmlxuH9M_sa&-Kn=n1k$w`t*{du8STa}T6konBNF?_$5CUL6G)=cX7hl74(g z3(~TjN>q!0+1H}Zn8@_5$2NAy-t6OP(xvQ7!&1nmn6X==_-96v@pLZHv#JrMCa&d1 z!7hqfM$0=Q`w{y$8#*~!S55%2Ai)+Ov2V~3fVU*JW*Cg%;VV@O9R%H22N?K^$Mr3A z5VQ$4V3B+laD-f5vN>K`B`jUbOCQ7!A@BU6aKH|}YNLIXiL82Jrg(bZTYMH}`U>Yw z0GCF$WW2vNjPm(3b!_~OG9A^)@_wKMn#lZNKFVSz)TxY$7CgdbDKJpyf>e~B?-4e@DlzW8sI2!lwKa^%A zv;H46Pw@MTow(!-H*bEa*5J0p*&K65A4;4+*t>dC+mw>yxUFpMj06qFU5>lx3+yN5 z)pHAsIV8gfrKLw>t?CZtim@1uMqvztN{zW(&k)Y8VXc2aW0$#Wz%Z5nWO(ZxDZ>8Y zms_k9!wDP|J>mD(U>Q#AyEpe~30hw1X~p<(Z=_`1vW~6`p4MBN)PHT*$*6dV-1)n= zfmVvFXFqXJr3n}mUci`$kL$w2_1BaBe8(pt?S6F<*#@~$z#XpMSi-5+-3K&Q-sNb` z;=Meos$o1g>8zLq=hW>LX*xP7Gl3e0t=Ylh(lPV8?r!9D+Om9ot~zGyYcyj#(Q(ZgEGo6E+ANt+n-&)1#&dv+DL?9?=;~W06z6yIdk;}06xEGOQ+i8@a$_z^=00?g zR1R0sEZAyj-rSWU0$K-P^N;Ii1VwTg;&Ewd5Rw(l53ykg$3rbaFfJS>*Bs}Vk+*p%!p?qZAz;+2JT^ES zAba)x706{s`g6AZUl(CsSp35%th`K6RXy4m$Q3|IqNoh3p9n*xWQLWWu)ig1+dW$Q zyh>NI!r&b?cSaSg-jHN8#Q}x~jzMSsYyW87LcnYObLM9JjE}#{r?bfgWD$U~U{Ls7P8KH&E+ets+PtaL%RROWgEb+veUksWJmKmxE>K|X zCMC&_YhhCSv}oAGgq6i)6x}podLZ2qY-Pggi(=H_x@T|3fi4|2gD`qef(!I8w!)hn zJ@juy5^}}dw|;5%Dd~bi;DX;L^fxVO0kadfkE}yl@4V`AVe$iA0fgOuZ+@8ViI%~X z@8$2>?tqcMWuv9Ve^X;Aewz};o^61XF#}d!#%Q?7fYA^5`2qeu9@bEYmuf`^_TUM@ z__s@Apu>tSao3yqBs3Fs-sDhl4lpc)5iTBpGkL3rW)}-7!t@BMO}}Y_;l~rgt^I+C zfpd_W1M7x7?D%vF7{B?!wn21QnJlWl;|C0V5>kg%41*te7zDiE=;Grgp2GCuC&Kr5 zDu+EdU;yRA#0c2uLcZvN(KUep&uw6Y5ZE;zrD6PbyZQgn_tikLqGZHp|INcd2 zM29GYnmbjFFhKB-5~sc!&L^7gP;z5R{xnzuc=d@++p>UV06sqqp*YwiJyrEbBv(Kd z)QYbz4Fa1L#nPEFMnWwBe1^(EaS#{biOG9K0l=vlKT*3C^4sKnir}L(dq)VAk9{H5 z5|##61CdyJ&(uLx=2n#q5Ig-_sZZPN!l_Uh0xvup{s?I6G1ASO?T!LN6=6Ny0`Eoj z4d%+VA4aQ6U_H1DpM#+A7HaRhg5#%ee#G7p^-RHh;pGR(AYAft z0qX;kK8}npFhYi?kqdlpc}OPBitDX!68vggVd9;Zn#D`P+S@JIO{v4+YXSAN0t`M+ z8K_L(ke03oE!6(ihgIYdTL`>0WDeAAg)ux+Uyv7q(ba>Q{r+>3^GvIzZ+BO9Rn6_{l1JdE^u#PT2Lb7|3Jj9` zL%)H|pOnCI^*#vafBa?NCw;C9><1l_;^sd&Ygwx#*YWSU2Mhu`t>2c*H-jvFf%Qs_ z!ldMZIJzr(ZSoI|MXLWv*$ty#g+M7A%9uar^KTeUDGeTVff$jdd0Gh^4~cu~?GGS* zZz3<7*MEzGk>d{nu%C5KFlR*n2JAMC^4mZ5`~}1|2gogWX=B^C|4uJg5hg9zUZyfn=%4Z;KcX*_1 zDsuky&%%Z^_h0|~a?!jRfDdYJC~F-FM0@+e_kR!m&DhYe0*LBHf&*;8et$vSOaGfs z{jazyP9WVZF0A{Ve-jbV;vNdz(C%KCzWzx>Zp3i@e}c4BQFQ9x`pS1HGWqq7UY;PA zIxs((*_2fth{ko=KK}$_DX3l^u-RrAVEd-dCya&*>D!>3!87P!qE=owZqMY6z|`mu zBcSKNan+qYeQy#$9Xx9Q$o=P_IRiJ$q1s?M6Al!Ex*+n#?#P3F`LS6OH?E;!M!TOB zgZMbU(6q-3Kug)3`_XgSz@2(f) z=&qE;TL!33XshQ)bSQLYTq!`MyLZ~bG;{{+hdEFWI`>cgXXK5$IjGy<`TY}u zPzmI`48amiBIuHs(eQ>X2Ae4gqo*k(%0N(wg zo>|8Vi?>2GDmV2}qx!4Zp-TA|qC=IsxPl=QX1~{~tzq}A|BiYVuY=8OE%0SUMv7LB zKk8w7M*f^<>S2b0yVI{rhHV_X^gwu)w7Gi|>g7Rj!xg=#24=XU?Aii7=6pmqt{;Dx z`0#I#fbh<+i~P58@P?v~_a6xKbv^*$XJ6;P6fOd&;CwC8pkEB>?VW)&K7?Dry22e(B?r!HyKD_pT#xZE5tO zX-(seXG4eKfbJKMS-S{dH5q-sOy=*V+F&nj`2u#N+vt?0!)B~?Xt_+eAdF4+cH*JN zf#^*<_)ETpo}#&N#-vauKn^3>cMVHFX4_B)zhKP5;f<^T9zOiSOCEXOM? z{wx2XOku`bdQ!tMpYYcTe%WU7O~C4>!i=5ty{6?;x~o{5{k~V#Nq){X8NFe92$q`c z+&0?PT-uU-+Kh26Ik>J_{*uYM*T6?}E?9Qa*dyQ{>f_-xHtlW|RY%tA8&bv)09eI)4 zt#qQ7RLRpdKmS(Mejy^?BqDfJ7TCO>edrz%p`B@pSZuK;u_Ybgk8dvKpshw+_yzye z%0+ll=pfH8eP66?agfFl2SpYY@hIPBo>yerWt(rxWZUM@OMXIg=QS^9tG2FK5`%uF zU$^0C<~uW5(lU&-&M3!Ax9LKwBqM+PbAQZ{3+)isx7WwPmi~$@(R*kQih+jFTBDXp8AtRP2oLD z(t0qb2}4*R!?0A$lG4p?eKLIHv9AEDiglHFC(36V=EeL*>l*{v5#PzSMRGP0QX2Y1 zXjAg6+9gybT?SFf2;n{WV3oGK;cEf+uLh%pt|yGNhaQ@DEXP{zgK1&(3!HVU-i2|c zorlF!^*8hB>VfW=v<5s)btm7)Wz%f;2&ELpHAptqe>%*}4&)$D8JKHYw5GM>bjYT) zeKgdabQPISH_Zl~S15EUlr7akoyXj~n~vCphNvfdd_-^}d#P=RyUQ#kGY&Yz*IMgh zUYrbcL*x!IMBT6@vh8Hrh;!}iY6Vxwqbt$(>=^FQS{w!7lQ|9P?6jywFd*YS6N-llHV5Z2!;;FmIE>0OBp52`b# zr;%SNPu-UulE=2(yiZkz>kK_Ch8pD*M6hhG(04sXR45$7KS8JIem19-1{4)XE0yEN zAX+hEs*7i^&+mJozFm=Tg5RnhKJVvP&bu`vx5Qe4m&u2P^ac&{XQEAS&0?*)l*C|P z&9~M5-n-9YZ`QQ@{Ti7 zqS;NaNVTmXZkXcmL@VCJGM5t<%A#J~6e^cVxw+-0Kpa%azeGk~mSpq?WlCb-Pc_gDYd%CnoX$(D9J0pZ`ysM zOKnKcIvb^<9FdC6wsXY{y6%xZP9{oLU{1+F$BGKdtIDbzdLw~vB`5ujj*ApCmvzTa z$CBNmx%iZ&KlhNFXW`YfFi+zUZkyB{SuL-kT!>CdeoV96fqhc(-an!_X(zQDC#)Xc z(J(!NVR>GWV@_B+R-R~6K<i0#@kpO^2okW0po`5y{=gvc;dv0LVHQQ z;0fafLOA(}$@fGyZC?D6L8Ya?hqbEM-5xl)A*SVu4_}SC@TxrO$i`8na-)*UmRr#N zrZS{uDz1u$TaEe7+>?c?9A8zr2>ayACNo3h z=_;cogO+Qxnz`$*|JQ|8i@FWBs!ZpP9T(=~Zk6AdfYctE^9; zxe}K6kZm#=KRu;b<;WzYtj&v@k2ZM@__VW9fba7WlF_fpWR5ny4t$VPxH|zuTt8sTJZ^-Fn5-?&7p8+22-e3lbpL$`O-~F=I)Rz*=`G`4EvF za&wwS;~%G}&JSrxB2~_qpHJErFqSVc4?QeqtGf{}b;&McjVK;2d(E*;00ua`s^jrS ze*%=$K`%e)B=ITg7u%9?qBdRK)VR}Q#E-m3XNEYXaTYEcUx_j*j{9>$^XTMRg zVDO>M@WNUq62-5OkY7}Fz(lAxW>>jXmI-uuAC!qzG&f+OV8rt*kt)V@p=;uo>tx)d zeh4akl=V^i|Y#Jg11MzFWYnZHj=bnJ(823KxtJ` zcerW~qoEZ|ak)~4&er<-&)w$~KOzo@ zujR%2LfmnyiB9O;zDK(fsN-}-?Ty|Pnj4e7o_n-o$4rljmL%X__(AY30o%4liJ^jq z%MB6E+SiHw^tQWb7xX!JSH%f)sfs40ZrMp=s|;_rrK6Od&wjE_sj4Ya&MVBymrbo% z%Tpk}scHgi{hQo|Y>@1QA<@pflk&W`nwA)?xV3C;bgadwmZwg&iGWJO?4M?(wP$t# z<1LXck!n6wGRDe+5YBLqnQ+c-gxitkJ7*4$Bl@n8sllHH*ZT)O?b12aW^G4wUEKuT zRC_hC^a=Xp9vm`Sk;y5;O%(&(c)SyY)%@mU^!Ws>V5{M8Ue?Klnx^f*TQPO2V$XZR_-F2nO$3^%GU@$l0O|CmsTHZs3Hk%~f>}2BqfVwp?fEB0f z%3F?nLKnA!>PgC;>%Sj5#B8~#V5+UvZL2jj?rKaNUD3jl_l2)zz3-v)(cj}83DM6``SWMb-$eYR0*adpgfe~$6?!^7gXJHUrG zWFw$n;YD>%w)px`FzFhdi>m#V=7{&6GwOQdA~SlI>9Mt^o94aXA^XMOT1F>3qrbsC>+~6?+Qn<&D3+J#MMpXt&|lJX9m)j)Pa5?s;Y&qXjeZa8ftCqCi9*#5JY}q+J>cf>}d^WBCWyHg@3}*tUEZ~ zX*E8<$OZRMk=zf9p@PrX%*TrgrU zf-CiFS1b7)B6QN&^Zr50x1Qnd0<sA!8v zRX`JXh%?f&OX9>u#%;hub{XqBFF~@&qmAmY+hq?xXmVCjCqr&B`&=vP3d^S(>_l`KJ zV}7-V$pl-q=;vu3Lb+OOs2aQf8nn_EDtI7Z!%pesS5D+iGy9k^`fBX^`^)|KM$ER4 zjS)_}(&^4BK(Ynj2xgesGwil435EBpzM_7xEq)Yb=Cs{+HBJjVn2HBtBK0qun5L%; z&fQ5^=qW2i|GRKHb5_nBf~C(83i_$#UEFdjV!fseGvy;Q|5CcSY^luoEDCPKiJ92% z5cr>-;kc+T_IGiQVTiYkuIY%(cN@XhNhko`=&nixMSr3_%5@RgqK?*by*f%~ z7O|L|%L3E^=;bVhTsM~B^I zDGHN0sbGQ1#)*QH6gn{d#gA@^@oQ<1L<%s}vbo0Om$)a*Z~$Bjhe(m}BlQ^-2_b1M z9GB6q)D01_v^J@o88jd=`E<=GjcWDxm>b$3aa_u7?AWupoYtsF-!F;KG6c2!ACG9* z4v>~x4L>m=40Tn=K0jup-mPPXdcVxcIGmd#3S6*pBf3?p&`;+Cx}%nm{=jMMdJI$m z??-~r+p7>1#AMm@glToSxA6aqVzYPLe8eh3zexg?#Thd}Xj9-ot7%tY$J6j?h@HGd zb?RAKfls1e%S6q1f22^+)S*Nd>8e`aW{x$=6kn=8bWMgx!-5x?(L^E6=$5>;D0}E@ zB$hg4df}qIV6ncvGZY3ts#8eCz&_?xUI;45efIp@dFazG+6US@Y54xLXC(nd63q%G zKNVy?(;3YZ6Gg!j_PggPl}us*u@XJ86f`_x5{6VzoIer7l%e~OOhyoY0`M!#X5cfyQVju3f~_2+Eb$YP%D{V} z6s9!{Y)8NfSw66m*PyW;Olf zra6Dc+1o&m#GTpEI6~@vcTr#!GR-G>9KB!TZ{7-H9H`C7=N@AwswP9+kSWJ$x!$TSW409xYy z?OIwv%SSr{!jb}Gj&cl6@7(yA4O1;IhEUA_>Ex|wHC!MiUA;X|N3zhZwbZgMHX{Np zx&T!{f1qZ68Mkg zuWFiFBZdyg%EgqFC9?SQB?0v5N)e>A>#Z>13TTE$N_t%J>k|DtZ#@tNbi3{{X z{0qZW1aiVhI+XTn|5%|wfWMmnngl#ug=8Bn9@z;P?yMz$d@V#%90>lb8IRvL}>Y2F?o@~M|U)c=9d~skE_E62W8h<|KAmGMR@8q920TN z%Wo)df~2)`7{lm4ec1RJDvOl zDkz}WGj@EGTt&m@iBU{;SzvnbV49sR1H%hipTF4beHvT2L4wOIrh~d)*wrcv+ z2A`DI1qr76DwYF-wa+K?X#L?KfiGkD!=$o6 zgpXX82FYNi#J!-+@j~KahK0tEGer^B<63TTzk`G)<#?b39KlJevbAhN9Jhz4Fx|Wl z1jswuB#DMBEFMxT=CAs-Ni$tJrPwv2h`S-XTTm$>yMtVlB0|CKC}ILH60&)Y5brH1hXxz=z7$hCEplj8Pt(y~O)U+A;m_Q4)t8P_pNIsV69g^}&M-jee* zNDncFG z0NZ(DweMg_R%T47qW*chuIj3d8Q=D^LaXHPu3@jZuM9E?-C!et|+8g~BNt zmIx;XsA>ax4C&F$tV^q}E^Xu5FdXrlLwh{};nBvV_ z614u8gFAQdtP@IuzM0&%l`0^m8k~mFFPbDtLwXq71+XmSF*sp6xYeC`0+YNEl z^ed2G8^}JRKV)`gQc54}eiZ+#hD*qdyV~tv6qhWE@Cs4Hi|l%H+)Oa}gPX zD)Z^6I3&cp3U*}~sGQiy`Gs+1LooHUpTD9@ZpWdR?YOlhU>1=wj=a?eEV=Z${ z%=Xt{J?+ibJ=1NNkcw5=I+VSW{d*vWVagz!8I^u-elxQhHru8USP@c_=edX zq>y;5xf2Hx?zONQVs{W25$aDp0gmM3*eEKR6<&m_pFpwkE4HqRAI3*$q=s{7=Go5) zB1C}n5d8GF$h&ki2F@8j`e@|rl|;T?ZKd70T~hLbqX|15dOXO+AKG6RD|~wBB($W4 znenIA>AFC++^ykDKxidIeAthdzzY7?g$c#J zwSm>>Jdf13{(48XKCtyH2R!6AJ(nJHX+dS$^Vw3>7C%kp z5>;u|b0hxnQR5Hpdvney%G&r+rUguh)b2&9T1`PakPz`g1gGcw$7%}7>9OJ2YRvw( zUw4^4$UIYPZWadDoB%^S&A|&rZ|Iw!1t$^HqmI9jhQ&T%BO<>YtxS!Yu^xf&d^sMj zlVqkhrlE{R9KM4}Rn!y4klR6t*{nvgIRRgLbPQU0)foy4BFw zGa#u94vUB^f^<F`nmcUhPiP1 z2h3SWL>Qg*8%_sf^MX$;w6Y7>x?f3LM0=2Y$4m1H{(-J~m4h$io0J$)NS0dg8QX{z zLp-1jk2Mslo7wlHb9uhknluxohqZp?WdkL5_sbK=mz`nrqY&PGp?Y1Q_*#-2&h7{s zvtd7p@L7TabnCY7i+;0LPLMRZ?>B49qLzyhC=_)t&4~@xd3YyO@30)GE z!&W=MXK{-v(aA}Jx~;e%h$7cb6q6Xoj19MC5m>P*Uu%d|BT9VyT1cKf=!TXCWcY6~ zMmKgq$G)FE8E1f)$(cql^w=6D)iXW|Lj^RynUY6GFA=RxafvK{i7rI*Qc6^g9n_T+ zc>Q!rkjQ|LC*%I6;iRF!Tohke-7bc7XHn7kX=To)7g2Z2c4ctv%$;zXXN*krEBhbv z@>dPIchf%8TAu9&rb20|*n&GXy`#}+-|1kSK$gEMW?X`D zTstoMo%qghYf5~y#vFPMGJPcuEQ8s+8lQWpBjQdo*Vu3qBh^8d*II9Udq!ngT3%J_ zJn}Wpj5C{@z-hJwL8k-i=ZUm0SU8b}roJQ#M^IbfRIJpMDskXhvb;5a8d-@Ddtnl4 z(0&@9h_kR`FX+G)+&Avi4j%}|-hy|^qT>g&&SoOb@h`=?c>j4{4`y`Y_Evv~+Ov{X zWa20M2}Tn3pUweS9e%B-UZXm-zA&Nd&KeY#JyH{4@KV#3e!|~$RpIK|wV=m7AfYbV zaME&peZd~r_{M{rPIb6e_R27r?)k^A#d}NUalidyN+K~W)F_W_=@1Z*_`_!)rsfxR z^#qE(CZpL0su@stjoOB00CsrjaQMIJ$9kBXI zIE~C5{n&KISgRi4>0D^|G;6JZM6k0tPmwY?#0jRrl-ZxKj1HF21{lup-;t=5BFoS$5`0MB!oNpz zJp-)K>aq)NSJWVmVtK(zEidCl6xu0rgyXepAQX<;)($3+NOvg=8F4ENb8V`NoXKE% z*=BziC4`ovcK4K5!S=b3^+(6~yx{}Vzx5BcLZ=7A5cTNCw+AL2wBZSmQ*2@shSu_k zd{l(EKYNlcG@>ByK#$2uPN2?X(l9&`_OO_Nj~l00v_}82@{}8=R*U6^rxwIAiuL$4 zwIFiA9Ld^QEZKIlEIuUvc!v|>U>?BEU!r7KWf4+MR2awo;oik}jFo1G!LcEfcz|Xb z>#J($c)>Jm?Wls{rM7!ITfRL0Gol6Pzg;qk!F-+J_`Ea z!~A%0KK8B@&ClD$)i-QucMbK|_uM2rjrLIrGDDMteLOI-C|6k*V`QDGW3s`X(7{zcs z0+VwS!wECPCnnW2!)%z$fJ#N!9GFr7YcYg;a3p7^-_kkB{Pt4@4CX*KWQr(sxUM=0 z@NT@9-p(Q&=}o8=4>d&)&$z6A#o%UgQE<0o2Y!vChbeG`z z{%96HdQgk?LMlW;X_o<&5zLpfcd!B|C&F1M_c?6Q32uiC$CwK}Ks8a`9uH@~(V3W` zpu!m8vuMXTE~riHb=3C+>IfFdT3R2)_T`Wq&lBg6-Y11SpcKm*lZZOTm~B&VPF>?1 z)`a{Ztac&r`EA}L(0s(H1vZa2MISFR#wBU3`hGL%DAP%RXkla7GC9{V>9bcS8+4)6 zf5s@L!RGi!r)(6b2tWt<-Z*aq19v#jT?wfA@J9r|KJyo^pm6zu=n{f zR3jKBEc?yNA^@1sw8ROZeNLH17K71_y-xjh=5qEN1TpwBTI0()@Zrsls7^?Lz;D}p=er#>g`}7-~qHr z9hUFI#uy_F4z^)JMXOv8EYC$_b#XKpk@7Ff&!$s;C?LAzb#;jQHmR8 zDa%#cHxFM_yj@_*POPxWL=zB6g3B(1AXb8}Q_IotS{W0j%JZK1?J)=b7vLPpY1jU3AybGX3;|T{aA1^0 zn@wJS1FvZHrRPg5pske+@JVq|iBIYFTf<>Mg$1jg$rBDbhD#2eifc>8M%zIt>9>;n zYI+b|wpt!nbM^SuQnnwuXQRR5L@iJZREwlW$$9Unk^6y zej`FR*n}+L&C`va;E65c4o0l1~~95LC;dlnHUxYD+(aeA>6?-hUhCjtmdnbll16(!tV%*5H>6jh`2rGqu z;MLKOjD^0b9g5%zhMaSRzTwZ*K@tdJR*{JX$k-slo!%J(tlOA!tMgHB6q8r+{#)hC zHxI@wq5b~I6-8A5B~Fq%^5r^^)mYkkcJJ7!8ep^dj?xeJH9Q8;S7q`RC`nUiN7I(j z$g!l_sb!S%us-#;me5~)u4PlpH%Kh#w2kalqGpH*mELO03VP=npQg(WC{wt}Yj_j? zSkea359C!F*#2%E&wFnIFGHpOGUi2B$w`Z(T6DP!*2uJWW$d0Bsu83{5-(@P!0Hnc;s-Y-~YRGdf9KML{|Cq8E zgi$dWF&~qKzM=sTEpFzl$`QQY@#F((DXIZ?VXnG{k`TA1oQ$}K#ljhF`p+dxw0O>HXFJNuO7+-oVX=AY!RwI?%ykm9qoFut|jzv z9q2%33akhmhDaMb@t_G>Sf&`MTr-Q?LF(wBNmh z$qDQbAAAkc7sHWVNoq$FP4|C#wik0ngqqhLD0DTaS2c?|e$0eJ48)l~*UAJh9u81Ox^owbuq88vOt>|gqta&YHb9Y2ybRpb+Z(gVnjdFF3e7DDG-|SSd@s5g(0?8J(60yI; zoTYemPKgDEg9T$3EJ^G;L-c*=5J?h-EBT%YXPv5XLZmJH6zlu|aXCi-qkxc5h!v!O zx&h^LVi?_oTv4}X$!-Nd1t&Ut0HxXncQJVm*SH@wmZglzxlpayhl#K9Q-gm~1t1N{ z16Uv$pIcWCU{M0?=(No7ABfNjz)%K#vP|kgJ}Bg-=F-$h_89a|lb&dorY@f{sYcLU z>E5LvC%Ar7+ZG4@o%Rw!UH;yjYUAWjNo@fW35}ckTM)Z)%N+6e`6fdB%QwLB$=F-2 zz@F?t{_hnWB>dlAS~S|ab(9p9-R{e@oXX*o%`8Q?(6WY@C)QYk^fiW zK@)v>mg(P(wxokoU|j0czaIV33lvAA13#VF@(|DO1IvYw1i9$bJW}ogxpAI_f#oVv zr6HLfR~;38zu}KX`c77`y9`RsePvcQrv~B8`06@=tvoQ(CxKPvRUemhM~F)TqR4a!S$FHT-;va=HZW33@ABwA@6BTIM{%I!9rPC8QHwULn3?esm%783)lFXO6DE z13@s6*m7PRD35u4sKn$d-W7;%Wqw0wV+X3az7b-+ zVp@5@DxRKri3EoBpyt*Ba9>622DwBXUS>j1e=1zXYawamj;!9RA_CJFUdQ_Z?!^L3 z;j(;*)w3r>N`!|VcBCb<>n!r<7MK_z?6-e!e|h$cAM+2T=cz9SPZ({fn321%0Wi zC4Z917I07M!k-J7`vC?=x%;P#f}qqVkM!+e%ln`S9HbbKTwHbtPS{qd<7yTx*`#e5 zvld+v9^RjtS&)qUQ2mQB*X>;mPmVmEAZo^4k}1(=zm+{lJMW6co2Mt?ptZ%oel6*s z6*)frAFykA?9bh5^VF1b96e84Pz?1J^-1VMdhfS3Y6VPeHAe0*oS)bKht{S>oo~bT zE8etEQ9Bt6ZtizEsxDQ5(cXS3Ojq&ug|N+MsbaPMt07ZJBtHV%!l$@N=7ljVkl;n& zO0LUkq(hU)+)leA_MzJJkjE_$jfh#8#n>R~vC@~OEm_HK9(}2}k^X=vIq~d?jyI;? z3BYl@<~3=;M-zQS`cR^f#^H*H!K3T|?p@%??Qmq)n=lHHl+bw$${OrWgRUH*cls}J zDhikmz^Z4#$byh?v?8ZA)w&YpZw&-40d9A=O^LOJ)?82tn{%nrQ;*ACh4OoZJmzb2 zPq-hzV9FGyTTmlGWNw&r;>U>`?-P1Ix#`y%BEB(^+|LChK1_T<+z1k<*Ir?=5!05O z?u19^ZEdW>-9o1w(t3v=JRFSUFRbRNKW~8QN0I3t(JI7!)9IbK{>nh9CB=Q%?vUXH z=m{qPO<-9L!Q(!UVMI?qe#BX7scl{mOrEe}ZT?G|`V{>$dyoSj&nt!}R@D^=oTb6d znFsIczwDoe#KPrFV%#-BegZt)gAVnHBrwF)hpKTf3yI8RWEqGDqhaIURS@M z$2P5JwiI<^>ltfT&fnn(XF~|($ZWYRoz)iMS-DfMd(5GiZHmwUkNxjc~5r3u{! z$9YWDT=Hza`P~PlNp0zrqSqZ9QS;z|CDMK8W%n-I4oax$j#At$pw|||7n+w4Hf5bX zhFGr8HiY(E?(hSzy}!>bM7Pd*_yq8g@XjV8 zxtE4{{KxuOqK$M_(y(Q7Qesu$dZSU~)hDKW17ZJc1H630M>F}$U77SFLEdP`4cUgi zJVK8H|M=r2jo4_-CU%Wo-G!Zi&)!4@<007w&a4I58l`BQM`b2#Tw?V;+*E@Pe9!*4 ztAP74YVLzOB;t6&*{8auN0&(GEA5}l+dqzWetQnv`}&Qer9zp6N`)_2F?VL;563GP zw}YMVbG4lYvFfw$n#}1$U)X)E;r*M6TIr&6&ppK2?a{vv0MOOaq z;}+ntV0z9y_UZA7QZa*;;INBMfmnDl<^Wm%jm6kAD9$LO)M%)(Ry9vKfG#&2hQ*vF zCU|+7uTcJS9ecpU1J;E!d^4qKKSuYb_G1xe-)s-3*SyH3bPwM|A_urkn30scRvG^| zb`Agdl4SUoXCoydxbTjCYEF~FQzv8NT@krI!=J&NCZMZDV3YdrKVnNg@H-8Z9|$?L zLzHeLG!`82one+w6z4lgA(Pf*{>81-L?`)1O1AoE2bu!AM!&%-R+@@2golere zXFn~aWO`&!5t54S;q)&I!O`>6mW%^)G$2A_!>Rv&xwHMm-nC|KkQ0FQuG0S0aLaxP z<0iGF6@Pn2~`{gxSoOuKY`}^A~ssTJc~VoiRf5~*N%D|NAQz>Hd`E`AtFm9R0DuO_!uRDmWx&t zW|;@-ocW$PILzSFhZtX^PHh-@CN$1I4#fki9^fw2<6sKo0$R;4l^(VkpSIJeSeLpP z&*cbxEfoz~hn=vgl@e4lksbcxLRuzuDW-$8dm`nSy2fqt18Kk27||J$rgVFyveh`= zS%_1qb2&#h;#bJV)TQe{F-_72nyd!rn$LA7y&?qJ&p8;3%k}(g1i~+^iKQ*0!wWN! zEXc7>@30+i63Z3`9!Zn@%X1C)QD5yczDOI3T?C#CKv0jGzBi>`wZNKVnpwkp&%GQE zK18ami>uZTNwn;Uqsldrrjais-m}fv?1$#FkbaSeZRwNTiw7PIVsuVdbg8MV>=bZL zI&(49rnCC|(26Y2T)d8LEP_mnt-onV zH9imM+D+%TNGz?}`?|3`U7wvqA1KSZvHd}Y&OvKL8`d!@zui`hU4$x;j$4~A|E8z= zI{0dDV9s(v-*0F^Hk@T0g=n8_y|=is>|P@skGFLTL@mUI>@3@XIByx`L}QNaL6?qm zU3%q2$AbEqFv*X=oi#bI&giZ%?%bNZWAFMArzifD-;(EN=e)l$(QyaflP2oUVizfQ z0N}%YTKuP5C*C>;g(2;YKckyqA@7ZIL8ce|SGILVD=%CwP$P~h&Qra2cJ#|tR?X$=kdVQ`Wbfi9+}}7bJ*Z)e2weDx zF%mGS>;rU(3j-QkL-n5{#6S&sH%Oum5WNI6pD9JTa{GW<^3Asx15unxM8m3Hz&rX( zXdU{^C20~sZsAqlD*})O{x}805&RYBArOdYm~mwysK*hEMjArJk${*F$ucbgH0C8J zT!GFvw*RTt-cT2mq-!XT#EDD^h`=4 z=*mIdq3hWBm=1Yhi|8_L2rL>k^j?sq{2?|`@j!NtPuu}0UKH7ruy4eaBZVUGf?VkO}7eK7)}0mR2|t|DDwLPIU4 zu}5TrxrLL*t9+x~fpO*?na~N-&6vzHP{jsjSXMJbU$Sb7b_rKG;@_gqjF*Tav$yRS zhjc3*d-+pXH|dzM$1NJ6=(nT1WXYa%$FZS$(1>j@AGMyv%mbUo`YxirzQg<=MtuR} z)TzBLjz|2#25M_VnQVBUwQoMYBf2RF}f{J>YeD-q=1ZA#SBtYRUlHi)i5~VAT~$YHw`=iHk11OZ zQ`Z!QbH^cp67$7Y+5t;nBG!3WB&A$dEg5-~#tKi{pGainu+6DY^nt4I3jtOl{AZWS-`@1&0Fs+60gk{jsk`dq!ZrvQ|f-aU; zyL4#g^XAY|xY4HA=)P zTyMsOiPP@cpZTq&$|mb1tXZxo>nla+-CHD$zX*oyW%i6Fr-a(ynD={!XPb;lvcN7l zVR;fxmm#LxGmrwy)7I$UMDR@4IuTie&NP~g3PVtn&p6x^Bo=@4Ve-O{H_u=gagG8U zP8i!x#}ELOsHih%l#sP%z^JB*>3PNxHR75$@E`7)VnjR}S6s#t2O(7#O)e3p)Q4@%gN;lec_uF!&Y9z?`@kccGOQnhicOkd+bf{&pWtdVv}BM2P-QF_pC z3K+dIiX|O{9{X|W4{%;2QM*CpnM!8~(71t!N9JoJ_X-d>h_S#4Qu#v4yg+@f6*OMnKoDT$tc#$iqh4>MWbdbL`gWyDd^*@wNFBl7T zz{n?_1~)j&{V`PyPC&MQEF-Tjiw|_rV}tty)U<#;co}Fkx9UJso7ipD4_D1!7=nHQ zV?^bOfiJ>^>o~*ZFW;03q=hPCI2{d=J;RVe30X#EISXgcC`z+%PPuwy&nQcmbIL_0 zdqy?6?#X#RGQ%i_3EFMWszs>p1FO)DesD$}85k8d$%0IZh(q*Enm-Ph_084w{c)fK z)mORy;Ne7+m-WfY|2WWC5^~c2<3L+arsoM{fbYjg~57=6y&^A=K z!z?_6f=v2lhiP*>7E90I>AbIk=|$*n$DVlHjEoDW*QZrF-%NT%d^Fw2*QqTeok%wV zyVEfT5$PfHOAUch*(Fg+65r4dGZ#t^rhBm>X~!^}@+PQadN|z#6)8w1_byOKkRJZ| z7c{=jh@C0$)Ypg_>4mBYjbI9h-Wt)s3(-I$rfEcTFGO>VSgR2|(?cx?rihkT`=p0n z9;dG|MFMIbS4|thP5VoWd@DWtYfsad0#Dcv3NhHL@q=~a>uALA^g=Wij9?0g9vU&; zt7+qP(Q_vGCsrdid3Dhy-9?KuV%vVJJu?NwE{%xy>VSCN0cSKK%}Yj_mhnU* z4tvQstYw6sQi#)DGEQq5^)%v=myAnVMlX%Hu|L!zgDKs`xA$A!h$#|q;*@fuNBbkl zjLD52@3*?q^Zgb#dcNP{M*r@&xY2+6z1=7%Jxt1zZj_DPNPKLX0j(+?H~REGz3kr? znL=*V;jHOKtM|3_xKYRb#<9;#){@eV-o)MS=VpQFPHXmsWoUO=v#(2rcBi%bOm`am zqq3%5`%G(Eep>b3?tNBUVG2A+8j-lqIs!}qaaAMsdm;8~gzZO#IO>Hssu8U;;@Upb zovQz++=)wEuY7KGr*)sb+?{Uhv$_*gB=pD`)d6?816JsYf7@quC#JxYtP#I^b~tdBdD_j0H59(O8wR=HD+{oyI>PBp#UsiD=K8d}{c%IZ$hKJL_J zf4&s$PHp#_?i9;LK}(Ovo!$?Ehg)Ah7ZJ?`}BKI7Bn)>UcQK3Z5Rn=Y z;AJBL+D2MxM2Ht6L?ec3MCpCjIF2bjdS$&Fq^!q5vR}|4DmzG$7Fos1L8@p6xvCLW zy&R;fb`aZng{bM}AT_mvl+=iZUQKJLo7PMtT6oE5p=G?K5goi_bkH*9Xhb(J8Qrvu zO&Zb9OGZB}gC%9HN1V4vweU073Eay;(yB9rb#(;8=x z`}}apbf3tyMIQG#pJx2E%<4Xu(%5~;1+I_y5he^Px~ z-^+dKYxilQ5z$`m6Rq86phmRvLbTF|4>Y2q7owv^e4`PA)2!~plpeidX;$}PiUhQ} zq~ld?+P_-l*fgvAFa@3>7ZqZhSL4U&#z$+!+i6y_WeSLX8Zq6gY14JnW@^M-FBx;S zjEx$x#7o8!E#sg@tniYtLd&?T5gWW@Y|t`Zxug(V(@gg%bV<1nm$(LgVRfJOU--Mv zjx?+LFh%0OyrkSGF|B3>yU(69tNWy(k$+ik>>3_C)28CX!kjl#`i?5 z8!a&&_c_@b);=V)&=ha1Vx{J1G#GX{EkuwFvag9j#>VS0J0gp7|n3s%WT1K9$3USs;##t?+rbb-# zl5thb=%Nv~y=2_hGTzaMN2%6ejw#*6f2La9i766r|EhAQ|5EdlIg>lRNVU3Cpw*oM zt?m?Lb*F4T?vytzx0EN{DIdF2(IuuC(30bEr^S;XY;#JfIpj{mubb|)Ii;n?oqDGl z^%q&)sb8uwago)Xwxs0yOuN&Tl=h!#ciNg_y3@>Glr^QKnAQ~cv+BKlDOOuy3OpAy zA|u5*0!#t%TqBNqA&zTA;a?QuycgoUMhw)5-&0I?YX6IJCoXXfU1W8qVvAnxPLEQo z?!*)cy>(4TwcG*my5grPR(E0wJU?l~Gp{asrn~50jd+n_HDjh|{kx_RfnH`DsLeQ9 zBSO7gAym6UKaB|Yk`b&l&?Q^V%4J2mohr`D+!cWRw#ai=z^7I$i!>g`TlQuEBw?$kBabf@EN2DAiecdAy6 zJZ4%-*>9c-(Py^#*!vg#2)^R4h6r0zz($bv^u+z2Swh^W=jQT#{PdLK#P|7ZA!f{0 zubAIY$xfR+4t*d*8d9j-+A||12kj)P_n{C~ky^aRj9FSn;9Z57pKQ9%(>uz2xWu*LORM`V_|o5f z7A0HVhba<2>8^60FOutrv->Phwz|*yWQ+T(Pqw(vhGdKTY)tlcpB>4y!?pYDOg7!; z3F}5njK_WMFQ-QgNrmO6$-BRq?$au%uE%|zCmC-pwYrZ`?$bI+I*I8%t&^%p>sQ2W z%qvBHy{BxfXOd}S4eqHv?UQ7+Af~|6MC0X5vDe%%E$`UN>#EMr`qtu|><+rxCloWbD>5e$|K+FBvIXM!;_hanMV~K`o=XMx0DC z-KX|%%6+)Rm9f<7KHHZ1yU&kFR`+3w#3%fw+~;yqD48$0&y^&r``k*hxX-O5i~HP8 zvbfKkByacmGf8goHQnd0B-4Gu`1v3$F&_8%W)n3!a-uqqk>Ds+k3t|d9D>Y){ zUhB9p1w^VwZ1X~F(}-&t5$}bF*9hkWh4^8w)qR-Kqjz$z)qR*E0qY;?xRjgLMT@+! z*Xlk@(fz+h{N&a6pLFAwYs8hkR0l~?(@Pnehcgn8WOpNGnQ ziX}B7^CkBw?&UtOSl#CptNWCq|R|Tkow$L=x`2wjqVtU!z!NZ$;XA-)oK#Z_H6!ncM8G zMampNK@t@nr>)Fw_m-ubw<>dmD1{WZ`(J|!>k={@1@TBRE776GYkNymp>3fsw=U1v zYYd7r^)h#XP2FqIW~~l;C;?X?%JpnrTw)5U#>Z&U!`~fNSb2^*p4YP0==9vXZp$q8SC~xj9 zRO@dc!WRgU11a-3M+yn1*K6`AK8*B@q{sKtBw86Fp z;|vi6oZeL171ui=8MLW(H!|CapiQ;zMM4BEqQ}|HIZ=KwPgbfr%qC)~(wTdmZ~wuS zwgyY%MO^7%UFmUar8{ta%ObAyFJvAq;!0~SMjs+M>Lhw9m1jYGF3*CHwNGcMu#6t4 zefD1GpQ`rp;Ei3(wa@l6xre3p{kWd8m}?JQ0y#^#_7=!Ap@J6PwcDl;5m1KZ(T>bK zfAWsZ2PtY-=Qh6l2$!qM%bf!!i@>5K1B;dxuBUwUKU@uXE#3p|=?e{*%2(ex;t(JG zY3TN&K6xgF&3Ik@6qU{BVpJ9Z8yQY}RKNSvvIo?;aL<$_4x7=zu}~~=h=6?zq|Kt| zO#S64w7gB!s3IITZurli*)50EN{}f;lnT566RhSsi5~wgQGOHW_(Ajg3T}sT>!0C$ zVKYCFkk`qB7ok@tBh`^#qxdbcA6fkPPlOnV6ly*yOpG}F2&4b05ap1Z^hotIOEyH& zQFemVJ4Jr|GcK(IW(iUbx{~)EO4=VX!Fm4$v4DxzIWHSxN~MDM6qU+crsn`P@Hus~ zUA+FcA?$TP#C#@17o=Rx2{pzp9{zO{24?; zt|^q=ur7(cfeRIYc!iLy7-2r@tihD$Q74_*zL?U=x+c+UZ$zl`2oru!6W0ycCAGl=f!hioG;SCW0D^WUm4u4w)T9GyoB? zOo%*4g-)`(U;Z|_A)x=Z7h%Gw8NIsOlQJQqj?RuOGtJa)LMuNs(wM=*aR^L znHflOi2IDQi!%T45MM^=nJ;*VAK=RACp^SWaCg*bxfQ!Vetl&{?@}&^ip+Cs2ici>M!YZ&j~!JNk=S$n*XR}Q2zq%!IwO! ztyc=sbR`e!3S>T8$%A?olKy?lgZdDqw^#C@#!j@0ub=XuzPU<>&a2d*uA0b$`Ywvz zS;d2T6{R`|fTiWPI|6c=4tLX5fY7Xv0Y8OZgYCr=_E9rWuv33owq^FQMv4&UD zXUP16oCCUSf9SgbVmxPdf21Sw12fHJH9#Wt*4xB0tO!PDDu6(o*NFm zTu;|f>nc@k_J7diZemGVrx$!=zRXbPG8oH;{HNCUyNNw$ecu9Izd_1PSC)LFzRRU@ z`m4kD5~~^S0&*AFn@Fuc{EwFBPyeIkc`ZJTfyv1LPY*MUuf%f=1gm)MaSUUR(=#n-FAW?!QG_HFnEsJ}r4Hv1C`{fxlo3<{1R zIqBuru5{&8v2WQ4(qI!L8Q`I&ld z!p{`g%)saI!FKTq?9Bcl2-jCaJcp=UpMq#V#4ZlKz%2Czh}pO@6G@b#x4Bbs$zB4P zO(^;XsbFOgkz7*&9=tpxwgxVo0OAKESJea7$+FOaECU;Qg}4nB#G--r`XHWx_0O;9 zd$l0ieJw=uuX%=CbwIhv)S-5ID_A9)VKZmQoxpsHl!LCw88YGiB4}(Y!Zynw$syi040YIeh^M3UolQK% zQN!(GGkQ!8@hz0z*rbLyb~q1l@Ma;hBjutY-iFe<1`lgXlr}|j9m}*1YtM|V0vj6D ztKiOb@~FNK&S{%@RJS0rVKa~FU#g9w&j@o=uh@80L$<(Cw$P6pkKj@54yx-G9@QDh zOy0tydJCDWNQJ^!y#+R#4s51odIt47F82#;ezvsBArAf@gIX?A4eF{9=AgdiNAx7vrP@^gONO_MYm&)+s=bpIo2*x>^!K=QQ8>E6@Sn=sLL|53T$Xl zOE7LB_eFUqR!I}h+)Wa78;04o-o=o4!WaEgNm_#a>%Z>Ir{YK}Lq;`+gp!_tz zv@o~aiCJkUFU%8=8Ml)c=9S2-*hw+W!7Kusj$EkrFUY`Vf2K!~)=rzLOi{fk7xvZj z!MEOlO;>G*DyIV*=xjdHfJSLb-$%$iQ2K`N0vyRPEHkUXX0~N&yXmjnVc(h0qMHnC zf-{tESGfP-46q)bx z)AQ2-+1__cf&4bY-0mY}WY(HmQl# zjn06~2X-z}>lhGIDviXasPryAje(oI1Dl2SP|Io#Y<2=+1~#h`ThGyf&6-5ZCa^V$ zmQ7%5y#kv!YhV*+4Q%37U=z`c9t%$A`bq?<`lcr~r02|LeeWk)z7hI?^x@br0e@4 z7sw`DpFK#`*CerBics}6O|*RBsA;0*3rEeo>g#T;ue-Ir9=g6S2ZOB?*EdGjS1NJ& z?Y*kL(uuV~l2m=A6VFLP))(njUp;Gm^{n;P*Y*8Nn+jcA-!)yID{)=kBvoHPV!fKW zzJSDAHFbS~UiB5S)>p_{UtwL}iify%Gr_E{V>VUa&4jOL--cP=tpv;Fq+1D=%}KWt zto8kuV5#rF1WSD{5>$O|Iz2X%>)WU6%S>1kuIoFPVA;)aFu}5$_Fx zPQoU7m15R6H^K70aBhO-ec?x5^{uwnx7u3Y8eQMB2DtWCf+6es3H4QuB{~8kMddMr z2N6+Q9$B{J3>b$b$hQz8Vmh5@-Xp>MKK&axpl1|5P*RRgfXUgMh@MQy_c6W9`g1NT zVk07w-opguIZf~X6S7lnflX-Y>64I05(UjG1trnayi$?~(S8ga4&NlfFm6({qBgm2 zLUmcwlt0O16CyM2qo(ktlBg{SsYA1bk{%tJB~+0*BsB-oB0+BTD>h(6eYS0mz1E+D#%Mm5m)5C=;KBo4j(^;N?xUh;5mzi*@%dyvzbgi zDkij%@0C$OWwV07XB7-0oRj3Fc{1JB?BFdvkxsyH_1E z7ma)RNT6Q%u|!R5X`{>KY5ab{a&rJFtnO0DQ-|c0*$tJD!V1QL=}Eloo@U6`K?-|O zN*2oDzk`BfNbkn*R4Y9cB?3jMP& zWNFm;dc>x=qH@YQB;hQ;h=`@ zp{N+dB4idIWs5?zP~Zo(;HsQDDo<)G)S> z51$nRHLd_w1QS>xn#4|mXo*a7BGN&OL1q*YaUfPA^97Q~^)V`ng_f%!!L|OBDLNm8 zSGm$~X%#Nb3`L9ffw%&WACa7=`q)IpQ_4IaP+xS5uM-NK@d%f?>=&XFlJP5uMaX=N zl!IXQ7brObDig^yaS zna8yiR|LG(R_7g6>F;2hDJ#4Q__c#v;Zj}U0&9iE4#B1mafJhr>3fJPT#w9ZBv*=8g($edPSWfq z{o28C&)B=vXm>P?u0Q7D6s=nd>1HI<=$RKCvI3WWh4i1Ox&t z-q|w`8-2fHLUcXGZ4dqdH-5*s?WaKe@B?kRI^}<6q!iosglblM68j+Dxl4)7eO!p3 z<1982nXSiJY{wHqv_oKujs>0da7=oS6A(*WGUA-<<6gIxOBHp zrS>}#iWNYq@fSW8qJv|HNj${u3k&MiDL=*%ObqbLm zQo%AHI-mAFdZ>OrjC%!Kcm%|QQ~d0q`)Q?y%H?6a@pZgu;rS8IA(G;1+r+GMr zBQq4qHN-l#iClG2%T=g5ma42rYd$~=kQ}|aKW51O=#=d}-V;&1BnJe~b+@RT)@M(= z^Xq&nAb_y%kW40g4jtgvJ3(TRjXOjn~ zyOKBnS&rg>s_e*LfoREc%+tBd4HuP#LxmW-Zh9P`RABlOx}kkUuNmU=Q5a^BP2`kO z-~RXl@|cTaD~;ig{wBGO_W^NExGZ*oF2sB0CaC_8(D%6eg>SjqgQ; zGg0s!QmBm0N0~L|{@&7iFE|gMuevdbDrLZZ0O-6LXox#1&-!iiGCsdBQsCME< zdh`%4Pa*y)-u!meW!;$_3*n}tlUqWn%Kd|9F?Aq?$%BpS#W$tGo+xU%NDI1RQ{mlIIXuA=yWRXo*a7BBp?dMP?XMHVS_J)Y4S0 ztCChL-uZn52SQ%~zu_DQLYfG$5)=p>L*~dij)5K{^Y9$UKw;+*R-We=s6H}vk+M-_ zP#{5RpmM=V1H?lM3vy@@1AL$JJf{}cJSvxsd34k;8`zoWc~0Gq%+~Wfr=CaVERw4X z^O|$2R7MrqbS}42260lU2v+7lus>JIRM5((oZq>dB`(18F0e9fk!gK_l^KW37$iqs zi!yp0%S}4f)jHMn)k%d>%OK(N3#?C+)+g#^`XmFpSLt&bnVU+V(4Wx%NRHQh^pSV- zqToj`AayCPN35th4Pi#qiG@a4ze>X0CZ&JM6SgAlHjT4aHOj7`N(ICuYt}fU8`z* z3v-etm#W6|!tXSfRF8MkTv9ktdVcMACwYFL^mh=ZTSv560vREuTN@1uLn?jO9VJ!d zLB_I*koabj*iLtjA@OfW;`@hmGit&r4<9;#h-i7GPCI(p9RG@WqT&@vG?5dT)G;^f zxQD*uy#C*3pP)7k0Nh)9GBaq5@w*1KjZS7 zohBkKx2I>3tl-2VO2N#y`dv0E1vBGbmxsJ#={p!FAKL`JpmTK(#^olWaNu;B$q&cn zCl+%JJYv=taDKNr@F}pJ9z`s#pviF@w=7rndrZ@WtJTPln&-vkBbkkMnYb|hRoJ*< zn5%|6Bt#BeEjUAUq_9fk4JvF(A;AO`jH1GkGbFMX6&^&vJ}Q)7h5a~AeigRhMfeF) zSP_>jtXdGu=ui|4x~MufHO??+`vqptZp4+E{Y z$iyKz%72%|)DSR{`|=3-{P&_>o=R^YxAJA$`5Ru0Uq7w#oKi1eMZPYf7cJ1%3YwV( z6t@O6O9bR#h0dYs4~ki)8(Uzeyzhvb;koaaEZK;;t7Hym=3l}5O)<|sh?Ibv5aDY6 zon?}#_D3u9$J=o-Wa`FO)bCFj%Nv$}{Yb}uJFXm!=1uh2C8V%dE*ex=lb+MYAS~!{ zSsB30IHShM7-38@$A1SdY`M%gar3`Zllg<3bmtl8e7iW`#N7er)@2^4uq#+!ukc7k zA=BUr?N;&`DS2;52J;nPu#2L>6dcAmjS_4y1Hjnt3LA{VxpYqL(bWbs2iOm;uo}CN z*`d_9h|C32BR&f?M8I$^eTa@PSwe3w@!b9i$83iDdozdj@D7r_T0Gs;)sK_W;ri_+ zY=un?!`d}zZmwz-bE1}SvwN+6qdbVPo-3`Tl6J+R;nd3&5<1U zcV=PnQm6Y`r~AG-jfr#4F3mcPfRtgkSf@u?r$;Z-X)&-1Z?R5$kx5iK{ff*r(n;*f zV%nBEsVg>}Q@?s^jAWg%-Npian{{&TQaY)epAl68w!&@JsVg#X-e#SqAu|QZ zk;_LX`GO%Jo&7oJRt`}uQr+~6fSZ=`){&maPqrPNAhDkXAGyPWpJc%|vfvk6@G+M1 zZ!P7MxtwN|eOyjU$NC+f>FFm~E+;2f3YX_Yy#W_2LPZ%Z)ODB3>G5>HQwyk+2NV#t z(^EtJGB)+-#8qjhrG^Gf6bBJwsbL(K)2@vGH9gRx`f(XvR42Z#wttk^|(2SpetQ04I#wQL1+wSljGGecrXClw~svyDLPVyKIK@w<|MLIX~BE z5A17q*$m%7X5w8o!!^jPLUOFwp49@?ce`g$63gm{M!1x6^3B2rinyhC)zhgCMpevq z?cYFczw9=@J04NaCVv3um)&LnK7z95FCC3W>vnT=f3hriPVY8@=QqHUQ--9ccUx{b zPMduE{a@y6pWGMJ54(%lM-$g;m2E_|kUtd`(TUc>-Mh`7{#i+y3>ZC{O3ZtgUi1sp zyLWe%f~wi+o_@`4xxPL~Fc;QCdh9!txBWlLz5=|eg*ZS{kpLbzklQ=B3vg8bR9^x2k1r~$g4*JfRukAuO8_jr|916A2Dx-sk0e1~!UGw^{I*v`{x6lqOIAej zF5Sov6!z-Sk`d8El(is6h?+-tX)W6*Zw%V(t8st08ge3_579Mfy+k*Djo#RdFUN+C zL_HoO>RlmP!cEx7-}x6EMyRiR{okGLw;v*^k(T2Vp>4>L~MW6nj^Olt&u7)3-_aHu5{~y!gY?d>hMBwt01- zm*M#~*5*XwP7wK}Si)hA2)=2->l&>y3vA3Y9ojtjeO!K`!4>l85{F2IHs<8_x-q`K zC#ftHFAIrqjFt2tPyG5|hN@+gz9p6yxsYvRZIuhzHZ~LKZ9$){=o?G&E8w1#7p19h zY(zAbroOQ~uL2{OW*4qdb~!f63%<6~1@FHmi>~lu1wHIGU3vEJ%ru{-23)ri%}d5I{zqk_tdKa$0Mlm+xMcU!X9 z?Nh)5vfGn$@SQV71>s9X;TVdzmS%N-Cj0tP#7IFD@)LJ(@Fn_{WN-Nux1jGzz5Qyy z$i3v;@=0(tdaPbDnb-RHzlb(`(RjvCsVW9eUc*Z!SD@OFf<}B6AkN?_ncRRXbd!gS z)dS=ed*YJY6EhZ!wSZbw^Ghc8CtihA6l5wbZTM>P%VaHWsW6$X$Pi>i*<@Z@^#!pZ z*&fn{pt8w+g0U$i+v!mW=h>whb_oOI%i z?Ow@_pOo#sh}r9jwEcr&yGRy`?d1qx@MFo~z|Hnp!?x!#rLzsK zxd$dYJgP|B-4L_WQ)%1VkPEfiUWoAdPo?d%Ku$fCw(~y2v=!iNwJbws`zI48$NUOOm3+jMrTjXsb(_Sllgp=waMcTna4>5^pe$-;m1jV=KSPw z5`UI0<|mJn`tl)-dg;eWqqs-BXMK`nnV&pKvdmAOBw6Ms&yvLaq|HH8Ozj%1jy9}b zOR~(0t|eJ!Mc0zdS<$s5F)QNgZb)^0F4{$ZI!Pl+TV<#`ofJSSh44R0_-qz>+nppv z>toey@&d>GN!58mx&8e~&H420C)>D+P_!$luE$I^;@$(2y@U@4R*9Jxe-#02A zsV+#;JUlQ?YTadq^Yv2?Ni3xUReDO|5M3M4OA?Rh748>FvfA_}OB8kCZt zio_A~!{I@dh~O`myh1K;*$y=j(d)EbBcd;VzjLDnCx-L4{3x0nNx5E+28yXu&LmHg z7juc6NjZp+SLPN@%41%cTLd+QcaLpyFNLHlDTme$?s&Cs#;FQo=1!00wCjnYmj6TU z@?%tPB!0xN@#3X$Be6JlmtS6aBe5o(_UUz$c7fhVwwiL&_Xh~Y3qWq4?r-}TINI3XW6$D&L%&t8#9JrMDF*(56^rihbXA=wR zbiPA*uXW-_G%r2AK{WgCjUBtbb!@B_x70eZArXzyztnv}6QNPW z>p;=gfnEdf{`ga9Zj;C#HCzVc5Wqjh7gMELn3@DPg2rzWeJRTJmy9L86jzH)O3cO2 zzrk$t6M*+OIT8IxNyOJ`6^en6Qr}A0W`kB^uJj~T8#>~tRC6srjI%?*1jHzRV3Lb9+ z=ZiIix2fQ!D%jrEy`+w-Aj}M}HN?b4=BRF9>Q5V*Slm?`tNb57vq@q9NR`V9Glcsk zmZ)M1Z$L(DjZwp~!U`(k4T=79AgpbIn8!N|zySMMOG3G;^QW6{(mc8$tyLq;?Ek&C znf=a4Gm*P$t87+P(pBD4YUeD`=3DCDBMX0!bmX@{EJV$^>FgP68RScPP(R}5q^-3j z68V=G8Yv3kjlV=<05$%A(W8QhXizSeh7I%pr4qgQwcu#Rr4z-nkXQ85iTvTE2mi95 zOrqTNG|UBRTLSMWSFRD(KQa0m@=x?N+Y$oFTzzEYCjjp<^jL0tf(L!9kpDenx!$XT zk9Q@DgHe19b z_4(Co8Y>TII%>U8*GKC37ruC}{Tz~46THaNMUeUt;N667iM%G5$G|uOa88lYo1MtU zock>VYuZp!#iVA>deB^$j;nbfGUgc+JOZ$$2i6JEkELjJLo|0H7p$jYNKv@ zuTxE6Wgc3TCsaI+2wFD;Errm0fc80vf*6K#19-bRwO+MIg%wckrcOfXL@3Bk?Z%$E zK9lx>wv<2It=Z=^I%r2uL=FvC4LOAzyOdDDNq01tN6->GeRT`Rihn^0QY0QP;TxlVdlfN1AHi2`y^f|sl{x*&?M z5)mkY`w+ehU{6?^X+jwrdXzRAuSv+>`#UM6GHW?GBihHBgu2u|98QhBfkyvWq^KA| zy*JUcbzK5)lamlS5#ZgF9!9Sh%vE6g2KegHcWzDuO)+Y78q|%buWECWsLlHkYcHvL zk^_lO7R(1=+#z+l+|{i&)Y-?$ut5#1+fgwSV}6I|?&A3g*{NY`o9a_{Gl&=!_-9E? z;(2Iw-g*3^y+-kB!3jC2US3zS!3mX3+2Dj`Vn(*QBh4*^s74ip%l1mBYRdLXXdz^a z(R+gWQnt2|t)EcMl&zmoSIEx4MXyby>>wpuA)$sTTOlD(bao&2gu8hX_{1t@y2yeT zMqyG#S*TI$JPFl#@;mnB@$)3`ot0V#*5+%vojq4Vc5R=sluM+RRsM=5&)Gx|#pK7i zGY#cqF}CpuTDFAB)K!;tX{-c5OhPc22D;+jg#KuL+b^}+Ng`Y&o!~#4i zL|+KbV^DVi`YI4zFq>@WLC@IiL37y&uc4d^YjGL`EPu7jfQJ67X2Gvl`6lO7GI68PSaw!D2uN^T`cn}_YY#7 zi5DxO6&S%6+U(ld_$)M-uh6!ji}wOn81PYU{FL-~2JL)nEP}Tp_!DsJs^Bcu@iUmq z$l#V>^fiJz;itAo5B!$5$OM5Nt7O<&ZA@h>TF%9L>ECdw28N0F?Bp9O+8(1ryo1Lr zeh*D98r*Ufc@NU&9-a2LIlh2ip%K#Dfwq2aj&H!fD||z<`YrL|M&Qv67!kbgc^sez zOsKz^DWO;!MIG!2J|Ui`}j{NRTa>(3IOuXqB_|@NP1?)kP8sU zZcdKZYR(fTOYrsBgm~?oWYBb?vq<E zpyR(a+GZtscX=pIEVo@v)pGk#Tn%%%eJGCKsN@x%QzPOF`tV*Xw-3b)HkaFn;>Pn= z2U$XBc#qFgh!)=e#(hLzad{RAVmuKA zh!BhOTXB}f`RzEqI4}GFg-vfhs>bK%3P%zuPO>dT{Ce@lxVn*qmXs&V`h7yrp0>ml z;I~dUZYo}>Y>BHtG`&*U5?7sTgMzJbS(V~H1j_u1FGBQ5GS5D0hNjVS9W7hq#GB&Q z)onyH<8P8?e#wbGoEUl(5hush@%;ta^c|hS92KXDhbJ*{n#WsuE))_co{G$;H;$ok z#&-%+;>2dnIX5*T_!BY@FB%HIjpLsy7xGw4QRc^qwG_EqY!Y40H;~ER$74&SWWSr>3 z(;)1@ADNYo<6rEG=Zt0IeV+#(gFnctU04B}!QD-CR9R^Ag?$@N{~`HQ?zS%CsDDzV8>( z&^&b)w7iYw@dEdYR=3GGHMkyn6>;F!+t?~3vIWg^HT44Av$wH)bHP4OjjaQCAEEqy9we; zAbkL=>mN|p^3U{d`t)sJ&O-1E0Dr^R*07;4V^F*jo1G7cQIL(u$L9$J<{^IXJbh(U z9Zj$;4#Az^8X&m41$TFcgCAUjySux)!@-?k!QEYhyZht2_r3RHYSrrL@$RbWuIjx7 z=W3G^cRDW>;I`#snJ{DQ-Cmrn;{|eMN)?269E4mQGhFoij{wD;JUJ4dNaLw-?loCR z9L}&Eysxp&&4xa*VmD6aPFq56+2WYNE=o#Y)afHRUGyol&)0=3S94%!kl?Eb0|anI zg1s$l!XS>`DI@Y<@W5hc!U%eYsFNKW)XY#xCrKGt)K~vA=p%!`-(dU5B(z(dmcL8t zGNjjDG$n+AD~-}vy_gk#*4l)AjkF}0ixean;14*yX4cxS#m-r4>WuR&5`$=B z6l?trFs3imFP?=ydhL&F1QL%FDM_F?1$I9>f+ysfY7o|w93j8Dth zGU&Rk@A$V_hOrI63$^1A6VtW&0|wXD&9^Fpem+`!+KRc)5>R}zP_Nc@Q~S*(&-JV- zJh|4n*(EeT)--GLe4gNTZyC%f=GnoT|9_E7!CW*R}*sjCu{#+E(6W2xGubDafF}+1o;wMim8^KvpZA@3|qchmZ zY0%dkactfhWP`<;V!v48O6%bPiA2atjdTydOT#<)>&(TeKa)%itDRQ)`MBvll5xKZ*#Ckk_9igWsApBrh6%oKsH_0ng;$8^FE> zd}*O4Ww>&%2t!;EE=j;ax?l@4*;o%Jx6scJL$GhyF+a7jd@S!#*&u`irCQO$yoH+4 zl+Z7JjwWl*QPs_)D`qGvY6i{x+EazS@oDVGc^>W$3&9f)!CMC?Io8H zLFIU*h1NGYc9UYQ@ssxXxFmMwG%GqY+2O}}vVih|GtxB3aPHbK;Aj$sMBA_rgGS1V z&2x*3**kQ+*OH)$qL#uoU{%pjPQVJ=LETke*!X^6whbMAtPdj(=d)-n%lTCCe6cU+ z8bnyi@%#0Vu75d;fo77NRUWxkpM&GAuAY=c%osYZSo99u0eko-S&09znl?b+FTkm2L`l#3Sl8x#4vk$4 z=BK=Z;mxnfagkBEVBEi=U16?gM`ZZsyhnE0+Whb7cB0B@%x+#-=f5k+2t|YRFvB_D ze~1?;j>d7$#02OS=lSABC({*Xe9(w6r9f?o;~*VTW`0n>MKh3Rez=g}j18A;-2qJ4 zdJ}iAN{ErH?*D?0aTp`tz_}7pv@$-prL2#v02ew>Gk2d&!#uG>&1~-h65}Plr-AW$ zYB6bYTPyS;bCS=^ekc){Y+m4Sy?Ljn1^yy)1IX=<1)c;sCsv}+xC~M&ohI6 z(sE{zzh;^=#k`;^^9I}j#+#j=S$q7k{Z5gFN<8wi$UQOp`$jY$5bgSD4|SZ?K0p8nlBPjkaPiYcJh5SNdz(_ zn_xOaMBBu?g%7%z(yA{jy|%4T;IOlQr08T=%IoxO%XjMW#Q*AcE<%`N2O*+VdKdxPc&j3)r;TgFZM0V7&L=l@WbhI~Ap2UK; z7@340f%Y$#d4q@n@xXeb-i|CDgar>JBk@!W%xqIbg_Xq4fHwpWpuxc`Ue-r4I+x-oE~Av6Uc!6~Mg944 z^o}2h^E1tYFL1}8qabH(?dOCXZ*Eo9`kz}IzH;Xr;+);Wuih(z*vJ(dmH zotbbSuF=if#zz!Wqa$Y%!6nStb^~z!Rwx({S>Q7$`PnAE)0vX6{Y-7AawUwZ5U^y$NAyTzY`|_^Nd?>Ba2MnpT<**e(7yI4XQ}M1-zJfc&^$=_dXzR|xrw)NGUbIq6+B$xHG*dYV>X|Amq! z_j$l0!8z-2X`kBeX0Y&F5A{y~^*XemSWi(Pnz~r|LX3E5@1Q6ag}*Qv69Y}|lQnp; zm~G3*8Zpaz`~=Xm(wc~*!Tr)03Mne#^q|W*M(B`QN#f(8`b6@uEW&JRP3)T+#n?ol z=;!&0#Df1nrQCF0!AyxJP7crJF!W4*sunyL+Ohs;^|^+%0rVnk`~`DvV`j!Tij-;l z?iCiKi5r?c(G#nuUE*Tj4hbLRbP&37aDnrskakin;$bbyXH`-CWgXewhZEU=M)0k- zzvqdSHEeGOz0?N-Md7LC89j3c2CFQS9h-P5)YXN;_(Fg?R2viCHh)$cu&-gZqC*%M z{R|0`Bl)*_6)?6r8~&?{e{ip*WUVN(!8DbGUd<1 zXd;$S;{`C?)MO@a&Pk?Tb% z-lK(vl^PGx*d=94282^TeWMbFol#LT5Qj>oi=&_7X)Xl=@ zEG~)SRC4>p4V@pl&|jgD6bjGECmO^*+OM#qCwF0#NQI38%ja;*RJtI7GS~lnWv}IX zU_^L8Ds%WHcgC!-QSkXSh-k*IP|;ok~d$50Nv&}ut`2MQu*a*$p zUj+v5o=Mr`H(z$BAp#1DCVyw|Jb{9d8GqEg4q_6~2lQo(BMPx3^F@BCnat&mLuDwe zEXrDM|88JXs7O*M@0>fAsC(aty>sOfGx=l8{tCT zwzTFQO>0K&DE1uV#*?l)eQcaK0w2IEH0jt1}na z1Bfs?@X4u$5~m$lPMlpN9C=9`R7*XHed*L>)6>`F2gl2jB{6ZQyR0GJY z)2|CC$V*35wljU7!|7J2bjB20i~XM+lo=7fi#i(;wMP1mUCNBfWS&vcTiG|FI9@?f*tGSSfR@ zbJez*s!L`A0#+gx2NohDHVd??!Aj7x2-0jH%B8c?xcel%$IUy4WGPWh#-PXg(y;tH zF=AFS3^TPUQ`^BFVq>DSNItGw!yD%o8v4pN%Hkg=5b7M`B=?=`UG|aPm^~(>83Ryl zKRUJw_=KHBtdaw0oz+n;K$ofk@N;Ueo5)LrszpwEY|U+v5%a5I^Q-)`8}{!N5vpC8 zLpLre@z~$vv0EkDiECbwljDUufK|kPKde#{tm%T+6_BQY__lx?(R~@{$D|Yl=v1KcaujPON%?tJe%}7n3 z?gsstTmq89kmfQKl+M(P0rJ0>Kj`)bP+WYpldc7UI(FX*c(M)z$-EM5s;>1H>aaL; zyHK7OJM9U=yoyQxS+^`@1##hMh6k$m0dj*ajDMJEhI^~`b#Do?HKK26!=>C~RT$3t zsAXd<%3sjUHX@06MEiHFY%|zJ>nT)(tCP6+`Bu$k|Ee&`kGKG1S^_UG!G`ZPj8pQ{ z_suw?q3j3@-sm%7Y^raZ>={1?+ToIu=bD`wj?Ax>j8OXQ->S|%Ma=mU- z_1{>ldjrkpHO%H$uw5t7#1G!a`WX28;vTq7K&KgJ7uc>6iCv?8M8+UHtz{Lt2dYrH z2jxWmo4WL7Ir8zwaMd5$WbdZ!wS>$ooN^C`*blskUDJIZ7DYzSox$gJphyDt6(rdQ zFocfE5q*FWZ2H+L_JeGq-doy;z7gnEds&LoGdb9Mz+?+lSDSvO?3;eJMCln8e9k{w zWr^*IoA^H4S7Q!3CE{GkmVIDD@GKhL+<@s>0$dUD_UF>-} zs(vk(GkHqw&shwjD?|Jr=a<^kb@w^tthxb(*V`_`6E54d)^gdqRzqB~|;F$da3sy<$h!)@w19=k2I^Dg(CUDWyO8KWToqh`F~a+rspK zs0HJgUB_ffZgfJs!sc%D@CaLG3@_yfdS%*JmO{o(W6Ra?TjRPOj z(6xMpd}UsPyMO#>ODf#4QEc^@T||Ep`j;jle`2bHc4E^i})(VzXc?65jFn48LJFZQjJ|xDM83XFRH` zr}Eyfa6i((!$+)3O}MVE-DwNw)kyvpj7#~}e-Ak-%91qxDV-rC#z({X(tP&Wtxa ztTY>aAd~`eHrHUjZtpjv_0OA4+Wv_X1QoadvEpI?GpDq#v{mF8j&4o&N9po)i+OR+ zW053#2qQ{7`GY-~SZS0Kf3)X)Nj1k*ndcz0dbDMplbGuF9pwhwb(5&=jUd^jh2eFT zrTTIDmKy8B-6z_sAG@oc+|b7;y659(m^a9O@S3B~;gv&Xf1E6*MVybeYSiO-f?bUf z%WQtk3;%92(X^{Gh-@pLW+0Op?^IA+JuFTNFB7qDs{6s;L+c|ryBsWgqSQmnT4bf9 zVTLGt7$?j=*X-%1n+)7@Bc#K13CWF1>9)_)^KHmHGv-FgCuYsSL|bFpE;I;v87lLL_>sRMa4u(w}_A;eNouvgL2_b zQt&wvYJ?4Oy8U_4PZ27}EfJcxkX2BBqOz|6TON|t$3hUWhyda*Q6v$xIuB23z)f?Q z*S1Ok_=8xmm`kW>8IfoiSsOq^AYfbay2(Mc(Lr@baw7$7i#_ISXfpJ9J1DOX5t~Sa z!zKdG`3)yMn!Bhd@w|xd#aS_aaH~KWJ>OHp6!6@=kcJ|}2v?S6y|L|<%)5}cS>C|nNiAR>8pTTmNO0=^MiGF63PWlGm^&*a2@6w{R|~zE|^Bi0L^YRY>LF zFgKER$YW_y^(cmXp@8r!=z18*??RY?@g~8zE#fPQgue2rgZ6MYus$h+SDRslb%-tE z#ljDNrdT3x=x5U|$sfHtP(6xx^vnQc8C7vctm zmqax(e!gDeiQ}wj!_1BRF&I|`GWz)JUymHUSV)V_>ByF)0oyT4-Uk6~Oj~2sc*DhW zD<(T?oy9cGeNh=~-fCB#` zl$Psg_K#%4x7qn0VnMF*HtvM*-?gPG%+T-k2%3o-jHkD%F9)z%n*|5hqK%jBoP#q#P}RCo`9_D8523qm*yYOl$e&TPnN!*_-we%2tml*-Jbt zTCHbM0OlEy89p*98ev2>xG{jD`8kvnnd7dyu>EPyHl!a>+q}*o>MSg^N+Iw zO4Qt5ni)s#P)PT6Z1wl8LmZH2rOK>7ZL#w3)8Zq#@b6YeMd6cl1sLQIdHvN+zFCqz zHx8kLKU9{dV?L_&52(3eymA~pCWj*^I$kugF<&8;?3ovZ8%zSNnR|0mGNc?zaVcll z<<7S9T5_o5tV0t7CuK0?7!4<#^)rs#ptEUuKLpqlLCe`C5jsX8;XRy3*P{d0)amYG z8CUW%nzLAzeKb|B{o-HuSLYDU6M#4%Yi9t(jX+21e$CzWHyiOy;$<#m4f#k9AJUbvjy>cs=VF6`M#GgQ!!v_go z_sTa?L^sK=H0V9KA-V|Xoy-#d*fw;-mr98Z{(RQPru5M?Gzxy!!oqrel}=+Dj60~u zEZo8vN4Y8@wYD@nU?3!{FN0yT1^8N1*W;cd+D1A(mmgMvGe2 z{A>-yX~e~kvV9ULn}3a{+ga`=>Pj}WujOsA+-VvaWjRwr`uoY0pr@5I z1jEm3HA>T&0LjB zdn#mQ{Sq94i^F~WzXIlR<8)?#Iq(PcOP2rF)~nGx3UiCYC8<{wWiy7=)`ups6DfTd z!^I)$G(1wJ95h&DRUJ96C4##3)1NS;ACi+O-(*(4_k706R{aF*J?5-HZkZ~t`-g-J zxnZo4-C0K#g^MUU=0&k7T>$Vs^~E#NF6{ufU=LGY)v&)Z?{?MGjCK`+1Z2}C0}`No zE&EEdqTf#$<-D{uhhD(W#5T>1jqy}61F+0uHqc(anHpm!jZ-tqtwRZOLO5Uq)2yZu z_jdag`$C#yw!lv#jT3Z`-_b-ChleOC_Y|;Q8&t`z2PK>)7l-%K3@_5mijG-vED{*TIqMlP#WV|u&KTi z?Dg@h$6lQLXO=MCswKTkS(H$uPrPX4-k?mbN@qoY?PA>F)`O4*6Gy!`$$J5Uh9Ar3pc8oByqE4eyoBDvf! zCdlqnWQxP96+vzJY&$RGL$>Tml$313#E5m5!{ee1|=jNwaRwD=QP zQOJ2M4h-S3zz(v!|MgCjX-HaieIVPh@OoAc$Qgc(eQjsD${C<|7~S_dT* z{hJ-YCwc27{{X8kjy`}{9&2MMR}$<{75^#g-JBmCJ};=pAU7Y7fJa{(E+quhm_#Z3 zg>K2z+r61AMFYY2pT{eQi=Nk@#sKC~R3)>04I#qSX9u=&1HqP0J-m8FH95vl_*6R- zzwG=<{NU{;ycjR(1G;q19ImqziF8wQJv!Le5`0^sug-LC`X*t#q>t@=aJkD0_VH3K zCUSeO<|n)9K<@r`BaxF+Irptnc9YUV!InPpkzn|Kk;VP*>hdz0-}?=0!eQS2vpFj= zS^ktut^~GkLBbsr8gWy+6wT`55IiKGR8(mtd6~M+&r?uaG4P{reC`K&^Fmz(6S+|> z*}XiiNgsNiKut9bCyB=DXwZVSIbZ?&A#jD|XUkm3*FzqZNMH%J2~&b_lI|?1Ft~As zvs^*zt`IAtloubLMX^+Nd8MFgCUW;l>aG(z7Wd#)0OgE6<)stJ#M;>Y1T+h*A@N?i z)WlSRUi$EEbGYPf%xo$(hJzw{p{y>rqg1-ROC2+8ul_b9e)to@G}(|(iDm^}aN!*p z?ZMoIW0)p(Z>}p2^8@Qoy8f}D<~W;;U+vdOao-4w@QsAjAvNKAPvTp;3H!92Y=1;=sf?~w#C%{s&A@rsx9 ze|Tqr(eLp{=i=cDuuqPcV#Vpzc=3Rl^xXVJ8Wy=J56o2f7rBfaq5w}@>MDNU8KN|l#7}2ccWB0u6jo5WgbOxOTNMkA|0|0#pzZ`S6fftr&R3nQAJ}U^`gaB zow3$&#IC`DxAoR-4>IQ=K`xgt`CYGjliFQ{ovz!-Fh42(GD%=c^j~Mv3Q9V7PvyI& zrt#=yo_v7d`y*nptsQ9!oFfjNJp!+dc!a#1Q#u+{2&H6t}Af&rH}%nbY1z`oZKJqT68~l^V7#p7h4Y<*F{*>ckbK!8@_zx?$RE)~D*B|@jtZJ!rZ^E&1&*s=Z>3>VS9$YAW zrva=uG&QgG3``LAiLAfp^I%B(_VQx!nf0P zr=2quR<%(2O#^SMl9P;JgOBu|pF@4M*W*c3U7P!{zGnY~@9&8xgR`f`buGF!$AbqB z%@`1M?fwNk^o<8^--|QMdmH`h1Kr!U)g1+=BV;ah915Qxu&PnfZT5H=m7K%`Zygo? ztPRe5TV#}b_QL*P`2s>j@QoJhP7n6oD^3TB^b2MIb30j_Y&=@ifno-kZ4baNrC&d@ zE#XuN6O{!#bzX-GC17hmf)qF)xce6nMMiJ=+L@@9K zj-oVPHFU8bh|s-FVm}XJ`w&NZMFsbqRHu*m+CAAbY`Fvf-E<+DF&KE5{{s;j{c~J- zG-Ei7WpZ@i_GC@1lxRJ;iTNsVi?W|O==@AC$HO!7FgO!rRhy%KGs1p0pnto@ex^Y1 ztrhzy3-%o+^X>0@OqlwlUIK~wa4qpj;f^*H#GBQyr=mPiFIkCav^8tq{9IZU#cOkw z2K`(L5pO@x=FXfLZn`AfaH7`?QLgACle;vR5-7H+4E7x*`)mpJT_N+G>SL_TyzxjH zsV&I7fu?(#X-@~<7YJkleUHp)Tw+)pC$z)_h71z5VSccf$&!SZVMHK5!<39y2)& zj`|m#0e-3T+4S$+V7y~AnljEd;V*@ul29DVe;!Qg7`H>L3?ow(o$y1ZetWV7(d<&{ zwS^GJc{tvK2i0{5Og8Acx8V1aM{{PsfrIRK@%r?7NEsUk& zpr~Amg=dvl${@^XaLkhPisOYa3xOOcg*1x0=~#dLfQ@{4owQFR{P69mP&}(Zct?WvH^nE;S9RqZOp{J%)D|mBVT}}!aUQMD8D=xrkc zrLe=!HilN2lKVq}pSdTnF0w2gP&6da%kQVl;2cgfoKR`&{Bsr3G0VP1;kUeTL#|Eb zaYBC0&YQ`@+Jg1*TvsO+ruV%vNM}76rBLKECHD}N%P!6s2Mmpz)Ae06s|swVNw}+& zZuxc?hv{9&_?3N6T;qA=B-}Nao-=+4FK$o&y9+gn9jYPZl!-as)ht@CR`zKwT(2L| z(b!cwmf}5U)_p&EG1B_CDfLOKzPS%AI$B9JmXR||3>-pH9qk_4gGDr4rA1JePGQ5S zT`mN$JA-)8!>ipB8*5V%#~qm}T>PzWF$SUOTJ%0Iacf!UW0M{-S^DygA_(V*NKqy6UD)d^p^ra&V%c1L`#|el;WW_=N?%Og#J@ z`G9J%d za%Y?njjuLU6!=&)a7K>#R@Bstpo9|3SnN&Se(#a1KRH>PhlzMF*KS&PyV@!!LthX} zHWcwBF3_N@Y#>e@QpdloHS!J9Ru?UMFRP7qzr(_+C=2U?*=GdvZErh0tUkIR%Ov~v zx6<9*PG_1DKYI{bo#x^E-- z7lXwSv*QlQVPZJ|Vuv~k$^ADKYexlU=w&jnj!S_Zxe!+Or0NI}tl##38zWJw;~3k( zq_Ziqh4K|}^FcqSXr5h4F&uTtxwJjxuv}GE+BPI0 ztCq2G8zocC9+cen|7KC&ME~XmXk41sE9ja;*;~qE4_;aI)7}eTNPqG36(WM(zxrAU zT4{&-&H)nEL48P9hdN_0SkaX6qjI=c=xu{P;UkeKRG832Mgt040IFG+tGkD2c7V9F z27>lCNQ1Eg*n)1op9pyh(DB}3(fqiG#sXop)Yv>wGmjdm-T2gf;%~YzrJsp|=n0lkW|BHFS*s|^Dt7BYizg|cR}tGI{BT3OmFEDp zs-PeL@I=;=Zi-{YJ0bf3&A3QYkavDe7$M8jkkHtblGVnFUc^b2q&FN9oJ;2lY3XhU zNh2W1nG$O_P-!;ZtI%fLoDJ#Djm{<)X9>9wuZh$fN8}!zw|FNeY{s=wZc_Lm<31XS zIOK%ZZB%PG7Bz!c``^4&x<1vK)|N6;Dw>Z&qjOBmhGR_pq#A@Wk>O+Ot$&uZ`C4Fc z{Q10M*EoZvC!8@d9{KCjsd%xXW=QSFq7a95)ZHE-4OH=j-+ zBY-T4*{i>2JA^m9z;jWdz7#UwjI{8Vw&@Y|Iz?H>8x*aUQ}rMXfy;(#4UOqKEo}1~QDV?hlkn?l|3BO7&18odYn-#iF7rS95WR{BVQZ1AlL=!W7rH7HtDx|uW zsWRrPn0yE&?-en%%D(pXwW}oJA+f;4k^2(z>im{wFV6yJ8$@3_cgxm;`&NGs+kycU|R=^?3VvW08^ehcDzH zR7I3X4udrfe#^KCeE1rpvmuvb5h-c)IPFgrxF=j6>`Xe#z{1|2Z?H`v#_aV2U-KF| zB6vW(Kix4`m{?=xU|eEFc~kbN{1o}Iuu9G}?J#}i|(M`HtIpH#Ke$chHl?1gEHW*c7N?T(j@=?l#cHX^#FEL&u|Z6@}=*s&8cy_ga; zEX%_3$r1xis#8U9H~d{hO&l%0_vjuY>9(_~ed(GCqx&Lr)8D`xohu^+o^obdIQuS> z>abV8xFk#0G~15nwE}gFg!N9=+!mP!357c?C27woma)u9{+dZTw-bj6ZvmWN_2mT_@!FCSZ3${FM{n-@vZfG2#x=mqe903Dyq6q5lg}W_ z?K~Y7Tps<4Onkxs+rL&eKH;EmyHnrSOi2!VG*BK7jjVGd3Wwii#p7cyD(_(8SA$7k zT#K6#$XwH?7HVKXjybBHgp%;(@6W%6Y*}g5?t5P=im*y-ZKp#*lIXl8)jfNNw~2*H z@wVV3y~)aU6`;|Dp%y*~g_-KlmJkGH*cumaVNB)~&iCFFHO9J=>h%RKKUb=I+y2uPZ3M zw&CaeqO__HZ-UmVHfZd*YUITB;Qi!3v)m-P*hgPh>=1g8>HKfqeTqfVEb+OHn8h49 zv$p1SgA;Z-G;8X#h5w*i$Gn;1eVTh2mVc3A1u%h;Sw(eJ@fXii_)asi@2RUyBfex$ zFoFoEtjT#&pWq`r2D?wKjiMK)npgjPdCkjR6|RnZhK!(Ojx*apXip2ZSV#mk(^Fah z1Mv~~)V6K5%4j(E*BuKyXW(87VX}ZY$gul6>I>ytlBNk@5bQ+&mENE2$1X(}u22b@ z!xxJe$+hS@>`oh06L?+^1RB&nkSxpI95!x3bRR}(7YG0LN$f%MwK!6ev+W2c;cKzb z3V_|f3Xn^m%)e+%B1r$0_$Iglct<)pQeFXI>4f}im3`1OkJ2T}BLbd(RYnROpEjKb z{1~P%Uj*>SNjqZ;NyCS5-4G^DIG|y^waPAzRSGdMCfX>@zzAjxfa-DK@&3mn;$Qz9uBh1ZQ?d+YP&<9NGkfv;pfLSBj>pMy-g%=)xg4a*{ zDuVO{{UGrROm3`OxP~(sCe%MUaRuKeh(1USAGxWXnU&qmyO3A3T zEl*SM=|o^ab6BUW$(az}!a<#0XlU>cLj9#N)eU=d!)c`-)?b@r(=j`g0rs@e5bAdZ z#dRum@OHA&oj~or&a?96I>fzf;$77B4AE<567nj|UwxQBz)Z~iO7l{J)b|+o`!h7$ z@!FiOAK|jKIeG#HO(|@n=-9h;*>O#ElQj61ZPI4<)+BQpBUJ)$Cd9q^X1|82Tm#URK(v#(iA#_f>pXZ-Z6?(DGwiRW@gt6~t$DYj1j-t51K= zOg*G@`6>a-mR}l=%>Ra7pJUf-*_`#L732~UF9yG?)cz@WzvpJii^RK8q_2fMD*p_s z6JLd_D?}xF;C0E`R{uTmx-vz->)M<+(1T!Ga1Ya=`~78_i3c2AH#dL#P9d4Kzn$VV5aRF#HKx^kG2=ZZRP3n+XfrHVcc}q+)P+SuS$&bMN53@aAXkao z8kY$X_JS5mnA(DX2Fy1d*XkLdjrF_sN>exZjWK=K1(331G2_(QtAXKCJGB~P&C-1- z<4#cyM&v6xo%hgkrfnzk?;p>Jc4^7S<;Zq?s1?h18R>#R!otrKc80$mYy?=#Rx)0H3lgPUIC47^m_Md7aKk0A zhGn^}z=jUk7?o^?%=PTk7u!uBsPcyxcDi4R3C4-fF9*>WH?Cat47{ETn-$(~?*wgw zX>UZmIVj!h&&O7FaG=6}$z(CJlWg$UGchODMVJpG@MKeV0c9!pLER*5nv4)dvIHKw zejne$z6ptg6XX)H(;paDVbL`iD3*b1odo51$E}FyOl0`CBJ8^o=$(QwzsuM=4gh>0 zrUQjk!Ii_qMo8Krj%5c3Q1gW-(dxesxRPXsX(ExyK&-M0#X>3(Nph1l2Ohx{(W8a_ z8i!=z^p9A*Z*u0ij+<=H#sWq=IAc}GHqNN7o;C7u9k=-ja+TYZW;YhJ6!Wxd()5!> zDHEYqQRO7-xk8K&{wRAy8!O67yr=vF^T(r?dnH~sWI7#crL8*7G3{Px@`&%`$Lexv zIOsMFo`OQjmB`cY3~YI7Gz~X5p5sl9J6*i_6y`L3l*2~aE1BAcR~?=k=k&d8&~=Og zADBa76AR74Bjr*hltMK_3Qj9%;;F`tk56sG+KkTA1o1~pT9H;tXj*AtU97@2;3z99 zoOuJhsfYmadwh&aQNNTH`lJZMw_m&@4On?LVAo$GB@^uyA=#~O@(0lz>fnmo)M1y! z8MDe-DAY5tq=wWK-4I8ILRHWpyk712<7Ac}0u{8lUCh3&ELquzFA34=oPrdbrhx9V z7b^R+AHpaiTYsW&{Gm+ypOR_B;8`boHgZ*m_X5U)*#_Jt*DR@h&u)v#m^;=j`Dz<- z6D(Qf$pr*-g4=xJ*z^CeXD_so=p)4H)iP`F%3xhO{8GQo%eH#q{9UYr00(OJQ~uKl z{p7nnlYbi)HL{iQ%3d;N^b#5_M`_L&CP(?+Z*?U{X@IsWdCqxEJoJbN@@*u#ldUd2 z%Cy{rA3VlYSNjr+aSZniJPDRveNVJE1xKkpsMM8j0nKCH46-l`IJmz02Uj;+43RnS zw{>9MA`Xes-i=b{o>uhE6an=vsy;pS(TCEq;0TZxCdO#)1MGdt2bs;&sI8o^?)pa z9D7h%j7)xLw*n>Oz#_CI+KHfwrp7UAsfh?-1Y=(^x-5h=N77G6ahxm_uak7$YT? zP<;+i?oI47qp`Lq`SIZPW&Ccn+GhbiBW zHJ84qFCn%75CL8ks;u>aYIUjUbeZ)*v+^hv6U9NR_D|QR97+x{k;_fZYntwUzIcmH z=F0OQ74SyKj~Z%lPHP5gq~ps5YD_be7mREbC^pfxnCi~#&Xyl=tB~isVBBVuX^yUo zA^Xy?mgVn=54=G=tMW3$_TE0QrBhQk6OvGHsT6mjsJRzH^iWS15c$OY3g62H8{2ju z!j5@ow836%Pz5^TNc=t!p=_#k#DkFZq0hwI!99>s3H=*kuhf*z#fD}hbP1S;uH_@=t(Mr~oAuo{SJJ-h$MwMSZK7i@91_BZVVZWR z;XeL(i>h$L4{pM=F#M7V85LB%W{C`K(=>QzI5ZQ5Osbg7a z()LR=(~1x_=sy6@;&Qo=@?>OEGTHOMa_>>hIONx)pCkz2ld#9KZSrGur8Y)bHF&WV z2t+ByNOC#AvT@YamxYaeUJ;616ywCtp9rCjqnt7Q1EU4?p;m!+(jm=02Z)uwbb2Ox zivh0#i?vzC&Zqx}q^k^zqiMFgIKkarf)gBq2X}XOcXtiJS=`;--QC?GxI=LF%lq9w zT~poF^X$&fR?k#bpVPQCWcd$EtJ^VLq3RfT*Y3Br0w3k)q{u35_d}bisOgM;&300V z{b7`(7KbhwI}I`L?>A(uSR|$NUi6}m1~3CYlWH6tW>`7qV708mqY8sT%@i=CS@8t_ zc!KW%eFjz4AZB{MxXejjYopHNs9&zg5z%Wa;+|9E0ts($2=|O>t|ZZN7WSK?&QB2j zROO**#Ha(K7^hm4`Mzr6q+#xPqi z4V*YD98lsB+rtwSDLu3UBFYDkU<4_0clH1&kvuVuaPn+lnP%`~2V!Xy4AoR^Mssc-QjcJkS`t?m~=(a*jBe_A|1lICRS+U@3^JAg?z|R2Z14E1+0N;fg}_K zlmSBG_E0L|E+R+^(8&+8rNn*+J|h-b0=_@5#2S{&J}E`nRj&=VztvO6bo3ZZKQ)*Gcw2oWr$%+1^pZ-mKRL_F}FM|1L_nX(=cx6+E z8%vev0|#OsC&$`C+jJh=WM8-O&AG;~F&(2^&mf~3yMBY( zi5=gA_+UWgN8k-v5xB1(l)qjA)gdqJ07+*`^1~<%S%F}J|De4XAu&dvEkVx0KDJj_ zVHm%9ctij07&7Wxbfm91p?XCC?C2<*0O}e)!$@F4oaKlYd&ta#MBo;0pz$y4l04kw%3TWkgk>z{Q>#r-%%q>?ZK`~X8d&?G=CNe7pf z6i&4+0*9x)Cv%uW^L{31d*{>6N2e_-ip!ERZ7(Y5paVW8 zJIYe79lIeGrVM`ZqXG96DNvP)e}<+I4yF>)chld~F|3J|#IOt5-rID?3^YNK4M|)y z&c0iZK0u}+%xA#bn_%ck9$J;M=>~P2F8Buj_15q@+DXg)0G9KKkVj0^+yzg6gtZ|R@XPc1+>RmOR^IeTjjI;+=|g`AyFgQ|Hs#m( zOG80G_{)dynh}&Vx|!1#Ce~g4u;}e|_UxR5IZ73)ONge|ZeQ!%6OyKi=?GRjFmAxv z`Ap#;Kl}tOjw(08-X6M>$Mnoa53b~|{VmwgQ$CO!Us?Yl(x_VJ($s2eX@1X$#wAQu zs_Xtc?k45z^V>J~9mHin1-i1pOUL&|C{)*ELZz4y&a4@w-#Kl6m#g@i2$!2x&;`?5 zkmU&R+&cKTfpXoEGl_iawcHA~^kjMWjg~g5%b2%MVHX$|vUD<5LkBa&r&WLVR^m(O z$>)*npQ|otE@bG0B?fq3%<=H{8_fF$r$e^(2mTsm8QT|81nCT*2}$N%NH6~er9HaK z@UJ7sWlio%`-MI2Jht??g0DKn(EdXJ@dKk1XK^x43@^&{a#s%KPjKRO|G94-bFfbv zQhpX;c}W>^(HN*yP||$yh6xHbjw};GI$rts*mP0Ul05(I4)O*g-g^BbJo#8evs$Jm zAvDo_4|HgN)5$U$QWKFdso$>9K$wE;(M*EX4+UaVGV=xDo}mF*7nad z<=7H9R?xRqdZYXznvTl0bxbtS@sWB~`>JSU)}LE%ey@(eqIvK~J0{*g(r@Ixg=mD& z-{|ige3!y_VUgX!Tj|cFbbZu*D4`sJ7W(OKVUZj8_YRs`-x+<4yhHfsi8-8KQHC7e zMchK;sI>7cIRY$OaXzOA9?=`yeiBzkzP%BvDff?zX<%ma5lZ%p$!26Nro%T3uR*r5N*0%Diy2@xz|iTEEj z%VrRa=WrmuyRF6C5{EVs*i_xWvnA|b`30|)bh5#RdT#^`fTo+2W)?-yRn&ryr7r7K9?9C^`%_H9#&Z3*%uAw3WL^N!G_p;p$- z2l}&)2J{tf`*2-lz(Jl-JfApZgM766E5%U60(WJ0gWKFI0Ecs$L9)7V4aL-B} zCSH5IBQ@1S5qWj!dJD#UEOM%pjVKrXxS?r3xP zb}|ZaMArBOJ?nI`hFz`*W4&$eZ-D@6#smKsK0!SBYSK%oFHoNieRQ_I(t7jCOgPHZ z+YBvkc=6>U+Z!heThc==n_LmomE~};n_^MbUqtQIfw2`j-9s!r6`Ws{q7|(d=N*3%nb^2cNk%(^qi>rRF9EV5?+} z{KcqnMbF(dK|F&J@AB)pZkC$6@tcE!BGn|;V39oaVRurr5jrcczkx{`h(xG#0T1u| zi0AFhMP`P`@$i%iprZ`r>FgA6MH9^0)FEyTBbJ-)7ebNsKipS=R!oF(ylDfTfXO#I zW_>2(X{u=d<*Ou5W*B#hMrDzVW6fFlSk{iy7;y`MPTuz-PUmeQPY%$&+m7piycr6T zQY23&{bsTk*8nv~gO|K7MN9^?jHdmRlidB=Ln)cAr>2*lZup9nhVayf`cY58v#w|A z{*hml(U)|!Xf|=BnRJ!FQk21N+Op=a725Pfx9-(jR@*7&nzi_mRpXa!h~|PcidK7a z4Ary%!~iQ@ClpvPU0DC-k2OeDj50T)gyI4mV?(|Tn1I^%29W;80R4%l`py!n985^r zluX>$i9U+}s)U0YWB*gYCN<%nI=q%onD{|COk`cgVT$H&Kajb!y2exB1uVE~BU20> zxDiK*6@#PyOiyI|y-xuE7PtXU)}I9>4_Sc)c0E$(iQQ{`yZ@-E`CvurbU4d8Ued8J zbCDlmdqnp>-HDCDX1X%LjVS~=U1)A&<%Zc2|3x#G49liMGEZyH=qhw5aGYpPftTI8 z_j`#H6ThZ#Gzxoc(mI-o-Gku|b75R!WO5s3*|}JA+n{<9B^Z@)wKXLqy15C+|M6=< zV*kBAwAzY<2xO+>e(W6-z%)7HYrz|t`u7*w4!jkzMAT;nQ!~mlyE5w3_3E=`>p&^5 zWebPEKBGjts6b}_A!x@Fb?1Z6t}ssoJ(&LXcP}Y?>I3OBJc!MVqb{5-=RnX`_mDw5L85g zBgsfGz2Av957Y)w{pTQsgMR6QQ@smRFqVZD0Zhn4p(!w!2y&#sVihqh#^%srNZUF{ zi+~B($o(`_h5&)*=!MdfQ01?vS&0J1In>M>t490>X(6g5vs%k9r)F0w8Ymte;ETxm z!SF%Awb=kCNryAe#LSw=`d_vm41k7+rZ31jfIEs7K&Js=tw-Xvn*~eYBl&5j+ZB!B z2zabgTPL$$*!opUj)v?2lfx_4?y1e*JPD$inv zFx@0iLi|S(YGPNYb$?EfBkYI=L?)QI)Btw~AiP-yX}MV+6NBC($ z6cVstjm3|N%ry6VVH^6gs6(&>;R zK)Z4>6{{pav;#2Qrp)3*cqN(nql!pbu;{k$ym|B1e;HO{ZP6g$%zt3nAi(5|CXc*_ z>7qkKf9h3P4>X6GDd+*nV|4diGHEQgmqm;kX6OG~)hzKnB7Q{U8(_&(IQGiG48z*nZOhvIOr z5m1JJ;m``Co#|pqLIn(qiO~-(Fh_IjL;3+c82jOP5^?Or!VjV_OgqfXu_Ys``>mkX zQXKTqM650IuB6}kK%BAITOrBPLz1fL6QXP)(~#~8k?d&DtV+RlELmZ%U?;1QX1mHY z8A6C_(jADoP9^dx%{v?Y>uVfOJYvn(WCWsEZ8?yG}wHdGCXq^?u4j#?a8_(G2L(w$fiZE{0< zFz2HEg8}&WFdOHDA z-Nq>VHie<=l`Wx2{@Rv`fxm`Ujw$B2co*OJQ& z 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%0D<$<$>W^zc!dA2?>o?v^JWrT|KOdE;wiBr@C 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�Q`>x@d4nRK|t5!MkVB^&187<4|E&W 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%0D7J5MDTQ1 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

#@b*d8cBx+>T33GzZ3qE_s zhr}M84YN3qkWCXb#^%`OqrrXB)03*GW96Q*r!_`{^w~#=&L>?)p~S2 zHB*<&gO{x%k>&rusIwb&Q?2^$H7CRAN{F79<`9<33qRvG**QQ2bP8Q2OBYB@$ggaM zBv(cOsU&f9+vOhhjM!<$IUOk1AOaTsGDKV*r~5Po5QY?<(Q!kGJ?zMO-lIc?Qr1Wp z7VQYi6|}Dd=T*Zos#+7qww;Up++RDua{{?|HiM;~{wMbEi8d9b1RD{h_{JXN?Xud1 ze%6yvCE>ROk28zF2lj%fdW{oqWsH#WK=CO_g$9vrmol~5Mc%B;Fh%r)a(kotu4@sdjyLsZZE#h`4N6_d8N`C zbMFRT#g|=44;SxXpgqb#R{wiW=F^c8C?A8#*B`sDV}td{?UJ0Za`M@0sa+wdJ)vT- zbzSKA;j7HyE1y&#m+zvaRdA$sah}p*T>R1w#k74f-Ar6ps*KZl=D8FuRM4D3CQwm| z*g0m$;M@o%DT-l>46H&Eqv+HKrgNc`>{3I>H{-BbXCZrlf$fhAKG4taw*+%NxIf2j z6W^Jjkn=S?n(b3LMdQbl*>AJi^O*~Fry*Mys0_6K0u^Y|=lTzWG1gD6ekiOoD0>;W zred9L5hWYTyIQetkYmkF36aMOZou4YM_^xx^DsFk!ZC?D0l?7xv92HHn$3o$m1jVK zC9d0iI06R)%2reX7y@GJj##G-ho3poBb<#

|#C@1U)3=ZDu-#$zJTK+8TZ_&die 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

AF>4Dzv6=$eR#w^Ml&q@EfyTfu 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
\n", argv[0]); + return -1; + } + + const char* const header_location = argv[1]; //"C:\\users\\dekibeki\\work\\video_header";// + const char* const broker_location = argv[2]; //"tcp://136.186.108.94:5004";// + const char* const channel_name = argv[3]; //"out/873304a31447291aa9a701bfdfb7076f35f070a7a1473521610bfa6a77858569/0";// + + + int in = 0; + std::vector header; + std::ifstream file{ header_location, std::ios_base::binary }; + while ((in = file.get()) != std::ifstream::traits_type::eof()) { + header.push_back(static_cast(in)); + } + + if (header.empty()) { + fprintf(stderr, "Empty/non-existent header at `%s`", header_location); + return -1; + } + + mqtt::client mqtt_client(broker_location, "demo show video"); + + auto connOpts = mqtt::connect_options_builder() + .keep_alive_interval(std::chrono::seconds(30)) + .automatic_reconnect(std::chrono::seconds(2), std::chrono::seconds(30)) + .clean_session(false) + .finalize(); + + for (;;) { + mqtt::connect_response rsp = mqtt_client.connect(connOpts); + + if (!rsp.is_session_present()) { + mqtt_client.subscribe(channel_name); + } + + for (std::size_t i = 0;;++i) { + auto msg = mqtt_client.consume_message(); + + if (msg) { + fprintf(stderr, "New segment: %zd\n", i); + const mqtt::string data = msg->to_string(); + FILE* temp_file = fopen("./test.webm", "wb"); + fwrite(header.data(), 1, header.size(), temp_file); + fwrite(data.data(), 1, data.size(), temp_file); + fclose(temp_file); + + cv::VideoCapture reader("./test.webm"); + + cv::Mat frame; + + while (reader.read(frame)) { + cv::imshow(channel_name, frame); + cv::waitKey(1000 / 5); + } + + } else if (!mqtt_client.is_connected()) { + fprintf(stderr, "No connection, sleeping\n"); + while (!mqtt_client.is_connected()) { + std::this_thread::sleep_for(std::chrono::milliseconds(250)); + } + fprintf(stderr, "Reconnected\n"); + } + } + } +} \ No newline at end of file diff --git a/demo/milk_client/CMakeLists.txt b/demo/milk_client/CMakeLists.txt new file mode 100644 index 0000000..f9523a7 --- /dev/null +++ b/demo/milk_client/CMakeLists.txt @@ -0,0 +1,42 @@ +cmake_minimum_required (VERSION 3.8) + +#Boost and openssl for https +find_package(Boost REQUIRED) + +find_package(OpenSSL REQUIRED) + +#rapidjson +find_package(RapidJSON CONFIG REQUIRED) + +#spdlog +find_package(spdlog CONFIG REQUIRED) + +#date +include( FetchContent ) + +FetchContent_Declare(date_src + GIT_REPOSITORY https://github.com/HowardHinnant/date.git + GIT_TAG v3.0.0 # adjust tag/branch/commit as needed +) + +SET(BUILD_TZ_LIB ON) +SET(USE_SYSTEM_TZ_DB ON) + +FetchContent_MakeAvailable(date_src) + +add_executable(etl + "src/etl.cpp") + +target_include_directories(etl PRIVATE + ${RAPIDJSON_INCLUDE_DIRS}) + +target_link_libraries(etl PRIVATE + ${OPENSSL_LIBRARIES} + core + spdlog::spdlog + date::date + senshamart_client) + +IF(WIN32) + target_compile_options(etl PRIVATE "/bigobj") +ENDIF() \ No newline at end of file diff --git a/demo/milk_client/src/etl.cpp b/demo/milk_client/src/etl.cpp new file mode 100644 index 0000000..e8fc1ca --- /dev/null +++ b/demo/milk_client/src/etl.cpp @@ -0,0 +1,604 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +namespace { + + using Clock = std::chrono::system_clock; + + char to_base64_char(char c) { + assert(c >= 0 && c < 64); + + constexpr std::array conversion_table = { + 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', + 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', + '0','1','2','3','4','5','6','7','8','9','+','/' }; + + return conversion_table[c]; + } + + std::string to_base64(boost::string_view str) { + std::string returning; + const std::size_t len = str.size() * 8; + + char cur_sextet = 0; + std::size_t sextet_size = 0; + + for (std::size_t i = 0; i < str.size(); ++i) { + for (std::size_t j = 0; j < CHAR_BIT; ++j) { + cur_sextet <<= 1; + cur_sextet |= (str[i] >> (CHAR_BIT - j - 1)) & 0x01; + sextet_size++; + if (sextet_size == 6) { + returning.push_back(to_base64_char(cur_sextet)); + cur_sextet = 0; + sextet_size = 0; + } + } + } + + if (sextet_size != 0) { + returning.push_back(to_base64_char(cur_sextet << (6 - sextet_size))); + if (sextet_size == 4) { + returning.push_back('='); + } else if (sextet_size == 2) { + returning.push_back('='); + returning.push_back('='); + } + } + + return returning; + } + + std::string as_string(Clock::time_point time) noexcept { + return date::format("%FT%TZ", date::floor(time)); + } + + std::optional from_string(std::string const& str) noexcept { + int year = 0; + unsigned int month = 0; + unsigned int day = 0; + unsigned int hour = 0; + unsigned int minute = 0; + unsigned int second = 0; + unsigned int milliseconds = 0; + + int read_count = 0; + + if (sscanf(str.c_str(), "%d-%u-%uT%u:%u:%u.%3uZ%n", + &year, &month, &day, &hour, &minute, &second, &milliseconds, &read_count) != 7 + || read_count != str.size()) { + return std::nullopt; + } + + const auto y_m_d = date::year_month_day{ + date::year{ static_cast(year) }, + date::month{ month }, + date::day{ day } }; + const auto time = + std::chrono::hours{ hour } + + std::chrono::minutes{ minute } + + std::chrono::seconds{ second } + + std::chrono::milliseconds{ milliseconds }; + + return std::chrono::time_point_cast(y_m_d.operator date::sys_days() + time); + } + + struct Decoded_type { + std::string_view type; + std::string_view sensor; + std::string_view connection_type; + std::string_view interface; + }; + + template + std::string_view make_string_view(It1 begin, It2 end) { + return std::string_view{ &*begin, static_cast(std::distance(begin, end)) }; + } + + std::optional decode_type(std::string_view type) { + const auto first_space = std::find(type.begin(), type.end(), ' '); + if (first_space == type.end()) { + return std::nullopt; + } + const auto second_space = std::find(first_space + 1, type.end(), ' '); + if (second_space == type.end()) { + return std::nullopt; + } + const auto third_space = std::find(second_space + 1, type.end(), ' '); + if (third_space == type.end()) { + return std::nullopt; + } + //make sure we only have 3 spaces + if (std::find(third_space + 1, type.end(), ' ') != type.end()) { + return std::nullopt; + } + + Decoded_type returning; + returning.type = make_string_view(type.begin(), first_space); + returning.sensor = make_string_view(first_space + 1, second_space); + returning.connection_type = make_string_view(second_space + 1, third_space); + returning.interface = make_string_view(third_space + 1, type.end()); + + return returning; + } + + //cumulocity stuff + + const auto data_refresh_period = boost::posix_time::seconds{ 10 }; + const auto reconnect_period = boost::posix_time::minutes{ 1 }; + const auto resend_period = boost::posix_time::minutes{ 5 }; + + struct Send_info { + senshamart::Client* sending_to; + std::string sending; + }; + + struct Refresh_info { + std::int64_t iot_device_id; + Clock::time_point last_read_time; + }; + + struct Cumulocity_requester : + public std::enable_shared_from_this { + public: + Cumulocity_requester( + boost::asio::io_service& io, + senshamart::Client external_temp_sensor, + senshamart::Client external_humidity_sensor, + senshamart::Client milk_temp_sensor, + senshamart::Client milk_level_sensor, + std::string_view host, + boost::asio::ssl::context& ctx, + const char* username, + const char* password, + spdlog::logger& undecodable, + spdlog::logger& log, + std::int64_t device_id) : + sending_(), + recv_buffer_(), + recv_response_(), + io_(io), + ctx_(ctx), + location_(), + socket_(io, ctx), + host_(host.data(), host.size()), + target_endpoint_(), + reconnect_timer_(io), + refresh_timer_(io), + resend_timer_(io), + external_temp_sensor_(std::move(external_temp_sensor)), + external_humidity_sensor_(std::move(external_humidity_sensor)), + milk_temp_sensor_(std::move(milk_temp_sensor)), + milk_level_sensor_(std::move(milk_level_sensor)), + undecodable_(undecodable), + log_(log) { + + boost::asio::ip::tcp::resolver resolver(io); + + auto resolved = resolver.resolve(host_, "443"); + + if (resolved == boost::asio::ip::tcp::resolver::iterator()) { + log_.critical("Could not resolve host\n"); + throw "Could not resolve host\n"; + } + + target_endpoint_ = *resolved; + + std::string combined; + combined.append(username); + combined.push_back(':'); + combined.append(password); + + auth_ = "Basic "; + auth_.append(to_base64(combined)); + + refresh_info_.iot_device_id = device_id; + refresh_info_.last_read_time = Clock::now(); + + } + + void start() { + refresh_(); + set_resend_timer_(); + } + + private: + void set_reconnect_timer_() { + reconnect_timer_.expires_from_now(reconnect_period); + reconnect_timer_.async_wait([me = this->shared_from_this()](boost::system::error_code ec) { + if (!ec) { + me->reconnect_(); + } + }); + } + + void reconnect_() { + socket_.async_shutdown([me = this->shared_from_this()](boost::system::error_code ec) { + me->socket_.next_layer().close(); + me->socket_ = boost::beast::ssl_stream{me->io_, me->ctx_}; + me->socket_.next_layer().async_connect(me->target_endpoint_, + [me](boost::system::error_code ec) { + if (ec) { + me->set_reconnect_timer_(); + } else { + //successful reconnect + me->socket_.async_handshake(boost::asio::ssl::stream_base::handshake_type::client, + [me](boost::system::error_code ec) { + if (ec) { + me->set_reconnect_timer_(); + } else { + //successful handshake + me->do_refresh_(); + } + }); + } + }); + }); + } + + void refresh_() { + log_.info("refreshing"); + do_refresh_(); + } + + void do_refresh_() { + //clear prev state + resend_info_.clear(); + //generate request + sending_.method(boost::beast::http::verb::get); + sending_.version(11); + std::stringstream building_target; + building_target << "/measurement/measurements?source=" << refresh_info_.iot_device_id + << "&dateFrom=" << as_string(refresh_info_.last_read_time) + << "&pageSize=5000"; + log_.info("Refreshing with target: '{}'", building_target.str()); + sending_.target(building_target.str()); + sending_.keep_alive(true); + sending_.set(boost::beast::http::field::host, host_); + sending_.set(boost::beast::http::field::authorization, auth_); + + recv_buffer_.clear(); + recv_response_.body().clear(); + + boost::beast::http::async_write(socket_, sending_, + [me = this->shared_from_this()](boost::system::error_code ec, std::size_t n) { + if (ec) { + me->log_.warn("Couldn't write to cumulocity: {}", ec.message()); + me->reconnect_(); + } else { + boost::beast::http::async_read(me->socket_, me->recv_buffer_, me->recv_response_, + [me](boost::system::error_code ec, std::size_t n) { + if (ec) { + me->log_.warn("Couldn't read from cumulocity: {}", ec.message()); + me->reconnect_(); + } else { + me->do_recv_(); + } + }); + } + }); + //send + } + + void recv_measurement_(rapidjson::Value const& measurement) { + const auto now = Clock::now(); + const auto upper_limit = now + std::chrono::hours{ 24 * 7 }; + + if (!measurement.IsObject()) { + return; + } + const auto found_id = measurement.FindMember("id"); + if (found_id == measurement.MemberEnd()) { + log_.warn("Member id not found"); + return; + } + if(!found_id->value.IsString()) { + log_.warn("Member id is not a string"); + return; + } + const int64_t id_as_int = atoll(found_id->value.GetString()); + + const auto found_time = measurement.FindMember("time"); + if(found_time == measurement.MemberEnd()) { + log_.warn("Member time is not found"); + return; + } + if(!found_time->value.IsString()) { + log_.warn("Member time is not a string"); + return; + } + const auto time_val = from_string(found_time->value.GetString()); + if (!time_val.has_value()) { + log_.warn("Couldn't parse time: {}", found_time->value.GetString()); + return; + } + + //if over 48 hours into the future, ignore + if (time_val.value() > std::chrono::system_clock::now() + std::chrono::hours{48}) { + return; + } + + refresh_info_.last_read_time = std::max(refresh_info_.last_read_time, time_val.value()); + + for (auto measurement_iter = measurement.MemberBegin(); measurement_iter != measurement.MemberEnd(); ++measurement_iter) { + + //if we are metadata, skip + + if (!measurement_iter->name.IsString() || !measurement_iter->value.IsObject()) { + continue; + } + const std::string_view fragment_name{ measurement_iter->name.GetString(), measurement_iter->name.GetStringLength() }; + if (fragment_name == "id") { + continue; + } else if (fragment_name == "self") { + continue; + } else if (fragment_name == "time") { + continue; + } else if (fragment_name == "type") { + continue; + } else if (fragment_name == "source") { + continue; + } + + //we aren't the metadata, we are a fragment + + auto const& fragment = measurement_iter->value; + + for (auto fragment_iter = fragment.MemberBegin(); fragment_iter != fragment.MemberEnd(); ++fragment_iter) { + if (!fragment_iter->name.IsString()) { + continue; + } + if (!fragment_iter->value.IsObject()) { + continue; + } + + auto const& reading = fragment_iter->value; + + const auto found_unit = reading.FindMember("unit"); + if(found_unit == reading.MemberEnd() || !found_unit->value.IsString()) { + continue; + } + const auto found_value = reading.FindMember("value"); + if (found_value == reading.MemberEnd() || !found_value->value.IsNumber()) { + continue; + } + + const std::string_view unit{ found_unit->value.GetString(), found_unit->value.GetStringLength() }; + + const double value = found_value->value.GetDouble(); + + //if we can't decode fragment name, log it, and skip + const auto decoded_type = decode_type(fragment_name); + + if (!decoded_type.has_value()) { + undecodable_.warn("time, fragment name, unit, device id, id, value = {}, {}, {}, {}, {}, {}", + std::string_view{found_time->value.GetString(), found_time->value.GetStringLength()}, + std::string_view{ fragment_name.data(), fragment_name.size() }, + std::string_view{ unit.data(), unit.size() }, + refresh_info_.iot_device_id, + id_as_int, + value); + continue; + } + + if(time_val.value() >= upper_limit) { + //we have a problem with devices returning bogus timestamps in 2035, this will stop those + continue; + } + + senshamart::Client* sending_to = nullptr; + + if (decoded_type->type == "Farm_condition_temperature") { + sending_to = &this->external_temp_sensor_; + } else if (decoded_type->type == "Milk_quantity") { + sending_to = &this->milk_level_sensor_; + } else if (decoded_type->type == "Milk_temperature") { + sending_to = &this->milk_temp_sensor_; + } else if (decoded_type->type == "Farm_condition_humidity") { + sending_to = &this->external_humidity_sensor_; + } + + if (sending_to == nullptr) { + log_.info("Unused sensor value for {}", decoded_type->type); + } else { + std::stringstream sending; + sending << + "{" + "\"time\":\"" << found_time->value.GetString() << "\"," + "\"value\":" << value << + "}"; + resend_info_.push_back(Send_info{ + sending_to, + sending.str() }); + } + } + } + } + + void do_recv_() { + //read request + do { + if (recv_response_.result() != boost::beast::http::status::ok) { + break; + } + + rapidjson::Document body; + if (body.Parse(recv_response_.body().c_str()).HasParseError()) { + break; + } + + if (!body.IsObject()) { + break; + } + + if (!body.HasMember("measurements")) { + break; + } + + rapidjson::Value const& measurement_array = body["measurements"]; + + if (!measurement_array.IsArray()) { + break; + } + + rapidjson::Value::ConstArray as_array = measurement_array.GetArray(); + + for (auto const& element : as_array) { + recv_measurement_(element); + } + } while (false); + + for (auto const& sending : resend_info_) { + sending.sending_to->send(sending.sending); + } + + set_timer_(); + } + + void set_timer_() { + refresh_timer_.expires_from_now(data_refresh_period); + refresh_timer_.async_wait([me = this->shared_from_this()](boost::system::error_code ec) { + if (!ec) { + me->refresh_(); + } + }); + } + + void set_resend_timer_() { + resend_timer_.expires_from_now(resend_period); + resend_timer_.async_wait([me = this->shared_from_this()](boost::system::error_code ec) { + if (!ec) { + me->resend_(); + } + }); + } + + void resend_() { + + for (auto const& resending : resend_info_) { + resending.sending_to->send(resending.sending); + } + + set_resend_timer_(); + } + + boost::beast::http::request sending_; + boost::beast::flat_buffer recv_buffer_; + boost::beast::http::response recv_response_; + + boost::asio::io_service& io_; + boost::asio::ssl::context& ctx_; + + boost::beast::tcp_stream::endpoint_type location_; + boost::beast::ssl_stream socket_; + boost::asio::ip::tcp::endpoint target_endpoint_; + std::string host_; + boost::asio::deadline_timer reconnect_timer_; + boost::asio::deadline_timer refresh_timer_; + boost::asio::deadline_timer resend_timer_; + std::vector resend_info_; + std::string auth_; + + Refresh_info refresh_info_; + senshamart::Client external_temp_sensor_; + senshamart::Client external_humidity_sensor_; + senshamart::Client milk_temp_sensor_; + senshamart::Client milk_level_sensor_; + spdlog::logger& undecodable_; + spdlog::logger& log_; + }; +} + +int main(int argc, const char** argv) { + if (argc < 12) { + fprintf(stderr, "Expected" + " %s" + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " \n", argv[0]); + return -1; + } + + const char* host = argv[1]; //"bega.apj.cumulocity.com";// + const char* username = argv[2]; //"jkaraboticmilovac@swin.edu.au";// + const char* password = argv[3]; //"swin.iotLab";// + const char* broker_location = argv[4]; //"tcp://127.0.0.1:8001";// + const char* cumulocity_device_id_str = argv[5]; + const char* external_temp_sensor_name = argv[6]; + const char* external_humidity_sensor_name = argv[7]; + const char* milk_temp_sensor_name = argv[8]; + const char* milk_level_sensor_name = argv[9]; + const char* log_location = argv[10]; //"etl_log";// + const char* undecodable_location = argv[11]; //"undecodable.log";// + + const auto undecodable_file_sink = std::make_shared( + undecodable_location, 4 * 1024 * 1024, 4, true); + const auto log_file_sink = std::make_shared( + log_location, 4 * 1024 * 1024, 4, true); + const auto stderr_sink = std::make_shared(); + + spdlog::logger undecodable{ "undecodable", { undecodable_file_sink, log_file_sink, stderr_sink } }; + spdlog::logger log{ "etl", { log_file_sink, stderr_sink } }; + log.info("initing"); + + //milk supply chain monitoring system side + + senshamart::Client external_temp_sensor{broker_location, external_temp_sensor_name}; + senshamart::Client external_humidity_sensor{broker_location, external_humidity_sensor_name}; + senshamart::Client milk_temp_sensor{broker_location, milk_temp_sensor_name}; + senshamart::Client milk_level_sensor{broker_location, milk_level_sensor_name}; + + //cumulocity side stuff + + boost::asio::io_service io; + + boost::asio::ssl::context ctx(boost::asio::ssl::context_base::tls_client); + ctx.set_verify_callback([](auto&&...) {return true; }); + + const std::int64_t device_id = std::strtoll(cumulocity_device_id_str, nullptr, 10); + + const auto cumulocity_requester = std::make_shared( + io, + std::move(external_temp_sensor), + std::move(external_humidity_sensor), + std::move(milk_temp_sensor), + std::move(milk_level_sensor), + host, + ctx, + username, + password, + undecodable, + log, + device_id); + + log.info("starting"); + + cumulocity_requester->start(); + + io.run(); + + return 0; +} \ No newline at end of file diff --git a/demo/sensor_client/CMakeLists.txt b/demo/sensor_client/CMakeLists.txt new file mode 100644 index 0000000..dba746e --- /dev/null +++ b/demo/sensor_client/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required (VERSION 3.8) + +find_package(PahoMqttCpp CONFIG REQUIRED) + +add_library(senshamart_client STATIC + "src/senshamart_client.cpp") + +target_include_directories(senshamart_client PUBLIC + "public_include") + +target_link_libraries(senshamart_client PRIVATE + PahoMqttCpp::paho-mqttpp3) + +target_compile_features(senshamart_client PUBLIC + cxx_std_17) \ No newline at end of file diff --git a/demo/sensor_client/public_include/senshamart/senshamart_client.hpp b/demo/sensor_client/public_include/senshamart/senshamart_client.hpp new file mode 100644 index 0000000..3f58414 --- /dev/null +++ b/demo/sensor_client/public_include/senshamart/senshamart_client.hpp @@ -0,0 +1,22 @@ +#include +#include + +namespace senshamart { + class Client final { + public: + Client(std::string broker_endpoint, std::string sensor_name); + + Client(Client const&) = delete; + Client(Client&&) = default; + + Client& operator=(Client const&) = delete; + Client& operator=(Client&&) = default; + + void send(std::string); + private: + struct Pimpl_deleter_ { + void operator()(void*) const noexcept; + }; + std::unique_ptr pimpl_; + }; +} \ No newline at end of file diff --git a/demo/sensor_client/src/senshamart_client.cpp b/demo/sensor_client/src/senshamart_client.cpp new file mode 100644 index 0000000..9f3de32 --- /dev/null +++ b/demo/sensor_client/src/senshamart_client.cpp @@ -0,0 +1,86 @@ +#include + +#include + +namespace { + class Client_impl final : mqtt::callback { + public: + Client_impl(std::string broker_endpoint, std::string sensor_name) : + mqtt_client_(std::move(broker_endpoint), sensor_name) { + + auto connOpts = mqtt::connect_options_builder() + .clean_session() + .keep_alive_interval(std::chrono::seconds(30)) + .automatic_reconnect(std::chrono::seconds(2), std::chrono::seconds(30)) + .max_inflight(2) + .finalize(); + + mqtt_client_.connect(connOpts); + + video_topic_ = "in/" + sensor_name; + } + + void send(std::string data) { + auto msg = mqtt::make_message(video_topic_, std::move(data)); + msg->set_qos(0); + msg->set_retained(false); + + try { + mqtt_client_.publish(std::move(msg)); + } catch (mqtt::exception const& ex) { +#if _DEBUG + fprintf(stderr, "Failed send: %s\n", ex.to_string().c_str()); +#endif + } + } + + void close() { + mqtt_client_.disconnect()->wait(); + } + ~Client_impl() { + close(); + } + private: + void connected(std::string const& cause) override { +#if _DEBUG + fprintf(stderr, "Connected\n"); + if (!cause.empty()) { + fprintf(stderr, "\tcause: %s\n", cause.c_str()); + } +#endif + } + + void connection_lost(const std::string& cause) override { +#if _DEBUG + fprintf(stderr, "Connection lost\n"); + if (!cause.empty()) { + fprintf(stderr, "\tcause: %s\n", cause.c_str()); + } +#endif + } + + void delivery_complete(mqtt::delivery_token_ptr tok) override { +#if _DEBUG + fprintf(stderr, "Delivery complete for token: %d\n", + (tok ? tok->get_message_id() : -1)); +#endif + } + + mqtt::async_client mqtt_client_; + std::string video_topic_; + }; +} + +senshamart::Client::Client(std::string broker_endpoint, std::string sensor_name) { + Client_impl* const created = new Client_impl(std::move(broker_endpoint), std::move(sensor_name)); + pimpl_.reset(created); +} + +void senshamart::Client::send(std::string sending) { + static_cast(pimpl_.get())->send(std::move(sending)); +} + + +void senshamart::Client::Pimpl_deleter_::operator()(void* p) const noexcept { + delete static_cast(p); +} \ No newline at end of file diff --git a/deployment/cumulocity_template.service b/deployment/cumulocity_template.service new file mode 100644 index 0000000..2c2a08e --- /dev/null +++ b/deployment/cumulocity_template.service @@ -0,0 +1,14 @@ +[Unit] +Description=Cumulocity etl +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=ubuntu +ExecStart=demo/demo/milk_client/etl bega.apj.cumulocity.com jkaraboticmilovac@swin.edu.au swin.iotLab tcp://136.186.108.94:5004 15396922 MilkExternalTemp1 MilkExternalHumidity1 MilkMilkTemp1 MilkMilkLevel1 etl_log undecodable.log +WorkingDirectory=/home/ubuntu + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/deployment/init_instance.bat b/deployment/init_instance.bat new file mode 100644 index 0000000..2ae21e0 --- /dev/null +++ b/deployment/init_instance.bat @@ -0,0 +1,2 @@ +@echo off +plink -batch -i %1 ubuntu@%2 "curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs" \ No newline at end of file diff --git a/deployment/senshamart_broker.service b/deployment/senshamart_broker.service new file mode 100644 index 0000000..b3c5dcd --- /dev/null +++ b/deployment/senshamart_broker.service @@ -0,0 +1,14 @@ +[Unit] +Description=Senshamart broker +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=ubuntu +ExecStart=node broker/broker-app +WorkingDirectory=/home/ubuntu/broker/ + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/deployment/senshamart_demo.service b/deployment/senshamart_demo.service new file mode 100644 index 0000000..ea0be5f --- /dev/null +++ b/deployment/senshamart_demo.service @@ -0,0 +1,14 @@ +[Unit] +Description=Senshamart camera demo +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=garbo +ExecStart=camera_client/camer_demo +WorkingDirectory=/home/garbo/Downloads/senshamart_demo + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/deployment/senshamart_miner.service b/deployment/senshamart_miner.service new file mode 100644 index 0000000..71b9a5a --- /dev/null +++ b/deployment/senshamart_miner.service @@ -0,0 +1,14 @@ +[Unit] +Description=Senshamart miner +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=ubuntu +ExecStart=node miner/miner-app +WorkingDirectory=/home/ubuntu/miner/ + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/deployment/senshamart_wallet.service b/deployment/senshamart_wallet.service new file mode 100644 index 0000000..cffeed3 --- /dev/null +++ b/deployment/senshamart_wallet.service @@ -0,0 +1,14 @@ +[Unit] +Description=Senshamart wallet +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=ubuntu +ExecStart=node wallet/wallet-app +WorkingDirectory=/home/ubuntu/wallet/ + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/deployment/update_broker.bat b/deployment/update_broker.bat new file mode 100644 index 0000000..bfe77b5 --- /dev/null +++ b/deployment/update_broker.bat @@ -0,0 +1,13 @@ +@echo off + +plink -batch -i %1 ubuntu@%3 "sudo systemctl stop senshamart_broker" +pscp -r -i %1 %2/blockchain ubuntu@%3:broker +pscp -r -i %1 %2/broker ubuntu@%3:broker +pscp -r -i %1 %2/util ubuntu@%3:broker +pscp -r -i %1 %2/network ubuntu@%3:broker +pscp -i %1 %2/package.json ubuntu@%3:broker/package.json +plink -batch -i %1 ubuntu@%3 "cd broker && npm install" +pscp -i %1 %2/deployment/senshamart_broker.service ubuntu@%3:broker/senshamart_broker.service +plink -batch -i %1 ubuntu@%3 "sudo cp broker/senshamart_broker.service /etc/systemd/system/senshamart_broker.service" +plink -batch -i %1 ubuntu@%3 "sudo systemctl daemon-reload" +plink -batch -i %1 ubuntu@%3 "sudo systemctl enable senshamart_broker" \ No newline at end of file diff --git a/deployment/update_camera_demo.bat b/deployment/update_camera_demo.bat new file mode 100644 index 0000000..2f75466 --- /dev/null +++ b/deployment/update_camera_demo.bat @@ -0,0 +1,13 @@ +@echo off + +plink -batch -pw %2 garbo@%3 "sudo systemctl stop senshamart_demo" +pscp -r -pw %2 %1/demo/camera_client garbo@%3:Downloads/senshamart_demo +pscp -r -pw %2 %1/demo/sensor_client garbo@%3:Downloads/senshamart_demo +pscp -pw %2 %1/demo/CMakeLists.txt garbo@%3:Downloads/senshamart_demo/CMakeLists.txt +plink -batch -w %2 garbo@%3 "cd Downloads/senshamart_demo && cmake ." +plink -batch -w %2 garbo@%3 "cd Downloads/senshamart_demo && make" +pscp -pw %2 %1/deployment/senshamart_demo.service garbo@%3:Downloads/senshamart_demo/senshamart_demo.service +plink -batch -pw %2 garbo@%3 "sudo cp Downloads/senshamart_demo/senshamart_demo.service /etc/systemd/system/senshamart_demo.service" +plink -batch -pw %2 garbo@%3 "sudo systemctl daemon-reload" +plink -batch -pw %2 garbo@%3 "sudo systemctl enable senshamart_demo" +plink -batch -pw %2 garbo@%3 "sudo systemctl start senshamart_demo" \ No newline at end of file diff --git a/deployment/update_miner.bat b/deployment/update_miner.bat new file mode 100644 index 0000000..a82f980 --- /dev/null +++ b/deployment/update_miner.bat @@ -0,0 +1,14 @@ +@echo off + +echo "STARTING %3" +plink -batch -i %1 ubuntu@%3 "sudo systemctl stop senshamart_miner" +pscp -r -i %1 %2/blockchain ubuntu@%3:miner +pscp -r -i %1 %2/miner ubuntu@%3:miner +pscp -r -i %1 %2/util ubuntu@%3:miner +pscp -r -i %1 %2/network ubuntu@%3:miner +pscp -i %1 %2/package.json ubuntu@%3:miner/package.json +plink -batch -i %1 ubuntu@%3 "cd miner && npm install" +pscp -i %1 %2/deployment/senshamart_miner.service ubuntu@%3:miner/senshamart_miner.service +plink -batch -i %1 ubuntu@%3 "sudo cp miner/senshamart_miner.service /etc/systemd/system/senshamart_miner.service" +plink -batch -i %1 ubuntu@%3 "sudo systemctl daemon-reload" +plink -batch -i %1 ubuntu@%3 "sudo systemctl enable senshamart_miner" \ No newline at end of file diff --git a/deployment/update_wallet.bat b/deployment/update_wallet.bat new file mode 100644 index 0000000..f3d8ca8 --- /dev/null +++ b/deployment/update_wallet.bat @@ -0,0 +1,14 @@ +@echo off + +plink -batch -i %1 ubuntu@%3 "sudo systemctl stop senshamart_wallet" +pscp -r -i %1 %2/blockchain ubuntu@%3:wallet +pscp -r -i %1 %2/wallet ubuntu@%3:wallet +pscp -r -i %1 %2/util ubuntu@%3:wallet +pscp -r -i %1 %2/network ubuntu@%3:wallet +pscp -r -i %1 %2/ui ubuntu@%3:wallet +pscp -i %1 %2/package.json ubuntu@%3:wallet/package.json +plink -batch -i %1 ubuntu@%3 "cd wallet && npm install" +pscp -i %1 %2/deployment/senshamart_wallet.service ubuntu@%3:wallet/senshamart_wallet.service +plink -batch -i %1 ubuntu@%3 "sudo cp wallet/senshamart_wallet.service /etc/systemd/system/senshamart_wallet.service" +plink -batch -i %1 ubuntu@%3 "sudo systemctl daemon-reload" +plink -batch -i %1 ubuntu@%3 "sudo systemctl enable senshamart_wallet" \ No newline at end of file diff --git a/deployment/update_wallet_pw.bat b/deployment/update_wallet_pw.bat new file mode 100644 index 0000000..026711b --- /dev/null +++ b/deployment/update_wallet_pw.bat @@ -0,0 +1,9 @@ +@echo off + +pscp -r -pw %1 %2/blockchain rfid-tunnel@%3:senshamart_demo +pscp -r -pw %1 %2/wallet rfid-tunnel@%3:senshamart_demo +pscp -r -pw %1 %2/util rfid-tunnel@%3:senshamart_demo +pscp -r -pw %1 %2/network rfid-tunnel@%3:senshamart_demo +pscp -r -pw %1 %2/ui rfid-tunnel@%3:senshamart_demo +pscp -pw %1 %2/package.json rfid-tunnel@%3:senshamart_demo/package.json +plink -batch -pw %1 rfid-tunnel@%3 "cd senshamart_demo && npm install" \ No newline at end of file diff --git a/miner/miner-app.js b/miner/miner-app.js index 501aa11..fac7bf2 100644 --- a/miner/miner-app.js +++ b/miner/miner-app.js @@ -30,7 +30,6 @@ const express = require('express'); const bodyParser = require('body-parser'); -const P2pServer = require('../p2p-server'); const BlockchainProp = require('../network/blockchain-prop'); const QueryEngine = require('@comunica/query-sparql-rdfjs').QueryEngine; const Blockchain = require('../blockchain/blockchain'); @@ -38,7 +37,7 @@ const Miner = require('./miner'); 'use strict';/* "use strict" is to indicate that the code should be executed in "strict mode". With strict mode, you can not, for example, use undeclared variables.*/ -const Config = require('../config'); +const Config = require('../util/config'); const Payment = require('../blockchain/payment'); const Integration = require('../blockchain/integration'); @@ -49,9 +48,7 @@ const Transaction = require('../blockchain/transaction'); const { DEFAULT_PORT_MINER_API, DEFAULT_PORT_MINER_CHAIN, - DEFAULT_PORT_MINER_TX_SHARE, - DEFAULT_PORT_MINER_TX_RECV -} = require('../constants'); +} = require('../util/constants'); const CONFIGS_STORAGE_LOCATION = "./settings.json"; @@ -84,9 +81,15 @@ const apiPort = config.get({ const blockchain = Blockchain.loadFromDisk(blockchainLocation); -const chainServer = new BlockchainProp("Chain-server", true, blockchain); + const miner = new Miner(blockchain, minerPublicKey); +const newTxCb = function (tx) { + console.log("new tx through cb"); + miner.addTransaction(tx); +}; + +const chainServer = new BlockchainProp("Chain-server", blockchain, newTxCb); chainServer.start(chainServerPort, minerPublicAddress, chainServerPeers); const app = express(); @@ -192,7 +195,7 @@ app.post('/sparql', (req, res) => { req.body.query, { readOnly: true, - sources: blockchain.stores + sources: [blockchain.rdfSource()] }); bindingsStream.on('data', (binding) => { const pushing = {}; @@ -216,351 +219,3 @@ app.post('/sparql', (req, res) => { start() }); - -/* ///////////////////////////////////////////////////////////Integration/////////////////////////////////////////////////////////// -DistributedBrokers = ["mqtt.eclipse.org", "test.mosquitto.org","broker.hivemq.com"]; -DistributedBrokersPorts = [1883,1883,1883]; -function makeTopic(length) { -var result = ''; -var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; -var charactersLength = characters.length; -for ( var i = 0; i < length; i++ ) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); -} -return result; -} -paymentAmount = []; -paymentAddress = []; -IoTDeviceAddress = []; -IoTApplicationAddress=[]; -MassagiesRecived = []; -var MiddlewareClients =[]; -MassageCounter =[]; -StartSending = []; -MiddlewareTracking =[]; -Durations = []; -Intervals = []; -i = 0;//RequestsIndex - -app.post('/IoTdeviceIntegration-Control', (req, res) => { - const {IoTDeviceID,paymentTransactionID,Duration,Protocol}= req.body; - Durations.push(Duration); - MassageCounter.push(0) - MassagiesRecived.push(false); - data =bc.chain.map (a => a.data); - MetaANDTransFound = false; - for (let j= data.length-1; j>0; j-- ){ - //this for loop load - //Blockchain and search for metadata and payment transaction that match - //the provided MetadataID and TransactionID - var metadata = data[j][1]; - var transaction = data [j][0]; - var pickedMetadata = lodash.find(metadata, x=> - x.id === IoTDeviceID); - var pickedTransction = lodash.find(transaction, x=> - x.id === paymentTransactionID); - if (pickedMetadata != null && pickedTransction !=null){ - MetaANDTransFound = true; - break;} } - if (MetaANDTransFound){ - //Loading the IoTdevice parameters in order to connect to it - var IoTDeviceBroker = pickedMetadata.IP_URL.toString();//mqtt broker - var IoTDeviceTopic = pickedMetadata.Topic_Token;// mqtt topic - paymentAmount.push(pickedTransction.outputs[1].amount); - paymentAddress.push(pickedTransction.outputs[1].address); - IoTDeviceAddress.push(pickedMetadata.Signiture.address); - IoTApplicationAddress.push(pickedTransction.input.address); - Intervals.push(pickedMetadata.Interval) - if (paymentAddress[i] == wallet.publicKey){ - res.redirect('/IoTdataObtainingAndForward');} - else{ - console.log("payment Address not match")}} - else{ - console.log("Metadata or Transaction not found") - if (pickedMetadata == null){ - console.log("metadata not found")} - if (pickedTransction == null){ - console.log("Transaction not found")} } - MetaANDTransFound = false; - i++; - res.json("true");}); - - - -app.get ('/IoTdataObtainingAndForward', (req, res) => { - console.log (`transaction of IoT Application ${i} approved`) - BrokerRandomNumber = (Math.floor( - Math.random()*DistributedBrokers.length)+1)-1 //collect a random number to select a random broker - MiddlewareBroker = DistributedBrokers[BrokerRandomNumber]; - MiddlewareTopic = makeTopic(5);// generate random topic - MiddlewarePort = DistributedBrokersPorts[BrokerRandomNumber]; - //loading the configuration massage - configurationMessage = {"host/broker":MiddlewareBroker, - "topic":MiddlewareTopic, - "port":MiddlewarePort, - "duration":Duration} //add pk of the node connect to the IoT device and send the configuration massage - var IoTDeviceClient = mqtt.connect(IoTDeviceBroker); - MiddlewareClients.push(mqtt.connect(`mqtt://${MiddlewareBroker}`)) - var MiddlewareClient = MiddlewareClients[i] - IoTDeviceClient.on("connect", ack => { - console.log("connected! to IoT Device Client"); - IoTDeviceClient.subscribe(IoTDeviceTopic, err => { - console.log(err); }); - IoTDeviceClient.publish(IoTDeviceTopic, JSON.stringify( - configurationMessage));}); - IoTDeviceClient.on("error", err => { - console.log(err);}); - IoTDeviceClient.on("message", (topic, message) => { - console.log(message.toString()) - IoTDeviceClient.end(true)}); - //connect the randomly choosed mqtt middlware broker to listen to the transmitted massagies - MiddlewareClient.on("connect", ack => { - console.log("connected!"); - console.log(MiddlewareBroker) - StartSending.push(Date.now()); - MiddlewareClient.subscribe(MiddlewareTopic, err => { - console.log(err); });}); - MiddlewareTracking.push({index:i, - TrackingTopic:MiddlewareTopic}) //this used to track the connection in case there are multiple conection at the same time - MiddlewareClient.on("message", (topic, message) => { - //call back, - //will run each time a massage recived, I did it in a way if there are - //multiple connections, it will run for all the massagies, then truck the - //massagies by MiddlwareTracking Array - var MiddlewareFound = MiddlewareTracking.filter(function(item) { - return item.TrackingTopic == topic;}); - console.log(MiddlewareFound); - console.log(message.toString()); - MiddlewareIndex = MiddlewareFound[0].index// this is the index of the connection or the Middleware - console.log(MiddlewareIndex) - MassageCounter[MiddlewareIndex]++;//this used to track the number of recived massagies of each connection - console.log(Date.now()-StartSending[MiddlewareIndex]) - if (Date.now() - StartSending[MiddlewareIndex] >= - (Durations[MiddlewareIndex]*1000) - -Intervals[MiddlewareIndex]*1000){ - console.log("sending time finished") - if (MassageCounter[MiddlewareIndex] > 0.75*( - Durations[MiddlewareIndex]/Intervals[MiddlewareIndex]) - ){// which means most of massagies have been sent - console.log("massages recived") - MassagiesRecived[MiddlewareIndex] = true;} - if (MassagiesRecived[MiddlewareIndex]){// if massagies recived, pay the 10% as service fees - const PaymentTransaction = wallet.createPaymentTransaction( - NodeAddress,(0.1*paymentAmount[MiddlewareIndex]) , bc, tp); - p2pServer.broadcastPaymentTransaction(PaymentTransaction); - console.log("amount paid to the IoT device") - console.log(MiddlewareIndex) - MiddlewareClient = MiddlewareClients[MiddlewareIndex]; - //disconnect the middleware mqtt broker - MiddlewareClient.end(true)} - else{// if massagies not recived, pay the IoT application back - res.redirect('/IoTapplicationCompensationTransaction')}};}); - - - app.post('/IoTApplicationCompensationTransaction', (req, res) => { - const { Recipient_payment_address, Amount_of_money, Payment_method, - Further_details} = req.body; - if (Payment_method == "SensorCoin"){ - const PaymentTransaction = wallet.createPaymentTransaction( - Recipient_payment_address, Amount_of_money, bc, tp); - p2pServer.broadcastPaymentTransaction(PaymentTransaction); - res.json("PaymentTransactionCreated"); - } - else if (Payment_method == "Bitcoin") { - res.redirect('/BitcoinTransaction') - } - else if (Payment_method == "PayPal") { - res.redirect('/PayPalTransaction') - } - }); - - - app.post ('/IoTapplicationCompensation', (req, res) => { - const PaymentTransaction = wallet.createPaymentTransaction(IoTApplicationAddress[MiddlewareIndex], - (paymentAmount[MiddlewareIndex]) , bc, tp); - p2pServer.broadcastPaymentTransaction(PaymentTransaction); - console.log("amount paid back to the IoT Application") - }); - - - - - - - - - - - - - - - -var IoTDeviceMassage ="test" -app.post('/integrateVirtual', (req, res) => { - const {IoTDeviceID,paymentTransactionID,Duration,Protocol}= req.body; - - Durations.push(Duration); - MassageCounter.push(0) - MassagiesRecived.push(false); - - data =bc.chain.map (a => a.data); - MetaANDTransFound = true; - // for (let j= 1; j x.id === IoTDeviceID); ////one thing to consider, what if the IoT device has multiple meatadata (updated metadata)?? - // var pickedTransction = lodash.find(transaction, x=> x.id === paymentTransactionID); - // if (pickedMetadata != null && pickedTransction !=null){ - // MetaANDTransFound = true; - // break; - // } - // } - if (MetaANDTransFound){ - //Loading the IoTdevice parameters in order to connect to it - // var IoTDeviceBroker = pickedMetadata.IP_URL.toString();//mqtt broker - // var IoTDeviceTopic = pickedMetadata.Topic_Token;// mqtt topic - paymentAmount.push(10)//pickedTransction.outputs[1].amount); - paymentAddress.push("ADsf")//pickedTransction.outputs[1].address); - IoTDeviceAddress.push("fth")//pickedMetadata.Signiture.address); - IoTApplicationAddress.push("dtyuyf")//pickedTransction.input.address); - Intervals.push(10)//pickedMetadata.Interval) - var device = awsIot.device({ - keyPath: './aws-iot-device-sdk/node_modules/certs/private.pem.key', - certPath: './aws-iot-device-sdk/node_modules/certs/certificate.pem.crt', - caPath: './aws-iot-device-sdk/node_modules/certs/RootCA1.pem', - clientId: 'arn:aws:iot:us-east-1:712303746524:thing/SecondVirtualIoTdevice', - host: 'a11joipjrff8s7-ats.iot.us-east-1.amazonaws.com' - }); - //if (paymentAddress[i] == wallet.publicKey){ - console.log (`transaction of IoT Application ${i} approved`) // add later the check if the amount is match with the required duration - BrokerRandomNumber = (Math.floor(Math.random()*DistributedBrokers.length)+1)-1 // collect a random number to select a random broker - MiddlewareBroker = DistributedBrokers[BrokerRandomNumber]; - MiddlewareTopic = makeTopic(5);// generate random topic - MiddlewarePort = DistributedBrokersPorts[BrokerRandomNumber]; - //loading the configuration massage - // configurationMessage = {"host/broker":MiddlewareBroker,"topic":MiddlewareTopic, "port":MiddlewarePort, "duration":Duration} // add pk of the node - // connect to the IoT device and send the configuration massage - // var IoTDeviceClient = mqtt.connect(IoTDeviceBroker); - // MiddlewareClients.push(mqtt.connect(`mqtt://${MiddlewareBroker}`)) - // var MiddlewareClient = MiddlewareClients[i] - // IoTDeviceClient.on("connect", ack => { - // console.log("connected! to IoT Device Client"); - // IoTDeviceClient.subscribe(IoTDeviceTopic, err => { - // console.log(err); - // }); - // IoTDeviceClient.publish(IoTDeviceTopic, JSON.stringify(configurationMessage)); - // }); - - // IoTDeviceClient.on("error", err => { - // console.log(err); - // }); - - // IoTDeviceClient.on("message", (topic, message) => { - // console.log(message.toString()) - // IoTDeviceClient.end(true) - // }); - // IoTDeviceClient.on("close", ack => { - // console.log("Disconnected from IoT Device Client"); - // }); - - device - .on('connect', function() { - console.log('connect'); - device.subscribe('/weather/data');// change it to a topic from the metadata - // device.publish('/weather/data', JSON.stringify({ test_data: 2})); - }); - - device - .on('message', function(topic, payload) { - // console.log('message', topic, payload.toString()); - IoTDeviceMassage = payload.toString(); - MiddlewareClient.publish(MiddlewareTopic,IoTDeviceMassage) - }); - - // connect the randomly choosed mqtt middlware broker to listen to the transmitted massagies - MiddlewareClients.push(mqtt.connect(`mqtt://${MiddlewareBroker}`)) - var MiddlewareClient = MiddlewareClients[i] - MiddlewareClient.on("connect", ack => { - console.log("connected!"); - console.log(MiddlewareBroker) - StartSending.push(Date.now()); - MiddlewareClient.subscribe(MiddlewareTopic, err => { - console.log(err); - }); - MiddlewareClient.publish(MiddlewareTopic,IoTDeviceMassage) - }); - - MiddlewareTracking.push({index:i, TrackingTopic:MiddlewareTopic})// this used to track the connection in case there are multiple conection at the same time - - MiddlewareClient.on("message", (topic, message) => {// call back, will run each time a massage recived, I did it in a way if there are multiple connections, it will run for all the massagies, then we truck the massahies by MiddlwareTracking Array - console.log(message.toString()); - var MiddlewareFound = MiddlewareTracking.filter(function(item) { - return item.TrackingTopic == topic; - }); - console.log(MiddlewareFound); - MiddlewareIndex = MiddlewareFound[0].index;// this is the index of the connection or the Middleware - console.log(MiddlewareIndex); - MassageCounter[MiddlewareIndex]++;// this used to track the number of recived massagies of each connection - console.log(Date.now()-StartSending[MiddlewareIndex]) - if (Date.now() - StartSending[MiddlewareIndex] >= (Durations[MiddlewareIndex]*1000)-Intervals[MiddlewareIndex]*1000){ - console.log("sending time finished") - if (MassageCounter[MiddlewareIndex] > 0.75*(Durations[MiddlewareIndex]/Intervals[MiddlewareIndex])){// which means most of massagies have been sent - console.log("massages recived") - MassagiesRecived[MiddlewareIndex] = true; - } - if (MassagiesRecived[MiddlewareIndex]){// if massagies recived, pay the IoT device and substract 10% as service fees - const cointransaction = wallet.createCoinTransaction(IoTDeviceAddress[MiddlewareIndex],(paymentAmount[MiddlewareIndex]-0.1*paymentAmount[MiddlewareIndex]) , bc, tp); - p2pServer.broadcastCoinTransaction(cointransaction); - console.log("amount paid to the IoT device") - console.log(MiddlewareIndex) - MiddlewareClient = MiddlewareClients[MiddlewareIndex];// disconnect the middleware mqtt broker - MiddlewareClient.end(true) - } - else{// if massagies not recived, pay the ioT application back - const cointransaction = wallet.createCoinTransaction(IoTApplicationAddress[MiddlewareIndex],(paymentAmount[MiddlewareIndex]) , bc, tp); - p2pServer.broadcastCoinTransaction(cointransaction); - console.log("amount paid back to the IoT Application") - console.log(MiddlewareIndex) - MiddlewareClient = MiddlewareClients[MiddlewareIndex];// disconnect the middleware mqtt broker - MiddlewareClient.end(true) - } - } - - }); - // } - // else{ - // console.log("payment Address not match") - // } - } - -else{ - console.log("Metadata or Transaction not found") - if (pickedMetadata == null){ - console.log("metadata not found") - } - if (pickedTransction == null){ - console.log("Transaction not found") - } - } - -MetaANDTransFound = false; -i++; - - - - - - - // - // Device is an instance returned by mqtt.Client(), see mqtt.js for full - // documentation. - // - - - - res.json("true"); -}); - - -});*/ diff --git a/miner/miner.js b/miner/miner.js index b834c3b..8091acd 100644 --- a/miner/miner.js +++ b/miner/miner.js @@ -5,6 +5,7 @@ const Integration = require('../blockchain/integration'); const SensorRegistration = require('../blockchain/sensor-registration'); const BrokerRegistration = require('../blockchain/broker-registration'); const Compensation = require('../blockchain/compensation'); +const Transaction = require('../blockchain/transaction'); const ITERATIONS = 1; @@ -13,39 +14,45 @@ const STATE_INTERRUPTED = 1; function mine(miner) { if (miner.state !== STATE_RUNNING) { - this.startMine(); + startMine(miner); return; } const timestamp = Date.now(); const difficulty = Block.adjustDifficulty(miner.lastBlock, timestamp); + const txCount = miner.txs[Payment.name()].mining.length + + miner.txs[SensorRegistration.name()].mining.length + + miner.txs[BrokerRegistration.name()].mining.length + + miner.txs[Integration.name()].mining.length + + miner.txs[Compensation.name()].mining.length; + for (let i = 0; i < ITERATIONS; ++i) { const hash = Block.hash( timestamp, miner.lastBlock.hash, miner.reward, - miner.txs.payments.mining, - miner.txs.sensorRegistrations.mining, - miner.txs.brokerRegistrations.mining, - miner.txs.integrations.mining, - miner.txs.compensations.mining, + miner.txs[Payment.name()].mining, + miner.txs[SensorRegistration.name()].mining, + miner.txs[BrokerRegistration.name()].mining, + miner.txs[Integration.name()].mining, + miner.txs[Compensation.name()].mining, miner.nonce, difficulty); if (hash.substring(0, difficulty) === '0'.repeat(difficulty)) { //success const endTime = process.hrtime.bigint(); - console.log(`Mined a block of difficulty ${difficulty} in ${Number(endTime - miner.minedStartTime) / 1000000}ms`); + console.log(`Mined a block of difficulty ${difficulty} in ${Number(endTime - miner.minedStartTime) / 1000000}ms with ${txCount} txs`); miner.blockchain.addBlock(new Block( timestamp, miner.lastBlock.hash, hash, miner.reward, - miner.txs.payments.mining, - miner.txs.sensorRegistrations.mining, - miner.txs.brokerRegistrations.mining, - miner.txs.integrations.mining, - miner.txs.compensations.mining, + miner.txs[Payment.name()].mining, + miner.txs[SensorRegistration.name()].mining, + miner.txs[BrokerRegistration.name()].mining, + miner.txs[Integration.name()].mining, + miner.txs[Compensation.name()].mining, miner.nonce, difficulty)); miner.state = STATE_INTERRUPTED; @@ -53,7 +60,11 @@ function mine(miner) { return; } else { //failure - miner.nonce++; + if (miner.nonce === Number.MAX_SAFE_INTEGER) { + miner.nonce = Number.MIN_SAFE_INTEGER; + } else { + miner.nonce++; + } } } setImmediate(() => { mine(miner) }); @@ -68,13 +79,23 @@ function startMine(miner) { miner.minedStartTime = process.hrtime.bigint(); //TODO make sure these transactions actually work as a collective instead of individually - miner.txs.payments.mining = [...miner.txs.payments.pool]; - miner.txs.integrations.mining = [...miner.txs.integrations.pool]; - miner.txs.sensorRegistrations.mining = [...miner.txs.sensorRegistrations.pool]; - miner.txs.brokerRegistrations.mining = [...miner.txs.brokerRegistrations.pool]; - miner.txs.compensations.mining = [...miner.txs.compensations.pool]; + for (const type of Transaction.ALL_TYPES) { + const key = type.name(); + miner.txs[key].mining = []; + for (const tx of miner.txs[key].pool) { + miner.txs[key].mining.push(tx); + if (!miner.blockchain.wouldBeValidBlock(miner.reward, + miner.txs[Payment.name()].mining, + miner.txs[SensorRegistration.name()].mining, + miner.txs[BrokerRegistration.name()].mining, + miner.txs[Integration.name()].mining, + miner.txs[Compensation.name()].mining)) { + miner.txs[key].mining.pop(); + } + } + } - miner.nonce = 0; + miner.nonce = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER); miner.state = STATE_RUNNING; mine(miner); @@ -84,7 +105,7 @@ function findTx(tx) { return t => t.input === tx.input && t.counter === tx.counter; } -function clearFromBlock(miner, txs, blockTxs) { +function clearFromBlock(txs, blockTxs) { for (const tx of blockTxs) { const foundIndex = txs.pool.findIndex(findTx(tx)); @@ -109,28 +130,13 @@ class Miner { } }); - this.txs = { - payments: { + this.txs = {}; + for (const type of Transaction.ALL_TYPES) { + this.txs[type.name()] = { pool: [], mining: [] - }, - integrations: { - pool: [], - mining: [] - }, - sensorRegistrations: { - pool: [], - mining: [] - }, - brokerRegistrations: { - pool: [], - mining: [] - }, - compensations: { - pool: [], - mining: [] - } - }; + }; + } startMine(this); } @@ -142,16 +148,7 @@ class Miner { return; } - let txs = null; - - switch (tx.type) { - case Payment: txs = this.txs.payments; break; - case Integration: txs = this.txs.integrations; break; - case SensorRegistration: txs = this.txs.sensorRegistrations; break; - case BrokerRegistration: txs = this.txs.brokerRegistrations; break; - case Compensation: txs = this.txs.compensations; break; - default: throw new Error(`unknown tx type: ${tx.type.name()}`); - } + let txs = this.txs[tx.type.name()]; const foundIndex = txs.pool.findIndex(findTx(tx.transaction)); @@ -166,11 +163,11 @@ class Miner { } onNewBlock(block) { - clearFromBlock(this, this.txs.payments, Block.getPayments(block)); - clearFromBlock(this, this.txs.integrations, Block.getIntegrations(block)); - clearFromBlock(this, this.txs.sensorRegistrations, Block.getSensorRegistrations(block)); - clearFromBlock(this, this.txs.brokerRegistrations, Block.getBrokerRegistrations(block)); - clearFromBlock(this, this.txs.compensations, Block.getCompensations(block)); + clearFromBlock(this.txs[Payment.name()], Block.getPayments(block)); + clearFromBlock(this.txs[Integration.name()], Block.getIntegrations(block)); + clearFromBlock(this.txs[SensorRegistration.name()], Block.getSensorRegistrations(block)); + clearFromBlock(this.txs[BrokerRegistration.name()], Block.getBrokerRegistrations(block)); + clearFromBlock(this.txs[Compensation.name()], Block.getCompensations(block)); this.state = STATE_INTERRUPTED; diff --git a/network/blockchain-prop.js b/network/blockchain-prop.js index b6f1b1f..d768b31 100644 --- a/network/blockchain-prop.js +++ b/network/blockchain-prop.js @@ -1,19 +1,37 @@ const Websocket = require('ws'); -const Assert = require('assert'); -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const Block = require('../blockchain/block'); -const Blockchain = require('../blockchain/blockchain'); +const BrokerRegistration = require('../blockchain/broker-registration'); +const SensorRegistration = require('../blockchain/sensor-registration'); +const Integration = require('../blockchain/integration'); +const Payment = require('../blockchain/payment'); +const Compensation = require('../blockchain/compensation'); +const Transaction = require('../blockchain/transaction'); const STATE_INIT = 0; const STATE_CONNECTING = 1; -const STATE_RUNNING = 2; +const STATE_WAITING = 2; +const STATE_READY = 3; const PEER_OK = 0; const PEER_DEAD = 1; const chainValidation = { - start: ChainUtil.createValidateIsIntegerWithMin(0), - blocks: ChainUtil.createValidateArray(Block.validateIsBlock) + start: ChainUtil.createValidateIsIntegerWithMin(1), + blocks: ChainUtil.createValidateArray(Block.verify) +}; + +const txsValidation = { + SensorRegistration: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(SensorRegistration.verify)), + BrokerRegistration: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(BrokerRegistration.verify)), + Integration: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Integration.verify)), + Compensation: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Compensation.verify)), + Payment: ChainUtil.createValidateOptional( + ChainUtil.createValidateArray(Payment.verify)) }; class Connection { @@ -26,7 +44,8 @@ class Connection { this.prev = null; this.next = null; - this.blockIndex = null; + this.differing = null; + this.lastBlockHash = ""; this.queue = null; this.queueTimer = null; @@ -40,23 +59,18 @@ class Connection { } accepted(socket) { - console.log(`${this.logName} accepted`); this.socket = socket; - this.state = STATE_RUNNING; - this.socket.addEventListener("error", () => { - this.onError(); + this.socket.addEventListener("error", (err) => { + this.onError("Error event"); }); - this.socket.addEventListener("open", () => { - this.onConnection(); - }); this.socket.addEventListener("message", (data) => { this.onMessage(data); }); - this.onConnection(); + this.onConnection(false); } connect(address) { @@ -70,12 +84,12 @@ class Connection { reconnect() { console.log(`${this.logName} connecting`); this.socket = new Websocket(this.address); - this.socket.addEventListener("error", () => { - this.onError(); + this.socket.addEventListener("error", (err) => { + this.onError("Error event"); }); this.socket.addEventListener("open", () => { - this.onConnection(); + this.onConnection(true); }); this.socket.addEventListener("message", (data) => { @@ -87,7 +101,8 @@ class Connection { } - onError() { + onError(message) { + console.log(this.logName + ": " + message); switch (this.state) { case STATE_CONNECTING: //this.reconnectWait seconds + random [0,1000] ms @@ -98,7 +113,7 @@ class Connection { this.reconnectWait = 64; } break; - case STATE_RUNNING: + default: this.socket.close(); this.next.prev = this.prev; this.prev.next = this.next; @@ -115,129 +130,248 @@ class Connection { } } - onConnection() { - this.state = STATE_RUNNING; + onConnection(weInitiated) { + console.log(`${this.logName} connected, initiated: ${weInitiated}`); + if (weInitiated) { + this.state = STATE_WAITING; + } else { + this.state = STATE_READY; + } this.prev = this.parent.connected; this.next = this.parent.connected.next; this.next.prev = this; this.prev.next = this; - const sending = { + this.queue = { sub: { - txs: this.parent.subTxs + txs: this.parent.txsCallback !== null }, address: this.parent.myAddress }; - const blocks = this.parent.blockchain.blocks(); + this.differing = 1; + this.lastBlockHash = ""; - if (blocks.length > 1) { - sending.chain = { - blocks: blocks.slice(1), - start: 1 - } - } - - this.socket.send(JSON.stringify(sending)); - - this.blockIndex = blocks.length; + this.checkSend(); } onQueueTimer() { this.queueTimer = null; - if (this.state !== STATE_RUNNING) { - return; + this.checkSend(); + } + + handleChain(chain) { + const validationRes = ChainUtil.validateObject(chain, chainValidation); + if (!validationRes.result) { + this.onError("Couldn't validate chain message: " + validationRes.reason); + return false; } - this.checkSend(); + const ourChain = this.parent.blockchain.blocks(); - // we don't retimer as we wait for external to send + if (chain.start > ourChain.length) { + this.onError("Recved start that's out of bounds of our current chain"); + return false; + } + + if (this.differing < chain.start) { + return true; + } else if (chain.start < this.differing) { + this.differing = chain.start; + } + + if (chain.start + chain.blocks.length <= ourChain.length) { + for (let i = 0; i < chain.blocks.length; i++) { + const newBlock = chain.blocks[i]; + const oldBlock = ourChain[chain.start + i]; + if (newBlock.hash !== oldBlock.hash) { + this.differing = chain.start + i; + return true; + } + } + this.differing = chain.start + chain.blocks.length; + return true; + } + + const newBlocks = ourChain.slice(0, chain.start).concat(chain.blocks); + + this.parent.updatingConnection = this; + const replaceRes = this.parent.blockchain.replaceChain(newBlocks); + this.parent.updatingConnection = null; + + if (replaceRes.result === true) { + this.differing = newBlocks.length; + } + + return true; + } + + handleTxs(txs) { + console.log("Recved msg with txs:"); + const validationRes = ChainUtil.validateObject(txs, txsValidation); + if (!validationRes.result) { + this.onError("Couldn't validate txs message: " + validationRes.reason); + return false; + } + + for (const type of Transaction.ALL_TYPES) { + const key = type.name(); + if (key in txs) { + console.log(`${key} txs found`); + for (const tx of txs[key]) { + if (!this.parent.txsSeen.has(type.hashToSign(tx))) { + const newTx = new Transaction(tx, type); + + this.parent.updatingConnection = this; + this.parent.sendTx(newTx); + this.parent.updatingConnection = null; + + if (this.parent.txsCallback !== null) { + this.parent.txsCallback(newTx); + } + } + } + } + } + return true; } onMessage(event) { - var recved = null; - try { - recved = JSON.parse(event); - } catch (ex) { - console.log(`Bad message on ${this.logName}, not a json object`); - this.onError(); + if (this.state !== STATE_WAITING || this.socket.bufferedAmount !== 0) { + //how did we recv, if we haven't finished sending? + //our partner isn't waiting for a recv before sending, error + this.onError("Partner isn't following simplex protocol"); return; } + this.state = STATE_READY; + + let recved = null; + try { + recved = JSON.parse(event.data); + } catch (ex) { + this.onError("Bad message, not a json object: " + ex.message); + return; + } + + if ("sub" in recved) { + if ("txs" in recved.sub) { + this.sub.txs = recved.sub.txs === true; + console.log(`${this.logName} set sub to txs to ${this.sub.txs}`); + } + } + if ("chain" in recved) { - const validationRes = ChainUtil.validateObject(recved.chain, chainValidation); - if (!validationRes.result) { - console.log(`${this.logName} couldn't validate chain message: ${validationRes.reason}`); - this.onError(); + if (!this.handleChain(recved.chain)) { return; } - - console.log(`${this.logName} recved chain with start: ${recved.chain.start}`); - - var newBlocks = this.parent.blockchain.blocks().slice(0, recved.chain.start + 1); - newBlocks = newBlocks.concat(recved.chain.blocks); - - this.parent.updatingConnection = this; - this.parent.blockchain.replaceChain(newBlocks); - this.parent.updatingConnection = null; } + + if (this.parent.txsCallback !== null && "txs" in recved) { + if (!this.handleTxs(recved.txs)) { + return; + } + } + + this.checkSend(); } - sendChain(oldBlocks, blocks) { + newChain(oldBlocks, blocks, difference) { + if (difference < this.differing) { + this.differing = difference; + } + + this.checkSend(); + } + + sendTx(transaction) { + if (!this.sub.txs) { + return; + } + if (this.queue === null) { this.queue = {}; } - var startIndex = this.blockIndex - 1; - - while (oldBlocks[startIndex].hash !== blocks[startIndex].hash) { - startIndex--; + if (!("txs" in this.queue)) { + this.queue.txs = {}; } - this.queue.chain = { - blocks: blocks.slice(startIndex + 1), - start: startIndex + 1 - }; + const key = transaction.type.name(); + + if (!(key in this.queue.txs)) { + this.queue.txs[key] = []; + } + this.queue.txs[key].push(transaction.transaction); this.checkSend(); } + setTimer() { + if (this.queueTimer !== null) { + return; + } else { + this.queueTimer = setTimeout(() => { + this.onQueueTimer(); + }, 1000); + } + } + checkSend() { - if (this.queue === null) { + if (this.state !== STATE_READY) { return; } - if (this.socket.bufferedAmount === 0) { - this.socket.send(JSON.stringify(this.queue)); + const blocks = this.parent.blockchain.blocks(); - if ("chain" in this.queue) { - this.blockIndex = this.queue.chain.start + this.queue.chain.blocks.length; + const lastBlock = blocks[blocks.length - 1]; + + if ((this.differing < blocks.length && this.lastBlockHash !== lastBlock.hash) || this.queue !== null) { + if (this.queue === null) { + this.queue = {}; } - this.queue = null; - } else if (this.queueTimer === null) { - this.queueTimer = setTimeout(this.onQueueTimer, 1000); + this.queue.chain = { + start: this.differing, + blocks: blocks.slice(this.differing) + }; + + this.differing = blocks.length; + this.lastBlockHash = lastBlock.hash; } + + if (this.queue === null) { + this.setTimer(); + //set queue to force a send the next time we check (either naturally or due to timer) + this.queue = {}; + return; + } + + const sending = JSON.stringify(this.queue); + this.socket.send(sending); + + this.state = STATE_WAITING; + this.queue = null; } } -function updateBlocksImpl(server, newBlocks, oldBlocks) { +function updateBlocksImpl(server, newBlocks, oldBlocks, difference) { if (server.updatingConnection !== null) { - server.updatingConnection.blockIndex = blocks.length; + server.updatingConnection.blockIndex = newBlocks.length; } for (var connection = server.connected.next; connection !== server.connected; connection = connection.next) { if (connection === server.updatingConnection) { continue; } - connection.sendChain(oldBlocks, newBlocks); + connection.newChain(oldBlocks, newBlocks, difference); } } //this acts as a publisher, and subscriber class PropServer { - constructor(logName, subTxs, blockchain) { + constructor(logName, blockchain, txsCallback) { this.logName = logName; this.peerState = new Map(); this.connected = { @@ -248,13 +382,18 @@ class PropServer { this.connected.prev = this.connected; this.blockchain = blockchain; this.blockchain.addListener((newBlocks, oldBlocks, difference) => { - updateBlocksImpl(this, newBlocks, oldBlocks); + updateBlocksImpl(this, newBlocks, oldBlocks, difference); }); + this.txsSeen = new Set(); this.port = null; this.myAddress = null; this.server = null; this.connectionCounter = 0; - this.subTxs = subTxs; + if (typeof txsCallback === "undefined") { + this.txsCallback = null; + } else { + this.txsCallback = txsCallback; + } this.updatingConnection = null; } @@ -281,6 +420,22 @@ class PropServer { connection.accepted(socket); }); } + + sendTx(transaction) { + const hash = transaction.type.hashToSign(transaction.transaction); + + if (this.txsSeen.has(hash)) { + return; + } + this.txsSeen.add(hash); + + for (let connection = this.connected.next; connection !== this.connected; connection = connection.next) { + if (connection === this.updatingConnection) { + continue; + } + connection.sendTx(transaction); + } + } } module.exports = PropServer; \ No newline at end of file diff --git a/network/test.js b/network/scratch.js similarity index 100% rename from network/test.js rename to network/scratch.js diff --git a/package.json b/package.json index f218a12..f77b081 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "author": "Anas Dawod", "license": "ISC", "devDependencies": { + "eslint": "^8.41.0", + "eslint-config-google": "^0.14.0", "jest": "^29.2.0", "jest-cli": "^29.2.0", "nodemon": "^2.0.20" @@ -29,7 +31,7 @@ "express": "^4.18.2", "jsonld": "^1.7.0", "mqtt": "^4.1.0", - "multer": "^1.3.1", + "multer": "^1.4.4-lts.1", "n3": "^1.16.3", "seedrandom": "^3.0.5", "uuid": "^9.0.0", diff --git a/sensor/sensor-app.js b/sensor/sensor-app.js index 9d3e802..0a243d8 100644 --- a/sensor/sensor-app.js +++ b/sensor/sensor-app.js @@ -2,14 +2,14 @@ const express = require('express'); const bodyParser = require('body-parser'); -const Config = require('../config'); -const ChainUtil = require('../chain-util'); +const Config = require('../util/config'); +const ChainUtil = require('../util/chain-util'); const Sensor = require('./sensor'); const { DEFAULT_PORT_BROKER_SENSOR_HANDSHAKE, DEFAULT_PORT_SENSOR_API, -} = require('../constants'); +} = require('../util/constants'); 'use strict'; diff --git a/sensor/sensor.js b/sensor/sensor.js index a64074c..23fccc2 100644 --- a/sensor/sensor.js +++ b/sensor/sensor.js @@ -1,6 +1,6 @@ const Websocket = require('ws'); -const ChainUtil = require('../chain-util'); +const ChainUtil = require('../util/chain-util'); const crypto = require('crypto'); const STATE_SERVER_HELLOING = 0; diff --git a/settings.json b/settings.json index dbbe694..415e798 100644 --- a/settings.json +++ b/settings.json @@ -1,6 +1,46 @@ { "miner-public-key": "041171cd24b7ddb430cb0764c117ab26170af80a664210edd4b901d17a44857d68dfd92552487480efa9d64a3e57dd9853404044b593c8cb593def5234e3954c60", - "wallet-keypair": "edfb811d963164da2c37de34ae6c30fd36b87551ffb8c1dba98dd63d1926a90a", + "wallet-keypair": "ffb45058dde8d10522c9c1dc5aaab734b962489b89feb1fdb007de6aaccf9438", + "wallet-keypair-with-money": "ffb45058dde8d10522c9c1dc5aaab734b962489b89feb1fdb007de6aaccf9438", "broker-keypair": "edfb811d963164da2c37de34ae6c30fd36b87551ffb8c1dba98dd63d1926a90a", - "broker-name": "broker1" + "broker-name": "broker1", + "wallet-chain-server-peers": [ + "ws://136.186.108.192:3002", + "ws://136.186.108.50:3002", + "ws://136.186.108.97:3002", + "ws://136.186.108.27:3002", + "ws://136.186.108.172:3002", + "ws://136.186.108.11:3002", + "ws://136.186.108.19:3002", + "ws://136.186.108.249:3002", + "ws://136.186.108.207:3002", + "ws://136.186.108.104:3002", + "ws://136.186.108.63:3002" + ], + "miner-chain-server-peers": [ + "ws://136.186.108.192:3002", + "ws://136.186.108.50:3002", + "ws://136.186.108.97:3002", + "ws://136.186.108.27:3002", + "ws://136.186.108.172:3002", + "ws://136.186.108.11:3002", + "ws://136.186.108.19:3002", + "ws://136.186.108.249:3002", + "ws://136.186.108.207:3002", + "ws://136.186.108.104:3002", + "ws://136.186.108.63:3002" + ], + "broker-chain-server-peers": [ + "ws://136.186.108.192:3002", + "ws://136.186.108.50:3002", + "ws://136.186.108.97:3002", + "ws://136.186.108.27:3002", + "ws://136.186.108.172:3002", + "ws://136.186.108.11:3002", + "ws://136.186.108.19:3002", + "ws://136.186.108.249:3002", + "ws://136.186.108.207:3002", + "ws://136.186.108.104:3002", + "ws://136.186.108.63:3002" + ] } \ No newline at end of file diff --git a/ui/demo-logic.js b/ui/demo-logic.js new file mode 100644 index 0000000..90ba981 --- /dev/null +++ b/ui/demo-logic.js @@ -0,0 +1,802 @@ +function startSenshamartDemoUI() { + //shared + + const clearTable = (obj) => { + while (obj.rows.length !== 0) { + obj.deleteRow(-1); + } + }; + + //init + + const publicKeySpan = document.getElementById("publicKey"); + const coinCountSpan = document.getElementById("coinCount"); + const status = document.getElementById("status"); + + let currentTab = document.getElementById("sensorsTab"); + + const initTab = function (baseName, style) { + const buttonName = baseName + "Button"; + const button = document.getElementById(buttonName); + if (button === null) { + console.log("Couldn't find: " + buttonName); + return; + } + const tabName = baseName + "Tab"; + const tab = document.getElementById(tabName); + if (tab === null) { + console.log("Couldn't find: " + tabName); + return; + } + tab.style.display = "none"; + + button.onclick = function (_) { + currentTab.style.display = "none"; + tab.style.display = style; + currentTab = tab; + }; + }; + + initTab("sensors", "grid"); + initTab("registerSensor", "block"); + initTab("integrate", "block"); + initTab("freeformQuery", "block"); + currentTab.style.display = "grid"; + + const refreshInfo = { + balance: { + onNew: [], + onDel: [], + onChange: [], + vals: {} + }, + sensor: { + onNew: [], + onDel: [], + onChange: [], + vals: {} + }, + broker: { + onNew: [], + onDel: [], + onChange: [], + vals: {} + }, + integration: { + onNew: [], + onDel: [], + onChange: [], + vals: {} + } + }; + + let ourPubKey = null; + + const refreshButton = document.getElementById("refresh"); + const chainDepth = document.getElementById("chainDepth"); + + let refreshCounter = 0; + let refreshFailed = false; + let loaded = false; + + const statusOK = function (str) { + status.innerHTML = str; + status.style.backgroundColor = 'lightgreen'; + }; + + const statusWorking = function (str) { + status.innerHTML = str; + status.style.backgroundColor = 'yellow'; + }; + + const statusError = function (str) { + status.innerHTML = str; + status.style.backgroundColor = 'red'; + }; + + const refresh = function () { + refreshButton.disabled = true; + if (loaded !== true) { + return; + } + if (refreshCounter !== 0) { + status.innerHTML = "Couldn't refresh, already currently refreshing"; + return; + } + + const updateInfo = (type, newData) => { + const oldData = type.vals; + type.vals = newData; + + for (const [key, value] of Object.entries(newData)) { + if (!(key in oldData)) { + for (const handler of type.onNew) { + handler(key, value); + } + } else { + for (const handler of type.onChange) { + handler(key, value); + } + } + } + for (const [key, value] of Object.entries(oldData)) { + if (!(key in newData)) { + for (const handler of type.onDel) { + handler(key); + } + } + } + }; + + const fetchFinal = () => { + refreshCounter--; + if (refreshCounter === 0) { + refreshButton.disabled = false; + if (!refreshFailed) { + statusOK("Refresh finished"); + } + } + }; + + const refreshFetch = function (type, path) { + fetch(path).then((res) => { + return res.json(); + }).then((data) => { + updateInfo(type, data); + }).catch((err) => { + console.log(err); + statusError("Error: " + err.message); + refreshFailed = true; + }).finally(fetchFinal); + }; + + refreshCounter = 4; + refreshFailed = false; + statusWorking("Refreshing"); + + refreshFetch(refreshInfo.sensor, "/Sensors"); + refreshFetch(refreshInfo.broker, "/Brokers"); + refreshFetch(refreshInfo.balance, "/Balances"); + fetch('/chain-length').then((res) => { + return res.json(); + }).then((data) => { + chainDepth.innerHTML = data; + }).catch((err) => { + console.log(err); + statusError("Error: " + err.message); + refreshFailed = true; + }).finally(fetchFinal); + }; + + refreshButton.onclick = function (_) { + refresh(); + }; + + fetch("/public-key").then(function (res) { + return res.json(); + }).then(function (pubKey) { + ourPubKey = pubKey; + publicKeySpan.innerHTML = pubKey; + loaded = true; + refresh(); + }).catch(function (err) { + console.log(err); + }); + + //our balance header + refreshInfo.balance.onNew.push(function (key, data) { + if (key === ourPubKey) { + coinCountSpan.innerHTML = data.balance; + } + }); + refreshInfo.balance.onChange.push(function (key, data) { + if (key === ourPubKey) { + coinCountSpan.innerHTML = data.balance; + } + }); + + //sensors + const sensorSensors = document.getElementById("sensorSensors"); + const sensorInfo = document.getElementById("sensorInfo"); + const sensorInfoName = document.getElementById("sensorInfoName"); + const sensorInfoCPM = document.getElementById("sensorInfoCPM"); + const sensorInfoCPKB = document.getElementById("sensorInfoCPKB"); + const sensorInfoBroker = document.getElementById("sensorInfoBroker"); + const sensorInfoRDFBody = document.getElementById("sensorInfoRDFBody"); + + const sensorSetInfo = function (sensor) { + sensorInfo.style.display = "block"; + sensorInfoName.value = sensor.metadata.name; + sensorInfoCPM.value = sensor.metadata.costPerMinute; + sensorInfoCPKB.value = sensor.metadata.costPerKB; + sensorInfoBroker.value = sensor.metadata.integrationBroker; + clearTable(sensorInfoRDFBody); + if ("extraNodes" in sensor.metadata) { + for (const tuple of sensor.metadata.extraNodes) { + const dataRow = sensorInfoRDFBody.insertRow(); + + const sCell = dataRow.insertCell(); + sCell.style.border = "1px solid black"; + sCell.innerHTML = tuple.s; + + const pCell = dataRow.insertCell(); + pCell.style.border = "1px solid black"; + pCell.innerHTML = tuple.p; + + const oCell = dataRow.insertCell(); + oCell.style.border = "1px solid black"; + oCell.innerHTML = tuple.o; + } + } + if ("extraLiterals" in sensor.metadata) { + for (const tuple of sensor.metadata.extraLiterals) { + const dataRow = sensorInfoRDFBody.insertRow(); + + const sCell = dataRow.insertCell(); + sCell.style.border = "1px solid black"; + sCell.innerHTML = tuple.s; + + const pCell = dataRow.insertCell(); + pCell.style.border = "1px solid black"; + pCell.innerHTML = tuple.p; + + const oCell = dataRow.insertCell(); + oCell.style.border = "1px solid black"; + oCell.innerHTML = tuple.o; + } + } + } + + refreshInfo.sensor.onNew.push(function (key, data) { + sensorSensors.append(new Option(key, key)); + }); + refreshInfo.sensor.onDel.push(function (key, data) { + const child = sensorSensors.namedItem(key); + if (child !== null) { + sensorSensors.removeChild(child); + } + }); + refreshInfo.sensor.onChange.push(function (key, data) { + const child = sensorSensors.namedItem(key); + if (child === null) { + return; + } + if (child.selected) { + sensorSetInfo(data); + } + }); + + sensorSensors.oninput = function (_) { + if (sensorSensors.selectedIndex === -1) { + brokerInfo.style.display = "none"; + return; + } + + const selectedIndex = sensorSensors.selectedIndex; + const selectedOption = sensorSensors.item(selectedIndex); + const selectedSensor = refreshInfo.sensor.vals[selectedOption.value]; + + sensorSetInfo(selectedSensor); + }; + + //register sensor + const registerName = document.getElementById("registerName"); + const registerCPM = document.getElementById("registerCPM"); + const registerCPKB = document.getElementById("registerCPKB"); + const registerBroker = document.getElementById("registerBroker"); + const registerClearMetadata = document.getElementById("registerClearMetadata"); + const registerMetadata = document.getElementById("registerMetadata"); + registerMetadata.value = ""; + const registerReward = document.getElementById("registerReward"); + const registerGo = document.getElementById("registerGo"); + const registerResult = document.getElementById("registerResult"); + let registerParsedNodeMetadata = []; + let registerParsedLiteralMetadata = []; + + registerCPM.addEventListener("change", () => { + const parsed = Number.parseInt(registerCPM.value, 10); + if (Number.isNaN(parsed) || parsed < 0) { + registerCPM.value = 1; + } + }); + registerCPKB.addEventListener("change", () => { + const parsed = Number.parseInt(registerCPKB.value, 10); + if (Number.isNaN(parsed) || parsed < 0) { + registerCPKB.value = 1; + } + }); + registerReward.addEventListener("change", () => { + const parsed = Number.parseInt(registerReward.value, 10); + if (Number.isNaN(parsed) || parsed < 0) { + registerReward.value = 0; + } + }); + + refreshInfo.broker.onNew.push(function (key, data) { + registerBroker.append(new Option(key, key)); + }); + refreshInfo.broker.onDel.push(function (key, data) { + const child = registerBroker.namedItem(key); + if (child !== null) { + registerBroker.removeChild(child); + } + }); + + registerClearMetadata.addEventListener("click", (_) => { + registerParsedNodeMetadata = []; + registerParsedLiteralMetadata = []; + registerMetadata.value = ""; + }); + registerMetadata.addEventListener('change', (event) => { + if (event.target.files.length !== 1) { + statusError("No file was selected"); + return; + } + registerMetadata.disabled = true; + registerClearMetadata.disabled = true; + + const reader = new FileReader(); + reader.onload = (_) => { + const parser = new N3.Parser(); + try { + const tuples = parser.parse(reader.result); + + registerParsedLiteralMetadata = []; + registerParsedNodeMetadata = []; + for (const tuple of tuples) { + const adding = { + s: tuple._subject.value, + p: tuple._predicate.value, + o: tuple._object.value + }; + + if (tuple._object.termType === "Literal") { + registerParsedLiteralMetadata.push(adding); + } else { + registerParsedNodeMetadata.push(adding); + } + } + statusOK(`File was read sucessfully for ${registerParsedLiteralMetadata.length + registerParsedNodeMetadata.length} tuples`); + registerMetadata.disabled = false; + registerClearMetadata.disabled = false; + } catch (ex) { + statusError("Couldn't read file: " + ex.message); + console.log(ex); + registerMetadata.value = ""; + registerMetadata.disabled = false; + registerClearMetadata.disabled = false; + } + }; + reader.readAsText(event.target.files[0]); + }); + + registerGo.addEventListener("click", (_) => { + if (registerBroker.selectedIndex === -1) { + statusError("No broker selected"); + return; + } + + registerGo.disabled = true; + + const input = { + sensorName: registerName.value, + costPerMinute: Number.parseInt(registerCPM.value), + costPerKB: Number.parseInt(registerCPKB.value), + integrationBroker: registerBroker.item(registerBroker.selectedIndex).value, + rewardAmount: Number.parseInt(registerReward.value), + }; + + if (registerParsedLiteralMetadata.length !== 0) { + input.extraLiteralMetadata = registerParsedLiteralMetadata; + } + if (registerParsedNodeMetadata.length !== 0) { + input.extraNodeMetadata = registerParsedNodeMetadata; + } + + fetch("/sensorregistration", { + method: 'POST', + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(input) + }).then((res) => { + return res.json(); + }).then((res) => { + if (!res.result) { + statusError("Error while creating register sensor transaction: " + res.reason); + return; + } + registerResult.innerHTML = JSON.stringify(res.tx,null,2); + }).finally(() => { + registerGo.disabled = false; + }) + }); + + //integrate + const integrateAdd = document.getElementById("integrateAdd"); + const integrateAddSensors = document.getElementById("integrateAddSensors"); + const integrateRemove = document.getElementById("integrateRemove"); + const integrateRemoveSensors = document.getElementById("integrateRemoveSensors"); + const integrateInfo = document.getElementById("integrateInfo"); + const integrateInfoName = document.getElementById("integrateInfoName"); + const integrateInfoCPM = document.getElementById("integrateInfoCPM"); + const integrateInfoCPKB = document.getElementById("integrateInfoCPKB"); + const integrateInfoBroker = document.getElementById("integrateInfoBroker"); + const integrateInfoAmountLabel = document.getElementById("integrateInfoAmountLabel"); + const integrateInfoAmount = document.getElementById("integrateInfoAmount"); + const integrateAcceptModifications = document.getElementById("integrateAcceptModifications"); + const integrateReward = document.getElementById("integrateReward"); + const integrateGo = document.getElementById("integrateGo"); + const integrateResult = document.getElementById("integrateResult"); + const integrateConnectInfoBody = document.getElementById("integrateConnectInfoBody"); + + let integrateSelectedSensor = null; + let integrateModifiedCount = 0; + const integrateCreatedOutputs = new Map(); + + const integrateSetInfo = (sensorInfo) => { + const sensor = refreshInfo.sensor.vals[sensorInfo.sensor]; + integrateSelectedSensor = sensor.metadata.name; + integrateInfoName.value = sensor.metadata.name; + integrateInfoCPM.value = sensor.metadata.costPerMinute; + integrateInfoCPKB.value = sensor.metadata.costPerKB; + integrateInfoBroker.value = sensor.metadata.integrationBroker; + if ("amount" in sensorInfo) { + integrateInfoAmountLabel.style.display = "block"; + integrateInfoAmount.style.display = "block"; + integrateInfoAmount.value = sensorInfo.amount; + } else { + integrateInfoAmountLabel.style.display = "none"; + integrateInfoAmount.style.display = "none"; + } + if ("modified" in sensorInfo && sensorInfo.modified) { + integrateAcceptModifications.style.display = "block"; + } else { + integrateAcceptModifications.style.display = "none"; + } + integrateInfo.style.display = "block"; + }; + + refreshInfo.sensor.onNew.push((key, data) => { + if (!integrateCreatedOutputs.has(key)) { + integrateAddSensors.append(new Option(key, key)); + } + }); + refreshInfo.sensor.onDel.push((key, data) => { + const child = integrateAddSensors.namedItem(key); + if (child !== null) { + integrateAddSensors.removeChild(child); + } + if (integrateCreatedOutputs.has(key)) { + const found = integrateCreatedOutputs.get(key); + found.option.style.color = "red"; + if (!found.modified) { + integrateModifiedCount++; + integrateGo.disabled = true; + found.modified = true; + } + + if (integrateSelectedSensor === key) { + integrateAcceptModifications.style.display = "block"; + } + } + }); + refreshInfo.sensor.onChange.push((key, data) => { + if (integrateCreatedOutputs.has(key)) { + const found = integrateCreatedOutputs.get(key); + if (found.hash !== data.hash) { + found.hash = data.hash; + if (!found.modified) { + found.option.style.color = "orange"; + integrateModifiedCount++; + integrateGo.disabled = true; + found.modified = true; + } + if (integrateSelectedSensor === key) { + integrateSetInfo(found); + } + } + } else { + if (integrateSelectedSensor === key) { + integrateSetInfo({ name: key }); + } + } + + }); + + integrateAdd.addEventListener("click", (_) => { + if (integrateAddSensors.selectedIndex === -1) { + statusError("No sensor selected"); + return -1; + } + + const sensorName = integrateAddSensors.item(integrateAddSensors.selectedIndex).value; + + if (integrateCreatedOutputs.has(sensorName)) { + return; + } + + const created = { + option: new Option(sensorName, sensorName), + amount: 1, + sensor: sensorName, + hash: refreshInfo.sensor.vals[sensorName].hash + }; + + integrateCreatedOutputs.set(sensorName, created); + + integrateAddSensors.remove(integrateAddSensors.selectedIndex); + integrateRemoveSensors.append(created.option); + integrateRemoveSensors.selectedIndex = integrateRemoveSensors.options.length - 1; + integrateRemoveSensors.focus(); + integrateSetInfo(created); + }); + integrateAddSensors.addEventListener("input", (_) => { + if (integrateAddSensors.selectedIndex === -1) { + integrateInfo.style.display = "none"; + integrateSelectedSensor = null; + return; + } + + integrateSetInfo({ + sensor: integrateAddSensors.item(integrateAddSensors.selectedIndex).value + }); + }); + integrateAddSensors.addEventListener("focus", (_) => { + if (integrateAddSensors.selectedIndex !== -1) { + integrateSetInfo({ + sensor: integrateAddSensors.item(integrateAddSensors.selectedIndex).value + }); + } + }); + integrateRemove.addEventListener("click", (_) => { + if (integrateRemoveSensors.selectedIndex === -1) { + statusError("No sensor selected"); + return -1; + } + + const sensorName = integrateRemoveSensors.item(integrateRemoveSensors.selectedIndex).value; + + const found = integrateCreatedOutputs.get(sensorName); + integrateRemoveSensors.removeChild(found.option); + integrateAddSensors.append(new Option(sensorName, sensorName)); + integrateAddSensors.selectedIndex = integrateAddSensors.options.length - 1; + integrateAddSensors.focus(); + + integrateCreatedOutputs.delete(sensorName); + integrateSetInfo({ sensor: sensorName }); + }); + integrateRemoveSensors.addEventListener("input", (_) => { + if (integrateRemoveSensors.selectedIndex === -1) { + integrateInfo.style.display = "none"; + integrateSelectedSensor = null; + return; + } + + const found = integrateCreatedOutputs.get(integrateRemoveSensors.item(integrateRemoveSensors.selectedIndex).value); + + integrateSetInfo(found); + }); + integrateRemoveSensors.addEventListener("focus", (_) => { + if (integrateRemoveSensors.selectedIndex !== -1) { + const found = integrateCreatedOutputs.get(integrateRemoveSensors.item(integrateRemoveSensors.selectedIndex).value); + + integrateSetInfo(found); + } + }); + integrateInfoAmount.addEventListener("change", (_) => { + const parsed = Number.parseInt(integrateInfoAmount.value, 10); + const found = integrateCreatedOutputs.get(integrateSelectedSensor); + if (Number.isNaN(parsed) || parsed < 1) { + integrateInfoAmount.value = 1; + found.amount = 1; + } else { + found.amount = parsed; + } + }); + integrateAcceptModifications.addEventListener("click", (_) => { + if (!integrateCreatedOutputs.has(integrateSelectedSensor)) { + return; + } + + const found = integrateCreatedOutputs.get(integrateSelectedSensor); + found.modified = false; + found.option.style.color = "black"; + integrateModifiedCount--; + integrateAcceptModifications.style.display = "none"; + if (integrateModifiedCount === 0) { + integrateGo.disabled = false; + } + }); + integrateReward.addEventListener("change", () => { + const parsed = Number.parseInt(integrateReward.value, 10); + if (Number.isNaN(parsed) || parsed < 0) { + integrateReward.value = 0; + } + }); + + integrateGo.addEventListener("click", (_) => { + if (integrateModifiedCount !== 0) { + return; + } + + const input = { + rewardAmount: Number.parseInt(integrateReward.value), + witnessCount: 0, + outputs: [] + }; + + for (const [name, output] of integrateCreatedOutputs.entries()) { + const sensor = refreshInfo.sensor.vals[name]; + input.outputs.push({ + amount: output.amount, + sensorName: name, + sensorHash: sensor.hash, + brokerHash: refreshInfo.broker.vals[sensor.metadata.integrationBroker].hash + }); + } + + const forDisplayLater = []; + for (let i = 0; i < input.outputs.length; i++) { + const sensor = refreshInfo.sensor.vals[input.outputs[i].sensorName]; + forDisplayLater.push({ + sensor: sensor.metadata.name, + brokerIp: refreshInfo.broker.vals[sensor.metadata.integrationBroker].metadata.endpoint, + index: i + }); + } + + integrateGo.disabled = true; + + + + fetch("/integration", { + method: 'POST', + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(input) + }).then((res) => { + return res.json(); + }).then((res) => { + if (!res.result) { + statusError("Error while creating integration transaction: " + res.reason); + return; + } + clearTable(integrateConnectInfoBody); + for (const display of forDisplayLater) { + const dataRow = integrateConnectInfoBody.insertRow(); + + const sensorNameCell = dataRow.insertCell(); + sensorNameCell.border = "1px solid black"; + sensorNameCell.innerHTML = display.sensor; + + const brokerIpCell = dataRow.insertCell(); + brokerIpCell.border = "1px solid black"; + brokerIpCell.innerHTML = display.brokerIp; + + const topicCell = dataRow.insertCell(); + topicCell.border = "1px solid black"; + topicCell.innerHTML = 'out/' + res.hash + '/' +display.index; + } + integrateResult.innerHTML = JSON.stringify(res.tx, null, 2); + }).finally(() => { + integrateGo.disabled = false; + }) + }); + + //freeform query + const freeformSelect = document.getElementById("freeformSelect"); + const freeformQuery = document.getElementById("freeformQuery"); + const freeformGo = document.getElementById("freeformGo"); + const freeformHead = document.getElementById("freeformHead"); + const freeformBody = document.getElementById("freeformBody"); + const freeformEscaper = document.createElement('textarea'); + const freeformEscape = (html) => { + freeformEscaper.textContent = html; + return freeformEscaper.innerHTML; + } + + const freeformQueries = { + "Get all camera sensors": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . ?observes \"video\"}", + "Get all milk pressure sensors": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . ?observes \"Milk Pressure\"}", + "Get all air temperature sensors": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . ?observes \"Air Temperature\"}", + "Get all air humidity sensors": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . ?observes \"Relative air Humidity\"}", + "Get all milk temperature sensors": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . ?observes \"Milk Temperature\"}", + "Get all sensors in Australia": "SELECT ?sensor ?lat ?long ?measures WHERE { ?sensor ?observes. ?sensor ?location. ?observes ?measures . ?location ?lat . ?location ?long . FILTER(xsd:decimal(?long) > 113.338953078 && xsd:decimal(?long) < 153.569469029 && xsd:decimal(?lat) > -43.6345972634 && xsd:decimal(?lat) < -10.6681857235)}" + }; + + const freeformOnInput = () => { + if (freeformSelect.selectedIndex === -1) { + return; + } + + const selected = freeformSelect.item(freeformSelect.selectedIndex); + + freeformQuery.innerHTML = freeformEscape(freeformQueries[selected.value]); + }; + + freeformSelect.addEventListener("input", freeformOnInput); + + for (const [key, value] of Object.entries(freeformQueries)) { + freeformSelect.append(new Option(key, key)); + } + + freeformOnInput(); + + freeformGo.onclick = (_) => { + if (freeformSelect.selectedIndex === -1) { + statusError("No query selected"); + return; + } + + const input = freeformQueries[freeformSelect.item(freeformSelect.selectedIndex).value]; + + freeformGo.disabled = true; + + clearTable(freeformHead); + clearTable(freeformBody); + + fetch("/sparql", { + method: 'POST', + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ + query: input + }) + }).then((res) => { + return res.json(); + }).then((res) => { + if (!res.result) { + statusError("Error when querying: " + res.reason); + return; + } + const headersSet = new Set(); + + for (const obj of res.values) { + for (const [key, value] of Object.entries(obj)) { + if (!headersSet.has(key)) { + headersSet.add(key); + } + } + } + + const headers = new Map(); + for (const header of [...headersSet].sort()) { + headers.set(header, headers.size); + } + + const headerRow = freeformHead.insertRow(-1); + const headerCells = []; + for (var i = 0; i < headers.size; ++i) { + const created = document.createElement('th'); + headerRow.appendChild(created); + headerCells.push(created); + } + + for (const [key, value] of headers) { + headerCells[value].innerHTML = key; + } + + for (const obj of res.values) { + const dataRow = freeformBody.insertRow(); + + const cells = []; + + for (var i = 0; i < headers.size; ++i) { + const newCell = dataRow.insertCell(); + newCell.style.border = "1px solid black"; + cells.push(newCell); + } + + for (const [key, value] of Object.entries(obj)) { + cells[headers.get(key)].innerHTML = value.value; + } + statusOK("Finished query"); + } + }).finally(() => { + freeformGo.disabled = false; + }); + }; +} \ No newline at end of file diff --git a/ui/demo-ui.html b/ui/demo-ui.html new file mode 100644 index 0000000..e1fc170 --- /dev/null +++ b/ui/demo-ui.html @@ -0,0 +1,153 @@ + + + + + + + +
+ Senshamart Demo UI +
+
LOADING
+
+ Wallet public key: LOADING +
+
+ Current wallet balance: 0 +
+
+ Current chain length: LOADING +
+
+ + + + +
+
+
+
+ Sensor: +
+
+
+ +
+
+
+ +
+
+
+ Name: + Cost Per Minute: + Cost Per KB: + Broker: + Extra metadata: + Reward amount: + +
+

+ Raw Sensor Registration Transaction: +

+ +
+
+
+
+ + +
+
+ + +
+ +
+
+ Reward Amount: + +
+ +
+

+ Connection Info: +

+ + + + + + + + + +
SensorNameBroker ipMQTT topic
+
+

+ Raw Integration Transaction: +

+
+ +
+
+
+
Query:
+ +
+
+ +
+
+ + + +
+
+
+ + + + \ No newline at end of file diff --git a/chain-util.js b/util/chain-util.js similarity index 77% rename from chain-util.js rename to util/chain-util.js index 1840a02..ed3c6e4 100644 --- a/chain-util.js +++ b/util/chain-util.js @@ -100,13 +100,26 @@ class ChainUtil { return returning; } - static validateAlways(_) { + static validateExists(t) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } + return { result: true }; } static validateIsObject(t) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (typeof t !== 'object') { return { result: false, @@ -120,6 +133,12 @@ class ChainUtil { } static validateIsString(t) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (typeof t === 'string') { return { result: true @@ -132,7 +151,31 @@ class ChainUtil { } } + static validateIsNumber(t) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } + if (typeof t !== 'number') { + return { + result: false, + reason: "Is not number" + }; + } + return { + result: true + }; + } + static validateIsInteger(t) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (typeof t !== 'number') { return { result: false, @@ -152,6 +195,12 @@ class ChainUtil { //includes minimum static validateIsIntegerWithMin(t, minimum) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (typeof t !== 'number') { return { result: false, @@ -195,6 +244,12 @@ class ChainUtil { } static validateArray(t, memberValidator) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (!(t instanceof Array)) { return { result: false, @@ -222,6 +277,12 @@ class ChainUtil { } static validateObject(t, memberValidator) { + if (typeof t === "undefined") { + return { + result: false, + reason: "Is undefined" + }; + } if (!(t instanceof Object)) { return { result: false, @@ -232,12 +293,13 @@ class ChainUtil { for (const key in memberValidator) { const validator = memberValidator[key]; - if (!(key in t)) { - return { - result: false, - reason: "Couldn't find key: " + key - }; - } + //ALLOW OPTIONAL KEYS + //if (!(key in t)) { + // return { + // result: false, + // reason: "Couldn't find key: " + key + // }; + //} const res = validator(t[key]); @@ -266,7 +328,19 @@ class ChainUtil { static createValidateObject(memberValidator) { return function (t) { return ChainUtil.validateObject(t, memberValidator); - } + }; + } + + static createValidateOptional(validator) { + return function (t) { + if (typeof t === "undefined") { + return { + result: true + }; + } + + return validator(t); + }; } } diff --git a/config.js b/util/config.js similarity index 95% rename from config.js rename to util/config.js index 91cc3ca..e081a84 100644 --- a/config.js +++ b/util/config.js @@ -17,6 +17,8 @@ class Config { if (fs.existsSync(looking)) { const rawSettings = fs.readFileSync(looking, 'utf8'); this.settings = JSON.parse(rawSettings); + } else { + this.settings = {}; } } diff --git a/constants.js b/util/constants.js similarity index 78% rename from constants.js rename to util/constants.js index d0e7798..f5c31cf 100644 --- a/constants.js +++ b/util/constants.js @@ -2,8 +2,13 @@ const DIFFICULTY = 3; const MINE_RATE = 3000; const MINING_REWARD = 50; +const SENSHAMART_URI_PREFIX = "SSM://"; +const SENSHAMART_URI_REPLACE = "SSMS://"; + const DEFAULT_UI_HTML = "./ui/wallet-ui.html"; const DEFAULT_UI_JS = "./ui/wallet-logic.js"; +const DEFAULT_DEMO_UI_HTML = "./ui/demo-ui.html"; +const DEFAULT_DEMO_UI_JS = "./ui/demo-logic.js"; const DEFAULT_PORT_MINER_BASE = 3000; const DEFAULT_PORT_MINER_API = DEFAULT_PORT_MINER_BASE + 1; @@ -20,8 +25,7 @@ const DEFAULT_PORT_BROKER_BASE = 5000; const DEFAULT_PORT_BROKER_API = DEFAULT_PORT_BROKER_BASE + 1; const DEFAULT_PORT_BROKER_CHAIN = DEFAULT_PORT_BROKER_BASE + 2; const DEFAULT_PORT_BROKER_SENSOR_HANDSHAKE = DEFAULT_PORT_BROKER_BASE + 3; -const DEFAULT_PORT_BROKER_SENSOR_MQTT = DEFAULT_PORT_BROKER_BASE + 4; -const DEFAULT_PORT_BROKER_CLIENT_MQTT = DEFAULT_PORT_BROKER_BASE + 5; +const DEFAULT_PORT_BROKER_MQTT = DEFAULT_PORT_BROKER_BASE + 4; const DEFAULT_PORT_SENSOR_BASE = 6000; const DEFAULT_PORT_SENSOR_API = DEFAULT_PORT_SENSOR_BASE + 1; @@ -31,8 +35,13 @@ module.exports = { MINE_RATE, MINING_REWARD, + SENSHAMART_URI_PREFIX, + SENSHAMART_URI_REPLACE, + DEFAULT_UI_HTML, DEFAULT_UI_JS, + DEFAULT_DEMO_UI_HTML, + DEFAULT_DEMO_UI_JS, DEFAULT_PORT_MINER_API, DEFAULT_PORT_MINER_CHAIN, @@ -45,8 +54,7 @@ module.exports = { DEFAULT_PORT_BROKER_API, DEFAULT_PORT_BROKER_CHAIN, DEFAULT_PORT_BROKER_SENSOR_HANDSHAKE, - DEFAULT_PORT_BROKER_SENSOR_MQTT, - DEFAULT_PORT_BROKER_CLIENT_MQTT, + DEFAULT_PORT_BROKER_MQTT, DEFAULT_PORT_SENSOR_API }; \ No newline at end of file diff --git a/wallet/wallet-app.js b/wallet/wallet-app.js index 6edce30..44a4bc7 100644 --- a/wallet/wallet-app.js +++ b/wallet/wallet-app.js @@ -3,13 +3,11 @@ const express = require('express'); const bodyParser = require('body-parser'); const BlockchainProp = require('../network/blockchain-prop'); -const fs = require('fs'); - const N3 = require('n3'); const Wallet = require('./wallet'); -const Config = require('../config'); -const ChainUtil = require('../chain-util'); +const Config = require('../util/config'); +const ChainUtil = require('../util/chain-util'); const QueryEngine = require('@comunica/query-sparql-rdfjs').QueryEngine; const Blockchain = require('../blockchain/blockchain'); @@ -17,10 +15,14 @@ const Blockchain = require('../blockchain/blockchain'); const { DEFAULT_UI_HTML, DEFAULT_UI_JS, + DEFAULT_DEMO_UI_HTML, + DEFAULT_DEMO_UI_JS, DEFAULT_PORT_WALLET_API, DEFAULT_PORT_WALLET_CHAIN, DEFAULT_PORT_MINER_CHAIN -} = require('../constants'); +} = require('../util/constants'); +const SensorRegistration = require('../blockchain/sensor-registration'); +const BrokerRegistration = require('../blockchain/broker-registration'); 'use strict'; @@ -61,10 +63,18 @@ const uiJsLocation = config.get({ key: "wallet-ui-js", default: DEFAULT_UI_JS }); +const demoUiHtmlLocation = config.get({ + key: "wallet-demo-ui-html", + default: DEFAULT_DEMO_UI_HTML +}); +const demoUiJsLocation = config.get({ + key: "wallet-demo-ui-js", + default: DEFAULT_DEMO_UI_JS +}); const blockchain = Blockchain.loadFromDisk(blockchainLocation); -const chainServer = new BlockchainProp("Wallet-chain-server", false, blockchain); +const chainServer = new BlockchainProp("Wallet-chain-server", blockchain); chainServer.start(chainServerPort, chainServerPublicAddress, chainServerPeers); const app = express(); @@ -86,6 +96,18 @@ app.get('/ui.html', (req, res) => { }); }); +app.get('/demo-logic.js', (req, res) => { + res.type('.js').sendFile(demoUiJsLocation, { + root: "./" + }); +}); + +app.get('/demo-ui.html', (req, res) => { + res.type('.html').sendFile(demoUiHtmlLocation, { + root: "./" + }); +}); + app.get('/ChainServer/sockets', (req, res) => { res.json(chainServer.sockets); }); @@ -105,6 +127,9 @@ app.get('/key-pair', (req, res) => { app.get('/MyBalance', (req, res) => { res.json(blockchain.getBalanceCopy(wallet.publicKey)); }); +app.get('/chain-length', (req, res) => { + res.json(blockchain.blocks().length); +}); app.get('/Balance', (req, res) => { const balance = blockchain.getBalanceCopy(req.body.publicKey); res.json(balance); @@ -114,10 +139,26 @@ app.get('/Balances', (req, res) => { res.json(balances); }); app.get('/Sensors', (req, res) => { - res.json(blockchain.chain.sensors.current); + const returning = {}; + for (const [key, value] of Object.entries(blockchain.chain.sensors.current)) { + const created = {}; + Object.assign(created, value); + created.hash = SensorRegistration.hashToSign(created); + returning[key] = created; + } + res.json(returning); + console.log("/Sensors called"); + console.log(`Returned ${Object.entries(returning).length} sensors`); }); app.get('/Brokers', (req, res) => { - res.json(blockchain.chain.sensors.current); + const returning = {}; + for (const [key, value] of Object.entries(blockchain.chain.brokers.current)) { + const created = {}; + Object.assign(created, value); + created.hash = BrokerRegistration.hashToSign(created); + returning[key] = created; + } + res.json(returning); }); app.get('/Integrations', (req, res) => { res.json(blockchain.chain.integrations.current); @@ -128,48 +169,48 @@ app.post('/Payment', (req, res) => { const rewardAmount = req.body.rewardAmount; const outputs = req.body.outputs; - res.json(wallet.createPayment( + const payment = wallet.createPaymentAsTransaction( + blockchain, rewardAmount, - outputs, - blockchain)); + outputs); + + chainServer.sendTx(payment); + + res.json(payment.transaction); }); app.post('/Integration', (req, res) => { - res.json(wallet.createIntegration( - req.body.rewardAmount, - req.body.witnessCount, - req.body.outputs, - blockchain)); + try { + const integration = wallet.createIntegrationAsTransaction( + blockchain, + req.body.rewardAmount, + req.body.witnessCount, + req.body.outputs); + + chainServer.sendTx(integration); + + res.json({ + result: true, + tx: integration.transaction, + hash: integration.type.hashToSign(integration.transaction) + }); + } catch (err) { + console.log(err); + res.json({ + result: false, + reason: err.message + }); + } }); -function extToRdf(triples, sensorId, parentString, obj) { - for (const key in obj) { - const value = obj[key]; - - const type = typeof value; - - switch (typeof value) { - case "string": - triples.push({ - s: sensorId, - p: parentString + key, - o: value - }); - break; - case "object": - extToRdf(triples, sensorId, parentString + key + '/', value); - break; - default: - console.log("Unsupported value type: " + type); - break; - } - } -} - const brokerRegistrationValidators = { - ssnMetadata: ChainUtil.validateIsString, + brokerName: ChainUtil.validateIsString, + endpoint: ChainUtil.validateIsString, rewardAmount: ChainUtil.createValidateIsIntegerWithMin(0), - extMetadata: ChainUtil.validateIsObject + extraNodeMetadata: ChainUtil.createValidateOptional( + ChainUtil.validateIsObject), + extraLiteralMetadata: ChainUtil.createValidateOptional( + ChainUtil.validateIsObject) }; app.post('/BrokerRegistration', (req, res) => { @@ -180,117 +221,83 @@ app.post('/BrokerRegistration', (req, res) => { return; } - const brokers = []; - const triples = []; + try { + const reg = wallet.createBrokerRegistrationAsTransaction( + blockchain, + req.body.rewardAmount, + req.body.brokerName, + req.body.endpoint, + req.body.extraNodeMetadata, + req.body.extraLiteralMetadata); - const parser = new N3.Parser(); - parser.parse( - req.body.ssnMetadata, - (error, quad, prefixes) => { - if (error) { - res.json(error); - return; - } - if (quad) { - triples.push({ - s: quad.subject.id, - p: quad.predicate.id, - o: quad.object.id - }); + chainServer.sendTx(reg); - if (quad.predicate.id === "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" - && quad.object.id === "http://SSM/Broker") { - brokers.push(quad.subject.id); - } - return; - } - //quad is null, we come here, and we are finished parsing - if (brokers.length === 0) { - res.json("Couldn't find a defined broker"); - return; - } else if (brokers.length > 1) { - res.json("Found multiple defined brokers"); - return; - } - - extToRdf(triples, brokers[0], "", req.body.extMetadata); - - try { - res.json(wallet.createBrokerRegistration( - triples, - req.body.rewardAmount, - blockchain)); - } catch (err) { - console.log(err); - res.json(err.message); - } - }); + res.json(reg.transaction); + } catch (err) { + console.log(err); + res.json(err.message); + } }); const sensorRegistrationValidators = { - ssnMetadata: ChainUtil.validateIsString, + sensorName: ChainUtil.validateIsString, + costPerMinute: ChainUtil.createValidateIsIntegerWithMin(0), + costPerKB: ChainUtil.createValidateIsIntegerWithMin(0), + integrationBroker: ChainUtil.validateIsString, rewardAmount: ChainUtil.createValidateIsIntegerWithMin(0), - extMetadata: ChainUtil.validateIsObject + extraNodeMetadata: ChainUtil.createValidateOptional( + ChainUtil.validateIsObject), + extraLiteralMetadata: ChainUtil.createValidateOptional( + ChainUtil.validateIsObject) }; app.post('/SensorRegistration', (req, res) => { const validateRes = ChainUtil.validateObject(req.body, sensorRegistrationValidators); if (!validateRes.result) { - res.json(validateRes.reason); + res.json({ + result: false, + reason: validateRes.reason + }); return; } - const sensors = []; - const triples = []; + try { + const reg = wallet.createSensorRegistrationAsTransaction( + blockchain, + req.body.rewardAmount, + req.body.sensorName, + req.body.costPerMinute, + req.body.costPerKB, + req.body.integrationBroker, + req.body.extraNodeMetadata, + req.body.extraLiteralMetadata); - const parser = new N3.Parser(); - parser.parse( - req.body.ssnMetadata, - (error, quad, prefixes) => { - if (error) { - res.json(error); - return; - } - if (quad) { - triples.push({ - s: quad.subject.id, - p: quad.predicate.id, - o: quad.object.id - }); + chainServer.sendTx(reg); - if (quad.predicate.id === "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" - && quad.object.id === "http://www.w3.org/ns/sosa/Sensor") { - sensors.push(quad.subject.id); - } - return; - } - //quad is null, we come here, and we are finished parsing - if (sensors.length === 0) { - res.json("Couldn't find a defined sensor"); - return; - } else if (sensors.length > 1) { - res.json("Found multiple defined sensors"); - return; - } - - extToRdf(triples, sensors[0], "", req.body.extMetadata); - - try { - res.json(wallet.createSensorRegistration( - triples, - req.body.rewardAmount, - blockchain)); - } catch (err) { - console.log(err); - res.json(err.message); - } + res.json({ + result: true, + tx: reg.transaction }); + } catch (err) { + console.log(err); + res.json({ + result: false, + reason: err.message + }); + } }); const myEngine = new QueryEngine(); app.post('/sparql', (req, res) => { + + if (!("query" in req.body)) { + res.json({ + result: false, + reason:"No query supplied"}); + return; + } const start = async function () { try { const result = []; @@ -304,14 +311,24 @@ app.post('/sparql', (req, res) => { result.push(binding.entries); }); bindingsStream.on('end', () => { - res.json(result); + res.json({ + result: true, + values: result + }); }); bindingsStream.on('error', (err) => { - res.json(err); + res.json({ + result: false, + reason: err + }); }); } catch (err) { + console.error("Exception!"); console.error(err); - res.json(err); + res.json({ + result: false, + reason: err.message + }); } }; diff --git a/wallet/wallet.js b/wallet/wallet.js index 9401e69..2f380f5 100644 --- a/wallet/wallet.js +++ b/wallet/wallet.js @@ -18,7 +18,7 @@ class Wallet { //TODO: API for multiple outputs //returns Transaction - createPayment(rewardAmount, outputs, blockchain) { + createPayment(blockchain, rewardAmount, outputs) { console.log(`${outputs}`); console.log(`${rewardAmount}`); @@ -44,15 +44,15 @@ class Wallet { return new Payment(this.keyPair, counterToUse, outputs, rewardAmount); } - createPaymentAsTransaction(rewardAmount, outputs, blockchain) { + createPaymentAsTransaction(blockchain, rewardAmount, outputs) { return new Transaction( - this.createPayment(rewardAmount, outputs, blockchain), + this.createPayment(blockchain, rewardAmount, outputs), Payment); } //TODO: API for multiple sensors //returns Transaction - createIntegration(rewardAmount, witnessCount, outputs, blockchain) { + createIntegration(blockchain, rewardAmount, witnessCount, outputs) { const balance = blockchain.getBalanceCopy(this.publicKey); if (balance.counter > this.counter) { @@ -75,14 +75,14 @@ class Wallet { return new Integration(this.keyPair, counterToUse, outputs, witnessCount, rewardAmount); } - createIntegrationAsTransaction(rewardAmount, outputs, blockchain) { + createIntegrationAsTransaction(blockchain, rewardAmount, witnessCount, outputs) { return new Transaction( - this.createIntegration(rewardAmount, outputs, blockchain), + this.createIntegration(blockchain, rewardAmount, witnessCount, outputs), Integration); } //returns Transaction - createBrokerRegistration(metadata, rewardAmount, blockchain) { + createBrokerRegistration(blockchain, rewardAmount, brokerName, endpoint, extraNodeMetadata, extraLiteralMetadata) { const balance = blockchain.getBalanceCopy(this.publicKey); if (balance.counter > this.counter) { @@ -97,17 +97,24 @@ class Wallet { const counterToUse = this.counter + 1; this.counter++; - return new BrokerRegistration(this.keyPair, counterToUse, metadata, rewardAmount) + return new BrokerRegistration( + this.keyPair, + counterToUse, + brokerName, + endpoint, + extraNodeMetadata, + extraLiteralMetadata, + rewardAmount); } - createBrokerRegistrationAsTransaction(metadata, rewardAmount, blockchain) { + createBrokerRegistrationAsTransaction(blockchain, rewardAmount, brokerName, endpoint, extraNodeMetadata, extraLiteralMetadata) { return new Transaction( - this.createBrokerRegistration(metadata, rewardAmount, blockchain), + this.createBrokerRegistration(blockchain, rewardAmount, brokerName, endpoint, extraNodeMetadata, extraLiteralMetadata), BrokerRegistration); } //return Transaction - createSensorRegistration(metadata, rewardAmount, blockchain) { + createSensorRegistration(blockchain, rewardAmount, sensorName, costPerMinute, costPerKB, integrationBroker, extraNodeMetadata, extraLiteralMetadata) { const balance = blockchain.getBalanceCopy(this.publicKey); if (balance.counter > this.counter) { @@ -122,12 +129,12 @@ class Wallet { const counterToUse = this.counter + 1; this.counter++; - return new SensorRegistration(this.keyPair, counterToUse, metadata, rewardAmount); + return new SensorRegistration(this.keyPair, counterToUse, sensorName, costPerMinute, costPerKB, integrationBroker, extraNodeMetadata, extraLiteralMetadata, rewardAmount); } - createSensorRegistrationAsTransaction(metadata, rewardAmount, blockchain) { + createSensorRegistrationAsTransaction(blockchain, rewardAmount, sensorName, costPerMinute, costPerKB, integrationBroker, extraNodeMetadata, extraLiteralMetadata) { return new Transaction( - this.createSensorRegistration(metadata, rewardAmount, blockchain), + this.createSensorRegistration(blockchain, rewardAmount, sensorName, costPerMinute, costPerKB, integrationBroker, extraNodeMetadata, extraLiteralMetadata), SensorRegistration); } } diff --git a/wallet/wallet.test.js b/wallet/wallet.test.js index 536639e..e69de29 100644 --- a/wallet/wallet.test.js +++ b/wallet/wallet.test.js @@ -1,91 +0,0 @@ -const Wallet = require('./index'); -const Blockchain = require('../blockchain'); -const ChainUtil = require('../chain-util'); -const { INITIAL_BALANCE } = require('../config'); - -describe('Wallet', () => { - let wallet, bc; - - beforeEach(() => { - wallet = new Wallet(ChainUtil.genKeyPair()); - bc = new Blockchain(); - }); - - describe('creating a transaction', () => { - let transaction, sendAmount, recipient; - - beforeEach(() => { - sendAmount = 50; - recipient = 'r4nd0m-4ddr355'; - transaction = wallet.createTransaction(recipient, sendAmount, bc); - tp.updateOrAddTransaction(transaction); - }); - - describe('and doing the same transaction', () => { - beforeEach(() => { - transaction = wallet.createTransaction(recipient, sendAmount, bc); - tp.updateOrAddTransaction(transaction); - }); - - //? - it('doubles the `sendAmount` subtracted from the wallet balance', () => { - expect(transaction.outputs.find(output => output.address === wallet.publicKey).amount) - .toEqual(wallet.balance - sendAmount * 2); - }); - - it('clones the `sendAmount` output for the recipient', () => { - expect(transaction.outputs.filter(output => output.address === recipient) - .map(output => output.amount)).toEqual([sendAmount, sendAmount]); - }); - }); - }); - - describe('calculating a balance', () => { - let addBalance, repeatAdd, senderWallet; - - beforeEach(() => { - senderWallet = new Wallet(); - addBalance = 100; - repeatAdd = 3; - for (let i=0; i { - expect(wallet.calculateBalance(bc)).toEqual(INITIAL_BALANCE + (addBalance * repeatAdd)); - }); - - it('calculates the balance for blockchain transactions matching the sender', () => { - expect(senderWallet.calculateBalance(bc)).toEqual(INITIAL_BALANCE - (addBalance * repeatAdd)); - }); - - describe('and the recipient conducts a transaction', () => { - let subtractBalance, recipientBalance; - - beforeEach(() => { - tp.clear(); - subtractBalance = 60; - recipientBalance = wallet.calculateBalance(bc); - const transaction = wallet.createTransaction(senderWallet.publicKey, subtractBalance, bc); - tp.updateOrAddTransaction(transaction); - bc.addBlock(tp.transactions); - }); - - describe('and the sender sends another transaction to the recipient', () => { - beforeEach(() => { - tp.clear(); - const transaction = senderWallet.createTransaction(wallet.publicKey, addBalance, bc); - tp.updateOrAddTransaction(transaction); - bc.addBlock(tp.transactions); - }); - - it('calculate the recipient balance only using transactions since its most recent one', () => { - expect(wallet.calculateBalance(bc)).toEqual(recipientBalance - subtractBalance + addBalance); - }); - }); - }); - }); -}); \ No newline at end of file

IU4e_l*J_2H0GqYsUd=uYD&g3(2?39%sPO$8Nhj)Wg?l! z+1Qq9H_+R`cF`nW+u!;FwS5DB}R;;Qhnq!H7vP!$WFs6!{LOqA1k#DE`!0!yc<{6 zKI!Q=J8ET$fM50c)Yy;%q1^biQpwKh#U>`{Qu5TBM_JoDqFBKfbhlE)0#Oe2;@J`>mY?Pe^zaZ*D6pL(agK*-%)Cnw{svJ=syKKbf(MPA3J_9uJDu34*ue+=G znbDc=`hO^6qwg@7TwT;U_5SPO%n~< z41(5AU$MGbuYbjIM=0oLkSPB|eot}TJ#qj*iX23hDdfi~jBE?q zX&4v5eJkF08*^K0G6ptAq0ODEf30M_*CM?072mL;{{|dVH?aJS*#G_pAN{xKB)&wy zM2Yqr{7XAk_h7I$ImJ%y@a*gMF&f75AB6U&xu5S-@O$g->OFn>>Lf}u-ZXB^ytl!Z zsI>8xf7AH(x8|>^`mxruVREbJ9T(H>+Bkk*C*mFA!B5xL7h_HEP3hgWvSX>gGYwwe zQtH za!pA4sHDfKGA?SGm*owX61@C|zoe}wY})0jwDIL@k{ULhh(ybpnV6uUif^E@vzVZP zif>xE-CXYZusm=hksC+4mj?+qPFsDP4yJ(zrol2Cn1+|dk%qm!@+p}$%uPC|@{O4f z3sbZNCpPmv+VWXMd#X2$n9YMZ!}XYcv8Q|n7lUGXo1?+kow)@l&@5hY5n~*KDmCkH z1cPe*6&m`+;m!SWC^S@nwuOo;9UA&)|6g4A-dl$^uHt-u9G!n(>HMqiVqldJHV-@%to*bo<$f@{9p*1=audGmnf3g?j}rlWE=e zmeoyqI?{Z>eH0U;q6NoGFFen6u1<_rtx3;yLve&chiPM0X3(+q!`;Pop zH|uHLlk!ER#EC1Pqf^|IdStzJ=mD(T~Y5pPl9ba|E^Pv3wJKt%Y3fVnSg@ zQQ&mi#R!7O&#tDoCCRUR!>L`zusM8|1MIx1x8hC|8mr2qzZV=;LR%ey8B)1vi5fsL z1_t!1SD>KpPLkg=&oRTNZ12q2(ZWX;o9cg4&RDLe>_mf}v8t1>9d9#8@~L;UL0$|7 zr~SSBA^+L2mx7<|Yz?@wXwZqPI@rckP*x3+_O;Vlc`Juu=O@#d)`xymUX=KL)rW z{WJZk!Lhl8mdgHJfoYP9X!3?&>B1$zb~p(j{^$)*olr-ps7G<-Z?KS2|#xoh?otAXym^{-MqbM3Tz(pR$myX@^FqSF)E z;Ls`8^NRDtE`{-us(99o^r~QQO=zehv1W4g11_2qQT$s- z|4IIkj91Wt58k9j#HyfkRui#64N;_3gWSZ*eP8wEcbV zAyzdM4>aU2$XsQ!AP7y@TdFzDcz_-#^eJ-Gb#%(4tP!aO_0SS2{)g8xDojiiRUXs# zq22+5uIH}yg-G1nbmt99wDBLPAX2alht-+k#R-p<6vQ=3J8Yq!Qhlp>_}5>wkDXIz zMv^Y$gu~a@Slj}l4{wQF10#XzpPDo4@JGHAlucg$q**-p;@$VgV3-HMXF>7aHW$oZ zZA24#1+(=d{QUjM)od3lHQFd+2rC-jqr7?z|F0_&&gL`AowZa04G4Y%o-!Bny(J%4 z*nrt(f!i;i)C^hQrGFgh@?0oRO;{}l{k!28bw-tmv^N0 znOCK+4LSbCjA9_Ej)5#a8d zvuZMPQ4$>t%sTdNmZ8fcS(8{)U>kFCxG5I>W;?&}RB}a20zM-U{`kYBP=p2_0_4mp z^Y3JyiU?bLS_ZMBOVz^gXK8go%v332RF%*ir(xx`G1~OHBTJ)P#RCuPiz&a}b+rOt z+(hwy%|-jaTTa7iQy!Wg)}jmF?EcF0Z5#8$Cb;}3>8k<@p^c-V=A`i#__dD-_Gw zOk7F*aop*x-=}&z-_|4Ox2I>jsK(X80MY@4-4#^R5wKO5h9etthlbZd9p71Jlw6S2 ze1^vI6 z{?eMEve^NX_hh0>_;>BBLJFwfev^Y#Hbt6B@Dq+H1l*Ae+rzqx$Ra8 z;wX0M83rPI1FeyTtUy9#RRO;-I9XB6!feNDnrO9Qqr!)UIAeo*hBjMU!q1hXKzIV% z#xTApts_7I;Atiq8Ua6+o9=_|?)-reK~=kcsVvS^A~c1)V*qpV^=@Y_dM|n0+a}!YpdvYUeFpUWNFHKqHnHKkY|B^TU2HY z++^_{e@7qQeCsx!Os??JpNr0O!z;H#O8L8MADT-Ty;0jbFf+*m)x(Mif~*GzdXz~V%gKZB#A(j?`}%jPMgY8P-=98iALRCCLArIw%|$~y~MvghN~ zAa;U}e~Uhfw4)^49|T0g^;9Oky~IPSRGXMep~tH9cq;$OSY3(O+2x#Wu&GO`zFjAf zhQsfxmZuL!asBIU%BCMi-($S?c8B$4E7(|Rq4g2>{9&s^xwXLp9~MxP4%=+WX) zqsFKG6A9UepR0f?w8>^uv2;KI=s@Yi0fs(oSj5;kUF$+|cGWIlj;IrP;9WH=?g;gA z^dBN6p?E-v_vPo7mfIL8^i&NV61l2`kR9-cCn+2G$Yn_<*vEZLEZ`s63J9S+!P+oV za9-!a@(Y7Ke{NZ~r{^hf2ouePBOcl0g>1oc7y4Ad$KX3GwUy>k$@Sl(zhC?m?ynld zz!P#VI1%kXXtT4i=tpnMH zf+|lqtlYNI-~PdJuyUKZ*cXeAP9);X?OqY|pHVh10r%lU@A$Iv}4A;%7G?iCZ*0&kp z-ue9yM1AnRuZ{x^7r1hrnM=+FCq1moD_v5RJzlWl+J3P@%vwh|6Q$MiBSaHKmo<^P z-9;_QB?Ww!p!;RVBn3!HY`%txPxrZ}@26N1}MiXO#Gh zeOoLbBUm#C{9aXI&2L8*O@4}6LS(-SKp_(uPIj=~oTRMf)A?>c_dds@6XG6Y*&cU? z4iH2;GaPU3*KCvtPTOlAREVC5&dWZ*X{B#W9F=SiAEnw4i5I-ugHfvH*nPiBFDMt@ zC0@{ejii_yQ^Zebac0cnkHz(G24wjtW({aFrj9rW)X2e zvqXM1%sUu1pLSnlTxP@%OLKswRdkJWy9bpI{hUI1gd_^%?8}=ZoKFNQ-XYg@#MQAF zErb=$Y^}-?zkr6T`o_l7$!L)B_}TKhIBMsa#fQP2eDuwB)p})AFGh26Ztrx+rI$Pz zFg&;e{PezLEUp&WFY8a{XAL$VEj%W&+44o#L~W~Z^hY)^71}^F|s-s(_9n#4+$qa%#Y2eVK2;a zXA;ihFV=eXq9a)NLu$w)r*hdxt@x*M=ZKxi&8>@q6E1R1P4GTk5bf!YKbRPzajr*{ zr?y4C2+h5MVRJukdS=@Kp{$A+>T7=X3CtbG&U8CvJw7E0d3)OJdJ3;sa(Vev#kopj z-;hPCwCJiaJ06;&{pF#^b0b+hE`)4{kFk;Epd<~u~`%pyI>eSFjpbt+nz1| z^q8zY%Kpm7b1`sC??lANpj2^+#ZsuEN4_G&PxmWCsHE*49sgWqq~T2EH}A$AxUa)n z;Cyu}WwS|W)LRw5keFk>KwHI$q~26n-9)*qo`v1^g}%YIm3>J=dDZ+`V=ysUt6=vX znVn&*w_0(J*ZwF7(O3}Hv=M^MdR2~JjUrwxRSK8VquefS#^y=v25Bu)WvWM!tvS+8_6~IwS z+!nt-mt@_l46)Wh)!+{}w>gqeC%D0LR9MOIOhdFUM?A@zIUo|+W=@m&Q6=wulqKN| z8_?vDul`qs{p(I8>tJR2FY6elpQs@ZHDcYg zE^iCAB6{)`yBof-udp6ocNx>?3oSjSkcpr#_RtD@ zIi1#-rC;fDwf#wTr`qpj%k$}13S>C@0MPOLmb78dwCA&EIo)md6(-ChCQTDd< zo*^X$fma9XYy3V4q-4sSf4X( zbM>R-7ICYdd?L*lNV%OJI{8adp6E`d$*jLyF-h1|(wQHsxWAdl~ zftq18eXGk+BZ7ZzjpL?vJC+2$X<6-qf$ugc=w(2~lz*e-$XmmS-~(F1VO&F~ zkT-XxFmzx!D-Cp&-C3r9&nKM-o}mkdC?x61B7%3+9w&}p@yu5%&y1Mp#(L(1}SY^QPu7(UQ?6;}K&SOz~MIvJ3k z;bxRv_5%qg!o_?k@9|;Mg^ST|ph3^~NH_RK4$B=r0LU#PD)%S$N< zt8cD0fhRjl0|Sbx=3uqFVi|69=;>M{lm6A88G`S#t^~SY7m;Z)X8N#|+$+NAAHPW@ zuF~ZV=U`73a79{Oc**kIThV0rMqn$6)r8aMDoG{A_V8mxb_>*}uvQhJy0%LM7u%j$ z&90zgbba9Q96_0oc`0plJPU)x+nw#Cq;y%G4NCqCr}#fVLCbEACX&$f8Ah^d?kTtf}jxr znewGfKfon?cvj8yQuff_myCRiY>F7QVB=!79I|c8Kb*WmZT%%i7s(gb$XyStX1YpX zJ+$J`Vwi^`o)rP9OpS%uW2Z8gN@u7g!#@90p0A!*V=DvE{E$dCtw|(rl>4_2Y1mS$ zW96#0#1e|ON@4>~L$@6wJ-;YgVSgNToV02+Vq!CjY|-x`h}R!x{U;&~@;H0jEGO!|*_M@?XrNEj7`+ql$kV0819BbN*EMb{u3B^88fmz+}vsFkL`$omL>yT9ZvM%j9SR$NG$wMCa zt%i}D_V0tpS0;789z&Q=UHP|uYBG0xrQ{U+fYH-OE<-adrl#`gT7#6BF;S#m$c}@+ zbzSS@&knnj-#UhTw~tnaeEby4kQ+~-rm(46R=Ghwe&o!UsYG8ro;m(pz8R&8eTl_X zj&|m=ZM@42#HX3pA2VoaG_Vbkwc7~3YcB8<&XmsZUtv2W&!UjQ$anTI49M?dyi|47 z2-?j_e0h|7*;~Kdp2!zzJJcuGM{G)}sobB|^6|e8ztXCi?P5ujwNb-Y{mU*Mi!-ko zYu$2cCWSzz41)F8p}`)HVlH?J!r zywPVzC$#tMZbyrpr-zKOIwWV?SGuWiue}Q|8yyF9AO*^1JCKJCA80kV#txO_X`dk+ z<4idU<1Xj*Jt=INOqUPJoJ-3GqJu@rsS447?v-`;poJ+IPP@g6uAeqSih)>8-~eJu zob{J#Rz%N@dKgY-u3nJ`R+>trMo>yeseD#N^3T~!zs+veR znwKfRyqc-UmQk#dorg6B=(LDa^#S@W|IN+E&1&6s0;o>)#o)%rW1OU$YbhA&>eX%I zA@fH$tF=P@5*CfUQBYGiI3dQM@~@*NF4|e^Y=uRVXW|{)t$(7&Nb~m%HAn1q#%OQ5 z*0HDP_THx+q4OuGzor09Rb@uzBVy)xh+j@nqL0r#3byf+{m6Iw*^AEZeeg>6->!&2 zBAFT16|u%*#Nn`){-22`35>56QF2*d`#zt4xBM{th?0<$KX9C*lD|jH>u?)GB1%p@ zUQ9)ON=og!`9t}h!TJGqT<5{j^tF5hdHsm?Lh;h?Izkwf*ze)qC7AFfm6MGZSUbT* z&BH!ps+goUmG<%4SW!gZsyFSUn~7r55(oVkKO)>hnJAzt!+=yNzFFQ(Bquh>X>~Q% z2G?&CGitoQeOUtFJz+&_v%IXC0dQ1HQ_QQ|jI1PmroFYbb^Mi^lROO`mZ5yPSWNwa zS(TO_9Q#HTMK)LJ_Yo4FK7CnkFgKkR?EM(siOV5RMdj9*%w2&C{?8PiXm|qeIJt!ME`CE=gwKBLm7gy73u$ zw07JMyt0jHot((LIp7ET2$u})iFH#Hh@tTtRp7dvNu8X&hQ?`*`Mdxn8?3%0ZlFwJ&V^N06 zo1AI0)lCj=gNOHjCMA}1QqmtA_%Fb6;56RuW5Bi*qm!JGq_R6T zK4nRIH~mwj1*iqwVe6r zBNHtMGsh!h-W`Gbfu@8wqK#Fx%9jt*2cXzG#6S@t^0p_qCMHy|DYmuWfBd{j+#AB_ z?QJm9zk+Tv5R@WLD2v);$(XBFqwbo2|E|T38N6eEY~-KU&B&kgEcLOfcumENX$`&$ z#QJhQHC;DQuCjV9H1crVd3KRIk=4J8j_M*wk1BBY%0hZpw1qkjA49E*cBV^@=9{04 z^d!!VCg4xugN*S47D+&QqK^L(Sj;64T^*)0KzQO^_h0t)Q}C^0 zWB5J@I=?COQ`0G7-bF`;k-7P$;e$5Q#~wUQ1~n6^^y;Zumm?t8Hkt*M!ZuupVK0LO zXdR@2LasGG_0}zsoq*S_2r!5Vwo~}E5dtQSD(2bqoP}6DI?DG$s!BO-?-}lQzKbrM zEMx^Re1N6$@-k9a@PdoSo5YSbcu=8K8CLMNm0AK(>m~+ZXn0f zxCoEw6|{+Mc^h- zU1$VU)z8NbMGt31^(-HIcV@&_?|`^I$U+Sg7FSM(_m7g32H}RQ!(OJtv@Jj!^?TBZ z@=rI&kT<^T=;};RNvVUo*dM2Qu+@K#C_bBO_&YBcdezMo0&n=W00$Zk`<4DlQJ?8R zmxc}Zi0cp3?P|2+#tIZr1*_pi#EuL(^7+UR6E?R^o?ibHbTcWo#v{Zv=cakz&A|IQwsTvrwIkA zD`CM!)PR8Evol_6;)7G+(0FlH4?zS-oVJM!x~h3`@{?|7A1_Ts&;ZFoDq{*n44a7? zT0f_7w^!kfkHQdSfF>jmzny#F^HFVjASpIu7${bc1#RsQ72cf+{7QzLASm0&vQgSJ zX&Z4R_wtxMyv)H1@iOHK1F_pgo*UyS8siK6Q{Q1z$ouvSWj(B)weQT!eZlp1%00}2 zKbyAfMbM#^Xx8Tx|Z=LI)Cyh%Z z6sBjjdS`p)oh|30|f&G-gAn2UH599SPRS{83Ha6jQE` zc(rLB*p&{$87nV)!*vyysW1zwG8bj<9r4Gh@5rT%Iyz4a2UCpZVRlgJ z%(y8B)H4m z68H#j_^Dt7xi|G!3*4Y<^^fm#;8pNBZ4#U#9jxn_P`klB=%Z7fC?^EU;=*9Y+7M*V z7?_m|xfsxj5JsRorEDW)_3IOZoUA|cfg(|16Q$fZ2AW&kzboOSIKX5@_d+MHl29a( zq21Lxrt|GCCNg3bcPCwSqRI^cE|l&15?d)Rm#?3VUQ3W@A? zisIqBiEW;>_Gy)=VYuv`n_ErOnRh=`*D^bPotvDFbW|w#SdlZkyeqobD%+E6jHg|8 zYMf#NB^**UKx)w3A7Mjj;=<)QTLf#0EZ2U~+97I5l1Dg|yV==@iP30NcDET)8>srNTx7%R!JC`8!blnU#jmU?`keLil`A?%)Az0+%_9d1`pqw5GsBjC>xrCfGGYK{0{KbccSJD9<``1E(ZckU&|k z;FtK`q3V$ZLA+#8n z^w?1UT!tW!DZM{I5dWy+NKh3KZXfQX2(uwGBGNNE2+AEpd+C*O%xxZ*Q43Sv=vEh8 zf72(s?TCdySzRLpXpR(~Co(BJ zka(Tg56af|!5we+SPeL33M$YSi?FXSGX?k0&bL;@eODz z7S6fjm%rx`!PV+<#`L}?^}r*A*3ZQ~S8$jQCX;TY^Q7SjeZzu#ICw zd>J!~YszF~4%G90H{~7-=;xJ7g)gQhDS({JjYin|upyp&x>AWb9Fu*vtInG&XdM9QU+!d75xW#sdo0 zf7IQ-*3`^q%FS8C|u{Ud%|{m{gCuQ1UkvW=>f?_;!=R(KI;1Q;l+7UC-r zfxfqpC)ps%8VS7R;Dd&kE4S|5l*;LYju=5$iRT6R)7sLQ#uo3O$~xRAP=4SHyuhYE zp98hCI0W-f1vVPFn=kJPtb<-gZQ!4Xxg5U3<(POBt*^Mryp5EVa#f=6BEBC|qTn0n zWZxv4O^h>%@t&^2oz?zo#tPJ;=+(!GJ;?dsL!3jDNk+aYXBf)hvN=QzX_8w|*l3TF ztpgu2)S@$6BrVs>Ab#PB^G&IsBG1L=OI+yNiS)`cIr^Z*Q4eg02fKalZ7#LN=XQtd zj(tZ!9vE&HC5(?F>@{vIm@^qe*z~6JQeT^5V}1t8smwLt_p|lWX&>R-4>?_jjd`pu zWD_|2O+C$*+0XU;d4{Ks{6J?ro!0hAHp50DW5V^L(@;Wp+7QBVr5L)SxZ0n! zGCZFAZ^@3}M6QTa$Z^EY>OjnuM_;gwOSC-bIp@p>&ML(`nj_UglBu;%Qw|S(LQW)= zh{8ocCpz+o#F}OR5i7E5Uly-9>RcSZUR7o`uX&ihMhTqDpL7r?coo9g+^S)ry7n7b{3OjCsdPNlT{`+{uh8Uv-{v@tqnwoa* zCzS^z^+>pw`bQi%c3Rct5K~FXm5J>Xl=TK02V<{`I3~%j!lq(gBq|*OxUNw!Mj@8` zF>Xl9VmhE?1ny!O@yvgVdFXWaNXH8C-&A1hUqIvs@x_mc+P~+!0@#<*AntT~$~*kJ zV?y{_69R9jJYSP<0&a=nPx9Aqe6k2RUtJ5D_Is@;o6Sk;JDI45tsG+~n2XTgPbl;W z=gKYWsMR+6{G9E4*pZ~fo;$yL@o96s^Q<%4jU_BPEnxQYQniGW{ z0-TmL8i&_!ZG7-0LU46)sUPu~7l9f|R%3e){IN4+yDQCXxu)2q4L1>DJ>I2mm*)N& zT>C7k*pHtnjLTk}2~34|{4ljes&BSBT2-*$$}q}!f41$?)|U#|$24Lq7WQq;I{7~$ zDASoLEbDk~`v;7IEAeA{9Wd)A83Va>-a`}_!s$@&l&Lk~u*~6^QH7jY1wrh%r3iN( z^!FYNGjym6awe?!ATymSNbT1v1nY8Oc;q1 z02B;NLTw<`fduN+rVBYSkIg^=h3n%;jY-oJ5gYW>h3Sbr`4UC+?DRDFu>>xq-7jJ2 z+hK&))s(j_BRL5u0)Z*-ygs!zH@@3jUbflv9nt1k=>IIZy7B8Mr_#WEVveo-FtE<2 z$$e2&ul=YBVdP|S2{3v~X^D;qr30tvZP?+kw#z!DuAWjQagsJ)?s7pH7I{b)9Nb6Y z{c~#JDJ>Vx-$lT<67^y4=)Ym_=!|BFIo6BjpA^9KG`cfBM<@+RfKQPdF7s#r5X~{4 zJcv>ATWI~+?9XURMnpqvZo~#EHhiy(Y@8LPpDiERK*|f`34wwTghj#Jvg%R~Ibps25r%mnj@Vh#a z4_T#h3!({tPeuzd(SwZa1j0l#e9(yKL3oiAIWJIk+}3cWZ$EI0F_-o$dDPpuFwB7^ z0wCg|H}>6|_9>CxMJ%0^;xX9%Rd);>6p_*T(#a}j2m??l9D8|;I#90h4U~}4zvP`~ z$7<>u&-iTwvI*0WK!&A{`M{GdaI0E;%U~#liQY!O)PbkE6ivSY5-_rKqINVw(y)c*40Dv&p<3Y-<)Egz5P8)9-T9{B5##!)>$9IN-frCp#EFhY6oeeq5 zVsk;7DtHWx=jg;5*dRp<3^C=_Qm4942kr?+u9{wxox?Y?8QYKohowZUb=~Sdl!dW~ zyWycjcxjE2YENlL(+}=nda_D$9LfI$t9r=RJur6uvrTptFeA@6E( z<-H>c2j)z$jQ*ZrX{ay-f2OY`XXyRzkHpYMX-;%TusB|QV3Ebu`+>e!(|@%*>P`Nw zW;JKtV{3*cXjvdP>L>=7R{WBQ%gMUBk0FyZ4M__xT`hh3vqcF^*Z18`lREAxmLPUM zCYtZgk*=%V3Ck%%C)#i@{^}0>Y;KbIPT<5*eIm0xZqK&Ztxm_zr7f*-I47+!3`d+* zvqqBxq(%v7_OYp!oTK-Vn6pqF%9t?nrAjZLH~M(f-tYFAdf24Qyl`XlMd^mP3Z_Oo zb93U=QV_xs-OQHPIW7B;(~p?AMUb>GX?nIUn7`tL!}&m+R`AL~kdhnmw|s{7RXXvm zS)NN^ML&}#kV|WD(#KHFjI88!EHJaM97!+tU+;*c@?F;^@+0#Uye^4*%0iEeH4b?#{cCC=n#-)H%0XSxj-*U z?M{3!9K=B_QwM6+?b~p|4kunu>(PqCul=~Iv|@fY%}Xwc8lp~B{#R;3t7PTRu=faR zeWvnK_V+H_zrL28UP08BLSG-!_LhEK$QPUFL@H4frBTKS0&qqdZ{zl9PlflasAapJ>(CPrKoTeZ^rkw*fw6-P!J5I>ep*-0iJ)v1S$gGZ^}Zb22c zP7Of9+)Q_q9abcO&xn;$u6(=WP^K7b@oCI|S%xBaQ;^Bh68*koA{#LX6#HlY@}u%7 zwg=!u1L}7aPaY_XT}pnYE{5>ooK{Z{LHQT<2dstRB+)aiBSzA|n{Ou~P*Zxej*%}2 zhLVyJFBxulq3I&|W5toxqYQp;1_^ubIM-X>iJ_K=CJAEg35$Sa-tNHrNydxP3%myZ z1ifG_4YguD`n!w@o@Xml9-Asrl*3dw|k(gYBMOg8RVRR*9(7Obx zYI)83B%elFpMT(EMOmBiE{7ABfbASGNjc=eel2R5QmoCN{4`oa!{-s} z@luVZw!gL4(2->@=t|3g$J*U}CMj)KMZ=WqVCg2tXgc2Ojv`4PRw64=aVD@&L%!SbmVcJJ~B! zfe868U;xvF^H=a>Ro|Ma)Wlbc$HpP-m3&ljQ(*>bmMel640%QGfF5y7wBlv8tT(4R z;wJ>8b~u}UU3G$4A4T~&v8z%}ol-{ydtaxv9@BoW4U;PqUkgU2i5;jvv8NzpyUYJ! z%mdIAItP~S3~%K^a#{2PS6G|UvyIx9uP*nS_IH(eFAt2Sp4#pd{(g+0tzCXm62=J2 zwTg3pweZd=3$xQ{K`DTUrOO@S1rLw3Ooi56L> ztc~V|T^HTK_TN5!+2X3R8Y*BF&m?ZSlq)uuUagv3)T{CW05h~wQUQR5xd1FUGD!afVUt=&+IDTHB@mE^aFcC9E->p={h%5G3B{LHAQ0RTRi&< z|Epl?5cl7NIpmZzO<$U*TjTpm4w2wx@O)28)YBIt^9y>6Tkce^zCXGr<;lb*Q)f)B z#DARLel%|j`I`<=Zf#A0yCOC>&m`^P8o>@h+CxHTZ0EQkX_!y!GA2sFsg^qEU~8zufDE zwbo9mDL;dG+yG8AWJr?gLom;%nEno#$=jfJQ;0ckfKPotFylUxI3MfF4791ON`3bk zbH!IViDL|Jac861T&BA0kf({rh71k44`n$_E&Lq@d%aH8cIZlyi zaqpm&lZ_;_OToB6dgFG`d*KEF1v&^^a<@juBY{oJ2fD<>M`M6b5H#WflLjc)lm$F- zL3IEmxz$kWizLcEpIJSW%YFk-a>!Thr@Sli9lS|3w7VxHj85bg<8udx(ZxE~hK-Ht z<%ZRq%`4vkj9g+;L}$V>GlPUA@0A-dJ|zIq)G}J3YlLyt{30Uo!1}U!$ablaps2pS zo-ZGPzLJA?+@i|?aze>WQE2w$bRF`FhY|*pXH3{exDx)f>-MS0? zEzI#tIWK|UPeV+qgn9?^H06Ym2Bi@XWAPfqy5%L7(cd*W+AOrYSL{m(V=LBJdu{Np zL*r+0L$EYd2w^&|$rb#JVLEbk4uWaQFMTWAhqk-YJNhs^gb3vs@3UXnYaA9KZkc!e);tBzsa-A8>}iL7?14YMR$d$C zMLSko!=kBM*}9h(?1b+1Eliu|rXi&n7+u7H#{B1#f;m5flft>v5Pir$G6D^?_=lLn zHQp(~vu}r}#79-v!7JRAdInVhH*4)-wmS9MgGi}2WphYeR!WCB_ncPGEL&AJt6eT; zjVIkMwvBT#TrHn2M>OiX&(DRm*N;Tbzm!4{o;~ z=(DRufbzHU#9lBeiU^}r`tFrq*KJX1GlCx)msBTeDcwGi<m8sbJSbzTG7I#h? zA>^H8CitgA&fc=LIi_r6;k{_Y5uMlz+4X_SY(4nITlzV+y?d=8Mt-b*W>-dI7kK)K z`CvmuqX4sEhJR)CR>(-3E~aj#Xi}rVp>gJD@1U|b=y!=;l)D`vEQzg+*zG$$qc4uG zN;9Q_^ntblIqy=frMTPbUw`3970mgnzB(qq(j5xQDS&?_DKOub|RhZ>iyLBy`XXi|6x|&h9F{EX5QJ zi@*8sykgFgltU`77rT?JcYAHcBtH0iS7qwLY)#4Jc5+Eg*O#ZdVc)8(VejLC+sXgn z>K&jXU7Gmejg5_MY-~H(*tYFtvaxO3wr$(C%?&rn#^2m~-|zq7oSA2;aeDgc?(^%a z>aHp~(Cpf#17K>`qJkGp#+u%;ao&~o(3`C`>hH3OW&XS?u`Q$7(DxM-Sy5{Ha=0r@ z%9zHb;cE^`Rt6TODa?5YP*D`{y}5Ah9; zKlqdKKQ3QM*oKvo#geqYn&pz8h=70mH_bi#FImHiB2bkZw_?8VS?DBKVNx#jMdDml zO#Pe6HSnB(-1aB8KK6a}V-fu83eNZPQaV*W_afxK1-Y3`^gs_QP*Ke}Nx6(G+^W}e ztFP)>dB1u9nLXD?%%HlL{OyN&my+$LdY39i$ngc2M2E^~k2i&tfXwb54)>x=0>>jg z&uZm(YR!s;-g_I4>Pp~XZu@@!44lK-o;AsfDj)#PtH43!XbRNOi5nl{c&zgoleE~> zFf;|^a}RJY7b z{onyNgM+kY?3#kkcHUfiNO%kNGr?PZ2>%M@0P#XsUq=@IW)((CwDYWl2hy4oUBDTT zpc6)ukQ7yegd2`0*^PZGw3R1WHuOkzn|H@KYL@`k`Pb||k z9+{;griWgjWi}2A<#Q^8IO|upEUL>$h>R$XC7Ps`E=r7sP{?k}sEk+V>_pjkdu#*G z=6KDSnfkBBO3$GP*0U0r*EsSLm^cY-ANKydD_}6?Xq$g8^okiBN{)y8_0=R@R^C#Z z$)$&P>QO!hUge)ik=^#l;r-)XY9IXzc*8vNBACmTNJ#Ex#E<-!o_?Q_J!oPPF&8*R zJM#h-9%!Plfzq$wJ~CN2f5{Atf08JvF#eJ^UIt3a`XOYGjA&HgB#*4fR6*ZOMXv3L0`=S(}m^4b(CNT z|4)T~GXn4Ez@JQ3H~VtN*vYFE=Rt^#EOl=D;tAS3>iBmA0zSvrM-P)gd!OK!`%O~CxJ{oZ|MgULT0RtWy}RC9;XAXZV@R;}|{&X~8% zvs0k=p8>wvMS917#u^Di-1U`4-bl0SaU!-wAg;E9W;>DjOjt(37BbM$;WfxO#uwj( zjg63njfE}XQ(^L%UR(Kj6^v{HjDFym$@Vi6qm`8AGZM#<dJ#^z7x~%!HB?s zP_FaCa>C@3uOn*>xQSRuvInL3;Rs8!vIV6e+e6chhs>d=;0{VL5wU_IA^5%xBZ)rn{xz zoaW5?v=L!v-R5>CpaZeHu^%ZD!ACQIDX| zi4VH*?VimpweqzbUuxA}?u_Ah_6+W}2VO9g?ikmIex0UVIE8;tAn!kD3X?b%9e`d= zI^U>(2Myz^{U|z2T-cvaM z0hf=magO(c%LBAD(z)VbV~X~sMMp+QJ3_Vepkt;Fmu@xM2%)@<-zWtT$}6uE8it;K z;4#)mnN#{YoBbN3fk1tbRer-E-Tvk7zj5e0^s4X}!vbH`19WbApmt#0tx8LBNYcV= z-DN2KL!fW}C$+xG9{EpdJra!Y3cFgYw)x1URWYOavU~2?zDRwOfRMgVvP!e3-WwF+Z&XN?#!ry zi<3zV(SsgiNhDYENyeRnNyf)}NygW^NOVa`fEFTQX__<%S%TuVA^wX%=PaH{x*Bt-2?6CaDWk;dENq^5_zz`Mrt!PcFquuRxb*-bFy*aJ6($q!>N~TNd zDF>GbY`tYOGch~eP|4l9u#HxjY-9~`CWg@>a}SHC2WI*RfAwMPAJ{t!zG!i{c=L5+ zcStKF(%F?ztj3(5iQPO0Bk$jhh%sn!jrs)<>J6~}?upQ9unz_J;~4cb&*l7AvW6e3 zQD+kd0me2IV9MAMq)~U($%#SR5ZVWNZ+}Uc45uB-(v&}rN=}|$V6FV{P&2d=vApOO zQ6%YbFYJSE~ zD|K0ac7}fp?EfiWG6QDlhF+_zks;RQNVJ#z=}_jQl#wVo;~szK-R@8}&s-kMJsa}} zccng>Z5hr2`Z)OO`?Lc-6H~B3SgUv4-DtuFjtZeUKpg;rK7gVL4vv;Z#*+9W5gaX* zkRO@YkOhwDeVs{&T@?Q(GCJl@HGimnaK;931rU&EMSm#yaWJn4`Qu&hPC3;_uF}gK z9&L*JOr-RSiyO_0rE+C$S6vA`14R|7RRAm3y-jJrny3qp^Y;a^ZMor!BJEO*TR)r9 znnQ$T>3O52kh=T`OvwoZRX!E$BLvkhqJ^mtYFhgvc8`ha6+mP2md*5hQf75h36QV= zW)W}L{C-fY^eSxLGAYiiI(D(ru`3m}OWZ6!9y}TR~e>w{&H*=hXN+D1J=~9 z=ZAs0N5D+j1N(My%v8@`F-@OW^UYK|53W9=886+YGMe~(yWa>W^uICqHhXq|E?;-b zVmw!FAItx$yr=A7t9cK%(+vSqleuSVXAw|kHv|(oomVALrJ3|^M-B4-K58f@`Q7oK z#?NsV)}^t#h)X!QcK}#P?3)g(2Ca!6z41;|LXY~8WdEeg0-ZceZCg*>07I+6Yh1oO zJlGK7r+0p}QtAg%(^^s+ZB%rw_qItrGh9oGzZcyGZ2avQ(#+~f$W_);nqG;w=>9Nk zFT;bhJr*XaP9EZEQV(LaKRM0-_*HkUhpb-HgKm>D<$k_-{uO-OBEjNhQ>~lpDQ@B6 zYXs5AF!*R%R#!nmS8WlQjwnO%n4aWaR}84Fb6Zc$f#-42JPiqQS*H8)p$ORf#)!&E zGlIs@g7?zrckG;+Vc(BQ}5eaT?(>`!-QB6BpSDqNHO zaG}iKVhP(V@`OCT7Sy>$6trvS$ul6&+rkf<+y)t=bA^%t<{+nbg2icHBmM}>`Cqkb z$U2_A8Q5ME7btE6l)IpH{Ik9!;wwb>L|uRD5C`?X)&c#R6?4{OD{nF7nw8YbM!#w-r%s+E=wEWA$cI z_2H^VhmApf8c5OB>ah7f0NX)WnVLj*8m>u8wLZMdtBFpn+;eP)MQlH&ZVSM+Z-)i8 zy%(ol6Og$DKnHfGAJ`oTb!5It)!Q~5h|nzr1N5zI&utU6{?h}=p9!K=`oc~vg3iXs zT?YInaK|~O00pNXDdUsHw^1cJu(K8u#kV8U`);?NX8N!Ushunt`wd&(?> z&z4ogWX)kX>y^Y9wc!z7m!w+Xl`c&}Ngv-*i-j=2>rZ0&*tTLEq>SP+^MA2Ad0sL% zoY2ap+I)a}-2(9U;LvX&g&scx!ubl%XHniBrdW96u5T6q?Ot79yU%d7F)9^P`wUh@hrF^kJDE6o&{ZxL0b(v92NGI=y`tm_3e zl4pYFkrT=YvJ!$*BUgFQuG?dcMQ!}KSXH+OyLAg^jw4xZU2&rcLF``osVxbvPKggC zQ|nFtKMY%5P=%}f2gJIX%NSsmbnwp7TwMlUFBt{jGUlB}ti6p-87*^AItJ$y2oRHQ z*potyCnE0U;p!ZA75om9osqms{m&2iQ%N?_-x)7nQNISdr4pKZ5%rO0uoz_4_Z@?@ z9d_S^252rf{}LcAhQfOrfe`uJwhI>)^}MjNvP*b5(V)?$>vKt)Vobjlvb2k+Az51oM0KwH{g+H#W0dE=ZP={)kYDFg*Wh8~720~s&#;e9q$DPKvd zrM{w@;4uf6!23V7u@YA^`K!YAlH(z1$mep}*pPO)huS+a7i{xZ-ur%74A#Q)U-x*9hzi844_--?rReW-tt9hp- zmf&;Qp^ujl@}RPOAA1ateG1Wk_!F{bJh{U-Ndt5i#}P#Hlp{}k4#N?}UwgGZu`@lb zdM33A;r7}pd$R&!*O+;}J$6%Bv?@S2-5S!Q|C3&!O$n-LVs1t$_Axwrum~v$mgC$+ z53VV5qnw_sl|%EWIRti)7LzhwEIQ@puf||2lMEq}&3r@okhx+S+>*_fULvi7iNk&X z8y_A^F)0X4Ev?mUJ@`N4oo6-|5Febf6xka}VtFt;C-G&OVlieXO5JF|s(Clj_9G1zChpb*r1j+WT)P1l0{S>YuD+P=ssW-U`QQpz23`x|pE)#F z=`F^4BQvb<&L8K1Ic0z>Ksba&|JuhhmT2SnILmJ? zgEP|&b+niepVDJvO5kRw&Pdt~9X$0@B+MH1Yu5U{0I1fJPP)CVR&d-f2C_crH@5{$ z+?Rrk^c0*UN0x5^F8$GuUWW_=G=O%=SBsv|VK0#oYm{LoCZ3I9K({egz)Ta_F>70C z6uXHxQ`kVqMgHrRGB)&Qh!x=G<@L6vc0;6#|H~%jeWH=VdfLA62>gL%-pMfWjLp}+ z1^f;wcU0KR7UW^9i@@oJ9b8%t18GSWCkD?RP<_JDaP6F^3fG0Dx*RC5AXc{tx9+<_RA8&vSr@|lO<+)uh0>O+IPEq)U zvAuRHO#2kl1-TN2^%4+fzm1%9GkMFqPlQX1kD1syvXhE;+e zJ_bL`{o2ZbYpwH9I}Bwablm%Rgtr032yys$JQ)?^AZZk*%dfH%2ee-GbJ(g>_u%osaG zkrp_slqS*}X{!0#Qj@>#me~6t=scuE=w1_Zw0;Yc2|N-Q{P!*^^(sE`&1R)pZj(1 zY$}w+Ddtim$LR@io&8x9ypNj@~snD{07W`EU2*UFYz^JWtZ(F zd~a!r7$^A5^Z=vqgz{vS9{acn*Lg4Xh~wdys$#uE!-+h8g;5;x8~_$hZjpAu()~~} z4LnC(!kPzsY}FRPnvopEg75{C_cj5l@l284V9nf(@sghh8$o&7oTCt=?AN}ri0+Ygd3$SCF}m-JIrI+rwW9!pAodTkO* zBEZZDz>$_N$puAqN_31z);+;BmT8W7@O0YC?iAO~`IDLOyXh+DQZHp9I^JypE#7Zl z+_b*i>X7}cR>ZU@yi*XPRv5!o*>&LX1mmW;5s{~77=|ZM1p|kMXjSGk{ACHq?nCQrk4L(0Gquw0|Cs9{#z+oHoV zK$Uil)pDf)g@7N|am7H2Y>s~bRm2rVf+F~G5F81~qX@OjKWAv)a5B@hf!*GMohfLs z=^d>a7*A(>T$8JL?t0@pefB~Q<|+(zLZKUq4)9-~rI83RG< zhc_5@Yjg5p%OhY5gM-ZqcZ*4zi`%m?W@f@sgA0*n)bLz2X7E0BlOc$qKhK&Tku=!; z>n8d&+@vo=L^L7zFzEERufboCL5CSANExx1hi~;fVRe@!R~=NH1Hm?1#L^*E-q;(sFCTzLHC`{}OXTI?;@I|;wBonRqT1inZax8x3fKQ}{(3`n#yrR^=KOC1t ze9;}8GZcr4TS4u^3n9jVkt>Du{WZsHd7o9~5E6G|1_q-L$Iu3CvEL?odaf=fd-%IU zl=W{$W@xSg@azVH;Q;H-l_ffsoHBt&gRk~wF}Psol+y*H3(Y{5a>Or@zvzqNNTD^e zIjxGJa6+n~j^Mn4fbpyQQ~N8qZ@2I|e~$x1v`$c0^s$)eDm#B8_!FRqoabX#V5hG9 zxGT}zGY`iRs^+(Rv?HR3iimD&VM$*?h7oo&Yh9)T&h;$6vdwh?GjL z#M$Gfjtb2kDTalKf_IoyKY*|;ps_y)sye@MLw^|OR6ZTX@82PR_+@qm>yu6zPHfSH zQieTenPa?iXeM|c;43niA#eh^)Cv$7w+Y!NGJ_&DyG9J8*8IW;C1%{&oCIE<#+~UIEuw$vO38T0-r{c<61Mxu1;S^OyL0Ni0;0#rLiW;S;lUHmpWQ-U)3&bJ?$H z-c9`I_BKsaaMS1YU#vNfx!I);K2yAbHS!%&+VA(`f$OQBOpVomnx%K0@~m@{;CC7BgZu@iJ!4Ze)L z7dxZBvuixc~94uYU<>gmDc z+!LYKR#L$)E(T(Ii3Xx_G2k@#oJxrE=~PJUr|s!;9FRhf1cQ%u9iY=(t$faMeF(Z8b482>_&$!(gt(S)vluHnd%ap)V39-0}AmtS$* zBYVzp6z?!DxjZhbNDQZ`&f!8@#_rr#L;WS?3EwDpUf!ULvmjTlwni?=Q`B&I=genH z*=YES`DLbf@i$ZvF=3-jZE;yTxD|a1VIxn@Z%MG$MZ0fe&HPTbM&m>iSStB3yL|@Hu$_Tjr}shyAENs($#)Tq4Dfws|ZX zfvNfUB~=1}QLJ``gpwVYI#mHk5`Wj~b|F!43AAU8M7Dk~b2{cneFH-WS;=k5S>auJ z3zgLtz>9dyv%Cz}_E>+^lwxf|`4*&-9<tP#-34b#x z#)^%>k2rSW1HnvK_o`*G-RBvsqRZlk-xRLSBd@Y25K!sSb+&ObRwjU5og531Wbq3i zu+@eni$%zL&Jj4#FhRO87bQAT?NoTY$dg*}4HXQ#lO#1l4EtMD{6U7ISjQNpn_=Dd zkQPF-pUg#jGm^$nuvV}hyf4C9Dc^e)m9T%JLR$KuvJ`PiYP6+tkeC7Xlfcu;k2|5`T?cCQr>xaOLz?W>tV}yuQ%yRc!)!9X-aXH z-qU;bY`^$ax)tS3kXn5~DV{0gxLQTM=kj)D(UJ?=ycwgUrd$Ub3chzr0B}be8}vcs zoosWsjyyR+mD4(ju%f;%r3i?oy2IqAz;KJVpr_Z8isD2mIf3l0|YfCIZc z`+2ddUq#=>ZkTk^wEy#2TrSVdm`M^NCBejyc#2!xC3@8cakpzuPZFb!XT=P?96ss< zCj{R~lB&a!sw0-18gpVTh4CsM-qV81qfArcO2+$v_sGUh-4B0iRo0;^0nxB98yaX^ zy;y3@pXa&(dU%+|T(c8$^tyFLJ$;tSZXY=@++Unm}fzB$=I6Bu9D< zNm~8@DW>E&)nzs}8AOULu?3K}c9giWNplqeq=0FcEv9n2$MtL^2;Z|qL7tmJuH4}$ z?W#YzGD|saI262*Qo=}R$Rq?87hUd1NEniJYD)j@rGx#QYy#4$7@}*K1R`d?#(#jI z6k(?oVYk;UZH)bl8p4-kh(srj#0G~uz7w7`9j&(3k0Z)FMH8;syB+T^4q)=e8TZ?< zgo}zbo@nES8>e$=B(<9unU=O=MzxgK@qvpPT`cK(NwVShO#Hlr)9U-!yO~zZ~moaqnx7M zDhls7RQH1`vcxZ8;}`v}WSXs{&Iz=0ke|$s22tPJ791$0AMwJfgri5X&+gG|>Z>^< zgg=I@&Q&8l9c?KDB?w$2;f9=3zY)8OB937pCkTvz>|ayBb-`$IgLz!}Ml}nN_1Yc? zO2N4b)b$a@`Nf0Q1A|vx*UC2b*6+)}qepI_%clKmn24A|j|GDk&p7SYa2a8@ zHC&Lb!nnicjr%^;(bbKmGryr>i~C(1QlO&^*Hx%dBWp^sHh;QQnmW)}S*H)$kRbT2 z@j#L>8bXZ&-mVa^xm?0%Q<3C%OA!11yrUb>61r8$mN!Za5-BrJ9*i8ceW&ViHr9#k zU-zJ}rb8QIvF4?q6N!OD98UWqc0}P-tg3C&Hm33kYrofD23nporW}&~s=GS?k99*} zpVkhgsv z^KYdxp|2=n&JYh{{{zQcMYNpKm=rW#&$qeOBU%L4%()9MeyAWG^S-HM#G)?4sX37M z9JVCfc?}V_)Wv^6W*p+KAm)drY6%aVj>#c4V6U94A zK`Gd*8(~Kj6krp@t!P?`c)2z2w)uZ`)$uLJINPnDo!eAE9uft;GzvXjeL<{!gi-n>LOT7*ocR4rbhxu=AGJzNA5x82mEQc3NI3Qoa+e!BzP_=&@0&sSH?&`kbQQF&NofLFjXHm==rZ zsBQ88Q?R;LN47iJsUes7DmIC`-i$Trlxx_2%|g5DtyTo3egF}X;^sd9DgRJ6T)5Pt z5$!>d{N{K-?p5SS6sSsNhP7OaF69 z1pXzRLgRHy=WwV_VcbE{l&M09029v9pIcc#VAKtqo=NEID90a^Ae7(mVB@KrKgkIIK#gYoSez#s>a8tLHwn&IPQcntq6=@^Ebg&j6f9! zTVtS*P)hhY$BF5xbN7rxgT6vWL{ghEcDM~o%GH`M7B$3N?ouT$=~X}hzytYF10dv4 zD2`bij2zzKI}sdrF#Oi`qL&4G0_+U8s(`*ph>#94k7|kTB4?Zy-VkE~f)R6lyaugm zoO9c-a6QKSEuEe)EgH(G1~~2zc%Ig`JO*GlZih$m1hWeX^$fBi;fzjM)u?R{fBBd1 z77&HRS82nTh#94;@T`>5Cyk+T#rP#g_z$vu7Nd|4ih}I*T;!@i>7(z1E?4IIPP!p; ziIEh7T)2XsUOJshOX+7gpn8_vWc7XLp+07kC@GzF|`p zVP4ts-;tA8rN!~MQ^Uhd9e)KIeHLDRf!>w6hT1!x%D0i_bSY2b+Fu5DCH~oUan7<@ z_o}?wmn;LPC&oyIhZ*3v;xaR6dJhnseC6VNTq*@W`=iB2KG@AVtb$A?(BxUD4CD9L zRAlRgS!Bv5!0O09hK=}xI98r~`Yd)>ittRe0|i_)cMI&JC*(LJ+)-bcy{ssJ zQnv5tk=XPb{EA$C195k3a`)`D#&B_NKm6z)`P@I;aw2lAW6Yb)!`s41$PX9sO$LkGzUa3R`;jWUL@yd;4JsPvv1vy`SJ0>ltdHkQy(H zv=LxU=zTrN>+~stN%p)s;Y{52Hm3#&Jw6H$Y%h|NQ!0&L0&}3iNeeBBtJFUsnfq#6&YV9Ou00wdV3w_-5LKkmO-X2)R zT(+F^AMvPV>;LjbKt5h#f1gn|;~_cmKh}tFqlzTiU$NG3ZC+YxURHYkL!*P=^qTY~^7_X5lAHf=d7s&qj93t>R?`-R)v{}T zM;X=s@OccHL}anMVkj)-|GiVw3g{|xLWJ=NAyl^vXM+Dwti3HA;`uD@$#z`Vfd6*! zVlUv{C%8#gg80Q1$mSW~F7E7f%IbORFMlN}W-NxFZWD4z3Jw@0(9)8R4+z7OuIo1k z@kRd2<_*Gk4*UQ{0$^Xlk83JED=9wXk1EsoQ7DG>q!7Z_gvYl;YeU9^!6Pm^1lt?-n6rQ z=Ere6&5a9}!m#NVd=qPIj{Q4mGHaUC8Uy${3EJ!5Y)Fr2u33Hzmp(&}vs9T%%MFs+ zEQTJ%Q&eWM(<~6KG`JO}&`uJ~(y=u2>OsXYq-iV&6^f0jO+F|FYUW^DFa2ifh&Mju zLe>o4&?tX;8sfJ-kA4_5i1@hP)_Dv$VOrm<8YjYL2&Cx#wOpXrrfpQkf}22k!`9av z>9KD|YTQUK5i<+2Z-<1MoJy~`1?LKd`{sflwV?$$gdWdS{Jm=?>F4crZeB_{NIo$^ z+9V$`mzOZ&II8T*6{;fX3>tSPH&OIuIdYrl1|aC@fot#K2O}9CG5wlDc7&bKZ@T@k zOatLaZM_8NKskCA%|>Dm8)FiWiitmbj#=_f=p74?E9~sD;~8r%9f++?RxZSgy3#m1 zBlZxbxtd!gTC#zSbcK6O!mwAyOO~l)HiR1KY^bCyg|gI4OxM*7Iu@ur#{leI831;u z1fZUvkbT4ATLIR)Y_^@EJ@)3rS_`7lX4!lfkI~jyeE=s~M>)J|GnXOWMIpt4iid7d z_f>_bF7Ci~tP=r@D{8egc@C0mWVE;ogBjmFfE8y}D*V)6(+Nso+p3)gHtW7zhaMGx zr@lSj(J!~;i3+$aV8dt&;a)+A^oT9Usf+R$pw50@Cde0g>*%p|<~3Ag*ovMG?vSiv zkezo`#=9!m5qaGHm6?eKa~-p>xV--(okmsu5$K1%v(ocLS^R+qX@k<~p zm(5uG%)QarEA6>;YBP&CJ_$gCb6q{b!??a~Tdlt3vA9Obd~+hLz)hGv@^g5$hpV!* z-=1X$k?^5CT_H5a9SMHDwr&prag9CYWE8=Y_*|9>Jz6`aAB|2;6iYs0CMDXML5XP) zOF3r#O&brUJ221gM;Pr9-hn$8+|sn=RoeIb%`G~A2BVf)<L%X^6!z|Sk;~cC>7hg(zs<+gxoA7a^h{!cO%UA)@ z+th~ISQ$I>V*HVly%liBjpo57Zv_$-MHvkSKj8pR7Du2 zNe*|Hc$C1bqoUJYImlEW$Y6TVY zSS7{%U(64t1n+r$A{La%BA`{!3n6*@_|zw~!~m7|t@3YS`HhoXa|idcw36DqS+Xva z_%sOZ9RJ0DL-NIf355_V4idiUhk1JQ0a)dLfx3aai&%n3%qv^5W-h_mkr34uKgR3gX*O?-z%Y6IQ?_Ke*2m>E>hGaoe5KT7S=#I@}t5=E~(MZdMk=UjG_0^$L_(g$wU8Y)0G})e-M8 zM6G6stTj%j?K7;^1EQU}v1K5v%#aR|+jUe&9kC~z!3t;542Cp=XzzHuJN zW`gX*U~@^GR2hD*Tmzl>n7Ep9UZ*i`l3uzv71CqVy|jDtL@BiOq!lK|0DuF1$T+Ex zM(yz9xkYR1YQDf>ZSpQbE3hpi zTdZ!pry+5ply|A15iQ8~a60Gk_bWW(_VxCkR!c!D6~sIO<^#~GvfmaM&aq212Ahnw ztUG3J6YAdJpQRDB1Qvp@8EVI)>HiARsQn-|e-)?YnF`k%z%tB(osc%dST&94%+#VD z^~gJM%fsXt^&A=>Buy!B&ozlrcbusA3qO-FMHBlKld4^V%J)6{-wub(%-=6ZQ7xv_ zfw%L1MN|bb<8s`R>dO#_NrxFP)OOH-DintZbq%c$yGgg5-1ZJwC4QmiBNmpSn zSieJ9qH37_e2q2dZZ@2W$w-G~W4Sq>jWQeJ_HuU_k_fLvM!s>S{?^-7la>x!V+}7g z;{3V~kUyj((xaQaVjr~OhS;VuDuIqMP0_V~QYphx2}_5n(X;e?H_M48P+exd0%e%stY zr;}{aX*hf2?i7|AYgRkKQa9h3xaY+-p~w$#tI?>_HT6h6R*^UFG>ve@cy7C>ZzD6> zhDt3VX|-?(Pr9`P8_$ox zU{F{!gBq<=3#Xw@O4J<0Kuf>+`@z^s%fm>q0r-TX*?z1g{nQy()Cj4)@oD(~Wt*QyhwL9 zCB+(@u$JWq>mmeNw&#k@qTJt!69^g%g>l6iLFkRfl4+I3#FFbRI)&DcE>pNAx#YoX zTo8E0u^-0G7@VW3b55NF6eay|YMfcca)Pa5FJnmEpto@ZG6#QrrpX@&;5L;8Ntt!d ze&1v&B*E)_DTft9mr=Da7v#S9QMwSI^LEn7*~4=9qBJwZ(N0tSqOK&#QFocN1t$@x z0-7cT?*pR(-^DOt8EcrIuwU@a!JPf9a~5qM)VapTC*RTGdh6LKxYz;%N-1*I8z^Ht zJN!?0yXMpAm`r@&OnU%z-)-Yq~(0$u71xjD^sKBO*eRixf zh@KDe)gzkVGDjXWS`_}E5@3z93;nM#_WsHsqimYhZ<8fzz1B-hCT20lBUw{C@v1Xd z@c&4aT0p6CH3BGA_W1Y&4%aiNd+QhJudyN?z3SBuXtcDCgNw^Tmq;}rT#pL(pG;`B z+Gx15z)Yv#`^A4!{@GuNcBvYEA7d9C@KR3+Z}eeOvtAco8R>Ql9{Gv*4}i|ZzND(>VP49yFpeqQ#dZIiXVi~eI0#hHHoR4 zSC}IIldd1BJ_Cg-a^Qitz49?e>3zo>n!hY3>zHb(D|NxZ#DWAY2{`SOox&zOUH&Un=XOZw_#`c&cQ*oL-A25cL{moY2W zuv4X4f^@xjH5y0d8vAOX)7HLSfi0S3;Kp2xMgMQI>*q>}w)3HOQj+YIz)eZWt65@( zwrmqTh-eb91DE*Yr^B?gZbjcd25qBLGkwN`L7tIjtgZf#^{o-2ob@rEMM=cSGg0P<-Q+@j``;Vlr8e+7_L-%C3V`H zW;D3=vONB??tz#$Y?xQ}0A^+yMxH(CHT+w$RDmI!NoyEErB7Bzqg+1$=d3=XDC1c{ zbiW3;7)IX%J#BaSJc_hmx_`;7dScGUPmfaLK$As_`+dDPRnMN;d%pE{!jofD77NS{ zgc9=`IVAXha*?{@An#i5@acKruK$6)`~q9PrL+oC^=IK(zom%Sd{ zo5>fw@|igKNRlIj-fN3tHQL4ZSiowX@2e$DSj*ib%yYF!vm}I=c(czMOTVE(e8bU& zSL#0lYHe(b2;~?voIuP;!%t-W1@-RqIK>(~AwkpQH7J&2w&~M;#Fqme2=6B24lwaT z&s4>PG%LCKcmSl@ZJR4`uEKy$yt&z5O4m-4l0lZ3gGrjk)0n1ytkW#`M6xs|FT@BA z^bB`ObHrRk!0Xj_yVS-ymy9obb1jAi;+^dJda3+1vuqE8V(-GKHqPbVRaFg};(x$K zy(tBxLU2uUHudXC^hINoqOWYjB?SpnKQwzQY`4UiAA;rPb$F`G@fERti&H23`gwi& zKK(wkuCS~bZP99XpmNFBs$5yP3Su_KUdu1Z<;VK-UeTqJxP|EHw2ew;O{nErzTYK0 zpeCvWJqS+WVS3MpxxAJ&Hph}DeMxnGoIfjz{V_U)qrsXf<&=LAux+l<^CnXvo}>ju zqcA&^aG9=Q!j~wOF1IP8c;u`Qs0#J3CNZiUZ0yZAgjJ1J3kKC3ID6vKY;mIBz2u}|w z|AVI^&w7Qb3U-zn;y=P%$yjar*L!W}Rq*O?-(2%CO9SA5_@rBvt8eBNZS9X4`OoH| zYewzu=wE9{c4_^815EQIP>oofzS~L(Y{YR&Vtqei9j_pV$D*_*NIAF++Q%gjHVxU~3sgx)>`#KRC>ns__q|^P%N`0= zQO+6uxU^;dUvFB~@^#9!$N!e6Y5E(9PyBrGhVgOLv&I$9A;8d z$7zZUBlD>mi&4Ol?>3|+3(?DkE#r_o+u22MXX~z^ABXICh2!XUf9M!RfJ&^KL`?TK z?C-1KPC7ddK?(Y4pr*zesHu6%?EoGd?Uw@8ac{r_q_<=UVHBA-kb3k69i1bh7+^%C z2Kx7j&8sow1sYkpDM(K!R}GEFm@ZID0*u*S*Q$dqhY_%cx#h!?C6}h3BM^SaT9hw%8TFW0b$@~2{Fgw zsENM zaa2447mC|)&!p)_9e(txJRg7IMcfSb$vR^G_dBJrM<-=8+eY$mu<{-2G}@>6NWhud z8l6{e;^^c5qU#-?BkR6(@1SGb>e#kz+qT`EbZpzUZQHgxwz^~IR=;om&pqdU=Nlud zMvak5?X~u<+H>Zazxgbol+)jo-Arxb8A7Fe3vS#lrIuo7D{C~6Tw87y4s_wdlNNqn zk}O^Db2swtm62$Yx3!V^`hLZ@&+&|0#%`zgjQuw7MJC&!@|l^l(?#KvMHfd-lb8)K zHko?Y0*PgZt$mq+Y?RbV7xD})jE1F(ls(ac%$&h zGl!#5mJbx6VDU$QY<9=(1j8FXLfBV$(Lf?sZudU>9h z1k7v0fx-fDycqgf^KN0VN*ViX*^K<A)YUMG;LUhb>;Whq+Z+61Nxn8r;_g@SpLgqK_o z=q^?#4Z(1O1wGpkqoKPu3CZNrZ1JpDuyJP-hK!CpK22kS&QB}M6Kib2_eteF#p{`; z@)JRYU`+B8(z-x-hzoedD@txbp0r6i<{l1JpHromNW%8v4yGG55o@>(!azb7c)yj^ z($q8Tu|xGs)W>p;$Jta7-zs$8oB|*p!BwDpwalYMq2Irw4aU3plaJs_5+Pd{dSbv7 zc53*=PkjNsS%-$^-?FFnz5kY>Ofnb*?w+cDVJOkD$IOt+i@R&fPt^B *{_h}F9Q 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�yrOP1IaMWb)E(PCQWbQw7 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 N^Ix?uJVE?4`Y*%T%}D?N literal 0 HcmV?d00001 diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/CMakeLists.txt b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/CMakeLists.txt new file mode 100644 index 0000000..884cf06 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/CMakeLists.txt @@ -0,0 +1,81 @@ +set(HEADERS + asynctransfer.h + imageprotocol.h + imagetransfer.h + common.h + reconstruct3d.h + reconstruct3d-pcl.h + reconstruct3d-open3d.h + alignedallocator.h + datablockprotocol.h + imageset.h + imageset-opencv.h + imagepair.h + bitconversions.h + datachannelservicebase.h + datachannelservice.h + datachannel-imu-bno080.h + protocol-sh2-imu-bno080.h + deviceinfo.h + deviceenumeration.h + internalinformation.h + parameterinfo.h + parametertransfer.h + parametertransferdata.h + deviceparameters.h + scenescanparameters.h + standardparameterids.h + networking.h + sensorringbuffer.h +) + +set(SOURCES + asynctransfer.cpp + imageprotocol.cpp + imagetransfer.cpp + reconstruct3d.cpp + datablockprotocol.cpp + imageset.cpp + bitconversions.cpp + datachannelservicebase.cpp + datachannelservice.cpp + datachannel-imu-bno080.cpp + deviceenumeration.cpp + internalinformation.cpp + parameterinfo.cpp + parametertransfer.cpp + deviceparameters.cpp + standardparameterids.cpp + networking.cpp +) + +# Build static and shared version +add_library(visiontransfer${LIB_SUFFIX} SHARED + ${HEADERS} + ${SOURCES} +) + +add_library(visiontransfer-static${LIB_SUFFIX} STATIC + ${HEADERS} + ${SOURCES} +) + +if(${BUILD_WITHOUT_CXX11_ABI}) + add_library(visiontransfer${OPEN3D_LIB_SUFFIX} SHARED + ${HEADERS} + ${SOURCES} + ) + set_target_properties(visiontransfer${OPEN3D_LIB_SUFFIX} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") +endif() + +if(WIN32) + target_link_libraries(visiontransfer${LIB_SUFFIX} ws2_32 Iphlpapi) + target_link_libraries(visiontransfer-static${LIB_SUFFIX} ws2_32 Iphlpapi) +else() + set_target_properties(visiontransfer-static${LIB_SUFFIX} + PROPERTIES COMPILE_FLAGS "-fPIC") +endif() + +install(TARGETS visiontransfer${LIB_SUFFIX} DESTINATION lib) +install(TARGETS visiontransfer-static${LIB_SUFFIX} DESTINATION lib) +install(FILES ${HEADERS} DESTINATION include/visiontransfer) diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/alignedallocator.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/alignedallocator.h new file mode 100644 index 0000000..2abe8e3 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/alignedallocator.h @@ -0,0 +1,100 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef ALIGNEDALLOCATOR_H +#define ALIGNEDALLOCATOR_H + +#include +#include +#include + +namespace visiontransfer { +namespace internal { + +/** + * \brief STL-compatible allocator for memory-aligned allocations + * + * This is a helper class that is used internally for allocating memory + * that can be used with aligned SSE / AVX instructions. + */ +template +class AlignedAllocator { +public : + // Typedefs + typedef T value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + + // convert an allocator to allocator + template + struct rebind { + typedef AlignedAllocator other; + }; + + explicit AlignedAllocator() {} + ~AlignedAllocator() {} + explicit AlignedAllocator(AlignedAllocator const&) {} + template + explicit AlignedAllocator(AlignedAllocator const&) {} + + // Address + inline pointer address(reference r) { return &r; } + inline const_pointer address(const_reference r) { return &r; } + + // Memory allocation + pointer allocate(size_type cnt, typename std::allocator::const_pointer = 0) { + // Allocate memory and align it + unsigned char* ptr = new unsigned char[sizeof(T) * cnt + (alignment-1) + 1]; + unsigned char* alignedPtr = reinterpret_cast((size_t(ptr + 1) + alignment-1) & -alignment); + + // Store offset in allocated memory area + alignedPtr[-1] = static_cast(alignedPtr - ptr); + + return reinterpret_cast(alignedPtr); + } + + void deallocate(pointer p, size_type) { + if(p != nullptr) { + // Get address of unaligned pointer + unsigned char* alignedPtr = reinterpret_cast(p); + unsigned char* unalignedPtr = alignedPtr - alignedPtr[-1]; + + // Delete it + ::operator delete[](unalignedPtr); + } + } + + // Size + size_type max_size() const { + return std::numeric_limits::max() / sizeof(T); + } + + // Construction + void construct(pointer p, const T& t) { + new(p) T(t); + } + + // Destruction + void destroy(pointer p) { + p->~T(); + } +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.cpp new file mode 100644 index 0000000..e57e324 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.cpp @@ -0,0 +1,445 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#if __GNUC__ == 4 && __GNUC_MINOR__ < 9 +// This is a very ugly workaround for GCC bug 54562. If omitted, +// passing timeouts to collectReceivedImage() is broken. +#include +#undef _GLIBCXX_USE_CLOCK_MONOTONIC +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "visiontransfer/asynctransfer.h" +#include "visiontransfer/alignedallocator.h" + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class AsyncTransfer::Pimpl { +public: + Pimpl(const char* address, const char* service, + ImageProtocol::ProtocolType protType, bool server, + int bufferSize, int maxUdpPacketSize); + ~Pimpl(); + + // Redeclaration of public members + void sendImageSetAsync(const ImageSet& imageSet, bool deleteData); + bool collectReceivedImageSet(ImageSet& imageSet, double timeout); + int getNumDroppedFrames() const; + bool isConnected() const; + void disconnect(); + std::string getRemoteAddress() const; + bool tryAccept(); + +private: + static constexpr int NUM_BUFFERS = 6; + static constexpr int SEND_THREAD_SHORT_WAIT_MS = 1; + static constexpr int SEND_THREAD_LONG_WAIT_MS = 10; + + // The encapsulated image transfer object + ImageTransfer imgTrans; + + // Variable for controlling thread termination + volatile bool terminate; + + // There are two threads, one for sending and one for receiving. + // Each has a mutex and condition variable for synchronization. + std::thread sendThread; + std::mutex sendMutex; + std::condition_variable sendCond; + std::condition_variable sendWaitCond; + + std::thread receiveThread; + std::timed_mutex receiveMutex; + std::condition_variable_any receiveCond; + std::condition_variable_any receiveWaitCond; + + // Objects for exchanging images with the send and receive threads + ImageSet receivedSet; + std::vector > receivedData[NUM_BUFFERS]; + bool newDataReceived; + + ImageSet sendImageSet; + bool sendSetValid; + bool deleteSendData; + + // Exception occurred in one of the threads + std::exception_ptr receiveException; + std::exception_ptr sendException; + + bool sendThreadCreated; + bool receiveThreadCreated; + + // Main loop for sending thread + void sendLoop(); + + // Main loop for receiving; + void receiveLoop(); + + void createSendThread(); +}; + +/******************** Stubs for all public members ********************/ + +AsyncTransfer::AsyncTransfer(const char* address, const char* service, + ImageProtocol::ProtocolType protType, bool server, + int bufferSize, int maxUdpPacketSize) + : pimpl(new Pimpl(address, service, protType, server, bufferSize, maxUdpPacketSize)) { +} + +AsyncTransfer::AsyncTransfer(const DeviceInfo& device, int bufferSize, int maxUdpPacketSize) + : pimpl(new Pimpl(device.getIpAddress().c_str(), "7681", static_cast(device.getNetworkProtocol()), + false, bufferSize, maxUdpPacketSize)) { +} + +AsyncTransfer::~AsyncTransfer() { + delete pimpl; +} + +void AsyncTransfer::sendImageSetAsync(const ImageSet& imageSet, bool deleteData) { + pimpl->sendImageSetAsync(imageSet, deleteData); +} + +bool AsyncTransfer::collectReceivedImageSet(ImageSet& imageSet, double timeout) { + return pimpl->collectReceivedImageSet(imageSet, timeout); +} + +int AsyncTransfer::getNumDroppedFrames() const { + return pimpl->getNumDroppedFrames(); +} + +bool AsyncTransfer::isConnected() const { + return pimpl->isConnected(); +} + +void AsyncTransfer::disconnect() { + return pimpl->disconnect(); +} + +std::string AsyncTransfer::getRemoteAddress() const { + return pimpl->getRemoteAddress(); +} + +bool AsyncTransfer::tryAccept() { + return pimpl->tryAccept(); +} + +/******************** Implementation in pimpl class *******************/ + +AsyncTransfer::Pimpl::Pimpl(const char* address, const char* service, + ImageProtocol::ProtocolType protType, bool server, + int bufferSize, int maxUdpPacketSize) + : imgTrans(address, service, protType, server, bufferSize, maxUdpPacketSize), + terminate(false), newDataReceived(false), sendSetValid(false), + deleteSendData(false), sendThreadCreated(false), + receiveThreadCreated(false) { + + if(server) { + createSendThread(); + } +} + +AsyncTransfer::Pimpl::~Pimpl() { + terminate = true; + + sendCond.notify_all(); + receiveCond.notify_all(); + sendWaitCond.notify_all(); + receiveWaitCond.notify_all(); + + if(sendThreadCreated && sendThread.joinable()) { + sendThread.join(); + } + + if(receiveThreadCreated && receiveThread.joinable()) { + receiveThread.join(); + } + + if(sendSetValid && deleteSendData) { + delete[] sendImageSet.getPixelData(0); + delete[] sendImageSet.getPixelData(1); + } +} + +void AsyncTransfer::Pimpl::createSendThread() { + if(!sendThreadCreated) { + // Lazy initialization of the send thread as it is not always needed + unique_lock lock(sendMutex); + sendThread = thread(bind(&AsyncTransfer::Pimpl::sendLoop, this)); + sendThreadCreated = true; + } +} + +void AsyncTransfer::Pimpl::sendImageSetAsync(const ImageSet& imageSet, bool deleteData) { + createSendThread(); + + while(true) { + unique_lock lock(sendMutex); + + // Test for errors + if(sendException) { + std::rethrow_exception(sendException); + } + + if(!sendSetValid) { + sendImageSet = imageSet; + sendSetValid = true; + deleteSendData = deleteData; + + // Wake up the sender thread + sendCond.notify_one(); + + return; + } else { + // Wait for old data to be processed first + sendWaitCond.wait(lock); + } + } +} + +bool AsyncTransfer::Pimpl::collectReceivedImageSet(ImageSet& imageSet, double timeout) { + if(!receiveThreadCreated) { + // Lazy initialization of receive thread + unique_lock lock(receiveMutex); + receiveThreadCreated = true; + receiveThread = thread(bind(&AsyncTransfer::Pimpl::receiveLoop, this)); + } + + // Acquire mutex + unique_lock lock(receiveMutex, std::defer_lock); + if(timeout < 0) { + lock.lock(); + } else { + std::chrono::steady_clock::time_point lockStart = + std::chrono::steady_clock::now(); + if(!lock.try_lock_for(std::chrono::microseconds(static_cast(timeout*1e6)))) { + // Timed out + return false; + } + + // Update timeout + unsigned int lockDuration = static_cast(std::chrono::duration_cast( + std::chrono::steady_clock::now() - lockStart).count()); + timeout = std::max(0.0, timeout - lockDuration*1e-6); + } + + // Test for errors + if(receiveException) { + std::rethrow_exception(receiveException); + } + + if(timeout == 0 && !newDataReceived) { + // No image has been received and we are not blocking + return false; + } + + // If there is no data yet then keep on waiting + if(!newDataReceived) { + if(timeout < 0) { + while(!terminate && !receiveException && !newDataReceived) { + receiveCond.wait(lock); + } + } else { + receiveCond.wait_for(lock, std::chrono::microseconds(static_cast(timeout*1e6))); + } + } + + // Test for errors again + if(receiveException) { + std::rethrow_exception(receiveException); + } + + if(newDataReceived) { + // Get the received image + imageSet = receivedSet; + + newDataReceived = false; + receiveWaitCond.notify_one(); + + return true; + } else { + return false; + } +} + +void AsyncTransfer::Pimpl::sendLoop() { + { + // Delay the thread start + unique_lock lock(sendMutex); + } + + ImageSet imgSet; + bool deleteSet = false; + + try { + while(!terminate) { + // Wait for next image + { + unique_lock lock(sendMutex); + // Wait for next frame to be queued + bool firstWait = true; + while(!terminate && !sendSetValid) { + imgTrans.transferData(); + sendCond.wait_for(lock, std::chrono::milliseconds( + firstWait ? SEND_THREAD_SHORT_WAIT_MS : SEND_THREAD_LONG_WAIT_MS)); + firstWait = false; + } + if(!sendSetValid) { + continue; + } + + imgSet = sendImageSet; + deleteSet = deleteSendData; + sendSetValid = false; + + sendWaitCond.notify_one(); + } + + if(!terminate) { + imgTrans.setTransferImageSet(imgSet); + imgTrans.transferData(); + } + + if(deleteSet) { + for (int i=0; i lock(receiveMutex); + } + + try { + ImageSet currentSet; + int bufferIndex = 0; + + while(!terminate) { + // Receive new image + if(!imgTrans.receiveImageSet(currentSet)) { + // No image available + continue; + } + + // Copy the pixel data + for(int i=0;i(receivedData[i + bufferIndex].size()) < totalSize) { + receivedData[i + bufferIndex].resize(totalSize); + } + if(newStride == currentSet.getRowStride(i)) { + memcpy(&receivedData[i + bufferIndex][0], currentSet.getPixelData(i), + newStride*currentSet.getHeight()); + } else { + for(int y = 0; y lock(receiveMutex); + + // Wait for previously received data to be processed + while(newDataReceived) { + receiveWaitCond.wait_for(lock, std::chrono::milliseconds(100)); + if(terminate) { + return; + } + } + + // Notify that a new image set has been received + newDataReceived = true; + receivedSet = currentSet; + receiveCond.notify_one(); + } + + // Increment index for data buffers + bufferIndex = (bufferIndex + currentSet.getNumberOfImages()) % NUM_BUFFERS; + } + } catch(...) { + // Store the exception for later + if(!receiveException) { + receiveException = std::current_exception(); + } + receiveCond.notify_all(); + } +} + +bool AsyncTransfer::Pimpl::isConnected() const { + return imgTrans.isConnected(); +} + +void AsyncTransfer::Pimpl::disconnect() { + imgTrans.disconnect(); +} + +std::string AsyncTransfer::Pimpl::getRemoteAddress() const { + return imgTrans.getRemoteAddress(); +} + +int AsyncTransfer::Pimpl::getNumDroppedFrames() const { + return imgTrans.getNumDroppedFrames(); +} + +bool AsyncTransfer::Pimpl::tryAccept() { + return imgTrans.tryAccept(); +} + +constexpr int AsyncTransfer::Pimpl::NUM_BUFFERS; +constexpr int AsyncTransfer::Pimpl::SEND_THREAD_SHORT_WAIT_MS; +constexpr int AsyncTransfer::Pimpl::SEND_THREAD_LONG_WAIT_MS; + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.h new file mode 100644 index 0000000..269d4ef --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/asynctransfer.h @@ -0,0 +1,166 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_ASYNCTRANSFER_H +#define VISIONTRANSFER_ASYNCTRANSFER_H + +#include "visiontransfer/common.h" +#include "visiontransfer/imagetransfer.h" +#include "visiontransfer/imageset.h" +#include "visiontransfer/imageprotocol.h" +#include "visiontransfer/deviceinfo.h" + +namespace visiontransfer { + +/** + * \brief Class for asynchronous transfer of image sets. + * + * This class opens a network socket for delivering or receiving image sets. All + * operations are performed asynchronously, which means that they do not block. + * The class encapsulates ImageTransfer. + */ +class VT_EXPORT AsyncTransfer { +public: + /** + * \brief Creates a new transfer object. + * + * \param address Address of the remote host to which a connection + * should be established. In server mode this can be a local + * interface address or NULL. + * \param service The port number that should be used as string or + * as textual service name. + * \param protType Specifies whether the UDP or TCP transport protocol + * shall be used. + * \param server If set to true, this object will be a communication server. + * \param bufferSize Buffer size for sending / receiving network data. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + * + * Please see ImageTransfer::ImageTransfer() for further details. + */ + AsyncTransfer(const char* address, const char* service = "7681", + ImageProtocol::ProtocolType protType = ImageProtocol::PROTOCOL_UDP, + bool server = false, int bufferSize = 1048576, int maxUdpPacketSize = 1472); + + /** + * \brief Creates a new transfer object by using the device information + * from device enumeration + * + * \param device Information on the device to which a connection should + * be established. + * \param bufferSize Buffer size for sending / receiving network data. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + */ + AsyncTransfer(const DeviceInfo& device, int bufferSize = 1048576, int maxUdpPacketSize = 1472); + + ~AsyncTransfer(); + + /** + * \brief Starts an asynchronous transmission of the given image set + * + * \param imageSet The image set that shall be transmitted. + * \param deleteData If set to true, the pointers to the pixel data that + * are contained in \c imageSet, will be deleted after the + * image set has been transmitted. + * + * If deleteData is set to false, the pixel data contained in \c imageSet + * must not be freed before the data has been transmitted. As transmission + * happens asynchronously, it is recommended to let AsyncTransfer delete + * the data pointers. + */ + void sendImageSetAsync(const ImageSet& imageSet, bool deleteData = false); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + DEPRECATED("Use sendImageSetAsync() instead") + inline void sendImagePairAsync(const ImageSet& imageSet, bool deleteData = false) { + sendImageSetAsync(imageSet, deleteData); + } +#endif + + /** + * \brief Collects the asynchronously received image. + * + * \param imageSet The received image set. + * \param timeout The maximum time in seconds for which to wait if no + * image set has been received yet. + * \return True if an image set has been received before the timeout. + * + * If no image set has been received, this method might block or return false. + * Otherwise the returned image set is valid until the next call. + * + * If timeout is set to a value < 0, the function will block indefinitely. + * If timeout = 0, the function will return immediately, and if timeout is > 0 then + * the function will block for the given amount of time in seconds. The received + * image set is only valid until the next call of collectReceivedImageSet(). + */ + bool collectReceivedImageSet(ImageSet& imageSet, double timeout = -1); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + DEPRECATED("Use collectReceivedImageSet() instead") + inline bool collectReceivedImagePair(ImageSet& imageSet, double timeout = -1) { + return collectReceivedImageSet(imageSet, timeout); + } +#endif + + /** + * \brief Returns the number of frames that have been dropped since + * connecting to the current remote host. + * + * Dropped frames are caused by dropped packets due to a poor network + * connection + */ + int getNumDroppedFrames() const; + + /** + * \brief Tries to accept a client connection. + * + * \return True if a client has connected.. + * + * This method can only be used in TCP server mode. It shall be called in + * regular intervals to allow for client connections. The method is + * non-blocking. + */ + bool tryAccept(); + + /** + * \brief Returns true if a remote connection is established + */ + bool isConnected() const; + + /** + * \brief Terminates the current connection. + * + * If connected to a remote host this connection will be closed. + */ + void disconnect(); + + /** + * \brief Returns the address of the remote host + * + * \return Remote address or "" if no connection has been established. + */ + std::string getRemoteAddress() const; + +private: + // We follow the pimpl idiom + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + AsyncTransfer(const AsyncTransfer& other); + AsyncTransfer& operator=(const AsyncTransfer&); +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.cpp new file mode 100644 index 0000000..a18df6a --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.cpp @@ -0,0 +1,303 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include "visiontransfer/bitconversions.h" +#include "visiontransfer/exceptions.h" + +// SIMD Headers +#ifdef __AVX2__ +# include +#elif __SSE4_1__ +# include +#elif __SSE2__ +# include +#endif + +#ifdef __ARM_NEON +#include +#endif + +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +void BitConversions::decode12BitPacked(int startRow, int stopRow, const unsigned char* src, + unsigned char* dst, int srcStride, int dstStride, int rowWidth) { + + const unsigned char* dispStart = src; + +# ifdef __SSE4_1__ + if(rowWidth % 32 == 0) { + if(srcStride % 16 == 0 && reinterpret_cast(src) % 16 == 0) { + decode12BitPackedSSE4(startRow, stopRow, dispStart, + rowWidth, reinterpret_cast(dst), srcStride, dstStride); + } else { + decode12BitPackedSSE4(startRow, stopRow, dispStart, + rowWidth, reinterpret_cast(dst), srcStride, dstStride); + } + + } else // We use fallback implementation if the image width is not dividable by 32 +# endif +# if defined(__ARM_NEON) && defined(__ARM_ARCH_ISA_A64) + if(rowWidth % 32 == 0) { + if(srcStride % 16 == 0 && reinterpret_cast(src) % 16 == 0) { + decode12BitPackedNEON(startRow, stopRow, dispStart, + rowWidth, reinterpret_cast(dst), srcStride, dstStride); + } else { + decode12BitPackedNEON(startRow, stopRow, dispStart, + rowWidth, reinterpret_cast(dst), srcStride, dstStride); + } + + } else // We use fallback implementation if the image width is not dividable by 32 +# endif + { + decode12BitPackedFallback(startRow, stopRow, dispStart, rowWidth, + reinterpret_cast(dst), srcStride, dstStride); + } +} + +#ifdef __SSE4_1__ +template +void BitConversions::decode12BitPackedSSE4(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride) { + if(width % 32 != 0) { + throw ProtocolException("Image width must be a multiple of 32!"); + } + + // SSE optimized code + unsigned char* outPos = &reinterpret_cast(dst)[startRow*dstStride]; + int outRowPadding = dstStride - 2*width; + + constexpr char ff = (char)0xff; // to prevent warnings + const __m128i shuffleMask1a = _mm_set_epi8(11, 10, 10, 9, 8, 7, 7, 6, 5, 4, 4, 3, 2, 1, 1, 0); + const __m128i shuffleMask1b = _mm_set_epi8(ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, 15, 14, 13, 13, 12); + + const __m128i shuffleMask2a = _mm_set_epi8(7, 6, 6, 5, 4, 3, 3, 2, 1, 0, 0, ff, ff, ff, ff, ff); + const __m128i shuffleMask2b = _mm_set_epi8(ff, ff, ff, ff, ff, 15, 15, 14, 13, 12, 12, 11, 10, 9, 9, 8); + + const __m128i shuffleMask3a = _mm_set_epi8(3, 2, 2, 1, 0, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff); + const __m128i shuffleMask3b = _mm_set_epi8(15, 14, 14, 13, 12, 11, 11, 10, 9, 8, 8, 7, 6, 5, 5, 4); + + const __m128i shiftMultiplyMask = _mm_set_epi16(1, 16, 1, 16, 1, 16, 1, 16); + + const __m128i blendMask1 = _mm_set_epi8(ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, 0, 0, 0, 0, 0); + const __m128i blendMask2 = _mm_set_epi8(ff, ff, ff, ff, ff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + + int dispRowWidth = width * 3/2; + + for(int y = startRow; y(rowPos)); + rowPos += 16; + + rowPixels2 = _mm_load_si128(reinterpret_cast(rowPos)); + rowPos += 16; + + rowPixels3 = _mm_load_si128(reinterpret_cast(rowPos)); + rowPos += 16; + } else { + rowPixels1 = _mm_loadu_si128(reinterpret_cast(rowPos)); + rowPos += 16; + + rowPixels2 = _mm_loadu_si128(reinterpret_cast(rowPos)); + rowPos += 16; + + rowPixels3 = _mm_loadu_si128(reinterpret_cast(rowPos)); + rowPos += 16; + } + + // Duplicate bytes with shared data + // BAAA BBBA DCCC DDDC FEEE FFFE (example without endianess swap!) + __m128i part1 = _mm_shuffle_epi8(rowPixels1, shuffleMask1a); + __m128i part2a = _mm_shuffle_epi8(rowPixels1, shuffleMask1b); + __m128i part2b = _mm_shuffle_epi8(rowPixels2, shuffleMask2a); + __m128i part3a = _mm_shuffle_epi8(rowPixels2, shuffleMask2b); + __m128i part3b = _mm_shuffle_epi8(rowPixels3, shuffleMask3a); + __m128i part4 = _mm_shuffle_epi8(rowPixels3, shuffleMask3b); + + __m128i part2 = _mm_blendv_epi8(part2a, part2b, blendMask1); + __m128i part3 = _mm_blendv_epi8(part3a, part3b, blendMask2); + + // Shift left through multiplication + // AAA0 BBBA CCC0 DDDC EEE0 FFFE + __m128i shift1a = _mm_mullo_epi16(part1, shiftMultiplyMask); + __m128i shift2a = _mm_mullo_epi16(part2, shiftMultiplyMask); + __m128i shift3a = _mm_mullo_epi16(part3, shiftMultiplyMask); + __m128i shift4a = _mm_mullo_epi16(part4, shiftMultiplyMask); + + // Shift right again + // 0AAA 0BBB 0CCC 0DDD 0EEE 0FFF ... + __m128i shift1b = _mm_srli_epi16(shift1a, 4); + __m128i shift2b = _mm_srli_epi16(shift2a, 4); + __m128i shift3b = _mm_srli_epi16(shift3a, 4); + __m128i shift4b = _mm_srli_epi16(shift4a, 4); + + _mm_storeu_si128(reinterpret_cast<__m128i*>(outPos), shift1b); + outPos += 16; + _mm_storeu_si128(reinterpret_cast<__m128i*>(outPos), shift2b); + outPos += 16; + _mm_storeu_si128(reinterpret_cast<__m128i*>(outPos), shift3b); + outPos += 16; + _mm_storeu_si128(reinterpret_cast<__m128i*>(outPos), shift4b); + outPos += 16; + } + + outPos += outRowPadding; + } +} +#endif + +#if defined(__ARM_NEON) && defined(__ARM_ARCH_ISA_A64) +#define TX(y,x) ((x + y*16)/3 + ((x + y*16)%3)*16) + +template +void BitConversions::decode12BitPackedNEON(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride) { + if(width % 32 != 0) { + throw ProtocolException("Image width must be a multiple of 32!"); + } + + // ARM NEON A64 optimized code + unsigned char* outPos = &reinterpret_cast(dst)[startRow*dstStride]; + int outRowPadding = dstStride - 2*width; + + // Shuffle mask already performs endianess swapping + const uint8x16_t shuffleMask1 = {TX(0,0), TX(0,1), TX(0,1), TX(0,2), TX(0,3), TX(0,4), + TX(0,4), TX(0,5), TX(0,6), TX(0,7), TX(0,7), TX(0,8), TX(0,9), TX(0,10), TX(0,10), TX(0,11)}; + const uint8x16_t shuffleMask2 = {TX(0,12), TX(0,13), TX(0,13), TX(0,14), TX(0,15), TX(1,0), + TX(1,0), TX(1,1), TX(1,2), TX(1,3), TX(1,3), TX(1,4), TX(1,5), TX(1,6), TX(1,6), TX(1,7)}; + const uint8x16_t shuffleMask3 = {TX(1,8), TX(1,9), TX(1,9), TX(1,10), TX(1,11), TX(1,12), + TX(1,12), TX(1,13), TX(1,14), TX(1,15), TX(1,15), TX(2,0), TX(2,1), TX(2,2), TX(2,2), TX(2,3)}; + const uint8x16_t shuffleMask4 = {TX(2,4), TX(2,5), TX(2,5), TX(2,6), TX(2,7), TX(2,8), + TX(2,8), TX(2,9), TX(2,10), TX(2,11), TX(2,11), TX(2,12), TX(2,13), TX(2,14), TX(2,14), TX(2,15)}; + + const int16x8_t shiftMask = {4, 0, 4, 0, 4, 0, 4, 0}; + + int dispRowWidth = width * 3/2; + + for(int y = startRow; y( + __builtin_assume_aligned(rowPos, 16))); + } else { + rowPixels = vld3q_u8(reinterpret_cast(rowPos)); + } + rowPos += 48; + + // Duplicate bytes with shared data + // BAAA BBBA DCCC DDDC FEEE FFFE (example without endianess swap!) + uint8x16_t part1 = vqtbl3q_u8(rowPixels, shuffleMask1); + uint8x16_t part2 = vqtbl3q_u8(rowPixels, shuffleMask2); + uint8x16_t part3 = vqtbl3q_u8(rowPixels, shuffleMask3); + uint8x16_t part4 = vqtbl3q_u8(rowPixels, shuffleMask4); + + // Shift left + // AAA0 BBBA CCC0 DDDC EEE0 FFFE + uint16x8_t shift1a = vshlq_u16(vreinterpretq_u16_u8(part1), shiftMask); + uint16x8_t shift2a = vshlq_u16(vreinterpretq_u16_u8(part2), shiftMask); + uint16x8_t shift3a = vshlq_u16(vreinterpretq_u16_u8(part3), shiftMask); + uint16x8_t shift4a = vshlq_u16(vreinterpretq_u16_u8(part4), shiftMask); + + // Shift right again + // 0AAA 0BBB 0CCC 0DDD 0EEE 0FFF ... + uint16x8_t shift1b = vshrq_n_u16(shift1a, 4); + uint16x8_t shift2b = vshrq_n_u16(shift2a, 4); + uint16x8_t shift3b = vshrq_n_u16(shift3a, 4); + uint16x8_t shift4b = vshrq_n_u16(shift4a, 4); + + vst1q_u16(reinterpret_cast(outPos), shift1b); + outPos += 16; + vst1q_u16(reinterpret_cast(outPos), shift2b); + outPos += 16; + vst1q_u16(reinterpret_cast(outPos), shift3b); + outPos += 16; + vst1q_u16(reinterpret_cast(outPos), shift4b); + outPos += 16; + } + + outPos += outRowPadding; + } +} +#endif + +void BitConversions::decode12BitPackedFallback(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride) { + + int dstStrideShort = dstStride/2; + + // Non-SSE version + for(int y = startRow; y < stopRow; y++) { + const unsigned char* srcPtr = &dispStart[y*srcStride]; + unsigned short* dstPtr = &dst[y*dstStrideShort]; + unsigned short* dstEndPtr = dstPtr + width; + + while(dstPtr != dstEndPtr) { + *dstPtr = static_cast(*srcPtr); + srcPtr++; + *dstPtr |= static_cast(*srcPtr & 0x0f) << 8; + dstPtr++; + + *dstPtr = static_cast(*srcPtr) >> 4; + srcPtr++; + *dstPtr |= static_cast(*srcPtr) << 4; + srcPtr++; + dstPtr++; + } + } +} + +void BitConversions::encode12BitPacked(int startRow, int stopRow, const unsigned char* src, + unsigned char* dst, int srcStride, int dstStride, int rowWidth) { + const unsigned short* srcShort = reinterpret_cast(src); + int srcStrideShort = srcStride/2; + + // SSE/NEON optimization is not yet available + for(int y = startRow; y < stopRow; y++) { + const unsigned short* srcPtr = &srcShort[y*srcStrideShort]; + const unsigned short* srcEndPtr = srcPtr + rowWidth; + unsigned char* dstPtr = &dst[y*dstStride]; + + while(srcPtr != srcEndPtr) { + *dstPtr = static_cast(*srcPtr); + dstPtr++; + *dstPtr = static_cast(*srcPtr >> 8) & 0x0f; + srcPtr++; + + *dstPtr |= static_cast(*srcPtr) << 4; + dstPtr++; + *dstPtr = static_cast(*srcPtr >> 4); + srcPtr++; + dstPtr++; + } + } +} + +}} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.h new file mode 100644 index 0000000..58b022d --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/bitconversions.h @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_BITCONVERSIONS_H +#define VISIONTRANSFER_BITCONVERSIONS_H + +namespace visiontransfer { +namespace internal { + +/** + * \brief Various implementations for converting from 12-bit to + * 16-bit per pixels formats. + */ +class BitConversions { +public: + static void decode12BitPacked(int startRow, int stopRow, const unsigned char* src, + unsigned char* dst, int srcStride, int dstStride, int rowWidth); + + static void encode12BitPacked(int startRow, int stopRow, const unsigned char* src, + unsigned char* dst, int srcStride, int dstStride, int rowWidth); + +private: + template + static void decode12BitPackedSSE4(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride); + + template + static void decode12BitPackedNEON(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride); + + static void decode12BitPackedFallback(int startRow, int stopRow, const unsigned char* dispStart, + int width, unsigned short* dst, int srcStride, int dstStride); +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/common.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/common.h new file mode 100644 index 0000000..cb9ac6e --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/common.h @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_COMMON_H +#define VISIONTRANSFER_COMMON_H + +#ifdef _MSC_VER + // Visual studio needs an explicit export statement +# define VT_EXPORT __declspec(dllexport) +#else +# define VT_EXPORT +#endif + +// Macro for marking functions / variables as deprecated +#ifdef VISIONTRANSFER_NO_DEPRECATION_WARNINGS + // For referencing all of our own code (e.g. for Python wrapper) +# define DEPRECATED(msg) +#else +# if __cplusplus >= 201402L +# define DEPRECATED(msg) [[deprecated(msg)]] +# elif defined(__GNUC__) || defined(__clang__) +# define DEPRECATED(msg) __attribute__ ((deprecated(msg))) +# elif defined(_MSC_VER) +# define DEPRECATED(msg) __declspec(deprecated(msg)) +# else +# define DEPRECATED(msg) +# endif +#endif + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.cpp new file mode 100644 index 0000000..e679d82 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.cpp @@ -0,0 +1,884 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include +#include + +#include +#include + +#include "visiontransfer/datablockprotocol.h" +#include "visiontransfer/exceptions.h" + +// Network headers +#ifdef _WIN32 +#include +#undef min +#undef max +#else +#include +#endif + +#define LOG_ERROR(expr) +//#define LOG_ERROR(expr) std::cerr << "DataBlockProtocol: " << expr << std::endl + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +DataBlockProtocol::DataBlockProtocol(bool server, ProtocolType protType, int maxUdpPacketSize) + : isServer(server), protType(protType), + transferDone(true), + overwrittenTransferData{0}, + overwrittenTransferIndex{-1}, + overwrittenTransferBlock{-1}, + transferHeaderData{nullptr}, + transferHeaderSize{0}, + totalBytesCompleted{0}, totalTransferSize{0}, + waitingForMissingSegments(false), + totalReceiveSize(0), connectionConfirmed(false), + confirmationMessagePending(false), eofMessagePending(false), + clientConnectionPending(false), resendMessagePending(false), + lastRemoteHostActivity(), lastSentHeartbeat(), + lastReceivedHeartbeat(std::chrono::steady_clock::now()), + finishedReception(false), droppedReceptions(0), + completedReceptions(0), lostSegmentRate(0.0), lostSegmentBytes(0), + unprocessedMsgLength(0), headerReceived(false) { + // Determine the maximum allowed payload size + if(protType == PROTOCOL_TCP) { + maxPayloadSize = MAX_TCP_BYTES_TRANSFER - sizeof(SegmentHeaderTCP); + minPayloadSize = 0; + } else { + maxPayloadSize = maxUdpPacketSize - sizeof(SegmentHeaderUDP); + minPayloadSize = maxPayloadSize; + } + zeroStructures(); + resizeReceiveBuffer(); + resetReception(false); +} +void DataBlockProtocol::splitRawOffset(int rawSegmentOffset, int& dataBlockID, int& segmentOffset) { + int selector = (rawSegmentOffset >> 28) & 0xf; + dataBlockID = selector & 0x7; // Note: 0x8 bit is reserved for now + segmentOffset = rawSegmentOffset & 0x0FFFffff; +} + +int DataBlockProtocol::mergeRawOffset(int dataBlockID, int segmentOffset, int reserved_defaults0) { + return ((reserved_defaults0 & 1) << 31) | ((dataBlockID & 0x07) << 28) | (segmentOffset & 0x0FFFffff); +} + +void DataBlockProtocol::zeroStructures() { + for (int i=0; i= numTransferBlocks) { + throw ProtocolException("Request to set data block size - block index too high!"); + } + transferSize[block] = bytes; + HeaderPreamble* hp = reinterpret_cast(transferHeaderData); + hp->netTransferSizes[block] = htonl(bytes); +} + +void DataBlockProtocol::setTransferHeader(unsigned char* data, int headerSize, int blocks) { + if(!transferDone && numTransferBlocks > 0) { + throw ProtocolException("Header data set while transfer is active!"); + } else if(headerSize + 9 > static_cast(sizeof(controlMessageBuffer))) { + throw ProtocolException("Transfer header is too large!"); + } + + numTransferBlocks = blocks; + + transferDone = false; + for (int i=0; itransferSize[i] = 0; // must be set via setRawTransferBytes() + } + + int headerBaseOffset = sizeof(HeaderPreamble); + + transferHeaderData = &data[-headerBaseOffset]; + HeaderPreamble* ourHeader = reinterpret_cast(transferHeaderData); + + unsigned short netHeaderSize = htons(static_cast(headerSize)); + ourHeader->netHeaderSize = netHeaderSize; + ourHeader->netTransferSizeDummy = htonl(-1); // clashes on purpose with old recipients + + headerSize += headerBaseOffset; + + if(protType == PROTOCOL_UDP) { + // In UDP mode we still need to make this a control message + transferHeaderData[headerSize++] = HEADER_MESSAGE; + transferHeaderData[headerSize++] = 0xFF; + transferHeaderData[headerSize++] = 0xFF; + transferHeaderData[headerSize++] = 0xFF; + transferHeaderData[headerSize++] = 0xFF; + } + + transferHeaderSize = headerSize; +} + +void DataBlockProtocol::setTransferData(int block, unsigned char* data, int validBytes) { + if(transferHeaderSize == 0 || transferHeaderData == nullptr) { + throw ProtocolException("The transfer header has not yet been set!"); + } + + transferDone = false; + rawDataArr[block] = data; + transferOffset[block] = 0; + overwrittenTransferIndex = -1; + overwrittenTransferBlock = -1; + rawValidBytes[block] = min(transferSize[block], validBytes); + totalBytesCompleted = 0; +} + +void DataBlockProtocol::setTransferValidBytes(int block, int validBytes) { + if(validBytes >= transferSize[block]) { + rawValidBytes[block] = transferSize[block]; + } else if(validBytes < static_cast(sizeof(int))) { + rawValidBytes[block] = 0; + } else { + rawValidBytes[block] = validBytes; + } +} + +std::string DataBlockProtocol::statusReport() { + std::stringstream ss; + ss << "DataBlockProtocol, blocks=" << numTransferBlocks << ": "; + for (int i=0; i(&rawDataArr[block][offset + length]); + std::memcpy(overwrittenTransferData, segmentHeader, sizeof(SegmentHeaderUDP)); + segmentHeader->segmentOffset = static_cast(htonl(mergeRawOffset(block, offset))); + length += sizeof(SegmentHeaderUDP); + lastTransmittedBlock = block; + return &rawDataArr[block][offset]; + } else { + // For tcp, we *PRE*pend the header consisting of segment offset plus the packet payload size + int headerOffset = offset - sizeof(SegmentHeaderTCP); + overwrittenTransferBlock = block; + overwrittenTransferIndex = headerOffset; + SegmentHeaderTCP* segmentHeader = reinterpret_cast(&rawDataArr[block][headerOffset]); + std::memcpy(overwrittenTransferData, segmentHeader, sizeof(SegmentHeaderTCP)); + segmentHeader->fragmentSize = htons(length); + segmentHeader->segmentOffset = static_cast(htonl(mergeRawOffset(block, offset))); + length += sizeof(SegmentHeaderTCP); + lastTransmittedBlock = block; + return &rawDataArr[block][headerOffset]; + } + +} + +void DataBlockProtocol::getNextTransferSegment(int& block, int& offset, int& length) { + if(missingTransferSegments.size() == 0) { + // Select from block with the most unsent data + int sendBlock = 0, amount = 0; + for (int i=0; i amount) { + amount = avail; + sendBlock = i; + } + } + length = std::min(maxPayloadSize, amount); + if(length == 0 || (length < minPayloadSize && rawValidBytes[sendBlock] != transferSize[sendBlock])) { + length = 0; + return; + } + + block = sendBlock; + offset = transferOffset[sendBlock]; + transferOffset[sendBlock] += length; // for next transfer + if (protType == PROTOCOL_UDP) { + bool complete = true; + for (int i=0; i= 0) { + if(protType == PROTOCOL_UDP) { + std::memcpy(&rawDataArr[overwrittenTransferBlock][overwrittenTransferIndex], overwrittenTransferData, sizeof(SegmentHeaderUDP)); + } else { + std::memcpy(&rawDataArr[overwrittenTransferBlock][overwrittenTransferIndex], overwrittenTransferData, sizeof(SegmentHeaderTCP)); + } + } + overwrittenTransferIndex = -1; + overwrittenTransferBlock = -1; +} + +bool DataBlockProtocol::transferComplete() { + for (int i=0; i receiveBuffer.size()) { + receiveBuffer.resize(receiveOffset + maxLength); + } + return &receiveBuffer[receiveOffset]; +} + +void DataBlockProtocol::processReceivedMessage(int length, bool& transferComplete) { + transferComplete = false; + if(length <= 0) { + return; // Nothing received + } + + if(finishedReception) { + // First reset for next frame + resetReception(false); + } + + if(protType == PROTOCOL_UDP) { + processReceivedUdpMessage(length, transferComplete); + } else { + processReceivedTcpMessage(length, transferComplete); + } + + transferComplete = finishedReception; +} + +void DataBlockProtocol::processReceivedUdpMessage(int length, bool& transferComplete) { + if(length < static_cast(sizeof(int)) || + 0 + length > static_cast(receiveBuffer.size())) { + throw ProtocolException("Received message size is invalid!"); + } + + // Extract the sequence number + int rawSegmentOffset = ntohl(*reinterpret_cast( + &receiveBuffer[0 + length - sizeof(int)])); + // for holding the offset with blanked-out channel index + int dataBlockID, segmentOffset; + splitRawOffset(rawSegmentOffset, dataBlockID, segmentOffset); + + if(rawSegmentOffset == static_cast(0xFFFFFFFF)) { + // This is a control packet + processControlMessage(length); + } else if(headerReceived) { + // Correct the length by subtracting the size of the segment offset + int realPayloadOffset = 0; + int payloadLength = length - sizeof(int); + + if(segmentOffset != blockReceiveOffsets[dataBlockID]) { + // The segment offset doesn't match what we expected. Probably + // a packet was dropped + if(!waitingForMissingSegments && //receiveOffset > 0 && + segmentOffset > blockReceiveOffsets[dataBlockID] + && segmentOffset + payloadLength < (int)blockReceiveBuffers[dataBlockID].size()) { + // We can just ask for a retransmission of this packet + LOG_ERROR("Missing segment: " << blockReceiveOffsets[dataBlockID] << " - " << segmentOffset + << " (" << missingReceiveSegments.size() << ")"); + + MissingReceiveSegment missingSeg; + missingSeg.offset = mergeRawOffset(dataBlockID, blockReceiveOffsets[dataBlockID]); + missingSeg.length = segmentOffset - blockReceiveOffsets[dataBlockID]; + missingSeg.isEof = false; + lostSegmentBytes += missingSeg.length; + missingReceiveSegments.push_back(missingSeg); + + // Move the received data to the right place in the buffer + memcpy(&blockReceiveBuffers[dataBlockID][segmentOffset], &receiveBuffer[0 + realPayloadOffset], payloadLength); + // Advance block receive offset + blockReceiveOffsets[dataBlockID] = segmentOffset + payloadLength; + } else { + // In this case we cannot recover from the packet loss or + // we just didn't get the EOF packet and everything is + // actually fine + resetReception(blockReceiveOffsets[0] > 0); + if(segmentOffset > 0 ) { + if(blockReceiveOffsets[dataBlockID] > 0) { + LOG_ERROR("Resend failed!"); + } + return; + } else { + LOG_ERROR("Missed EOF message!"); + } + } + } else { + if ((realPayloadOffset+payloadLength) > (int)receiveBuffer.size()) { + throw ProtocolException("Received out-of-bound data."); + } + + // append to correct block buffer + memcpy(&blockReceiveBuffers[dataBlockID][segmentOffset], &receiveBuffer[0 + realPayloadOffset], payloadLength); + // advance the expected next data offset for this block + blockReceiveOffsets[dataBlockID] = segmentOffset + payloadLength; + if (waitingForMissingSegments) { + // segment extends the currently valid region (suspended once we missed out first segment) + if ((missingReceiveSegments.size() == 1) && (missingReceiveSegments.front().length <= payloadLength)) { + // last gap closed by this segment + blockValidSize[dataBlockID] = blockReceiveSize[dataBlockID]; + } else { + blockValidSize[dataBlockID] = segmentOffset + payloadLength; + } + } else if (missingReceiveSegments.size() == 0) { + blockValidSize[dataBlockID] = segmentOffset + payloadLength; + } + } + + if(segmentOffset == 0 && dataBlockID == 0) { + // This is the beginning of a new frame + lastRemoteHostActivity = std::chrono::steady_clock::now(); + } + + // Try to fill missing regions + integrateMissingUdpSegments(dataBlockID, segmentOffset, payloadLength); + } +} + +void DataBlockProtocol::integrateMissingUdpSegments(int block, int lastSegmentOffset, int lastSegmentSize) { + if(waitingForMissingSegments) { + // Things get more complicated when re-transmitting dropped packets + int checkBlock, checkOffset; + MissingReceiveSegment& firstSeg = missingReceiveSegments.front(); + splitRawOffset(firstSeg.offset, checkBlock, checkOffset); + if(lastSegmentOffset != checkOffset) { + LOG_ERROR("Received invalid resend: " << lastSegmentOffset); + resetReception(true); + } else { + firstSeg.offset += lastSegmentSize; + firstSeg.length -= lastSegmentSize; + if(firstSeg.length == 0) { + missingReceiveSegments.pop_front(); + } + + if(missingReceiveSegments.size() == 0) { + waitingForMissingSegments = false; + finishedReception = true; + } else { + blockReceiveOffsets[block] = missingReceiveSegments.front().offset; + } + } + } +} + +void DataBlockProtocol::processReceivedTcpMessage(int length, bool& transferComplete) { + // In TCP mode the header must be the first data item to be transmitted + if(!headerReceived) { + int totalHeaderSize = parseReceivedHeader(length, 0); + if(totalHeaderSize == 0) { + // Not yet enough data. Keep on buffering. + receiveOffset += length; // append in next recv + return; + } else { + // Header successfully parsed + // Move the remaining data to the beginning of the buffer + length -= totalHeaderSize; + // The rest is the first [part of] buffer segment data + + if(length == 0) { + return; // No more data remaining + } + + int movelength = receiveOffset + length; // also move the old stuff + ::memmove(&receiveBuffer[0], &receiveBuffer[totalHeaderSize], movelength); + receiveOffset = movelength; // append in next recv + } + } else { + receiveOffset += length; // modified below if complete chunks are present + } + + if (legacyTransfer) { + // Legacy TCP transfer: no segment headers, just raw data for block 0, up to the expected size + int remainingSize = blockReceiveSize[0] - blockValidSize[0]; + int availableSize = std::min(receiveOffset, remainingSize); + // Update actual target buffer + std::memcpy(&blockReceiveBuffers[0][blockReceiveOffsets[0]], &receiveBuffer[0], availableSize); + blockReceiveOffsets[0] += availableSize; + blockValidSize[0] = blockReceiveOffsets[0]; + // Extra data, store at buffer start for next reception to append to + if (receiveOffset <= remainingSize) { + // Start next reception at recv buffer start + receiveOffset = 0; + } else { + // Mark next reception to append to unhandled data remainder + std::memmove(&receiveBuffer[0], &receiveBuffer[remainingSize], availableSize - remainingSize); + receiveOffset = availableSize - remainingSize; + } + } else { + // Parse the SegmentHeaderTCP (if present) to see if a full fragment is present + int ofs = 0; + while ((receiveOffset - ofs) >= (int) sizeof(SegmentHeaderTCP)) { + SegmentHeaderTCP* header = reinterpret_cast(&receiveBuffer[ofs]); + int fragsize = ntohs(header->fragmentSize); + int rawSegmentOffset = ntohl(header->segmentOffset); + int block, offset; + splitRawOffset(rawSegmentOffset, block, offset); + if (block == 7) { // Block 7 is reserved; control message (the next header), stop moving image data + break; + } + if ((receiveOffset - ofs) >= (fragsize + (int) sizeof(SegmentHeaderTCP))) { + // Incorporate fragment + // assert here that offset==blockReceiveOffsets[block] + if (offset != blockReceiveOffsets[block]) { + throw ProtocolException("Received invalid header!"); + } + std::memcpy(&blockReceiveBuffers[block][blockReceiveOffsets[block]], &receiveBuffer[ofs+sizeof(SegmentHeaderTCP)], fragsize); + blockReceiveOffsets[block] += fragsize; + blockValidSize[block] = blockReceiveOffsets[block]; + // Advance to next potential chunk + ofs += fragsize + sizeof(SegmentHeaderTCP); + } else { + // Fragment incomplete, will be appended to in next recv (offset increased above) + break; + } + } + if (ofs > 0) { + // Move start of next unaccounted-for fragment to start of buffer + std::memmove(&receiveBuffer[0], &receiveBuffer[ofs], receiveOffset - ofs); + receiveOffset -= ofs; // and shift append position accordingly + } + } + + // Determine whether all buffers are filled now + bool complete = true; + for (int i=0; i(&receiveBuffer[offset])); + if (length < (headerExtraBytes + headerSize)) { + return 0; + } + totalReceiveSize = static_cast(ntohl(*reinterpret_cast(&receiveBuffer[offset + 2]))); + + if (totalReceiveSize >= 0) { // old-style single block transfer + legacyTransfer = true; + headerExtraBytes = 6; + numReceptionBlocks = 1; // ONE interleaved buffer + blockReceiveSize[0] = totalReceiveSize; + } else { // marked -1 for new-style multi block transfer + legacyTransfer = false; + headerExtraBytes = static_cast(sizeof(HeaderPreamble)); + HeaderPreamble* header = reinterpret_cast(&receiveBuffer[offset]); + numReceptionBlocks = 0; + totalReceiveSize = 0; + for (int i=0; inetTransferSizes[i]); + if (s > 0) { + blockReceiveSize[i] = s; + numReceptionBlocks++; + totalReceiveSize += s; + } else { + // first non-positive payload size signals end of blocks + //break; + } + } + } + + if (numReceptionBlocks==0) throw std::runtime_error("Received a transfer with zero blocks"); + if (numReceptionBlocks > MAX_DATA_BLOCKS) throw std::runtime_error("Received a transfer with too many blocks"); + + if(headerSize + headerExtraBytes > static_cast(receiveBuffer.size()) + || totalReceiveSize < 0 || headerSize + headerExtraBytes > length ) { + throw ProtocolException("Received invalid header!"); + } + + headerReceived = true; + receivedHeader.assign(receiveBuffer.begin() + offset + headerExtraBytes, + receiveBuffer.begin() + offset + headerSize + headerExtraBytes); + resizeReceiveBuffer(); + + return headerSize + headerExtraBytes; +} + +void DataBlockProtocol::resetReception(bool dropped) { + numReceptionBlocks = 0; + headerReceived = false; + missingReceiveSegments.clear(); + receivedHeader.clear(); + waitingForMissingSegments = false; + totalReceiveSize = 0; + finishedReception = false; + lostSegmentBytes = 0; + for (int i=0; i 0) { + length = min(length, missingReceiveSegments[0].offset); + } + return &receiveBuffer[0]; +} + +unsigned char* DataBlockProtocol::getReceivedHeader(int& length) { + if(receivedHeader.size() > 0) { + length = static_cast(receivedHeader.size()); + return &receivedHeader[0]; + } else { + return nullptr; + } +} + +bool DataBlockProtocol::processControlMessage(int length) { + if(length < static_cast(sizeof(int) + 1)) { + return false; + } + + int payloadLength = length - sizeof(int) - 1; + switch(receiveBuffer[0 + payloadLength]) { + case CONFIRM_MESSAGE: + // Our connection request has been accepted + connectionConfirmed = true; + break; + case CONNECTION_MESSAGE: + // We establish a new connection + connectionConfirmed = true; + confirmationMessagePending = true; + clientConnectionPending = true; + + // A connection request is just as good as a heartbeat + lastReceivedHeartbeat = std::chrono::steady_clock::now(); + break; + case HEADER_MESSAGE: { + if (anyPayloadReceived()) { + if (allBlocksDone()) { + LOG_ERROR("No EOF message received!"); + } else { + LOG_ERROR("Received header too late/early!"); + } + resetReception(true); + } + if(parseReceivedHeader(payloadLength, 0) == 0) { + throw ProtocolException("Received header is too short!"); + } + } + break; + case EOF_MESSAGE: + // This is the end of the frame + if(anyPayloadReceived()) { + parseEofMessage(length); + } + break; + case RESEND_MESSAGE: { + // The client requested retransmission of missing packets + parseResendMessage(payloadLength); + break; + } + case HEARTBEAT_MESSAGE: + // A cyclic heartbeat message + lastReceivedHeartbeat = std::chrono::steady_clock::now(); + break; + default: + throw ProtocolException("Received invalid control message!"); + break; + } + + return true; +} + +bool DataBlockProtocol::isConnected() const { + if(protType == PROTOCOL_TCP) { + // Connection is handled by TCP and not by us + return true; + } else if(connectionConfirmed) { + return !isServer || std::chrono::duration_cast( + std::chrono::steady_clock::now() - lastReceivedHeartbeat).count() + < 2*HEARTBEAT_INTERVAL_MS; + } else return false; +} + +const unsigned char* DataBlockProtocol::getNextControlMessage(int& length) { + length = 0; + + if(protType == PROTOCOL_TCP) { + // There are no control messages for TCP + return nullptr; + } + + if(confirmationMessagePending) { + // Send confirmation message + confirmationMessagePending = false; + controlMessageBuffer[0] = CONFIRM_MESSAGE; + length = 1; + } else if(!isServer && std::chrono::duration_cast( + std::chrono::steady_clock::now() - lastRemoteHostActivity).count() > RECONNECT_TIMEOUT_MS) { + // Send a new connection request + controlMessageBuffer[0] = CONNECTION_MESSAGE; + length = 1; + + // Also update time stamps + lastRemoteHostActivity = lastSentHeartbeat = std::chrono::steady_clock::now(); + } else if(transferHeaderData != nullptr && isConnected()) { + // We need to send a new protocol header + length = transferHeaderSize; + const unsigned char* ret = transferHeaderData; + transferHeaderData = nullptr; + return ret; + } else if(eofMessagePending) { + // Send end of frame message + eofMessagePending = false; + unsigned int networkOffset = htonl(mergeRawOffset(lastTransmittedBlock, transferSize[lastTransmittedBlock])); + memcpy(&controlMessageBuffer[0], &networkOffset, sizeof(int)); + controlMessageBuffer[sizeof(int)] = EOF_MESSAGE; + length = 5; + } else if(resendMessagePending) { + // Send a re-send request for missing messages + resendMessagePending = false; + if(!generateResendRequest(length)) { + length = 0; + return nullptr; + } + } else if(!isServer && std::chrono::duration_cast( + std::chrono::steady_clock::now() - lastSentHeartbeat).count() > HEARTBEAT_INTERVAL_MS) { + // Send a heartbeat message + controlMessageBuffer[0] = HEARTBEAT_MESSAGE; + length = 1; + lastSentHeartbeat = std::chrono::steady_clock::now(); + } else { + return nullptr; + } + + // Mark this message as a control message + controlMessageBuffer[length++] = 0xff; + controlMessageBuffer[length++] = 0xff; + controlMessageBuffer[length++] = 0xff; + controlMessageBuffer[length++] = 0xff; + return controlMessageBuffer; +} + +bool DataBlockProtocol::newClientConnected() { + if(clientConnectionPending) { + clientConnectionPending = false; + return true; + } else { + return false; + } +} + +bool DataBlockProtocol::generateResendRequest(int& length) { + length = static_cast(missingReceiveSegments.size() * (sizeof(int) + sizeof(unsigned short))); + if(length + sizeof(int) + 1> sizeof(controlMessageBuffer)) { + return false; + } + + length = 0; + for(MissingReceiveSegment segment: missingReceiveSegments) { + unsigned int segOffset = htonl(static_cast(segment.offset)); + unsigned int segLen = htonl(static_cast(segment.length)); + + memcpy(&controlMessageBuffer[length], &segOffset, sizeof(segOffset)); + length += sizeof(unsigned int); + memcpy(&controlMessageBuffer[length], &segLen, sizeof(segLen)); + length += sizeof(unsigned int); + } + + controlMessageBuffer[length++] = RESEND_MESSAGE; + + return true; +} + +void DataBlockProtocol::parseResendMessage(int length) { + missingTransferSegments.clear(); + + int num = length / (sizeof(unsigned int) + sizeof(unsigned short)); + int bufferOffset = 0; + + for(int i=0; i(&receiveBuffer[bufferOffset]); + bufferOffset += sizeof(unsigned int); + unsigned int segLenNet = *reinterpret_cast(&receiveBuffer[bufferOffset]); + bufferOffset += sizeof(unsigned int); + + int segmentOffsetRaw = static_cast(ntohl(segOffsetNet)); // with block ID + int segmentLength = static_cast(ntohl(segLenNet)); + int dataBlockID, segmentOffset; + splitRawOffset(segmentOffsetRaw, dataBlockID, segmentOffset); + + if(segmentOffset >= 0 && segmentLength > 0 && (segmentOffset + segmentLength) <= rawValidBytes[dataBlockID]) { + missingTransferSegments.push_back(std::pair( + segmentOffsetRaw, segmentLength)); + } + + } +} + +void DataBlockProtocol::parseEofMessage(int length) { + + completedReceptions++; + lostSegmentRate = (lostSegmentRate * (completedReceptions-1) + ((double) lostSegmentBytes) / totalReceiveSize) / completedReceptions; + + if(length >= 4) { + // Find all missing segments at the end of blocks + for (int i=0; i 0) { + waitingForMissingSegments = true; + resendMessagePending = true; + // Initialize all missing block start indices with earliest missing address + int mblock, moffset; + for (int i=0; i(missingReceiveSegments.size()); ++i) { + splitRawOffset(missingReceiveSegments[i].offset, mblock, moffset); + if (moffset < blockReceiveOffsets[mblock]) { + blockReceiveOffsets[mblock] = moffset; + } + } + } else { + finishedReception = true; + } + } else { + LOG_ERROR("EOF message too short, length " << length); + } +} + +void DataBlockProtocol::resizeReceiveBuffer() { + if(totalReceiveSize < 0) { + throw ProtocolException("Received invalid transfer size!"); + } + + // We increase the requested size to allow for one + // additional network message and the protocol overhead + int bufferSize = 2*getMaxReceptionSize() + + MAX_OUTSTANDING_BYTES + sizeof(int); + + // Resize the buffer + if(static_cast(receiveBuffer.size()) < bufferSize) { + receiveBuffer.resize(bufferSize); + } + + for (int i=0; i(blockReceiveBuffers[i].size()) < blockReceiveSize[i]) { + blockReceiveBuffers[i].resize(blockReceiveSize[i]); + } + } +} + +}} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.h new file mode 100644 index 0000000..2c1c14f --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datablockprotocol.h @@ -0,0 +1,403 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DATABLOCKPROTOCOL_H +#define VISIONTRANSFER_DATABLOCKPROTOCOL_H + +#include +#include +#include +#include +#include + +#include "visiontransfer/alignedallocator.h" +#include "visiontransfer/exceptions.h" + +namespace visiontransfer { +namespace internal { + +/** + * \brief A protocol for transmitting large blocks of data over a network. + * + * The protocol slices the large data block into several smaller chunks + * that can be transmitted over a network. A user defined header is + * always transmitted before this large data block. + * + * There are two different implementations for UDP and TCP. In UDP mode, + * packet loss is handled by performing a packet re-transmission. In TCP + * mode, data does not have to be received with the same packet size as + * it is sent out. + * + * This class is intended to be used by ImageProtocol and should normally + * not be used directly. + */ + +class DataBlockProtocol { +public: + enum ProtocolType { + PROTOCOL_TCP, + PROTOCOL_UDP + }; + + // + static const int MAX_DATA_BLOCKS = 8; + + // Constants that are also used in other places. + static const int MAX_TCP_BYTES_TRANSFER = 0xFFFF; //64K - 1 + static const int MAX_UDP_RECEPTION = 0x4000; //16K + static const int MAX_OUTSTANDING_BYTES = 2*MAX_TCP_BYTES_TRANSFER; + +#pragma pack(push,1) + // Extends previous one-channel 6-byte raw header buffer + // Legacy transfers can be detected via non-zero netTransferSizeDummy + struct HeaderPreamble { + uint16_t netHeaderSize; + int32_t netTransferSizeDummy; // layout compatibility, legacy detection + uint32_t netTransferSizes[MAX_DATA_BLOCKS]; // per-block total size + }; + struct SegmentHeaderUDP { + uint32_t segmentOffset; + }; + struct SegmentHeaderTCP { + uint32_t fragmentSize; + uint32_t segmentOffset; + }; +#pragma pack(pop) + + /** + * \brief Creates a new instance + * + * \param server If set to true, this object will be a communication server. + * \param protType The network transport protocol that is used. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + */ + + DataBlockProtocol(bool server, ProtocolType protType, int maxUdpPacketSize); + + /** + * \brief Returns the size of the overhead data that is required for + * transferring a single network message. + */ + int getProtocolOverhead() const { + return protType == PROTOCOL_UDP ? sizeof(int) : 0; + } + + /** + * \brief Returns the maximum payload size that can be received + */ + int getMaxReceptionSize() const; + + /** + * \brief Resets all transfer related internal variables + */ + void resetTransfer(); + + /** + * \brief Sets a user-defined header that shall be transmitted with + * the next transfer + * + * \param data Pointer to the data of the header that should be + * transferred. + * \param headerSize Size of the data in \c data. + * \param transferSize Total size of the payload for the next transfer. + * + * This method must be called before setTransferData(). A call before + * the start of each transfer is necessary. There must be at least + * 6 additional bytes of reserved memory after the end and before the + * beginning of \c data. + */ + void setTransferHeader(unsigned char* data, int headerSize, int blocks); + + /** + * \brief Sets the per-block transfer size + * + * \param bytes Size of the data pointed to with the matching setTransferData() + * + * Replaces the old single-buffer total size that was prepended to the + * second-level header alongside the header size. + */ + void setTransferBytes(int block, long bytes); + + /** + * \brief Sets the payload data for the next transfer. + * + * \param data Pointer to the data that should be transferred. + * \param validBytes The number of bytes that are currently + * valid in \c data. + * + * Part of \c data will be overwritten. There must be at least 4 additional + * allocated bytes at the end of \c data. + * + * If \c validBytes is set to a value smaller than the total transfer + * size, only a partial transfer is performed. Subsequent calls to + * setTransferValidBytes() are then necessary. + */ + void setTransferData(int block, unsigned char* data, int validBytes = 0x7FFFFFFF); + + /** + * \brief Updates the number of valid bytes in a partial transfer. + * + * \param validBytes The number of already valid bytes in the previously + * set data pointer. + * + * This method has to be called whenever new data is available in a + * partial transfer. \see setTransferData() + */ + void setTransferValidBytes(int block, int validBytes); + + /** + * \brief Gets the next network message for the current transfer. + * + * \param length The length of the network message. + * \return Pointer to the network message data. + * + * If the transfer has already been completed or if there are currently + * no more valid bytes to be transmitted, a null pointer is returned. + */ + const unsigned char* getTransferMessage(int& length); + + /** + * \brief Returns true if the current transfer has been completed. + */ + bool transferComplete(); + + /** + * \brief Gets a buffer for receiving the next network message. + * + * \param maxLength The expected maximum length that is required for + * receiving a network message. + * + * The returned buffer is a subsection of the internal receive buffer. + */ + unsigned char* getNextReceiveBuffer(int maxLength); + + /** + * \brief Resets the message reception. + * + * \param dropped If true, then this reset is rated as an error and + * internal counter for dropped transfers is increased. + */ + void resetReception(bool dropped); + + /** + * \brief Handles a received network message. + * + * \param length Length of the received network message. + * \param transferComplete Set to true if a new transfer is complete after + * receiving the current packet + * + * Please see ImageProtocol::processReceivedMessage() for further details. + */ + void processReceivedMessage(int length, bool& transferComplete); + + /** + * \brief Returns the data that has been received for the current transfer. + * + * \param length Will be set to the number of bytes that have been received. + * \return Pointer to the buffer containing the received data. + * + * The received data is valid until receiving the first network + * message for a new transfer. + */ + unsigned char* getReceivedData(int& length); + + /** + * \brief Returns the header data that has been received for the + * current transfer. + * + * \param length Will be set to the length of the header data in + * bytes. + * \return Pointer to the buffer containing the received header data. + * + * The received header data is valid until receiving the first network + * message for a new transfer. + */ + unsigned char* getReceivedHeader(int& length); + + /** + * \brief Returns the internal counter of dropped transfers during + * reception. + */ + int getDroppedReceptions() const { + return droppedReceptions; + } + + /** + * \brief Returns true if the last network message has established a + * new connection from a client + * + * For TCP this method always returns false as connections are + * handled by the transport protocol. + */ + bool newClientConnected(); + + /** + * \brief Returns true if a remote connection is established. + * + * For TCP this method always returns true as connections are + * handled by the transport protocol. + */ + bool isConnected() const; + + /** + * \brief If a control message is pending to be transmitted, then + * the message data will be returned by this method. + * + * \param length Will be set to the length of the message. + * \return Pointer to the message data or NULL if no message is pending. + * + * Control messages are only used if the UDP transfer protocol is + * selected. For TCP this method always returns a null pointer. + */ + const unsigned char* getNextControlMessage(int& length); + + unsigned char* getBlockReceiveBuffer(int block) { + if (block >= numReceptionBlocks) { + throw ProtocolException("Tried to get receive buffer beyond initialized block range"); + } + return &blockReceiveBuffers[block][0]; + } + int getBlockValidSize(int block) { + if (block >= numReceptionBlocks) { + throw ProtocolException("Tried to get valid buffer index beyond initialized block range"); + } + return blockValidSize[block]; + } + bool isBlockDone(int block) { + if (block >= numReceptionBlocks) { + throw ProtocolException("Tried to get completion status of uninitialized block"); + } + return blockValidSize[block] >= blockReceiveSize[block]; + } + bool allBlocksDone() { + for (int i=0; i 0) return true; + } + return false; + } + + std::string statusReport(); + + bool wasHeaderReceived() const { + return headerReceived; + } + +private: + // The pimpl idiom is not necessary here, as this class is usually not + // used directly + + struct MissingReceiveSegment { + int offset; + int length; + bool isEof; + unsigned char subsequentData[4]; + }; + + static constexpr int HEARTBEAT_INTERVAL_MS = 1000; + static constexpr int RECONNECT_TIMEOUT_MS = 1000; + + static constexpr unsigned char CONNECTION_MESSAGE = 0x01; + static constexpr unsigned char CONFIRM_MESSAGE = 0x02; + static constexpr unsigned char HEADER_MESSAGE = 0x03; + static constexpr unsigned char RESEND_MESSAGE = 0x04; + static constexpr unsigned char EOF_MESSAGE = 0x05; + static constexpr unsigned char HEARTBEAT_MESSAGE = 0x06; + + bool isServer; + ProtocolType protType; + int maxPayloadSize; + int minPayloadSize; + + // Transfer related variables + bool transferDone; + unsigned char* rawDataArr[MAX_DATA_BLOCKS]; + int rawDataArrStrideHackOrig[MAX_DATA_BLOCKS]; + int rawDataArrStrideHackRepl[MAX_DATA_BLOCKS]; + int rawValidBytes[MAX_DATA_BLOCKS]; + int transferOffset[MAX_DATA_BLOCKS]; + int transferSize[MAX_DATA_BLOCKS]; + char overwrittenTransferData[sizeof(SegmentHeaderTCP)]; + int overwrittenTransferIndex; + int overwrittenTransferBlock; + unsigned char* transferHeaderData; + int transferHeaderSize; + int totalBytesCompleted; + int totalTransferSize; + int numTransferBlocks; + int lastTransmittedBlock; + + // Reliability related variables + std::deque missingReceiveSegments; + std::deque > missingTransferSegments; + bool waitingForMissingSegments; + int totalReceiveSize; + + unsigned char controlMessageBuffer[1024]; + + // Connection related variables + bool connectionConfirmed; + bool confirmationMessagePending; + bool eofMessagePending; + bool clientConnectionPending; + bool resendMessagePending; + std::chrono::steady_clock::time_point lastRemoteHostActivity; + std::chrono::steady_clock::time_point lastSentHeartbeat; + std::chrono::steady_clock::time_point lastReceivedHeartbeat; + + // Reception related variables + std::vector > receiveBuffer; + std::vector > blockReceiveBuffers[MAX_DATA_BLOCKS]; + int blockReceiveOffsets[MAX_DATA_BLOCKS]; + int blockReceiveSize[MAX_DATA_BLOCKS]; + int blockValidSize[MAX_DATA_BLOCKS]; + std::vector receivedHeader; + bool finishedReception; + int droppedReceptions; + int completedReceptions; + double lostSegmentRate; + int lostSegmentBytes; + unsigned char unprocessedMsgPart[MAX_OUTSTANDING_BYTES]; + int unprocessedMsgLength; + bool headerReceived; + bool legacyTransfer; + int numReceptionBlocks; + int receiveOffset; + + const unsigned char* extractPayload(const unsigned char* data, int& length, bool& error); + bool processControlMessage(int length); + void restoreTransferBuffer(); + bool generateResendRequest(int& length); + void getNextTransferSegment(int& block, int& offset, int& length); + void parseResendMessage(int length); + void parseEofMessage(int length); + void integrateMissingUdpSegments(int block, int lastSegmentOffset, int lastSegmentSize); + void processReceivedUdpMessage(int length, bool& transferComplete); + void processReceivedTcpMessage(int length, bool& transferComplete); + void resizeReceiveBuffer(); + int parseReceivedHeader(int length, int offset); + void zeroStructures(); + void splitRawOffset(int rawSegmentOffset, int& dataBlockID, int& segmentOffset); + int mergeRawOffset(int dataBlockID, int segmentOffset, int reserved=0); + +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-control.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-control.h new file mode 100644 index 0000000..fa54053 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-control.h @@ -0,0 +1,130 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DATACHANNEL_CONTROL_H +#define VISIONTRANSFER_DATACHANNEL_CONTROL_H + +#include +#include +#include +#include +#include + +#include + +namespace visiontransfer { +namespace internal { + +/** + * \brief Commands understood on DataChannelService channel 0 (control) + */ +class DataChannelControlCommands { +public: + enum Command { + CTLReserved, + CTLRequestAdvertisement, + CTLProvideAdvertisement, + CTLRequestSubscriptions, + CTLProvideSubscriptions, + CTLRequestUnsubscriptions, + CTLProvideUnsubscriptions + }; +}; + +/** + * \brief Internal helpers for packing and unpacking channel 0 service messages + */ +class DataChannelControlUtil { +public: + static DataChannelControlCommands::Command getCommand(unsigned char* data, int datalen) { + if (datalen < 2) throw std::runtime_error("Buffer too small"); + return (DataChannelControlCommands::Command) ntohs(*((uint16_t*) data)); + } + // Advertisements (available services) + static int packAdvertisementMessage(unsigned char* data, int datalen, DataChannelControlCommands::Command cmd, const std::map >& channels) { + int origDataLen = datalen; + if (datalen < 3) throw std::runtime_error("Buffer too small"); + *((uint16_t*)data) = htons(cmd); + uint8_t num = (uint8_t) std::min(255, (int) channels.size()); // pack 255 items max + data[2] = num; + // payload + data += 3; datalen -= 3; + int i = 0; + for (auto kv: channels) { + i++; if (i>num) break; + if (datalen < 3) throw std::runtime_error("Buffer too small"); + auto p = kv.second; + const std::string& infoString = p->getInfoString(); + uint8_t strSize = (uint8_t) std::min(255, (int) infoString.size()); + int elemLen = 1 + 1 + 1 + strSize; + if (datalen < elemLen) throw std::runtime_error("Buffer too small"); + data[0] = p->getChannelID(); + data[1] = p->getChannelType(); + data[2] = strSize; + std::memcpy(data + 3, infoString.c_str(), strSize); + data += elemLen; datalen -= elemLen; + } + return (origDataLen - datalen); + } + static std::vector unpackAdvertisementMessage(unsigned char* data, int datalen) { + std::vector result; + if (datalen < 3) throw std::runtime_error("Buffer too small"); + uint8_t num = data[2]; + data += 3; datalen -= 3; + for (int i=0; i& subscriptions) { + if (datalen < 4) throw std::runtime_error("Buffer too small"); + *((uint16_t*)data) = htons(cmd); + uint8_t num = (uint8_t) std::min(255, (int) subscriptions.size()); + data[2] = num; // pack 255 items max + data += 3; datalen -= 3; + if (datalen < (1*num)) throw std::runtime_error("Buffer too small"); + for (int i=0; i unpackSubscriptionMessage(unsigned char* data, int datalen) { + std::vector result; + if (datalen < 3) throw std::runtime_error("Buffer too small"); + uint8_t num = data[2]; + data += 3; datalen -= 3; + if (datalen < (1*num)) throw std::runtime_error("Buffer too small"); + for (int i=0; i(data[0])); + data += 1; datalen -= 1; + } + return result; + } +}; + +}} // namespaces + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.cpp new file mode 100644 index 0000000..28a0c9d --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.cpp @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include + +namespace visiontransfer { +namespace internal { + +ClientSideDataChannelIMUBNO080::ClientSideDataChannelIMUBNO080() +: DataChannel() { + infoString = "Receiver for the BNO080 IMU sensor"; + // Sane defaults for orientation etc. if values are queried despite lack of sensor + lastXYZ[0x01 - 1] = {0, 0, 0, 0, 0, 10}; + lastXYZ[0x02 - 1] = {0, 0, 0, 0, 0, 0}; + lastXYZ[0x03 - 1] = {0, 0, 0, 0, 0, 0}; + lastXYZ[0x04 - 1] = {0, 0, 0, 0, 0, 0}; + lastXYZ[0x05 - 1] = {0, 0, 0, 0, 0, 0}; // unused, cf. the quaternion below + lastXYZ[0x06 - 1] = {0, 0, 0, 0, 0, 10}; + lastScalar[0x0a - 0x0a] = {0, 0, 0, 0}; + lastScalar[0x0b - 0x0a] = {0, 0, 0, 0}; // unused / sensor not present + lastScalar[0x0d - 0x0a] = {0, 0, 0, 0}; + lastScalar[0x0d - 0x0a] = {0, 0, 0, 0}; // unused / sensor not present + lastScalar[0x0e - 0x0a] = {0, 0, 0, 0}; + lastRotationQuaternion = {0, 0, 0, 0.0, 0.0, 0.0, 1.0, 0}; // channel 0x05 +} + +int ClientSideDataChannelIMUBNO080::handleSensorInputRecord(unsigned char* data, int datalen, uint64_t baseTime) { + int sensorid = data[0]; + int status = data[2] & 3; + int delay = ((data[2] & 0xfc) << 6) | data[3]; + uint64_t myTime = baseTime + delay; + switch (sensorid) { + // these have identical format, 3D vector + case SH2Constants::SENSOR_ACCELEROMETER: //0x01 + case SH2Constants::SENSOR_GYROSCOPE: //0x02 + case SH2Constants::SENSOR_MAGNETOMETER: //0x03 + case SH2Constants::SENSOR_LINEAR_ACCELERATION: //0x04 + case SH2Constants::SENSOR_GRAVITY: //0x06 + { + double x, y, z; + auto q = sh2GetSensorQPoint(sensorid); + x = sh2ConvertFixedQ16(sh2GetU16(data+4), q); + y = sh2ConvertFixedQ16(sh2GetU16(data+6), q); + z = sh2ConvertFixedQ16(sh2GetU16(data+8), q); + // sensorid-1 is in range [0..5] + lastXYZ[sensorid-1] = TimestampedVector((int) (myTime/1000000), (int) (myTime%1000000), status, x, z, -y); + ringbufXYZ[sensorid-1].pushData(lastXYZ[sensorid-1]); + break; + } + // this one is 4D (quaternion data), plus accuracy field + case SH2Constants::SENSOR_ROTATION_VECTOR: //0x05 + case SH2Constants::SENSOR_GAME_ROTATION_VECTOR://0x08 + case SH2Constants::SENSOR_GEOMAGNETIC_ROTATION://0x09 + { + double x, y, z, w; + double accuracy = -1.0; + auto q = sh2GetSensorQPoint(sensorid); + x = sh2ConvertFixedQ16(sh2GetU16(data+4), q); + y = sh2ConvertFixedQ16(sh2GetU16(data+6), q); + z = sh2ConvertFixedQ16(sh2GetU16(data+8), q); + w = sh2ConvertFixedQ16(sh2GetU16(data+10), q); + if (sensorid!=SH2Constants::SENSOR_GAME_ROTATION_VECTOR) { + // The BNO080 'game rotation vectors' to not provide an accuracy estimate + // (since they do not estimate yaw in a fixed geomagnetic system). + accuracy = (double) ((signed short) sh2GetU16(data+12)) / (double) (1 << 12); // accuracy Q point is 12 + } + lastRotationQuaternion = TimestampedQuaternion((int) (myTime/1000000), (int) (myTime%1000000), status, x, z, -y, w, accuracy); + ringbufRotationQuaternion.pushData(lastRotationQuaternion); + break; + } + // the misc. sensors are 1D floats (32b or 16b) + case SH2Constants::SENSOR_PRESSURE: // 0x0a + case SH2Constants::SENSOR_AMBIENT_LIGHT: // 0x0b + { + signed short svalue = sh2GetU32(data+4); + double value = (double) svalue / (double)(1 << sh2GetSensorQPoint(sensorid)); + lastScalar[sensorid - 0x0a] = TimestampedScalar((int) (myTime/1000000), (int) (myTime%1000000), status, value); + ringbufScalar[sensorid - 0x0a].pushData(lastScalar[sensorid - 0x0a]); + break; + } + case SH2Constants::SENSOR_HUMIDITY: // 0x0c + case SH2Constants::SENSOR_PROXIMITY: // 0x0d + case SH2Constants::SENSOR_TEMPERATURE: // 0x0e + { + signed short svalue = sh2GetU16(data+4); + double value = (double) svalue / (double)(1 << sh2GetSensorQPoint(sensorid)); + lastScalar[sensorid - 0x0a] = TimestampedScalar((int) (myTime/1000000), (int) (myTime%1000000), status, value); + ringbufScalar[sensorid - 0x0a].pushData(lastScalar[sensorid - 0x0a]); + break; + } + default: + break; + } + int recordlen = sh2GetSensorReportLength(sensorid); + return recordlen; +} + +void ClientSideDataChannelIMUBNO080::handleChunk(unsigned char* data, int datalen) { + if (datalen < 5) return; + auto cargobase = reinterpret_cast(data); + static uint64_t interruptTime = 0; // will always be reported first, below + switch (cargobase->getReportType()) { + case 0xff: { // Our own interrupt-synchronized timestamp + auto report = reinterpret_cast(data); + interruptTime = report->getUSecSinceEpoch(); + break; + } + case 0xfb: { // SH-2 Time Base (followed by sensor reports) + auto report = reinterpret_cast(data); + long basetimeOfs = report->getTimeBase(); + uint64_t localBase = interruptTime - basetimeOfs; + data += sizeof(SH2CargoBodyTimeBase); datalen -= sizeof(SH2CargoBodyTimeBase); + // The (variable-length) remainder of this packet are concatenated SH2 sensor input reports. + // They must be parsed in order since they are of differing sizes, depending on the sensor type. + int recordlen; + while (datalen > 0) { + recordlen = handleSensorInputRecord(data, datalen, localBase); + if (recordlen<1) break; // record type unknown -> size unknown -> cannot proceed + data += recordlen; datalen -= recordlen; + } + break; + } + case 0xfa: // SH-2 Timestamp Rebase + // Required for BNO batch reports that span >1.6s. + // This is not relevant here, since we set the batch delay to intervals + // considerably shorter than that (the server stores those batches + // immediately with integrated base timestamps). + default: { + } + } +} + +int ClientSideDataChannelIMUBNO080::handleMessage(DataChannelMessage& message, sockaddr_in* sender) { + unsigned char* data = message.payload; + int datalen = message.header.payloadSize; + while (datalen > 0) { + int elemlen = sh2GetU16(data) & 0x7fff; + handleChunk(data, elemlen); + data += elemlen; datalen -= elemlen; + } + return 1; +}; + +}} // namespaces + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.h new file mode 100644 index 0000000..7a0ff6f --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannel-imu-bno080.h @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +// DataChannel protocol definition for the BNO080 IMU sensor + +#ifndef VISIONTRANSFER_DATACHANNEL_IMU_BNO080_H +#define VISIONTRANSFER_DATACHANNEL_IMU_BNO080_H + +#include +#include + +#include + +namespace visiontransfer { +namespace internal { + +// TODO IMPLEMENT_ME / Not active at the moment: +/** + * \brief Commands to control the IMU/environmental sensor and its data reporting + */ +class DataChannelIMUBNO080Commands { +public: + enum Command { + BNOReserved, + BNOReset, + BNOEnableSensors, + BNORateLimit, + BNOReports + }; +}; + +/** + * \brief Helper functions for IMU control messages + */ +class DataChannelIMUBNO080Util { + static DataChannelIMUBNO080Commands::Command getCommand(unsigned char* data, int datalen) { + if (datalen < 2) throw std::runtime_error("Buffer too small"); + return (DataChannelIMUBNO080Commands::Command) ntohs(*((uint16_t*) data)); + } + static int packResetMessage(unsigned char* data, int datalen) { + if (datalen < 2) throw std::runtime_error("Buffer too small"); + *((uint16_t*)data) = htons(DataChannelIMUBNO080Commands::BNOReset); + return 2; + } +}; + + +/** + * \brief Encapsulated receiver with ring buffers for IMU / environment sensor data. + * + * Public access transparently via DataChannelService + */ +class ClientSideDataChannelIMUBNO080: public DataChannel { +private: + static constexpr int RINGBUFFER_SIZE = 2048; +public: + // These are inspected and consumed by the DataChannelService + SensorDataRingBuffer ringbufXYZ[6]; // for sensors 0x01 .. 0x06 (w/o 5) + TimestampedVector lastXYZ[6]; // cache the most recent value for each channel + SensorDataRingBuffer ringbufRotationQuaternion; // for 0x05, Rot Vec + TimestampedQuaternion lastRotationQuaternion; + SensorDataRingBuffer ringbufScalar[5]; // 0x0a .. 0x0e (temp, pressure..) + TimestampedScalar lastScalar[5]; +public: + ClientSideDataChannelIMUBNO080(); + DataChannel::Type getChannelType() const override { return DataChannel::Types::BNO080; } + int handleSensorInputRecord(unsigned char* data, int datalen, uint64_t baseTime); + void handleChunk(unsigned char* data, int datalen); + int handleMessage(DataChannelMessage& message, sockaddr_in* sender) override; + bool initialize() override { return true; } + int startService() override { return 1; } + int stopService() override { return 1; } +}; + +}} // namespaces + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.cpp new file mode 100644 index 0000000..879e467 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.cpp @@ -0,0 +1,242 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include // for sensor constants + +#include + +#include +#include +#include +#include +#include + +#ifdef _WIN32 +#include +#endif + +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +class DataChannelServiceImpl: public DataChannelServiceBase { +private: + sockaddr_in serverAddr; + // + std::shared_ptr receiverThread; + unsigned long pollDelay; + // + std::shared_ptr channelBNO080; + // + int handleChannel0Message(DataChannelMessage& message, sockaddr_in* sender) override; + void initiateHandshake(); + void subscribeAll(); + void unsubscribeAll(); + void receiverRoutine(); +public: + bool threadRunning; + std::vector channelsAvailable; + std::map> channelsAvailableByType; +public: + DataChannelServiceImpl(DeviceInfo deviceInfo); + DataChannelServiceImpl(const char* ipAddr); + virtual ~DataChannelServiceImpl() { } + void launch(unsigned long pollDelayUSec); +public: + // High-level data channels API + TimestampedQuaternion getLastRotationQuaternion() { + return channelBNO080->lastRotationQuaternion; + } + std::vector getRotationQuaternionSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return channelBNO080->ringbufRotationQuaternion.popBetweenTimes(fromSec, fromUSec, untilSec, untilUSec); + } + + TimestampedVector getLastSensorVector(int idx) { + return channelBNO080->lastXYZ[idx - 1]; + } + std::vector getSensorVectorSeries(int idx, int fromSec, int fromUSec, int untilSec, int untilUSec) { + return channelBNO080->ringbufXYZ[idx - 1].popBetweenTimes(fromSec, fromUSec, untilSec, untilUSec); + } + + TimestampedScalar getLastSensorScalar(int idx) { + return channelBNO080->lastScalar[idx - 0x0a]; + } + std::vector getSensorScalarSeries(int idx, int fromSec, int fromUSec, int untilSec, int untilUSec) { + return channelBNO080->ringbufScalar[idx - 0x0a].popBetweenTimes(fromSec, fromUSec, untilSec, untilUSec); + } +}; + +} // internal namespace + +class DataChannelService::Pimpl { +public: + std::shared_ptr impl; + Pimpl(DeviceInfo deviceInfo) { + impl = std::make_shared(deviceInfo); + } + Pimpl(const char* ipAddress) { + impl = std::make_shared(ipAddress); + } +}; + +void internal::DataChannelServiceImpl::receiverRoutine() { + threadRunning = true; + while (threadRunning) { + process(); + std::this_thread::sleep_for(std::chrono::microseconds(pollDelay)); + } +} + +void internal::DataChannelServiceImpl::launch(unsigned long pollDelayUSec) { + // Prepare our receivers (all supported channels aside from service channel 0) + channelBNO080 = std::make_shared(); + registerChannel(channelBNO080); + // Prepare our poll thread + pollDelay = pollDelayUSec; + receiverThread = std::make_shared(std::bind(&internal::DataChannelServiceImpl::receiverRoutine, this)); + receiverThread->detach(); + // Say hello to the device to get a channel advertisement + initiateHandshake(); +} + + +void internal::DataChannelServiceImpl::initiateHandshake() { + uint16_t cmd = htons((uint16_t) DataChannelControlCommands::CTLRequestAdvertisement); + sendDataIsolatedPacket((DataChannel::ID) 0x00, DataChannel::Types::CONTROL, (unsigned char*) &cmd, sizeof(cmd), &serverAddr); +} + +void internal::DataChannelServiceImpl::subscribeAll() { + unsigned char data[1024]; + int len = DataChannelControlUtil::packSubscriptionMessage(data, 1024, DataChannelControlCommands::CTLRequestSubscriptions, {0}); + sendDataIsolatedPacket((DataChannel::ID) 0x00, DataChannel::Types::CONTROL, data, len, &serverAddr); +} + +void internal::DataChannelServiceImpl::unsubscribeAll() { + unsigned char data[1024]; + int len = DataChannelControlUtil::packSubscriptionMessage(data, 1024, DataChannelControlCommands::CTLRequestUnsubscriptions, {0}); + sendDataIsolatedPacket((DataChannel::ID) 0x00, DataChannel::Types::CONTROL, data, len, &serverAddr); +} + +int internal::DataChannelServiceImpl::handleChannel0Message(DataChannelMessage& message, sockaddr_in* sender) { + auto cmd = DataChannelControlUtil::getCommand(message.payload, message.header.payloadSize); + switch (cmd) { + case DataChannelControlCommands::CTLProvideAdvertisement: { + // Update the available channels lists for run-time checks etc. + channelsAvailable = DataChannelControlUtil::unpackAdvertisementMessage(message.payload, message.header.payloadSize); + for (auto& dci: channelsAvailable) { + channelsAvailableByType[dci.getChannelType()].insert(dci.getChannelID()); + } + // Automatic subscribeAll is suitable for now + subscribeAll(); + break; + } + case DataChannelControlCommands::CTLProvideSubscriptions: { + break; + } + default: { + break; + } + } + return 1; +} + +internal::DataChannelServiceImpl::DataChannelServiceImpl(DeviceInfo deviceInfo) +: DataChannelServiceImpl::DataChannelServiceImpl(deviceInfo.getIpAddress().c_str()) +{} + +internal::DataChannelServiceImpl::DataChannelServiceImpl(const char* ipAddress) +: DataChannelServiceBase(), threadRunning(false) { + serverAddr.sin_family = AF_INET; + serverAddr.sin_port = htons(InternalInformation::DATACHANNELSERVICE_PORT); + auto result = inet_addr(ipAddress); + if (result == INADDR_NONE) { + throw std::runtime_error("Failed to set address for DataChannelService"); + } + serverAddr.sin_addr.s_addr = result; + // + //if (!inet_pton(AF_INET, deviceInfo.getIpAddress().c_str(), &(serverAddr.sin_addr))) { + // throw std::runtime_error("Failed to set address for DataChannelService"); + //} +} + + +DataChannelService::DataChannelService(DeviceInfo deviceInfo, unsigned long pollDelayUSec) { + pimpl = new DataChannelService::Pimpl(deviceInfo); + pimpl->impl->launch(pollDelayUSec); +} + +DataChannelService::DataChannelService(const char* ipAddress, unsigned long pollDelayUSec) { + pimpl = new DataChannelService::Pimpl(ipAddress); + pimpl->impl->launch(pollDelayUSec); +} + + +DataChannelService::~DataChannelService() { + pimpl->impl->threadRunning = false; + delete pimpl; +} + +bool DataChannelService::imuAvailable() { + return pimpl->impl->channelsAvailableByType.count(DataChannel::Types::BNO080); +} + + +// High-level IMU accessors (C++-98 compatible signatures) + +// For devices not providing IMU data, these return placeholder defaults +TimestampedQuaternion DataChannelService::imuGetRotationQuaternion() { + return pimpl->impl->getLastRotationQuaternion(); +} +std::vector DataChannelService::imuGetRotationQuaternionSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getRotationQuaternionSeries(fromSec, fromUSec, untilSec, untilUSec); +} + +TimestampedVector DataChannelService::imuGetAcceleration() { + return pimpl->impl->getLastSensorVector(SH2Constants::SENSOR_ACCELEROMETER); +} +std::vector DataChannelService::imuGetAccelerationSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getSensorVectorSeries(SH2Constants::SENSOR_ACCELEROMETER, fromSec, fromUSec, untilSec, untilUSec); +} + +TimestampedVector DataChannelService::imuGetGyroscope() { + return pimpl->impl->getLastSensorVector(SH2Constants::SENSOR_GYROSCOPE); +} +std::vector DataChannelService::imuGetGyroscopeSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getSensorVectorSeries(SH2Constants::SENSOR_GYROSCOPE, fromSec, fromUSec, untilSec, untilUSec); +} + +TimestampedVector DataChannelService::imuGetMagnetometer() { + return pimpl->impl->getLastSensorVector(SH2Constants::SENSOR_MAGNETOMETER); +} +std::vector DataChannelService::imuGetMagnetometerSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getSensorVectorSeries(SH2Constants::SENSOR_MAGNETOMETER, fromSec, fromUSec, untilSec, untilUSec); +} + +TimestampedVector DataChannelService::imuGetLinearAcceleration() { + return pimpl->impl->getLastSensorVector(SH2Constants::SENSOR_LINEAR_ACCELERATION); +} +std::vector DataChannelService::imuGetLinearAccelerationSeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getSensorVectorSeries(SH2Constants::SENSOR_LINEAR_ACCELERATION, fromSec, fromUSec, untilSec, untilUSec); +} + +TimestampedVector DataChannelService::imuGetGravity() { + return pimpl->impl->getLastSensorVector(SH2Constants::SENSOR_GRAVITY); +} +std::vector DataChannelService::imuGetGravitySeries(int fromSec, int fromUSec, int untilSec, int untilUSec) { + return pimpl->impl->getSensorVectorSeries(SH2Constants::SENSOR_GRAVITY, fromSec, fromUSec, untilSec, untilUSec); +} + +} // visiontransfer namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.h new file mode 100644 index 0000000..0df6786 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservice.h @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DATACHANNELSERVICE_H +#define VISIONTRANSFER_DATACHANNELSERVICE_H + +#include +#include +#include +#include + +using namespace visiontransfer; + +namespace visiontransfer { + +/** + * This is the DataChannelServer public API, backwards compatible with C++-98 + * + * The DataChannelService encapsulates miscellaneous device services, + * which are not implemented on all Nerian devices. Availability can be + * queried; access to unavailable elements will normally return default + * values or silently execute nothing. + * + * The imuGet...() and envGet...() functions access an inertial measurement unit + * with attached environmental sensor, realized with the Hillcrest BNO080 + * and Bosch BME280, respectively, on supported devices. + * + */ +class VT_EXPORT DataChannelService { +public: + class Pimpl; + /** + * Initialize a new background data channel service, connecting to the + * specified device. The optional argument pollDelayUSec is used in the + * background receive/update loop, the default of 1000us can be overridden + * for the sake of efficiency or if minimum latency requirements differ. + */ + DataChannelService(DeviceInfo deviceInfo, unsigned long pollDelayUSec=1000); + /** + * Initialize a new background data channel service, connecting to the + * specified IP address. The optional argument pollDelayUSec is used in the + * background receive/update loop, the default of 1000us can be overridden + * for the sake of efficiency or if minimum latency requirements differ. + */ + DataChannelService(const char* ipAddr, unsigned long pollDelayUSec=1000); + ~DataChannelService(); +public: + /** + * \brief Return whether the device will provide data from an Inertial Measurement Unit + */ + bool imuAvailable(); + + /** + * \brief Return the most recent rotation quaternion, relative to gravity and magnetic north + */ + TimestampedQuaternion imuGetRotationQuaternion(); + + /** + * \brief Return the current contents of the rotation quaternion data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetRotationQuaternionSeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + + /** + * \brief Return the most recent calibrated accelerometer reading + */ + TimestampedVector imuGetAcceleration(); + + /** + * \brief Return the current contents of the calibrated accelerometer data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetAccelerationSeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + + /** + * \brief Return the most recent calibrated angular accelerations from the gyroscope + */ + TimestampedVector imuGetGyroscope(); + + /** + * \brief Return the current contents of the gyroscope data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetGyroscopeSeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + + /** + * \brief Return the most recent magnetometer readings + */ + TimestampedVector imuGetMagnetometer(); + + /** + * \brief Return the current contents of the magnetometer data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetMagnetometerSeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + + /** + * \brief Return the most recent linear acceleration, i.e. with gravity factored out + */ + TimestampedVector imuGetLinearAcceleration(); + + /** + * \brief Return the current contents of the linear acceleration (without gravity) data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetLinearAccelerationSeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + + /** + * \brief Return the most recent gravity measurement + */ + TimestampedVector imuGetGravity(); + + /** + * \brief Return the current contents of the gravity data buffer, optionally between specified timestamps. + * + * This operation consumes an internal ring buffer up to the desired end stamp, data older than the desired window is silently discarded. + */ + std::vector imuGetGravitySeries(int fromSec=0, int fromUSec=0, int untilSec=0x7FFFffffl, int untilUSec=0x7FFFffffl); + +private: + Pimpl* pimpl; +}; + + +} // namespaces + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.cpp new file mode 100644 index 0000000..fe53dcc --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.cpp @@ -0,0 +1,135 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +DataChannelServiceBase::DataChannelServiceBase() { + // Create socket + if((dataChannelSocket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { + throw std::runtime_error("Error creating data channel service socket!"); + } + + Networking::enableReuseAddress(dataChannelSocket, true); + + // Bind to port + sockaddr_in localAddr; + memset(&localAddr, 0, sizeof(localAddr)); + localAddr.sin_family = AF_INET; + localAddr.sin_port = htons(InternalInformation::DATACHANNELSERVICE_PORT); + localAddr.sin_addr.s_addr = htonl(INADDR_ANY); + if(::bind(dataChannelSocket, (sockaddr *)&localAddr, sizeof(localAddr)) != 0) { + throw std::runtime_error("Error binding dataChannel socket!"); + } + + Networking::setSocketBlocking(dataChannelSocket, false); +} + +DataChannelServiceBase::~DataChannelServiceBase() { + Networking::closeSocket(dataChannelSocket); +} + +void DataChannelServiceBase::process() { + static unsigned char buffer[100000]; + static sockaddr_in senderAddress; + static socklen_t senderLength = (socklen_t) sizeof(senderAddress); + + int received; + while (true) { + // socket is non-blocking + received = recvfrom(dataChannelSocket, (char*) buffer, sizeof(buffer), 0, (sockaddr *)&senderAddress, &senderLength); + if ((received > 0) && ((unsigned)received >= sizeof(DataChannelMessageHeader))) { + DataChannelMessageHeader* raw = reinterpret_cast(buffer); + DataChannelMessage message; + message.header.channelID = (DataChannel::ID) raw->channelID; + message.header.channelType = (DataChannel::Type) raw->channelType; + message.header.payloadSize = ntohl(raw->payloadSize); + message.payload = buffer + sizeof(DataChannelMessageHeader); + if ((sizeof(DataChannelMessageHeader) + message.header.payloadSize) != (unsigned) received) { + std::cerr << "DataChannelServiceBase: Size mismatch in UDP message, type " << (int) message.header.channelType << " ID " << (int) message.header.channelID << " - discarded!" << std::endl; + } else { + if (!(message.header.channelType)) { + handleChannel0Message(message, &senderAddress); + } else { + // Try to find a matching registered channel to handle the message + auto it = channels.find(message.header.channelID); + if (it != channels.end()) { + it->second->handleMessage(message, &senderAddress); + } + } + } + } else { + break; + } + + // Call channel process() iterations + for (auto& kv: channels) { + kv.second->process(); + } + } +} + +// Actually send data, buffer must be stable +int DataChannelServiceBase::sendDataInternal(unsigned char* compiledMessage, unsigned int messageSize, sockaddr_in* recipient) { + if (!recipient) throw std::runtime_error("Requested sendDataInternal without recipient address"); + if (messageSize < sizeof(DataChannelMessageHeader)) throw std::runtime_error("Message header too short"); + DataChannelMessageHeader* header = reinterpret_cast(compiledMessage); + unsigned int reportedSize = sizeof(DataChannelMessageHeader) + ntohl(header->payloadSize); + if (messageSize != reportedSize) throw std::runtime_error("Message size does not match"); + int result = 0; + result = sendto(dataChannelSocket, (char*) compiledMessage, reportedSize, 0, (sockaddr*) recipient, sizeof(*recipient)); + if (result != (int) reportedSize) { + std::cerr << "Error sending DataChannel message to " << inet_ntoa(recipient->sin_addr) << ": " << strerror(errno) << std::endl; + throw std::runtime_error("Error during sendto"); + } + return result; +} + +// Generate a new message and send it +int DataChannelServiceBase::sendDataIsolatedPacket(DataChannel::ID id, DataChannel::Type type, unsigned char* data, unsigned int dataSize, sockaddr_in* recipient) { + unsigned int msgSize = sizeof(DataChannelMessageHeader) + dataSize; + unsigned char* buf = new unsigned char[msgSize](); + DataChannelMessageHeader* header = reinterpret_cast(buf); + header->channelID = id; + header->channelType = type; + header->payloadSize = htonl(dataSize); + std::memcpy(buf + sizeof(DataChannelMessageHeader), data, dataSize); + + int result = sendDataInternal(buf, msgSize, recipient); + delete[] buf; + return result; +} + +DataChannel::ID DataChannelServiceBase::registerChannel(std::shared_ptr channel) { + // Preliminary implementation: set id:=type (should allocate dynamic IDs later) + DataChannel::ID id = (DataChannel::ID) channel->getChannelType(); + if (channels.count(id)) { + return 0; // already registered this ID + } + // Checking dynamic init, if this fails the service is not registered (and will be auto cleaned) + if (!channel->initialize()) return 0; + channel->setChannelID(id); + channels[id] = channel; + channel->setService(shared_from_this()); + return id; +} +int DataChannel::sendData(unsigned char* data, unsigned int dataLen, sockaddr_in* recipient) { + if (auto srv = service.lock()) { + return srv->sendDataIsolatedPacket(channelID, getChannelType(), data, dataLen, recipient); + } else return 0; +} + +}} // namespaces + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.h new file mode 100644 index 0000000..64a341f --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/datachannelservicebase.h @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 +#include +#else +#include +#endif + +#ifndef VISIONTRANSFER_DATACHANNELSERVICEBASE_H +#define VISIONTRANSFER_DATACHANNELSERVICEBASE_H + +namespace visiontransfer { +namespace internal { + +/* + * This is a header file for internal use, please use the wrappers from datachannelservice.h + */ + +#pragma pack(push,1) +/** + * \brief Transport-level DataChannel header + */ +struct DataChannelMessageHeader { + uint8_t channelID; + uint8_t channelType; + uint32_t payloadSize; +}; +struct DataChannelMessage { + DataChannelMessageHeader header; + unsigned char* payload; +}; +#pragma pack(pop) + + + +class DataChannelServiceBase; +/** + * \brief Base class all data channel services derive from (once on the server side, once on the API side) + */ +class DataChannel { +public: + /** + * \brief Known data channel service types, not all may be active on a specific device + */ + struct Types { + enum DataChannelTypesEnum { + CONTROL = 0x00, + BNO080 = 0x01, + UNDEFINED = 0xff + }; + }; + + typedef unsigned char Type; + typedef unsigned char ID; + + inline DataChannel(): infoString("RESERVED") { } + inline virtual ~DataChannel() {} + inline ID getChannelID() const { return channelID; } + inline std::string getInfoString() const { return infoString; } + inline void setService(std::weak_ptr serv) { service = serv; } + inline void setChannelID(ID id) { channelID = id; } + + virtual Type getChannelType() const = 0; + /// \brief Channel-dependent message handlers in respective channel implementations + virtual int handleMessage(DataChannelMessage& message, sockaddr_in* sender) = 0; + /// \brief When initialize() implementations return false, the service will be deactivated + virtual bool initialize() = 0; + /// \brief startService() implementations can start devices, launch an IO-blocked worker thread etc. + virtual int startService() = 0; + /** \brief A single processing iteration; should be short and must not block. + * Actual frequency determined by the thread calling DataChannelServiceBase::process() + */ + virtual bool process() { return true; } + virtual int stopService() = 0; +protected: + std::string infoString; + int sendData(unsigned char* data, unsigned int dataSize, sockaddr_in* recipient=nullptr); +private: + ID channelID; + std::weak_ptr service; +}; + +/** + * \brief API-level data channel info for advertisements and subscription accounting + */ +class DataChannelInfo { +public: + inline DataChannelInfo(DataChannel::ID id, DataChannel::Type type, const std::string& info): channelID(id), channelType(type), infoString(info) { } + inline DataChannel::ID getChannelID() const { return channelID; } + inline DataChannel::Type getChannelType() const { return channelType; } + inline std::string getInfoString() const { return infoString; } +private: + DataChannel::ID channelID; + DataChannel::Type channelType; + std::string infoString; +}; + + + +/** + * \brief Base class for the data service (background sending and receiving, dispatching to channels) + */ +class DataChannelServiceBase: public std::enable_shared_from_this { +public: + DataChannelServiceBase(); + ~DataChannelServiceBase(); + void process(); + DataChannel::ID registerChannel(std::shared_ptr channel); + virtual int sendDataInternal(unsigned char* compiledMessage, unsigned int messageSize, sockaddr_in* recipient); + int sendDataIsolatedPacket(DataChannel::ID id, DataChannel::Type type, unsigned char* data, unsigned int dataSize, sockaddr_in* recipient); + virtual int handleChannel0Message(DataChannelMessage& message, sockaddr_in* sender) = 0; +protected: + std::map > channels; +#ifdef _WIN32 + SOCKET dataChannelSocket; +#else + int dataChannelSocket; +#endif + DataChannelMessage message; +}; + + +}} // namespaces + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.cpp new file mode 100644 index 0000000..0625778 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.cpp @@ -0,0 +1,235 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include + +#include "visiontransfer/deviceenumeration.h" +#include "visiontransfer/exceptions.h" +#include "visiontransfer/networking.h" +#include "visiontransfer/internalinformation.h" + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class DeviceEnumeration::Pimpl { +public: + Pimpl(); + ~Pimpl(); + DeviceInfo* getDevicesPointer(int* numDevices); + +private: + static constexpr int RESPONSE_WAIT_TIME_MS = 50; + SOCKET sock; + std::vector deviceList; + + std::vector findBroadcastAddresses(); + void sendDiscoverBroadcast(); + DeviceEnumeration::DeviceList collectDiscoverResponses(); +}; + +/******************** Stubs for all public members ********************/ + +DeviceEnumeration::DeviceEnumeration(): + pimpl(new Pimpl()) { + // All initialization in the pimpl class +} + +DeviceEnumeration::~DeviceEnumeration() { + delete pimpl; +} + +DeviceInfo* DeviceEnumeration::getDevicesPointer(int* numDevices) { + return pimpl->getDevicesPointer(numDevices); +} + +/******************** Implementation in pimpl class *******************/ + +DeviceEnumeration::Pimpl::Pimpl() { + Networking::initNetworking(); + + // Create socket + if((sock = ::socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) { + TransferException ex("Error creating broadcast socket: " + string(strerror(errno))); + throw ex; + } + + // Set broadcast flag + int broadcastPermission = 1; + if(setsockopt(sock, SOL_SOCKET, SO_BROADCAST, reinterpret_cast(&broadcastPermission), + sizeof(broadcastPermission)) < 0) { + TransferException ex("Error setting socket broadcast flag: " + string(strerror(errno))); + throw ex; + } + + // Set sending and receive timeouts +#ifdef _WIN32 + unsigned int timeout = RESPONSE_WAIT_TIME_MS; +#else + struct timeval timeout; + timeout.tv_sec = 0; + timeout.tv_usec = RESPONSE_WAIT_TIME_MS*1000; +#endif + + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&timeout), sizeof(timeout)); + setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, reinterpret_cast(&timeout), sizeof(timeout)); +} + +DeviceEnumeration::Pimpl::~Pimpl() { + close(sock); +} + +DeviceInfo* DeviceEnumeration::Pimpl::getDevicesPointer(int* numDevices) { + sendDiscoverBroadcast(); + deviceList = collectDiscoverResponses(); + + // Convert vector to simple pointer + *numDevices = deviceList.size(); + return deviceList.data(); +} + +void DeviceEnumeration::Pimpl::sendDiscoverBroadcast() { + std::vector addresses = findBroadcastAddresses(); + for(sockaddr_in addr: addresses) { + addr.sin_port = htons(InternalInformation::DISCOVERY_BROADCAST_PORT); + + if (sendto(sock, InternalInformation::DISCOVERY_BROADCAST_MSG, + sizeof(InternalInformation::DISCOVERY_BROADCAST_MSG)-1, 0, + (struct sockaddr *) &addr, sizeof(addr)) + != sizeof(InternalInformation::DISCOVERY_BROADCAST_MSG)-1) { + throw std::runtime_error("Error sending broadcast message"); + } + } +} + +DeviceEnumeration::DeviceList DeviceEnumeration::Pimpl::collectDiscoverResponses() { + DeviceList ret; + + while(true) { + InternalInformation::DiscoveryMessage msg; + sockaddr_in senderAddress; + socklen_t senderLength = sizeof(senderAddress); + + int received = recvfrom(sock, reinterpret_cast(&msg), sizeof(msg), + 0, (sockaddr *)&senderAddress, &senderLength); + + if(received < 0) { + // There are no more replies + break; + } + bool isLegacy = received == sizeof(InternalInformation::DiscoveryMessageBasic); + if((received != sizeof(msg)) && !isLegacy ) { + // Invalid message + continue; + } + + // Zero terminate version string + char fwVersion[sizeof(msg.firmwareVersion)+1]; + memcpy(fwVersion, msg.firmwareVersion, sizeof(msg.firmwareVersion)); + fwVersion[sizeof(msg.firmwareVersion)] = '\0'; + + DeviceStatus status; + if (!isLegacy) { + // Construct health status report + status = DeviceStatus(msg.lastFps, msg.jumboSize, msg.currentCaptureSource); + } + + // Add to result list + DeviceInfo info( + inet_ntoa(senderAddress.sin_addr), + msg.useTcp ? DeviceInfo::PROTOCOL_TCP : DeviceInfo::PROTOCOL_UDP, + fwVersion, + (DeviceInfo::DeviceModel)msg.model, + msg.protocolVersion == InternalInformation::CURRENT_PROTOCOL_VERSION, + status + ); + ret.push_back(info); + } + + return ret; +} + +std::vector DeviceEnumeration::Pimpl::findBroadcastAddresses() { + std::vector ret; + +#ifndef _WIN32 + // BSD-style implementation + struct ifaddrs * ifap; + if (getifaddrs(&ifap) == 0) { + struct ifaddrs * p = ifap; + while(p) { + if(p->ifa_dstaddr != nullptr && p->ifa_dstaddr->sa_family == AF_INET) { + ret.push_back(*reinterpret_cast(p->ifa_dstaddr)); + } + p = p->ifa_next; + } + freeifaddrs(ifap); + } +#else + // Windows XP style implementation + + // Adapted from example code at http://msdn2.microsoft.com/en-us/library/aa365917.aspx + // Now get Windows' IPv4 addresses table. We gotta call GetIpAddrTable() + // multiple times in order to deal with potential race conditions properly. + MIB_IPADDRTABLE* ipTable = nullptr; + ULONG bufLen = 0; + for (int i=0; i<5; i++) { + DWORD ipRet = GetIpAddrTable(ipTable, &bufLen, false); + if (ipRet == ERROR_INSUFFICIENT_BUFFER) { + if(ipTable != nullptr) { + delete []reinterpret_cast(ipTable); // in case we had previously allocated it + } + ipTable = reinterpret_cast(new unsigned char[bufLen]); + memset(ipTable, 0, bufLen); + } else if (ipRet == NO_ERROR) { + break; + } else { + if(ipTable != nullptr) { + delete []reinterpret_cast(ipTable); + } + break; + } + } + + if (ipTable != nullptr) { + for (DWORD i=0; idwNumEntries; i++) { + const MIB_IPADDRROW & row = ipTable->table[i]; + + uint32_t ipAddr = row.dwAddr; + uint32_t netmask = row.dwMask; + uint32_t baddr = ipAddr & netmask; + if (row.dwBCastAddr) { + baddr |= ~netmask; + } + + sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = baddr; + ret.push_back(addr); + } + + delete []reinterpret_cast(ipTable); + } +#endif + + return ret; +} + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.h new file mode 100644 index 0000000..aa8d9a5 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceenumeration.h @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DEVICEENUMERATION_H +#define VISIONTRANSFER_DEVICEENUMERATION_H + +#include +#include "visiontransfer/common.h" +#include "visiontransfer/deviceinfo.h" + +namespace visiontransfer { + +/** + * \brief Allows for the discovery of devices in the network. + * + * Devices are discovered by transmitting a broad-cast message to all + * network interfaces and then waiting for replies. + */ +class VT_EXPORT DeviceEnumeration { +public: + typedef std::vector DeviceList; + + DeviceEnumeration(); + ~DeviceEnumeration(); + + /** + * \brief Discovers new devices and returns the list of all devices + * that have been found + * \return List of devices found + */ + DeviceList discoverDevices() { + // This code is inlined in order to provide binary compatibility with + // different STL implementations + int numDevices = 0; + DeviceInfo* devices = getDevicesPointer(&numDevices); + std::vector ret(devices, &devices[numDevices]); + return ret; + } + +private: + // We follow the pimpl idiom + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + DeviceEnumeration(const DeviceEnumeration& other); + DeviceEnumeration& operator=(const DeviceEnumeration&); + + DeviceInfo* getDevicesPointer(int* numDevices); +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceinfo.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceinfo.h new file mode 100644 index 0000000..387b865 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceinfo.h @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DEVICEINFO_H +#define VISIONTRANSFER_DEVICEINFO_H + +#include + +namespace visiontransfer { + +/** + * \brief Representation of the current device status / health. + * Useful for addressing issues with peripherals or network transport. + */ +class DeviceStatus { +public: + DeviceStatus() + : lastFps(0.0), jumboSize(0), currentCaptureSource(""), validStatus(false) { } + DeviceStatus(double lastFps, unsigned int jumboSize, const std::string& currentCaptureSource) + : lastFps(lastFps), jumboSize(jumboSize), currentCaptureSource(currentCaptureSource), validStatus(true) { } + bool isValid() const { return validStatus; } + double getLastFps() const { return lastFps; } + unsigned int getJumboMtu() const { return jumboSize; } + unsigned int getJumboFramesEnabled() const { return jumboSize > 0; } + std::string getCurrentCaptureSource() const { return currentCaptureSource; } +private: + double lastFps; // Most recent FPS report, or 0.0 if N/A + unsigned int jumboSize; // Jumbo MTU, or 0 if Jumbo mode disabled + std::string currentCaptureSource; // for targeted instructions + bool validStatus; // whether the status record contains actual data +}; + +/** + * \brief Aggregates information about a discovered device + */ +class DeviceInfo { +public: + enum DeviceModel { + SCENESCAN, + SCENESCAN_PRO, + SCARLET + }; + + enum NetworkProtocol { + PROTOCOL_TCP, + PROTOCOL_UDP + }; + + /** + * \brief Constructs an empty object with default information + */ + DeviceInfo(): ip(""), protocol(PROTOCOL_TCP), fwVersion(""), model(SCENESCAN), + compatible(false) { + } + + /** + * \brief Constructs an object by initializing all members with data + * from the given parameters + * + * \param ip IP address of the discovered device. + * \param protocol Network protocol of the discovered device. + * \param fwVersion Firmware version as string. + * \param model Model of the discovered device + * \param compatible Indicates if the device is compatible with this + * API version. + */ + DeviceInfo(const char* ip, NetworkProtocol protocol, const char* fwVersion, + DeviceModel model, bool compatible) + : ip(ip), protocol(protocol), fwVersion(fwVersion), model(model), + compatible(compatible) { + } + + /** + * \brief Construct DeviceInfo with pre-initialized DeviceStatus field, for received health reports + */ + DeviceInfo(const char* ip, NetworkProtocol protocol, const char* fwVersion, + DeviceModel model, bool compatible, const DeviceStatus& status) + : ip(ip), protocol(protocol), fwVersion(fwVersion), model(model), + compatible(compatible), status(status){ + } + + /** + * \brief Gets the IP address of the device. + * \return Device IP address. + */ + std::string getIpAddress() const {return ip;} + + /** + * \brief Gets the network protocol of the device. + * \return Device network protocol. + * + * Possible network protocols are \c PROTOCOL_TCP or \c PROTOCOL_UDP. + */ + NetworkProtocol getNetworkProtocol() const {return protocol;} + + /** + * \brief Gets the firmware version of the device. + * \return Firmware version encoded as string. + * + * A firmware version string typically consists of a major, minor + * and patch version, like for example "1.2.34". For special + * firmware releases, however, the firmware string might deviate. + */ + std::string getFirmwareVersion() const {return fwVersion;} + + /** + * \brief Gets the model identifier of the discovered device. + * \return The device model. + * + * Currently supported models are \c SCENESCAN, \c SCENESCAN_PRO and + * SCARLET. + */ + DeviceModel getModel() const {return model;} + + /** + * \brief Return the status / health as reported by the device + */ + DeviceStatus getStatus() const { return status; } + + /** + * \brief Returns true if the device is compatible with this API + * version + */ + bool isCompatible() const {return compatible;} + + /** + * \brief Converts this object to a printable string. + * + * All information is concatenated into a readable string, which + * can for example be printed to a terminal. + */ + std::string toString() const { + std::string ret = ip + "; "; + switch(model) { + case SCENESCAN_PRO: ret += "SceneScan Pro"; break; + case SCENESCAN: ret += "SceneScan"; break; + case SCARLET: ret += "Scarlet"; break; + default: ret += "Unknown"; break; + } + + ret += "; " + fwVersion + "; " + (compatible ? "compatible" : "incompatible"); + return ret; + } + + /** + * \brief Comparison operator for comparing two DeviceInfo objects. + */ + bool operator == (const DeviceInfo& other) const { + return ip == other.ip && protocol == other.protocol && fwVersion == other.fwVersion + && model == other.model && compatible == other.compatible; + } + +private: + std::string ip; + NetworkProtocol protocol; + std::string fwVersion; + DeviceModel model; + bool compatible; + // Extended device status / health info + DeviceStatus status; +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.cpp new file mode 100644 index 0000000..7acef23 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.cpp @@ -0,0 +1,261 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include "visiontransfer/deviceparameters.h" +#include "visiontransfer/parametertransfer.h" +#include "visiontransfer/exceptions.h" +#include "visiontransfer/common.h" + +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class DeviceParameters::Pimpl { +public: + Pimpl(const DeviceInfo& device); + Pimpl(const char* address, const char* service); + + int readIntParameter(int id); + double readDoubleParameter(int id); + bool readBoolParameter(int id); + + void writeIntParameter(int id, int value); + void writeDoubleParameter(int id, double value); + void writeBoolParameter(int id, bool value); + + std::map getAllParameters(); + + // this template is selected for non-floating point arguments (i.e. int and bool). + template + void setParameter_impl(StandardParameterIDs::ParameterID id, ParameterInfo::ParameterType type, T value, ...) + { + int cid = static_cast(id); + switch (type) { + case ParameterInfo::TYPE_INT: { + writeIntParameter(cid, static_cast(value)); + break; + } + case ParameterInfo::TYPE_BOOL: { + writeBoolParameter(cid, value != 0); + break; + } + case ParameterInfo::TYPE_DOUBLE: { + writeDoubleParameter(cid, static_cast(value)); + break; + } + } + } + + // this template is selected for floating point arguments + template::value>::type* = nullptr> + void setParameter_impl(StandardParameterIDs::ParameterID id, ParameterInfo::ParameterType type, T value, double) + { + int cid = static_cast(id); + switch (type) { + case ParameterInfo::TYPE_DOUBLE: { + writeDoubleParameter(cid, value); + break; + } + case ParameterInfo::TYPE_INT: { + writeIntParameter(cid, static_cast(value)); + break; + } + case ParameterInfo::TYPE_BOOL: { + writeBoolParameter(cid, value != 0); + break; + } + } + } + + template + void setParameter(StandardParameterIDs::ParameterID id, ParameterInfo::ParameterType type, T t) { + setParameter_impl(id, type, t, double{}); + } + + ParameterInfo getParameter(const std::string& name); + + void lookupIDAndType(const std::string& name, internal::StandardParameterIDs::ParameterID& id, ParameterInfo::ParameterType& type); + +private: + std::map serverSideEnumeration; + + std::map getAllParametersInternal(); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + template + void setNamedParameterInternal(const std::string& name, T value); +#endif + + ParameterTransfer paramTrans; +}; + +/******************** Stubs for all public members ********************/ + +DeviceParameters::DeviceParameters(const DeviceInfo& device): + pimpl(new Pimpl(device)) { + // All initialization in the pimpl class +} + +DeviceParameters::DeviceParameters(const char* address, const char* service): + pimpl(new Pimpl(address, service)) { + // All initialization in the pimpl class +} + +DeviceParameters::~DeviceParameters() { + delete pimpl; +} + +int DeviceParameters::readIntParameter(int id) { + return pimpl->readIntParameter(id); +} + +double DeviceParameters::readDoubleParameter(int id) { + return pimpl->readDoubleParameter(id); +} + +bool DeviceParameters::readBoolParameter(int id) { + return pimpl->readBoolParameter(id); +} + +void DeviceParameters::writeIntParameter(int id, int value) { + pimpl->writeIntParameter(id, value); +} + +void DeviceParameters::writeDoubleParameter(int id, double value) { + pimpl->writeDoubleParameter(id, value); +} + +void DeviceParameters::writeBoolParameter(int id, bool value) { + pimpl->writeBoolParameter(id, value); +} + +void DeviceParameters::Pimpl::lookupIDAndType(const std::string& name, StandardParameterIDs::ParameterID& id, ParameterInfo::ParameterType& type) { + if (serverSideEnumeration.size() == 0) { + // get the server-side parameter list first (which reports the types as well) + (void) getAllParameters(); + } + id = StandardParameterIDs::getParameterIDForName(name); + if (id == StandardParameterIDs::ParameterID::UNDEFINED) { + ParameterException ex("Cannot access parameter with unknown name: " + name); + throw ex; + } + auto it = serverSideEnumeration.find(name); + if (it == serverSideEnumeration.end()) { + ParameterException ex("Server did not report the parameter in the supported list: " + name); + throw ex; + } + type = it->second.getType(); +} + +std::map DeviceParameters::getAllParameters() +{ + return pimpl->getAllParameters(); +} + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +template<> +void VT_EXPORT DeviceParameters::setNamedParameter(const std::string& name, double value) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + pimpl->setParameter(id, type, value); +} +template<> +void VT_EXPORT DeviceParameters::setNamedParameter(const std::string& name, int value) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + pimpl->setParameter(id, type, value); +} +template<> +void VT_EXPORT DeviceParameters::setNamedParameter(const std::string& name, bool value) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + pimpl->setParameter(id, type, value); +} + +template<> +int VT_EXPORT DeviceParameters::getNamedParameter(const std::string& name) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + return pimpl->getParameter(name).getValue(); +} +template<> +double VT_EXPORT DeviceParameters::getNamedParameter(const std::string& name) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + return pimpl->getParameter(name).getValue(); +} +template<> +bool VT_EXPORT DeviceParameters::getNamedParameter(const std::string& name) { + StandardParameterIDs::ParameterID id; + ParameterInfo::ParameterType type; + pimpl->lookupIDAndType(name, id, type); + return pimpl->getParameter(name).getValue(); +} +#endif + +/******************** Implementation in pimpl class *******************/ + +DeviceParameters::Pimpl::Pimpl(const char* address, const char* service) + : paramTrans(address, service) { +} + +DeviceParameters::Pimpl::Pimpl(const DeviceInfo& device) + : paramTrans(device.getIpAddress().c_str(), "7683") { +} + +int DeviceParameters::Pimpl::readIntParameter(int id) { + return paramTrans.readIntParameter(id); +} + +double DeviceParameters::Pimpl::readDoubleParameter(int id) { + return paramTrans.readDoubleParameter(id); +} + +bool DeviceParameters::Pimpl::readBoolParameter(int id) { + return paramTrans.readBoolParameter(id); +} + +void DeviceParameters::Pimpl::writeIntParameter(int id, int value) { + paramTrans.writeIntParameter(id, value); +} + +void DeviceParameters::Pimpl::writeDoubleParameter(int id, double value) { + paramTrans.writeDoubleParameter(id, value); +} + +void DeviceParameters::Pimpl::writeBoolParameter(int id, bool value) { + paramTrans.writeBoolParameter(id, value); +} + +std::map DeviceParameters::Pimpl::getAllParameters() { + serverSideEnumeration = paramTrans.getAllParameters(); + return serverSideEnumeration; +} + + +ParameterInfo DeviceParameters::Pimpl::getParameter(const std::string& name) +{ + return serverSideEnumeration[name]; +} + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.h new file mode 100644 index 0000000..07780f0 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/deviceparameters.h @@ -0,0 +1,1003 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_DEVICEPARAMETERS_H +#define VISIONTRANSFER_DEVICEPARAMETERS_H + +#include "visiontransfer/common.h" +#include "visiontransfer/deviceinfo.h" +#include "visiontransfer/standardparameterids.h" +#include "visiontransfer/parameterinfo.h" + +#include + +namespace visiontransfer { + +/** + * \brief Allows for configuration of the parameters of a Nerian stereo device + * through a network connection. + * + * Parameters are read and written through a TCP connection. Not all + * parameters that are available in the web interface can be configured + * through this class. + * + * If parameters are changed, they are only valid until the device is + * rebooted or until a parameter change is performed through the web + * interface. + * + * Since device parameters should be predictable at all times, + * the functions from this class will internally throw a + * visiontransfer::TransferException in case of network failure + * or device reinitialization during parameter access. Please catch + * this exception if you wish to handle such cases. + */ + +class VT_EXPORT DeviceParameters { +public: + /** + * \brief Connects to parameter server of a Nerian stereo device by using the + * device information from device enumeration. + * + * \param device Information on the device to which a connection should + * be established. + */ + DeviceParameters(const DeviceInfo& device); + + /** + * \brief Connects to parameter server of a Nerian stereo device by using a network + * address. + * + * \param address IP address or host name of the device to which a connection should + * be established. + * \param service The port number that should be used as string or + * as textual service name. + */ + DeviceParameters(const char* address, const char* service = "7683"); + + ~DeviceParameters(); + + // Processing settings + + /** + * \brief Operation modes supported by Nerian stereo devices. + */ + enum OperationMode { + /// The device passes through the input images without modification. + PASS_THROUGH = 0, + + /// The devices outputs the rectified input images. + RECTIFY = 1, + + /// The devices performs stereo matching. + STEREO_MATCHING = 2 + }; + + /** + * \brief Gets the current operation mode. + * \return The current operation mode, which can be PASS_THROUGH, + * RECTIFY or STEREO_MATCHING. + * \see OperationMode + */ + OperationMode getOperationMode() { + return static_cast(readIntParameter(internal::StandardParameterIDs::OPERATION_MODE)); + } + + /** + * \brief Configures the device to a new operation mode. + * \param mode The new operation mode, which can be PASS_THROUGH, + * RECTIFY or STEREO_MATCHING. + * \see OperationMode + */ + void setOperationMode(OperationMode mode) { + writeIntParameter(internal::StandardParameterIDs::OPERATION_MODE, static_cast(mode)); + } + + /** + * \brief Gets the current offset of the evaluated disparity range. + */ + int getDisparityOffset() { + return readIntParameter(internal::StandardParameterIDs::DISPARITY_OFFSET); + } + + /** + * \brief Sets the offset of the evaluated disparity range. + * + * The offset plus the number of disparities must be smaller or equal to 256. + */ + void setDisparityOffset(int offset) { + writeIntParameter(internal::StandardParameterIDs::DISPARITY_OFFSET, offset); + } + + // Algorithmic settings + + /** + * \brief Gets the SGM penalty P1 for small disparity changes at image edges. + */ + int getStereoMatchingP1Edge() { + return readIntParameter(internal::StandardParameterIDs::SGM_P1_EDGE); + } + + /** + * \brief Sets the SGM penalty P1 for small disparity changes at image edges. + * + * This parameter must be in the range of 0 to 255. + */ + void setStereoMatchingP1Edge(int p1) { + writeIntParameter(internal::StandardParameterIDs::SGM_P1_EDGE, p1); + } + + /** + * \brief Gets the SGM penalty P1 for small disparity changes outside image edges. + */ + int getStereoMatchingP1NoEdge() { + return readIntParameter(internal::StandardParameterIDs::SGM_P1_NO_EDGE); + } + + /** + * \brief Sets the SGM penalty P1 for small disparity changes outside image edges. + * + * This parameter must be in the range of 0 to 255. + */ + void setStereoMatchingP1NoEdge(int p1) { + writeIntParameter(internal::StandardParameterIDs::SGM_P1_NO_EDGE, p1); + } + + /** + * \brief Gets the SGM penalty P2 for large disparity changes at image edges. + */ + int getStereoMatchingP2Edge() { + return readIntParameter(internal::StandardParameterIDs::SGM_P2_EDGE); + } + + /** + * \brief Sets the SGM penalty P2 for large disparity changes at image edges. + * + * This parameter must be in the range of 0 to 255. + */ + void setStereoMatchingP2Edge(int p2) { + writeIntParameter(internal::StandardParameterIDs::SGM_P2_EDGE, p2); + } + + /** + * \brief Gets the SGM penalty P2 for large disparity changes at image edges. + */ + int getStereoMatchingP2NoEdge() { + return readIntParameter(internal::StandardParameterIDs::SGM_P2_NO_EDGE); + } + + /** + * \brief Sets the SGM penalty P2 for large disparity changes at image edges. + * + * This parameter must be in the range of 0 to 255. + */ + void setStereoMatchingP2NoEdge(int p2) { + writeIntParameter(internal::StandardParameterIDs::SGM_P2_NO_EDGE, p2); + } + + /** + * \brief Gets the edge sensitivity of the SGM algorithm + */ + int getStereoMatchingEdgeSensitivity() { + return readIntParameter(internal::StandardParameterIDs::SGM_EDGE_SENSITIVITY); + } + + /** + * \brief Sets the edge sensitivity of the SGM algorithm + * + * This parameter must be in the range of 0 to 255. + */ + void setStereoMatchingEdgeSensitivity(int sensitivity) { + writeIntParameter(internal::StandardParameterIDs::SGM_EDGE_SENSITIVITY, sensitivity); + } + + /** + * \brief Returns true if border pixels are removed from the computed + * disparity map. + */ + bool getMaskBorderPixelsEnabled() { + return readBoolParameter(internal::StandardParameterIDs::MASK_BORDER_PIXELS_ENABLED); + } + + /** + * \brief Enables or disables the removal of border pixels from the computed + * disparity map. + */ + void setMaskBorderPixelsEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::MASK_BORDER_PIXELS_ENABLED, enabled); + } + + /** + * \brief Returns true if the consistency check is enabled. + */ + bool getConsistencyCheckEnabled() { + return readBoolParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_ENABLED); + } + + /** + * \brief Enables or disables the consistency check. + */ + void setConsistencyCheckEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_ENABLED, enabled); + } + + /** + * \brief Gets the current sensitivity value for the consistency check. + */ + int getConsistencyCheckSensitivity() { + return readIntParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_SENSITIVITY); + } + + /** + * \brief Sets a new sensitivity value for the consistency check. + * + * This parameter must be in the range of 0 to 15. + */ + void setConsistencyCheckSensitivity(int sensitivity) { + writeIntParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_SENSITIVITY, sensitivity); + } + + /** + * \brief Returns true if the consistency check is enabled. + */ + bool getUniquenessCheckEnabled() { + return readBoolParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_ENABLED); + } + + /** + * \brief Enables or disables the uniqueness check. + */ + void setUniquenessCheckEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_ENABLED, enabled); + } + + /** + * \brief Gets the current sensitivity value for the uniqueness check. + */ + int getUniquenessCheckSensitivity() { + return readIntParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_SENSITIVITY); + } + + /** + * \brief Sets a new sensitivity value for the uniqueness check. + * + * This parameter must be in the range of 0 to 256. + */ + void setUniquenessCheckSensitivity(int sensitivity) { + writeIntParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_SENSITIVITY, sensitivity); + } + + /** + * \brief Returns true if the texture filter is enabled. + */ + bool getTextureFilterEnabled() { + return readBoolParameter(internal::StandardParameterIDs::TEXTURE_FILTER_ENABLED); + } + + /** + * \brief Enables or disables the texture filter. + */ + void setTextureFilterEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::TEXTURE_FILTER_ENABLED, enabled); + } + + /** + * \brief Gets the current sensitivity value for the texture filter. + */ + int getTextureFilterSensitivity() { + return readIntParameter(internal::StandardParameterIDs::TEXTURE_FILTER_SENSITIVITY); + } + + /** + * \brief Sets a new sensitivity value for the texture filter. + * + * This parameter must be in the range of 0 to 63. + */ + void setTextureFilterSensitivity(int sensitivity) { + writeIntParameter(internal::StandardParameterIDs::TEXTURE_FILTER_SENSITIVITY, sensitivity); + } + + /** + * \brief Returns true if the texture gap interpolation is enabled. + */ + bool getGapInterpolationEnabled() { + return readBoolParameter(internal::StandardParameterIDs::GAP_INTERPOLATION_ENABLED); + } + + /** + * \brief Enables or disables the gap interpolation. + */ + void setGapInterpolationEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::GAP_INTERPOLATION_ENABLED, enabled); + } + + /** + * \brief Returns true if the noise reduction filter is enabled. + */ + bool getNoiseReductionEnabled() { + return readBoolParameter(internal::StandardParameterIDs::NOISE_REDUCTION_ENABLED); + } + + /** + * \brief Enables or disables the noise reduction filter. + */ + void setNoiseReductionEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::NOISE_REDUCTION_ENABLED, enabled); + } + + /** + * \brief Returns true if the speckle filter is enabled. + */ + int getSpeckleFilterIterations() { + return readIntParameter(internal::StandardParameterIDs::SPECKLE_FILTER_ITERATIONS); + } + + /** + * \brief Enables or disables the speckle filter. + */ + void setSpeckleFilterIterations(int iter) { + writeIntParameter(internal::StandardParameterIDs::SPECKLE_FILTER_ITERATIONS, iter); + } + + // Exposure and gain settings + + /** + * \brief Possible modes of the automatic exposure and gain control. + */ + enum AutoMode { + /// Both, exposure and gain are automatically adjusted + AUTO_EXPOSURE_AND_GAIN = 0, + + /// Only exposure is automatically adjusted, gain is set manually + AUTO_EXPOSURE_MANUAL_GAIN = 1, + + /// Only gain is automatically adjusted, exposure is set manually + MANUAL_EXPOSORE_AUTO_GAIN = 2, + + /// Both, exposure and gain are set manually + MANUAL_EXPOSURE_MANUAL_GAIN = 3 + }; + + /** + * \brief Gets the current mode of the automatic exposure and gain control. + * \see AutoMode + */ + AutoMode getAutoMode() { + return static_cast(readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_MODE)); + } + + /** + * \brief Sets the current mode of the automatic exposure and gain control. + * \see AutoMode + */ + void setAutoMode(AutoMode mode) { + writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_MODE, static_cast(mode)); + } + + /** + * \brief Gets the target image intensity of the automatic exposure and gain control + * \return The target intensity. + * + * Intensities are measured from 0.0 to 1.0, with 0.0 being the darkest, + * and 1.0 the brightest possible pixel intensity. + */ + double getAutoTargetIntensity() { + return readDoubleParameter(internal::StandardParameterIDs::AUTO_TARGET_INTENSITY); + } + + /** + * \brief Sets the target image intensity of the automatic exposure and gain control + * \param intensity The new target intensity. + * + * Intensities are measured from 0.0 to 1.0, with 0.0 being the darkest, + * and 1.0 the brightest possible pixel intensity. + */ + void setAutoTargetIntensity(double intensity) { + writeDoubleParameter(internal::StandardParameterIDs::AUTO_TARGET_INTENSITY, intensity); + } + + /** + * \brief Gets the minimum intensity change that is required for adjusting + * the camera settings. + * + * Intensity values are relatively to the target intensity. A value of + * 0.01 represents a change of 1%. + */ + double getAutoIntensityDelta() { + return readDoubleParameter(internal::StandardParameterIDs::AUTO_INTENSITY_DELTA); + } + + /** + * \brief Sets the minimum intensity change that is required for adjusting + * the camera settings. + * + * Intensity values are relatively to the target intensity. A value of + * 0.01 represents a change of 1%. + */ + void setAutoIntensityDelta(double delta) { + writeDoubleParameter(internal::StandardParameterIDs::AUTO_INTENSITY_DELTA, delta); + } + + /** + * \brief Possible options for the target frame selection of the + * automatic exposure and gain control. + */ + enum TargetFrame { + /// Control using only the left frame + LEFT_FRAME = 0, + + /// Control using only the right frame + RIGHT_FRAME = 1, + + /// Control using both frames + BOTH_FRAMES = 2, + }; + + /** + * \brief Gets the selected target frame for automatic exposure and gain control. + * \see TargetFrame + */ + TargetFrame getAutoTargetFrame() { + return static_cast(readIntParameter(internal::StandardParameterIDs::AUTO_TARGET_FRAME)); + } + + /** + * \brief Selects the target frame for automatic exposure and gain control. + * \see TargetFrame + */ + void setAutoTargetFrame(TargetFrame target) { + writeIntParameter(internal::StandardParameterIDs::AUTO_TARGET_FRAME, static_cast(target)); + } + + /** + * \brief Gets the current interval at which the automatic exposure and gain control is run. + * + * The return value indicates the number of skipped frames between each + * adjustment. Typically a value > 0 is desired to give the cameras enough + * time to react to the new setting. + */ + int getAutoSkippedFrames() { + return readIntParameter(internal::StandardParameterIDs::AUTO_SKIPPED_FRAMES); + } + + /** + * \brief Sets the current interval at which the automatic exposure and gain control is run. + * + * The return value indicates the number of skipped frames between each + * adjustment. Typically a value > 0 is desired to give the cameras enough + * time to react to the new setting. + */ + void setAutoSkippedFrames(int skipped) { + writeIntParameter(internal::StandardParameterIDs::AUTO_SKIPPED_FRAMES, skipped); + } + + /** + * \brief Gets the maximum exposure time that can be selected automatically. + * \return Maximum exposure time in microseconds. + */ + double getAutoMaxExposureTime() { + return readDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_EXPOSURE_TIME); + } + + /** + * \brief Sets the maximum exposure time that can be selected automatically. + * \param time Maximum exposure time in microseconds. + */ + void setAutoMaxExposureTime(double time) { + writeDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_EXPOSURE_TIME, time); + } + + /** + * \brief Gets the maximum gain that can be selected automatically. + * \return Maximum gain in dB. + */ + double getAutoMaxGain() { + return readDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_GAIN); + } + + /** + * \brief Gets the maximum gain that can be selected automatically. + * \param gain Maximum gain in dB. + */ + void setAutoMaxGain(double gain) { + writeDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_GAIN, gain); + } + + /** + * \brief Gets the manually selected exposure time. + * \return Exposure time in microseconds. + * + * This parameter is only relevant if the auto mode is set to + * MANUAL_EXPOSORE_AUTO_GAIN or MANUAL_EXPOSURE_MANUAL_GAIN. + * + * \see setAutoMode + */ + double getManualExposureTime() { + return readDoubleParameter(internal::StandardParameterIDs::MANUAL_EXPOSURE_TIME); + } + + /** + * \brief Sets the manually selected exposure time. + * \param time Exposure time in microseconds. + * + * This parameter is only relevant if the auto mode is set to + * MANUAL_EXPOSORE_AUTO_GAIN or MANUAL_EXPOSURE_MANUAL_GAIN. + * + * \see setAutoMode + */ + void setManualExposureTime(double time) { + writeDoubleParameter(internal::StandardParameterIDs::MANUAL_EXPOSURE_TIME, time); + } + + /** + * \brief Gets the manually selected gain. + * \return Gain in dB. + * + * This parameter is only relevant if the auto mode is set to + * AUTO_EXPOSORE_MANUAL_GAIN or MANUAL_EXPOSURE_MANUAL_GAIN. + * + * \see setAutoMode + */ + double getManualGain() { + return readDoubleParameter(internal::StandardParameterIDs::MANUAL_GAIN); + } + + /** + * \brief Sets the manually selected gain. + * \param gain Gain in dB. + * + * This parameter is only relevant if the auto mode is set to + * AUTO_EXPOSORE_MANUAL_GAIN or MANUAL_EXPOSURE_MANUAL_GAIN. + * + * \see setAutoMode + */ + void setManualGain(double gain) { + writeDoubleParameter(internal::StandardParameterIDs::MANUAL_GAIN, gain); + } + + /** + * \brief Returns true if an ROI for automatic exposure and gain control is enabled. + */ + bool getAutoROIEnabled() { + return readBoolParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_ENABLED); + } + + /** + * \brief Enables or disables an ROI for automatic exposure and gain control. + */ + void setAutoROIEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_ENABLED, enabled); + } + + /** + * \brief Gets the configured ROI for automatic exposure and gain control. + * + * \param x Horizontal offset of the ROI from the image center. A value + * of 0 means the ROI is horizontally centered. + * \param y Vertical offset of the ROI from the image center. A value + * of 0 means the ROI is vertically centered. + * \param width Width of the ROI. + * \param height Height of the ROI. + * + * The ROI must be enabled with setAutoROIEnabled() before it is considered + * for exposure or gain control. + */ + void getAutoROI(int& x, int& y, int& width, int& height) { + x = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_X); + y = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_Y); + width = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_WIDTH); + height = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_HEIGHT); + } + + /** + * \brief Sets the configured ROI for automatic exposure and gain control. + * + * \param x Horizontal offset of the ROI from the image center. A value + * of 0 means the ROI is horizontally centered. + * \param y Vertical offset of the ROI from the image center. A value + * of 0 means the ROI is vertically centered. + * \param width Width of the ROI. + * \param height Height of the ROI. + * + * The ROI must be enabled with setAutoROIEnabled() before it is considered + * for exposure or gain control. + */ + void setAutoROI(int x, int y, int width, int height) { + writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_X, x); + writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_Y, y); + writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_WIDTH, width); + writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_HEIGHT, height); + } + + // Trigger and pairing settings + + /** + * \brief Gets the maximum allowed time difference between two corresponding + * frames. + * \return Time difference in milliseconds. A value of -1 corresponds to automatic + * pairing. + */ + int getMaxFrameTimeDifference() { + return readIntParameter(internal::StandardParameterIDs::MAX_FRAME_TIME_DIFFERENCE_MS); + } + + /** + * \brief Sets the maximum allowed time difference between two corresponding + * frames. + * \param diffMs Time difference in milliseconds. If automatic pairing is desired, + * a value of -1 should be set. + */ + void setMaxFrameTimeDifference(int diffMs) { + writeIntParameter(internal::StandardParameterIDs::MAX_FRAME_TIME_DIFFERENCE_MS, diffMs); + } + + /** + * \brief Gets the frequency of the trigger signal. + * \return Frequency in Hz. + */ + double getTriggerFrequency() { + return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_FREQUENCY); + } + + /** + * \brief Sets the frequency of the trigger signal. + * \param freq Frequency in Hz. + */ + void setTriggerFrequency(double freq) { + writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_FREQUENCY, freq); + } + + /** + * \brief Returns true if trigger signal 0 is enabled. + */ + bool getTrigger0Enabled() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_ENABLED); + } + + /** + * \brief Enables or disables trigger signal 0. + */ + void setTrigger0Enabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_ENABLED, enabled); + } + + /** + * \brief Returns the constant value that is output when trigger 0 is disabled + */ + bool getTrigger0Constant() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_CONSTANT); + } + + /** + * \brief Sets the constant value that is output when trigger 0 is disabled + */ + void setTrigger0Constant(bool on) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_CONSTANT, on); + } + + /** + * \brief Returns false if trigger0 polarity is active-high (non-inverted) and + * false if polarity is active-low (inverted) + */ + bool getTrigger0Polarity() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_POLARITY); + } + + /** + * \brief Sets the polarity for trigger0. If invert is false, the polarity + * is active-high (non-inverted). Otherwise the polarity is active-low (inverted). + */ + void setTrigger0Polarity(bool invert) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_POLARITY, invert); + } + + /** + * \brief Returns true if trigger signal 1 is enabled. + */ + bool getTrigger1Enabled() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_ENABLED); + } + + /** + * \brief Enables or disables trigger signal 1. + */ + void setTrigger1Enabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_ENABLED, enabled); + } + + /** + * \brief Returns the constant value that is output when trigger 1 is disabled + */ + bool getTrigger1Constant() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_CONSTANT); + } + + /** + * \brief Sets the constant value that is output when trigger 1 is disabled + */ + void setTrigger1Constant(bool on) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_CONSTANT, on); + } + + /** + * \brief Returns false if trigger1 polarity is active-high (non-inverted) and + * false if polarity is active-low (inverted) + */ + bool getTrigger1Polarity() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_POLARITY); + } + + /** + * \brief Sets the polarity for trigger1. If invert is false, the polarity + * is active-high (non-inverted). Otherwise the polarity is active-low (inverted). + */ + void setTrigger1Polarity(bool invert) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_POLARITY, invert); + } + + /** + * \brief Gets the pulse width of trigger signal 0. + * \param pulse For a cyclic pulse width configuration, this is the index + * of the pulse for which to return the width. Valid values + * are 0 to 7. + * \return Pulse width in milliseconds. + */ + double getTrigger0PulseWidth(int pulse=0) { + switch(pulse) { + case 0: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0_PULSE_WIDTH); + case 1: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0B_PULSE_WIDTH); + case 2: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0C_PULSE_WIDTH); + case 3: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0D_PULSE_WIDTH); + case 4: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0E_PULSE_WIDTH); + case 5: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0F_PULSE_WIDTH); + case 6: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0G_PULSE_WIDTH); + case 7: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0H_PULSE_WIDTH); + default: return -1; + } + } + + /** + * \brief Sets the pulse width of trigger signal 0. + * \param width Pulse width in milliseconds. + * \param pulse For a cyclic pulse width configuration, this is the index + * of the pulse for which to set the width. Valid values + * are 0 to 7. + */ + void setTrigger0PulseWidth(double width, int pulse=0) { + switch(pulse) { + case 0: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0_PULSE_WIDTH, width);break; + case 1: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0B_PULSE_WIDTH, width);break; + case 2: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0C_PULSE_WIDTH, width);break; + case 3: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0D_PULSE_WIDTH, width);break; + case 4: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0E_PULSE_WIDTH, width);break; + case 5: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0F_PULSE_WIDTH, width);break; + case 6: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0G_PULSE_WIDTH, width);break; + case 7: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0H_PULSE_WIDTH, width);break; + default: return; + } + } + + /** + * \brief Gets the pulse width of trigger signal 1. + * \param pulse For a cyclic pulse width configuration, this is the index + * of the pulse for which to return the width. Valid values + * are 0 to 7. + * \return Pulse width in milliseconds. + */ + double getTrigger1PulseWidth(int pulse=0) { + switch(pulse) { + case 0: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_PULSE_WIDTH); + case 1: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1B_PULSE_WIDTH); + case 2: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1C_PULSE_WIDTH); + case 3: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1D_PULSE_WIDTH); + case 4: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1E_PULSE_WIDTH); + case 5: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1F_PULSE_WIDTH); + case 6: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1G_PULSE_WIDTH); + case 7: return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1H_PULSE_WIDTH); + default: return -1; + } + } + + /** + * \brief Sets the pulse width of trigger signal 1. + * \param width Pulse width in milliseconds. + * \param pulse For a cyclic pulse width configuration, this is the index + * of the pulse for which to set the width. Valid values + * are 0 to 7. + */ + void setTrigger1PulseWidth(double width, int pulse=0) { + switch(pulse) { + case 0: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_PULSE_WIDTH, width);break; + case 1: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1B_PULSE_WIDTH, width);break; + case 2: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1C_PULSE_WIDTH, width);break; + case 3: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1D_PULSE_WIDTH, width);break; + case 4: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1E_PULSE_WIDTH, width);break; + case 5: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1F_PULSE_WIDTH, width);break; + case 6: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1G_PULSE_WIDTH, width);break; + case 7: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1H_PULSE_WIDTH, width);break; + default: return; + } + } + + /** + * \brief Gets the time offset between trigger signal 1 and signal 0. + * \return Offset in milliseconds. + */ + double getTrigger1Offset() { + return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_OFFSET); + } + + /** + * \brief Sets the time offset between trigger signal 1 and signal 0. + * \param offset Offset in milliseconds. + */ + void setTrigger1Offset(double offset) { + writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_OFFSET, offset); + } + + /** + * \brief Returns true if the extgernal trigger input is enabled. + */ + bool getInput() { + return readBoolParameter(internal::StandardParameterIDs::TRIGGER_INPUT); + } + + /** + * \brief Enables or disables the external trigger input + */ + void setTrigger1Offset(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::TRIGGER_INPUT, enabled); + } + + + // Auto calibration parameters + + /** + * \brief Returns true if auto re-calibration is enabled. + */ + bool getAutoRecalibrationEnabled() { + return readBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_ENABLED); + } + + /** + * \brief Enables or disables auto-recalibration. + */ + void setAutoRecalibrationEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_ENABLED, enabled); + } + + /** + * \brief Returns true if persistent storage of auto re-calibration results is enabled. + */ + bool getSaveAutoRecalibration() { + return readBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_PERMANENT); + } + + /** + * \brief Enables or disables persistent storage of auto re-calibration results. + */ + void setSaveAutoRecalibration(bool save) { + writeBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_PERMANENT, save); + } + + /** + * \brief Returns true if an ROI for the subpixel optimization algorithm is enabled + * (otherwise complete frames are used for optimization). + */ + bool getSubpixelOptimizationROIEnabled() { + return readBoolParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_ENABLED); + } + + /** + * \brief Enables or disables an ROI for the subpixel optimization algorithm. + * (if disabled, complete frames are used for optimization). + */ + void setSubpixelOptimizationROIEnabled(bool enabled) { + writeBoolParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_ENABLED, enabled); + } + + /** + * \brief Gets the configured ROI for the subpixel optimization algorithm. + * + * \param x Horizontal offset of the ROI from the image center. A value + * of 0 means the ROI is horizontally centered. + * \param y Vertical offset of the ROI from the image center. A value + * of 0 means the ROI is vertically centered. + * \param width Width of the ROI. + * \param height Height of the ROI. + * + * The ROI must be enabled with setSubpixelOptimizationROIEnabled(), otherwise the + * optimization algorithm will consider the full images. + */ + void getSubpixelOptimizationROI(int& x, int& y, int& width, int& height) { + x = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_X); + y = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_Y); + width = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_WIDTH); + height = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_HEIGHT); + } + + /** + * \brief Sets the configured ROI for the subpixel optimization algorithm. + * + * \param x Horizontal offset of the ROI from the image center. A value + * of 0 means the ROI is horizontally centered. + * \param y Vertical offset of the ROI from the image center. A value + * of 0 means the ROI is vertically centered. + * \param width Width of the ROI. + * \param height Height of the ROI. + * + * The ROI must be enabled with setSubpixelOptimizationROIEnabled(), otherwise the + * optimization algorithm will consider the full images. + */ + void setSubpixelOptimizationROI(int x, int y, int width, int height) { + writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_X, x); + writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_Y, y); + writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_WIDTH, width); + writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_HEIGHT, height); + } + + /** + * \brief Remotely triggers a reboot of the device + */ + void reboot() { + writeBoolParameter(internal::StandardParameterIDs::REBOOT, true); + } + + /** + * \brief Enumerates all parameters as reported by the device + * \return A map associating available parameter names with visiontransfer::ParameterInfo entries + */ + std::map getAllParameters(); + + /** + * \brief Set a parameter by name. ParameterException for invalid names. + */ + template + void setNamedParameter(const std::string& name, T value); + + /** + * \brief Get a parameter by name, specifying the return type (int, double or bool). ParameterException for invalid names. + */ + template + T getNamedParameter(const std::string& name); + +private: + // We (mostly) follow the pimpl idiom here + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + DeviceParameters(const DeviceParameters& other); + DeviceParameters& operator=(const DeviceParameters& other); + + // Generic functions for reading parameters + int readIntParameter(int id); + double readDoubleParameter(int id); + bool readBoolParameter(int id); + + // Generic functions for writing parameters + void writeIntParameter(int id, int value); + void writeDoubleParameter(int id, double value); + void writeBoolParameter(int id, bool value); + +}; + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +// For source compatibility +DEPRECATED("Use DeviceParameters instead.") +typedef DeviceParameters SceneScanParameters; +#endif + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/exceptions.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/exceptions.h new file mode 100644 index 0000000..1c3cf7a --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/exceptions.h @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_EXCEPTIONS_H +#define VISIONTRANSFER_EXCEPTIONS_H + +#include + +namespace visiontransfer { + +/** + * \brief Exception class that is used for all protocol exceptions. + */ +class ProtocolException: public std::runtime_error { +public: + ProtocolException(std::string msg): std::runtime_error(msg) {} +}; + +/** + * \brief Exception class that is used for all transfer exceptions. + */ +class TransferException: public std::runtime_error { +public: + TransferException(std::string msg): std::runtime_error(msg) {} +}; + +/** + * \brief Exception class that is used for all parameter-related exceptions. + */ +class ParameterException: public std::runtime_error { +public: + ParameterException(std::string msg): std::runtime_error(msg) {} +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagepair.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagepair.h new file mode 100644 index 0000000..4103309 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagepair.h @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_IMAGEPAIR_H +#define VISIONTRANSFER_IMAGEPAIR_H + +#include "visiontransfer/imageset.h" + +#pragma message "DEPRECATION NOTICE: imagepair.h and ImagePair are deprecated in favor of imageset.h and ImageSet" + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.cpp new file mode 100644 index 0000000..0a59684 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.cpp @@ -0,0 +1,962 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include "visiontransfer/imageprotocol.h" +#include "visiontransfer/alignedallocator.h" +#include "visiontransfer/datablockprotocol.h" +#include "visiontransfer/exceptions.h" +#include "visiontransfer/bitconversions.h" +#include "visiontransfer/internalinformation.h" + +// Network headers +#ifdef _WIN32 + #ifndef NOMINMAX + #define NOMINMAX + #endif + #include +#else + #include +#endif + +#define LOG_WARN(expr) +//#define LOG_WARN(expr) std::cerr << "DataBlockProtocol: " << expr << std::endl + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class ImageProtocol::Pimpl { +public: + + static const int IMAGE_HEADER_OFFSET = sizeof(DataBlockProtocol::HeaderPreamble) + 10; + + Pimpl(bool server, ProtocolType protType, int maxUdpPacketSize); + + // Redeclaration of public members + void setTransferImageSet(const ImageSet& imageSet); + void setRawTransferData(const ImageSet& metaData, const std::vector& rawData, + int firstTileWidth = 0, int middleTilesWidth = 0, int lastTileWidth = 0, int validBytes = 0x7FFFFFFF); + void setRawValidBytes(const std::vector& validBytesVec); + const unsigned char* getTransferMessage(int& length); + bool transferComplete(); + void resetTransfer(); + bool getReceivedImageSet(ImageSet& imageSet); + bool getPartiallyReceivedImageSet(ImageSet& imageSet, + int& validRows, bool& complete); + bool imagesReceived() const; + + unsigned char* getNextReceiveBuffer(int& maxLength); + + void processReceivedMessage(int length); + int getProspectiveMessageSize(); + int getNumDroppedFrames() const; + void resetReception(); + bool isConnected() const; + const unsigned char* getNextControlMessage(int& length); + bool newClientConnected(); + + std::string statusReport(); + +private: + unsigned short MAGIC_SEQUECE = 0x3D15; + + // Header data transferred in the first packet +#pragma pack(push,1) + struct HeaderDataLegacy { + unsigned short magic; + + unsigned char protocolVersion; + unsigned char isRawImagePair_OBSOLETE; + + unsigned short width; + unsigned short height; + + unsigned short firstTileWidth; + unsigned short lastTileWidth; + + unsigned char format0; + unsigned char format1; + unsigned short minDisparity; + unsigned short maxDisparity; + unsigned char subpixelFactor; + + unsigned int seqNum; + int timeSec; + int timeMicrosec; + + float q[16]; + + unsigned short middleTilesWidth; + }; + // Header data v2: extensible and forwards-compatible + struct HeaderDataV2: public HeaderDataLegacy { + unsigned short totalHeaderSize; + unsigned short flags; + unsigned char numberOfImages; + unsigned char format2; + enum FlagBits { + NEW_STYLE_TRANSFER = 1, + HEADER_V3 = 2, + HEADER_V4 = 4, + // future protocol extensions should mark a new bit here + }; + }; + // Header data v3, adds arbitrary image channel assignments + struct HeaderDataV3: public HeaderDataV2 { + // HEADER_V3 bit implies that this extension is present, + // declaring arbitrary channel roles for each of numberOfImages active channels. + // If not present, is it an old sender that always sends two images + // (channel 0: left, channel 1: right or disparity (if active)) + unsigned char imageTypes[8]; + }; + // Header data v4, adds exposure time and sync pulse + struct HeaderData: public HeaderDataV3 { + int exposureTime; // exposure time in microseconds + int lastSyncPulseSec; + int lastSyncPulseMicrosec; + }; +#pragma pack(pop) + + // Underlying protocol for data transfers + DataBlockProtocol dataProt; + ProtocolType protType; + + // Transfer related variables + std::vector headerBuffer; + + // Reception related variables + std::vector >decodeBuffer[ImageSet::MAX_SUPPORTED_IMAGES]; + bool receiveHeaderParsed; + HeaderData receiveHeader; + int lastReceivedPayloadBytes[ImageSet::MAX_SUPPORTED_IMAGES]; + bool receptionDone; + + // Copies the transmission header to the given buffer + void copyHeaderToBuffer(const ImageSet& imageSet, int firstTileWidth, + int middleTilesWidth, int lastTileWidth, unsigned char* buffer); + + // Decodes header information from the received data + void tryDecodeHeader(const unsigned char* receivedData, int receivedBytes); + + // Decodes a received image from a non-interleaved buffer + unsigned char* decodeNoninterleaved(int imageNumber, int numImages, int receivedBytes, + unsigned char* data, int& validRows, int& rowStride); + + // Decodes a received image from an interleaved buffer + unsigned char* decodeInterleaved(int imageNumber, int numImages, int receivedBytes, + unsigned char* data, int& validRows, int& rowStride); + + int getNumTiles(int width, int firstTileWidth, int middleTilesWidth, int lastTileWidth); + + int getFrameSize(int width, int height, int firstTileWidth, int middleTilesWidth, + int lastTileWidth, int totalBits); + + int getFormatBits(ImageSet::ImageFormat format, bool afterDecode); + + void decodeTiledImage(int imageNumber, int lastReceivedPayloadBytes, int receivedPayloadBytes, + const unsigned char* data, int firstTileStride, int middleTilesStride, int lastTileStride, + int& validRows, ImageSet::ImageFormat format, bool dataIsInterleaved); + + void decodeRowsFromTile(int startRow, int stopRow, unsigned const char* src, + unsigned char* dst, int srcStride, int dstStride, int tileWidth); + + void allocateDecodeBuffer(int imageNumber); +}; + + +/******************** Stubs for all public members ********************/ + +ImageProtocol::ImageProtocol(bool server, ProtocolType protType, int maxUdpPacketSize) + : pimpl(new Pimpl(server, protType, maxUdpPacketSize)) { + // All initializations are done by the Pimpl class +} + +ImageProtocol::~ImageProtocol() { + delete pimpl; +} + +void ImageProtocol::setTransferImageSet(const ImageSet& imageSet) { + pimpl->setTransferImageSet(imageSet); +} + +void ImageProtocol::setRawTransferData(const ImageSet& metaData, const std::vector& imageData, + int firstTileWidth, int middleTilesWidth, int lastTileWidth, int validBytes) { + pimpl->setRawTransferData(metaData, imageData, firstTileWidth, middleTilesWidth, lastTileWidth, validBytes); +} + +void ImageProtocol::setRawValidBytes(const std::vector& validBytesVec) { + pimpl->setRawValidBytes(validBytesVec); +} + +const unsigned char* ImageProtocol::getTransferMessage(int& length) { + return pimpl->getTransferMessage(length); +} + +bool ImageProtocol::transferComplete() { + return pimpl->transferComplete(); +} + +void ImageProtocol::resetTransfer() { + pimpl->resetTransfer(); +} + +bool ImageProtocol::getReceivedImageSet(ImageSet& imageSet) { + return pimpl->getReceivedImageSet(imageSet); +} + +bool ImageProtocol::getPartiallyReceivedImageSet( + ImageSet& imageSet, int& validRows, bool& complete) { + return pimpl->getPartiallyReceivedImageSet(imageSet, validRows, complete); +} + +bool ImageProtocol::imagesReceived() const { + return pimpl->imagesReceived(); +} + +unsigned char* ImageProtocol::getNextReceiveBuffer(int& maxLength) { + return pimpl->getNextReceiveBuffer(maxLength); +} + +void ImageProtocol::processReceivedMessage(int length) { + pimpl->processReceivedMessage(length); +} + +int ImageProtocol::getNumDroppedFrames() const { + return pimpl->getNumDroppedFrames(); +} + +void ImageProtocol::resetReception() { + pimpl->resetReception(); +} + +bool ImageProtocol::isConnected() const { + return pimpl->isConnected(); +} + +const unsigned char* ImageProtocol::getNextControlMessage(int& length) { + return pimpl->getNextControlMessage(length); +} + +bool ImageProtocol::newClientConnected() { + return pimpl->newClientConnected(); +} + +/******************** Implementation in pimpl class *******************/ + +ImageProtocol::Pimpl::Pimpl(bool server, ProtocolType protType, int maxUdpPacketSize) + :dataProt(server, (DataBlockProtocol::ProtocolType)protType, + maxUdpPacketSize), protType(protType), + receiveHeaderParsed(false), lastReceivedPayloadBytes{0}, + receptionDone(false) { + headerBuffer.resize(sizeof(HeaderData) + 128); + memset(&headerBuffer[0], 0, sizeof(headerBuffer.size())); + memset(&receiveHeader, 0, sizeof(receiveHeader)); +} + +void ImageProtocol::Pimpl::setTransferImageSet(const ImageSet& imageSet) { + for (int i=0; i encodingBuffer[ImageSet::MAX_SUPPORTED_IMAGES]; + + for(int i = 0; i(pixelData[i])); // these are always reserved memory or untile buffers + } +} + +void ImageProtocol::Pimpl::setRawTransferData(const ImageSet& metaData, const std::vector& rawData, + int firstTileWidth, int middleTilesWidth, int lastTileWidth, int validBytes) { + if(static_cast(rawData.size()) != metaData.getNumberOfImages()) { + throw ProtocolException("Mismatch between metadata and number of image buffers!"); + } + + // Set header as first piece of data + copyHeaderToBuffer(metaData, firstTileWidth, middleTilesWidth, lastTileWidth, &headerBuffer[IMAGE_HEADER_OFFSET]); + dataProt.resetTransfer(); + int numTransferBlocks = metaData.getNumberOfImages(); + dataProt.setTransferHeader(&headerBuffer[IMAGE_HEADER_OFFSET], sizeof(HeaderData), numTransferBlocks); + // Now set the size per channel (replaces old final size argument to setTransferHeader() + for (int i=0; i& validBytesVec) { + for (int i=0; i(validBytesVec.size()); ++i) { + dataProt.setTransferValidBytes(i, validBytesVec[i]); + } +} + +const unsigned char* ImageProtocol::Pimpl::getTransferMessage(int& length) { + const unsigned char* msg = dataProt.getTransferMessage(length); + + if(msg == nullptr) { + msg = dataProt.getTransferMessage(length); + } + + return msg; +} + +bool ImageProtocol::Pimpl::transferComplete() { + return dataProt.transferComplete(); +} + +int ImageProtocol::Pimpl::getNumTiles(int width, int firstTileWidth, int middleTilesWidth, int lastTileWidth) { + if(lastTileWidth == 0) { + return 1; + } else if(middleTilesWidth == 0) { + return 2; + } else { + int tileWidth = firstTileWidth + lastTileWidth - middleTilesWidth; + return (width - 2*tileWidth + firstTileWidth + lastTileWidth) / (firstTileWidth + lastTileWidth - tileWidth); + } +} + +int ImageProtocol::Pimpl::getFrameSize(int width, int height, int firstTileWidth, + int middleTilesWidth, int lastTileWidth, int totalBits) { + return (width * height * totalBits) /8; +} + +int ImageProtocol::Pimpl::getFormatBits(ImageSet::ImageFormat format, bool afterDecode) { + if(afterDecode) { + return ImageSet::getBytesPerPixel(format)*8; + } else { + switch(format) { + case ImageSet::FORMAT_8_BIT_MONO: return 8; + case ImageSet::FORMAT_12_BIT_MONO: return 12; + case ImageSet::FORMAT_8_BIT_RGB: return 24; + default: throw ProtocolException("Illegal pixel format!"); + } + } +} + +void ImageProtocol::Pimpl::copyHeaderToBuffer(const ImageSet& imageSet, + int firstTileWidth, int middleTilesWidth, int lastTileWidth, unsigned char* buffer) { + int timeSec = 0, timeMicrosec = 0; + HeaderData* transferHeader = reinterpret_cast(buffer); + + memset(transferHeader, 0, sizeof(*transferHeader)); + transferHeader->magic = htons(MAGIC_SEQUECE); + transferHeader->protocolVersion = InternalInformation::CURRENT_PROTOCOL_VERSION; + transferHeader->isRawImagePair_OBSOLETE = 0; + transferHeader->width = htons(imageSet.getWidth()); + transferHeader->height = htons(imageSet.getHeight()); + transferHeader->firstTileWidth = htons(firstTileWidth); + transferHeader->lastTileWidth = htons(lastTileWidth); + transferHeader->middleTilesWidth = htons(middleTilesWidth); + transferHeader->format0 = static_cast(imageSet.getPixelFormat(0)); + transferHeader->format1 = (imageSet.getNumberOfImages() <= 1) ? 0 : static_cast(imageSet.getPixelFormat(1)); + transferHeader->seqNum = static_cast(htonl(imageSet.getSequenceNumber())); + transferHeader->format2 = (imageSet.getNumberOfImages() <= 2) ? 0 : static_cast(imageSet.getPixelFormat(2)); + transferHeader->numberOfImages = static_cast(imageSet.getNumberOfImages()); + transferHeader->exposureTime = htonl(imageSet.getExposureTime()); + + imageSet.getLastSyncPulse(timeSec, timeMicrosec); + transferHeader->lastSyncPulseSec = htonl(timeSec); + transferHeader->lastSyncPulseMicrosec = htonl(timeMicrosec); + + transferHeader->totalHeaderSize = htons(sizeof(HeaderData)); + transferHeader->flags = htons(HeaderData::FlagBits::NEW_STYLE_TRANSFER | HeaderData::FlagBits::HEADER_V3 + | HeaderData::FlagBits::HEADER_V4); + + int minDisp = 0, maxDisp = 0; + imageSet.getDisparityRange(minDisp, maxDisp); + transferHeader->minDisparity = minDisp; + transferHeader->maxDisparity = maxDisp; + + transferHeader->subpixelFactor = imageSet.getSubpixelFactor(); + + imageSet.getTimestamp(timeSec, timeMicrosec); + transferHeader->timeSec = static_cast(htonl(static_cast(timeSec))); + transferHeader->timeMicrosec = static_cast(htonl(static_cast(timeMicrosec))); + + int numImageChannels = 0; + for (int i=0; i<(int) sizeof(transferHeader->imageTypes); ++i) { + transferHeader->imageTypes[i] = static_cast(ImageSet::ImageType::IMAGE_UNDEFINED); + } + int idx = imageSet.getIndexOf(ImageSet::ImageType::IMAGE_LEFT); + if (idx>=0) { + transferHeader->imageTypes[idx] = static_cast(ImageSet::ImageType::IMAGE_LEFT); + numImageChannels++; + } + idx = imageSet.getIndexOf(ImageSet::ImageType::IMAGE_RIGHT); + if (idx>=0) { + transferHeader->imageTypes[idx] = static_cast(ImageSet::ImageType::IMAGE_RIGHT); + numImageChannels++; + } + idx = imageSet.getIndexOf(ImageSet::ImageType::IMAGE_DISPARITY); + if (idx>=0) { + transferHeader->imageTypes[idx] = static_cast(ImageSet::ImageType::IMAGE_DISPARITY); + numImageChannels++; + } + if (numImageChannels != imageSet.getNumberOfImages()) { + throw std::runtime_error("Mismatch between reported number of images and enabled channel selection!"); + } + + + if(imageSet.getQMatrix() != nullptr) { + memcpy(transferHeader->q, imageSet.getQMatrix(), sizeof(float)*16); + } +} + +void ImageProtocol::Pimpl::resetTransfer() { + dataProt.resetTransfer(); +} + +unsigned char* ImageProtocol::Pimpl::getNextReceiveBuffer(int& maxLength) { + maxLength = dataProt.getMaxReceptionSize(); + return dataProt.getNextReceiveBuffer(maxLength); +} + +void ImageProtocol::Pimpl::processReceivedMessage(int length) { + receptionDone = false; + + // Add the received message + dataProt.processReceivedMessage(length, receptionDone); + if(!dataProt.wasHeaderReceived() && receiveHeaderParsed) { + // Something went wrong. We need to reset! + LOG_WARN("Resetting image protocol!"); + resetReception(); + return; + } + + int receivedBytes = 0; + dataProt.getReceivedData(receivedBytes); + + // Immediately try to decode the header + if(!receiveHeaderParsed) { + int headerLen = 0; + unsigned char* headerData = dataProt.getReceivedHeader(headerLen); + if(headerData != nullptr) { + tryDecodeHeader(headerData, headerLen); + } + } +} + +void ImageProtocol::Pimpl::tryDecodeHeader(const +unsigned char* receivedData, int receivedBytes) { + // Extra data fields that have been added to the header. Must be + // removed when the protocol version number is updated + constexpr int optionalDataSize = sizeof(receiveHeader.middleTilesWidth); + constexpr int mandatoryDataSize = static_cast(sizeof(HeaderDataLegacy)) - optionalDataSize; + constexpr int fullyExtensibleHeaderSize = static_cast(sizeof(HeaderDataV2)); + bool isCompleteHeader = false; + + if(receivedBytes >= mandatoryDataSize) { + if (receivedBytes < fullyExtensibleHeaderSize) { + *(static_cast(&receiveHeader)) = *reinterpret_cast(receivedData); + } else { + memcpy(&receiveHeader, receivedData, std::min((size_t)receivedBytes, sizeof(HeaderData))); + receiveHeader = *reinterpret_cast(receivedData); + isCompleteHeader = true; + } + if(receiveHeader.magic != htons(MAGIC_SEQUECE)) { + // Let's not call this an error. Perhaps it's just not a header + // packet + return; + } + + if(receiveHeader.protocolVersion != InternalInformation::CURRENT_PROTOCOL_VERSION) { + throw ProtocolException("Protocol version mismatch!"); + } + + // Convert byte order + receiveHeader.width = ntohs(receiveHeader.width); + receiveHeader.height = ntohs(receiveHeader.height); + receiveHeader.firstTileWidth = ntohs(receiveHeader.firstTileWidth); + receiveHeader.lastTileWidth = ntohs(receiveHeader.lastTileWidth); + + receiveHeader.timeSec = static_cast( + ntohl(static_cast(receiveHeader.timeSec))); + receiveHeader.timeMicrosec = static_cast( + ntohl(static_cast(receiveHeader.timeMicrosec))); + receiveHeader.seqNum = ntohl(receiveHeader.seqNum); + + // Optional data items + if(receivedBytes >= mandatoryDataSize + optionalDataSize) { + receiveHeader.middleTilesWidth = ntohs(receiveHeader.middleTilesWidth); + } else { + receiveHeader.middleTilesWidth = 0; + } + if (isCompleteHeader) { + // This is a header of v2 or above, which self-reports its extension level in the flags field + receiveHeader.totalHeaderSize = ntohs(receiveHeader.totalHeaderSize); + receiveHeader.flags = ntohs(receiveHeader.flags); + receiveHeader.exposureTime = ntohl(receiveHeader.exposureTime); + receiveHeader.lastSyncPulseSec = htonl(receiveHeader.lastSyncPulseSec); + receiveHeader.lastSyncPulseMicrosec = htonl(receiveHeader.lastSyncPulseMicrosec); + } else { + // Infer missing fields for legacy compatibility transfers + receiveHeader.totalHeaderSize = (receivedBytes <= mandatoryDataSize) ? mandatoryDataSize : static_cast(sizeof(HeaderDataLegacy)); + receiveHeader.flags = 0; + receiveHeader.numberOfImages = 2; + receiveHeader.format2 = 0; + receiveHeader.exposureTime = 0; + receiveHeader.lastSyncPulseSec = 0; + receiveHeader.lastSyncPulseMicrosec = 0; + } + + receiveHeaderParsed = true; + } +} + +bool ImageProtocol::Pimpl::imagesReceived() const { + return receptionDone && receiveHeaderParsed; +} + +bool ImageProtocol::Pimpl::getReceivedImageSet(ImageSet& imageSet) { + bool complete = false; + int validRows; + bool ok = getPartiallyReceivedImageSet(imageSet, validRows, complete); + + return (ok && complete); +} + +bool ImageProtocol::Pimpl::getPartiallyReceivedImageSet(ImageSet& imageSet, int& validRows, bool& complete) { + imageSet.setWidth(0); + imageSet.setHeight(0); + + complete = false; + + if(!receiveHeaderParsed) { + // We haven't even received the image header yet + return false; + } else { + // We received at least some pixel data + imageSet.setNumberOfImages(receiveHeader.numberOfImages); + bool flaggedDisparityPair = (receiveHeader.isRawImagePair_OBSOLETE == 0); // only meaningful in headers <=V2 + bool isInterleaved = (receiveHeader.flags & HeaderData::FlagBits::NEW_STYLE_TRANSFER) == 0; + bool arbitraryChannels = (receiveHeader.flags & HeaderData::FlagBits::HEADER_V3) > 0; + bool hasExposureTime = (receiveHeader.flags & HeaderData::FlagBits::HEADER_V4) > 0; + + // Forward compatibility check: mask out all known flag bits and see what remains + unsigned short unaccountedFlags = receiveHeader.flags & ~(HeaderData::FlagBits::NEW_STYLE_TRANSFER + | HeaderData::FlagBits::HEADER_V3 | HeaderData::FlagBits::HEADER_V4); + if (unaccountedFlags != 0) { + // Newer protocol (unknown flag present) - we will try to continue + // since connection has not been refused earlier + static bool warnedOnceForward = false; + if (!warnedOnceForward) { + LOG_WARN("Warning: forward-compatible mode; will attempt to process image stream with unknown extra flags. Consider upgrading the client software."); + warnedOnceForward = true; + } + } + + imageSet.setWidth(receiveHeader.width); + imageSet.setHeight(receiveHeader.height); + imageSet.setPixelFormat(0, static_cast(receiveHeader.format0)); + if (imageSet.getNumberOfImages() > 1) imageSet.setPixelFormat(1, static_cast(receiveHeader.format1)); + if (imageSet.getNumberOfImages() > 2) imageSet.setPixelFormat(2, static_cast(receiveHeader.format2)); + + int rowStrideArr[ImageSet::MAX_SUPPORTED_IMAGES] = {0}; + int validRowsArr[ImageSet::MAX_SUPPORTED_IMAGES] = {0}; + unsigned char* pixelArr[ImageSet::MAX_SUPPORTED_IMAGES] = {nullptr}; + + if (isInterleaved) { + // OLD transfer (forced to interleaved 2 images mode) + static bool warnedOnceBackward = false; + if (!warnedOnceBackward) { + LOG_WARN("Info: backward-compatible mode; the device is sending with a legacy protocol. Consider upgrading its firmware."); + warnedOnceBackward = true; + } + unsigned char* data = dataProt.getBlockReceiveBuffer(0); + int validBytes = dataProt.getBlockValidSize(0); + for (int i=0; i < 2; ++i) { + pixelArr[i] = decodeInterleaved(i, imageSet.getNumberOfImages(), validBytes, data, validRowsArr[i], rowStrideArr[i]); + } + // Legacy sender with mode-dependent channel selection + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_LEFT, 0); + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_RIGHT, flaggedDisparityPair ? -1 : 1); + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_DISPARITY, flaggedDisparityPair ? 1 : -1); + } else { + // NEW transfer + try { + for (int i=0; i(typ); + imageSet.setIndexOf(imgtype, i); + } + } else { + static bool warnedOnceV2 = false; + if (!warnedOnceV2) { + LOG_WARN("Info: received a transfer with header v2"); + warnedOnceV2 = true; + } + // Older v2 header; accessing imageTypes is not valid + // Two-image sender with mode-dependent channel selection + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_LEFT, 0); + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_RIGHT, flaggedDisparityPair ? -1 : 1); + imageSet.setIndexOf(ImageSet::ImageType::IMAGE_DISPARITY, flaggedDisparityPair ? 1 : -1); + } + if(hasExposureTime) { + imageSet.setExposureTime(receiveHeader.exposureTime); + imageSet.setLastSyncPulse(receiveHeader.lastSyncPulseSec, receiveHeader.lastSyncPulseMicrosec); + } + } + + for (int i=0; i(receiveHeader.format0); + break; + } + case 1: { + format = static_cast(receiveHeader.format1); + break; + } + case 2: { + format = static_cast(receiveHeader.format2); + break; + } + default: + throw ProtocolException("Not implemented: decodeNoninterleaved with image index > 2"); + } + bits = getFormatBits(static_cast(format), false); + + int totalBits = bits; + unsigned char* ret = nullptr; + + if(receiveHeader.lastTileWidth == 0) { + int bufferOffset0 = 0; + int bufferRowStride = receiveHeader.width*(totalBits) / 8; + + if(format == ImageSet::FORMAT_8_BIT_MONO || format == ImageSet::FORMAT_8_BIT_RGB) { + // No decoding is necessary. We can just pass through the + // data pointer + ret = &data[bufferOffset0]; + rowStride = bufferRowStride; + validRows = receivedBytes / bufferRowStride; + } else { + // Perform 12-bit => 16 bit decoding + allocateDecodeBuffer(imageNumber); + validRows = receivedBytes / bufferRowStride; + rowStride = 2*receiveHeader.width; + int lastRow = lastReceivedPayloadBytes[imageNumber] / bufferRowStride; + + BitConversions::decode12BitPacked(lastRow, validRows, &data[bufferOffset0], + &decodeBuffer[imageNumber][0], bufferRowStride, rowStride, receiveHeader.width); + + ret = &decodeBuffer[imageNumber][0]; + } + } else { + // Decode the tiled transfer + decodeTiledImage(imageNumber, + lastReceivedPayloadBytes[imageNumber], receivedBytes, data, + receiveHeader.firstTileWidth * (totalBits) / 8, + receiveHeader.middleTilesWidth * (totalBits) / 8, + receiveHeader.lastTileWidth * (totalBits) / 8, + validRows, format, false); + ret = &decodeBuffer[imageNumber][0]; + rowStride = receiveHeader.width*getFormatBits( + static_cast(format), true)/8; + } + + lastReceivedPayloadBytes[imageNumber] = receivedBytes; + return ret; +} + + +unsigned char* ImageProtocol::Pimpl::decodeInterleaved(int imageNumber, int numImages, int receivedBytes, + unsigned char* data, int& validRows, int& rowStride) { + ImageSet::ImageFormat format = static_cast( + imageNumber == 0 ? receiveHeader.format0 : receiveHeader.format1); + int bits0 = getFormatBits(static_cast(receiveHeader.format0), false); + int bits1 = getFormatBits(static_cast(receiveHeader.format1), false); + int bits2 = getFormatBits(static_cast(receiveHeader.format2), false); + + int totalBits = (numImages<3)?(bits0 + bits1):(bits0 + bits1 + bits2); + + unsigned char* ret = nullptr; + + if(receiveHeader.lastTileWidth == 0) { + int bufferOffset; + switch (imageNumber) { + case 0: { bufferOffset = 0; break; } + case 1: { bufferOffset = receiveHeader.width * bits0/8; break; } + case 2: { bufferOffset = receiveHeader.width * (bits0 + bits1)/8; break; } + default: + throw ProtocolException("Not implemented: image index > 2"); + } + int bufferRowStride = receiveHeader.width*(totalBits) / 8; + + if(format == ImageSet::FORMAT_8_BIT_MONO || format == ImageSet::FORMAT_8_BIT_RGB) { + // No decoding is necessary. We can just pass through the + // data pointer + ret = &data[bufferOffset]; + rowStride = bufferRowStride; + validRows = receivedBytes / bufferRowStride; + } else { + // Perform 12-bit => 16 bit decoding + allocateDecodeBuffer(imageNumber); + validRows = std::min(receivedBytes / bufferRowStride, (int)receiveHeader.height); + rowStride = 2*receiveHeader.width; + int lastRow = lastReceivedPayloadBytes[imageNumber] / bufferRowStride; + + BitConversions::decode12BitPacked(lastRow, validRows, &data[bufferOffset], + &decodeBuffer[imageNumber][0], bufferRowStride, rowStride, receiveHeader.width); + + ret = &decodeBuffer[imageNumber][0]; + } + } else { + // Decode the tiled transfer + decodeTiledImage(imageNumber, + lastReceivedPayloadBytes[imageNumber], receivedBytes, data, + receiveHeader.firstTileWidth * (totalBits) / 8, + receiveHeader.middleTilesWidth * (totalBits) / 8, + receiveHeader.lastTileWidth * (totalBits) / 8, + validRows, format, true); + ret = &decodeBuffer[imageNumber][0]; + rowStride = receiveHeader.width*getFormatBits( + static_cast(format), true)/8; + } + + lastReceivedPayloadBytes[imageNumber] = receivedBytes; + return ret; +} + +void ImageProtocol::Pimpl::allocateDecodeBuffer(int imageNumber) { + ImageSet::ImageFormat format; + switch (imageNumber) { + case 0: { + format = static_cast(receiveHeader.format0); + break; + } + case 1: { + format = static_cast(receiveHeader.format1); + break; + } + case 2: { + format = static_cast(receiveHeader.format2); + break; + } + default: + throw ProtocolException("Not implemented: allocateDecodeBuffer with image index > 2"); + } + int bitsPerPixel = getFormatBits(format, true); + int bufferSize = receiveHeader.width * receiveHeader.height * bitsPerPixel / 8; + + if(decodeBuffer[imageNumber].size() != static_cast(bufferSize)) { + decodeBuffer[imageNumber].resize(bufferSize); + } +} + +void ImageProtocol::Pimpl::decodeTiledImage(int imageNumber, int lastReceivedPayloadBytes, int receivedPayloadBytes, + const unsigned char* data, int firstTileStride, int middleTilesStride, int lastTileStride, int& validRows, + ImageSet::ImageFormat format, bool dataIsInterleaved) { + // Allocate a decoding buffer + allocateDecodeBuffer(imageNumber); + + // Get beginning and end of first tile + int numTiles = getNumTiles(receiveHeader.width, receiveHeader.firstTileWidth, + receiveHeader.middleTilesWidth, receiveHeader.lastTileWidth); + int payloadOffset = 0; + int decodeXOffset = 0; + int prevTileStrides = 0; + for(int i = 0; i < numTiles; i++) { + // Get relevant parameters + int tileWidth = 0; + int tileStride = 0; + + if(i == 0) { + tileStride = firstTileStride; + tileWidth = receiveHeader.firstTileWidth; + } else if(i == numTiles-1) { + tileStride = lastTileStride; + tileWidth = receiveHeader.lastTileWidth; + } else { + tileStride = middleTilesStride; + tileWidth = receiveHeader.middleTilesWidth; + } + + int tileStart = std::max(0, (lastReceivedPayloadBytes - payloadOffset) / tileStride); + int tileStop = std::min(std::max(0, (receivedPayloadBytes - payloadOffset) / tileStride), (int)receiveHeader.height); + int tileOffset; + if (dataIsInterleaved) { + switch (imageNumber) { + case 0: { tileOffset = 0; break; } + case 1: { tileOffset = tileWidth * ( + getFormatBits(static_cast(receiveHeader.format0), false) + )/8; break; } + case 2: { tileOffset = tileWidth * ( + getFormatBits(static_cast(receiveHeader.format0), false) + + getFormatBits(static_cast(receiveHeader.format1), false) + )/8; break; } + default: + throw ProtocolException("Not implemented: image index > 2"); + } + } else { + tileOffset = 0; + } + if(i > 0) { + tileOffset += receiveHeader.height * prevTileStrides; + } + + // Decode + int bytesPixel; + if(format == ImageSet::FORMAT_12_BIT_MONO) { + bytesPixel = 2; + BitConversions::decode12BitPacked(tileStart, tileStop, &data[tileOffset], + &decodeBuffer[imageNumber][decodeXOffset], tileStride, 2*receiveHeader.width, tileWidth); + } else { + bytesPixel = (format == ImageSet::FORMAT_8_BIT_RGB ? 3 : 1); + decodeRowsFromTile(tileStart, tileStop, &data[tileOffset], + &decodeBuffer[imageNumber][decodeXOffset], tileStride, + receiveHeader.width*bytesPixel, tileWidth*bytesPixel); + } + + payloadOffset += receiveHeader.height * tileStride; + decodeXOffset += tileWidth * bytesPixel; + prevTileStrides += tileStride; + if(i == numTiles-1) { + validRows = tileStop; + } + } +} + +void ImageProtocol::Pimpl::decodeRowsFromTile(int startRow, int stopRow, unsigned const char* src, + unsigned char* dst, int srcStride, int dstStride, int tileWidth) { + for(int y = startRow; y < stopRow; y++) { + memcpy(&dst[y*dstStride], &src[y*srcStride], tileWidth); + } +} + +void ImageProtocol::Pimpl::resetReception() { + receiveHeaderParsed = false; + for (int i=0; istatusReport(); +} +std::string ImageProtocol::Pimpl::statusReport() { + return dataProt.statusReport(); +} + + + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.h new file mode 100644 index 0000000..004902e --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageprotocol.h @@ -0,0 +1,259 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_IMAGEPROTOCOL_H +#define VISIONTRANSFER_IMAGEPROTOCOL_H + +#include "visiontransfer/common.h" +#include "visiontransfer/imageset.h" + +#include + +namespace visiontransfer { + +/** + * \brief A lightweight protocol for transferring image sets. + * + * Two images are transferred together as a set. These are usually the left + * and right image of a stereo camera, or the left image and a disparity map. + * + * The images are 8- or 12-bit monochrome, or 8-bit RGB color. For simplicity, + * 12-bit images are inflated to 16-bit by introducing additional padding + * bits. Both images must always have the same image size. + * + * When receiving, the class takes in an image set and chops it down to several + * network messages. When sending, the class takes a set of messages and + * assembles them into an image set. We have to differentiate between TCP and + * UDP in both cases. + */ +class VT_EXPORT ImageProtocol { +public: + /// Supported network protocols + enum ProtocolType { + /// The connection oriented TCP transport protocol + PROTOCOL_TCP, + + /// The connection-less UDP transport protocol + PROTOCOL_UDP + }; + + /** + * \brief Creates a new instance for decoding / encoding network messages + * for the given network protocol. + * + * \param server If set to true, this object will be a communication server. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + */ + ImageProtocol(bool server, ProtocolType protType, int maxUdpPacketSize = 1472); + + ~ImageProtocol(); + + /** + * \brief Sets a new image that will be transfer. + * + * \param imageSet The image set that shall be transmitted. + * + * After setting the transfer image, subsequent calls to + * getTransferMessage() can be made for obtaining the encoded + * network messages. + */ + void setTransferImageSet(const ImageSet& imageSet); + + /** + * \brief Sets the already pre-formatted image data for the next transfer. + * + * \param metaData ImageSet object containing all the meta data but no + * pixel data. + * \param rawData Pre-formatted data for this transfer. + * \param firstTileWidth If not 0, specifies the width of the first tile in + * a tiled transfer. + * \param middleTilesWidth If not 0, specifies the width of the tiles between + the first and the last tile in a tiled transfer. + * \param lastTileWidth If not 0, specifies the width of the last tile in + * a tiled transfer. + * \param validBytes The number of bytes that are valid in \c rawData. + * + * This method is a more efficient alternative to setTransferImage(). In this case + * the image data already has to be pre-formatted in the format of + * the image protocol, which means row-wise interleaving both images. + * For 12-bit images, the pixel data must be packed in LSB order. + * + * The pixel data contained in \c metaData is ignored, while all + * other data is transmitted. The actual pixel data must be encoded in + * \c rawData. + * + * Parts of \c rawData will be overwritten. There must be at least 4 additional + * allocated bytes after the pixel data in \c rawData. + * + * If \c validBytes is set to a value smaller than the total transfer + * size, only a partial transfer is performed. Subsequent calls to + * setRawValidBytes() are then necessary. + */ + void setRawTransferData(const ImageSet& metaData, const std::vector& imageData, + int firstTileWidth = 0, int middleTilesWidth = 0, int lastTileWidth = 0, int validBytes = 0x7FFFFFFF); + + /** + * \brief Updates the number of valid bytes in a partial raw transfer. + * + * \param validBytes The number of already valid bytes in the previously + * set raw data pointer. + * + * This method has to be called whenever new data is available in a raw + * transfer. \see setRawTransferData() + */ + void setRawValidBytes(const std::vector& validBytes); + + /** + * \brief Gets the next network message for the current transfer. + * + * \param length The length of the network message. + * \return Pointer to the network message data. + * + * If the transfer has already been completed, a null pointer is returned. + */ + const unsigned char* getTransferMessage(int& length); + + /** + * \brief Returns true if the current transfer has been completed. + */ + bool transferComplete(); + + /** + * \brief Aborts the transmission of the current transfer and performs a + * reset of the internal state. + */ + void resetTransfer(); + + /** + * \brief Returns a received image when complete. + * + * \param imageSet Will be set to the received image set. + * \return Returns true if a new image set has been received. Otherwise + * false. + * + * After obtaining a received image set, reception is reset and + * subsequent calls to getReceivedImageSet() or imagesReceived() + * will return false. + * + * Please note that the received image data is only valid until processing + * the first network message of the next image transfer. + */ + bool getReceivedImageSet(ImageSet& imageSet); + + /** + * \brief Returns a partially received image. + * + * \param imageSet Will be set to the partially received image set. + * \param validRows The number of valid image rows in the partially received + image set. + * \param complete True if the image set has been fully received. + * \return Returns true if a full or partial image have been received. + * Otherwise false. + * + * If a partial image has been received, the meta data returned in + * \c imageSet will be complete. The pixel data contained in + * \c imageSet, however, will only be valid for the first + * \c validRows rows. + * + * After obtaining a complete image set, reception is reset and + * subsequent calls to getPartiallyReceivedImageSet() or imagesReceived() + * will return false. + * + * Please note that the received image data is only valid until processing + * the first network message of the next image transfer. + */ + bool getPartiallyReceivedImageSet(ImageSet& imageSet, int& validRows, bool& complete); + + /** + * \brief Returns true if the images of the current transfer have been received. + */ + bool imagesReceived() const; + + /** + * \brief Returns the buffer for receiving the next network message. + * + * \param maxLength Maximum allowed length for the next network message + * \return Pointer to the buffer memory. + **/ + unsigned char* getNextReceiveBuffer(int& maxLength); + + /** + * \brief Handles a received network message + * + * \param length Length of the received network message. + * + * This method has to be called for every network message that has been + * received. The message data must be located in the most recent buffer + * that has been obtained with getNextReceiveBuffer(). + * + * After calling this method, please check if a new image has been received + * by calling getReceivedImageSet() or getPartiallyReceivedImageSet(). + * + * In order to handle connection timeouts this method should be called + * frequently. If no new data is available, a length of 0 can be passed. + */ + void processReceivedMessage(int length); + + /** + * \brief Returns the number of frames that have been dropped since + * connecting to the current remote host. + * + * Dropped frames are caused by dropped packets due to a poor network + * connection + */ + int getNumDroppedFrames() const; + + /** + * \brief Aborts the reception of the current image transfer and resets + * the internal state. + */ + void resetReception(); + + /** + * \brief Returns true if the last message has established a new connection + * from a client + */ + bool newClientConnected(); + + /** + * \brief Returns true if a remote connection is established + */ + bool isConnected() const; + + /** + * \brief If a control message is pending to be transmitted then + * the message data will be returned by this method. + * + * \param length Will be set to the length of the message + * \return Pointer to the message data or NULL if no message is pending + * + * Control messages are only needed when using the UDP network protocol. + */ + const unsigned char* getNextControlMessage(int& length); + + std::string statusReport(); + +private: + // We follow the pimpl idiom + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + ImageProtocol(const ImageProtocol& other); + ImageProtocol& operator=(const ImageProtocol&); +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset-opencv.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset-opencv.h new file mode 100644 index 0000000..8113490 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset-opencv.h @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_IMAGESET_OPENCV_H +#define VISIONTRANSFER_IMAGESET_OPENCV_H + +#ifdef CV_MAJOR_VERSION + +namespace visiontransfer { + +/* + * OpenCV-specific implementations that need to be inlined in order to avoid + * dependencies for projects that do not make use of OpenCV + */ + +inline void ImageSet::toOpenCVImage(int imageNumber, cv::Mat& dest, bool convertRgbToBgr) { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + + switch(formats[imageNumber]) { + case ImageSet::FORMAT_12_BIT_MONO: + dest= cv::Mat_(height, width, + reinterpret_cast(data[imageNumber]), rowStride[imageNumber]); + break; + case ImageSet::FORMAT_8_BIT_MONO: + dest = cv::Mat_(height, width, + data[imageNumber], rowStride[imageNumber]); + break; + case ImageSet::FORMAT_8_BIT_RGB: + dest = cv::Mat_(height, width, + reinterpret_cast(data[imageNumber]), rowStride[imageNumber]); + if(convertRgbToBgr) { + cv::cvtColor(dest, dest, cv::COLOR_RGB2BGR); + } + break; + } +} + +} // namespace + +#endif +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.cpp new file mode 100644 index 0000000..74d466a --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.cpp @@ -0,0 +1,254 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include +#include +#include +#include "visiontransfer/imageset.h" + +#ifdef _WIN32 +#include +#else +#include +#endif + +using namespace visiontransfer; + +namespace visiontransfer { + +ImageSet::ImageSet() + : width(0), height(0), qMatrix(NULL), timeSec(0), timeMicrosec(0), + seqNum(0), minDisparity(0), maxDisparity(0), subpixelFactor(16), + referenceCounter(NULL), numberOfImages(2), indexLeftImage(0), indexRightImage(1), indexDisparityImage(-1), + exposureTime(0), lastSyncPulseSec(0), lastSyncPulseMicrosec(0) { + for (int i=0; i= getNumberOfImages()) { + throw std::runtime_error("Illegal image number!"); + } + + std::fstream strm(fileName, std::ios::out | std::ios::binary); + + // Write PGM / PBM header + int type, maxVal, bytesPerChannel, channels; + switch(formats[imageNumber]) { + case FORMAT_8_BIT_MONO: + type = 5; + maxVal = 255; + bytesPerChannel = 1; + channels = 1; + break; + case FORMAT_12_BIT_MONO: + type = 5; + maxVal = 4095; + bytesPerChannel = 2; + channels = 1; + break; + case FORMAT_8_BIT_RGB: + type = 6; + maxVal = 255; + bytesPerChannel = 1; + channels = 3; + break; + default: + throw std::runtime_error("Illegal pixel format!"); + } + + strm << "P" << type << " " << width << " " << height << " " << maxVal << std::endl; + + // Write image data + for(int y = 0; y < height; y++) { + for(int x = 0; x < width*channels; x++) { + unsigned char* pixel = &data[imageNumber][y*rowStride[imageNumber] + x*bytesPerChannel]; + if(bytesPerChannel == 2) { + // Swap endianess + unsigned short swapped = htons(*reinterpret_cast(pixel)); + strm.write(reinterpret_cast(&swapped), sizeof(swapped)); + } else { + strm.write(reinterpret_cast(pixel), 1); + } + } + } +} + +int ImageSet::getBitsPerPixel(ImageFormat format) { + switch(format) { + case FORMAT_8_BIT_MONO: return 8; + case FORMAT_8_BIT_RGB: return 24; + case FORMAT_12_BIT_MONO: return 12; + default: throw std::runtime_error("Invalid image format!"); + } +} + +void ImageSet::copyTo(ImageSet& dest) { + dest.decrementReference(); + copyData(dest, *this, false); + + dest.qMatrix = new float[16]; + memcpy(const_cast(dest.qMatrix), qMatrix, sizeof(float)*16); + + for(int i=0; i= 0 && imageNumber < getNumberOfImages()); + if (imageNumber == getIndexOf(ImageSet::ImageType::IMAGE_LEFT)) return ImageSet::ImageType::IMAGE_LEFT; + if (imageNumber == getIndexOf(ImageSet::ImageType::IMAGE_RIGHT)) return ImageSet::ImageType::IMAGE_RIGHT; + if (imageNumber == getIndexOf(ImageSet::ImageType::IMAGE_DISPARITY)) return ImageSet::ImageType::IMAGE_DISPARITY; + throw std::runtime_error("Invalid image number for getImageType!"); +} + +void ImageSet::setImageDisparityPair(bool dispPair) { + if (getNumberOfImages() != 2) throw std::runtime_error("setImageDisparityPair is only supported for two-image sets"); + // Let index assignments directly follow the mode + indexLeftImage = 0; + indexRightImage = dispPair ? -1 : 1; + indexDisparityImage = dispPair ? 1 : -1; +} + +int ImageSet::getIndexOf(ImageType what, bool throwIfNotFound) const { + int idx = -1; + switch(what) { + case IMAGE_LEFT: { + idx = indexLeftImage; + break; + } + case IMAGE_RIGHT: { + idx = indexRightImage; + break; + } + case IMAGE_DISPARITY: { + idx = indexDisparityImage; + break; + } + default: + throw std::runtime_error("Invalid ImageType for query!"); + } + if (throwIfNotFound && (idx==-1)) throw std::runtime_error("ImageSet does not contain the queried ImageType"); + return idx; +} + +void ImageSet::setIndexOf(ImageType what, int idx) { + switch(what) { + case IMAGE_LEFT: { + indexLeftImage = idx; + break; + } + case IMAGE_RIGHT: { + indexRightImage = idx; + break; + } + case IMAGE_DISPARITY: { + indexDisparityImage = idx; + break; + } + default: + std::cout << "what=" << what << std::endl; + throw std::runtime_error("Invalid ImageType for setIndexOf!"); + } +} +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.h new file mode 100644 index 0000000..973a80f --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imageset.h @@ -0,0 +1,548 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_IMAGESET_H +#define VISIONTRANSFER_IMAGESET_H + +#include +#include +#include "visiontransfer/common.h" + +namespace visiontransfer { + +/** + * \brief A set of one to three images, but usually two (the left camera image + * and the disparity map). One- and three-image modes can be enabled + * in the device configuration interface. + * + * For backwards compatibility, for sets of at least two images the image at + * index 0 is always the left camera image, while the one at index 1 is either the + * disparity map if in disparity processing mode, or the right image otherwise. + * + * All images must be of equal width and height, but are allowed to have + * different pixel formats. Please note that the class does not manage the + * pixel data but only keeps pointers. You thus need to ensure that the pixel + * data remains valid for as long as this object persists. + */ +class VT_EXPORT ImageSet { +public: + static const int MAX_SUPPORTED_IMAGES = 3; + /** + * \brief Image formats that can be transferred. + */ + enum ImageFormat { + /// 8-bit greyscale format + FORMAT_8_BIT_MONO, + + /// 8-bit RGB format + FORMAT_8_BIT_RGB, + + /// 12-bit greyscale format plus 4 bits of padding + /// (hence a total of 16 bits). + FORMAT_12_BIT_MONO + }; + + /** + * \deprecated Please use the new format constants in \c ImageFormat. + */ + enum ImageFormat_Deprecated { + FORMAT_8_BIT = FORMAT_8_BIT_MONO, + FORMAT_12_BIT = FORMAT_12_BIT_MONO + }; + + /** + * \brief Supported image types + */ + enum ImageType { + IMAGE_UNDEFINED, + IMAGE_LEFT, + IMAGE_DISPARITY, + IMAGE_RIGHT, + }; + + /** + * \brief Default constructor creating an image set with no pixel data. + */ + ImageSet(); + + /** + * \brief Copy constructor creating a shallow copy of the image set. + */ + ImageSet(const ImageSet& other); + + ~ImageSet(); + ImageSet& operator= (ImageSet const& other); + + /** + * \brief Sets a new width for both images. + */ + void setWidth(int w) {width = w;} + + /** + * \brief Sets a new width for both images. + */ + void setHeight(int h) {height = h;} + + /** + * \brief Sets a new row stride for the pixel data of one image. + * + * \param imageNumber Number of the image for which to set the + * row stride (0 ... getNumberOfImages()-1). + * \param stride The row stride that shall be set. + */ + void setRowStride(int imageNumber, int stride) { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + rowStride[imageNumber] = stride; + } + + /** + * \brief Sets the pixel format for the given image. + * + * \param imageNumber Number of the image for which to set the + * pixel format (0 ... getNumberOfImages()-1). + * \param format The pixel format that shall be set. + */ + void setPixelFormat(int imageNumber, ImageFormat format) { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + formats[imageNumber] = format; + } + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + DEPRECATED("Use setPixelFormat(int, ImageFormat) instead") void setPixelFormat(int imageNumber, ImageFormat_Deprecated format) { + setPixelFormat(imageNumber, static_cast(format)); + } +#endif + + /** + * \brief Sets the pixel data for the given image. + * + * \param imageNumber Number of the image for which to set the + * pixel data (0 ... getNumberOfImages()-1). + * \param pixelData The pixel data that shall be set. + */ + void setPixelData(int imageNumber, unsigned char* pixelData) { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + data[imageNumber] = pixelData; + } + + /** + * \brief Sets the pointer to the disparity-to-depth mapping matrix q. + * + * No data is copied. The data which q is pointing to has to remain valid + * for as long as this object exists. + */ + void setQMatrix(const float* q) { + qMatrix = q; + } + + /** + * \brief Sets the sequence number for this image set. + */ + void setSequenceNumber(unsigned int num) { + seqNum = num; + } + + /** + * \brief Sets the time at which this image set has been captured. + * + * \param seconds The time stamp with a resolution of one second. + * \param microsec The fractional seconds part of the time stamp with + * a resolution of 1 microsecond. + */ + void setTimestamp(int seconds, int microsec) { + timeSec = seconds; + timeMicrosec = microsec; + } + + /** + * \brief Sets the value range for the disparity map contained in this + * image set. + * + * \param minimum Minimum disparity value. + * \param maximum Maximum disparity value. + */ + void setDisparityRange(int minimum, int maximum) { + minDisparity = minimum; + maxDisparity = maximum; + } + + /** + * \brief Sets the subpixel factor for this image set. + */ + void setSubpixelFactor(int subpixFact) { + subpixelFactor = subpixFact; + } + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + /** + * \brief Sets whether this is a left camera image and disparity + * map set, or two raw camera images. + * + * DEPRECATION NOTICE: Please use setNumberOfImages() and setIndexOf() + * for more comprehensive control of the images in the image set. + */ + DEPRECATED("Only compatible with two-image sets: use setNumberOfImages() and setIndexOf() instead") + void setImageDisparityPair(bool dispPair); +#endif + + /** + * \brief Returns the width of each image. + */ + int getWidth() const {return width;} + + /** + * \brief Returns the height of each image. + */ + int getHeight() const {return height;} + + /** + * \brief Returns the row stride for the pixel data of one image. + * + * \param imageNumber Number of the image for which to obtain the + * row stride (0 ... getNumberOfImages()-1). + * + * Please use getRowStride(ImageSet::ImageType) to access the + * data by their abstract role in lieu of their index in the set. + */ + int getRowStride(int imageNumber) const { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + return rowStride[imageNumber]; + } + + /** + * \brief Returns the row stride for the pixel data of one image. + * + * \param what ImageType of the desired channel. + * + * This function will throw an exception when the ImageType + * is not present in this set (use hasImageType(what) to check). + */ + int getRowStride(ImageType what) const { + int idx = getIndexOf(what, true); + return getRowStride(idx); + } + + /** + * \brief Returns the pixel format for the given image. + * + * \param imageNumber Number of the image for which to receive the + * pixel format (0 ... getNumberOfImages()-1). + * + * Please use getPixelFormat(ImageSet::ImageType) to access the + * data by their abstract role in lieu of their index in the set. + */ + ImageFormat getPixelFormat(int imageNumber) const { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + return formats[imageNumber]; + } + + /** + * \brief Returns the pixel format for the given image. + * + * \param what ImageType of the desired channel. + * + * This function will throw an exception when the ImageType + * is not present in this set (use hasImageType(what) to check). + */ + ImageFormat getPixelFormat(ImageType what) const { + int idx = getIndexOf(what, true); + return getPixelFormat(idx); + } + + /** + * \brief Returns the pixel data for the given image. + * + * \param imageNumber Number of the image for which to receive the + * pixel data (0 ... getNumberOfImages()-1). + * + * Please use getPixelData(ImageSet::ImageType) to access the + * data by their abstract role in lieu of their index in the set. + */ + unsigned char* getPixelData(int imageNumber) const { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + return data[imageNumber]; + } + + /** + * \brief Returns the pixel data for the given image. + * + * \param what ImageType of the desired channel. + * + * This function will throw an exception when the ImageType + * is not present in this set (use hasImageType(what) to check). + */ + unsigned char* getPixelData(ImageType what) const { + int idx = getIndexOf(what, true); + return getPixelData(idx); + } + + /** + * \brief Returns a pointer to the disparity-to-depth mapping matrix q. + */ + const float* getQMatrix() const { + return qMatrix; + } + + /** + * \brief Returns the sequence number for this image set. + */ + unsigned int getSequenceNumber() const {return seqNum;} + + /** + * \brief Returns the time at which this image set has been captured. + * + * \param seconds The time stamp with a resolution of one second. + * \param microsec The fractional seconds part of the time stamp with + * a resolution of 1 microsecond. + */ + void getTimestamp(int& seconds, int& microsec) const { + seconds = timeSec; + microsec = timeMicrosec; + } + + /** + * \brief Gets the value range for the disparity map contained in this + * image set. If the image set does not contain any disparity data + * then the disparity range is undefined. + * + * \param minimum Minimum disparity value. + * \param maximum Maximum disparity value. + */ + void getDisparityRange(int& minimum, int& maximum) const { + minimum = minDisparity; + maximum = maxDisparity; + } + + /** + * \brief Gets the subpixel factor for this image set. + */ + int getSubpixelFactor() const { + return subpixelFactor; + } + + /** + * \brief Writes one image of the set to a PGM or PPM file. + * + * \param imageNumber The number of the image that shall be written. + * \param File name of the PGM or PPM file that shall be created. + */ + void writePgmFile(int imageNumber, const char* fileName) const; + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + /** + * \brief Returns true if this is a left camera image and disparity + * map pair. + * + * DEPRECATION NOTICE: this is a legacy function; in case of image sets + * with one or three images, the result may not be as expected + * (this functions returns true only for the case of exactly two images: + * left image plus disparity image). + * + * The new function hasImageType(ImageSet::ImageType) provides better + * granularity of what data are enabled and present. + */ + DEPRECATED("Only compatible with two-image sets: use hasImageType(ImageSet::IMAGE_DISPARITY) instead") + bool isImageDisparityPair() const { + return (getNumberOfImages()==2) && hasImageType(IMAGE_DISPARITY); + } +#endif + + /** + * \brief Makes a deep copy of this image set. + */ + void copyTo(ImageSet& dest); + + /** + * \brief Returns the number of bytes that are required to store one + * image pixel. + * + * \param imageNumber The number of the image (0 ... getNumberOfImages()-1). + */ + int getBytesPerPixel(int imageNumber) const { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + return getBytesPerPixel(formats[imageNumber]); + } + + /** + * \brief Returns the number of bits that are required to store one + * image pixel. + * + * \param imageNumber The number of the image (0 ... getNumberOfImages()-1). + */ + int getBitsPerPixel(int imageNumber) const { + assert(imageNumber >= 0 && imageNumber < getNumberOfImages()); + return getBitsPerPixel(formats[imageNumber]); + } + + int getBitsPerPixel(ImageType what) const { + int idx = getIndexOf(what, true); + return getBitsPerPixel(idx); + } + + static int getBitsPerPixel(ImageFormat format); + + /** + * \brief Returns the number of bytes that are required to store one + * image pixel with the given pixel format. + */ + static int getBytesPerPixel(ImageFormat format); + + /** + * \brief Returns the number of images in this set + */ + int getNumberOfImages() const { + return numberOfImages; + } + + /** + * \brief Sets the number of valid images in this set + */ + void setNumberOfImages(int number) { + assert(number >= 1 && number <= MAX_SUPPORTED_IMAGES); + numberOfImages = number; + } + + /** + * \brief Returns the ImageType of the specified channel + */ + ImageType getImageType(int imageNumber) const; + + /** + * \brief Returns the index of a specific image type + * + * \param what ImageType of the desired channel. + * \param throwIfNotFound Throw a runtime error instead of returning -1. + * + * \return Returns the index of the specified type, or -1 if not found. + */ + int getIndexOf(ImageType what, bool throwIfNotFound=false) const; + + /** + * \brief Returns whether a left camera image is included in the enabled data + */ + bool hasImageType(ImageType what) const { + return getIndexOf(what) >= 0; + } + + + /** + * \brief Assign an image index to a specified ImageType, -1 to disable + * + * \param what The ImageType to assign a new image index to. + * \param idx The index of the specified ImageType inside the data of + * this ImageSet (-1 to disable). + */ + void setIndexOf(ImageType what, int idx); + + +#ifdef CV_MAJOR_VERSION + /** + * \brief Converts one image of the set to an OpenCV image. + * + * \param imageNumber The number of the image that shall be converted + * (0 ... getNumberOfImages()-1). + * \param convertRgbToBgr If true, then color images will converted from + * RGB to BGR in order to comply to OpenCV's convention. + * + * For this method to be available, the OpenCV headers need to be + * included before including headers for libvisiontransfer. + * + * Please note that only a shallow copy is performed. The ImageSet object + * must be kept alive for as long as the OpenCV image is in use. + */ + inline void toOpenCVImage(int imageNumber, cv::Mat& dest, bool convertRgbToBgr = true); +#endif + + /** + * \brief Sets the exposure time that was used for capturing the image set + * + * \param timeMicrosec Exposure time measured in microseconds + */ + void setExposureTime(int timeMicrosec) { + exposureTime = timeMicrosec; + } + + /** + * \brief Gets the exposure time in microseconds that was used for + * capturing the image set. + * + * \return Exposure time in microseconds + */ + int getExposureTime() const { + return exposureTime; + } + + /** + * \brief Sets the timestamp of the last received sync pulse + + * \param seconds The time stamp with a resolution of one second. + * \param microsec The fractional seconds part of the time stamp with + * a resolution of 1 microsecond. + */ + void setLastSyncPulse(int seconds, int microsec) { + lastSyncPulseSec = seconds; + lastSyncPulseMicrosec = microsec; + } + + /** + * \brief Gets the timestamp of the last received sync pulse + * + * \param seconds The time stamp with a resolution of one second. + * \param microsec The fractional seconds part of the time stamp with + * a resolution of 1 microsecond. + */ + void getLastSyncPulse(int& seconds, int& microsec) const { + seconds = lastSyncPulseSec; + microsec = lastSyncPulseMicrosec; + } + +private: + // No pimpl idiom here as almost everything is inlined. + int width; + int height; + int rowStride[MAX_SUPPORTED_IMAGES]; + ImageFormat formats[MAX_SUPPORTED_IMAGES]; + unsigned char* data[MAX_SUPPORTED_IMAGES]; + const float* qMatrix; + int timeSec; + int timeMicrosec; + unsigned int seqNum; + int minDisparity; + int maxDisparity; + int subpixelFactor; + int* referenceCounter; + int numberOfImages; + + int indexLeftImage; + int indexRightImage; + int indexDisparityImage; + + int exposureTime; + int lastSyncPulseSec; + int lastSyncPulseMicrosec; + + void copyData(ImageSet& dest, const ImageSet& src, bool countRef); + void decrementReference(); +}; + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +// For source compatibility +class DEPRECATED("Use ImageSet instead.") ImagePair: public ImageSet { +}; +#endif + +} // namespace + +#include "visiontransfer/imageset-opencv.h" +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.cpp new file mode 100644 index 0000000..1f42ca8 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.cpp @@ -0,0 +1,642 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include "visiontransfer/imagetransfer.h" +#include "visiontransfer/exceptions.h" +#include "visiontransfer/datablockprotocol.h" +#include "visiontransfer/networking.h" + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class ImageTransfer::Pimpl { +public: + Pimpl(const char* address, const char* service, ImageProtocol::ProtocolType protType, + bool server, int bufferSize, int maxUdpPacketSize); + ~Pimpl(); + + // Redeclaration of public members + void setRawTransferData(const ImageSet& metaData, const std::vector& rawData, + int firstTileWidth = 0, int secondTileWidth = 0, int validBytes = 0x7FFFFFFF); + void setRawValidBytes(const std::vector& validBytes); + void setTransferImageSet(const ImageSet& imageSet); + TransferStatus transferData(); + bool receiveImageSet(ImageSet& imageSet); + bool receivePartialImageSet(ImageSet& imageSet, int& validRows, bool& complete); + int getNumDroppedFrames() const; + bool isConnected() const; + void disconnect(); + std::string getRemoteAddress() const; + bool tryAccept(); + + std::string statusReport(); +private: + // Configuration parameters + ImageProtocol::ProtocolType protType; + bool isServer; + int bufferSize; + int maxUdpPacketSize; + + // Thread synchronization + std::recursive_mutex receiveMutex; + std::recursive_mutex sendMutex; + + // Transfer related members + SOCKET clientSocket; + SOCKET tcpServerSocket; + sockaddr_in remoteAddress; + + // Object for encoding and decoding the network protocol + std::unique_ptr protocol; + + // Outstanding network message that still has to be transferred + int currentMsgLen; + int currentMsgOffset; + const unsigned char* currentMsg; + + // Socket configuration + void setSocketOptions(); + + // Network socket initialization + void initTcpServer(const addrinfo* addressInfo); + void initTcpClient(const addrinfo* addressInfo); + void initUdp(const addrinfo* addressInfo); + + // Data reception + bool receiveNetworkData(bool block); + + // Data transmission + bool sendNetworkMessage(const unsigned char* msg, int length); + void sendPendingControlMessages(); + + bool selectSocket(bool read, bool wait); +}; + +/******************** Stubs for all public members ********************/ + +ImageTransfer::ImageTransfer(const char* address, const char* service, + ImageProtocol::ProtocolType protType, bool server, int bufferSize, int maxUdpPacketSize): + pimpl(new Pimpl(address, service, protType, server, bufferSize, maxUdpPacketSize)) { + // All initialization in the pimpl class +} + +ImageTransfer::ImageTransfer(const DeviceInfo& device, int bufferSize, int maxUdpPacketSize): + pimpl(new Pimpl(device.getIpAddress().c_str(), "7681", static_cast(device.getNetworkProtocol()), + false, bufferSize, maxUdpPacketSize)) { + // All initialization in the pimpl class +} + +ImageTransfer::~ImageTransfer() { + delete pimpl; +} + +void ImageTransfer::setRawTransferData(const ImageSet& metaData, const std::vector& rawData, + int firstTileWidth, int secondTileWidth, int validBytes) { + pimpl->setRawTransferData(metaData, rawData, firstTileWidth, secondTileWidth, validBytes); +} + +void ImageTransfer::setRawValidBytes(const std::vector& validBytes) { + pimpl->setRawValidBytes(validBytes); +} + +void ImageTransfer::setTransferImageSet(const ImageSet& imageSet) { + pimpl->setTransferImageSet(imageSet); +} + +ImageTransfer::TransferStatus ImageTransfer::transferData() { + return pimpl->transferData(); +} + +bool ImageTransfer::receiveImageSet(ImageSet& imageSet) { + return pimpl->receiveImageSet(imageSet); +} + +bool ImageTransfer::receivePartialImageSet(ImageSet& imageSet, int& validRows, bool& complete) { + return pimpl->receivePartialImageSet(imageSet, validRows, complete); +} + +int ImageTransfer::getNumDroppedFrames() const { + return pimpl->getNumDroppedFrames(); +} + +bool ImageTransfer::isConnected() const { + return pimpl->isConnected(); +} + +void ImageTransfer::disconnect() { + pimpl->disconnect(); +} + +std::string ImageTransfer::getRemoteAddress() const { + return pimpl->getRemoteAddress(); +} + +bool ImageTransfer::tryAccept() { + return pimpl->tryAccept(); +} + +/******************** Implementation in pimpl class *******************/ +ImageTransfer::Pimpl::Pimpl(const char* address, const char* service, + ImageProtocol::ProtocolType protType, bool server, int + bufferSize, int maxUdpPacketSize) + : protType(protType), isServer(server), bufferSize(bufferSize), + maxUdpPacketSize(maxUdpPacketSize), + clientSocket(INVALID_SOCKET), tcpServerSocket(INVALID_SOCKET), + currentMsgLen(0), currentMsgOffset(0), currentMsg(nullptr) { + + Networking::initNetworking(); +#ifndef _WIN32 + // We don't want to be interrupted by the pipe signal + signal(SIGPIPE, SIG_IGN); +#endif + + memset(&remoteAddress, 0, sizeof(remoteAddress)); + + // If address is null we use the any address + if(address == nullptr || string(address) == "") { + address = "0.0.0.0"; + } + + addrinfo* addressInfo = Networking::resolveAddress(address, service); + + try { + if(protType == ImageProtocol::PROTOCOL_UDP) { + initUdp(addressInfo); + } else if(protType == ImageProtocol::PROTOCOL_TCP && isServer) { + initTcpServer(addressInfo); + } else { + initTcpClient(addressInfo); + } + } catch(...) { + freeaddrinfo(addressInfo); + throw; + } + + if(addressInfo != nullptr) { + freeaddrinfo(addressInfo); + } +} + +ImageTransfer::Pimpl::~Pimpl() { + if(clientSocket != INVALID_SOCKET) { + Networking::closeSocket(clientSocket); + } + if(tcpServerSocket != INVALID_SOCKET) { + Networking::closeSocket(tcpServerSocket); + } +} + +void ImageTransfer::Pimpl::initTcpClient(const addrinfo* addressInfo) { + protocol.reset(new ImageProtocol(isServer, ImageProtocol::PROTOCOL_TCP)); + clientSocket = Networking::connectTcpSocket(addressInfo); + memcpy(&remoteAddress, addressInfo->ai_addr, sizeof(remoteAddress)); + + // Set special socket options + setSocketOptions(); +} + +void ImageTransfer::Pimpl::initTcpServer(const addrinfo* addressInfo) { + protocol.reset(new ImageProtocol(isServer, ImageProtocol::PROTOCOL_TCP)); + + // Create socket + tcpServerSocket = ::socket(addressInfo->ai_family, addressInfo->ai_socktype, + addressInfo->ai_protocol); + if (tcpServerSocket == INVALID_SOCKET) { + TransferException ex("Error opening socket: " + string(strerror(errno))); + throw ex; + } + + // Enable reuse address + Networking::enableReuseAddress(tcpServerSocket, true); + + // Open a server port + Networking::bindSocket(tcpServerSocket, addressInfo); + clientSocket = INVALID_SOCKET; + + // Make the server socket non-blocking + Networking::setSocketBlocking(tcpServerSocket, false); + + // Listen on port + listen(tcpServerSocket, 1); +} + +void ImageTransfer::Pimpl::initUdp(const addrinfo* addressInfo) { + protocol.reset(new ImageProtocol(isServer, ImageProtocol::PROTOCOL_UDP, maxUdpPacketSize)); + // Create sockets + clientSocket = socket(AF_INET, SOCK_DGRAM, 0); + if(clientSocket == INVALID_SOCKET) { + TransferException ex("Error creating receive socket: " + string(strerror(errno))); + throw ex; + } + + // Enable reuse address + Networking::enableReuseAddress(clientSocket, true); + + // Bind socket to port + if(isServer && addressInfo != nullptr) { + Networking::bindSocket(clientSocket, addressInfo); + } + + if(!isServer) { + memcpy(&remoteAddress, addressInfo->ai_addr, sizeof(remoteAddress)); + } + + // Set special socket options + setSocketOptions(); +} + +bool ImageTransfer::Pimpl::tryAccept() { + if(protType != ImageProtocol::PROTOCOL_TCP || ! isServer) { + throw TransferException("Connections can only be accepted in tcp server mode"); + } + + unique_lock recvLock(receiveMutex); + unique_lock sendLock(sendMutex); + + // Accept one connection + SOCKET newSocket = Networking::acceptConnection(tcpServerSocket, remoteAddress); + if(newSocket == INVALID_SOCKET) { + // No connection + return false; + } + + if(clientSocket != INVALID_SOCKET) { + Networking::closeSocket(clientSocket); + } + clientSocket = newSocket; + + // Set special socket options + setSocketOptions(); + + // Reset connection data + protocol->resetTransfer(); + protocol->resetReception(); + currentMsg = nullptr; + + return true; +} + +std::string ImageTransfer::Pimpl::getRemoteAddress() const { + unique_lock lock(const_cast(sendMutex)); // either mutex will work + + if(remoteAddress.sin_family != AF_INET) { + return ""; + } + + char strPort[11]; + snprintf(strPort, sizeof(strPort), ":%d", remoteAddress.sin_port); + + return string(inet_ntoa(remoteAddress.sin_addr)) + strPort; +} + +void ImageTransfer::Pimpl::setSocketOptions() { + // Set the socket buffer sizes + if(bufferSize > 0) { + setsockopt(clientSocket, SOL_SOCKET, SO_RCVBUF, reinterpret_cast(&bufferSize), sizeof(bufferSize)); + setsockopt(clientSocket, SOL_SOCKET, SO_SNDBUF, reinterpret_cast(&bufferSize), sizeof(bufferSize)); + } + + Networking::setSocketTimeout(clientSocket, 500); + Networking::setSocketBlocking(clientSocket, true); +} + +void ImageTransfer::Pimpl::setRawTransferData(const ImageSet& metaData, + const std::vector& rawDataVec, int firstTileWidth, int secondTileWidth, int validBytes) { + unique_lock sendLock(sendMutex); + protocol->setRawTransferData(metaData, rawDataVec, firstTileWidth, secondTileWidth, validBytes); + currentMsg = nullptr; +} + +void ImageTransfer::Pimpl::setRawValidBytes(const std::vector& validBytes) { + unique_lock sendLock(sendMutex); + protocol->setRawValidBytes(validBytes); +} + +void ImageTransfer::Pimpl::setTransferImageSet(const ImageSet& imageSet) { + unique_lock sendLock(sendMutex); + protocol->setTransferImageSet(imageSet); + currentMsg = nullptr; +} + +ImageTransfer::TransferStatus ImageTransfer::Pimpl::transferData() { + unique_lock lock(sendMutex); + + // First receive data in case a control message arrives + if(protType == ImageProtocol::PROTOCOL_UDP) { + receiveNetworkData(false); + } + + if(remoteAddress.sin_family != AF_INET || !protocol->isConnected()) { + return NOT_CONNECTED; + } + +#ifndef _WIN32 + // Cork TCP to prevent sending of small packets + if(protType == ImageProtocol::PROTOCOL_TCP) { + int flag = 1; + setsockopt(clientSocket, IPPROTO_TCP, TCP_CORK, (char *) &flag, sizeof(int)); + } +#endif + + // Get first message to transfer + if(currentMsg == nullptr) { + currentMsgOffset = 0; + currentMsg = protocol->getTransferMessage(currentMsgLen); + + if(currentMsg == nullptr) { + if(protocol->transferComplete()) { + return ALL_TRANSFERRED; + } else { + return NO_VALID_DATA; + } + } + } + + // Try transferring messages + bool dataTransferred = (currentMsg != nullptr); + while(currentMsg != nullptr) { + int writing = (int)(currentMsgLen - currentMsgOffset); + + if(sendNetworkMessage(¤tMsg[currentMsgOffset], writing)) { + // Get next message + currentMsgOffset = 0; + currentMsg = protocol->getTransferMessage(currentMsgLen); + } else { + return WOULD_BLOCK; + } + } + + if(dataTransferred && protType == ImageProtocol::PROTOCOL_TCP && protocol->transferComplete()) { +#ifndef _WIN32 + // Uncork - sends the assembled messages + int flag = 0; + setsockopt(clientSocket, IPPROTO_TCP, TCP_CORK, (char *) &flag, sizeof(int)); +#else + // Force a flush for TCP by turning the nagle algorithm off and on + int flag = 1; + setsockopt(clientSocket, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); + flag = 0; + setsockopt(clientSocket, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); +#endif + } + + // Also check for control messages at the end + if(protType == ImageProtocol::PROTOCOL_UDP) { + receiveNetworkData(false); + } + + if(protocol->transferComplete()) { + return ALL_TRANSFERRED; + } else { + return PARTIAL_TRANSFER; + } +} + +bool ImageTransfer::Pimpl::receiveImageSet(ImageSet& imageSet) { + int validRows = 0; + bool complete = false; + + std::chrono::steady_clock::time_point startTime = std::chrono::steady_clock::now(); + while(!complete) { + if(!receivePartialImageSet(imageSet, validRows, complete)) { + return false; + } + + unsigned int time = static_cast(std::chrono::duration_cast( + std::chrono::steady_clock::now() - startTime).count()); + if(time > 1000) { + return false; + } + } + + return true; +} + +bool ImageTransfer::Pimpl::receivePartialImageSet(ImageSet& imageSet, + int& validRows, bool& complete) { + unique_lock lock(receiveMutex); + + // Try to receive further image data if needed + bool block = true; + while(!protocol->imagesReceived() && receiveNetworkData(block)) { + block = false; + } + + // Get received image + return protocol->getPartiallyReceivedImageSet(imageSet, validRows, complete); +} + +bool ImageTransfer::Pimpl::receiveNetworkData(bool block) { + unique_lock lock = block ? + unique_lock(receiveMutex) : unique_lock(receiveMutex, std::try_to_lock); + + if(clientSocket == INVALID_SOCKET) { + return false; // Not connected + } + + // First send control messages if necessary + sendPendingControlMessages(); + + if(!lock.owns_lock()) { + // Waiting for the lock would block this call + return false; + } + + // Test if the socket has data available + if(!block && !selectSocket(true, false)) { + return 0; + } + + int maxLength = 0; + char* buffer = reinterpret_cast(protocol->getNextReceiveBuffer(maxLength)); + + // Receive data + sockaddr_in fromAddress; + socklen_t fromSize = sizeof(fromAddress); + + int bytesReceived = recvfrom(clientSocket, buffer, maxLength, + 0, reinterpret_cast(&fromAddress), &fromSize); + + if(bytesReceived == 0 || (protType == ImageProtocol::PROTOCOL_TCP && bytesReceived < 0 && errno == WSAECONNRESET)) { + // Connection closed + disconnect(); + } else if(bytesReceived < 0 && errno != EWOULDBLOCK && errno != EINTR && + errno != ETIMEDOUT && errno != WSA_IO_PENDING && errno != WSAECONNRESET) { + TransferException ex("Error reading from socket: " + string(strerror(errno))); + throw ex; + } else if(bytesReceived > 0) { + protocol->processReceivedMessage(bytesReceived); + if(protocol->newClientConnected()) { + // We have just established a new connection + memcpy(&remoteAddress, &fromAddress, sizeof(remoteAddress)); + } + } + + return bytesReceived > 0; +} + +void ImageTransfer::Pimpl::disconnect() { + // We just need to forget the remote address in order to + // disconnect + unique_lock recvLock(receiveMutex); + unique_lock sendLock(sendMutex); + + if(clientSocket != INVALID_SOCKET && protType == ImageProtocol::PROTOCOL_TCP) { + Networking::closeSocket(clientSocket); + } + memset(&remoteAddress, 0, sizeof(remoteAddress)); +} + +bool ImageTransfer::Pimpl::isConnected() const { + unique_lock lock(const_cast(sendMutex)); //either mutex will work + + return remoteAddress.sin_family == AF_INET && protocol->isConnected(); +} + +bool ImageTransfer::Pimpl::sendNetworkMessage(const unsigned char* msg, int length) { + int written = 0; + if(protType == ImageProtocol::PROTOCOL_UDP) { + sockaddr_in destAddr; + SOCKET destSocket; + { + unique_lock lock(sendMutex); + destAddr = remoteAddress; + destSocket = clientSocket; + } + + if(destAddr.sin_family != AF_INET) { + return false; // Not connected + } + + written = sendto(destSocket, reinterpret_cast(msg), length, 0, + reinterpret_cast(&destAddr), sizeof(destAddr)); + } else { + SOCKET destSocket; + { + unique_lock lock(sendMutex); + destSocket = clientSocket; + } + written = send(destSocket, reinterpret_cast(msg), length, 0); + } + + unsigned long sendError = errno; + + if(written < 0) { + if(sendError == EAGAIN || sendError == EWOULDBLOCK || sendError == ETIMEDOUT) { + // The socket is not yet ready for a new transfer + return false; + } else if(sendError == EPIPE) { + // The connection has been closed + disconnect(); + return false; + } else { + TransferException ex("Error sending network packet: " + string(strerror(sendError))); + throw ex; + } + } else if(written != length) { + if(protType == ImageProtocol::PROTOCOL_UDP) { + // The message has been transmitted partially + throw TransferException("Unable to transmit complete UDP message"); + } else { + // For TCP we can transmit the remaining data later + currentMsgOffset += written; + return false; + } + } else { + return true; + } +} + +void ImageTransfer::Pimpl::sendPendingControlMessages() { + const unsigned char* controlMsgData = nullptr; + int controlMsgLen = 0; + + while(true) { + unique_lock lock(sendMutex); + if(remoteAddress.sin_family != AF_INET) { + return; + } + + controlMsgData = protocol->getNextControlMessage(controlMsgLen); + + if(controlMsgData != nullptr) { + sendNetworkMessage(controlMsgData, controlMsgLen); + } else { + break; + } + } +} + +int ImageTransfer::Pimpl::getNumDroppedFrames() const { + return protocol->getNumDroppedFrames(); +} + +bool ImageTransfer::Pimpl::selectSocket(bool read, bool wait) { + SOCKET sock; + { + unique_lock lock(sendMutex); // Either mutex will do + sock = clientSocket; + } +#ifdef _WIN32 + fd_set fds; + struct timeval tv; + FD_ZERO(&fds); + FD_SET(sock, &fds); + tv.tv_sec = 0; + if(wait) { + tv.tv_usec = 100000; + } else { + tv.tv_usec = 0; + } + + if(select(sock+1, (read ? &fds : nullptr), (!read ? &fds : nullptr), nullptr, &tv) <= 0) { + // The socket is currently not ready + return false; + } +#else + // use poll() on non-Windows platform (glibc select() limitations) + constexpr int timeoutMillisec = 100; + pollfd pfd; + pfd.fd = sock; + pfd.events = POLLIN; + if (poll(&pfd, 1, wait ? timeoutMillisec: 0) <= 0) { + // The socket is currently not ready + return false; + } +#endif + // select (or poll) reported an event + return true; +} + +std::string ImageTransfer::statusReport() { + return pimpl->statusReport(); +} +std::string ImageTransfer::Pimpl::statusReport() { + return protocol->statusReport(); +} + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.h new file mode 100644 index 0000000..82879e0 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/imagetransfer.h @@ -0,0 +1,232 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_IMAGETRANSFER_H +#define VISIONTRANSFER_IMAGETRANSFER_H + +#include +#include "visiontransfer/common.h" +#include "visiontransfer/imageprotocol.h" +#include "visiontransfer/imageset.h" +#include "visiontransfer/deviceinfo.h" + +namespace visiontransfer { + +/** + * \brief Class for synchronous transfer of image sets. + * + * This class opens a network socket for delivering or receiving image sets. All + * operations are performed synchronously, which means that they might block. + * The class encapsulates ImageProtocol. + * + * This class is thread safe for as long as sending and receiving data + * each has its dedicated thread. + */ +class VT_EXPORT ImageTransfer { +public: + /// The result of a partial image transfer + enum TransferStatus { + /// The image set has been transferred completely. + ALL_TRANSFERRED, + + /// The image set has been transferred partially. Further + /// transfers are necessary. + PARTIAL_TRANSFER, + + /// There is currently no more data that could be transmitted. + NO_VALID_DATA, + + /// The operation would block and blocking as been disabled. + WOULD_BLOCK, + + /// No network connection has been established + NOT_CONNECTED + }; + + /** + * \brief Creates a new transfer object by manually specifying the + * target address. + * + * \param address Address of the remote host to which a connection + * should be established. In server mode this can be a local + * interface address or NULL. + * \param service The port number that should be used as string or + * as textual service name. + * \param protType Specifies whether the UDP or TCP transport protocol + * shall be used. + * \param server If set to true, this object will be a communication server. + * \param bufferSize Buffer size for sending / receiving network data. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + */ + ImageTransfer(const char* address, const char* service = "7681", + ImageProtocol::ProtocolType protType = ImageProtocol::PROTOCOL_UDP, + bool server = false, int bufferSize = 1048576, int maxUdpPacketSize = 1472); + + /** + * \brief Creates a new transfer object by using the device information + * from device enumeration. + * + * \param device Information on the device to which a connection should + * be established. + * \param bufferSize Buffer size for sending / receiving network data. + * \param maxUdpPacketSize Maximum allowed size of a UDP packet when sending data. + */ + ImageTransfer(const DeviceInfo& device, int bufferSize = 1048576, + int maxUdpPacketSize = 1472); + + ~ImageTransfer(); + + /** + * \brief Sets the raw pixel data for a partial image transmission. + * + * This method has to be used in conjunction with transferData(). + * Please see ImageProtocol::setRawTransferData() for further details. + */ + void setRawTransferData(const ImageSet& metaData, const std::vector& rawData, + int firstTileWidth = 0, int secondTileWidth = 0, int validBytes = 0x7FFFFFFF); + + /** + * \brief Updates the number of valid bytes in a partial raw transmission. + * + * Please see ImageProtocol::setRawValidBytes() for further details. + */ + void setRawValidBytes(const std::vector& validBytes); + + /** + * \brief Sets a new image set that shall be transmitted. + * + * \param imageSet The image set that shall be transmitted. + * + * After setting the image set, subsequent calls to transferData() + * are necessary for performing the image transmission. + * + * \see ImageProtocol::setTransferImageSet() + */ + void setTransferImageSet(const ImageSet& imageSet); + + /** + * \brief Performs a partial (or full) image transmission. + * + * \return Status of the transmission. See below. + * + * The method transfers up to the specified number of valid bytes. It has to + * be called in cycles in order to transfer a full image set. If there + * is no more data to be transferred, it will return TransferStatus::NO_VALID_DATA. + * + * If the transfer is compete, the method will return + * TransferStatus::ALL_TRANSFERRED. If there remains outstanding data for + * this transfer, the return value will be TransferStatus::PARTIAL_TRANSFER. + * If the connection is no longer open, TransferStatus::CONNECTION_CLOSED + * is returned. + * + * Even after a complete transfer this method should be continued to be + * called in case a packed needs to be retransmitted due to an unreliable + * network connection. Also for a communication server this method should + * be called frequently to accept incoming connections. + */ + TransferStatus transferData(); + + /** + * \brief Waits for and receives a new image set. + * + * \param imageSet Will be set to the received image set. + * \return Returns true if a new image set has been received. Otherwise + * false. + * + * The received image set is only valid until the next call of receiveImageSet(). + * The method will not block indefinitely, but return after a short timeout. + * + * \see ImageProtocol::getReceivedImageSet() + */ + bool receiveImageSet(ImageSet& imageSet); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + DEPRECATED("Use receiveImageSet() instead") + inline bool receiveImagePair(ImageSet& imageSet) { + return receiveImageSet(imageSet); + } +#endif + + /** + * \brief Returns the received image set, even if it is not yet complete. + * + * The received image set is only valid until calling receivePartialImageSet() + * for the first time after the current image set has been received completely. + * The method returns false if no image data has been received. + * + * Please see ImageProtocol::getPartiallyReceivedImageSet() for further details. + */ + bool receivePartialImageSet(ImageSet& imageSet, int& validRows, bool& complete); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + DEPRECATED("Use receivePartialImageSet() instead") + inline bool receivePartialImagePair(ImageSet& imageSet, int& validRows, bool& complete) { + return receivePartialImageSet(imageSet, validRows, complete); + } +#endif + + /** + * \brief Returns the number of frames that have been dropped since + * connecting to the current remote host. + * + * Dropped frames are caused by dropped packets due to a poor network + * connection + */ + int getNumDroppedFrames() const; + + /** + * \brief Tries to accept a client connection. + * + * \return True if a client has connected. + * + * This method can only be used in TCP server mode. It shall be called in + * regular intervals to allow for client connections. The method is + * always non-blocking. + */ + bool tryAccept(); + + /** + * \brief Returns true if a remote connection is established + */ + bool isConnected() const; + + /** + * \brief Terminates the current connection. + * + * If connected to a remote host this connection will be closed. + */ + void disconnect(); + + /** + * \brief Returns the address of the remote host + * + * \return Remote address or "" if no connection has been established. + */ + std::string getRemoteAddress() const; + + std::string statusReport(); + +private: + // We follow the pimpl idiom + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + ImageTransfer(const ImageTransfer& other); + ImageTransfer& operator=(const ImageTransfer&); +}; + +} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.cpp new file mode 100644 index 0000000..2c62e4d --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.cpp @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include "visiontransfer/internalinformation.h" + +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +const char InternalInformation::DISCOVERY_BROADCAST_MSG[16] = "NERIAN-DISCOVER"; + +}} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.h new file mode 100644 index 0000000..9fd5a07 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/internalinformation.h @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_INTERNALINFORMATION_H +#define VISIONTRANSFER_INTERNALINFORMATION_H + +namespace visiontransfer { +namespace internal { + +/** + * \brief Information that is required internally by different program + * parts. + */ +struct InternalInformation { +#pragma pack(push,1) + struct DiscoveryMessageBasic { + unsigned char protocolVersion; + unsigned char model; + unsigned char useTcp; + char firmwareVersion[14]; + }; + struct DiscoveryMessage: public DiscoveryMessageBasic { + // Extended device status / health info + double lastFps; // Most recent FPS report, or 0.0 if N/A + unsigned int jumboSize; // Jumbo MTU or 0 if disabled + char currentCaptureSource[8]; // For targeted debug instructions + }; +#pragma pack(pop) + + static const char DISCOVERY_BROADCAST_MSG[16]; + + static constexpr int DISCOVERY_BROADCAST_PORT = 7680; + static constexpr int IMAGEDATA_PORT = 7681; + static constexpr int WEBSOCKET_PORT = 7682; + static constexpr int PARAMETER_PORT = 7683; + static constexpr int DATACHANNELSERVICE_PORT = 7684; + + static constexpr unsigned char CURRENT_PROTOCOL_VERSION = 0x06; +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.cpp new file mode 100644 index 0000000..8826233 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.cpp @@ -0,0 +1,158 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include "visiontransfer/networking.h" +#include "visiontransfer/exceptions.h" +#include +#include + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +void Networking::initNetworking() { +#ifdef _WIN32 + // In windows, we first have to initialize winsock + WSADATA wsaData; + if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { + throw TransferException("WSAStartup failed!"); + } +#endif +} + +addrinfo* Networking::resolveAddress(const char* address, const char* service) { + addrinfo hints; + memset(&hints, 0, sizeof(hints)); + hints.ai_family = AF_INET; // Use IPv4 + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = 0; + hints.ai_protocol = 0; + + addrinfo* addressInfo = nullptr; + + if(getaddrinfo(address, service, &hints, &addressInfo) != 0 || addressInfo == nullptr) { + TransferException ex("Error resolving address: " + string(strerror(errno))); + throw ex; + } + + if(addressInfo->ai_addrlen != sizeof(sockaddr_in)) { + throw TransferException("Illegal address length"); + } + + return addressInfo; +} + +SOCKET Networking::connectTcpSocket(const addrinfo* address) { + SOCKET sock = ::socket(address->ai_family, address->ai_socktype, + address->ai_protocol); + if(sock == INVALID_SOCKET) { + TransferException ex("Error creating socket: " + string(strerror(errno))); + throw ex; + } + + if(connect(sock, address->ai_addr, static_cast(address->ai_addrlen)) < 0) { + TransferException ex("Error connection to destination address: " + string(strerror(errno))); + throw ex; + } + + return sock; +} + +void Networking::setSocketTimeout(SOCKET socket, int timeoutMillisec) { +#ifdef _WIN32 + unsigned int timeout = timeoutMillisec; +#else + struct timeval timeout; + timeout.tv_sec = timeoutMillisec/1000; + timeout.tv_usec = timeoutMillisec*1000; +#endif + + setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&timeout), sizeof(timeout)); + setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, reinterpret_cast(&timeout), sizeof(timeout)); +} + +void Networking::closeSocket(SOCKET& socket) { + setSocketBlocking(socket, false); + shutdown(socket, SHUT_WR); + + // Receive remaining data + char buffer[1024]; + for(int i=0; i<3; i++) { + int received = recv(socket, buffer, sizeof(buffer), 0); + if(received <= 0) { + break; + } + } + + close(socket); + socket = INVALID_SOCKET; +} + +void Networking::setSocketBlocking(SOCKET socket, bool blocking) { +#ifdef _WIN32 + unsigned long on = (blocking ? 0 : 1); + ioctlsocket(socket, FIONBIO, &on); +#else + int flags = fcntl(socket, F_GETFL, 0); + if(flags != -1) { + if(blocking) { + flags &= ~O_NONBLOCK; + } else { + flags |= O_NONBLOCK; + } + fcntl(socket, F_SETFL, flags); + } +#endif +} + +void Networking::enableReuseAddress(SOCKET socket, bool reuse) { + int enable = reuse ? 1 : 0; + setsockopt(socket, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast(&enable), sizeof(int)); +} + +void Networking::bindSocket(SOCKET socket, const addrinfo* addressInfo) { + if (::bind(socket, addressInfo->ai_addr, static_cast(addressInfo->ai_addrlen)) < 0) { + TransferException ex("Error binding socket: " + string(strerror(errno))); + throw ex; + } +} + +SOCKET Networking::acceptConnection(SOCKET socket, sockaddr_in& remoteAddress) { + socklen_t clientAddressLength = sizeof(sockaddr_in); + + SOCKET newSocket = accept(socket, reinterpret_cast(&remoteAddress), + &clientAddressLength); + + if(clientAddressLength != sizeof(sockaddr_in)) { + throw TransferException("Received network address with invalid length"); + } + + if(newSocket == INVALID_SOCKET) { + if(errno == EWOULDBLOCK || errno == ETIMEDOUT) { + // No connection + return INVALID_SOCKET; + } else { + TransferException ex("Error accepting connection: " + string(strerror(errno))); + throw ex; + } + } + + return newSocket; +} + +}} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.h new file mode 100644 index 0000000..527e570 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/networking.h @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +/******************************************************************************* + * This header file contains include statements and definitions for simplifying + * cross platform network development +*******************************************************************************/ + +#ifndef VISIONTRANSFER_NETWORKING_H +#define VISIONTRANSFER_NETWORKING_H + +// Network headers +#ifdef _WIN32 + #ifndef _WIN32_WINNT + #define _WIN32_WINNT 0x501 + #endif + #define _WINSOCK_DEPRECATED_NO_WARNINGS + + #ifndef NOMINMAX + #define NOMINMAX + #endif + + #include + #include + #include + #include + + #include + #include + #include + + // Some defines to make windows socket look more like + // posix sockets. + #ifdef EWOULDBLOCK + #undef EWOULDBLOCK + #endif + #ifdef ECONNRESET + #undef ECONNRESET + #endif + #ifdef ETIMEDOUT + #undef ETIMEDOUT + #endif + #ifdef EPIPE + #undef EPIPE + #endif + + #define EWOULDBLOCK WSAEWOULDBLOCK + #define ECONNRESET WSAECONNRESET + #define ETIMEDOUT WSAETIMEDOUT + #define EPIPE WSAECONNABORTED + #define MSG_DONTWAIT 0 + #define SHUT_WR SD_BOTH + + inline int close(SOCKET s) { + return closesocket(s); + } + + // Emulate posix errno. Does not work in a throw + // statement (WTF?) + #undef errno + #define errno WSAGetLastError() + #define strerror win_strerror + + // Visual studio does not come with snprintf + #ifndef snprintf + #define snprintf _snprintf_s + #endif + + inline std::string win_strerror(unsigned long error) { + char* str = nullptr; + if(FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPSTR)&str, 0, nullptr) == 0 || str == nullptr) { + return "Unknown error"; + } else { + char buffer[512]; + snprintf(buffer, sizeof(buffer), "%s (%lu)", str, error); + LocalFree(str); + return std::string(buffer); + } + } + + typedef int socklen_t; + +#else + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + // Unfortunately we have to use a winsock like socket type + typedef int SOCKET; + #define INVALID_SOCKET -1 + + // Also we need some additional winsock defines + #define WSA_IO_PENDING 0 + #define WSAECONNRESET 0 +#endif + +namespace visiontransfer { +namespace internal { + +/** + * \brief A collection of helper functions for implementing network communication. + */ +class Networking { +public: + static void initNetworking(); + static addrinfo* resolveAddress(const char* address, const char* service); + static SOCKET connectTcpSocket(const addrinfo* address); + static void setSocketTimeout(SOCKET socket, int timeoutMillisec); + static void closeSocket(SOCKET& socket); + static void setSocketBlocking(SOCKET socket, bool blocking); + static void enableReuseAddress(SOCKET socket, bool reuse); + static void bindSocket(SOCKET socket, const addrinfo* addressInfo); + static SOCKET acceptConnection(SOCKET socket, sockaddr_in& remoteAddress); +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.cpp new file mode 100644 index 0000000..f8c646d --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.cpp @@ -0,0 +1,154 @@ +#include "visiontransfer/parameterinfo.h" +#include "visiontransfer/exceptions.h" + +namespace visiontransfer { + +class ParameterInfo::Pimpl { +public: + Pimpl(): type(ParameterInfo::TYPE_INT), value({0}), min({0}), max({0}), inc({0}) { } + template void set(const std::string& name, bool writeable, + T value, T min, T max, T inc); + inline std::string getName() const { return name; } + inline ParameterType getType() const { return type; } + inline bool isWriteable() const { return writeable; } + template T getTypedValue(const ParameterValue& val) const; + template T getValue() const { return getTypedValue(value); } + template T getMin() const { return getTypedValue(min); } + template T getMax() const { return getTypedValue(max); } + template T getInc() const { return getTypedValue(inc); } +private: + std::string name; + ParameterType type; + bool writeable; + ParameterValue value; + ParameterValue min; + ParameterValue max; + ParameterValue inc; +}; + +// ParameterInfo, for abstracted enumerations of parameters + +ParameterInfo::ParameterInfo() +{ + pimpl = new ParameterInfo::Pimpl(); +} + +template<> void ParameterInfo::Pimpl::set(const std::string& name, bool writeable, int value, int min, int max, int inc) +{ + this->name = name; + this->type = ParameterInfo::TYPE_INT; + this->writeable = writeable; + this->value.intVal = value; + this->min.intVal = min; + this->max.intVal = max; + this->inc.intVal = inc; +} +template<> void ParameterInfo::Pimpl::set(const std::string& name, bool writeable, double value, double min, double max, double inc) +{ + this->name = name; + this->type = ParameterInfo::TYPE_DOUBLE; + this->writeable = writeable; + this->value.doubleVal = value; + this->min.doubleVal = min; + this->max.doubleVal = max; + this->inc.doubleVal = inc; +} +template<> void ParameterInfo::Pimpl::set(const std::string& name, bool writeable, bool value, bool min, bool max, bool inc) +{ + this->name = name; + this->type = ParameterInfo::TYPE_BOOL; + this->writeable = writeable; + this->value.boolVal = value; + this->min.boolVal = min; + this->max.boolVal = max; + this->inc.boolVal = inc; +} + +ParameterInfo ParameterInfo::fromInt(const std::string& name, bool writeable, + int value, int min, int max, int inc) { + ParameterInfo pi; + pi.pimpl->set(name, writeable, value, min, max, inc); + return pi; +} + +ParameterInfo ParameterInfo::fromDouble(const std::string& name, bool writeable, + double value, double min, double max, double inc) { + ParameterInfo pi; + pi.pimpl->set(name, writeable, value, min, max, inc); + return pi; +} + +ParameterInfo ParameterInfo::fromBool(const std::string& name, bool writeable, bool value) { + ParameterInfo pi; + pi.pimpl->set(name, writeable, value, 0, 1, 1); + return pi; +} + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +template<> int ParameterInfo::Pimpl::getTypedValue(const ParameterInfo::ParameterValue& val) const { + switch (type) { + case ParameterInfo::TYPE_INT: { + return val.intVal; + } + case ParameterInfo::TYPE_BOOL: { + return (int) val.boolVal; + } + case ParameterInfo::TYPE_DOUBLE: { + return (int) val.doubleVal; + } + } + throw ParameterException("Unexpected parameter type"); +} + +template<> double ParameterInfo::Pimpl::getTypedValue(const ParameterInfo::ParameterValue& val) const { + switch (type) { + case ParameterInfo::TYPE_DOUBLE: { + return val.doubleVal; + } + case ParameterInfo::TYPE_INT: { + return (double) val.intVal; + } + case ParameterInfo::TYPE_BOOL: { + return val.boolVal?1.0:0.0; + } + } + throw ParameterException("Unexpected parameter type"); +} + +template<> bool ParameterInfo::Pimpl::getTypedValue(const ParameterInfo::ParameterValue& val) const { + switch (type) { + case ParameterInfo::TYPE_BOOL: { + return val.boolVal; + } + case ParameterInfo::TYPE_DOUBLE: { + return val.doubleVal != 0.0; + } + case ParameterInfo::TYPE_INT: { + return val.intVal != 0; + } + } + throw ParameterException("Unexpected parameter type"); +} +#endif // DOXYGEN_SHOULD_SKIP_THIS + +std::string ParameterInfo::getName() const { return pimpl->getName(); } +ParameterInfo::ParameterType ParameterInfo::getType() const { return pimpl->getType(); } +bool ParameterInfo::isWriteable() const { return pimpl->isWriteable(); } + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +template<> VT_EXPORT int ParameterInfo::getValue() const { return pimpl->getValue(); } +template<> VT_EXPORT double ParameterInfo::getValue() const { return pimpl->getValue(); } +template<> VT_EXPORT bool ParameterInfo::getValue() const { return pimpl->getValue(); } +template<> VT_EXPORT int ParameterInfo::getMin() const { return pimpl->getMin(); } +template<> VT_EXPORT double ParameterInfo::getMin() const { return pimpl->getMin(); } +template<> VT_EXPORT bool ParameterInfo::getMin() const { return pimpl->getMin(); } +template<> VT_EXPORT int ParameterInfo::getMax() const { return pimpl->getMax(); } +template<> VT_EXPORT double ParameterInfo::getMax() const { return pimpl->getMax(); } +template<> VT_EXPORT bool ParameterInfo::getMax() const { return pimpl->getMax(); } +template<> VT_EXPORT int ParameterInfo::getInc() const { return pimpl->getInc(); } +template<> VT_EXPORT double ParameterInfo::getInc() const { return pimpl->getInc(); } +template<> VT_EXPORT bool ParameterInfo::getInc() const { return pimpl->getInc(); } +#endif // DOXYGEN_SHOULD_SKIP_THIS + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.h new file mode 100644 index 0000000..669db77 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parameterinfo.h @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_STANDARDPARAMETERS_H +#define VISIONTRANSFER_STANDARDPARAMETERS_H + +#include +#include +#include "visiontransfer/common.h" + +namespace visiontransfer { + +class VT_EXPORT ParameterInfo { +public: + union ParameterValue { + int32_t intVal; + bool boolVal; + double doubleVal; + }; + + enum ParameterType { + TYPE_INT = 1, + TYPE_DOUBLE = 2, + TYPE_BOOL = 3, + }; + + ParameterInfo(); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + // For internal use only + static ParameterInfo fromInt(const std::string& name, bool writeable, + int value, int min = -1, int max = -1, int inc = -1); + static ParameterInfo fromDouble(const std::string& name, bool writeable, + double value, double min = -1, double max = -1, double inc = -1); + static ParameterInfo fromBool(const std::string& name, bool writeable, bool value); +#endif + + /** + * \brief Returns the string representation of the parameter name + */ + std::string getName() const; + /** + * \brief Returns the type of the parameter + */ + ParameterType getType() const; + /** + * \brief Returns whether the parameter is writeable (or read-only) + */ + bool isWriteable() const; + /** + * \brief Returns the current parameter value, cast to the desired type (int, double or bool) + */ + template T getValue() const; + /** + * \brief Returns the minimum parameter value, cast to the desired type (int, double or bool) + */ + template T getMin() const; + /** + * \brief Returns the maximum parameter value, cast to the desired type (int, double or bool) + */ + template T getMax() const; + /** + * \brief Returns the increment of the parameter (i.e. increment for raising / lowering the value), cast to the desired type (int, double or bool) + */ + template T getInc() const; + +private: + class Pimpl; + Pimpl* pimpl; +}; + +} // namespace + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.cpp new file mode 100644 index 0000000..ec16e01 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.cpp @@ -0,0 +1,246 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include + +#include "visiontransfer/parametertransfer.h" +#include "visiontransfer/exceptions.h" +#include "visiontransfer/internalinformation.h" +#include "visiontransfer/standardparameterids.h" +#include "visiontransfer/parametertransferdata.h" +#include +#include + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { +namespace internal { + +constexpr int ParameterTransfer::SOCKET_TIMEOUT_MS; + +ParameterTransfer::ParameterTransfer(const char* address, const char* service) + : socket(INVALID_SOCKET) { + + Networking::initNetworking(); + addrinfo* addressInfo = Networking::resolveAddress(address, service); + + socket = Networking::connectTcpSocket(addressInfo); + Networking::setSocketTimeout(socket, SOCKET_TIMEOUT_MS); + checkProtocolVersion(); + + freeaddrinfo(addressInfo); +} + +ParameterTransfer::~ParameterTransfer() { + if(socket != INVALID_SOCKET) { + Networking::closeSocket(socket); + } +} + +std::map ParameterTransfer::recvEnumeration() { + std::map pi; + const size_t bufsize = 4096; + char buf[bufsize]; + char* recv_buf = buf; + + int bytesReceived = recv(socket, recv_buf, 4, 0); + if(bytesReceived < 0) { + TransferException ex("Error receiving network packet: " + string(strerror(errno))); + throw ex; + } else if (bytesReceived == 0) { + TransferException ex("Error receiving network packet: connection closed"); + throw ex; + } else if (bytesReceived < 4) { + TransferException ex("Error receiving parameter enumeration - no length!"); + throw ex; + } + recv_buf += 4; + + // Number of parameters in the first received uint32 + uint32_t num_params = ntohl(reinterpret_cast(buf)[0]); + // Expected size of following data block, read until met + size_t expected_remaining_size = num_params * sizeof(TransportParameterInfo); + if (expected_remaining_size > bufsize - 4) { + TransferException ex("Remote parameter enumeration exceeds expected maximum size"); + throw ex; + } + while (expected_remaining_size > 0) { + bytesReceived = recv(socket, recv_buf, expected_remaining_size, 0); + if (bytesReceived < 0) { + TransferException ex("Error receiving network packet: " + string(strerror(errno))); + throw ex; + } else if (bytesReceived == 0) { + TransferException ex("Error receiving network packet: connection closed"); + throw ex; + } else { + expected_remaining_size -= bytesReceived; + recv_buf += bytesReceived; + } + } + + TransportParameterInfo* tpi = reinterpret_cast(buf + 4); + for (unsigned int i = 0; i < num_params; ++i) { + StandardParameterIDs::ParameterID id = (StandardParameterIDs::ParameterID) ntohl(tpi->id); + ParameterInfo::ParameterType type = (ParameterInfo::ParameterType) ntohl(tpi->type); + bool writeable = ntohl(tpi->flags & StandardParameterIDs::ParameterFlags::PARAMETER_WRITEABLE) != 0; + // + auto nameIt = internal::StandardParameterIDs::parameterNameByID.find(id); + if (nameIt == StandardParameterIDs::parameterNameByID.end()) { + std::cerr << "Enumeration contained a ParameterID for which no name is known: " << std::to_string(id) << std::endl; + std::cerr << "Parameter ignored; please ensure your libvisiontransfer is up to date." << std::endl; + } else { + switch(type) { + case ParameterInfo::TYPE_INT: { + pi[nameIt->second] = visiontransfer::ParameterInfo::fromInt(nameIt->second, writeable, + ntohl(tpi->value.intVal), ntohl(tpi->min.intVal), ntohl(tpi->max.intVal), ntohl(tpi->inc.intVal) + ); + break; + } + case ParameterInfo::TYPE_BOOL: { + pi[nameIt->second] = visiontransfer::ParameterInfo::fromBool(nameIt->second, writeable, ntohl(tpi->value.boolVal) != 0); + break; + } + case ParameterInfo::TYPE_DOUBLE: { + pi[nameIt->second] = visiontransfer::ParameterInfo::fromDouble(nameIt->second, writeable, + tpi->value.doubleVal, tpi->min.doubleVal, tpi->max.doubleVal, tpi->inc.doubleVal + ); + break; + } + default: { + } + } + } + ++tpi; + } + return pi; +} + +void ParameterTransfer::recvData(unsigned char* dest, int length) { + int bytesReceived = recv(socket, reinterpret_cast(dest), length, 0); + if(bytesReceived < 0) { + TransferException ex("Error receiving network packet: " + string(strerror(errno))); + throw ex; + } else if(bytesReceived < length) { + throw TransferException("Received too short network packet!"); + } +} + +void ParameterTransfer::checkProtocolVersion() { + unsigned int version = 0; + recvData(reinterpret_cast(&version), sizeof(version)); + + if(ntohl(version) != static_cast(InternalInformation::CURRENT_PROTOCOL_VERSION)) { + throw ParameterException("Protocol version mismatch! Expected " + + std::to_string(InternalInformation::CURRENT_PROTOCOL_VERSION) + + " but received " + std::to_string(ntohl(version))); + } +} + +void ParameterTransfer::readParameter(unsigned char messageType, int32_t id, unsigned char* dest, int length) { + if(length > 8) { + throw ParameterException("Parameter type size mismatch!"); + } + + unsigned int networkId = htonl(id); + unsigned char messageBuf[13]; + memset(messageBuf, 0, sizeof(messageBuf)); + + messageBuf[0] = messageType; + memcpy(&messageBuf[1], &networkId, 4); + + int written = send(socket, reinterpret_cast(messageBuf), sizeof(messageBuf), 0); + if(written != sizeof(messageBuf)) { + TransferException ex("Error sending parameter read request: " + string(strerror(errno))); + throw ex; + } + + unsigned char replyBuf[8]; + recvData(replyBuf, sizeof(replyBuf)); + memcpy(dest, replyBuf, length); +} + +template +void ParameterTransfer::writeParameter(unsigned char messageType, int32_t id, T value) { + static_assert(sizeof(T) <= 8, "Parameter type musst be smaller or equal to 8 bytes"); + + unsigned int networkId = htonl(id); + unsigned char messageBuf[13]; + + memset(messageBuf, 0, sizeof(messageBuf)); + messageBuf[0] = messageType; + memcpy(&messageBuf[1], &networkId, 4); + memcpy(&messageBuf[5], &value, sizeof(value)); + + int written = send(socket, reinterpret_cast(messageBuf), sizeof(messageBuf), 0); + if(written != sizeof(messageBuf)) { + TransferException ex("Error sending parameter write request: " + string(strerror(errno))); + throw ex; + } + + unsigned char replyBuf[8]; + recvData(replyBuf, sizeof(replyBuf)); + + if(replyBuf[0] == 0 && replyBuf[1] == 0 && replyBuf[2] == 0 && replyBuf[3] == 0) { + throw ParameterException("Unable to write parameter"); + } +} + +int ParameterTransfer::readIntParameter(int32_t id) { + unsigned int data; + readParameter(MESSAGE_READ_INT, id, reinterpret_cast(&data), sizeof(data)); + return static_cast(ntohl(data)); +} + +double ParameterTransfer::readDoubleParameter(int32_t id) { + double data; + readParameter(MESSAGE_READ_DOUBLE, id, reinterpret_cast(&data), sizeof(data)); + return data; +} + +bool ParameterTransfer::readBoolParameter(int32_t id) { + unsigned int data; + readParameter(MESSAGE_READ_BOOL, id, reinterpret_cast(&data), sizeof(data)); + return (data != 0); +} + +void ParameterTransfer::writeIntParameter(int32_t id, int32_t value) { + writeParameter(MESSAGE_WRITE_INT, id, htonl(static_cast(value))); +} + +void ParameterTransfer::writeDoubleParameter(int32_t id, double value) { + writeParameter(MESSAGE_WRITE_DOUBLE, id, value); +} + +void ParameterTransfer::writeBoolParameter(int32_t id, int32_t value) { + writeParameter(MESSAGE_WRITE_BOOL, id, htonl(static_cast(value))); +} + +std::map ParameterTransfer::getAllParameters() { + unsigned char messageBuf[13]; // padded to common message size, payload ignored + memset(messageBuf, 0, sizeof(messageBuf)); + messageBuf[0] = MESSAGE_ENUMERATE_PARAMS; + + int written = send(socket, reinterpret_cast(messageBuf), sizeof(messageBuf), 0); + if(written != sizeof(messageBuf)) { + TransferException ex("Error sending parameter enumeration request: " + string(strerror(errno))); + throw ex; + } + auto enumeration = recvEnumeration(); + return enumeration; +} + +}} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.h new file mode 100644 index 0000000..0df01b3 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransfer.h @@ -0,0 +1,155 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_PARAMETERTRANSFER_H +#define VISIONTRANSFER_PARAMETERTRANSFER_H + +#include "visiontransfer/networking.h" +#include "visiontransfer/parameterinfo.h" + +#include + +namespace visiontransfer { +namespace internal { + +/** + * \brief Allows a configuration of device parameters over the network. + * + * A TCP connection is established to a parameter server. The protocol + * allows writing and reading of individual parameters, which are + * identified by a unique ID. There are three supported types of + * parameters: integers, double precision floating point values, and + * booleans. + * + * This class is only used internally. Users should use the class + * \ref DeviceParameters instead. + */ + +class ParameterTransfer { +public: + /** + * \brief Creates an object and connects to the given server. + * + * \param address IP address or host name of the server. + * \param service The port number that should be used as string or + * as textual service name. + */ + ParameterTransfer(const char* address, const char* service = "7683"); + ~ParameterTransfer(); + + /** + * \brief Reads an integer value from the parameter server. + * + * \param id Unique ID of the parameter to be read. + * \return If successful, the value of the parameter that has + * been read + * + * If reading the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + int readIntParameter(int32_t id); + + /** + * \brief Reads a double precision floating point value from the + * parameter server. + * + * \param id Unique ID of the parameter to be read. + * \return If successful, the value of the parameter that has + * been read + * + * If reading the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + double readDoubleParameter(int32_t id); + + /** + * \brief Reads a boolean value from the parameter server. + * + * \param id Unique ID of the parameter to be read. + * \return If successful, the value of the parameter that has + * been read + * + * If reading the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + bool readBoolParameter(int32_t id); + + /** + * \brief Writes an integer value to a parameter of the parameter + * server. + * + * \param id Unique ID of the parameter to be written. + * \param value Value that should be written to the parameter. + * + * If writing the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + void writeIntParameter(int32_t id, int32_t value); + + /** + * \brief Writes a double precision floating point value to a + * parameter of the parameter server. + * + * \param id Unique ID of the parameter to be written. + * \param value Value that should be written to the parameter. + * + * If writing the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + void writeDoubleParameter(int32_t id, double value); + + /** + * \brief Writes a boolean value to a parameter of the parameter + * server. + * + * \param id Unique ID of the parameter to be written. + * \param value Value that should be written to the parameter. + * + * If writing the parameter fails, then an exception of type + * TransferException or ParameterException is thrown. + */ + void writeBoolParameter(int32_t id, int32_t value); + + /** + * \brief Enumerates all parameters as reported by the device. + */ + std::map getAllParameters(); + +private: + static constexpr int SOCKET_TIMEOUT_MS = 500; + + // Message types + static constexpr unsigned char MESSAGE_READ_INT = 0x01; + static constexpr unsigned char MESSAGE_READ_DOUBLE = 0x02; + static constexpr unsigned char MESSAGE_READ_BOOL = 0x03; + static constexpr unsigned char MESSAGE_WRITE_INT = 0x04; + static constexpr unsigned char MESSAGE_WRITE_DOUBLE = 0x05; + static constexpr unsigned char MESSAGE_WRITE_BOOL = 0x06; + static constexpr unsigned char MESSAGE_ENUMERATE_PARAMS = 0x07; + + SOCKET socket; + + void checkProtocolVersion(); + void readParameter(unsigned char messageType, int32_t id, unsigned char* dest, int length); + void recvData(unsigned char* dest, int length); + + template + void writeParameter(unsigned char messageType, int32_t id, T value); + + std::map recvEnumeration(); +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransferdata.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransferdata.h new file mode 100644 index 0000000..3772cd9 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/parametertransferdata.h @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_PARAMETERTRANSFERDATA_H +#define VISIONTRANSFER_PARAMETERTRANSFERDATA_H + +namespace visiontransfer { +namespace internal { + +#pragma pack(push,1) +struct TransportParameterInfo { + uint32_t id = 0; + uint32_t type = 0; + uint32_t flags = 0; + ParameterInfo::ParameterValue value = {0}; + ParameterInfo::ParameterValue min = {0}; + ParameterInfo::ParameterValue max = {0}; + ParameterInfo::ParameterValue inc = {0}; +}; +#pragma pack(pop) + +}} // namespace + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/protocol-sh2-imu-bno080.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/protocol-sh2-imu-bno080.h new file mode 100644 index 0000000..9f961bd --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/protocol-sh2-imu-bno080.h @@ -0,0 +1,443 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_PROTOCOL_SH2_IMU_BNO080 +#define VISIONTRANSFER_PROTOCOL_SH2_IMU_BNO080 + +#include + +namespace visiontransfer { +namespace internal { + +struct SH2Constants { + static constexpr uint8_t CHANNEL_COMMAND = 0; + static constexpr uint8_t CHANNEL_EXECUTABLE = 1; + static constexpr uint8_t CHANNEL_CONTROL = 2; + static constexpr uint8_t CHANNEL_REPORTS = 3; + static constexpr uint8_t CHANNEL_WAKE_REPORTS= 4; + static constexpr uint8_t CHANNEL_GYRO = 5; + + static constexpr uint8_t REPORT_COMMAND_RESPONSE = 0xf1; + static constexpr uint8_t REPORT_COMMAND_REQUEST = 0xf2; + static constexpr uint8_t REPORT_FRS_READ_RESPONSE = 0xf3; + static constexpr uint8_t REPORT_FRS_READ_REQUEST = 0xf4; + static constexpr uint8_t REPORT_FRS_WRITE_RESPONSE = 0xf5; + static constexpr uint8_t REPORT_FRS_WRITE_DATA = 0xf6; + static constexpr uint8_t REPORT_FRS_WRITE_REQUEST = 0xf7; + static constexpr uint8_t REPORT_PRODUCT_ID_RESPONSE = 0xf8; + static constexpr uint8_t REPORT_PRODUCT_ID_REQUEST = 0xf9; + static constexpr uint8_t REPORT_TIMESTAMP_REBASE = 0xfa; + static constexpr uint8_t REPORT_BASE_TIMESTAMP_REFERENCE = 0xfb; + static constexpr uint8_t REPORT_GET_FEATURE_RESPONSE = 0xfc; + static constexpr uint8_t REPORT_SET_FEATURE_COMMAND = 0xfd; + static constexpr uint8_t REPORT_GET_FEATURE_REQUEST = 0xfe; + + // Commands supported by report 0xf2 / 0xf1 + static constexpr uint8_t COMMAND_REPORT_ERRORS = 0x01; + static constexpr uint8_t COMMAND_COUNTS = 0x02; + static constexpr uint8_t COMMAND_TARE = 0x03; + static constexpr uint8_t COMMAND_INITIALIZE = 0x04; + static constexpr uint8_t COMMAND_RESERVED_05 = 0x05; + static constexpr uint8_t COMMAND_SAVE_DCD = 0x06; + static constexpr uint8_t COMMAND_ME_CALIBRATION = 0x07; + static constexpr uint8_t COMMAND_RESERVED_08 = 0x08; + static constexpr uint8_t COMMAND_PERIODIC_DCD_SAVE = 0x09; + static constexpr uint8_t COMMAND_GET_OSCILLATOR_TYPE = 0x0a; + static constexpr uint8_t COMMAND_CLEAR_DCD_AND_RESET = 0x0b; + static constexpr uint8_t COMMAND_CALIBRATION = 0x0c; + static constexpr uint8_t COMMAND_BOOTLOADER = 0x0d; + static constexpr uint8_t COMMAND_INTERACTIVE_CALIBRATION = 0x0e; + + // Subcommands, for certain commands only + // DCD / ME / Bootloader not considered yet, here + static constexpr uint8_t SUBCOMMAND_COUNTS__GET_COUNTS = 0x00; + static constexpr uint8_t SUBCOMMAND_COUNTS__CLEAR_COUNTS = 0x01; + static constexpr uint8_t SUBCOMMAND_TARE__TARE_NOW = 0x00; + static constexpr uint8_t SUBCOMMAND_TARE__PERSIST_TARE = 0x01; + static constexpr uint8_t SUBCOMMAND_TARE__SET_REORIENTATION = 0x02; + static constexpr uint8_t SUBCOMMAND_CALIBRATION__START_CALIBRATION = 0x00; + static constexpr uint8_t SUBCOMMAND_CALIBRATION__FINISH_CALIBRATION = 0x01; + + // What to tare (can be ORed) + static constexpr uint8_t TARE_AXIS_X = 1; + static constexpr uint8_t TARE_AXIS_Y = 2; + static constexpr uint8_t TARE_AXIS_Z = 4; + + // Reference for tare operation + static constexpr uint8_t TARE_BASE_ROTATION_VECTOR = 0; + static constexpr uint8_t TARE_BASE_GAMING_ROTATION_VECTOR = 1; + static constexpr uint8_t TARE_BASE_GEOMAGNETIC_ROTATION_VECTOR = 2; + static constexpr uint8_t TARE_BASE_GYRO_INTEGRATED_ROTATION_VECTOR = 3; + static constexpr uint8_t TARE_BASE_ARVR_STABILIZED_ROTATION_VECTOR = 4; + static constexpr uint8_t TARE_BASE_ARVR_STABILIZED_GAME_ROTATION_VECTOR= 5; + + // Sensor types (= sensor input report ID) + static constexpr uint8_t SENSOR_ACCELEROMETER = 0x01; + static constexpr uint8_t SENSOR_GYROSCOPE = 0x02; + static constexpr uint8_t SENSOR_MAGNETOMETER = 0x03; + static constexpr uint8_t SENSOR_LINEAR_ACCELERATION = 0x04; + static constexpr uint8_t SENSOR_ROTATION_VECTOR = 0x05; + static constexpr uint8_t SENSOR_GRAVITY = 0x06; + static constexpr uint8_t SENSOR_GYROSCOPE_UNCALIBRATED = 0x07; + static constexpr uint8_t SENSOR_GAME_ROTATION_VECTOR = 0x08; + static constexpr uint8_t SENSOR_GEOMAGNETIC_ROTATION = 0x09; + static constexpr uint8_t SENSOR_PRESSURE = 0x0a; + static constexpr uint8_t SENSOR_AMBIENT_LIGHT = 0x0b; + static constexpr uint8_t SENSOR_HUMIDITY = 0x0c; + static constexpr uint8_t SENSOR_PROXIMITY = 0x0d; + static constexpr uint8_t SENSOR_TEMPERATURE = 0x0e; + static constexpr uint8_t SENSOR_MAGNETOMETER_UNCALIBRATED = 0x0f; + static constexpr uint8_t SENSOR_TAP_DETECTOR = 0x10; + static constexpr uint8_t SENSOR_STEP_COUNTER = 0x11; + static constexpr uint8_t SENSOR_SIGNIFICANT_MOTION = 0x12; + static constexpr uint8_t SENSOR_STABILITY_CLASSIFIER = 0x13; + static constexpr uint8_t SENSOR_ACCELEROMETER_RAW = 0x14; + static constexpr uint8_t SENSOR_GYROSCOPE_RAW = 0x15; + static constexpr uint8_t SENSOR_MAGNETOMETER_RAW = 0x16; + static constexpr uint8_t SENSOR_STEP_DETECTOR = 0x18; + static constexpr uint8_t SENSOR_SHAKE_DETECTOR = 0x19; + static constexpr uint8_t SENSOR_FLIP_DETECTOR = 0x1a; + static constexpr uint8_t SENSOR_PICKUP_DETECTOR = 0x1b; + static constexpr uint8_t SENSOR_STABILITY_DETECTOR = 0x1c; + static constexpr uint8_t SENSOR_PERSONAL_ACTIVITY_CLASSIFIER = 0x1e; + static constexpr uint8_t SENSOR_SLEEP_DETECTOR = 0x1f; + static constexpr uint8_t SENSOR_TILT_DETECTOR = 0x20; + static constexpr uint8_t SENSOR_POCKET_DETECTOR = 0x21; + static constexpr uint8_t SENSOR_CIRCLE_DETECTOR = 0x22; + static constexpr uint8_t SENSOR_HEART_RATE_MONITOR = 0x23; + static constexpr uint8_t SENSOR_ARVR_STABILIZED_ROTATION_VECTOR = 0x28; + static constexpr uint8_t SENSOR_ARVR_STABILIZED_GAME_ROTATION_VECTOR= 0x29; + static constexpr uint8_t SENSOR_GYRO_INTEGRATED_ROTATION_VECTOR = 0x2a; + static constexpr uint8_t SENSOR_MOTION_REQUEST = 0x2b; + + // FRS Configuration Response: Status/Error field + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_WORDS_RECEIVED = 0x00; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_UNRECOGNIZED_FRS_TYPE = 0x01; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_BUSY = 0x02; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_WRITE_COMPLETED = 0x03; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_WRITE_MODE_READY = 0x04; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_WRITE_FAILED = 0x05; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_UNEXPECTED_DATA = 0x06; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_INVALID_LENGTH = 0x07; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_RECORD_VALID = 0x08; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_RECORD_INVALID = 0x09; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_DEVICE_ERROR__DEPRECATED = 0x0A; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_READ_ONLY_RECORD = 0x0B; + static constexpr uint8_t FRS_WRITE_RESPONSE_STATUS_CANNOT_WRITE_MEMORY_FULL = 0x0C; +}; + +inline uint64_t sh2GetU64(const unsigned char* d) { + return d[0] | (d[1] << 8) | (d[2] << 16) | (d[3] << 24) + | (static_cast(d[4]) << 32) | (static_cast(d[5]) << 40) + | (static_cast(d[6]) << 48) | (static_cast(d[7]) << 56); +} +inline uint32_t sh2GetU32(const unsigned char* d) { + return d[0] | (d[1] << 8) | (d[2] << 16) | (d[3] << 24); +} +inline uint16_t sh2GetU16(const unsigned char* d) { + return d[0] | (d[1] << 8); +} +inline uint8_t sh2GetU8(const unsigned char* d) { + return d[0]; +} +inline double sh2ConvertFixedQ16(uint16_t v, unsigned char q) { + return (double) ((int16_t) v) / (double)(1 << q); +} + +inline int sh2GetSensorReportLength(unsigned int sensorReportID) { + switch(sensorReportID) { + case SH2Constants::SENSOR_ACCELEROMETER: return 10; //ID 0x01 + case SH2Constants::SENSOR_GYROSCOPE: return 10; //ID 0x02 + case SH2Constants::SENSOR_MAGNETOMETER: return 10; //ID 0x03 + case SH2Constants::SENSOR_LINEAR_ACCELERATION: return 10; //ID 0x04 + case SH2Constants::SENSOR_ROTATION_VECTOR: return 14; //ID 0x05 + case SH2Constants::SENSOR_GRAVITY: return 10; //ID 0x06 + case SH2Constants::SENSOR_GYROSCOPE_UNCALIBRATED: return 16; //ID 0x07 + case SH2Constants::SENSOR_GAME_ROTATION_VECTOR: return 12; //ID 0x08 + case SH2Constants::SENSOR_GEOMAGNETIC_ROTATION: return 14; //ID 0x09 + case SH2Constants::SENSOR_PRESSURE: return 8; //ID 0x0a + case SH2Constants::SENSOR_AMBIENT_LIGHT: return 8; //ID 0x0b + case SH2Constants::SENSOR_HUMIDITY: return 6; //ID 0x0c + case SH2Constants::SENSOR_PROXIMITY: return 6; //ID 0x0d + case SH2Constants::SENSOR_TEMPERATURE: return 6; //ID 0x0e + case SH2Constants::SENSOR_MAGNETOMETER_UNCALIBRATED: return 16; //ID 0x0f + case SH2Constants::SENSOR_TAP_DETECTOR: return 5; //ID 0x10 + case SH2Constants::SENSOR_STEP_COUNTER: return 12; //ID 0x11 + case SH2Constants::SENSOR_SIGNIFICANT_MOTION: return 6; //ID 0x12 + case SH2Constants::SENSOR_STABILITY_CLASSIFIER: return 6; //ID 0x13 + case SH2Constants::SENSOR_ACCELEROMETER_RAW: return 16; //ID 0x14 + case SH2Constants::SENSOR_GYROSCOPE_RAW: return 16; //ID 0x15 + case SH2Constants::SENSOR_MAGNETOMETER_RAW: return 16; //ID 0x16 + case SH2Constants::SENSOR_STEP_DETECTOR: return 8; //ID 0x18 + case SH2Constants::SENSOR_SHAKE_DETECTOR: return 6; //ID 0x19 + case SH2Constants::SENSOR_FLIP_DETECTOR: return 6; //ID 0x1a + case SH2Constants::SENSOR_PICKUP_DETECTOR: return 6; //ID 0x1b + case SH2Constants::SENSOR_STABILITY_DETECTOR: return 6; //ID 0x1c + case SH2Constants::SENSOR_PERSONAL_ACTIVITY_CLASSIFIER: return 16; //ID 0x1e + case SH2Constants::SENSOR_SLEEP_DETECTOR: return 6; //ID 0x1f + case SH2Constants::SENSOR_TILT_DETECTOR: return 6; //ID 0x20 + case SH2Constants::SENSOR_POCKET_DETECTOR: return 6; //ID 0x21 + case SH2Constants::SENSOR_CIRCLE_DETECTOR: return 6; //ID 0x22 + case SH2Constants::SENSOR_HEART_RATE_MONITOR: return 6; //ID 0x23 + case SH2Constants::SENSOR_ARVR_STABILIZED_ROTATION_VECTOR: return 14; //ID 0x28 + case SH2Constants::SENSOR_ARVR_STABILIZED_GAME_ROTATION_VECTOR: return 12; //ID 0x29 + case SH2Constants::SENSOR_GYRO_INTEGRATED_ROTATION_VECTOR: return 14; //ID 0x2a + case SH2Constants::SENSOR_MOTION_REQUEST: return 6; //ID 0x2b + default: return -1; + } +} + +// The Q point for fixed-point values, i.e. the base 2 exponent for division +// for consistency reasons also 0 for N/A / undefined +inline int sh2GetSensorQPoint(unsigned int sensorReportID) { + switch(sensorReportID) { + case SH2Constants::SENSOR_ACCELEROMETER: return 8; //ID 0x01 + case SH2Constants::SENSOR_GYROSCOPE: return 9; //ID 0x02 + case SH2Constants::SENSOR_MAGNETOMETER: return 4; //ID 0x03 + case SH2Constants::SENSOR_LINEAR_ACCELERATION: return 8; //ID 0x04 + case SH2Constants::SENSOR_ROTATION_VECTOR: return 14; //ID 0x05 // but 12 for accuracy fields + case SH2Constants::SENSOR_GRAVITY: return 8; //ID 0x06 + case SH2Constants::SENSOR_GYROSCOPE_UNCALIBRATED: return 9; //ID 0x07 + case SH2Constants::SENSOR_GAME_ROTATION_VECTOR: return 14; //ID 0x08 + case SH2Constants::SENSOR_GEOMAGNETIC_ROTATION: return 14; //ID 0x09 + case SH2Constants::SENSOR_PRESSURE: return 20; //ID 0x0a + case SH2Constants::SENSOR_AMBIENT_LIGHT: return 8; //ID 0x0b + case SH2Constants::SENSOR_HUMIDITY: return 8; //ID 0x0c + case SH2Constants::SENSOR_PROXIMITY: return 4; //ID 0x0d + case SH2Constants::SENSOR_TEMPERATURE: return 7; //ID 0x0e + case SH2Constants::SENSOR_MAGNETOMETER_UNCALIBRATED: return 4; //ID 0x0f + case SH2Constants::SENSOR_TAP_DETECTOR: return 0; //ID 0x10 + case SH2Constants::SENSOR_STEP_COUNTER: return 0; //ID 0x11 + case SH2Constants::SENSOR_SIGNIFICANT_MOTION: return 0; //ID 0x12 + case SH2Constants::SENSOR_STABILITY_CLASSIFIER: return 0; //ID 0x13 + case SH2Constants::SENSOR_ACCELEROMETER_RAW: return 0; //ID 0x14 + case SH2Constants::SENSOR_GYROSCOPE_RAW: return 0; //ID 0x15 + case SH2Constants::SENSOR_MAGNETOMETER_RAW: return 0; //ID 0x16 + case SH2Constants::SENSOR_STEP_DETECTOR: return 0; //ID 0x18 + case SH2Constants::SENSOR_SHAKE_DETECTOR: return 0; //ID 0x19 + case SH2Constants::SENSOR_FLIP_DETECTOR: return 0; //ID 0x1a + case SH2Constants::SENSOR_PICKUP_DETECTOR: return 0; //ID 0x1b + case SH2Constants::SENSOR_STABILITY_DETECTOR: return 0; //ID 0x1c + case SH2Constants::SENSOR_PERSONAL_ACTIVITY_CLASSIFIER: return 0; //ID 0x1e + case SH2Constants::SENSOR_SLEEP_DETECTOR: return 0; //ID 0x1f + case SH2Constants::SENSOR_TILT_DETECTOR: return 0; //ID 0x20 + case SH2Constants::SENSOR_POCKET_DETECTOR: return 0; //ID 0x21 + case SH2Constants::SENSOR_CIRCLE_DETECTOR: return 0; //ID 0x22 + case SH2Constants::SENSOR_HEART_RATE_MONITOR: return 0; //ID 0x23 + case SH2Constants::SENSOR_ARVR_STABILIZED_ROTATION_VECTOR: return 14; //ID 0x28 + case SH2Constants::SENSOR_ARVR_STABILIZED_GAME_ROTATION_VECTOR: return 14; //ID 0x29 + case SH2Constants::SENSOR_GYRO_INTEGRATED_ROTATION_VECTOR: return 14; //ID 0x2a // but 10 for angular velocity + case SH2Constants::SENSOR_MOTION_REQUEST: return 0; //ID 0x2b + default: return 0; + } +} + +inline const char* sh2GetSensorName(unsigned int sensorReportID) { + switch(sensorReportID) { + case SH2Constants::SENSOR_ACCELEROMETER: return "Accelerometer"; + case SH2Constants::SENSOR_GYROSCOPE: return "Gyroscope"; + case SH2Constants::SENSOR_MAGNETOMETER: return "Magnetometer"; + case SH2Constants::SENSOR_LINEAR_ACCELERATION: return "Linear Acceleration"; + case SH2Constants::SENSOR_ROTATION_VECTOR: return "Rotation Vector"; + case SH2Constants::SENSOR_GRAVITY: return "Gravity"; + case SH2Constants::SENSOR_GYROSCOPE_UNCALIBRATED: return "Gyroscope Uncalibrated"; + case SH2Constants::SENSOR_GAME_ROTATION_VECTOR: return "Game Rotation Vector"; + case SH2Constants::SENSOR_GEOMAGNETIC_ROTATION: return "Geomagnetic Rotation"; + case SH2Constants::SENSOR_PRESSURE: return "Pressure"; + case SH2Constants::SENSOR_AMBIENT_LIGHT: return "Ambient Light"; + case SH2Constants::SENSOR_HUMIDITY: return "Humidity"; + case SH2Constants::SENSOR_PROXIMITY: return "Proximity"; + case SH2Constants::SENSOR_TEMPERATURE: return "Temperature"; + case SH2Constants::SENSOR_MAGNETOMETER_UNCALIBRATED: return "Magnetometer Uncalibrated"; + case SH2Constants::SENSOR_TAP_DETECTOR: return "Tap Detector"; + case SH2Constants::SENSOR_STEP_COUNTER: return "Step Counter"; + case SH2Constants::SENSOR_SIGNIFICANT_MOTION: return "Significant Motion"; + case SH2Constants::SENSOR_STABILITY_CLASSIFIER: return "Stability Classifier"; + case SH2Constants::SENSOR_ACCELEROMETER_RAW: return "Accelerometer Raw"; + case SH2Constants::SENSOR_GYROSCOPE_RAW: return "Gyroscope Raw"; + case SH2Constants::SENSOR_MAGNETOMETER_RAW: return "Magnetometer Raw"; + case SH2Constants::SENSOR_STEP_DETECTOR: return "Step Detector"; + case SH2Constants::SENSOR_SHAKE_DETECTOR: return "Shake Detector"; + case SH2Constants::SENSOR_FLIP_DETECTOR: return "Flip Detector"; + case SH2Constants::SENSOR_PICKUP_DETECTOR: return "Pickup Detector"; + case SH2Constants::SENSOR_STABILITY_DETECTOR: return "Stability Detector"; + case SH2Constants::SENSOR_PERSONAL_ACTIVITY_CLASSIFIER: return "Personal Activity Classifier"; + case SH2Constants::SENSOR_SLEEP_DETECTOR: return "Sleep Detector"; + case SH2Constants::SENSOR_TILT_DETECTOR: return "Tilt Detector"; + case SH2Constants::SENSOR_POCKET_DETECTOR: return "Pocket Detector"; + case SH2Constants::SENSOR_CIRCLE_DETECTOR: return "Circle Detector"; + case SH2Constants::SENSOR_HEART_RATE_MONITOR: return "Heart Rate Monitor"; + case SH2Constants::SENSOR_ARVR_STABILIZED_ROTATION_VECTOR: return "ARVR-Stabilized Rotation Vector"; + case SH2Constants::SENSOR_ARVR_STABILIZED_GAME_ROTATION_VECTOR: return "ARVR-Stabilized Game Rotation Vector"; + case SH2Constants::SENSOR_GYRO_INTEGRATED_ROTATION_VECTOR: return "Gyro-Integrated Rotation Vector"; + case SH2Constants::SENSOR_MOTION_REQUEST: return "Motion Request"; + default: return "UNKNOWN"; + } +} + +// Convenience function to return the appropriate unit string, if applicable +inline const char* sh2GetSensorUnit(unsigned int sensorReportID) { + switch(sensorReportID) { + case SH2Constants::SENSOR_ACCELEROMETER: //ID 0x01 + case SH2Constants::SENSOR_LINEAR_ACCELERATION: //ID 0x04 + case SH2Constants::SENSOR_GRAVITY: return "m/s²"; //ID 0x06 + case SH2Constants::SENSOR_GYROSCOPE: //ID 0x02 + case SH2Constants::SENSOR_GYROSCOPE_UNCALIBRATED: return "rad/s"; //ID 0x07 + case SH2Constants::SENSOR_MAGNETOMETER: //ID 0x03 + case SH2Constants::SENSOR_MAGNETOMETER_UNCALIBRATED: return "μT"; //ID 0x0f + case SH2Constants::SENSOR_PRESSURE: return "hPa"; //ID 0x0a + case SH2Constants::SENSOR_AMBIENT_LIGHT: return "lx"; //ID 0x0b "cd/m²" + case SH2Constants::SENSOR_HUMIDITY: return "%"; //ID 0x0c + case SH2Constants::SENSOR_PROXIMITY: return "cm"; //ID 0x0d + case SH2Constants::SENSOR_TEMPERATURE: return "°C"; //ID 0x0e + default: return ""; + } +} + +inline const char* sh2GetCommandName(unsigned int cmdID) { + static const char* cmdNames[] = {"Reserved", "Errors", "Counter", "Tare", "Initialize", + "Reserved", "Save DCD", "ME Calibration", "Reserved", "Periodic DCD Save", "Get Oscillator Type", + "Clear DCD and Reset", "Calibration", "Bootloader", "Interactive Calibration"}; + if (cmdID < sizeof(cmdNames)) return cmdNames[cmdID]; + else return "Unknown"; +} + +#pragma pack(push,1) // Packed struct definitions from SH-2, co-opted for transfer + +// Common prefix for all SH-2 cargos. SHTP headers irrelevant and not represented. +class SH2CargoBase { +private: + uint8_t cargoLength[2]; + uint8_t channel; + uint8_t sequenceNumber; + uint8_t reportType; +public: + inline uint16_t getCargoLength() const { return sh2GetU16(cargoLength) & 0x7fff; } // mask out subtransfer bit + inline uint8_t getChannel() const { return channel; } + inline uint8_t getSequenceNumber() const { return sequenceNumber; } + inline uint8_t getReportType() const { return reportType; } +}; + +// Our own custom extension for sending the raw interrupt timestamp (report 0xFF, never reported by SH2) +class SH2CargoBodyScenescanTimestamp { +private: + SH2CargoBase base; + uint8_t usecSinceEpoch[8]; // 64-bit microsecond count +public: + inline uint64_t getUSecSinceEpoch() const { return (uint64_t) sh2GetU64(usecSinceEpoch); } +}; + +// A Timestamp Rebase (0xFA), reporting additional sensor delay offset since last Timebase +class SH2CargoBodyTimestampRebase { +private: + SH2CargoBase base; + uint8_t rebaseTime[4]; +public: + inline long getRebaseTime() const { return (int32_t) sh2GetU32(rebaseTime); } +}; + +// A Time Base report with a batch transfer (0xFB) +// It may be followed by any amount of sensor reports, below. +// Refer to the base.getCargoLength() value and the known +// record sizes for parsing them. +class SH2CargoBodyTimeBase { +private: + SH2CargoBase base; + uint8_t timeBase_100uSec[4]; +public: + inline long getTimeBase() const { return 100l * sh2GetU32(timeBase_100uSec); } +}; + +// Common base prefix for all sensor reports +class SH2SensorReportBase { +private: + uint8_t sensorID; + uint8_t sequenceNumber; + uint8_t statusAndDelayMSB; + uint8_t delayLSB; +public: + inline unsigned int getStatus() const { return statusAndDelayMSB & 0x03; } + inline unsigned int getDelay() const { return ((statusAndDelayMSB & 0xfc) << 6) | delayLSB; } +}; + +// 10-byte reports with individual Q scaling for non-raw 3D sensors +class SH2SensorReportAccelerometer { +private: + SH2SensorReportBase base; + uint8_t xAxis[2]; + uint8_t yAxis[2]; + uint8_t zAxis[2]; +public: + inline double getX() const { return sh2ConvertFixedQ16(sh2GetU16(xAxis), 8); } // Accel Q: shift 8 bits + inline double getY() const { return sh2ConvertFixedQ16(sh2GetU16(yAxis), 8); } + inline double getZ() const { return sh2ConvertFixedQ16(sh2GetU16(zAxis), 8); } +}; +class SH2SensorReportMagnetometer { +private: + SH2SensorReportBase base; + uint8_t xAxis[2]; + uint8_t yAxis[2]; + uint8_t zAxis[2]; +public: + inline double getX() const { return sh2ConvertFixedQ16(sh2GetU16(xAxis), 4); } // Magn Q: shift 4 bits + inline double getY() const { return sh2ConvertFixedQ16(sh2GetU16(yAxis), 4); } + inline double getZ() const { return sh2ConvertFixedQ16(sh2GetU16(zAxis), 4); } +}; +class SH2SensorReportGyroscope { +private: + SH2SensorReportBase base; + uint8_t xAxis[2]; + uint8_t yAxis[2]; + uint8_t zAxis[2]; +public: + inline double getX() const { return sh2ConvertFixedQ16(sh2GetU16(xAxis), 9); } // Gyro Q: shift 9 bits + inline double getY() const { return sh2ConvertFixedQ16(sh2GetU16(yAxis), 9); } + inline double getZ() const { return sh2ConvertFixedQ16(sh2GetU16(zAxis), 9); } +}; + +// 14-byte orientation (quaternion) data. i,j,k,real are also known as x,y,z,w +class SH2SensorReportOrientation { +private: + SH2SensorReportBase base; + uint8_t quatI[2]; + uint8_t quatJ[2]; + uint8_t quatK[2]; + uint8_t quatReal[2]; + uint8_t accuracy[2]; +public: + inline double getI() const { return sh2ConvertFixedQ16(sh2GetU16(quatI), 14); } // Quaternion data: shift 14 bits + inline double getJ() const { return sh2ConvertFixedQ16(sh2GetU16(quatJ), 14); } + inline double getK() const { return sh2ConvertFixedQ16(sh2GetU16(quatK), 14); } + inline double getReal() const { return sh2ConvertFixedQ16(sh2GetU16(quatReal), 14); } + inline double getAccuracy() const { return sh2ConvertFixedQ16(sh2GetU16(accuracy), 12); } // Accuracy: shift 12 +}; + +// 6-byte 1D sensor (pressure, ambient light, humidity, proximity, temperature, +// 16-byte data for *raw* accelerometer, gyro, magnetometer +class SH2SensorReportRawAGM { +private: + SH2SensorReportBase base; + uint8_t xAxisRaw[2]; + uint8_t yAxisRaw[2]; + uint8_t zAxisRaw[2]; + uint8_t temperature_forGyro[2]; + uint8_t timestamp[4]; +}; + +#pragma pack(pop) // End of common sensor data / transport packed struct definitions + +}} // namespaces + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-open3d.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-open3d.h new file mode 100644 index 0000000..13ea1c8 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-open3d.h @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_RECONSTRUCT3D_OPEN3D_H +#define VISIONTRANSFER_RECONSTRUCT3D_OPEN3D_H + +#ifdef OPEN3D_VERSION + +namespace visiontransfer { + +/* + * Open3d-specific implementations that need to be inlined in order to avoid + * dependencies for projects that do not make use of Open3D + */ + +inline std::shared_ptr Reconstruct3D::createOpen3DCloud( + const ImageSet& imageSet, bool withColor, unsigned short minDisparity) { + + int numPoints = imageSet.getWidth() * imageSet.getHeight(); + std::shared_ptr ret(new open3d::geometry::PointCloud()); + + // Convert the 3D point cloud + ret->points_.resize(numPoints); + + float* points = createPointMap(imageSet, minDisparity); + float* end = &points[4*numPoints]; + Eigen::Vector3d* dest = &ret->points_[0]; + + while(points != end) { + float x = *(points++); + float y = *(points++); + float z = *(points++); + points++; + + *dest = Eigen::Vector3d(x, y, z); + dest++; + } + + // Convert the color information if enabled + if(withColor && imageSet.hasImageType(ImageSet::IMAGE_LEFT)) { + ret->colors_.resize(numPoints); + unsigned char* pixel = imageSet.getPixelData(ImageSet::IMAGE_LEFT); + Eigen::Vector3d* color = &ret->colors_[0]; + Eigen::Vector3d* colorEnd = &ret->colors_[numPoints]; + + switch(imageSet.getPixelFormat(ImageSet::IMAGE_LEFT)) { + case ImageSet::FORMAT_8_BIT_MONO: + while(color != colorEnd) { + double col = double(*(pixel++))/0xFF; + *(color++) = Eigen::Vector3d(col, col, col); + } + break; + case ImageSet::FORMAT_12_BIT_MONO: + while(color != colorEnd) { + double col = double(*reinterpret_cast(pixel))/0xFFF; + pixel+=2; + *(color++) = Eigen::Vector3d(col, col, col); + } + break; + case ImageSet::FORMAT_8_BIT_RGB: + while(color != colorEnd) { + double r = double(*(pixel++))/0xFF; + double g = double(*(pixel++))/0xFF; + double b = double(*(pixel++))/0xFF; + *(color++) = Eigen::Vector3d(r, g, b); + } + break; + default: throw std::runtime_error("Illegal pixel format"); + } + } + + return ret; +} + +inline std::shared_ptr Reconstruct3D::createOpen3DImageRGBD(const ImageSet& imageSet, + unsigned short minDisparity) { + + std::shared_ptr ret(new open3d::geometry::RGBDImage); + + // Convert depth map + ret->depth_.width_ = imageSet.getWidth(); + ret->depth_.height_ = imageSet.getHeight(); + ret->depth_.num_of_channels_ = 1; + ret->depth_.bytes_per_channel_ = sizeof(float); + ret->depth_.data_.resize(ret->depth_.width_*ret->depth_.height_*ret->depth_.bytes_per_channel_); + + float* zMap = createZMap(imageSet, minDisparity); + memcpy(&ret->depth_.data_[0], zMap, ret->depth_.data_.size()); + + // Convert color + ret->color_.width_ = imageSet.getWidth(); + ret->color_.height_ = imageSet.getHeight(); + ret->color_.num_of_channels_ = 3; + ret->color_.bytes_per_channel_ = 1; + ret->color_.data_.resize(ret->color_.width_ * ret->color_.height_ * + ret->color_.num_of_channels_ * ret->color_.bytes_per_channel_); + + unsigned char* srcPixel = imageSet.getPixelData(ImageSet::IMAGE_LEFT); + unsigned char* dstPixel = &ret->color_.data_[0]; + unsigned char* dstEnd = &ret->color_.data_[ret->color_.data_.size()]; + + switch(imageSet.getPixelFormat(ImageSet::IMAGE_LEFT)) { + case ImageSet::FORMAT_8_BIT_MONO: + while(dstPixel != dstEnd) { + *(dstPixel++) = *srcPixel; + *(dstPixel++) = *srcPixel; + *(dstPixel++) = *(srcPixel++); + } + break; + case ImageSet::FORMAT_12_BIT_MONO: + while(dstPixel != dstEnd) { + unsigned short pixel16Bit = *reinterpret_cast(srcPixel); + unsigned char pixel8Bit = pixel16Bit / 0xF; + srcPixel += 2; + + *(dstPixel++) = pixel8Bit; + *(dstPixel++) = pixel8Bit; + *(dstPixel++) = pixel8Bit; + } + break; + case ImageSet::FORMAT_8_BIT_RGB: + memcpy(&ret->color_.data_[0], srcPixel, ret->color_.data_.size()); + break; + default: throw std::runtime_error("Illegal pixel format"); + } + + return ret; +} + +} // namespace + +#endif +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-pcl.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-pcl.h new file mode 100644 index 0000000..a7e4157 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d-pcl.h @@ -0,0 +1,125 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_RECONSTRUCT3D_PCL_H +#define VISIONTRANSFER_RECONSTRUCT3D_PCL_H + +#ifdef PCL_MAJOR_VERSION + +namespace visiontransfer { + +/* + * PCL-specific implementations that need to be inlined in order to avoid + * dependencies for projects that do not make use of PCL + */ + +template +typename pcl::PointCloud::Ptr Reconstruct3D::initPointCloud(const ImageSet& imageSet, const char* frameId) { + int sec, microsec; + imageSet.getTimestamp(sec, microsec); + + typename pcl::PointCloud::Ptr ret( + new pcl::PointCloud(imageSet.getWidth(), imageSet.getHeight())); + + ret->header.frame_id = frameId; + ret->header.seq = imageSet.getSequenceNumber(); + ret->header.stamp = sec * 1000000LL + microsec; + ret->width = imageSet.getWidth(); + ret->height = imageSet.getHeight(); + ret->is_dense = true; + return ret; +} + +inline pcl::PointCloud::Ptr Reconstruct3D::createXYZCloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity) { + float* pointMap = createPointMap(imageSet, minDisparity); + pcl::PointCloud::Ptr ret = initPointCloud(imageSet, frameId); + memcpy(&ret->points[0].x, pointMap, ret->width*ret->height*sizeof(float)*4); + return ret; +} + +inline pcl::PointCloud::Ptr Reconstruct3D::createXYZICloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity) { + float* pointMap = createPointMap(imageSet, minDisparity); + pcl::PointCloud::Ptr ret = initPointCloud(imageSet, frameId); + + pcl::PointXYZI* dstPtr = &ret->points[0]; + if(imageSet.getPixelFormat(0) == ImageSet::FORMAT_8_BIT_MONO) { + for(int y = 0; y < imageSet.getHeight(); y++) { + unsigned char* rowPtr = imageSet.getPixelData(0) + y*imageSet.getRowStride(0); + unsigned char* endPtr = rowPtr + imageSet.getWidth(); + for(; rowPtr < endPtr; rowPtr++) { + dstPtr->intensity = static_cast(*rowPtr)/255.0F; + dstPtr->x = *pointMap++; + dstPtr->y = *pointMap++; + dstPtr->z = *pointMap++; + + pointMap++; + dstPtr++; + } + } + } else if(imageSet.getPixelFormat(0) == ImageSet::FORMAT_12_BIT_MONO) { + for(int y = 0; y < imageSet.getHeight(); y++) { + unsigned short* rowPtr = reinterpret_cast(imageSet.getPixelData(0) + y*imageSet.getRowStride(0)); + unsigned short* endPtr = rowPtr + imageSet.getWidth(); + for(; rowPtr < endPtr; rowPtr++) { + dstPtr->intensity = static_cast(*rowPtr)/4095.0F; + dstPtr->x = *pointMap++; + dstPtr->y = *pointMap++; + dstPtr->z = *pointMap++; + + pointMap++; + dstPtr++; + } + } + } else { + throw std::runtime_error("Left image does not have a valid greyscale format"); + } + + return ret; +} + +inline pcl::PointCloud::Ptr Reconstruct3D::createXYZRGBCloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity) { + float* pointMap = createPointMap(imageSet, minDisparity); + pcl::PointCloud::Ptr ret = initPointCloud(imageSet, frameId); + + pcl::PointXYZRGB* dstPtr = &ret->points[0]; + if(imageSet.getPixelFormat(0) != ImageSet::FORMAT_8_BIT_RGB) { + throw std::runtime_error("Left image is not an RGB image"); + } + + for(int y = 0; y < imageSet.getHeight(); y++) { + unsigned char* rowPtr = imageSet.getPixelData(0) + y*imageSet.getRowStride(0); + unsigned char* endPtr = rowPtr + 3*imageSet.getWidth(); + for(; rowPtr < endPtr;rowPtr +=3) { + dstPtr->r = rowPtr[0]; + dstPtr->g = rowPtr[1]; + dstPtr->b = rowPtr[2]; + dstPtr->x = *pointMap++; + dstPtr->y = *pointMap++; + dstPtr->z = *pointMap++; + + pointMap++; + dstPtr++; + } + } + + return ret; +} + +} // namespace + +#endif +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.cpp new file mode 100644 index 0000000..ef88e73 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.cpp @@ -0,0 +1,556 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include "reconstruct3d.h" +#include "visiontransfer/alignedallocator.h" +#include +#include +#include +#include +#include +#include + +// SIMD Headers +#ifdef __AVX2__ +#include +#elif __SSE2__ +#include +#endif + +using namespace std; +using namespace visiontransfer; +using namespace visiontransfer::internal; + +namespace visiontransfer { + +/*************** Pimpl class containing all private members ***********/ + +class Reconstruct3D::Pimpl { +public: + Pimpl(); + + float* createPointMap(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, + unsigned short maxDisparity); + + float* createPointMap(const ImageSet& imageSet, unsigned short minDisparity); + + float* createZMap(const ImageSet& imageSet, unsigned short minDisparity, unsigned short maxDisparity); + + void projectSinglePoint(int imageX, int imageY, unsigned short disparity, const float* q, + float& pointX, float& pointY, float& pointZ, int subpixelFactor); + + void writePlyFile(const char* file, const unsigned short* dispMap, + const unsigned char* image, int width, int height, ImageSet::ImageFormat format, + int dispRowStride, int imageRowStride, const float* q, + double maxZ, bool binary, int subpixelFactor, unsigned short maxDisparity); + + void writePlyFile(const char* file, const ImageSet& imageSet, + double maxZ, bool binary); + +private: + std::vector > pointMap; + + float* createPointMapFallback(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, + unsigned short maxDisparity); + + float* createPointMapSSE2(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, + unsigned short maxDisparity); + + float* createPointMapAVX2(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, + unsigned short maxDisparity); +}; + +/******************** Stubs for all public members ********************/ + +Reconstruct3D::Reconstruct3D() + :pimpl(new Pimpl) { +} + +Reconstruct3D::~Reconstruct3D() { + delete pimpl; +} + +float* Reconstruct3D::createPointMap(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity, int subpixelFactor, + unsigned short maxDisparity) { + return pimpl->createPointMap(dispMap, width, height, rowStride, q, minDisparity, + subpixelFactor, maxDisparity); +} + +float* Reconstruct3D::createPointMap(const ImageSet& imageSet, unsigned short minDisparity) { + return pimpl->createPointMap(imageSet, minDisparity); +} + +float* Reconstruct3D::createZMap(const ImageSet& imageSet, unsigned short minDisparity, + unsigned short maxDisparity) { + return pimpl->createZMap(imageSet, minDisparity, maxDisparity); +} + +void Reconstruct3D::projectSinglePoint(int imageX, int imageY, unsigned short disparity, + const float* q, float& pointX, float& pointY, float& pointZ, int subpixelFactor) { + pimpl->projectSinglePoint(imageX, imageY, disparity, q, pointX, pointY, pointZ, + subpixelFactor); +} + +void Reconstruct3D::writePlyFile(const char* file, const unsigned short* dispMap, + const unsigned char* image, int width, int height, ImageSet::ImageFormat format, int dispRowStride, + int imageRowStride, const float* q, double maxZ, bool binary, int subpixelFactor, + unsigned short maxDisparity) { + pimpl->writePlyFile(file, dispMap, image, width, height, format, dispRowStride, + imageRowStride, q, maxZ, binary, subpixelFactor, maxDisparity); +} + +void Reconstruct3D::writePlyFile(const char* file, const ImageSet& imageSet, + double maxZ, bool binary) { + pimpl->writePlyFile(file, imageSet, maxZ, binary); +} + +/******************** Implementation in pimpl class *******************/ + +Reconstruct3D::Pimpl::Pimpl() { +} + +float* Reconstruct3D::Pimpl::createPointMap(const unsigned short* dispMap, int width, + int height, int rowStride, const float* q, unsigned short minDisparity, + int subpixelFactor, unsigned short maxDisparity) { + + // Allocate the buffer + if(pointMap.size() < static_cast(4*width*height)) { + pointMap.resize(4*width*height); + } + +# ifdef __AVX2__ + if(width % 16 == 0 && (uintptr_t)dispMap % 32 == 0) { + return createPointMapAVX2(dispMap, width, height, rowStride, q, + minDisparity, subpixelFactor, maxDisparity); + } else +# endif +# ifdef __SSE2__ + if(width % 8 == 0 && (uintptr_t)dispMap % 16 == 0) { + return createPointMapSSE2(dispMap, width, height, rowStride, q, + minDisparity, subpixelFactor, maxDisparity); + } else +# endif + return createPointMapFallback(dispMap, width, height, rowStride, q, + minDisparity, subpixelFactor, maxDisparity); +} + +float* Reconstruct3D::Pimpl::createPointMap(const ImageSet& imageSet, unsigned short minDisparity) { + if(!imageSet.hasImageType(ImageSet::IMAGE_DISPARITY)) { + throw std::runtime_error("ImageSet does not contain a disparity map!"); + } + + if(imageSet.getPixelFormat(ImageSet::IMAGE_DISPARITY) != ImageSet::FORMAT_12_BIT_MONO) { + throw std::runtime_error("Disparity map must have 12-bit pixel format!"); + } + + return createPointMap(reinterpret_cast(imageSet.getPixelData(ImageSet::IMAGE_DISPARITY)), imageSet.getWidth(), + imageSet.getHeight(), imageSet.getRowStride(ImageSet::IMAGE_DISPARITY), imageSet.getQMatrix(), minDisparity, + imageSet.getSubpixelFactor(), 0xFFF); +} + +float* Reconstruct3D::Pimpl::createPointMapFallback(const unsigned short* dispMap, int width, + int height, int rowStride, const float* q, unsigned short minDisparity, + int subpixelFactor, unsigned short maxDisparity) { + // Code without SSE or AVX optimization + float* outputPtr = &pointMap[0]; + int stride = rowStride / 2; + + for(int y = 0; y < height; y++) { + double qx = q[1]*y + q[3]; + double qy = q[5]*y + q[7]; + double qz = q[9]*y + q[11]; + double qw = q[13]*y + q[15]; + + const unsigned short* dispRow = &dispMap[y*stride]; + for(int x = 0; x < width; x++) { + unsigned short intDisp = std::max(minDisparity, dispRow[x]); + if(intDisp >= maxDisparity) { + intDisp = minDisparity; // Invalid disparity + } + + double d = intDisp / double(subpixelFactor); + double w = qw + q[14]*d; + + *outputPtr = static_cast((qx + q[2]*d)/w); // x + outputPtr++; + + *outputPtr = static_cast((qy + q[6]*d)/w); // y + outputPtr++; + + *outputPtr = static_cast((qz + q[10]*d)/w); // z + outputPtr+=2; // Consider padding + + qx += q[0]; + qy += q[4]; + qz += q[8]; + qw += q[12]; + } + } + return &pointMap[0]; +} + +float* Reconstruct3D::Pimpl::createZMap(const ImageSet& imageSet, unsigned short minDisparity, + unsigned short maxDisparity) { + // Allocate the buffer + if(pointMap.size() < static_cast(imageSet.getWidth()*imageSet.getHeight())) { + pointMap.resize(imageSet.getWidth()*imageSet.getHeight()); + } + + float* outputPtr = &pointMap[0]; + int stride = imageSet.getRowStride(ImageSet::IMAGE_DISPARITY) / 2; + const unsigned short* dispMap = reinterpret_cast(imageSet.getPixelData(ImageSet::IMAGE_DISPARITY)); + int subpixelFactor = imageSet.getSubpixelFactor(); + const float* q = imageSet.getQMatrix(); + + for(int y = 0; y < imageSet.getHeight(); y++) { + double qz = q[9]*y + q[11]; + double qw = q[13]*y + q[15]; + + const unsigned short* dispRow = &dispMap[y*stride]; + for(int x = 0; x < imageSet.getWidth(); x++) { + unsigned short intDisp = std::max(minDisparity, dispRow[x]); + if(intDisp >= maxDisparity) { + intDisp = minDisparity; // Invalid disparity + } + + double d = intDisp / double(subpixelFactor); + double w = qw + q[14]*d; + + *outputPtr = static_cast((qz + q[10]*d)/w); // z + outputPtr++; + + qz += q[8]; + } + } + return &pointMap[0]; +} + +void Reconstruct3D::Pimpl::projectSinglePoint(int imageX, int imageY, unsigned short disparity, + const float* q, float& pointX, float& pointY, float& pointZ, int subpixelFactor) { + + double d = disparity / double(subpixelFactor); + double w = q[15] + q[14]*d; + pointX = static_cast((imageX*q[0] + q[3])/w); + pointY = static_cast((imageY*q[5] + q[7])/w); + pointZ = static_cast(q[11]/w); +} + +# ifdef __AVX2__ +float* Reconstruct3D::Pimpl::createPointMapAVX2(const unsigned short* dispMap, int width, + int height, int rowStride, const float* q, unsigned short minDisparity, + int subpixelFactor, unsigned short maxDisparity) { + + // Create column vectors of q + const __m256 qCol0 = _mm256_setr_ps(q[0], q[4], q[8], q[12], q[0], q[4], q[8], q[12]); + const __m256 qCol1 = _mm256_setr_ps(q[1], q[5], q[9], q[13], q[1], q[5], q[9], q[13]); + const __m256 qCol2 = _mm256_setr_ps(q[2], q[6], q[10], q[14], q[2], q[6], q[10], q[14]); + const __m256 qCol3 = _mm256_setr_ps(q[3], q[7], q[11], q[15], q[3], q[7], q[11], q[15]); + + // More constants that we need + const __m256i minDispVector = _mm256_set1_epi16(minDisparity); + const __m256i maxDispVector = _mm256_set1_epi16(maxDisparity); + const __m256 scaleVector = _mm256_set1_ps(1.0/double(subpixelFactor)); + const __m256i zeroVector = _mm256_set1_epi16(0); + + float* outputPtr = &pointMap[0]; + + for(int y = 0; y < height; y++) { + const unsigned char* rowStart = &reinterpret_cast(dispMap)[y*rowStride]; + const unsigned char* rowEnd = &reinterpret_cast(dispMap)[y*rowStride + 2*width]; + + int x = 0; + for(const unsigned char* ptr = rowStart; ptr != rowEnd; ptr += 32) { + __m256i disparities = _mm256_load_si256(reinterpret_cast(ptr)); + + // Find invalid disparities and set them to 0 + __m256i validMask = _mm256_cmpgt_epi16(maxDispVector, disparities); + disparities = _mm256_and_si256(validMask, disparities); + + // Clamp to minimum disparity + disparities = _mm256_max_epi16(disparities, minDispVector); + + // Stupid AVX2 unpack mixes everything up! Lets swap the register beforehand. + __m256i disparitiesMixup = _mm256_permute4x64_epi64(disparities, 0xd8); + + // Convert to floats and scale with 1/subpixelFactor + __m256 floatDisp = _mm256_cvtepi32_ps(_mm256_unpacklo_epi16(disparitiesMixup, zeroVector)); + __m256 dispScaled = _mm256_mul_ps(floatDisp, scaleVector); + + // Copy to array +#ifdef _MSC_VER + __declspec(align(32)) float dispArray[16]; +#else + float dispArray[16]__attribute__((aligned(32))); +#endif + _mm256_store_ps(&dispArray[0], dispScaled); + + // Same for other half + floatDisp = _mm256_cvtepi32_ps(_mm256_unpackhi_epi16(disparitiesMixup, zeroVector)); + dispScaled = _mm256_mul_ps(floatDisp, scaleVector); + _mm256_store_ps(&dispArray[8], dispScaled); + + // Iterate over disparities and perform matrix multiplication for each + for(int i=0; i<16; i+=2) { + // Create two vectors + __m256 vec = _mm256_setr_ps(x, y, dispArray[i], 1.0, + x+1, y, dispArray[i+1], 1.0); + + // Multiply with matrix + __m256 u1 = _mm256_shuffle_ps(vec,vec, _MM_SHUFFLE(0,0,0,0)); + __m256 u2 = _mm256_shuffle_ps(vec,vec, _MM_SHUFFLE(1,1,1,1)); + __m256 u3 = _mm256_shuffle_ps(vec,vec, _MM_SHUFFLE(2,2,2,2)); + __m256 u4 = _mm256_shuffle_ps(vec,vec, _MM_SHUFFLE(3,3,3,3)); + + __m256 prod1 = _mm256_mul_ps(u1, qCol0); + __m256 prod2 = _mm256_mul_ps(u2, qCol1); + __m256 prod3 = _mm256_mul_ps(u3, qCol2); + __m256 prod4 = _mm256_mul_ps(u4, qCol3); + + __m256 multResult = _mm256_add_ps(_mm256_add_ps(prod1, prod2), _mm256_add_ps(prod3, prod4)); + + // Divide by w to receive point coordinates + __m256 point = _mm256_div_ps(multResult, + _mm256_shuffle_ps(multResult,multResult, _MM_SHUFFLE(3,3,3,3))); + + // Write result to memory + _mm256_store_ps(outputPtr, point); + + outputPtr += 8; + x+=2; + } + } + } + + return &pointMap[0]; +} +#endif + +#ifdef __SSE2__ +float* Reconstruct3D::Pimpl::createPointMapSSE2(const unsigned short* dispMap, int width, + int height, int rowStride, const float* q, unsigned short minDisparity, + int subpixelFactor, unsigned short maxDisparity) { + + // Create column vectors of q + const __m128 qCol0 = _mm_setr_ps(q[0], q[4], q[8], q[12]); + const __m128 qCol1 = _mm_setr_ps(q[1], q[5], q[9], q[13]); + const __m128 qCol2 = _mm_setr_ps(q[2], q[6], q[10], q[14]); + const __m128 qCol3 = _mm_setr_ps(q[3], q[7], q[11], q[15]); + + // More constants that we need + const __m128i minDispVector = _mm_set1_epi16(minDisparity); + const __m128i maxDispVector = _mm_set1_epi16(maxDisparity); + const __m128 scaleVector = _mm_set1_ps(1.0/double(subpixelFactor)); + const __m128i zeroVector = _mm_set1_epi16(0); + + float* outputPtr = &pointMap[0]; + + for(int y = 0; y < height; y++) { + const unsigned char* rowStart = &reinterpret_cast(dispMap)[y*rowStride]; + const unsigned char* rowEnd = &reinterpret_cast(dispMap)[y*rowStride + 2*width]; + + int x = 0; + for(const unsigned char* ptr = rowStart; ptr != rowEnd; ptr += 16) { + __m128i disparities = _mm_load_si128(reinterpret_cast(ptr)); + + // Find invalid disparities and set them to 0 + __m128i validMask = _mm_cmplt_epi16(disparities, maxDispVector); + disparities = _mm_and_si128(validMask, disparities); + + // Clamp to minimum disparity + disparities = _mm_max_epi16(disparities, minDispVector); + + // Convert to floats and scale with 1/subpixelFactor + __m128 floatDisp = _mm_cvtepi32_ps(_mm_unpacklo_epi16(disparities, zeroVector)); + __m128 dispScaled = _mm_mul_ps(floatDisp, scaleVector); + + // Copy to array +#ifdef _MSC_VER + __declspec(align(16)) float dispArray[8]; +#else + float dispArray[8]__attribute__((aligned(16))); +#endif + _mm_store_ps(&dispArray[0], dispScaled); + + // Same for other half + floatDisp = _mm_cvtepi32_ps(_mm_unpackhi_epi16(disparities, zeroVector)); + dispScaled = _mm_mul_ps(floatDisp, scaleVector); + _mm_store_ps(&dispArray[4], dispScaled); + + // Iterate over disparities and perform matrix multiplication for each + for(int i=0; i<8; i++) { + // Create vector + __m128 vec = _mm_setr_ps(static_cast(x), static_cast(y), dispArray[i], 1.0); + + // Multiply with matrix + __m128 u1 = _mm_shuffle_ps(vec,vec, _MM_SHUFFLE(0,0,0,0)); + __m128 u2 = _mm_shuffle_ps(vec,vec, _MM_SHUFFLE(1,1,1,1)); + __m128 u3 = _mm_shuffle_ps(vec,vec, _MM_SHUFFLE(2,2,2,2)); + __m128 u4 = _mm_shuffle_ps(vec,vec, _MM_SHUFFLE(3,3,3,3)); + + __m128 prod1 = _mm_mul_ps(u1, qCol0); + __m128 prod2 = _mm_mul_ps(u2, qCol1); + __m128 prod3 = _mm_mul_ps(u3, qCol2); + __m128 prod4 = _mm_mul_ps(u4, qCol3); + + __m128 multResult = _mm_add_ps(_mm_add_ps(prod1, prod2), _mm_add_ps(prod3, prod4)); + + // Divide by w to receive point coordinates + __m128 point = _mm_div_ps(multResult, + _mm_shuffle_ps(multResult,multResult, _MM_SHUFFLE(3,3,3,3))); + + // Write result to memory + _mm_store_ps(outputPtr, point); + + outputPtr += 4; + x++; + } + } + } + + return &pointMap[0]; +} +#endif + +void Reconstruct3D::Pimpl::writePlyFile(const char* file, const unsigned short* dispMap, + const unsigned char* image, int width, int height, ImageSet::ImageFormat format, int dispRowStride, + int imageRowStride, const float* q, double maxZ, bool binary, int subpixelFactor, + unsigned short maxDisparity) { + + float* pointMap = createPointMap(dispMap, width, height, dispRowStride, + q, 0, subpixelFactor, maxDisparity); + + // Count number of valid points + int pointsCount = 0; + if(maxZ >= 0) { + for(int i=0; i(&pointMap[4*i]), sizeof(float)*3); + if (image == nullptr) { + // disparity only, no image data + } else if(format == ImageSet::FORMAT_8_BIT_RGB) { + const unsigned char* col = &image[y*imageRowStride + 3*x]; + strm.write(reinterpret_cast(col), 3*sizeof(*col)); + } else if(format == ImageSet::FORMAT_8_BIT_MONO) { + const unsigned char* col = &image[y*imageRowStride + x]; + unsigned char writeData[3] = {*col, *col, *col}; + strm.write(reinterpret_cast(writeData), sizeof(writeData)); + } else if(format == ImageSet::FORMAT_12_BIT_MONO) { + const unsigned short* col = reinterpret_cast(&image[y*imageRowStride + 2*x]); + unsigned char writeData[3] = { + (unsigned char)(*col >> 4), + (unsigned char)(*col >> 4), + (unsigned char)(*col >> 4) + }; + strm.write(reinterpret_cast(writeData), sizeof(writeData)); + } + } else { + // Write ASCII format + if(std::isfinite(pointMap[4*i + 2])) { + strm << pointMap[4*i] + << " " << pointMap[4*i + 1] + << " " << pointMap[4*i + 2]; + } else { + strm << "NaN NaN NaN"; + } + + if (image == nullptr) { + // disparity only, no image data + strm << endl; + } else if(format == ImageSet::FORMAT_8_BIT_RGB) { + const unsigned char* col = &image[y*imageRowStride + 3*x]; + strm << " " << static_cast(col[0]) + << " " << static_cast(col[1]) + << " " << static_cast(col[2]) << endl; + } else if(format == ImageSet::FORMAT_8_BIT_MONO) { + const unsigned char* col = &image[y*imageRowStride + x]; + strm << " " << static_cast(*col) + << " " << static_cast(*col) + << " " << static_cast(*col) << endl; + } else if(format == ImageSet::FORMAT_12_BIT_MONO) { + const unsigned short* col = reinterpret_cast(&image[y*imageRowStride + 2*x]); + strm << " " << static_cast(*col >> 4) + << " " << static_cast(*col >> 4) + << " " << static_cast(*col >> 4) << endl; + } + } + } + } +} + +void Reconstruct3D::Pimpl::writePlyFile(const char* file, const ImageSet& imageSet, + double maxZ, bool binary) { + int indexDisp = imageSet.getIndexOf(ImageSet::IMAGE_DISPARITY); + int indexImg = imageSet.getIndexOf(ImageSet::IMAGE_LEFT); + if(indexDisp == -1) { + throw std::runtime_error("No disparity channel present, cannot create point map!"); + } + if(imageSet.getPixelFormat(ImageSet::IMAGE_DISPARITY) != ImageSet::FORMAT_12_BIT_MONO) { + throw std::runtime_error("Disparity map must have 12-bit pixel format!"); + } + + // write Ply file, passing image data for point colors, if available + writePlyFile(file, reinterpret_cast(imageSet.getPixelData(indexDisp)), + (indexImg == -1) ? nullptr : imageSet.getPixelData(indexImg), + imageSet.getWidth(), imageSet.getHeight(), + (indexImg == -1) ? ImageSet::FORMAT_8_BIT_MONO : imageSet.getPixelFormat(indexImg), + imageSet.getRowStride(indexDisp), + (indexImg == -1) ? 0 : imageSet.getRowStride(indexImg), + imageSet.getQMatrix(), + maxZ, binary, imageSet.getSubpixelFactor(), 0xFFF); +} + +} // namespace + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.h new file mode 100644 index 0000000..37e0b17 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/reconstruct3d.h @@ -0,0 +1,292 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_RECONSTRUCT3D_H +#define VISIONTRANSFER_RECONSTRUCT3D_H + +#include +#include +#include "visiontransfer/common.h" +#include "visiontransfer/imageset.h" + +#ifdef OPEN3D_VERSION +# include +#endif + +namespace visiontransfer { + +/** + * \brief Transforms a disparity map into a set of 3D points. + * + * Use this class for reconstructing the 3D location for each valid + * point in a disparity map. + */ +class VT_EXPORT Reconstruct3D { +public: + /** + * \brief Constructs a new object for 3D reconstructing. + */ + Reconstruct3D(); + + ~Reconstruct3D(); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + /** + * \brief Reconstructs the 3D location of each pixel in the given + * disparity map. + * + * \param dispMap Pointer to the data of the disparity map. The disparity map is + * assumed to have a N-bit subpixel resolution. This means that each + * value needs to be divided by the subpixel factor to receive the true disparity. + * \param width Width of the disparity map. + * \param height Height of the disparity map. + * \param rowStride Row stride (i.e. distance between two rows in bytes) of the + * disparity map. + * \param q Disparity-to-depth mapping matrix of size 4x4. The matrix is + * stored in a row-wise alignment. Obtain this matrix from your + * camera calibration data. + * \param minDisparity The minimum disparity, again with N-bit subpixel + * resolution. Lower disparities will be clamped to this value before + * computing the 3D location. + * \param subpixelFactor Subpixel division factor for disparity value. + * \param maxDisparity The maximum value that occurs in the disparity map. Any value + * greater or equal will be marked as invalid. + * + * This method is deprecated in favor of createPointMap(const ImageSet&, unsigned short). + */ + + DEPRECATED("Use createPointMap(const ImageSet&, ...) instead.") + float* createPointMap(const unsigned short* dispMap, int width, int height, + int rowStride, const float* q, unsigned short minDisparity = 1, + int subpixelFactor = 16, unsigned short maxDisparity = 0xFFF); +#endif + + /** + * \brief Reconstructs the 3D location of each pixel in the given + * disparity map. + * + * \param imageSet Image set containing the disparity map. + * \param minDisparity The minimum disparity with N-bit subpixel resolution. + * + * The output map will have a size of exactly 4*width*height float values. For each + * point the x, y and z coordinates are stored consecutively, plus one additional + * float (four bytes) as padding. Invalid disparities will be set to the given minimum disparity. + * + * If the minimum disparity is set to 0, points with a disparity of 0 or an invalid + * disparity will receive a z coordinate of +inf. If a larger minimum disparity is given, + * points with a lower disparity will be at a fix depth that corresponds to this + * disparity. + * + * The returned point map is valid until the next call of createPointMap(), createZMap(), or + * writePlyFile(). + */ + float* createPointMap(const ImageSet& imageSet, unsigned short minDisparity = 1); + + /** + * \brief Converts the disparit in an image set to a depth map + * + * \param imageSet Image set containing the disparity map. + * \param minDisparity The minimum disparity with N-bit subpixel resolution. + * \param maxDisparity The maximum value that occurs in the disparity map. Any value + * greater or equal will be marked as invalid. + * + * The output map will have a size of exactly width*height float values. Each + * value represents the depth at the given pixel coordinate in meters. + * + * This method is closely related to createPointMap(). It only computes the + * Z coordinates, whereas createPointMap() also computes X and Y coordinates + * for each image point. + * + * If the minimum disparity is set to 0, points with a disparity of 0 or an invalid + * disparity will receive a z coordinate of +inf. If a larger minimum disparity is given, + * points with a lower disparity will be at a fix depth that corresponds to this + * disparity. + * + * The returned map is valid until the next call of createZMap(), createPointMap() or + * writePlyFile(). + */ + float* createZMap(const ImageSet& imageSet, unsigned short minDisparity = 1, + unsigned short maxDisparity = 0xFFF); + + /** + * \brief Reconstructs the 3D location of one individual point. + * + * \param imageX X component of the image location. + * \param imageY Y component of the image location. + * \param disparity Value of the disparity map at the image location. + * It is assumed that the lower N bits are the fractional component. + * This means that each value needs to be divided by a subpixel factor to + * receive the true disparity. + * \param q Disparity-to-depth mapping matrix of size 4x4. The matrix is + * stored in a row-wise alignment. Obtain this matrix from your + * camera calibration data. + * \param pointX Destination variable for the 3D point X component. + * \param pointY Destination variable for the 3D point Y component. + * \param pointZ Destination variable for the 3D point Z component. + * \param subpixelFactor Subpixel division factor for disparity value. + * + * + * This method projects a single point from a disparity map to a + * 3D location. If the 3D coordinates of multiple points are of interest, + * createPointMap() should be used for best performance. + */ + void projectSinglePoint(int imageX, int imageY, unsigned short disparity, const float* q, + float& pointX, float& pointY, float& pointZ, int subpixelFactor = 16); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + /** + * \brief Projects the given disparity map to 3D points and exports the result to + * a PLY file. + * + * \param file The output file + * \param dispMap Pointer to the data of the disparity map. The disparity map is + * assumed to have a N-bit subpixel resolution. This means that each + * value needs to be divided by a subpixel factor to receive the true disparity. + * \param image Rectified left input image in 8-bit gray scale format. + * \param width Width of the disparity map and left image. + * \param height Height of the disparity map and left image. + * \param format Pixel format for the left image. + * \param dispRowStride Row stride (i.e. distance between two rows in bytes) of the + * disparity map. + * \param imageRowStride Row stride (i.e. distance between two rows in bytes) of the + * left image. + * \param q Disparity-to-depth mapping matrix of size 4x4. The matrix is + * stored in a row-wise alignment. Obtain this matrix from your + * camera calibration data. + * \param maxZ Maximum allowed z-coordinate. Points with a higher z-coordinate + * are not exported. + * \param binary Specifies whether the ASCII or binary PLY-format should be used. + * \param subpixelFactor Subpixel division factor for disparity value. + * \param maxDisparity The maximum value that occurs in the disparity map. Any value + * greater or equal will be marked as invalid. + * + * This method is deprecated in favor of + * writePlyFile(const char*, const ImageSet&, double maxZ, bool); + */ + DEPRECATED("Use writePlyFile(const char*, const ImageSet&, ...) instead.") + void writePlyFile(const char* file, const unsigned short* dispMap, + const unsigned char* image, int width, int height, ImageSet::ImageFormat format, + int dispRowStride, int imageRowStride, const float* q, + double maxZ = std::numeric_limits::max(), + bool binary = false, int subpixelFactor = 16, unsigned short maxDisparity = 0xFFF); +#endif + + /** + * \brief Projects the given disparity map to 3D points and exports the result to + * a PLY file. + * + * \param file The name for the output file. + * \param imageSet Image set containing camera image and disparity map. + * \param maxZ Maximum allowed z-coordinate. + * \param binary Specifies whether the ASCII or binary PLY-format should be used. + * + */ + void writePlyFile(const char* file, const ImageSet& imageSet, + double maxZ = std::numeric_limits::max(), bool binary = false); + +#ifdef PCL_MAJOR_VERSION + /** + * \brief Projects the given disparity map to a PCL point cloud without pixel intensities + * + * \param imageSet Image set containing the disparity map. + * \param frameId Frame ID that will be assigned to the created point cloud. + * \param minDisparity The minimum disparity with N-bit subpixel resolution. + * + * For this method to be available, the PCL headers must be included before + * the libvisiontransfer headers! + * + * If the minimum disparity is set to 0, points with a disparity of 0 or an invalid + * disparity will receive a z coordinate of +inf. If a larger minimum disparity is given, + * points with a lower disparity will be at a fix depth that corresponds to this + * disparity. + */ + inline pcl::PointCloud::Ptr createXYZCloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity = 0); + + /** + * \brief Projects the given disparity map to a PCL point cloud, including pixel intensities. + * + * See createXYZCloud() for details. + */ + inline pcl::PointCloud::Ptr createXYZICloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity = 0); + + /** + * \brief Projects the given disparity map to a PCL point cloud, including pixel RGB data. + * + * See createXYZCloud() for details. + */ + inline pcl::PointCloud::Ptr createXYZRGBCloud(const ImageSet& imageSet, + const char* frameId, unsigned short minDisparity = 0); +#endif + +#ifdef OPEN3D_VERSION + /** + * \brief Projects the given disparity map to a Open3D point cloud + * + * \param imageSet Image set containing the disparity map. + * \param withColor If true, color information will be copied to the + * pointcloud. + * \param minDisparity The minimum disparity with N-bit subpixel resolution. + * + * For this method to be available, the Open3d headers must be included before + * the libvisiontransfer headers! + * + * If the minimum disparity is set to 0, points with a disparity of 0 or an invalid + * disparity will receive a z coordinate of +inf. If a larger minimum disparity is given, + * points with a lower disparity will be at a fix depth that corresponds to this + * disparity. + */ + inline std::shared_ptr createOpen3DCloud(const ImageSet& imageSet, + bool withColor, unsigned short minDisparity = 0); + /** + * \brief Converts the given disparity map to a Open3D RGBDn image + * + * \param imageSet Image set containing the disparity map. + * \param minDisparity The minimum disparity with N-bit subpixel resolution. + * + * For this method to be available, the Open3d headers must be included before + * the libvisiontransfer headers! + * + * If the minimum disparity is set to 0, points with a disparity of 0 or an invalid + * disparity will receive a z coordinate of +inf. If a larger minimum disparity is given, + * points with a lower disparity will be at a fix depth that corresponds to this + * disparity. + */ + inline std::shared_ptr createOpen3DImageRGBD(const ImageSet& imageSet, + unsigned short minDisparity = 0); +#endif + +private: + // We follow the pimpl idiom + class Pimpl; + Pimpl* pimpl; + + // This class cannot be copied + Reconstruct3D(const Reconstruct3D& other); + Reconstruct3D& operator=(const Reconstruct3D&); + +#ifdef PCL_MAJOR_VERSION + // Initializes a PCL point cloud + template + typename pcl::PointCloud::Ptr initPointCloud(const ImageSet& imageSet, const char* frameId); +#endif +}; + +} // namespace + +#include "visiontransfer/reconstruct3d-pcl.h" +#include "visiontransfer/reconstruct3d-open3d.h" + +#endif diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/scenescanparameters.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/scenescanparameters.h new file mode 100644 index 0000000..8e9d7e3 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/scenescanparameters.h @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_SCENESCANPARAMETERS_H +#define VISIONTRANSFER_SCENESCANPARAMETERS_H + +#include "visiontransfer/deviceparameters.h" + +#pragma message "DEPRECATION NOTICE: scenescanparameters.h and SceneScanParameters are deprecated in favor of deviceparameteres.h and DeviceParameters" + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensordata.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensordata.h new file mode 100644 index 0000000..67b60ef --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensordata.h @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_SENSORDATA_H +#define VISIONTRANSFER_SENSORDATA_H + +#define _USE_MATH_DEFINES +#include + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +namespace visiontransfer { + +/** + * \brief Base class for sensor records with timestamp and status (reliability) fields + */ +class SensorRecord { +protected: + int timestampSec; + int timestampUSec; + unsigned char status; +public: + SensorRecord(int timestampSec, int timestampUSec, unsigned char status): timestampSec(timestampSec), timestampUSec(timestampUSec), status(status) {} + /** + * Returns the sensor-reported timestamp for the reading + */ + void getTimestamp(int& s, int& us) const { s = timestampSec; us = timestampUSec; } + /** + * Returns the current sensor calibration status (range 0..3) + * 0: Sensor unreliable; 1: Accuracy low; 2: ~ medium; 3: ~ high + */ + unsigned char getStatus() const { return status; } +}; + +/** + * \brief Encapsulate a scalar sensor measurement, containing the value, as well as timestamp and status fields + */ +class TimestampedScalar: public SensorRecord { +public: + double value() const { return valueIntl; } + TimestampedScalar(int timestampSec, int timestampUSec, unsigned char status, double value): SensorRecord(timestampSec, timestampUSec, status), valueIntl(value) {} + TimestampedScalar(): SensorRecord(0, 0, 0), valueIntl(0) { } +private: + double valueIntl; +}; + + +/** + * \brief Encapsulate a 3D sensor report, containing X, Y, Z, as well as timestamp and status fields + */ +class TimestampedVector: public SensorRecord { +public: + double x() const { return xIntl; } + double y() const { return yIntl; } + double z() const { return zIntl; } + TimestampedVector(int timestampSec, int timestampUSec, unsigned char status, double x, double y, double z): SensorRecord(timestampSec, timestampUSec, status), xIntl(x), yIntl(y), zIntl(z) {} + TimestampedVector(): SensorRecord(0, 0, 0), xIntl(0), yIntl(0), zIntl(0) { } +private: + double xIntl, yIntl, zIntl; +}; + +/** + * \brief Encapsulate a 4D (quaternion) sensor report, containing X, Y, Z, W, as well as timestamp and status fields and measurement accuracy + * + * Component r is the real part of the quaternion, also called w (ijkr corresponds to xyzw). + */ +class TimestampedQuaternion: public SensorRecord { +public: + double x() const { return xIntl; } + double y() const { return yIntl; } + double z() const { return zIntl; } + double w() const { return wIntl; } + /** + * Convert the quaternion to device roll, pitch, and yaw (radians) + */ + void getRollPitchYaw(double& roll, double& pitch, double& yaw) { + // roll + double sinr_cosp = 2 * (wIntl * xIntl + -zIntl * yIntl); + double cosr_cosp = 1 - 2 * (xIntl * xIntl + -zIntl * -zIntl); + roll = std::atan2(sinr_cosp, cosr_cosp); + // pitch + double sinp = 2 * (wIntl * -zIntl - yIntl * xIntl); + pitch = (std::abs(sinp) >= 1) ? ((sinp<0)?-(M_PI/2):(M_PI/2)) : std::asin(sinp); + // yaw + double siny_cosp = 2 * (wIntl * yIntl + xIntl * -zIntl); + double cosy_cosp = 1 - 2 * (-zIntl * -zIntl + yIntl * yIntl); + yaw = std::atan2(siny_cosp, cosy_cosp); + } + /** + * Returns the internal device-reported angular accuracy (radians) + */ + double accuracy() const { return accuracyIntl; } + TimestampedQuaternion(int timestampSec, int timestampUSec, unsigned char status, double x, double y, double z, double w, double accuracy): SensorRecord(timestampSec, timestampUSec, status), xIntl(x), yIntl(y), zIntl(z), wIntl(w), accuracyIntl(accuracy) {} + TimestampedQuaternion(): SensorRecord(0, 0, 0), xIntl(0), yIntl(0), zIntl(0), wIntl(0), accuracyIntl(0) { } +private: + double xIntl, yIntl, zIntl, wIntl; + double accuracyIntl; +}; + +} // namespace + +#endif + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensorringbuffer.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensorringbuffer.h new file mode 100644 index 0000000..f32f203 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/sensorringbuffer.h @@ -0,0 +1,146 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_SENSORRINGBUFFER_H +#define VISIONTRANSFER_SENSORRINGBUFFER_H + +#include +#include +#include +#include +#include +#include + +#include + +using namespace visiontransfer; + +namespace visiontransfer { +namespace internal { + +/** + * Thread-safe ring buffer for timestamped generic sensor data. + * RecordType needs to implement getTimestamp() in order to perform + * comparisons in popBetweenTimes() (= obtain data series in interval). + * + * Maximum capacity of the buffer is RINGBUFFER_SIZE-1. + * lostSamples() tallies the number of samples silently lost due + * to buffer overruns, and is reset by any of the pop...() methods. + */ +template +class SensorDataRingBuffer { + private: + int read_horizon, write_position, read_next; + unsigned long lostSamples; + std::array buffer; + std::recursive_mutex mutex; + public: + constexpr unsigned int ringbufferSize() const { return RINGBUFFER_SIZE; } + SensorDataRingBuffer(): read_horizon(0), write_position(0), read_next(0), lostSamples(0) { } + constexpr int capacity() const { return ringbufferSize() - 1; } + int size() const { return (ringbufferSize() + (write_position - read_next)) % ringbufferSize(); } + int samplesLost() const { return lostSamples; } + bool isFull() const { return size()==capacity(); } + bool isEmpty() const { return write_position==read_next; } + + bool advanceWritePosition() { + write_position = (write_position + 1) % ringbufferSize(); + if (write_position==read_next) { + // Ring buffer overrun: advance and increment lost samples count + read_next = (write_position + 1) % ringbufferSize(); + lostSamples++; + } + return lostSamples==0; + } + + bool pushData(const std::vector& data) { + // A more efficient implementation could be substituted on demand + std::unique_lock lock(mutex); + for (auto const& d: data) { + (void) pushData(d); + } + return lostSamples==0; + } + + bool pushData(const RecordType& data) { + std::unique_lock lock(mutex); + buffer[write_position] = data; + return advanceWritePosition(); + } + + bool pushData(RecordType&& data) { + std::unique_lock lock(mutex); + buffer[write_position] = std::move(data); + return advanceWritePosition(); + } + + // \brief Pop and return the whole ring buffer contents + std::vector popAllData() { + std::unique_lock lock(mutex); + lostSamples = 0; + if (write_position < read_next) { + // wrapped + std::vector v(buffer.begin()+read_next, buffer.end()); + v.reserve(v.size() + write_position); + std::copy(buffer.begin(), buffer.begin() + write_position, std::back_inserter(v)); + read_next = (write_position) % ringbufferSize(); + return v; + } else { + std::vector v(buffer.begin()+read_next, buffer.begin()+write_position); + read_next = (write_position) % ringbufferSize(); + return v; + } + } + + /// \brief Pop and return the data between timestamps (or the whole ring buffer contents if not provided) + std::vector popBetweenTimes(int fromSec = 0, int fromUSec = 0, int untilSec = 0x7fffFFFFl, int untilUSec = 0x7fffFFFFl) { + std::unique_lock lock(mutex); + lostSamples = 0; + int tsSec, tsUSec; + if (write_position == read_next) return std::vector(); + // Find first relevant sample (matching or exceeding the specified start time) + buffer[read_next].getTimestamp(tsSec, tsUSec); + while ((tsSec < fromSec) || ((tsSec == fromSec) && (tsUSec < fromUSec))) { + read_next = (read_next + 1) % ringbufferSize(); + if (write_position == read_next) return std::vector(); + } + // Find last relevant sample (not exceeding the specified end time) + int lastidx = read_next; + int li; + buffer[lastidx].getTimestamp(tsSec, tsUSec); + while ((tsSec < untilSec) || ((tsSec == untilSec) && (tsUSec <= untilUSec))) { + li = (lastidx + 1) % ringbufferSize(); + lastidx = li; + if (li == write_position) break; + } + if (lastidx < read_next) { + // Wrapped + std::vector v(buffer.begin()+read_next, buffer.end()); + v.reserve(v.size() + lastidx); + std::copy(buffer.begin(), buffer.begin() + lastidx, std::back_inserter(v)); + read_next = lastidx; + return v; + } else { + std::vector v(buffer.begin()+read_next, buffer.begin()+lastidx); + read_next = (lastidx) % ringbufferSize(); + return v; + } + } +}; + +}} // namespace + +#endif + + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.cpp b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.cpp new file mode 100644 index 0000000..aa97509 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.cpp @@ -0,0 +1,102 @@ +#include + +namespace visiontransfer { +namespace internal { + +/// Return the ID for a string configuration key (reverse lookup), or UNDEFINED if unknown +StandardParameterIDs::ParameterID StandardParameterIDs::getParameterIDForName(const std::string& name) +{ + static std::map lookup; + if (!lookup.size()) { + std::map m; + for (const auto& kv: StandardParameterIDs::parameterNameByID) { + m[kv.second] = kv.first; + } + lookup = m; + } + auto it = lookup.find(name); + if (it==lookup.end()) return StandardParameterIDs::ParameterID::UNDEFINED; + return it->second; +} + +const std::map +StandardParameterIDs::parameterNameByID { + // Processing settings + {OPERATION_MODE, "operation_mode"}, + {NUMBER_OF_DISPARITIES, "number_of_disparities"}, + {DISPARITY_OFFSET, "disparity_offset"}, + {MAX_NUMBER_OF_IMAGES, "max_number_of_images"}, + // Algorithmic settings + {SGM_P1_EDGE, "sgm_p1_edge"}, + {SGM_P2_EDGE, "sgm_p2_edge"}, + {SGM_P1_NO_EDGE, "sgm_p1_no_edge"}, + {SGM_P2_NO_EDGE, "sgm_p2_no_edge"}, + {SGM_EDGE_SENSITIVITY, "sgm_edge_sensitivity"}, + {MASK_BORDER_PIXELS_ENABLED, "mask_border_pixels_enabled"}, + {CONSISTENCY_CHECK_ENABLED, "consistency_check_enabled"}, + {CONSISTENCY_CHECK_SENSITIVITY, "consistency_check_sensitivity"}, + {UNIQUENESS_CHECK_ENABLED, "uniqueness_check_enabled"}, + {UNIQUENESS_CHECK_SENSITIVITY, "uniqueness_check_sensitivity"}, + {TEXTURE_FILTER_ENABLED, "texture_filter_enabled"}, + {TEXTURE_FILTER_SENSITIVITY, "texture_filter_sensitivity"}, + {GAP_INTERPOLATION_ENABLED, "gap_interpolation_enabled"}, + {NOISE_REDUCTION_ENABLED, "noise_reduction_enabled"}, + {SPECKLE_FILTER_ITERATIONS, "speckle_filter_iterations"}, + {SUBPIXEL_OPTIMIZATION_ROI_ENABLED, "subpixel_optimization_roi_enabled"}, + {SUBPIXEL_OPTIMIZATION_ROI_X, "subpixel_optimization_roi_x"}, + {SUBPIXEL_OPTIMIZATION_ROI_Y, "subpixel_optimization_roi_y"}, + {SUBPIXEL_OPTIMIZATION_ROI_WIDTH, "subpixel_optimization_roi_width"}, + {SUBPIXEL_OPTIMIZATION_ROI_HEIGHT, "subpixel_optimization_roi_height"}, + // Exposure settings + {AUTO_EXPOSURE_MODE, "auto_exposure_mode"}, + {AUTO_TARGET_INTENSITY, "auto_target_intensity"}, + {AUTO_INTENSITY_DELTA, "auto_intensity_delta"}, + {AUTO_TARGET_FRAME, "auto_target_frame"}, + {AUTO_SKIPPED_FRAMES, "auto_skipped_frames"}, + {AUTO_MAXIMUM_EXPOSURE_TIME, "auto_maximum_exposure_time"}, + {AUTO_MAXIMUM_GAIN, "auto_maximum_gain"}, + {MANUAL_EXPOSURE_TIME, "manual_exposure_time"}, + {MANUAL_GAIN, "manual_gain"}, + {AUTO_EXPOSURE_ROI_ENABLED, "auto_exposure_roi_enabled"}, + {AUTO_EXPOSURE_ROI_X, "auto_exposure_roi_x"}, + {AUTO_EXPOSURE_ROI_Y, "auto_exposure_roi_y"}, + {AUTO_EXPOSURE_ROI_WIDTH, "auto_exposure_roi_width"}, + {AUTO_EXPOSURE_ROI_HEIGHT, "auto_exposure_roi_height"}, + // Trigger / Pairing + {MAX_FRAME_TIME_DIFFERENCE_MS, "max_frame_time_difference_ms"}, + {TRIGGER_FREQUENCY, "trigger_frequency"}, + {TRIGGER_0_ENABLED, "trigger_0_enabled"}, + {TRIGGER_0_PULSE_WIDTH, "trigger_0_pulse_width"}, + {TRIGGER_1_ENABLED, "trigger_1_enabled"}, + {TRIGGER_1_PULSE_WIDTH, "trigger_1_pulse_width"}, + {TRIGGER_1_OFFSET, "trigger_1_offset"}, + {TRIGGER_0B_PULSE_WIDTH, "trigger_0b_pulse_width"}, + {TRIGGER_0C_PULSE_WIDTH, "trigger_0c_pulse_width"}, + {TRIGGER_0D_PULSE_WIDTH, "trigger_0d_pulse_width"}, + {TRIGGER_1B_PULSE_WIDTH, "trigger_1b_pulse_width"}, + {TRIGGER_1C_PULSE_WIDTH, "trigger_1c_pulse_width"}, + {TRIGGER_1D_PULSE_WIDTH, "trigger_1d_pulse_width"}, + {TRIGGER_0_POLARITY, "trigger_0_polarity"}, + {TRIGGER_1_POLARITY, "trigger_1_polarity"}, + {TRIGGER_0E_PULSE_WIDTH, "trigger_0e_pulse_width"}, + {TRIGGER_0F_PULSE_WIDTH, "trigger_0f_pulse_width"}, + {TRIGGER_0G_PULSE_WIDTH, "trigger_0g_pulse_width"}, + {TRIGGER_0H_PULSE_WIDTH, "trigger_0h_pulse_width"}, + {TRIGGER_1E_PULSE_WIDTH, "trigger_1e_pulse_width"}, + {TRIGGER_1F_PULSE_WIDTH, "trigger_1f_pulse_width"}, + {TRIGGER_1G_PULSE_WIDTH, "trigger_1g_pulse_width"}, + {TRIGGER_1H_PULSE_WIDTH, "trigger_1h_pulse_width"}, + {TRIGGER_0_CONSTANT, "trigger_0_constant"}, + {TRIGGER_1_CONSTANT, "trigger_0_constant"}, + {TRIGGER_INPUT, "trigger_input"}, + // Auto Re-calibration + {AUTO_RECALIBRATION_ENABLED, "auto_recalibration_enabled"}, + {AUTO_RECALIBRATION_PERMANENT, "auto_recalibration_permanent"}, + // System settings + {REBOOT, "reboot"}, + {PPS_SYNC, "pps_sync"}, + }; + +}} // namespace + + diff --git a/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.h b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.h new file mode 100644 index 0000000..2b0a5a0 --- /dev/null +++ b/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.h @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#ifndef VISIONTRANSFER_STANDARDRAMETERIDS_H +#define VISIONTRANSFER_STANDARDRAMETERIDS_H + +#include +#include + +#include + +#include + +namespace visiontransfer { +namespace internal { + +/** + * \brief A collection of numeric IDs for all supported parameters by + * Nerian stereo devices. + * + * This class is only used internally. Users should use the class + * \ref DeviceParameters instead. + */ + +class StandardParameterIDs { +public: + + enum ParameterID { + // Reserved + UNDEFINED = 0x0000, + + // Processing settings + OPERATION_MODE = 0x0100, + NUMBER_OF_DISPARITIES = 0x0101, // Not available yet + DISPARITY_OFFSET = 0x0102, + MAX_NUMBER_OF_IMAGES = 0x0103, + + // Algorithmic settings + SGM_P1_EDGE = 0x0200, + SGM_P2_EDGE = 0x0201, + MASK_BORDER_PIXELS_ENABLED = 0x0202, + CONSISTENCY_CHECK_ENABLED = 0x0203, + CONSISTENCY_CHECK_SENSITIVITY = 0x0204, + UNIQUENESS_CHECK_ENABLED = 0x0205, + UNIQUENESS_CHECK_SENSITIVITY = 0x0206, + TEXTURE_FILTER_ENABLED = 0x0207, + TEXTURE_FILTER_SENSITIVITY = 0x0208, + GAP_INTERPOLATION_ENABLED = 0x0209, + NOISE_REDUCTION_ENABLED = 0x020a, + SPECKLE_FILTER_ITERATIONS = 0x020b, + SGM_P1_NO_EDGE = 0x020c, + SGM_P2_NO_EDGE = 0x020d, + SGM_EDGE_SENSITIVITY = 0x020e, + SUBPIXEL_OPTIMIZATION_ROI_ENABLED = 0x020f, + SUBPIXEL_OPTIMIZATION_ROI_X = 0x0210, + SUBPIXEL_OPTIMIZATION_ROI_Y = 0x0211, + SUBPIXEL_OPTIMIZATION_ROI_WIDTH = 0x0212, + SUBPIXEL_OPTIMIZATION_ROI_HEIGHT = 0x0213, + + // Exposure settings + AUTO_EXPOSURE_MODE = 0x0300, + AUTO_TARGET_INTENSITY = 0x0301, + AUTO_INTENSITY_DELTA = 0x0302, + AUTO_TARGET_FRAME = 0x0303, + AUTO_SKIPPED_FRAMES = 0x0304, + AUTO_MAXIMUM_EXPOSURE_TIME = 0x0305, + AUTO_MAXIMUM_GAIN = 0x0306, + MANUAL_EXPOSURE_TIME = 0x0307, + MANUAL_GAIN = 0x0308, + AUTO_EXPOSURE_ROI_ENABLED = 0x0309, + AUTO_EXPOSURE_ROI_X = 0x030a, + AUTO_EXPOSURE_ROI_Y = 0x030b, + AUTO_EXPOSURE_ROI_WIDTH = 0x030c, + AUTO_EXPOSURE_ROI_HEIGHT = 0x030d, + + // Trigger / Pairing + MAX_FRAME_TIME_DIFFERENCE_MS = 0x0400, + TRIGGER_FREQUENCY = 0x0401, + TRIGGER_0_ENABLED = 0x0402, + TRIGGER_0_PULSE_WIDTH = 0x0403, + TRIGGER_1_ENABLED = 0x0404, + TRIGGER_1_PULSE_WIDTH = 0x0405, + TRIGGER_1_OFFSET = 0x0406, + TRIGGER_0B_PULSE_WIDTH = 0x0407, + TRIGGER_0C_PULSE_WIDTH = 0x0408, + TRIGGER_0D_PULSE_WIDTH = 0x0409, + TRIGGER_1B_PULSE_WIDTH = 0x040a, + TRIGGER_1C_PULSE_WIDTH = 0x040b, + TRIGGER_1D_PULSE_WIDTH = 0x040c, + TRIGGER_0_POLARITY = 0x040d, + TRIGGER_1_POLARITY = 0x040e, + TRIGGER_0E_PULSE_WIDTH = 0x040f, + TRIGGER_0F_PULSE_WIDTH = 0x0410, + TRIGGER_0G_PULSE_WIDTH = 0x0411, + TRIGGER_0H_PULSE_WIDTH = 0x0412, + TRIGGER_1E_PULSE_WIDTH = 0x0413, + TRIGGER_1F_PULSE_WIDTH = 0x0414, + TRIGGER_1G_PULSE_WIDTH = 0x0415, + TRIGGER_1H_PULSE_WIDTH = 0x0416, + TRIGGER_0_CONSTANT = 0x0417, + TRIGGER_1_CONSTANT = 0x0418, + TRIGGER_INPUT = 0x0419, + + // Auto Re-calibration + AUTO_RECALIBRATION_ENABLED = 0x0500, + AUTO_RECALIBRATION_PERMANENT = 0x0501, + + // System settings + REBOOT = 0x0600, + PPS_SYNC = 0x0601 + }; + + enum ParameterFlags { + // bit flags + PARAMETER_WRITEABLE = 0x0001, + }; + + // String representations for all ParameterIDs. They correspond + // to a lowercase version, OPERATION_MODE <-> "operation_mode"; + // contents initialized C++11 style over in the source file + static const std::map parameterNameByID; + + // Obtain the ParameterID for a parameter name, or UNDEFINED if invalid + static ParameterID getParameterIDForName(const std::string& name); + +}; + +}} // namespace + +#endif diff --git a/demo/camera_client/nerian_stream_unified/nerian_stream_unified.cpp b/demo/camera_client/nerian_stream_unified/nerian_stream_unified.cpp new file mode 100644 index 0000000..3ed451e --- /dev/null +++ b/demo/camera_client/nerian_stream_unified/nerian_stream_unified.cpp @@ -0,0 +1,179 @@ +/******************************************************************************* + * Copyright (c) 2021 Nerian Vision GmbH + * Copyright (c) 2022 Swinburne University of Technology + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + *******************************************************************************/ + +#include + + // PCL headers must be included first! +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include + + +#ifdef _MSC_VER +// Visual studio does not come with snprintf +#define snprintf _snprintf_s +#endif + +using namespace visiontransfer; +namespace { + constexpr auto delta = std::chrono::seconds{ 1 } / 25; +} + + +int main(int argc, const char** argv) { + + if (argc < 4) { + fprintf(stderr, "Expected %s \n", argv[0]); + return -1; + } + + const char* const broker_endpoint = argv[1]; + const char* const camera_sensor_name = argv[2]; + const char* const gps_sensor_name = argv[3]; + + // Init AWS Code + senshamart::Camera_info init_info; + + // Name, same as the KVS cloud. It is the hostname. + init_info.width = 1024; + init_info.height = 768; + + init_info.broker_endpoint = broker_endpoint; + init_info.camera_sensor_name = camera_sensor_name; + init_info.gps_sensor_name = gps_sensor_name; + + + senshamart::Camera camera{ init_info }; + + int in; + + senshamart::Clock::time_point now = senshamart::Clock::now(); + + std::cout << "[Nerian] Initialisation done" << std::endl; + + + // UDP socket to receive GNSS data + int sockfd, n; + struct sockaddr_in servaddr, cliaddr; + socklen_t len; + char gnssCoord[35] = "-0,-0,-0"; // Weird initialisation to indicate there is no GNSS data + + sockfd = socket(AF_INET, SOCK_DGRAM, 0); + + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(INADDR_ANY); + servaddr.sin_port = htons(32100); + bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)); + + + try { + // Search for Nerian stereo devices + DeviceEnumeration deviceEnum; + DeviceEnumeration::DeviceList devices = deviceEnum.discoverDevices(); + int cameraWaitingCycles = 0; + while (devices.size() == 0) { + // GG is shit because it does not restart services if they fail more than 3 times. + printf("[Nerian] No devices discovered! Waiting 0.5s and trying again. Total waiting time: %.1f seconds.\n", cameraWaitingCycles * 0.5); + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + devices = deviceEnum.discoverDevices(); + cameraWaitingCycles++; + //return -1; + } + + // Print devices + std::cout << "[Nerian] Discovered devices:" << std::endl; + for (unsigned int i = 0; i < devices.size(); i++) { + std::cout << "[Nerian] " << devices[i].toString() << std::endl; + } + std::cout << std::endl; + + // Create an image transfer object that receives data from the first detected device + // and get the status of the camera + AsyncTransfer asyncTransfer(devices[0]); + auto status = devices[0].getStatus(); + + // Variables to calculate fps + std::chrono::time_point timeNewFrame, timeOldFrame; + + // Receive and send images + while (true) { + + // GNSS stuff + len = sizeof(cliaddr); + n = recvfrom(sockfd, gnssCoord, 35, MSG_DONTWAIT, (struct sockaddr*)&cliaddr, &len); + if (n > 0) { + gnssCoord[n] = 0; + printf("[GNSS] Received the following: "); + printf("%s", gnssCoord); + + std::stringstream ss; + ss << gnssCoord; + + std::string lat, lon, speed; + getline(ss, lat, ','); + getline(ss, lon, ','); + getline(ss, speed, ','); + printf("[Nerian] Sending GPS and Speed: %lf %lf %lf \n", std::stod(lat), std::stod(lon), std::stod(speed)); + camera.add_gps(senshamart::Latitude{std::stod(lat)}, senshamart::Longitude{std::stod(lon)}, std::stod(speed)); + } else { + printf("[Nerian] Not sending GPS and Speed\n"); + } + + // Receive image + ImageSet imageSet; + while (!asyncTransfer.collectReceivedImageSet(imageSet, 0.1 /*timeout*/)) { + // FIXME: Blocking code that we are not logging/handling. It needs testing + // Keep on trying until reception is successful + } + + // Compute frame rate + timeOldFrame = timeNewFrame; + timeNewFrame = std::chrono::system_clock::now(); + std::chrono::duration elapsedSeconds = timeNewFrame - timeOldFrame; + std::cout << "[Nerian] Receiving image set at " << 1 / elapsedSeconds.count() << " fps" << std::endl; + + // Nerian Camera Stuff + // Write only image 1, so we don't care about the other images. The other images are disparity maps + // Sending frames here + cv::Mat convertedImage; + imageSet.toOpenCVImage(0, convertedImage); // Converting image 0 which is RGB + camera.add_frame(convertedImage); // Sending RGB image in cv::Mat format + + std::this_thread::sleep_until(now + delta); + now += delta; + } + } catch (const std::exception& ex) { + std::cerr << "Exception occurred: " << ex.what() << std::endl; + } + + return 0; +} diff --git a/demo/camera_client/public_include/senshamart/client/camera.hpp b/demo/camera_client/public_include/senshamart/client/camera.hpp new file mode 100644 index 0000000..60b6524 --- /dev/null +++ b/demo/camera_client/public_include/senshamart/client/camera.hpp @@ -0,0 +1,74 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +namespace senshamart { + using Clock = std::chrono::system_clock; + + //strong type for latitude + struct Latitude { + double val; + }; + + //strong type for longitude + struct Longitude { + double val; + }; + + struct Camera_info { + + std::size_t width; + std::size_t height; + std::string broker_endpoint; + std::string camera_sensor_name; + std::string gps_sensor_name; + }; + + class Camera final { + public: + //init with the init info, may throw if there's an error. width and height are the resolution of the expected frames + Camera(Camera_info const&); + + Camera(Camera const&) = delete; + Camera(Camera&&) = default; + + Camera& operator=(Camera const&) = delete; + Camera& operator=(Camera&&) = default; + + //add a frame, expects it raw + //will check to see if frame is expected size to match resolution in constructor + void add_frame(void* data, std::size_t size); + //add a frame, expects it raw + //will check to see if frame is expected size to match resolution in constructor + void add_frame(void* data, std::size_t size, Clock::time_point time); + + //add a frame, expects it raw, helper to automatically add time + //will check to see if frame is expected size to match resolution in constructor + void add_frame(cv::Mat const& frame); + //add a frame, expects it raw + //will check to see if frame is expected size to match resolution in constructor + void add_frame(cv::Mat const& frame, Clock::time_point time); + + //adds the gps location and speed, helper to automatically add time + template + void add_gps(First&& first, Second&& second, double speed) { + add_gps(std::forward(first), std::forward(second), speed, Clock::now()); + } + //adds the gps location and speed + void add_gps(Latitude latitude, Longitude longitude, double speed, Clock::time_point time); + void add_gps(Longitude longitude, Latitude latitude, double speed, Clock::time_point time); + + private: + struct Pimpl_deleter_ { + void operator()(void*) const noexcept; + }; + std::unique_ptr pimpl_; + }; +} + diff --git a/demo/camera_client/scratch/scratch.cpp b/demo/camera_client/scratch/scratch.cpp new file mode 100644 index 0000000..86c54b2 --- /dev/null +++ b/demo/camera_client/scratch/scratch.cpp @@ -0,0 +1,70 @@ +#include + +#include +#include +#include +#include +#include + +namespace { + constexpr auto delta = std::chrono::seconds{ 1 } / 20; +} + +int main(int argc, const char** argv) { + + senshamart::Camera_info init_info; + + init_info.broker_endpoint = "tcp://127.0.0.1:5004"; + init_info.camera_sensor_name = "camera_sensor"; + init_info.gps_sensor_name = "gps_sensor"; + init_info.width = 1024; + init_info.height = 768; + + senshamart::Camera client{ init_info }; + + int in; + + senshamart::Clock::time_point now = senshamart::Clock::now(); + + std::set image_paths; + + for(std::filesystem::directory_iterator directory_iter{ "C:\\users\\dekibeki\\documents\\png_02\\" }; + directory_iter != std::filesystem::directory_iterator{}; + ++directory_iter) { + + if(image_paths.size() > 100) { + break; + } + image_paths.insert(directory_iter->path()); + } + + std::vector images; + std::vector temp; + + for(auto const& path : image_paths) { + std::ifstream file{ path, std::ios_base::binary }; + while((in = file.get()) != std::ifstream::traits_type::eof()) { + temp.push_back(static_cast(in)); + } + images.emplace_back(cv::imdecode(temp, cv::IMREAD_COLOR)); + temp.clear(); + } + + // Sending frames here + fprintf(stderr, "Starting streaming\n"); + + std::size_t frame_count = 0; + + for(;;) { + for(auto& image : images) { + fprintf(stderr, "Sending frame %zd\n", frame_count); + client.add_frame(image); + client.add_gps(senshamart::Latitude{ 0 }, senshamart::Longitude{ 0 }, 0); + + //std::this_thread::sleep_until(now + delta); + now += delta; + ++frame_count; + } + fprintf(stderr, "Repeating\n"); + } +} diff --git a/demo/camera_client/src/camera.cpp b/demo/camera_client/src/camera.cpp new file mode 100644 index 0000000..485b721 --- /dev/null +++ b/demo/camera_client/src/camera.cpp @@ -0,0 +1,320 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +extern "C" { +#include +#include +#include +} + +namespace { + struct AVFrame_closer { + void operator()(AVFrame* p) const noexcept { + av_frame_free(&p); + } + }; + + using Frame = std::unique_ptr; + + struct AVPacket_closer { + void operator()(AVPacket* p) const noexcept { + av_packet_free(&p); + } + }; + + using Packet = std::unique_ptr; + + struct AVCodecContext_closer { + void operator()(AVCodecContext* p) const noexcept { + avcodec_free_context(&p); + } + }; + + using Codec_context = std::unique_ptr; + + struct AVFormatContext_closer { + void operator()(AVFormatContext* p) const noexcept { + if (p != nullptr && p->pb != nullptr) { + if (p->pb->buffer != nullptr) { + av_free(p->pb->buffer); + } + avio_context_free(&p->pb); + } + avformat_free_context(p); + } + }; + + using Format_context = std::unique_ptr; + + struct Camera_impl final { + public: + //interface public + Camera_impl(senshamart::Camera_info const& init_info) : + camera_client_(init_info.broker_endpoint, init_info.camera_sensor_name), + gps_client_(init_info.broker_endpoint, init_info.gps_sensor_name) { + + video_init_(init_info); + } + + void add_frame(void* data, std::size_t size, senshamart::Clock::time_point time) { + //we assume the data is B G R, one byte per + assert(size == 3 * width_ * height_); + cv::Mat frame{ static_cast(height_), static_cast(width_), CV_8UC3, data}; + + out_frame_->pts = in_frame_count_; + + if (av_frame_make_writable(out_frame_.get()) < 0) { + fprintf(stderr, "Couldn't make frame writable\n"); + std::exit(-1); + } + + cv::Mat cv_frame_converted; + cv::cvtColor(frame, cv_frame_converted, cv::COLOR_BGR2YUV_I420); + + for (int y = 0; y < height_; ++y) { + for (int x = 0; x < width_; ++x) { + out_frame_->data[0][y * out_frame_->linesize[0] + x] = cv_frame_converted.at(y, x); + } + } + + for (int i = 0; i < width_ * height_ / 4; ++i) { + const int to_x = i % (width_ / 2); + const int to_y = i / (width_ / 2); + const int from_x = i / width_; + const int from_y = i % width_; + + out_frame_->data[1][to_y * out_frame_->linesize[1] + to_x] = cv_frame_converted.at(height_ + from_x, from_y); + out_frame_->data[2][to_y * out_frame_->linesize[2] + to_x] = cv_frame_converted.at((height_ / 4) * 5 + from_x, from_y); + } + + if (avcodec_send_frame(codec_ctx_.get(), out_frame_.get()) < 0) { + throw std::runtime_error{ "Couldn't send frame" }; + } + + ++in_frame_count_; + + while (avcodec_receive_packet(codec_ctx_.get(), packet_.get()) >= 0) { + write_encoded_( + packet_.get()); + av_packet_unref(packet_.get()); + } + } + + void add_gps(senshamart::Longitude longitude, senshamart::Latitude latitude, double speed, senshamart::Clock::time_point time) { + std::stringstream constructing; + constructing << + "{" + "\"latitude\":" << latitude.val << "," + "\"longitude\":" << longitude.val << "," + "\"speed\":" << speed << "," + "\"when\":" << std::chrono::duration_cast(time.time_since_epoch()).count() << + "}"; + gps_client_.send(constructing.str()); + } + + void finish() { + } + + ~Camera_impl() { + finish(); + } + private: + void write_encoded_(AVPacket* packet) { + if ((packet->flags & AV_PKT_FLAG_KEY) != 0) { + //flush + av_write_frame(fmt_ctx_.get(), nullptr); + //send + + if (!buffer_.empty()) { + camera_client_.send(std::move(buffer_)); + buffer_.clear(); + } + } + + av_packet_rescale_ts(packet, codec_ctx_->time_base, vid_stream_->time_base); + packet->stream_index = 0; + av_write_frame(fmt_ctx_.get(), packet); + } + + void video_init_(senshamart::Camera_info const& init_info) { + //encoding + + width_ = init_info.width; + height_ = init_info.height; + + codec_ = avcodec_find_encoder_by_name("libvpx-vp9"); + + if (codec_ == nullptr) { + throw std::runtime_error{ "Couldn't find codec" }; + } + + codec_ctx_.reset(avcodec_alloc_context3(codec_)); + + if (codec_ctx_ == nullptr) { + throw std::runtime_error{ "Couldn't open codec context" }; + } + + codec_ctx_->time_base = AVRational{ 1,25 }; + codec_ctx_->framerate = AVRational{ 25,1 }; + codec_ctx_->width = width_; + codec_ctx_->height = height_; + codec_ctx_->gop_size = 25; + codec_ctx_->keyint_min = 25; + codec_ctx_->max_b_frames = 1; + codec_ctx_->pix_fmt = AVPixelFormat::AV_PIX_FMT_YUV420P; + + if (avcodec_open2(codec_ctx_.get(), codec_, nullptr) < 0) { + throw std::runtime_error{ "Couldn't open codec" }; + } + + out_frame_.reset(av_frame_alloc()); + + if (out_frame_ == nullptr) { + throw std::runtime_error{ "Couldn't open frame" }; + } + + out_frame_->width = width_; + out_frame_->height = height_; + out_frame_->format = codec_ctx_->pix_fmt; + + if (av_frame_get_buffer(out_frame_.get(), 0) < 0) { + throw std::runtime_error{ "Couldn't make frame buffer" }; + } + + //muxing + + fmt_ctx_.reset(avformat_alloc_context()); + if (fmt_ctx_ == nullptr) { + fprintf(stderr, "Couldn't create out fmt ctx\n"); + std::exit(-1); + } + + fmt_ctx_->oformat = av_guess_format(nullptr, ".webm", nullptr); + if (fmt_ctx_->oformat == nullptr) { + fprintf(stderr, "Couldn't find format for .webm\n"); + std::exit(-1); + } + + fmt_ctx_->pb = avio_alloc_context(static_cast(av_malloc(4096)), 4096, 1, + this, nullptr, &static_mux_cb_, nullptr); + + vid_stream_ = avformat_new_stream(fmt_ctx_.get(), codec_); + if (vid_stream_ == nullptr) { + fprintf(stderr, "Couldn't make stream\n"); + std::exit(-1); + } + vid_stream_->time_base = codec_ctx_->time_base; + vid_stream_->r_frame_rate = { 5,1 }; + vid_stream_->avg_frame_rate = { 5,1 }; + if (avcodec_parameters_from_context(vid_stream_->codecpar, codec_ctx_.get()) < 0) { + fprintf(stderr, "Couldn't set codecpar\n"); + std::exit(-1); + } + + if (avformat_init_output(fmt_ctx_.get(), nullptr) < 0) { + fprintf(stderr, "Could not init output fmt\n"); + std::exit(-1); + } + + av_opt_set(fmt_ctx_->priv_data, "dash", "1", 0); + av_opt_set(fmt_ctx_->priv_data, "live", "1", 0); + + if (avformat_write_header(fmt_ctx_.get(), nullptr) < 0) { + fprintf(stderr, "Couldn't write header\n"); + std::exit(-1); + } + + if (av_write_frame(fmt_ctx_.get(), nullptr) < 0) { + fprintf(stderr, "Couldn't flush header\n"); + std::exit(-1); + } + + FILE* header = fopen("./video_header", "wb"); + for (char c : buffer_) { + fputc(c, header); + } + fclose(header); + + buffer_.clear(); + } + + int mux_cb_(uint8_t* data, int size) noexcept { + buffer_.resize(buffer_.size() + size); + memcpy(buffer_.data() + buffer_.size() - size, data, size); + return 0; + } + + static int static_mux_cb_(void* opaque, uint8_t* p, int size) noexcept { + return static_cast(opaque)->mux_cb_(p, size); + } + + //video stuff + std::size_t width_; + std::size_t height_; + + //encoding + int64_t in_frame_count_ = 0; + const AVCodec* codec_ = nullptr; + Codec_context codec_ctx_; + Packet packet_{ av_packet_alloc() }; + Frame out_frame_; + //muxing + AVStream* vid_stream_ = nullptr; + Format_context fmt_ctx_; + + std::string buffer_; + + //mqtt + senshamart::Client camera_client_; + senshamart::Client gps_client_; + }; +} + +//client +senshamart::Camera::Camera(Camera_info const& init_info) : + pimpl_(new Camera_impl(init_info)) { + assert(pimpl_ != nullptr); +} + +void senshamart::Camera::add_frame(void* data, std::size_t size) { + add_frame(data, size, Clock::now()); +} + +void senshamart::Camera::add_frame(void* data, std::size_t size, Clock::time_point time) { + static_cast(pimpl_.get())->add_frame(data, size, time); +} + +void senshamart::Camera::add_frame(cv::Mat const& cv_frame) { + add_frame(cv_frame, Clock::now()); +} + +void senshamart::Camera::add_frame(cv::Mat const& cv_frame, Clock::time_point time) { + if(!cv_frame.isContinuous()) { + cv::Mat copying_to; + cv_frame.copyTo(copying_to); + assert(copying_to.isContinuous()); + static_cast(pimpl_.get())->add_frame(copying_to.data, copying_to.elemSize() * copying_to.total(), time); + } else { + static_cast(pimpl_.get())->add_frame(cv_frame.data, cv_frame.elemSize() * cv_frame.total(), time); + } +} + +void senshamart::Camera::add_gps(Latitude latitude, Longitude longitude, double speed, Clock::time_point time) { + add_gps(longitude, latitude, speed, time); +} + +void senshamart::Camera::add_gps(Longitude longitude, Latitude latitude, double speed, Clock::time_point time) { + static_cast(pimpl_.get())->add_gps(longitude, latitude, speed, time); +} + +void senshamart::Camera::Pimpl_deleter_::operator()(void* p) const noexcept { + if(p != nullptr) { + delete static_cast(p); + } +} \ No newline at end of file diff --git a/demo/demo_show_video/CMakeLists.txt b/demo/demo_show_video/CMakeLists.txt new file mode 100644 index 0000000..51f2d64 --- /dev/null +++ b/demo/demo_show_video/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required (VERSION 3.8) + +find_package(OpenCV REQUIRED) + +find_package(PahoMqttCpp CONFIG REQUIRED) + +include(FindFFmpeg.cmake) + +add_executable(demo_show_video + "src/demo_show_video.cpp") + +target_include_directories(demo_show_video PUBLIC + ${OpenCV_INCLUDE_DIRS} + ${FFMPEG_INCLUDE_DIRS}) + +target_link_libraries(demo_show_video PRIVATE + ${FFMPEG_LIBRARIES} + ${OpenCV_LIBRARIES} + PahoMqttCpp::paho-mqttpp3) + +target_compile_features(demo_show_video PUBLIC + cxx_std_17) \ No newline at end of file diff --git a/demo/demo_show_video/FindFFmpeg.cmake b/demo/demo_show_video/FindFFmpeg.cmake new file mode 100644 index 0000000..a086b38 --- /dev/null +++ b/demo/demo_show_video/FindFFmpeg.cmake @@ -0,0 +1,39 @@ +# rules for finding the FFmpeg libraries +if(WIN32) + find_package(FFMPEG) +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(PC_FFMPEG REQUIRED libavformat libavcodec libavutil libswscale) + + find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h HINTS ${PC_FFMPEG_LIBAVFORMAT_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVFORMAT_LIBRARY NAMES libavformat avformat HINTS ${PC_FFMPEG_LIBAVFORMAT_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h HINTS ${PC_FFMPEG_LIBAVCODEC_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVCODEC_LIBRARY NAMES libavcodec avcodec HINTS ${PC_FFMPEG_LIBAVCODEC_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h HINTS ${PC_FFMPEG_LIBAVUTIL_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(AVUTIL_LIBRARY NAMES libavutil avutil HINTS ${PC_FFMPEG_LIBAVUTIL_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + find_path(SWSCALE_INCLUDE_DIR libswscale/swscale.h HINTS ${PC_FFMPEG_LIBSWSCALE_INCLUDEDIR} ${PC_FFMPEG_INCLUDE_DIRS}) + find_library(SWSCALE_LIBRARY NAMES libawscale swscale HINTS ${PC_FFMPEG_LIBSWSCALE_LIBDIR} ${PC_FFMPEG_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(AVFormat DEFAULT_MSG AVFORMAT_LIBRARY AVFORMAT_INCLUDE_DIR) + find_package_handle_standard_args(AVCodec DEFAULT_MSG AVCODEC_LIBRARY AVCODEC_INCLUDE_DIR) + find_package_handle_standard_args(AVUtil DEFAULT_MSG AVUTIL_LIBRARY AVUTIL_INCLUDE_DIR) + find_package_handle_standard_args(SWScale DEFAULT_MSG SWSCALE_LIBRARY SWSCALE_INCLUDE_DIR) + + mark_as_advanced(AVFORMAT_INCLUDE_DIR AVFORMAT_LIBRARY) + mark_as_advanced(AVCODEC_INCLUDE_DIR AVCODEC_LIBRARY) + mark_as_advanced(AVUTIL_INCLUDE_DIR AVUTIL_LIBRARY) + mark_as_advanced(SWSCALE_INCLUDE_DIR SWSCALE_LIBRARY) + + set(FFMPEG_INCLUDE_DIRS ${AVFORMAT_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR}) + set(FFMPEG_LIBRARIES ${AVFORMAT_LIBRARY} ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY} ${SWSCALE_LIBRARY}) + + if(${AVFORMAT_FOUND} AND ${AVCODEC_FOUND} AND ${AVUTIL_FOUND} AND ${SWSCALE_FOUND}) + set(FFMPEG_FOUND TRUE) + else() + set(FFMPEG_FOUND FALSE) + endif() +endif() diff --git a/demo/demo_show_video/src/demo_show_video.cpp b/demo/demo_show_video/src/demo_show_video.cpp new file mode 100644 index 0000000..d2da1ef --- /dev/null +++ b/demo/demo_show_video/src/demo_show_video.cpp @@ -0,0 +1,78 @@ +#include +#include +#include +#include +#include + +#include + +#include "mqtt/client.h" + +int main(int argc, const char** argv) { + if (argc <= 3) { + fprintf(stderr, "Expected %s

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 *{_h}F9Q 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�yrOP1IaMWb)E(PCQWbQw7 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%0Dyi(a1u^sEZ z$q@Yf#lsruaTnJCN%^*x?VQoJb@r>Cr3c2*%74|!lBaAsEe(fvUDyt6DU=jfr_L71 z`^e+fh2NMay6UqTs!L;2&t4BrQd9k$>`HQY!GU?ji5g)Uad3OX!mKy0(EfyNxh$fo z(){!0`k>aGwcX2qoa^n$-MP_w$4L9`=UvS1m^BkB?vI8Y`p>Uuu`}iNqx+ zl@3WOY%xDBCCYBmbeOu{%K0`~LX)a}+4R>+M8Tgsq^7C$!jW;vhvzDvu21G6#j1&{Y3`#w6jS!d|1EgbXxn8RV6`v#<&#}h6?6dJyz_U>`jZNF)wsJFOd1-#E5 ze@wV3wK`wS^4d5~Cc^fql!u;3p(4dBYFzu+Eaf%$<;<=H#E= z9QiE!xwnM^_X64PAV=b%W`n9z%)n!u2wdX_9q=h_LHMJU&&a_O~&KEbQ+8uvKt+%~6Q3 zVD{KABq!oS3B}lcapoND;EuYh@QW_~eWP_bx|XLJ$I>b~zT#^1)has%the8zl`jve z_|qG#onPNRWI5DCjB-k@{3c|Teh(OLz^-Z26jNgb#cE*#|GJkJizL5rxm zrsX#BMz~L)%k^y2OYO>S0~qF|FXDWTybaQ_0& z`z2RD>i2UoEb&_L{(G-&lY>EP&Ap2dJxEuijyU)V)P_vQf&LfdX zr>ZTPtDP6lnA6rrC4KVvCP}+(Jj3H{0)AibBh>jtkNY{kOzr9H-XNKCXIX1YpE~IU z&=f?P5cU>WpVqEpZ)+L_Xe29So~r1_FT}6-TRTKd!KKay@#$RNWVh{jaeC(uyneM_ z9Rjzq9`fzg4=Jj_92|NZE0^?Vu~V=tgH&!qE|vX<57JnMn3hpt!u8GzqRnG}O8@LI z{q2V{l?%D`$F3&j8F2eDK8kID;=D7$3OPIGKNgkNUJcv$VIxM_zS8Yf@5Dy54}DFO z`|JJEhDc#AK9ZlG#y6r8H7MoH<45E@^=9159Do&zcicOEj``9S}sIxh9fPKAHB^R?u0 zn}@3e?mvn)egr zS-7*v$WX7d*}Rvu$Mukr4UY}W{hMZgOQqj0Qh4jncHh5k-uBG4Am_%-g2E6hXgd2z zl{?$A@vqB=cwnC9!KE)Zly3n1C_FUIV@Ou zXV%ZxC^N)nMwhaxQ++Z8#6xrJ2{d*TV=<3zLbRlTwTF~(Kwdboper-=k-|=~GYkrZ2&xv0X z`8@8U&t)(D1RX`#u!dd3sDAS5k1#}={na`}y}K3<12Z?J?=sf6%0}Bi>#H3d-M+g1 z&H_>@pP?G%tbaS={mEO3aTfaKa_+U8xXqwbwTagz3?Ov!87pqt7-MlPcr%{ywa3nm z^;>Y&irZhsAPCEJS#9D>h!q4?tH+{KQ zM*bJ@R1iuWQvd>X0}(ciO+n93F0j(>DEFgNrLf|M52S0#Q+$tudSV%uYIW8LAA zsLgrlu+wmUw5y^2RoJCj?6xlnX#rtzIy3axW|S__Uaf`7{8t$H*xl=a`m>hRrM^G= zjU_wjJS{ypc+^5t7;hrjr>Ms&MK%suyHB4u;QGm(7x_W{O@o}rxs(FO*B*WWxz9yz z8t+1BkV;;Q0i0^mQ)l7cbi@`j38oE_Kg&P3JAMN;W^RBxSCxuYt~ z-v+-n|F*KtAS>SO#Z8`XTv+2W?s)2K~>IH?!_vQVvsn zr>2+cY9{$kS)VoQ>|z_!&t=@y$$OB3NySRR1#vYcU5R<}IV+0mIcrLfm&9(>^V&q- z-uuhAv`~MnclH&mAmb+M__HMb!MwMDu3I_|$t#@?N-7f{ZO(=9l_*oh3|;EqXINF_ zy%LdVtXz4q$rA)2!L7#hOB8Hbg{!!nhMFr+bB5o1w_X4JR7V}8>bw41!O^b3eao-P zv>h3L!}`lb_J?}d%@dcVb6eYLB!a`4ufzWa&otPwDh&ic&;_10tRex~4wv-YSk7RN z)mvm(byR-Y?)dT}jIXh?Ttwt^XYB=BAQ-=Ny*f6B7Woj#?Zpltf6x41CwHZ+t0b~GEClfUhY$Q^H zh-xTUPF-wqX*R|7W0pLe!4<@CHX}?Eumcfe&zRG0eBVO_F1GFKMX~LfB^R5M!uU}h z8Q;JTMn-yJRk3~9pf0u-8`Q;icZ0gv&TpV%drrI1F{qI0;M1s(w%9yj{gbApE5+vK zO2t;N5EWY?_(#f0w<)$?GjRk%0Y8wt?MK~i0X7c1{p}nB4X+mRu|ik12)B0Pt}vD z3gS;f#DblSh-QUomOU&(#WvMdRcs!`xY(*6v?;cKQ{>rUP@v@r>IT+?(9D7aT~d^$ z?#?pWgU^|@)+$@EQOw*)DVXd7m{CI*dd>}@XTZ)z=sbotW$55C+3F#7t+gK7DAd|S zoeGela{fe(1-pduXX-;2qL$B2Ei0%WHwfzO8Fc*zAj9PAKSV7Hb`4TrI1@FVsRvxM zQBSS0QkN;z1fu>66Dx+PXUZb=6xdBjokLWE!Bt(mM-JH3ZnGKk-kD!k?41O{Oa!|d zF@cPEMMrV(Wo5Z`Kd%wB`(wIXyTJ;h88MoG-AncFtg79{>(#YebG^ED-PWsXm*#hp zzB-*yyCxJ+9ViDC(AI7&-q>{Uh*G<~OHl3l6`m$le%`Bt+Uo{r!_XUyE~cg ze^)TSToLmF>=`z? zvmJpw&d1N#c8m5FL_E1@p7j(cs2?Mjk7oYhK;;VecNyqE7YVjkot z4BlS{Gq_G^F1D#FMX}9Dl8fzGDZ#i>3K^HcenrNT{HkKRutr^MN7kr|ZTlK^v8`D{ z#dfF^9VqkWQynPZIcST`4whA^*CD0YKD+Sscn7{7k2hW&KV(yE*QVkK)&hJSce^xo zyCm2=8=%{l=sQS5r{Y{}ou=6o+x)4@6wfRv7&l8I<2qP7WUR=iF19PHt;L3a7*SPh zt*I-k70gV+%mAAYF%J3F#dc+;v?vwZk)o<%%k9j? zmUEX)vF$X;vm?I({aS+Ve*s$vp+_AEI?RctZjoZz1LewP)+!sZR?OUR6W#v|j0p@~ zP0*EKOCvOzp+y;r`%zO50n4oQP+p@Zls{AV6yW=Aie;mIT56@9 zT_dPlryw;SK;oJDr8rVQfvt(uBlc7tIbGCM_G+h1l|@gH$MJY^F^*dagVzq~BW4t1 z_7|ZlJ6oKq%zc@tvZ_<$DjTmbqKSd`qIw~tp1rEd{#dE5vTiHYRTj8XU1d#I(kxG- zaq-4+kz#DGG;f?tpMOE;U-|QIG5Y)qwj~O$r|%Z^or=-O_Ql<1dSOi3gO8$-B9@Bp z?MBlWbT_R-_> zGWXgnsS^|F_kSSOntytC$_0Ct0d@fPZ0rHP9_-9ZYOcvPOR8_8vXCuM7>UHdbJ2mw zXq!i!-S}lhoKV1l9!a!ylH4Ep$CL@!p8$pBMXdT@hahWP9`#)mzY$9x{>2W4#m_D_ z?>i@FKj%!+*#q;qk5f(k2-x+bTEzOib1InIUAhblIy9n(tHxjo6B3jibghVxJz9jW z|ACD`*(AN3LLopi3Hd|kx&kH*y z!3oRMJXp@PS2sR06K{oxHm`Zc| z7=8@yL$3|(^3njTD@1pmY=vc8{Qj{4{r<7A_zh4ELRSMj577_l%R}!@xHg#d?eHJE z-NTi^uksMM9fLzv;5h_-R!ICT=t?0v{{g!i!BZIgu^@q86|{nnFClO;gFh7{uw|kG zZbabZLgJS~qX;|#>^20~V(=UWCkt?Y2G?M4DudUmz>n(F=f6VY$3x`^To!B^g0Jr( za9sx15a2=#KBFhFFM|VBU=xAw6coQFI$03GC%~RZa2$g#(*mGB<7@@*U2L(ydg#p0 z)iEZ!uFCthrg~=+O!dpDHdFnddi47*=w(H|UH^qMW+#FD zgxM|IO;g?7nWp+VJDaKAX}*~1z3M4beX~MaLbOF-zaT9#hkB~dUqmB!(h2ilB$s7$ zed_B!Q=qSvZ2M|4(EZNwk{m=Z>;9x$>Drei*zvqd*?lvfW&85)Z zI3ev7SUuA4Mm(jjnG30}MX;|I=(P*hJsq`c;VsrB7uobRnEJZLNi0gUh@Jwr0Mc7g zUkzbg+8dpCZPU*ar$>cUo$Rh)+7QMctTSLTi}7u6gOCQj^n;$6f4BL*w9dk8Pr)p^ zFx#zl`RT1sP6?ZL(xYgd64&m;o76r_?-l@Z;Z8<6CC=E%N_X(>iRdIb?k<2g+#RHA z0N#rXc*ETWyb|y^4d=bS*;u;%3GcL)*S`X^{(&uz-*`3N$xqJhhL3qlT0+nD>us!C z+WOqhARO5V$8j&Jo=++*oMW*_AC}Xt=lAHzL-m1}hv%I;Nt6d$&<}RL$5QHO0qSTG z?r6_x*wI|r(Y9&$V?uMW#>ztpzo&AZS0GZViBcw(dO_Kog%cxh&StM8O6>-lh)+K} zN=vJs&KNJ{FlRJVi0ftI1SH;_4W>R57Z7n20NOCIFA*cbR=`J(4JM*vdq?biXS9Yu zu;#ly3OqoDyCZxY!f!7lcq4+lLi^70=YN9Rf!&1g!VLeAAK~B78s304TU7AZOBkL3 zZKd)Ek7M}1H0){6zL)&{Pk#FT2dtMf-rqrMtK)ovrxJWN!pk>T;Im|SKZK{x0^`Q; z2?Xy2?FTVDh~RC(9!Gc=hBqX5GlJJcxStAckl~I9k3#sdr37~;c%J;?Qp5Xv2!9K< zT|s>Q#A1Tq%ZKpCXbrc(nxjW7kWsu$0P z$CHCJ)d#AioMkBq{*_vw)Y4Rvve4709>VF@B9=PufKq3{Zb7LVw0=A8aX_gY?#d2}Fg{F9{O&>Dt;H8)qm zhsyBQ2wyV;jE>3l~GeL6TBMR% zvVf&xQ0l^TFx6NpiKL<-?67?Q2T6s3orzMtSjv~ATB9{I18d%_f;W}n#SlIe;pY|+ zye7e&q5T<#|ICZNm|rGV{=Qj6!4)EJVQ$WnbtY6wal*h^A*eHE!cWGNq%T9ORr^Fope zC8>rGc1`~LLsAvN{)JMtS*jpO6+>%q1Zys>g6EgvPvBpvDZ&>q{5w6k>Rul4>)X?L z5PlMDouUB0GLPUp@*sR)9?GLE<*^BAn%!=f6p74ukXBuZVK2BsEErI6H62z$m- zJxD4XY#d5Ov6MeawPUFdCX{M|QYMy)QDs$6mMVZ!f1uRy1te9Gr1C;orhNTJPuG9I z9z?01b4lu7JxV>Hiv!-LNa_k+A}GUB{wk?6b6INDJbb=o5|}P5wU3^*wFJW6$lrgE z)MT)B#XxEnOARBbku0^8q@qx2`)-mtq>_q|r5d2rY?OL6pQPH6lqZCJWT`SFRT`lv zRhgyiNU8u@LvFCF&gaf;y@fhM8__mXdb~^5WFI^FU9ae1a}5|1mUF^{v#K{bLOUDFGj=u7O%lI-bKUyw@S)9o28E6 z$zW-e`je$@(i5Wg0Y%K^}wiOEDv0$Zyj z9{*MG|8mmtFDD-V0#(O98QvPj0j&fhv2yh{tP}xca^VyJsi`EDqNBfm0M_i$R`vG}WOz8j z_e{dSf57k z)Vf(DWlvI>7JJ%3ug`-hkFNMj`!!oBkJ&1z4zg4=luAUY2Qx{^ zhomY%*m9O~CaD5opP^Ijogy_xmg2Uvb_Somdx;tc;;t^@Lmi*PEWyF3+rZ!8>B&lH#_KBq;NUA&7Cn)s?OSLAcAePEXM5(4IHI=0* zc2K11%Ti7#)eoi8r;}7AlCp!a?=1E4J4(F=i$7ha^EZ&X{~e{CekZAYBy|-WsVqx< zQ)P8FiKSNKNv352n650fpPp%z3Sm0FGBuT?rhpxUQnOhqhNMQZ)MS$S1EqFsB&k8F zta{2)UMMvOrCukKR1itkfiU?ZSXq*C1-lugs<4zjNjb4pN0R#W4W#^8%2y@zX(~&d z$Me9dD3!ocPwClI84#AArFMKnscm4tq13^tB(?M#O0E7zQsqc$HcI`wfu#1Tq>^N* zUMO{FJeU$JHHxIdAgmxu`IA&Duno(BR0o!-OHy7e^(q0Ss-V;`mYS}Ta+9UL;5l3{ zN^P1(QcfiG_N%?FC` z(m1@n!cwdIq0}S@E5%a7NNNb!bd(yyQsE@ki>0QJR0otw{fDG(sfINV`a%y4@eU!W=io?nSSnDJ)%__fwHr_M3ZYaq zOP&7%rM5s=CHe2)d_k$jV1rOG${tZdh2D=!g8nIMqk}A(qujA?O-=I_&OU+kF*~?N7@iee8O3j~2QeUD_ z>h@=QT?9*Id`78suxs2w>f&UQ+WHx#cB3_H1Z!Tcf^V42@C1b4kHhOL3|~y}IB4IO z;r$361@;ZXhcUb(!MlE@Jmym#{`jrKob{B)N|lt4EL8%fVo>UWiKJ?iR3Qi(z*3e^ zDD@L;?TR2}$5Q4`DE0aiN%bbFf5DNeveZ?T)b&X$wFyrH?NO>XOQrWkslOm>2usZ& zsaar0qg3i7k{U}=2`qJFB1#QIDSW;Ze!lLgNcEScTAKb?75X9RQmL ze<+`kNK)%QqSPjO42}0}l1jxV+DL!#$(u@QZX!!XqtwaKU@EXw0!j6Ou<K3Vm4T1gDa2CuR8of%SZY3=BEB1i=hrN?DH5epki=4PBsCiBC6t=P zQhiA(nxzVnR2WMAwU(r|siZo}QZ-O&GD9_b9an>?D-h0)gf% z6=|7F`V&c)M}qNSQc-#;)nEvW;IAaZiPR13T>KMqed4Lpt*Fz1XbmmEny2nl;LT-t zNrcBD{9+=(J*k_8p?wFwI;11`uXpykf%r|3J;PtTL-?C_G$L_yCGS2sQnfWSB4<0~ z6jC=PveafgVRS&LNR~Q5d8~u5yYlZJ-=WlOuGHIAebS*kTj#h}#T)g;xv zlOi=hmhwfZWh20ROCYIk{QNHnlW)|lMp9M4I^lOMby=ziNtI+NzCLM>QXN_9dKX11 zhb(mqPZ)ngsTnNwh92g0`K`UKJ4+pYi&6){e#HSiIf10szeTCdZ|#-qlS{#o%&YjC zK)50`ZvsmVM5$AMf^lc5M3U+YVbfWvBT01tTM@qw31_J$B<0Iee0{PmN{wZy2N8-? zby+GGN_9u6z40VflB9mTvA5o2XnuoI&%rLj0em-}q^`U{satPIYAs2f1V<{&QjxtC zskHGdwE#~T-wy}VmZdh+qoQU)nEbTvu_QGH>tz8ckB+D79`SNxkT+ zNQKB!9w;>hr5;ZtDPNMR1Y!6148Jf*6$E=8KirjOsh_V=Di=$IlGHnROY&x^LH!k} z7vos!D4sC7qSOeMx>2GY8FW?cui6sBsCeOF0UY| z4+9mcak5lrl-d>x#*w84l2j0cwc)J1NvaXpQFzI#B}-K%DG!!%AgR(Q)t9A44ppRz z$WkxyEUpzwt(-toxk&2iD|_n?tS-Mosf%C}@Y~lrV@c}3E0j9=illDP1+cB)NI#a7 z)UQ}YYW-N2nt)PwW5CpBsRi^HtWgm5P5%Cyq$0u2#w*K%S*krrb!MpzB-Ik7X0lZL zNJXlNEL9YxhM?5h@g(IzQce)ooR{h!St#`l?Dz^GrDv&USt#`~i=-xy)E#i7N-Q-q zPLaA2$5Q{`31c3V>d8_^yVL#85EjZ(Gf8R&*hoCFTNFo9qe*H4OLZct!6>zV8A+X( zs7OW0Qq53m@h~u-#*x&0dd`v;gtg>*^D2>)JJ{2(R7tf+D)9^c{iH_vTj%ZY^B*e0 z@$V%*h-=RAB*Qm&W!^Z`DtAo!I>tf|#Jhy&bv00KGRqAnxzo@-Cug?%CCcptd(IdC z{v!mM&#zTFzIhCHd@_1tGdQT=w?E+h)3P>FpO;Rf}QEFW#NnNAsYV*O79;Nab`(;IH zhAh>Wv*W+Kd3!hy|F$7m|1ABfE7d<>Jox;;o1`0oUDF=xpQS64vH)Qg0~{LH^MKqQ{atdcoBpTLip*?1m7Nta7So=n}_9_gzzt5 zSBC;T7X+Gf^-@UhMlk6#p5IkO(s(BQL8N04_z!n;3z0T~jSc|P-VxNzMG|&%Ia`at_U^7D@g-X3f{{Q548;obyqA<=|uMyGXkB>eod z2qv7zT}7ydER-9CdZ5t0Q6yA~gnmAUwUZA%FP@{21okoB&h`FJ61w^vg>FA5p}Zt? z3LL2j3gv#N2p#*Ag%;z9j=<<6+I1A^PK(u!xOv1+y5TbGsl9FwE8TvI zN;ko}bq1x!aE@d?6rdMEnXa*ogZ^Liblmr4xA){Wf*$jdhvZ~uHQT_MI8_hv?~`!ScK z53m4ao|c29>u|o4c|dZ)KK0{11yi3kJ^>k?28*6xpB8{!h<}%QRSfkh;R*I>Dq6#M zY+QNFfAuMGkh)KQ4&pvFwe3@cO`n=`pGNnCK3yM9eL5VBeJb%poM7gmKIH~G&jb48 z#C>}682j`It>GnD^ZU5}>eJhS>OMUl$bI@J#->ka2dewDX&Ck?Mc%>mJjMX8=McSS zpuGO!iQ~yXaQ)*h=cg|BfnLbJ83=w%>mS%g)p7kB#_Jz-xdm8%Q&y6p9`-tIyfT#x zC_F^{E%wJ5`}i1BX(d+EJfEs84OM zPeT*`t4~2TeQGZE$-%Zy)ouFZNPWW1K>=Q$Au4|~uM)puFK5J1FGsYe&;JjhQ}XBk zhxGX$>>1oACx`Io|A+MXAFW{xSaaA^y$;cXjg7{*+W~y@0Pc#cwR`|+WzLfKT4sLh z?i)UY8`ci+vf%ue8{ZtS!`2O;NoEy(yMfe%mNLh(4{%RZ1nUXK zQ3C!o&z~uZ1Mh^NJC}D&ZRrlY!e1H2%kMOhPT?zPb7`==3`2Y!AhGBA2e)F?HK9sEZ(xx!*G|>z#*c9?u8ZlxQxM3-QNE;w z_9S)3^Ntzn1`fJjOK9GWJ!VYG?GEj4;&Wwjy~EvZIhJ{!1{5ENYf4ARPy0MH){&qI ze&!~6Vl&26HYVkTcPv46tnQ?!OUr)A^Iwj-2RjgH_XlxCHwN*9FD|75KOp%aet#2? zyz?RqaiG`d*l1!&<8dQkiXX%&@LY0+e~s}6ai8MP4=(-A6g#Pvd^D1p;EVV;XI<<= z)E{>gXUcu)FFF>y#x9h`W70ODq2q+kM*pN%l7IZ`;`qC|2~N9$EXJxA@n^&{VL#EZ z8I$7D4%xwx9AoZ8@v;>R%oNx%UTirMMNOA;VfKpRLaL7KWWD?FI{Ro1`N^Y|16#_+ zqGQt+>xlwBVlYb;aKMzShfEnI{R#oIyZrG}dWR#&BtPH0F`m2C~g94xN zuNEicenNQcKTFgt?6g2Rm5Z-K$9qs$|>lgxgm}-$QQzQI%7y7lyCO8p2pS>--)n+m>>Sa zJwY0i5b^n!^*{pCvx<6phC=qQ<*h;3yzZmZ=(%8~(s>+OWs1&m4S@V?KO!nn09EJLOYn8$kQN-yg% zX+j3x=`6kLhqd8-`yd2yE`wo#k^aG1-ftIW6{U;u!k7rmDhdbo+Bcpd4Ww23^g8o> z9K`rBn_2u5MCY9Pnhr)miih=keUZhcK^j^d`}W>x)6| z+=2KsXMYo{fXR4h@XCPk+TI)EUC!RY!;B&IfE_J4KmV|Hu$JxWy5j(in4K=B04THAO)S#W4v!~-meFKmp}iCxsB^?<`XpcQ^v>L)WsBsMdhL~ zIrb*TH9o*g+SNZ;;(ZEtucU4FT;!f?v^M+CRRP4pWk`={)_i0Z{ZF}I`aE9;GkI}cNk4@x0F70dE$FVZZ4m?Pd>T@ zVmr=zTevpw!C@lr*qfAh%e|cU+CJ8$8iq3nhtnH1YW1`(5Y}2LBb9>pGK;APBh1|y z8z1c{U;paE!+%072F;{O;j|buogo&3-}Z{dU?lBJy~AER`EaOO41##qu8p9@;P4IV zb;=%I4Bl9Wn4-9%gTxdWDzDTpy35yp`ut}_|5qLM-NR*KiImHPM>HZ#JECQ}i4m>9 zefzMRN3>(4?TiU?uZ`r?i2qt(KksI}8Ie5R5tzwf8gC3**F(E^4oGw0z0951xu^e~ z!z!8CC{kHVvaJVWZ7u4DK2k`z(YjR!HAz+ zemO$uACy(kWR|ax?m;ndEP}Ycx&MZy`4^ls5*^ zX%_s_Ac`AoQ8l2~8Hsz~ANoOilD^gs%=O?1+yIjs+V6owuhdNL@Pb|{ zVrn+x5-kz;)Oxwf&vvnnZ`WiV-+rMqzS~LDaCaw<@A2QQdt{M_xH*j@8gRq}j`&-S znDx7M+?RLb{z}=lOp>>p7b?FAl^1fqE_WuCQmo=DtJKKGYACZN3YHXVWi6FilbCg3 zJF&j(VAg}4TGp$s%&I3?O9X45%xcK2cxG*oS#z?nR?4gwJ*})D!P+FVUUec?eP%_- zETf1hBO+eNV}F1n^c+!BjwqT<-Cb56kZp^DyrqLs+0)soQb4Y`POP$Q8>yV!&MJ7m zXv;d(g;{xM;ddFt?H9=H$4AggO2=Qh;k^htF2QGbc@dUB)zid1kegm-B)Ct}@qZ8s z<>0oJSNbYk46qrWJ5VQt*XgMdT&0h|mr`K~G6&_%!xta$?ac0c!X3&BB?;XVTCl;$ z9~A(bqUuSCy!HR%>qt5;wvbNYZG6!C-d%lQK^=S0$y_I|2M0pb=PC%9n& zuH3VwoA`PnCNPK-$=s9TkB4RWoJ^-uyF2sj7#D7H{_!B#Iz{TqQ)Fxhnj#sSXo|eq z%maBd%;rp|knME29l{r9_(D^FELDUujCGa=GO=17{=5~2Biuk4;Q^g_gr9_2Pr%`` zV`e-VVuBo8%7nGu{_K=`SS#8&#aEO7iU)HDtYKR;2XKnzID@{Sv5mw z3ptTCVVaril#n3r{)kT8q>9j;-a)Gypy&=^-J=^=cjABRo{^zfx@jwhPQzZxtJ;ok zJY~nodptA6n7qV&ivzET@tIYONu%wI$t{X=t?k4xugut|I8Gx79Rr1dYZp@MHNeYs zF(3wSN8nW+_Xd1nFhK6cU~z%fdOrMnNcNI$EBCHwH=B=4f40{Siy=r1OT)8NwfW@T z(Z8$eWB*{OaeF$`Uou^s>3=ikv7YJApu>>fZKIuhonM^kD}B{Vdppv}{^c{IvuXoR z>Res_bNB<~3_5mIJ_`({&jOnCdv)YVcc%jfROtF29|t)75kcDY>$MZdW|l56G)*5g({#`6yXI0UlKuOskQ;eF;I6@ zRNN571z(j_v1KcWA|Q*33yb2!$f~l_{Aal{nUuD_-}8UZ?<3R9oVoX&d(ORQyXW3{ zqE7V33r#s$;8GRq3DG;VZ?5g9+O)|xb04x|`hXF>9PPP*G)R|%6s49nXhr={U>(AS zekX$19)8E-ytMA2|ZFT0sWXxe7#vQ>2Xj^Vmk=`m0cinZQ)hxWG@vAG)wb#@b# z+VVD+>NMQcYfz$hu{Z4#M42|+<`CXvKmLH2GOS<(<|j*KJ>8({7_DvcwauXT@Kz7K@P}e=cEVP$jTu+F6*e) zn}jUT0#_@PJO}S`K4Z;We1Hkkb` zxoez$Xwi$<1t1ZgShS7>iSjGa3pf;c#1JDrX!(T1h)nFZS>Hkqfg&@-3mnX#2MUQn z6DN`cPkoC;NM(_E%9Fn`P{_YwI+baq#i)r?cSoo!yd6pTC9}8KtLx!mkFiO3vOnqJ zK7>)m*u~7+!lK$H;cWw%Pm797Lerr&;ocTMX7tumWAygc!PMJUi+DUb%-t0;X!aoL zZs~p0UDqP+?)IUzyZdticeg`PbWk}&e^ZS9x}di3Htg>fgCBPfAPiF#1H-p27#OZ7 zBn(7MR*;>bYLD7a^OPN-6{fFDD@R+%P>|20IP z+_&~;lQx)F3KU77gA}O-hh4^1;wNwgNBsnU)B64(qRj9&kTTOtqm;?3V8VP=K!n*i zfe1764JOQGL-g)L8D*XRI!*Z(3%Kf5GzfpzM(FSIN)AtXIXG$)`5F&vU|S?JCGNns zvR*>m(5^V8rRaS^4wrd|!_DUy9Nuuw;PCE&)Q@?u*URBJ?#PAl)RAScb4Lc=T${rq z2QY`Zkwg7=Rj1g{eat{o&sJGJmMw-D4@*r4q`Em}CL{WgGFSh&#K0$Koi z3zu>W61T8vp`F&n(LNH>b|FvOr5yhWy&>xq0R1)f5Qayl2A`>YrR z$b!Oni}uz)Jm~LasA^2SzSs*DA&oxA%c@$97_woehh@X5e3lJ;2Gt=O_(3&S7!crNvp9xqBC%;VCX>MCvYZhBwp-JB@>PDS-yi{-RYG_s^ow}QPxAZ0M zo$NKyuPwI_7p31b(H8FG7CO}5!UAsL8E#>qXyMR+2Ix1gA5&m|E>obR_kTjaPNMYd zqI7sbL-fnOiF!Az%;??n^HKSq&+>mky}etLN4;Bq7xiw^0`8rCKyA@_sX*qodiqV0 z_5M6Vi+a>Pvg@2weqKaEhUKxtBx`^4<(gWv$oqsSFM?s@_~bgrVi+q;Dqk)Nx1qwe zrVC;mBzRAgh<&JmRIf9YgR9=SLe7tXN6GkFiT=EV=eXBt$H#@y*Q;}##bV{;?-#g{ zOg&UgsS{25u#~!;CUnDn)r1OZNVVoY?^(en+!5rdO{G)~^*yJ4Yn>@jN+|lP> zi1JH!1O>lZkT6JUGMe~R`2ySh#U8Uv#V2EKVuauKnEACXmS0tU4SsPb;l^w%l#lf7FOy+C};$OCUDkjQdepp#0hA-9E z7gA>4SbKr%S7~-X`W8IBr1j}b1yYRylej>kxjAbIksR-k`!f{g}{$ zM8Z)UeAulYn%%ihu)F_2yIU%Urx6pf9|0*t*G0@DU3(>;tKXB2j9?sJL{e6lQKu+s zUsfu9YTNQ+O5Y($KhLEJ;Za;VHCj4NFa2a}>8qi12$Pgd&m>XfZ~54nUQTfB?OIc) zGIXHE^yIV~o?y;hg&`NN=}qJ8*-}F;ymH!*3sd{jI7^>juUuHW#*F^c0MH{tlov-Ml*tr*AVjN^u98OKq1F^>HW+{lV(Ba2TOjXc7Q z^lYG!_xn&IZ{0?Xl!!*qUaZsTCpJDLcyc0}iPJN$UUgSj@hnmNBT@WZZoT@Bx;P+< zy7=exsNeXv(Z!c@*#CW|{w{8znUS=96m@a>Gu*|b+!#6@>Pd}!JnA3X;i+NqeKW(=Sw(E&$_Z*Dn zm2Lhf?XJu=+BM{1l8dN%o;Ohy%@9LlZ;uxMVO5cn7!_90JCLT zbzru?hk;qIC}vrVnYVt-#?cH-dM%MK`|}CL?4z98m{l=Pw1kE*yTXK79jgf!dPXja z?}vJ_@$+F$?MQr@me_+P_K|6Z{nd7<5s5D$9cDZJBv0%#vjLXFbq7f>BrW=oV(L?# zWHq;^kFFTs>mI2Ui65U~MB*oLDYq!~YM3EM5&Z<}~)dM5XE zLm#sV7_+)`xsH;tit=r@h`x&Q<5EKD{U;cu7JVXht)e{Vx|qskf_nqZy)af$t`Yck z?qgnELgAXGDH+6rsZk03-229o-4Dc2+u;fm5A^XRc#z;C9^BN7#@AExczg}%9Ye1T zvGm%N$eMo9pmez%!_-j@Ql?4_co6&?%R9asBf#HievSAM&B&lx0Vg` zt#c;zZA??@+w!^Gw<+2B_$ugDo0-kJ8q9QjK+N1fkD2Mtu8T9O!2YT1hUoQX52jbU z?)>)M+5e1Q_x8A$UbhIEUzL3^y{301dOh~AK`-@PgI?Q+__qCX>!;U+?nJNd2}G~i zL8e!JFP&cPy4I%G-gJXr``#mZeK?ot)v{Mz^co?sAKj}VdilFEy$*Ndw=;UxXT@lb z-H4gF*K|c(gFfe^Tq*NduCqB+nfT&EO)RTOTq%dV%Bl29ZN$5{^bSUedqq5vEwSbH zc+)#a;hi4z4#+pJ@;gRTrjm5i3bB7HBK%(;xf5n1m7PwMX5k5)t6ETP8P`9=FMrbo z-MtC8x<3Ke>gjeP%EO=Kjxie%Ez2aWy0Yp z#z96L9_L+M1{#k$=aa^YViFV;03#mnPGjh$$2rbWVZ<5oEWF8YbvGWdg`C*@ZnxSJ z(5B7rcJZJt7tbc~&O1NN`=s~dX&go#;}P|_tF~kQ)r~B#lX@Buogy1JSIgYUmF7k& zH3!^=SIWU`?>F%lZAV&NRfNArz7zs=9QdOoR8Ui2OVKXQ);@uG5-wdK0W>s}wrOxW zgV%M)*OhpMPt$j#pTvcn(coNT`y+G-#7BS`z-Tf8Plc<$(U=W7&4~AVnfDEAQIcAKUTkt zdHzP??T$F&?bQm)n1elZ8ME?++A?NJXG6wJdz)lTffy0*^{7k6oD$eadNd?sTHeSq zMoHthxA&-1CV$G)BUmnWjf&FWpxgsssQ^|8;7DyHK*B{P38i(WZ+?mn1xGowMc3mK z>d=zK)S+n#uR;9KJ+?y&^bw~0>qebT>J*3eMjS7PUeSZmsEuP1MsV(rn1HUI{b59E zH6u0TBBWYIk-C(T`fUy)l`oJAjWNP{}zRg`)vqjtU#Z6f^vm>v2=%;E3>6LmOO|9qDyTVZ-h zfzI%5s9bDp`<3yy>>@mNU1#9&{UX9+$!x}>nZP4-U5(z2Z#&f<;Ll!X4Dc7Z_=MR! zz`wjmev$=Q)aBwi>+T}#|BSlk#6bZKcM}%m80pGf3olQV{b2_w*zt`7i`JZkLH2ZP zKA3bHnm)k{2_WDB+CwkH)EskzbY(e(+@vdW%;kT79m;=6qcl64%eUw9+g=ytZ)>Rh z5-k5Xm%lKJ%KtQ%%0Ho(Z+}sFcab+Z(cvCiBrAUpVV^j;womL;y2v19U+st#h;w52 ztL(Hir8iuy{&Zd zAA>s^fPhxN~mmUjub_5R<;Q0(* z&7~{gE&;(A0$j=9ZyCG-?wTU_QUTT&e4N4i;I0{hdEfD;PDf(`pB_zZ<34H$!QTpS zCWGgf5I7C)90*=1z$FZRhQY;fhX+w>F9`4)2Cw7FOX2Pk1V1dmOBuYL!HeOp6@o_! z@V5*e%9U?xjAIeN*#c~dBk&~d*l7S+5!_yYQyCm!a0=WtLU809g9{lvpTRQRHAe70 z0iMd>HyJz$?&1(!CBO?A{N?S0+I+aPA^0@`-o)Td46cN`cm$UT@G%DO;L0_)Yl7gr z1UT77;9nW+fIDQ1mM6eD44%%FXTn_qg0B_eu?(Kd;1alNir^*!T*2Ub89WE>nju&_ zE9N(Y?_}^&xNDB!%>ulS!6O*_E!-s{_#FYp6)FH1G1!965_C>e1vrhtuW-jw;m(TS z2?AWq;BH*H5bhcwxIlnQ8Qg)vQ{k>Lf^QJu#SCuG;DvA(hhRy7w=uXSgKFB4#goxoo(*baAz2tIvU z%x?y-VQ?DUwLtK90$jr2|1!83?j!`S65u%ueuu%OaOXhqivqlq!LKoRG2FF8@H7Gb zmccJDcpKbZg5XgCY)K&SlMFr$;8qCkEx@S^evH8>aMv2aR|;?;gCAwE40lNgwg~W4 z20z5$NpN>5g7=>i^P9o{Veovoy9~i=1$YyKhcLJj?vfGwx&R+za6W@IxNC#pasf^z z4W7}R!SoGWm`K{)0-VF(8yTF5-;_ddKLH-g;4}u8U}+ewS_c8HU~n>n=U{0B+fPx% z;*L$C!{9jkIJyeIid2|R@00xA}6quWec+iS4yzTe8OAAM~w4jSFJ z;6ES${@?Jsb}g}d(ue@sv4^zRo$SS;aT2wQn#+%@M16L6DJOgH@)v}?cZ0J5d-3n*@qBwO{}s_9>3uH0 z_jytN$kh#$Uxwwc;POE(e;=1$pqGFDqViB~|7<*^$M!w`ah>)hfxCO;VLPqfCq(v% zey$UL;r$Qk{fu|;PsbWrIVM*f=_6O2ZY*0j%G+yvt)YS+MFsZAKDHCrndnuT?T4}! zf2Sh3Ec^Ed>5!aXea!*wHDz{-Hm)t6M-R5(Mq2^AXB`D)W6Fo7L}KZ$=4Z+(zLKNg zJLEEpb)DcB{!@ofNUsd+n9&4)Q~6~ouN*7WtkRqSc5U=FIXHBWBP>BVcq*6uZZA6> z@lBA+dRk{3k>`W&-&9sxSIcViYPsrcA31%y+;My0E5j|gpYV>=wQ+_lmrbj7 zSfR=phnYodp=h@~U>5I@t7@R=F}dS0*|kYpP#Mh4>AOzn3DnjmeRKGI{XV_Y^b*#z zqAzk|j1I>~?x7xKr{OTDpHsLi5b-6*%I?UnK&Ah3SzW!5D}%?)N06tc!4Qw^qk%pq zIwqKYGablQWj7`2;uwIU>!SXZnxAZ@udL2Si@z6-j7Ii9vVM*jnlum2 zSf%nK7W&mlDyJ{(m7R%`%Foh31Xr`{jNSjVv@Czrs{7$ld8Kc5dgZFY7$JN(I=|B^ z>4>E<(fP1yj76_%2s(^Vjr7dg;Lw}z3iUP1g^5kz-yny)Jp_M;r@-a*G`QT81DA<~ zQb#YQh2@u^!%3mg6saSfzmw~n1XP-Ev(yp#Ds>#{Op`i}bmmAM?{XGuFM-3h>Q=;Y zPYvkAoRprf%uBDduk~LgyH5GWBJ*XnpF?(4`P!Dw94Y(q09-l) ze)P&!DvkN)9$G}1w9@k1MvigaKGHXkUe45C?t&}jP=MqFw3mkhsmcwlVJ%}S+$%6& ziGCB`qww$sq(`orU!0rOuh_pBX26WAQBWFk((S68(Nb1NZUkjLvO3uphQi@_(Ebpv z)nBIeD}iUO{1PePquAf=c3Hj8j>)+`IdE7izm1+|p`7}UtbCW3{tL8k)nqjdNaD+f zaVyDc4p71E@V}~k4K#%LgxOx8*(2_<^;R6`l4taKIT)8CSM6&o2b(vRRTos~Uk)-H zj2j?tuC#1z=+7EVf(8kC7<(7`g?JO*JEoRC1>FO0c~#jC?JiF7$9X|oE^g$H_bS!y z$o}-r{5MA4g8n`^`yIG*_&cPZj66rN227rl)ue;}0Zm%g$SNy^4%FfL{8DY(CsQuf zB~K(+(sx8EGNDj-GuGu%PJ7is$?B9GY0b=BZ5(C%S3!v@u`V^UAh6lj$D>+h)!|hy z0qOSW$MF`gtJ0V0Q3oGG)G@E(?|9S~>Lp&akyqJ4=EKo8#{7a(!*0c6|B{Y@X!IzX zJ<2w(vKuP3trIrKD zyJ>w3vElIwg~ecv(qCHEC-iZ9p1*Xzyie#2aqk}HF7hb5P{oS0b2Z=YRhJ?W@JO>M z+T~Y7B5H9;Z~)M=-C>}xBBx|En|U9tzWpvMN8OR#xTtUf%o=r4N^n?2DNIot2j#8V zo1l^z?Ob0>yBd$-83}rMABE)Hw;A)Z>U5)E^BmU~(|^=HgbFt1I4$8FFb_wF7enJ) zk=(%VNcwU65KHX$$v!a%Gm{zJt2DdYxE}!*Y9s;UUXP)+#G0w7!67 ze$Fwe%8_1~u-#`Hf$~W%YhoR-E;{BwAIs|S64J=7g3+7u6quXCr}huVeTCqHj#Zwj z{f(pVdlW>saiK^0pmig;OtTlbHu--C@j4Hc3vEvT>g~RdsQ1>NOue^Ypvl!31G4aN ztL{q+jU(1ouzjY_?yL0K4V*xhH}#Q9k_(;Zr59>&`9@bI=#z{DIVsq;@RTQP^yXm^($%JIdY%s*}Q zZ^8I^TL%r8&qu9msQy%0oepi}iG;{SmmwKyH5A*<)@VEHDBnz?c9xGaTbpD4A$``H z>GR!vM4!ta{~y!m=c@lXea^Lrp^tkwON0v)qThwO6MT=}vf5Gw!@;Xgb550&Ud{sb zDi}si@E@#vup;zkh7X;J;BEH2^pl>lDmz#jt>vKG?kTIJWbtI&Y@6aye()+=yvj6Z zY5}fB9`-7K7bqJeK4&Vla0Q4IuL2YKy8`7Hn(<{Dtc8@_j)&kxyp8dM;>Hu4$;G$I zt_jW*e>I4{OkG&GZ(j$BZAMcW93dN?8!DhjYm3R64&^@1&mT-QHFk|AI7SGiQ=#P>{SjR;y_ugeQQyH$92U2OZc-f z75donsyWFgOP4?itFJ2z%GMJwtWdSa%DVBBqq-7WolG_d_*-BA`L7)n)!$c5z$LL0 zvT_{LERN{~9=inf)xA(}v-HYQhTjcCF{Krm9AOg$D-azWk7g+RWaTu=!9SA0@+m{W`Fpsj;U4;7cyl_#!(Vl}g&=5MoONO}H?HAGP zBtY!+Y&;fwJy=oJ{b1_NXoLMxhi(vd5GV}L39@UQ|Mzs-fG4*>)wa>C=A{G+t!||# z#Zz{@)9P#GR`OCnsUC|eRX&fTC9niuhUpmo0VX3DaWVcc>Up4FN{sWAjK&bs8byj# z3Y1xyDOs1Ibp@0f%7>lVH3fxZS)K*#f$VF>A&sXeOMzDSzH54+RNj$tU8bj@(K=X7 z>OU*N64)Wl#g#5JpAydm5-j0XI^R+Kt(E5fg1<)}le2nN`NL(uTa~0spqy(r*odQd z0G``rCGI##p6xVrC{r*IRqfG|A68^eE8;^gN8uLpVf%i&uz6GbtS`W|- zp%4tNF%{Zg5H+D55q*6T+XWm7Nn8XrpcB*vY6z_s{+2GcrSggJ1jV)#xEtTYAr|#<(2UCL-sGQ&}2&nv8PVY z)IMt|glnxCvMYh8S*TO9(4gi(cwDSME;b%_XmBdbH>QF%J`w1?!!-W!eu;6f7LA3; zUw%7`CN*yYVhTg0srCuZi2nGnAWc?_a?tTq{h3!5tGiPF{iObE<_!VpSzeu+iAj5hgL zcrcb9{D#jQ+NDj9><VHh6S+=Pek zb=X5Maj?1I;A-ZeFc?hs4UlwxGhpGDx}8+5&B6OO^!wkmsd&Fo*Ymxcp6WdIEvn<3 zREN07uEf)5N*5j0?_Hb=W8AkPw<0t=8sE}dVI!L=v}X8sUvzw(YYO+3+Ro-te-`r_ z?*#KigvDhg-$avmitM7jV8_0E+7xXJ3N%FRX)!E-u$_nAiN-gFm~qpzvShx{Qj`e~ z7&j%1^9jmfXNE4JpW-F%)+N|ZdgTZceYLEn?5^|U3au0N=f5%jx*4DKcOX79lNp)u z$!1JiU?Wob^E$5T!zm0NpAw7gzXdo|fKy}91PT7IE*bhpB|~!qO_Z-?31++vd8Unr z=ixP``H%PWqW1&fJ~YbEcXi48hv_`8L|o^Z4)XXNIy_Vl^0$<$N!%D{Wdm@b3AoS< zOs+#W@OWAWVm`dTLR*c0KaGxeL%!gm3yT&E$Z7|zELTe4W>kag5i^rx79+BW5BLPE zKYG%MNN;}91}V;~6)nuG6=N#uTCa#{PkShWi22)#4VqZTB{6jno%MJomlqnRF1Z(@ zab{U+Yn%m%q;X(!-3<>5Ve}NCujgxrg5c{MTl7rjwRV0}MlaCNK6D5HYM>#F4VStu zokAH~sZl)|<;#RfjNBg;VY%Pe!u%iumd;GENXkQ4xOAEmf6t|U7dbpxKpQFW zIZNhb5ADTwZOW0J*(jHtj!4f`=9F(l;d~|{1yFuV%ls*M(z0AOAdjcq;IeX=q|D!&QiLP4)H&4Zs{aF^}Nk)^!j(y~poGSv;B zv@n$gKU67Kjd!~?`P1dHvsOM?0GGw254LF!^E`UG5*~zGfj!@D@CfYqkN(!>l|BdQ zN{5gpz&8wz#Fg*xgW+>@RU;Z2hqOISDM1#k=xK76ZN;tlnX^hct8@2}_-n0wt-k~2 zFZ>G``)|82QT=biEsWFVS_hB~Fj|_2pQ=DC_EWqU3`6jp$_`<-&V=j{-5*--pv4mw zloi^;O$dMGLCm@*D`J3oJq<^0v3La&^T8LUeo!6jFg^>!3vH~?^^>$r%9WPIhqmhL zUCZHqd3%LL!y|gSp7ifS}_z|lf?qmTvgadQK!E3(GqZR;a4<=iD?Q>Ok zaj!|fe!V99ZjzP_&(BNW9KO@QCsirIRbn9nj>xtfx z1A>0;veQ;CI6W{c<`m^)GhWr5T;Qsb0>hvy*q9r)Cs|O~41p)$T1#`&;D!UoKQ$p!zLkTA$Lh zw@Kww8)3saQu##q(Fv`hB0A*8GLYa4DewaVtS3-~C4hWGU(0%e zqESjwiX0pc6QL;0>pCoz|ECc)T9E7kqf=Hg<-lgC{07AQ!I4A!9cA@?@a%hoe(Fi@ zO;5!QSKeTu!>be}%hogKdC7_lwjVI6E1^@A9Hn6BAe~S#%&`UssL`f=gO6Jr|=q z$=b~Gyb_AiCd^T|l=K~_pP_=&@~PwKWj00RJ8qYi0`L~5XM!*INK7R?=}0{)l9w5} zn?j z+nfa1eqJuyXb)LyOpi{(BS+}Sg-8U)q$l*S_*E3b??l0CZT6NOl*-oioioxYg+{@% zIRFh|zBbBB9By7Z=>#QDnQZ+Qh8v@{rAB;gBvf^AgYVZ|gw~7ZN5|k%N@xyNfea1J z5c3qw{q(dzH1A zpbJIA>+qbPn~|SubCu2TG;^=c(j#Z}nnL%H%m)GKQ6ff2G1zYB5?uQRIf-FK+%IXT zl*ZbIC#cX~)2IALTDA=&;8U{ody;^ZKk_eWJ=~I0xoK zU0f+`hZ1r)&-IrS@WQxoZ_LlP>Xl(@RC_2(w>N_QtQ7Z=mR%|<8{Kn;=Y_5$nBb>s zdwVdA^>@DKvHlQDi;Lqez2eOA7GA2tu5HZE%jOn0(_RVDTImdHPhUHDqmi*bLIyhy zLu=`bNKgL}5Dx;^c_eD`GYiyvQjMO_9=>R84@-fWg5qaR6M1}hQ1}us$hAPJG-?Iv zgx{G)iy%j(@=E$VAD)n>9j3Fx$kzCm2T&;hGL|oF#9=Kv*1pAf!~auyW#}(VNhzI~ zYwQ@)TeEk3i#lejfN&Bla2Wp-S#gGWHdKso-u{@P9zak*k&zOM%^1uHyz# z$Fmew0|a3-@Vo=tb!@MWAW)&MUWwAYolv5eeWpg|Mg1hk$4Fo#41^i&J)reHqqoZH zCG`K$FOo4!4L9C)5`A;vIJ;gdUx4*=lmdUE@c{UhSNiAUSSs&LY9c>5mzKL;`YztW zSgVD_Fh&A{^vSB8s=;tGSXTHI;L6Z97dXEG>cWLj_4Z66yf);NKyo=!5Sb(g_Dbd7 z6Kw{eSXVa5r~V}MgUbf8b&K5b8;^2(N@y8>7*2EORrr{osUB;73e75gl<0iN85SK4 z(UFxw`#FYLX{{HgpfxDJPYPuHEn`4n1mp6G=AI=z=D_dGnQ=mmaJ zD%$lm!mkwAIuKjHE;O9;&UmXA&LLEeqt2npoSzvQdJdDGehK}DK4542slaZb^fzdK z?Jiv^e)~6J(DA%(MlCNO4Cn08-&h83gsz2_C=F>ogIxyrIRrOh&G;|_Ki$o}^PZ-< zzvA|9W8iGj^)3utdJf}JFm6yDgZKLt1%y`h0zAp_S56I~?Q0-W{wR)-#4-pX5scOD zJX*t};TH4=3!J&G5ZF=FSKFBiwC;YxGdMWNy@JZ*p#PDjXM3QNJ93EeeNNn>nT&TS ztk-g#EO_8Yn*Kxxl3ZtwzpFQh8}0TPe9i%JvDPEDtb1tNan3QAFr`yR4)N_n9)iW= zPt_he!|OA}XkZn9Sao>O&|7Dr<;1e-ITqhTvO3Z!gS5RuNZT{4PK!l!oA__DdQs=$ z0Rh8z8}{#?HTc0yj63&i*m$~wGXA8+kKf8jd!s2on7 z2_}6v4)e#`?ZC%+B)mG0cjhZanP`C0>-qRK4QTO5*Cx<^Ff@XRJ%JAeG*UOpQvPxD z)@5nnCgCLI46s{<;chcyWcCL1if^TlN3zz&BtC7$-!+DQDv}@hV<9c&e(XF=7(7jT z|8Tduoup{F(?Ne9cP3j&ZstfG%jt6(Qpd+>TcFhOX=e`oT|hhkq>gVmOX%;r&Pnw5 zW7+^Hb^O#>Va4qRrp=KW^9j!>qy5eRU%5$)3jB5jK0JnsJLq-VDf7u2wDp4?uEDop z4B@sJ{M$TDH!rjv$Ti^3L=X+N;yGSSU(2%n3Z(M)r9^p{l2vE=$jTRT`dYc;7f92Y zE*wx^5c>2{Te&0no&BvCnW0$2oKsQyL0v1MF5mFbO~;_I3V5l;cOzUI`C5C_oRUZi zj{~YGyuL!szXAioRr}h@38&@YRBL!C!ST7?909k<9jn7nSKxQ+C$(#0IUyD2J3=oX zuc@6sBAioMoe4u=Hb(N^#+m7V0RNQwW}XaSazu{rf%J$LIf7n4Ir@W8L2N`KUH1n( zL}wmceBUH=jJjex%6{?@E_kmv{pV)tA1xmFTY^Xb8%~|jWO3o$(d~!O#r(|3qjm+ha1+5uRn_g(URH`GWIs_BZ-K_CsyqG9zEc zShLetLcHoshgY2f5@BMBHU}zK<&@xHt5TQ(6&6E3z81#x)3EiB&qp;}T7H#)w6btLqFt71) zY)#K=gw}rd*e$AsavNt}h3SiNIj*(S+KT{9jP(xvEz@pvt(|^A+j*jflNng;(hE5m3EaM-`anPwYQImkFuQR4kyH5Gv6o;<%ast}{ zCl7u_TvnPlkpfL3>_Vr&d~t>Sqe6?I5ODF>FUR7OCh+mN){C36 zb#~eHqf|bSAdO)TAx5u@EHN}dKi)=8;!FK>yR+3{p~+BJW}0;62C8tqT-)zFg_{N( z+PU9qxG&gUM-;2T_ms~fa`2_Vw`61Df_bL)8x88Iqowk1YXl`iD|9<-kRueRiLUd$ z2=#M0FfiR*xv!<~?58>Jwy7`<`b7*k1SB057ChU>jk8B+?3b zuFWA$k9A4qU(g4AnVNzBQcA&breZK-``7Unfi}jSfiu7&hZMMzUOT1jKO`s9}wq67+Ev`W=dEmB8ZK`SyLx`Su;;U}2hEokR9pbq)t2P^wku(8S%ClLr4N$ZpER z_Yh7QkKJL)!~f9GkLoZ-0j77YB0Z0Dm*rPkrPTw{N|IgEHYWRz>GAgT&3e58FH|gY~tdH)IU3+}nyy|Q`asb!yuP;z#Xk+t?f{W^}^0_=&Lo1>F@XMlJ<+P~3 zl*}C0TB*D=LKdVyEN3N616x)qzmIa}tDpw3B=OXh^h#r0ilh4ZvI?kgMQQs4oqYgu zXo##ngh>lC{sV|e(fx3kGkm+8cdX*{|AsHd6bXG+@`N4&UG#+>O+#svZ>4d*dR{I0tH_vd#?61MSKV8gpr+l=}nT|ES zKX8-FQBY7>8MEB9B8B5m?DGq)WBUc0j`JN4brbPJBX`cOZ9js&A6pEn*w5==c9TDW zJ8^B@-8ePUWY-b@Sg$(1#H)@T3+@tU4^{Uq5q~*Zh}L*|6ku8o*<-%8XpAjli|Z9! zsJc=EE9e=+ZgSwQF;0$Z7QFu)e=Vw^9Dv7JDBNj|NAdWT$|+k>?GxDSAA`hzaXgR7 zx!Kp%tGY2m1~)L6$Fav%>2m=+tLhrZwdd7F-w*mYO$8s$w-vv;nuFvRh$HluFXGV_ zPi6u3?4g=y){XH0Y!Bwpym;(Uo)-0#5N5%YeBt9--WgrsT3Mav% zsRX8+YWP!O(T9St_j{8*cxXgaABbpi?R+ZjhP|kuI!Ah82~Jm`%td91p1KmR=i`T z*2jhE-O#`od8Oxpd~W17<8fcw=pWcqSd4j{n1rS62WA1Q)F83y>J7xID~`s_7m#&Q zc^~eyRNk8sJ2-WUvN~c^PMj1tOhg=RXX67@)cUB3;yj7B`T4u}e3p3r3Y9X{Q_=e-SQGMneR1L1vsFRcBva=Deva@WN zJy7!8jP+&N+R{xss-<`=tu;_sPVLLh9;8`+QkpZ9{Y8havoNs($J^N&DR2Zs%agBw zGIG_S_Hx3;3i;Geav2Q2@^dV%?9fzYcd!?_!;iP%hrfcN98k0J2IafAj+d3~vTM@= zK9ESe=pcsZys5zKDtejbU@-1Ru<#$~kD*}@&TC^{7WN7*oZFu1L1ce+t*-Oqej?uM zQ%0`dh~gIGTc@y`1_W$iIntQ(MHHkRU7q@rstc=%rpWaQ6 zfk;2pn9f~Tbb-F5US#0$9@SjrNIwbCH`pQn7z-1LVYYriI?1vGeJk<7ljKUJJPLpw2cM@lo?GmH~FKK7l66t0Sy!1KdHfXl* zqO8U7yXCM z+-KnmuJq#@^_uet2b?SAFX#eVDxXONiZwIFusBKeDw^3o2Bqv!Z*nMAW&4AVoGGPO zThf^A<^)k_PmkdGlYMcDRGvUn^w8o)QlJUiO-K+ox&#}-PgdyiUkc)hJKlD;p-$}9g(4iWAKl_y0OCbiHvnw9Ygiw7oy;F@10qR9kLW5@bJq z!ulf-Mr7zI^ZZe#Cx?#U*$tabgb2+-lWO7Knus~s%`QgPigX-IH}c5(2yX&!QdNT- z>R`vowQ*AUGZswUI9zrh#jD<7_l?uyexOnFMf^i<#+Uc9ZK3?xx zSW2&T{(WEq*R>MKb{Do=oDv*@rxx@8ECqg_3Z5L14HR8_Yw9|=YaO7qn)3 z#kk02eSx0Gj`Wklearq$*t^=*KN%UAcc3xAfl1`M^<&`sUBbM@@MQRBbG#affY_z) z5Ot2*Q4`H)h4NJ&L3yVrpN0eW6&M(u(rI9<|A+_1Umy@d@6=qB?`+!N?WTO^uZFPH z(GL8G2v_F;2?JZ;_QkwFO zP)fcO-pr;P^`+Lzo{8FJ8h$uLf3Nm7=+KtkVx1~`yN-VxY2cjV0(DA>N9^_T7<;_p zoE|lQtjE~mg{tt{JvByRT~9n2Q_TdDS7zafV)@BZ;8{$qQEhK!B~ZljMgV4Yv0E^p zlH>(Dr!#1@p1A$!v+qcQ+<;3x9ktu{)I{}aQbHH0AVfbn;QD&nn#@p z2oEYL0OSf3KwQZ$=FOW*{#awHk5t~b5l*SizNVhCj&M7)5eHG5;$|qRJgE_8l)@xw zkEgvThuo)rqR4d2{x5lVlq)DWs6c;OBtDX>?8onatfa$Jg4t&$!B`yo4T&fc{9ev- z7&Rb)LQ#3?mB4H@F>e3{3qY|(+=GX>i;4>IKkb$6WP}w`_(XWJv@;1BUPl^))W%|~ zkP>G|CudLU4-~=}7b$Gy=&(jKA_w(1M&!^>05n>2yF$`ja#%o)19qwW zZM21L|AGQIZp)uWQ5p0^a+NRS(VOvnD%pC5_g74`%A?of*4DC+0|&O$GOmeh*R(@! zJi0}B0A}m8xk}1ZLWuL3RK}V z3y#h4FzVXzuWIO{V_3~cm`^kMZ|L&~cwJU(Bk>Qsm8*0vz@OHQxvsCI$5YX+x!I(T zgaP}(c{21uU!RZY>$KI{Lf~WQrwc+a(oWdsPVKR8(AFV8uDLVxs)&<%@$iH=r#6A0 zan8_ldby)oG1fCcw>x1x;eDFEj+5;{{M3wxa%%_jr1ETxFmIzy0#|>abXGhdV-}7` z+%gydYp977SVoc(M@ti_oYERp+ZUbC6|!Yrhx+RaC>nZ>GFdZPVneu=1@2L@rtZS3 z@J_Lv>XASPqTo?MImz(g2s{X30<6K0&*>1=MLUFln}vBglzy8-%(eZJkCkWa%Eys6 z2`I*bE_BH`v2IlLYn&YH)+O|np6A6_2hMWFPiw%M&SatUF>o*GW_vhplw@{=%eLLZz(@4(i-BZ>{%7U*|)g?4@m4H9GjxQHKur8=`jdu0o+l{KXU z5sY}5sONG#b+5H<@8A{?L=v=k!KXAntt8I6|FMLh=;EZVxwCVgj zY;W|;30j}sb+?z#?QNO>?QNSGZSO5^&qD1rf@?mt_gB9J3%;iHxwt*D!>qnIsfg6hPZaFLamQ=fb)LU5}z>ktGaFZn;9-+@? z)CUi2tBFAb?GQTlrrQz zEz5$;j^l$4%6Id@Kx?h8Ju|mb(x-8Lg}3&4(ORiI$F#n+fI30zTUpt&JD_2A139ak z##~e`$yDwxELYx`oJ-q1sW_ziV;ukdf8#A4UTFdcYU@@EZYE0O<1MT3ROdA_Dv&|L z^Aaq03oLB@F|jZ^4_TN6SA0X8b&4|fJ~a7}fgQeFOynx(?A0j81``hVlb1htBCXBg zyg@dBkwELU7_!>v|0Be&+R{?V^l|^2O`kKsoX{}gcT*_(kv}SHrzK&03pJPzX50!= zBb6Ly0fCSIWCvUd@l?HHJXNoRlA`vZfF3Xb?#C9wWl{-dNMV!&Zl+Fx3x&)vUCP2W z&8c8u#X<|GPdP;TR0_lAFJ<_`N*XSdQI#e#syI$iSb|wqoOM+$vaTK%SyxYstg8i- zb%oVprdMF|j62IhRz0su4nF=RO2}|B^FOOF$A6hDec+(%3fCrIhFrFSSTYs;i}Gvj zbkL=&E+85ii30vR@aR}89{R-V>$dGqel`3J@Mo2e=k#A=VNT!qXmn0r{a+do*Z0K% zaRXd^G^bPG7rv&A|64y;<#8>t^`d+(IuEr+blm(Ceqzcy@v}<<{8Wcb&{_Kblb^D| z&)`jwf6USyGyfGX68w97C)Vh{5_tIdPDBjMU`-qRl@C#qlUjI|)V};h^E5oiO z{^dvcNBdPxTdpX8?C`4hUHoN4{WO8V4*xBlvJ0U5mJ?NPOQuz73~b;+MrTtyOc)%O9O}iUE_!q)3UofMf1GpHczvKOpmr?$zEghTN zNX^X<%|RpM`yk`T!4*N_C$yWlV7_3~zQ}h(9H{IQg-&GplD_|$JNE5eP;utO=$PW~ z-X%Jy>Pz5?FIL;);1|B84LV+@eNlu5_-g-ZW&^AKwD$d1Y-HGYT|SsN4r*N!9%8Yq z`gdcjZe{NT3;u$Z7WKxK-heB@3HM<39q_*P%P~|mqt@|zcx|1p(35wI6CCweWil-Y>5N`vLsIE4j=lJ}(cRw7W`wqSw&!#~S_oZ7zS{dhXxZ zFKhKrc@O&cULo}FD(c^N*$I}bxPKe7v488~ig3}tme{|zTK!A>G1@<4dk=r2R8~75 z>Xo3!s9(Gi4TEbqIP@&u&^n^578t>yu~rNYofN?#sT@;&wS$|{jP3ksiYY+k&MLA< z^QuIM=#)FM6Td*YaT>`9dgj0tU3B1h5grKo?Cle z)Zs^YhD2zc6-gm)N8ivd;!r zd_yZd5;3h&Fg`}SE8}dIh<81Kh~E372Uvt3?NBR9o^nIlrM3M%>ei zpbp%MvjCn2$AWgRW z66CCQ-?z0}{PO3R?XHd4fP#Or13h8j*OZ_QYM;O^q1_Zb-z1crDe+i8hibDN#191| zExaA5eP}N&8NY_7k-rlUW9&_6xeI%+Pr7i>RlxOBq7k%DvhvZYb20z#3eNv?#hgbO za!~vem1ieXo}*-35W(pL%JZ5pg!24OD9=!0#E1vjzaagY&@F*KNXPo~#DILruZ+7Pa{VSMD^?4(ev&6Wha){ zLO#$y#7{tJBi5S&;WxB30^!YQc}K<%?;a6iA#Hu#i|ylGUrf87#P1QF+1i+|^)npr zf&N)WLH{<-#r_raNWg#z_OE9T>|Z8a5d_rzZX{4Qj;Z@5a88>PiXJJX=hYeO_4Bk> z*NOG|axrc!RW*FHP_7|gj%Wi`8^N`}9cKAt8wc&J*+6J5>u#Wh^s2VK3ReV$?lSgy zW{+C{IDNUE<g4bxx2xyW0 z7SLkbZw>Oty0#X7N)}>Lj8WUPpxK`BS&*m5K{O5JG__KO_ zls_Gki9eMuFn^9!*2AA#XC&T};?25d#HDtN?j-O-Z2ryig5(|M1i33U0MU zESdU}IXQi#(=N>lk@)#F{DFQh$g$6$e?RGQp`+Tq&qV55E|33PfWGenwO0)zSM9^D z36^2B%fj|@S0wTRxFQ^QpM47o)a)5=#-rHRcK>QR>xU!qzH2DHzYn7|yjHr4k_C=x z9ZtBlgkK1!lLW9H4=s7jNGZV7 zyGkp4k`%qYD-lqjj7b4XU_zZoY3&T%5*=6CUZ7+6d$YXGOFxX8LRLi2e*^;|V?1zC zoZ4C|2))_DL1;AId{aE?G-ru+_p&H=5~3*~?bqmwvr_qM2Gct6+EsHeoyf)W2K7b` zpk{ie+eupLr((Iw{}uY+VtypPJskMgABi@IXmmV1!7_-*m-tgUlJ5t&A{;tMpL2xi z(e9Usxe2iA!k@7H)kWxES|U4`%`f+rf28}q(UUPV|a-Atsur*pev@wGdSg&8p!xH24#Psf- zvJG~xD?H_6L^*G{STMMvkzrGfV`D8jCO?h%5B&*OihGQkH~Bn@$N(}Ivs*jSSlXz) zyINE{-YSUiUt;($Kd%%%O!zs|_h;@XLW}RCE(w;tJoy%OLDsws*WgS8yGKd5C6;$V zZajw9j8eD?AM!J_*(>*xK1ep}1MwN*z;YJL$7=NRM}xM|P#R)4Qfu8r^VPO%;nzH9 z*FOvUe*H=#scHr%RcUSD5q%1m<$mI;P|up#P+}EV5V}F{N#gDsu1%^|`6O=b^Zp>zhUOmBSU`bRKlfIG;F^#<>JFtP(|rP>~{0 zN3|^LCmgue$*$n}*knYvCGtmGQAv4MG02GJ0jRP?a^E6D&_679-5| zr!n4T$CU43^T1wb`M(V8 zY*axoNv5o%??rzs+B&Dp2fyE-_3g{`@pnhedNMo?uN3E@V39RTW)K~#Zw5McV>&kL zjGaz|Yd4}}p@8N@^$xuH-%=JQ?7j@p`^U;;T^mnm3_}Ra|4J z6W5L7zY~prxFS5X`{I0$i|oZ-u_$BJ6^Xs1tuU<~*$pYs>vYh6@HTGjY*th+5(Km4b67dDk0|ee& z@RE$}*8!O!!}UoLRXyR?`ZBEYX~Uen7ertC4k-GZc+I%H1Lr#hvy;)m8}VHv65F<} z&ov9Eun~2fkEksLdFf(#sg3_gL}*)6d#5adayecpR>7F{nWXb#`qgF zNMa(Q#p#tEbfWllf;q-g{##^^&{F=4&gqrmW|%KYi}$|vBJaYZE?+2wP|GJNY8H5& zGR>gtq4XWO%5Lq!^AX`V^KN`qorSOku9Qoh5j47!2wXUhWiij+?p>u)oyWaO_jr=xMR<)N%g2xCV7=} z+UNh}qigOdP=}Xz)dEMZvd!z-B$Z#vsQ-01o=$%8QV1cj7xskCY3u$ReupuCyC?Pl zm_9bUiypXXq z(Yz3EJg)fMOCOm)d)2KDnvlNN?fOb8@4yQM@5JfH>R9IKf!9Uv>KoRl8T;{Vj~FlR znTrwAbNuc@@NVcPeV>>|ojEmqN4T4@KC3P#^DJ-@KmXFJg+)^E`y!a^P3NAMt+l#c zyQH~KlR)dW$Ldz&o^>nR2Y{k%68_aWy6Hv2C1s?A$0jt9Sx zSb4@S1+K@+Q+$`pYPS|1<+!KnOdoIhR&U3x9@hzJ9ty_A;Hu!pjKz(7k9hb)U&v!1 zelH-E@^2wWRNE7c>5M(-uk@TwnBWrVY@sP%8_`Hi-|WVvfoG~*+x_=p*ZNWNBRjJG zY0zSMDdX-4Kx$)}=E^f7{{?s-`s0E@_XGov{AYDMY>3Au-r^8y#QSic z(SaI>u+WkVdOtQZ{CiRT3s`;dg1)a$wY|;o9Z&1!7i0PHTwYKg`Pb`YuCuw-m*EcP zMfekE^T$*a0ISsI)n4g?wcf0_jkq85jCJNX3Oq?4Y%e<<@&BOPvFV#(lzWu}xylis z73L2Qe3CvslwOG+%##8Vv>7^aJ|_PX`rk0JR=go_x%RZru7i0yieL7ea0>2=blp_h66P;2`-$Fo-J>xqev zA@Ds;J zwe4)X1j|mW1NYK)jc~l+33~rvJLCOr?Z{VvhhM<2@5KAzS<&<1`TGGE#GVh4sF907 zOxjijKEr`XVHzhF`=-hG-Hc0NX5>ejSj3h(yZD}f_V8OUC=QzTBiO8f&zhMJ0iO?0 zW{L-pIKW9G-P=*@2d)TbJ|}L!iDJ#SJ_+o;_iNo{5cNZS9|C-hg7qDw`p&?RJ;?PP zx&rI_1+FZ81yoee|2BxEbV!$!2uOD zu)8d~?|y&p|D1cyowMhjXYS0-eCGM&B_M+cb~iZPf(u=>PzKkTH!xkCH3_)xsQ?LF zm)8qzfOc6Lazr0yGs;{XbN0*M6ZL)RO#Yx7#TOAqn)gp1?T4UJO#E6$g3#6FuiphQ z2RD(TdEIP7QL_TE3&2-y`W83>WhO1Bgl*4;PXPa}2sWUHe_N0h*jgp1*{fXc=h9DD zZAZ)y3xEqRw7W9$^7YMy(})E(YAg)zXrJuo-6X8(1mcLI-os+gq-1~hYxM&sYX=jd zFn+yO4uJVn3CiOc0+C@YF$~^LaJ{U!NRokFZ((STlLM<|1AFsUsWW?5wa3sV!czcM zn@=cZ^`q@6D6^A!chZ427NF%sbdMgFL0X_rlnlG%LtfVgxj81)M_(uiy!G1Jc(#7p zud=e`DD%ah{7g+C>?eNO!(VINAs3golxiWVH^cJ{i&g6VXYFq99?h*g1m3H7iKQj* zyXojWZt@&BH`Ln7d|x(e@?ijf{^#T-ZFkuCn&uH8m=f>tM5wK?5FMGHa;O_hV}wyh_dyEH2aPfXEF$!A`4_Y8+5|2YO$@VHC2hNIj9NJlHCKDAu2mIf=d z>?I_5*o|ukPw+x+-%#1*9gDAsHd|{2GcTrm@S^h~9;I**Wg=6%-F)e_!a7kK=BRju zV?ZlSnVolTHnxfkV_L+qtk?ra>YV;5irX4Y`uLPJfdBrbc|$J3RePsoe`j5xM|9s= zFk5;kJHkp(naHu{hK`~Y2idzA;@<(_!sp8NAbe!4=9R3%Ck}5ac=tYtObB_+Q*VxVDY*x+(u8|qI5UiEbu!fOZ*%GcT5ALiNk@X(W}KD=ST@}zrrrd?F9Q-3 z6UO?%@34JCzfHho>m@@`ls8DS4rAyyp$Y{q1JB46|3^9>R>_Wy8V)~xi<5p~hW5=i7IkG*BQC*um^J6!dw8$zLdBJ z%>?V@dLBC@{;x(y5w@=Q`wJVlGm=4&xd9ThPswg-_)ww%2DI5*S=9A`N;0}_tNmjl zS})^uoo~E2#)^_lJq3kf!r*UiZ2aaU>Ck~myTDi4r?AQ6Z?H+;Of(r09Q|kD5}W|N zPSsihHZGQe^8~~W_rW?6W#AuOpl@J7E4zhBEzxjnZLL%W+Lyw_8S8>duUs%(c<;BP z+G&M5uJhN%Vx^F{Qo?h>k3SjLvOaLU)9&b#>Ivs6KM*j1br7v!o zw*8+WC6vJAaSr@?11D^jOmJ~)5*DS8I)SIbL=Um|CVO$wVSqZ$tx0%W5Uj}|JPsg; zUM2^9?*a{i|9R!WMR{=uy#MNP_B(wQ)?5FQN}hn>^cyKW95SG@LfqyhlX*6f`OC@y z@axIN-{5)O`62N6FKqKxO7lgvX;)R}md|_KLrM(1D6`mL{w-i^DV5XmI`e@WFRsE5%Ku9@K3b{BX@R zi`W<5(p`D~0|iF{%+T(G@Y)58!~{z=fLPrAr*v4NLpU5CuGQF7{@9qK-93rtK#~CL3mu{pZ7(*Hq}dFofhl+4`N|7jd1j|XZ&YbnRz zNi^$Tp)6bV_F*YgJ}%jl_`!(yuE&Oydir{EvhpXmvhlbyZat=UyE>sPP6=w-VgUOT zZZ&PY^yhY}Nk0Zm?Y+)%gNrLatdE_z`7;fMK+aRn!CiM}r)MVn3 zVq@)7w|F}7smsQ|3{BXyxuNG}x)&dL5d7vx5eg=>)N0^WvgxtB+<9XcV|!O)p)%NO zZSd-kw)OVjIE5TO8U!>*1sW)mInA??@ah0(?u!>^vmajoM=@p9=M{0)cs)5mP~+LA zlX&kFnhZRrlH9}A76Qt-KAY2{1pME0AB|+lB{(ZO7^TSOUebOwQJhi(WQYi7?8Wxp zj5}BSVfq+I*QRhVzzF2)DQ%ekm1RVbQ7r5v&T+^55MC&ml6x4YPkh2N+B8t)_%Zh- zhA+UFY;3oFfAtaEa5{J#{j&-FUJ^RvgL|aw8rzWw9A%_D!%6^wG)Zw11b!QcI<|i< z?uH9o;0J}+E1ejkUU!h&y~;dbI+u6%zVM2=JOK>Rr?o^e-^BZ}~ywRk5?^pi&Mc$V#}b%|4EZDo(C zWY;cnAg9ZPz)Kfrn;udu28vRE3TOK{i9z~mq*)7(Tzu+4WlJ7pdL`ngzqJ2VYZ!i* z+zPYmCo-;@1%!F-DqUC1*kiseaW6NGSapiG1q}R#iG0Cs-d@hXl2fcdgTBpzYnqqR zN*m*r{^FKM62e?}M4)>??-~iWh{!@zB)Mj*)Y&WkCFu2JCE^mL`=+zX7lbJ1$UIim z4H2fBSZ0#zvP_K!ZAaBHL%YO3{dV1YH2Iwl`Y%NFLz7%(*TutgwTpQRvG>_Q%oQkb zH4uB^hp_g)%N@>0uV0FBm(F*Yi~u6mX~=ugQ=;d^t<>|Il7f=WHw$UGiQA`y>(oEe zR>|XQFDY+&habf91l;85I{5I-K2wuHTZd^G$&$>A*L{KS42!^&ko zCS0&n{HyP63AF>ByGeD6+wP0iPUl#*=`%USl5+i@j=7kefnh7%7aatr%6kHONGCP> zVMiv=YwA;1Xaw?6vVpEX^TG6qixNn+_P2)z(T|@2jTVnaigU}rBD8;y6~6^KlEy1P?O1fS5xb%%}4g_>`@={xR;hu*)iQ#GidUtP?=@lR!uqNL1S)2zmvIPZs?|lBxW| zzCA`vc-Gl2H^!cCirtunC5LAb=i7b6R{p;YbtU%A?ybeCZ=uFd&Sh7%YDnrduSL{<;w?+{!Nkvse6w4h&8@{$u6f#R zE24js&S(r8OxomD4kj-YqB_5(l3BFj892x^7vrq7Gii}*%#8i3>M7z`p&wUeUQ>4w!+7%#cn9avL@KcTAXlxH2?SBjSoz{x~MWWjIbXEUa$ExGhKjbh9%pBJbJ_Z>DOQ!W4fl)B&NS%F{HT` z&)4qftG5R#soyH-HR{sKWO>$m)+USZ?~I7AkM`xBD>6ii3zp%*#=_jIoG429HrJhr zKeKphmza?(ttvSHKSTL%oN(l96;Ov{VT(bvv*R_}Hc{Rl{e5hwV#ARf9=VpT{Bof! z<~}w=xbgboG1IHF8#Q`8=`r@A3DFfwFXyNWy9ZxYc~wqDVQO~$iPQTtf*ap6D`~pn zWNf1>PN*4uyKIq}kkN&BI!f7jebGkx#23V|?I+LnclaSnvJ{z28AAf6IkI~bt#_gj zqqq8tp(G&3RMJrHUZBK{yDabf#7!70kdBya&|E4TSMnxv)t2rx2u4Sbcu>5@jn?s14B-&ph^Mf>fl_hIq2(#N3m_wSQMMr<~$xu zofE1mJBsn(4-X9`jq2H0Z3Kw30w}%MP@KZy$jbu*_aIwnRpj_D&GFo9K1sghTycW8 z$g*#`%uumZk;OO#)(=FXdni>XA>Hu7?D7>0R61Q7dKqF#5c^O+LSW8j( z^t9@bN{?R9Zb4loapDWUE0{?|g%~s7JM0%#XEjCEW2zQwufaHuJc!3*eoA0{FpU~3 z=|*`=xuex^W?mHR&lF1-HK6LS?Burlfvlc9)bZ8{x?G54fmRi&LSF}% z5`@-s*BmsR{`tS2?`SIzMVp?nl@POU-SGz&eRE`g=BI2PJze3iIv+~28XWu!UI4Ai zJy8MYh+0kUxAI0!tHZEzceTb58ZO4ZuEs_hp#=vV&?t$VF&${TtNy|4naK3MqqQ3A z`trFFcqdB*d<~*~1$JyQg7SL9|8K5;N{EMg8e^#-D@fsx04}mQq6Tsb6o&B?O%@XU zK`u)&e3%ZLl|2-7%cKhR)bUpW2cphIw8*G%>VDdwtxm zL|3%w6$m)U}YCdcY0i1*wy zYT#!}wHb4@g_=#~22Ib{2XtK#)Q7kpn%SEwU`bIL1TjDtIt{gh66W5rK+Wzx9~dBk z?9fA5?Njs~@_&P#MUTtjqa_`%Df$R0rgeA2SD?Jlo>9+iCMsk-q{Hp$!%9S0~7{WK7|?d^R1n!QMh_1L~Yf#fZcLs=H5PzWc2VdO+zT&fCawQU3V zW5KgCn!Kj)c6(j@ISGvHi|u>o$o@ar=3EiC*k#%5*8oz~;zQLFh4vI5XWd*fz(Q(P zD$(oPS4eomb+H8T<)m(KUkHp}=&8M`?GB|iQMo5^N3rDjoyy(!pi!!iCg)9C#0=2( zcGXW6OT23+mEF1RPb&DDx~l zJJAhWqoRYVjDN;+S!D*;B_5Vu9XjQN&r|okP{fZ9_^vnL>@oDL zXIvDg@Zc-8T3A!Q)|D7{a0mUe55t|JIxVM>=n*DY|B0OrOmb5vn(jU+`H$bU{-UKy z6t5@2J4sYwX#a-LQzT>e*8!o9dWYthLmf`j3-5&0+$xqN7IZGB7yPy_KCq@CD*_#fsj?PGS``Pv>2_@nBzqq?}vPJ}VN9mP?8P!o|9UukzyOk;&Aat-KTRw44_{zYxYucO_8*F3{s&9XY0Ns_Hk<@NdL zcsAL7;P`c4ar*fY;t22(BqT?dfOnl)<@jz1Q`_ASB33(yuLZdj*iCE!+M0jPEy_ zw!rCYl(p^6Zyr;m#MQ9hqH_FtxOywEQj8#T%=f;mW9z5TU~vX@bs|~rMw?ddJ_2&? z*Q9Ex#1ddR)|EC-ts6!*0p+5+UV|3Z048=U-nW;N&90B7k*@h!(FONcm)7w!Dl?ig zy4UzvIr-FHc*UxnMg@!fc&1q5bu-U?XdWz`laXH>;!|$mTzp=~1qFsK-a77zH0KSt zAE4v@gp#^ssBSH5OYzIkZj#l2>1R`UpTk#rkClSq%^7}vuWrqmTzx)_bP!ft8*TGC z%GFuh8ot)5=6pOeCjY+SQpTDXU5H$<@_OxUuRc%1F@irHo|i$Q`rJCeP0~2NbGZ!!K@BaD`3)m@?TZScn2p` zVXSHWyhd48M5qm^5m$h(P2-AH5h1)vAk1C)maEn&>?lOyi_t%9R3lz_bd$pQ$*WsY zi;5ZcFCWl#??I85w3+|rf0Q16kBqyap~Z?*dV3P3Vbu9Lv4fm{4Ly`iD3+PYardXT zWK~(W)6M2G>LJ-7z>QMyG1!eN-_xp%NXDz+i_Ln}Xj7<(OnC?IKb=EI%|*Rm5i_dk z6Q$H&oWN2e3f}plcAcSiwV`&2p>|I9Dv_afpF`~`L+w&S?L6-LvF=qs_ZU~OO2GpM zm4CW*Cay+-FO1m2iz;E*n{^oC+sq@Jmj6s~SSvxCVFcovVai~r+cyI5Y{`-9^(9RLp?HJJOjy!aT8oc{Haj|dDBjh|_c*#q!CW?3NXtIjsR@B2d zx`9jH>6)s*5#X>v*mQ|w)z|d%8vi+P>IOT8>vQFW_iZed!kmQBSaFLk6u018SY%+$ z?VLvPI%D9;6yqVrCWaYe*uyOW-txlM9?W z4vX%ER$`A6hRp#pjNPWxBltsupe`)_DKA8WKp^Tn9okCxm4&w7A zgfL)Ya7aV;q@>rF2enRt*-J|tmmh)U)6W?y&vifDH*=@glJfObQ_~k=6CYs_r8@cQEeshm4epF3cP-SNmCQ%m8MJk~*qpk;Ccj z6O!I?{-3EK%4DEJbv|my2SOH0*_9{eeaBdG3PL$-@9W<}ZpaL#isr%;HXD1wB|VL(wB!iJO`R} z{4S@DdH=p`vl@=FQ?b47dheEf9#=|~bM8gSw0EEClY1Umw-n+fw8eb=@MZ=u;h#-} zyLVs6=iUvry=Df&8bzOs-5nj^9x+Yatvh#vuCjEl85t{nfHtL=u@0pr)|>2?LeP_s zOs@YCT)?$f&;tej?zp=MApgQ2)pFat&Ls*aO zx*O;;uR}$!^OSnN)>rS{mldOd-C!@liMt>Z2RVebs$Awk^}6snnq^OJ-D%=rXs1*s z*lI)_|F%n+g)Ifu#L{?S$?niFb+({bITUX3=8@-bK~_hj$OS1* ziRMSzx*X|k*nh=@+*-A{vMe2;>V{Z2iKw3#Tc_)9mY=^vn3K*@dSlOJazn1!W(gh6 z0zY1jeA{os9t!pCSvK8+^xugjM^dILh`mY(+WweEEZ)13OKsnnoG{Rpn@A8p>(V$l z)c1+sP2=&v!Cc3;LJbXH)?!<;i)=OXJg1 zU1BamDSB9pZ$lR=$}%^LR{j?Z7cSF5QWNhUs60jB+FKk>@O{2I|2MJgtMI07ptlT+;K*2 z=x5J-Sj!4ei+>5c02zpNiTKN`Iyr^o1+X($RIi>jhdd=?UI1ZnIG;2Er3lx(;!y!= zo1?`c1D<9RZKFc9|CiVVnGn`k}D;bXQs3M+}UIj@( zn>$ZsnPjH^{1~3GL6gljnw0O)(0zJ~7hmZ***=@Jw?7grWlR8RTyQJqs$4|(P&sac zvhQ97{0JF+wPEFWG4r=bW7#}hGV=EIa;^W~!XlDrfzs{IRAvm1#c>2`@Oolf z>>5V3SZEnAf&8<{(v?w!7z@)h7~p>JV{t=0bQ)e`vNGL%LTR(=aB!T>EVPWg2E}&V zG@?E@fwuYZq!5f?$)1t*w#4&*o;z{{?g@(ZXekpI%jzBLMHkM)a|iZr>$ha9Mc#sD z`z+}2f?xudr+s&KR#PZ9olO|aOzy>lC=GI#%-A6M)*>M2^wIiH068z%o}u?aA8TEj zcs;06%*g$%b#*($@)J+MAMYOjEY#<7HACO$M*l9zOknl@)+yFe56qVWLsX$6!#5#+ zFdt%Nl1X-DEFY_|mYEG%0g~qZqMEUEJqr5ojHJ5m*gNOMMAKYo{-6tF_ez5qsleFQk-f2?JQ= zZaibI2VYF)snD&;Pi$2&@!q$XINm;-KfhylV<787qYT1sssRmSh?5*#^q$NfvHbGN$+zGkTqB z{rVAD(c~G@YbIGZzsT;HU&45&`cKMiCdpv_mv^nXkJ^%?6vj5P$WSC`%RzfLtFOhdTRbUd5T#oP`|evXo+*PP1TjIXPa|> zWwoka6cFHYCKXj-^j?We5^C#iv}k>~2p2%iR~O^Q`?1AOJnCVlQytRNqGTI5FKPN_ zb~?@SG1uO5#G2XSyGD2lo<_(TJ~5Dl_Trcgc}f7G{q2wQp^FYV#G`=<_vv^9Al_W` zkARfu!3HQ$VicGUH@-xy6K_c3?8=KL->~)!#69r92vfKGDS-79_vjoBWZA3D4t+FV z?1MixgtQkBe=*dE!fE?qhfXm-v&&catVdoP%lt4riKy*8(2#xzj)#veq#D( z7fL#1a7Pu|EnPc%;siDOKxdKlpO@f}qgge0DJ~hh2@*(DSR;Tyz;D0>jFwXsgWOJt zPM>L3novp!4JbUgG*@BWBlW&{kF#ASl_bfTHe0+9k+&4EziY z&_Mn-KQk4aGZnzE9HHNyYJ#6(>elliL0x<($nPA5PwU#?wBz@fb~w5r3l5^CMM7$* z(CQ}E{;3K$e<;y0g=@CZ<(245G)_O7eSj%MqeKg#$J(bUih@jVg;rxsm?dH$OR}Bd%8%E2vZ=esrHKEdUkOn$*%wQ)a9MDp)fKjlSAPJ?Z zXx$G?kQjp}$=0+8pWYA=@`E($@Y?s$C939-6$-awW`@H1y)?jg zwvuT0#qIgjzSk{MJ+vGBJpvH|?<$)lTT?=WFd;9*@o6vybcz0JPo^%06;AE7idp9+ zqlA@fHae-^HILDZb|J$&Pm;FKOhVu8x1 zRo?G%tCHdd-ZphV*Wq6XZox?yKolN_{zce*X($>_Urz%D*9*oi`n~JziSZf}Hr<+> zN+Oy{GL(zbwm44t7f@I|o9^g2-|3RJu>bbO?cSrZ?8pX9t6|G$zP}$?=^cZXzRwR} zSr_Y*!dCRjE_U@(yT9@qWdM#NUB>c$+u_Gwp6qmRsRH59S3vOD-6Lpopx~*3Au574O{8N4{oA( zJN6sExEtG`N!e{#E1A*l-@eAbwB5WWhnTnt+79oUqb|Ssmi&7+XuDgpWo-`j$EB+Z zHXmFsS-LV6MAdS{x|laCf!1BfTd8AOWJDWR-|W>?_AcbfX9%H`|AI`tx?T6buLS^A zkH?QR-MipjH?j+P-UVpyu0XNx8$qH6>gHaaUd1E_!mfywcBQvudy$oZq=@m=$_HRLa?YLkw@tmd`a zsEWx^T1&4zwl@&!H_DFZ2>)a4Qudb%c?Sfv$J)-16VRGH)#O4DtLmFUz}9+$B$-?M z@wgX2>w#qXL3GQTw#;pmwtHf z8^(zxBvo8D>;vaBC@ax)P>k#;=!D+~jk9Sz`v_e)*BcH3)L?(Od$#KN_ztEkqb-T& zzo_ej!asb6>*;9#MN5oPc+M6?U7gF1I-soDaktkO)rXOJxh?uy$c|OosO$4O4klQu zQ@SX+KEbmkhz;Fsjoq8tZ=S*8V9LHDJ*!Z1PQ zHk@wKB2bMVD^@oiRk!i0s7U(mJ@Ut*7_rfxMRDmHP|49far&IvdX-kBn?=$Iw(?YP zJ0VwmI_=`d#$^+h%Wxjna9x*wdBaffjzlRW360g^O}f-W9xa&IfYr6!l{N^#tXqG^ zqu7SW>LG#lecuAHx{-OZ8*bjd>4_B9RD{+XMX#QI7_Z<_Iv_oi#ILGiEV%hxh#e0QD#dkh9tocKjc!I`9hoktNf;c0A{WMBZ?%V6$zQ=BnbbH zyI5x_Un(f(b9Aph88Rs-7wLW~<^VgAdNW8XUQ;W(>2~(D_wweq5Pk@kn$-5OmQPFz z-KBWzGe7%YzXHb}&vm0HyX}73dj-A1umLYT*)6wuOpi3|s6+1a27a>>JCN#q`!(uM z`04qowXi_ut%(l5{&_1j2Ra`l0JvcUtfRo!mni%Q`I1IZ&mGQH=={qJ z3f80ywa0oKFO(6?Vi6(v)!T%|b2YADsShEwgI{&I@^COoA`b^OH7EHUnH zWUjSaL^n%ck3Lz4q*)uk`2yR`k`RZS zWIekarLx6^J4}8{Mt(%#Pc70eEpp5)78dPv+JuHqXCqcZp4_(ZVpdoy^i$}&gwUNe z@~Z|@tEo4kB;<)Xn0!~hzID$+2F`qPE-{jYwq8}EL%UfrXRELfEh9Wdnk z$$7g7uzK7-9PD81glrCy1fsS$kS5pTTfe+J4<-J#}QWqKSC`Tc%&eg@Ip_ zPANy}=*1)>1#r#t6|yrL1MY!n!+=j`Yr)`OKgEIF)@l3-lN=zEUoN*N+Iw_oLY$C0 zZI!xF;I3;GVe~3kL5LLc;9LEPf_}|9-OCsKDP(1bbkpTy;Ao@WlsLBvRa@ zSNA>@!{f=fV!_D9FtBDU*y%I)38PQ0CNUt19(e1ih*6U;e9j|L3#rGN@SX~Y81s!| zwYP=whC8S`jliU(hH!ze_N2F+hC42=mzf9w4g1xXP5#NB!N0VLwwz3;)RC4LqS!(K z02^_jO^$tYSBL>4N}s_-#}okT|Kw1xycLEkKJR>n8SpkG;I=MmnZsroPcIX&&|}+` zq5`qZdxW`jJ=wULiZyj)I#I2=!kDNNjzcM&g<0oky}Lj^TBdHghb;rUSZBlP?nr|9 z5Rwvn$6UTHZRHm?DDA|)p!KdF*Fk`C;*9{IEtor-U+J+-fum60WiJ`wQ1S71Nmfi? z5zI`UX)*Y(am-D(+=#m1?xoo86Fa$oO;RZp1urie7<6yOX98C2^iwJxH;EP2Kc;2U z?PHKmuD~rXZm|E}@ZhS4gtW+v(=9Cel2kQ(Ygt;n{V$%$%s*>84$*dn%Z@&OpS8{V z>-*(n^Ni@p;FsGKZjF5RtWBc8t@R}E)=1++%JOd%kJ(Q&;YV9E)yaFb0ny!4asU|t zzymVv!Yz!PvxiloNtV(7#f+AD{-;{yBl9ml+5OZ)24GYxN&eu|oJ6o%lhuZka-%5l z1%wem=JXmypHn-i`>;$2>_&cP1G?g2R+9beo=Nxq$VKhePRdA{|Kz{JA-AF98l~LIQ<&TQ^=t;EOx>ONG3%D~)kRBlM<-fuJFXKw)g8W#Ql7=b zy<>Hic;1HAs}8Suh(U;>Zcu%7l$8Kh^SW90_lruc4Qi_%kv`r6DnetR=H9Z_ z&-FdTlwb6&9~d5>lr;%gKy;c$B(%p9Q@7C-lWwo?$#C4N?pTAe$nRKRWqg|}x|(OV zGCl^iqc47ayGG$y&w8Ub-)hG^#55_yrm&ifB$+l5Fijfnd>BJbdsWeUxx& zeeJF*n!WqmEUK@6ob;Y7AlG&0N`)s08_#X{=dR9B6)GS6(_cgCw1O&uNz_~(=g^e6 z*iQu#&V&p%TRpfCN8V`i=aV03k$8S95FwfL7(ZE+AhhPU=XDZ1%$A5wcELZk5&CYw zqWb{vYk8h{b9A`IAQPFp7 zb^K?PK+zxFdk68usd@7%87soVm_hJN<;nG(UB0)L;a zkVQRpa0X$2C2_D1e9$~3hPnmhii~a&i&c?ESeq3j^HkKTa0^q-rpBcb;rXFY2mx^p z2io*_Z=+eVi=U3`O_RB`9+j{f+eXR&fB8(Fz0ZA`x7|wl!_c$*bNRE2_uTv*WtV>j zOQasB?Qz^%n{XVMn6N=DvZF0O8^SXGnY41@A!g`#ARO6K>~cO~Ue||@ie}Xwr5fUW z+9kqco`e`r!D;{V99OOO?JpX=_dXbk1!4rG2ES#tAVR6h=+D2HwllUxW8QSvdxDwA zwI0%gfQS$$UTa@2u;4Bq_Mz#R$*XZ|SkSXo_7aeUTX44ep*u^H`0R z!hyWCP&L-zC))B2_Yfrt({?@XN}+|SwW!6WDwgKaquL!+vQcAR3F; ziUwpY5dDXI-QgY%L(#)8*eY!fJD-0oA|rGvTT6yP;e+nwtlYBR9mj>Z`FdV;dozSB zz~43pqzvEswdy~R1&H{0w}&4ny!9%KTzAhHL=kax9x*Yk1{XWrFALrK(UUf5W5Up~ z3Gjw9e}Uu7#-{@=)nvsKE5*`8CZeG)JT!QE(v$^GT4YBv%=6g&NXFaD`!T7{8YC1HWurxxu6Z?=AHrYF#$4L&#wHboWpwa_$O zHD_+x?P+%j*`kHmyCU5&i{VOBD7D>&`OpSf=%e}2S3#-(y?YY)YTq>IHww4HcFnlrwigFhLs zq}Iet4V+(8BL^SbG&wO3(%0NFHpQZ=DdVctB);%VBn~*#d}+0)iCabAyr<&?;W!j= zj4Ldl>j?b4I?b-P1Fh{(s;0o%Ki|g&t6*BsTkH~8S zhIjMtEw1l=C+Lj-$GMm}=UH%d| z6IoZqx2=gtuwo+{pOMJLnV3%4e-Ly_il2IA+xf@q2?8<@q@ED+*LeF%Ft${e$KFt} zSFMM#V2`fupLj^-MmirR43+j>%{C$M`bj;l;L~F<+NHpy@qui(Oqp4B;DN;r!ZGSH zcUne`gD6ud+jiBlIXMGG5CPcQObIwl(X&0Yz`y6*GeJdxw*+qzBws-GGBjTW&%B`U zr~huc_ma6%UrpmO?K>jr#H9PZL@glBXbEAkMFP(-L6UV5+MsqNw}6JvuF>G}g+ewu z*PJKsL3fJ&%;=wwT#{vMn|2z~A3!Du5cfS8B`5H(d{?&x=FU@i;0%57Vm?g?-S8C! z;TUL0B!ZR;Ht~I5`q&Mn-%h(Mcp;OcrJ71LSDRz8IWFK$-3eoGFZf3?(jX5w4Zqjm znGUHQvy1#2_w@E}w)K@gmYejU#eyGAT^HwKt*z!upSk?NC^)mt$F<6ku;Q)GY1U|JO!>qU-LU14v_*bDDiT+4Udg7Pfek4g zehBUL-Ql@yJ`@ngU{Ce#*!ykf{9#Gk5g0)O*t`JxMqWDX#$RaN_m2^L!6d9-+D~1N z^eh=SzTc4L^ojsnVr;{mveLOjwx~JabY4$s=!#mWQICa<#P-EM+zf<4QX@%n_vlU+ z>HJP-<%i$Mrc+4rGqjI}D?5GJc&--aX|BT{RH}-mX&L1O;!cz8>FoHkNECdNo;54{ zHU$Ti(KrtKzO?bZ%5iwjER_>+)Fb^yIk|jlQ0;?iBK|C;i4Nt3Gpj~?ldU52H8wh! zelU~a^;xGdYFp>6_BZmm$+xDWis+b%cr5ThwzkT5ejol3NG**=6%DtmY7MopU8K|+ z!)mVXE4#%U+^BxM07*~`fH3ZQsG2`ZU*lxkSWzQ?+d4MYc~*$sJ5r6BGKcqo3RQ75 z!vv1L{~{X})uH6{Ht+3v_xB?)?Hr-~8K~ zAcve6_B^9omwE~UUcXk`<*#=qJj!wxFky623GZbY70!6a1_8)r4aMuNF?nPvQDVje z*6hWYb8a+8VWUeMrE@{M<;gl^%jtd;%>hWzWHSY2(mq&c`i@T~rwa~G#(yv27$}*1 zKrsXU=3Epa-9H{aLb~%4lc2)n*Wc_f7w-9bPZT~)tu}{3Ij|aU8?2X>0sPUkaZnFtJ*H)9#CM=(prgHx{ zJ%T2LR*tY(6phO#IHaPSP%~y49gsn;Y-xWBnAjgP~llI{kXs(c#g}6ARvaNiAYygU;r@a*9dC zsJoX>1J7CF?lNfuy__A)lv=+K)XBHdn9g-grpks2sf#^qH2;#`LDRiOe%`Ni=o%(_ zw!`g4(XIOYYiMv&9_H~(}%VYNg7+Bh5<+n9PTs&PqmI;*U%`M&o9i*>HI zsgHV2&S1yAFzG$jpmtn^_esIX;N=io{QLR{^geL~S{D9;*R;G$tlLZD-U1gsp!3C= zyfk*;IaS;|-T8B27xHx`M`8aSazB3FIB(+Dg=a<-t+S-7c+&T5{+Y7&1hQWONOCW> zgINeuJv{-SwAp?v_DAh5m87VM`=TfcIV20eUY~Q* z^Z7cfG(B=TH)*9Fxq80;P9PPM`N*L zqwJa_f=4Ea>F7;`JzS*V1Wr^Ck&xhnkhLx`s1s1E7?FMWOUM%fce{r&EJ1PpE_y(Eq$bUauV8PjiWX#Eyc)_=p&Km2R2Wf=pz=D z$TQ3peQtV+b5(C1u8`-1uSg!Mm(j>zm-kElkv=El-jhCyix!~IT$maB?_h|45LpihKq(97=7Y_&_cI=O`p|!|1as2If&ZSydptl4}0ZIpXDVS=`)w%V!=8_pJPS;SM(|Q>;ENvI>b_&9_kr=niT!- z>9fYo6@BLW{CD)3AN!v4>Ed00KJ8#e@GD<9(9chJwP{reMxUj+|DHY?jVt>6UF^T3&));ylRi7N1?aO0W(1%6%$YvDiaFA!9m7S( zHH<#9eUH;bPm@j6S?pp^y50zZgRowZh}xs1-Ko*;mpEBe@GEYxw;{RGo%* zHlm7V;>PHr!yf3(b~-5Y+0hr{1)2hN`lac{uukxE&B%Y%^HeIXJ z*P&ud15ak};%~He@&_75=$9Qu3hI}oN0^V|>0Pc}Z}G;u^t+%kNIwnWa=2&dynDLf zo_y0g`IdL+F}>w3^fn?ZBS3G~AOxE!FvysE*pU1n!l;irY2Z#rWF3W%e`xVzC-|0O zNWPEXP8+yW`d!D8b72ykhOf!F?s{`~sKcs{vU)|ru(He}3lq>&D(iQpV=O)W4`+A* zhMgrnQol5#4QhBpJn-1+X$_1zDx^r~(9vNJ^%iuoh8X!lgGdb5Oh5!aNjw|PJtVxD zYm+t21ByCq;_~^1MWnsp#I}ZJT77SC4Z=ZxK7GiJFG`oAx77Az^_#1BG6nk=uY9&U z8p&no&1f`^E#vw#MbK?ED1y63Yc#1C^D;wg{8XpeN2;avqfb#AYyv5M7rxWT@hG94 zNjjja1!M@jx`|eu+{EtCu7ntG9BXZqmfr5Iv=l9LsHJ|aqr8vQQYcdr%V2}?3N1A_ zoUWi~JFkKUe~AtLl^VQaqE7QGYp`V^HaHnl{0^FHzapf9SArsZdTnRzo19b7G4Nhg ze?<)(eM?iGzG~MGjK7FO@>3X+Phm)A$U`y%hh#ns$;WT)_BOa5ghO&hKopnG<-?ea zNPkR&^1gRO=u^Gr803n~N)OOm(B?YYIwa7*2I+73YHJr{w0+9PXq%_{T{+2iXyZ-z zlx&AVSPpMnTAK&bFa$JCeTxhThGA_OhJZ$CBo2I=hr8OxdUWqkW?*y$b9bee7Of-{`#NANP%d-Nb#P z67FnYMpIngH`20^`^8Eaxp#5orqjs14oysFBlovYDE=j+_+5z1WBWfe8DKcUz-q~6 z8owuxsQSEzw??=p#ewD5!M{RN`P|ug-^gf7WPC3&`DTPk-{!tx%VY6a<@!6mVfFXM zny!lHzhsZ;Mu#J_df+h9b1!mX#Y}oDeYf+w+4n)>_v`q*hxi?)ia}_m*efAka$s1B zJDeJRsy&bGR~;bxFPJkhuJyaTglg12x{vBc8&BLHSaApGT-VM=i2onO{~NRaBlW*v z`Cq(*+i$6V2>+wkO1x0(XMqNx2>!84PjDK)R_&AR%gU4Y$-Q0bp zR&D~)%nwrhF4*4CX4$Qaz-yv3Y_sg=JUWi}(@i;!i0nbD`<07qbuWsed%6A>J+*p6 zE=d5<-PumNJCla)14)>qvgfTs2=PU#vqNUixwRXL0Erj{nCx5_w5fAiq*05 zn`b5^7_5+&uU6hgwnadXE*F3vKhdJBH#f0Mes=B(eNpymrjgbwieI+A8zDaY0wd07 z9IB1&%Kn)P`#s%e_oUKJ#&x*0SHR*fQ?{=&a@p#TRuuWYEmE&X7mWTs){y7}FEL$^ zaEDPaN%nRN&XOZIwF%A&zRE%@=`9rih=NZeO6u0|N?lO4o1xQNFg~>*?5N(>gbXsF z$=3Q$4arB{7>l-C#dWJ5u&60?wyYi1m5H}{OA7Pt-Fa#eo)H#7Gjea3r zmqmsCvUC^gmoSx?RHqByXcf4~>!g(+IsG zwmt*nrW0BWT&CXql;rM2G%O=iB0I?OR(!Rj8_>xQ3hR6`7#Jw5U=-Y1T~JtQgy^!| z1woIWo|{KLfehR=y`==nD0V(92gU@tNn`wt#jMAkO~OE6c#hKETKsu?tLIaxAGqq` z33YpGnQZJ4*AS1ZffG$??@=*Z&sDKAo38!O@?^VbkXz7N`?HZ`^UNo{$&;-Bs(Hz# z_g|7IA6_{DjnD4$kKfqk3I=KANaV*nnW6hwEuNB7!Ofmz3#9!Vm|NQvU~X$Dc5(D* zon{T0omXl)8X;fK(1ySRW)bK*e{xQ~-f|x`t^O5JXgF{OG%{5@*K8P=Z(uda$`g^# zUw)g%v>P9?{zL*~93p0RPQ5PNV7ad%2c}F`?Tt?2STrZHGh>!z_X{Zt5;7xk1^(@i z)(O6R^EdeIGb~R39U}405^tAUGgYcz=x#@QUYr``^N}10+5Ymp5blWU7xdR%jGrcf zzx-MP&mE$W%#t54%~OSZgBfA=#WV8#oU4#;s)tOzQ_LiP;7CTk4__xg^{M(H%`82P4-63I6a9xw~Wf5`_t=dZPX&hfir1EuJj$CDD9+G!}_!l-j+c>Q}7&ow()^5HAtP90sHv0y!fAiF5?g5MJ?{@S}r0 zI@-Uy%u~fzd&2wUdkvD-p76!+r8f%bFhVN7z+u2ln0caogwBw0l$eBd=1r=PUD4EA z%DpD>BW|HqgQ3!Y9HGv19^+)oljLNR*Q;N!eaN;{?Tleb}Z0p zgfH`?dGUnTK{=sgo*aKJ=Q+IBBijwFc>y-|LOdIW(78kL*w_P*_QTGN&SPjijAc5A z66!Bh0ZChxT0;eCqm(INjhFj9DPEicpTGlV5pv#A89f0Vq~z>KKuwU2PLU?3<%&o_ z<8$hE-FWPF5T+qDAr-c=$`0DFvNG{9<8-6S?89}MNQ9X}Vx-SkkS*0l?j0vmn0c5> z4_>3ClFympSm4}nM&JzXVR*t!yuJc3$xRGQUnrl}T;bH~hRXmK4Hx@qg$K+c__8v! zsA-dxoWlsx5J+33h#uu&qVVN(WVCH5o=Y@&nu5)`mZ5DqTpn}vsbpP9+ap;nyb<*Z z$Jm_74-F`WB0FaLhn{+KDjC{?{9@+^K9i+ub4^d$^BB@k$F4P@hyyZDcZ0WvgrB|! z6n^}4NDj|Hw`lHO@Np%CWgKYXAO*DvzS;&9H5P1=8xjcG_KRrlp%lZ@$eoJD-LR;@ zAic#~yg-HSF!S349X#NW<*nqI7dfR8zk|cj@w25ne z6m9$r9ONb3M00;fb8n(S=rQNgsO}dSDhfpp&>p+C{S4Y&*G4<+P-s5zD7{5PQb~6- z%zgssH(3F{SW*|sUFSVt<&o94&P0~`*ke6PUsk`{?Gz!ZY%$~VS>z*K%cxp9p*oI%-T|0sFm+73DcyMoCPw2!Fh7->vMFqpWfPWwPK z1<@3}ll8Ng{?halJ_AOUx}Jm`pWgF;15P(n{DZ+d4f{9z7)Lxb1^$V|>hb;;JYzoo zbQ#eqG-*CE3OWAiL!>6?3*8h03pY_%hXK5J|tLz@YuCUKk%Ho6*f!=YUaf%r$W)DAIyP4m{ED zA@TN*-h5JvI6XeSCXD>`J#jZH!rx>q+uqjv*dhZL#I7{uB)#ll^DJrLyhu>J&f2i= zp40{smG$Nuq$1(%nLfmqkt*m}16d{x^pDIrC!erRS5AD5$#o!CceY`7&!S~_pqoH1cCa~GH5TV+6-Z6kt?h5s_9d$B z0GkvS0G)>?Z zHTTu*6nbi+&1vNF+daj*w9aK#6;kG?-ux?}7={*iHJZC<;^G5DQ|+pF=kU;5Y5ddB zrE$VHgh3&V92&AhO0Ia%rnEF(gyne-{Pi@W&$VeCK?=}YjBEq(n`DsuPzp**w;&LqzfP0NhSG)p2>(2!_z8Gi zQnHpUn84W{Lt7b3V?f+|MQ)}*B062wTV_DBgsLPEYa1my&dUk?)$=j|-nLL*2f$M% z^i_D0>v+HR*=%U<8fPj`ou7pqqtoiug3d0iG1CcVc_xmy`81Xjy8z9=WSz3*}fT#Br7w`=29(a6+ zL~5Ty#O*N)CHhT$WoERrFH&R)q-~HHRcF~6LN+6=0dF$2Q$$#D^@Eh^`@rKXtUi-X zkF1$ky+NrygsN{0X*;a`Fw1rtvZe0A5i*xXbUFCGixu#s0`8FFC!tOr!-ARx<=#~j zllYIYiA|M>GjZ%9`^nHA>?2Q;ANpXW-$Q!DA`zfRHW7f|3bhFa)~=6L#gmod-ZJ~wnIbF5(Dv%X7y#P8!Xxko(0$-xEubcI5zhO>EK=ew%z%#X#*TkQ9j^?T zb~8C7ViwI1PlDwRDdym#i`!L$g0)T9lSOKm3MF5>&R3xX`PI>v?Ee1@Y9urP%A)_z z-Z+_|d+U2kJnIX1+K)7>mBr@&3p%j%AP#*=F#lQ z9Zzaz;HHkxANZs1cufDFbhMAq?@EvCVX*l{PY1l%qBI`Rq_)jy7if6~{^etyPP;(C z>HM}^d5FR%)3lmCX?I2v;u=A(dZ$hy$+96lv!?)fq6{{l1Je*}cq-aR_b)2)XuY{< zab%u%QO$}`1r`weNCb|TPe$0qTzUTczkMrEZENt+M7M4d+XL&Qv zc9N_iS31)jYlF3?KR@O!D%eq^!|Baii(`FH+#u7wE=ne&m??rX-73X0p_BZDr%+!5 z2{s7D*wD-mhb>}fz(5mt2qK!WW8P^2Ch}*G)o_s4#8D}2{idkXwgbf)gm7jzp zL`b|6a1_K|C{~f`yi5%VdHpf!{GaL)ix?rF<&8HMxTZI^$Iou%D`GA|z3L-`;r~)VMr=f_N z2q4-uGDheOZ0UmGKt2%dsVVr3q0Uo42N3OJx+@O~-%&KXfz{TS{Mw$_+{nRtc`nHe z?3lzhatFYdx{*is1byj#zYxdtB`8%f(%MMUKkzCmV!rG{e}1?kxt~6^|bBO28+!(JHJWM;R`M zH4SHLn*ec|g)*}UoNs0B(R?F5H1|0U8Jl0=V)gVC<9&Q^9o8eid`W-8#iO2Tf0T&? zNAKjx>WSX6yBJ&4jO@5bZ~g&y8RGKT+K?*AmXg?0q&RI;u-lj^7xPq#4oLp>imN1l z9sk`G^>>i+n^Ecb0MM9LbQb;TMELV%ZYi>~p}3?gH%?&$Na)uc4dF7xV*oW zQ-n@A8Ngzh`J%K#64S{dq(`lugnCqZhW24son|GmckSh_xFTJIv~~j1kCIA}_(<^r z{u0|Ajldoim1OdY>|kPbSKOgkhiS;luC!0l^gi(4Yo4-3pTy4f`T0z~i$mD&uuk8iTmBpuVoQ4?Y3Nd`KPLKR*a@Kyg}1HQIN8TA3uJr|fM z`GC*2xIDae*IUeN2EkkyC(ebZ!cXuOmcNRmg13Jo?k6yR9M+INCgwH@@iD9z^A~l5 zjy(g4(egX13C?0Xx$T4oVAlTr(Uz-vb1Qo30eY>6n-O(MMzmr?TED+KA!$KUyr>dK zYT5HuQVUR=?SM|AeFy+wg$68cfQIYjou5*;Rf`%}Gi|RXsM_OZBOYjlUD8{Yl#uzM z2cD)fj(8f;K>~qQ`(tBTlJDN7y=Od>c?S4Q`+1Z`lPcc2ikV0kd%x*SKF}ex(Neq& zo-mtmjt*!u_!Thb>24_DPiw@Qts(OvTktviqEIHd2(7ZoK7@Fe=m!J&7xur`6{I9e z@l8BLdp+R0%#)Ef5nvgqn;|{h>)4JDpZF))d(4X~iaWPo&_1N!hwXLL>&~ddvo7O& zzytCi{67MDduO9HF)$R_b_pmOWs87zJP%ICWs@tDVbK3jhBkAJVaJj(hb@Al6|qzR z3n%Vb4N}Hj&s#Nl7hD(T z1F+;sBw#Ih;vIr~2)qrfUC|qRvNSO zjlma;2Of*(`^KslOt7F>(x=xjSR12QU@Lw=rLR>mBp=kFY41ye+f%ejW7GMkEH<5g zy#&PFlqK<3e(RsgnL_c`>^$S+Yk7l0Lp8h2!(ANs%VNdE636+i+Mif1|a@6ZZCIFkM5PC>CS zBbG)d_=hl=FFO$c_%| zl!Lo!w?}h-!#EQjzft^hWbgslLAHh&xpP9(T-xu`UjC3~_U)VOthEC0+_Wkk}qy-APDiQNz>V3A2HOJrHsTW?GznO+6^QpYInAiC#@v8O+zbX;0Hkn9Jud6`(+1=Tp6@lDT53I2KK3>OyMKhpNXRs zBWPa9>(m4O3=C~y&kJ#%`G&Y-i41DjpRx*#J8Z*WJM34lz;Xkm^&`X>rO5u#mzcFn zDUx|4xqpEUwM}bCc3UN9b#>0pa!y1hxsWoUN1|+#P5Wvbjq^K=bQ*rlJ!X-&n{sJ4 z!Kbuz9E(h8deUAV^nbM{|KE_}cj4#fxNbkhQ?V@#yiqB80%aq210U6lbc5NnkU_b( zhXxUhiC5#b8kkgX|DZ_~j=5tpv^E986nKp6owh{*p8)^htI+Pb${&u_4O>}N8ju-U zV|z9P(f*lQ*#y$6Y$X0UmUO*S*YG~<+kAG6PzW!H8q}NC3fo|zHXJePG#1u|okncKc1ZEN@TpybQjT{1DDygfoxe^oMHM&2Mdcf@6Rbzl(+~biQE#91E{rNq%hl88VN{{#GJK5OVO8E#X-vZLISiXhb(ZA~11oD5VIt~5vNxXv z>|1q4JS+vZ3jPwd%KlHZ<)MzW88{}aRCo{+wzB4Qq%|%P%SdC{$e;Cnz2R%nhTc-H+Q~{ZHF4fEn7`@MIf>?JiC2zR2G_ z4Rv~n7AF_+B%dF`9u zX=%AVLaP~&Dk7=|)H*P2`$z;?HA>nHEDcZipYS-78utSfNxP20Gc!B%ZKb0tJG;*+YW*TN>8SEojY=^Hx$2QwiU%cffTs>f6o$d_@3OLWqv&y z8(uJ{a0*DvKl+{7iU#n9&Jg~EsbrLVP`JW2_|3z~{w-2Q+@VOae}i-__Ui?k?ENX* z4@$OGln8MnH<+g^e#&`~S*qLNu;<7V0Wiu%mNp z^rxygw_eCjwNdqdTOEg8Px5P-e>Z)W3MWwQ;AqAQQiubUZ zX&+U?YO3J5xe_k8GilWrF8J=|0KHj2rKmX|*cuaH>jo-7C4Hc`M!d6-$S#zbxGW47 ze3&nT`JCNQFWlv(Q9LxK__~YkyvBNn8(^05WGs-)w}DlF{4(q4k4KLFkkg)bB;N7E z4_Zy?W9F*rO-sag9;A=ynC1yQVK%+RCc2e*cAVDvb1iY5zl3SXDM$r8(QvRYJq8(t zbE17oGwt!J=&<_}H$v25e6eh!2_5Zg?c$qt&{J>znjGssO1>RnvJTQQzx8~{lPXl* zttO+Y4&HXkGRe0)gx~U9IVYRmJ?zA1eT>{ALeWw;ar-Z^fph5OFX*@wLnq%<9Neq@ zt>+w5;Y_emxdP2OPberxY z1)mGf0-69C_>vcy2kEB9$dqM)EBjpBogn&3ScPM$ zor0&$GZXhJF^Y{+jACdnd{kl$AC~Q(Y~gNr$$ZFf>^{vQ>{j+$72d;d;U(uN@%tp{ z9vC12=8fL++gql_zc>mFNt5+p{>PJfvhT?%tj)XEiua#!yreAIwlt(ILUycTIEOm!LE?HD}Uk#3eN~ zwX(D{tu(a~6>&u?b4xAFJ@sC3-*5ru_blh$xibTVeE7b;ukY*i~W-d1Tf%iWLgpL%v8GjM+4>1FipU3>Bo6zzg6Ge*-1|0o-=& z4h6q}A*T|&xjha7cXnUTbws4gIXW?(nP4AjO0d7M?G>^77F5ZYDyUc1uwEIC57s7n z-oc|PmfECP9H3at_96bs1{?%5Nk3(vjf|Z0oXbwi^2XUWglci{Cd%0vIeDJgKG|0d z+dDHz*+p58_ai;2B1W|>%LS~u?arY?kt*IY=#2Iyr1~ZVnp2WZQkyb#JW4aOy%VrQ zGTY#v^+-}1ZTuhCGXhSsvI=uqj>!8FN>mmHkl1?x8#_2eZpmBK*r|1Q=ZH|4tCalj z#2N$R0_C2{zDqOjI!&-gmjqT5VU2L}sbw#*tQSyc9~Y9+MP*sI7Xv*Pte4}MSXKyn zsKZ{Nht9g3pN{$n$BHaRa#c0BR}=3E<36qiS-{ZhX%>>4A&tO?WzpDsfEF#h-U!uU zB3vJM0ngJSdEO8HM;}_R9`Iuno&OD2d=C{4h6+m$ui}2w zIGh8;dY0F&ACrdd6Z+4KV<{Z1#QIOfQdqhh`tVUqkh}66fkhG3Eeim8oXW!WCc1Hf0|!;%yn~zrC!DaK=Y|M;llAgtTv; zI@dPqw_I|Jb83q-K{}hH)w{)rZZ`){G6lw`#5v@}xom$}G^C)dWcTEfL`(E=EcDP97rNHaKH>-ke3A!-|uIpY?^o~V60(x3du1pB%vI-Z@kyZ|3cA-goT z^lnAfmd>DIqpLLJb2-*=9LSXJ?ab5ZG0y6t=iS}Y^kVP$P#<+;)*E_t_N#^Hhxy0b z;!N?=CgFgxj&+O4bxV}6cSkond66Obdo#^RdVL?}Z;!1`{^GnI^S9GBY8|RjypO`) z?OUDgv&G5ZFtfe(Zw;`o*C#}iZ3AT3%^ezs?KG(j8zjojRki@{k#_IMlV4g* z{+GfrvybRgS}%%Gng>9rjD~uSGhX{=7*;TZ;y>cs?{n4tLi_M}zSu9`dWX=1qxifK zaURL5-Kke*ZGfTBOHx;5-&sJr2Izoy!E0n<1DZ>| zypK1z%>uVdZlu*Ov~KjK6q$zof$MnI5&FR0aLM~d8s_^B=_?PfGgqklpRoRSbDZbR z;CW2lsJ_SQ(;RqxrM~;&?zJ(fHv2jElkJ1X&Rpg^kGY!|Z~Pn*XLIi^h4Qh(b>J9P zJT=Sm;~+PVeBi)^tPZ(_LyZfphy2pa@L4L?Azsu5^lwATwgFu6y?jA)p31K6q8%!_ z+9QWlVh?L3#}hg)#jw09#lNqoX~I@9(58+zk}9|??fg+yc-G3Q zUyAd8T?D_wog`GDA}Yak6jsHat4Y7U3&lTn*85fj#Xp8?WlU^y=`W;2uU`nNyIeY} z?*15G|3giD{UtkuJsZpR%sZIlSS@6G_8Z8C+{K|CkB*@7r$wmckEZfR!u2^UKT|8u z&|ckk@d)SlqP=c+#_yXuzYnMH>%cVxzyDNQe?=`w(>6KTXVmrw49h9MyWwhn=fbJ| z;Tn$ljmUQ8$MTPXA3oceA6EDC2JGoM>UjfMLBxwWA2Tn~p=mQ`<>%i!Pw*PdqZyH1 zU-s8&2Q|(GXa_Z}29Ot6Gf3GFzuZSNs4<@&28clopHO8`qbI3ta>@Fp@zH1GD~k1D zyl3C?RiFyed1T@YKH;=>GPpX9>vc65t@bkbd+qG!h1b};tWGRb<5R>s)S%f|ZT+Ll z@~RLXu^5AATG{T;6VHF|hm)L*aXF~9OYVuk(#-jDL>HYS1A;Dfa? zT0%<;gYhM;8^o;=hf9fZ9DC$*o|P&U#7y0V8{aJfK~$;ZWss@Op;8mkjj+GPl^R74 zt<_5L_LTjlTq{+=wNe>I%au~J=?MIVAf-~nOOb3}{~2}BE~?2GF8h-@$m!rE)sWL| zfzvyJuvEkQ)%hIV6m?jM#S4vN%VOvRWdUm*mvp zvZ|_OrIe$xe3i1c1#8QqgHbYgNs&Ers#}5UgVh50kQ7{QvEOLf9ITYulm^HQKi8&G z7l$aNUMWwdP6-jEjxxEH8X{H!n4r`rPEc?~XuXk1EgDw_n6Uhic-t;oV6>xxQhr_Z z^t^Svd_OFKm#IK<>BWuMQBppn#a2WGq%vA$6T41~GV+bX`3y!F$_Ftb|%tP6hH+@&KC$nj1F{F{WhWGGBWK6S6tM=ChM` zAvON-Ju8+-p-V&9unoBU3rjhEzdntkmzrJq67$_tfw%PeUXJ}(#Z z{Ww5!O*(cemxsS)n=@WcI{cVudxWDQjnw{%?X0xw6b>H!g`?9yD!)a4zqD*f;i&{%r6pHnfuj)ij1TG}D%|@OFHt~9x&z*LS#+GqmXw8jWVz}&3=4Vat zlUzmktEKQ^Q;xR%9&T{%FBN-8LNtZ`wShO1glJ0s%GoXsE_cHQrQEl)_83nfg(@t7 zw~5f1q!Bjqr!s(WN??aPcHo9o8zbeLvgp;OqiHe`#KPlk2N7UV*ph)}s9j8g?JnZZ zoCqesT1BsfnF;=}BpR140H|wdZ7@bl-|`%0Cc)m|PxG{0der53DrhMIlOCm2Yq9Qm z57-8j)xvf%*+9dpQVML(7!awi18hO>9j1pj0@-|d3)EgLiA?&P*2~;MkqsmMN*#{# zCO_Ka974mgXeSa}?HSq|eMuef(Q6zBK(>?W=wuSRenWRE`-ufTOG>g?H|Y{>_n>&{ z&(nq%2ijulxLKdjuf$T~Chep~WrlIzXu-X-;U`r^(t7vwq*}n>1trC1>RU$ZL)4Q% zPza0qg&!1Ahp$4+L`{=mmjlwemM5r5>k(?aHm{ThXdy59Ga#fNH#xX)WsPwYC**ee ziyis<{c%Xp4{Mg_83z}SD?2*Wo5}cZI2%Nv|4$JD5vAqTp&=Rz`#i-7ozIpPH-H(Gz==C2v8%k z^<7M4u4~c5s6bv7tFF^e!=G)(&3N?KP2MbC{tw=t6Gn1_S}Y?-$jvw9)OFC^f*2U_ zjaz}>NcaMZauJ+(TPsCyh6O2t6L0(5XnE`uoGjrlf#8&NxC>5O9AOJ#!2$k)bSI(A zpa_lLq|sJkVsB?#jF8h1Byv=V#0ng0b|U&4pGuU;@^LVwdvI@IeIa+wlvQ~~B1_)ULi4Zc= zp&SVt=_(4v&{kS~n1!t^G3`DPn(I#1Y!KP#>Ne;w0Ru z3`2FeZ(X1DUSpE8$7;+HibToy+>fdC>~T?Qchgh)8n23~t>UW0FXOOzF+Eh|th zYq^fG4p@GGuYEPIeR++DCbYyno$EQ9^XThnFBEo+jjL&_X z<856v&m^xsLF?a1OJ-kii>JhwYaEMRlx;qoArmsZchshC`WT}d;)dK zPSI8w95gS2SWmR5hw znlOa=)3W29c03mQaWf!++*PGxstIb|Kb?=Ij#bt+>+7AME#{WL!*)m$q0&ZDQc9dfIyuIuB+ zPe*0f~ZiLuXBd77R*U~B7>nNo*GpLZV-8#rZ^iu-=b%Xv zZ6_fW%AaVQS;3md$uLZS$H)fkfIOLjh(Y#BPZlv=Le#-9Xr*29M^}`3U&bNS zV@r8@@Eum_4J`^w5XUydd*xJ?Oep8VlELs8<;s$-uKsZrxgE?1jq}l5G-4EK2O+-1 z3HC+`5N1=Bi#@bWb6TKu+H}O0Xnzng`qv=E2yKJAZG~jHyzzlLZ(d`XtA!gAq_wxh zf|wr}hF);@sId8Wr0ut7ux}nFO<&G^a~ck_<;ZuhY5UQu-*+wlc3IWJ-YBaSeh%)Q z6t?ga_j%#|c4&3^lWVyB^qiuRoO*~`^X^rSS{WwIU8+QQtaFX${wL%2GsMGKeAt=E z+iwQoLoF00j!$NiIxH2#Ve*=*h}c~i_lRQroN*~S(RPQmU&*rmEL9l>Ke&z7>l9^p z54sBPlFa#f2s@>W-AQYf2r5|_PKL_TxM>uIm$LV~VNwQ7 z<-J!q?h%EWI+q6>iMC9jqgff1j;3W?=%@vcGk^{Xh>sH;b)jr|iHr}Iae}GoVn*e& z>?nLbCBKqbF#ZfwOF9CpCBVAFQ@V* z)yI=v#kE-=jzut7nuuzF{)4-O28EQ@mpJFoC!;xeY~(y3>nlb?_$9cuLE^%*L^!ku ziMDG}y-z9lw;aSOtsi~7&B%a(kH4XhSHV?}AK!hzV!UQCE-uPsfP9J%<*tcraWHY_ zViu3K^2gjLr6}J4&V1WbzHQ;^jrlHlP!PPJ?P&a2J}--S3F`Q9vqdiR5n@32Fons< zWBzS!X`X+Z_B&6$rCwnqo`P&-V#J3f4Pm3H-OiW>BNuBIq7;Qw6axM%MnaWkG# ziA#P4iF*sKRU3#Y+tm9=;9hQGxd(5+x<840QVNnQ!FSQm_=|xv8XmLL$Z~&lQES4R zCc>V8i)w<$Qw>;fquARSTo_2p-nV&z6Z}85Y)y$a1NLJw3|j-ZII2R1VKqD+Xdp^g z1&#{OoGN@=WjueOaFAGwy@D2q$o2lL&qBqpDB87&q48BhcqC#cLcU38XV@X`e2+|*Jk=SG%7&JBm_YUG^#k(i1> zM-;`HWKR`z3haR`fl!a(kz@xQM}a=8)q#V(ejJvI%$T3iqQ_`j_Q=aV{yL$0gb*c6 z%ypmj0V1~Z#O}fCzPfl?1~jP*3Z+;EG@2foi)BD~wm8 zu%z9AG$3xY%nwxNj@}5Qy1uN`)m7@3OmM3(L4f9}97d{jMXEJM%i3bZijL-5e`lol zH&kmg)jEuZt4*L0jDmSod77P4?RR5Qd1t+`z;G(?$umM{{rZf;eRsxBrZbLkDx3z0jg}y1_J+pSe8pVp<^aTmSTDAgR>QSo>L|tr z?Tm1%O~(MvC|nR4gLR40)FpADv#Gc~SdS=CBly5*IfWL3=0%N`Ii*E@9woJ)H<6pX zRJuLNIy^oPy2GhFQB-;>`Xnj?o z`-Ku3x=kfq=?>A*9i`SL-JdfG5p;VD+4frCq&rHC*iwoXEaz>FmR9~ucNoz9jFO*6 zNjq7=4A7}`dz5wlom{Q9XSxYeW>HjIKQ((p2U(%}iLYi+$qjmVM=UDw^(1+&uUKC~ zhNmleSy%}(Rw5>Wrf&w#chHD@6jq1kaA?k_Ema8DonU>s8ZCjoOnL~Aeo_rky@cZE zNA7g^=x7|o}Qb|GH>QEMjQ4(sZmO$eL3If)KX*@;`BL$7Pq?F2?>?0_SHHE)E^b^aCYyba0vyO4l{WI6#9o(nNYkW<2;Q=h*6eE04Q+Y@hn=Me(930j#r(~ zN|WR;cXL;3mgC1N^sMs z!0jIN!mR1Z@3?v6=yrQLV)oZtaH&kxdU&sKQ&Bl2m-+`jpT zim6T&oTTU3EhuQH9xFH)uAf7m^0a@{Slk|H>|)PnqOCEHKxT}_ysKf&IqzpE@6vEx zfO)?}c^}L(?MYz zUCQk^aQf|0VxNaurxF&aqxjcwosNXHx#%p!y@coUBP^UFmVBgSFN0!l!Py^&+YG}W zaGi+R-@K4N-*(yZ$$rZtMo->Mn`tYEY4snml!iEqq|m48=PBRk%{H=RatsHj_<5vr z;JCDtxJS82ToznMB5`FeIP#vumuKWdS!s@2(@m58w~$+N&i)h1ei2;zVfGu&=ifBb z^DDuUl~0{I&B)1h5bu34vYiAD9l@8ZV zTI|b5&T(Bm{JquFJ=T?w(v<(;5Ihw%<&1!An~C`!DyJ)4UvnvE=sA^<9z`|Duc+qt z^Qm0v={XKJrdq>zF=VyYo;>(}bFl)o}?S@evK230OpWjV4 zkCoF;oaV90SN`gTN79~u!8p5zx?H^+x)DK)+yUg0G*Y~z{6eh zn)pUHjF#cJ?Js3wXyw?>6oxh-#jyO6pRRqxgVZYYm=GE+RXvjH=-!ROqxUpmP@qw3 zDff80FWheo)lsCNQCsN%9%GH+JWfE#Lim*>v@N{?tkW0a{PWDvK72DjbTqx67#agl zOGBq9ImU<_+rra|&^dZh`sX6IJ_+^}R29l~oycRfv4$lSJ5t6PGehUl|M{Vx)BmNR z>*)WA&~*C0HuMnv-x!J`nAD1kaGSWzmpI(ehq6wfYIhV{CgK}igC~$BxPl$UsK#*D zKeP{AhhyP06^?8awXi64+)C9UhI}sS6{xUcoldYKUDPy$hN%r>9{A~qDThSO1@l%= zmCg1lgC#$rgn6}5uzD-;7RzSV&LpN{iF5RvKQnO!v5hx--k|<^Z6jnz655gm25?6L z@096$+mFLTICsjt<;$Br_bQPvIPL*{$Z<-H787;oxt(y8LGaBl^td!?)qq@wV`J#g zP&^%PC+`2R{FCWr5D$kE1zWygJW*r^TVxDD{j zJov?EJ%F-i@2o@?OQWqs@A^la!oXtdFhI-2DI&lDMrOhI? z znFsh~TXPxNC*_*eKv?5$a>60O@=I%B6%wp*5_(a34@wI5Ec|Z+k-VAwa#) zz{fY0{R20paT9Zt<)#VnYvw6j|B}JFLdWVAA0LWG8v0AAa-=U#aQVh=)9d(P7h9DI zchKNfgzJ7Xc%|U(*=7XLq~2E85to9ZBz&2}6R(}{)yKRRS2E*6SLgchD17dbqpTa++z0C$bep*V z_0>^*b8q?S$~NOg{~}CA4^nQGy@knSR>tBMSPF{A+)OK%L4LUA~;{QyfKw1W>^BcF+Iww%Z zufg>h$WELzrz!uBH>ms{#%MC23$|5dk zsd7Fql=J8c7xyuQ%h(nN!iv+<}0d+)$_ikj{%#+0w?#8SAcVl|w<^vhBulqepjf=7AXdCbd6 z&W*!;36B-I>f4(RG0QOgd_yIE(ZsTQ&qS?&(d;Jb zw9)J`)gCjQ7$XI@97&blQ)22QXM#{!Sg5LW|EDabQy9k@J>219_&UvD8FKNgD$mmGjtTC086d|bPLO?yd71T zHk?Jwf8`&ipJM;md`a<-PnJ{sA@Q+Wtn}>hwrTWKT1px!U-1L7_^p8(mR{Z0N6VX531<%qmi}Uc0<0+oh zm+*cMI|Xy7m|1XLAFK6`=Zr42e|&#z9{zFL(fRtvk)t*KaoA{A|JXFz#Xnx$iQ->f zVlH6(t4mnlGjRPl_UZlO)KPi)#|=7h{5#5e`XzIC+eW_b9=jj5&!{!yjj{eQ3uQ{cKb*26!}nd#{t{{>b>>NwrQKR(|<^^faN zp5da948!wq_g!qB{&C~M|D}KY&D{L_N&Mn0(|JGLB#L7GHQeEE(AbOMmZClX2NI@E z;&X_D-htLSJ`W@K(j)_zz|z75HX;kUJ4B7j4ssN6O3{zN1(nPr-u#P(&K{I~aM$Ow zbPk+jf5SxIPkZ7>-Xh%q&9{Z(DS?Jxi|0PJ1rmNC67HPy(^>f};9TTUjYGc zL$XvW6VU!`ARw3skY7>tg}qf}dl%)@P;$7iQ58lCBK!= zcUgZbpBgQ%L7L3%Q2(q`$`Lm$$Z)CgpCMygudXd@1A5{@Bl%n04;N?eA8NvLOs8c# zl21xGqeOJZBrnv|NP6aO!Uv{{&H6j@IOmIJ{#A~pjb|ziv9{ev#6~D9fQh&fn~+-N^99=64Sh80>lCklr07e=qT2jLIUf^^>N@^Tp$!8b^M|MK!;h2?58#LI zE9d&yTZV{8)czcm+9y;Rgj%P!gZvvMQZ@YCb`-1TsuWlG0(2?Q7;tN&jAW)n?$`%* zVC^^#{#=8DKc7wn`Tc_Ax850sAjogkGbq1R;EJ#0cX3sWJ*E%Uj^d}=r%X}$AsC;W zj_RbR6z)3t?(n4`G0D%PSsvWo!DpV>b{VZ3vUw}V(Lq4NSNs5#I{-D6s&-Vu%_L{Y zv$Ki56hkAd!ikJSaD8^ZEhrh|0XqNg97r^XBgc~|ifssA* z46p@YrR63ltc{g~O`lN0nw+qnNH`o5hQcf9dAJ)m=fAZt^9!~wojmNz4c5E&Oa7S_I8_OvgJna&VXLH1?VP&fM$4K+*KMkIW6(offoWqJF?#aHs{Ug#UJ{N`;(mgBt5R%-ZReEyU4)<6sr&`$hFRMl7B#rimlby&s?2Iq1*p0OO>_*m~ww=Oqe1h@qw@|f1q1tSJ zu<}0+0I401@sT~gS3c(O@|oL|^U4(aF-)}|xZ;EC$0A`r0*8|Qn0v&-emoeUu^(@+ z{TO@1X+Mq+(Atl1Z;kz+^Bz?DaT6iAs;Aa|c&TQf3z`A@U||O0(F|PG+K7B32&4R;Ao+(YzLHi!8{uDXAim)1V@;zKtErfTiez787u^p;Tf_4@)1166fj z8)_;|PSn_^*V#TP<^Jhr7x(GiY|c-VfFi+N*^FaQc&^GERb{+MV>59Yjj@@{gjYGO z#!&Dl&HzjnwYB!aL%`u7&OU(PbvD)>2e{~z7p!&x2PXbZusSe^wZQ;zO@w>5((Oz2 zvzeJ0n0uy$IZ`PXI5HwZb6O?gBF0}16X%enchk!2YZQhwU7tKv`g(wnRrF&sr}Me@ zq~}wpS^+(t_+af$v=DZ4Cp@cmvqFxK(DP?|lb$!l3A;H6T)MQmBrW}qDGI+c+~IF> z&||JvJk^;;^8ForqOzeA@8ckg|9LJCBZULf<#`CM2mOVz`xpW?8$TMM?gFL>D7^4yhYHN;`DvMeQ&LlBH!QAk!}$_0w%4_Md<|{0*9C-%(+22SLKrO{`j$ z3<1^R`$3-ew$S~#3!e72AKTk&fd$#y=lZ$X+XKyjgo=qY1_HI+#`?y16!lF2T=5mo z2tl$`K8iK^QIgd6~V7t3TIhBlPE%;X!>ZY%6J=0L}2%9OulX zUw1@$;Y}f>6P^9Ktwre9MQ$Ww$_rwi>s{o2U65zLZnUt=ztY&{=p~hP+d2m;dZoP`@s< zPoevDv->LjI<0+G?dRyeY(Fcg{ktj;HTH9AD%j88hO+&v#{IjTrg&f?L9+cJh9t;y z(?clF(Qw6A^3bR5-@Uj&Yd>csXzb^g!Xn-6h9k(T{k)z9)}m=kjs2Xg^zXW19iJu4 zeRojB+>(P>$Hj2PSMv0t^zSDBkZ1qy&(_-h-BnTHW?13VYK33L3eSqu^zSk>{ku!+ z$xdy!NBXgD6Je*Gy|1xTQywV#@jqQjKaOr9?9}$(!A@mTt8D#UQIy}o9sVYtLhE4Z zEdbh%Elv^@7&+lCn~_c3@dRBI+8#>6y4=5O%?aC!gflT=Iqcsx>s}o8rl{kG<4P51 zZx*a0d(-zm@$>Af!ruIHS7UEl-c|T{r8Ds}BpL)Kq&1y?eZWsQo!B@C?(jEYbJqjH z-ef_3snc0q_W)HTeLVSpYW#3T$%5?7cRk(gO)scfT4N&Nhu{2kvsv~(`weA(8C>xd z5YP|_n9T%y@+J^)?7c$Un~%ODfq1JItLO<`i_6~Z{}#s&`?s(S7@Y6;;kF*dGk$pB zTO#7So=n7#UH&J=4+DFWozd_1?EiJ~96x-#OVj`B@-*XztJ)MWerWHW@A%>9HU-(4 z_T39@XI|=&=lEe@5BKrI!?(5lvyEV1hWB?FKU@ZwNed$Ry|bSoh~wY;Y5W_m_^Jrw zhkMs*?Mqn8JjM^_b#NI!Oo5t8XPf3Ve)uQ~>i8M6;USVGrLc-Kmte$Ivo|PJo|DUoi!+i>}FKs%z*_WJ1AR&QBXb-i0UHE@{ z$^V0E0+00^hh(X*GXXcXnIQv2evFGIdoM-(YKgS<8u$2VN; zORrAFV_!ymO+>Wm%tUl<_dj7@)^#HL5|QR%Up{Wa;I!w|g42l)-<@xNURK^*_vMdN>P z#aBhJF9W}F8UJgVhkdD^=we@LXX5x@qrB|P;(AcWM5^PBohrso?Zi6%1y_7kH2boB zWuErM)HE;q@_vGgeVKR_D*Ss?KKA8>m1JM;ULk!rDni(o?vlp7NV1|2-)T+ya9xD3 zFOD5xUqXoD>>Y|?ya9Lk8{3!N?Og54#uWsxEtlDB+)q^O%aV4k_QlQ#KN1OlOH}O3 z`-!T3QLPIR)6%Io-=pSjshwV8TH+l(8nvm>yP#mq{U$C8k?OY<;(e7yPImjVmfj`i z5A402diGc8a$Aj_-3qK(5DqfX>s92#)pS4I6ke@zA{}Mm7+mp{{1fKWvN8bLQy(Vb zd4E^FAlmn}V=Z(DS~PQ>(4#Kjso)-g`ezT&1N9U0Gu?sc4XuS9jP2v>Z?N5}_!2T4;Y0oV!9l~UqZJi}nOe?+=qmn!4) z+;BLJvdyBy%ISx(&hhXQU*LFn3B7hae4^gN1eT_PgXiYBwk5SsENO>-Qyz~50$|vho=1*$AdFp>|vyY(7>My4@E7z9WtTI4F)Zw^T zODBU`mG_JFQ+e4T(M%YsKJ!~=oOj6eCqRKzA~IJE+VZ|K#{P$>d(URtmd;gG_M4EI z)U=I|>5e!DGyvzzq?+P4D-V|$DslavzsPv&`5IKVa*nF3lKMLvF{!IYNhP(0kDptv z)uU5h(axjfvRcY)h4U!6idwpK2`Ktc1C1X29gWL^L{Y1BI=RJQ{hVqw^8(juFSgK1 z>|Yj)|CS#3_hp$G^CUm~+YS29upe6)T?`U)E%se-e^k1Wpuzoa0K~Fd0Ejrye`$ZW zLI7O{qaDY7)L2?x7jSed;^;73F@;ol6gpO!pQ!V-dEq)~E>!E}r>rp(S+I7Y6ismY zRr%-oVXhRMzk7@ZHE!$qQTn5cSg(eT`F8L_=Z0<%4#m5S$Ff#-^t z{p}**`3lIh)F{G<=WpEcJhMpwcpmkdC!TwV->f_>ZD`H)Z+}*d|Fwk5wkRx~+bq-K zd0oRi@LZ{d3!a0KqCw&Ac-|B5iswyBsa9LhaIGH1{g-&&pOrtJBbFeZhZhFV&&9jp z`9K)p8P~9+O`z^`mCb&-`HbgZUMD=p;fg7wgkgonbIB#dg3Ndpth+6W0nfc( z%?HnM=HkF}(pI!mY#UFw{*qx1g`)4rx-a~n>`Jl-&?H3^SOF?;JI~-3!dWuq0+)y?s&c* z=Zfb`i>OxDPI9eYZ1!K`x!S$_@!WSI&TG!l@r0%uq+RjcCe97dIiY~(4T$HjX}TqG zlb>z_B@0&d*kZu*tf+kOoZO-~@H}c^ zQSiL@PT}#K6I}>A{~7&X;Ca^qV*82~%=WcSJ@7m}y2yBL1t^mi*C+tb*BTap=Y!2W z@w}y(E1uVI{eL*Y$hp?!Y4H5r0xg~c>*j&y39q`~IT;WtWrVro`Gsb#cn;=TRTj1C z+~mK+^Y~l&<9Y5pw9lr(*ys0R-SAwy8sHh{@za)(zddQapDu>+{Gplf+;2VNxi4HX zg|xO`VeRwKdBlR&%~-HHL>B{|(;DQ1=an(Vf#=WW6$Q_?ZxkNSwO=U&p8a3>FYtVK zF0uWO7-sw5jXm(Zx>1qw{0_*owEu+y@Laim0eE&a@x*gx6IVQ+;`(1W%E+nQ_-XKb zX08^`F*WnR^O`6ZJg+qzSl>rjhq=$r zJed9sJOmo8{d{z~hzE{^xCs=vNISKCNCd0wo9&Bu{_9&mU3^B1(6+>P`-s4J8-=Uw ziD7Dc;+}MGZ@dZfobgeDdg9(?Ydarhb1vWhLKv0rda*1IH>2$KYSAaap?A zn7A*__+xrJi8l>uww*(hJS~pWpynr)#UzjQs4|ZEeM1_@ymiD!mv-|l)F07M_inW1 ztuEZ*Z)TezBOVbXqR@&}4;-p;-yPabbLTr+rcgFu{Z; z$@nMOYK6MYUoA7Z&tFyJ`K!^HT2MOI|HMT+5PEYWo{8!(TAsxzu*T7MQ+#zX#`$~T zb~LnuaejJ?zht!5LS@+KtkF^(H!*(-(rDX50R-;SloFm}?>q^*0`5Jw4X3#16V~|Y z;%pm37a_+RK?4~r{y5Lj=(N#_=cw8Z)gZ;RhknLcF{D~3Lhccxr3*a8PP^=5v_*Jug0ge2#t!*;BEK#H|@N)xyCPM>wdE_ZYN4g3`Mln>|~z7(_~?; zC!Z?gux|5Ev9`T{+~l{^_0H3B0lkEYSRg(&O;``3C6!kc-#rA4f0-ITW(_w!GpB!4w3g5M`zhja|In@2Q_#B&cM(*hl z^CtcFL95SN4J=L9o9*R(u^D#2L%dC})w&uZt)QZNFpLr9+AfICbEVywdyDbaIdL4ud|%yr0(ocn~GA`xT!@j8ixRmL5| z^}%$>XLA%j#HS>Mnp@y0&Nro>Yv(vfrv5{dwG#pPM(f`+&E%~|q_>rSSLT&aPDV$h zPkH6_gjioCtVr|Jv{`cro6TLsac`yg}f&Brz55>^86f-`2r%(9%rK1kv^ePnOAtHr#*7v zmpJv7MN@B2BDGU*J&EF*dfc%;+aH&B+Y#Xab-5hP2a(#c9@kOUVF`R35-5eZ5HUp- z$5Ui08c|`8&wE>WE-dADF&CBv5*0bePbcY`<6PMIr8o};FVp@asr_)3Dz)#d!ZuHa zE54Fn15QO;m&<2s&nIjgC3xfDD8P3QKu!|NzcZ)Wlv7Q(N+kbJoacRBk-|Xa*WzxLDh z;_7_*HCAUST=Bger8yrMI4QX5WM-ErKHGI*uI8N7EGZ_6=36&^M)jhm#rf8odg;Xm z&iPhrDcUwXB2b?9NHa(Gm(JA>+poiUL?zw?uO2l#_aO$^2m4*qc|P$?XV&7heJN!)!#m&brG!*{AabBe!Y-9ibSK9=v^}AK3OOtAxro+u8yGf)`JR zGNyUy&9*t?^gPG5%h|u^V75IW>ZeVP(j^5<*-l>@E%mvJ;WVKidb#&GE-*u4|H;Fz zjku2Mbf9G0uyJPEny%?>pne}I`WrcpnF3W#XUtr<8 zLBPU)kcFQU3x9!Xeapq@zR0|Wuac@ob{^btXEa4R~5M8d$}Kd z5H0&djS?a_P5>^6$lR>i|FhMt-?rAh-?l`v|HtY%-?=j1{@SGTdG^anyC+qaT_Sg0({k7&6-j7$G#kf`-wZE1ovVT+) zvR|KFK!0sde*LwK{h$;pnwejMmpg$L`3>kYTji zvHNWwkp5f+O~(%VYtqDUQLBYq{o&JiHSZp-)wkG`6E*#F(x<964Rq0*W{=Stf0nSi zXI&+%1u6i=u1^R|^MYhjv)kTi@{UgR)d@u!h@celg+Ph19(|1KBldztO4Y272)G_- z(4{6qHPT);BG~qTO->}W9o_yvG;XuzGsN6#xMB+FUOO7MS?s1y_t|!u8|_P43>8V8 zN}N~{&JFn`O5L;q#%uUfqoup+cui+h)=9ag(67%_N9j^hhC9b=?$=SqYeEV;UZc1Q zn(>;OQx)9jJzisW+5czY#`)^BwsGv8Ok!Ol?f*-mt&}&R*HBuT3dR9|R$3mXkq1hb z%J>i0B<`pruEgUukZ;z>%++)3ag|**4XP}k1uSnhg;*X|msuYEvKmLJBxfzv z81J9dC%kW2f_UEyS4<)KwD~u@|1yan#F;4$D|_Q{mfs5 z#QWUPr@(vv&?4Zy%S2*%R83}i%!?j)4+t$1-p_(~OA&zu;N4QC0K5;Xkw4yB*Koyq zW2T{58Ut$L3r~ahCKFxo{#kH7c=xUDf%oimAhC_n9q((yT=Bki0#)zJZCt(6p>B9T zy|Nha{@ICw@vcX_zbO;m?~X47-Y>u8hWCIHfcG(o_gjIq|97FEZVco7YF)znuM6q? z3%FtmsoZP-hWC@>dHqwESpQVL81P=FQa*SOeyKR{ZhW^0crSmvka%An@)USa3Mm5K z2aO|^n_psx7DP*=RKeTSoYZRYA-4{^hL*Ds0z?&AG0r554+)I3`M4p&Seg|_@RykAWw z&ioq6!gsW4G2p#Pg?#Y-LiOUnd)2p#fcG{>3W@jim7fCdmdZuI`#VX*@~+jH<$a#> zzDBVb`><-Rc<;e9y!j&oYH5|H!F%r{7rbu|$OrE) zR`S4mWh8N=pF7@v3vtE!*0-p7yEbw4aw@yw{phE~fOq4eg7N+g;{E;eg!iDag}}RS zh#TH(>jCdL(3j?07V&PFw))ZQ<3m)1oTOL zeG0()#xe!qePNaS@jju7E8d4O4P$>`K&`F#G)Br07Q|m0&l#?_XF9c%QtlV7&Vv-oN;Z@LqptA@Kg9$qny`j{xsjjkK?W5brO{@YAhf zyw|HncrP^r@m>P1m_q9K%D>_L*`dUlCngp??{dX}_mQRY!F#6)#ew(NhZX_v5B3%k z@8<)b0`D6Gi-7m92NTO@RA83RDeHmvUV%lzdtE@EG&MUXf4u)uq5!=A6r4Zamjt`w z-Oe<8^o`j6Tjpu-K5MWG-f!yj!Fy+;2i_9^!P2Ks-0_}W&K2+122u6yuIB31F5`yx z7W0b%??3JSm;SpCFz$zAg!kqH3xW5B<=pVz>ptN9IFy$5{d0)-NQhFN3!TYEEUGVP6$;}(@150_}y(b`8`Yy{I@1@JQ;yt?`RnJ>gFFL>t@7w1T1Kw|@ z7mRmbwC_6)6W%+#SqQwh40OZ$h}(eo9cbUTl|#J8P4Uz1VEcZuBH_K}6pH@~S4<%# z)%!QRzw##Ue<~yPKb0;9ywCE^2k*(o;=uc;H;aJxf!hm-cYTSc!22KmMZkMTA7c3` zBeQ&6Ne{eF@-GtJUkCA)mftG?@Avct;Qd5E{&?RK;EMM(Ov4Xfi2Y9`o(AvV^>M+w z@o_$Qf7{Ok@55IDiD`G;@m@K=74N0FdO@Oki6z|d{z^(Q;Qgg-|KiVk1LKYyAiVeM zT?o8)F71Z*N!J1IEzrLAc$VVdPxRBZVEbOLJmJ0ZM2dd~S4<&U>iiqtU+YbrsTsh+ zSKq%F@cyYIJ8!&OOBDy+C-*J_-ap+^NW7OZJO$qW@hJk{PxK^~|6Gb$p6=^`_Y|KZ z;r$H|Z)yFl0`TsWo1H)2uaw9i@4uFC#rqbfVdtkJ{let3*PJA$p`NrgWYh$`^;rP;+af$yuWI2 z#d|HTUVTx$5qdYghksBEcwe}wV7!+?yx-YFc%Rm}5O{yv#|`hxE&<-N5bsG9DE@Jh zpDv5>{>w9j_Z~@z_ik{-6w-P0q@Uj zEF|6|aGP3c!2lg97mG=aoO+ zGxe@`KgBd$_*m?J1{w;F_cI+`@ZR)BK6wA?i3i@7E(Q{BTye*Hg5DMHuX6R8i|S2+ zW^%#%n)ma-yLEwn>08-uv&=+4V%*{-8~H|7*W z)kV0YDR5QWY=9h$&7`@mEHlc&BF19128cd%? z?mDY%`#S$98~3q%blyjo)~`Bhfl;IVbg$56mcDR@znN`@_M^pa<{^+U^%V}5aH*t0 zC(U_YiBcP;iBkK%4@&v&a7~n2(pxQQ2croT80~EaRcL710k^-k@=xj}t$@l5G}bZn ze*tK*ccwjB6Ct(Lk(A)F1G)q4y43D~zQ(xxaGk5tTLhtbYfolujXN5i4U+yQLVs&p~taq~;lN1L#=pW9U&$kL3yiBP z@SFm8PAh}7Uf%Allgq$wbJ7Cw`8Yo7>Dh?Sd-3^pED?(`#4pyTdI0!7J_+lj^OPSc#`L0{fyQX z&Me-@QM15QALdXCOg#fF(4AVK_XxEGT8|+A7q0k9zLxC~zt+UDYN7U$uV~a+WXMuF zh6X0s&I7FpDTed&35FfJ`RSxL{5V)`2sgby7W_IDd}+8^@R8wI@FBS3EBUQ#Vedp- zTr6%O(1C$*59Vt2xkhg8PyD6*w8@VICq|KFh00<8V7aTqx&Jn%4|9c*&DXhFQ50@f z^S%qB-2Zi)!Y*yY>!0U{_0Qli$g40e>^!(rl=PTMISOC?hxPO1 zk4Qg{{z$8zuQyQi^DA>b^z*4ip`Xvwr;*i9D*8G09_i;hr$8#qp(qsxhx+N-l78L+ zclaB~#}7k=e%=oWQ`@qBw&LlMw<`aa`uVd&RX_XOWBt6lYEkv`b88B%pAD!}>TMDF zd3o!?=;x!~{P+6#>()H~`Iv=i&VA6&jUTz{=YG&WX|dECF+;dHaR2)d+W!t$eDyT? z86(n5EmKwfTn?WbrmFfm2%ld}RrPaed@i4=>gQ7U?3=3U=aTsRV6&>9%ai`!{51O6 z{D|~(wcZ~3xz7E<>u0ZP|EizQW)-ZTw`b+0pU?jZEzp!&AZ?J^0&51*{y(_ltAEkY z10UwApS#Z{7+N}je%`Kk(a(di;09E1oU`D1RB$+4@l~GsIV&qK{ao=4r+z+mx0vtDoPwm4|*FHVgFgw!i;HKbL;ss-LsXJpW}E^Ivxq{e1VfQ$N2tPSww# zl`mm@q1a9!sj(g7ZTC8ur(W|XR&P7Uk?s5RMaE^AZ7C9MTTZzJ|1|15ZeK)tJakqv ztUkbS%r(R6FYbV8bLfZC$`8oC<0UvagY_XrA=!ribVkeB68M2(#sJ&_A344={A)DY zWVBW&iGe$!`@jzv$iuR*6k^Fw9}kKU63(H9b%>&x)*p){pzF0>5Yn{B(|r@agXuEj7u)9S$8C%{wCuhvsWOVd(HeO8kBSa1uN6Oq38 zS*(8JDj_YQ4Q(gxn%9_rt_DAqATC=?D9v;pYKP4nQ(_zbl#r4V0{_|rmPWPn)1^k^ zD1#omexsY@I=XkG$S<8rVV`?c$}LiqqZa5$&_^u`w<88OzFdk7mTK#m&H(GZ}_Fx6l0B*ZLzvFzU{+_2h4%Xh|i5RHjU;VlGiaa zQ;=Q88r!B&@{~FBZ^7sEZ`nHfw=$ixIz<0Aox^gh`;C@mC6O=Q)Zn$mc6^YBWnst_ z`z8u^X5SVC|5R()F~DQjes_N|m(^Fe1axx7D_EvbFaDB>1#3@KW^1Q9!xnO6fIgm>@(=V8}Z8X2?1^inn_%~o3aDRadz!eh%Z3a1IJOol62|1Nax^mn;@NCr^dAyk8v%Q zqoalJGL>S?LF1EfS@AGB`B?{@|6n@{a78RjdLRejiuZDOwtB7x^p~z?)8V2QqN6UQIzu^oALRNx7j>A2NLjf=cYKvMXiz;qf*J+#m&yYw`8AX z1uEQW4}q6uy>V316l>eF8gw(XN@Mt8VC*z7MV9v7?Ago;_S2DypOxfCW!!QvqgH9{ z?}4BesW_FPb1)cLO2DMgiJ?=?`h6VFGL{AoV{m-dXl;svW=C!amZn3sX|Ps)$=R;4 zJRo?;{a9XQIPfQ6rW8ZW+<%jqc^JedbCvqN`*FU`(YtZPOy&HX2kN;;vBsYc#M}OC zVY_TjA$u9y*=#2x3_2c7Yg_o;pZ-tF2$b~wz3F(OfySHZca7c2_)2T9WK%>6JDb+V zhNDfPzhj)gn}TW8@kKMh$uT2o5+%=|rdqFgiKR<@uAuk1i(dW#FSlb1De3Az!gVU+ zhj1BeO0bOsm#=GBoaLY7s!rI)*h_+vo>d1L>=v2A<>a*{?$h**N@HuL4EVE$5;jgf zzeBWf3;Ss9e{h^QJUQF80AEN!*G2QKhZeWfZyY?1{BBMEM$IQS>rCd)XwBf+9$VQS zFB)ebvmD2{RU=7O-zaNfx^4QYMy1E(f6nP-C>!?IT?f#i%@X`*~)# zI*%y#bD`W1oF#8|Q(o<6E(Z!MHoUY z!+J~Y>Ud*G$`f)iCAbz;kP8J(pJABPRbhYd(5_hL!EpVmx9Z1Q7l}Ib$2!=Z{nv;i zD9oSk1k|r@M5urKhca+A<9xOwZ5JY{r4MO5u5rM+3?K5-Abp0x8w#S=wt!n*{KzC^ z7_Pz{ekdjRhXe;VRcRbk@%oZo%P#Pjzs2qBl2-JXt8g z2*Ai_6{x>v#q-zXZ8=)`zbXBE4&?u=TAxOg-#ll2Qz*ap;Cc%3%luC8M4AHM$xGP3 zUNyyNIYb?nX8!0OCzmpdo}~RMAH^#K{?S^Qf6gl?mKSKl zFm~~F9Vlt#Esjbv3ooM~B{0m7;-SvuaKSg*HZpwI4(Fo2zYzEpBo}DF2iq_ z8YPY*t*W&A?Bz7_P%a+PoS zOR(!q*#`~ zM;#PAWx^ePA%FT%L$=Hr_nm^9z{yy zaT965X~mzB-@T`VP_s>dW<0e&M+u>}MILm|IsV23ZDN8h?IePHnV`BITnGwN33?Xp z@C*4smg*k}sye!@Q^3`gia3*b!p0PQjmO5U&QxYbB9+jXjYR)Yu};knBDHn(!uQ0` zpJOYxA;RC11#Jq5*w)=57AafJd`$Qn1{Y&yz!EwnvUO`_Xz49KbGjI$IOw_%oVZ zxS@wcnXfq$-TYfSeW3SN6Q#9sCi+DrGEt%=FEvq(md->gMWPT&B#Gi^GJ+QT*c*hJ z?HzISEg>{80Rx05z+H%ZSu9@}a84m&0~gI@K+dfxXA#=Bf`iAl#avz8dK4hO?K?C@ zFg^`jsg4OL0sWIPxUGS#cfh$M#SNPJC(YlbLb9}k-lz_Yulwo3NHOT)E`i)E!<{x_ z{%$TLObw%+N3;P?-wfCDA-d$Uwv1wWp?Sq*Msp=#eDe@$8yakE&Jm5RXNf*&RUhN@ zOPE1Q@C$QXnv_ZE89|8n7Q`DU`2;FIRIk!f4rxgV?(?=n(sw6_q$`j*wnq=Bd?Zvp ztvV4`uZ==nDBR(1G=9OssjIw=!Ku&l>Y}aGJA5hoJIgs%*BAN!ER$0e3-VH%A!RHz!(Xaoy~O48fn>4WG7LW_ zs0>>Px3S&RY7l8l;Q{aD&rl=258^mbJ-@+ucmpj=G<%$|9mO-?A&TA!6MDyJ{mVxj zvE3Yx*f!fohPX@sH}Q9$0FID;)`*A`CIj43m_^5%suNy5(eMH*EhB9?K_;J5BTOjiS~gesU3im12IGAKNJebc+6#tvu|TsTLPXYaV5c)>o^u~+bxAE ziOE3tV_0TAja?gOZH98EN%b1-G|t4yV+#0u-=NG8rFkh6NJG3h{6F#~vKG3SSw>4J za9J93h@5_F1!8$e&`~K#pn+{yq!iSyII4@oOt-vQqAXYF42ub-7PcEw<~VN=l-Oco z_jP$qG5?>Civwq)Xxx;>X{{KrU0VECwirO7_GnKEC7}6c5RMAYwf zFpdcXDa`t+Am5lw-8eDPxTdKKNjLkvb`ff%bNR4|e(( zE#_ZTr_!+kd~eX#a=@3AU_Q#~;-G$2{9#nZB6ptIi_K zMBgUfc7xUj7?9gF{}kgqNp#Ex$Zy&n>gNO;{>g`#4J@u=Miy5!GtV;&W#A5z8Li{9 z*#ZY0K}iU>*9r%z9^*Cg7F^|S%KUloR3Kfxl%tG4Wl84_gOB&2G9PqBI)u-s#QYCr znU2pJ#rG(2sXVxnC4F#?)_I}?C;OvEya19CO%c>fzfWsRs9ltE*eiJ{hd)GkiF4T7 zKH>EdVSm#4h}AJ3=deHXht@5rNYS1n=f*k@V!wWr6NFKM+1{Fi*f)wbHK0w0gE*|h zvADEf#7G@WlwXcADm4N%`sc?*Q{YiT@;y2~0$a`}MsBK%pGb|5it*isEMF-BHGTwS z{NzN&_?9X%2DZdz>kn6aFCTcUj!Q_>uqw7aa(O<-LArQEU0vMVoMd;!d1W4a3fJbyhUdO3zRz$!})!Vuh%wBc~%uxxeQA$q);?u0ho z?MK@7LP&u80}!&guQ=g%sA6cg((jcT|3N~Qd>q$Dy+j%?M#NSa4Qf6!4HbL{9XxUc z9KHDAWWgirf{Qoh47+$Q@__I94Ip=RGS|K>*jz(f-))XZ}L$R9cMgK#ga0ySyViPFl=702WmxWnJ% zVOcc(NJk_fPKIP;lWYyA16HDUu2PyUJP zo#ZRTM#FnAP(te;ivt6cdp0zpp)x*$u7xA}=)9Ew!Y0me7f}!oo zt*3$e0kJ5JgWy`4bYnNT>lTOSh~TgjL#TqcDKbb20$qYKJYbz1j3OTW(I=TXDtKUQOxEZ)}Qj7cnWS;a5~A9x%tIoySquvb}H-R*RcUwzO>fc)bq z>@hqXWbtp=|Bt#a0k7%m8on8B5<}b=QZcovQ86bfnlz#b2{&9*Ye=b9i-?+15@M#g z7uR)(nX0O>hN7)Gh!{gDO3|99a*mivWlrwD*4lfYb8dw9{l4%0{^$Rnhm(8G*=G-H zuf6x0S82&Xv{Xp8E3bN!yP!VLxhf~aGk!8;9LFZ3z2v(^n*IBpv<{xjYZ#rNcxDM8>I?x zHYxcgG4Im8&3Lp`ecw~(&5kzr_YuKd;rcD0mAuG>>+7JNtUc)W^Mbz*w@>{R!0!1b zEobR8Th32lL1fvuovE{5k1)8z92Qwe_`dkvF@Qr@5u?BQ9V~P>+oO_e)e@;a14QC% zxiLPph5r^t`pgl5q|Y1)f25-~Y2PFYswq3f&uzkyHg3gM4ve&VD;%jGTzle34>7uo zjGb%|J}Ecs;ge~Bj3<$&zTX=tO3la388gb6$OIV=&0U1P_5Xl#@vx8d@eis~QY$xR zoMHZ_$l+l6ko!gK6x$9sEnlUY!z+fN{*O_Ba*RXhC-iSpkH>{8a}ytqJ&uFxnrPCX z_6*0B-Y1+^`q@8lrJLYJTJ#uKI%OY|I$%q)3$^;6AF$rH!WBsPP`wr4ItwAOyFi;? z%vu<9c|RpaLdrK4iH+Q&P-Sg~uhO{VoX#pF`VJr!`ue{Gsk!IXlrNzLE-lVf52fw2ye5)~{{_Tfc#bI)fb=f@hx2nczvG zlU4P38-;O>YYBR%E??Kiox<%6^L`ev&2Z~ss64JfkUN_`hfX?vRLGr7xiib>R$~J~ zHR(MCs-M4yAn6O&B!p@fB6*8nI9*Yl<+gdd77e8Fr)(et5iJ}@MbtW~QV}yc7CBO1 zK|kznR4V;Y{XIcHMCgfrur}iK!xOzT{SbJdB>m8X(+_u5`e9E^K|g$XP^BM!)t8_j z%9GS8$;W7K%jt*rnGHz8aY#Q@nPPPLrIq8>OX-K-iE7i=4MpJ9gKH`gebwMs&v2w4 z&bbNt!6g)T70*!GRety#ca`iA*i|9{)X_nA@Qex2q_eD1h7k}Y(^>NN86B~&*$Z^U zExneGxT9C-h%q&gj&SqP&=GgtOQjXw*5n3+-h~I!5BB7BcAC?(h*$`|4TaJb$4F%dA*<`3fvSr zB8$@z$p<(cam|^I=nK!~Wo%!LwhgEmZP+rPwu&&l$adPd!k7~N!8w;w@*RntjQ!3= z+xjo4jbGKwIw|~9y8C6JJ)o^4JHKzj`Td(Q=TBq5zpcL*L;p@Z1Yj~$qviG_lP$Mg zKxApvQNAQE(ad)AGG-nk%ELAVGvC!kw3atA*Jh*-oa*P58_byY3X|3Ag0ka;eW*{A z^%m+^yLbssYncaMcwAmt)kT3>Cl0eH*ly)W6<)R^?x$0XbWt{Jo9SA*Xw4ejbsWK- zy7`O^d=QKa=RRByh11!4IT%;T&0tz3Q-8x%at3as8j=#!;4~K{9RtLZ4>I}!+ReF^ zWmV;QCF!E03SESBY*hm6BA%mbIZkkACwscm=rLAB9R%GT+JCYAw+ahnWH5)3RtKg{Ghcuo%NTwT*z38oJxN~7X|^q_F5ZC^iZcxgucWz$ zIRWcWrgX)^|0TR)GiHxgkJ+QaAIaknm44fjPv=18)i@(Vo3ot@W~5hhoRL_#c83{} z+Z4QnesgDz9;J3k9Juf=eNu?*kAHpqj(G20@R1zu-*2N$0S{ zr&{`;>na?<#&?tvEPe+^un?{@aRgKH$^S{Aw}J{dy)_-H%H?vcav7Z7`n`bDTgR*X zTO+G;Ql+=vW)4I9S7MK8;oEHSlzydU~t%7^$ANa2*r=0=>0r zhe~g)%zuI2+O~quM?F>H*-V^|c`&!;a6xZ5_6U0Gd@iH69>Np(SgsSjwE~VM$vuP7 zTX}gU=q=j;mEOv!Ld!dK5nJ9F`#8NtdM8{s-yzNN(E+}2=Ayyls(j~o5+h5B$7(1|@)vM;O&*o`kQyv)MxY^sJ1Tl*GPn$<6Dp2?l z$Y!RC3x;zsT3<7U9!P9qwEY-M$`a^ycH%&zZ6fAdpO_q!kyTk^pN;9dLo*XUGlrRt z`XxOv+FJwl<6*KsiGg}h8Afj3B{Y+!7d4ZLoO!Yi#|u5!h7vm_WwK`eNYc-NliB2T8)7Ru#WbNv9_yC1hO(Q@FXC{*4j&*Alr0? z{l^XFYUrkqUOhB1ouh z@4-ENPWYgw4^x%SKBZ$GH|`OrEj^**=UEPt({M}#pgt#%(b9)>!UpdY6&jc;{ zZoZsYj?-A@bPVX_V%YsEy1#?>#Okaf;=gJ~Yq7k`$^MfiBj1MGvCZ9I{)y|$#DwA$ z5+yI!M}J!w(U*Ka4Mwx05WMdq z?(azfntLQ;{P14H?XlNd(G^$jvxc6!pK0aRy3r6S@zZxLbo7I4*-i)J2^047(j5bu6qW zKqo8i4+_NRx-yopEVC1sMc_pAih6> zYeKTxCxh9Q)V*YJj2_cBe@2VrLP7uHU6HD%JB0UTi^M(dV8!S>SZ<7^o${4$^) z^{F4@0+fElQ$OP1IxZPK*&R&Z7=(`B^LOyAlQvD-qDkMXpb$on!hV$7#ptiQm>;Sf zo!LIK*qI%%4d~WWyuX#Pzw?y-N^W>RSiOJt6Wq5^?xB0f>ro6GxNalbaUcBp20JP_ z?SIA6G1#}{6I_0}5$ow+r0!P^X)!+PE9?fYOViF0GR1Ru>6b_xzD0PpAU{?x#m#Y*`YTTdU{DQ3M@gf7=vKH^-b{o!C@ z`IxZrnLsDV*9%Z>7h_92?MH?-r^y%r{Uh;w!-yST((p{$4J=y=nBAujnc5i1MknO} z)b~qLx}1i%lmyUL?NfWcV4)iF-?dN$;-NoT9a=Wg5^Y(Agms?N!}JcVxDzhX=mQR(0YIVFu}Hn7u+6Gu_sU5H3aV zOWsDpFU82Sy%(9H&F)C5-}&>ok>{iisQPuMCG1_$UZ{S**-X@D$A#{?^tUM#euKK6 zy1j&;HQ^UN17g&>E;mKu{5n=ud=$5T0;%QUS;`d+pZ4T;)bGt zaJ?qJ9dLQvet`_PG_XIYF9~}el7RY-i7O?4{EK!{na0pFN&O;I9FC-wk{*_Nr_!c7-ty_H^$-(R8or|ISS{YkjDUP|}o zxBEs=(9BM5oa8kNdl^k!p`@i!+n@Nb`@nRPLN{w_oG6!bIqT1t+6yve?QXP#aAWar zd7`m4n{e2vFO5GmHR}YE2Nk*{)iv6JM^;y@-FI%%n#8~9E==NE`jeCT?tEcpeaWaX zvkvkGQlv1A6NrQbE&a)a1ka&z)dl!iIKgRYq&)2k{L+#u3k+Wf^uT4As>#r+2eYw{u{}WvCmHfBX&Z}yPzIrDJ@04Q_t4L9rJviPp`RYwe%90K-&J^(@G|?*)d^m# z55q(s8ff8lYzglN>R+*&1O zeAh$?V&?Q3B4#GrxgA?is4=}FwbresplaH}FMK99QJZ-Uni2H{e}=8NLMtX})%#SW zaFYm&A~%V6)=V`!x=EB{1k!^V%uNFSvUaY)FMKH<%~smkT&zboiD!{CoZK1ATZI#4 zarD&pLK`t09c$;OnaoXMP7MWM6Kjy0gr0_$1UL9g?t@Nk9X9fr zY#Ses(^@M>-JfcR^0};hIaacj z7(hOt)jW0U$hf3D{K982DMfyqAE*Ka(-=V(9)KxA!%qBX`GIlk|I_@yuf6{3{J`_? zOY#FXtN@|11fkrj3_<{xzp5g#-i9l_`nUOkM|rd;PIH6Ui>v-O`GK1s{cCEm+Z2O6*apYsEexiqdid|VAy{wMeWA6HKQ$1#4OBELTw z$M}It{C;m7@dK6l?WQ>52U_LmU&#-&So1&U2ioV*up9DBVDGH>uki!@DyS6b_bdKQ ze&AwD4L>kN2mHW;%`f2xK3x1Nejs@D%lLsBi(kbL6s>w0KX7}|tN4KrTgI6m_~g46`GM+XR6w`-?j`(yUQ?*rcmE-Nz$aT@DnAfEyEJ~_ z>^DyQz{&UE@Oa(&KjQ~xJ=d4Q4@k30;|D(Y#)%&=Vf)`sFNGfnN`ale9PRWKDk(dC zK}E{{3|D;h-{1#s{i83z4@Ar=jUU*s)QKNh9SZ%-p7x*N2R;#faN-Ac*-POE-dgI! z57feL44+mSKj88ez{{K9bsJsQFl1LFtqFKg!%{KA)7e&E}u#1GsK zrr}5vo%n$s^wjs^VvQY_vW?y>P;ULJT-V5#+uR-lVX;fp3XMy91`=)8{?W zGs~L9vG~=7g@q1bd-FO)Wz^sECPiGbPPBZAPPfLNik4e=@RrHOR3U|SmU$ui>N||a zt=r`V{=(hgC2L+PxoO*iJ9>JOs$FAmTgOXlZ|l#z;L+Z;4D{b%Y2$@l#c)50d$^GJ zn&CcVP{BY#dc}#{EZNE4Ht!L9Z=UBtH~-MhQM9-Hd!8CAvB;BI3%FwdL}R~0)Lqry zwxhLwCa#y_hk9Xed)*Hk;_i~f2K^0nNadGk%x$kf)(dmnC@-#4WG<5ELVR=azqGeK zrRR0m^%DN$8r$_pps^{N_f|iLX^F;F8Xak~3kLCTpU$%ub!^i_E#2wfR+XT*)_nCY~z~Xcy|VlUc~>!`>VxVe!Y+zry${{jei;brYG}PDkS;)NcbbY zwuv9Ku&YdBeh+VrK{!kRI*w(C(tlBg;@`n_T}uRksL#7AmhtTgS3pK!(+{jcMSmN( zmuBrLa>zZ3nPFc=yOXo_2!%97y9MdlVosXk+{m96D}Kb$&gQgrnK^B@`pXSvD zf239$)p>oB3=zFMKnK$hwbLKB#GWnnJ9M_&25Kp5z8a_R<|xFVFi&MA1yIFr!!@_1a+*COHo&{QCjy}op=S7` zRR{zZxRFfQxQjcJFBiGMi8++HCnIXiuiV05ygs(K}Y9h zL|k5%cBjG!QVSG6w@~WmJP!raCwox*3%Fj#6<@J`)C?A+D8LkC#ZNm zfaCSAz>mtY+W3x0f6rF!qcM)*x*|;+Lw6%=^Rx=k$G(@7kNpw3N51MmABrC0-^^on z#=3kVFM22k<*V&UH5L?#cySoN&@9nLSd00FOC1rLT(srGtju2fLXNQ4UXn=mZ|({d zZn%^E8(cTx{ER6mb$+lX*K)M>?^Mr5wVuUP&qBDK#Cj3k0P|ubV=)Ge?-pD!FZB$g(QiQ?^ph!A>OXXhFA;nxiy+KpPNO@%J>l|!70kr zpL13AnG9F5|Awn4S~kxE{7A!2q~i_@0It0p`uuDgdXqhrcOi&Ezm*zK`X&=-*@;>{E*PANS*fZX$rnZ#w$r2J{*G z<-+3Lz@ml`n(7l*7+#;HOo}ut$4p5+0r*t^^9grdH0Dl%H=XTKI*~PL%^ecTFR6!t zq5ysm69ki2&PH&H`Vx4bueu_RE&)EJksJQ9!7qFUFdXl~1@JYXU|J)R?1opxG^c4> ziyWK=o90eunY0vH-hPq$0QS1b^bGnoIEL7okzR@3#;{uRZy_N&3hLO8Fqdl1 z#Nm$giL(A3WxbEw2hgTD$6R5ya2v+RcNzlnIuYN8YioQ74~e+%4>fXd9Lg?ziJ^Sv zUQ%$J#stT;+muLELG@+Jm}i2^g_ZHKxasI0Bi#gCk4#tS(@M-|#x@)#ZX8YA4TlF! z9Ol1sU})46aK%@0)T{LZBx+s&Xma5ut*)IsJJ^1}jjU;<=4BFc$dAckUR^KPf4QAj ze?W1ZG~+>f`zTU)6=yrq+dngUd(SW!&nOy?k2;>BVjNEaT=A8hSoF&A91-L3VB@(r zn~mr3j8}~3$VeX$)3s3!VX;2|DXY4Pi@N_91_Bwu0}%vq@2O2(NPCOV|=l zlxiDAxrXEC8E$6lNj?UP0@X_LO;zqo`+%jDi&#mIHJU4}+UoEuQQ5?uOqRXrE!+uZ zCO%8L2h?Bf#VE@jvk0KveJDVAAVGOUkpksKMF`~uaK%@0g+h!pk84ZzMIm$FDNZ8j z&lC~#L5inp=LGvU6hU|5aj1fh8|~w~0O`N33wy<|<;>tRfyF>LJp|8$`f3MWqYhMo z>vZhE8Vrku5+twF*sb1^ZcK&4VTkan_b%s;LOYZczuSJVzHj% zmA@WlsC(^NY4YljWUU-{1{c7t1olUspa@{Uc?;wJe5sKG4=&KQZ*yutagt~|F$vm@ z6Yai5_8+5__JEMM&)aK;?Oj#cYlQ7h)V6m5vEj-L5kr@S_BnZ#R`|I$c>L>W7(*Am z)V7L(^O+0&Dpqg#4Y{;@KhZ&r?IvHZm0P--l!$L+SYt|DT`-TE0p2 zK;t)^=mA}Aq6bzUDxDr!aE0gr>l>UNxEe3$fr77y9%v3UWV*E@ZV=Wy58W9ODUX9+ z_zYI+5co;-KshLwc7`eBn=XVo+pzKf3O(>R?BAsaLUTP-dcb_inI0%_E`=V*eDr^n z9ta8hZ_xw4O)HHa7&j0JIhwdLIc(x!y7uMZ#<~Zt`0C%L2af(pi{|_3JpOaa|0X@) zGOaXvU}GGNX9A5!r;g`gHjXC?uK4QTrU$bBpz&Os#>R8~tN#Q&5c((417oxQhx7oB z|35|#Y@1q=9#~dGLl3OE4)lOeszMJ$4*)0+BPf6UT!Hem=LlsBT=CTl^gx#}uc8NV zKYs;1Fryai6`w3}q6hZ(C;xA?10K`?ceu{(DCmJp$*-aZ_L^T#51g6kL=P0y(9i>C zs=r7NBv^r$a_tBB|R|Zv0C)%$aPli>dSLH)TH%MP zvK3x5QP2aczH+7q=COib^Mb!m6!gH1iKWs53p`bNV2tNWv1b_+ey6|5=0OA}#bnIPja$Zc*rNFxPMq`DbM}_6rtFNHse9L-CKH<1xds3_RcA zyr&GwO{!y%@+h4v#{d4EhWorP#Vx;8RUG%_$I)>g4Tn>DpHFH1|Lvh`?~cD_!Y_OV z3vt5V{J5_P1=HG-(l0z79o_b<683ko8vDCu%>FK3qjpi^=EK29;nT?WuuJn&Z4UuZ z(%(}w#)t00_;7=VFg`p2zvPH)9T`6SQ2eOa6GaAQ_y7gR&ON{q&?~ z1KgI^XyOT?z8FVfzReVu?lhc*G#rz^5&+slDicS_Ex?OGUP*cclb_Ui94TA^U@%OF z$%k~&oev2kKs(ro-YR88LWyaZ6%A94D$EW@mRs-9puSXMfM2BJdIC;z%QJ{~If>rV zh(spQMFFfaWda7beoT92Qh>ZhC*ly9Y@?vd!~9e%1_Z6u;JniWN zkGjDlmIOyx4~*cB(40&m>}0}4HglrJ+;t8btIfl-j;ekT-KHsIE$+$1lMrC=1Wn@R zkh^fU!8{#9eeN*%S7n)wW9)EB+9&u(sg>P?R_8Bv-gunmc7rDszgob10EuF!sOIC` zj>q|?F%^f4?JVf___zJlt{AB*?nSiB=1Z@O6M>4J{O*e4=Aw4gFR9bi1&JVyx-Kie$%~?2_AK;4bVJlw- z6u$Ii8HH&K)cRjb4U_o{d`R@H)EfqZ`*%n z@|9!!B*}LiCwW$|a41K5K?Pl@g6e7oo>YMzuJ}rx02N@oY=9}OG3jOsQ@Nhk>U*R; zW068)_6`G?+AO{og7M&eF?{`&`&jQLxTbz86pxlj7N|zrkVuG5b5 zFd4H8n9CI~eg%$*qAIJ!} zSiA;zf-6OU)9~jMug+u(Zx8QipNzrd@^BJ;yzFF&tr*ihVdQ5MDoTr$^JPI2H#>32 zL-V!cm-ZxcI6Xo=hP6QQwoBJa)V1p-T^>h1~U? zASBzsFMKBNdCu|!$t|C2w0+e1U1&C4VWetTXD@Wlzar>sia!**`i4g-@rNiXi9$U^ zl+jX8PrX#?Y3*^O5-9wTLOr#|qZ>fZsV5IXJ=LK#=e_Efp5+_?>IqKP^8S?f(q4wB zj#B8uzJHt8sJ0X5011bH^hOXTN3^2}gP$4HhxeMzvI0k9=VD6qOg$;ESmvKgqXUutrT z1E^H0tf!t)Wqr`n$9k7Q^-ehv$+DVW2?x64nn%fSpz}Pn$P?_TBF`Wi!#F488Tu0B zq5R;8F)Uq;yFbv~EYo`Lqgac*tP{#?#*x`R2b6h;C}Th{Y)Bw5q-2&vnLo>Mlwk&j zN2JLKrQ!_cAJPO}^59laXUhqkX~S{m$Dx?y18}Ap!dJC-R)KeNimNI|CRom5MxKTv2ul~w5?J-bgX$-&`Us%=BU*v>9!}tF4&YZ3 z*AqCuD2t+c4CHwZf%(pGal(|usvtLpRqwhHR#A@!l+ngn-;ar?q$z_`dsDp!leb*Q zctf?O9TsM#?Z~Rs82X37GDFzh8m*FH2eg?!32Mnc7?D&vs$!A8^z*NZ2(cLEi&uS*cxI^D#Hxl$4VDowp-?eYX)yP2!MXuN z1E6H&lwz#dVD3UYpYNAgr7gk7XsZsj2FBROH!q)#C5-kC(Alyv)}A3!|ADHNF`g28 z+)3uIi!|(r@~@4^jEVPRkO+^loBWOIB8-Np-!LEx@C)rCI@(A3QM5?RhT`sT?03jy zeI9AO#-*Fxb(6=|))}lUA5?3fjzHtLHCYcCU7i`HA0YOleQoQp49PX+hG+HxXw98a zcx<4_{(&*&W`xNQeK9KZiNTzwLz)|Rt6Kx`bi8IvIRXo_k$=(>N=b}noGj(d$}b9e z;8e;N!^4Ut5N{Pl(dL9!peKtsY;=w|%nfjy0U#y)5Y8nm;C5fQ8T!c~id~>u{x}}==LhrhdkRJQI6wKSYDbkKHIu6W1=bNK zL~g6ZZR!ZTuq@>}m8)BzwP(9%v?9w2m{nUEHnfn^XVn%=t2w=hiS$^UNiqU9uhnVn zSMB;xit{uNj)V@}{_h&@c@yDkZXsBDENu%Ob`AHtA=hw$cz<+_w!N>$Va8~pMVF^4 zv3HS3maD39)e!?D;sKu5^7whF|0si~$Imf%N>%u=yHeLtjMuQ_IK}VsmQ5%!#P-`$`=M9) zX<`rW!P@@rNdUyws5QXFx9Nk8O|$x|b*Tvp^+}ReF+!KYNIY zSZ`#DIKP|^2|jp*^C1|aTWUFojtAci4Ie_s!&Uc^@v|!qQh1OQ#ja2TkH{oule<3G z86JOj0C*s3rNR%C<=8gM7roIYX@s+%}NW-US$8|T6CEcZQ#X$XX%Um(8#cW)S z?_b7oU1oYmsee3;D|~;+V=u*pjSD?Y9Oq=0JYG+j{-<;jF|tT7j@0R#GO~P{M_hHK z4!BH)TvnFJN0+hlJ>fbGJO4Y&zkmcvj&z>$>LY|5H|~qDrx~VYk=)+5{KZla8J*K1 z(|Fn{JTpE4ffDoDbn<9_R_9-r4{%8f>T}2)aHi|UxD?w^LiFP754ea*Z*U%1UVRAzx8v> z759$y0&XM5@Pn(>vvehrCZ{rUeQq}o8;DZtvEF3jE&uq8W@tqk z_2NC=i!Y!T@}8oS{C{kIN&DZ|Q5#nX)1ooQb+=6%MKX%3)|6SNo zT*<<=KK#OGnE&SjSF!Dm#=MZs!qzg<9rYGccXSj++D=1u9;rlRXROJZTS}Z`>v=Z5 z%09~Y3~YRs+Jy2KrPMf_{X@8#W=B;NdbE$ZdL=+D7^2oornnUGG=};-dNg~ zWV=E=OVhR7{*1Pyy}L9A5DNG@cp%%w^Q}5qveliR2}btS$u@_J8OtX2Q*Strc;M}I z0ype%`6$}`B>NdG?Z}rf{0uyxc*Eq!i25;GJ81M2TCQt2e=8Ro9npH7H7}!joq2h1 z!9ke555XgcNr5Ksz?(~qCmn}3mX0LpP!o}cdud@~Fn7eW`B+~9&5E5RK%?_!YA7#_ z8tR+AOmyd^F#4r~#;oU}p~~e1FKzCN0uMWeL15Mi!S5dT&~e|U>r$No!ZE{OzRM=q zv5i!nrm)5nb||XOv6w?GtZ~?O9PCgx#-6YF99>g0Q7tsXLuv36OuGsIw;W-StcRb& z`O(K8_aM8hBRD?^Fh5nx62(&chzAo*R4vE(RfMw1dbEUS#;Y8gpiFqJV>1Mknuekj zYcwlTSFfl%)2O4}%F&3f;)uwF5N`g!8w&*>uyt0Z=srp0BfYrf02xr!fDZSQYJW=e zl()UaJazHXs0$wxlSTL=J^qBtSxcEL!z}d6$Em93#w9YTRkTr%H-lC$|N3P??&M};@7dM8-0~Y3|3pJn`LFUw4na)O804@FWu{ zA*Z#sz^jzCm#XpjZ0V+~y_?kea%}CnZ)Gm50S0q5wgB^g#@RK|?xeV|b|ksxSae}U z;{YENO#F##MN}V}+gjT+!bY51!W*W2AYVH%xtUU>J}*;o&t9a{O5AR`^DyUq%b~zX zqTg-GBPap@zB63;gjv4e$vgsj!3o)?kjEiM{qHA!@<_&q)1*WhcH|l?E4fcs-bYY; zfx<^m@RK*Fd?ww$?r`Fl2RbzIf0>C6tiH6059b~n?AVs_du!q1 z`~f`j-)B#93{+@}yp366D>v zT7Cxmd#oq=vlS}+-G%q3gq$Z+T8H<8)OgH`@qTCl_kW{Jt|NT*Ssd|nTrOiRB6Y)@ zJcV!hyQMp@BboY`Up;h{nSFnYUlG2|;rh5Utz+80`L3Nf9tK$DS7ceL<2BglS7KbI zeBrK(+)vDZr%8%!@ogPH;QpfU79=gWl+Bc{_j*8wf6eCcK?b!%PUR2~hgDcFemsf2 z*bLX=&U~9oG9w_i^dKOop2R*Z#B1Tb$KC6+bbmNGy8+#idXVjN zmemw&#QRAYAR3N5{Th*d5hpny?BSaR5x%`mJ@JPtmXL-|6vML^p!Y!!311{X9F9*( z{3v^p;|Hcask69NxvHKBSN!SzOGWpB3> z@nn<%Snm_Q{=+&mW@30Y$H&uB?ofg_O4Yjq;bU0mLAc_3d6Td^lIF#7y!n9HgBENgyqVvG;mu*3jd#^^RN87{c-T+) zA=j!Hf^Z*vO!U82EVb1Gt{t$gx|Dz17Cr_x3MpzZ1K8hOt^;K7XYgFE{#@*rwGO@NUdxN>^MI=-)`tlMQV{~VUohcJ9^!uu>Q|=xgaibDkKF+u&l=29HsWJ6;G?Sx z!%4!&nMAN(fND(Er9wmyasz;Mh@w-%+?$L-j_VWG-7!2%?Hrm(c1p%^MbMd57qi3s2{E1`a1T* z<|MCF^WKMuy!U}pHg9y+&?mTPw3ch}kKD*EV+$Zv=f2ExtsRxpPlkrmm(x*m{s@yW zKfruE>0fXjwi1&>L{vv;3rtP=kL7yXTJIJjk!y^TZe zjqyrQ{v{PS%fBY5CMpJ}cmbJm(LWmbS3|MC4g65Ezs>rm#QwIvImthdh;^oaa+u_w zaP5Wg+^*F(NPD_5`PWgDf30KkuLfNH)uqrO;vRHVtsceLK4Pz&4yh-kEMBNOmpXf7DS z!unze|8&(1;W9u_Zl8^_h|w?Y`WEjX$Wsp~C_Ld1f_&T|cAg+}hFV%&Chs%jqL#d7 zzMU)(TZJ;Mzdb`QkUVE0U#9#3R)}Fgd7y)r3 z`x1%AgtfiYxqT7O?ZTPm3hp{JsZWe;R9_^wP)JLqgghVRJxVF*7n*$Uu+?bYa!4c# zE33%e&X{ZgF`>UEmZ1~sFi8_wmayAKn-Tcl2p_VFLF`krgb`y6G_X7Fos>3Rb4NBR z`8!`Q4_~fl+;Rp2J&?$dZ%FVlF+qCP9`QGW$~E<38*m_xu=V|FWR1IeX)@YApqrjN zqphn8A{)v+ayiyO86eGs~ie+TUVEcyksKNYY z8K+#g2U8C6uv>t%QAfS-qd{xzrZz3UZ-j7gr_@>1ZuB+EQ5bHb4wa90hn{HB#;%FP1(EP}Zo; z)l`#&M#nKZQ+>FtOP2IX>ZZ5xmL2$8)DT%dE=~!Zej=e<6!~oknerWG$`Eg|K5>#M z>s~-zIl74KMQyEpY(^jJsg%3+DaDhik{nb`^n1#w?D75)(LtAu^`DxUIXca$e-}6+ zevimLK;8wt{8DbZ(tH{$@1c|lvxi=HoM98IBx8DnslV*OEAF^q{1>2}9^wOQ@Qrlb zoUXyuYaE;hXI(Y%nt6V<7Dy`f?Z8=-04*PLPuc~jD&H;^@ns^Z{&`5Xas5BlKM}5n z$0E1#C_0EGo_0=hb$}i&n%xDl=YINXlQM0j`P&ut^83DlV9Mfo7#>YLV+|x>c&8c1;g~Cu|dmi zAPaUe9KeaMe}<-&(UKVAD8j_ta{w76-yTJL8MB=tz+kTA>4dE#J-EQklFAt-7aVzt z$nW*6EjsrVs&FdrFI{ho-7N1fpVd4+Egi$6r$qkY>(VZ~|Fw|Io7(c=dR(8j6z@Zo zd%%x3Zy|n+-0PvsV))T_FXG21a6K~?gK%r@ouzRRv=7T4arufp_~uPF!jk|%BjA7b zDtPQi^}Ghx2V-$LD_HdSRhj$lYZK6+VN_WrSG@0>zAel3MeMvs&)USo>C$`$J6$r{ z#OnBA3Y%SZAu*h9Vr&DNU zbi-E0#hPp#`kHLx;*Hi1WAR}i{OF56;KcYaUen_~u1?$DFy}Fj*1`z|doPdx*h$J{ zX!G8XhHLW2G+L9cVVM86F7f7nd2 z?pnLi=~p`1phywYPa)ZTru4xFMJ%|J*^lJw!J$w)O?e3Xcue7-8o;k9Q_Rq5P z@$KJaODJXgr{n{? zN5tC27YjTMy{^U6l-&xRChSH$9R}A&i0>b2@jb?xA9Pm9k9nHi>66?dZ3{*@Y zS_aGO^PSprNFms@%RIiALn_mf^9)yMdqLR|X`v)tTh=2Va@eYm>^YJ9r={#jO#Vl) zt@F{kQJkIfej%rV`5bhW&u6B7$4+H3SM9{fTme@D9-dPbeSWZ&-q_&!h>&#x{Q45h zbaKicmF5{_E3%-5IPL;A$truM1$IAXJ5bJUUm3+2crGK^){R3AAuE(>~?ciVN z>B;S4uSthr6R@V)xCN|^#BM#3-*pamM)noVxMA947uwYms~D|0jx+eHHIRm0hqyh^ zQ;O4&^Z@#9fF7lvwF41wk>qbZp{a|Eag3r~w1z9b&uWBmATL4bG%S6d*+9U{^F00! zm97F;d~dXSZ@+}nj__+A0BUp{NS?;ng%bQBvjwphu#UG?LvBo^L#C}JH1AqJTa!WC0VMViy>7d??j6%uh114-+$) z-(B8Y?z;5#ZDD-=6g4Ggn}^Py;u(0i*hcyfxZ-<)wLLr(2bYM-6sR{SgV!wbLbR=E z>mlM&SP$}`2VIzNQ@w?R&w6vrgX|bN*1O@W#Lvd$9jGS7n{L zFWdBU7QQe{zyRsC8Ttu`@V$j zIck3R&Qu@*>By!FiH_81=y_#oySls(i~1U^B;UH(ZZGEL2zsdXZ?PD74BCCL*UGLM zf8t2Ayv@0)K1PO&_DZUQnt-KEi_%Qex29e>|2{WqdobEKFE0w5*Cuw2nm&XPo^NgqE~ue0{)i@1-? zC=q@rZpr1WtN6F%dZgSV=@?gjE_L3-l6OgFKrE>#w6sSg@%a|EhHG!Q>(a)-UXb3a zJ#Gz6e)Q0dW3iKZlNX|Ql^=13s03FmA@%v3Tynou*YhWSvPq-AhnC-DEwAJmw8}!u zS!U%uAqPgWkygCVk)sph#iu3Wg4QarF1<^x%R(Jrm$q7qu*J|nl0J@0Re&F+u1AFa zVFCS7IQEYW)9-R-`$Q`Z^ktp0B1iKT*)SAl{flC;9_qq5B8{%Au7~gWddRY<>lqy( zVWU7UEo;xq*B#9jM&Ny%N)Y>w=LGxXJ;lgAhWBDk2=t;QdRw52mmG`m`>Yj5SAVvM zy3V0mV$U&jo%YV2xQ>Vmd zWim_Bd4BVFk#w?TxFqe6o-jf<@rSGo%qzxf-4pJvgW9lsZ7lzu z3OpFLx@~nqUH2Ilbtkb60qjj=GA`G{{i+G&8Y!k>=SVwSKt+GEVQ>4L4cm=|jbA4n zlf!BLIbCjP%C@VntV6NCxrq+VMyy%y6kokG|5ZOqbstj(qfW&e(OJ;?57s*!h#=eO zAu!u9)(g_psA7kZQ+Hx=)=WDJa>fu_-34Yk-_>BbOn0%sT_o35V_%~HV2UdFi=)Ne zc;_tWaagSYs3y`d|DZ86%P>D9$_sE|D8(KIM`tr1iR1jaj$JiNEK}3!4`TzLDAI(e8HGFUrZ|i}6kO zqPCuaIjiP4TWHx>8=6mB==W=^-n^+#_erLj16&y z@lyd~KP`+c->}$iIj4|QiCOQV+sJsD7VC-rg=^MmWfoiz?StQ1PmW7f)|34YmT1oO z;@&?&Eop1fUuMf_6e}EuWAfoTtmrXZ*AjDc6Mo^_RLnQf&Yg`$dZTv{!!S0pcoHX7 z0wA)t2byvG>u5R7C_?#l4ZYgBK#NI7)Otr(1opj!8B8pm8r zeG#H(rkRgnjYKl5-Mh_8O@3jR^(&7Xvx#Dk{Ve}u(U>SYdvhDrrcgVcG+^;y-ebhSIQyoUQu2ARtS0;OF z@;%OSbGTx#9D8_$wkUq94fnjS13rSjqM+9>JB>EQeGa?9wl5l`idEi(T3d*SXLoIi69}3>&rva%_;FJI9ZI%-+va z-v3hKy_5{EpYK`(Q029> zCUk2N5wYpli!|jW9kzR`NW^=wo`7}oJ+718qj5feTjQbop81ufufc)ug)6?2FKX=- zyu0FeoA5jLWU~K)Vw>1^Q|UW1T=A8>T$7Kkax<<>Aw7^rU+?XL^{vDDj!-{h;PZ8? zz7|wpbGYIwxwBTkU2GB{@aimT=N~z?@{F!Bp1B6|>y!dDn=U-}p=*%Mz6%255`x*hNXVk4hXRmRYxNe?jo>r{+c+1`)3 zg=BU`#LJ$33^#Kcaa@N*^v-cyM3z;`9zJ3f4mAO;_Yo%VvW$A<8Y!KsS14!}OA8hn z=-DyYWfIkGD{PgrZ3R$GZ^ISe%Te?}_){-;ozy*uIU#L>+Ou{`cbhTM%ofz^PNmhJ z<;Aw28nBMC7Lj7x9{kA9o$nx|bGPaHSoD0oz10Ylayg9=-oNErt@JL_*rPbY7rV*-=b;)4a zh;|m^^Gc@=xeRMRDcFHXlp^bMCL!02B8nPq!Pn?4YU9J)#VMDq;D3D#=EY=Z)y4~T z78<3DSvepJUS|q@ZZJ2(cm>#|^jm=HMX-!04+=(b6d5sVyr1-DbJY`J zySw5a(B4fUqMEX-h|^biFy&&Xe!yH0SOfJaag@HxTy9}Lnj)j=Tu5TIraX_SVlz;7xsIrtQYU?-xbOothA^^wx)<%mJdlx8OwWD=H zfN&-_O^fGYVmW>~wR2@;T`BpZq;r7`IyQaGR~QLqLM+PjLyHaO`lNez7|dsgNXC3; zlh;AF*Ta8zgC&KA($g#ZE1agu2D1#svZvuqgu#5pl@*-K{52x8r}7tvNYAt=R?xwt zshajaxY%c5P^h4cECa?T!bN?6dzfe-fG|z;*Yy#s!5yZ+r~%*rfOX4peh2&D93u`{ z&LFmg>f=*!vM*7LhTsoVak8@w=9PpW9&ECuA#bZl^c}}nQp2e6F!b^Bl^7Pa$q=NY zbzp$h>}`#I5?L`O!^Feso#4lb>lVe#epm`XSI%Ote?dQgyMD-F+^6;1zr`(QCtSUC zxErm9U%!k%f`6WiaL72Wqlklo4)mV#E$-IS@ESbfTiUayh7(~G9rRGz(*^iM8#jhp z<#ayx#eV!yr0AIw>M&!h#6qq9zSjA3b$wBDXWbBt0_3I{V zj$W)^r@kTG2VC(z_pP9FJBH`y`S>8=!x}31J^vEUe)wfUe6YB2k;qa&J2_jM@2l&4 zvU46`XZh0Lk97C_A`!aTQiTPbD>wkX%fj9nsOC0Mvw`(4kQ!|QS9~uYDR#044gY%{ z)nA9z{}$FimFmyH&C`;}@^&pffUc>9>HDw=Z>re);!>>m&!qypPrxsHFUM&6KL_fU zwzZ-fvwl$GSci|n=ikutqjHc#;S+)mAO(=JROx>LH8TvZ4@dB@Hio8Uz*B~=uyM7aWuh0G(zt8=ebtO}O zAAaT1bd7Sbwg12$eOKrv6Y7+%;QhO3DQTPNgH{Q%8ldZOMpk7G57<9rLNg8K8<;FB zZ2VE!Kjl67Xjut}_goIiBVs@^KSUM8gdR1R=jU^(ASlBW7TjzCNj~ICMK3+yNn%a$ zfkRBTy7ecZTh%b17jlA%Gys$yj12QCDu2pImWP?L=SzCd!8>;z&t*0=Sg!APJs=!^YCIbPT=A1ycDsdOi-H zn;+^}K#jj(dkH!VpDj3u-=8pCY;@T{%N+p0<`WL9?dxN0! z`C<><8%)jDc`>4CN4Vm9`KD$+i$+T{=Hfy#!JZB2q>|D9U#Lj|{sXh(G0d*V zE$Dnq6g^0yoz#212LSqW70`JL6+quzh=9HWS9~ugtA2oRx|Nr+xwJoOF7Qz+Z%MFiEvn#!Y*E2dsza^ThAY03*ASQ%e*~hZ3dB^ zN4qw65gYA$;ScTF6zh?Bw#ISK)=qB#>V5<_(QFxH-G~H)jVu*o6M^B;M~`NCQs34t zfPgoFias>^dr+yRNBil6rYtX;^7;TGUYzFqE7>OrL?zr zpW3rMWWy-x(@(otpR#ZYnrgJF^*0p$tMh8ggT=T{I-gZ$e~hfdj;jPhN%)b>XgD~s zYUugCU|CP!#`(ebu+<0uJQstYC!roOCsD6UEE5xY)nIAl!Yc3+HPH!3uP89DT|aj& z(nH?1S|0SiwvL~eU09fFV7`eXb4pmf%@Z74`*?r9-OMES5qvvo5^Pdwb&DL4)(na+5=kn`?M!+fII^R?Eu_J<=c=#eU3QCqJ#K()-MyrawJ5T=skJgI@a4C-FVPX1)rLDzJO2V z$f4I)_q!IK)b$jN9yOF_+Tlq0TB-#*Lgap75-uu1|ZZGSwkH;2=ye+N$M0Zz9P zSjG^Z80-X~Vb)SLKhZ1T6t963jK`%IXR`M!WxW_@v1sj4@V6SyWep8qWc{7dPg$;l zemdaF>8IoZMn64yo#>}8r{Ot&Pn&<{LUl$zC9s2>#btVPDwQL8U^_36%=~{4k?m~> zYO~Lfe5SvDg2^_-KUw~Q%gf+1EsBvo|;+!e%KXUdT2Nv9~DxhwFkdNGxyzt(O+v^v+hQSvK zG&XU9lxXAu1U3jnY4bS z3)kH3W`XjgUjB;at{pqMqyj{Y)mtwn33QKM1tP~61>+| zI<-Gbg8jZxT}FbJWm1_w`EI&&4?3cMo}nz%@;}qkG+wq?Kf{*Tn&?1hZ?w#b=WSY*^Sp?sWRHMGcFpm2dX^6} z!g=OP!Ly9O?I5M{4?K=Tq9rjX(y;TQJeAYoz_t28F)EdK4S?4#p3tJdFWaR}fYMS9 z)RjiTPk~763;SOlfOHRlU-#0@T^BNSa+m$y;YWR6*zo*Oymz z3iHDXIQj%22!orAM-Q@tC^NrTj?sVbSI`N=kG%lq{qFerr7G&@-};awW8g&P(;xV! zReY3B=g}r#BZE6!FMNdQH`pVeW$V##Lh#BVRyF@QidK>fVWo=ht}4Zs4S>5!ul>ETaQY` zj*iw`^aHZ-2zbzFGB#>u)vq=PU1V^~xEC6KR9Wk%H@z}WcY*X>C3R+QR#tpT$Hd_} zDN_X>e9F=tRH%ZHKictZ2Q1i!!JOfZMIxBeHgX^L6#rrX3R>^@(9Hn4@$_a+p?*@I zvdpW-kCe8V26I9c9XYnS8?CW^G5wB2+WWYW_cn78zf5)@DBiLT$;7>%z0MTtU&j1m@XzJz_nK+DY>Q!XmA_b56yUGeq zd|QF$sA+$_j>S~B1wR|dI#e>dI%S0b+zv`pdZ-FbF|KbAB^>2pq5%cRk3w|FAdN@B)@mU z2m#IozGQgNa|Aa$IP1#{51^vK6Dgb!3j&h;HxB}0MEB!E2D8IgV9QsP#lH8GCudwX zU~7P$bhJog%d6iK&PBaOd(OenXwO-S9Tx4J^5A80kan7D-#Y!M-0iU*YEY83+Hy6k z@DNh>jXYS0)Z>YY=hO>;lb-^z-z$sG?^98=Mil~)nR?|tf&S>2SQ{tLimWJgD0t8) z0pjaV)HC5(RUJtkFMG3CG04!Fjebh~(`m{ITn(1Kj8bL$wfDIMF&XbvXK@A-c$ClU z)p(RoX!B|k+nI+xQKMG0sIFAL5*p{GAUOPiWlAjb5jC($6P#AcQNxYa z_Fk}YxWQi_hF~`~!iMI(?lZ(XH~c2d`$S*7Ip9Y(N9pD)&F^*A)*ihU)PNcbYcPS6 zI~v8H*vJ-qeWZs@*`#w(!Yn7ym$*aB)+RqUrL8M3&KQI?UPwB=C=Sh3}gony7jU!|b!4;*i_GkpHGpwqbGE z?$FIRB`zBS_H?$Uj3}>iuok{*z(NrC#qh{%=Iy@9l4@0jTmD{D0Pw!A5{dNtPw|9| zhOR%2H26gOJT-ixKZJ7KYx+VF|ID0URYB*RDlePhGgWwA92ozSFWCh9q!HcpmA4YD z+58i2t@=;<@U6Ah)lZbI^$jGK!fGwWcjihIr1QF@2a3mf1b35Nt^(n*U`NFvUB=Tm zEc}Z;v=6m`<(W7fb)u2=iYrgHJZbCmA z1oW0L((C+i4>&KbV{>N%)K3OgbZTyzrnw~*MRS%4yty1{VL*{elB%cE1m&cUL+Taz zbt%h51!IB_KV4(2k7zXmexO+q7cJj%;qy;6?WpKPdz2h$x;wCL={o`D zS6FEsl`e*rwm+6d&7>_ZIw%`yeKmll!GiLwpv%!g8Olj=#f_gNv>4VBBSSVs^cf=_ z7VDfv=w$Y&1{c`PxI>h<)9c;DsC$1g204y|F(hFRu7>Q!r*I=}fSm&c^c6T1F~2GF zQxl$G7dlzvlBoOC!9pZhYCL7SxW;anI`gTMf4Ss`4|_8m>NgSsCmX0fnE~f^G6Lr& zT&wotm|%G37aiFzX#2~@1Qu|HtoisHY)br)X` zPOCwFsIjjDGzhw^wVSu=KZ5%B0=k3p&ru#!N2dO}QKBDn;nz>dSYvhH7CMbbU+peh zUOmBe20MxVbN)T+K&HNzQi}g19ElTK#5J-RkfdDrUl-@gt zp-M>o3Ic*CC@lhkTzX090Yc{-0)(0XY2TFHQ$qCj`u@J>d;b6D zfs=FY*|R%4GdnvwJ3He-O&|ax=~Po^TeFXt}81p+NSQm5rrx=YNF2zv%1GsKS{>#WS#b?M= z&gAD5sNwfy`+e#A-}LXlqwl|g>rVWB$ul#(Yg74Idie=demq>aV)?1&_Og{|Q+qz2 zFF|85X|D-B(O-L5)IGNi_HLIFg5}@1M?Pybp&|Y!yXOmv!g|i(Qk{}M*@`!okGLONMFf>_HUIAM%PbsC7RseP#au=_o%7PVBij5{LuuV$X) zzxMY`{1<$7j9&9$;8HY_&Ex1JSSto=HpPz|bwwNRSwOvwljL~cFiDQo6>zspj`v@l z6h8lh@O+*t;n{ev5Pwa9S8A4^x6``ot$#IiE0oML4c+*5xg_>BUPiVnHHn7=0RD6$ zvRyV@y>Vnf7a|?lEuPHPuPL67-5J(*H2IHyG@SfLXTcw(eHq<9b<`cIzWZenn&oGx zFr8cYl3G{@*VAlOoIR29e@>)1zH4d9|2Yx!f7S%?T&be+u|49HpooJGsy`b+&1WKK5mypTpE~hpd%eYk;cB^-*n=#7I3Fvk7i{V_O;TL z5QKNlT`8Zoq?7(PK_k3n0_lICDnDkjWWJ4LdHgn!WvdOzat$7ohBdVC=>C8-%+NYF zOU6fg$apJ(FmG1WC#;=Dr6UoZwBtpy!}`VBDt3&W^h-Yceb^FEcWK8;>3Q6|S%K z#T0Ao>(UMi!)S6@myXxa?if!S$V9{s;oeWqN4)ccEAMX}vn;Ok<76g+~>z4iqFAya9^S7KvRoe z$Ax(#k(2#c7F5vYp%&E1Pf5&@jXdGgYGLOI$AjRzpfs0t9@KZ88<;v)P8+dsH$`ID zKZ`LNgLRL;&ra}f;X}fG=GT7s@D3%|vRWf&c^(+KRJIy2a($7o>h86&|?guC}7*yA2!bw`yQkC7p6Go%~v z;YUafit9fUn;yAsfeq$*A8(c>tF?+HaaC@*&GBTCrPwB{k z`r931ou8wL{kILEX=*$CQNDdaKjzT)7PYqa9AeB%Z|31>Z00^($6_-t@>m)Ol_{5e z_)NoJ2=diO0P>g&s^qP61oE6H5HXGmF6$qowdz*lWa;#PwGZ4(l;~N*U2VwUb&0~R zex!f&Ho-6suHzAgpP{tU_E`>Z_qM#oc?ddl*0cG%-AnvY^BPrq<}8jp5K9fAhPzy4 zC91LlT!$eel%qo))?dyN07p9^0B$+}cSm9A+i-mc0T@hYFz*8AL;~}KKH>22;dcz2 ze&V5InGVcJ%5M0DMRkI;{aM8FcTnGLZXkggaKg0%f-~nSv*JAbCYafU>z$_6d!BKf za|WyGsaMs8s%j0_NUW+KqxJ+9YXHAyaIuP1tUO%nW3jTFtZ^L`E2bBF6ph6mz_lS3 zE5)_Vrec?(wMGw9v4e2!gvHuqVuZT0FWgC2m$S{b!zy}hSLm8LrPh+==M{843 z)?3)EM{q5Tbbs=gip`;7SKiW)bd-u6hHDV^KH@GF8+w|U>7z&%5*y#r*y-E1q>xw) zckjzlU}vFKo4$kT&SjkeuW#@-W2lW$aCIOkBeQuzX8ZhojoB2IGd zz1nV6Z5Oy^V6~%J-M)4bY1C3LR+oy^hU@jdsP5!YO=@#4zUic>8t2YCP(1fdG1KR~ z$yKLZbQ03JtUdexD`x&C-^|SMjo9<2$w{qe&NnqeOnFnX$t1X2E1RyKY2e|p znUeH@H%T%d9Ej@=Z#`$n3pc2V)Dv100eTZ<-bAdt1lRe9y!R-BWZ1_8i5xR~5jj4D zKS~VOn6VaKM`IILi}CEzpB1_oSv~4Et`S-TzmJf8_yz7hm3`RCjMDN1Qt7J^8kOQl zAUw0+nn#nGI22g+P7W+d8dz_X_q5pN`Y7n}Q4FpRY^4ziO=0eNVDn|X+T!lqq{=U+ zYCUeEw@{N>s18>Pj@7RakmlCl4yd@Sb>rk^_JlU%ZT#*mP^y0Zi9C%zw7czVS#XKN zFm?7DY0KORP5KM~h}ctg-vhg?&d!mxhWl)@?R2Q&S-vfP=uKQq^|nSpIkm@46pPWk zK)QDgANueDiT8qW6Qnrp=5_LpbesvNeb8-a$xwImROXXvK=Y8{8k#!~$6j@U>lcW( zL|$y9r)U^xJY2&-bt+pGu6MBP03KYwrRXETWwq*6KNu!P!X3DAY5dP$P1jpU8K!;m z*Dy)+EpWG8eiLn+$bP#m8MoszgQ~Su`#Inl3zoU?i+YRVV6|hkBc4_78?5j2=8epV zJG|U-V{X5GT!X8b4p%J=uIg~NNy2q31J`bM)My21mAO-0d%aL=NWqWF0R=z1t{>#s zF(tR4aDG&ZiRowZ81oL=sU+XY(e_Jj(fX^*=e@{*W^5nYu2%e&9CDGte0%J-Q{#S) z<`&~cL79Tr_ana@oZ24UtoizeJB#T-di*>%NKc@Ls60~-Aytacuy?ULD=+Sbds*%91pDkE zxWC!Q&lbOwFjYUcn{eo;XSL`K9niHy{h!O~u*-`*MfTXW^p@8|JOG*Aa{LBjQr` z*Y$d?`@>}SsoRyjERwjvN_XUyuh^83W{a~Ujhz_;_J}rx!T!k0kgz>9(vhqT$uI+6 zlsmV-C!ckQ8}6ksvc*#)_jM7>02b9k$8+*NAfJMsAuPZnVf19gi1X7bMMi21YUWXn zdlEQ^4GS)79k~0r4G()s-1swYe99jfzKVkCh)=;lwD(vCk-euxzK6vb{0Qf~R=&8^ z26Ji#+G2RW3vp#k5=^YR2Q&d=NDE^=z?;gSFswx8ZG<&_RrE+Ab)|XpdEH7i#>*c#>s7d|e)?YlSv!lwt&z?YTyJ2XIi0(d&v5Ak%mpJb^0 zaEI>=`#E9zp8*?r`k2}15FTUs%aBJD_kXVe953kSP8Q(vLxxLv>89Z8Bc}5zO3n@O zdk*FMv^#EyJSaDnz=s_FmA&m30JW{_(gm8LbdTq?Laabi64OutV8kwK~hRULg9~<2Ul_oxx=uRE3#pN zK>R13;0Yo#i#S24RUBjTpygg}z1!mZW5BM9fPEJIbNP!MS-3Z-WWj1u-StGAXZpMN z(#LrJlaB!`!G~E-++yoH+xt0^$e};B>qv|xJ#?gFpoJFPS_o-f{>1N`G6thiC&7Sm zB=K>9n0*v^;Uy*iIwP;Dalbu0gs_-$ov~O4@SvQ8f)rUAmb^h|l!$Q}!c|A$&I|PB78SzJ1+Gbrd;BOVXqxNCXQ{Sf4 zVayYS9e#Q#M}}YBBic;{S*!km^RqF2bURcR-emE1s0r0kU(~S)>d4rt47w(S;8YG^ z{5rSP^F1y#A4;i1^f>CATil4%{gy(}oGEw$1}E-disr0XILs0Rmbd(00XEsLv?!>&_{Yv2^>Z2IOtRa0jraW8|dQ9d~32zW)v2Mj(NJ`==4w>gES1L`?In&BuH)?5~( zf$}lONG_CAZd_)$P!7j)P-B9;#udhL1pr&wd%3VY_`0w>$e6?H1MB@p^!>)m{QbEL z|7&^hapV6&9uyel!F4e%8>Hb5lqL@XU|cEhyZ$42F!_=JZ$cjQW0tmXhwoqF4y)&% zlLwp66(tXP805kB*Qk!^qK+TVlRS9+l35LSzR7newPPDU~&=iAQnqENjD%*$b(XhyrdxN((mcqrL}2-(K6;KUDCxc z`3ez*p{12D@l*T~Mo4`|TjLo1dOXs1CchfZ71xD|x5>yZujBjI{-sPfyH}S9SwbdU zKa<1fHKBzo?{N2n_8MeD2+D-{7X`F+n8+V6NV6v!K-z|^@h$dks3;wG1G}5e>p_F9 z4FkJ7E7uIPS_<3S?4cKJaaYLkdWJ7(D7kjWV_RIf2gOwJV`qGH^yUZ`Dj~j|Z)e9? z%BBE}Ji~*Bk8NHQy$n8S$0dLv_U9uRtAZi`=+=}Lo*ewsMG-2ikR<~fiEx(|Bxmp( zy9gYhf7aQPjWB$asF(56OJV<_w_2;t+!fS^X3i~Op=K~C3g7(B`x$>Zb%NDo8 zT^gBYiJ($(-E`~C2kz{C9$Oq&6T433fPRGGDI90)&H-dLsU*xM4?Wpz@?5+!SOQd^ z}Ta|%nb1A<)K%x2= z^8qUX_|suwZ)k3<-2iQRjs0zL>pjS(SFHh}Yqy8lrni^aX|#7cTprlslAujx{24R^ z)bG&H80w&>#WsJphe#=$Mb=N35^=_0{RBGd*3Y>jM0r1n&=vIUb@dCBm&(+W0PIFX zd_iky0~$r=Zt<9Z|8!14VtqtaDPFH#oWF3h5YOMPLes} zX-8a!6yP=ZFBv-0oyj4QK(4UiGOor~v>x*r3hgI0lmNM` zt2;6X0Mnw52-6pE#rLW`-{{{}8@~%*Dqt?l)#vdZS_!vWc@%{A(-xUPDO91yI+9j9( z_r$je-&-Ro26m*3z4!~DPLt8Hhx3%Pgb@a#;pREx?SdJ^QjK?C3cs*@3M}H zWTuBUdQlra;EL}>?me~#Og>EJ4RwvMpA0|D>u;BMPC6;rEv z_~EG>Iqs8faZTLVY#YCt{dlI2$F=QIyM)ZT-HwoLh3kN&a&21?m};dRnd)b}27d=v zwTEu+`7Q+}`LvOmU1~v!V0B>!9FKC~w#yo=H`9}v=?>R1&`idcX8X@&4&(NhDgG-N ze>UCYS1aMws+lorQOo?;k;cT?@3V1X&pMDNwNCNkz79rK3o1|tVdA-sr*lNiv)Bya zl8SYC9v9&UuB9T6<+8Hy$8mVTP-99$YEGd9-7n@A6qS!#?k|bp1S6l1N}$E)dOjgH zMkGk3jiOu+Tl`ZBNb?R%o-?Z9;RZ}VTg@(m7zCOkLzbbl;BWid6WWRROK)*JuT^u4 zj=$u5+b{cqefS;wth@r4Vle*8V!)Q&wO0gTvc>0m8SI11Z(hgsy{;ORJlk5ctrv+~ zzbMBII^XMXw>!f&we+$mPY&zHlX`e-+Xil8){Jrn-)Li;HG$?-c7wNZr(+|1*}~sq zi@WKexsV(ZQDr<&>N|D;7!=GI*0n9}og^!(Q#FfK+)1l8*?mn2rZn0-%l;aG8%1r4 z(;RZ57EUTL{(iQ&4~x++2WsK0^1HWrRyjd!;jBViMKnJv?bOt!bVL4s9V^-uALz{T(;u)#Et^zxo$xrXKD~>oE?YVXZ|W zG}e!$I5Thj=3xo%5tZQ6Y_vQ&08nopCBtg;Mwy&o{R)0ae4ToG9eBZwr15FE!{4Ca z``U`I8gD~EPTZal*8Ljv*9-cqR!92~jE^WvDEwhwki)B_Ek1|B6^31FL;JF?U|$NI zWREoIhB+SEF~}~jA_p}i#cdor71Sr4?oH`+joiotTgytEoz2x=_j3#EnlS&4bW;wg zO?z<_a3nb>vb!yAF2!{X+vabz#Jna#6pZ)BmX8tpWn+rXHy;%g$iOmBNtZ)khTc?h z*(k@oNJm+cLRERaz$dvk9Lk|cBi^dFHs6}#sRBtsnxG;c4}-2i-Jr#ta=u;3*#XL3 zhjM#42b2~Ms}IzxKFHDLcRN1U(&w2Fd@hwM^}SGkZD`JBg|8uX&y7j-DH{q_GWC<_3{M=pr0LdJ#HpGcNh7EC*#Anc}6|Wvo(e6)bxigSmc!) z?fcgFEb@Zmb09v~)cK?uKEEpUF6-(yQK!jirO7p=mD~rq0(YM-G4CVCg^=j>+1&~? zoPDim7qI6g+y(pt9u)TnAOniAy7W3!oft`yWJxQQBvAjHRwy@T!xdktzv2FpQt^<` z(=OzR{oK;<@m9dLC2Vk)OAJ66=NQg&w%= zps4@GQ?5Vk@=B0c5rf3KSH#JCSQoai4WY6bd-d6Aq1 z`orA}L4Wmy0`vK`iSS+GB?2iC$`$92*MuP~tKo{Twif3(rrmH#9Mu5eRW4@&5Kb?9 zLKlpfc|hh<-o<*mJzJi43av^xR+Qx~B2j!-cP-4m&*Nd#@s`wB>oA$8;5E4W5Sopt z#t8e6=H;+IECxl(Ac(p#TR*Ql5nxE1 z&;4(q4W2bEsQ+-qSL%)I=i=8HguzI$c$u!rdwoB1eHQx7jphAJqn%=(hp4;a^Y~IjpnG7Smc(#dNKD&m}`5z5b9}9t+-`vZxVu^?%sg=ilLB+T)=o#sp z?nm5&8-sg1^^HLa>o50%@w?g_(-!pxCmwqm~n9->ms1AWbD@0L(jbz6=wsE zGkzGkfa=S*#rF4Az=_JU^}79i=L5FCt8xRc^A6Ss28!gw12^bPp&9OsYYnBx(cQ#3 z&VbQ;#^_7ajTj9F<&k^(>mt{)&fc{m#fGdp zh^k)#^dIdGI{WNFy3Sta;tlhrc-5UO*Ij}uPOE;8Ls$B^?Rm)z6h$5Fa}@#QAD*o zG?0S-y*`j?hjyw#JJ5)-lNzZFzYk6f=C#FGs5QKgi~cg~gWwKds!m`_rLjwhi3AFL zVD;w?)E&U%`c0Vi)k)%Xk@q%cB6mDxRx-(Kf!M3wxL;uUC0QLq=N^KK4`#!DpLJSJ zq4*z&K8Fj`O{8!VZa%`H!mecGQPI|x+H*ntvzITqiR zWio$|e?WJT9xeQ=WPrDaUZh}xx67f5j{bj&dQ+}FVyaX2&XQX(nFDCP=*EaK%?_J@)w#if%2jm&$(;DFV6Dlog312_uJ|g$N%BPGu6-QdBiwO<_dJX8 zDE3EsAW9cYBUJ2M~7))r8@>N}WBrt>p!>b|fQHr0&+O z8nxUsd&nL)&Avjp{WMqF=GNm#g1EZ8WO`Iq8qGVp(+?SCkw9fgCTVM^d^fh42c_Z6 zX?G6vQ=0EWf6`Z8_A~jDzU*(C-!Iny_KRRfMrUo8HM^0Qh1|9sKGzx{&91-|-)D4^ z`HiOarGz9tFgcUiZGeB-mY5vs!9;x%|-BT|UpfZ?i~y`C!r z8eZXTjg#fFm3zQl>W}%_y8044Q@oc05}_i~Zl}B=W2-H`j~m_>o%qCUt&Fiu9><&AH}OX$c0}u=%+yiO5Z&ilgC%g)AUduwKq_)u1>|E z*EA|tc@4=_39k5_d?t+fsuJrjq8fgJ8n%j0GJ^1vJ3*4N>2Qa|Z1EAIkC(U63TJl^ zt^e>EoCsISjAoD*133!dKC}gsrN)B|HAM25hGe9k`yfj!$}K1~g~Xvj{MYRy`-b&G_4@ZfiG1twK*Z#?a1BS~qvNtcU+TT3 z0{)RguxEGshqnXB7oQ@ie&OGm93xJfGGq8re!hqHH2~p?(jZAfaHVjDqD7)hgtJUc zLtML0!Cam(t&Dj*JJG70@_5?jMHi<$f8`ARj-133Bna7Yd+hSVe4bcmbL*o3^dmYz7q8&6YeIeYk5qP!15a+(~{~=%e!!fENe|4l6AxcFtL9;oCsFbHN;P zLD(=8(+B$K}+E!z!!SFgLQZ`K2?Tb%!_N9RA`+Hwv?Bl4v4AyLi4iobyRNfIv; znahGN)WD4)b}QLc+!$qc7V%N#X+B8!`gsUY=tbKXJ0nByia>wZUR3kojXqdyt~=Wp zD{bQ=QcK};1T>RO-d=1N#1J_SFOjEJZp-lq3vMeQF&O$6lrRGHSqaN?ARrn5goXq{ zxRpUzyp=)NQi4HfY&C(T;1QpT3wEG7L)ek-QI>-+py%Sst@?G7%b?Z$ng ze|EXrbDuTw;m>x_SbajD)yA-e#Y_UKxzFB`RyuJF(9gT+85iibKn`oU@H7S6A6Mct_#YGglLrEgMt&y5J;xeLJs@c-F}xZDme$Bfi1-rc?LujKw1eVEkAYpGhwGg z{qHwCC-PLpz1oS0EKQ~$YgS1dF708m`GV$!_J1=kZ1fQXIOT)$!VEv&cBaYUfTtjN z{5g@^a=}LQ%Mtnt_01JW{b7YL2_LbWBUxsg`GGqZnK%oOX(?Rut(qF&ggLd~C7k`UzXFyixxg`YYAlhU&KCHMk|WP`V3+#8f^w z%Ne8sEio1Bvf$Et$3BXz)`1lZIcegeuF8R1^$$#SG@g)TxmoBdJackz|XI_$z7d~S?-nSn3 zc+NB9xJl>s61`=6r@a5Ey}Gi!jwP|ZK|-G@(3)B)ni_~reQ7xFBzSg5P2$-q$-uLV zGX>9H$|9cK)sgJquXtHzG0$3FA^W$#m!*>vZDXeRlB|c3j-^i4<7$zDnFh~qIHz6r zliH=a?6GE73meKXlt{*va+H5G9{3&-MS0|a++8rMoRW99pdbPykv$3k?*dR_KKDL& zAbbe=1w`B8m(gLg%B2YCK>%ZW2D+0!0v!ogn*#=#=VlrV!TvZHn)}l*h~A3>t&Tqp zw8^JvppE^N2AU6jZG)?YVm-LQ-4hsS>Qb>T!eJ9&nKC}AImqV^rlW9}!za{_MA1BN zTYpb|VA0R@We-5X1|I>UaSu}Y>^EVd`?ZA71}KwOao&fE3_W6t`$=ehxCi@Q%XUF& z^zawq*KH?AcGq)Lh`-fpiG8hIe43qSkSJTbo$4PTj3PsK+U5-+r&?J$^sp^%=~KNw ztu3}Whl_EOt)YCB?Twx4RCzwDK=ECN_B*jp=z$NH^}J6~oe9bUD8BK;QH?o?GJe$k zw~npFxNuLj{nnlM{FZz^icDZv)~rQB!JRtm37>BavQzv=(2t&Q{+J0hDE=c{=Oamq z=NSFxoIjG?N^P3OaNE{L`3FR~eZm}C^Qpcsb+!Z6TUW2wkLoQ8*H1qdk~F3qkEh?o zc=ADze|p9Xe9Kxo=NfxnUHDA**ZWnFbu(cS*L^grBzVI7ltd&k&nxQMrzU^P0%g@I z>1!0T0qv_H8*tKjmOHAFV-bYW<;g!i2FH(AMuh36t`kyf1hbWWd%G%68~; z9Y#l@V>THuOLnBa!5Y=E*Zy!#p*f{2++hi2XlgEnuq$bd$Eno)f$DS%Gf^;RQa~JcPPWt6Llh)3G3~j&-_uE$_ITJthU%~va z@S$vfS6iC@pt)Rb-$L!@SN5_T$MzRznfLcUrSezdb)Mk=%EbS0y-56TEU#oN=gpS> zqCJy@2udp~9G=~k=R7l&4L@oplqqpG8X6*9d-$Zp%u5#D4PYO)OB~1OaT^h3GyQOBGZ=VLJEju?Zof&-!J?Z*(_UWrCipZWmY){{_M;&-zVl30M` zB#HE}2!^$PMTE64T(N|*64ps-OVTRG`nQg9+Z+BTO)s{{z3M6vCb9L39L-5@9FA_Z z4k!m!=TLOb)~s7lc=)!MqOCL_OAXB?$qh2xM%zCi!{af00Sv}U?VPWZr(RU?ee|sw z_JD~`ihK-T;l&0=@MB`>hD;xv13SO2>9s{}M5xvjg z8j9StQ1oTlD&ZxkR?9-EWCkGn48QXfZ2z_>-I_uW6kWQtdPL|N;j4H`tVfX?t>RZi`vZ?$9-{2#8HNyraztW!zNF`bs^$t8!ab%CbeYX z1|o1gVfg$)B{%r-4C1n`fIEDz4(5<|Evf1Se%jPOoj#Zf*ELx65USc*j*5-)(`JfZ zRICSFcVV&6EEX-rw(u0zo}-Li3L}U>2Ks42u@Ze*0j`zt%S{+k(z238_1e4od`26= z&4UxldRYv|P;GJkd_2<`J674UAy3;-T}QUs%JZIjlCMkL1$yq{3(Gj*!#BwDKH4wJ zIiZ?J3FGC)uCgP@%eH>r6Hm-A0(Vo9RA_RG9UB>XA?7U{4eNhoGuvrg7VnJhho{zf zBdx$!ZvIlvMce{_AG-udxDup~m@V#>g%^!6)B3~WT|czS{iXG3%#UJwZv2e`(Y4rJ zfXFXffXH-z7wEc#qA;WbR+exCfkR~xp9kQI?=wbd_6bL>9TtM-ro{SS!*@9a<`<*~ z24O4N??5YGQ!DR5rC)O^BdL`UaK-n)Y}OX!KlcLW3Exih(~^DK=406c5&!Tz^!h3g z>kiPb@p-h4@9;nZj)3(=`=E$o%%E-E`KT}<+;HthOPsEgmCF*BoaEbaAUW4bs70=pooQDP9 z(i(Om6?m5ljKj}k3UvPbU=YkmQyQR|02+P2IeC;+LN`!byL|xMCs_pC;osyG==_Gj zJJbxptD=KflE5nt*K_Y+R5%$o+-Z%3Dz>_lt`OW)tEVm0ld&1~@eiS@#PY}$%QyxM zD0<7d(#aRB=ew+t_?F6#FMP?%@;xauAHyB~ zhU=e~#Cd{pP;l$_JpFgt%@?5PlgL2d!1Wx;joOWzCC_-A<% zRqOGep7Q9p*5xkLSeX}1T}FP0aK7zljHhDq*LUm=2PIGBLx1*&IL~7xpkRkQ-Fx91 zJep_VU$eh|_8D1)Ev_TF9{hprg=b%&m;#(nQ_e@z{URK9mF=zFkw+_IW3w!7sv`1k zQVMaP&#Y$!v8hT~(0sPaEbw~(qkBID)JFrFx2_?qmw6Fp8rCq~Uqs%sz!l%C4sq@n z>&rfuv0m_D(Rt4IIdx0?gQJQ{tq1lN^AX;@c#X0<4terAux%N$K-+6U;-NMrc8jmI#I z+(a9l{e&yNQbThM4zuAjLF<02LGEJXi=JuXy+V{!z<&`^UA3Vg(5s&A65`qsk0l8HrUQcj)B~SRa)-GV6CVpmQu1*EKVv7Ax>GO@? zi^=etV5oZ9{3Ou&Qla=69&TEs2UdX|5Y?@npeK=`ApT+-$a!|vT#?4Xu^Tv%P;?X6 zp_F3#DhD@xN~xQ3WQYtacB6NkbkU9dOa0aqk4(%5Kiorn`Alv^jFUM{czm8~WXNOg zY9i-@>_s#m1Wp&esvr2EuPQOsG#@!JjE6h?P0he0))C8O;0JaKZ%hpaH-C-AO)L_4 zCJxz(vS2oEIh5prFN%UuSn&KaJp#lqLj;IkQ5=ATd@Ca<0z?fo-j#E*A9Xl-CauV0 z-})=i33VYYP=eDNv!`f-S<+K9)}^+=F}@T~s(iduz|@d6sCP37rWrvD)1OdAeK}u` zw7RTju4(?4r(w|_)RChNiD+U0nw*mETP=qk!#X{VK5ar3T<(nIcCQ9cL-Mz%Zwv&_Ln(4Bo;*QfL5!D@nNb@ zuM9UyGk(SRH#zf+qfQYLId-9PE=ai5eJWlq%Zl)gLUzcm-rx+;w;|G3$N4gCDf$h-09wpo< zZm+0$TN7CuF)zw(!tb>uM*O}Cyq)m{>lKB**Ks$|IB!$C>YxHCHx2`DD^+LeuKjEB zh4_0WK%bOgB!qu~oEoDsa!Sv|LIn2HMW7qLXdzz2_vfKhkHK%$fQQn!g}7;8jEGaW z5WOl&IVtUPCGdyPXm4BmI+B=%s5pKiQi@KZpP59>Iv1LAMDDXe!m5`HqFwEpk9&LL zh#Kk6c9onxi=x3^=)_;Qs1rlJ1{%ydOcYoNgw0rO`bzucvy6jSZ^m5s=FLEsJipJ- za>1T1Kq>i&5zRg1EaOlfd?`>o6;X^X?M)HEY2xSj*^Jrg{Ehs~{oE`+Z{HyB9|rJvs=wg>iTrG0|7ZC*JK!d` z|C#)Jr7laJnD_ohejc3tH}Z4iXGO}-C7+q)r;}m(tQI5q(7gXbe!d%Dg!~-#i7r0} z*Wq6LGNrKmEcKaLe&$|dD}?|jY+fPxsg(b}AV0^nFH(Na{PcPG>4Ey^AKgfP+OPf( z^0U>aCixjXiREW7>YvBTll)x!J;~4dZnOso*I?2=tHT|ZP{#iDFXd;=tAwzzpBu-w zSHgcSKc~k1jr<(8;QzY(eBJ&3=FP( z8~YFP^T9{|AU{ve`y2VWeV$oBw)A`}w$WPS&i;$oF6U_3n6T{Z6hB*K2_%Gz==?{yLpEW+# z=cG_p{@kJYU6308}icL5J?V;JWc=V8qat2_s^&x?A^^{cKfm1WIuvkv9}2*^$0N*X2+b6z+39xNS{-9!tVmM z;Tdy@-yd6?%kMKT8n=IwZE>sf#r7|>**y5n1=@tn_*09w8R^Iqgp0O2!|cxrh1~1| zn5wx(mn|JCY4Iz6e`GBjzjAeDqtE`D%4C*{yMV^db};HcDo+6`{pcJ(EY4!ifxf&^ z>ft85`mo4sLd29m@KeYD~0Vnriw;0&4@*Kg_7FV;pj>Myx&mr-V35i)c z630Av4vDL(8j<*ORqEQTG>OFHoNE}n{IVA4;p)eBXm6J$3UQQtK^QsyWiT?rUQmvd~=wUUBDWTHmkF1tL8HILM;~fo`9#Re(eGxyDv62>6q}GmPQET&6 z*;?o7)Y?0;HJ=*h*6Kgs+PUi7T9V!xa9~VzLu={W+7NE7wAPx7TYI92)=t+nv=-$U z0Cd8(f`58wwHTZHvL-eeg)wYtw@tPSWNBQ}(C$xw@V_V#J=UdMnubT+u~y7Hz8l6j zwHE@fr}#xV`c#W@ObD>Wsqht^VzJ^-o5jK z!mTqAd~;B_N7aq2_9KcEKowj}zq^Qp!9VW zdYDBIn=0_3k!s4+sfgqr`? zYwQoR<|Gh=iqA*rE3})c9{7sb>T7PTa?+De|Gsh(Q8T!<#iE`1jdZ$qb{x}u86q9- z^mS@g{XlROo#DYWlf)#p_=6Oy4mr(PCglVYwL9Fl^|d2-w)m;oGN_;P9yGvmZGlND z9kb8c4LIrHFKB==;ag&hV9PCHHl_6lO{a}J?N6`P-L^8DDK$svk!add&#W6xdQysU zTYL&i9_Mrp;Ix+>dWw8B?vmF1s*^~kgqitB%RpuDcO1hBu^LFB3V*0B;^d8gMN0Ks z)p(Tv*lR`D`|(wpGUzZ{+!}hA?#m4ole`;TosS0+V@bXWJb|pVxduJdrHAWPn6Cnr zn(r}R1rlGu1oO+Q#N#oZQI0Nt_ThVhtvI;#5sj@1@Q6bo4B=hCTQSFxw@MAmrQ;5P zBm;mwI|W$8;lr%zQWk$)P4m_oOT7zDP?!WehUp~8A}j|t%aA1aZkSGjQLhpS>YtD# zC|}h;f>Kp^xalc@c({?!JSS2DUH&FlL`#C+E=H{2bUO4^ISRU0*ASnaiip2i%OEs- z10>?TjEFB;qX@+Rk%G9+sYwqT>EQ-WJBU5y=XY}q7z5$r3?Lpr#7{6FKFV=QM?BFi z(lKB+2mvRqAL3M4@}AMuZ~!3+&E{gLVzGPFSX?S0)D{ZxQNSpAwB z%!oylF9EoKDPwoKbEHQ)S?CUxvcNcWoxAjCu+GSHYtyUu6v@b^2j^;1ayPxSjyR6} zZ3F#nh9bcEJ~MKCdYEKjWCXkGD@Hypztq6T!(I`5ys5V2<0%Aqa2r$$_*7DW(sM8m z(*VhIHS5S>dVxA(O+6+7QV51NeweB_E=>c-VgTsHR}lZnG|@yr^~_ zl^#0O6dE)T2^bNv4%rV>6-cU~FLfc4iSp5pxGB@{}|_RIvS^zgc10yj6NXX!eE363HlzPy&meUCZ8 zS1cxy8LA_-#XL8&zFb)}=7G@vh+Mt&CJEb}=edsb&`Hd5ZesCLf|@)B)00c zn1!KibtmJ0nKmZwlZ-|4Tm#vD$2yW=qZnnEFEh$&571Gzlu-<=wzZZ4W$S7cg|avP z24&+G7KyT98p@j16DWHxM51i6hOz;Svgpf9c|`QukKI6AA42))?9Z#nKk8$jCL30f2%8gs zbvz7Dr1{a=);m0*mpcF&4uFETXp8GpkLJZt1UxPg8^?JOSL_YO8CUEuA9~g|EGB6+ z6*)Ya&VZ-mgos3}W=BdpdhGJX_kQ6C?cH!<#7e{qR7X8~<#NqP=xTC$99K^gwP6Ff z#C)NFoF22O^TE~AnY_RD(#gA$@zQdiB=5O82J#-JhrU89l;nLz8b&<5vbJ@}u0L)-z4aqI(B%e_vpo!)y%v9UoMkJE zGu%6&J2FIIvS5g;`os_c*ul8o^#wyjVJ?aR{=SOe80HEZq<&IWvJ$e=P*nof7@lM& zQzZ7BSADWmq#r(hCv^GVWXxW&`i%800s46a3{_W`p(J^*Lck z6SiOOl~OpO2?<_5G6FZGhsnOIjd=+v{4^LxfRGG!T{6_#BN#ymBu1!;or~)es4;@K z^75!0A{9%9BwO6_hGcI>^4krP;i6qi23-Io86|`K4TVBx*IcuKuyU{*ce#zFs7-4u zNxuhwLnM-uKxfBwjKA+o!%l7Hfj;A{F@UCG2Yyv^ZfJ2BLhyNq{v7=&^2{w@8#Vr> z++TNO+8r56=T8yCp8o1jH{`kGBNUSpd+xZPguR_tAkE;!Kk-{{;&$RuC3Q43vhJpK zeh}j)=K{kKtUPx4kXubbjSHue{|zdSCFauh`x`>)|=ves_-8-I(R*GHM~^V9X`@l#i; zC+j-puO*>P(s}G|KaQtE5rRlU;F^CiMxAkFsuNV|ufW6AXj#wV8zy+6|IsmHV%{giCo?ywHOXyp^`!{DX|IkWVDyOT}W zWa`a3!Jhv3m-2k>k14^@vpRVX_|$;X&N2a1%^iC}Sm$CG73O7lRt7J~Ex>)_k|I#+ zdJAu+7%dw5oV46xij}m2OzV0y#T6D_I(yM!%MNxH7W-oWv9wvq^|-}^A59m%T)Zo*`<5X2wu6qu`nem1FzxF9l=d$aVlCl#nrFaTYGY zVsoK|jkI1UF=Jk%xj@asNYyyD)9L5}P0PMYjgf3;^i}s6&M%SGjAm^tlm8}{@uNYN zu>s>oG(Y5Ip(C6SB?Cymi=sqUs4}R7B^~IyYC^4m@un;npHz$D7T`Cvb%BhF z`~6@(9p3x0#FJYmJi^%@RH9ytB6}L5s6AYBjrbR12NRXu&DG^sz7R9-kD@IJHR=Y( z+s#z`01$Q1H9`NuO#hNvyABGyboHFp?y+;&?h&}=H$gH8!XQ0#+7txsR|lH&^lcb{ zzAIN{y+Ks3Q?GXl)%y-yOEoq02dWObBNdAL@B%GEV_TAVvhLGhBPr<&?*manIkC&MvM49jz+}idgf~}(*)BNqq?GCxxb{FX(jmq!}r37mWJ4*;{AwK*%GCM77swu(4W$)@- zH{-A3aEZS*S26!g-GNO1E|)a=Q+%eYXSDtuJ45t`YaQ%gPF~^p3isubhKYSSHS4PB zy^E7UeJ|d7qit8sy`sl$Do^cA*4rCG?G1u!2)1`MuTVUtK2Vj~@2Mu=?D*VGO1L*H-2CCnv8qR7<@QXV(`ILQ~NZZRpZS{JV-Pv)E#zkkxDOjiieqUnnLuev5)9i6aFYaPSNSN z;v&)Sw+O61hov{vpK}7qkj4acSs$HXI$&GZ;C`}+mT`u>No7WHO+-?l=SHfC=Y%Ym zb&afuXZWw+G1gQU2LI9Nr>yCNbVyRGT$FUUd>nc(;$5agsCEuCZ2xiUXC0T7{Vkxg zufn~u#j0X7Tnr<*FODdT9O{xPLL#xs%fzCek_=N`;I(1*X=NlCgBl%^g%uj_l6yzkq* zzwl#F=ff8Z4CU43=Q&=AAJ+G=UcWa!k4-nOUjuo1yNg27*@33FK%U-ymwe28q8#ie z+l#nJ)kit*C|NT({Vpm^&vBmhlFoT3yEXAC+$oUrkm;EHlv^zec~s=vc;Quotw}RW z2=iIIA65+On-Bm=EqRHBY=U)5E21wG*YlXwAZ8{01-V_;J4Yq4)8Xz2irG02IiwXZ zliJzwkcvXB!&`YU`|`4N?NQPJwa>qUyR-QD8xI+%@B3n~%?lzuCOSTR+E+L}sEaOY zlg*)lG}%av41XGhU$(pWuZC-xX!CH5?@H+?D4+d(@@X6E9{{~rhS8^RCq30=y??}N z8NkBrBHTtgp&Mu6rUPy*p#PhcrID~^(m1#O6NWMgME%YhP6#QUwa2RV!gX=3~1JxF!x}c}^59SB#o6Vm8 zyL#iY0XvPZSMO51c``d4BP)w@z;QoeVDNBLr=BaI&E^Da1&Uskfq*!yZyrY315LQB z!z45arpx*UJl6VKSO}0~6qf8XaT4zM&+N}zTmc~PU;wDsE{gGwfOaKTJgt<(hl}S0 zcK{Rs3$O#m{b_;n?7lXC?mr}$V&5SXWSihISn!CB>9!1vvIgX}`qhPhHROB0X&&53&s=>6c%1nhlqVl@sGKlpMvYC=2Mquu#7jGEam{I9Vgwd*h|Rbm#aUAL;<1ZJr#p?Qai{RUwRr|x30)A9*hMZez|K*Q z6y{)qB%TJ6xNeB_lMy!m)KaGD>ziW2*DC%9vkx%@yAi$Joprm>@p3mZ{cx8h+tdYR*FOjxUbg=BcQY68Lt1D z3TXyfCk}!Bvby~=3VOJ>-&A*7c-a43*N;^O70s__b=)HG0=Mg$kVHUUao0i5 zOcuOy3vSj)UMcm&R0V@Mwuu?c-;;GPfjsMy4PY*XheOYSS?8Xq_dM5>X@WZ1Gr8s& zlx)IfZ&9ld0TJ+c?zwtXGKsZ$Jfhc|64*ruRp!0%W|TnN(D2e=Q^VKyQo}S&fDX9V z)b1g8yzpGR{W1+Y-Htb;f->sye=Z~58f2Cc@#iTX(O!Wj*4hBrObWY$lmN9Jpl!OB z<^Z@3rXf)m?y82;ln1?o9z{7Glb(W;9+LEzyBZ3BnbWZrSpPH@QHSPSuOF&CtMvY4v3xO_ehxEg}XbFmKEZFT+jHcDY7oK8BDMMgb)()5$M|0MDjdHoFTidzF`VOmtLpJox?Vsb9v z3e_xiz-g8zY81$mEvE``B&#I@U!%@PqPYS<{&BY$KG1(y1MOzG2@~_-p;@Tx|82cC zP*|AGrC&31cVDgy>ULRs?v^O%0Cx>#Jx}s^^R_*L_!ohAl(#EmCgsYF-sH}Xed_Mh zLfeXx4qz`vX?v$=g}Hl5LyNtOh8DLox{}6oSz0HPPzlGd1jp%$?eIMvX&6bRU< z&1_`|vX|hx1Xa>|4>ckWe_bQ;M`sL(Z9c(_*i6YdnoIB5$Q*-9uUhf6R;Nv`Gv^eO zb}bZEou{bhfepoC73AMvR?AQZanfH1;sm&M3pFlPYh30UMq>@%oiw1dPozZY2PXy9 zHIIN6kwV>N4tw!rVdyKGp|5jN)6+zOXLeJ8f)fnJRXYaNJ)xEMR*u^x7;m1?pc7zh zvTI<#Z>rx3LO{a?DB*UAeO-t3-9#(d!|?Ag8r`GdZk`DZ#jnt(kLshiKIpP`5@q4@ zkVM2>6S#f@pQ!sTQ^^DMH7r-v%a)?DCEz;4RQ-0|-B?)PLvBi-9J{y!OJCZ-L~>bE z;BJ`dyGh*GKnB{ArE)9{OG?d^%cuI$CRW0NnL3eVTiT zKD}8_>tYKiGn~6vn}Dtb*Pl%voxNxvTBQz>XjfAU6V1}WM6^Yz)Y$v=1m=%#*LXH@ zJ2tf)u9Fb+uU{%sU1?p+GZ>W2x@P`qx}8ym ze}_|*wc&27srR^VhWuL-YE(Z-EzIqu+MBpNBGoX??zNM+>X^!vT!dfLd#MI|9@5Gr zKZnl^?M(Q5k2_JPu9;;fZR1YhU+%;RxLa%LglBqT1odcVLePTL!sEPAJ5$G2J=gOW z%>|~5F6KmFhAAT&)Ck$dcSM=fSf<$t0TY(ltCcyWL*lLcqW!#vNODV9hDhpTk~?f{s|EQpS)ek>_33h9oX3i5$?LME?)Z{>E6o1 zfI^;lVxV0WX@Psy{R^xqz^tL(DsTVh1Tm1WWr*|{88~X|Ff7hn{?=4o# zNU{IDh4#PUI;ffO03^>pu}DF5-eIYDF#tae(La5KKCOvAz^55WP-bfYZePW)ecMMb z`s`0D*X^=CgxhzUu`R?~U3Q-8{z(5$*#GnolK%UAQ+uUQ6IG3%P5M&|r%_Y!&R6|2RV<35{6z@lis7sl3J0VF7D@|WMNxf_*6`|Pt0kIY zKDC);QwscjhM1ko1Q_`$$uO67hhFyQ%}9e)aLvS$z0n@z3^$L|FH(5Kc#FQY#*1N` z*lV958K)V9?MjA!u2g~t=swfzdn?-n__dU0^VrQI zhBnCB_~Rg5`nxs&9KVY-MI78LCHC*ZsVNQKe$c_<7b)`4#)Tqa54W8Vyrr9L@TV}* zU`B$yx%K!$^xnScrkPs2m0q#{IqxUg;-3y61r8bzpH*Hz0H(eDdSfyN;%C@l5j8U%LBC=NOlD;zrro;c)kBGqLhR z>Zp&?P@2et2c7fCC=VY7k|m#jnRJ+%I#^wZUy0ZkH)?X%2DhWB1vj{x)Li!C2U-Ln zmDY7*OB{t*TDzBOe6PA@A3O4^w&vaTtKjC%a8pLCkR=bB>|>#6$j^mzmd}q0-9e~z zt%ZyFKj;pZtL7SxB!Ce7!6HK7BpsC=uUn34(}1@U*j!E@EB<|Jsgb7EViy4>-ma$M zme)y}H)y#1ZG*(^4{$d^!)+ul{TdhkbgKU86z$W|a5q-_^o0{FnLe0cluGZMBB|u} zzF8{G`jn*7p4X+2_$XA$fCTI2su~GPZqT%bC+h_XAHq#}!Eb5^$6;&qX(92`OshFS z)|{~t&%=F+;-{j!LHwK!(ZvrPD?6--pS5m$B8doqzRAw7PzDvGN?g+{ZHt>m;_RsT zcRyR)5sUa8WzYPL1xzClK<_XEtlYY~fX$_ z*7*4teKf0zSoWQR5+nE%7k#o9u35Nj>&*&J-zs83lSPDG@e3MK2Owd;{YA8f)0xZq z2|PA2wN)=g$}xmKX1a3W4U-(3dqT>w+EYl5U60b_*k|*l9Q&#%$+6>=O+u!^FVewH zG+$akBRx-- z;S^k!QyZsjolVqNfa9OtDZ!H~b&*n8En;=b3jLb%3j2t)W;1GmxHEESjCGb)cE+H# zjOT;J`PjP+Kc0D#J+35y+N4WJ}4G8teN0v?XKr^=yvL*t-oZ zijNpoZdO|Zh1s~vYbkh8=di@jpZyJDmSfB=vEtF@JhE>skX7ZN4u z^zpD^72M8dxxc3h2mnKb0JJ7?Yc<}cvdy1XTT~8U%@JQi1fyGzTjQ$vy!!d5C4%A1 z9QjOAoydC??(5W1n}} zqf{#$K)OQtctacBp&{zAI)I?|71B&PgmPabDwop8p&U9md%o-&G4dNM2TbRMk~gW2&HkHA5jt~uw*gUa6{L% zT1_jbHA`zJNNwWUDa6n=ww+!z%m@Bv<4L5zA+@v(@k~~gm0EpD-R;hwE=`P4on_(`9mHkaLf}MA9rdxL^w%ue3 zzP5A|V~Mws?G`nrWp^sv?-4~v8kTSs*yKUVQuw_~*jkpZ{-lFq>PL~c zNraiFKL%G5zy%b^!)|PA2r;z*2oP@mpvcq0utdAlo334-mBIMlj9Vx_M0FmV5{RvWVi27j&gSiM-zRypyvtT=4x^8@WzKoj9ic31$ z+uO_A+dC}T-;7jqc5Z9-gSM{CoRXY=ok(j^@^;VOrs^%XsS6C9F0c3U(nD!8*F|>w ztw{btSNx4%W1^Nu8v)G^j{t}~V3P&R!zaYO0BS5;6TqsNx|_Lw>=vGg!08}2-tG`5 zKIVfLyya#RH==0{aaEyjY?Yv>Rwv;gzg4Omf_3Uo5 zh-WrK`#ceH2V3Lh(_;TOpWT2{$58mTk-NN{hIHG7I%NfVLwk_tbr29wvmT8T{|xis zk9pdck^gM-&3uRwCvYowFM;fpEKFQ?J}wjj19}J_H%F; z$_sY^7C|!?e@v|W zOlsh*cAwhQ6rH9bXU|Y8s4PN30gX(tGAbk)c{SdpB;zF&QJ$94kXz7nxu*Dg02SYt zs2a&OW^)IeYC`x6YJq;UQFhqCV+es4*?}wyW#TBT>K#o-`0APQ>U`dJF`FFlxd7^G z2OvyMF=uJ0Uc-k%k2QQmgS6>7O`Mde#n;-i)mISnj)>j1P+|GEo`XHzmtJ|S;7#w~ z7XaVGc564C!Z&YCQ1D425I!X-0(TP|iK_uC#=A8gm&#yzg6`Iii7*N@DfN|Q)BIAS zp}OMxbY9gDJQrQ7DK{h2b;s92&y8!Df2q4D=zGpi42*Q1) z9n`Abo@DOTr&E&x?>^Z+A$gtmOi;_$T9H+u?6@niXW)U?S7AN)LA%~&f+Z!jK|Bsz zW$EW3%c_?a4*GQ9waEz-%~uuG7i#C}azb6LC12;|SQIj5OHE3KAFSMEnQAPBU+!+O z{C1BrQwm9Lol6)9V3@PW2QIo-!nVC@?s? zSra7R*&Q=%s7$|^t6wT5*_ALYP-D+3oZ!HRNZK8HNb%Q~5GrR;GV?JyOz{=`yc_SK z+^5ukkR=V$r-c>o%n=CBk4FQYISgMs=(Jw2VBC~Cjw++~7ecim<$XfiQyS?Gqn@{S zx9%7|G7(o!cU$VKC35mJHlnLd&Yf%ztHWiS^p<5e`0%69KR@D}qnOg)J|Xk=kU~rX zy?ai2WXf4crTgyy`(Wpf*gH;3=4pcf(fo;ht3tQzz`}d3BuoWLUU|4K92Ia~H*wK? zPmnR>1E=b|xvWdpz?GEH`0Hoh+Xn)qTsMbt+wyt6iSduW6@8;R?!aRSv(1!P2_9wq z2`%aoVCfCP%1H9Pt$;P<4b`#3iCackfqypZk=?rW-a1M8utBHM@>|3PLr(x*B?w9) zDZm37;KMXy$e*20szS|95|F5e)YaohD4=_zq@Oo2JT(dUFb5Nwg<%yKQ@fJ8f|?8c zo)z6!y^!7lHB{aV`bDUL6g5mwvc8VVC?#J;Aq? z(a$U?me=~)%^gXT%;PKn!NHr+ta@@1>J?-8mhJg0@*d-pEKvEehkT?ucD-|WI*!I* zs*>iKM=099>-DPPouh{vGoK^%b&HKUfc+}c!y3Vt?$)aBuA+a#LGpM>;KUO}1Mm{Wk4)OIzMPL{y0M z=q882+6R?^G4{G}<)h>Qil`pk@=(V}Hj>kTShO)J0nRk|C7YGg8B^;)-bF8tbZ3i* z0rvzuJ41UAsFq5hTc*4<-fOxbVWl&GME$9wE7bi!TPYUIKZTB)B{+d2(2Pf>vhMZFzH0Z^vXK)7o^N(Y*1dGGEf?8`2p7#H< zmwc4b6RiA`BK|ej`$ztJEriH>Mkf%*mQY(spzr?iavnHsQ@K^m*SEgEB8GNpSB2L? z)`_U;g_f`D_=(j}o8xBm?o-Sjz^>}DSy;$sgVb~$=6;Hn@QJ%02rAICUUMfu-|0t!R^(ffvX@v^kC$tmsS2xKJ^09+HQ7-gdhY`7!VW$fnj$Uh2 zkgIxBVtQnVa$I&|_a19zzH+&ouY3nc456dif zJ;o;X)(x#E{qeKQiAOlzQ!vp}4mNM{M$|y)&qN(b{~*#@-8ZR}+tJ|tz^a5vYaXP3 zW9k$Op^9u9C;5t$RKKP+UZOlM*=lM)DZ`L%rK@zkINV}BiGzI;DROV74G;;JfB;Se z$|<{9G*2B=`*`A0M6PhwwabYw#U>c^4^gH~Dk-DW1+;quJNV-5IOHFfpm(-iHE5X% zU0xbN!t;@?Jaw(Vm}Z#f$Cjah6L_yY+Z@^BMs9e18S?`xAaexNA88kr!we_hdG*bZ z*jm3p0U ziEgRp$JdY+48fC*1!(Xga|B)Z5`dNg%C^}+i*YRea;e*v#j3d9VB=4sGmy?-+iI~u%g7mh5ig1j9yLkWN;r@D+3xE;v;kTU4ss6)LV%wp+*9)rM_spKZK%MgDw zVY@V=x4w{KijK28J|NfzS?Lzm&k=yyNfiH1m;s=&%7`b(`6P_`SahimDbUTKs|;J)NUUD@D>Ak$k<7wNu!Y?=MPW+j zx}r>t=bS=^`fiUV(*SN>P#<^4H+B*fg9Fv;b$xTI+g@PKyg$CP4-|O3;;y{6YTc)P z%0Zp4nG~rkT`162Frux-J!K-+v;v#sIBQ(TX|WCo^8#XIFZvtTSL4wo*m3vxTpk{l zQt6^Jzp}d36=>8Y{*Uzq9C5MUr8sJ&)Fs?lQn6?DRuhl%u?gHm$IG1a%nH>_y0FGY z7|Rl*#_;8$#}Bw$4JvmbY{!9Fn6WVkX^F{()3Iakd-D%F>&WrBfGflagGDI>qa@e+ zfT)ESUwu;Q)?8J>S{5+c@{36HnolEW+SXso$?H9a0Am4oy4P$@^ZXT()UA=|@HL+B zE~h${XIT{b(rFZ>F37?^39(*IS2TT>nnJ@iuUO*ULqfTpB>)|OyAIg6wehBb(T%Lg z*x~wk^&4zEJd(6p`U$K7uDV<7K^7x40k>^cVL6Yr5gxYqdYK&}kHxWnrnm5ng|lx{ zVpBf_5%*s+P!v)t4)m^Hgc=l5so}GkutLlz`9#9LudYe28rdlJ*P7OQPftZD%sE%A zdr_idcH6|u1^#<+pwl;7KIv^aEBlAAw7IP=m~xiy?xsa-UHGc$8X5zPM$ac<7q>aS zESTCN0H=H;xnMtzk}(tc^9^|qa4}@*8>@T$>x;J)y8ngNnIrk~bob5F>4$!uwDtrblz)XL z)(qih;jrD8a>I;Hj6I-V?p9&m?Sa=S`-Y}$`^^ux8_vZ5=suGTp88^4L$dv#imHFa zuHdEzuf%rk_d+1JzZ+4rn4Hv!g1adQeMEoalK|w9mC5^^&wAXO0Y|ceB3G{_vvenc zIdUho-m({YkZOTqYS})K+u|P9zA)xCOI%^-upDfrffX&sj8#6eQ8^&oy%%@3?Vb_t zt_Xi+hhw)O;dqd6uPU^uQT(t%zP(eu`%*@M>(8koa;rmCa_GFLTD9qQ;9%Lvf&cQ> zDbu)?%dueE5aw7@dH@O-gat>xN^SDCG_kCZ$erX8ZRQ@3I2vjMrU?h!QB+vT}q&(o&m{n7g2Po%fRPx_(M z@QUY~V_OcHUb}5)jyDIRLB~J#D&J0TNTQ!Vtz>%VyI*1>EN_a~HzoKhhf=hi_+HwH zbbIc6pTCV*yI)Sfjq?aMIqZLqq(;_%M7!0ozM$XgEed423!?;nEUP{br65kf*SNyl z>Ez7L!P0qIaSLi+&zGY6X-`rzn97&KiF@M&3#?>MVOo>E3lhKI6o&pGOnGFiK{C3t_XC_a?K9GTo!E z%`Fxk@}yYSMCB8xCRXgCfU>L@$PTF8qx+e}$Kht_s_qSJz95tPo&;;WOtq3~;;v+H zQ8=x-K%wLpso>dsDJNDAZa2}=( z_Qo%9pECg!v_sd_#kTd*z;lDk=MiPAK_>sDyc;SyCG%&Z^WnI)+cVbq7XN#^>~Z{) zj2C{W28~P?5ZaR^vWMXlrMb>Jz#4~&y>i{M$2W2uoV@J2s>s`Ju%`IqACAiETEE4+ z_nI4zB*dnOIF+{27;k5kI@deALJXkb({miR zOGIOdxflFL-M;z&E3*Mgb#2~8mG;J;r@MbTL$M_o4>rR-X(v&Xp`FdAKFvDg2hFOW zlyl7Y$N%y(9aL6%4g{~V-R2D=x#>KOZcv)}JBy94Uoof3Lm=sluUXbZwwp)PG`Kx( z0lJczTcd08my~09Huc%IYhkx?&a2HHK=26Gj?y3^8t&4!wiuU|Rl73J&L{P?F0Q(C~j9);6ZpgDzywYkAthe5i0APe7QS?zGsgd5>kMtJy( z@b--f*AnAqU!?O%KRl`&ST3|$9j;WU45>Q(CpMZWt2yb__?DCXY3Nen(ofmQRaEl5Oby#8fWTj!_^jO`~@tcf44l#Nfyl;>ww`cHqfMV`i z7}9Vtbaps)C8$c{N`+D8r#(ijdL`i5I5FjNhUg)`?JV+4R!%#VdTg^XHGti|0nfv2 zlxf!yRHdV~jLD-eO+U4!IBN@-I ziwW*{mcM9zE<6kArR{onv|fpb{*>!8vrJ#1;}vm#6oyIhUfqW%4vB_u9!lv`jw~j0 z;t2fm&GuZ|ya@rKB5w+tx?5ZMxQVD`kAW5$K+8#S03FsDrfwBnU;{F*UN*t;%AHua zJa=>AkQ%=%2GJB>Eg=KLaG!ZVu8XIWJ~Tbd$O%RGK7MwQ%bf|9%h05xvO5RTOK_iv658;aw)S-?YRbSjQS9RJ!@r2)TdCM!zaT)V7foIfX#?z$h|e7=Z9Hz@n>^PG1ybaGum>d3#&s5Ca1KQI{be0} zTjL}ykT7sdc(O9+zjO|;`BG^-1_q zyfROOn}P>eh@g`cM7ZSe9vFf1*I4*v!k{Tu_$3*QK20;T$7R_j2MjM1+-=L?Ps!-u zgr*sw3F(XgcA0ODp!XhS#o7ZtaMvr|)Eoyy|5yatlQJEGnvyb$2qBhLG{-mssX1