From f61331f6540d55c030a285f4e25be7a8abc7c6d1 Mon Sep 17 00:00:00 2001 From: Pedro Dias Date: Fri, 9 Mar 2018 00:07:31 +0000 Subject: [PATCH 1/6] refactoring all code --- src/B2Drop.js | 437 +++++++++++++-------------------------------- src/B2DropShare.js | 180 +------------------ src/Client.js | 207 +++++++++++++++++++++ src/util.js | 8 + 4 files changed, 341 insertions(+), 491 deletions(-) create mode 100644 src/Client.js diff --git a/src/B2Drop.js b/src/B2Drop.js index 805a890..5437934 100755 --- a/src/B2Drop.js +++ b/src/B2Drop.js @@ -1,154 +1,64 @@ const util = require("./util"); - +const Uri = require("./util").Uri; let request = require("request"); request = request.defaults({jar: true}); const cheerio = require("cheerio"); -const async = require("async"); const qs = require("querystring"); const isNull = require("./util").isNull; +const Client = require("./Client").Client; -const createClient = require("webdav"); - -const Uri = { - loginUri: "https://b2drop.eudat.eu/login", - logoutUri: "https://b2drop.eudat.eu/logout", - shareLinkRequest: "https://b2drop.eudat.eu/ocs/v2.php/apps/files_sharing/api/v1/shares", - webdavPrivateUri: "https://b2drop.eudat.eu/remote.php/webdav" -}; - -function B2Drop (username, password) -{ - let self = this; - - self.username = username; - self.password = password; - self.cookie = request.jar(); - - self.connection = createClient( - Uri.webdavPrivateUri, - this.username, - this.password - ); -} - -B2Drop.prototype.checkIfFolderExists = function (folderPath, callback) +class B2Drop extends Client { - const self = this; - self.getDirectoryContents(folderPath, function (err, response) + constructor (username, password) { - if (err) - { - if (err.status === 404) - { - return callback(null, false); - } - - return callback(err, response); - } - else if (response && response instanceof Array) - { - return callback(null, true); - } - - return callback(1, "Invalid response from server when fetching contents of the B2Drop folder " + folderPath + " !"); - }); -}; - -B2Drop.prototype.getAuthToken = function (callback) -{ - let self = this; - - request.get({ - url: Uri.loginUri, - auth: { - user: self.username, - pass: self.password - }, - headers: { - jar: self.cookie - } - }, - function (error, response, body) - { - if (isNull(error) && response && response.statusCode === 200) - { - const $ = cheerio.load(body); - self.requesttoken = $("head").attr("data-requesttoken"); - } - return callback(error, response); - }); -}; - -B2Drop.prototype.changeFolderSetting = function (folderUri, folderID, setting, callback) -{ - let self = this; - - var queryString; + super(util.Uri.webdavPrivateUri, username, password); + } - request.put({ - url: Uri.shareLinkRequest + "/" + folderID + "?format=json", - headers: { - jar: self.cookie, - requesttoken: self.requesttoken - }, - form: setting - }, - function (error, response) + getAuthToken (callback) { - if (error) - { - return callback(error, null); - } - queryString = qs.stringify({ - format: "json", - path: folderUri, - reshares: "true" - }); + let self = this; request.get({ - url: Uri.shareLinkRequest + "?" + queryString, + url: util.Uri.loginUri, + auth: { + user: self.username, + pass: self.password + }, headers: { - jar: self.cookie, - requesttoken: self.requesttoken + jar: self.cookie } }, - function (error, response) + function (error, response, body) { - return callback(null, response); + if (isNull(error) && response && response.statusCode === 200) + { + const $ = cheerio.load(body); + self.requesttoken = $("head").attr("data-requesttoken"); + } + return callback(error, response); }); - }); -}; - -B2Drop.prototype.getShareLink = function (folderUri, password, callback) -{ - let self = this; + } - var getLink = function (callback) + changeFolderSetting (folderUri, folderID, setting, callback) { - var queryString = qs.stringify({ - format: "json", - password: "", - passwordChanged: "false", - permission: "31", - expireDate: "", - shareType: "3", - path: folderUri - }); + let self = this; - request.post({ - url: Uri.shareLinkRequest + "?" + queryString, + var queryString; + + request.put({ + url: util.Uri.shareLinkRequest + "/" + folderID + "?format=json", headers: { jar: self.cookie, requesttoken: self.requesttoken - } + }, + form: setting }, function (error, response) { - if (!isNull(error)) + if (error) { - return callback(error, response); + return callback(error, null); } - queryString = qs.stringify({ format: "json", path: folderUri, @@ -156,232 +66,125 @@ B2Drop.prototype.getShareLink = function (folderUri, password, callback) }); request.get({ + url: util.Uri.shareLinkRequest + "?" + queryString, + headers: { + jar: self.cookie, + requesttoken: self.requesttoken + } + }, + function (error, response) + { + return callback(null, response); + }); + }); + } + + getShareLink (folderUri, password, callback) + { + let self = this; + + var getLink = function (callback) + { + var queryString = qs.stringify({ + format: "json", + password: "", + passwordChanged: "false", + permission: "31", + expireDate: "", + shareType: "3", + path: folderUri + }); + + request.post({ url: Uri.shareLinkRequest + "?" + queryString, headers: { jar: self.cookie, requesttoken: self.requesttoken } }, - function (error, response, body) + function (error, response) { - if (!isNull(error) || (response && response.statusCode !== 200)) + if (!isNull(error)) { - return callback(error, response, null); + return callback(error, response); } - var info = JSON.parse(body); - const url = info.ocs.data[0].url; - const folderID = info.ocs.data[0].id; + queryString = qs.stringify({ + format: "json", + path: folderUri, + reshares: "true" + }); - self.changeFolderSetting(folderUri, folderID, {permissions: "15"}, function (err, response) + request.get({ + url: Uri.shareLinkRequest + "?" + queryString, + headers: { + jar: self.cookie, + requesttoken: self.requesttoken + } + }, + function (error, response, body) { if (!isNull(error) || (response && response.statusCode !== 200)) { - return callback(error, response, url); + return callback(error, response, null); } - self.changeFolderSetting(folderUri, folderID, {password: password}, function (err, response) + + var info = JSON.parse(body); + const url = info.ocs.data[0].url; + const folderID = info.ocs.data[0].id; + + self.changeFolderSetting(folderUri, folderID, {permissions: "15"}, function (err, response) { - return callback(err, response, url); + if (!isNull(error) || (response && response.statusCode !== 200)) + { + return callback(error, response, url); + } + self.changeFolderSetting(folderUri, folderID, {password: password}, function (err, response) + { + return callback(err, response, url); + }); }); }); }); - }); - }; + }; - if (isNull(self.requesttoken)) - { - self.getAuthToken(function (err, response) + if (isNull(self.requesttoken)) { - if (response.statusCode !== 200) + self.getAuthToken(function (err, response) { - return callback(err, response); - } + if (response.statusCode !== 200) + { + return callback(err, response); + } - getLink(function (err, response, url) - { - return callback(err, response, url); + getLink(function (err, response, url) + { + return callback(err, response, url); + }); }); - }); - } - else - { - getLink(function (err, resp) - { - return callback(err, resp); - }); - } -}; - -B2Drop.prototype.getDirectoryContents = function (folderPath, callback) -{ - let self = this; - - self.connection.getDirectoryContents(folderPath) - .then(function (contents) - { - return callback(null, contents); - }, - function (error) - { - return callback(error, null); } - ); -}; - -B2Drop.prototype.put = function (fileUri, inputStream, callback) -{ - let self = this; - - const outputStream = self.connection.createWriteStream(fileUri); - - outputStream.on("finish", function () - { - callback(null); - }); - - outputStream.on("error", function () - { - callback("Error sending file to " + fileUri); - }); - - inputStream.pipe(outputStream); -}; - -B2Drop.prototype.get = function (fileUri, outputStream, callback) -{ - const self = this; - - const downloadStream = self.connection.createReadStream(fileUri); - - downloadStream.on("error", function (error) - { - if (error.code === "ENOENT") + else { - return callback(404, error); + getLink(function (err, resp) + { + return callback(err, resp); + }); } - return callback(1, error); - }); - - downloadStream.on("data", function (data) - { - }); - - downloadStream.on("end", function () - { - }); - - outputStream.on("finish", function () - { - const msg = "Finished reading the file from b2drop"; - return callback(null, msg); - }); - - outputStream.on("error", function () - { - const msg = "Error writing the file from b2drop to temp file"; - return callback(2, msg); - }); - - downloadStream.pipe(outputStream); -}; - -B2Drop.prototype.delete = function (fileUri, callback) -{ - const self = this; - - self.connection.deleteFile(fileUri) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); -}; - -B2Drop.prototype.createFolder = function (folderUri, callback) -{ - const self = this; - - const allPathsUntilFolder = util.getAllPathsUntilFolder(folderUri); + } - async.mapSeries(allPathsUntilFolder, function (folderPath, callback) + getQuota (callback) { - self.checkIfFolderExists(folderPath, function (err, exists) - { - if (err) - { - return callback(err, "Failed check if the folder " + folderPath + " in B2drop exists"); - } + const self = this; - if (!exists) + self.connection.getQuota() + .then(function (resp) { - self.connection.createDirectory(folderPath) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); - } - else - { - return callback(null); - } - }); - }, function (err, results) - { - callback(err); - }); -}; - -B2Drop.prototype.deleteFolder = function (folderUri, callback) -{ - const self = this; - - self.connection.deleteFile(folderUri) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); -}; - -B2Drop.prototype.getQuota = function (callback) -{ - const self = this; - - self.connection.getQuota() - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); -}; - -B2Drop.prototype.testConnection = function (callback) -{ - const self = this; - - self.connection.getQuota() - .then(function (resp) - { - var keys = Object.keys(resp); - if (keys.length === 2 && keys[0] === "used") + return callback(null, resp); + }, function (err) { - return callback(null, "Valid Connection"); - } + return callback(err, null); + }); + } +} - return callback(resp, "Invalid Connection"); - }, - function (err) - { - return callback(err, "Invalid Connection"); - }); -}; module.exports.B2Drop = B2Drop; diff --git a/src/B2DropShare.js b/src/B2DropShare.js index 886a691..3238473 100644 --- a/src/B2DropShare.js +++ b/src/B2DropShare.js @@ -1,182 +1,14 @@ -const async = require("async"); -const createClient = require("webdav"); const util = require("./util"); -const Uri = { - webdavShareUri: "https://b2drop.eudat.eu/public.php/webdav" -}; +const Client = require("./Client").Client; -function B2DropShare (sharelink, password) +class B2DropShare extends Client { - let self = this; - - self.connection = createClient( - Uri.webdavShareUri, - sharelink.split("/s/")[1], - password - ); -} - -B2DropShare.prototype.checkIfFolderExists = function (folderPath, callback) -{ - const self = this; - self.getDirectoryContents(folderPath, function (err, response) + constructor (sharelink, password) { - if (err) - { - if (err.status === 404) - { - return callback(null, false); - } - - return callback(err, response); - } - else if (response && response instanceof Array) - { - return callback(null, true); - } - - return callback(1, "Invalid response from server when fetching contents of the B2Drop folder " + folderPath + " !"); - }); -}; - -B2DropShare.prototype.getDirectoryContents = function (folderPath, callback) -{ - let self = this; - - self.connection.getDirectoryContents(folderPath) - .then(function (contents) - { - return callback(null, contents); - }, - function (error) - { - return callback(error, null); - } - ); -}; - -B2DropShare.prototype.put = function (fileUri, inputStream, callback) -{ - let self = this; - - const outputStream = self.connection.createWriteStream(fileUri); - - outputStream.on("finish", function () - { - callback(null); - }); - - outputStream.on("error", function () - { - callback("Error sending file to " + fileUri); - }); - - inputStream.pipe(outputStream); -}; - -B2DropShare.prototype.get = function (fileUri, outputStream, callback) -{ - const self = this; - - const downloadStream = self.connection.createReadStream(fileUri); - - downloadStream.on("error", function (error) - { - if (error.code === "ENOENT") - { - return callback(404, error); - } - return callback(1, error); - }); - - downloadStream.on("data", function (data) - { - }); - - downloadStream.on("end", function () - { - }); - - outputStream.on("finish", function () - { - const msg = "Finished reading the file from b2drop"; - return callback(null, msg); - }); - - outputStream.on("error", function () - { - const msg = "Error writing the file from b2drop to temp file"; - return callback(2, msg); - }); - - downloadStream.pipe(outputStream); -}; - -B2DropShare.prototype.delete = function (fileUri, callback) -{ - const self = this; - - self.connection.deleteFile(fileUri) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); -}; - -B2DropShare.prototype.createFolder = function (folderUri, callback) -{ - const self = this; - - const allPathsUntilFolder = util.getAllPathsUntilFolder(folderUri); - - async.mapSeries(allPathsUntilFolder, function (folderPath, callback) - { - self.checkIfFolderExists(folderPath, function (err, exists) - { - if (err) - { - return callback(err, "Failed check if the folder " + folderPath + " in B2drop exists"); - } - - if (!exists) - { - self.connection.createDirectory(folderPath) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); - } - else - { - return callback(null); - } - }); - }, function (err, results) - { - callback(err, results); - }); -}; - -B2DropShare.prototype.deleteFolder = function (folderUri, callback) -{ - const self = this; - - self.connection.deleteFile(folderUri) - .then(function (resp) - { - return callback(null, resp); - }, function (err) - { - return callback(err, null); - }); -}; + super(util.Uri.webdavShareUri, sharelink.split("/s/")[1], password); + } +} module.exports.B2DropShare = B2DropShare; diff --git a/src/Client.js b/src/Client.js new file mode 100644 index 0000000..5f04d14 --- /dev/null +++ b/src/Client.js @@ -0,0 +1,207 @@ +const util = require("./util"); + +let request = require("request"); + +const createClient = require("webdav"); +const async = require("async"); + +class Client +{ + constructor (uri, username, password) + { + let self = this; + + self.username = username; + self.password = password; + self.cookie = request.jar(); + + self.connection = createClient( + uri, + this.username, + this.password + ); + } + + checkIfFolderExists (folderPath, callback) + { + const self = this; + self.getDirectoryContents(folderPath, function (err, response) + { + if (err) + { + if (err.status === 404) + { + return callback(null, false); + } + + return callback(err, response); + } + else if (response && response instanceof Array) + { + return callback(null, true); + } + return callback(1, "Invalid response from server when fetching contents of the B2Drop folder " + folderPath + " !"); + }); + } + + getDirectoryContents (folderPath, callback) + { + let self = this; + + self.connection.getDirectoryContents(folderPath) + .then(function (contents) + { + return callback(null, contents); + }, + function (error) + { + return callback(error, null); + } + ); + } + + put (fileUri, inputStream, callback) + { + let self = this; + + const outputStream = self.connection.createWriteStream(fileUri); + + outputStream.on("finish", function () + { + callback(null); + }); + + outputStream.on("error", function () + { + callback("Error sending file to " + fileUri); + }); + + inputStream.pipe(outputStream); + } + + get (fileUri, outputStream, callback) + { + const self = this; + + const downloadStream = self.connection.createReadStream(fileUri); + + downloadStream.on("error", function (error) + { + if (error.code === "ENOENT") + { + return callback(404, error); + } + return callback(1, error); + }); + + downloadStream.on("data", function (data) + { + }); + + downloadStream.on("end", function () + { + }); + + outputStream.on("finish", function () + { + const msg = "Finished reading the file from b2drop"; + return callback(null, msg); + }); + + outputStream.on("error", function () + { + const msg = "Error writing the file from b2drop to temp file"; + return callback(2, msg); + }); + + downloadStream.pipe(outputStream); + } + + delete (fileUri, callback) + { + const self = this; + + self.connection.deleteFile(fileUri) + .then(function (resp) + { + return callback(null, resp); + }, function (err) + { + return callback(err, null); + }); + } + + createFolder (folderUri, callback) + { + const self = this; + + const allPathsUntilFolder = util.getAllPathsUntilFolder(folderUri); + + async.mapSeries(allPathsUntilFolder, function (folderPath, callback) + { + self.checkIfFolderExists(folderPath, function (err, exists) + { + if (err) + { + return callback(err, "Failed check if the folder " + folderPath + " in B2drop exists"); + } + + if (!exists) + { + self.connection.createDirectory(folderPath) + .then(function (resp) + { + return callback(null, resp); + }, function (err) + { + return callback(err, null); + }); + } + else + { + return callback(null); + } + }); + }, function (err, results) + { + callback(err); + }); + } + + deleteFolder (folderUri, callback) + { + const self = this; + + self.connection.deleteFile(folderUri) + .then(function (resp) + { + return callback(null, resp); + }, function (err) + { + return callback(err, null); + }); + } + + testConnection (callback) + { + const self = this; + + self.connection.getQuota() + .then(function (resp) + { + var keys = Object.keys(resp); + if (keys.length === 2 && keys[0] === "used") + { + return callback(null, "Valid Connection"); + } + + return callback(resp, "Invalid Connection"); + }, + function (err) + { + return callback(err, "Invalid Connection"); + }); + } +} + +module.exports.Client = Client; diff --git a/src/util.js b/src/util.js index 4abe60f..f8c24b4 100644 --- a/src/util.js +++ b/src/util.js @@ -34,3 +34,11 @@ module.exports.getAllPathsUntilFolder = function (folderUri) let pathsWithoutRoot = paths.splice(1); return pathsWithoutRoot; }; + +module.exports.Uri = { + loginUri: "https://b2drop.eudat.eu/login", + logoutUri: "https://b2drop.eudat.eu/logout", + shareLinkRequest: "https://b2drop.eudat.eu/ocs/v2.php/apps/files_sharing/api/v1/shares", + webdavPrivateUri: "https://b2drop.eudat.eu/remote.php/webdav", + webdavShareUri: "https://b2drop.eudat.eu/public.php/webdav" +}; \ No newline at end of file From 84468a7fe8acfcd21fc447f3403a29c630c820f2 Mon Sep 17 00:00:00 2001 From: Pedro Dias Date: Fri, 9 Mar 2018 15:11:16 +0000 Subject: [PATCH 2/6] Update Read me after refactor Still need some work --- README.md | 68 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 55aa2d5..345bc70 100644 --- a/README.md +++ b/README.md @@ -44,17 +44,20 @@ NodeJS client for B2Drop, based on OwnCloud ![workflow B2drop extra funcs](resources/flow3.png "B2drop request") ##### Methods - - **`login(callback) `** - Login B2Drop service - - **`logout(callback)`** - Logout B2Drop service - - **`put(fileUri, inputStream, callback)`** - Upload file to fileUri - - **`get(fileUri, callback)`** - Get file from fileUri - - **`delete(fileUri, callback)`** - Delete file at fileUri + - **`B2Drop(username, password)`** - Constructor + - **`changeFolderSetting (folderUri, folderID, setting, callback)`** - Change folder setting (only change 1 setting for each call) + - **`checkIfFolderExits (folderPath, callbakc) `** - Check if a folder exits in provided path - **`createFolder (folderUri, callback)`** - Create folder in folderUri + - **`delete(fileUri, callback)`** - Delete file at fileUri - **`deleteFolder (folderUri, callback)`** - Delete folder in folderUri - - **`changeFolderSetting (folderUri, folderID, setting, callback)`** - Change folder setting (only change 1 setting for each call) - - **`getDirectoryContents (folderPath, callback)`** - List folder content - - **`getShareLink(folderUri, password, callback)`** - Create and get share link and set folder to editable and folder password - + - **`get(fileUri, outputStream, callback)`** - Get file from fileUri + - **`getAuthToken (callback)`** - get Authentication Token form B2drop website + - **`getDirectoryContents (folderPath, callback)`** - List folder content + - **`getQuota (callback) `** - Get available and used space in the cloud + - **`getShareLink (folderUri, password, callback)`** - Create and get share link and set folder to editable and folder password + - **`put(fileUri, inputStream, callback)`** - Upload file to fileUri + - **`testConnection (callback) `**- Simple test to check if username and password are valid + ### B2DropShare B2DropShare is responsible for all operations related to users shared area, only uses WebDav. @@ -67,44 +70,43 @@ NodeJS client for B2Drop, based on OwnCloud ![workflow B2drop WebDav](resources/flow4.jpg "B2drop WebDav") #### Methods - - - **`put(fileUri, inputStream, callback)`** - Upload file to fileUri - - **`get(fileUri, callback)`** - Get file from fileUri - - **`delete(fileUri, callback)`** - Delete file at fileUri + - **`B2DropShare ( sharelink, password)`** - Constructor - **`createFolder(folderUri, callback)`** - Create folder in folderUri + - **`checkIfFolderExits ( folderPath, callback)`**- Check if folder exists in provided path + - **`delete(fileUri, callback)`** - Delete file at fileUri - **`deleteFolder(folderUri, callback)`** - Delete folder in folderUri + - **`put(fileUri, inputStream, callback)`** - Upload file to fileUri + - **`get(fileUri, outputStream, callback)`** - Get file from fileUri - **`getDirectoryContents(folderPath, callback)`** - List folder content ## Examples - #### Login + #### Create Share Link ```js const b2drop = require('node-b2drop').B2Drop; var account = new b2drop(b2dropAccount.username, b2dropAccount.password); - account.login(function (err, response) { - if(response && response.statusCode === 200) { - console.log("Logged in"); - } - }); - }); + account.getShareLink(testPathFolder1, passwordFolder, function (err, response, shareLink) + { + console.log(shareLink); + }; +}); ``` #### Upload File ```js const b2drop = require('node-b2drop').B2Drop; - - var fileUri = "/" + testFile.name; + + var fileUri; var inputStream = fs.createReadStream(testFile.location); - - inputStream.on('open', function () { - var account = new b2drop(b2dropAccount.username, b2dropAccount.password); - account.put(fileUri, inputStream, function (err) { - if(err) { - console.log("failed to upload"); - } else { - console.log("file uploaded"); - } - }); - }); + + inputStream.on("open", function () + { + var account = new b2drop(b2dropAccount.username, b2dropAccount.password); + account.put(fileUri, inputStream, function (err) + { + console.log(err); + }); + } +}); ``` ## Test From 0c08e18b354aa0e149d900f1ce9bb03c795f2cb5 Mon Sep 17 00:00:00 2001 From: Pedro Dias Date: Fri, 9 Mar 2018 15:12:01 +0000 Subject: [PATCH 3/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 345bc70..f2dd548 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ NodeJS client for B2Drop, based on OwnCloud }); } }); - ``` + ``` ## Test From bed50f646188b5265256f63366878172f7c88ea0 Mon Sep 17 00:00:00 2001 From: Pedro Dias Date: Fri, 9 Mar 2018 15:32:49 +0000 Subject: [PATCH 4/6] grah updated --- resources/flow1.png | Bin 26824 -> 40282 bytes resources/flow3.png | Bin 13541 -> 40282 bytes resources/flow5.png | Bin 0 -> 9176 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/flow5.png diff --git a/resources/flow1.png b/resources/flow1.png index 430f5fe4fbe0ae2888bbf5e34bdd1c70dbfce841..76fff99b9b306b2a69f93fb0b0ff551adfefed4f 100644 GIT binary patch literal 40282 zcmb@uXH-*L)HWJG5d~C^NEJ{~q)Qb6DdM4s^xi@d2oMCMO9@2*l`6gW-a&dtQG)c6 z&_mQv6N;4319t~K=e+N|_s=)R=NOIwd#|Pt+QKp+tHQ>DMP zKp?VC5Qub`f*iPF=E+zK0tJAc{{2|z)%0rHl~+0o>3gteq<8KFUVW_)epM8zqf={; z8{rV=h@oq!)p}+;tChI+GeNJUET4|2qBViLyzCixHH^kE9^ShbWb>Aa5>6XY&^ICK=uQ>Znpp(KP;A|%#vhb_q4F9i- z!0lU90%sS=8EyrU5ET#931SZt=sdf~U>@|(Bw+ey5E=2Rc>v9ypMZz`GyVVf;{VZ_ zat!8Y&!iIg=O^Mues2l%-$g2cMbdvB`hRWx01L6satHN%J=C5CmS=A^)BBg1Uy5@o zAo)C2ub)kbU8%MA0(=rz($zf=N3@4*9Q+;BJCghc?wLKDEX9m^U+MP3JzO_Lr<|Dt zda{ZOKUs61dd2(7xYwTp5a>iHD=hES3~ti@a>6xY)RmZjF4qgG9HOS*vZ)5yjd*<- zlB`&v2glSAVBbrcRwm*ut`0ccwbgjF3uW-J?Y}H3YHS=6k7NSJ91g=5se6*JPVx|m z!z9N%U;LcYmBas@B!%rZ-cT}YR4++SJ2?p4IC+R4UMw%p=UG=%O?ow}3AtNLZoshz z7*>+zl!$$oL%@BwZ{qLxh2`e@bmB9GGVg^ZmzSE;Trtd{hnN_F@N#+`@ zeGWxseDTNO9eW&&r8|4=td)b#oD+0pRK!ycAX(SifSq0#qhH&sMHbP`y?TairR4XX zp_Qku%6TQEE#w}`YNMPs zbxye1Ov0F`J(WxGFv#H|IaED*&e)aM` zVH%fIm+ntc+0fMAkos+qSpihPl0JTPOK~;Jz))AIROi5LGW{Q8zcj~=MRCR45LFOT zo-X(Zm6KT09nvf>X4Rf{5aBMt3~#urOzUadI2Gj_?I}FNf16gT1bg<{t@z_5G|BQX zBlQvr9Zpi}3Z)(72Hjfl<*2a^87FvhwaV+FrJ*KA z?@DvLg`Rjnf(BUoT4m)FPYcP+F?3T`MQL?kcldsXY*96(Kh58S#ymYXlBe0fZM~mI zCPkW_?Qs;dxx7z0a$Z4usIFZzw`e>5AhuXrM2rcB^nw_vOBK|O?fQYQU&K>aSy5O& zvNq4%u+}+Qlyl2GG$a?EzERe|H4J7nXVDh57b5Ca@x<0JEP-yGK_c#SBZWOz$ zO44B_|5LE@%#AgDLdd$35uRkR1nyp`Cy8VVZ)f=aim5z2iB-S3Ml4LoI2rrYdOe2& z!Ce0eTB~J%Z&d#lpBy)}8S=2*$)CS{+M=OQbG;s=V zBZ-XC2xT@;)=92=#Z;q}nya9BeI9n|Eyy#ky=NiW4$ zNr@wv7yAlza=%LfW9NucWo7c92$|u^++n)u1K#Gpy%9ORJZ$2e_XvL$n!;_kztZ)M3E2(Noa8)OOU6r?ax?T~ zys<0xUa<0#@W{$*Yo#RPu0qN3r;<(qgl#K+{40*H)GwW&0Wh707G|=!NxK;pduFlD ziZJmmKPdukWj_rm?dh&24Q?sL>(JJ)z&O4Kd_y4xuKw-r~Zw{r}Z(97G@s|d#ZF@Qv>;= z;tyIw1Wqy6Y3>mo3F1jfu1l#<*)r4Sxn|m3beWdajYfpvZ>yv#8z6bm6Pnc7fYu< zI7}g^2JX5SI$tZ|%nL(+O8JrUx05&B3`GaFDo5x6uL5!4d6Uj1QMSFc*a*DPgs7r+ zd9E01t7cra2Ux^;E4Rc~%26M;!rlx{FOB4y?tf-K|D3ux2R}7kSUJP`f{b^p;st4& z=jNL4HIa@22|v{A3UrnJx5qSpX?L-fOT#BiH;}1$vO>Dc@{Li$a*G(xrD7&6(Tg!w z+=L!RdD0^zvejG{p>oY_oZ|Qn9E59(lP>41ic~*}%f{PPjD(oZt@adox!xD%zjjx9 zBR2~s*eTTDU9r1CU26)TSc3B9hBS(i8<3AiF>Hx30xoi>F&p8N=a3s!{6J5PGe>j2 zVtkCPqo&zZ-oyPy`(*<-Ga#Wwtth*6f&|vf$Q5aI1V5HIOzt`%xQu`A^~_nXB#E53 zgTvopi;t=(9$m%Q7dq4xB|LM?FI5cp6JzOHdDk6VI1B4KwN^h~*Mx7%dY`N-A|0kS`Bua3?1TrJBGP1!%P&iFQiAURz@Kd4p{TOL@p>#kRKN>X<%YwmX7eA0JbM!}wfH zBr=zM7uR>WwwYPd^YD=#@w<>YnF+%;Re=oVY+oZ!%6o^qCv=W>{e4bC-u4MJQ~nO) z0xy}!%3UqkOWk+TWEL9KRf$oD+|RjJY|#7Mj_<6V|8%bk4Z>~~Rma|nTN%N9%kz#c za6>QK_r!gncK1BmQqa*fV9AXVfiU^psVRl=co$i|pXk8WVc@9LRB~^=Hpouv&)kro zE9eo|2)4I_x|(`z1sO{d!qN)g3ORUKjK%K7F|nwdZ9t_kxI!IAM&&haP1HK{4MCbv zpRBc5mr&9&j*j#n+DYl<9d38y_iH0~Ss%8%kK_xD>fVAF!!iC#+L&Csc?sz@$DO1W zNtxg9Saw6xN}tA5-g~c6V9Pi?e}eTdva~BPhT2y5rTdT*ARFw}@ECUam%{R)@zNDN zJ1^PTersw>B-BfHtaREGxnEE9Sz17*+RYjncj#s$Z*J`ux0u4E1sPj~l~V4CrVlPsb^w_YOxZ%=fGc0Mv?+Pc z_4EX{s95`y`OjQQMB_`-%Eeu%U*+O{0@Wu!K^ew8Z}sFk7584wsZpPbJ?RO@KkoA8 zMUe~B%byGM>`7HweiAIbulADtc2+mdim7S^hWTUt_}L09KbhS8gT{L##!MI%bZb4| zQ08`YQU8m_W%V>zDzRP-O;zol?dOIZqm1kwDPZFGJZX0UCeOf@Q}6p^|z zMB*CwCri1>9=gi^(jw0@ijut}-pf}yiSnORCf$~zwl}!0tvt}^FBjAQuCG)K)Q~w` ztVIWd)9tT$ME-k6qtjMxLrA#Ifj87`Zx1?bJQ;X&T!MO6^RN ze{cNtIF~Zju(%jGEjwoT*T0#R(j_MSylQz#@WXD~Xi7K}$-m;g^EyPf6l^flBB(+6 z>@|r3#c$(&`dGCbasf(ND>J+$TgOZJ-}v*%v(^yrnf`OapDF%(Y!?-Mff&z#;mV-) z|9ULcJYPW%YFpPAOkL4yNC#{vxQv)+DbQYT`+Szg$_fql+>YQMrC^T`f?7Qd3Ca2S zlYM5d){>Y7*VRkKGl{z(wtr{A^Y`xtE}oyJvvtb48wfQ>$j)!g`PsS0>O&qIsBsy` z%={ofQhYIqZ8L(H%zyAloHtteJUyox2$4uJqGpcAlzLSBo1UXK@x<)i{m;@DzCzr@ zQa8bN3Jf91g4Wk@j;;91XPNpH6VW{xaMInggjif90$j`W)v$Qb6`XWP)zlR}HYBmP zmqZohqHn#hfQ`}^`u$ptIUIUWNPbwoDE|wW^G#1Tmt#f~i76EWb&!h&`f%`ycCKRL zFts zdh!YG!h}{KF8t&TlL4QH#go!>{ueL5Qsf3{OE#@HKdp<6I$kbb61+`8t&MW}I_dnD zg+SaiDCArOuMzGujRFq*aFpWGyO5eeFzoYt?YURB+j>+N<(?Edy_k$+GLzawmXwqn z_+BFxJ*ZeiR|hF;*@x$3pWOf}Ql=D-@f+wEivH+v@I-|PKDMQBL#a08ck4#_d$}1- z9qp5o0<#!yV9CneEF3lpWQ7g?`jzH9D89tz|1%Cv^txO*pD3s!5wF%~Jx%r@0~ha| z_|ggCJR69ZPYUMP6hFru#qVh!k)U&nNNidHg;wPW$mj4PDHmOjQaP`!IocOv(Nj)ce6??kYzTRL_i}f%gCudF#1d2`uEHZs_T~2oP2-8jScRjszqZ> zdARx2&UeUBd=-HrmK!)&J&#NAg_#Gb+x)h^j@=7v`z|O$n`kUCb^jpWOU6f4+ZSvZ zzTI^f`}f5UH;KyhGH9ekmYVnCpMk+xSpXPa1WuC_PQm{BqSDndBHqw0#RoDOo>d<~ zAf-#dp?d-`pc04yNZzwT8VGdfJaVgoc&Hro_p>Tk^Od=Y$|wiz!02{Gob5{m)=_1?l_L@E`Tjuw?s>9ybjZ%bZWhekM~(u zFNf`qAOH`=L97ww1I5&y+PyFrP1Mgj0b8<^WNShzOUeo7U6Nf3#Qe;EI>S4>*YIX4 zfNDPuza;mD6V@$VZLW!(OnKUIzp_Lk%;_dDwMUT_r5mR|G8e%genL9mejs(4E~W># zo&qSH;5`cJ^aPZbI@A~cMPKj}afA1ZBK7gDB{*GJCDzv-kSV>I1YxI?L*>!BlKqS} z!(Txmj~h_#P9-0qpLy;fCMLEbh*jk#<#bBPho!MK5)wlmZo5H`a@|%ZDdB*LuNk8c zZYiA0wuqA`0}5lUQKwPBc-e||+}Z8(4esvYn{0W3j(VVc=iG3y|bM&ZMfN|J!{*Q1KYEoz|h+>~8kXr>auY=-x? zlmFVXA96M&OK@0%{z2Vn2M~RgDC+L!TblaJzh4qyrC2bK`W0juHS<-U=;Nrahpuve zE>+rKrC0Dv9;0}l1H4&t$MI@})ANT{d)qdZ?v1A(EB_Kq|0G7N^-^(^EPxk2pFzv2 zJ0EmnkC*vz78^cBG&_{|)HFXVO|5B`5Dp=YQ5&0&#a*!w zx!SAhfF8?W5^bKZVn3n)7X28sxWn)IV|ES>eh5!2(9^gY7gc_I__^cYFJghais^pS zPRE-l+@tntV6^$oKiIL9Ox5~n)^O1cvpUzcuBhk4K#kgO@N8%DHJSKz7J6arb5{T~ zxh~tXy5y2@{!;u_X!YsT^e!z2S@w-_qBn!i_h_nbpABxaPNCe$;349rYtKl(n>cUw z=r^oO2Yi#|e49^WovRRWqJFl6EJ+=BsrQ@%f7u53=Vxy-&@$)^Q02!}+n6a|zfRBg z6Gx1WLjN0mGJ=4@_d@=T;lkP7oPM_-{iclQ_&_Y+ME(ItN|#c?8Xp3oL(=3S$7>n| z&_4j|0|Succmk&59#~Lw=fBIev{T@#wuO{%2CgmRZy*1ylgnxW&~y4X^fdUN>tm-M zNe(B-9+B}~(dql2Ach(FdjBnS>ks10XSDc_9(bQM9b7!%15Uy|8VW8R0&2JlzsZJw0jClD zgCLId{wQ0sbBUmS>rU(j_QVR8qq@ zix8M_p~Twof4o7FXiW>cf8zx)68yXV&A9Qh9Z0@756X-C8R@^)o z&-DKhP_zQQT~M?Fqv*%8qx>VdxN|A=04i?_OgL8p`CkvFtQ`f8GL>||O{9*r6J*K% zM|45Yg_~0c_A5l#sm>%p#LOQkpe9MvWwbW=5<~75SYaYN^ZN*H+qzf?^N7|NVLo%{ z1CZknwtp{+2^FcgO$2m^&+Uf+5as@8W5C}6qQg+)Q4-7JkD&mu}4Ox>r@VFTbPQv62l7QcPq#4>8R zbA;?bITUX9xcNTQpG_~3T&Ue?g6(4uoH|TBQzZQ@GNWo1$k^7A+sDo)0643uS2z*% z(K6dBUNZ3NLL?O!NMuQ=Ujm-G_;74U#q3w6fu{>} zF`iBJjNHh?C;8Efst6f+`vU&r@{02z0gGO*Z`nP(&+6`b#di6>Ocm`D@YY~&w$dI*q+J5y9p)Zx~RHB7(j;KnB5 zOsA>t^933KI;}(mrWZkXkRT@%?52ZTSZJ6wKpQL-p?R={mhDw5qpc4*Pnt%StNm4G zY_=b|egfGXwT<9b6rP%8j-~FMRX7B8iUN_(=^xZiuY4xg4;LT}_`>|1$ZfU{Z}7M2 z+Ko&rXd+a|Utto~R?y#6JZ);(juSHr#$qsBNaq!NJ3gJQfYoO=zl{02N))lMm#+_> zh`+Vk3$mxKRYUu%CbLpk?PgozXFL+0mrd;0iyDwO@~rIFR;q9zQHOO!KrF{N4wQzQ)@F<|D<(rSIrvuGb!?c$Y$tpVLv}WfJ(R^y zK5tdB)Me`KNySOCcBJQwDnH(ZCwv3>0}N7OgLd0TG`}NhZsp3|u_=ABvbZ?_xi0TW zz*+p|up1kvg~0Y4MgE?UrEy2zf&*K1cHYi(n|`Y`Oc;1uB!2YewR|y<`z)>1jpBB` zf^cmk&0ib#3`qdkI;R%zQB7-$0=;YBi;0vM6VKVu^&O~FPj846JM_$T9oaa`Zl@HZ zQC>jC4}{pKSWySuT%JjQei-zRM$}r+b$CQWhp}a66R|Qd8)TJ)iNxI$W zH**E{Vr~Ya8ud&_%bPdFg%ClVIvQ0BK`2VMC6C!#33Vp-J8_WlZgXC%fCGtK6PtCGK)T{nVJ zo=T`jSdP4_>4?7RT82q1UR6J5a5QX>OCm6pkegIy?}=zrSB@69PF-*EAXrS&EtlPhjJK;imAYx1>de<11n{d}hiR^%Qe?*f*sx62 z%Va0eRg!9pTjfY;*PdRp5gpW?*iWuF611x%Z`BNjz9CzL)?7$N$7>>-g9Q zz)y1KFp03w5@W=x~sw6}Rga|I`GCk#e_{ zig9l5)u{)a?GN<3bw<|b`bqQ<`Xgp-L(T7hW^PPmOKw;0sYmru;b1!(JVgD?vH@~H zH;Z$S27(Cyd}PIzCFQ{A>*cym0eVL#51*epeuUFcdJyd5^wD22;_lHKI5i((@^3@K zL_&dPP^B(inOd){xRO5p;*eEq?S140#g+#?PmsENTjmVrjG_*uN_P4<%+Ot+7`|gd z?>@YVuxpE?vTCi+*J}213vqrxT{TC!rVr4d1}iv#r8_nKGL{IVZZsQGA%Ez{+Rh62 zld}jlQMBk-N69YCOeP9ow-29!xV1{(m4B3D^|ZL7k7h0zL+%U9d)rKTDsNuBp{)j< z=kez5;vl14>s@8{ZPybsa+)?K<9&0-veXD=8>c73lXJu2XWot>%M-WRnBB^0eR+9| zYE@2M)21aO71`=Q`bPZ?mJ9Q#&hE%_&pN_9o%JkvGP~EPtDF?Bqu<^x+3a~yPgOOp zyAc&B56=@#WJDg(tu3;kGF4s_q;j;!Hi!+ipNKc7n;O%g8^2AcUM>g9pn$}MmG7om z(pQ&kfES6Vm(wKfyb!9LS#OeB&^qXb$B!am(NEd~>vAoc4`$Jf;uEWi-Tf1;+|>FI z9UAr1Bq}YD=?P=98xf>^wA{LSA=5)q5loKB_Zh*-H|5>%OnzU6_1Bv^`ouevyZ5O= zNFo&it!?o)SPH{)B8}N$%|e|zrb*CE3_rWar94hw=I1Hl>Ixa{} zpuY^4S)HAfQaN}M8uV@vS~3F_>?759i6-L5zS;1l)*65 zve#joR%hMm^0qa<`&j43lV}(Dpth&GquW1e0LpLgjzeK8)1kQbTc~_4UXpQK#d&af5kf!lbcD5dm2T{&-LqGDI4mXD-66#q9k$` zVrr9`j51%`)tD!rgbIJ+gM@BJq_G^mKEs=x!?_UQl8LcbG|1%vPXLH0F)2TB^k88R zjw>j0v(D$^ff?HM_a15()r_Y0U2|Lir>wmaW)g8j-1hVV02;g^dT9{`y-~DAPGWV( zO1F?(mCnElSV}9f0R0)1&yv-&@@xmwZq!l!0D|$&%A$H^y+dAmw-3E^IqbnkYnuo4 z;Or=_uHUus0Mgt~{O@Mgo;L;GCFuzpDre)WeK7oBLQqRdhR3xligvVKq@?S2S5Ls} z{7L?BU0fmLLCHp`r6I`WlDv&>q`-u9Zs=SIhyKW{lt-7cXiEvo!NcmsKkY?sas!SD zK<%S4=Wi(Vi8fEb4|%an;?{rEH$_IvaX+0j&op+o%;>eD`%{R{@<{cjgM( zGC7o-v-jMemxnqdEMmwU|#nrN4u`-8gEoE;<4CGAu?Fu5+A+cFlu;UfHb%;clO zB@1G5_MJq-!BfeTRXAsP;$E8brzrlDo+VcQ)1{LWw9HAo{}gOZEc0+6=WT}it+=7) z-BcM#p^c3bceHMU!!cgowZh+HYf5$KdSdv&njm}VX(c6d>Q$0}ldR=+rj}1Rh;NXD zb2m%lCYN5+qq5NEVnXpB%Mc3>j;Ofv4I@gh20~|<(d_lFE2kDWT>G7%L(o|XT!DLw zpmNdhPV@pZ`k~jM&#C3#nwxz<6;{sj+Va5prrXLhywkOD%$y*@CPwu9XAW(@ybmer z#TVm0awFoD2Z|S)stm6)(w$|Qjp{0ri%FJ#g6oslJi%>SBOc*bx!qvcIfr85Iag~R z^B{j4dUKF7c9qmb^IpEupi8(U$ucftkNjwra~qP5Qqm%qZy~gf`zODw_k*%&l+YA@7iSLqnj z_KK;cZZNzhy{Z^-PS+EscuC4pEcEj95~Ph1=Rr`qCB$)-H~$(|@I&q_4Q(8LVotgd zYFiSkr&``AL?HYM>F9|~Cae5Lm zI@$ZxSx4L8MQEr(W&6T%*VbMRBG&FE_Y~i&D(|e=Imzm|X46P;!%#8etc-qo`b#;=!}67|?&(Nh1{#LYB&FXR?$=35^%Mlx#YxRxUz1A@AT z%a0U$Ij!gkQpMGX7e~g%PX6}FhI-hKT1mQQ?LCg4Ut$2v4K$@boZ#eUJt#=oH8%pJ zzusGy<&z7N8DXssTnlMM0;H_ar9mt#*IGc}}5QPzHpfW+Pp~Iq$5|oZ4+(=nPgu;nG_D^15YYE4%a@%1Gwx`cA<%b8V$_iS8wA_sSO8}cMfv0Ws9 zE@b=J;?~KEY2@WA&#HIdS8vC*^t+4Dr(l#G^SL3!y_yMp%L?x#c#fjwpne5|eb~-2 zwSH_*f0<3dquip#{T`qZmB=d^5W7_sqWHatH1B7S&09vu3!S%3(>d-Muf$}GfOC6b z*@AWtr=2zzQ?v>y6bID$&Jw@=*U8gEpoQ|Rofu}>ReugD~CZL}W~VM}rN{boU5( zAL{@n!Ineoj=UAw5VnrkK8B1$9VRFRW z;uUeW5g*2b*r|~uMx+D3GXlCOSu&tka>(l=GeL~-Yr8d$Znk+Jm~=&}tU$x(Yvx8K zcesHP@~o~d{tLQEAdK=%BA!puDd7V>R~;U(|E*nmEXV$uHb2v8BOf?PB1$?#E=1eP z8WMZ@Oc~xf4)m6vv9MPh=29+6=iXm9qNj$OzeV-ST!Gx$O)Pm6yi&B#e}QQgX8a<0 z2EInn{@e4d{HsKRFP_|DLZF+eh#O`{+M`)O1NngQuciqFT6%x#v#qePaK$~=3auG6 zTM}QaSY#@x(;X-u9npPLYGi_(Ka7@Zw#!ZdBiA2Djv`3Ri{v`3t%V~i)3+orAFlTD zaS7+T^)n2dmc!55vTrH-pv*-s&>+2<2yBqHUF``Efl~m}Q zOA2xcyrxz*;`VNw38zcDg!!S)-UCYI@R{%j;1p=(&2=Sgd-?N0Y^kWvk0j6%98tTi(x&V z7##>Cp)J<#{k-M&r@SZZB5rm=i6-MNuS^#9Gh2cXgy+QGdC%b65n;TSn#OL&A!2r0 zArW-tV2hC%Fx>#kas(A$pP>5mnC&8{(_HbjJx6-u6VXp1-Ey`s@r1PwrF0$t!ylWN zQdVVbgjfG1fB_Ih-Hr=YaTIuRp_(&@66fgtM%KNtoz4iA;5pe`?5NN6vjk%e_-)x; z&Wd!GQJD3@^-8Y0DdL|fto56lYQMXhJrrur+d+ngh7R33=sQ>QnixU<3Nzxq?pc}K zAQz>UFf#yh*V04PXmwt{s9(4M<6mtpyWEfcQWn`SY7z_7@wuq4*+=>x?_X2%bzcc> z(FU61-+4W@4WL2e66a198+$kJN3n>V_&1T-z6>>dT=a{oO5y^~UH!VERNfLp+qy!b z3O$YaO_jDaP#pUnR&EnUj?+Bn~KcjjFUG*mW%+WJ=9AP77RPcTTC$~51L?--dXc6Fh zU;bkBs?Mu*GyWys1P`8iaegA;8X&BX)K$0BpYb*q>nt_#d({;y&p3Km#B$}|<0&a$ z)P~CCLv#RSFbG~52&W~oKZVC$n+@JlIW$EQ41f4M_J&Sj%Up2uoS}!`S6?uZ z*agC1_Ggh!p&+crs?A7=rE^8Z{3d&_j!(?T_~yKt%F#s zI6^f;xxaN#P`Kq&|62At#tCP>TFdeU+}VdLz*|@Z_=GXZ6)Whm!*u9dI;s73bnJQt zAXf1iWg^ypkf^eysRdB;8CdX*AO&>_2$wfQMp^D5)Vy{8_IW70v`m7iI~MR+{h+x7 z>1zwuuXhwP7$4wDE+S8T`jfW&t8h)P?KuIZmpd;941HCz`Ou z9z34jg~3s;!TW6K(hRrnqb)Bx55XJ`~MtzjemEv{zeb zm(;BlBP@s7)oa=@SPAp`S@dabG_Z<87Tc;WxB}r^c)r`%kNgsiWJx!Yg@cQp^SOJb6&-gSuJXHNBNt$pr`#l}amTEDrx3dDB?E`YxG>Z$cK*;xp!#zgj~ zcL*SXsGLL}^s%h&icE^cNzk<`k*wgYch6ozMIiZ^%RN9ngOKLT$vE;F&>oNt5^UE)10%=M#B)M~6-ySIKwvf;T){W3!S z`JSPbULD35}O~sA8>gDBW16s}vv<_?Q zN9+$%tOyM!@yX*uCCt0s698f&fL-va>84{7OzN5L4%6mG4tN87(Sag$^2Vuf++*Q7 z`WC0@a(w3!!(m8`DE|m9k z6reF)QRGKasxKYY`Jzcws(5$K$d3LG56wh3O(EBgO(xV zB?u1RCnek*o*;wu2D2pM8fyWXq^IADUStk7oov$~KP@cRWp-^=06*Jh36E^MOlI;O zVD5Bfe7Il+qHTjI=I+-;bsfq_^Q>icE13ykGpb+mu8zw)=tRQ8mfB1@;U1g1Ohxne zikzO%U2n3ob!0L$v<~I9(GjxO?oYlyAX|Asix33$IvoifD6KcV^U(UVq+VaO4Drb; znUWb?XP}d`V*^AXPAC?O?d|PF@Bj1prJcvim86gQCURQYf;@&5B)c5rg`99n@jhE_ zu(+ciKqgrGrstb0Qon5dmZ0vwKKS>M<&J14n6YW@?>bEdvSWVwaRT?HR#b5Duuumj zyV=b;{?+v|K?TZwko}8jYyfh>5S)WtF)T(zwFo#Ep)wMaG=W&@N;+Cd0=h|)=CO!? zSGJvmF#yO^$#s!{OuZIWZuk~B6C07H!#1pQZd571fqQ-Ei3if63Fynm#MMS*vaJrh zI2KoaKaNShJ#r#G_jliM$t`_fNzrux;x=AP=wD$Kt{J*;_&f^_3BOJ~h`1;b+0B7$ zdf6IXum5)W`mTh-?%`V%pVex7{lIM>wb(XtVSpdHX_Ks>eKdIST9o7#(57WU#LxtQ z{njS-@3>yOu4lYPts^;b zAHI}X#}MBd`P4+i9j^lUT>GYTWIzW})_R<_zYDZ*)F+wx`+o={%)*;tZY;Wrq3j|6MJx%$J+S~YMM zxXdCUBiFVjQc9ae5W9WDJXsrgP{KIQ0+FLP`n!Job{&?gZRmD`_JvK?`%fwkf6@u} z_Vowg_B|R0@!w{6wc5Jf5%-3wFr|xH)IbN3(kAdRTNmQwc3i6W_ZAs7-SF~bQSv1I zVa0D^MKMhL$wFvt> zzTD9&>j1b~8O%qm%5S`5v)jnFlYFuU5nR_y4WZq;V8l`+R1dCUTzmtOSZbcN_t1T= z&@>gPzUY~cD^j1c=P+EVnqf7zffyBd*8^9`f!@Bwpldi*4gzEL?0El`frB^TE{g!o zlU`=?@#nxdmPt06a~#6$_G=wWZWcoLSEY&{4tD_V)GY z+vt&Mjcu?&X1@U^DB#@xPTPqef<|z29Xuds0G0o3sF4$ex3BQu~LVR812 z^8S4p)d*Jbp(~ZZXHYIcT-!j@qtWMg(VkcU zXc!>taq5fmi_9#R*+6UYYBMd+Gv@eAxEW{)xk4=6lL>ap6?a4#=Ls?4)2(TqGuF(7 zvvAihafUz-K=RWAvv*SCfv9Je)Oo1fBKqX|GIsATR&uKb5ghj~8S<35RYqf-m zm#|9lkl82x_W+v+8#t#3mt%QQ(>enP>aO-0TnM9t${J2;zQHa zi|#tXXGiH!@>iK{>(3QYcB7k?*>SM%IHEo|0QzLOGU3M?Cq(WGa|uJ$7F%$gb<>eE z0J|b@>?n#Hi<(&B@0Eo2e`88SO%FkYB`)wu6mi~Whh3saQE0OBi_Qb*v?XTo(=r?J z9r%V9*daBb4rgt4K;#3yfM0+8m+)T>Qb|L~!puhlMUW$gMT5UJFuvo)h^T6*t8n1N zTmVVvC22+iwr?3#?g{+1NYts5_Wxu}D%?4zV;df=mE)rJroC!*`C0`-k&hbazb`05g<$uDJlN*f!vl&$JQmmLoZlLrC_r8Edp+2e+)=COpI7?~vLqH~t{l+68O@6S*;;gk{UZj2ZSWu zU*CaWHsC~cYW3nRCcJp#v})pWSXe0K8UH)C^G*Tj^8R8;H0#eqibrqj9hq$4-q*lp zg;!sjahS(~f4OE~3043^Z6e%Jy6TErl<1aQan0ck<%8tJKm7rh6P3Wm{;oI!vf>7j zts2_VwWGC$B^ZkTMM$tGnmIW{PQgk9!Q2K-UDf%de<~P3}zGRI8yJhlAIVKe5lfvRP8ua3bmU$^mKlgTXANHd8j9 zP4eOKNE#N(ySZhx_U@l|0YA_T_<`oHz;XSfmi+8Z&5g6mv4~ZVha`0^cpQ8o~H40O0d;q@5?OXyx{GpGc^; zlj|9LvC4{$X55ts#&dqp;Qlh)UTKx7DC~+smc0T(6I2JMFEXt;%W9M}?WJ zi)C{+grOfuE{gJtDM*pXI?nQz)@%e#5zSTNXmFUiW8Z+&x~t3$@V6Y4 zBLmVAnrZ)fz1yJZwa7JM$>;1Zm~4(qYE77)enotg+<59R`w=$0*W$hxh#>x%5-9-Q zvDCtr@y0V5SdUaTDZH~!26Pdn^a4chGU7kn5$~t>j%!*D3O-ko;1mXj|K9r zT-lDcE>!IK_h;nvO2EXb#rjhPPma`h(xp3EOHs$T>Otav4OOfS7A$*PX6pQ2Ffg;J z)X}!&;jBS)u|w+L-lHN&kG1Vk)G*~;9b0>rVfi};iz}tMyF8eb!#cZ9=Dj(Hsq0)k z#-s)kJ&Z0A%J3v(W!Y3`wTu0{X+g_2t%=`(#xCk)|3o+%#B~8WLY}(Gfp?N;X1Bcr z4s?3aZqYMYdo@*nc3QC!&u6a(auOwWo4)g0OZOYQ-ftuO5<7E)wPL*p@@zR>^ECpW zl8pPtSl(gkoRcyOiub#9CQ_Xhw}=fRgwAkXB22SXu(AP|8(RY_dhoBeIz^e)4HN__ zic5G$Saom7w+f(xE?Mp_>Fy(S$}HFTILEBPTQBW8WbXOyc)0JG`Zx%4_p$J*=1?DH zD*)%5wM0&^sOfQg|1_Fx5jXkMGHhr=D(HdIc9o3WZrc0m`(u#{1WB6Jknu1tx*Qf3 zupbZM&cB!BdMOqogp)+{p$-RHo}u|C|6I=Ix~1n7gi%l?sumM7Fk)a1kFO7)p{SXpU{S{FkgZPA6qO?WlAJNh^1$I;c{9tc&dM@8ug`BU zP9pouv#~>raQx84o+;e&*2&4dK*0IRpJU9mlOT&#G$YAp=kK8_R-cvdSiyD~XF|lkg0Q z$Ur3KC~Pd*u1=i4Sa?W^T!^uYi$$tUGhzfcCFQB#+LO0b+R?c9kk^vao?!a{I0G!1 z*yy>Y0y~3LJv^5t$ryqLp*F6TZWXI^7NpC@y3=$Nd&TaT>prYw~5Q7ihHAo-lsXkDVo#Li5MAD#smgM79QJPFgvu1g-qUr>`w-xHVDqGBBoqGgX+e zf%mSemhzDe=XnGnB#CV)XH)Fu&+9?leU&Z-gYkwrr&S-XW|%;q6+aVirGRokr~Y!x zG_kM*0(nonq-qiyPwg?p^oQ>@k;y?B&W!#O{V^xX4!5lTzFkPiLb01(wB1^J`mNf- ztKnrGPB7^ZOVK5hgOm`j070O_r~2kkrv2 z)s{0ec5)`2(cC@iC%^WOt^J_~40rP+*!^$8e#HXf`u@!4*QxgQbvdFzya_vfU!PJp z1P06hco#4X&$;?b_Fc&@)rs)qMTJT3=^d(c_ps;F7W`v-uN8+EW;yCbIv!Fhr9HeR z4GqqaYz=vh+ISCk$ARb}zQf@CnfZtMNJTE&0Sp&cx7o0pQXmn7y$-rNF`eaf z%fX5)gvH&WtKz2KyugBm4?}8M)9nqqQ~}PhYW&|MLou_%$2sOXEkOgjC_K>6`L>Yx z&|_?>vh;`C?Qe6mel3olRH>Y;C8k<-xX3EJncmjGbV!-Iirb`i#~a?*ui~(Cp%N~y zwh;z#NR!#ok$uVWLD&1tJ8yKpIvJbK!U^8!dAQiXR-fZLm$TBN_3u=? z8Dpx;2&A$}yw8waYoh6!GlTmxjcoNPw!gm;J6)GJA_}6etkVf)1?t4#UpHyhro$Ps z?_;EwD{f*wEM5~x{UT?!F~HV_Mt*!eh-W@!nLN;y!+5|TXfT<`$_bE&$}OQQ_NgdFa_|lpR0ry zSFc0mNTb7F_QOv$3szL2N8wYsiLNd>o=jsP$&deEX!mxKRi|x>6!b27*(`BPGJ{_eWAt4>^ zKQ0ruJ?8m`>3DamN4vHJ&|0|vMIVZN4a|PhK;XBOF>!^QCrB~=!($0C71#WdrTDT9 zMygT#e~2?2$d_B(ANp>jl8TvJ;g*)VovMldaq{7sM7;>-?*J<9)&K6pqvAGGbSW}Z z^L>q_=MGVz}j4R zK)8CatI$%a%TNcTl)Mb8G^D0r<|a{+w#1G}LtweYb?zOWGzDc{?tcHSTuaT#l1vb? zd1(#fK#Dr=k`HANI|9kyW&QyOPp4;0VP`BZq z#0gE~)+9lWJ})+dQkr&k?la^4cjHz4FBJKsO@@2n{`tq1`!%GJ$@UI|*K z^P&;7Ot=3HCG|RIAM{=B4fxVN&&+eLj>K-5)=V=)YKu&Z(IMROy~f2m;r)a$LcHoy z*~Mc>Yi#cyPMfv%c8w$FG_$|BMiCe@=XUZC+h0@q#*brI%603<%C z{tvz!^9`K7M(U@ZMDCXD-JGm{t69>QdN}$(4oJ^0WQd>*!4h+!B;u4C!A&{lI>yf| z$*g4Hy+MHsWnUhMrb}pooF~|>!iE*TxcsQATZ<}n^`kl7UP3|Xp-O7R zB7e%|tipzXnvw`B3+(-&*>0+b;_yBV+nHA)h_whTadSH;ju6KveL9EesQ+?I^;_) z=g%{D;P0~p7HzUKJEX<^!>|E=!YkzTZKKb2&DJY?B)^nn4z#CI^7>57$1OK2Q+{K! zBV5o7co4d$T#AzP$jX7&AFBu?&r2$2si(t#KcwbdU-Y|}DZvxiney-5*SHK+ms^$W zy0Spr&u?3PJd3w)8EOP1t=Kv9_I96vxV?X-|I_$UBOc@V5gU4re3NuDb*+!FcnTkWc=4JuIQVH=96(U&W4BDmg(ltLrqy^gVa>L6p;~+U(~YwTelSD zZ6mkH`I%qzw_Pfu?b9VWQI6Kg69yXncmky~-tlhYJ|tFbi4C-U@xC`tKfSR4p%6wN zR)DABFDHjue^3-lWY>L-noCK@C-%;N_20~T`6GtLq9oCdn1Ulnw(ldg(RCs!X+K>< z-oL_`lkAsG|JPe>#w3$kn~jyfDmAY%%vBEsj!;e&J(fg%Oi$0Xi7dhk7myF)`M1Gs zTB;S+s@Cp=)CLAgIxMot{5j@_WHD<-pB2+0gp-J67A^}OC}MJ>RQuUYzAL`QxMtj(d5B3)XHm$Pgqf6+eURvZodN{sYmO&K zgXoSGXKZM^Em1eVYPUr}&s;v|ZhDpjr`332%D^!$i)`v}(9J<}-XbQ5n3#t1@i|u1 za1n$LptR!2F4@J?_tGmF?h3II1v^AitqQbKj%!!4C%2tG3iBv1)_~xJbZn~#4vU=9 zT|5}Ip?)S2_VBE` z2v+kA#PU1spA&T}(6rNH6Yk9O#E|B(^OZ&F6riqC}%b9oeo~{QF)%{@-DrA zaj@=lI!+rtr<~yKn$Jag9gyYbyfu^<7xJB)t}3UXGgkZD9<7q5pwLPhOxRp`beJ}9 z!VDIgLe)1Y&i#=$8OT%_LU&IzE8Bw`3rW~`+#H;tVmB2~JF+=~U{#ewBfmY&Kov;0 z9x^VNJhOTym!i=qeZBv~yFnZCA?vH1S9+aVf*)c+hFNRlxlBMBo~WLx6}5&|dkSnS z;bXsB9YA$M-|g6yZ&dLYZ}eiLfF;Gd^hwr^)L3RnFiku}hZR_F_0lYm&TX9aN}_80 zmqG7w?N2OUU&~;DK<3${>8Cb#SWDHrpDVjo^|NR4=vivFomz5m)=YJ=^RhuWlr%I| z53Wl*c^v+*>TILbDiA1Xu3)CGK&0?EzWZN8&5b1U8_f((R{bdFV12vtb0cZ95H6T5 zBM&yn;1uZT=anYu>fazKMokb*A}aWp3IhYrlI7s4y07mD2{}?s4;p<&?Wiu2?jP`G z;u%+Kk4OcaSV9a=kG2Vbp7nGrB*Enojdw5G;8~=Ka?M&}9xc$V+&5EB+vv?1?P?{V z7B3=InfSBxA}++_^A8F7(s9?Uz-tnEFB>?s9e30Wy{Q4aB<9_FX9b(piJ?{P%*OC_ z`}3n`pdBn6lsWwqahZ!^Ejr7k{&NWS{XeKtAE0RmSe- zD^%oltKDFY!Q-vhetE9930#5Dse{NHB`YNnJ+>+~Dox_wxTo^W#Ii&s9aH_S>+bnR z8cE*+xA^;6)l~$K(++GR=BDGE7bKO+r``2dE^+{4eW$ET>^wK9^1+tTpGZ6@r0Iwf z&OWTe_+%Fq?eNO|wC(d8kSnMTHV0y?JN_v-8IFz#iIP6i=@v#we*sO2|B4T{n)-fY z{(+P9IxorH(xA<{HOAY<@#wYrsxTtiERll{0AHu@AIU%dEMN{YdRPS~zI8XToup^w zmK8pnmKU9i>#?~CG=3b9o3f;~8n4B53UTiF|J4WO;}0Kqt#0lr6p-fq#e@|MLVBr{ zt+F*581GuM3>tkmTru7qdPd0oQj5|gv$j?GlQ9<%+=9QoQ9gzsb^6TLSz!vFtwH(( zk-_bQXFp6osm2hi8ruc6r#!w$X9d~APmeMC-Afh~Nb;WIn3hF0R_Bk2SEwP^UGw@vG3vX(6(W1g~YXEG<*uOi_FVQn;4$7)e-`e>M9tE&8`ubWf<(0x$dB~@3y!${lzvDEh zNN!Y+CFA3oKyruJDNt>?3)HN%{75P>8rbQxshIy1^4P?932-I^f#N!)jXF6J32 znF~CEY}$-m{^1%toBYeH1O)+OfJE?wprbYvofo2g*4cwukMDuiVFb~D+m#kRSd+<) zhYNhZ!?Db{jh#3f7!-Bw&M0l?xxpAN`8pLy!A313-E!LN%ew%(e-vp z#jM;ieUo$1HG{a{p5Xdl6Sd@hHE^RK6#6OoT#%CAc5ekqo6g!3eVBa}sO|kLUuGqa z)ny7hbW-Vg?tZ?PN%=re<&0~389V$8-G9+3M*gOY-nhGIGfPLeB1RA;K%Nn|!Om>= z?iHavn+6+5Q6<`y;M&~)lJESk|0|sKBE=TS@D=+2n|rJM`5?^6@EByLpr&W{p`+1G z=-myQRUok@#-uWR%&0Cj)vP}2W`rhGakM>aHt1j&8k8$=J$4Nd_IdZx6bm}yNM!!!EY@khKN>gtWVY-UX1DdJW&zC1%8 zQ-Vlg>c8GUgbloZ9=se%Ed5I&$anTtvot-l{+>il1~Z$<+$a1YK0|z;IBnTbpGR>m zG!x#wJcC(Z@&9NXo^2kw+x!~2c|1aG4%-RoR8o6lh==S1Vurp5-3EDo!N zEnztNz)2*OKF0rB+izN>6mn*f9UI#FUSgpNg?UNUIevO`);eC)c?9fSk%QFNCUrbL zwUtLeKGQ<$*_2h?^TeTZbqeC>n!9nK`u)i`d?dLmcikjH;0UFal(10IfG0?Lbg5-Q zfOVa`E#a}EpRe5RVmCSrmCtwHnjst@dv3o3Z57_s14(Nj);Bm-B9?nm`$wykSpjb{ z>WqFdp}aU^^5{I?oHg_^i*wuQx4la)`7kuImgx2l#Y=K0l%>ro&-smc^Y(L{&HS67 z*~kK>KnGJKIx)kjW8n7ws?MBDkI4MhADo>N%2BiV`-cI@FCyGECfmltaFo1f#>cPr zJuAHnJqz;2J+X(YQ^^oM5{iYYS{A=EHi4LkPn)oSpyh%!`7-&AwNHWpW-<06bONLA zmKmQ%!A&qrWia71P{inQy(E=;m-|!-gio1bvZ{=w@vP9+*53nh)>X2!Uw2CB6({DQ za5mds3uU3p(ZJm+ob?UBj8|^L)o1T47a7tX%q1LpQS>q0gajJlhF4d+h)+ zG$n=#6DpI1Ru`Q^ppwzW1So>Tlur$#c8}~fU{X#-{gN;fX7!3K>RJ^X>k5vA-G(a4 zg8-7BOg9{}pESK}llAWJ{J@yA>kG@rY`D!%6)t`b^H{j<{{=jY+7Ql`;ulYSr z3h`qcr-9n%CT5T=cqR=GEMV-XuTZAVp7?~1uO`NK2ADl$$ygz`NB%LF^(0%~h}+pw zJ9j;vbBT0fg0wW|oRA+oxF1z<-WJM*upU~}KW;nhZaG1lI4M}bq0}qcs$S$QRj!@; zyo?l2bmDeJ_d=;j2kGe{Y|o0+tR-HtE)@?8zlAT>?t8v5U3i<%l#{)G%toKuq+#D} zUrVoVVlqWD?zpDN@v4e1@q8jbpMulKV^EL`VnDBjJE^0rB!JGp!NO`MqmX}6-BEtU z?>M<*EM?4N6`3Mn#h3ZumH^je_G$Xbw%~^AtM)s~f85SH^{n0`ifkoe+pkIXWlUGu z758xNi2^;tG4)zxifGxl_oto-h#b$1gMn$aT&l=|RQ<2^&P9@kd!If@*6QG}J>u|= zK<3KMt+mp}(KAPPoLIkWxZNUGMkxr(GSZkAi(KP&^KMFk1hjpk70sP0fZUgl4KTAw z^w1f2jr&4(H!>jkEgR%&a+fd%K*K)#t~1?pcrkx_SuP7mkxX{dWV| zp~&rBe={x?=9wIk$->&`9eE-+N!ttb-$A;wRSKKT7HE#gC-IpDBgX*KLfaTx6s%#AYM z&SMsdQ}7Ze(TDKa^ON(@B#`ry^w2#5(?DRw#m|T3I|Y7pj;GUEgNlcdyrP%*D;zv8 zpD>l=VgY;AZ)MD#{qf4wv4ZG|554Yk1)@pLg)F~OBxj{n)wYkZ-Sn>gt1*JRCcRK? z%Y@^NP-;UIpNM@l_r9N6^pp7PzSWZ%SLMn(V3cMGp?kcpb5klKj32pVR#HM0%KNDZ zt7OUAI}(O?2caL$b%I@ORQ)cC{n@ViVl-?(w;@$aM;Z0T__teS)5|Ci^)ORpbXDTu zRB>%zJLoEGuU6#=#fBnO2%EF;R*3L9m``dNEBozXq~fLesv-kb<>z%e85i>uA|F*N z#pz=IMeLV+XTVC$GD(0EC1I7eNN-iq`HYdILj1T0X%D$7%PY`X_sJOp%$|Pq5&NZQ zJk&~$E+G`8w6Ba~joTfuq652`RTf4>#fXEB{9Y593S8k~Jn zLr_d9E2HjQu9jXW+XDRzX-n2MU-XBa$1gL2j9)Pm+_^3ARJMW0w#a3#Y2Q!p;R;bB zi9Rvt;-%d8QS?8Y$Pe&E?ocRHmt{%x4+&7pA`_3@HjNHiQ^iZqhAF~MlY=k&_;XcK z7MVLo^I?5nzRXr>^T4$C7ogLp=7$RxzbN{sO6IP0xxinDwy`!w|1pQnTn!^G4p=dW zTuwuz8!>cV=O4X_-Z*J0bhAoKyXfN=tXewc0R;(+EKo4Ue*~+FNrAf;F(rAom)dylp)Ono|m0lKxa3~vM|z&*xFtdYJ7LI=;EbSU4^ZBClIey%0QPYUL(lzD+F2O`DEAkK3TUAEuqv z58cOyADK;l92ZVKAJ_9(;mp_5+3y(Y((sWN-uTAqVY+%s72ME2B@*fo~{{}fF&bEh-ls~sfI+Q!jaS%xCS}F8eK{y;OxBVu&Zfj0Wczq{)d>DhM3jLeQ>fC$C z3bUa>6LMU(k17e)IX}(x-->c{x0}$zXnAW@75-PCHa%AGH`1`ZG`dYEfZ@_ zt*YIrsvzZFVcuV!P|yytFM`!`KE+)O?O(TV;%|-2H>tUqrG?kbLo>_j3U?p&932Lp z8$IQt<)*2;?uyYWfIH8h3ldmMJF$2!j13FVc_;E#yKkUbE#1NSNbTGuq$&{`1)m|;5_H-eMa>zVI9SG_ zO+0Im39G>{5jI;)d=%K%^gyPuFm}0ujV7P6yb6sii z@X$>hj1)3X0rNMQ%3@*2LMEn2;-X?I!jpRIv)Y7yI>$ly3zYEu^q6#^t<8wO*EPmJ`L#bTPad~i9cs*|Msi##UV)FQu<-j&~x-rvu5>VqZPZ}U7X zv@tdmNis(AClGY!H9lJYD5|zUn$aHdlpk=;=Z)cfJKDC7wx>_eM1!>>F-8OYQM|N{ zdNlRUf&6x;V9HpKoVG6T8mg?aZj&0UGeT7l({B5vT}uC^qPi>zA6{}Yiq!Jk!uQ)I4AkU*-)E~Qyc4>0#5THvCF-w@mJ$)H3m`}dJZT< zFbm|O`6G`^a1dEG85&Lr!*Q)^ZX59^NM?mGPN5TK**7(THSYZyS`v(kSSaqVqCzFI zwxY)E)>e~H;*N3q6oraEQ(s$C- zD1J)1`XV?NbpKChfyWT>%)u3*vC7(J5kxvwJ_Np;Zycf>Y1+|KCZ*>8!IfXQ_ez{7 zs_2ZlpcH;3&Ng8cdg6dAW3}}!-sHvhoSK9uj5$Z#@(WdP(+?uzq7btT@kF)z8j?7X z?oVmUv&ahszW?dd@Zx+DlftJNV`nPKSl{j35X~YymeU;{V9$*r*@QuyBF9pu-kX*T z|5!#w=B)*yZM%XBkH4+>T;!z!1@H*dNRQ7L*Hx`L_@w*OoQ7f_5SU)cgl)b`y=g0K z{po9@akZB6j&v=rRL2lcUaFBv3@do0)6hpzEX!_pNq1|^*A|GEi1p$h_7Zx#ZW4^68gUHe=6Wxy z_@7svq5oQNC~37ITQ*}Yr?01PexqTDZ;i4T&-6e~VZk306gDF}t26gD@Egf==jxLh z#Ow>4NQA<8#{4si+izm-#$Yn|%H-t{7K#sct>{}QN-Yj1x<%mY{ola)9hxxaO%EU=KL-BG67e&yg#-1ve`tV%RzKDG@|9!x@K(UMAn-nrI*Qr)=ZmssZb z9hahfB~Dy{kg)NEQp`$@TCk82_?Kp&&IyYkWPmN2R~Qs8>syzbl_8NhW1R$%aeXKI z_zi_@yNu#rN=An&2e!^+)zZgZ`^6P1#c)ekjz;u2+;vDQ`U7kIo0kZa4~XGz_xU=- zzwK%RD>Ce#t&dYcxAP{{3KG%XCf1KqH9qDFQ*>MS+am5gvgnx$6hg7vCBAX)nOiuW zUgU>z@xgdQB3ehw45Bt4f{EIqEv;F0P+6aRpHqW`vA>J+K}~ky4iA2zy^Z4cSmp>U zK=Jrq>s|c4f5DeDs8x~dLFbTCHGxt$fRNaW1);Ux<-@)fZL{~4%md8A&&E!g@ZMft zdmV|K&KECLD@@@j%k?eg*O4mqh8k6taJs+TEo6s;y$4*-8 zCE2>$*vEeGh#(kp#EV#%W%(s>$S#il$z_MvTB~mZ18AXT1Jqn`v!D;LHU}ikTt%lB zVN2Jte}7tQF@vL%itrKy>F>ud}nl&@cKU>l%I!mkZbZDrN51nEqH7_nD^fc91PK>RhfJwb1XEQtDS4~ z#g$!2V!(2^c=5b`e>49LQ^MxYZ6&+;&<)nLp1^-DRbWy5$67J=cS9tDL(0728jJt7 z^WJk*#$wz|0Hy!UFp%_xT(Cc-hyH`SFV=7Y2MOCd4q@H^Zk^P?H%ER%;{j%gMks^S z3lpUNTKkajxW5@(-xXIr&q17<^sIxU>EbOwp9aD|RegrO>eFqwXI>$4pz(7}_Tu${ z+x1yXONwSz`&8*YR;A=k7J$+iDX|?6=G1*pW70vBc?Q4tjnJne0S4>YqJf1@Y?p>i zU~#F#O_8SLpCqHt=uuGPhz;)lYJ)|Hm%ix7^LyVHr@DB~q1DM`!w04k=xqH{09+K> zx(S=pC~`tPGsIy||6MVh-#$or;9H`$HP4@YE?_vl7?+FG}w!Y(m1n zd|4E>owGQk!?F|d+OA5gs1xo@T9Gz`A}Yi z=e8;?L`jdVxub-o-?F-Atm<0kEmk`|mvLg5kg0bMN~D|?^EXGn?|SAZ;y{F-jMJ<$ zuaQm!aoiT@Pv&G6=ueF=pR87;cJKNn`its^loKr{r_pW1`MYDzs>X2=$X>7tm|^|N zOVSj{Jy$d|=*-ibkg>t)E_>@J&m|gZKPmEsKnJU7L4%gO&RQ{?7gmvZvVI~x$xE86 zD=-BQiee{gqVrn_s+hwg3q4nyJIoyoI|x|ultk5pIMIWX0z(;o&ox0`8=W$d|&`P?9|wMdaS2yJKrbCdmaTp8U^S+spc!? z;@8b;)}vx-?2DW&a~io-S?3Tz*v43A!FFl)NsJwu2NSIr(N<1vlC{XaZiJYKMCQ!N zyCLCqhdm+(XUxOXLPdJn$akUciR0DSbr`uSikTPenLOIE>D1fmt*;No!P`W(E(6mnzz;2J%c2K_D}bh5p?@1|!%^ zI(XsG(55wtI8!8wRN^J@(-5j7n7gz7;QPIoZXae$J&Hzn_%{JBh_yZs$>4c0Bb7fr zs*8gts9g;jQfJXnc1yg*QPW z4YQ#15jaWaq0Xh}PnwY9DLh4UsBSVvtO4;iU9<^gOgPUh_48xt>V zjJOBi@jPAW;fcdE4Ee#1l+6K2TW(pio-hO!WR}ArT!`U`!w%>6F{@{-L(@TgK4Y1s zc|7_&KnwP9(CUn<`6KcVtsbnikjM-NSmJsN9QbaTJ6!3|2li#v9a9afXGMHBLF#Jt zJwcgZzLjxSq1m+OtaWQ<;%f73#de1YL#+iTt3xunjw=RYV!My%J-ZNFa#taN5pgmx zwcgBmT%`-EPOfL4zA(d{we-p5@R(uT<*o;BCaI5ba&pntrzKj)YL#MJK!Z<@O=Xt|P-hT6z_v`n1@i@Llw znL4#X7m`8lGiDApFLQxm?WAjuJQ2ICbiH*XMLYn((zz*bi%7A3!eKMIhh)^W^ZRnZ z&;Y4d=TB#Ovr6Tk@Vz#1lR2ju5h+M%@P2(OrCD?gz`nnqaNMi}Tmm=k$QUW4{%70s zRsQEkPyAAz8!F@xbgW^)QJz@2EuyzKHSu(foRm29b=Mcs^ZFh#CT;t~Lr#c(-h9|T zQMDkVX;d?^yD-OUU2E^*j?;_cWRM9*oJr_M|ISli-+U1 zmC<<98|Kwk#dz0YF6e3m`d8!QKKF4ND)%)zxZe5Cf^9imNMNavrv@tIATn^rcyLn~ z$`eIlFO^_<5LY=}xn1T;LKw=@bzKx3q_N!QThuj5IFPw_7CPSR%;T;c&F<#W=v5eJ zgi0$VdSa8|!IR18`0B$FqpqLF>hIoMh3Ll_j(s3g7@K*!mnKWwWqep@S4n+#1&M2hoCDdoyKJ)!|qekSXe9 zZjRlMoICL#Em~#$mB}ox5AZj1R{hP!TqV@MpqG7#Zgm~CQymJY7=E?4DH0#8ukZ4! zQMn4a*GJr;t-CnYsM}Ecp@OAeh_G#Cm77BJpXj_*PW^lk zwr&CT7$=3G6BvMPX%BxSs#x_v>R)xX>66I;pNdsy7KVR+*u?-j?s}c^f+(#Q$u9^1 zCWNbA+3PV?Wkzq zzTOLoyP6>E!^wQ&{eC6xUcm*I3Gsuf=y>uNgQZ6kdW%>5yic0GyV2P?v)lYP(4X5=q@2KE zRj9_MvOTG&jQWPFIjMVj z|4`frpXt));ibzUs6l+h<>$@AFM0YSC5Fts?83hT+4El`J)OBvO6AfCKAM|n_v4?R zy+P}$yPo-ZD;QR}VM#E*GVh8D!W?2Bk%u22TDL}I4$~J{aGSvzY=j;iHUC_V58Rkk zZq;oFG;&bLCy56n6a9sQrd}Bs#(`Iixkj+p3bPJwAxf5Z{f!gZdk>r61H5dabF`hS zxr&(TbvfJ2Gq1Hc)<>2wW+!u*n`h*+H<>Y?(ASQfqMtl<9WQ= zQ!(XGKEb{-QCG4WtK-nM6IU=&wXOk+T6J5?fr~7mdse#*CIFk=0mJsMt%x;(K%^mA z-@}(G6#}6mef{dCGIdeN-T{YG6o2~q&O6*A)WTl;rn8>;VqQb2Z74>>c+@6;`RY{~ zPd&Ha3i92opB453STcWOJ5^+gd(IqM|_Om=3`lKz?UAsgd=ha!hF z+T3@F_1so=0#A*u@!|5NbETI0*w((e+%0LwmbV9}(6AGDX(+8z~66fo`$>Al&_*=7q2^U0ny@@K>pwyO&pZ8fs zVVC@>UW(FZ(Y_vFK5@Z>X<+DT-HfO3!xT}^F(^IkAp)b1RR#o;Oq}w1TCw)g`|U2W z-jAM&6Xg}(P*bb5oi7TXL_V?tJov{k{^B<{2&k3I>S(?}l&I%CJE!-Av&V-=qN(|; zF3X(~1!40&>ogs&5e{;;i2%0-(DaB>-|QHOI5AMnE<<4|NVknPu{s}s91wY zov4T6qF$$4ahCx!fhmXLn!DOlMSZ2em39ah%A#}PvXPm!+srfz91F~z@|70;@1+g> zb)>D&Cjw_OWKlm+zW}aUaVMKaT!{;v4M&Q)9VQCxe~eCvZyeL+ZDt$p-jyasI4J!L z2sRz;ZnF=5DG?h2J~$tW+?Y_?9oxBI`6lBVYBN4{rulKg)j0G+-I9;DL%l{86I8f0*}bX?%;;Wt5yRfPcqw&Wt@m;`Ag&~>Rlg#5UPlYSGpPxzCFEjL zJ{FdD-!NkD7?@a`m^$c`jJ*=?9jAaaO3u$XS||!^bPO)x!R1>hJDZL{*#SP4!Bqc- zeG|2l3zXb}mRT&k;{>j_cKYcRoBpq)m35su)KPHgd`WcVc!E(wPWWKp&tOM5#b_7Z z)~7tLIKXShRmv6P+be|JDwprX5}alO@ib`^(TH^c$#6U81S?k!3-GH0XJZWU98$GY z?pXFFb?%i3{(T`OctDw5eC%)(@oxBZVA`SGv5FTCU7VpaE}T8cMsD9qtE4`JeNIM2wfnr?W_CTr<}T zcmLEeP*ACYitl&h zVtFjmz$-#4CKg37(j-9wEhVpA6iEX~KeDe52wjdl8{g2opc!rX4|zh6OwtZXxP1Me zV?!sy$7P)nB`blHAv{-vG}&2Kh?lN9Tli^tNup=om0X!vYmU2;fIKutyU>F@|I9*1 zA%4{qrcW|cHm^Neb0AwQ{PRj2MBv-V+jSKG>GwDxjR9|S#8-jhWhT|=O{+hCjTR_b3o9=8Chh40!_&;aL%2RWoBjg z*M#6@wS_#nbiB9~6v=0MC`8$-ad~3_7;Yicg zN{bB|#=m*f&%Ue+CaSjB){=}N`3-I?K_cy6YOcxfaiu5fN7sLx&Kh$2@ka|s%L_(I~oliU8M&{dxPh{Fh@lRXoq1kR3_<$-wA$Ro3& zQsgJ0%&YDe2KzODuZH|&@_|~?6{i9ia!E+`&H;#F8tn>}Cu993>gc_WV9c@ju|}GA z2~c`>5lqG9g=&SD0Q3d5x=Iw_OaH-$do{8?2z!(N^FPzq2(aB{-@H_BDx_TsGKd`zc=WVNscKQ zmHzJr)j`^i@&Ef5AnXh=y_vU{f*r_S)f%arQ#6pY{MXV7EYQj-lYU_PU#%Jvp5

