From f91c3a697e0fc7b546a498f36df7230750af8f52 Mon Sep 17 00:00:00 2001 From: Fabio Rossetto Date: Tue, 12 Nov 2024 10:20:50 +0100 Subject: [PATCH] Add support for configurable subscriptions Add "kwargs" to the "subscribe" method to allow the forwarding of configurations to the data-server. This feature is needed to allow the configuration of the severity level when subscribing to the "/zi/debug/log" node. --- CHANGELOG.md | 5 + src/labone/core/hpk_schema.py | 801 ++++++++++++++++++---------------- src/labone/core/session.py | 17 + src/labone/nodetree/node.py | 39 +- 4 files changed, 472 insertions(+), 390 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af16eb1..00b8608 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Labone Python API Changelog +## Version 3.2.0 +* `subscribe` accepts keyword arguments, which are forwarded to the data-server. + This allows to configure the subscription to the data-server. + Note that as of LabOne 24.10, no node supports yet subscription configuration. + ## Version 3.1.2 * Fix bug which caused streaming errors to cancel the subscriptions * Raise severity of errors during subscriptions to `FAILED` to cause a data server diff --git a/src/labone/core/hpk_schema.py b/src/labone/core/hpk_schema.py index cfa79da..d8334b9 100644 --- a/src/labone/core/hpk_schema.py +++ b/src/labone/core/hpk_schema.py @@ -96,10 +96,13 @@ # - zhinst/io/protocol/capnp/common/shf_vectors.capnp:ShfScopeVectorData.vector @0xd10aab878c8e14bc # - zhinst/io/protocol/capnp/common/shf_vectors.capnp:ShfPidVectorData.properties @0x9be09d0677995544 # - zhinst/io/protocol/capnp/streaming/streaming.capnp:StreamingHandle @0xf51e28a7f5b41574 +# - zhinst/io/protocol/capnp/common/kwargs.capnp:Kwargs @0x8f25ce07a664cee0 # - zhinst/io/protocol/capnp/streaming/streaming.capnp:StreamingHandle.sendValues$Params @0xa30bad0f967c47b6 # - capnp/stream.capnp:StreamResult @0x995f9a3377c0b16e +# - zhinst/io/protocol/capnp/common/kwargs.capnp:Kwargs.Entry @0xa2644e6fd3dc2553 """ + from __future__ import annotations import typing as t @@ -108,7 +111,7 @@ import zhinst.comms from packaging.version import Version -_GENERATED_WITH = Version("3.0.0") +_GENERATED_WITH = Version("3.0.1") def _check_version_compatibility() -> None: @@ -124,384 +127,390 @@ def _check_version_compatibility() -> None: _check_version_compatibility() -_CAPNP_BINARY_SCHEMA = b"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\ -by9wcm90b2NvbC9jYXBucC9yZWZsZWN0aW9uL3JlZmxlY3Rpb24uY2FwbnA6UmVmbGVjdGlvbgBRBAEB/1r9DwZ1\ -5cuMABECAREBkv9jYXBhYmlsaQF0eVZlcnNpbwFuEQGHUQgDBQEB//cI+nvle6eGAdE9iOGTIdvJETFqAAIRKQcA\ -AP+ZETzZ1C/j4wEaQQXZf6Yx+xEdqgACERkH/2dldFRoZVNjAA9oZW1hQAH/Z2V0UmVmbGUBY3Rpb25WZXIPc2lv\ -bkABEQEHUAEBMQECAv96aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5j\ -YXBucDpTZXNzaW9uABEBF1EEAQH/0AIvlhyuULcAEQGS/2NhcGFiaWxpAXR5VmVyc2lvAW4xAQcDUTADBQEB/6j1\ -XiUpVAOSAbBhyXTbS9PrE3EBUgACE2kBBwEL/+ffkLkbLiTNAbt1lRKMUUjpE10BogACE1kBBwEJ/2WA80Dt/fao\ -AfldWalGAe+KE00BmgACE0kBBwEF/+Szsa/pi7G5AT/JSN+SZsqgEz0BUgACEzUBBwEH/4IH2SwL5oLmARZ4Q4Hp\ -6H/fEykBigACEyUBBwEI/8H2MWXof4PNATL6W2RCFhWoExkBcgACExEBBwEG/xzmkdtAFmqxARZ4Q4Hp6H/fEwUB\ -YgACEf0HAAD/WkCzFM8UfdcBs/Z8pU1DaMwR8ZIAAhHtBwEK/6GrgCbTXODaAYnmwFaOZEf9EeGiAAIR3QcBA//H\ -Jz5JEJrinwEAOfYmX9h0lBHRSgACEckHAQL/e5HEbCNy6MUBAaTQup1xmM4RvUoAAhG1BwEE//wRQ8cwPXy3ARZ4\ -Q4Hp6H/fEak6AAIRnQf/bGlzdE5vZGUAAXNAAf9kZXByZWNhdAFlZEdldFZhbAd1ZXNAAf9kZXByZWNhdAFlZFNl\ -dFZhbAN1ZUAB/3N1YnNjcmliAAFlQAH/ZGlzY29ubmUBY3REZXZpY2UAAEAB/2xpc3ROb2RlAB9zSnNvbkAB/3Vu\ -c3Vic2NyAAdpYmVAAf9nZXRTZXNzaQFvblZlcnNpbwFuQAH/ZGVwcmVjYXQBZWRTZXRWYWwHdWUyQAH/c2V0VmFs\ -dWUAAABAAf9nZXRWYWx1ZQAAAEABP2NhbmNlbEABEQEHUAEBEQFy/2hway5jYXBuAB9wOkhwaxEBB1ABAREBB1AD\ -BREBJ1EIAQH/dsdLEGgupfkAAAD/XKWkLVhF1LkAAAAxAaIC/3poaW5zdC9pCW8vcHJvdG9jb2wvY2FwbnAvcmVm\ -bGVjdGlvbi9yZWZsZWN0aW9uLmNhcG5wOlJlZmxlY3Rpb24uZ2V0VGhlU2NoZW1hJFBhcgdhbXMxAfoB/3poaW5z\ -dC9pBm8vcHJvdG9jb2wvY2FwbnAvcmVmbGVjdGlvbi9yZWZsZWN0aW9uLmNhcG5wOkNhcD9TY2hlbWERAQdQAQER\ -AXdRCAMEAAAEAQAAESk6AABRJAMBUTACAQEBFAEBAAARLVIAAFEsAwFRSAIBP3R5cGVJZAEJAAIBCQAB/3RoZVNj\ -aGVtAAFhAQ4AAVADAQEQ/xekI/lMq4LmAAABAQ4AATEBqgL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9yZWZs\ -ZWN0aW9uL3JlZmxlY3Rpb24uY2FwbnA6UmVmbGVjdGlvbi5nZXRUaGVTY2hlbWEkUmVzD3VsdHMRAT9RBAMEAAAE\ -AQAAEQ1SAABRDAMBURgCAf90aGVTY2hlbQABYQEQ/8+F63Z67zHLAAABARAAATEB4gL/emhpbnN0L2kKby9wcm90\ -b2NvbC9jYXBucC9yZWZsZWN0aW9uL3JlZmxlY3Rpb24uY2FwbnA6UmVmbGVjdGlvbi5nZXRSZWZsZWN0aW9uVmVy\ -c2lvbiRQYXIHYW1zMQHqAv96aGluc3QvaQpvL3Byb3RvY29sL2NhcG5wL3JlZmxlY3Rpb24vcmVmbGVjdGlvbi5j\ -YXBucDpSZWZsZWN0aW9uLmdldFJlZmxlY3Rpb25WZXJzaW9uJFJlcw91bHRzEQE/UQQDBAAABAEAABENQgAAUQgD\ -AVEUAgF/dmVyc2lvbgEMAAIBDAABEQHC/2NhcG5wL3NjAmhlbWEuY2FwbnA6Tm9kZQARATdRDAEB/7GjD/HMG1K5\ -ABERUv9Cwg/6u1W/3gAREVr/rlcTBOMdjvMAERFa/1BhcmFtZXRlAAFy/05lc3RlZE5vAANkZf9Tb3VyY2VJbgAD\ -Zm8xARcDUTgDBAAABAEAABN5ARoAAFN0AQMBU4ABAgEBARQBAQAAE30BYgAAU3wBAwFTiAECARECAhQBAgAAE4UB\ -wgAAU4gBAwFTlAECAREDAhQBAwAAE5EBQgAAU4wBAwFTmAECAREGARQBBAAAE5UBYgAAU5QBAwFTsAECAREHAhQB\ -BQAAE60BYgAAU6wBAwFTyAECAQ0I//8UAQYAABPFASoAAFPAAQMBU8wBAgENCf7/AQH/NUT7N5uxoJ4AE8kBOgAC\ -DQr9/wEB/5j1M0M2s0q1ABOxASoAAg0L/P8BAf+PIcLwz1Mn6AATmQFSAAINDPv/AQH/IJQNeqylirEAE4UBMgAC\ -DQ36/wEB/5ACCkDUGRbsABNtAVoAAhEEBRQBIAAAE1kBWgAAU1gBAwFTdAECATEFIAEUASEAABNxAVIAAFNwAQMB\ -U3wBAgEDaWQBCQACAQkAAf9kaXNwbGF5TgAHYW1lAQwAAgEMAAH/ZGlzcGxheU4CYW1lUHJlZml4TGVuZ3RoAAEI\ -AAIBCAABf3Njb3BlSWQBCQACAQkAAf9uZXN0ZWRObwAHZGVzAQ4AAVADAQEQ/0LCD/q7Vb/eAAABAQ4AAf9hbm5v\ -dGF0aQAHb25zAQ4AAVADAQEQ/0J1JasNlcjxAAABAQ4AAQ9maWxlAAY/c3RydWN0D2VudW3/aW50ZXJmYWMAAWUf\ -Y29uc3T/YW5ub3RhdGkAA29u/3BhcmFtZXRlAANycwEOAAFQAwEBEP+xow/xzBtSuQAAAQEOAAH/aXNHZW5lcmkA\ -AWMBAQACAQEAAREB+v9jYXBucC9zYwJoZW1hLmNhcG5wOkVsZW1lP250U2l6ZREBB1ABAREBx1EgAQIAABFZMgAA\ -AQERUSIAAAECEUkqAAABAxFBSgAAAQQRPVIAAAEFETlaAAABBhE1QgAAAQcRLYIAAB9lbXB0eQdiaXQPYnl0Zf90\ -d29CeXRlcwAAAP9mb3VyQnl0ZQABc/9laWdodEJ5dAADZXN/cG9pbnRlcv9pbmxpbmVDbwFtcG9zaXRlABEByv9j\ -YXBucC9zYwJoZW1hLmNhcG5wOkZpZWxkAAARARdRBAEB/xLH/ny+TLGXABEBev9ub0Rpc2NyaQA/bWluYW50MQGP\ -AVEcAwQAAAQBAAARtSoAAFGwAwFRvAIBAQEUAQEAABG5UgAAUbgDAVHEAgERAgEUAQIAABHBYgAAUcADAVHcAgER\ -AwEUAQMBARHZkgAAUdwDAVHoAgENBP//AQH/b3S0a0cFI8QAEeUqAAINBf7/AQH/ER3baNvN/MoAEc0yAAIBBgEB\ -/+YLh4fC1ZC7ABG1QgACD25hbWUBDAACAQwAAf9jb2RlT3JkZQABcgEHAAIBBwAB/2Fubm90YXRpAAdvbnMBDgAB\ -UAMBARD/QnUlqw2VyPEAAAEBDgAB/2Rpc2NyaW1pAW5hbnRWYWx1AWUBBwACDQf//wABD3Nsb3QfZ3JvdXB/b3Jk\ -aW5hbBEB+v9jYXBucC9zYwJoZW1hLmNhcG5wOk5vZGUuP3N0cnVjdDEBjwFRHAMEEAcUAQcAABG1cgAAUbQDAVHA\ -AgERAQwUAQgAABG9agAAUbwDAVHIAgERAg0UAQkAABHFsgAAUcgDAVHUAgERA+AUAQoAABHRQgAAUcwDAVHYAgER\ -BA8UAQsAABHVkgAAUdgDAVHkAgERBQgUAQwAABHhmgAAUeQDAVHwAgERBgMUAQ0AABHtOgAAUegDAVMEAQIB/2Rh\ -dGFXb3JkAB9Db3VudAEHAAIBBwAB/3BvaW50ZXJDAA9vdW50AQcAAgEHAAH/cHJlZmVycmUBZExpc3RFbmMfb2Rp\ -bmcBD/8mGVK6fY+V0QAAAQEPAAF/aXNHcm91cAEBAAIBAQAB/2Rpc2NyaW1pAW5hbnRDb3VuAXQBBwACAQcAAf9k\ -aXNjcmltaQFuYW50T2ZmcwNldAEIAAIBCAABP2ZpZWxkcwEOAAFQAwEBEP9f9EofpFCtmgAAAQEOAAERAer/Y2Fw\ -bnAvc2MCaGVtYS5jYXBucDpFbnVtZQ9yYW50EQEHUAEBEQGvUQwDBAAABAEAABFFKgAAUUADAVFMAgEBARQBAQAA\ -EUlSAABRSAMBUVQCARECARQBAgAAEVFiAABRUAMBUWwCAQ9uYW1lAQwAAgEMAAH/Y29kZU9yZGUAAXIBBwACAQcA\ -Af9hbm5vdGF0aQAHb25zAQ4AAVADAQEQ/0J1JasNlcjxAAABAQ4AAREB6v9jYXBucC9zYwJoZW1hLmNhcG5wOk5v\ -ZGUuD2VudW0RAT9RBAMEEAMUAQ4AABENWgAAUQwDAVEoAgH/ZW51bWVyYW4AA3RzAQ4AAVADAQEQ/02aVNzrfIqX\ -AAABAQ4AAREB0v9jYXBucC9zYwJoZW1hLmNhcG5wOk1ldGhvAWQRAQdQAQExAccBUSADBAAABAEAABHRKgAAUcwD\ -AVHYAgEBARQBAQAAEdVSAABR1AMBUeACAREDARQBAgAAEd2CAABR3AMBUegCAREFAhQBAwAAEeWKAABR6AMBUfQC\ -AREHARQBBAAAEfFiAABR8AMBUwwBAgERBAIUAQUAABECAgAAERoCEUICEQYDFAEGAAARYgIAABF6AhGiAhECBBQB\ -BwAAEcICAAAR4gITKgECD25hbWUBDAACAQwAAf9jb2RlT3JkZQABcgEHAAIBBwAB/3BhcmFtU3RyAXVjdFR5cGUA\ -AQkAAgEJAAH/cmVzdWx0U3QBcnVjdFR5cGUAAAEJAAIBCQAB/2Fubm90YXRpAAdvbnMBDgABUAMBARD/QnUlqw2V\ -yPEAAAEBDgABEQFa/3BhcmFtQnJhAANuZFADAQEQ/ytCZWDwVTSQAAABUAIBARAAAREBYv9yZXN1bHRCcgAHYW5k\ -UAMBARD/K0JlYPBVNJAAAAFQAgEBEAABEQGa/2ltcGxpY2l0AVBhcmFtZXRlA3JzUAMBAQ4AAVADAQEQ/7GjD/HM\ -G1K5AAABUAIBAQ4AAREB8v9jYXBucC9zYwJoZW1hLmNhcG5wOlN1cGVyH2NsYXNzEQEHUAEBEQF3UQgDBAAABAEA\ -ABEpGgAAUSQDAVEwAgEBARQBAQAAES0yAABRKAMBUTQCAQNpZAEJAAIBCQABH2JyYW5kARD/K0JlYPBVNJAAAAEB\ -EAABMQESAf9jYXBucC9zYwNoZW1hLmNhcG5wOk5vZGUuaW50ZXJmYWMBZREBd1EIAwQQAxQBDwAAESlCAABRJAMB\ -UUACAREBBBQBHwAAET1qAABRPAMBUVgCAX9tZXRob2RzAQ4AAVADAQEQv4BNMzvizJUAAQEOAAH/c3VwZXJjbGEA\ -D3NzZXMBDgABUAMBARD/+Nek0J4qlqkAAAEBDgABEQHC/2NhcG5wL3NjAmhlbWEuY2FwbnA6VHlwZQARAQdQAQEx\ -AS8EUUwDBAz//wQBAAATBQIqAABSAgMBUwwCAgENAf7/FAEBAAATCQIqAABTBAIDAVMQAgIBDQL9/xQBAgAAEw0C\ -KgAAUwgCAwFTFAICAQ0D/P8UAQMAABMRAjIAAFMMAgMBUxgCAgENBPv/FAEEAAATFQIyAABTEAIDAVMcAgIBDQX6\ -/xQBBQAAExkCMgAAUxQCAwFTIAICAQ0G+f8UAQYAABMdAjIAAFMYAgMBUyQCAgENB/j/FAEHAAATIQI6AABTHAID\ -AVMoAgIBDQj3/xQBCAAAEyUCOgAAUyACAwFTLAICAQ0J9v8UAQkAABMpAjoAAFMkAgMBUzACAgENCvX/FAEKAAAT\ -LQJCAABTKAIDAVM0AgIBDQv0/xQBCwAAEzECQgAAUywCAwFTOAICAQ0M8/8UAQwAABM1AioAAFMwAgMBUzwCAgEN\ -DfL/FAENAAATOQIqAABTNAIDAVNAAgIBDQ7x/wEB/5fqYAolOeeHABM9AioAAg0P8P8BAf+ph38acXgOngATJQIq\ -AAINEO//AQH/08ZM72BvOqwAEw0COgACDRHu/wEB/78M+/dpyovtABP1AVIAAg0S7f8BAf/xST6i6D9XwgAT4QFa\ -AAIPdm9pZAAGD2Jvb2wABg9pbnQ4AAYfaW50MTYABh9pbnQzMgAGH2ludDY0AAYfdWludDgABj91aW50MTYABj91\ -aW50MzIABj91aW50NjQABn9mbG9hdDMyAAZ/ZmxvYXQ2NAAGD3RleHQABg9kYXRhAAYPbGlzdA9lbnVtP3N0cnVj\ -dP9pbnRlcmZhYwABZf9hbnlQb2ludAADZXIRAcr/Y2FwbnAvc2MCaGVtYS5jYXBucDpWYWx1ZQAAEQEHUAEBMQEv\ -BFFMAwQM//8EAQAAEwUCKgAAUgIDAVMMAgIBHQH+/xAUAQEAABMJAioAAFMEAgMBUxACAgEdAv3/AhQBAgAAEw0C\ -KgAAUwgCAwFTFAICAR0D/P8BFAEDAAATEQIyAABTDAIDAVMYAgIBHQT7/wEUAQQAABMVAjIAAFMQAgMBUxwCAgEd\ -Bfr/ARQBBQAAExkCMgAAUxQCAwFTIAICAR0G+f8CFAEGAAATHQIyAABTGAIDAVMkAgIBHQf4/wEUAQcAABMhAjoA\ -AFMcAgMBUygCAgEdCPf/ARQBCAAAEyUCOgAAUyACAwFTLAICAR0J9v8BFAEJAAATKQI6AABTJAIDAVMwAgIBHQr1\ -/wEUAQoAABMtAkIAAFMoAgMBUzQCAgEdC/T/ARQBCwAAEzECQgAAUywCAwFTOAICAQ0M8/8UAQwAABM1AioAAFMw\ -AgMBUzwCAgENDfL/FAENAAATOQIqAABTNAIDAVNAAgIBDQ7x/xQBDgAAEz0CKgAAUzgCAwFTRAICAR0P8P8BFAEP\ -AAATQQIqAABTPAIDAVNIAgIBDRDv/xQBEAAAE0UCOgAAU0ACAwFTTAICAQ0R7v8UAREAABNJAlIAAFNIAgMBU1QC\ -AgENEu3/FAESAAATUQJaAABTUAIDAVNcAgIBD3ZvaWQABg9ib29sAQEAAgEBAAEPaW50OAECAAIBAgABH2ludDE2\ -AQMAAgEDAAEfaW50MzIBBAACAQQAAR9pbnQ2NAEFAAIBBQABH3VpbnQ4AQYAAgEGAAE/dWludDE2AQcAAgEHAAE/\ -dWludDMyAQgAAgEIAAE/dWludDY0AQkAAgEJAAF/ZmxvYXQzMgEKAAIBCgABf2Zsb2F0NjQBCwACAQsAAQ90ZXh0\ -AQwAAgEMAAEPZGF0YQENAAIBDQABD2xpc3QBEgACARIAAQ9lbnVtAQcAAgEHAAE/c3RydWN0ARIAAgESAAH/aW50\ -ZXJmYWMAAWUABv9hbnlQb2ludAADZXIBEgACARIAAREB8v9jYXBucC9zYwJoZW1hLmNhcG5wOk5vZGUuH2NvbnN0\ -EQF3UQgDBBADFAEQAAARKSoAAFEkAwFRMAIBEQEEFAERAAARLTIAAFEoAwFRNAIBD3R5cGUBEP9gzPnh7Xhz0AAA\ -AQEQAAEfdmFsdWUBEP+bDLDX0twjzgAAAQEQAAExARoB/2NhcG5wL3NjA2hlbWEuY2FwbnA6Tm9kZS5hbm5vdGF0\ -aQNvbjEB3wJRNAMEEAMUARIAABNdASoAAFNYAQMBU2QBAgERAXAUARMAABNhAWIAAFNgAQMBU2wBAgERAnEUARQA\ -ABNpAWoAAFNoAQMBU3QBAgERA3IUARUAABNxAWIAAFNwAQMBU3wBAgERBHMUARYAABN5AYoAAFN8AQMBU4gBAgER\ -BXQUARcAABOFAXIAAFOEAQMBU5ABAgERBnUUARgAABONAWoAAFOMAQMBU5gBAgERB3YUARkAABOVAWoAAFOUAQMB\ -U6ABAgERCHcUARoAABOdAWoAAFOcAQMBU6gBAgERCXgUARsAABOlAYoAAFOoAQMBU7QBAgERCnkUARwAABOxAXIA\ -AFOwAQMBU7wBAgERC3oUAR0AABO5AWoAAFO4AQMBU8QBAgERDHsUAR4AABPBAZIAAFPEAQMBU9ABAgEPdHlwZQEQ\ -/2DM+eHteHPQAAABARAAAf90YXJnZXRzRgAHaWxlAQEAAgEBAAH/dGFyZ2V0c0MAD29uc3QBAQACAQEAAf90YXJn\ -ZXRzRQAHbnVtAQEAAgEBAAH/dGFyZ2V0c0UBbnVtZXJhbnQAAAEBAAIBAQAB/3RhcmdldHNTAB90cnVjdAEBAAIB\ -AQAB/3RhcmdldHNGAA9pZWxkAQEAAgEBAAH/dGFyZ2V0c1UAD25pb24BAQACAQEAAf90YXJnZXRzRwAPcm91cAEB\ -AAIBAQAB/3RhcmdldHNJAW50ZXJmYWNlAAABAQACAQEAAf90YXJnZXRzTQAfZXRob2QBAQACAQEAAf90YXJnZXRz\ -UAAPYXJhbQEBAAIBAQAB/3RhcmdldHNBAW5ub3RhdGlvAW4BAQACAQEAATEBGgH/Y2FwbnAvc2MDaGVtYS5jYXBu\ -cDpOb2RlLk5lc3RlZE5vA2RlEQEHUAEBEQF3UQgDBAAABAEAABEpKgAAUSQDAVEwAgEBARQBAQAAES0aAABRKAMB\ -UTQCAQ9uYW1lAQwAAgEMAAEDaWQBCQACAQkAAREB8v9jYXBucC9zYwJoZW1hLmNhcG5wOkFubm90H2F0aW9uEQEH\ -UAEBEQGvUQwDBAAABAEAABFFGgAAUUADAVFMAgEBAhQBAQAAEUkyAABRRAMBUVACAREBARQBAgAAEU0yAABRSAMB\ -UVQCAQNpZAEJAAIBCQABH3ZhbHVlARD/mwyw19LcI84AAAEBEAABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQES\ -Af9jYXBucC9zYwNoZW1hLmNhcG5wOk5vZGUuUGFyYW1ldGUBchEBB1ABAREBP1EEAwQAAAQBAAARDSoAAFEIAwFR\ -FAIBD25hbWUBDAACAQwAAREByv9jYXBucC9zYwJoZW1hLmNhcG5wOkJyYW5kAAARASdRCAEB/8lrY6mFNNerABEJ\ -Mv/8556WFs1jyAARBUIfU2NvcGV/QmluZGluZxEBP1EEAwQAAAQBAAARDToAAFEIAwFRJAIBP3Njb3BlcwEOAAFQ\ -AwEBEP/Ja2OphTTXqwAAAQEOAAERAfr/Y2FwbnAvc2MCaGVtYS5jYXBucDpCcmFuZD8uU2NvcGURAQdQAQERAa9R\ -DAMEAAAEAQAAEUVCAABRQAMBUUwCAQ0B//8UAQEAABFJKgAAUUQDAVFgAgENAv7/FAECAAARXUIAAFFYAwFRZAIB\ -f3Njb3BlSWQBCQACAQkAAQ9iaW5kAQ4AAVADAQEQ//znnpYWzWPIAAABAQ4AAX9pbmhlcml0AAYxAQoB/2NhcG5w\ -L3NjA2hlbWEuY2FwbnA6QnJhbmQuQmluZGluZwAAEQEHUAEBEQF3UQgDBAz//wQBAAARKUIAAFEkAwFRMAIBDQH+\ -/xQBAQAAES0qAABRKAMBUTQCAX91bmJvdW5kAAYPdHlwZQEQ/2DM+eHteHPQAAABARAAAREB6v9jYXBucC9zYwJo\ -ZW1hLmNhcG5wOlR5cGUuD2xpc3QRAT9RBAMEAAAUAQ4AABENYgAAUQwDAVEYAgH/ZWxlbWVudFQAB3lwZQEQ/2DM\ -+eHteHPQAAABARAAAREB6v9jYXBucC9zYwJoZW1hLmNhcG5wOlR5cGUuD2VudW0RAXdRCAMEEAEUAQ8AABEpOgAA\ -USQDAVEwAgEBARQBFQAAES0yAABRKAMBUTQCAT90eXBlSWQBCQACAQkAAR9icmFuZAEQ/ytCZWDwVTSQAAABARAA\ -AREB+v9jYXBucC9zYwJoZW1hLmNhcG5wOlR5cGUuP3N0cnVjdBEBd1EIAwQQARQBEAAAESk6AABRJAMBUTACAQEB\ -FAEWAAARLTIAAFEoAwFRNAIBP3R5cGVJZAEJAAIBCQABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQESAf9jYXBu\ -cC9zYwNoZW1hLmNhcG5wOlR5cGUuaW50ZXJmYWMBZREBd1EIAwQQARQBEQAAESk6AABRJAMBUTACAQEBFAEXAAAR\ -LTIAAFEoAwFRNAIBP3R5cGVJZAEJAAIBCQABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQGKAf9jYXBucC9zYwVo\ -ZW1hLmNhcG5wOlR5cGUuYW55UG9pbnRlci51bmNvbnN0cmFpbmVkAAARAedREAMEDP//FAESAAARYUIAAFFcAwFR\ -aAIBDQH+/xQBGQAAEWU6AABRYAMBUWwCAQ0C/f8UARoAABFpKgAAUWQDAVFwAgENA/z/FAEbAAARbVoAAFFsAwFR\ -eAIBf2FueUtpbmQABj9zdHJ1Y3QABg9saXN0AAb/Y2FwYWJpbGkAA3R5AAYxAWoB/2NhcG5wL3NjBGhlbWEuY2Fw\ -bnA6VHlwZS5hbnlQb2ludGVyLnBhcmFtD2V0ZXIRAXdRCAMEEAIUARMAABEpQgAAUSQDAVEwAgERAQUUARQAABEt\ -egAAUSwDAVE4AgF/c2NvcGVJZAEJAAIBCQAB/3BhcmFtZXRlAD9ySW5kZXgBBwACAQcAATEB2gH/Y2FwbnAvc2MG\ -aGVtYS5jYXBucDpUeXBlLmFueVBvaW50ZXIuaW1wbGljaXRNZXRob2RQYXJhbWV0A2VyEQE/UQQDBBAFFAEYAAAR\ -DXoAAFEMAwFRGAIB/3BhcmFtZXRlAD9ySW5kZXgBBwACAQcAATEBGgH/Y2FwbnAvc2MDaGVtYS5jYXBucDpUeXBl\ -LmFueVBvaW50A2VyEQGvUQwDBAz//wEB/1Y2Wf55XzuOABFFcgACDQH+/wEB/4VKYfQk99GdABExUgACDQL9/wEB\ -/3TiVgwSye+6ABEdwgAC/3VuY29uc3RyAB9haW5lZP9wYXJhbWV0ZQABcv9pbXBsaWNpdAJNZXRob2RQYXJhbWV0\ -ZXIAEQHy/2NhcG5wL3NjAmhlbWEuY2FwbnA6RmllbGQfLnNsb3QRAedREAMEEAEUAQQAABFhOgAAUVwDAVFoAgER\ -AQIUAQUAABFlKgAAUWADAVFsAgERAgMUAQYAABFpagAAUWgDAVF0AgERA4AUAQoAABFxmgAAUXQDAVGAAgE/b2Zm\ -c2V0AQgAAgEIAAEPdHlwZQEQ/2DM+eHteHPQAAABARAAAf9kZWZhdWx0VgAPYWx1ZQEQ/5sMsNfS3CPOAAABARAA\ -Af9oYWRFeHBsaQFjaXREZWZhdQNsdAEBAAIBAQABEQH6/2NhcG5wL3NjAmhlbWEuY2FwbnA6RmllbGQ/Lmdyb3Vw\ -EQE/UQQDBBACFAEHAAARDToAAFEIAwFRFAIBP3R5cGVJZAEJAAIBCQABMQEKAf9jYXBucC9zYwNoZW1hLmNhcG5w\ -OkZpZWxkLm9yZGluYWwAABEBd1EIAwQM//8UAQgAABEpSgAAUSgDAVE0AgEdAf7/BhQBCQAAETFKAABRMAMBUTwC\ -Af9pbXBsaWNpdAAAB/9leHBsaWNpdAAAAAEHAAIBBwABMQGKAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3Nl\ -c3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmxpc3ROb2RlcyRQYXJhbXMAABEBr1EMAwQAAAQB\ -AAARRXoAAFFEAwFRUAIBAQEUAQEAABFNMgAAUUgDAVFUAgERAgEUAQIAABFROgAAUUwDAVFYAgH/cGF0aEV4cHIA\ -P2Vzc2lvbgEMAAIBDAABH2ZsYWdzAQgAAgEIAAE/Y2xpZW50AQ0AAgENAAExAZIC/3poaW5zdC9pCW8vcHJvdG9j\ -b2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24ubGlzdE5vZGVzJFJlc3VsdAFz\ -EQE/UQQDBAAABAEAABENMgAAUQgDAVEkAgEfcGF0aHMBDgABUAMBAQwAAgEOAAExAdoC/3poaW5zdC9pCm8vcHJv\ -dG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uZGVwcmVjYXRlZEdldFZh\ -bHVlcyRQYXJhA21zEQF3UQgDBAAABAEAABEpMgAAUSQDAVFAAgERAQEUAQEBARE9OgAAUTgDAVFEAgEfcGF0aHMB\ -DgABUAMBAQwAAgEOAAE/Y2xpZW50AQ0AAgENAAARAQIxAaIB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29t\ -bW9uL3Jlc3VsdC5jYXBucDpSZXMHdWx0EQEHUAEBEQF3UQgDBAz//wQBAAARKRoAAFEkAwFRMAIBDQH+/xQBAQAA\ -ES0iAABRKAMBUTQCAQNvawESAQH/PTI0GT7zsLoAAAABEgABB2VycgESBQEB/z0yNBk+87C6AAAAARIAAREBF0EI\ -AREFKhEFMg9UeXBlH0Vycm9yMQHaAf96aGluc3QvaQZvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi92YWx1ZS5jYXBu\ -cDpBbm5vdGF0ZWRWYWwDdWURARdRBAEB/xgwr1fK2FOtABEBSv9NZXRhZGF0YQAAABEBd1EIAwQAAAQBAAARKUoA\ -AFEoAwFRNAIBEQEBFAEBAAARMTIAAFEsAwFROAIB/21ldGFkYXRhAAAAARD/GDCvV8rYU60AAAEBEAABH3ZhbHVl\ -ARD/rHW+cUeLg7EAAAEBEAABMQGSAf96aGluc3QvaQVvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9lcnJvci5jYXBu\ -cDpFcnJvAXIRAQdQAQExAR8BURQDBAAABAEAABF9KgAAUXgDAVGEAgEBARQBAQAAEYFCAABRfAMBUYgCARECARQB\ -AgAAEYVKAABRhAMBUZACAREDAhQBAwEBEY0qAABRiAMBUZQCAREEAhQBBAAAEZE6AABRjAMBUZgCAQ9jb2RlAQgA\ -AgEIAAF/bWVzc2FnZQEMAAIBDAAB/2NhdGVnb3J5AAAAAQwAAgEMAAEPa2luZAEP/70CmEricea3AAABBQ8CAAE/\ -c291cmNlAQwAAgEMAAExAeIC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3Rv\ -Y29sLmNhcG5wOlNlc3Npb24uZGVwcmVjYXRlZEdldFZhbHVlcyRSZXN1B2x0cxEBP1EEAwQAAAQBAAARDToAAFEI\ -AwFRbAIBP3Jlc3VsdAEOAAFQAwEBEP89MjQZPvOwugAAAEABEQEfUQQCAf89MjQZPvOwugAAABEBJ1EIAQEBAVEI\ -AwEBAVEQAwEBEP/cfINuN+4I9AAAAQEQ/9kRfVFMTuPEAAABAQ4AATEBkgH/emhpbnN0L2kFby9wcm90b2NvbC9j\ -YXBucC9jb21tb24vdmFsdWUuY2FwbnA6VmFsdQFlEQEHUAEBMQH3A1FIAwQM//8EAQAAE+kBMgAAU+QBAwFT8AEC\ -AQ0B/v8UAQEAABPtAToAAFPoAQMBU/QBAgENAv3/FAECAAAT8QFCAABT7AEDAVP4AQIBDQP8/xQBAwAAE/UBOgAA\ -U/ABAwFT/AECAQ0E+/8UAQQAABP5AVoAAFP4AQMBUwQCAgENBfr/FAEFAAATAQJSAABSAgMBUwwCAgENBvn/FAEG\ -AAATCQJyAABTCAIDAVMUAgIBDQf4/xQBBwAAExECKgAAUwwCAwFTGAICAQ0I9/8UAQgAABMVAnoAAFMUAgMBUyAC\ -AgENCfb/FAEJAAATHQJqAABTHAIDAVMoAgIBDQr1/xQBCgAAEyUCogAAUygCAwFTNAICAQ0L9P8UAQsAABMxAooA\ -AFM0AgMBU1ACAgENDPP/FAEMAAATTQKqAABTUAIDAVNsAgIBDQ3y/xQBDQAAE2kCggAAU2gCAwFTdAICAQ0O8f8U\ -AQ4AABNxAioAAFNsAgMBU3gCAgEND/D/FAEPAAATdQJqAABTdAIDAVOAAgIBDRDv/xQBEAAAE30CygAAU4QCAwFT\ -kAICAQ0R7v8UAREAABONAloAAFOMAgMBU5gCAgEfaW50NjQBBQACAQUAAT9kb3VibGUBCwACAQsAAX9jb21wbGV4\ -ARD/V7G0l6+v8aoAAAEBEAABP3N0cmluZwEMAAIBDAAB/3ZlY3RvckRhAAN0YQEQ/3iJ8w24ZUyZAAABARAAAf9j\ -bnRTYW1wbAABZQEQ/2VgfSjYCzfpAAABARAAAf90cmlnZ2VyUwAfYW1wbGUBEP+VDX3ClyC33gAAAQEQAAEPbm9u\ -ZQEQ/xZ4Q4Hp6H/fAAABARAAAf9zdHJlYW1pbgA/Z0Vycm9yARD/2RF9UUxO48QAAAEBEAAB/3NoZkRlbW9kAA9E\ -YXRhARD7gmXm4+MDmwABARAAAf9zaGZSZXN1bAF0TG9nZ2VyRAdhdGEBEP/dHXZ59WGguwAAAQEQAAH/dmVjdG9y\ -Q24BdFNhbXBsZXMAAAEOAAFQAwEBEP9lYH0o2As36QAAAQEOAAH/dmVjdG9yVHIBaWdnZXJTYW0PcGxlcwEOAAFQ\ -AwEBEP+VDX3ClyC33gAAAQEOAAH/bGFyZ2VWZWMBdG9yRGF0YQABEP8KsFmZsPdI2QAAAQEQAAEPYm9vbAEBAAIB\ -AQAB/3NoZlNjb3BlAA9EYXRhARD/yTupgh9/sKkAAAEBEAAB/3NoZkdlbmVyAmF0b3JXYXZlZm9ybURhdGEAAAEQ\ -/9DzxIFu4M/tAAABARAAAf9zaGZQaWREYQADdGEBEP9wKJpUceFu/wAAAQEQAAExAVIC/3poaW5zdC9pCG8vcHJv\ -dG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlJldHVybkZyb21TZXRXaGUBbhEBB1AB\ -AREBZ1EQAQIAABEpKgAAAQERIVIAAAECER1iAAABAxEZogAAD2FzYXD/ZGV2aWNlQWMAAWv/dW51c2VkQXMAB3lu\ -Y/91bnVzZWRUcgFhbnNhY3RpbwduYWwxAdIC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNz\ -aW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uZGVwcmVjYXRlZFNldFZhbHVlJFBhcmFtAXMRAa9RDAMEAAAEAQAA\ -EUUqAABRQAMBUUwCAREBARQBAQAAEUkyAABRRAMBUVACAQECFAECAQERTWoAAFFMAwFRWAIBD3BhdGgBDAACAQwA\ -AR92YWx1ZQEQ/6x1vnFHi4OxAAABARAAAf9jb21wbGV0ZQAPV2hlbgEP//ntVaw6pS3dAAABBQ8BAAExAboB/3po\ -aW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOlZvaWQ/U3RydWN0EQEHUAEBMQHaAv96\ -aGluc3QvaQpvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmRl\ -cHJlY2F0ZWRTZXRWYWx1ZSRSZXN1bAN0cxEBP1EEAwQAAAQBAAARDToAAFEIAwFRXAIBP3Jlc3VsdAEQ/z0yNBk+\ -87C6AAAAQAERAR9RBAIB/z0yNBk+87C6AAAAEQEnUQgBAQEBUQgDAQEBURADAQEQ/xZ4Q4Hp6H/fAAABARD/2RF9\ -UUxO48QAAAEBEAABMQECAv96aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL3N0cmVhbWluZy9zdHJlYW1pbmcuY2Fw\ -bnA6U3Vic2NyaXB0aW9uABEBB1ABAREBr1EMAwQAAAQBAAARRSoAAFFAAwFRTAIBEQEBFAEBAAARSYIAAFFIAwFR\ -VAIBEQICFAECAAARUWoAAFFQAwFRXAIBD3BhdGgBDAACAQwAAf9zdHJlYW1pbgFnSGFuZGxlAAER/3QVtPWnKB71\ -AAABAREAAf9zdWJzY3JpYgAPZXJJZAENAAIBDQABMQGKAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3Nlc3Np\ -b24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLnN1YnNjcmliZSRQYXJhbXMAABEBP1EEAwQAAAQBAAAR\ -DWoAAFEMAwFRGAIB/3N1YnNjcmlwAA90aW9uARD/1LHhPaUhrO0AAAEBEAABMQGSAv96aGluc3QvaQlvL3Byb3Rv\ -Y29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLnN1YnNjcmliZSRSZXN1bHQB\ -cxEBP1EEAwQAAAQBAAARDToAAFEIAwFRXAIBP3Jlc3VsdAEQ/z0yNBk+87C6AAAAQAERAR9RBAIB/z0yNBk+87C6\ -AAAAEQEnUQgBAQEBUQgDAQEBURADAQEQ/xZ4Q4Hp6H/fAAABARD/2RF9UUxO48QAAAEBEAABMQHCAv96aGluc3Qv\ -aQpvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmRpc2Nvbm5l\ -Y3REZXZpY2UkUGFyYW1zADEBqgL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJv\ -dG9jb2wuY2FwbnA6U2Vzc2lvbi5saXN0Tm9kZXNKc29uJFBhD3JhbXMRAa9RDAMEAAAEAQAAEUV6AABRRAMBUVAC\ -AQEBFAEBAAARTTIAAFFIAwFRVAIBEQIBFAECAAARUToAAFFMAwFRWAIB/3BhdGhFeHByAD9lc3Npb24BDAACAQwA\ -AR9mbGFncwEIAAIBCAABP2NsaWVudAENAAIBDQABMQGyAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3Nlc3Np\ -b24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmxpc3ROb2Rlc0pzb24kUmUfc3VsdHMRAT9RBAMEAAAE\ -AQAAEQ1SAABRDAMBURgCAf9ub2RlUHJvcAABcwEMAAIBDAABMQGaAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5w\ -L3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLnVuc3Vic2NyaWJlJFBhcmEDbXMRAXdRCAME\ -AAAEAQAAESlqAABRKAMBUTQCAREBARQBAQAAETEyAABRLAMBUUgCAf9zdWJzY3JpYgAPZXJJZAENAAIBDQABH3Bh\ -dGhzAQ4AAVADAQEMAAIBDgABMQHKAv96aGluc3QvaQpvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9w\ -cm90b2NvbC5jYXBucDpTZXNzaW9uLmdldFNlc3Npb25WZXJzaW9uJFBhcmFtcwAAMQHSAv96aGluc3QvaQpvL3By\ -b3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmdldFNlc3Npb25WZXJz\ -aW9uJFJlc3VsdAFzEQE/UQQDBAAABAEAABENQgAAUQgDAVEUAgF/dmVyc2lvbgEMAAIBDAABMQHaAv96aGluc3Qv\ -aQpvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmRlcHJlY2F0\ -ZWRTZXRWYWx1ZTIkUGFyYQNtcxEB51EQAwQAAAQBAAARYSoAAFFcAwFRaAIBEQEBFAEBAAARZTIAAFFgAwFRbAIB\ -AQIUAQIBARFpagAAUWgDAVF0AgERAwIUAQMBARFxOgAAUWwDAVF4AgEPcGF0aAEMAAIBDAABH3ZhbHVlARD/rHW+\ -cUeLg7EAAAEBEAAB/2NvbXBsZXRlAA9XaGVuAQ//+e1VrDqlLd0AAAEFDwEAAT9jbGllbnQBDQACAQ0AABEBAjEB\ -4gL/emhpbnN0L2kKby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lv\ -bi5kZXByZWNhdGVkU2V0VmFsdWUyJFJlc3UHbHRzEQE/UQQDBAAABAEAABENOgAAUQgDAVFcAgE/cmVzdWx0ARD/\ -PTI0GT7zsLoAAABAAREBH1EEAgH/PTI0GT7zsLoAAAARASdRCAEBAQFRCAMBAQFREAMBARD/3HyDbjfuCPQAAAEB\ -EP/ZEX1RTE7jxAAAAQEQAAExARoC/3poaW5zdC9pB28vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3By\ -b3RvY29sLmNhcG5wOkxvb2t1cE1vA2RlEQEHUAEBEQE3UQgBAgAAERFqAAABARENcgAA/2RpcmVjdExvAA9va3Vw\ -/3dpdGhFeHBhAB9uc2lvbjEBggL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJv\ -dG9jb2wuY2FwbnA6U2Vzc2lvbi5zZXRWYWx1ZSRQYXJhbXMAMQEfAVEUAwQAAAQBAAARfXoAAFF8AwFRiAIBEQEB\ -FAEBAAARhTIAAFGAAwFRjAIBAQIUAQIBARGJWgAAUYgDAVGUAgERAwEUAQMBARGRagAAUZADAVGcAgERBAIUAQQB\ -ARGZOgAAUZQDAVGgAgH/cGF0aEV4cHIAP2Vzc2lvbgEMAAIBDAABH3ZhbHVlARD/rHW+cUeLg7EAAAEBEAAB/2xv\ -b2t1cE1vAANkZQEP/yX0cuC1SVDaAAABAQ8AAf9jb21wbGV0ZQAPV2hlbgEP//ntVaw6pS3dAAABBQ8BAAE/Y2xp\ -ZW50AQ0AAgENAAARAQIxAYoC/3poaW5zdC9pCW8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3Rv\ -Y29sLmNhcG5wOlNlc3Npb24uc2V0VmFsdWUkUmVzdWx0cwAAEQE/UQQDBAAABAEAABENOgAAUQgDAVFsAgE/cmVz\ -dWx0AQ4AAVADAQEQ/z0yNBk+87C6AAAAQAERAR9RBAIB/z0yNBk+87C6AAAAEQEnUQgBAQEBUQgDAQEBURADAQEQ\ -/9x8g2437gj0AAABARD/2RF9UUxO48QAAAEBDgABMQGCAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3Nlc3Np\ -b24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmdldFZhbHVlJFBhcmFtcwARAedREAMEAAAEAQAAEWF6\ -AABRYAMBUWwCAQEBFAEBAQERaVoAAFFoAwFRdAIBEQIBFAECAQERcTIAAFFsAwFReAIBEQMBFAEDAQERdToAAFFw\ -AwFRfAIB/3BhdGhFeHByAD9lc3Npb24BDAACAQwAAf9sb29rdXBNbwADZGUBD/8l9HLgtUlQ2gAAAQEPAAEfZmxh\ -Z3MBCAACAQgAAT9jbGllbnQBDQACAQ0AABEBAjEBigL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9u\ -L3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbi5nZXRWYWx1ZSRSZXN1bHRzAAARAT9RBAMEAAAEAQAAEQ06\ -AABRCAMBUWwCAT9yZXN1bHQBDgABUAMBARD/PTI0GT7zsLoAAABAAREBH1EEAgH/PTI0GT7zsLoAAAARASdRCAEB\ -AQFRCAMBAQFREAMBARD/3HyDbjfuCPQAAAEBEP/ZEX1RTE7jxAAAAQEOAAExAXIC/3poaW5zdC9pCG8vcHJvdG9j\ -b2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uY2FuY2VsJFAfYXJhbXMRAT9R\ -BAMEAAAEAQAAEQ06AABRCAMBURQCAT9jbGllbnQBDQACAQ0AATEBIgL/emhpbnN0L2kHby9wcm90b2NvbC9jYXBu\ -cC9jb21tb24vdmFsdWUuY2FwbnA6QW5ub3RhdGVkVmFsdWUuTWV0YWQHYXRhEQEHUAEBEQF3UQgDBAAABAEAABEp\ -UgAAUSgDAVE0AgEBARQBAQAAETEqAABRLAMBUTgCAf90aW1lc3RhbQABcAEJAAIBCQABD3BhdGgBDAACAQwAATEB\ -sgH/emhpbnN0L2kFby9wcm90b2NvbC9jYXBucC9jb21tb24vY29tcGxleC5jYXBucDpDbx9tcGxleBEBB1ABAREB\ -d1EIAwQAAAQBAAARKSoAAFEkAwFRMAIBEQEBFAEBAAARLSoAAFEoAwFRNAIBD3JlYWwBCwACAQsAAQ9pbWFnAQsA\ -AgELAAExAboB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOlZlY3Q/b3JEYXRh\ -EQEHUAEBEQHnURADBAAABAEAABFhUgAAUWADAVFsAgERAQIUAQEAABFpkgAAUWwDAVF4AgERAgEUAQIAABF1ggAA\ -UXQDAVGAAgEBAxQBAwAAEX0qAABReAMBUYQCAf92YWx1ZVR5cAABZQEHAAIBBwAB/3ZlY3RvckVsAWVtZW50VHlw\ -AWUBBgACAQYAAf9leHRyYUhlYQFkZXJJbmZvAAEIAAIBCAABD2RhdGEBDQACAQ0AATEBsgH/emhpbnN0L2kFby9w\ -cm90b2NvbC9jYXBucC9jb21tb24vdmFsdWUuY2FwbnA6Q250Ux9hbXBsZREBB1ABAREBr1EMAwQAAAQBAAARRVIA\ -AFFEAwFRUAIBEQECFAEBAAARTUIAAFFIAwFRVAIBEQIDFAECAAARUUIAAFFMAwFRWAIB/3RpbWVzdGFtAAFwAQkA\ -AgEJAAF/Y291bnRlcgEEAAIBBAABf3RyaWdnZXIBCAACAQgAATEB0gH/emhpbnN0L2kGby9wcm90b2NvbC9jYXBu\ -cC9jb21tb24vdmFsdWUuY2FwbnA6VHJpZ2dlclNhbXBsAWURAQdQAQExAY8BURwDBAAABAEAABG1UgAAUbQDAVHA\ -AgERAQEUAQEAABG9WgAAUbwDAVHIAgERAgQUAQIAABHFQgAAUcADAVHMAgERAwUUAQMAABHJegAAUcgDAVHUAgER\ -BAYUAQQAABHRWgAAUdADAVHcAgERBQcUAQUAABHZIgAAUdQDAVHgAgERBggUAQYAABHdcgAAUdwDAVHoAgH/dGlt\ -ZXN0YW0AAXABCQACAQkAAf9zYW1wbGVUaQADY2sBCQACAQkAAX90cmlnZ2VyAQgAAgEIAAH/bWlzc2VkVHIAP2ln\ -Z2VycwEIAAIBCAAB/2F3Z1RyaWdnAANlcgEIAAIBCAABB2RpbwEIAAIBCAAB/3NlcXVlbmNlAB9JbmRleAEIAAIB\ -CAABMQFaAv96aGluc3QvaQhvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZfdmVjdG9ycy5jYXBucDpTaGZEZW1v\ -ZHVsYXRvclZlY3RvckRhA3RhEQEHUAEBEQGvUQwDBAAAAQH/DTBcomx4ddQAEUVaAAIBARQBDgAAETESAABRLAMB\ -UUgCARECARQBDwAAEUUSAABRQAMBUVwCAf9wcm9wZXJ0aQADZXMBeAEOAAFQAwEBCwACAQ4AAQF5AQ4AAVADAQEL\ -AAIBDgABMQFiAv96aGluc3QvaQhvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZfdmVjdG9ycy5jYXBucDpTaGZS\ -ZXN1bHRMb2dnZXJWZWN0b3JEB2F0YREBB1ABAREBd1EIAwQAAAEB/17sDuohtLfdABEpWgACAQEBAf8S35tEtWgL\ -mAARFToAAv9wcm9wZXJ0aQADZXM/dmVjdG9yMQHiAf96aGluc3QvaQZvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi92\ -YWx1ZS5jYXBucDpMYXJnZVZlY3RvckQHYXRhEQEHUAEBEQHnURADBAAABAEAABFhUgAAUWADAVFsAgERAQIUAQEA\ -ABFpkgAAUWwDAVF4AgERAgEUAQIAABF1ggAAUXQDAVGAAgEBAxQBAwAAEX1qAABRfAMBUZgCAf92YWx1ZVR5cAAB\ -ZQEHAAIBBwAB/3ZlY3RvckVsAWVtZW50VHlwAWUBBgACAQYAAf9leHRyYUhlYQFkZXJJbmZvAAEIAAIBCAAB/2Rh\ -dGFTZWdtAA9lbnRzAQ4AAVADAQENAAIBDgABMQEqAv96aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9z\ -aGZfdmVjdG9ycy5jYXBucDpTaGZTY29wZVZlY3Rvcg9EYXRhEQEHUAEBEQF3UQgDBAAAAQH/JIlg+Xa4B9cAESla\ -AAIBAQEB/7wUjoyHqwrRABEVOgAC/3Byb3BlcnRpAANlcz92ZWN0b3IxAYoC/3poaW5zdC9pCW8vcHJvdG9jb2wv\ -Y2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNoZkdlbmVyYXRvcldhdmVmb3JtVmVjdG9yRGF0YQAAEQEH\ -UAEBEQE/UQQDBAAABAEAABENQgAAUQgDAVEkAgF/Y29tcGxleAEOAAFQAwEBEP9XsbSXr6/xqgAAAQEOAAExARoC\ -/3poaW5zdC9pB28vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNoZlBpZFZlY3RvckRh\ -A3RhEQEHUAEBEQGvUQwDBAAAAQH/RFWZdwad4JsAEUVaAAIBARQBDwAAETEyAABRLAMBUUgCARECARQBEAAAEUUy\ -AABRQAMBUVwCAf9wcm9wZXJ0aQADZXMfdmFsdWUBDgABUAMBAQsAAgEOAAEfZXJyb3IBDgABUAMBAQsAAgEOAAEx\ -AbIB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL2Vycm9yLmNhcG5wOkVycm8fcktpbmQRAQdQAQER\ -AfdRKAECAAARcRoAAAEBEWlSAAABAhFlQgAAAQMRXUoAAAEEEVliAAABBRFVWgAAAQYRUXIAAAEHEU1KAAABCBFJ\ -YgAAAQkRRUIAAANva/9jYW5jZWxsZQABZH91bmtub3du/25vdEZvdW5kAAAA/292ZXJ3aGVsAAdtZWT/YmFkUmVx\ -dWUAA3N0/3VuaW1wbGVtAB9lbnRlZP9pbnRlcm5hbAAAAP91bmF2YWlsYQAHYmxlf3RpbWVvdXQxAbIC/3poaW5z\ -dC9pCW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNoZkRlbW9kdWxhdG9yVmVjdG9y\ -RGF0YS5wcm9wZR9ydGllczEBFwNROAMEAAAEAQAAE3kBUgAAU3gBAwFThAECAREBARQBAQAAE4EBGgAAU3wBAwFT\ -iAECARECBBQBAgAAE4UBYgAAU4QBAwFTkAECAREDBRQBAwAAE40BYgAAU4wBAwFTmAECAREEBhQBBAAAE5UBagAA\ -U5QBAwFToAECAREFBBQBBQAAE50BigAAU6ABAwFTrAECAREGBRQBBgAAE6kBWgAAU6gBAwFTtAECAREH4BQBBwAA\ -E7EBOgAAU6wBAwFTuAECAREIDxQBCAAAE7UBigAAU7gBAwFTxAECAREJGBQBCQAAE8EBSgAAU8ABAwFTzAECAREK\ -HRQBCgAAE8kBcgAAU8gBAwFT1AECARELGRQBCwAAE9EBagAAU9ABAwFT3AECAREMBxQBDAAAE9kBegAAU9gBAwFT\ -5AECARENCBQBDQAAE+EBQgAAU9wBAwFT6AECAf90aW1lc3RhbQABcAEJAAIBCQABA2R0AQkAAgEJAAH/YnVyc3RM\ -ZW4AB2d0aAEIAAIBCAAB/2J1cnN0T2ZmAAdzZXQBCAACAQgAAf90cmlnZ2VySQAPbmRleAEIAAIBCAAB/3RyaWdn\ -ZXJUAWltZXN0YW1wAAABCQACAQkAAf9jZW50ZXJGcgADZXEBCwACAQsAAT9yZlBhdGgBAQACAQEAAf9vc2NpbGxh\ -dAFvclNvdXJjZQAAAQcAAgEHAAH/aGFybW9uaWMAAAABBwACAQcAAf90cmlnZ2VyUwAfb3VyY2UBBgACAQYAAf9z\ -aWduYWxTbwAPdXJjZQEHAAIBBwAB/29zY2lsbGF0AD9vckZyZXEBCwACAQsAAX9zY2FsaW5nAQsAAgELAAExAboC\ -/3poaW5zdC9pCW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNoZlJlc3VsdExvZ2dl\ -clZlY3RvckRhdGEucHJvcD9lcnRpZXMxARcDUTgDBAAABAEAABN5AVIAAFN4AQMBU4QBAgERAQIUAQEAABOBATIA\ -AFN8AQMBU4gBAgERAgMUAQIAABOFAWoAAFOEAQMBU5ABAgERAwIUAQMAABONAUIAAFOIAQMBU5QBAgERBAMUAQQA\ -ABORAYIAAFOQAQMBU5wBAgERBQgUAQUAABOZAVoAAFOYAQMBU6QBAgERBgkUAQYAABOhAVoAAFOgAQMBU6wBAgER\ -BwoUAQcAABOpAYoAAFOsAQMBU7gBAgERCAsUAQgAABO1AWIAAFO0AQMBU8ABAgERCQwUAQkAABO9AWIAAFO8AQMB\ -U8gBAgERChoUAQoAABPFAaIAAFPIAQMBU9QBAgERCxsUAQsAABPRAaoAAFPUAQMBU+ABAgERDBwUAQwAABPdAaIA\ -AFPgAQMBU+wBAgERDQgUAQ0AABPpAaoAAFPsAQMBU/gBAgH/dGltZXN0YW0AAXABCQACAQkAAR9qb2JJZAEIAAIB\ -CAAB/3JlcGV0aXRpAA9vbklkAQgAAgEIAAF/c2NhbGluZwELAAIBCwAB/2NlbnRlckZyAWVxdWVuY3kAAQsAAgEL\ -AAH/ZGF0YVNvdXIAA2NlAQgAAgEIAAH/bnVtU2FtcGwAA2VzAQgAAgEIAAH/bnVtU3BlY3QBclNhbXBsZXMAAAEI\ -AAIBCAAB/251bUF2ZXJhAAdnZXMBCAACAQgAAf9udW1BY3F1aQAHcmVkAQgAAgEIAAH/aG9sZG9mZkUBcnJvcnNS\ -ZXMHbG9nAQcAAgEHAAH/aG9sZG9mZkUBcnJvcnNSZWEPZG91dAEHAAIBBwAB/2hvbGRvZmZFAXJyb3JzU3BlB2N0\ -cgEHAAIBBwAB/2ZpcnN0U2FtAXBsZVRpbWVzD3RhbXABCQACAQkAATEBmgL/emhpbnN0L2kJby9wcm90b2NvbC9j\ -YXBucC9jb21tb24vc2hmX3ZlY3RvcnMuY2FwbnA6U2hmUmVzdWx0TG9nZ2VyVmVjdG9yRGF0YS52ZWN0A29yEQF3\ -UQgDBAz//xQBDgAAESkqAABRJAMBUUACAQ0B/v8UAQ8AABE9QgAAUTgDAVFUAgEPcmVhbAEOAAFQAwEBCwACAQ4A\ -AX9jb21wbGV4AQ4AAVADAQEQ/1extJevr/GqAAABAQ4AATEBggL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9j\ -b21tb24vc2hmX3ZlY3RvcnMuY2FwbnA6U2hmU2NvcGVWZWN0b3JEYXRhLnByb3BlcnRpZXMAMQGnAlEwAwQAAAQB\ -AAATQQFSAABTQAEDAVNMAQIBEQECFAEBAAATSQFyAABTSAEDAVNUAQIBEQIDFAECAAATUQEyAABTTAEDAVNYAQIB\ -EQMCFAEDAAATVQFCAABTUAEDAVNcAQIBEQQDFAEEAAATWQGCAABTWAEDAVNkAQIBEQUEFAEFAAATYQGKAABTZAED\ -AVNwAQIBEQYKFAEGAAATbQFiAABTbAEDAVN4AQIBEQcLFAEHAAATdQFqAABTdAEDAVOAAQIBEQgMFAEIAAATfQFi\ -AABTfAEDAVOIAQIBEQkNFAEJAAAThQGKAABTiAEDAVOUAQIBEQoOFAEKAAATkQGSAABTlAEDAVOgAQIBEQsPFAEL\ -AAATnQGSAABToAEDAVOsAQIB/3RpbWVzdGFtAAFwAQkAAgEJAAH/dGltZXN0YW0AH3BEaWZmAQgAAgEIAAEfZmxh\ -Z3MBCAACAQgAAX9zY2FsaW5nAQsAAgELAAH/Y2VudGVyRnIBZXF1ZW5jeQABCwACAQsAAf90cmlnZ2VyVAFpbWVz\ -dGFtcAAAAQkAAgEJAAH/aW5wdXRTZWwAB2VjdAEIAAIBCAAB/2F2ZXJhZ2VDAA9vdW50AQgAAgEIAAH/bnVtU2Vn\ -bWUAB250cwEIAAIBCAAB/251bVRvdGFsAVNlZ21lbnRzAAABCAACAQgAAf9maXJzdFNlZwFtZW50SW5kZQF4AQgA\ -AgEIAAH/bnVtTWlzc2UBZFRyaWdnZXIBcwEIAAIBCAABMQFiAv96aGluc3QvaQhvL3Byb3RvY29sL2NhcG5wL2Nv\ -bW1vbi9zaGZfdmVjdG9ycy5jYXBucDpTaGZTY29wZVZlY3RvckRhdGEudmVjB3RvchEBd1EIAwQM//8UAQwAABEp\ -KgAAUSQDAVFAAgENAf7/FAENAAARPUIAAFE4AwFRVAIBD3JlYWwBDgABUAMBAQsAAgEOAAF/Y29tcGxleAEOAAFQ\ -AwEBEP9XsbSXr6/xqgAAAQEOAAExAXIC/3poaW5zdC9pCG8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0\ -b3JzLmNhcG5wOlNoZlBpZFZlY3RvckRhdGEucHJvcGUfcnRpZXMxAU8DUTwDBAAABAEAABOVAVIAAFOUAQMBU6AB\ -AgERAQEUAQEAABOdAXIAAFOcAQMBU6gBAgERAgQUAQIAABOlAWIAAFOkAQMBU7ABAgERAwUUAQMAABOtAWIAAFOs\ -AQMBU7gBAgERBAYUAQQAABO1AWoAAFO0AQMBU8ABAgERBQQUAQUAABO9AYoAAFPAAQMBU8wBAgERBgUUAQYAABPJ\ -AWIAAFPIAQMBU9QBAgERBxwUAQcAABPRAWoAAFPQAQMBU9wBAgERCB0UAQgAABPZATIAAFPUAQMBU+ABAgERCR4U\ -AQkAABPdAXIAAFPcAQMBU+gBAgERCh8UAQoAABPlAToAAFPgAQMBU+wBAgERCzAUAQsAABPpAVoAAFPoAQMBU/QB\ -AgERDAcUAQwAABPxAVoAAFPwAQMBU/wBAgERDQgUAQ0AABP5AVoAAFP4AQMBUwQCAgERDgkUAQ4AABMBAkoAAFIC\ -AwFTDAICAf90aW1lc3RhbQABcAEJAAIBCQAB/3RpbWVzdGFtAB9wRGlmZgEJAAIBCQAB/2J1cnN0TGVuAAdndGgB\ -CAACAQgAAf9idXJzdE9mZgAHc2V0AQgAAgEIAAH/dHJpZ2dlckkAD25kZXgBCAACAQgAAf90cmlnZ2VyVAFpbWVz\ -dGFtcAAAAQkAAgEJAAH/Y2VudGVyUG8AB2ludAELAAIBCwAB/2lucHV0Q2hhAA9ubmVsAQYAAgEGAAEfaW5wdXQB\ -BgACAQYAAf9vdXRwdXRDaAAfYW5uZWwBBgACAQYAAT9vdXRwdXQBBgACAQYAAf90cmlnZ2VyUwADcmMBBgACAQYA\ -Af9zY2FsZVZhbAADdWUBCwACAQsAAf9zY2FsZUVycgADb3IBCwACAQsAAf9zZXRQb2ludAAAAAELAAIBCwABMQEa\ -Av96aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL3N0cmVhbWluZy9zdHJlYW1pbmcuY2FwbnA6U3RyZWFtaW5nSGFu\ -ZANsZREBB1ABAREBR1EEAwUAAP+2R3yWD60LowFuscB3M5pfmRERWgACEQkH/3NlbmRWYWx1AANlc0ABEQEHUAEB\ -MQGqAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3N0cmVhbWluZy9zdHJlYW1pbmcuY2FwbnA6U3RyZWFtaW5n\ -SGFuZGxlLnNlbmRWYWx1ZXMkUGEPcmFtcxEBP1EEAwQAAAQBAAARDToAAFEIAwFRJAIBP3ZhbHVlcwEOAAFQAwEB\ -EP/cfINuN+4I9AAAAQEOAAExAQIB/2NhcG5wL3N0A3JlYW0uY2FwbnA6U3RyZWFtUmVzdWx0ABEBB1ABAQ==" +_CAPNP_BINARY_SCHEMA = b"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\ +cC9jKwMrLmNhcG5wOmFsbG93Q2FuY2VsbGF0aW8BblABAVABAVABAVADAQADEQHS/2NhcG5wL2MrAisuY2FwbnA6\ +bmFtZXNwYWMBZVADAQEMAAIxAQIC/3poaW5zdC9pB28vcHJvdG9jb2wvY2FwbnAvcmVmbGVjdGlvbi9yZWZsZWN0\ +aW9uLmNhcG5wOlJlZmxlY3Rpb24AEQEXUQQBAf9a/Q8GdeXLjAARAZL/Y2FwYWJpbGkBdHlWZXJzaW8BbhEBh1EI\ +AwUBAf/3CPp75XunhgHRPYjhkyHbyRExagACESkHAAD/mRE82dQv4+MBGkEF2X+mMfsRHaoAAhEZB/9nZXRUaGVT\ +YwAPaGVtYUAB/2dldFJlZmxlAWN0aW9uVmVyD3Npb25AATEBAgL/emhpbnN0L2kHby9wcm90b2NvbC9jYXBucC9z\ +ZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbgARARdRBAEB/9ACL5YcrlC3ABEBkv9jYXBhYmls\ +aQF0eVZlcnNpbwFuMQEHA1EwAwUBAf+o9V4lKVQDkgGwYcl020vT6xNxAVIAAhNpAQcBC//n35C5Gy4kzQG7dZUS\ +jFFI6RNdAaIAAhNZAQcBCf9lgPNA7f32qAH5XVmpRgHvihNNAZoAAhNJAQcBBf/ks7Gv6YuxuQE/yUjfkmbKoBM9\ +AVIAAhM1AQcBB/+CB9ksC+aC5gEWeEOB6eh/3xMpAYoAAhMlAQcBCP/B9jFl6H+DzQEy+ltkQhYVqBMZAXIAAhMR\ +AQcBBv8c5pHbQBZqsQEWeEOB6eh/3xMFAWIAAhH9BwAA/1pAsxTPFH3XAbP2fKVNQ2jMEfGSAAIR7QcBCv+hq4Am\ +01zg2gGJ5sBWjmRH/RHhogACEd0HAQP/xyc+SRCa4p8BADn2Jl/YdJQR0UoAAhHJBwEC/3uRxGwjcujFAQGk0Lqd\ +cZjOEb1KAAIRtQcBBP/8EUPHMD18twEWeEOB6eh/3xGpOgACEZ0H/2xpc3ROb2RlAAFzQAH/ZGVwcmVjYXQBZWRH\ +ZXRWYWwHdWVzQAH/ZGVwcmVjYXQBZWRTZXRWYWwDdWVAAf9zdWJzY3JpYgABZUAB/2Rpc2Nvbm5lAWN0RGV2aWNl\ +AABAAf9saXN0Tm9kZQAfc0pzb25AAf91bnN1YnNjcgAHaWJlQAH/Z2V0U2Vzc2kBb25WZXJzaW8BbkAB/2RlcHJl\ +Y2F0AWVkU2V0VmFsB3VlMkAB/3NldFZhbHVlAAAAQAH/Z2V0VmFsdWUAAABAAT9jYW5jZWxAAREBB1ABAREBcv9o\ +cGsuY2FwbgAfcDpIcGsRAQdQAQERAQdQAwURASdRCAEB/3bHSxBoLqX5AAAA/1ylpC1YRdS5AAAAMQGiAv96aGlu\ +c3QvaQlvL3Byb3RvY29sL2NhcG5wL3JlZmxlY3Rpb24vcmVmbGVjdGlvbi5jYXBucDpSZWZsZWN0aW9uLmdldFRo\ +ZVNjaGVtYSRQYXIHYW1zMQH6Af96aGluc3QvaQZvL3Byb3RvY29sL2NhcG5wL3JlZmxlY3Rpb24vcmVmbGVjdGlv\ +bi5jYXBucDpDYXA/U2NoZW1hEQEHUAEBEQF3UQgDBAAABAEAABEpOgAAUSQDAVEwAgEBARQBAQAAES1SAABRLAMB\ +UUgCAT90eXBlSWQBCQACAQkAAf90aGVTY2hlbQABYQEOAAFQAwEBEP8XpCP5TKuC5gAAAQEOAAExAaoC/3poaW5z\ +dC9pCW8vcHJvdG9jb2wvY2FwbnAvcmVmbGVjdGlvbi9yZWZsZWN0aW9uLmNhcG5wOlJlZmxlY3Rpb24uZ2V0VGhl\ +U2NoZW1hJFJlcw91bHRzEQE/UQQDBAAABAEAABENUgAAUQwDAVEYAgH/dGhlU2NoZW0AAWEBEP/Phet2eu8xywAA\ +AQEQAAExAeIC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvcmVmbGVjdGlvbi9yZWZsZWN0aW9uLmNhcG5wOlJl\ +ZmxlY3Rpb24uZ2V0UmVmbGVjdGlvblZlcnNpb24kUGFyB2FtczEB6gL/emhpbnN0L2kKby9wcm90b2NvbC9jYXBu\ +cC9yZWZsZWN0aW9uL3JlZmxlY3Rpb24uY2FwbnA6UmVmbGVjdGlvbi5nZXRSZWZsZWN0aW9uVmVyc2lvbiRSZXMP\ +dWx0cxEBP1EEAwQAAAQBAAARDUIAAFEIAwFRFAIBf3ZlcnNpb24BDAACAQwAAREBwv9jYXBucC9zYwJoZW1hLmNh\ +cG5wOk5vZGUAEQE3UQwBAf+xow/xzBtSuQAREVL/QsIP+rtVv94AERFa/65XEwTjHY7zABERWv9QYXJhbWV0ZQAB\ +cv9OZXN0ZWRObwADZGX/U291cmNlSW4AA2ZvMQEXA1E4AwQAAAQBAAATeQEaAABTdAEDAVOAAQIBAQEUAQEAABN9\ +AWIAAFN8AQMBU4gBAgERAgIUAQIAABOFAcIAAFOIAQMBU5QBAgERAwIUAQMAABORAUIAAFOMAQMBU5gBAgERBgEU\ +AQQAABOVAWIAAFOUAQMBU7ABAgERBwIUAQUAABOtAWIAAFOsAQMBU8gBAgENCP//FAEGAAATxQEqAABTwAEDAVPM\ +AQIBDQn+/wEB/zVE+zebsaCeABPJAToAAg0K/f8BAf+Y9TNDNrNKtQATsQEqAAINC/z/AQH/jyHC8M9TJ+gAE5kB\ +UgACDQz7/wEB/yCUDXqspYqxABOFATIAAg0N+v8BAf+QAgpA1BkW7AATbQFaAAIRBAUUASAAABNZAVoAAFNYAQMB\ +U3QBAgExBSABFAEhAAATcQFSAABTcAEDAVN8AQIBA2lkAQkAAgEJAAH/ZGlzcGxheU4AB2FtZQEMAAIBDAAB/2Rp\ +c3BsYXlOAmFtZVByZWZpeExlbmd0aAABCAACAQgAAX9zY29wZUlkAQkAAgEJAAH/bmVzdGVkTm8AB2RlcwEOAAFQ\ +AwEBEP9Cwg/6u1W/3gAAAQEOAAH/YW5ub3RhdGkAB29ucwEOAAFQAwEBEP9CdSWrDZXI8QAAAQEOAAEPZmlsZQAG\ +P3N0cnVjdA9lbnVt/2ludGVyZmFjAAFlH2NvbnN0/2Fubm90YXRpAANvbv9wYXJhbWV0ZQADcnMBDgABUAMBARD/\ +saMP8cwbUrkAAAEBDgAB/2lzR2VuZXJpAAFjAQEAAgEBAAERAfr/Y2FwbnAvc2MCaGVtYS5jYXBucDpFbGVtZT9u\ +dFNpemURAQdQAQERAcdRIAECAAARWTIAAAEBEVEiAAABAhFJKgAAAQMRQUoAAAEEET1SAAABBRE5WgAAAQYRNUIA\ +AAEHES2CAAAfZW1wdHkHYml0D2J5dGX/dHdvQnl0ZXMAAAD/Zm91ckJ5dGUAAXP/ZWlnaHRCeXQAA2Vzf3BvaW50\ +ZXL/aW5saW5lQ28BbXBvc2l0ZQARAcr/Y2FwbnAvc2MCaGVtYS5jYXBucDpGaWVsZAAAEQEXUQQBAf8Sx/58vkyx\ +lwARAXr/bm9EaXNjcmkAP21pbmFudDEBjwFRHAMEAAAEAQAAEbUqAABRsAMBUbwCAQEBFAEBAAARuVIAAFG4AwFR\ +xAIBEQIBFAECAAARwWIAAFHAAwFR3AIBEQMBFAEDAQER2ZIAAFHcAwFR6AIBDQT//wEB/290tGtHBSPEABHlKgAC\ +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\ +AQEAAgEBAAH/dGFyZ2V0c1UAD25pb24BAQACAQEAAf90YXJnZXRzRwAPcm91cAEBAAIBAQAB/3RhcmdldHNJAW50\ +ZXJmYWNlAAABAQACAQEAAf90YXJnZXRzTQAfZXRob2QBAQACAQEAAf90YXJnZXRzUAAPYXJhbQEBAAIBAQAB/3Rh\ +cmdldHNBAW5ub3RhdGlvAW4BAQACAQEAATEBGgH/Y2FwbnAvc2MDaGVtYS5jYXBucDpOb2RlLk5lc3RlZE5vA2Rl\ +EQEHUAEBEQF3UQgDBAAABAEAABEpKgAAUSQDAVEwAgEBARQBAQAAES0aAABRKAMBUTQCAQ9uYW1lAQwAAgEMAAED\ +aWQBCQACAQkAAREB8v9jYXBucC9zYwJoZW1hLmNhcG5wOkFubm90H2F0aW9uEQEHUAEBEQGvUQwDBAAABAEAABFF\ +GgAAUUADAVFMAgEBAhQBAQAAEUkyAABRRAMBUVACAREBARQBAgAAEU0yAABRSAMBUVQCAQNpZAEJAAIBCQABH3Zh\ +bHVlARD/mwyw19LcI84AAAEBEAABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQESAf9jYXBucC9zYwNoZW1hLmNh\ +cG5wOk5vZGUuUGFyYW1ldGUBchEBB1ABAREBP1EEAwQAAAQBAAARDSoAAFEIAwFRFAIBD25hbWUBDAACAQwAAREB\ +yv9jYXBucC9zYwJoZW1hLmNhcG5wOkJyYW5kAAARASdRCAEB/8lrY6mFNNerABEJMv/8556WFs1jyAARBUIfU2Nv\ +cGV/QmluZGluZxEBP1EEAwQAAAQBAAARDToAAFEIAwFRJAIBP3Njb3BlcwEOAAFQAwEBEP/Ja2OphTTXqwAAAQEO\ +AAERAfr/Y2FwbnAvc2MCaGVtYS5jYXBucDpCcmFuZD8uU2NvcGURAQdQAQERAa9RDAMEAAAEAQAAEUVCAABRQAMB\ +UUwCAQ0B//8UAQEAABFJKgAAUUQDAVFgAgENAv7/FAECAAARXUIAAFFYAwFRZAIBf3Njb3BlSWQBCQACAQkAAQ9i\ +aW5kAQ4AAVADAQEQ//znnpYWzWPIAAABAQ4AAX9pbmhlcml0AAYxAQoB/2NhcG5wL3NjA2hlbWEuY2FwbnA6QnJh\ +bmQuQmluZGluZwAAEQEHUAEBEQF3UQgDBAz//wQBAAARKUIAAFEkAwFRMAIBDQH+/xQBAQAAES0qAABRKAMBUTQC\ +AX91bmJvdW5kAAYPdHlwZQEQ/2DM+eHteHPQAAABARAAAREB6v9jYXBucC9zYwJoZW1hLmNhcG5wOlR5cGUuD2xp\ +c3QRAT9RBAMEAAAUAQ4AABENYgAAUQwDAVEYAgH/ZWxlbWVudFQAB3lwZQEQ/2DM+eHteHPQAAABARAAAREB6v9j\ +YXBucC9zYwJoZW1hLmNhcG5wOlR5cGUuD2VudW0RAXdRCAMEEAEUAQ8AABEpOgAAUSQDAVEwAgEBARQBFQAAES0y\ +AABRKAMBUTQCAT90eXBlSWQBCQACAQkAAR9icmFuZAEQ/ytCZWDwVTSQAAABARAAAREB+v9jYXBucC9zYwJoZW1h\ +LmNhcG5wOlR5cGUuP3N0cnVjdBEBd1EIAwQQARQBEAAAESk6AABRJAMBUTACAQEBFAEWAAARLTIAAFEoAwFRNAIB\ +P3R5cGVJZAEJAAIBCQABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQESAf9jYXBucC9zYwNoZW1hLmNhcG5wOlR5\ +cGUuaW50ZXJmYWMBZREBd1EIAwQQARQBEQAAESk6AABRJAMBUTACAQEBFAEXAAARLTIAAFEoAwFRNAIBP3R5cGVJ\ +ZAEJAAIBCQABH2JyYW5kARD/K0JlYPBVNJAAAAEBEAABMQGKAf9jYXBucC9zYwVoZW1hLmNhcG5wOlR5cGUuYW55\ +UG9pbnRlci51bmNvbnN0cmFpbmVkAAARAedREAMEDP//FAESAAARYUIAAFFcAwFRaAIBDQH+/xQBGQAAEWU6AABR\ +YAMBUWwCAQ0C/f8UARoAABFpKgAAUWQDAVFwAgENA/z/FAEbAAARbVoAAFFsAwFReAIBf2FueUtpbmQABj9zdHJ1\ +Y3QABg9saXN0AAb/Y2FwYWJpbGkAA3R5AAYxAWoB/2NhcG5wL3NjBGhlbWEuY2FwbnA6VHlwZS5hbnlQb2ludGVy\ +LnBhcmFtD2V0ZXIRAXdRCAMEEAIUARMAABEpQgAAUSQDAVEwAgERAQUUARQAABEtegAAUSwDAVE4AgF/c2NvcGVJ\ +ZAEJAAIBCQAB/3BhcmFtZXRlAD9ySW5kZXgBBwACAQcAATEB2gH/Y2FwbnAvc2MGaGVtYS5jYXBucDpUeXBlLmFu\ +eVBvaW50ZXIuaW1wbGljaXRNZXRob2RQYXJhbWV0A2VyEQE/UQQDBBAFFAEYAAARDXoAAFEMAwFRGAIB/3BhcmFt\ +ZXRlAD9ySW5kZXgBBwACAQcAATEBGgH/Y2FwbnAvc2MDaGVtYS5jYXBucDpUeXBlLmFueVBvaW50A2VyEQGvUQwD\ +BAz//wEB/1Y2Wf55XzuOABFFcgACDQH+/wEB/4VKYfQk99GdABExUgACDQL9/wEB/3TiVgwSye+6ABEdwgAC/3Vu\ +Y29uc3RyAB9haW5lZP9wYXJhbWV0ZQABcv9pbXBsaWNpdAJNZXRob2RQYXJhbWV0ZXIAEQHy/2NhcG5wL3NjAmhl\ +bWEuY2FwbnA6RmllbGQfLnNsb3QRAedREAMEEAEUAQQAABFhOgAAUVwDAVFoAgERAQIUAQUAABFlKgAAUWADAVFs\ +AgERAgMUAQYAABFpagAAUWgDAVF0AgERA4AUAQoAABFxmgAAUXQDAVGAAgE/b2Zmc2V0AQgAAgEIAAEPdHlwZQEQ\ +/2DM+eHteHPQAAABARAAAf9kZWZhdWx0VgAPYWx1ZQEQ/5sMsNfS3CPOAAABARAAAf9oYWRFeHBsaQFjaXREZWZh\ +dQNsdAEBAAIBAQABEQH6/2NhcG5wL3NjAmhlbWEuY2FwbnA6RmllbGQ/Lmdyb3VwEQE/UQQDBBACFAEHAAARDToA\ +AFEIAwFRFAIBP3R5cGVJZAEJAAIBCQABMQEKAf9jYXBucC9zYwNoZW1hLmNhcG5wOkZpZWxkLm9yZGluYWwAABEB\ +d1EIAwQM//8UAQgAABEpSgAAUSgDAVE0AgEdAf7/BhQBCQAAETFKAABRMAMBUTwCAf9pbXBsaWNpdAAAB/9leHBs\ +aWNpdAAAAAEHAAIBBwABMQGKAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90\ +b2NvbC5jYXBucDpTZXNzaW9uLmxpc3ROb2RlcyRQYXJhbXMAABEBr1EMAwQAAAQBAAARRXoAAFFEAwFRUAIBAQEU\ +AQEAABFNMgAAUUgDAVFUAgERAgEUAQIAABFROgAAUUwDAVFYAgH/cGF0aEV4cHIAP2Vzc2lvbgEMAAIBDAABH2Zs\ +YWdzAQgAAgEIAAE/Y2xpZW50AQ0AAgENAAExAZIC/3poaW5zdC9pCW8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9z\ +ZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24ubGlzdE5vZGVzJFJlc3VsdAFzEQE/UQQDBAAABAEAABENMgAA\ +UQgDAVEkAgEfcGF0aHMBDgABUAMBAQwAAgEOAAExAdoC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lv\ +bi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uZGVwcmVjYXRlZEdldFZhbHVlcyRQYXJhA21zEQF3UQgD\ +BAAABAEAABEpMgAAUSQDAVFAAgERAQEUAQEBARE9OgAAUTgDAVFEAgEfcGF0aHMBDgABUAMBAQwAAgEOAAE/Y2xp\ +ZW50AQ0AAgENAAARAQIxAaIB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3Jlc3VsdC5jYXBucDpS\ +ZXMHdWx0EQEHUAEBEQF3UQgDBAz//wQBAAARKRoAAFEkAwFRMAIBDQH+/xQBAQAAES0iAABRKAMBUTQCAQNvawES\ +AQH/PTI0GT7zsLoAAAABEgABB2VycgESBQEB/z0yNBk+87C6AAAAARIAAREBF0EIAREFKhEFMg9UeXBlH0Vycm9y\ +MQHaAf96aGluc3QvaQZvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi92YWx1ZS5jYXBucDpBbm5vdGF0ZWRWYWwDdWUR\ +ARdRBAEB/xgwr1fK2FOtABEBSv9NZXRhZGF0YQAAABEBd1EIAwQAAAQBAAARKUoAAFEoAwFRNAIBEQEBFAEBAAAR\ +MTIAAFEsAwFROAIB/21ldGFkYXRhAAAAARD/GDCvV8rYU60AAAEBEAABH3ZhbHVlARD/rHW+cUeLg7EAAAEBEAAB\ +MQGSAf96aGluc3QvaQVvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9lcnJvci5jYXBucDpFcnJvAXIRAQdQAQExAR8B\ +URQDBAAABAEAABF9KgAAUXgDAVGEAgEBARQBAQAAEYFCAABRfAMBUYgCARECARQBAgAAEYVKAABRhAMBUZACARED\ +AhQBAwEBEY0qAABRiAMBUZQCAREEAhQBBAAAEZE6AABRjAMBUZgCAQ9jb2RlAQgAAgEIAAF/bWVzc2FnZQEMAAIB\ +DAAB/2NhdGVnb3J5AAAAAQwAAgEMAAEPa2luZAEP/70CmEricea3AAABBQ8CAAE/c291cmNlAQwAAgEMAAExAeIC\ +/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24u\ +ZGVwcmVjYXRlZEdldFZhbHVlcyRSZXN1B2x0cxEBP1EEAwQAAAQBAAARDToAAFEIAwFRbAIBP3Jlc3VsdAEOAAFQ\ +AwEBEP89MjQZPvOwugAAAEABEQEfUQQCAf89MjQZPvOwugAAABEBJ1EIAQEBAVEIAwEBAVEQAwEBEP/cfINuN+4I\ +9AAAAQEQ/9kRfVFMTuPEAAABAQ4AATEBkgH/emhpbnN0L2kFby9wcm90b2NvbC9jYXBucC9jb21tb24vdmFsdWUu\ +Y2FwbnA6VmFsdQFlEQEHUAEBMQH3A1FIAwQM//8EAQAAE+kBMgAAU+QBAwFT8AECAQ0B/v8UAQEAABPtAToAAFPo\ +AQMBU/QBAgENAv3/FAECAAAT8QFCAABT7AEDAVP4AQIBDQP8/xQBAwAAE/UBOgAAU/ABAwFT/AECAQ0E+/8UAQQA\ +ABP5AVoAAFP4AQMBUwQCAgENBfr/FAEFAAATAQJSAABSAgMBUwwCAgENBvn/FAEGAAATCQJyAABTCAIDAVMUAgIB\ +DQf4/xQBBwAAExECKgAAUwwCAwFTGAICAQ0I9/8UAQgAABMVAnoAAFMUAgMBUyACAgENCfb/FAEJAAATHQJqAABT\ +HAIDAVMoAgIBDQr1/xQBCgAAEyUCogAAUygCAwFTNAICAQ0L9P8UAQsAABMxAooAAFM0AgMBU1ACAgENDPP/FAEM\ +AAATTQKqAABTUAIDAVNsAgIBDQ3y/xQBDQAAE2kCggAAU2gCAwFTdAICAQ0O8f8UAQ4AABNxAioAAFNsAgMBU3gC\ +AgEND/D/FAEPAAATdQJqAABTdAIDAVOAAgIBDRDv/xQBEAAAE30CygAAU4QCAwFTkAICAQ0R7v8UAREAABONAloA\ +AFOMAgMBU5gCAgEfaW50NjQBBQACAQUAAT9kb3VibGUBCwACAQsAAX9jb21wbGV4ARD/V7G0l6+v8aoAAAEBEAAB\ +P3N0cmluZwEMAAIBDAAB/3ZlY3RvckRhAAN0YQEQ/3iJ8w24ZUyZAAABARAAAf9jbnRTYW1wbAABZQEQ/2VgfSjY\ +CzfpAAABARAAAf90cmlnZ2VyUwAfYW1wbGUBEP+VDX3ClyC33gAAAQEQAAEPbm9uZQEQ/xZ4Q4Hp6H/fAAABARAA\ +Af9zdHJlYW1pbgA/Z0Vycm9yARD/2RF9UUxO48QAAAEBEAAB/3NoZkRlbW9kAA9EYXRhARD7gmXm4+MDmwABARAA\ +Af9zaGZSZXN1bAF0TG9nZ2VyRAdhdGEBEP/dHXZ59WGguwAAAQEQAAH/dmVjdG9yQ24BdFNhbXBsZXMAAAEOAAFQ\ +AwEBEP9lYH0o2As36QAAAQEOAAH/dmVjdG9yVHIBaWdnZXJTYW0PcGxlcwEOAAFQAwEBEP+VDX3ClyC33gAAAQEO\ +AAH/bGFyZ2VWZWMBdG9yRGF0YQABEP8KsFmZsPdI2QAAAQEQAAEPYm9vbAEBAAIBAQAB/3NoZlNjb3BlAA9EYXRh\ +ARD/yTupgh9/sKkAAAEBEAAB/3NoZkdlbmVyAmF0b3JXYXZlZm9ybURhdGEAAAEQ/9DzxIFu4M/tAAABARAAAf9z\ +aGZQaWREYQADdGEBEP9wKJpUceFu/wAAAQEQAAExAVIC/3poaW5zdC9pCG8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lv\ +bi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlJldHVybkZyb21TZXRXaGUBbhEBB1ABAREBZ1EQAQIAABEpKgAAAQER\ +IVIAAAECER1iAAABAxEZogAAD2FzYXD/ZGV2aWNlQWMAAWv/dW51c2VkQXMAB3luY/91bnVzZWRUcgFhbnNhY3Rp\ +bwduYWwxAdIC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5w\ +OlNlc3Npb24uZGVwcmVjYXRlZFNldFZhbHVlJFBhcmFtAXMRAa9RDAMEAAAEAQAAEUUqAABRQAMBUUwCAREBARQB\ +AQAAEUkyAABRRAMBUVACAQECFAECAQERTWoAAFFMAwFRWAIBD3BhdGgBDAACAQwAAR92YWx1ZQEQ/6x1vnFHi4Ox\ +AAABARAAAf9jb21wbGV0ZQAPV2hlbgEP//ntVaw6pS3dAAABBQ8BAAExAboB/3poaW5zdC9pBW8vcHJvdG9jb2wv\ +Y2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOlZvaWQ/U3RydWN0EQEHUAEBMQHaAv96aGluc3QvaQpvL3Byb3RvY29s\ +L2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLmRlcHJlY2F0ZWRTZXRWYWx1ZSRS\ +ZXN1bAN0cxEBP1EEAwQAAAQBAAARDToAAFEIAwFRXAIBP3Jlc3VsdAEQ/z0yNBk+87C6AAAAQAERAR9RBAIB/z0y\ +NBk+87C6AAAAEQEnUQgBAQEBUQgDAQEBURADAQEQ/xZ4Q4Hp6H/fAAABARD/2RF9UUxO48QAAAEBEAABMQECAv96\ +aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL3N0cmVhbWluZy9zdHJlYW1pbmcuY2FwbnA6U3Vic2NyaXB0aW9uABEB\ +B1ABAREB51EQAwQAAAQBAAARYSoAAFFcAwFRaAIBEQEBFAEBAAARZYIAAFFkAwFRcAIBEQICFAECAAARbWoAAFFs\ +AwFReAIBEQMDFAEDAAARdToAAFFwAwFRfAIBD3BhdGgBDAACAQwAAf9zdHJlYW1pbgFnSGFuZGxlAAER/3QVtPWn\ +KB71AAABAREAAf9zdWJzY3JpYgAPZXJJZAENAAIBDQABP2t3YXJncwEQ/+DOZKYHziWPAAABARAAATEBigL/emhp\ +bnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbi5zdWJz\ +Y3JpYmUkUGFyYW1zAAARAT9RBAMEAAAEAQAAEQ1qAABRDAMBURgCAf9zdWJzY3JpcAAPdGlvbgEQ/9Sx4T2lIazt\ +AAABARAAATEBkgL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2Fw\ +bnA6U2Vzc2lvbi5zdWJzY3JpYmUkUmVzdWx0AXMRAT9RBAMEAAAEAQAAEQ06AABRCAMBUVwCAT9yZXN1bHQBEP89\ +MjQZPvOwugAAAEABEQEfUQQCAf89MjQZPvOwugAAABEBJ1EIAQEBAVEIAwEBAVEQAwEBEP8WeEOB6eh/3wAAAQEQ\ +/9kRfVFMTuPEAAABARAAATEBwgL/emhpbnN0L2kKby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJv\ +dG9jb2wuY2FwbnA6U2Vzc2lvbi5kaXNjb25uZWN0RGV2aWNlJFBhcmFtcwAxAaoC/3poaW5zdC9pCW8vcHJvdG9j\ +b2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24ubGlzdE5vZGVzSnNvbiRQYQ9y\ +YW1zEQGvUQwDBAAABAEAABFFegAAUUQDAVFQAgEBARQBAQAAEU0yAABRSAMBUVQCARECARQBAgAAEVE6AABRTAMB\ +UVgCAf9wYXRoRXhwcgA/ZXNzaW9uAQwAAgEMAAEfZmxhZ3MBCAACAQgAAT9jbGllbnQBDQACAQ0AATEBsgL/emhp\ +bnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbi5saXN0\ +Tm9kZXNKc29uJFJlH3N1bHRzEQE/UQQDBAAABAEAABENUgAAUQwDAVEYAgH/bm9kZVByb3AAAXMBDAACAQwAATEB\ +mgL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lv\ +bi51bnN1YnNjcmliZSRQYXJhA21zEQF3UQgDBAAABAEAABEpagAAUSgDAVE0AgERAQEUAQEAABExMgAAUSwDAVFI\ +AgH/c3Vic2NyaWIAD2VySWQBDQACAQ0AAR9wYXRocwEOAAFQAwEBDAACAQ4AATEBygL/emhpbnN0L2kKby9wcm90\ +b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbi5nZXRTZXNzaW9uVmVyc2lv\ +biRQYXJhbXMAADEB0gL/emhpbnN0L2kKby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wu\ +Y2FwbnA6U2Vzc2lvbi5nZXRTZXNzaW9uVmVyc2lvbiRSZXN1bHQBcxEBP1EEAwQAAAQBAAARDUIAAFEIAwFRFAIB\ +f3ZlcnNpb24BDAACAQwAATEB2gL/emhpbnN0L2kKby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJv\ +dG9jb2wuY2FwbnA6U2Vzc2lvbi5kZXByZWNhdGVkU2V0VmFsdWUyJFBhcmEDbXMRAedREAMEAAAEAQAAEWEqAABR\ +XAMBUWgCAREBARQBAQAAEWUyAABRYAMBUWwCAQECFAECAQERaWoAAFFoAwFRdAIBEQMCFAEDAQERcToAAFFsAwFR\ +eAIBD3BhdGgBDAACAQwAAR92YWx1ZQEQ/6x1vnFHi4OxAAABARAAAf9jb21wbGV0ZQAPV2hlbgEP//ntVaw6pS3d\ +AAABBQ8BAAE/Y2xpZW50AQ0AAgENAAARAQIxAeIC/3poaW5zdC9pCm8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9z\ +ZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uZGVwcmVjYXRlZFNldFZhbHVlMiRSZXN1B2x0cxEBP1EEAwQA\ +AAQBAAARDToAAFEIAwFRXAIBP3Jlc3VsdAEQ/z0yNBk+87C6AAAAQAERAR9RBAIB/z0yNBk+87C6AAAAEQEnUQgB\ +AQEBUQgDAQEBURADAQEQ/9x8g2437gj0AAABARD/2RF9UUxO48QAAAEBEAABMQEaAv96aGluc3QvaQdvL3Byb3Rv\ +Y29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpMb29rdXBNbwNkZREBB1ABAREBN1EIAQIA\ +ABERagAAAQERDXIAAP9kaXJlY3RMbwAPb2t1cP93aXRoRXhwYQAfbnNpb24xAYIC/3poaW5zdC9pCW8vcHJvdG9j\ +b2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uc2V0VmFsdWUkUGFyYW1zADEB\ +HwFRFAMEAAAEAQAAEX16AABRfAMBUYgCAREBARQBAQAAEYUyAABRgAMBUYwCAQECFAECAQERiVoAAFGIAwFRlAIB\ +EQMBFAEDAQERkWoAAFGQAwFRnAIBEQQCFAEEAQERmToAAFGUAwFRoAIB/3BhdGhFeHByAD9lc3Npb24BDAACAQwA\ +AR92YWx1ZQEQ/6x1vnFHi4OxAAABARAAAf9sb29rdXBNbwADZGUBD/8l9HLgtUlQ2gAAAQEPAAH/Y29tcGxldGUA\ +D1doZW4BD//57VWsOqUt3QAAAQUPAQABP2NsaWVudAENAAIBDQAAEQECMQGKAv96aGluc3QvaQlvL3Byb3RvY29s\ +L2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBucDpTZXNzaW9uLnNldFZhbHVlJFJlc3VsdHMAABEB\ +P1EEAwQAAAQBAAARDToAAFEIAwFRbAIBP3Jlc3VsdAEOAAFQAwEBEP89MjQZPvOwugAAAEABEQEfUQQCAf89MjQZ\ +PvOwugAAABEBJ1EIAQEBAVEIAwEBAVEQAwEBEP/cfINuN+4I9AAAAQEQ/9kRfVFMTuPEAAABAQ4AATEBggL/emhp\ +bnN0L2kJby9wcm90b2NvbC9jYXBucC9zZXNzaW9uL3Nlc3Npb25fcHJvdG9jb2wuY2FwbnA6U2Vzc2lvbi5nZXRW\ +YWx1ZSRQYXJhbXMAEQHnURADBAAABAEAABFhegAAUWADAVFsAgEBARQBAQEBEWlaAABRaAMBUXQCARECARQBAgEB\ +EXEyAABRbAMBUXgCAREDARQBAwEBEXU6AABRcAMBUXwCAf9wYXRoRXhwcgA/ZXNzaW9uAQwAAgEMAAH/bG9va3Vw\ +TW8AA2RlAQ//JfRy4LVJUNoAAAEBDwABH2ZsYWdzAQgAAgEIAAE/Y2xpZW50AQ0AAgENAAARAQIxAYoC/3poaW5z\ +dC9pCW8vcHJvdG9jb2wvY2FwbnAvc2Vzc2lvbi9zZXNzaW9uX3Byb3RvY29sLmNhcG5wOlNlc3Npb24uZ2V0VmFs\ +dWUkUmVzdWx0cwAAEQE/UQQDBAAABAEAABENOgAAUQgDAVFsAgE/cmVzdWx0AQ4AAVADAQEQ/z0yNBk+87C6AAAA\ +QAERAR9RBAIB/z0yNBk+87C6AAAAEQEnUQgBAQEBUQgDAQEBURADAQEQ/9x8g2437gj0AAABARD/2RF9UUxO48QA\ +AAEBDgABMQFyAv96aGluc3QvaQhvL3Byb3RvY29sL2NhcG5wL3Nlc3Npb24vc2Vzc2lvbl9wcm90b2NvbC5jYXBu\ +cDpTZXNzaW9uLmNhbmNlbCRQH2FyYW1zEQE/UQQDBAAABAEAABENOgAAUQgDAVEUAgE/Y2xpZW50AQ0AAgENAAEx\ +ASIC/3poaW5zdC9pB28vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOkFubm90YXRlZFZhbHVlLk1l\ +dGFkB2F0YREBB1ABAREBd1EIAwQAAAQBAAARKVIAAFEoAwFRNAIBAQEUAQEAABExKgAAUSwDAVE4AgH/dGltZXN0\ +YW0AAXABCQACAQkAAQ9wYXRoAQwAAgEMAAExAbIB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL2Nv\ +bXBsZXguY2FwbnA6Q28fbXBsZXgRAQdQAQERAXdRCAMEAAAEAQAAESkqAABRJAMBUTACAREBARQBAQAAES0qAABR\ +KAMBUTQCAQ9yZWFsAQsAAgELAAEPaW1hZwELAAIBCwABMQG6Af96aGluc3QvaQVvL3Byb3RvY29sL2NhcG5wL2Nv\ +bW1vbi92YWx1ZS5jYXBucDpWZWN0P29yRGF0YREBB1ABAREB51EQAwQAAAQBAAARYVIAAFFgAwFRbAIBEQECFAEB\ +AAARaZIAAFFsAwFReAIBEQIBFAECAAARdYIAAFF0AwFRgAIBAQMUAQMAABF9KgAAUXgDAVGEAgH/dmFsdWVUeXAA\ +AWUBBwACAQcAAf92ZWN0b3JFbAFlbWVudFR5cAFlAQYAAgEGAAH/ZXh0cmFIZWEBZGVySW5mbwABCAACAQgAAQ9k\ +YXRhAQ0AAgENAAExAbIB/3poaW5zdC9pBW8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOkNudFMf\ +YW1wbGURAQdQAQERAa9RDAMEAAAEAQAAEUVSAABRRAMBUVACAREBAhQBAQAAEU1CAABRSAMBUVQCARECAxQBAgAA\ +EVFCAABRTAMBUVgCAf90aW1lc3RhbQABcAEJAAIBCQABf2NvdW50ZXIBBAACAQQAAX90cmlnZ2VyAQgAAgEIAAEx\ +AdIB/3poaW5zdC9pBm8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3ZhbHVlLmNhcG5wOlRyaWdnZXJTYW1wbAFlEQEH\ +UAEBMQGPAVEcAwQAAAQBAAARtVIAAFG0AwFRwAIBEQEBFAEBAAARvVoAAFG8AwFRyAIBEQIEFAECAAARxUIAAFHA\ +AwFRzAIBEQMFFAEDAAARyXoAAFHIAwFR1AIBEQQGFAEEAAAR0VoAAFHQAwFR3AIBEQUHFAEFAAAR2SIAAFHUAwFR\ +4AIBEQYIFAEGAAAR3XIAAFHcAwFR6AIB/3RpbWVzdGFtAAFwAQkAAgEJAAH/c2FtcGxlVGkAA2NrAQkAAgEJAAF/\ +dHJpZ2dlcgEIAAIBCAAB/21pc3NlZFRyAD9pZ2dlcnMBCAACAQgAAf9hd2dUcmlnZwADZXIBCAACAQgAAQdkaW8B\ +CAACAQgAAf9zZXF1ZW5jZQAfSW5kZXgBCAACAQgAATEBWgL/emhpbnN0L2kIby9wcm90b2NvbC9jYXBucC9jb21t\ +b24vc2hmX3ZlY3RvcnMuY2FwbnA6U2hmRGVtb2R1bGF0b3JWZWN0b3JEYQN0YREBB1ABAREBr1EMAwQAAAEB/w0w\ +XKJseHXUABFFWgACAQEUAQ0AABExEgAAUSwDAVFIAgERAgEUAQ4AABFFEgAAUUADAVFcAgH/cHJvcGVydGkAA2Vz\ +AXgBDgABUAMBAQsAAgEOAAEBeQEOAAFQAwEBCwACAQ4AATEBYgL/emhpbnN0L2kIby9wcm90b2NvbC9jYXBucC9j\ +b21tb24vc2hmX3ZlY3RvcnMuY2FwbnA6U2hmUmVzdWx0TG9nZ2VyVmVjdG9yRAdhdGERAQdQAQERAXdRCAMEAAAB\ +Af9e7A7qIbS33QARKVoAAgEBAQH/Et+bRLVoC5gAERU6AAL/cHJvcGVydGkAA2VzP3ZlY3RvcjEB4gH/emhpbnN0\ +L2kGby9wcm90b2NvbC9jYXBucC9jb21tb24vdmFsdWUuY2FwbnA6TGFyZ2VWZWN0b3JEB2F0YREBB1ABAREB51EQ\ +AwQAAAQBAAARYVIAAFFgAwFRbAIBEQECFAEBAAARaZIAAFFsAwFReAIBEQIBFAECAAARdYIAAFF0AwFRgAIBAQMU\ +AQMAABF9agAAUXwDAVGYAgH/dmFsdWVUeXAAAWUBBwACAQcAAf92ZWN0b3JFbAFlbWVudFR5cAFlAQYAAgEGAAH/\ +ZXh0cmFIZWEBZGVySW5mbwABCAACAQgAAf9kYXRhU2VnbQAPZW50cwEOAAFQAwEBDQACAQ4AATEBKgL/emhpbnN0\ +L2kHby9wcm90b2NvbC9jYXBucC9jb21tb24vc2hmX3ZlY3RvcnMuY2FwbnA6U2hmU2NvcGVWZWN0b3IPRGF0YREB\ +B1ABAREBd1EIAwQAAAEB/ySJYPl2uAfXABEpWgACAQEBAf+8FI6Mh6sK0QARFToAAv9wcm9wZXJ0aQADZXM/dmVj\ +dG9yMQGKAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZfdmVjdG9ycy5jYXBucDpTaGZHZW5l\ +cmF0b3JXYXZlZm9ybVZlY3RvckRhdGEAABEBB1ABAREBP1EEAwQAAAQBAAARDUIAAFEIAwFRJAIBf2NvbXBsZXgB\ +DgABUAMBARD/V7G0l6+v8aoAAAEBDgABMQEaAv96aGluc3QvaQdvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZf\ +dmVjdG9ycy5jYXBucDpTaGZQaWRWZWN0b3JEYQN0YREBB1ABAREBr1EMAwQAAAEB/0RVmXcGneCbABFFWgACAQEU\ +AQ0AABExMgAAUSwDAVFIAgERAgEUAQ4AABFFMgAAUUADAVFcAgH/cHJvcGVydGkAA2VzH3ZhbHVlAQ4AAVADAQEL\ +AAIBDgABH2Vycm9yAQ4AAVADAQELAAIBDgABMQGyAf96aGluc3QvaQVvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9l\ +cnJvci5jYXBucDpFcnJvH3JLaW5kEQEHUAEBEQH3USgBAgAAEXEaAAABARFpUgAAAQIRZUIAAAEDEV1KAAABBBFZ\ +YgAAAQURVVoAAAEGEVFyAAABBxFNSgAAAQgRSWIAAAEJEUVCAAADb2v/Y2FuY2VsbGUAAWR/dW5rbm93bv9ub3RG\ +b3VuZAAAAP9vdmVyd2hlbAAHbWVk/2JhZFJlcXVlAANzdP91bmltcGxlbQAfZW50ZWT/aW50ZXJuYWwAAAD/dW5h\ +dmFpbGEAB2JsZX90aW1lb3V0MQGyAv96aGluc3QvaQlvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZfdmVjdG9y\ +cy5jYXBucDpTaGZEZW1vZHVsYXRvclZlY3RvckRhdGEucHJvcGUfcnRpZXMxAd8CUTQDBAAABAEAABNdAVIAAFNc\ +AQMBU2gBAgERAQEUAQEAABNlARoAAFNgAQMBU2wBAgERAgQUAQIAABNpAWIAAFNoAQMBU3QBAgERAwUUAQMAABNx\ +AWIAAFNwAQMBU3wBAgERBAYUAQQAABN5AWoAAFN4AQMBU4QBAgERBQQUAQUAABOBAYoAAFOEAQMBU5ABAgERBgUU\ +AQYAABONAVoAAFOMAQMBU5gBAgERB+AUAQcAABOVAToAAFOQAQMBU5wBAgERCA8UAQgAABOZAYoAAFOcAQMBU6gB\ +AgERCRgUAQkAABOlAUoAAFOkAQMBU7ABAgERCh0UAQoAABOtAXIAAFOsAQMBU7gBAgERCxkUAQsAABO1AWoAAFO0\ +AQMBU8ABAgERDAcUAQwAABO9AXoAAFO8AQMBU8gBAgH/dGltZXN0YW0AAXABCQACAQkAAQNkdAEJAAIBCQAB/2J1\ +cnN0TGVuAAdndGgBCAACAQgAAf9idXJzdE9mZgAHc2V0AQgAAgEIAAH/dHJpZ2dlckkAD25kZXgBCAACAQgAAf90\ +cmlnZ2VyVAFpbWVzdGFtcAAAAQkAAgEJAAH/Y2VudGVyRnIAA2VxAQsAAgELAAE/cmZQYXRoAQEAAgEBAAH/b3Nj\ +aWxsYXQBb3JTb3VyY2UAAAEHAAIBBwAB/2hhcm1vbmljAAAAAQcAAgEHAAH/dHJpZ2dlclMAH291cmNlAQYAAgEG\ +AAH/c2lnbmFsU28AD3VyY2UBBwACAQcAAf9vc2NpbGxhdAA/b3JGcmVxAQsAAgELAAExAboC/3poaW5zdC9pCW8v\ +cHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNoZlJlc3VsdExvZ2dlclZlY3RvckRhdGEu\ +cHJvcD9lcnRpZXMxARcDUTgDBAAABAEAABN5AVIAAFN4AQMBU4QBAgERAQIUAQEAABOBATIAAFN8AQMBU4gBAgER\ +AgMUAQIAABOFAWoAAFOEAQMBU5ABAgERAwIUAQMAABONAUIAAFOIAQMBU5QBAgERBAMUAQQAABORAYIAAFOQAQMB\ +U5wBAgERBQgUAQUAABOZAVoAAFOYAQMBU6QBAgERBgkUAQYAABOhAVoAAFOgAQMBU6wBAgERBwoUAQcAABOpAYoA\ +AFOsAQMBU7gBAgERCAsUAQgAABO1AWIAAFO0AQMBU8ABAgERCQwUAQkAABO9AWIAAFO8AQMBU8gBAgERChoUAQoA\ +ABPFAaIAAFPIAQMBU9QBAgERCxsUAQsAABPRAaoAAFPUAQMBU+ABAgERDBwUAQwAABPdAaIAAFPgAQMBU+wBAgER\ +DQgUAQ0AABPpAaoAAFPsAQMBU/gBAgH/dGltZXN0YW0AAXABCQACAQkAAR9qb2JJZAEIAAIBCAAB/3JlcGV0aXRp\ +AA9vbklkAQgAAgEIAAF/c2NhbGluZwELAAIBCwAB/2NlbnRlckZyAWVxdWVuY3kAAQsAAgELAAH/ZGF0YVNvdXIA\ +A2NlAQgAAgEIAAH/bnVtU2FtcGwAA2VzAQgAAgEIAAH/bnVtU3BlY3QBclNhbXBsZXMAAAEIAAIBCAAB/251bUF2\ +ZXJhAAdnZXMBCAACAQgAAf9udW1BY3F1aQAHcmVkAQgAAgEIAAH/aG9sZG9mZkUBcnJvcnNSZXMHbG9nAQcAAgEH\ +AAH/aG9sZG9mZkUBcnJvcnNSZWEPZG91dAEHAAIBBwAB/2hvbGRvZmZFAXJyb3JzU3BlB2N0cgEHAAIBBwAB/2Zp\ +cnN0U2FtAXBsZVRpbWVzD3RhbXABCQACAQkAATEBmgL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9jb21tb24v\ +c2hmX3ZlY3RvcnMuY2FwbnA6U2hmUmVzdWx0TG9nZ2VyVmVjdG9yRGF0YS52ZWN0A29yEQF3UQgDBAz//xQBDgAA\ +ESkqAABRJAMBUUACAQ0B/v8UAQ8AABE9QgAAUTgDAVFUAgEPcmVhbAEOAAFQAwEBCwACAQ4AAX9jb21wbGV4AQ4A\ +AVADAQEQ/1extJevr/GqAAABAQ4AATEBggL/emhpbnN0L2kJby9wcm90b2NvbC9jYXBucC9jb21tb24vc2hmX3Zl\ +Y3RvcnMuY2FwbnA6U2hmU2NvcGVWZWN0b3JEYXRhLnByb3BlcnRpZXMAMQGnAlEwAwQAAAQBAAATQQFSAABTQAED\ +AVNMAQIBEQECFAEBAAATSQFyAABTSAEDAVNUAQIBEQIDFAECAAATUQEyAABTTAEDAVNYAQIBEQMCFAEDAAATVQFC\ +AABTUAEDAVNcAQIBEQQDFAEEAAATWQGCAABTWAEDAVNkAQIBEQUEFAEFAAATYQGKAABTZAEDAVNwAQIBEQYKFAEG\ +AAATbQFiAABTbAEDAVN4AQIBEQcLFAEHAAATdQFqAABTdAEDAVOAAQIBEQgMFAEIAAATfQFiAABTfAEDAVOIAQIB\ +EQkNFAEJAAAThQGKAABTiAEDAVOUAQIBEQoOFAEKAAATkQGSAABTlAEDAVOgAQIBEQsPFAELAAATnQGSAABToAED\ +AVOsAQIB/3RpbWVzdGFtAAFwAQkAAgEJAAH/dGltZXN0YW0AH3BEaWZmAQgAAgEIAAEfZmxhZ3MBCAACAQgAAX9z\ +Y2FsaW5nAQsAAgELAAH/Y2VudGVyRnIBZXF1ZW5jeQABCwACAQsAAf90cmlnZ2VyVAFpbWVzdGFtcAAAAQkAAgEJ\ +AAH/aW5wdXRTZWwAB2VjdAEIAAIBCAAB/2F2ZXJhZ2VDAA9vdW50AQgAAgEIAAH/bnVtU2VnbWUAB250cwEIAAIB\ +CAAB/251bVRvdGFsAVNlZ21lbnRzAAABCAACAQgAAf9maXJzdFNlZwFtZW50SW5kZQF4AQgAAgEIAAH/bnVtTWlz\ +c2UBZFRyaWdnZXIBcwEIAAIBCAABMQFiAv96aGluc3QvaQhvL3Byb3RvY29sL2NhcG5wL2NvbW1vbi9zaGZfdmVj\ +dG9ycy5jYXBucDpTaGZTY29wZVZlY3RvckRhdGEudmVjB3RvchEBd1EIAwQM//8UAQwAABEpKgAAUSQDAVFAAgEN\ +Af7/FAENAAARPUIAAFE4AwFRVAIBD3JlYWwBDgABUAMBAQsAAgEOAAF/Y29tcGxleAEOAAFQAwEBEP9XsbSXr6/x\ +qgAAAQEOAAExAXIC/3poaW5zdC9pCG8vcHJvdG9jb2wvY2FwbnAvY29tbW9uL3NoZl92ZWN0b3JzLmNhcG5wOlNo\ +ZlBpZFZlY3RvckRhdGEucHJvcGUfcnRpZXMxAd8CUTQDBAAABAEAABNdAVIAAFNcAQMBU2gBAgERAQEUAQEAABNl\ +AXIAAFNkAQMBU3ABAgERAgQUAQIAABNtAWIAAFNsAQMBU3gBAgERAwUUAQMAABN1AWIAAFN0AQMBU4ABAgERBAYU\ +AQQAABN9AWoAAFN8AQMBU4gBAgERBQQUAQUAABOFAYoAAFOIAQMBU5QBAgERBgUUAQYAABORAWIAAFOQAQMBU5wB\ +AgERBxwUAQcAABOZAWoAAFOYAQMBU6QBAgERCB0UAQgAABOhATIAAFOcAQMBU6gBAgERCR4UAQkAABOlAXIAAFOk\ +AQMBU7ABAgERCh8UAQoAABOtAToAAFOoAQMBU7QBAgERCzAUAQsAABOxAVoAAFOwAQMBU7wBAgERDAcUAQwAABO5\ +AUoAAFO4AQMBU8QBAgH/dGltZXN0YW0AAXABCQACAQkAAf90aW1lc3RhbQAfcERpZmYBCQACAQkAAf9idXJzdExl\ +bgAHZ3RoAQgAAgEIAAH/YnVyc3RPZmYAB3NldAEIAAIBCAAB/3RyaWdnZXJJAA9uZGV4AQgAAgEIAAH/dHJpZ2dl\ +clQBaW1lc3RhbXAAAAEJAAIBCQAB/2NlbnRlclBvAAdpbnQBCwACAQsAAf9pbnB1dENoYQAPbm5lbAEGAAIBBgAB\ +H2lucHV0AQYAAgEGAAH/b3V0cHV0Q2gAH2FubmVsAQYAAgEGAAE/b3V0cHV0AQYAAgEGAAH/dHJpZ2dlclMAA3Jj\ +AQYAAgEGAAH/c2V0UG9pbnQAAAABCwACAQsAATEBGgL/emhpbnN0L2kHby9wcm90b2NvbC9jYXBucC9zdHJlYW1p\ +bmcvc3RyZWFtaW5nLmNhcG5wOlN0cmVhbWluZ0hhbmQDbGURAQdQAQERAUdRBAMFAAD/tkd8lg+tC6MBbrHAdzOa\ +X5kREVoAAhEJB/9zZW5kVmFsdQADZXNAAREBB1ABATEBogH/emhpbnN0L2kFby9wcm90b2NvbC9jYXBucC9jb21t\ +b24va3dhcmdzLmNhcG5wOkt3YQdyZ3MRARdRBAEB/1Ml3NNvTmSiABEBMh9FbnRyeREBP1EEAwQAAAQBAAARDUIA\ +AFEIAwFRJAIBf2VudHJpZXMBDgABUAMBARD/UyXc029OZKIAAAEBDgABMQGqAv96aGluc3QvaQlvL3Byb3RvY29s\ +L2NhcG5wL3N0cmVhbWluZy9zdHJlYW1pbmcuY2FwbnA6U3RyZWFtaW5nSGFuZGxlLnNlbmRWYWx1ZXMkUGEPcmFt\ +cxEBP1EEAwQAAAQBAAARDToAAFEIAwFRJAIBP3ZhbHVlcwEOAAFQAwEBEP/cfINuN+4I9AAAAQEOAAExAQIB/2Nh\ +cG5wL3N0A3JlYW0uY2FwbnA6U3RyZWFtUmVzdWx0ABEBB1ABATEB0gH/emhpbnN0L2kGby9wcm90b2NvbC9jYXBu\ +cC9jb21tb24va3dhcmdzLmNhcG5wOkt3YXJncy5FbnRyAXkRAQdQAQERAXdRCAMEAAAEAQAAESkiAABRJAMBUTAC\ +AREBARQBAQEBES0yAABRKAMBUTQCAQdrZXkBDAACAQwAAR92YWx1ZQEQ/6x1vnFHi4OxAAABARAAAFACAQAAAQcP\ +/P///w==" _SCHEMA_LOADER = None @@ -1002,7 +1011,10 @@ def init_unconstrained(self, **kwarg) -> CapnpTypeAnyPointerUnconstrained: # ty def init_parameter(self, **kwarg) -> CapnpTypeAnyPointerParameter: # type: ignore[valid-type] return super().init_struct("parameter", **kwarg) # type: ignore[return-value] - def init_implicitMethodParameter(self, **kwarg) -> CapnpTypeAnyPointerImplicitMethodParameter: # type: ignore[valid-type] + def init_implicitMethodParameter( + self, + **kwarg, + ) -> CapnpTypeAnyPointerImplicitMethodParameter: # type: ignore[valid-type] return super().init_struct("implicitMethodParameter", **kwarg) # type: ignore[return-value] @@ -1225,10 +1237,14 @@ class Subscription(zhinst.comms.DynamicStruct): path: str streamingHandle: t.Any subscriberId: bytes + kwargs: Kwargs def __init__(self, **kwargs): super().__init__(get_schema_loader(), self.capnp_id, **kwargs) + def init_kwargs(self, **kwarg) -> Kwargs: # type: ignore[valid-type] + return super().init_struct("kwargs", **kwarg) # type: ignore[return-value] + class SessionSubscribeParams(zhinst.comms.DynamicStruct): capnp_id = 0xB9B18BE9AFB1B3E4 @@ -1647,11 +1663,20 @@ class ShfPidVectorDataProperties(zhinst.comms.DynamicStruct): outputChannel: int # uint8 output: int # uint8 triggerSrc: int # uint8 - scaleValue: float # float64 - scaleError: float # float64 setPoint: float # float64 +class Kwargs(zhinst.comms.DynamicStruct): + capnp_id = 0x8F25CE07A664CEE0 + entries: list[KwargsEntry] + + def __init__(self, **kwargs): + super().__init__(get_schema_loader(), self.capnp_id, **kwargs) + + def init_entries(self, size: int) -> list[KwargsEntry]: # type: ignore[valid-type] + return super().init_list("entries", size) # type: ignore[return-value] + + class StreamingHandleSendValuesParams(zhinst.comms.DynamicStruct): capnp_id = 0xA30BAD0F967C47B6 values: list[AnnotatedValue] @@ -1668,3 +1693,15 @@ class CapnpStreamResult(zhinst.comms.DynamicStruct): def __init__(self, **kwargs): super().__init__(get_schema_loader(), self.capnp_id, **kwargs) + + +class KwargsEntry(zhinst.comms.DynamicStruct): + capnp_id = 0xA2644E6FD3DC2553 + key: str + value: Value + + def __init__(self, **kwargs): + super().__init__(get_schema_loader(), self.capnp_id, **kwargs) + + def init_value(self, **kwarg) -> Value: # type: ignore[valid-type] + return super().init_struct("value", **kwarg) # type: ignore[return-value] diff --git a/src/labone/core/session.py b/src/labone/core/session.py index dcf93a6..0425a7f 100644 --- a/src/labone/core/session.py +++ b/src/labone/core/session.py @@ -755,6 +755,7 @@ async def subscribe( queue_type: None = None, parser_callback: t.Callable[[AnnotatedValue], AnnotatedValue] | None = None, get_initial_value: bool = False, + **kwargs, ) -> DataQueue: ... @t.overload @@ -765,6 +766,7 @@ async def subscribe( queue_type: type[QueueProtocol], parser_callback: t.Callable[[AnnotatedValue], AnnotatedValue] | None = None, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol: ... @async_translate_comms_error @@ -775,6 +777,7 @@ async def subscribe( queue_type: type[QueueProtocol] | None = None, parser_callback: t.Callable[[AnnotatedValue], AnnotatedValue] | None = None, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol | DataQueue: """Register a new subscription to a node. @@ -810,6 +813,8 @@ async def subscribe( the default DataQueue class is used. (default=None) get_initial_value: If True, the initial value of the node is is placed in the queue. (default=False) + kwargs: extra keyword arguments which are passed to the data-server + to further configure the subscription. Returns: An instance of the DataQueue class. This async queue will receive @@ -834,6 +839,18 @@ async def subscribe( streaming_handle.capnp_callback, ), "subscriberId": self._client_id.bytes, + "kwargs": { + "entries": [ + { + "key": k, + "value": value_from_python_types( + v, + capability_version=self._capability_version, + ), + } + for k, v in kwargs.items() + ], + }, } if get_initial_value: _, initial_value = await asyncio.gather( diff --git a/src/labone/nodetree/node.py b/src/labone/nodetree/node.py index 62ecf40..739f5f2 100644 --- a/src/labone/nodetree/node.py +++ b/src/labone/nodetree/node.py @@ -1013,22 +1013,29 @@ async def wait_for_state_change( ... @t.overload - async def subscribe(self, *, get_initial_value: bool = False) -> DataQueue: ... + async def subscribe( + self, + *, + get_initial_value: bool = False, + **kwargs, + ) -> DataQueue: ... @t.overload async def subscribe( self, - *, queue_type: type[QueueProtocol], + *, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol: ... @abstractmethod async def subscribe( self, - *, queue_type: type[QueueProtocol] | None = None, + *, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol | DataQueue: """Subscribe to a node. @@ -1060,6 +1067,8 @@ async def subscribe( the default DataQueue class is used. (default=None) get_initial_value: If True, the initial value of the node is is placed in the queue. (default=False) + kwargs: extra keyword arguments which are passed to the data-server + to further configure the subscription. Returns: A DataQueue, which can be used to receive any changes to the node in a @@ -1155,21 +1164,28 @@ def try_generate_subnode( raise LabOneInvalidPathError(msg) @t.overload - async def subscribe(self, *, get_initial_value: bool = False) -> DataQueue: ... + async def subscribe( + self, + *, + get_initial_value: bool = False, + **kwargs, + ) -> DataQueue: ... @t.overload async def subscribe( self, - *, queue_type: type[QueueProtocol], + *, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol: ... async def subscribe( self, - *, queue_type: type[QueueProtocol] | None = None, + *, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol | DataQueue: """Subscribe to a node. @@ -1200,6 +1216,9 @@ async def subscribe( get_initial_value: If True, the initial value of the node is is placed in the queue. (default=False) + kwargs: extra keyword arguments which are passed to the data-server + to further configure the subscription. + Returns: A DataQueue, which can be used to receive any changes to the node in a flexible manner. @@ -1209,6 +1228,7 @@ async def subscribe( parser_callback=self._tree_manager.parser, queue_type=queue_type or DataQueue, get_initial_value=get_initial_value, + **kwargs, ) async def wait_for_state_change( @@ -1340,21 +1360,24 @@ async def subscribe( self, *, get_initial_value: bool = False, + **kwargs, ) -> DataQueue: ... @t.overload async def subscribe( self, - *, queue_type: type[QueueProtocol], + *, get_initial_value: bool = False, + **kwargs, ) -> QueueProtocol: ... async def subscribe( self, - *, queue_type: type[QueueProtocol] | None = None, # noqa: ARG002 + *, get_initial_value: bool = False, # noqa: ARG002 + **kwargs, # noqa: ARG002 ) -> QueueProtocol | DataQueue: """Subscribe to a node.