hSWD4-d_wZShQzCa>5#bizn1<(k^k3)wk+0&n{{o;pwkU87i?UA#v9iz zKw8!hMEomhQQLYN&EtM@5BQT6uqGA|b(y_MWH%@WGAyrbX7p7c1v&#Cx)-{+NO)V= z?f+7;8KPE);M=rp`_R3^4h|<$Knq(Fd?7#Y|JPjG#B4#Q>2pRofC%$z5R{|22XN^o zCxH~0{TiYV9)APf*HoVS83jiByh3*dP`gRxaVpB=PxEc*o^{1wIR$FzFH(m_z#^r< z(Vbn#ha??h#TgX9Lva5mzugcK)w~yfN4I?(UqDdrIF)-W zv;&yu+6m$*rZPbEl%B_Ob#2!WumFx-HZyNCJ6* zX*;jy4Ifni%(~F+o)}@2YuT&2%fZ@5+wwv@?k$0nBBxg&OQOfPTRR+wWCuXTZBBlR z^>h}PtUy5dTKC9ov8!Q|Y|sUyn%&D@^NDW$wMHr=XLO73ydhL3ad!lW9F&NOqd(7I z&1&Gs8uNSw+rif$_0iA+5>Om(KqOP8^|D>$*-@3&##^aZ&)5*aaLC7VYB$=jE~jpUpTuQUQw7YxAO*_Ka5Jo@jJDme+)&@?~dbh-p1`IE^c` zM*gwFoUEvczT;9ibo=3pl5<1Kc<^y~Hca|*69P&t1PZ)XTj`)LDYStc)fI(^J!~3; zd8~(FiIfPk(55c6y3%q7;N#5K({S#P$5Q-1>^2Eci73{B`0-K)W$+ zKaXq`;sQdCdsu{(AHZ5&wGZ?qV_4!tWQU;kJ6mCVC1Yu*#RdvffBK5_7q)NGI*rURGc;>W0z%t<@uY!8^iy&5L} zeQO2gAK0%m3o~Ph`kZy_r+AYx^K)djq6x9T*KT|U6Y)sM5Bs4~-6-5&8_YSlMIU&< zzc1uFhol7k&2rOT`T?oCmo6}ifDaL-?`jRM_U;1NDKKimlmb;%U2H<_mqoI;;)-e; z1&IOH^9AhE7QLtn{64K`lzRC)*n}?a&8<)O-DY1uuiX}B)i|CG7Tp%FjugfCVy6Gl zN_u!=Cw-@<`8TPEQ&}eMnt3FxB-7c3O{dyv4|#%h-!!vs%~4*X^d1Bv3(Vz9JJp_V zJ5BG{NAEN}4EP0{HsrC65iKmdUj^csoKoO}(c+zQlwZZNBvoj=N2H+w$I(Y%+@`AD zp%Fu*TIHn(cT98sAl!KjgXrn~K@;U+urYCLwV(VD0tusqf7Jz_*1~0V;A4ONobted{JfP(KFISrbH6`8En+ z>>R(b0zYwd#Ru$6Om^Od!$2-cHVv$n*1KoJk6h3k5jV`DZTnlkY<(pC`&Ze&v5O9R zGvTndQ2>O3$o>dynU9-!BYZBP2AnULk>{dlaq(A%cf&}B$XPT`gBtOXmv;eIu}sLh zq5z+hiHW>whRTaq&qU#MCxh}#nzr*QQ!b!=Orz9C83Mv!ImRU?i)!s^!7#u6Jno|! z-5$KI35>2I8)PQIHrNTMI8I^}W~%+C_$94Ifv8LL{QpNQj*dK7bDoRz5o_O@+L#t{@Af;|}+oJK@FV-l=!!(RD zLm-p-7J$!iJ0WpD2f08v|4&TbPAdsqt4#2GHiVh|m<&73&{^)?@ zADLjEKQvm%X2m!vbn}5oxPrnIa8yqTMI`Kb&-!9Y{`LJiQ%}V0dcpR12*8KZ+H-o# zqeeAl0rlm#*o`^(|1yImrqwmgS0KF(@kL!_9OD7>K(`4TAc+$;(=_1ZA%CtFej!ON zR|9P-Qj4st>6#Qj+$7Dz3Xd((V`5k;AjHKS7m^gK^A-?w)ra`1Y_Bq2>=dsslR~^K z%L}r~Uat(*dPiJn_aH4@F&wTPasM3AFJOXLv?213dmn(0Jn(Pbt4pZirTY)yvj;57 zB{qZ185MTjhB}gj!PN>cd6xQ$j-}0XEO_Dobzg8^ke_!@q+o)E0TsbNH+|+W?wWdU zd+^^KZ-E*^2noQ^1*Zj(t-!*#rEe3A>X)>dzM|pFJf^@1+@fdiW1n8~OG1NnlN0Rzgph{y)_hL;|%1);JKm1h0@h z=HB1$`}_Rv{Jw(*p>i3p)d1Z9s-teW+}rx`#(CWdR5zp`rew9eYFgS2-#5bd{(dg7 z>ol2!SLXurF`+7;*Y%%Hoo$Pl4#=c!v`ByN)*bug4^7)MpKiXq|3UqwMOG5?d0&?$ z?s3NP-&8e8^kh!l)SRrHwtjv@L5IZgckO${J+w*5rViAx;x@&ibEZ30Uz7Qoy%9q} zg)ec6{l_D0E~-?tbU9ovvQq?S?e!Hs`3>Fu{O$KkkhX~=bVQVoH!WS%fucwymaBAi zYu==U0~kThd;>=?z8NUXy%-7 zl~&Px?rr#|CovAVfyPk~hl!L9_!O3A96k`@&s;0aDcb3=9Bs(Y>f4#C1I&JzJqhl$ zY|j2up4OweyJuo=^TF6HuM-22?gx&d4xLD%B6FZxhaH%Zr7EKdRdb*say`_{h!B?; zS49e~gmo~S>IxtcI7lX(`qX@1r{w(lXvEip=JzhbHf)#GgJ zDOOasnrpq{dXdX(wan31!t5<5+XY@XHo8UG4*e2FhRr58EzRoJW8WvRII6pWYURi5 zPN5^C@H!p$r-i#=jvfDx1gz9-%93#j#uly_zZAdM%er(Eml1$bZ&$C zXDgYhv2P&Ts0-=jK69n5;Nrsvxs&sEG!^&s8tx7*$G0~2jr_o4xMW-^TnaHo6>pE0 zauRQckXqRtS07e-)~>BkEGax1q{Q(?xLbqwgysj9#CpU%qHz`{Qo||?FO1@dipG>K zaX(){4zE$f7eZ3YQjChS*L)w4$)U4WtQk2kf|w`mJ;EJ8bm2PmCfJz68);sl0R-fe za=j&Y5LotAmFc&fVZhMYm+p*1A(bRK#;xAbp_)Ah8 z=a_9pRgfkI8l!k1Mnep@$5{kx^`l~YBo!C$9_YR6jP0-#!B(yD&co`?L1O77SQSmaZo~R$Z8)Kl+hT*bbZ!Fh3 zPZgW4V0eZ307Js;@ED8wYv0SH}x|$@Z zK7S@^@4{^I+vX4(gnVP{PQy!JXyLO%;Ciu9NL~)OZSvI->vJL!U}oHcAn&kCQ=vd( zr*!f2T2N#Q^p;<`M_koPYUacwkkv~XavG*H|9m;U{5-$i|D(vVx)w~fLQpRtX!t&A zL5v|F49Sc2h<%G1s4*He!fsxI2a-;)v4rUWw5?Ip^j@!)1t+hP(8mvSv}|Ut@xB_m z6mE|x64k$|Z%6z_@*#ZKNK7*AehNJCzc+Jz1fBWc!rA;C} zjAeBE(7&LXJEjj`GTB-^tASO|b~Q3Z%Fa6np%ej?^zaL2Ka%?hB*=gTGthJ*u;9~t zP7}COQOyM1ygc~FzM^Gb8VWBj2sVGL=>Ok{d8+V#st3PEen1YQ$akv=R8AtBADIC92xiH@p84WkQ?O~=@s9t_2A28pu+zc@MZL$siWJ)E=0q^9 zxxWJi>91ugZ9HI5|GjGysF3J|&qiL{0F(31LDVdt#Z!upt2%P6#aBE5n6fn_#NcLH zS%Ho-Z2%NVbk>ONbvoXo_e@~Tg{_3R%IzWcuK=G=1`L0a?OL*IcCzEqkSy87-7-V) z#$YlI|FsR`o4mqFufGOdi+~xQ19f|^7ZTeb_}4xijFt2(zF}2 z5794L%wFUFO7KW<8c*#*-d(9mcC8SZe$%3>#%1V$UAZ5 zph#XI*8yH_(-89Mjp>^UIL2k-7bgZkIWx0ox!`?Q1;rs9f%K(~j;iFx)CIt%Qfi-! zK<;9c5RtX&x9>X+Vsi(Qb}hjJmvL;~xlMa^w!&EeEC+Xzi(h;2kkJ=-4^6N8!Otp} zZVvlRZZ|9$U^yi8V)HrR(H@%`s=Fqc12hkN(x;?1aILXq$GL z^_*;w)1xW+>Fy=^mdoCv3&pE|Z19IaWiw{CSC<<8hxPQW`TYJpq_|z84?p?*->+4R A<^TWy literal 13541 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 XB{QrZzJC|e$Gv{_=9MbLyRrWbBHp(e diff --git a/resources/flow5.png b/resources/flow5.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ce9797e089641982a2c635250ee5bae53c21d7 GIT binary patch literal 9176 zcmeHsdpMg}yLXsTQ=O@HhN@P1r>3JpX=xEerUy(*DWPhFXe+deC_zagnYN}!lsXha zTco<(_Z0DMsKi+O+_He*W1rCp~TrFN|)l z4M1ErSZ-xCEDr8q4$qf=bNidyC%@kP)81XmhF|OK+P&}O*X}gjR+?@fKynTBz z;rGdJg4!n9?mv5c%Ic)L+vB50gPk?Ze|m!d{^F2z%p9CAB*Er{=tN3$yik%Wfb{e? zEV>i@qNF^@Vr8DLLW#ehzY+K!fk0q|&<9kSZY0@|AQ$%U-MlwOr5gN(t2#4qk*_na zrxPFUe`}sPM*Y3qr{TzTgb%F>fXZsABxH%N|EaG(uC1$0p$X%elH;@F=~&2dTmD2( zPaAk0yFB*9>&vomV}sVu8kA3Sn&t(44Ft?vbH_Y%RMh67@mDU=FXD1@q6D2%mtm{w zx;Y=(-|K{YwG$R`xo*_&-sY8SA&XOY{+yCG2uHv#(&K6G0G;mZmW!)zRzTufwI!&k zUi2q@+~xyDnNbyuL|z$aDq}5SpKq{mm{W!2sa)wG6$_6NdQm-d(Y--=Lre72x_kHQ z;ZXkm%c^7h&C+wtKiXI$duciwdU8RHUL(gY!D-+DW_ei8%aIU?sB2F`+YLaDZie$n zm|A!cAdm&HFJHA=9v-Akj@!xEIb}=IRX4U{Kx`Q~3Xi(kQ*w9-Yd*YI@ z`rWs7)Nynd+8A-FG&SnPlC7K^eB}-^Z?BGSQ<1PakL$G`A2qTzGxHf9Mr98q7p)mu z9yH1{9SvvH?9d8b?up}7iZz$MyUtr!p!kQ#wk78+mm&=>nB8!=8-wLFC z0RwD0)Q(z#3!mO?iUL&JsXw5rjh)ulf^86#^{a#VlgU{ATZKE|7H_6hR7I_|y?up9!Hh_L+=JKzg1f{3f6h?o*rp2Y!nrd8uq2z=)!?QB(Hn)C`Q9Oufh?)37A-Zbs~)YpNvwn? z9P;}P@a%Giu4JrF*L`b&U35FUKgniE7%>Y)Lu0 zZQHgb`P@Q`(V>Gk)=ph|WHGX)P5h2jG>B4~}UW(hsT~1t><qczVB;s!hdb&|4?E}wg02fKk2^yCtCi;UjKiC{)y%_VS6SPaJ-)2 z6&Ezcm^B}Jp-ztOCfeOvNQOt}L#x)p>RKmDF76MbIGu>;{Sy4hciiK^GPTImr@k+a zK^EIgj?8^BjmK5$;Y2^Sn&F;?c94ycJkz?zJGRoK*XRi827-pzil_ovVf72kB`ayh?%o?5g zPC^YK-H;E$Jz0ydp_0$r?)_1|A4w^vP>q{jZZ0*+;)_HpS2JN_)bS`d?P>x8LGd1&OZQ5KmaY#HAu)IOCW3ox3jPbmbUYA2h5mpUBX|;aw?r}N1u3v9D;05BL==wT~By9fG?y#lP4&)r1 z*d|EoEm<-nR|1Uail`|+Xpkp*A)+O!QWx$=11sdCm5@f-@MJ&nx*UuB>6WiC9Z06t z$xoX4jF*{QGk*af&gC-~#CAPna|-! zO(cu1W1H0o10(t&?VF){dY+ofU2K5uz%fPQm_)SLs;o|^!(aylEBkFSct1eUK4_FB zqxgxQNRmklv5utFx?ZH4SC6s=2j2j=cCi@uG+x1bX24w=7G%29HD+Yo*}zniAw0w^ zohHGPER*d^fU}BRfI4pbRBic4jO-QIFuU~a)ASr?Hd98KJwh9Ob6+N=HP?_Q`rxms zWE~AZ`#L_1QoEdy6MQaYAf^}LRkuTY0D`&Jp-e!ycg^Y73BSK2qo!?c;?zcsj?mXH z{G+c$-p7_#f)nG&Dvh?=NN`=Trsl+kg>@o1<5af1dn&KB40G#^nTi#wJuW*rGCqj} zmXKa56Q;WD0^y8m;cXgY5v>Tm=2<6Q0pA?heNPjN)bQ7sxadASZ0hf1f@ufU0ADc? zP_>#62hS28d`%w53{i&4`hySvIj3}_uLK>;!@Q7vRP7NbGRTxm&t&vueKq_(Nm{aU8-rfA%6? z$^V>s1Hb)ZG-12SntG<+h%9F1G}rGa0vNid*BR&ntfCow4q;T56UXAkP8pQd9fNfx z7Y8#LuOez}Iq^VeA=@n7QsqXqGT~zr+k(~5?Irt|FSl=1CJ4N8mayk$VOh$A)C?eH zo&KC!MKJI+9nVz@7gfsk1|0DAssRM;&w4pJ;!yl*&?$K6!)#D~118Ja8$P5=z;@R2 z8wZ`PWoa(=?tqNmR6~gl70fbQg$qlzVe4@}qdNrxV<^vw|M?RxUhSx_Hy&E%?$2w# ze>Du=I3()Jen}{O2jV>b+O+|Yxtsm_WN)U%L|Q)~CuhfvqT1s78Nhb!bf$&b_t^)Z zVLPQz3{S;sNH`(y8555{0YUrb8C=;Ykz1?j{llz`s zzgKDX&Ep1gS=Cfb_><5e(t>DXK_P_Tnmg52yIf(Z0xEb1lmO`n3TQFJsMQBY(DVn) zZ2DEC=hyL(m7AVMj^fQYk6V?^>!w^;)qKK3_kB+53@r3k{2YFo+xzxnCD#+mFo(l7MSf~d zm!+fQHZQ=#S;FFf1j^lK7}ZRL`kgn~YwrANSkkeE6Fb6(9Ar7YLmL+Sn&3SX8ts@{ zDQWqa(Yp$Tjpw7CnNx-c@w`BeTJJVsF;segwoz@w?0S+iUSX8XJ+|ci(T|f1xj9s* zPX`q{+jpxPuutFNPySME;c%N`>VXe(Rtk#`_DEG0bqR<$5eJA^)&s_lpqfo*PrT)D zSVNiY5@LOm6kEjB_%!b-=;$4yZPYs{xwwV6B)Vj|PF9WQeVIAUijMcS94`w zh?wMu&uPsnZ3ow-u+j!cAPM!c&7h=>`{=Acd>u$R$=4%?Q4Y)+oXsM7jqHK9KXYav zIxiIAZKPgRsc^*40yUGcv@g&2{RHcr(oe$O{S^>KC%R4OE_08Pc^&ok`^e(EEZI;2-M(54L4NHd6pCf#MmS&lCDw%OnYYs` zt19_m$;iNt@Djdvv2AAW7mh_lRajDqEd5uKYYo7X5j+$q-Q;pS<}@~(>$<4XhIEit zV|>1js~Rpcz^+|(-Xe7Lo1=i{fUnoGF6zd2+yoo~(!A~TpY&07eF{*qvbR$qLeFjQjE;~yYcHX6qg+GP zA{1erX3LsE=^`nBlCL@4S<0iBijJAM$a4`T#NRp=Vln&|Zv(FHVPft-;pa|sKkB$4 z_e}7)8r*qSfcZDsiVVuUnz9h^6IgHGafpr^es);d);p`?+SOuC@%hMx#}Xk!5{ExBxsnd`pmD-QRZ^Rh=~pdt7Gs5=QG-dFVcn za>Y8g_4(t^fvd+3mBlX383E~iAk{{KBg`SzCX`sw))1o_dpt_6wLGk91dk1UV<>&94|1 z6qS)*N;xRqBEgD%Or@MO8nGDM0TtLzc>3Za zm53vdfjuN|EyUgSr!-h0_OU4-KJ-Ia~nop)#TMnEot~ zHdGRE`Sk{Bl_N6KYzFPi6Q-q%wyT9F=_f-4Zw`0A@s#GasU78El)4TFf`Tj%6(dxE z($a>|Q?1^0k;H(K;&m+tfaXf(}i#iRg1a=I`IiR;7 z>P9tU-Avk)){}mO&TM@(VwbB7>xdCG`1LTnp#90G6&Pf}@jU%x;8SMgIdgL6l~2Z5 zeMji*FXx$V!;h`RpG^KpyW-Wgy((FmyHo=+N$tPh1ngAY%7Z+$Cd^WO&RxN-S~djf zWwUEFCSdGFZVS=OQ1VQkAt3UKh_LPG>d@oeZ+$gY8Xp&C3UU|;Wo8i&Z>28TamexZ zV+c8~V00+i*el7VyTs)XuKLk)ARXnYwCMeIT|Mg$AF9~0s4>27+NIR>!D7~zk%ws$ zoR|fdi})H?R&?&W>@UwsyTOU2y+w~R_}PN+np}SWIpL%8MVB&wV`oh+qyszHO7=yO&V>6|M0`*f0|)(ukso>Ul?%dBE4(9ujSl45SM){Oq|f)e z;RQ;+fW%gkv?z9W?8sb8WuF+3iS4|aBVp6nr~HJ+0?y3kc{{EaeYThEST znd-Z;lRZItjn3;~VML6ldlIC@PLeg%9xCLX1GU;R(m&?pqu1A`<3U~g9~}a>9j2oY zN?oX7jfTL8un;P)-frXBmBH&nadYhOYD6`YbN>bl~vOOXVj&^cO1ks>-bm0`st#f62>3kikzK-BBLPcv!#F5Evk^_=4aX(MS3 z&M&&+1mhYXT)2|J+T%rs8Hl^JBv{Ep@o@yi+`duf+stG~_|&uoVVT5fZ#T0eRt1CX zV;$-Fyn;H!*C$xP8GX)zBgrS#0(A$Cy-YjU=sP@C+f*;CSaDElrWrK7i~_Ttne&IQ z!)wMy{OmktYAHG~N&1pYx{o;D-o^k@xgJR`D$3U}ZQUSAjYS7hxdOll?(l%0{YhcK zSV852vhl~n73u}0Jt~)!wgFTwol$c5fBG3`p9=0qnktG2@K^iSRK$Pf(#r)=R^|{^8R$f002O5>>sm z;f5usf^_n)YLsz;O9q=oZVEo=^ZS=A>N=FwZCebIstM^RHx@SAub_H7@e-t5al_r> zsr*gI^JQ~U=p~8y){>W%epr@l2@KzzTE*Nc(aCUK?^+E8(7%nG1qQ{h9Vz#$TtDCM5}Bky1^{5*OQ%nmM!4y=oCy#ba7Vh~ zjj|nnv1Iz@`Fa_vfhzw&Ed}MfXQ^4-r(o~&Rt*94PGkD%Ox=~LseE^rGYa&ST%%dKV9$8R~y#DljTDN*iEUIfkk6tBIOGzb99^IhkWoPbll@fzyP;jwfV+S+lY|Tru5omZ=QL~VzP@| z3i+-0)%}VM%xt&(W%e`L1SvEoe$+xit9JIRjhOEVAv1}vT~2|KJ8zAD48DaKlivWd zTcrbEy-xak4HYtxG>**mj0f3{P)ge&fwM zmC^D1G$U&H@%9Q3SA0U1h8|j8Ylf```_MRmit!K+{)N~URC|uWEtk^0YCA~8?Dho=XUFK+n|PV$rG-s zBiGi#8h1x5UL)%R0+S~ntPAAf0jT-ef+U-j1Vz={a7EwD{;x2&mm7nPlif~$1WR`= zEFkW-7ak{otZYTy3SA)ett{7A!}0v=a{H!B8J%g<1fi{g`PE6GW1e54>ByQ_gu|Ej3;=@pw%?C&7#}?cBy6uP?TScPlQnP|xG6H|BBTd~?_ssh7 z=Fkbti?o<8rQOUN+C=GtSOL!BsO_eo>HdnxqrZ7u+ggaxcl58SR}HenFkW|h+pvp* zx2-u{Fr}X8V%&%h=xTlh$5bi*Vi`O2ep5w`c)RgvQCIOlq>)II$1d$I^ywRiEO)LE zNb=*ykZ;FVMPj*I@(ud`h~Hp;8~HZ^e Date: Fri, 9 Mar 2018 15:41:45 +0000 Subject: [PATCH 5/6] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f2dd548..10450c3 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ NodeJS client for B2Drop, based on OwnCloud ![workflow B2drop webdav](resources/flow1.png "B2drop WebDav") ##### Extended Features - ![workflow B2drop extra funcs](resources/flow3.png "B2drop request") + ![workflow B2drop extra funcs](resources/flow3.png "B2drop extra funcs") ##### Methods - **`B2Drop(username, password)`** - Constructor @@ -67,7 +67,11 @@ NodeJS client for B2Drop, based on OwnCloud #### WebDav - ![workflow B2drop WebDav](resources/flow4.jpg "B2drop WebDav") + ![workflow B2dropShare WebDav](resources/flow4.jpg "B2drop WebDav") + + + ##### Extended Features + ![workflow B2dropShare extra funcs](resources/flow5.png "B2drop request") #### Methods - **`B2DropShare ( sharelink, password)`** - Constructor From 1a6686c94e27d1109f7532bc0ab471b5c8f303b1 Mon Sep 17 00:00:00 2001 From: Pedro Dias Date: Fri, 9 Mar 2018 16:04:03 +0000 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10450c3..edef6a6 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ NodeJS client for B2Drop, based on OwnCloud - **`B2Drop(username, password)`** - Constructor - **`changeFolderSetting (folderUri, folderID, setting, callback)`** - Change folder setting (only change 1 setting for each call) - **`checkIfFolderExits (folderPath, callbakc) `** - Check if a folder exits in provided path - - **`createFolder (folderUri, callback)`** - Create folder in folderUri + - **`createFolder (folderUri, callback)`** - Create folder in folderUri (if the path does not exists it will try to create the folders to recreate the path) - **`delete(fileUri, callback)`** - Delete file at fileUri - **`deleteFolder (folderUri, callback)`** - Delete folder in folderUri - **`get(fileUri, outputStream, callback)`** - Get file from fileUri

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 A<^TWy literal 26824 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 diff --git a/resources/flow3.png b/resources/flow3.png index d2c5b2d2cc1dae29f098a8f7f707a4ff95416a62..76fff99b9b306b2a69f93fb0b0ff551adfefed4f 100644 GIT binary patch literal 40282 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