From 505bb75ffe6320d6262b5db393866e7164d8fbfb Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Fri, 10 Jul 2020 17:10:28 +0500 Subject: [PATCH 001/118] :tada::one::two: Sync Studio --- sync/README.rst | 105 +++ sync/__init__.py | 6 + sync/__manifest__.py | 45 + sync/controllers/__init__.py | 3 + sync/controllers/webhook.py | 23 + sync/data/sync_project_odoo2odoo_demo.xml | 171 ++++ sync/data/sync_project_telegram_demo.xml | 178 ++++ sync/data/sync_project_trello_github_demo.xml | 811 ++++++++++++++++++ sync/data/sync_project_unittest_demo.xml | 34 + sync/doc/changelog.rst | 4 + sync/doc/index.rst | 669 +++++++++++++++ sync/models/__init__.py | 14 + sync/models/base.py | 16 + sync/models/ir_actions.py | 13 + sync/models/ir_logging.py | 40 + sync/models/sync_job.py | 135 +++ sync/models/sync_link.py | 261 ++++++ sync/models/sync_project.py | 314 +++++++ sync/models/sync_task.py | 167 ++++ sync/models/sync_trigger_automation.py | 44 + sync/models/sync_trigger_button.py | 34 + sync/models/sync_trigger_cron.py | 64 ++ sync/models/sync_trigger_mixin.py | 70 ++ sync/models/sync_trigger_webhook.py | 98 +++ sync/security/ir.model.access.csv | 29 + sync/security/sync_groups.xml | 37 + sync/static/description/icon.png | Bin 0 -> 3035 bytes sync/static/description/index.html | 113 +++ sync/static/description/project-tasks.png | Bin 0 -> 113586 bytes sync/static/description/task-code.png | Bin 0 -> 107933 bytes sync/tests/__init__.py | 5 + sync/tests/test_eval.py | 167 ++++ sync/tests/test_links.py | 199 +++++ sync/tests/test_trigger_db.py | 33 + sync/tools/__init__.py | 3 + sync/tools/safe_eval.py | 158 ++++ sync/views/ir_logging_views.xml | 144 ++++ sync/views/sync_job_views.xml | 175 ++++ sync/views/sync_link_views.xml | 90 ++ sync/views/sync_menus.xml | 6 + sync/views/sync_project_views.xml | 300 +++++++ sync/views/sync_task_views.xml | 187 ++++ sync/views/sync_trigger_automation_views.xml | 100 +++ sync/views/sync_trigger_button_views.xml | 34 + sync/views/sync_trigger_cron_views.xml | 92 ++ sync/views/sync_trigger_webhook_views.xml | 42 + sync/wizard/__init__.py | 3 + sync/wizard/sync_make_module.py | 201 +++++ sync/wizard/sync_make_module_views.xml | 106 +++ 49 files changed, 5543 insertions(+) create mode 100644 sync/README.rst create mode 100644 sync/__init__.py create mode 100644 sync/__manifest__.py create mode 100644 sync/controllers/__init__.py create mode 100644 sync/controllers/webhook.py create mode 100644 sync/data/sync_project_odoo2odoo_demo.xml create mode 100644 sync/data/sync_project_telegram_demo.xml create mode 100644 sync/data/sync_project_trello_github_demo.xml create mode 100644 sync/data/sync_project_unittest_demo.xml create mode 100644 sync/doc/changelog.rst create mode 100644 sync/doc/index.rst create mode 100644 sync/models/__init__.py create mode 100644 sync/models/base.py create mode 100644 sync/models/ir_actions.py create mode 100644 sync/models/ir_logging.py create mode 100644 sync/models/sync_job.py create mode 100644 sync/models/sync_link.py create mode 100644 sync/models/sync_project.py create mode 100644 sync/models/sync_task.py create mode 100644 sync/models/sync_trigger_automation.py create mode 100644 sync/models/sync_trigger_button.py create mode 100644 sync/models/sync_trigger_cron.py create mode 100644 sync/models/sync_trigger_mixin.py create mode 100644 sync/models/sync_trigger_webhook.py create mode 100644 sync/security/ir.model.access.csv create mode 100644 sync/security/sync_groups.xml create mode 100644 sync/static/description/icon.png create mode 100644 sync/static/description/index.html create mode 100644 sync/static/description/project-tasks.png create mode 100644 sync/static/description/task-code.png create mode 100644 sync/tests/__init__.py create mode 100644 sync/tests/test_eval.py create mode 100644 sync/tests/test_links.py create mode 100644 sync/tests/test_trigger_db.py create mode 100644 sync/tools/__init__.py create mode 100644 sync/tools/safe_eval.py create mode 100644 sync/views/ir_logging_views.xml create mode 100644 sync/views/sync_job_views.xml create mode 100644 sync/views/sync_link_views.xml create mode 100644 sync/views/sync_menus.xml create mode 100644 sync/views/sync_project_views.xml create mode 100644 sync/views/sync_task_views.xml create mode 100644 sync/views/sync_trigger_automation_views.xml create mode 100644 sync/views/sync_trigger_button_views.xml create mode 100644 sync/views/sync_trigger_cron_views.xml create mode 100644 sync/views/sync_trigger_webhook_views.xml create mode 100644 sync/wizard/__init__.py create mode 100644 sync/wizard/sync_make_module.py create mode 100644 sync/wizard/sync_make_module_views.xml diff --git a/sync/README.rst b/sync/README.rst new file mode 100644 index 00000000..0ffa2219 --- /dev/null +++ b/sync/README.rst @@ -0,0 +1,105 @@ +.. image:: https://img.shields.io/badge/license-MIT-blue.svg + :target: https://opensource.org/licenses/MIT + :alt: License: MIT + +============= + Sync Studio +============= + +Synchronize anything with anything: + +* System X ↔ Odoo +* Odoo 1 ↔ Odoo 2 +* System X ↔ System Y + +Provides a single place to handle synchronization trigered by one of the following events: + +* **Cron** -- provided by ``ir.cron`` +* **DB Event** -- provided by ``base.automation`` +* **Incoming webhook** -- provided by ``ir.actions.server::website_published`` (search for ``/website/action`` in ``website`` module) +* **Manual Triggering** -- provided by ``ir.actions.server``. User needs to click a button to run this action + +Difference with built-in code evaluation: + +* Allows to add extra imports to eval context +* Allows to use json format for incomming webhooks +* Provides helpers for resource linking. See *Links* section in ``__ +* Uses queue_job module as a job broker +* Asynchronous calls to split big task into few small ones +* Allows repeat job on temporary fails (e.g. when external API is not available) + +Roadmap +======= + +* Code widget: show line numbers +* Webhooks: add a possibility to retry failed webhook (e.g. to debug code) + +Developer Hints +=============== + +Public webhook address +---------------------- + +If you run Odoo locally and need to test webhook, you can use ssh tunneling: + +* Connect your server: + + * Edit file ``/etc/ssh/ssd_config``: + + * Find ``GatewayPorts`` attribute and set value to ``yes`` + + * Restart ssh daemon:: + + service ssh restart + +* Connect to your server with ``-R`` attribute:: + + ssh user@yourserver.example -R 0.0.0.0:8069:localhost:8069 + +Now you can set ``http://yourserver.example:8069`` as a value for ``web.base.url`` in Odoo (menu ``[[ Settings ]] >> System Parameters``). Also, you need to set any value to parameter `web.base.url.freeze `__ + +Few more steps requires to use https connection (e.g. telegram api works with https only). In your server do as following: + +* Install nginx in your server +* Add nginx config:: + + server { + listen 80; + server_name yourserver.example; + location / { + proxy_set_header Host $host; + proxy_pass http://localhost:8069; + } + } + +* Install `certbot `__ +* Run + :: + + sudo certbot --nginx + +* Done! + +Now set corresponding ``https://...`` value for ``web.base.url`` parameter. + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__: + + * :one::zero: init version of the module + +Further information +=================== + +HTML Description: https://apps.odoo.com/apps/modules/12.0/sync/ + +Usage instructions: ``__ + +Changelog: ``_ + +Notifications on updates: `via Atom `_, `by Email `_ + +Tested on Odoo 12.0 3fbfa87df85d6463dfcba47416f360fcdef4448e diff --git a/sync/__init__.py b/sync/__init__.py new file mode 100644 index 00000000..f320a03a --- /dev/null +++ b/sync/__init__.py @@ -0,0 +1,6 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import models +from . import wizard +from . import tools +from . import controllers diff --git a/sync/__manifest__.py b/sync/__manifest__.py new file mode 100644 index 00000000..94b6e5e9 --- /dev/null +++ b/sync/__manifest__.py @@ -0,0 +1,45 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +{ + "name": """Sync Studio""", + "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY""", + "category": "Extra Tools", + "images": [], + "version": "12.0.1.0.0", + "application": True, + "author": "IT-Projects LLC, Ivan Yelizariev", + "support": "apps@it-projects.info", + "website": "https://github.com/itpp-labs/sync-addons", + "license": "Other OSI approved licence", # MIT + "depends": ["base_automation", "mail", "website", "queue_job"], + "external_dependencies": {"python": [], "bin": []}, + "data": [ + "security/sync_groups.xml", + "security/ir.model.access.csv", + "views/sync_menus.xml", + "views/ir_logging_views.xml", + "views/sync_job_views.xml", + "views/sync_trigger_cron_views.xml", + "views/sync_trigger_automation_views.xml", + "views/sync_trigger_webhook_views.xml", + "views/sync_trigger_button_views.xml", + "views/sync_task_views.xml", + "views/sync_project_views.xml", + "views/sync_link_views.xml", + "wizard/sync_make_module_views.xml", + ], + "demo": [ + "data/sync_project_telegram_demo.xml", + "data/sync_project_odoo2odoo_demo.xml", + "data/sync_project_trello_github_demo.xml", + "data/sync_project_unittest_demo.xml", + ], + "qweb": [], + "post_load": None, + "pre_init_hook": None, + "post_init_hook": None, + "uninstall_hook": None, + "auto_install": False, + "installable": True, +} diff --git a/sync/controllers/__init__.py b/sync/controllers/__init__.py new file mode 100644 index 00000000..9e73463c --- /dev/null +++ b/sync/controllers/__init__.py @@ -0,0 +1,3 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import webhook diff --git a/sync/controllers/webhook.py b/sync/controllers/webhook.py new file mode 100644 index 00000000..b2913536 --- /dev/null +++ b/sync/controllers/webhook.py @@ -0,0 +1,23 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import http + +from odoo.addons.website.controllers.main import Website + + +class Webhook(http.Controller): + @http.route( + [ + "/website/action-json/", + "/website/action-json//", + ], + type="json", + # type="http", + auth="public", + website=True, + csrf=False, + ) + def actions_server(self, path_or_xml_id_or_id, **post): + res = Website().actions_server(path_or_xml_id_or_id, **post) + return res.data diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml new file mode 100644 index 00000000..aaf54d96 --- /dev/null +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -0,0 +1,171 @@ + + + + + + Demo Odoo2odoo Integration + + + + + + + + + + UPLOAD_ALL_PARTNER_PREFIX + Sync Studio: + + + + URL + + URL to external Odoo, e.g. https://odoo.example + + + + + DB + Odoo database name + + + + USERNAME + e.g. admin + + + + PASSWORD + + + + + Sync Local Partners To Remote Odoo + + + + + + + Sync Remote Partners Updates + + +", links.sync_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT)]], + fields=["write_date", IMAGE_FIELD] + ) + # Save fetched data in local Odoo + for ep in external_partners: + link = get_link(PARTNER_REL, ep["id"]) + p = link.odoo + sync_date = parse_date(ep["write_date"]) + if sync_date > link.sync_date: + p.write({IMAGE_FIELD: ep[IMAGE_FIELD]}) + link.update_links(sync_date) +]]> + + + + LOCAL_PARTNER_CREATED + + + on_create + + + CHECK_EXTERNAL_ODOO + + 15 + minutes + + + PUSH_ALL_LOCAL_PARTNERS + + + diff --git a/sync/data/sync_project_telegram_demo.xml b/sync/data/sync_project_telegram_demo.xml new file mode 100644 index 00000000..77a0f148 --- /dev/null +++ b/sync/data/sync_project_telegram_demo.xml @@ -0,0 +1,178 @@ + + + + + Demo Telegram Integration + + +setWebhook", json.dumps([args, kwargs])) + bot.setWebhook(*args, **kwargs) + + def parse_data(data): + return Update.de_json(data, bot) + + return { + "sendMessage": sendMessage, + "setWebhook": setWebhook, + "parse_data": parse_data, + } + +bot = _exports(secrets) + +]]> + + + + + + + TELEGRAM_WELCOME_MESSAGE + Hello! How can I help you? + + Message that is sent to a user on first bot usage + + + + + TELEGRAM_MESSAGE_SENT + The message has sent in telegram: + + When Odoo Bot reports on successfully sent telegram message + + + + + PARTNER_NAME_PREFIX + Telegram: + Prefix for new partner name + + + + TELEGRAM_BOT_TOKEN + + + + + + Setup + + + + + + + + SETUP_TELEGRAM + + + Process Telegram Messages + + + + + + + Telegram updates + + TELEGRAM + + + Send response via Odoo + + + + + + + ON_MESSAGE_POSTED + + + on_create + + [["model","=","res.partner"],["body","ilike","/telegram"]] + + + diff --git a/sync/data/sync_project_trello_github_demo.xml b/sync/data/sync_project_trello_github_demo.xml new file mode 100644 index 00000000..41f0d0e9 --- /dev/null +++ b/sync/data/sync_project_trello_github_demo.xml @@ -0,0 +1,811 @@ + + + + + Demo Trello-Github Integration + + + + + + GITHUB_TOKEN + + Token with access to read issues and create webhooks, i.e. "repo" scope + + + https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token + + + + + GITHUB_REPO + owner/repo_name + + + + + TRELLO_TOKEN + + Trello token to make API calls. Don't confuse it with API Key. Once you get + API Key in https://trello.com/app-key page, you will see a link to generate + token. Click one and you'll get the token + + + https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/ + + + + + TRELLO_KEY + + https://trello.com/app-key + + + + TRELLO_BOARD_ID + + You can get one from the board url: + https://trello.com/b/TRELLO_BOARD_ID/BOARD-NAME + + + https://community.atlassian.com/t5/Trello-questions/How-to-get-Trello-Board-ID/qaq-p/1347525 + + + + + ISSUE_FROM_GITHUB_PREFIX + GITHUB: + + + + + + MESSAGE_PREFIX + A Message posted on GitHub: + + + + + + LABELS_MERGE_STRATEGY + UNION + + Possible values: +USE_TRELLO, USE_GITHUB: use version from one side and override values from another +UNION: add missed labels to each side +INTERSECTION: remove labes that are not attached on another side + + + + + + Setup + + + + + + SETUP_GITHUB + Setup Github Webhook. To delete webhooks, open github repostory, navigate to Settings >> Webhooks + + + + SETUP_TRELLO + Setup Trello Webhook. + + + + DELETE_TRELLO_WEBHOOKS + + + + + DEBUG + + + + + Sync Github Issues to Trello (name, messages, labels) + + + + + + PUSH_ALL_ISSUES + + Initial syncing of github issues. It pushes only issues without linked + trello cards. It doesn't sync further updates + + + + + GITHUB_ISSUE_UPDATES + + Github Issue updates + + + + GITHUB_ISSUE_COMMENT + + Webhook + + + + Sync Trello Cards to Github (labels) + + + + + + TRELLO_CARD_UPDATES + + Trello Card updates + + + + Sync labels Updating/Deleting + + + + + + TRELLO_LABEL_UPDATES + + Trello Label updates + + + + GITHUB_LABEL_UPDATES + + Github Label updates + + + + Labels Conflict Resolving + + + issue + issues_index = {} + for issue in issues: + if str(issue["id"]) in issue_ids: + issues_index[int(issue["id"])] = issue + log("GITHUB issues: %s" % ([issue_ids, issues, issues_index])) + + card_ids = elinks.get(TRELLO) + # https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-cards-get + # https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-get + # card is dict {id: int, idLabels: [int], ...} + cards = trello["get_all_cards"]() + # card_id -> card + cards_index = {} + for card in cards: + if str(card["id"]) in card_ids: + cards_index[card["id"]] = card + + for el in elinks: + card_id = el.get(TRELLO)[0] + issue_id = int(el.get(GITHUB)[0]) + card = cards_index.get(card_id) + issue = issues_index.get(issue_id) + if not (card and issue): + log("Linked card or issue is missed: %s" % ([card, issue]), level=LOG_WARNING) + continue + # compare labels + tlabel_ids = card["idLabels"] + glabel_ids = [lbl["id"] for lbl in issue["labels"]] + tlinks = search_links(LABELS_REL, {GITHUB: None, TRELLO: tlabel_ids}) + glinks = search_links(LABELS_REL, {GITHUB: glabel_ids, TRELLO: None}) + if tlinks == glinks: + # all fine + log("card {} and issue {} are already synced".format(card_id, issue_id), LOG_DEBUG) + continue + log("Found labels mismatch: issue=%s, card=%s" % (issue["id"], card["id"]), LOG_DEBUG) + + tlinks_add = None + tlinks_remove = None + glinks_add = None + glinks_remove = None + if params.LABELS_MERGE_STRATEGY == "USE_TRELLO": + glinks_add = tlinks - glinks + glinks_remove = glinks - tlinks + elif params.LABELS_MERGE_STRATEGY == "USE_GITHUB": + tlinks_add = glinks - tlinks + tlinks_remove = tlinks - glinks + elif params.LABELS_MERGE_STRATEGY == "UNION": + tlinks_add = glinks - tlinks + glinks_add = tlinks - glinks + elif params.LABELS_MERGE_STRATEGY == "INTERSECTION": + tlinks_remove = tlinks - glinks + glinks_remove = glinks - tlinks + else: + raise Exception("Unknown LABELS_MERGE_STRATEGY: %s" % LABELS_MERGE_STRATEGY, level=LOG_ERROR) + + if tlinks_add: + trello["card_add_labels"](card_id, tlinks_add.get(TRELLO)) + if glinks_add: + github["issue_add_labels"](issue_id, glinks_add.get(GITHUB)) + if tlinks_remove: + trello["card_remove_labels"](card_id, tlinks_remove.get(TRELLO)) + if glinks_remove: + github["issue_remove_labels"](issue_id, glinks_remove.get(GITHUB)) + + ]]> + + + CONFLICT_RESOLVING + + + 1 + days + + diff --git a/sync/data/sync_project_unittest_demo.xml b/sync/data/sync_project_unittest_demo.xml new file mode 100644 index 00000000..9e9029cf --- /dev/null +++ b/sync/data/sync_project_unittest_demo.xml @@ -0,0 +1,34 @@ + + + + + + Project For Unittests + + + + + PARTNER_RELATION + sync_unittest_partner + + + + Assign ref to new partners + + + + + + + Sync test: Run code On partner created + ON_PARTNER_CREATED + + + on_create + + diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst new file mode 100644 index 00000000..5583eb32 --- /dev/null +++ b/sync/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- **Init version** diff --git a/sync/doc/index.rst b/sync/doc/index.rst new file mode 100644 index 00000000..0f5584c9 --- /dev/null +++ b/sync/doc/index.rst @@ -0,0 +1,669 @@ +============= + Sync Studio +============= + +.. contents:: + :local: + +Installation +============ + +* Make configuration required for `queue_job `__ module. In particular: + + * add ``queue_job`` to `server wide modules `__, e.g.:: + + ``--load base,web,queue_job`` + +* `Install `__ this module in a usual way +* Install python package that you need to use. For example, to try demo projects install following packages: + + sudo pip3 install python-telegram-bot + sudo pip3 install PyGithub + sudo pip3 install py-trello + +* If your Sync projects use webhooks (most likely), be sure that url opens correct database without asking to select one + + +User Access Levels +================== + +* ``Sync Studio: User``: read-only access +* ``Sync Studio: Developer``: restricted write access +* ``Sync Studio: Manager``: same as Developer, but with access to **Secrets** and **Protected Code** + +Project +======= + +* Open menu ``[[ Sync Studio ]] >> Projects`` +* Create a project + + * **Name**, e.g. *Legacy migration* + + * In the ``Parameters`` tab + + * **Parameters** + + * **Key** + * **Value** + * **Secrets**: Parameters with restricted access: key values are visiable for Managers only + + * In the ``Shared Code`` tab + + * **Protected Code**, **Common Code**: code that is executed before running any + project's task. Can be used for initialization or for helpers. Secret params + and package importing are available in **Protected Code** only. Any variables + and functions that don't start with underscore symbol will be available in + task's code. + + * In the ``Available Tasks`` tab + + * **Name**, e.g. *Sync products* + * **Code**: code with at least one of the following functions + + * ``handle_cron()`` + * ``handle_db(records)`` + + * ``records``: all records on which this task is triggered + + * ``handle_webhook(httprequest)`` + + * ``httprequest``: contains information about request, e.g. + + * `httprequest.data `__: request data + * `httprequest.files `__: uploaded files + * `httprequest.remote_addr `__: ip address of the caller. + * see `Werkzeug doc + `__ + for more information. + * optionally can return data as a response to the webhook request; any data transferred in this way are logged via ``log_transmission`` function: + + * for *json* webhook: + * ``return json_data`` + * for *x-www-form-urlencoded* webhook: + * ``return data_str`` + * ``return data_str, status`` + * ``return data_str, status, headers`` + + * ``status`` is a response code, e.g. ``200``, ``403``, etc. + * ``headers`` is a list of key-value turples, e.g. ``[('Content-Type', 'text/html')]`` + * ``handle_button()`` + + * **Cron Triggers**, **DB Triggers**, **Webhook Triggers**, **Manual + Triggers**: when to execute the Code. See below for further information + +Job Triggers +============ + +Cron +---- + +* **Trigger Name**, e.g. ``NIGHTLY_SYNC`` +* **Execute Every**: every 2 hours, every 1 week, etc. +* **Next Execution Date** +* **Scheduler User** + +DB +-- + +* **Trigger Name**, e.g. ``PRODUCT_PRICE_CHANGE`` +* **Model** +* **Trigger Condition** + + * On Creation + * On Update + * On Creation & Update + * On Deletion + * Based on Timed Condition + + * Allows to trigger task before, after on in time of Date/Time fields, e.g. + 1 day after Sale Order is closed + +* **Apply on**: records filter +* **Before Update Domain**: additional records filter for *On Update* event +* **Watched fields**: fields list for *On Update* event + +Webhook +------- + +* **Trigger Name**, e.g. ``ON_EXTERNAL_UPDATE`` +* **Webhook Type**: *application/x-www-form-urlencoded* or *application/json* + +* **Webhook URL**: readonly. + +Button +------ + +* **Trigger Name**, e.g. ``SYNC_ALL_PRODUCTS`` + +Code +==== + +Available variables and functions: +---------------------------------- + +Base +~~~~ + +* ``env``: Odoo Environment +* ``log(message, level=LOG_INFO)``: logging function to record debug information + + log levels: + + * ``LOG_DEBUG`` + * ``LOG_INFO`` + * ``LOG_WARNING`` + * ``LOG_ERROR`` + * ``LOG_CRITICAL`` + +Links +~~~~~ + +* ``.set_link(relation_name, external, sync_date=None, allow_many2many=False) -> link``: makes link between Odoo and external resource + + * ``allow_many2many``: when False raises an error if there is a link for the + ``record`` and ``relation_name`` or if there is a link for ``relation_name`` + and ``external``; + +* ``.search_links(relation_name, refs=[external_ref1, external_ref2, ...]) -> links`` +* ``get_link(relation_name, external_ref) -> link`` + +Odoo Link usage: + +* ``link.odoo``: normal Odoo record + + * ``link.odoo._name``: model name, e.g. ``res.partner`` + * ``link.odoo.id``: odoo record id + * ``link.odoo.``: some field of the record, e.g. ``link.odoo.email``: partner email + +* ``link.external``: external reference, e.g. external id of a partner +* ``link.sync_date``: last saved date-time information +* ``links.odoo``: normal Odoo RecordSet +* ``links.external``: list of all external references +* ``links.sync_date``: minimal data-time among links +* ``links.update_links(sync_date=None)``: set new sync_date value; if value is not passed, then ``now()`` is used +* ``links.unlink()``: delete links +* ``for link in links:``: iterate over links +* ``if links``: check that link set is not empty +* ``len(links)``: number of links in the set +* sets operaions: + + * ``links1 == links2``: sets are equal + * ``links1 - links2``: links that are in first set, but not in another + * ``links1 | links2``: union + * ``links1 & links2``: intersection + * ``links1 ^ links2``: equal to ``(links1 | links2) - (links1 & links2)`` + + + +You can also link external data with external data on syncing two different system (e.g. github and trello). + +* ``set_link(relation_name, {"github": github_issue_num, "trello": trello_card_num}, sync_date=None, allow_many2many=False) -> elink`` + * ``refs`` is a dictionary with system name and references pairs, e.g. + + .. code-block:: python + + { + "github": github_issue_num, + "trello": trello_card_num, + } + +* ``search_links(relation_name, refs) -> elinks``: + * ``refs`` may contain list of references as values, e.g. + + .. code-block:: python + + { + "github": [github_issue_num], + "trello": [trello_card_num], + } + + * use None values to don't filter by referece value of that system, e.g. + + .. code-block:: python + + { + "github": None, + "trello": [trello_card_num], + } + + * if references for both systems are passed, then elink is added to result + only when its references are presented in both references lists +* ``get_link(relation_name, refs) -> elink`` + + * At least one of the reference should be not Falsy + * ``get_link`` raise error, if there are few odoo records linked to the + references. Set work with multiple relations (*one2many*, *many2one*, + *many2many*) use ``set_link(..., allow_many2many=False)`` and + ``search_links`` + +In place of ``github`` and ``trello`` you can use other labels depending on what you sync. + +External Link is similar to Odoo link with the following differences: + +* ``elink.get()``, e.g. ``elink.get("github")``: reference value for system; it's a replacement for ``link.odoo`` and ``link.external`` in Odoo link + +Network +~~~~~~~ + +* ``log_transmission(recipient_str, data_str)``: report on data transfer to external recipients; example of a function in *Protected Code*: + + .. code-block:: python + + def httpPOST(url, *args, **kwargs): + import requests + log_transmission(url, json.dumps([args, kwargs])) + r = requests.post(url, *args, **kwargs) + return r.text + + +Project Values +~~~~~~~~~~~~~~ + +* ``params.``: project params +* ``secrets.``: available in **Protected Code** only; you need to use closure to use it, for example: + + .. code-block:: python + + def _make_request(secrets): + import requests + def f(data): + return requests.post(params.API_URL, data=data, auth=(secrets.API_USER, secrets.API_PASSWORD)) + return f + make_request = _make_request(secrets) + +* ``webhooks.``: contains webhook url; only in tasks' code + +Event +~~~~~ + +* ``trigger_name``: available in tasks' code only +* ``user``: user related to the event, e.g. who clicked a button + +Asynchronous work +~~~~~~~~~~~~~~~~~ + +* ``add_job(func_name, **options)(*func_args, **func_kwargs)``: call a function asyncroniously; options are similar to ``with_delay`` method of ``queue_job`` module: + + * ``priority``: Priority of the job, 0 being the higher priority. Default is 10. + * ``eta``: Estimated Time of Arrival of the job. It will not be executed before this date/time. + * ``max_retries``: maximum number of retries before giving up and set the job + state to 'failed'. A value of 0 means infinite retries. Default is 5. + * ``description`` human description of the job. If None, description is + computed from the function doc or name + * ``identity_key`` key uniquely identifying the job, if specified and a job + with the same key has not yet been run, the new job will not be added. + +Libs +~~~~ + +* ``json`` +* ``time`` +* ``datetime`` +* ``dateutil`` +* ``timezone`` +* ``b64encode`` +* ``b64decode`` + +Exceptions +~~~~~~~~~~ + +* ``UserError`` +* ``ValidationError`` +* ``RetryableJobError``: raise to restart job from beginning; e.g. in case of temporarly errors like broken connection +* ``OSError`` + +Running Job +=========== + +Depending on Trigger, a job may: + +* be added to a queue or runs immediatly +* be retried in case of failure + + * if ``RetryableJobError`` is raised, then job is retried automatically in following scheme: + + * After first failure wait 5 minute + * If it's not succeeded again, then wait another 15 minutes + * If it's not succeeded again, then wait another 60 minutes + * If it's not succeeded again, then wait another 3 hours + * Try again for the fifth time and stop retrying if it's still failing + +Cron +---- + +* job is added to the queue before run +* failed job can be retried if failed + +DB +-- + +* job is added to the queue before run +* failed job can be retried if failed + +Webhook +------- + +* runs immediately +* failed job cannot be retried via backend UI; the webhook should be called again. + +Button +------ + +* runs immediatly +* to retry click the button again + +Execution Logs +============== + +In Project, Task and Job Trigger forms you can find ``Logs`` button in top-right +hand corner. You can filter and group logs by following fields: + +* Sync Project +* Sync Task +* Job Trigger +* Job Start Time +* Log Level +* Status (Success / Fail) + +Demo Project: Odoo <-> Telegram +=============================== + +In this project we create new partners and attach messages sent to telegram bot. +Odoo Messages prefixed with ``/telegram`` are sent back to telegram. + +To try it, you need to install this module in demo mode. Also, your odoo +instance must be accessable over internet to receive telegram webhooks. Due to +telegram requirements, your web server must use http**s** connection. + +How it works +------------ + +*Webhook Trigger* waits for an update from telegram. Once it happened, the action depends on message text: + +* for ``/start`` message (it's sent on first bot usage), we reply with welcome + message (can be configured in project parameter TELEGRAM_WELCOME_MESSAGE) and + create a partner with **Internal Reference** equal to *@telegram* + +* for any other message we attach a message copy to the partner with corresponding **Internal Reference** + +*DB trigger* waits for a message attached to a telegram partner (telegram partners are filtered by **Internal Reference** field). If the message has ``/telegram`` prefix, task's code is run: + +* a message copy (after removeing the prefix) is sent to corresponding telegram user +* attach report message to the partner record + +Configuration +------------- + +In Telegram: + +* send message ``/new`` to @BotFather and follow further instructions to create bot and get the bot token + +In Odoo: + +* `Activate Developer Mode `__ +* Open menu ``[[ Settings ]] >> Technical >> Parameters >> System Parameters`` +* Check that parameter ``web.base.url`` is properly set and it's accessible over + internet (it should not localhost) +* Open menu ``[[ Sync Studio ]] >> Sync Projects`` +* Select *Demo Telegram Integration* project +* Go to ``Parameters`` tab +* Set **Secrets**: + + * TELEGRAM_BOT_TOKEN + +* Unarchive the project +* Open *Manual Triggers* Tab +* Click button ``[Run Now]`` near to *Setup* task + +Usage +----- + +In Telegram: + +* send some message to the created bot + +In Odoo: + +* Open Contacts/Customers menu +* RESULT: there is new partner with name *Telegram:* (the prefix can be configured in project parameter PARTNER_NAME_PREFIX) +* Open the partner and attach a log/message with prefix ``/telegram``, e.g. ``/telegram Hello! How can I help you?`` +* Wait few seconds to get confirmation +* RESULT: you will see new attached message from Odoo Bot with confirmation that message is sent to telegram + +In telegram: + +* RESULT: the message is delivered via bot + +You can continue chatting in this way + +Demo Project: Odoo2odoo +======================= + +In this project we push partners to external Odoo 12.0 and sync back avatar changes. + +To try it, you need to install this module in demo mode. + +How it works +------------ + +*DB trigger* waits for partner creation. When it happens, task's code is run: + +* creates a copy of partner on external Odoo + + * XMLRPC is used as API + +* gets back id of the partner copy on external Odoo +* attaches the id to the partner of our Odoo via ``set_link`` method + +To sync changes on external Odoo we use *Cron trigger*. It runs every 15 minutes. You can also run it manually. The code works as following: + +* call ``search_links`` function to get ids to sync and the oldest sync date +* request to the external Odoo for the partners, but filtered by sync time to don't load partner without new updates +* for each of the fetched partner compare its update time with sync date saved in the link + + * if a partner is updated since last sync, then update partner and sync date + +Configuration +------------- + +* Open menu ``[[ Sync Studio ]] >> Sync Projects`` +* Select *Demo Odoo2odoo integration* project +* Go to ``Parameters`` tab +* Set **Params**: + * URL, e.g. ``https://3674665-12-0.runbot41.odoo.com`` + * DB, e.g. ``odoo`` +* Set **Secrets**: + + * USERNAME, e.g. ``admin`` + * PASSWORD, e.g. ``admin`` +* Unarchive the project + +Usage +----- + +**Syncing new partner.** + +* Open Contacts/Customers menu +* Create new partner +* Go back to the project +* Click ``Logs`` button and check that there are no errors + +* Open the external Odoo + + * RESULT: the partner copy is on the external Odoo + * Update avatar image on it + +* Go back to the *Demo Odoo2odoo Integration* project in our Odoo +* Click ``Available Tasks`` tab +* Go to ``Sync Remote Partners Updates`` task +* Click on ``Available Triggers`` tab and go inside ``CHECK_EXTERNAL_ODOO`` trigger +* Make trigger Active on the upper right corner + +* Then you can trigger synchronization in some of the following ways: + + 1. Click ``[Run Manually]`` inside the trigger + + 2. Simply wait up to 15 minutes :) + +* Now open the partner in our Odoo +* RESULT: avatar is synced from external Odoo +* You can try to change avatar on external Odoo again and should get the same results + +**Uploading all existing partners.** + +* Open menu ``[[ Sync Studio ]] >> Sync Projects`` +* Select *Demo Odoo2odoo Integration* project +* Choose Sync Task *Sync Local Partners To Remote Odoo* +* Click button ``[Run Now]`` +* Open the external Odoo + + * RESULT: copies of all our partners are in the external Odoo; they have *Sync Studio:* prefix (can be configured in project parameter UPLOAD_ALL_PARTNER_PREFIX) + +Demo project: GitHub <-> Trello +=============================== + +In this project we create copies of github issues/pull requests and their +messages in trello cards. It's one side synchronization: new cards and message in +trello are not published in github. Trello and Github labels are +synchronized in both directions. + +To try it, you need to install this module in demo mode. Also, your odoo +instance must be accessible over internet to receive github and trello webhooks. + +How it works +------------ + + +*Github Webhook Trigger* waits from GitHub for issue creation and new messages: + +* if there is no trello card linked to the issue, then create trello card and link it with the issue +* if new message is posted in github issue, then post message copy in trello card + +*Github Webhook Trigger* waits from GitHub for label attaching/detaching (*Trello Webhook Trigger* works in the same way) + +* if label is attached in GitHub issue , then check for github label and trello + label links and create trello label if there is no such link yet +* if label is attached in github issue, then attach corresponding label in trello card +* if label is detached in github issue, then detach corresponding label in trello card + +*Github Webhook Trigger* waits from GitHub for label updating/deleting (*Trello Webhook Trigger* works in the same way): + +* if label is changed and there is trello label linked to it, then update the label +* if label is changed and there is trello label linked to it, then delete the label + +There is still possibility that labels are mismatch, e.g. due to github api +temporary unavailability or misfunction (e.g. api request to add label responded +with success, but label was not attached) or if odoo was stopped when github +tried to notify about updates. In some cases, we can just retry the handler +(e.g. there was an error on api request to github/trello, then the system tries +few times to repeat label attaching/detaching). As a solution for cases when +retrieng didn't help (e.g. api is still not working) or cannot help (e.g. odoo +didn't get webhhook notification), we run a *Cron Trigger* at night to check for +labels mismatch and synchronize them. In ``LABELS_MERGE_STRATEGY`` you can +choose which strategy to use: + +* ``USE_TRELLO`` -- ignore github labels and override them with trello labels +* ``USE_GITHUB`` -- ignore trello labels and override them with push github labels +* ``UNION`` -- add missed labels from both side +* ``INTERSECTION`` -- remove labels that are not attached on both side + +Configuration +------------- + +* Open menu ``[[ Sync Studio ]] >> Sync Projects`` +* Select *Demo Github-Trello Integration* project +* In ``Parameters`` tab set **Secrets** (check Description and Documentation links near the parameters table about how to get the secret parameters): + + * ``GITHUB_REPO`` + * ``GITHUB_TOKEN`` + * ``TRELLO_BOARD_ID`` + * ``TRELLO_KEY`` + * ``TRELLO_TOKEN`` + +* In *Available Tasks* tab: + + * Click ``[Edit]`` + * Open *Labels Conflict resolving* task + * In *Available Triggers* tab: + + * Open *CONFLICT_RESOLVING* Cron + * Change **Next Execution Date** in webhook to the night time + * Make it active on the upper right corner + * Click ``[Save]`` +* Make integration Active on the upper right corner +* In project's *Manual Triggers* tab: + + * Click ``[Run Now]`` buttons in trigger *SETUP_GITHUB* + * Click ``[Run Now]`` buttons in triggers *SETUP_TRELLO*. Note, that `it doesn't work `_ without one of the following workarounds: + + * open file ``sync/controllers/webhook.py`` and temporarily change ``type="json"`` to ``type="http"``. Revert the changes after successfully setting up trello + * add header "Content-Type: application/json" via your web server. Example for nginx: + + .. code-block:: nginx + + location /website/action-json/ { + proxy_set_header Content-Type "application/json"; + proxy_set_header Host $host; + proxy_pass http://localhost:8069; + } + + * After a successful *SETUP_TRELLO* trigger run, return everything to its original position, otherwise the project will not work correctly + + + +Usage +----- + +**Syncing new Github issue** + +* Open Github +* Create issue +* Open trello +* RESULT: you see a copy of the Github issue +* Go back to the Github issue +* Post a message +* Now go back to the trello card +* RESULT: you see a copy of the message +* You can also add/remove github issue labels or trello card labels. + + * RESULT: once you change them on one side, after short time, you will see the changes on another side + +**Labels syncing** + +* Open Github or Trello +* Rename or delete some label +* RESULT: the same happened in both systems + +**Conflict resolving** + +* Create a github issue and check that it's syncing to trello +* Stop Odoo +* Make *different* changes of labels both in github issue and trello card +* Start Odoo +* Open menu ``[[ Sync Studio ]] >> Projects`` +* Select *Demo Trello-Github integration* project +* Click ``[Edit]`` and open *Labels Conflict Resolving* task in *Available Tasks* tab +* Make ``CONFLICT_RESOLVING`` Cron Trigger run in one of the following ways + + 1. Choose Cron Trigger and click ``[Run Manually]`` + + 2. Change **Next Execution Date** to a past time and wait up to 1 minute + +* RESULT: the github issue and corresponding trello card the same set of labels. The merging is done according to selected stragegy in ``LABELS_MERGE_STRATEGY`` parameter. + + +**Syncing all existing Github issues.** + +* Open menu ``[[ Sync Studio ]] >> Projects`` +* Select *Demo Tello-Github Integration* project +* Click button ``[Run Now]`` near to ``PUSH_ALL_ISSUES`` manual trigger +* It will start asyncronious jobs. You can check progress via button *Jobs* +* After some time open Trello + + * RESULT: copies of all *open* github issues are in trello; they have *GITHUB:* prefix (can be configured in project parameter ISSUE_FROM_GITHUB_PREFIX) + +Custom Integration +================== + +If you made a custom integration via UI and want to package it into a module, +open the Sync Project and click ``[Actions] -> Export to XML`` button. diff --git a/sync/models/__init__.py b/sync/models/__init__.py new file mode 100644 index 00000000..7d64abba --- /dev/null +++ b/sync/models/__init__.py @@ -0,0 +1,14 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import sync_project +from . import sync_task +from . import sync_trigger_mixin +from . import sync_trigger_cron +from . import sync_trigger_automation +from . import sync_trigger_webhook +from . import sync_trigger_button +from . import sync_job +from . import ir_logging +from . import ir_actions +from . import sync_link +from . import base diff --git a/sync/models/base.py b/sync/models/base.py new file mode 100644 index 00000000..f4d08dbd --- /dev/null +++ b/sync/models/base.py @@ -0,0 +1,16 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import models + + +class Base(models.AbstractModel): + _inherit = "base" + + def set_link(self, relation_name, ref, sync_date=None, allow_many2many=False): + return self.env["sync.link"]._set_link_odoo( + self, relation_name, ref, sync_date, allow_many2many + ) + + def search_links(self, relation_name, refs=None): + return self.env["sync.link"]._search_links_odoo(self, relation_name, refs) diff --git a/sync/models/ir_actions.py b/sync/models/ir_actions.py new file mode 100644 index 00000000..eb0dada4 --- /dev/null +++ b/sync/models/ir_actions.py @@ -0,0 +1,13 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import fields, models + + +class IrActionsServer(models.Model): + _inherit = "ir.actions.server" + + sync_task_id = fields.Many2one("sync.task") + sync_project_id = fields.Many2one( + "sync.project", related="sync_task_id.project_id", readonly=True + ) diff --git a/sync/models/ir_logging.py b/sync/models/ir_logging.py new file mode 100644 index 00000000..ff3107f5 --- /dev/null +++ b/sync/models/ir_logging.py @@ -0,0 +1,40 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import fields, models + +LOG_DEBUG = "debug" +LOG_INFO = "info" +LOG_WARNING = "warning" +LOG_ERROR = "error" +LOG_CRITICAL = "critical" + +SHORT_MESSAGE_LINES = 5 +SHORT_MESSAGE_CHARS = 100 + + +class IrLogging(models.Model): + _inherit = "ir.logging" + + sync_job_id = fields.Many2one("sync.job") + sync_task_id = fields.Many2one("sync.task", related="sync_job_id.task_id") + sync_project_id = fields.Many2one( + "sync.project", related="sync_job_id.task_id.project_id" + ) + message_short = fields.Text(string="Message...", compute="_compute_message_short") + type = fields.Selection(selection_add=[("data_out", "Data Transmission")]) + + def _compute_message_short(self): + for r in self: + lines = r.message.split("\n") + message_short = "\n".join( + [ + line[:SHORT_MESSAGE_CHARS] + "..." + if len(line) > SHORT_MESSAGE_CHARS + else line + for line in lines[:SHORT_MESSAGE_LINES] + ] + ) + if len(lines) > SHORT_MESSAGE_LINES: + message_short += "\n..." + r.message_short = message_short diff --git a/sync/models/sync_job.py b/sync/models/sync_job.py new file mode 100644 index 00000000..38710e8c --- /dev/null +++ b/sync/models/sync_job.py @@ -0,0 +1,135 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import api, fields, models +from odoo.tools.translate import _ + +from odoo.addons.queue_job.job import DONE, ENQUEUED, FAILED, PENDING, STARTED + +from .ir_logging import LOG_CRITICAL, LOG_ERROR, LOG_WARNING + +DONE_WARNING = "done_warning" +TRIGGER_MODEL2FIELD = { + "sync.trigger.cron": "trigger_cron_id", + "sync.trigger.automation": "trigger_automation_id", + "sync.trigger.webhook": "trigger_webhook_id", + "sync.trigger.button": "trigger_button_id", +} +TRIGGER_FIELDS = TRIGGER_MODEL2FIELD.values() + + +class SyncJob(models.Model): + + _name = "sync.job" + _description = "Sync Job" + _rec_name = "trigger_name" + _order = "id desc" + + trigger_name = fields.Char(compute="_compute_trigger_name", store=True) + trigger_cron_id = fields.Many2one("sync.trigger.cron", readonly=True) + trigger_automation_id = fields.Many2one("sync.trigger.automation", readonly=True) + trigger_webhook_id = fields.Many2one("sync.trigger.webhook", readonly=True) + trigger_button_id = fields.Many2one("sync.trigger.button", readonly=True) + task_id = fields.Many2one("sync.task", compute="_compute_sync_task_id", store=True) + project_id = fields.Many2one( + "sync.project", related="task_id.project_id", readonly=True + ) + parent_job_id = fields.Many2one("sync.job", readonly=True) + job_ids = fields.One2many("sync.job", "parent_job_id", "Sub jobs", readonly=True) + log_ids = fields.One2many("ir.logging", "sync_job_id", readonly=True) + log_count = fields.Integer(compute="_compute_log_count") + queue_job_id = fields.Many2one("queue.job", string="Queue Job", readonly=True) + queue_job_state = fields.Selection( + related="queue_job_id.state", readonly=True, string="Queue Job State" + ) + function = fields.Char(string="Task Function") + func_string = fields.Char( + related="queue_job_id.func_string", readonly=True, string="Function" + ) + retry = fields.Integer(related="queue_job_id.retry", readonly=True) + max_retries_str = fields.Char(compute="_compute_max_retries_str") + state = fields.Selection( + [ + (PENDING, "Pending"), + (ENQUEUED, "Enqueued"), + (STARTED, "Started"), + (DONE, "Done"), + (DONE_WARNING, "Done With Warnings"), + (FAILED, "Failed"), + ], + compute="_compute_state", + ) + in_progress = fields.Boolean(compute="_compute_state",) + + @api.depends("queue_job_id.max_retries") + def _compute_max_retries_str(self): + for r in self: + max_retries = r.queue_job_id.max_retries + if not max_retries: + r.max_retries_str = _("infinity") + else: + r.max_retries_str = str(max_retries) + + @api.depends("queue_job_id.state", "job_ids.queue_job_id.state", "log_ids.level") + def _compute_state(self): + for r in self: + jobs = r + r.job_ids + states = [q.state for q in jobs.mapped("queue_job_id")] + levels = {log.level for log in jobs.mapped("log_ids")} + computed_state = DONE + has_errors = any(lev in [LOG_CRITICAL, LOG_ERROR] for lev in levels) + has_warnings = any(lev == LOG_WARNING for lev in levels) + for s in [FAILED, STARTED, ENQUEUED, PENDING]: + if any(s == ss for ss in states): + computed_state = s + break + if computed_state == DONE and has_errors: + computed_state = FAILED + elif computed_state == DONE and has_warnings: + computed_state = DONE_WARNING + + r.state = computed_state + r.in_progress = any(s in [PENDING, ENQUEUED, STARTED] for s in states) + + @api.depends("log_ids") + def _compute_log_count(self): + for r in self: + r.log_count = len(r.log_ids) + + @api.depends("parent_job_id", *TRIGGER_FIELDS) + def _compute_sync_task_id(self): + for r in self: + if r.parent_job_id: + r.task_id = r.parent_job_id.task_id + for f in TRIGGER_FIELDS: + obj = getattr(r, f) + if obj: + r.task_id = obj.sync_task_id + break + + @api.depends(*TRIGGER_FIELDS) + def _compute_trigger_name(self): + for r in self: + if r.parent_job_id: + r.trigger_name = (r.parent_job_id.trigger_name or "") + "." + r.function + continue + for f in TRIGGER_FIELDS: + t = getattr(r, f) + if t: + r.trigger_name = t.trigger_name + break + + def create_trigger_job(self, trigger): + return self.create( + { + TRIGGER_MODEL2FIELD[trigger._name]: trigger.id, + "function": trigger._sync_handler, + } + ) + + def refresh_button(self): + # magic empty method to refresh form content + pass + + def requeue_button(self): + self.queue_job_id.requeue() diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py new file mode 100644 index 00000000..381e1ca7 --- /dev/null +++ b/sync/models/sync_link.py @@ -0,0 +1,261 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import logging + +from odoo import api, fields, models, tools +from odoo.exceptions import ValidationError +from odoo.tools.translate import _ + +from .ir_logging import LOG_DEBUG + +_logger = logging.getLogger(__name__) + +ODOO = "__odoo__" +ODOO_REF = "ref2" +EXTERNAL = "__external__" +EXTERNAL_REF = "ref1" + + +class SyncLink(models.Model): + + _name = "sync.link" + _description = "Resource Links" + _order = "id desc" + + relation = fields.Char("Relation Name", required=True) + system1 = fields.Char("System 1", required=True) + # index system2 only to make search "Odoo links" + system2 = fields.Char("System 2", required=True, index=True) + ref1 = fields.Char("Ref 1", required=True) + ref2 = fields.Char("Ref 2", required=True) + date = fields.Datetime( + string="Sync Date", default=fields.Datetime.now, required=True + ) + model = fields.Char("Odoo Model", index=True) + + @api.model_cr_context + def _auto_init(self): + res = super(SyncLink, self)._auto_init() + tools.create_unique_index( + self._cr, + "sync_link_refs_uniq_index", + self._table, + ["relation", "system1", "system2", "ref1", "ref2"], + ) + return res + + @api.model + def _log(self, *args, **kwargs): + log = self.env.context.get("log_function") + if not log: + return + kwargs.setdefault("name", "sync.link") + kwargs.setdefault("level", LOG_DEBUG) + return log(*args, **kwargs) + + # External links + @api.model + def refs2vals(self, external_refs): + external_refs = sorted( + external_refs.items(), key=lambda code_value: code_value[0] + ) + system1, ref1 = external_refs[0] + system2, ref2 = external_refs[1] + vals = { + "system1": system1, + "system2": system2, + "ref1": ref1, + "ref2": ref2, + } + for k in ["ref1", "ref2"]: + if vals[k] is None: + continue + if isinstance(vals[k], list): + vals[k] = [str(i) for i in vals[k]] + else: + vals[k] = str(vals[k]) + return vals + + @api.model + def _set_link_external( + self, relation, external_refs, sync_date=None, allow_many2many=False, model=None + ): + vals = self.refs2vals(external_refs) + # Check for existing records + if allow_many2many: + existing = self._search_links_external(relation, external_refs) + else: + # check existing links for a part of external_refs + refs1 = external_refs.copy() + refs2 = external_refs.copy() + for i, k in enumerate(external_refs.keys()): + if i: + refs1[k] = None + else: + refs2[k] = None + + existing = self._search_links_external( + relation, refs1 + ) or self._search_links_external(relation, refs2) + + if existing and not ( + existing.ref1 == vals["ref1"] and existing.ref2 == vals["ref2"] + ): + raise ValidationError( + _("%s link already exists: %s=%s, %s=%s") + % ( + relation, + existing.system1, + existing.ref1, + existing.system1, + existing.ref2, + ) + ) + + if existing: + self._log("{} Use existing link: {}".format(relation, vals)) + existing.update_links(sync_date) + return existing + + if sync_date: + vals["date"] = sync_date + vals["relation"] = relation + if model: + vals["model"] = model + self._log("Create link: %s" % vals) + return self.create(vals) + + @api.model + def _get_link_external(self, relation, external_refs): + links = self._search_links_external(relation, external_refs) + if len(links) > 1: + raise ValidationError( + _( + "get_link found multiple links. Use search_links for many2many relations" + ) + ) + self._log("Get link: {} {} -> {}".format(relation, external_refs, links)) + return links + + @api.model + def _search_links_external( + self, relation, external_refs, model=None, make_logs=False + ): + vals = self.refs2vals(external_refs) + domain = [("relation", "=", relation)] + if model: + domain.append(("model", "=", model)) + for k, v in vals.items(): + if not v: + continue + operator = "in" if isinstance(v, list) else "=" + domain.append((k, operator, v)) + links = self.search(domain) + if make_logs: + self._log("Search links: {} -> {}".format(domain, links)) + return links + + def get(self, system): + res = [] + for r in self: + if r.system1 == system: + res.append(r.ref1) + elif r.system2 == system: + res.append(r.ref2) + else: + raise ValueError( + _("Cannot find value for %s. Found: %s and %s") + % (system, r.system1, r.system2) + ) + return res + + # Odoo links + @property + def odoo(self): + res = None + for r in self: + record = self.env[r.model].browse(int(getattr(r, ODOO_REF))) + if res: + res |= record + else: + res = record + return res + + @property + def external(self): + res = [getattr(r, EXTERNAL_REF) for r in self] + if len(res) == 1: + return res[0] + return res + + def _set_link_odoo( + self, record, relation, ref, sync_date=None, allow_many2many=False + ): + refs = {ODOO: record.id, EXTERNAL: ref} + self._set_link_external( + relation, refs, sync_date, allow_many2many, record._name + ) + + def _get_link_odoo(self, relation, ref): + refs = {ODOO: None, EXTERNAL: ref} + return self._get_link_external(relation, refs) + + def _search_links_odoo(self, records, relation, refs=None): + refs = {ODOO: records.ids, EXTERNAL: refs} + return self._search_links_external( + relation, refs, model=records._name, make_logs=True + ) + + # Common API + def _get_link(self, rel, ref_info): + if isinstance(ref_info, dict): + # External link + external_refs = ref_info + return self._get_link_external(rel, external_refs) + else: + # Odoo link + ref = ref_info + return self._get_link_odoo(rel, ref) + + @property + def sync_date(self): + return min(r.date for r in self) + + def update_links(self, sync_date=None): + if not sync_date: + sync_date = fields.Datetime.now() + self.write({"date": sync_date}) + return self + + def __xor__(self, other): + return (self | other) - (self & other) + + def unlink(self): + self._log("Delete links: %s" % self) + return super(SyncLink, self).unlink() + + @api.model + def _get_eval_context(self): + env = self.env + + def set_link(rel, external_refs, sync_date=None, allow_many2many=False): + # Works for external links only + return env["sync.link"]._set_link_external( + rel, external_refs, sync_date, allow_many2many + ) + + def search_links(rel, external_refs): + # Works for external links only + return env["sync.link"]._search_links_external( + rel, external_refs, make_logs=True + ) + + def get_link(rel, ref_info): + return env["sync.link"]._get_link(rel, ref_info) + + return { + "set_link": set_link, + "search_links": search_links, + "get_link": get_link, + } diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py new file mode 100644 index 00000000..3bb7901c --- /dev/null +++ b/sync/models/sync_project.py @@ -0,0 +1,314 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import base64 +import datetime +import json +import logging +import time + +from pytz import timezone + +from odoo import api, fields, models +from odoo.exceptions import UserError, ValidationError +from odoo.tools.safe_eval import safe_eval, test_python_expr +from odoo.tools.translate import _ + +from odoo.addons.base.models.ir_actions import dateutil +from odoo.addons.queue_job.exception import RetryableJobError + +from ..tools import safe_eval_extra, test_python_expr_extra +from .ir_logging import LOG_CRITICAL, LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_WARNING + +_logger = logging.getLogger(__name__) +DEFAULT_LOG_NAME = "Log" + + +def cleanup_eval_context(eval_context): + delete = [k for k in eval_context if k.startswith("_")] + for k in delete: + del eval_context[k] + return eval_context + + +class SyncProject(models.Model): + + _name = "sync.project" + _description = "Sync Project" + + name = fields.Char( + "Name", help="e.g. Legacy Migration or eCommerce Synchronization", required=True + ) + active = fields.Boolean(default=True) + secret_code = fields.Text( + "Protected Code", + groups="sync.sync_group_manager", + help="""First code to eval. + + Secret Params and package importing are available here only. + + Any variables and functions that don't start with underscore symbol will be available in Common Code and task's code. + + To log transmitted data, use log_transmission(receiver, data) function. + """, + ) + + secret_code_readonly = fields.Text( + "Protected Code (Readonly)", compute="_compute_secret_code_readonly" + ) + common_code = fields.Text( + "Common Code", + help=""" + A place for helpers and constants. + + You can add here a function or variable, that don't start with underscore and then reuse it in task's code. + """, + ) + param_ids = fields.One2many("sync.project.param", "project_id") + secret_ids = fields.One2many("sync.project.secret", "project_id") + task_ids = fields.One2many("sync.task", "project_id") + task_count = fields.Integer(compute="_compute_task_count") + trigger_cron_count = fields.Integer( + compute="_compute_triggers", help="Enabled Crons" + ) + trigger_automation_count = fields.Integer( + compute="_compute_triggers", help="Enabled DB Triggers" + ) + trigger_webhook_count = fields.Integer( + compute="_compute_triggers", help="Enabled Webhooks" + ) + trigger_button_count = fields.Integer( + compute="_compute_triggers", help="Manual Triggers" + ) + trigger_button_ids = fields.Many2many( + "sync.trigger.button", compute="_compute_triggers", string="Manual Triggers" + ) + job_ids = fields.One2many("sync.job", "project_id") + job_count = fields.Integer(compute="_compute_job_count") + log_ids = fields.One2many("ir.logging", "sync_project_id") + log_count = fields.Integer(compute="_compute_log_count") + + def _compute_secret_code_readonly(self): + for r in self: + r.secret_code_readonly = (r.sudo().secret_code or "").strip() + + def _compute_network_access_readonly(self): + for r in self: + r.network_access_readonly = r.sudo().network_access + + @api.depends("task_ids") + def _compute_task_count(self): + for r in self: + r.task_count = len(r.with_context(active_test=False).task_ids) + + @api.depends("job_ids") + def _compute_job_count(self): + for r in self: + r.job_count = len(r.job_ids) + + @api.depends("log_ids") + def _compute_log_count(self): + for r in self: + r.log_count = len(r.log_ids) + + def _compute_triggers(self): + for r in self: + r.trigger_cron_count = len(r.mapped("task_ids.cron_ids")) + r.trigger_automation_count = len(r.mapped("task_ids.automation_ids")) + r.trigger_webhook_count = len(r.mapped("task_ids.webhook_ids")) + r.trigger_button_count = len(r.mapped("task_ids.button_ids")) + r.trigger_button_ids = r.mapped("task_ids.button_ids") + + @api.constrains("secret_code", "common_code") + def _check_python_code(self): + for r in self.sudo().filtered("secret_code"): + msg = test_python_expr_extra( + expr=(r.secret_code or "").strip(), mode="exec" + ) + if msg: + raise ValidationError(msg) + + for r in self.sudo().filtered("common_code"): + msg = test_python_expr(expr=(r.common_code or "").strip(), mode="exec") + if msg: + raise ValidationError(msg) + + def _get_log_function(self, job, function): + self.ensure_one() + + def _log(cr, message, level, name, log_type): + cr.execute( + """ + INSERT INTO ir_logging(create_date, create_uid, type, dbname, name, level, message, path, line, func, sync_job_id) + VALUES (NOW() at time zone 'UTC', %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) + """, + ( + self.env.uid, + log_type, + self._cr.dbname, + name, + level, + message, + "sync.job", + job.id, + function, + job.id, + ), + ) + + def log(message, level=LOG_INFO, name=DEFAULT_LOG_NAME, log_type="server"): + if self.env.context.get("new_cursor_logs") is False: + return _log(self.env.cr, message, level, name, log_type) + + with self.env.registry.cursor() as cr: + return _log(cr, message, level, name, log_type) + + return log + + def _get_eval_context(self, job, log): + """Executed Secret and Common codes and return "exported" variables and functions""" + self.ensure_one() + log("Job started", LOG_DEBUG) + start_time = time.time() + + def add_job(function, **options): + if callable(function): + function = function.__name__ + + def f(*args, **kwargs): + sub_job = self.env["sync.job"].create( + {"parent_job_id": job.id, "function": function} + ) + queue_job = job.task_id.with_delay(**options).run( + sub_job, function, args, kwargs + ) + sub_job.queue_job_id = queue_job.db_record() + log( + "add_job: %s(*%s, **%s). See %s" + % (function, args, kwargs, sub_job), + level=LOG_INFO, + ) + + return f + + params = AttrDict() + for p in self.param_ids: + params[p.key] = p.value + + secrets = AttrDict() + for p in self.sudo().secret_ids: + secrets[p.key] = p.value + + webhooks = AttrDict() + for w in self.task_ids.mapped("webhook_ids"): + webhooks[w.trigger_name] = w.website_url + + def log_transmission(recipient_str, data_str): + log(data_str, name=recipient_str, log_type="data_out") + + def safe_getattr(o, k, d=None): + if k.startswith("_"): + raise ValidationError(_("You cannot use %s with getattr") % k) + return getattr(o, k, d) + + def safe_setattr(o, k, v): + if k.startswith("_"): + raise ValidationError(_("You cannot use %s with setattr") % k) + return setattr(o, k, v) + + context = dict(self.env.context, log_function=log) + env = self.env(context=context) + eval_context = dict( + **env["sync.link"]._get_eval_context(), + **{ + "env": env, + "log": log, + "log_transmission": log_transmission, + "LOG_DEBUG": LOG_DEBUG, + "LOG_INFO": LOG_INFO, + "LOG_WARNING": LOG_WARNING, + "LOG_ERROR": LOG_ERROR, + "LOG_CRITICAL": LOG_CRITICAL, + "params": params, + "secrets": secrets, + "webhooks": webhooks, + "user": self.env.user, + "trigger": job.trigger_name, + "add_job": add_job, + "json": json, + "UserError": UserError, + "ValidationError": ValidationError, + "OSError": OSError, + "RetryableJobError": RetryableJobError, + "getattr": safe_getattr, + "setattr": safe_setattr, + "time": time, + "datetime": datetime, + "dateutil": dateutil, + "timezone": timezone, + "b64encode": base64.b64encode, + "b64decode": base64.b64decode, + } + ) + reading_time = time.time() - start_time + + start_time = time.time() + safe_eval_extra( + self.secret_code_readonly, eval_context, mode="exec", nocopy=True + ) + executing_secret_code = time.time() - start_time + del eval_context["secrets"] + cleanup_eval_context(eval_context) + + start_time = time.time() + safe_eval( + (self.common_code or "").strip(), eval_context, mode="exec", nocopy=True + ) + executing_common_code = time.time() - start_time + log( + "Evalution context is prepared. Reading project data: %05.3f sec; Executing secret code: %05.3f sec; Executing Common Code: %05.3f sec" + % (reading_time, executing_secret_code, executing_common_code), + LOG_DEBUG, + ) + cleanup_eval_context(eval_context) + return eval_context + + +class SyncProjectParamMixin(models.AbstractModel): + + _name = "sync.project.param.mixin" + _description = "Template model for Parameters" + _rec_name = "key" + + key = fields.Char("Key", required=True) + value = fields.Char("Value") + description = fields.Char("Description", translate=True) + url = fields.Char("Documentation") + project_id = fields.Many2one("sync.project") + + _sql_constraints = [("key_uniq", "unique (project_id, key)", "Key must be unique.")] + + +class SyncProjectParam(models.Model): + + _name = "sync.project.param" + _description = "Project Parameter" + _inherit = "sync.project.param.mixin" + + value = fields.Char("Value", translate=True) + + +class SyncProjectSecret(models.Model): + + _name = "sync.project.secret" + _description = "Project Secret Parameter" + _inherit = "sync.project.param.mixin" + + value = fields.Char(groups="sync.sync_group_manager") + + +# see https://stackoverflow.com/a/14620633/222675 +class AttrDict(dict): + def __init__(self, *args, **kwargs): + super(AttrDict, self).__init__(*args, **kwargs) + self.__dict__ = self diff --git a/sync/models/sync_task.py b/sync/models/sync_task.py new file mode 100644 index 00000000..5de7801c --- /dev/null +++ b/sync/models/sync_task.py @@ -0,0 +1,167 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import logging +import time +import traceback +from io import StringIO + +from odoo import api, fields, models +from odoo.exceptions import ValidationError +from odoo.tools.safe_eval import safe_eval, test_python_expr + +from odoo.addons.queue_job.job import job + +from .ir_logging import LOG_CRITICAL, LOG_DEBUG + +_logger = logging.getLogger(__name__) + + +class SyncTask(models.Model): + + _name = "sync.task" + _description = "Sync Task" + + project_id = fields.Many2one("sync.project") + name = fields.Char("Name", help="e.g. Sync Products", required=True) + code = fields.Text("Code") + active = fields.Boolean(default=True) + cron_ids = fields.One2many("sync.trigger.cron", "sync_task_id") + automation_ids = fields.One2many("sync.trigger.automation", "sync_task_id") + webhook_ids = fields.One2many("sync.trigger.webhook", "sync_task_id") + button_ids = fields.One2many( + "sync.trigger.button", "sync_task_id", string="Manual Triggers" + ) + active_cron_ids = fields.Many2many( + "sync.trigger.cron", + string="Enabled Crons", + compute="_compute_active_triggers", + context={"active_test": False}, + ) + active_automation_ids = fields.Many2many( + "sync.trigger.automation", + string="Enabled DB Triggers", + compute="_compute_active_triggers", + context={"active_test": False}, + ) + active_webhook_ids = fields.Many2many( + "sync.trigger.webhook", + string="Enabled Webhooks", + compute="_compute_active_triggers", + context={"active_test": False}, + ) + active_button_ids = fields.Many2many( + "sync.trigger.button", + string="Enabled Buttons", + compute="_compute_active_triggers", + context={"active_test": False}, + ) + job_ids = fields.One2many("sync.job", "task_id") + job_count = fields.Integer(compute="_compute_job_count") + log_ids = fields.One2many("ir.logging", "sync_task_id") + log_count = fields.Integer(compute="_compute_log_count") + + @api.depends("job_ids") + def _compute_job_count(self): + for r in self: + r.job_count = len(r.job_ids) + + @api.depends("log_ids") + def _compute_log_count(self): + for r in self: + r.log_count = len(r.log_ids) + + @api.constrains("code") + def _check_python_code(self): + for r in self.sudo().filtered("code"): + msg = test_python_expr(expr=r.code, mode="exec") + if msg: + raise ValidationError(msg) + + @api.depends( + "cron_ids.active", + "automation_ids.active", + "webhook_ids.active", + "button_ids.active", + ) + def _compute_active_triggers(self): + for r in self.with_context(active_test=False): + r.active_cron_ids = r.with_context(active_test=True).cron_ids + r.active_automation_ids = r.with_context(active_test=True).automation_ids + r.active_webhook_ids = r.with_context(active_test=True).webhook_ids + r.active_button_ids = r.with_context(active_test=True).button_ids + + def start( + self, trigger, args=None, with_delay=False, force=False, raise_on_error=True + ): + self.ensure_one() + if not force and not (self.active and self.project_id.active): + _logger.info( + "Triggering archived project or task: %s", trigger.trigger_name + ) + return None + + job = self.env["sync.job"].create_trigger_job(trigger) + run = self.with_delay().run if with_delay else self.run + if not with_delay and self.env.context.get("new_cursor_logs") is not False: + # log records are created via new cursor and they use job.id value for sync_job_id field + self.env.cr.commit() # pylint: disable=invalid-commit + + queue_job_or_result = run( + job, trigger._sync_handler, args, raise_on_error=raise_on_error + ) + if with_delay: + job.queue_job_id = queue_job_or_result.db_record() + return job + else: + return job, queue_job_or_result + + @job(retry_pattern={1: 5 * 60, 2: 15 * 60, 3: 60 * 60, 4: 3 * 60 * 60}) + def run(self, job, function, args=None, kwargs=None, raise_on_error=True): + log = self.project_id._get_log_function(job, function) + try: + eval_context = self.project_id._get_eval_context(job, log) + code = self.code + start_time = time.time() + result = self._eval(code, function, args, kwargs, eval_context) + log( + "Executing {}: {:05.3f} sec".format(function, time.time() - start_time), + LOG_DEBUG, + ) + log("Job finished") + return result, log + except Exception: + buff = StringIO() + traceback.print_exc(file=buff) + log(buff.getvalue(), LOG_CRITICAL) + if raise_on_error: + raise + + @api.model + def _eval(self, code, function, args, kwargs, eval_context): + ARGS = "EXECUTION_ARGS_" + KWARGS = "EXECUTION_KWARGS_" + RESULT = "EXECUTION_RESULT_" + + code += """ +{RESULT} = {function}(*{ARGS}, **{KWARGS}) + """.format( + RESULT=RESULT, function=function, ARGS=ARGS, KWARGS=KWARGS + ) + + eval_context[ARGS] = args or () + eval_context[KWARGS] = kwargs or {} + + safe_eval( + code, eval_context, mode="exec", nocopy=True + ) # nocopy allows to return RESULT + return eval_context[RESULT] + + def name_get(self): + if not self.env.context.get("name_with_project"): + return super(SyncTask, self).name_get() + result = [] + for r in self: + name = r.project_id.name + ": " + r.name + result.append((r.id, name)) + return result diff --git a/sync/models/sync_trigger_automation.py b/sync/models/sync_trigger_automation.py new file mode 100644 index 00000000..fd5e5e6b --- /dev/null +++ b/sync/models/sync_trigger_automation.py @@ -0,0 +1,44 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import api, fields, models + + +class SyncTriggerAutomation(models.Model): + + _name = "sync.trigger.automation" + _inherit = ["sync.trigger.mixin", "sync.trigger.mixin.actions"] + _description = "DB Trigger" + _sync_handler = "handle_db" + _default_name = "DB Trigger" + + automation_id = fields.Many2one( + "base.automation", delegate=True, required=True, ondelete="cascade" + ) + + def start(self, records): + if self.active: + self.sync_task_id.start(self, args=(records,)) + + def get_code(self): + return ( + """ +env["sync.trigger.automation"].browse(%s).sudo().start(records) +""" + % self.id + ) + + @api.onchange("model_id") + def onchange_model_id(self): + self.model_name = self.model_id.model + + @api.onchange("trigger") + def onchange_trigger(self): + if self.trigger in ["on_create", "on_create_or_write", "on_unlink"]: + self.filter_pre_domain = ( + self.trg_date_id + ) = self.trg_date_range = self.trg_date_range_type = False + elif self.trigger in ["on_write", "on_create_or_write"]: + self.trg_date_id = self.trg_date_range = self.trg_date_range_type = False + elif self.trigger == "on_time": + self.filter_pre_domain = False diff --git a/sync/models/sync_trigger_button.py b/sync/models/sync_trigger_button.py new file mode 100644 index 00000000..efbf39e6 --- /dev/null +++ b/sync/models/sync_trigger_button.py @@ -0,0 +1,34 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import fields, models + + +class SyncTriggerButton(models.Model): + + _name = "sync.trigger.button" + _inherit = "sync.trigger.mixin" + _description = "Manual Trigger" + _sync_handler = "handle_button" + + name = fields.Char("Description") + sync_task_id = fields.Many2one("sync.task", name="Task") + sync_project_id = fields.Many2one( + "sync.project", related="sync_task_id.project_id", readonly=True + ) + active = fields.Boolean(default=True) + + def start_button(self): + job, _result = self.start(raise_on_error=False) + return { + "name": "Job triggered by clicking Button", + "type": "ir.actions.act_window", + "view_type": "form", + "view_mode": "form", + "res_model": "sync.job", + "res_id": job.id, + "target": "self", + } + + def start(self, raise_on_error=True): + return self.sync_task_id.start(self, force=True, raise_on_error=raise_on_error) diff --git a/sync/models/sync_trigger_cron.py b/sync/models/sync_trigger_cron.py new file mode 100644 index 00000000..1613593d --- /dev/null +++ b/sync/models/sync_trigger_cron.py @@ -0,0 +1,64 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import api, fields, models +from odoo.tools.translate import _ + + +class SyncTriggerCron(models.Model): + + _name = "sync.trigger.cron" + _inherit = [ + "sync.trigger.mixin", + "sync.trigger.mixin.model_id", + "sync.trigger.mixin.actions", + ] + _description = "Cron Trigger" + _sync_handler = "handle_cron" + + cron_id = fields.Many2one( + "ir.cron", delegate=True, required=True, ondelete="cascade" + ) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + vals.setdefault("name", vals.get("trigger_name", "Sync")) + return super(SyncTriggerCron, self).create(vals_list) + + def start_button(self): + job = self.start(force=True) + return { + "name": "Job triggered by clicking Button", + "type": "ir.actions.act_window", + "view_type": "form", + "view_mode": "form", + "res_model": "sync.job", + "res_id": job.id, + "target": "self", + } + + def start(self, force=False): + if self.active: + return self.sync_task_id.start(self, with_delay=True, force=force) + + def get_code(self): + return ( + """ +env["sync.trigger.cron"].browse(%s).start() +""" + % self.id + ) + + def name_get(self): + result = [] + for r in self: + name = _("%s: every %s %s") % ( + r.trigger_name, + r.interval_number, + r.interval_type, + ) + if r.numbercall > 0: + name += " (%s times)" % r.numbercall + result.append((r.id, name)) + return result diff --git a/sync/models/sync_trigger_mixin.py b/sync/models/sync_trigger_mixin.py new file mode 100644 index 00000000..ac75137b --- /dev/null +++ b/sync/models/sync_trigger_mixin.py @@ -0,0 +1,70 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import api, fields, models + + +class SyncTriggerMixin(models.AbstractModel): + + _name = "sync.trigger.mixin" + _description = "Mixing for trigger models" + _rec_name = "trigger_name" + _default_name = None + + trigger_name = fields.Char( + "Trigger Name", help="Technical name to be used in task code", required=True + ) + job_ids = fields.One2many("sync.job", "task_id") + job_count = fields.Integer(compute="_compute_job_count") + + def _compute_job_count(self): + for r in self: + r.job_count = len(r.job_ids) + + @api.model + def default_get(self, fields): + vals = super(SyncTriggerMixin, self).default_get(fields) + if self._default_name: + vals["name"] = self._default_name + return vals + + def name_get(self): + result = [] + for r in self: + name = r.trigger_name + if r.name and r.name != self._default_name: + name += " " + r.name + result.append((r.id, name)) + return result + + +class SyncTriggerMixinModelId(models.AbstractModel): + + _name = "sync.trigger.mixin.model_id" + _description = "Mixing to fill model_id field" + + @api.model_create_multi + def create(self, vals_list): + model_id = self.env.ref("base.model_res_partner").id + for vals in vals_list: + vals.setdefault("model_id", model_id) + return super(SyncTriggerMixinModelId, self).create(vals_list) + + +class SyncTriggerMixinActions(models.AbstractModel): + + _name = "sync.trigger.mixin.actions" + _description = "Mixing for triggers that inherit actions" + + @api.model + def default_get(self, fields): + vals = super().default_get(fields) + vals["state"] = "code" + return vals + + @api.model_create_multi + def create(self, vals_list): + records = super().create(vals_list) + for r in records: + r.code = r.get_code() + return records diff --git a/sync/models/sync_trigger_webhook.py b/sync/models/sync_trigger_webhook.py new file mode 100644 index 00000000..ac569764 --- /dev/null +++ b/sync/models/sync_trigger_webhook.py @@ -0,0 +1,98 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import api, fields, models +from odoo.http import Response, request + +from .ir_logging import LOG_DEBUG + + +class SyncTriggerWebhook(models.Model): + + _name = "sync.trigger.webhook" + _inherit = [ + "sync.trigger.mixin", + "sync.trigger.mixin.model_id", + "sync.trigger.mixin.actions", + ] + _description = "Webhook Trigger" + _sync_handler = "handle_webhook" + _default_name = "Webhook" + + action_server_id = fields.Many2one( + "ir.actions.server", delegate=True, required=True, ondelete="cascade" + ) + active = fields.Boolean(default=True) + webhook_type = fields.Selection( + [("http", "application/x-www-form-urlencoded"), ("json", "application/json")], + string="Webhook Type", + default="json", + ) + website_url = fields.Char("Website URL", compute="_compute_website_url") + + @api.depends( + "webhook_type", + "action_server_id.state", + "action_server_id.website_published", + "action_server_id.website_path", + "action_server_id.xml_id", + ) + def _compute_website_url(self): + for r in self: + website_url = r.action_server_id.website_url + if not website_url: + continue + if r.webhook_type == "json": + website_url = website_url.replace( + "/website/action/", "/website/action-json/" + ) + r.website_url = website_url + + @api.model + def default_get(self, fields): + vals = super(SyncTriggerWebhook, self).default_get(fields) + vals["website_published"] = True + return vals + + def start(self): + record = self.sudo() + if record.active: + start_result = record.sync_task_id.start( + record, args=(request.httprequest,) + ) + if not start_result: + return self.make_response("Task or Project is disabled", 404) + + _job, (result, log) = start_result + return self._process_handler_result(result, log) + else: + return self.make_response("This webhook is disabled", 404) + + def get_code(self): + return ( + """ +action = env["sync.trigger.webhook"].browse(%s).start() +""" + % self.id + ) + + @api.model + def _process_handler_result(self, result, log): + if not result: + result = "OK" + data = None + headers = [] + status = 200 + if isinstance(result, tuple): + if len(result) == 3: + data, status, headers = result + elif len(result) == 2: + data, status = result + else: + data = result + log("Webhook response: {} {}\n{}".format(status, headers, data), LOG_DEBUG) + return self.make_response(data, status, headers) + + @api.model + def make_response(self, data, status=200, headers=None): + return Response(data, status=status, headers=headers) diff --git a/sync/security/ir.model.access.csv b/sync/security/ir.model.access.csv new file mode 100644 index 00000000..8cde8dc1 --- /dev/null +++ b/sync/security/ir.model.access.csv @@ -0,0 +1,29 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_sync_project_user,sync.project user,model_sync_project,sync_group_user,1,0,0,0 +access_sync_project_dev,sync.project dev,model_sync_project,sync_group_dev,1,1,0,1 +access_sync_project_manager,sync.project manager,model_sync_project,sync_group_manager,1,1,1,1 +access_sync_task_user,sync.task user,model_sync_task,sync_group_user,1,0,0,0 +access_sync_task_dev,sync.task dev,model_sync_task,sync_group_dev,1,1,1,1 +access_sync_task_manager,sync.task manager,model_sync_task,sync_group_manager,1,1,1,1 +access_sync_trigger_automation_user,sync.trigger.automation user,model_sync_trigger_automation,sync_group_user,1,0,0,0 +access_sync_trigger_automation_dev,sync.trigger.automation dev,model_sync_trigger_automation,sync_group_dev,1,1,1,1 +access_sync_trigger_automation_manager,sync.trigger.automation manager,model_sync_trigger_automation,sync_group_manager,1,1,1,1 +access_sync_trigger_button_user,sync.trigger.button user,model_sync_trigger_button,sync_group_user,1,0,0,0 +access_sync_trigger_button_dev,sync.trigger.button dev,model_sync_trigger_button,sync_group_dev,1,1,1,1 +access_sync_trigger_button_manager,sync.trigger.button manager,model_sync_trigger_button,sync_group_manager,1,1,1,1 +access_sync_trigger_cron_user,sync.trigger.cron user,model_sync_trigger_cron,sync_group_user,1,0,0,0 +access_sync_trigger_cron_dev,sync.trigger.cron dev,model_sync_trigger_cron,sync_group_dev,1,1,1,1 +access_sync_trigger_cron_manager,sync.trigger.cron manager,model_sync_trigger_cron,sync_group_manager,1,1,1,1 +access_sync_trigger_webhook_user,sync.trigger.webhook user,model_sync_trigger_webhook,sync_group_user,1,0,0,0 +access_sync_trigger_webhook_dev,sync.trigger.webhook dev,model_sync_trigger_webhook,sync_group_dev,1,1,1,1 +access_sync_trigger_webhook_manager,sync.trigger.webhook manager,model_sync_trigger_webhook,sync_group_manager,1,1,1,1 +access_sync_job_user,sync.job user,model_sync_job,sync_group_user,1,0,0,0 +access_sync_job_dev,sync.job dev,model_sync_job,sync_group_dev,1,0,0,0 +access_sync_job_manager,sync.job manager,model_sync_job,sync_group_manager,1,1,1,1 +access_sync_link_user,sync.link user,model_sync_link,sync_group_user,1,1,1,1 +access_sync_project_param_user,sync.project.param user,model_sync_project_param,sync_group_user,1,0,0,0 +access_sync_project_param_dev,sync.project.param dev,model_sync_project_param,sync_group_dev,1,1,1,1 +access_sync_project_param_manager,sync.project.param manager,model_sync_project_param,sync_group_manager,1,1,1,1 +access_sync_project_secret_user,sync.project.secret user,model_sync_project_secret,sync_group_user,1,0,0,0 +access_sync_project_secret_dev,sync.project.secret dev,model_sync_project_secret,sync_group_dev,1,1,1,1 +access_sync_project_secret_manager,sync.project.secret manager,model_sync_project_secret,sync_group_manager,1,1,1,1 diff --git a/sync/security/sync_groups.xml b/sync/security/sync_groups.xml new file mode 100644 index 00000000..f003cb4e --- /dev/null +++ b/sync/security/sync_groups.xml @@ -0,0 +1,37 @@ + + + + + + Sync Studio + User: read-only access; + Developer: restricted write access; + Manager: same as Developer, but access to secure staff. + + + + User + + + + + Developer + + + + + Manager + + + + + + + + + + + + + diff --git a/sync/static/description/icon.png b/sync/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b43a0a135f903a4c0c401f03a8690fbbd021a2ab GIT binary patch literal 3035 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 +
+
+

Sync Studio

+

Synchronize anything with anything

+
+
+ + +
+
+
+

+ Customize your integration right in Odoo backend! +

+
+
+ +
+
+
+ +
+
+
+

+ Disable part of integration tasks if needed. +

+
+
+ +
+
+
+ +
+
+
+ +
+ Key integration tools: +
    + +
  • + + Cron: execute custom code by cron schedule +
  • +
  • + + DB Handler: execute custom code on updates in database +
  • +
  • + + Incoming Webhook: process data/event send from external system +
  • +
  • + + Manual Triggering: execute custom code manually +
  • + +
+
+ +
+
+
+ +
+
+
+ +
+ You can check existing solutions based on this module. There is no module that fits you needs or you need an update, send a request to sync@it-projects.info . +
+ +
+
+
+ +
+
+
+

Open Source!

+
+

+ You can find our open github repository via the Website link in the module description above. You are welcome to make a contribution there! It could be either: +

    +
  • a new module
  • +
  • an update to existing module
  • +
  • + an issue with the data xml file attached (generate one via Action -> Export to XML button in project form) +
  • +
  • a bug report
  • +
  • a feature request
  • +
+

+

+ Your contribution will make other Odoo users happy , while IT Projects Labs will assist you on it: +

    +
  • we will test the updates
  • +
  • we will check bug reports
  • +
  • we will document the modules
  • +
  • we will port modules to the new Odoo versions
  • +
+

+

+ Sincerely, Ivan Yelizariev. +

+
+ +
+
+
diff --git a/sync/static/description/project-tasks.png b/sync/static/description/project-tasks.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5e6cac624203f4eab750564b1ec122668e480c GIT binary patch literal 113586 zcmd?RRa9L`*9DpYfdmhFaEBb+U4sU9cXxt21b26LcXxLW9^BpC;hy}TboV#9$G9)| z>5j1<>R9cys#dL9HRs$XNLo@D4jL2s-Me>i-$Vpt-@StfefJJb=OZNO9U^s#p?B}_ z-+dF{lXucQUV)LHxl4O{D_|YW^ce>TdA);%hD3!$YK7e5GMy1p8|$~MoGd#%EH`Ju zYN>n4c)NI(RAE{xlI5@i2wH&yq5zKU`QG9{pY{EzN1EV ziuC(@4E*tT7cb8HPoes}fB)f+k0RQ{db|(oFL|iG-9H&M^BLq3r0?Ik^V>%VA$rKax0n|K6Fm}|2m|MzjIxIyrj368 zcOKnIcOEP7EAEM2GNG~G%TJG&^gGliA37`-UlT5GON`p%&CH&h>QHR|B>YJa8dB9= zk_oiGnURJM)c2~ab8TR8j`lGXRjRE3yM+W?)KyEoCr!=^#k`>EY&-H$rAp~8N2Q4? z<#~MEBV0)%36@q4q4n9-JIz$p@P{9tM6|DeXha5-v90PzU0T_8Pokyi?=-6qzgM_M z)O08KsBo&(+H^rU7f>cQrTN#e@Pg9h&AZIjXmL=cR6sCSi>ur}TF0U?UF*!2yrW{I zkJnlsk$U@4U*ms^)4aYl?>8(;F%V(2bb6G&kNQhC9!XkM?>y-g z$(#LLTGK&rfJff|phG2!F7gxjO|-;Qy{_ zI2hwPoP#xo?sKULuO63sUzWh_Yg9)n#hOr#_R>{q>XG@h`7}bm*M6;Sh?1ikJ*7QNcbc`QqDJtF`bk$pZo`yp zhr{g#^(LE@tFT!JdV2@#3oo2xRtMBP6%1l4>dlh@i9(LKHio+Tqi*C4%u$Vu&9#br zW=uemRk72B+I%(agyVp7uc_GwCCRd$qg{JSZpHHA^h~R@_pOXOD&^_yfsRk6?xlH76iDE`8zaS$gPTiRy??^i`2`_jz~7!k6@ONLRrM^wD>N>zBK~ zAJ7Ll8d*1HYJSQU?Lp4T0esFQ<1Oh=QHxE8vv%=>H(8iZPAi`+ZcoC5zdwFy6zv`T zG#V@;cYZ-;E>f|isUUzIVsytV7dfPMhN5kwT>Q)rU;%pXBl0}Eb(uE`omR!u`DoblXot?78P#xlp1A;qj__ z#$FG=d$V(&x{D6Mrk;FIUZHbm2fp4a&}sz@G35b=}k`JN5xi_23ADiQiw+q zAcpCT*Rqs|#yw&9IpFRVCAvm!=@uu0^5*W6sHmR&0tx*|HkvFXxCwx|QEX&8azQ{D))i^MNBf3aO!cTC#MnR_96HjkKBQx!Y7$>3M z3E}yDN6Va(cJ6UH^GgbKx|s*EaI>2SPeL#^-)t9DTtj%edwTwQij@;7xBnItcV0*Z zx(_5gA^!2F+6}G;?O9cJuGJ{4HI2@J7OsYwp8d>_5?jbOUpiv05`wcW4f9gR36quy z+(Ujv8)&u5=DDT-=>Wga5}yw~NQ_3x93)0FVt1@iy`7c^NoikXj+AP|ge>f=VT~fj zZiYR8fBeET_Gllr11s9V6spGRAE^hVN?F*7dMa?`5Wo%V9Q2!3-KuE0)88m5~#H<)E_l8g30Yxim^4$T}LV?w~XjkYi#+NcjH zp^Sh8>Co4(iKI479g2H(lYwhx$DE!6{SEOBkdFfgV_dt_H(DQvbf}iM5!s9 zj*Ny3swO{bmZRRJnU#yAD86+f+8H#_2j{%l#9|q8!DMm{`=hp~4f-Lg z!RRDHW4Thj=$(oA6n?ayM9)&ah!w{9KxmCh4?c<5aub<(Q)3j z=fk7>HQPxmCVW{kTxhYjOMAV9n}i?7zO+4(T!4ceSzrmy*8|kjy``D~AQiCRZMqjZ zs*TmLJ#cb@djMTH{IVC>%h;{>T;b_lqi;*SB&dmqR+V-X%JxBJuHvb`o-O($>(WSc z3O{>B6UAKN^=Ie^mv6#}roHiokvZ#fud2KS3gCe(R6o8w(mV2dDIR$euUCt?unlFb9{w1d7Ez1&qWg`*Nxw)rwLhwpFtBFCS(ZUG=$+l>)w&f709#3@Xz&P|ZGNvFY@O$z<6U69?xV#oDGvLd zqdjJHK;2Gk?b&#{L_#t&IlJrhz*M*;GWzEiC!_Jx6`|812H#su-t!;tpWR1DDGgyV zcJ=9uc9q$k6m-jLZC>Kh6y^`?^<$xPoTKJ}mv=eaZEd-1)G3>d#?dSZ`@sfx)Ctfz z8rbm8$-P+`GAdTm=`nrDWlEp0@CI^!l^e@zQ&SM0SPcv@FHnTqEi@?;b$^^ImPrc! z_JW@#zT;ZoOmQKnC-U*AP<*pfU2$}8*zw%vdrP+n5MSjU#qAy=$z7OUET-?U%pg3p zD`nl+DIeh|cv1D6Gap?ZLE9vbs1Cm&x*Gm&f(C@n>%G~mbRxf~1G+!lQLy5}nKvb~ zC3W`l&1(^3@Q16G$cFi^BB6MgVVDXg)G09&Oe%;u@~aYW8=a8C28O#I>OB%SP6I8@ zolidqIc?z0_ITLtxhapK?5c0KDhQj~u`m`d(N)wP(^+(<*+8ScWo1b(L+ zwV=anl6Q*h?v{myZr@U$4C4SNHUi|dbyeA$92c&98x2X98=!NHT+DmichHun2XTye&<2jgOsbL3zN6Uu8=GUdM4FTe-E2mI} z=8E|dng*-Y+enJ+x0$XMF3}qq4?YtMKbZvTcG%FPAx8t!>S}1Nf*fl~6WNNu>?&ks zQOQdLH8Iwbq9w>0$1iV>;ynI#2ci>)C8-bPKRnkwcf(z0>(#Fx4KK*uC^%#X;S7Cm za-V7iBcD(gTI3o%RsvUfe9L8COpIuMZY6a+AKY2d>bhZ{v{Eh?duJnoH?Y5MrFqFH zb90Q!gwo>})?K#YS!ElB>&ZK#`N_}~9zh5VyK4(0p@kD19%+>Fs0Yy#ZLN{=EjH`v z$Cm^pC3Wg|s4I3TjTh#A7DyS7dhP;_r!WzZ;_$l-@hu@yc7bA*BG-4@v6|KDHtTNY z^XN>5-U-JC<(1Uv{NP}{Nn-}A`P5Ag3mOmh28w|B+?X<7?DsFqv^;^{VNW7dm6<`| zMysQU!*OHz=3bNEvqkAuGTfrf7ByQ_XYec}A&*$lt@+s$Wf7p~PDsi|4ZcN8tx}2v zce`lwU^!q_7K0~6p#(UJUQM53LWgmFMgyYHjCBqUpnZphzsPSxnv@BfHOe87z!P8Y_jY>Im~N8ANx zgV+Xx;8pdEoxMNMob$+!tQ4Wa9ZcVEOJ6EZKp;o9yDQC7hgOGWe)UxQuEgDG+QHJ9 zb#Mq=D%bR=)~?!&Cyn<&g!Xu#3l=w%9c)OH-p~^pfZg}5eaYvhKMXCcXm~Mv2%SBr z+`;ixEd<_kAcg{Ze%*@cDr^Vyb9vevcWwmg0ERvKF^*9Ql#;T*=n>X@!WmgT8pc!JiQM6iHtgl%41a-yBpJb z%DR`zVmZ97@+*MXfIT(`tfxt#b=QrQ!mI$C4Lk=6dnr@?+f3PaX$NApLrg$XkCU?s z<;I*YbBDFBd4yz*O@S3|a&-PdUuz!tN0VGUNeT-YP-bqXr8a>j!Yq=N72;j_(4Us) zac64InK__fwvVwA@GS<6&O%C0&yYkEvB~(C!m5gWeCEPd;Ka(nA~@-cXe7fX=24m) zPy;MyG?0!m5LipKJ-0ndwwFC$Om3PGTa(26+F6Zjl1L1aawhPHy*Tzy(-?W zf(39t;2;^(Y*T1xEB+#kI#)~xNgdQztpY5l^CbO6UfZAYP4O!;`;@CON{{aIr`x-J zdHLQwJfj#5#hV}SUrplw*gZI%z{Z(EDI1De?Y=}DnkEQ_9x}0zlKKujGo=mzvji5f zR&x-nTu5Pcc57S?sfJ};(L$!C%jgA!eomor>IMIckhDbm~QS#5@yLSG#0Hk zcQ}^nY&Vikrf!anDTu4F$9@^5_B6l!n%B(t$dR%1*0?&FJ%3`Zzz6=Z|AxcWwb3rR z?#M>x*%(a#rD@p;$Ur2th~8HJL5Ld0W+^`n?rYp;qP;#$WV$aTc+RPQ`FH9QJsRBa zifT=^NpU~FP(D|+r2Fr>P~U;)KshBaI-bif^5&1?_VT*Bir$_Xo>&?ch5GwG=mGH5 z1;=++h>g@vrYASshL%h_Od5Dpu>cynS6Bg@*nrs+>mGNrl+Hp2r8-iIP-5C<+fWx| zMAXo^?_LblM{Ga^tEwP5fDyZCg_E49RtzDXIah#(%NI5??goWcP?lTZhKM^v7gmUr z)!D{d_h}mS9b#&<)63d>+^fnvu#^X!{Dj?`)e+5%Q!uiiP4OwyE#O!%yJaVLhx9_90%cW!2*v8gP&igm&UW!>hjl6>P0`g<6Y{R8ywc8Ki4yH_T=3C~aS&b5vz z{drke6mfzV3GDSI%DJ^UJ!LibC6ZHJYJRgL0eGQr!u4m*9GJEQeR~ztvpng6Kq(p9 zQ!EEmT;chlP)7sTa;ys7W<|c1aiW8BWj7)(na_(CIZ0cdUOnyZAKB^ywvQ#nYyCvZ z%>c6*(S{YY$(Cd5R7QSL%|!22ztCLisHbU6se=>cbsLN1a1=Jx_(xUGnP+>J>#2Ma zZZMDId!cJf==Z9OqQtekxebL^`^bp0vMP0IraiMrw=#2tn*_po6&;MK8Jm9A*)ArM z+ySgCDU01LPc~)5C0^vcycZPX=38=9+a@ z+W?mc!*nNCjz$ogIs*X<`b%ggcilYMG}A`6y{Vh96eleY60k)=3h{C+?;Pa3WRhpw z$0Mzu-q#zXO!mX;juVTNF{G!cH4L1}zj4;ruGDi!>%kGd(Hf40bthK`Y^RRj%+bnv zmxG&+R8{cA(lR00KhjM>$G)?Mkoh3|tMY|@_lF45p1+Rt9EwCF#ZgvMc95Ki)q&;B#|_-jdUZ zRsbG$Qz+!+m#gd6mRh(72s92Rd+-*!hK>nE#lq6hQb-d`YKSfNX2I^^Oyc7Z_{VS!Wvx%NGMWq&V8y(gz~a@dQ1JP`8pQ3h9*)5t-uQdt7AQ_bGxcV-YjU zvia?eLQ&`GT_0e?`>HF;O6TWeVleKr74Hp-%%c-sT5UnBNv@^ zMTX;3ws%huieM(SvFejMrzX-|zu`FB&<~!IJ`Fm9YLkg_ueb~6`P1)wIar{cVFf2r zYg+pPX@aHN@=e9n7`q0_!PGE;@hR-`S;wPc-l^EuKDmOoIe~w_9Y<}}@7K2%k-)=X z#j@6hV%h{PqO)H>S)7(2pheBeE=vhVf;#zXGHfWd^9J5YHGk3rW)cu1m%J4lfQ*1~n|VtvD$cO} zl^6YJvbN!91d*tF%;;D~OgT>H%;%NKMKqC;Zh5Eh*s`@>4rEvRJ#1VP4W}|@qQ@=7 z@oWzEB`YLl>)1;;)3>qhqizJj>4)UvJ4)YpPR0uPSS;kGs6SjAJ|eh$F10?5c1Qxp zGm6$MC?3t>iu!Bz{VBK<_4o7VBzWTs2n>+Fuk^w3{q& z$t~Vp5V;`X%+1yl#aB3@qN1*sloqJzk(MO6&eWS2Tp1P7qS>DQ#5?yCAL(sR1J*)* z-)T_;bWr5lHsJS5rhO|qU>D*i;06G{+|Si}Tu_ba?`L*wL4eALRZ&G~rdXyQ{ZZff z7Z`<9SQ@K3KYAkzMY5{;)UBf&v7l{f870&rEm;~R?W7$^K6U4Hi?C_6X-v^3ES(0# zYUHGp(8>z;)eJsB9lP9N*FRMkRl3hwlMBP@sJfxc8yY0k!l+LPZ@k@5GwVCFTFFf% zcMMZ``n#eEQSn$}wQo8AysBbf)EMqL&kWl{i3}1N-jAl@3S};e&+T%V7sa40marP$ zT0~4L`(@-ed*O7cVgkHsY=WlTn9DgdU1Lfv5s0ikD0Rr^1?#W~TTYp51OHq_j5W#A^Y(W z_IBk6Tn)2BAeSBE_Lby|38w{XH101sU`w8usrvW-XaQati83l|%A8!^sU0;_ZQtn^ zwD^~MbB)?kioCwlBsGctQ@J(@CaRn(j|`liaEnzT9c~wkCm$XbS8u(?VX}Zazg!O4pP;z_mMTvFg~gSyd#xIq=sqrYTo%^S+5kXoCzVz%S;( zcu2Vaa)V6D%>ljTr_PQTI*H_jph_6vCJlk>)hPn(+W-1oN+2G3?0Xp{qw}SpbUCyr z8#Ar~v#bNHEdyOtLH?TyJ63~M{;MzAo+@X3-v}lwwJI(Ec!J5!;q^@iN7})JL+g7O zw1V*0?(6-ThA+$Rk#JClRO9p%H1=D z(9<0RHRt|Reqp#Mq0Q&yhrjTjCphwRffPAU0T)xx%7kuN+1p6YByq~K9=?KhU8%Mh z3Lv;tkW8g*ynV3RVsZ`LTYAT%F9nN+y_@5y94v^ac~eb?n5H0B)|Sci?NmVUal>rs zTW7mqE2lbyxt=lW1xbKP%G9WG)7tk#Z9}S{EZr;WdL~6C$Bw1_i>oF6mEK5Q=62g) zLPpp$u4ssy5leVno&s#?Khuk!&o51lo(4?IS_me=^Kx#5W=E%h2(qpfSkS;%7b0-T z>s+6@)Nqf8Y0qCMiw_5^Hz)S(+}6-*x7_=+8#BtsEi*$~lc-LNU_?td7yUfsp}xQH zzk)FtGvS;oItbP*cboqv#U1tYGYD!jqk0#Zm8>Cr?4(`xZ50b{!}%Z^hPGklY*i3J?G=WSs4Z>{Gnsj3xFOb7{+ z*x5tV-=~=y#2EH4NuKfWnWm@rlDvF!Shx{4$zsQkwVt>kApeEHGjL@akw(na0#g$Y zi+?|*qDUd<2-?of@eUvagcqW3*WcB-&$H(wiTRP_o{bS)Mf(bt=kTGH#d11;V0-_u zp}j9QR+WtmnVfIfOPkAd5DDm&4{4?KN#TbNnze_4CyXl?99;gt5b@Mh%A2;qfNE0K z<2@skb;Z_~gn!`8zeOHdKW0ry@2(S!mo&((FT(HrA#A{@SjJ3i+u6l;mfR!>QVgGRu_&X4GtksfGE9U6R>D>0mLi@8=gfkTk3BXpKLeA>{;mS3K z%hP-I%uTLEa-zpsC2#f*xZux%nx8Hp)dmVj9S`yzypi$`zlxaYUvs^ZW@QEOO2PlF zn*ZGB>>)UBgAaYqd7@+Nj_9mB_1$088)P4S93ye041D>nE^3nZ_x3pnt-E3a793fU z8AcJvL)8a4hXz{2zIaBWquq`&CFK0smp|IPF<@(3ogza1f8S{!FF(lZp~im_)f5up zdqu&1{L38t>AN5m5bPiK`m>)uJ~C3{qYBZp|C6ZZ@V86|{Og|=)1TWQ6%hE}k2yYA z7>tNtR4DvE80E$O+oKi+$-}l%4r~Ci^ZbW5uh;#V=JhgvnXNLb4Ug7`KXoGZBbbnrMe{TP5{2>n*+W-G# znAe-2iS&R0x4Y3vj&apCFp90xCNmJec4Q6$Jdl2NPMPKWLu4(=uJ^k*7P3X|KOr5A z_U~U|p=Dh2$C!j}E4~p)%trKGJ!P8hCH1Tx<)D~r4GqglRbKDKe6-9R>*G+YeAG5s z$uFGQx8w5_=)brgWc~VbYA?oR`<#4;pL- zV3O9kDM)mnD0kMu#VSPU?-qXg6ph@34rEHERZ}QrV!z&qg2iBqZ^U0)dMRx0Zf{Vk z7Gp}vgGsk^DxCwcRo}vK)ARIX_aT33UaFsKFy6SJBx61=k!TWVzgOFZZ45D+dMsJk zt!QnuU^9z2OuAUa-c+a7N?{R@{PHK!1ZXPG2cexvY3b1}yOQn3m6G{qdV6JZm^0t?pmqBo9~2; zOh>oz#CIUT6VL4$-Agr>`!C^8Io}p3AHQrJ$v}rv7KnK0k$Kq0)05Pq&R0=sPVr*F z7050ml<1vr6F|80&{x+-#@qgpX8tezG=6jy5uC`$@B)d{q2$OI$laZP$Fo^W=Q|XFc4^m^!2^5N zTchSN)`H=Zu2mmNFb2Dd78X?hF|^!mD0!9xczrYynxI8ouC{VyOqZ$+f_L>XdYnCm zIQq?02<3(mvsdPEtyo{L@bn$zcnmqMI86y{kn>$??Ft zU1&XIJqeQw-mb^`q3I>?c*3v(gn~9cx_yP1>cZ@#{m!fP%3By%&eaxc9m| zp2Mq1;|VLhp)8nh*1HFKd00|k=Tg6z+E2bZxkhxsmT zB2|U~=G@AhPJ=*St|6LT{~YGn$atINV=$tfT~qnP@cV!d3@);s3Bkqv0dr#&%+=-; zt>+~I{){q6v+~-x*ef>HSQPWPeb`q>9f`9Q^;-SU?#CirqLxAL8BFaSzw7o(>X`GS zy|9h*_B}bHap`H#k5>%QFilA!i_G+*Cr!?a_SajuMX7mr6@SHJi^pI{C#|h7LxU~2 zt<;l3d&s-BHNMWe#$xjt0{32S*RW!wEoQDfJJ~tDbWazwelTB*@*}W=9NFz%D7INX z)ryguI?YEw8@E&$Z^2mY9a9?(J@@D58R>(Ck2l?4YCu?t^>2~<_LT5G^(BMl{>z#{ zs_(@5+lw5ril>K9MCnAOu@DQq7VwYkP$_g%Dp+XJ%x8Lt4e>6HvjNYYpK$EJhHd^AAOh~MpGh2(BK`pgQ^DGSB z$eTCJ8fB~nNY)q$W2!vl0Y)?DJ|M9<5y}ZQ`>&#vr~VoeZmDiGuFRbBqt`yxhs0{A zbV;C@ph+=;!Js)+9$ySa)J#Pd?a$ZPR=h5QTMK=FT8MJ-eU6qDAC~9a;p`!!-!XY| z#x%=W8|Ns(Q0u~acv;WS{QhzGZkM`EqMTon_#4EpsG zjomwBL-8IJV+R_~gTX4nziOXx;onC<2=(hdsWi30TG(ONzG|dN!ruL2w zF3pP6nah+%@&s%~b45Q-iNI^SAH%Teb@0{EwDG|apEr$MI{Hw*=N zE1^DzzInSOepeXQ3TOjK**59non%G~fQ;Zc6o<(8B*RJF2CV#oPq~I64wpR6M+_9v zAMF%$I%%|qIQl2MBZY*77%a6M>{bjP25jy*TcX#Ca*{X-c$c^vk> z)l~Awam=34_S*-ku^XD7c5xLAXJmD}6TM9@AE)hzD@P<8Dpp6{n>iwZ=*_IFZu7>` zs&0(@%DZ*=~7HrP_O?MXOT(4~kOsFaNM}BM?niM`ft3uWmzu7ZG z-faePK>6}0=HQzRx~rtx{*x?H&EvzuXuJ9oBnOX`yZ34BZ3KH*>sYd1(k`W`JGWniHSInD+YhnPRDsD`^B7A!H5scr?mz&EgYJ;7!PpjHs8a;NOtR}b0z63XX&1g#WuUY>+0yJo+ z>y{m_+V(jfEP+t-i%72wJQeV@FEGk%J`L0C`>?8(&L<%1)%>7f=N)Y#Z!d}hcn zFkJJW$2X;?t&XjBpM5{2(54*8_=7j~k);MO zEX;vjz2iJ(o0*T!@l@E}TC;)<&(>5>3Oy>d#=|E}n#C27kGIh6vd`&QA)r;8Zu%<@u*e49@lnY$>ge%J!#%;h@ILvbV_~#!5Z&2g{9OY@@ga!%=>~@} zidkD>^E ze8Y5h)y%(`VXnt!oVt4u@MnE<?QPs&+&)I2B$t$_ie4j@{q2eh&=G*t} zOF=!95M+0T)+SOid-=tIw5FQ{{925C57)h!JUq!?YT1bVA4XtADH5o8O&_o&X^1O2 zd7BpC^QZO$G12-Ov)QcYhbQZ2hU@3Xq0%@@+*R26Xe=Jyna3<` zEpEcV;hlO33Xv#3lm8QI)CnpLVgTUMc)Vp^HOB>lhc8R?PsRwT2EI-#LK6tP4tpP! zBkQw{B%>D44v5gI!a3V3flmt8iVdU;!yjv3H+?XdXuc=5FU~By@EFBE`RS&L2O*1m6KD%W%i+H5d zF+n1Fh-Mmb)Kx4NB4v%?ePR=JC^J0at8;I|4D+g?XHCkxg3Phz z(s>o8^t^+}qG=b>eT!cFZobf6U{x`us7Ja*Q&B_0Q>&>B(SuH<6WsQ${34(xEPsR2 z#Xi^qs+oho%*9IvO1QDm;ka>6R>F`iWfbcyoz%FWez)&|9gIl9;>WgmAeV?N2n2*O z$Z9ey+#dL!)Bc@er;k^Z8GlLPm$u;tZ{2oohbV>wO5^N+%6&h4HNhwl8At&_!g=h$ zY@v#ZfSg^y_UNBdA1Hak58jP;4jvcQ7QuyLcYy{T`ipFS6>4VEHRV-+y=hb|*UzSf zb2E7yXOPBfI*lWFwtnEVJlmpPhS2=^Ls$U!URi8P?}TS~QI|b9QCZH)PFQ^-5kI=5 zcJ^%AD-$9BC|7M$^Q-j+dru-$*6btvG&1T^%CB~hvC}Dshbx||$Gw$@1TBdID+U-> z7Ce9oYuq#BnbC)Zc{{o!l8A@RWoqntoAjQuh3$3Tp{YR8@GZH}mMG#odJ-Yey&PbD-Vx88!r6DmO)JU8h46 z5|ZZLAZNa0va>MhmI32FT&nxbxD0r3xqirkKv>RcK z{9Goq{uuzxS% zHArP7*ulL$^p`0~zkGKPUSyCTt5G^}++CW- zA5^VCz~+ z>y3?lckJm3N}r?#JIr!3O(m2JlC||vQc<>M1N4Ut1YYfJ*k@edPLVg*tNd&J+0GOJ zmBi*0_J%$$nU%{S6E>YEBxwoFQaG5-ENyw^tH}XB+o6IZm z-PFTU)YeO;uSj39HN)?2{R3q>T5!XK*j#HBvK;ty-(hW`W?ir>oUUu5oQ}L@2AUzD z^@r9R1yS{hvc0sNRarv+ngdlitxbdH7^qnA;{Nrd%D0A|5XqVuWp<#9%|SE+nri7V zJ+6XBGXUFsqD?u;wtB}9;y|kbgQb+U9GZy(C19l(Xi`>0TkKHUlG|+SqLd~h8#htE zR<>u{u&2UoC9(oEIcpz}Uj})JEk~7>kVT$B)uATkUw#U2QwQUxwo*Zhxep7Kk{FG~ zu7_c3T97+yCU&Cxi=L#c%=7)o!(YI(bw0FnUTwReG79*pZ?rXN@Px&$?nOJ~E%PT^ zyw2+<(1e1y*TiOuJ74ABT?zs#Rpb&E?r!1j%bDY2 zQdH`zQiFIh2EMSw`>ig-eE?^Ue(P7X#o&#Yw z0VU=@4|K1n)h35mKx2)&j*9I+C#}T`)6k3(02IM3J z;g!9hRCowz*QS#*MMrd$*8%cP$<9~F-W5CRiY}f2gTnpr*T5B1jJR}!|(A&zfrakd_Jf3Nw#oA^Cq!3=xyU` z*_1OUN>&zxFh&iOdn=(!AvzT0|9hQ=m5xcMD9lK z;+ebtKpV9nq6#GG2wtb{kN7B1Q7xTp8(w>DW{fOEd$v$sZ%VOs&{Ha5+3b01nosT$ z5n(9(!(aPFfw^LMGurb@ju1rF-Bq_~tI+K#gMLa29fipk8MxDELxM9aPu-h7GL^?+ zC-0SC!7I1`1;mF@6zcW0I=zGVoYp{`S*e#EXWS@xUN!I%gB1462Ty1mce$@i9VUu~lu6TC z?yM%O&npUv5>(afl81861O$gX{i@VK_cLUA9Q3$`L+F(<=rjJ3NBlP_@bhyl*O508RSk;@bxf!s(UMxO1;Wm$(QV`DtbNkzev!1M)fzZYFg&+2MobQI zte zbZY!YJnB2z6V%r`U)^k=#bZ+_l`p=Q$!y_GrTx;8frW0VnHq31=b>mw$ddStZBV!P zHL2<7!!Q=prg9J6wh5wW6!(^165wY;ZIRuOWd~_ga)K0b6B+!&tDu1Xjngf@^UM~8 z)s|li4+lCpLJEnFgf$s`TXFr3)X}Q7Nk2J~m`bA{r-fK7mFr%;lmN%b9@;3!6Blzn z1?i8cavKLM9Pq$pc8+y^ z6r&TaH`kju_$sc5n%pUpo=*Rv!+m5yH??z0kZ5vNU1x2HVqxcrGh`rnq3#5~DNjiH z=u<>WXYJ4nrk1Ukiojbhq(>bvL1b^-`Bae?n1L6s+wSHF-f}rsXcr}}5*b)s8^1FQ zyggpzSM&fv)}Y1-NjY^yi6>$UN7}mAU^1X1SQ;#~Psb+m<{%h#`VPSkdM4CC+21&P zYq7-y_)j1Is`d$W12>F=ba%pzF%lLp=eo0OAZqG9-fM> zCHHVOR+waV?{`_0)`~+2tXo1{HnfgEB4@Q;s}jB>FBqI#juTa&{$J3g4$wO2W4pu!J?FUI z6E=7cVu&T?j9SD5{4dGNnG0rt3s@+~ip!dMMCPzZj3LBY?K>v8Y0X*a*UPA}X?Y)4 z&#`5Qpd(Fm1jR-E66X=vdH1a|u_FSfs9}Cnc8>0l#eqHs$}UFx{)rJWx8kog@<-@e zXYK2cn4$@PsXG3Pey&F$MRx8-HK$Ht{LhZ{@0X3PAOih#RXY67)ZU-k5wReGFk)sW zcKmZ4#zu$q_-j%j2Y`(wm9~byL5oWkMBv(wq&?b@NeMt?+;h;7C&Z^gc zZBeN)AIbufrRr9x;uSi$X49>bqk1HV+g%)O2lWim{cBKhzk7-0DHYN3D0c*$u_QfH zx2`Gij??@*tPsk1)%M;G-$mCC;&MK`?3IHPkx(w)JtRRnpg1|#>GcM3hhnI)Fv>y( zG*u&Mp!2Xhx$;z=SXuN~s!#&TF=U?ZMT}=u1)S4<2M?zJ*atrnUq1+L0jl;piMTbt zyH(}!|9Fd#)A=$8zIfP@OxE$XY_EO&wC33z231;J`1<1{_hMs@$FqF=jhY;om(p%AoLnU3jJp~!AZXJT>hwk zF5fLW<8j0Ryc{N|;T6KHDeHMWJzlf(n2vytHQY+gSddb0@wlmDfGotW1w=T{hj209@TxV0mWg0OAPNC_Aa&^NaiG{X=U4D53#_Q=k4FamL_Y zAjqbuY~mp33iKc_q|b#%dN;Dqwnx3z_`lZvdiuZav?>y1^j|IYa>SX0g}bCwsuWm` z@N*l;w#z`|Z+E|^d_4*=a>5m4b&wZj+P?{IFJ{C>ytS0Y$JBJz3(`Kyr)tuzjTomUDJ-o=_h0FTn+G2*l~G>-5bQ#r@DS95&0`k2ir=*LmoEN6Xji z)AXACinq>REH#ZE?jziNB+T+BOHi|-TK3F}cP!8WMPNx)c3?OT~%FGU0wC--saqD zNnM3_wx;*NChcF(UN{Ci#41-Xh!;36JBxqF|Fb;K4uLI1eP-F8GnMZ8_V7Z!vKKY} z_(}97?*Y&MQPrVuyo9%Umk&kD^-f#k>5d_o53{j;$2-xfR?rBGEIh3vQ}GAF2GC&p z`6fOW7r*0@;^?t)aJFkU6j<>)kHw1Q4baiUUYSauZLuSMi!1LV(pgNhr|AH(-R2izT>4T=3?1YQA{7Kc_H4~VIlTUgO0C0pCtO<-oRlTUgy!%&^dz)#gLYD1ODCG!)Hyk z=R~clo%FkbDRU3^Q}k!S4z8JxPAggw%DZFBQSEytx=m*X<0(Az#rxBK-4rP=m3Ih1 z4~7%Vf@#9?|8k(+Td+LzoEjayi$^5Ok$w$l-NgsG&-Zm}yE6VDBgOtPT7l;F_Lj?Z)w*3&v=k^ z-`z#B&soI>iyf)c`K+3IzC@45`4gh1b>DLq3Yy1n(i&Ya%9l^qTz(IWS@ZE~5wWot zJxF3(7+pkLvwA>f)Px<^UqpY~^^I=!K-P_n|JH#2cdGrZ5L{M|_`Eu?4GbF6u5GKz z#Jg4Y+h5+=xcXHRFWcOHR}TYwVqZp;pHs)K#$u-rTlj8GufHte0m;5r3G}(b_c44u zd%wD_xpjH{E}w$bWSP@n$wowKqv_K};8T*TwSh%re{0S}F`bcWR9E)O2@2CL!9VWt zBqv~hShxNB#=-1rZQSs?|Dp%T<<7+5P6q4cQVhj2H^)*ZROGQs6CL2<#`m1L9Px=9 z8FI|~*6Qa?d>d-C&f`jTpyQ1=JaF+A4nG=D=czAfuCRLfRWPBysFc6G^*E`1q}szE zLuYgc&sN3gqyG0d5nFOf^NXe}e!m!Az6TW0JzD(szqm&fNwV8wz?q%6yGhrweW-1Z zzTD9Q7N zjHu7Kt#^s;CsC4}&f&3|^!Y`t`~#;P5e~V|uq@4~Pk+rXdvH4Uo>h+=rk!VK*X`IL z9JWY_jnNy44T&~%Kfix$2%cm1^u0hHd@$UN%2M84gG33Ox(N%t7?E1CA2(?dwkXJx zwD=>L7z7#mwu70xn*A>46bw~H#7=a^V{b{O!>ams3DR#5m3z-hguDGAUhsbYNn#L- z%tanUdJ)tayfeo@b`J!clV=tTTv9^#&f>{9|XVw;u=B2=tTkb^8uQ`c7vR#rUDG;f-sD zN7q`)_fAlLr6)`aYsq{gJ^r)C6~^+OxUCWS!PfhDF;@l+yQ>6{iM#JRaniz?1p@ zSz)eC&top*-3`->cS8lYn<+!5i|sFiQ(2_lV#KSTUe9$6`imw*1oKX5VWTLCc}RuW z1W`w~;M2l+&#EVzK9P%b=@YSv`O!#n}&#HFDWXVA%(?f5?ar z#iI?E#mZXtNDeF6$`m%i<&Ei-dmFQ^PRqQ3p*ka}E_;+u>Fo=C(9

DlrhfrqD{$ z4w-H(4RTytoU5@O=*ay5)2x99LCei-JKeZr|9=dWjb%8^e)b~(1#xWf6G#Nx9_%MV|xYvUDApLzz0Zoao zkm6n;EyKZ9j@)QsRLMM+>gY9USzDe489u{2_+y3MXpYKiH%H%Oo+{Nd5q6+Hem^JA zV|4NOW^|-;3p3^SA&O4cP_}fv*HnKDaN!s-3g8PF_`6qV$EjEoA-TV!yQ2n}?tSZN zdgP`9QaCZF?Q~)A5wwktihDxQqUDxvsj*F8B^lsCf=k;eiCbF9iKy|PHeK7lcvls} zEgd6&6n#smDDASCCwCymyJy7xJ4~y?m{}<{KMdgX80x1)m$dYs~FuCmvBVPC)z0rKdrW`W}{@aom@jr6~;SV!Qi&t8d|GehLX< zq|7g2 z$B|uj$OgL%N2NAH%WlO^p3!4N^?`k%1zL`70x|8+82m|Rn5(+Y6yBdhw6_8GXEhC4 zxAs!bguh6A$YM9iya?}dC#x0zb|SRvCUB&lggo}6{V^p2jEWft?LSwq0i3fI@3|K@ z9x*XA;Yg`^uBZGf2~nk-C+mjiKTcXpz2UZZl1r-~1-`0Z;jh1XJ>&kPdOd<-gCSDa zvEoIyIL4i7y@<-f|MzRsL5%ngV@{>VLUM-3?c2LZtr7HFe1^4(fd_LtejdVDIGUWx zA6e_ar!-HqWJM*c2{1{asD_Yn%H5RMjbr%$SGhEY_q#PcYEuqZ8jtJoyQ&E(hIWQL?Q7CR#W#x#2@NN;QxDqze>;>m}+`l~_>{mBITZ+;C`y$7~UbOkdr4YQRm@PwM|1jAKWqFhs zX`N?;@~`Zqa1uQh{b<2x|M<#4Rq^ghkV^;NlBO-#^r;Nf@jCHFYHDQRO9b#a{zuJW zSLP5Y*3e3newiz|K@?q?m4n8x_I9DxcBJ^P;kR~~AnxA5{Tk@!Z}%pz8sNU&U3=_b z^mp?iI&?OPp_^`z@P5~T`j9_YKo#bxhwX%Rlwv`J-0-;M*SIXz{-I<+^#{I#+%L22 zI9YYWtw@zK=2dsN5NXsSi_U%$AZOacc;g>e)a^mleU}NI^r&&YPW}OIs5`s_`a)?Voc{k$ zTX!6H7;m>b6$REmbWy@M!_w67HZQn(<%uE#O&(j$LgOKh(nsWfk%jaZSu_g}Bph>w zKRN=vx~=~ovdB?@BvCH`_FX?cY}Z5cvb(c&&+K2W!(}E*oih;8;(HCLiDH<2a}}aB zqEPf#;*_&Caef=o{M}P%YyclVeBWGaJj<7p-guMoH2Hs?pos(tCU@YPvs%@8@pw!4 zbM_g{|FL>O^Y<$pdWG&-f6~DI5O>}Bvk%G?_f-ZVM=|RhOvFeCxt%jX0lM}BWIchR zLZUW=e=C4H;_`@0xVw(ESERL#mijj6k5qs# zffpGBjs-l(NK2CVP=*8(g$(a&iCtPhcLaZ+h!IRt9maUGJtb^9MF${HWB4BphvZlAG@21-UjOmyzakZE!Yw#P z!ss&?vz!0b?>}F=)nRcVdUS(_{|v_eAneZ_AP7!2hI%(2TKc~pqlu&fa7reu zV)(Cr2XZI{fF}tlKyH8A?EmUL0Pg?Fd>|5q|KnLV;R#LK-}d%b9QcnT|GT{o8;GP> zBnq`oSb)L1e+J<{?huDH$>{Cn2|iR#yS)v zJlywqmoG9wZh;YW!Xk>{Lw+lK>RH{C`RlR!F7V>@?wc`;#+!$)6hk|Y{GR8g>Gv@m zXKpSX`aKpP5GXug+ct1mT_O@egcmIhho8Yg7tE98E_$N3?i@IN^Lh=#M-25Th;1#_ zN9_D*_=aXJcI)tIuk@9vErs!M7QhIs_#~Thx%fD+rNHQP-3AC$Mcj;nuyb|}-%^tp zvUA4p4W*NK+Z{2PIy?xyb;CIG9oq$`^cSt9%bu*;d+v zo*5E>g31PH?p}ut`ny5c0*{a-ChG6=eEaAqGIqs3x1|^BECRTneSIw)6ui4&RJ;(3 zrFzCd-v+M48 z=OO(Nrt(cQ`MOuYVc>=?Mk#y!fcv*AnYG zG(r6)l@%0qE$+R3(R~+iLA5K@iE%5s4Q2D+{K6ROWAIOl*?7V(+`o>iP~ozM`8Ih& zC0|*g^gjJ`ly41{kfrgOl=H<-nV<8dIPbys>64Vr7>zXnv*@kQsqaz4Fc1iZ}gU&jLbEBlqqXCp*1~GMv_2M#CFV*Kjm>;-<=&wRDs% z)PxaN!nJN0ID#WcsW<=zkW%*;J?ME1jfBr;x!SR#`wDgrMUVZD&b*p?t%q@Y02M1J z9|f)M{E@?bxQ5|294j0GPVl_L2Pblb#j_d>3vZ9ywsGYQt0Jb0DAQ|-pAC!?h#5Zm zoLxX0T~(d80%DGSn~(i>5f?Zi?~XN_4LAPC#Tb~g`gWsXD zQxb_LMFKVoM|9qoqFn6CMxztk(ET$>{1Zm}9ZW#y3}@J(n2g?=P6Al(OdzjFY^7nB zC}psZ_AX=XmHw&l{dVFw6JfNol*!G1^`Aft7zse@&1xGZqSWlS%HMu`1dwuP>@WU& z$a1(4V5~%S!M_Roj|K=A0vARlLFu$@X^I^e9LEhcq_cXi4a1AIr6u;MzVJrie|L0w z!2y(nqp2JVl8l@;Z)?%zr#-2O;Axx#<>bJ$J_JsLU&0EJ*3_AK;PX_CF>UDoJKu=l zcs;ghBp_JD^w`q$c_kHBmw^y^K9j8+I?aXY+-z_BhlO`N|KCK&$cABHMUIF>g(AxC zfa6`qs5jbNEf!1EY@wV-NK}9M4~GBk)+rHzs;ZGx@>S9D)uYbDUnGAD3JI|~L2Wdf z$eEBxB)aqY9vhx!k@&w;4#9?nu7P(m+*2i|Mnb3$F?n*{x31YD0fFPx7tqv&-SR{W zn<{{qZnoPj;a|i2pQHXN4@A4on8xpzJ37IAI6dtm0I{KKYP^2S>G!g<)|nfIH5&cj z=V~C*pW%KuKKUX!1^HG*=1HtLVbxHWKev-9BbgPw)^)c-qR&RN@vuMbUj*WQhYB90 z{jc*Tw3{@Mhc^12J)yO`nB#ix!~8iQjJ&(fVh9QWLhuVf3~f}9cJ%S#?m`3?VqyK? zMG1I^hzOpnx9o9qCS17W#{OeJc|=k_gV&-3Ake4)+Zx36U)5HwJFZU-69N%{l*3b} z7Zo5;S%LwyJ~p2CNRsg_4l~QkN*FY0B>(Rt5T0M%jxG8z5+Yp(1c7cpck3|w8T)O;!S7k5=7mI4B;C+fqOOy>=2f3418VBvDHad-o zoQ|w4`~O7;xLvK{isQIVIBoQ&tYzgZ;i=?L-(q{$eNg=u7T{UE>?bt1c~>6zAEQ91 z4o6HvBCGDbp!HX*6PW&FFnko;W$x|^Mapbm~qV>66(Dov1 z5s_|>{}08m!NG*1QRaQUE$D_gfj>B=<+X^j2rhyf8hgrI1VimK4KMUZ3j1L;6ox^H zENcu;lUIZVpI2kzaD?zdFsNoE+k^~UYJf?_cUpJz9p*>;5Illo#|nP0_+*q zp>$#-6hM}L*h#l{$*}dkpkE5#@t=xt8Ftr^XBB`nTYd~jSB8JTv=M;LIz`UY8d{f zzIDoWPmcziT!phbrM$B3(RVUA5nb$^CsA|v-Y#LC$AJV-aBsM9TldHf8;MBdO`;;c z7+un0Kl9wYrzO&|#om5xrOTmi(LTH8tI8f&??% z$a0ZrxS?DsaD0RLUlIfTFNtCQkyx9E$q#6Rsq2tDKi`oFmDtei&rDA%lrcCOYh@Z} zKth&4j|ki;D$w>nIePpo0MR4UHuzT<|2L0Hh#sv(l`g+t zC$}1J*m&y5+NdwZc=Bs9UL0ww_K=4&Ti#)YF|emyFJWz_CPZ>Qko*};3U%MKKEb3i zjR}S%&ZLTI+(_nQK8hGLi{-w5C76Um66hLnHD`?Abn_Sa2*?i4Qii z$|c7dWRqVFA(a^w<=Xb|m?Nt!6;;V&XT^#fZiRN}XaFAJglm6n*pplTz1pajf-?51 zCx#4G)E-6Tw}9d>_(B+) zg%BxI7M#7!(^KromC0NjVpJsf5}o zQAJ(tBg^!mu+_D$IUSe?;+{ZJR}+bu;amS$hg^zcb!piUAPw&BRtf&zheehW(BID= zyu=|I%e!Nu4QS07T)o-{SOz8B4OjVLIpPd_!Kylk1jxGWYyWId|I75dU&D^^zRr*p z>n90g%UKH&3|;j?DHI`%#k)DALBBmigB`Q!F=A;Du~73v`}KwG>*0}<{|g$WIG9o! zP{>k9BPfW<1s2gtLbGt#S?Mdb%7W}=JF8?Cg-tr>MC&#JCc+9cu8J+EVdv`iy6AI5 z{IKQlu;kvShwK~UW@Ng}WVFLiItTW3Sq51;`>3y zi=HsYt0DtN))gpo)!X|a0lJMKw=Pwv;!;U4V$(rmg!~0TvQffZ`bQQIVo%nvc$}W$ zMNZlr4!Iu&K{Hwlx4gv2Km($e)mh>s`%>vAZSRBvZJq>`k#Vgs9;SFH=^v|uR!7CQ zAwYLeM(n!JJ-yOZSp(^1nSI{oFqXy~t2#I$S^#*O*umPS4Z64Nf}x_)lx?NB@>`Zx zgcIW0nGx+lE8_E8j7yEE8)obVMQ;08o~sIf%@Y7UI8u9r%B@SG6O*Fz(7Cdks2Hi$ zMECQmX9I>qzd$=%)COPviylLVb?G;)q@|JA3Q?IM+uMkYV14_o^*5>UgvOqpEf&U<%5 z7K7$Y&sJ|ghBcMI1XZ4kAhO)~k0SP3TK38kB1(MWhbISi zMC-=ux?q}z5vK-id=@|R;CPoJ(`x2z21@}?!|p|hcDX4hA^6=TCw5B(FvV@GW(IT6 zW~2r+r0VBhSX_43({WKGrK#frC#-P~`p$6C_}15diTkc-8X z`tCZ&GY?JST>zHQ;y?J93|=R*ErIdSo8V{+k>u4(+ap;^jDqy1E+q@fhgJ_V_&wgu z;}MA&X?<*mFUuXOFg3kksz#NF2l+jdxASA~TlnY$K2Y?8CV#TvbbgDB`tT;duz*sO z9$PJBq7DXa##XU-sR^geYH6gGUaF?pBi&<(>joA^1kz5NP$(Ksz}d8!q;yH*51!0+ z$AiwH9dAJ=&!QjCrA)v1XUMGU;GaAJsr6?1FXdIx3v zEJT}M3zd>gc;#RqqDo2YA#;9akZ^CC$Q1cCubwya!iMLkETb_f+2(2IrH;n0r5}Xw ziACq<%7hi&DMpe}BsFXelDwQEBy>dT>3uyEbl%71DVv?L-Wyl*Tm9|q4CrDf!@}Y) zl$ZHU8!sCvYR8mIc1I;)rv1nxbHQVCZ@ zkt9}Ty}jcg{J|Os(B}hkg7L~JXC1Z!9BiQK0wb#ecp3dAhK8N0=_oZu6J!Br{JFB{ zJ|sxH)pjQmsqWpQh^Y=@-)605d_i>vr4Mik>!^G=tQ8-x6&?o_O;%y*gQ+liREZg{ zm_r58FP7PjY^t1OS~D^?0(vbEaWsqAoV{-;3cPIkAHhu;G6%Y*Ec;ijjNBCE{gr75 z^~J4|VdBA|vQ(n3L{po3pkvxF)x-30D%tR99MLHm#!8)#y-u^4j~d4IQYd3?udyu| zsf`okKF5PC@-+1h(S=j$2ttLz;>dbI;;(JR78CDKp}!pN6IVVRqK{d~=P z>5Eg-4qL#KgPGhnys|qoNSfeP1Yoz5bydXCak(hOJrC!9J2u=c>5bGa?4^Hh_9s#y zOo#hwi?DcoJVe4U!uPPcfyvEB-lgC^MWfxOMG!&&EY#D`D{M*RV6d=rGHcy+OEz zE@0WEpaebr+C?IzahM%0woE~3{V%XHB*&_zNmOm_T<5FSB-rQ- z5n3^|YqaY}_Rgvwg}8s!D|s*~)#BD5cuk%gU>TGOf5Nn|At|SQi)D>GN7)l(I+F`e z6GbYQqxCTkEr}pi`b{bdkj!UOc0R8Wdhh z?C8f}ue!J{QKXGZL|aKh<@4Kx(aD2v zbg*L|ZILX7S-_*EQaGwAjR-ZcewuJJ(a1dMyxEVbPq=3Z)iPRLj(D3R1aiHpnmY?$ z-vqOT4OaDiu#wX4FiQTEDJ6%P{6jagRtfdQeW<4wALp%$Smqv2E7B?)4-*>R3+52){TIky1fKK+qZW7&>$O}ZtORx~fXtBY);;gUvl=Thj z0G)2NYKShCWu7DeHXDl3_)@4ykga79$jX%Cg-XWbK~+RrgxaeNlBWL578531jZqrv zTP!*cO~;f=MwSb|l{7J?RAruIhz(eNfz{C&kwIbFq==RI;oY!@5(TD~i*Ec}XSVS! zFr2-(_kO+yNk{zxY?o&-Rh^GK5*sD4{gL%!G+MFHCk?-OYFvA5cz2rL(kQ?Rp|~$~ za}M8iD2;bmvW3l-M_}opb@oU;XXmp_)s{G*k)sZ>u_WD|+Rr>M%?gRHiQ@69&`BKO zY7D1mFO=AIK!8!8koSu_NDFmyE0+V0OoewQ@7r7X25wP`rP-kfF_Cd*qvrLenuh`Y zIVbE0EXcOF>=qWczJmUn`aIu7NT2ne^I72$dO&m-ji{D1LA&g&pnOqrhv7F#a zbtjz~mlPD@sB5xetx`DV_>*o;r`->-_=L7*6DZ_|a@yGEo8=Fz9kdYnjxegAN9CB)ilj*7CUEt+wYa-28Z&6_ur*YL!$W8$~Qfoi1@1djjpl|DQh>f@=f zpM6J*aTeWsK>Sl4xHh^~I3wJp2s6w=*~@LOuYi0kmbm1~?*p>=e&ph~lFOruK!knA z%6H<52?cc0bk-^GLlD2_dmahe|s_Xt5I0^ z@he48LWc)HcXsEbqf(2=(TznzLCIVCgT zVV%5zTfQo2qh-LE$}+V4UeaPW0HNaK7j@Ir-YBg^|2Zq8B32y{@JfnJnT9%s19TecGM&s4qN7u1SMmI8|2L408$8$x5p z&X;X{(Jjfo0*YR?)oYJaJYKN`JwRsXcXRqGVh?0oo_e`30+TdW40LA0U_hNyZ;>mdIpi(msB8vxnpW zlJV4N=&s6zf}!yRO!g{q=})+M6Bc|2g6;LKa6<~{vZ}+Ci~OBRH5aBIHaei{y_NPy zy~n)Q{Z;bLsp;=9&K{BDhxDwK*F%E3WVhe?f7JIt?27e&l_he77V!Z@QfHzAMVy*$*z{wQ>zhRz^RG(2~P*8r+() z->ZET@abJ!ShZS-;SGR$l21_{!n!vXjsP=Gn7qXxHB}0?EH)tVOkL-|t&kq_vn+T0 zW-`p}T|?ztXQaktV^txU%8fRkWMGPHc@g_f z;!}?3OKii9_(vspUL6W$GcxK=oo6nS+$;DHNrD`Y^knnI0i=&^2?sj$D@#En>w!9oPqBjEg zyH$azVyBfLTEy2v)vKlfV5bjZDO2wi1j0w85IWch;Ro}wtwct?Zojf7X~4ESN-K#1 z#{*)PG`?hrnm-Wq64Vqu-D!$c2b>pMZ>M4hc09T zYh?Ze2f-j*+AQ=C8;77`b@yEDUz8{DDB#IoRmf-aYyOb6ag6@KmphRi*0+NugDQ!E z29Lj7n2^ODa98HuIHVsLwO51aBo{SIewCPYv*Xqh2^6E=b*%R74JE4HKI^JH*27vy z=WHAx)B2ynKVMB6(^|hkqKBSw!q^N4`gI?%cz+YwKs+&x*hp8o(<=H(SYKJJwNX@& zIO)g}2!}VsDj+zJ?Z#yFzxkbbHa)PBYNvI8Y&>}=v^4R_NwE#jnUkU?Z*gn><0pPU z5mS7PUFpe-A490JP(@37`xSKKB%+k+q_z^c*Fxn`kK8f)GZ3f9+m$?u>MUZ|^Hzh@ ze~WVUM3qu#*Fd3&Ax>F4$U^tD5X7w`IR$D6#O{r_MjQ$#S?xPWw(m_^9o~;i^DNM^ zN6)KORsU)lPh&O|=?d6sY(NyjI>2&bsqjKi9-P3edm!Osl?mh+Lc(nvz&P|_NVwB# zdXS-QK6^vp4o`zp#rRstnyQ!S!%F6Y!}pAIaJ)(p{NZ2e!gpD6^N%KUQ$53^#FqyN zCKyk0u%8gm=b}9Je+_PPUc=|Lf{Rpg-9>87BD&AX3gkHW%RJNpwLH&rGmG zHvBlj#JsE$svR91^+q(R0>#(~9lGOOXLs`*tIRf&_bu*wM%(jkg-s3UKOd|n^KAy; zT`9OHB(3un@Tr=~5rO1l=Dimdbc7)y2BDgxD;O{q#0I@;GDE22CY0Dw?ifUd92dw{ zRDaa&31$(J_Sv687&X&`Dy?K%4;vxm&teKKTS8~dPVqE9#F0DPWFT$5GuL4l z*Ztd-d~DM2yTD3Rs%6%^6K&F#m$uud4bsOOciwEL8Z~nWX~=|0CdF1Z!oi)-;5Wog=F(~m``SF!6^X99b+^;KJKvJ zeqf{*kEu5tudB~;lvrvK+J}bJqh04sv8Rz00D$TWS1@g;PssN*?p*6i)c{;qF7{S= zxc)_O$4)a|0jhD4MEqTnWt~ZAvG`khb5uA}KgOZg^(18^w z9BsWqQjnZl^gT>537aGtpf%8<>*Tqyszyg-l@HfmBv(> zW%fL$Ypz}k{Wd+M*ds?6rKpULI$NR@L-tAPA`^Atl(>UM$##It^NlS%LF~7M=-!aP ziJ6XI=zN*3#TEaNn)R>h)Kw`BOc&l4PD{Mg^+O>%#E+%vY+=%hT95WU0s~~ z)XYHLcXogE4wsy-8S zc{Y)7e2E3s#CauCWKmOo$0x0yXYH}5-v-q3tIH!^075;qLm1_^=5i*CGz|RVLciw- zoqnIK*%YMvcG`jjjxS*7A0>d~I=Pu_N&YZ3lY+~u9$?hULX>5&z5lTt_v3M8+{gt7 zT9_F}Oeg2zC9e()O*w7;rfWFshRNl1vwZAb&r(Lld?um`5?I8-RSi*@%h(NWKLkBCA*{wZb7)T5uzbs=t64Av=Iq# z`VOGbk-;Be-bnbgl~(YlT6Ui2ie1y24XV?_t>} zs5OprQ82J<^u&W`Jtoxg=(REh`J``aM(9lE6l6aDU_nIKR!rvtKK11u@PoT~-+^*z zGO5`#7&Jm|%igB1rxfLX(S?8We7_5Cey>G$casL%-gh?p(H9PmkE-Kg{|kTi0QVL8 z3g34C>;(OjD)DV)Lzz(R&xduaWoI)X3^iiUFg~39eS6e84*}Jb>o-vBjD^GIE!R9H z6Y%T`wp@nXYIh9b{(8OSN%m|zuOLVuVercae*?U%0Oa7{bTB7};S(BGRB%_8{~#%_ z(@w|OX5)L2{~*hWTeGKN8r>q-fBwY35zc7GKlNZK=rV|6t7hAn z)=w>1R&;hVBn&yu$D2KdV!Ws8S|s8L;~BA`VSK%-kJ;re28vb)j;m*q)Fx=8JnNSk z>6}C#03(;9Vf8Mc3Pedpo!xiTamc5rw4t8diUmcxb97|9nEne35Eeg~#;Po@w!ZLH zAQbwh7~O47?8+uOd?beROt*`q`c)cs%8sKXHbbMmP0o*|U&xAVwj8IQYK}mt%&0B= zvO_rgBo!{A?3e3%)(yp~D-KmXFw^nZhw$MaeIbf?%)?o7gVQ(Rr=W@71@E)9n@A47 zcy)_hv#tJ`!T*}Ht09**jtqQFT&zo6-BgSHprlWzVD{D{#D*zw|I%~gV_AX%?hMHa zFh6{Jjn`vpCIDen$S=b6p%Z@_1}>B?2lW2)^X-8VF2tosmzA9eHwd~m$hN^Vj_&Oj zXHRo4ms#zsLi6Q9sdJum2>#K*Oo(K(FUw0gy$u5s%*xjDxx7cM+>3%RLy#mD9p5?2ka zDPezoMfaiK)LtUTAu^{y3z=zi)>fkPOshT6fcx_=EyQ{JZ>KVlk_q8MxFb~od$iEd zYhI9=64n7bs$?T3u;LIABJ20l3uRnd_S?LO-xw5bQRnyk*X|FyKeIm}RgcBZhO7cO z)^iuZ?(2|H!&ahD#UC_ceF@{=Dv zD&Z-m7eHaM0x4{+W+)8#76IZ{0b^4)9bbucm!ARRbBuSnhT3Q3+Y9^UV zYb?;1l#gm>krCba^8}jV$hI6zFS|Hh)!vF%#10-+mi$mos=||7xI+jL(?%46#`4WM zKz&E_cQGZ39f`nx8Y(u@S_8bKD_4tF&}`HBbKPGnXaHvae z{HaoZAG*(XNYqU3Q=2Lm3BU{wzm*9`{wbLm7ZQSu0Z$Wj8mC?Pav1YWBVi#8x1Atb z-&micOdf>jilam%O%tVdRt`ViEsi+IoRt+GEJrj`;abciA|yGvDS7KMN@&(IEEw2A zc~3XUf=P%Qoit=Z)u&>_pn?@E6ET@uYAYk9_&b|5gx=U>fmoWTU(#9vK8~7N6h<{i z+&$`a`MO7}8pF3RT#c&=7!SrOmmH&v?%g6{LY(8xYxJT>n{kpJR=40FwzLqgt;5b% z>8EmH&R+f+)2>suOUsNEf%SpXhw3xka0Q%cS^j3Gs5vgAUx}wZ<_|tWkAB^S3m^%O z|3S8aMvemwFG7h053N-F_7aY@TyEiw>;{9h$^l+sdSR^{I8RfSsiLXq@BGb`g;srk z!zG3CY}!UXRG%-L_K3|y?gutNLkby1Pl3|pP@Z=dsGJ&~s3eXtI>O>fi6S*-xJxEh z2*QgC4r@f|NTCbA+~cMf3TBd@0bK})5b+PQ#QDG_6d26u<{IZ{E?tW?7DSP?)&(OZ z>S@2wBATv&99D{Ks@uPcK(jl>bq?m>_)>J;rep4kmQPqE!(&R4&4BU)pv~IH7(qNt zejZr)v*-CHcFaRJQ>t3sTU#OGVBaj@>j+^O?ZZ0EL&luS^bQK!CV@J5^Cw3Z+EH^j z8io!W-e61X;E2A)f?|>;W2s4rCF%epnhLF?*xsZ0o(Kni5lFD$n}3&mE-u+jQeM-L z4@JTMP$1DTe{Fl{UWEdbq=OcFlA4IF=;O^SMgy^k7#ZcrQ1{QJ0oaiQ2HY|-^Q)#i z>b&`j;*9te5=L%ct=W0%oV;|cRXR(sugs&{{A6e75ToTKfwLcIhgl8v(BWw|;LiE7 zq{h6>E09w_&#msK#*YE!TX$C)8=6!7 zr1>T8*?PNfCQtFy^yW0k1ju%#)S`WF3DM5hxp<+tn#^_i{JH`(Mn3l%;;9NPQ~MFA zgyoUn8oM${QMrqCW|CjefJl-!b@4N*q2JX)Uv`1$G!iP-jQY{kiRSs9efgd_!HKChbv@;(OuB@WhTlg>!Mt@UugPNUMRr+t8iFG;^f?8(Ly@n=c_r2Pv=P6UKz~rHe{=>pjBwVMsVY9U`@&?$V(+O%yTb;<8#zHDqQ)S ztMFaF;}^4C?(^n62j(C~g##rwjo-dQY*OGp3Ux$}0@2n>p3VTd3-bXK5fx zBvOCGik|NukZT|(fR-O~l&I`g)X=VHXQURUB2iX!EJ7T5RRnOcIOO!cfO^S$Tur6ddB6st}sM5x%^Bk zO5qJ*fU!C_n^H?xKvF0$PZv{+P&(C1OK=$Lr3HzU`J-2}m3AW=q zk@588AzloQljsqZgjR1tuXZFi#o2WZ%gzjW6mQEFLr}b41B>+n_kwBP8YE@Eu!LR7 zHdi%bCqEERpYk^{g`E?o*(3}V>p4WsvMvY2D?etw=pVEm z9y>$fn9)ROO@A2x|DP2k)cppMzSb0IfWHte?dn~s;>lfLe1$Xy{6Lhu>x)rW1TV#$ zxUO^3q~h+Dd)JIyG;a9Qn|5Ec$wcWsNQ;xD+tq3ZJXzO$ZMdCFvqjdP3JNElEI_=) z*=$OtRBeITZ`&4>5OH@)2#WTP zFfS{4-Cd^7nA4B_K^GSnVf}!Q2YD3h$**5~SlCjR2YDWS-jf4xLVS&7kP=XrcokO= zgj>`Cr`85Hf_9N7;(1a{KBjcl3F?_sJU=+a>vF-ruk(uu-gB5BMUd?-@a!4vZhkKTDH0X7`R-uuP@8H}{u5H<@VEobIC2cc2ZVTUew zGCU+-;1JFK&-yeFi!xi|SjJVKWX6hTW+hNguZbLG)IcR|=eJgi9R)<7gyyqmHaDFM zoX&UVzk%6<#D5FQ#CG`i^$-+J+p4w{#zpZ6|3>scd@dU$KAMFt6<-A9+czwg@OK(q zTEV3`2%}RTZ*gM?d8P4>J|=DcG(YktL^7a1izYc$Xnfn zLgGD2+Nfxng`}Uk&8QYNX8#_XEcKe1SD0YN->67^lBS+IcI=rRk-^AYZAJ4KTsLw# zZGpY~q;Ax)fotN7L6h+&?JQ3<$Icn%`@>XC8$iOweDKIs$+ky+d<9uP55#TuJAw?l zf6O81|4{dpU3Dy5*SNcG+=II&xNS&+LxA8L4esvlmOugow-DT&;1b;3A-KEqZjy7( zbGYN)AMlRRgRws}-Bqhsty;C_oK-%+I$Xw6v?Le`iua!SN>G$wxY^uNY`@j5l3+~W z^;&GRrQmA9rxDcA#=t*x$|RrDffmQg{i4pnPfJOGIIeBSc+#8wl1{x`fauiYY_7#! zL8w8?R#9y=w_&FnM!F%bwz@%~v&$ujJ8FcFum(5%+aal*w8lMFwgqKHbDXgS5#k^a z9FAud-OmNYnR=wc&~vHN3mKfs+{{8gL}gG9$bkVfhlW0g7)T<`z$B^afWcK{P04#% zB0aC_SDTAEJ^nEO-~R0SwWE2NtcD7heHR%^rwQ1Sx(&tiaM-|dyU`}nX!gsz}(>S(h_X^+@hT2vRNV31!#z#<)ibUe9o?j{2u2jQR@WS39M3ANUE!#Zrf* znWDz@q#{u|=gP^g3tBf$%;@-G%pstD*-C3xAt6!@EfOH&@D|9)Z^G7yjnV-Y3RjE- z!QIRX^{Kx`xFFQuepgR@!$!j#Ehk->#^%oD_|fu@aQ28ED%A?kBcIbELJH;sGU*DD zGH*1z=I;V=K2=!`6Rus^%eby_y71kIZ`I46^*Um>Z2j8{{zRg`{_61|f_dJ6!RoTT zuWx;-ZR}ld?JNyO@HCdRA{#$T#Np+V_m@Cd1)7&Ka-q+uO8T3u&(r|rEnC5)JtW`{ z0l`wsr&#y*wHD~}?W^x`o2kIrr)oA*;Cn6bQE1F(JO)b}16L)=o)}npKPi=Bn_j^7 zpDjsJ!d z(Np7J&30n2%*cE+jyI1L0r*q3<63nBsl5QPy1Y|;6sLDW0GN?3Du(ZG=NWX(<72InY06Vp1M|aBKBJB&kFi>VdACc%zViAV)G3uW1=`InCnlK-E1o;n}^ zX@w%?h2oI|TM4U65E^R@ZwXrOZc)>C;@m%dhaR<{wEcgc{=}mj`uzeECxfEH%D^(7 z%!A9|>SdvZGN*5UIbvm*F>nw4U+-!8K)nnugmGOYT2{;YREzYnVWl$<<24!~|29=7 z$F<*B418H3fh070 zI(>SgnB0NGBps7cvu#f|1izM%EI}=Usmoo0BQMg(9Kt$QpmtHYwqHa$JdX@!J*$mq z;6IJ0-=3x39T)h|&LmGx>_Z1dY6(~QADn%WBf3~vgL?f}nOW^@R4$o$PAGMG-$)#3 ztwqnYmXE9n(@`>lW8KL+muPzN+y>WL<|4189p8DhIu)ZNTxbj2oJHG2_uDGY4n-L# z$0LmfleOgs=piiWepjL(7s7lg+|a(}RO*ufBQfJAXag<|HVXuA46$T3?IIOx5rL<- zm_TWYG;Wd#+}7Fw>@8@*WYsSA!%@#C-PVsHL1GNW_1P z{}G;F-dvkuDkG5YpuL2neWgdhEy^oI7M_LT4-Q!av4dyfd0n!VL=xQi?a)v?X$oji zO8%`{uV4@obui_Q5zXTW_s5>ovLhaKdvY3ZCBs#jII5w^O8a`xAWqFuH1+{v{XF>C ziyt-%#0IGxYc=Ed-v4({;Yk+nEq^9h6CsBD!VCQuwVj1RDzZnu#gNH`676RNl*FQ* z6Il5;m00H*tPGx>yN{>PmObOY;!f8y8{(DQXRr^q z<9@B2XWX^A#Q8(2wI{qC#MJwpS$)bi2Rqn_RLb+~vMUcJBt=bo$*v|${}1feeUh!S zuOSZy1+~UbOGS3DsUB`<#`Tmh%=ybo_J;VfLc}ky=;N%3!8#ZeFzYqDuUc<{^!F5p zdYV`6@~@!@iG?BBk~84*7fIbZ{JxfU1LyIA$O{74tPaFbZV8|gf z&cywEih1rH6d2`d&NUE#^_1CT$EW?Ua_v}=6IF-80laaoE*6qZ#&BAlKYQErUJ8>4 z>++LT_|qy05W{8J{KT^uKYW^6D?xzQc+UlWELa##1j9~Q2UWtWN3P;|q5rJ>=LV!k z$DEMd7q3y$h+uPlFa+uuAWxIm3(K~kV5#t>#_#(&r~PimqK|GGHuZ7|>UAloue?tD zdm5L@!hg1ybSqkbY0U!PV&PGji<}Tb%3v3YpauDEfXrsI5UzL7(vLGZ;n#ZU_t=dm zv-n$Z7;Lws0_?YxXnVJW3sV7~&d$i1O)HMVaTOC-R^uxEqA3%S{Glm-N_St#m7McS zN&20|uAkc)`u;P+KmAzdfGqn8Nx_tNH%xQ?VuO>V>MuRjY|Y>NOskvieLX4<<(-v8`}QMo4?@b9Ia@uDZKeG8L@)g0=Mi3&J5%> zsMIq77Dd(f*m2Dlu=Ng)yG~5%We7hxlg~EhX{pP%mm4A)PCxC_fuY}X|4z_1l6p(r>|G*>zp+J&+M2vhMsa;G*WF$kAx)Mt z2L-Y3y61XLCwBn_8Ai4`Q;8r`<9s(0FPFSs56x+ECGMUBuf5=@a9}CY)T_q`#(Aop zAdMUBJd)TYKE5sqo&bUawm;tQoZ!QMn@jY;QMcJMK$d@KyXkfIQfI|WVZXL6-IIN= z;F`_mWeHtB z3#O$=ObqfQ^9r*JD70CQ{6<%0wDt|~!02i+B9PN$F%&Ee1g&<2#{4v__ikutU;2&*^*5V&uQdU+yMA1K!CM<64#LD!(+wsJ3l1?n50E6s6NqS)plB6S%E_= zG@*yaIsDxhE1h9)F}x0{+gN(1ZY61-rkqt|hZ&4;2iP9)2JVapei33PN2rBFH2hVt zv_>4ku|&hJ$j`>m71Yz(KRj!kCgim@PV@jrrAIpYH*}A%T$cM#si|@NW231K@a6{& zYUXptP9un1yF6fI;y0fIyd=?s%H;uL*9-AeBiGyX#C+pHLk$B0fm(Z^X(~Z4g`4ov zJNbrm*Y!sl=aFH+G|A3Jy+Q@P^8?82fs}~3!Zgc$$?z4w%~B4_d$XH4J?o4jG=>D@6+AWm#=u^zM+tOZ>hckUQMoGm%lZJq7NkmQ=Jx zIK+Dh>Nf8h=k#l9-7Hy0g3VXA!wUsfYpz_FkfM+=a&^#Szm#pJ7RK1!f$4+TzryO# zV_;9l8@>w7Mlm{=A>*C;y?+n+iJkYFv z7=jxhl1CGO)*3=#Dr5|6f%Y%sw$xHDI~dTdGuS4yZ@sG2uy?2t(Qmi!p%i5iMD!S) z1lxlpcm#C!nuEj^`9SPUhTgBJOT#^f?EZdAwk=jy1Om#cp_4=AH6O`-1QM;#4KeM6 z^Xg18os0?Kqx=lmOc2A>&ccgq>pYy+jcH5!3HKfTF8apb64f$J53UEmg2geg36sYM zn#3ZQ`OIR$CdG-cIv}s$d6p2AN{aLwx17Xr!KMx*8l1*)H3TdO(pWy}ic(xE>Pf$8 zu%@H?#`IDht&KBf)AqEU#x|$cv+d~N5WZ|42hNUUE&TEhxPcJ@V^kefJNT zI@)*#+DAg_Nnn0?V>@^mz|%Ab8Y}3xPJ%L(AM#5(vCo69~E-X^|<4m#3vIeJ9A)T1+ zg{C?-{~6)04F?OfesM`v@MZ};?^ARNdct8t%V5Fq49e@%RfKZ7XSTKZ;a&pR8#VQkxKJ&do9VR8B z8d`jY3RzVdgui}O#Tdqc3`SK(ESCcZ5&3EYcRwt7PwyErZ5q95p!^_5tSapFZ7qf? zrB)egpngG})nYF&Yeth$LA#Em$}^OXMH@~O9SbHa{``1a^`qZ+Kb!Pz5ph>io~jq1 zx9=I&of;DYWIe9K1oA2_mOJ@wnMt?yCDXhy{JMOVz;h!^XAc|e*&JwtR#ZV60grk< zaC=io@?Fyd4%1h%W(0#^`iKtnk2C4g?*tc;9F$tvdYP zt@FGd)%5Eoj<~5xvBMawuv(+tSX^3cr`VnWMM@TNI3sY;6#rGaV)jbs9d%EJ=x*!4 zv{uph!nZ&a#qZ{&FX%nyT{uF^1AT>(U!LI;U*)wwn5yYpEF3y{cpspbt*;QoynO3r z#S9?mo1!ao`~{b%wA9i?{oOJ){YgCzIk~UpKOI_4Wc-$GG#rs;>us37nKeoFdu#IV z6btL1@q$9&&yA)JlH`VAfzlsIM2&RuoRGsl*JIA{#%IaF!pKF6C^ZUS>?3!)YK4Yt z`XHnpWtRfhg8Cvc4eI#E^^m7$5f<1dVSbtozG)IMGo_$R0(QNSoPqMOf3!#Vbspsz z?4wDM#teOPU$(qrBR!bXp2%rpd*V>?lmGQAUeW^Py|hwe!n%$9o_=MDtb7baQNR2< zQdMid=!6isN{L5R6L>HlF6;HeO#eJp+RTW%+NwnKZQ8Q^3-Pm23qw|v;ErX`cx)Wh z_(b|Iv8BhM#ky{ADcbr`k>CxS2P86Kp*|uZ1+E4KQkfX^YjT~;&fJ8MNPr|2wI1$T zio~&3fnEn)nJCo@r2=78GipU;HYCDQBMb6lv04e04?ai%gXxWF_Qoxcb!gC>?E;%* ztoDOK?%q?g?t`wzMOD6{iwK&eNT50lSgJe7HHM+(@fxv!HF5#oN9}-GO$f($<`PZ} zEpo`YwJ`5cU-E^CE`aA1gpHARQJVDF?|#S>ya@v z;>(L-0V?jfi9Ca*C9IVWtdTHOx!I=e4i>++YWt_m_ev^#ffYK;E_?3*%e3Ylzd@q( z3YQmGZiJQVmjZX!rPZDc?=`pk+w4SC9i-E)t&2v8pZZ7NoDV4WKH(l&NPg*^e;}Of z1(G`~%(-|$C?x(sJavMiD6SH_~cyF%||T0ZhlLiND}_;6MU;mYUq9i zkGRkycB9}O%I6;!1Om>MU4|4k+j0y}T?+x1CwjG&;`qDCxMyoS7gufa!VBF7(dUpj z@96sJ{g^hLuTjLg#LS3Qv zGVTTPujjb6qtG{ggn#{1t#`jJ8nYx2;ry9IB6ZWw18c>vf1sjNo78Xm*J5e$M+&bQ ze!h3yXqrL@t?7mP2~|zRW0S1ywW7InZL(=FYCx2IVs23n3Ks8hnaL-Q^TlvUdFk zJSHs3HP$1!br6cigOD*gu0*R5-afiz1IO? z-qV^FuHJTIJD|}6SxlSBr`*8;X$di4zb*4yIB9Mx>J`*s zqdnkWyoS7g0jln}qO_U`r(w}4IFL@dbES5ItMR^(!6M&MK-&)3;F%HFP!Xi~B_S~K zSxzl7g}pW0C-Pnh%h`ldjX7OpnsmYF41-U25npu@Yg|<|t1ug;?n_vV{jImzxokGz zdbT3r#Bi7U&5jh4ysp2RlZL^>16ysS62|)wD0Rl@mWP^!PU-ai{SrO?&udxNEWNoZ ztPieZXrTB$0*S#_{+kz8c)LmCg0=o@)Xzy2V%%6XtER!0pisSymC$!9ceLo=JmD=ZX^RA`V6DU3PuO$?Qorx<8!D;!bX z6^>sBVmjx~#=UH>th2;vvXW$Dctsp_)NiXF_VKP(p?zzkJ#$x#`{F?d;k^*qTGAw& zlK*^?Ufku0lzL9S(YQkU2Q9p|O(XsJhjRdJ?dufcZFAjrr*O%uD_MI*nR@JUGDej* z-^k7SU)=@J0pdHkF651<#~SF6?_sQkj|nJEQUa!m)pI`3BPG=z|K#x$U3lGRrN4CG zErb*F)lrWgIB@a~NW+jH^U01tisd1Mu)@m)^clZ#|E6+ie|NoSUI2Pd_RC5Z0(|xl zej<~`3;lR^!p}h_1}BR(D=+2(-p>sjUp%n!WjFZ?lQ^_YYPY(GsY|I$b-yp^gy)1^ zu_g%9@%&)mx!_ zE98ags7>^4tzqeH2+em3f}#8`Iz4b1P)T0S(rdayZN89 z!2@57j4lCYSDz9@q|YVt;FXW!+>lEnrjUMPFeuu z++!ul$6sU=GCA)jbFAA6jwjXeg`p)2bXtuQUlxwNVxPx?ikJ1v(DZrlFq#v6<&^ykZ z&}0oU*;%`M)Yxtly5MK~cnDAYV2=|f=Csl|?y6pZ(7AYhkSX84s0PDmU)3ljDt)GP zrqHO!>c$)*Hs|~6b`zRiHcZFFsyl6!TAh^4uc1Ig#{}=^l%CG4{dB|ocP5A}16S`u z8abiUn6{%m#Z;8z>DTQTBQ){DF=*pC&eBopzM-!jB|2y|y@zG|VvB&50x3`O#cVf^ zm5aLxNDp2&psc<1Z~8ZavNZ$4CdLbt{GYeFD{ z;!(uZZAi*|^Ng3XI-A=AQd@g-SGLIf{FG(u`|? zObDCO>ClU&eYrG?Is7Ei@3p~uag0}YcJ#fw&aLKAwLgd0K4f#gxE6$LaLUdQ9F_P* z(8zg2~Bb=4pS%o`{8m`JIer`pc>Gbxjls-xU@}^ zo-Py<2oJB<$6^$qn58|s1Dl23mK4dBuWPbV0{~Hns9+hrTIPhi|MhE4KiXo3M)Pe8?(68j%bHx zOcZ2Bnfifc5tB?o^?6l!P%JS;86%+?K(eqYT+O)%EN40qD<%b+W1Z(dqm=@Trqzm~@8V?X>Lvj%cChCJG$$Quy`3z~+^MI$M%zU`oa0YVn)A zk4pkU&Y$;{C)fz1#;YnYtzVHfEM5di8nIw4dg6EYr79PIsHJ*7*Q^MNO!qM39v|}_ zH(a*@GCr)P@uKhc)AHA_#H}Um!S@v3!_ydX=M}m_U~_`BOToD+bf;r$aTZj0y>h5z z(dLSJJT4B)DVdc!E5fT|UXYGe4}@KLh&6*zC{_+Hx{BcBxg`hqu} zI|43{d}F~Dpr95s?uZ#u6M~WTDS!|N&XfGX5tX@!v)3K%LmntDjC&zSkRtXo<`!O8_5h z!-lFB9-tjocoe?E;_~o|z-2}|@!N6F!Tg()M z`S_+=J1rGH5lR>FeWC+2g>z<#2F^-jC1?u!V(NUt5E#&8k_I1huE%xjZ%wu+OX>Ul z+{Wbx@u-;@C>Sa1F50!5T$-5zH3!L^jEW3mqe|;i34lLGzOEP~PT(Rk2bjBZQYIw}R zpp)-TQk$eScga&9>(zL7E93cvtA_@#P7raOk-FtAjBmRt=dwmF{|M#k9M_N?nD6w$ z-Oy4ooDIvl!Q3>()c8x~$|o_*S2NqO+N0zWKP4@?Qob0Jnz`UrcasF|MQIV2Uz5wr zAS3(NSefh8P@R-IqU)hjY4>9+{=LihpH)Joh{%#IN)?*~&xjmU5;)A=sW_qM{F=zC z|0YtUaHfF~BLjhrjd*jx9UK^s!!v1IbQm-_=(V$Enprz6mY93lO?t(Tbj3G><^WSO7M7I0uTx};r3d!%-u0Lk;;5lO za{ZtN4%B=O{O%g-?xkW?QH1a1qz@cooAN=QAb;_U;?Eu;3*Pq+-uV5Va@^`QZ9V>7 z{R4gJ}f>MxYsx0o8- zf8XLgqPYVdaJvqE6%9FOv2Im3*4J34oWn*cftetVC9$r&&&JS)C=nA~IO(cQjC9sB zVofI}>a)N>ti6|0&Xf3DSP=;yC+&$tsQwN0vuQ!4coMM9$5w30A`atkVV{HBcm`{E z{iiouKL73tb-FuLTQ~*!U+?@7>H{t(ciH@YaxS~Ij`TCT{_~%1@*-JrU^0lCwVKm& zy2L+AP_7rhzYbTV>#5kY9{s}_7M17H&k#``m&Se zKi2s3<1F6iw?~~#B=3DG!$=<<=46uPzd+%)!}-UwPd|pS5kF7^*lCJr>!G?0rD5o} z03WL~4jA{RIrn-LpG~1!nrNp7dm<-Z*Dr=kptVY%zzW+4SEe z*}g=SD)0vHl)jxN%e9TUpNGh;BmVp|50k)fy#bTi#z}Hl1f|oBpl}G?f}Dq=1lyyC zVgFTHhCn=%fFeW$%DmnUEpA~az=A|V4Kid#@)m5@_>UU__W z@riUKDoJ6D`&s8jpcX_$evhFA5aFUfjK&L*j0_VO`2X4YqznY0Bf8bvRy}g9(&@0n z3uEE-we}!`yX*|WT|#Qo*`lQu16TLfx0@YP__?jmnZ)mDD`Gz@`}S(2qcx38SwS?u zhz$5@Nk&)R+*Yqb6cB_OY*}JOtgnsBviCqd)zuh4Q0z(CWUGx^oO4fP!n)A9ZwG58 z>jn3<75XS5jS+~>vu`7XEbkF?AK%=1@;%!5YPOnXD{lBG9pWAml4i?5mK8PKSpff4!+lToYY7yf!%n)4PF4+b?z$P6fK?&&L?nkVn{cr z<+8`Q$4VM7k z3T^BnjA<4xVqD7Rk

95_>WA9AwQF+9uvS#Cbl-cRvGapIZp={P>y&y@^oq+O}K zpLXLKs8V@Ch`>m`1*yRddE5E*8udH)xzC6U>$Pfg@SbG5)APFluU+V$`F4y?*wb(g zVgiI_jyQiQrAI{25+ZC@@NbNhA#PTRA{2n=zgbEAnYFyHhZN@-p2Gi@z5iCo@Vk#% z0xxh9Z+WbFb6LZc*+;09a3g|VIVdESV+xIis?!2M%y5`qx=z|F3#T_~sHw&8j@@ZA zk;g?8LC>kRasj!-~my*wJ&Ug#9Ph#4-4sVc_C< zy^9^w$ZS34XvU*ReLf;fmI8!HMbVsXIJWc4wdaFF_sJvB@3?~;)k;4ygpu#tl1W?@ zAYz6Q#=W};3ap|h2LfKR53Z21ASp_7V+kAx5|+4LVrL=u{;2b#qOVb400t$twmMTo z0Wba6MLE|T>!RDj6ZyPWq*OA|W%`-e&C2;3J44cM>3%pMzBcieC`u$KB!+9PW`j3c zj0OVePkwY&dtNT%uK2T0n(d0G5O4()6 z(Fr`nIpez(BUh*8^( zfIW|W>BwDsHpN+MJc7UU1yuzJXjy3M?)16s=b=f@rv-7N_uOXtscn@a@Y5Ict;e!o z6!;yXa{1^sC05F?`PBI}=uhapIs&QGY}iZS+RQ%a^JA<*OSRRp4m%kt*!zumYVkX~ z(Gs^j{UM&wP8Wdo02VM{9Z=l%&?NVM_YDoiL0g2jJ#@h&rcCv(IrqfTtqsT?R~k=x z4dU*H^hd5x6mSzTu1#FkS$sz<{5d*vR*20P#=mI+lWjKtnp<+poQ_QX*~}**j{u&} z2vpx_tRYY-vfXT8@sJ%xs^JMowk~-`T82KhBV#rPYA)TJz_A?b%RUe^xZZu7kV*XAeT>|F=Y4?drQ~ra zj)(e7F#?c^bIC9JZU!3;9#oE9-Ia4waS$V>&X!PnE1_C|JV{9R&N`h;Ux#D`CIaz- zb{M7&>n@aj^dr7M5ViBe6eQrxMfdDoA19{L=p^a)pxrq3gjKVsw38pe`5%w1Cdbw* za1<#oh;n^dm!svA#1vg%ZQc9W-(c7=d3zW(`d!uRhd>Ec2(ZsqqaT1Nuk%9e^QtM+@W!~s(#kv=J* z#DTQU9S@@`2x;uuziz9_r9UumrSF&*KAdh|E$Du3o7=;Cz^j8bTA5>0!+;6s$-=F{ zsHDYe#vUEdXVE)PHn5qk#q|9}M*hJQ(QipJ48L%lPN1C7I@KL%&Pm2UtG+Zd_2Y#$ z(NzCEAfXn8$oOS@<{k$Rm@b~LR!wo^OoI;IH0i-N-kLPX)rIS`i#nw9qi=k8G-&vv zWdeUAtcWaZ7W^+hf^)owAqu3!0YbR3{F1Vj0lpsHCEs`hhNGGu+?b|H)R7;mK6miR z9*+h+x?vrM17t`*7B&4+Jyte*S(rv|78~;w!uZnB#dB?C{z+sYo^lZRp)_J@s0&=N zpV@mSl7`C%1nVUYYV94?+<^C$)m`s&x(_1Ne2<4#&e=UF6z98Qi@qrG8wo%KKTPNA zWhZlrW4towvyjcVF@1cWTmcA#^>!hy8pz4!_8avGh^-CUm|4zwKh!c%Uv^|@M}u2t zl7oN(uKf4s$JkS&zE-1l0j<~rlo>;AVF5f-_+CyTKXV-J&J7Vs(@wCA`EWqGGH9e< zR|8wV_4}58ovzVL=w{WwV^i*9gMO;D-lPy+Kkbi4LLfkzpp z14`hk5H*%juekOKuEm_1|8aPluYDvr;8*+mJ6KI4xIkj01Tjjjys+H5t)pbRGjPod zk(iwzvh!0Q4)RLi7LJ@oL~9%3eTTORtyfrO>kvi%FFdF2dA~j}GK5(_8#?b;GM}Tm zc13$7SvH2->Q4KmBu)t3sc;3WUYGEX$R=f*qXtI=hbZ{)1wb)bwO2}G)rYu?9i7OM zwW{jAbH98d{k6rJ$;*O9-XrJG(MlN7A(dM1bMplV!dp|=h*H2)=Vn^&km9Ua?>@j* z5U}cxvW`pePPhc-6;r*CH#jC!ar7g-qeJ42|J1dX(_2zXUqvQH1*9{l2~Eq%>^K}j z$ZBj(Yk444V?rjJ&kG8>srBlu_mTa+fqsh`LJ7hGg6gbcox0}R@&bhv%-v~alv0o9qp(5ue@5oD@h;APpA1#*P@821UH|IPNbhM**g~M9La+s&s z%WOqa?s zXmGHnH$7qKksXLveC_z|O5g^S_;v!=h)>?RX^uyZ`H9_m2T+Sr^A4zn7|dX2cK6Yj z@A`o`B3dKt*dIoi!TLH0O^(A6fKB{27eIDjofRQ|n+qLLa@x%&A4oFh{0xG)&rPJDy{e%1f++*;hnWH}z=!Jk&SjB-y-KSa{V0zU#{0CrxYlID`tuMrtg-*#i*7~Kjd zP{m`FbC3QJ_w)5b$n-+I3+UQvFo|;!(TKTMM{<@dI#=Zxor8zspy5 zNiMe$ifHPSNgU{$*7i}J@<`^bUuv7(fa*~!R!dqMn&EJxUB8#7@iN#~Wa9Gbu7}+t_88T! zPiAHPoMF+!69o==M9E&bi-h7xngfpUkpo?R3Ln9GI|*$PIMorAxsmhcbw%PiF)&_B z!Xlq}qkktjoWB_^_hu!K0~GZgCMyZ8(DvLfb}l^O{H#e8mP*oANG?Z9N{67Ma(1@Y zovzBUvs?}lNNY2{PQaAR6tcI22}Gltf21G${;mGO0o$E-Bh>GQ{ownKjcJ2crgs79 zvs!5?iD8zsj3CglO{B;^bju7$ICQpj=)@y;WlA5E{Bx;F5!Nsr%|IzkmXz}7I3iLk z4SZj)!Jv6>T(J~Y#5hcryI9AFY(*9Pz|-NC0W0zy}$RM!Nr3#Q8qQEs@mrLxR* z%1zbqcjZTWqGVyHtQjdH_m)bJcZ2)zsa=>YU8BaFy4ydnXOm+Lw3Z{x@%xe6rjf_-W#4l@arpH&EBht)H%96W$k z`hrKKcJM~KxhusJ&6YgnBEd3xg0#2`=d* z=~4ekkE7e&Ru^Z=b~_q&9Iq7!4?$Gbf1}X=L&X~67+TDCr+QsZGf8+u%c99=5T>ac zGQv_5yk;r7t~kMFb}_#+Zw)?;aDtqFo3V!&7|tC|T^s#zOjmzsKVyLwfM}{)X4+F` z-&%Rx9H70lD58xT#;V);fCK9h(6&+}0YLmtGsmLNF!qC7YNfMJ`pq>a+E|xC@34C` zf?+Qq@RHr?fYYW54#()4&+&v*D>uSN{MWm^dDm|lL9yyfTY8EW+z|mn#$*EiS)G$d ziR*rfXr3S?<*4Lw@6|CzpP_jZ_O87b7o8sPyFrA&Yw3Ac+>i9E47*Jhw@5SwsqNs`k=%7)Cn*Zo=WVBX{_<-(5%>vbtI_<)Xrg7F*mmR<79Yc-i6~eTJMZI^7AX z)ot|Xy}s$xxNBzxX`IVj+}bnsK2$=F7+7(C2RWeJk(yGpvo31UEw#9{(PLt8X(E!n z`9pc`Ry*OW7IuUU2>CK{W zCad5_>;#AvZ1bfmLvu26+6Hs!&K=qwt$QDLP_y1`%zoL&j%d8i-~X74fog2bn+KX= zl3ZynHPI#Q9e|@?TQx-~DqNx|`dPQ}RF()kwK`RwR-D$ z$fG2`v3yd6q!Knq`&!S)BwW#}7{ED=0`@PJufZb_JM^Y_HL>Na*kAf?Tg2uOO<{tx z8v>|Yl^WUFaesx%j!D5NzOH(kT{dBb>sOb^~I|O`TKA_hB&jLmO*WuDFF#gDt%^U3wyn4cVd;t>n>a zWqJp6WyMMjFyKX6ZLNvmVqacRT|5n3ZBs03 zi(^2`51>dp}p%B9!0~4BXkHU_E zG<7pdAKMYKe$?<+cWF=GzqAX8s~j<|y&S+L7I1~<#sf1nF5B5EG^Gn1am|C`4YfO3 zaefsW;+~UXwLFIf@OrLL5?Y@#Tg{JST4^C zVALIybE;<)bH2S{Um zoDdW~45LYD*NE{uwLpPOQJ?J)yGvBk@tQ#TAmkF^T7$|Ij)iKbTXX6hoGg`T+%X9x zljd*iKdY?aty+|y&0an*Y0C&)SrZh)qg+_ z**Rl9cj{qwFzE2A>#gokF3I@>#~%K(Zq6}Z^ABEwW3Th)h@rn_-2Y%O zZnA%2dzQ*hzxPpkR?7P=TYV)7256-5=}l7zX;`1OE&gxU2i`x3Pt{je`F|63{&llI z)gO$|zk-whf3#-*#UFUf>Gaog1;#(^*0cEo!Wr8*8UH7^_gB-?7yiPttbPbQKeg_k zzM(|@aTJun!9BKTUh$8IRDyl!iGnmc@P+o-0Q$#;d|Lm)*ji^2N&dTCe4VhtYk){U z#fIw>iT`dmHoiZY8YdrrMf*RW<=Ky6t3S}G8Lw{Y|A1)Wr2c?ta3&^B3C||nfBHQ8 z*O%Vk=)?YxQTx|DEz3{I=QbtH{;eP7`1y{3jn51S-0C%|;evx7BSmUme8y|17E$WD zh&B(~1xA%itg{-oGBcD<7CbYALi68$#Vr8FR~;w;o{xfHAeWz8{g2}NQoAu-5fpz-d$@Hl~u>nNmRdgOR&Tk4$|YYm=-};5^i$83>r>7GI4c% z>2|&o=yiV+>W!3!9DHSs1e|3fnFGHI4CY20`z`{y=auijtZ@i{pBH4pDeEqyY5pc^ z>M2zC*kTQbf*A)~YYse7Nifpso`3&`koEF=>fv)3zQ_91vLExl)sy&dOUa%-nH~V9 zk^(R@`-Vso4-pf19xHhs3lx659+D(qZKekh1lgB<0pC|op%;OE2Davc3;y97sA#O^ zJ5JJ)^rFb_N#ftA)CYebxqorJ)4yS{b-}xVZ6|-O8`XD&VDmtbI>5EhZdpYC@(=N% z>$M1xAEr5g;M<|iIQSLX5-k9-tw`H`?R6oG&oHlKd`?T+dr&T*W@q(eyQ7{&;68E) zTM|zgv7E)gSFno%5Fiaa(s{esi9-0xzXC;kPKOX83JEDKEd{DKq@P?ygy^YzWkIn# zOszamPSX-Xwsnmqen|_tfce4d!RXKfT9YIH>wcWF4b$gq4afZUm+p&gH>XNhlGbf! z6pqoA6O)@o3j&YB`h^0=x-Jq2VhQGJoCTvi20D#ACp6wP*AvI`)EP2Hj9F z6BYE!9HeO%337&h5>-^cSivs1+xGWRbor;Tt~bPnIk`5-3x3zB8!3d%#Vi{d1&k++ ztWW+AcmZjN04xLLooi?8Ju6Sz=_!cCkK8lz=cQBBE66JB2Va_12NKXavLyzjW>iWHF&uojkr2 zl=t*{+gz9#8QAROcPpFcn9}d2n_(cbO31^j zxqO%`Giee*44h>&NewJ4&M?q6exT)8Fb~3;Og+QIuz|O$6rZ9bKjaB#Zy$%e{@yj6 zL&P>#r#=&{Pvimv->#MvnH_*LpT}d(O;hxJOWDhbqz&6H7!D$R|>kzf_we#FE=XucF=7_ zK;erv!S=D1++m8+B?$~AupoqL!?4nR@&L)C zp6Itz7VF|2RqzHQKTt{nrEOl;H=nBzIa(@eK*eI74-(gmI|>SEl2Skj-^rJ#)Ob}S zoq^W4NI<& zensKmMgv2H=lcIBd&{6Ww{>eY!8JHE?(Py?g1bX-cX!vuAq~MLXmAMb?ivX0?(PH< z{5Dx@*V*ek>-@M?Z&A>6_tZznn9sz`x9qE*wG{&4SHL$_?n(AlDlwsE4Pr^7jPdTHjJ8G?fSj8wg`rH7%b(f~k~N^1hmHWf@C zFdI}qUXDPX|1JQj#qo8=jb41^R z-lRqy8gP~)NR05yIC0wJ#G5weRJjHzDxqeuo1l7hh=4E=81z0f;&NWVy9+yA@vIcT zvDJk@ML+ud)w;EK_B{S$RszT`vM5fE~Y^@zuC`zUY61k$S?m-WD@9v`szX8 zNepc25`gbv4>bReMoIIyphKS!d^;v|%04@fZDr$EkM!{8_M`j1?f7Al-6B0$Xdx;8 z7FtL*MfX-%u%~bgl&~|B`lsjfrukuJG+1SVEXDS9Lgf+on$%~%1XSKJAte={~?B?hAZUqzyMC? zqPEze@ykb#l5^{Vr#}abLZ ze>yp*mN~}?R`#PeHm)unZU`~`YzE&H+=|OD8*jX9xWtDeh1`ab7Fb3U{_hsiWot0SuM!Xg|jq7~AX9+Va z5F$nCM0*EbP|$4#Vb!H$vaFu6sM^|y%$^&@=$P-h3hQF;q+92BJWpf`v{5cg>K{5Z zUG1k&P{Z&9*44aW4W?lYkFDk7d{+8i_h4$(NRZ#e$F^39pxMGvyKB+92h^S!}B193PpdU~{d>-x8N#mxc2Va94e`1U(XsmD;&)2W!Av4JOvs7PLa|45G10`JjjTd!0IC7(Yd*uw?2+^+! zV=4ttBG)j{4BjW*7?Wmz%(<7K>5Cv8ASpi};&(pM3Qai-!|5g)D}eM_)F|dJ@0CIj z?y~&D75FSFr8@wh0HJb9tdH=AcxWGyi6|M%wE811nQ=-$vNLcuJ9&6jq-fCnIIWtqD@0p=fX<;6o;z zUR9=(z)&xCl-|H@L400B#3uu_O+AB>Xt5j-qx*dog$3ftea1y>c~E{ctOCZ~?j7b>V)*26Hy#f7WHAovNDw;FF)8keS+GdyqHR!q(# zwCQNCh?I1brUpSq8JV8j`w@+_TOYNq&|7$jdI1ruD1nq7njw>ljKh^I#H_i*P|fX$ z106j+PF?q{)afQRY7pu==@w!b{|m#`Ry+y4de_t>YzHSBMW%ybPcgq8A@;z&$QE`K z^0h#}KSKDUH=8kfWv{(4YGJDehi@lTD;5bYG~B|)yT^igC(cWf_}VK{f67IkZgLjD z^lE71uLjSdxByNf_+d6oI2_s2jRUlZ*tE0n2J2n`M&O*-kg*kLDP5}rogRLxZGNf;~meWg>3P(t=_2s=OhtZ328 zNbYPMko7{Bzb%P~g?Cg(>0`G82^AEI#K$eKg^-gTvPPAB>N8Q50XHXmDZ3CJJdh#t zF2U|s3PU-Ya%bd}E@o@|LX>imr549Njpg2s-(d&g%Y`W7cZce5ieQJ*k^$RGM%!P( z0W|~y%{C!2{~EeDd8wP62Ev8k4j48bjB1@7*_Vi4tn{L*x$RIu%1Vlh%LSF4+%q-_ zi4h#UQE-2mM{)fIJ)SL=-hXhRXUz;ED9Eq>JZ~T<4s)K&TQ2iITmY1^!LURGB$UV= zGG^I|(~J$Us??JJ>(;n#@PS4Ii5R$d^?j46*Hsy)(eG8mIbv8!xuex((UlGN!|%E) zep9i+P}^(vDEdl2=-(WNV#b&Rvp89DqHnV+(bb3K>5xEVxWoan!;D+ujWGk|Z;2St z);d;#(9jIS9WYEBi@V^_bil#KVCR`fT6i@$7TK{;k&@e8yTf=}ZcC{O9QEWl@wG5#!Kkj#e?cM(G|l9MS6 zRF4Y4tuTIHtpDza*!%n#A~*!ca56^tNZkIapQ;^FVCp!7YPFX%zv)yp9P&*#hX4^P z?JS_x71Ep+hrSaL93G(&AQ@P3#-pn^=C$0-WR7Nn_fsCufW%o(#@^Iy-&a9`^yoa; zM*+P}jyW`FR#{Z$gdR#3xaZqhDMgvCI|!q;$y7nL+0Rqho>C}Am+=@%o*^WC>+hoQ zCDF3g;EG~z;4s8Rhz4YG@`9B8zT<(FyHXvNXwGl`T&?;14#c!rQq zNkx{Y`4->Ff04XscKnBv_bdVh_Chx^2UJ$nbj0V8KnfNF8>)B0V_9CB0s8MsGBJD~ z1vXE1pdVJ;BIIZWE^<(zxTTdcG6MbBWaU2T!x+%zB3IbS+1RPyyNApdIo)BJSp3Fb zxqt(nM|)C8hp4?L#ymlilpFW}Wf$GEu=O!(8tZ%F2tGP~6EsxMJQeXUJaz0hN8zD4 z@r$4%mlDQ|mB$Sp7T96QS|z&64`Q}}6|A&{W(pWw1Zp`rfB3QAI57z880fnwa|->i zRi#_37JG zz%!B@jBcq)Yk(OK83!j+R1;;yIAPERGNMr$w_D%JR8w_zeR>;yV&`K36xo76P|o+h#|1pNl@ ze^;#$z8m+64J1XiJls9K2SRK5jiCdT(Ev7D(Ph7rq-ZX>rpjG5Y!PSzZc@4{zBVZH zR9LKi2t~!^QHuh(U880n&&0;haR=>TgY6s$1B)mEgdBVvjdD46?-Hx<8ulZY)ydW$ zv8$52bU~EKRihKv)GI4|6?J=0!BmRpa+4c{C}NBgY2{8?q(L)pNxIb~8&vB2RWKIw zV-G}Dz#GJmg*o1~6l>YrrRX8n#D!F91x9+F{LZ$8#@hq%#Y*2UF_o%5f{HB-b&_I! zY&tb00C5L%Iym0WU;0=!^!o{gW)IBS?c?jl;t}WLsm%C z<=@pm46%EV@l!#fXBRB6s+QiPM@LXq`&b_$Fvg_=Zsj2-AwldB55aS}$KBns+ z9vMgPSrLkl^Z|k2K1Q~qkduYJ`K+#)s`LiG@lD&#ZU}Wo*b)D1!>1pG%GU$6bGf8P zMH7q=tZ(P5z0D9#$c#6$+X2VpDB_m3Zz?KvBQYa4G~O0lp7N~HiqZlWVU2@J&kk=; zLeF;)n#50fd*Cn{VM(T3`gZILY}HVDK;b)YGJx{EHCd+R<7! z(s6-|`|^os?OTZ|?V^}8>$C%Vbo&|6pAci|MeB8-a(h>j&`P&HOY1Jb|AN{U0ghYb zUwv$(*04Al0ArAa72C%$1@r(t6tzCmj*f$RGT33Tnab1wMIGH=eU2XpQtsCj>kxvi zxcTH$4GZ3m-GsZ`?Q{f@&_RZnLDrX_M5SI*K7i|YybXn@O0Rm0U*w+SXqRrj3lBC3 zVRAWlDUAfaO@;zvNt}dflmim>{RA4S9QiR|YsV%mVC6a^)Yd=&m@TQOL|wlAp&K;2 zPmx+>L|*uAv~NtShdHn3szA3rq+j-}Y<>9h7@EVWhC>m2?dEzhdI=@LYIsknAVQH5 zGPYQ)TPk(__Xs4+Awks7VqZCxLMIG%N$n^A(z7AywkN(Oh-~?S5lfsH2;h5|H5zo~ zM$nEL`NeYHKwVN@V1KMs=nhyVyXf}yxFnL%c`RDo>iX{bMgJlKB%B%xyL$2!9W*oW z(ZD9JhaAGEH}O{qPB-0(NVQD|VGKf?0^`-2itHH49%WnvwRH=XhiW*4Oh{&bXtyyS z@}o7Fmns46i4QNK(ue3Gy%k(c$et7$QW+4@_%S3`=u%!VE->BK!d75?EwAfB z@!gwa3QD~+&ReE}pV(qssB5y!S1lr8mB8J;6Nel^3;pD4Fy6HGGHOZ5g>YY=aUaDD z84V|bVDmB>o(E(na%RL9UY(xNAvuN1^{2d=!-~y@`#Eh zKq%T@8B14j3ey2o`#_O1{wFrlKqgNzG-Z+;%c9f_AgXGtln}1Y`;FM37k@$T9om#C zdB2oP<^_#Sg=Iqm5CE}UMS}Xo_-18s-l&!^GT<8Kk6(xQkpt~1CsrWa`F&8Z?RijS zvz4G)zU7KwE^_0g1TFVe78!}is87S?p_^tWeVv&?BRb<8vVPxF{EkK%o7}9_FKB~I zwvWf^iMiyaM2`qA5+P)|cNbAbR)_VzrZ(K%?L85eI+*V8SCWT$4j~HL8hRFo%MQ;- zjd?{av$w^Im`vja(Rmv#PyYKs`CpkGZm_gA%qg>l;juH*T?X< z^Yte&V`_D+eb=#@*oTLpIAnC3vVrEPaOiO8P8>3ZBXW?S?Ws#ZS`#)FA2calA2Q1J z21Qj}eNXg956?0Y>1X621!}TOUs?iD<8-tMHz;isdmFHK7|6HZ%T@iHfu)-vLrPEh z>A-H9RjfXlE`vZh<6D^l$GU2et$K)Z?fBsht<~*xwOe#{YLwqoZ)4THu3H`)n8iU3 zE(|~hnjuTn2C>k6JUf^}HQK=mjQ~n(ra3~o11II(WpIcRZ}wAm2(kuPSLZe_U=D39^NbH^b5*mowH2cZ}kuIhaKnr9u<)MLF+rj5vrD z7Wt}8Wnn1ng~8`yKOgS(6Bw)IAwg#`g!n8tF`|xA!)e_qhyckj zxafu$r?e3?QGUHyqEv2#&LxL<8E!YG+?PFsbzEzgVGS-yzZsDry@^c_^oGkqjhfMt z##=y7H(1SzxL-x;8&;L->^)jAWZ#4rbOuB)+5wa)6>(_U60~rfYQJmK7*YAz3OnbU zEYTS?x=nL;`wNe9dv%h?L@L9q*os|r(9j#%9U_4UQ!RK*1z-fijYf1Qgo>mP6l{x# z6DJxx*k`-^G%#=|l8IRlK7))W(VT38MsR|dK2<9v!xZ?V4=%(@eYEGE^tppt;be9K0c~PHR3Rc5A45O?-4ZQgwSL7N+a+oq{*ci)nBhtk^ZQR z)T><>eWJr~Cu}7Xv6@m;y?00*SeJhfCOd`15!UEDtzZt*eU*ra9bI?S_B zwkD1kN;{+R6k~}e-|tN_Ug}hoLT$69D3($b8;ulc60`00#g4MQklog{dF!?39x`Yu z>{*w>c@k21k0u6MAdK2rp!u!+R=r%HNGEHc^a2vh@d9>VG!A!9{>B&zy?APc%c2u5 zq3pKIEhr5`%RmM2L&ro_Ce@$i3u?9)Q4t^}z6X`|pObq?*%OG1s4!uc{y>|t0km%$ zM2phrI^`~)b>k=ZTn{LKRZ;U*&Gajd_L`%S$IhiIxcIa-Q#GwUyr`}j?+A$yd8Hx0Nvh4i(};Ka!PM#;;w8sW z4zqFb>~ZpI3!aE+Vd}Hlw6|EaB<3KN4ZE7MQ5cKw9&LBagspHOE`PLiY;OO8K< z1O1q`R1r4Ns&Q@>O`>Ur9Z0V&(c{^j`w2%d(did>qWk)~K6oOdb)bEbmd3yM#DA%O& zFBy)b#cr*@J`yqP1t+4-cN?xUDxzfQ91+E0DMaP`%944b_{hgGGisD&3X1^MC0X%Q z`DtMJ;)?>|f7jzX&5$sWQ6k~jUZDIjdHM?u;TBz$4*xvf9MNkmT(jnxptN5~oqAFy-o2KwgZ~> z;I;F|m1IB;W+NrczrDX;~0piv)pJGHex%@YIN5*9q4?jMdwizem-`eF%S z{=5t2Pl{E!m!`6+$tU89>GjM1_hY#6XR&g_CZ8UDA+M;N2)=&!e?P7$KtaEI*CUBP z$Lx>(Z_1CJ%m?bAI3{ZVYfrK4Q$+MD7vO(AKS};X7P(<)(0N2V^#ln2@}AfaDSuHU z>X_m?Gz+CX`PfwUH z^4-O%oZJ2XG6AnsUhvlvE2k_a{(FC8KNS6iP~|D41>(F8>BBLUwaxkVQhh58V|)0+ zuVZa~udcwCaHHP)-oAX7WrHcA|F^N%U|&dOs`TR2!sl|bNNb2*BO;6B@P(pHKP_B~ z=xO;DRP&AdArs420H)rLY5dQoQ9z9y_U{UKR$Z*XhMF8&T&&RBzoGz3=|3KDtp%{~ z1eY06j4uT7w3c3c=Zo{4>?Q~#5Vxw zyHX7Nm(Ok=ejY+IS5hzg3H~pJ6>#sB$}ts=C*dLVR7>;wL~9%67>3O`akV_iD!>K~ z9sSJQ(BZ^CAB)z|n(pr9WEEL$c0Tjvp%Gq*A@#Cuo0V<~_#QYDuDMwuw4y_*TY#Y{ zYaGE6@IDj(FGebk1O-zd%nOhRiOP=v!L%0LGwAe|QL|<(YJJ z^_JTJjq(7_?w{VFz(VnFK`O4VYinu2cZRncJa{Mxo;ppmbh+lR(YAX!0br=blHrR8n7PG?U;~`XON4|waI>A z=*1`g0ZPnJ3^)mq7ZdYhv?tdpJTd_R!7r`~B?kV_e?4ci8^TZ$3AJHy6+t_R7^x{j zl0!1Y$)4W1>Z-XNqLSjy2YELl}jFeFJYF)6(^9SwS^aXtmY$-x5SAjl~hT7DASaq|UyB4+S7 zEsE{3>#8pU^%&c@|tH79XQCzu6VC6EY^|cFc z-yU}zEY(-e5b^Nwl^Q84DxwH!J`0%txKDaYG|(jw1iM^)1AOpySKwk?6~Y* ztT#m#CC09Nta}8wbgdPgb8S&kcW@9*FA4D zF;_Ogpk%=t?2eZN&l9+_e?MKAXr8FRNeVD)CztfatwuW~ArTPy`IA`+ho}j3vliB9 z3^U2_V9p#%sn!+tVO$osQU2kRh~Qiqxqm@Hn6mS+c1(U{->|0q(f|Vg?HT11w48ju zt?aiRN-GkUQhn6^wVxz)fa0;=@RVP;XrjRIk?M{M#VRT=oQ_2oIZvl?bTos9D;q?~c$uErT9_7C9Zs;LMDdT0WcWbS=EB1`^CqoWWwm>`V^z z7l-5cI9|2s zO?`kOs(bB_O7DR%O5Td%|M8xTzrQCKAEi0r|7ffA^?SCJdy8+bZMI_=k^kRG`b+r$ zheOgYOa3_?mvGnFt8MMS@K&07FWo5l>fbNVjCS$iCvZ| zGb}BY`rrHiN3s03k|BZMLOgv zq=7K-zoV3wm-l_X+pnvyzr2|@5K7!1k{35*L*T#c!)R)0DSh$u^t{+fP*fPOmr57k zh=T{W8ILFN+17VQ_#Yi})Bu7nkoSK&HgMVOf%f+HKJ)I#Ac2_HGaLZn@;{u^J|0L4 zZTUA6WuGNay_C?i6jEA&we>2Fh&R=L>&|AV3cc0=pY!&?XnZb5SJ%Gv^=xQF?2WCh zpoE0!og)yq93)Y0;H0Hk(R9g6hEM=e!f@Z?-8DQSqUsA{ICvWw0$HIYYAEFO$zR7? zrI*wC!1?3H=}Ob2u*WYha{b>s2?3$ugSsatM2$~-&V_##s;drL$$#U=$jCNxz#U>% zR#r%O`1Z*Of4O}AHJRb3z#83ajm~?lfcxp}-(wyfqQ=I#qZ~ER3S(&>AxyO6IY}Y% zvJ?cr@%BxAKC)`J`Uv|&|2Xm`Of%PSU+|0Y3G3Hy^t)1C$kB}6AakFLx-*7LL~`$7 zW*5Soq6hYO?G1<~C#>jg!WuqdW0XMtQ=~$~v@-gDFOPmkO`}!q!=mRrM@fyHIljw^ z#VCSuA1`c|iLWBYPaaQ@kl#K3Zsl8e-boe}vwMPja@1I8y>#{$G-7I4uMqSRfCc+$ zkJVNasf+%wBWam8UbaGl;PdZXS3d<@_w}>M_Z5kNih`3RMsbYc=y;6U6rGzj{W4={ ze>PNLR1|{$!}9vojH)6U7S{XJojLWRZwfAFGWhd+t<~Tf5yxA^=ygjt^J!hDoCBirX*{mzc<-?N#WJhk#mollbE8XE)f46&yDFd42IkmYw5K*b^u-+yb^p*<2# zJ?^r5&v?Vzs#U?DL#Pn3&oJU=U+-8^7Sw_bd4%hZx1te(O0*HP%{5=V^dO5Q%(sxU zQg+UgVY1%A3E?4D(^LS;JfE9>U#IT=DdNDcR|>h~TkkrcNwX<^IvZuBd(7({5xodJ zvZKWuS8%7j#r_b6i|(C&mvvCG6)wfB^7y77*2;zMc!Q(ji4SkFKvO!3PRqG%Rwf^F ze#o>Q+wVm`>M<|QtiFxAyd~Po9}~T0ono_xF1psO3Klrr)_a?q7;+I)IJ-LyU{aNE zA3o`5=N)Yd?}}z&Tc8I0u)v(Sr!!5(uZ!A=;OCXjhqG4eRc13UZAZt8;Er~%R->x# zN(EnaS4HtdEnQx%JD`@7Jkrp^;(+y1T%O2b_YkgQFvqZry!e48DSzAiWB&m9-f_%8 zN5XBPcFg&@V!JF`=x_&3=Q^vKdr&R=yG9*uKuS2(4|G#0Lk<#yY#iykc##^2L2f(k zUxJsHFA9!M*xg^MqYohALA*A@YuZsh1MQ*eCN|Z&@3o*xzr7f`sGgn>^{%f^?_KYT z{n0eQL;8z-p_epB*muPv6Y=r!FpNUScYApIhyl{8Wgqn6E(iP?2wz;yaUGY6bBk!h7ZfCCw|H=^gHvg+Q&=CVPKQw?nJjf^Hut!6Z!Q0|5HTP6ld8;o4$ zvM+>E)jU6N*&%?=kcMo1=4}x{&Q|(yV})kPzxR_nvTAY>;N(fK9`tk>>h4?aukgFa9l)9KzfS^N8?gE|`E{&=Y5n;; zH&9ZDFksrz9-8rf!sabh_@s&AK3iLgDpJ?C>hEr>WMX;~S?CquPoD8IaU4!I;!jq1 zC4j1ml&L}hN1tOoE*Rvwek_dZ_k0O~>Pe&(o|Cj-Y}NmfM}3QG^(@+HoI;$!C?*8m1!s_4ekY&ThSlDJN%ZM_z%=*#AY(QV2?tQ0g3)=y-qr(}@r5$t(SlMP>24#}ok(+Xtdcyg2Zm?{ z?2QGYL6WaRBOu6FDUH5~wg6ODchm6fPUP(lnNQu|KlF-F!tq&m5;1Q>fB6aX6UM^V z!~^}bT#nV|D;x9Ys}UHvz~E0p)!#KO6Ioa@-IAEZS`V5gmSV_M06~ z-E`)GhNZV+3xdQ;uJ}yJIYAhn6}L_p9=FC-@VSNkWSmdIuXV|1&%0Bu=VQQ#E#FPc zlkNm?T30dXiGbVfdn6Z%_%+9`mob5(^V2+N2|_}>BZHi>l&|HwcTbY5VqRH)SxX8` z8b-$51Vurk{wS<6{dR996ni~dqhE(ww%+8J8po*JE5NTKXg?Spy4gVkspDqA)JY-T5WeRY zvR_8Zlf(tkwp;Qwr^lZ;PR&_|A-j#*VeJriC>VaHN~Uf8!38shl`P_kbUn7Ox{oHC ze;>ML!T_AqJ4u`$xVPkKPM^~GCcRSSNusN!&}5d=s}St%zmAlr#I1j&gJhYyO*r=P zoXYt#?uCEhr+dYUDWk0ZtqJ)M=9;2sL#h;CZ^-(ritd*uRKagW3Yl9ToezZi`udMg z>n~5Do)x){EiLjD(;wDcgW7xd*Lok6mT<%33G9b30t2^>Pd7hItRF(i)t-b?8&m2 zwJBCdsE=k|*?~>xhwf+WM-SV+-IF2UWN9*g?v;HFsSRH@(>s9mwGqVB85IJNun0&uFhb!(^Gn<+Z@o;-8O6&PFCCgmxdN?KAet<&UQy!ng_sqny z#tuT#rKR8cIqJ9u=SJK%V{NHZ4w*NI%t5d?SQ66@1?9QD*%5mu8jtkU?03@1onZD> z$TTgS53!#8;kN4JFZK=^h-mi!ZRhwy3DHv0-=?^EqKQzOLd*j&857s@@@N@>wwz z2d@{#0h#b7e7OB!Y|hg_o5;x!+<(d#Vxh5~P{hbjpVIT!(ef9`E;gVC>L~0)pd`Ml zRNjtc2&fN-j-*&wzu($vNVMq9jr{4M98e{c)D~Ln4?AR#S8y#tRhcX#Ki0ug_df0M zTm{D&k!!1B)SLwwibt67P%N?KQejhKL@t~NBU8dmd~ri?hUMUz2Z}V64E=6 zD=}r98c+Dm8&^1-R%z8Gn$+Vb?EW1*HBv{QdvIaD-ctxY{fd}0P{8d!RXWiwz#&%um zQJ8`bFuOMIM7i-2JM%DZFA@8AS9+>uE~+(P zn&fRijan&evLW!D3whR!uO*r?|BkoVr17Ob6OdGW{c)fs&ad*M-%678_$GN={KcYh zQ0yryWwCNm{Bk4=Z9NlhovT2rP(kk9Sn@=9Q35+3IZyph!rS(VuN|VNlgaM1;Y;hz z9yd>%CqCfK9{i%udqfD{o;LILrTe_Exwg2Pn`(6IA76GC0#M*VM3--dw_no>hVkG6 zDa{EL6-*5d>th&-{H(<|@&$Z6<&o7h`N}bcZ0^LJQ##`o@7|_w!KL~*04K*hn1Ok# zIs2|2ZmbS&-vz+sI;xM`B|W$-v8(TsZho(sAd`>6d^s9Z_9#h9wjs=M8swX38TgF* zl(g>LafZ%lH-Au2g7p4Oa0^RGAYkDoJ5EYGj zRWo~;@m0+++Y@AU3|n|zO3TSoN_klOXr{{&S!gSxcvwHyR!AU$!b*%x8)I{Rb0-o= zYT2;FujZHq`@Q|>iRagBsB1Bwl&G{pkk&C;`f_^8}AXkD`G=rFPiK{kafmMzuW z$>n-@c(PNdrPZLO*qyA(pP4YeL@kK|g28HUupV56%ma!nSzjMrYo@^R$)MjuGTgkN z=*8bg1IGoKiXLqlqZuX4nUT#+PDW_ldgNQQ6_PZZzdp0^!g@UR8hgE8AiRzMD#Ivv z9WS^nMlQ}3gpZo@`wZr^Ka+n~%q;jS9WH&`|K)(YC;6Qgmjxl9yk@^=%q_8H*U>O< zm&;h7ebeAaY3~k5t;wga>wsUFQVWXiE`=?@_PEp8r6FOK_{w}#;oE{1Alj*^ODbMj;@7Uy^VV{G0J1|bLg_-2YPXi<7>rQ}- zVcko8`-M5Hk-T)9x7wgB^|vksuX(>DmQkNRk3p}*U*+w$aIhoz6KRRiR)#Z;TbPAV zZ3gi;ap6xfCVe;0HFZUt={Kx;j30iP}*XZy<*oT~z$rmE1hpJJx4BizvD(oouNg z0T_ui;w3a9{GqNnq*Yy>EZL{rwcL4XcG~T++<9vwyMmapHbrh*yd@%0d3#1N(POqM!7ajn4VQiy%bc4K}}z#vLK8+HaaF(5}jSsI3aESrykk zszJDDFTA@uW>!&vt+H-ZO3BBDvi&X8 z6zbi(58k70Cy|~gzaEf4TiY)mG!2x#&ZSG|`k5FY=bhGdK91+#j5R4gsPU#`^h{a+ zki9SEd6{-jO*>hgbLLdf;lsvbs%$J6W!D6|z7(qEj@_e#SRTn`YJbGC_$q)m?Ei3z zeLfkJrJ!AU8>?SRx@ifq)((vFjzne$&2%^b4$cWb*HE$?*?9y6a_ms`&avQ`hbixe zlGfVYpShp_CvPFUXPzh`Vb%%O)($El^s}jzL(}{2=iM z8JXalayAnS24LJGOUr7ZS+KbVZTF6mC`sg;>?S5vuQ&oig+NYMaqy=H4-`6d`(>#G z|Ku9kFEu(#RjtTN{`fqqP=y(lVq>Ttqdo<7C#bTUCDXbtn$bg~5}g?KUq1-Y+uj41Ofdpb(W4Sz!7Q?m+?mqU zhp}(ZHB7Y5UpQP&?!j6h`vaA_n;zQyLt!)H7Nb#RP=YN>-v4x143 z{U?Q>^ZGEbLrc`J9AG59*q+oiI*80gw17dOZCVykYkBjz&r=kFlm|1gk_X zMj5H9%6E2_P~TFls*f%6o_Cx|Te9j;zRwA)Amykg&FJd)J*MoJ^~XIf-^a_rqkXA6 z{$WxGGD9@LbbOr?3Mer--E}6J=xbdeT4qcB;9F`O#pm;VgFSV#{lYagPQ5kBncIL~ zmqF60L{#Z!S1CWhF`mSC_g^wjdnds-mg*kT*QV+#>9zzlwJF|tL>Q-TMcmr@(xRV; z$ZtpITDA`f`@(L3M@-tmQTogpL75a+c=DbV<7A>PA!sT2j0Zcld94eoCLi)LM{GR| z_BaXipY8(82VbrO7G9Q!K;7M`*5eaP_KTF|4&mj(%)eqOtqPN6u5MFYv{us)GIV_x zQE|dwd?9Zry$JYi7Sn9Qf?+;ySfckNZcQ+%nOmqQEEr$)y6rQUYWPq6An5PY8A)?OE{VTS~o z+1h<-%}2%!Uc0Q+GlSoT>BI*shz15}RjOF6^Z2k~BAoSTioW|&;I7npOfSv3j@_mL zf;FGhl%?mCjli)k-J)A@Qb9Ejg^xa!!@RIHvVx^v)}EIEMmXL3w(`*&{5shsfi{<$ z#j@q?uJi&?^Cp2HA!LbVO1p#YKMCwkkGn2%%XEH`Kj56<6@qT3e`Z@7f4#r5hzP{` z{ahoA$AE9r{j_>U>r~H;LY2$h#?hgu;RM1=cEJNgC>Q`C?qag~-pi*wrmXA~w|AWB zx@?uYe<>;=qOno>Na64t(ksMR(A=5i4#okhxmhxB+R7~uk=dz4lk;&a)Kr`bvyzYX zT=P~2llp<*W^-ij+(26Jfr9+KN#9@+lRVvHTpWMBqoA;?rZhb`+_Kh#rXCOY{yrF& zZ=a{B5{`_cYnsiZs06fW4FJMqr*`Z2whQO+uGrc5+#G*&3p+V+oNKD(CW#<9zZ+Gv zuzSKM(%C-H@td26F`KVpn@d1H;*~MvkV7W#8he6PG4^$8OJ9wBmyVpRqJC+^^xhz^ zcA2e^NboJxiz6%EvEI}goba@7{L>(_(+GKD`CAQIJbP(vXPWB@y`6>Xbz{f5oJl5Q z{XyIcuU|}l>=`Bo_K0r}(=`i2fEqFjZUadRYia5l^v<+Lnm=NYv+{6M&QAx+bs861 zJ(wl(;_Q|iF6RTD<`aIU2i5695mo(dSKXQ6WMX6Qd6-dFcTe=sNcW=xqahe2ITI>A zceph2;#UR$iqfpF7aXFe7UMM=U7k z;=(R0EDQw&1-jvM&V-YbeuZ1pIe>A}gK2st8O|dl0ZOb%v^>dEC6OdK47 zOlh9T?+;Mgto7*_No6`X>-bTWt-rk|Prkak4)R2yWVpIW{f6C_{D*A-4g+k_4$jU# zTHvlWIYBBaD)#jDp3?-{jri>lprzVF$b3DnsbNdJ7r)*g-v zE3~f|wFrZB>#`-Co8Ik=ap#WNRDAHcuApn<@$NAhiv)1&p1*-OTmEDj-^&|4l*8oY zthc%Bnq6UcS9#7-EKRoT5{aDC2w4%Ol>fz%h|vSiW>*eS5sLVk(`45ylyoa~} zx;#nH1DF8$FO*iQUOV{?|3I=?#5P8lJJpV>!I*f-i|^CTyfJtuOwi|GMtHcnsavem z%5rD>UP)JjAyUAf$by0;-b3c!vHZdc@OCBFisy7QfICe4cTNDvO8N_w#MRcn5(Xl= zX0QONh7__>g=dJQ0vP{_^Z$kMOX(B*!QKAXTT)vfOb|d+J@Iw-CpQE$XIotozmz45 zuH|^+)b%mXwSvvVP9YbkpK!zVmqS@^0q|?&x)x0z%&jS9r)xB~jUU=~<^GRv9(qN; zseqGRvF>x`we>TZgbzKAo#7v>$vQEoIREWKz(dB@?M22QjnC0LG$UfBPqdqYocab9 zC%`x%?{Y5CEG!O@xwT$tF=xAQGLrH*L0W%12GX!eSE0LG<_l;eFs$I%Bof(maLqex z5~X9KhtG#c+u;o?2DcYFLFR`A6^o`P=-uUK;CK&$^tDIUnnS`*{eN2>Lm4>m)Gvu4 zf?OpzG1dWc&spyo4y^WVB_JfU^p*FCXy-`$lt@rvFj zZ*x=cTohKqERDxzsl|-MK(^gCLds4V4^v&`gk|1M@}Is5yAQ^kVWMQ3)6mZc8S!I>fkQd8hq3@?LS88&;d|lVjjB{A9*nn2&u|(Y;w2ZbV{pri+r+w{}!s+1OpnPHTfkM@lwS9LKyl0RhaSz zRH>(6gm4>B3U+ws;NYr}5_0%`JF+sMLx?4crtypT3|FtED7-^W_|R3s&N*VQ+0bYX znuql9VSa%%%3%Q>dJNUZQ!13i^f5Vk``bB zv)nlKMVpQ63sT%XW0Ir3N53WlBZ z7qA(+LM;4Z-}K!D&L91`5!-QC>@!9pn9-QC^Y-Q6KTaCiF_>E3<1 zzjvQ=UHqsY39PD`^2}%4V@zQ>eW%HETkW2rv91ZtK8D*?(Eww1_0dMOqe;GPLvF|{ z?o`}JQN&jJIA)3K`dh0HM6;MjM?RTzFsW&>sdZ_CxvQG<$;)RUQt#Ck0wfC(J_wfO zO$ZA$QvQRr`43Jcul<*t%&Z%*bB!5oE&j8rd=*;?EmwCE`M*tJVBJf4{c-^Mz|vyH z^HkaK@3~LSS@K$7|L0f#^F@@#>!0~RzmMz_E$|FO6N01$zX?7{9_ z?(s*FvHv=p1?I#wbN|BvtiOS+r%86!b_Nba%mm_-R%@-E+W0ZS{|h|V2+j3;yLB@& z^S_{6K(F`DAD8^!1ZZC*bAs-r%o<5U!+#lSz_AncmClrx9@zz2#+wy=1pHYO`7f=m z7i3IE!|R-DccJ&z+XsUg&vgKe_zNMj^naG9e=J%O>^`Z)tlBnd1-Ecr6Nyy*4U=+?cnII zPnFERM!;MplAt@yT9t2|I{~Pznu?#FtYJW8zn0#Qp#JBr0&h4z7Hnl@C7IhjHZc(g zAkK1gd>qukj|D%g3T>U7j1?*t)vpm2o@_VRl|plg`8;^m^(kDc#b$F462%(-i$QGf z2Rk}CijIx7+v-KY!^fW?{Dw)b@-;XZPD)COkNkD_*I~v1>XCik-LbSj14ah#XOG!Z z%^^Smr;sA1-+l#tKd^vum(7Xrfk%uN0iLYxZj0~=pw2pumPlS^osXBvUG^zxoSbgz zp0)+{o2mtW59;*|*pIxYtrw%5kK1(K9aB?Lr>8c_DJg`<{M*OG^bp|D+lg)WGiA3^ zY0ufTWuhV?;Ryh9tdRrf3-O9eVu??Jm=)3Oi!*&@lZ+I5v<`gM8fgUXxPI2;uQ7)c zo-q}MbhU(DQwQ<#?F_o#T82KqTiWy*3qHx&a%Aug0SW-a!1RW>x|MkW#WMynot$6sFF|m>gO>I0uaVa{t~E6g2uqiEA*&%M;iz4tOm|5OPOb4_Droxa=&5Fd}mUXC1xT7dIdG7D0e zF&H$W2B>!*rK@JzBgYTKRNCDKm44*RFs0BKOesmN?pxz~QpVGnz#a^C`!J3^oaAaf zW?j_3ZPP;HqrRn*@dglZADj0V=_RYS623ctshvaJ8*x7$(}kmM4Ha9%GkbbO7T$k? z-+y3=Vka0w#W^1GIA~2OlZmvo_~~pR^CC$M&M%DER3w$AX(y-wtlaB=rg4@_36&%Qns z+iYWU-L;kO0JnikSL=a34CpdXMC##NekKk4jdH*Qk9=;fes*?B4}}3-(j0AH&%m3k z)`-MS55ziJ@+VAnmBT;CvQUzfWh$cr9z#6Jvp*vo5@_mV=TXum1XEQGz)$L#BO4sJ zI%6%MVo~U-Ya%X5)kihn^teOclC3*8P>g5W?JiOwj^b zesM7|9Iv~CXRe29?=S122-L?9K5LIKflOwnBGrEI`?f_P!F`DKQdOz%NOeqc*pcPN z2)7Sjahf=>dFM*so{S7|+QcyZI-l6aC=ZuXUt>Kz7=mcAW%k;-(&$KSC;YH+8!*g~ zj*0`0kzFY{CsPbMtB{}Aq-Ss7F@xDwE50wJ)mBii7M^rfKm3KOi4xf@NU)4!LpKjQ zXgo#RlT+0*GsV{{H&4LB^cSm}n(HuslxdpjZO}iFV<9O^u!Z$Y64g`1K3Tf^v+`*|ePcb4Lb?fE zxUEQr_K`Il>F!?N-#61g*k(qFzx{2-0OIoQe^_?UK*&blCC?0_zY=Ot zC6J!B@TQH>KPI2be|`|!uhjcE+uB3NC3QO4XC=_!+0jGB?bd=~DMD;ra;3lz#m^6O z*E7SsreIV}P4s~$wI-D$o2CmwXumj412lG*UX=d@%`seo7fn*pAMZ9DCF}ehIV<0% zKD5kb=kE4?k*S9}yxV$oN5-fYjI@4%OpoJa+H7}k+@->}s1{b#x-V5y4%3R>9bkln z8p-W4$`V$h2pm@dII+dSKN))(pz$YV|oOQ0jkY;o8(3qQI3g7yBjJr&o?@iK@>)F5aqUFyU z#L5>7-tdLkd(<03b<}`FB!Tqh#tG?4#}*HU>0cuGguqTFM;_&foWw6&|z-KXW?Qps!`+e2}x6?zaw%4G!447HF#VxMHZ z<27ptvb#%kX8EB(ZmkWyd)$H=NFKhDt1Sbei)Kugvz;0mzuxI1k&i6hK?zm#PHHy~ zm%q(eL>_hs1-%@2X>?_g82>PChYg_isdaH_H;}zdGV1vv;L+~AXXcqVtDTz%%c}jc zf_H*QPCD(m?%8PA{*@^)f#mWb)OmO~r>hCLN@S!&JZ?N759N5Vx1o}8f3dM+HNuq_ zp47viDwJe|e%~Ua^6*2NhH@_ZLWXK};uTRWwhq!3o8x{ohrIRO`L>_GKQ~CYpIcA| z=xzbNA$D`DJxUQNb|2R}d%xmK-Jm>jwS%-EN5XPT^|xc_hN#(oSiLxvdQ#=@tG+rm z!fOq-iOTF)Wpd%C*TmNw;G2hKS4}EN_8y#MNsbr|p^{(DsD6lJL(zU0HfJ;B9gw0s zEhehLII}3iD96GjNKSzq~?uB|5f23rX; zfoNG36p)N{J|cT4dBv|kDSKA+4slO8Qu&>K16x2HLK20@d8a50>ndF~UsY&!41elc z_*n1T>+C`%kOVV&>*!dk%FuCLYFAH(fVn8FX`6P(amG-u1dBn7!tmiGiG?cTpt1RQ zB=cMJ0fuP^)mU)gKb||@lIEbDWGOz?8vatv166HU`N-nTEIJyr)?lzganE2|%WPgk z3W{p+cT%At+%e$Uh~<17Jm+t9)XAm_(pT3KvI`cd;9o~-FTxhOgh22*C#Qe@a-3lhD?l%8Rp%x4(u68x7RNwZ) zbhY;{5uXTD49)wn-~1L*EYc(3x6Lwr8HD~_OwWHf4c31AWX#S{;Yl{)QK@8E5w%J4id6H2evn1*i=Wx*(YQrU**kNB3o2hw4Ef%ET zV=~Y&BX*sVENE~Do2)J!={*_~FS#09u3L{Sq-;*X=>gev`tFmX>^VvK)wVQA^}~f9TQ;f%_4x(aCq>i3Oxxm5=0VuqWCTv-{f_Ok4RuiB3`!e z-2X6eG+K@rj$z(z7N8AkUc%(VrW6gm3o*->{!+Q^d1g*SwqqPZ9rlCRpaF`OA1bpV zJml^Y(rN3QTZ{k}fK28}J#!M-{=%@%kYc^VRI6HNtVw+$nm_${-m8Uv+~R#E(bUwm zSZhroPj%6|6&Fg>y_}L$J3MqN+snm8I9~N>E?>m0c{dKt0y5%3>$pY;7S^o%q^ILh z6S++M_RH+h*1cLuHPg!&c(!n*MK%mqfc@c+CDD7&ss7zR#5B`h!KvHPZ%dX6KNT6s z$so6RAMR%?R{(s53k_N97pyW19(KW#CAqWwB)*hd{mfw!(LT`cqp77b`jB4G@=bSO;|(n?E<61`uyd|CadLG!mlv@1G&x?O?vBn( zEKl~fI7r+%e#Aer%SHt!NjZ4iLrQdz%o9z%m> zEj5Qvp7%b4CZX;P?L;%MFQao5w$P*{M2z0;7nSu74$8$jKVRnYwxp>K)DY8W{Et-> z_McYKX;QX;eP+GYoA*sRG>xFS{L_2(1)@bx^CcAsA+I)RvQi^b!G$li=%xe=fO(bh zia=CLOk8r>pjp5w3$3ce_)Efw3#H{17pKI;!LG@$OAwmXf>KWu4Ux*oAaNxW1ivQ} zsCW$jn44w%)Qf>oLm{@F0wxTl1yRWWqe2h?RJ>S>ajg^?KyqoQ0bi(VkY2F=mM6b7 zt74}Ako1dyRnU5<+ZJHFu(?q(N>kvvAjr&YZgsfL$%i-?Tpb_3I|Jk9UZuMY90N$XU$VMStaK6BV=d8>oEhl^-Pfj1q8!ux3TE<`boOX)!KFNG}Fq_wz&tYwL%Yw z+HIzO?fIknPzQ2{5@3>z zyVCz*{6Zo)D18DzQPn}_6WdB#Q%%tap?dvY!}R-Uo_;94qu+glYwIv3!#nCI=qump z^XR0Rna+*t1NDB_2t6g>ByJlu3y?Z#iN+DK_Bfo-hIU&=;V3+(vQevpD4X>r&Mgld zahIPVwTj>Gcg?}ds|$buO=Ani{$Z*UAe+eXupg@Wi44Hc#@KYKOR;B`z;KPRN~i~G zsqqha;T7_FWEeSvzI{j|x)v&&`XuL>25hm}&9_>Vu_?W3vX&$dW>`50i7+|MOuRf9 zhBxE*n?eX68DqbvRq~`^5!MdrOvAiRrzHVz!>_j8zuDG5o`CulyP#Fs|8nf5|(!o#l0>k zrI+K29Mt$x3K7mWI9c-LhLC^49Ox3ytZJX%A=RO7nLlCjGFhUxuz-k9w7PyxR^EQ` zPu|t#RIg=|boE4RIC{y**BnkRe+ACj#>#hFwriFpuhwA>qzD zXk>n<`=Od72aR7sW;X;B15OuwVlLJ;`UM3JXDJ$q$|^=@%O$6mnrSDQ(&C5`P=U; zH-e28&W;qn2uJ2*0gPMYFCUx=$bk!NU zscHg_3j!jp;Imp^$)L)p(<#cKJ+qIrRy}k)k)*v70Am!ikKi(m!=>sr`$U`)!>^or zbsVXbhoCF206nylOn-n=K*`e%#j1Qddn{5t2r7a#?2V~>Hzp!4h}b|{LM>~21`os! zEVl4vxY`4hk3beiQ^NMa5ewG|DAtflaWynY^uCV;jO%f&arr$Z zzQEd2lN@dM-8o6LR!ROZPrD$+gF(Trg1`9WXB~x>_digZ~)%q z?5)jJ#MEz!NX)V-SJgkQ(tp5i^y%icgFP~Pl7n>B3{U|pjfO@$&^;ui^ltfGM68%V zPt}Klvb&6nR|`aC$5AacH}aKqt0}0=)-|% z@gK-38-2gS-_-aC8F9z)aPkG^H7eE2Ja7G3t?S z&ZRgz{#CXC6YH8~(I3Tw=Nf4&lomOFOab&ey!>ClKQnzpmAM&osBXnv&E88^_#;eq zV!RuZwZpU)j=+mZpj165sqsvSgj7r?Srox!7^il5BLS zw2zFQ``>YGlS7ze3?keo+AT^jLXwacbM-EXamJJWtSL3qu@I%4~&zwqzG3B&Z%GGJd*= zB<+gUl%$Q$Ylm!gjJLf{vZbkGa|v9t$B( z=}*B!!o&xc)hawKt!$P~OhjZ|eGMl+aBj^8*o!E3sfN7H_g8{sotDgK^>>@D99D?Z zJIKlWWiIHo>n?OW@5y!)wi&CXLRUIxKJ=D;X6gcM3}RD`PEUE1L|JhP@6^+h=r|&; z4g%*vyntMLh17zqyF?!=PJ|0C4`_JA_NfY=uBI1+uo7Dp>&)Ec%I%+4HAYf{nH-F~ z4hHge{q3Q8-1yARNke5U5l>5tNY!hI!n^Edo_Xo*J+b#v&YbX)3aMO@oR?$Dsbz--N|RS$6dS3&amJ3*a?uYkt3eDdV~s$H#$aQ;pa4*X*EfYM0)SJS zT}1n13nWAW zyxMMBdpcebQfZ|HixT=z4u%MSF7<%u6bi#6t#Oo5eoh9O;%69AZ8`_yiuXT)YOvi- z4)ZYGjoBm>+D*qxhvM4S+n$T2a#KfB9>CXLp1G1nW1{|&QQq%#B?V+yZr6J|-5Z zX;-q>DwM`^ak-+SK#uGdoEuX6tC)d@hu1O$D{nopg!3-aP8H78`&@mqgYQ zXC;OCyW!pmgg(HR$-O13Lwq1b$tHu$DAtPP2Pa7U+8R&{3R6u@6dfNobVWMK$XcG4 z;a6JhqZS?cU_e}L%mx25;V-FkFU|3%ZwT?11bBErg#TYDo%qn-;;b-mi_Tb?WZzi~&%fxUzyDx6H{7c@ zJT|AIoqibki2~TKmFfO};T?Y~zQ}KqUP-19VFZ#S_YdU%`tbk$jbEXckr@x z;TiD;mH)1$3$z=(G6+E4N&gPPK+r!0-G9EmA^kJDVGcZ=JjZJ&fR+&Q0h$9~%F4=DgupkH>Ty0WFppqb1TS0mLqkJvA0Dc7I>0nEG;Hkb5;amHW`DHvzoW+q`Q^ZI zl?L!|`iu$jz`WDd)!lD<4aUKG&1?~g%^ooSO$64$IXJK7HZ-IF$l$NzXQOU7U?!BE zp2i2KtZdb;X^j4v#S%XYHi*>h>gxJ$T{o{L$U)08M2_-5EC2xN$;6sJ?<==$N_*d< zt=)|}i%3XBCkWNH53o;({YEnc0Kj^{STT_8UY5Irb!0z%!JPYS4OzVUWI2%c`w<~Z zTaHgT8ul$G=&?Tac#Q3Gkrq_ZCvw_aXXKbFN?th_yvc1oK3smb2)K#ouXwv-$hIEh zXIKI#<+7g9PaZuwH7uHyPfTf`vP4*W?G9=2f8FJ#05b1!QFDT)`{5J8BFA=XUSwUC zcMbB`*1`Og4z~5-k*(e2<_^Bd{5^fMCAJf8pJYQz={0=Ik=4ng?A=a+A_5PgO22R9AL`1gw{nN{HayBkxx;mc|3#*SiDRSIX z#F0U&Y!H`*hl6E3Y~6o2KA&X=tfbqFd+M-Hqqo(U2)Ow))C7bLNln8PDtGK z;=ULCglMFmG;c1~uc|B)#PQVYsnoe7hYH&^3@gm_DNa|yTm(m~ey zr{|?sDl_ZIdor>=mO!~xWN9Ecuk4)KE0mrLmrkM(m{6qnBshXB=t z0+wZ-_Mx(rEc#m=|3i_rn*E*tVtY^)-lg!VV3=%pzs$zEK%_|_DzG}Kt- zVcigAxIA10tWwAI=fN=%?Q0N*71jY_lUXzJJSNniI%vsXx`mPGU(WI3W zR&qSYP+-g+mC1r$N%1`#daJ=W$~|N51q)UwHa*9PvErgzY<}T;eS9dVUAsmIjob(1 z#`z#=UdIh%s5z64sKR4aXP)S9X*8Ke5AE$DO&=C(Ldc_7+3Fo(O4Y7ZX&d@zCo@X( zhw!vQwa2LTaTc{$`!d4Z7n*$0tn7Q5C33q-@?Gb;ohU`BY?h+Hu5o=HH%6@cOSV! zgA~5nc}Vlj`Ld#J8RHtqo6@=m^65htFu*;$4e4OQp`mXy%;qS=BHoI(rA$&gamiH7 z8KHlpY~I6j9x^MI-xPnsjR2Y+;24WaI~$`Gk$j)-_PWBj z*m>F!BC?zenKoKhW8o``FrH=$j5@YY8Dan;Xc%jsC%3vV!s)7Xw91u-G4g9fXAgsi zmj%+@<&^Z@h_zQ&reN?ZUTzmy7TYDb-hp0DMW2W)KB>k-M4AIWm5Hq7#qjlxXN(>Q zDlxtL-rem@RINjvK^bq#I}*zJwKnedu2iFF@yj4oX)&EjSem76kmadPp>7{8d;K$Y*p*jld@I}M%~&$Ni|f;K zq?yTLnq(X8fu+5n_$`|dw7rA7c2fUul3u@%ng_0X+kPI^#ckw(fqVxntb;ySyVHk~ z7mH6iJ+Vqzi0o_*xn@HhREHN3-_YmA)t&#y8P9!Th;8pbLqlD={Uc9tp}A%FE%_AY z&*G&}T|t5+-%{Jtk)vO6h80W>99Ys-B(_L#kG1v=Erc|IbCE6-(TCh+^hJFfm@62e z#c4>62?E<3kxuk)2$x7ry)$-g_+ZJoHW!jGh8-5!Tb>YjPF<3|v2x`vp^4|3A}pAS zk2`AoY>%~6aPX_VS;uLnH~pgB6R9zY$!Y7B-!5Wk!qOBpYD-*V!p*bG6g1M@F_@wb zePz?B5+y1Y8g%~mYgt*N7J&cTU-0FA$w)(!aCbqF z_n0#bTqrAY@Xen^?q?+>jKYm8^Rkv+z?XMI3+VT`_x(g>#>HeT%NM1TRskjSjH#r? zYldKxo2R(V_r(n$O~Dmv$>46|dL{TQU{InP#5ADb6MjF4VXQ3T4hlZ2QdoqC^&7Ty zql60vZgfIB;@mFXaX)#Rg>%kCTmBh>g&#ub(}tFvNBTA4*pm4=gJ6jBdJ$GwewcB7;3$rvtcx5KZ!7^dgu zN8i0e z*B3#l)`ZR)Men{@(pfs~nqu=6SH2&UF!?~(2$VD3hKCy$Y4czrdT_$cu!H!_v`kn9 zq|m|Wx!!7OEAp0})H`ha1NO#3|87T?r!TlNb?y-E$#T{0A{X?W6GIvPq%1`5j^KM8 zqucWh4PUsfpk^z3ZaGMC^UU7N)UXIzAe3X_Qhh>mA09%*N;v2TaR*3WOY!9;1|WcL zH~*+mFRj@BrKDjO7bTiV+AS9+Q*^!<%JBR#i3(ymgpAq*!PXf4?5 z146l}`W+X9zH~Ch7EPVMF-M~_-N;bD;ujUEge-;$*$#5(v3(; zvR}LVK##*z@@MUWRMUQaw6wRsuQwD+!*%yFieDXGS@-fn?-CJlcFtic1d*;yCpO?N zLv0s+uFGWb+sE4COMKgb#d4nrSj6)Xzj@lQ1N<5sFB&BkmQ?L!2Hz9vB)WrEWa zl~)17WBu_pfe;+7{k$W4c=hUj)oPAI0StI(1?!}V_PaH&2O3W2&MY({$sO|M*4ILF^GAgl6GNZJd{PsrY-(+NN^s%Ovu6c$9vH}n z#fGsm{bclN8hM3+TG={bBXV^a#~4fP{T(7Jym;&LrY(jr@9?qIbk3F_y3Kti(sSn= z6R5}hXdr^wv0GB6Bzk&waOW&iM}HKzG`mdX?l}gg7V7u0$=XNc;!3&DX$f{FlDfcK z71%Qb=3C-_z-wyRa}+y#A^xm53{2`T2u+Im2hrw5Y>kycjuhVG-{Mw{R<-fI8@dZO zV_+p*Dgvxqq)?VxI3$@q9Awxn1GtbneKGqWnfaFW(?*R2L-XhaLa2d|;by#(A7Jgp zIw)8e`SF%xRmn$IpSA+Z`0P4WIezriC!)XzYJ#0(l1Igt!IRycwvm3u2~)KSo6u4F zHo1J18-Y=Xjds0`L~Z&~P~0rkheu{xz<0F2Rn07GJ5_!f&y1@Fyu?%X2F-P5UL88;>>hN)^M%d+D* zUtA+ZHW~PO?zj3wd8`Mp&n(WYk7)9HniWRM{uAr$2}>p|8iJ;(XsHvpL8myxj5xIP z9Fu}SbD?Sc7!{1qq+(E%cc0B?R*s}>=9T>{0hcVYCwo@e27R^;X9KZc z4+*%YcSSr?rxAVkFFqgvbyo0K&EF{$`wSCytpVl);*iInnXFhkn%%F*mg4?_j@XNr zX*5}eV=!Rn)I(E3upl=o(0yT;+aiP4iceNwdLcnlyUD~Iesjdzvjuh4%q!ADUFXX; z8nri&Lh6tTD5fXcTq)dbUJ*>zmK~>VC`rXLEVZmVHk|eer8BlV>X6EOYg1t5Z;&i0 zv_`(}6J0g$=^<7u!534A8H)zOf*=*K427b;pbE!5^|j}C3_6TaGAjB{NINc0R$jbu zcYScAD;X@_OXA2zFvQd^LiMz&`OgeI=9=;hE^Pm<4xc}8;=s%AO+Lh`%Q zGpHP^3AkS@OrI^w+XimR=f)b{RaP|2O$@nZLLBD+7`2F!!2KH~4ck!WC~Io=duIhh z#RT=}>lb&zLd@}pxvmAQjRHlm1vIRLkP(efY)o@~wTb-_p1K^yEl{HcCn0^vSOpb_ zjfZ85@Cc#6{b#xc1@y4L%0w!autpTQQ;%i+BNj;|k77T$)O~U1O?usTWxx+%LA{=$ zfSs$c*wNq@W`*e#B^VcVQ#Ll8=io6&dc0&zU;gX%+RR}PX&%Zjf%!d-PS`sv8v6ph zi$>Jk7Yn+BCkHI)6SA{Eij|+N1NL;8U%HL-c+M)QZL?D7cviYnkuHa&dHE*O)ZMXM zi;2wLKTf%WlD#;C-j<50)n~Y28UBi^Wa3sR!jMC#Lz?F5O1%C0Odw?KZeuZ&SKpU+ z_9G6>Ea`5r`hyg>3T3VZVapggXNiuy$H$92&WTdqk&cxFjpQ^btxk_*1(VDx`o*E8 zp=KMiG7=_Jq+Ug+g=g$HqFSPjz+@M-qj;;X(;)WeMtkokyS}GdCRGqDLl6H z-MgzYCTX~#(W*lej#vVrF1%fb0MK@zt@qM7kP8LMRkk9#Mx$FD)#_qG6f!&iRMj-8 z=!V7paV_3yR6m~p2dUV&h(|CGGrVGP1HA1@d{-CG9h@>&|Fc6APcu zTDRDQtUkz<;Np~I_J+2Lgp`$J#1~H<+zJVpHDxzsIEhl_RTqZrZlXcs73dk%!)B$@ z;)EV4hXqDb5-2-r_=u{6mTsS2bw_RJ zXyqqNjaM5eE9FJv1p`bp7XP2qZYX)*+J)04wWX`7SX-I$zBZP|;r>e83yd55V2y41 zXh~%S=Yd@ye7&3IJqq-3b3H?+cSQ++@*Cq#Q*3sKyH2){m03paEq#wM?L;O`m|bU2 zSK!OpIpr$!_5RY}iUULNJk1M8dhttbA#y=o;5fbbqykG&#ql3aNXa`tYQ+X;)#32fr>Vho8P7Kx{Mca9!HJCT_=1M_o&9Lm-vNEKISG;mTFWTM&=$-e{zXq zW?@T_UJKQ#CGy{sKujQ<9?vWRx7WLWH0&-z>M_sPTwS_Sz~gEscMQR@`Wn@Qd4W-; zGXivHicqyn26F@MiX50z$L&YveMYSjOhv`3cb9;^M}+zSdKBETmblBrQyRsdO4o#> zSGB^CQ6Cg0L({Ku*Oq=zlXbyF(?D|Y^hP;*Rci_&5&Evxogmgso|p=?q!8!Wuh=tWw+ z){W@;Kp26Ue8b*t$#-(C70j;V$WOoO)hXx2i7p~x($G0Y?b*lc#1qZjxHbGIn2fm5 zo1Eo620+10P+mhjQ<17e#Hx|kGTytPKyZQ%7F3|HYGwCs#&zVtpXvoja{d15z`)4J z>?wG*OnYoAjMwV{u1`fbTPweilks4hZZnot?X_*{xP#A+@ zRE}v9o{9x7=&Il_7nLj&eJm@?+B4%^K?Itn8X__(&|dqP&k+P_I@Q5j+6Y`CyM)8l z_d?B4sE~*7xuKJBN14&+*`p=+Y=lt84ouCiv|QglON&pLyYF&ZjFGbZfvz(hEAO<= zs2pO1r;)dTj>RVsJ{CSwZ=LjW0kH*g+GUq<%YdLyWM1%e!t?O z<}0tdcfjW1KY`2*n#MBnvzVrg1tFj>)=X-jWa2_4JEq=32BJ9Saf2*?8s-A`prk3g zplwzKX`V78ZuW{baE&%zHmE&-2wT8k!6IwS?Vj{ct2j3sTFhxua4- zSlvF98a+$L=gil=5lC9KMAt#H{OZg|pii2lFI|!CT-VC!T7vh`4y{o?-pRUF9b(EO z&3#2aoMOI0>?~0h?)#@MN?_#UeV^yO*&T#-dw-9Lj($Zi-@h!_PV3Xz$(NXz2n_>6 z^zmbVseOO2!1@>Ta&yteY#5LPje?=Y&J_EeK^u?D%N^8JWT>td8a4eSp_GC6R`8*u zx4$al99u+dD(VeQ?6$pr{HOqjz|{}6x~2XfE$T2%tQjvRaO#CSXHF-f9%!cJjIj@7 z!1V-CLvdwxTS8EPdoI9J8y&;dU3v~jZ|Fan2ED}TP7iX5LTeru2s}JI0zyKFYk#;? zlSk_dtP`Qggp`Vli_1O*8;vFps9U%6WQFnEhYxGzQh@2B{ngVEN=n<;ugZh$b1j;0 z9GD~&AyD#x!N8h$hDb9ql5;EIFJa{0&5B)W>16U%dL#AYz#5`15HXugQ~2Vp3Agi|5UX^J}bu4!R7&CO0>C%|2(1-$g-QDk?4j1EIX0{mFbH zmgWETB!4TPr|You=vV`h)lfG9;R*k;QvQ$V2o$?OFaqwsy}M+oU)3UWojmUW7#6UO zb~kY`X4+!>0vNm499MVuAt03pr~fNp=3B7KK zUWd`>=;-38bd}Kv5RmZ}6Ekjr2?e_V+GFfh_XYy=OkU(UVG||DUWZhr;ZU{rATSnn z(!Xl{HYP9qTe0lb{`}OLl#nn$_;M?3IhWVpFQTET+2^gp2!;~B4rT_`(f0DtwhQD2 zuibSZd40CCt5m>|JT)f+I1ezV-`6xeYkze8_q8@y)G}IHqYd`EF86zRK_Madw+_Zs zjxl`&Rwg@c?yQKTQ>T}nq2c9!aOM309NL%E!6FI-WO_><)j<5n2aj8#De6O^VJSfi z??#7(-H;gNwc|%sPYh7O9Dj*B%j_ddn)w;Os9JrJZ>{sQx+18elexXnOLR+f{D;64 z>S2p39_aGoL&w1S?n0^{)f8o*n_2;_noDiyCc^W$@k;u)0Cf&W!Z;08x0HIqo98_IY&l-PS2sDORy)q-Y@ZWnwNuEfM|Qwo4 zEF$epLdscqs<4%`D0tz&w$a>MasJNA}f|+|U#sKmW;I z!?ppyEkFR(IWTYy+721L{)s0H(4Ic5y`fEW0l@uipx~Hkt0gaf4 z4VD?77kkaIHauP-$D7~}B`}|zhsfy9_vd~U50GztBQ&-3y6mClhy3IOF0^NSDpl); z6Tf7_l{yxoVXwN9%i5?>VHjSfliE96lID6I9Sx&JH9C1sC8?)q8C0c* zEBAz}XrnoL{nChgiii*JB3i@D?~G+wm{LC^dGjtNFYcc&I6Fa3Fl@L`^tV=&80q_w zzhxp}x<9x0k!XaBiap3DjgM$qqESklRjeg!a4zPN_qCx4EmxvrVp-&j(~)|)9(7H) zkC)!e+S+(5m3#5Lnsv=1iuY-XH|07@EXZ`1Zdr9(fZC_7>)h>edufdwtU}*X{mvREnT@N=nojs7x#6-ZsWYu4tm{S9 z5#+`Elc0}=V-!_PmFhbrI1{&J^2myy{AU~nFL^R4oovSH06j)Z$8Jk_|1ExS)f9wx zCsbVwj4>jFL;i|o1Ety`9{CZSnV*PJ`JohifFmDE+(~9OXXG^W5^mRb6lDi_$QZ1e zneetUjFa0A#aFFjrG77WUIDA5JA*oKOHz|f`htv&EWFHa&=&gqr<)~OiKWr<6IGSC z?|)bT=8WTS3PUyQcW4UL9{>gXv3A@nFUPZ-mGRtr_A^d+rYjr>%-U z*NRvPNkap)&7jc}*GJ6z_3eU#vQN0ox-4^`LDOz)_!?C&*3XF~RI|DZGX8s=~u z(V8suFP7x+-F&Mj=c`R+q0%29m+abAaf0gr1GlhUzT<9Qubfj1^LRn1UA&Nt1lX6U z6ARJBYyPYCLwdmS*VGt~66+?+4Z1{}wRdp#wW8H6Qbx96<$mpQj8bJXF$T%ZK=s-D zNRE8jFRHG%q-UIbsYM+2vVxe{Ai1KqYv;7HKo_~8rZ+RsZTyMs$fOj7cg$|FJ@u7d zrl{DA>>~phov=v})rU6r@7=9`Slzbgx0T7Cz~Ao{KT8^$bI;7wFz+QbEN=H6HjJSV zpqT7=8(#b>9wN^&dQ$*1Yxp(g>fI3)f7um}T|3i(KQYP()T2_K!{SD>SIAJrti)=1IBMYQ=47 z)Ff6$mqMMSBqVVprP{GzZM{q`Mmx0Yhe78FJ^kWY#oLIpj!SEvRZ0EIEQE*?sHIq z8nmstf4CW>mYP7!l61f?bcYA%V?+Olqw{i~k@}7f)js$&9pcz~(~z7%FKs3SL2L!7 zDnB1f7WTvY+rmM^dxDiwd)1Ui)S(|N50oHCDhHga>6kdVnXBfUmza_BFH43Fu>rq~ zIF=e^oReC)f~!(tx}mUypg|UiT5HvNrVfN}Nv_!C(#UJN((kzjfXzOgmp<{+5sU)| zK2S}5WVKoze=cys@c0=aT+LhL{aRB^Yo$M_0%e=$zg8_B58#3b*xU0Vx|)@VX0~=WQ`raOj8EV7F5s=U5tOo+5X^He7EY@SUjr+mB|KrH zayUXRw+|puJE1#QF|$nKEUWCeU9SMpNoa|kY5$F-{0wJIeGdQuWKb5JGX&&K)-h;G zV>$*_np{d7UybI5OLKs-(o;s7v!nu~!`}!8cOXGX_ z@PkmR=dN$(%^!{~U(d$Gr{^BH0?T%GBj@GoR(kD>^SxfCoA9ZR#;dUIzC@~rd)#Kz zM<;=Y`&Fr#zN|c|2P1Dq6RTQ|cEjIqnjdPw^FQZ|_tj}f`ub8%x4b|`LeAoV)50C$ zuW4k}31$~7aQ!SpsBlcc6|!^R_>rqxzY5nUL@^X0pWiOU@mH?^!*lKv(Dy_3?TLNk zm>mv?fARTv$Wo`zNEr!gii?I{W18fjs5yOX|IPNia+(tuW%kV=vDzBI$lOo)ZFWLT z9l#0?ZzXYcOUA@GV0Q-VdF?RiUY0UsA8*P6G)bbI=JdEgfG6mfc8ah01oGC?vFQ7t zfVpxW37_9;l0afQy<~FV@N-*oqiA~b8vy!I&6uz@B%61%z4j?F)y^a-NOaq6CVwfx6HR=0H{|oyatkfHnz9<4Gex;!c~wh#uzjZ+Gu}L$Ud5yl2drgN@O&?oKv?p9d+LU ziaJfu0;@})5Z!OI|5V{Y^bRHfGIIyV$LGPb>%g?D44{D3l-}*};=6|&vi?s7XrzP> zAeNSvHFb4UQ&U~QH{CxxoN@xzGtyo~{z8}U6w9xFKDmFh{9kWPWOKDEIdjQ0`>8oU z-*^jFLWmFqS>ZdFAce+Dar+}Bp4)LH6uTH^9PoklXHkZ|9!h#f^IybNeyHb71h0w5 zN+woT^EaTE*4ZbZTwe!823C)otE<^8zzk{+C`Cl_KGaGCxljw_krFlL|7XDd=loB4 z2r%hFIE5o%{8yqc;(HrYREL-~;=i7#|8R>r8{WG)Rm3Nqtpo-}|6XAO!%+jIXO+1- zDwf6l``ZL{V0_vgNuv+Q4&do21DXl~n^2{E?_bnEb^3pv&^2}FM{=<|@)F_b{+T5W zX=wd7f%l&mt{49?8VEGBp$Kc6e-e@U?|A-o-T4QomCz28r5dt{0|(B>{p^(nTmGj# z1kZC&JeS`{C*z0dK(|Q*X6BP|AOQFs@KfSX$)o?v9&*DQ`JG)2Y+BgdMM?ZoQMUm; z`gVSomq#8Q9d*B%Rdxq4T+#QAh=5m9Q>%GPWp{)IIv0*4GP(e7 z(B-f&|Ma4H@Zg_?h6nzB6QT&&ftylM-+=cPmi!%XC)xHq)d6hg*^-T0YkX<%_Y#Y%ViZTPpGX}aAalO5sy_Ll} zm20j_BDr1=Loa&5k8)w?_W6*WRjMrq32k5_D~9(v|`*RO^eG zB~$3B-EsG5%l2=KzO`wQ&SZ`Q6}N;QL4fhsay0KV^^L9G@`v#^3;gNjf{Fd{H}}4T zh}3#*?bDvJy0Kc~NZiVmrm$V%L>}?Z{~31YgYgC%V-f(P)4xMWnK9 zdApQbJ!si9y%V!_hgb6>#xs_Yx z=6>%QQ^5ukTV%ouUx7h;X^nJP>p8M3KX282KFICM%WtYlQEQEox{2|HFYmA+^lhmq zNT6p?kkxYh_~J;U$;LQ39lyud1$kbBli3%wj@EY@%k7~*`Li%9oKuyNlFhNb_ z_6-|8kM?|gin~W&yJ3-T9yED17y=-#;(D#(?$P51e<1wi!a{-KZtL}w_;j@|0Z<E}IK=XID;eGMGEt?Qt(_sM>5;mrU-3BS!`2w3*XzU@i8&CF)Rt;#b^y z)@#NZ^u@pVQi;Skq&Nacvv;!LEZ82Xn(u@eD}wUjZ z+}I}3F)WkCoK|Faj|Vc#3y#E)pw!DNIK93}Vwa!_;iXrZ@`Jw0$~QXPLbJkxOW4O% zyVwUgan+c|YL205OpLmC$LFQ}77?bx&l547y7zG8(m3OMXX@U1B{1~rb}-arWV}*D z4pKN?@5|C?wTS%H1IyF3`nq+pEg!Umv50+B2oZabb4W=NEj&=wrqL6FsfwwbI_mu9Typj(L6t6A*ee4i+Aw0=aSPoK zSrPkv4D@AJ7aH3&%tR0aqEtxLm*hBvrJIqKI@dAYAprY_A)dqr zUc+x@Ee!`X=Brx2#>*{=n=MZ9?9JhFbMq$v-r3zuXnum9A01d{&x|H3jC)o+s{vfi>QNRaD&5eqI280L$~Ns|4S+SMoi z@I$P*a^H*@o99QnduO_Y)#VFs)_YHtxhz14gt?b~4&~b1VBsdH6}X>4?w*hOA*hrZ z<=DyN>|EXcLgr!1Q`UMt4T!VJ#KMF@(hHN)Kn;7&+e3;2~nv&zViPWR#S7yl3edWmj{l|InxK zSIj{7bJJi;OqN333wxmKr9A6MJ^B_T-l@;l zLFtX5gHjO6;)Olw?#+n8YrdJ-QtDf>68a`ebGo*l+lB$Vw9^W=L@<8zWr?vn#c-)`<5qhjf+6)Xo4X-biuE@Qot&<$M=#61*&Ex}t;N?NZwLaq$D4Am zQJ_e;%Sr7#a9Zp22TVCgYSwA4g<^0wVq}`S^0&4(k0rh-6;os%lfWeGuVV#0)HI3b zET|Zxq~xE)>}V>!bXK7pYC#C~$@ZCZ_%|bj0jB^SaxFiR^>6HPs`(>f6jcv!arpc5 zj#o}Bhc2GVQ;FZsbUVkTc*H}Agm#bTi47!`R2CN`=bA<};I?~+Cb0|ov%1kzeOYW` z8ZV*UPL)%sBnKH6R&boo=olafNl1(}P;~nokKyMQIU3DWk97&q)ZsN-2_gtxT#%4Y z#$HQndUYu%*_~6QxI?$QX>`t-@wY1dQa>SLb19ZLYZSGPC2=UGjZ>+hspv-fb7T3t zloD5)t!)A4q|GhjLp=J=nm&Y=Oot(M-{4RfJ<@QLGxi7?(nOh94vP8|BOf_shI_Q* zR)jNU9R+P|X;D!qAV_I+vQ&$(7hf>)kDWTO;r>3h&W}K(*mm;UK(k~<<@*Y4c*zT$ zzo44`q^j1yqGUtuLlm^8Q_|-Lx+Z_g!^Y=TKNayew_;6&@|?IfJR$jSiLdezpLvfj zdq=KpjrSD|sZmHQGRQg8aa+l7wio~@qI);l_Eg?+H!igbRLKJHWQR2!`$s#y7Fre$ zs2gIuAnM_h?g?8wc^&&=x8?>MR=ej-E^*b#?E4*H=ww7YKWlILWiBHK#*sXn&auVm%bU!dr^M zPJESiN_8?i&CMO1UE%8RAtAuYgr#VS0$1OHn|xgB;7pe(-$&9meOZGQbSL>U74Jfe zSgG->cpv~VOOqJ6mP7g1Ni@(XNK^aUC866V3()Lh<@Q;r&BMbIe?cHes@?gvzoC(9 z4RH9rW|!Mv)SH@`7OD(kq`4n{f2ix*I>7;i5;fKrj_S-Lzr#;kh^a%CCtg52uC6}F zO3_0fD3xdXu}0Crwg*FEOH8{A;Z#>)IiT8iG?{JxJW`ZU0Zb~JT2y^o*j%)4V7vBP zEtj|K?KdL$*6pLyKHVh^A3{RNOFLg(SB!7_X+&1?Y-ws|B#Z$8_9;cB!t3s_PJx)5 zC+K|6K?qI7sK>*spQBj>&NJgu4Byf+EGH$3aoFjys?)kOfy_ra@vRXcXehgjqu=Vp z4W_BD^vD1MruxQRoa-x%C3hN&BihMe5 zz@v1uH~;R&8|g2U9M28)U8O@DNwWsBKgZBAHv9Fh8mv);{)h4V`n<$F3VBhfIKwwKe~e4 zgdbRQvOUfz!B*l=HT#GaSJ8(t)42wVAC%iVjLGO@aM58+sI=_hFZ^^3Fa{jg(;zY0 zlD;tCYTD@*S?U?FY*(|SkA`Z}rO@tWU;cWoD+K%XMA)T2e|fk5O}*}D0EvURuJ5J8A;V9E~Ls~nH! zmYsy;QNR1Aii@frFlPAV+%1LWc8Q?JTR^!h_(v6a(zD7vj@jZU^;B2TBts|X%@^6) z%lVVEeVuMD3YHu1Ui+(AfhuA}N7|baK2QMRSEon8H)`LLmS}21X!6d&1KI zi;Uslqz~L6pMs)(_UM%DsV8e4jlGW-jYvv3#HzNt9@wlSl`uAftR!gF+E{+$lln*9QBr5!(KW@~v2)b!NNvV_$fu8N&~`$6(zVuch>N!<3aWu7`ut$iSVZ@@&eGZ4 z(X7{?IVBNrg_3jjTTBGL*=;zkgjSI&jKycu`hR+Oq^I%llqe zYL`!O<Xt49FE23aM#WyAyqQ8X7@kE=;Y5_rJ>#Y|03l4FJiSj} z6$b!mWM$91Y8GFUKXX}Qf%P0+i+c>df_&qjGyf2d^Gb_Ylka_Du_2{yul?h`lf-|ropY$rP-?Jvki8r zwF+<#7XtDIi|uWIMfPog2S)bgVx5X&UXGp78tnqwiEpUc{+_Vw08IM&xAE4cm!|Y)-_jg!@Em5USP7CNOvK+vf6a9d2ppfHpf&pr+64IcP*O>S^}R^2 zyCw52r0ka~N+r_lT+C@Pnj?^H6&1OcwG6%D(r!l722SRpFVu3Z%{H|HCw#n>2SS&FGXX8iLk~N1ga^6~UhVmKj{xkVKw0DbL~{AZWRzt> zE=cc5Aknn%U^*WP4sPdRFCE_*K?Q(Y>~u|LXNtJS4zbk!xE>R)G`ZUz@M+cp=mu5# z`I$%+>$mwTNohc&`1lrL()X}*$9SgX4iRPw?&SFKMkgB&8eSNZfF+t&DNv&N%CLIY zi6#ii^4c^3I8Wk2ojf<-c#-r0hcMlvaOKuF+7*R91B;xhf=@49&e1+AvK+q*W3~F{ zn-~+ZflJO#ta!B+R?i zM43(Q6sL~FZUT{No&hRyhlS5zI#5-x2wIz$2}h#CaK)x$@^6EMoqFEGHa=;-3GZHw z^9XyS#ZjqtiPN@TPk5z6|HBIFSolMe<11I#7IYH0Xd~i%D1zurY_jk6Ew)rp+2%6RPBb~{p%X;T!!(`n~`DOHB%E@zFkYO^zM^3R*m}wH%E41X#F7&=$ zONDnyNL8{heoXn1#U>`qX2Z=mDfyc_=n~FB*4iXLD>Fkbi`bLO>ZVUNMwrI^Kl%G_ zuufOuh=Z9g?v)`lIN}%uMp=}SPNkL4RuWPN_Y_Xd;+T%~eMUt?c2kYS}rwku0+fPx{w!b>eY>zUbnC zDwp%B$|6GHfb>kY5Y;YdIYoUMONb^QY@UN;ug-e;Di3gSs`7gCWM^j=5fj@A1cDm^ z_s+u@|McuhgF9Lw!$=JgvPJDY3=)uKzAvj}Yh zZ=7F1xGb4se#_;C5|YoT!81$A%l{|aw#o6x`Fc{g-<0XH?jIECm*U@T6oXbBhSMin zohG~J6V^xYOjalPxTkHcrDZw0?`1vfSk?<3#t5#WIX8InqtFl9x=Mx#l+ zz?oE+tza@d_)m$skYT(TrKRC>b4ox6h0T5!7D(vfyc{5ExtUYvyqS^LXY<7&{5$b~ zC)EBGo8LlzK4KGaKv=EU1gNFuB`e%q1IjCsaH^wZLpttgGkmgoL(!3Oa7I>N1<#)F zOIv*ZN#F!f8Axduukq#ZY^PPC@%XivedD~+MFmR_IlTv{o z*QwNZ<{;%*01!}ec5~Z4U90CgSWQ*YqW=4{oligmC6kD`!tj=!BuW1jT%&^mI+?s* zLfYvcNAM4}^$!U3eggEM1KwdYo{)Ykr(Me5ANZfW_K%YlufK4lC$Cjtl>b>d|9P_E z_D8Fi(-lMW;qdS-;42y0-&x6@f&1&PH-xCp*fA!685cNvm9wvFz=U;XmUXH3cgy&{ zU*xRv$$@=UQ*!nln*?&obR3lDRsS7vJV*QkNtC;$i|*JbXeu@=`ezaS=Lvv>j>db^ z`H!p0PLW+I|LvAL_=#<3L4Z<~*NCfh42u8u*}NgNbu|9CWMf^0f&X7G8KeZhOSb4_ zw+Rs5144KI75KkHEJ5=T7ztbmp>5!Gc9laW{~lkUiDW^C3GnWcT6!4l{_WoZEn_tP zp!om4z0V)uboQWIr{VAajLiR>(%8)CjI*ffCifZ>~XTw=+ zKkjYU^)f%;0PwKAhA6Gt__J_{wc81@+?+?pjHK`))`r1De0`WgZfSOpK8Fj`xXw#` zefYFOb@G1q>G7x=Zsgk44c@G$&*-Eg75Rc_!ReahMQDl&gUWc6-^1N$j#FA;{?ljG z;=AnxrSDygpwf0HzXaCUoWX2*CXrGcw5Zft!W1b%6V_nNiu3{3PGb(&ZF5NI0DQD^ zF`d!Rk;^OU5hT&~ov0)H;efefgPqoh_)*7+l98itRi4kK$HZ;rw2WFMS(97|KMwA0 zEYI#okMWEngQqbkaomjX7l(~jFP`9^e9V~@Fx?^3%0W-;wFjepxcuY>cNgUOJs}oe zzOfv9^H}Q1+Ax+`PXXAaeYCned@`LdUYMMeeJX*V3f&8rp|uPHTsJ&0_p?05(8j&s zs>idfO^QFk;~5yNi}syUyy(tZ(Vx3clDc|1T(=(9xoy#Sp_%af(i?1I`dyDNue~xB zb>pdzaoxdx`unwU`gV+6+r}1T9&(nyT6@I+=r$qL926Xw`iAvJY8&AM9wVg8m zPxQZj(jC5E-lsvV#HS>*Z7jsW)7fZrM~mWBe>3Bf$-|&i+7D2j?#3Q-QC&4i$M1w{ z=+!?*DGJwD3HYNeX%~GSZuA4#&COM<_R32F`$&+%92V)#Q!(R<_=$IHmp&onoE#S^BGJ-OmE{n(@S0lIFCZzz1mUnu zE+Z-z3AG)I6~bs=IN92{cG4-K+!=BE=(V|%mHMf8{w|@x$%vIaalMMl8lgN4QDf#r zi#JbxD5#zIrlx*+^LNORP4N0Xj8p>BwS!k@XT9B|YdkRf=?QFpkLnNuJ8t9kmi<4lYD&+Cu) zDU-ZmipwIL_+p)TA5u;?IO`i%i_gf8jM-*LF<7-YC4~B*R_6CA$v4Kl78z^neT$DO zcwbD!K*NMM?rG9kl`Kea1wH^pNGjdaZ@9tNk?)3@?w(n1aDv1$ciybe!t}9*PhVbB zO)85L36VA3)S=*KGQu`0zTt*SQ*d@Y&w+?aBSNK^okkxJ=d#=m2T2Y$uHO}{t>$+eYn|87 zc8A-hV?5qH@^a#0xx@1s`__KNvHtY*BGunT6q(+V?zT4fOL!kfA3wdZlxO72#Tp`r z`sjINZ3p~ni>IFxcSL#G5IE^+2Xa{t>Jx*~337r7HSZ4lV4J~|h%wbyo^CKDo_wmK z?tRtL{v2CRF8G2LQmCIF-VgUa$e5VuTZK>A-LOu(u5{52A;Fb%&tFrznLhKhLCmnr z$k#<+ubLOwsv&7}e7_o1HyJF^F*1U>h?#O@5hiO{g;&s$Nh^vpR-cGof9vuRE8Xe~$7RF%tU`OGS2PWelZOQ3K%{ZdZJ~`Trw%}j zu-Iw~@*%J8oILO!mL+emXW8m9+riHuYz$ug{ZYmP%=(etwh(6_^tKz>`n&lenv&C< ztxjRDV`(^o{DK-JK~Y!^uhcGq!|f`&Idm5;Mor#;z|zps|CU1 zI_y}19kHWvopbv>_1V0aLvFZvl~-%TMoLaUhYUU*k+8LD`KMwz%4}B=HQM644RWbq zJ#OI3G~{o~hDp;BMAdef*=Ljz1WyRz=8>j8csz-M03JCT){Pb>AlEd{y14T=FGeiF zw$yT<^&jDCA5)WpT^h_JjLNY5D`qc!QwGS=orH!rYe*{Uyr52zI0#R?G6h^!eyJow zZJsJYSE$J@+o8_ILRNWLcYBbB_Z-6VO|rr32pXm$k0wIKS$M9TmhiGPdUI?F_C#+D zdSV_^dtf-s?PPKAEuzhwloDv|bSVUa4NvQqtfIHN{wS%1pKrC&sKdvP*VFLtIugP8 zpsJA7)(vxK$U${k?}5&7Gdj?x_tk!_OHvq`(q5OU_s-BEwssDxz8TCvz-_Wom!!eZ9sX4Pl9!*kpM@3?fMuY(=u7jj5Pyhdj@Hf6z0c;;2HYR?;I*uZ5O zPJBTLe_%7Zq))#t_~0lVUzB7}p}dkUl%-aA3aEOf(}+qS-I-kX9Mh)ZoVTPthb5Ff zOCd&ACml=lk6tt3&}uAf#^#Ao>?KIX*1Z%MW*+z~kI9fDNAe!0yUO->UdMjP6^pX( z7A+8+qo67lEE;x?n-cH@HW>o7!9i@}5y&vC$(Oy6BWQig-E0KJB-+WFAc#bZFFk z8z5=94HdDsT{Y{oTm%#nDx+sZ{&;NyQf(sLc_TQ|Z%Vc5_JgXV!0Ob$zWHP9;r&+= zZM+c2L%3tM^#Dpo(AH&T#0zbu-K6u(J~za=26}l5suZUD9NLPql1-9*&2;+qbe_OZ zB0t^_yx{MmK9lmIqT>B@OSnS0BB~T|sKi8Gbu!CGfy!)qh0L&b!mMcd>$bUD1SkmMXsMzB}(Z~rjx%V zbyw7dJ*m^x%Aq;H8QFa?h5f|Sq4@R_MS-C!7)P}0+mY}U`l;^j4o{zxChha-a0QV! z2OdIQ@>&USLgXQJ-9 zT*4iTs}rS6dZouO8Sz@HTV@M^o@dTy$Zgu$^lQM9w|W&mRZ+(rRh9=8HpXdihMf)H ztthE21b><#ak9H}{{R>D(v?+&{poAb1hRQryfmjj@~OBMj~&yrXb(^Tu5BIit$~rY zmFi8{g3#s!-a=m(8#J-3?wX|GnLp$lExk{ipab3M<5jsX@ddTSy}GU!segE|r=OnF zHO-2TKC54v3>Hl#eZjz&Mow7i-`t0-Fz0i9bW8Z&z0BYMc~q(cYCmwkf$Onu_4Ljq z8IIj5Wm|gzB&eM{!kw-X<;5J*`Mk;mOYi#LjJ6zB;CIaXkn!0neGNL(m@~Z1KiTF> zfQ}pFpin&uA_ctv)mdlsYPfnUTmh$q?&x}G^X(=Pub?kc8f5ZlxZbu^9dg|bwu!d2 zT%R|ufkgl4Ugr)pQtrGjA~^kWl;8q#*E&E-=R8@7m=F(ky*SW12N}K8=LC^6IXnTw zTCmp%5|q(Ymo=&}RGOHRwvyB`k|j6H+PV&)2xHjoCD21;;1)1vOtgf~Fe*RD#-}mD}*= zP+}u3s1K+0sBRQftei&$hv&K#H-tkwPjB9FAd@bpxU2+(DAm%vkE02$lzq=KTkL37 zg~@{SXtTBr3LO5+mV+%98sscV)@|P5;zSrnEkT!o{6BBLJURkgaE%8@yX z_fU0TswW~hSBKA^QVJ@GE16~@W5tmZUI2;iLIJso0{-x;=1~ZATFyoY!)tgY9Ba|! zAzc9pH`N{-eq}OPxJ9cHG!PrXJ+enMh&x2{h>j95sklcg(nv_+-fs|hKIm|KZm}Sp zAC$~yDrx4%(;zL{>L-;o4J<_xOUMG4v-fXkbFWS^nB^VTu=^uTy;|-$KS#;mRvI0> zWg|DQpLE_T)=I-qFF;=FRhmJ{k9m9=wP^fN;1;~ze2m-C#Gl%H=p1*Y7Rsm8u06wo zhWrihS1H=4m}Qurb2FI!DR|78--TEKthHIxSmN{hZk5a09(toj`@HH{;GTiaF-Lft z%MdVmE2x2jP=4#vfL7MCP-3QRsJ7_AX6#X*%AgHuK{isTAyDvSNmu+Fbqo2-@K+v{ zkrPvsPl$2iH_2QBG0(voIqy8-m;=kNWjY{OMBGD4yy*SSOaAnrLWDP|5T|ctxV`iD z@H*(ql}&L(S{VFS>>;lyb)Af_%z&QtHaNfuxDdqLB-3Uf5qHRKI4RXVPLOoSs5R~G zqxrdV8%+t*h~7{kr&TQc$nZLZ-v_0}PvaddWh0Nas*bSwokx)Bf%JFKba!GO$O))0 zmKQF#1De+bZxRUA2IG^K93AVBl0hfC(y8w^gW$5=TCrAd-vXMS-mtjS3E2pMqOZ!3 zgQVz9sqh*lRCuPbg9bX4U)LwCi7O9z=UumDL;Oq5P`YFN)f*a?B4116QZl}DZ5eA} z@=dv{1P35~5T3HZGe)(0J%Of`70J`%KH7oa&b-lDx<(@s-6FqBoyMa1u*v{i(-XtxRZ*`~` zqvfn;Wx!BSK=ur%5>GAhste6X>xBT}adlnSn)TB-v$SF z;7oY<0ViT7D&P5eNw=Of(RKrrS1~S{B1$p)ZOt25!)v<6!kZNW3%0d>)@=|T*5h%|m}_1EMGVsN3`33>oyJPjtyE0PZ;?ONjjoxn3n zqj8|5(6B&JAANa1iy=#ZEp?H=+#-wcBwlL}6q4axGPPeD7ih6H-s+oy@X`-okOONz z8#C>)?&BQ!JcdD(U&;X$dykAYy`z@vEmvNHNg|_W(D`<$t|L-K*ptoDu{V=+lq_@Ea*D{&Aq)&TF5$Lh05| zSDfQmOcuQt2honrnDfe>rLUYum~~6tkQDXn?PY@)ND5nUb{Hr&gJcP?v(jDlG=pa( zM55M9(#hJ_!&Z3?_-b5-bjV&mOFn+ZzcC^_6vIZQb+;2LapVzLNKBJVO^pkc2Tz1S z`&JhFiYwg571^eCRm&Te?sFtcU_v^7_L8K6?C4Z6(89yw$)v?DpKye*_?CaPol<(I z-B+gKYxxlqmjeI%liYsFO&1z-{Z9X3qG{pOReek?mm5>LeUy0CNq%KGY3PD}<*Xg= zI^RHbn0UQHJ8`S`=BXpo*h6fMH95u6e7vXw7{b+VcHHMAawF~A*hfvhaBC6jOs_BS zdtH)DT-lrxDrLzX3Q^zOUjjYY*i5AcXNC!KG|oDX=x)I8KmN4~{QUkAgak@RnuNrX z(l5U6<6Rau++%partnU#Z-FD~T(Z{>s1wsPi8r%;yH)iBv*+^jYm4n73be1%pl%f& zNln~*75i>*7j<9_w}Es`^P%LjGiscbn$Hw@E8k^u<|QODX3@I$Yd_SLqE0Bo3>g(~ zq$G6A{{FfYk40B3Xz)9wzn*Rur$0Qcop(4zZken+T+!Z{+!?aG?Ys_gPDswig*xGt z8``UG!=L&2bHIGHoxIK&q9as92#?`yU4ftC0-=W=gh6(n`RY_NPTT; zrc_aqD95kZ+>;2pN03(LjXLVQ8p(w{K`2T~SF9447k>09?Uf2o%(Z%mX*I8LW9BN{ z4`|rogYm*q2kHY*G$Nrhl}IDFHTq6D2hQxNuDFezVJtdkN|OG_5r*q@ax{t=znBHs zW5W5TwKo;VX(#h$OFuuR1PO(NDiBca8el}9LghKD;g0BSNI`HnEJh?gp%zTcuZjlu!MM=RB+4pLDCPRsOJN#y1QZkM=$7DOmt zC|DGczLzflY`LOvjl<9AN}7kv7%QEroE#@1$4D4?PbV@#-T0fxt{%-pJZTsZates# z5h2dga`{8PFob-!!BG>g>qi0$D$wH50`Ky_%XOQmA%mF zwVr zM@zm7xbW3`(M^p#`W@^6n_7BS5>>bX8q7lFTvT~_rIT$6QvcfFgQ|_BUdDAnU!r}r zT{?u7lRoe2>xQ*#vfITCuTCxgp(P+Q7UA+NsW!`0LUkK@tpCZ{*=q6D<~q<1fdv?$ia@hUlgh>V&2{ zqpADwd+p}?w?rxcgD`2p#Vv=k7Jj9EfUE~$+o?^qnG5EuzS%13#SHZ)wj;fu9QN24 z!bGK7@W4TG7=W6qP5ieiL0x9XUikFGNV3Asp?>8F?L5UgN;JLym0VxN04H!6@qD9N9zT= zJ# z92(viIbkA_POgI7JCUxJO?2231lQbB`)WXOA)peG$yza8_aoVmKm$f~Q(cCo`I5ES ztwN5+e|b!k#L?=IrRD<>NpD~9!=!6T`fNcW4`Lt<&YWrtsA71?Uq&;=*g*M$>T%W_gm522y*{m!e(!hVT4mKC2+^$Fc>r@?qR z$$K!BB2$JRRLcEeYR*>#942C@7s07Ij_C7+N2@E#EB26worH?jL|LlOY)$5x7Nq6| zvsM~u8l(jg!r*k&P6XuS5EUwK#sf4*Ay(N;vqkOYXUKPLgqDJndn_3xEz^1Tf^zlacN&RJs zP9YriZ18AMbiO|HQS0%hVWEW;HbU>k*6}XJqon=@9wtW3sTQNz6W_Z6)mNTohPyiO zZe_P_h0Un<@$-nQ{ZYK9)?V&R>IM*vb7NE4(hSo$3+Gsacn#{ zgAOSO{w(3BGc@lfmQ%^d>i0cMbuM*4NXy^29T`T=!G9!PI!nHkpz11{+Te(WKgC9K zpG1B+dK~0dN}{ONs0UeKe1d%nbK{a)aV0tmuG_iY5}I4~hJh$c`xH23N}EzE_L7vS z!03+bVN#J-iHzAb&`K&1#^HVUxQQhFt(GMui6kwZ(vlNV`tA+Jteg3@Eqvg_t6lkK!VINMpG)25>oA{Lt@6g%ayp zMT(!WWnmrd!Lu`Q*?xmRJM;XG_~Lb;in)o3fxWnhz^@#}-!D$xxwlgXg6%%udX4L=1uzx7|0Y!%c)aLcgsZT>aN- zLgxq4UTd^T{$a)-wWSTqN`8U*{eE2|vXBllFjt5fQI5_az-u8INZ{WhrHZ%K8*L`1`vYo;t9fq#?Z9!(QUEwr9B_GHbp}fZ@NE1CX z-fR7_wuslXg-KJ#$6$E}yzgA11xT-zN*i1VRz2l9Vmaqfyuj8$9~6(8VAN47M%O0w zO!Je>8-f7)HsozN<%+!eGzNU`MoLp~QvwYab8}$$PlU{Sl6ygcwKl|z$R*XV@C08j zbH{`PyG-yyM?KmMWqhQ(*Rhrum2ECTOKnHo$^wJIGwDb<8e%aiCH+-r z(R{mY6ko9g)sZAoED#7i2TK>~Ek28P5Iexa6mBEiKL1T^6I{;~=>%B|x&4_f-3 z6|k@d+XND517ll1aBu4TMM^m=)0E;%=-XKftIv0d!tmIB5uS)yhp7X*_7X)hsf6Vu zd?B4|Axw3_N7Wohu;qT+FN84usfhL-#6B-ZQF#TF&Z*)M99YQ4z3g}Legm^@3B?Hc zVg0f>8ukt3U8>U@LEu6aCI`J7-L*l9rEpeX6m+--1zSx)j4O|xl4ESkv?F`f%oxtD z`o=|H2+Vv_^CEBRv_?Rqq*$KUb*o8rO_LR*4v>-Z1uYsUrDdkpK^svNURuV8^@4Jb zP0SD>P*5(AXw-hrdClAWs;-+AOC^siX^s)UQamF+i#--FC{W5Qhc&)wp?Fnd!F3eF)hVbUK>k=C7%k&PAn&^)rM$CGgPynQjtoNS1WC( zH{!TLnBDOFqr3RtW84q`A<50*LhTfJj*<9`9YvRgy~Xs!Hf0p1z|ure7!Z0Hqikh1 ztKm#7N7CxMBLgYkyoHg>pfFdL(Oi#;UTSI)G*k1KUGo`JuXGN%68~#{{|uVT7IjLy z_uUV4GDl`V1N!4HPDc>*fU5$l=!KC$KG`0G4=^S7t$pyYLBIM9N~0l5a3w`(%D<4y zg%)|@mvw5@cGQZb%ct#&67>9xtE{IFzYu{XN7B}-?cO{V4E$O|m9;*~JWSK4i`k%jgPgn#0|8@r(-A=jcsiq^PpgO-7&a1^ zpD11@h4Bwed-4T^bP`VYQ^@W)WZqQ~kVtawq{Dq_NfpX1g?0)=z8OR`syo>~*X})q z%LSLR!l!8C!52`$yD{WdHN;hOYc_0>UK2-gre1n)}pl}jo z2R4(&v{==8H$-~rxH!XA@}O^v%-D*41+AEOJv+ltR0lY5Yx{-c9PyT{L6p>~)y#m3 zR~BioE8{g2-i=Td*H+XZ|G0Ma;iiQyK+v;$LR>$_<$rNSQ1Z8IdVJ9Lh-%i>gD(f4 zGI2Dj_`K>*hZ_qwzj@MH66V6VOeUqJ(fCpNp1Xvad&O!^?l{i~q2__&&;!H#ZSUp` zv1F6*R+LL|xMcl$rAMg7Yd%r?TH47EY$gPaU z@OewX=4AS{K>0?oxauO_YFvJU{@Erx9|J8Dw8Dr7_B-K52%F}KrY?)%lb6rZQ*rsroS*ws-x zRR1Hk%TXog3$XN`M~KvWp`X(Xe3`zs)juAX3w4w&L-^QJV_UtjgN?>WZ}&Y@HfP(`jT(H>F%BEK>WD zY0h@_&HWWk_v7W@lZxAsTTst!6m@mh(&R^gHF8nUM{J|p9c*kNvY&E=V@P4{oU{xpo z0ZLuENwQ_Vk?_kjv(bZCT#EL-Y!I;`2q~FD!=yM-vy*Z`{c|@$H8x zpMNsnvpC$0kC}4t439>GEa;)S6J8eHW8$S7!aiI6^$%qjyrbo&Jjp&~|3+h(sx_JF zQV|mx;dw4WT!3o#k=f-)*e~XHA@$y$K%AoqC(qvx+CDy0>R_D63xQAk3e;?8oc4x|J* z1_1+veH>xeE%p)dOo?bbdW*O0@? z-*;!#{)(%8Z+WLBjI99IF?mqOG$>G+3#)7&4a=$h>jFA~4>;@06z+9??U-Wmsw0^1 z?^GMLeBd9KF79Y;QN3`W&?}2=y*V7qTs2<xJMC5-%~T(b2c+k%ei5M4lZX@u~Rkgq&?=sw`(zZz{U{zBOnocxEqTae}E%5Ku{7%i6ni2kg z)|!bLrf_)Jq-mkUdSp`eQE%bbL)Ld0AEL=y*LdRuTk|3~fQnl>2zjH7fBxM4%EySp zcIW`rcZ=2x$+4Mc6l0d%Sa+q0N?C;VC#NSPP+TroiDGdXiZ<9;8h}adJx+FvK#U>yvV}G>=kr|ZBzGyjg4U?Rk5Fx^L{9! zx`_EaiFcoCknmtDs6twGn5$gU+3V7X-MUpcLRT_}1JKde`8t_)iWF7gX|~-X5ThB5 zMYHGT5y&&Myvw=sm@gYq`Rtb#T&1-u^wDn1s6Ul2)E=k29ULU|={5B8xe`n|4w>_M z|B~(2g>oqk)(yi1hp?Me=8`V_@$%RALp8&YM>~w(S5P*)255W}doVCj40$ zBYbQfJAK_UX8ClK)=K`y@__Y40-N^&tl|m0bm3n&-~YK5TEl!88H8b89Lon z{p~*kpu=MeLaJs0wr&ciPHSi|X(vxM+&_a&JFTaiRx|R7ugP*v$5dR?R4y6hCNJ=} z`7#j>8M}z&%387Tco-61N>L$ooY$ZDXtw9fY~tbEx^2kxg2*g?+#g`~5LBVeMAoS3 zWoO%0jMdiDi^U?AlIZ2j9t&j70BPy)Hk7u(5`!YAM8fuC z+sSm|R`XJ`4yz!%b0%tQxjpwOnjjgU{~nlO&+>4mXwPS~WoodVpi;Q~9Wcy9gep)P zg;=?<4ckW`wx8dl@k$Hmzdg@c*Ju-lJLg=}oU9!|=w`^W3YSm-^62NL_l8>+ za}idFh?fq$lASqVI?*s%kX4)Jie+EglZ1`t3_wS<-yvB&9J6Bsaf@{;cbGKFFYScQ zuE&N}Zp_S@Q=L_Sz!fRs`MondIM9H8rFY<+o8yi zO&6oxwk8&r8n3}>n#nmEVb7ZJAldSGsRmv8KoYFv8#X}1k6hoH5^zXNfM`n=Q!s{#BDgx zF^dqy`+yoEHDJWiYwF53aFe(RBOtZm)h;TPDrHrXL^E$06H|ucPo(yT>9~j^Z?;Zqhz^N#QzB zI8zZ=@LebxmItSFCZZ=MKQY;6Dto-e-RN{xI4A{8Cw>$6TkfkZ)7*t$L%79Px7Cjr zUaCa-6Y68bmxrV-E;r@n|1ygZ#KPL#pe~Pc6hd^a)XaCF(^)@Ai6}cMKbA#V~oqQ zaY0j;wmIH>Dmt$v5;x}AYb1m~3o2@HPDqf;y{fkk6@+lVWl~k4j#i2)`KvrQQR-vA zOg~q~6t*WL5Vc)gq6MUzfHc)}Z1P1SPpnGPPazKSP0H5bRAEvkD3T+CWRgr&msg5> z^EhX<8jF)CVIpc-TBdj7N%I}DI(^P_(cgNn;dLMA2Ypb~d7E%5YUJ9qd@4h)^n560vkgsR|I2;8s<2?n4i>9F2})&%k&H!qU{& zyGpXq>D}jb_9PX3)0UwS$R#v6jnkP>fUnr?Of{@|Nv=srrDjbR+we5l* z!ul81JAKa>k-8>i$|LpofXF|Ex4CZVNWt6Oqxl?n7V#fGYhHQN6B~t-(JsRkyT%#S zJx>OaghPvUjRsS@w(cQhv|ylJAofphO%J9C2$H|8py+p$f}>oN8Kb${HdjTF>bvZt&u#~L$2Sy2iV86Ww@ix;Re(h{mKUc4FszGM*Lfxpaa)Wf}a zLHa^QLR8(u@E{vOdwQCr&!{*6kr~qN6sPL4JCcCPG5UEYr`bJ2CxgPJuzA=nqlk|~ z%bw$UpdAk}Jd(8bR%F%XS)^?Z?&w8xmv>IT)OL=G->%PCbJ~5*F)z34-uH+=`YT#x zD2kyyribGle5K&+bDS#+xmsXP$@X@%W3Knjt}1K(T7Z~FWL~-+Ck*p)mricU^K5db zZG45cAI`8vRF|H+6BDVuQ4OwLwo19|OB~0Tz~|e{rnRcoFhlnjOYM<)&M&1T?pFHO zQAESRsDeWvDNiMDSi|PXB=qkM+yj~|Z&pS&1J($591j#dvSQis=)u;|tbniRPB&B7 z!SnnDW|ut!yEsU>b+b-%W7>A{1)tc|M>bywp7%~-zeId#y!)A?e#j!wE`SFu2UXqF z>6*T@?>aH=$uwKJ+zS)One8IF>0Dmxxz1ILm<1i@%rP{nohiUdA~ck2Es&&g)jKf! zS!rgBg2Xy`JbF!z$ElA-^>KE#qXPHd8tFJ@tbCAWHMHc=pr{o4C#RCaH#d^0wl zriEAGuY<<99Q4m;y&nAg8|-QI1b7ZA^?Uh@dc99lc3(JNjl}$rtnGqoE=a7;zcSKq z#s;(M;U!n*kTlFzu7mwwX9->O1-uD{zu6p0c?T=`%B^x4m$G^ zl4x)N!I0)43i>_bjeZlH!`CHR9a@eoSacH%%$qk_EJA(QM4?*@k&?n5$SjXogaMoV z4;UMJu~aD*fcAH%05zxWd9^*8t(R0{H@h|@QP%^xvp+VRh+J+YpxP-n|QJH)v|N3C+ zTASeVIG}(0^k6>9%-7x|dtRWK+##=gAZ7F|v*J~CV~nU7rLhCcYCHLQW^kyN-7AF+ z(S#489zMsc`ubUG+X+a4lR77Ylvp2Fa=PcIi6mu{`_4~TgTvr^(AGWfw%%e81xfcO z24oL2v_}<}9e@IQcXP>*uLiVgXpuv_H;szavez|)LwjUn{c;|_gXhSe3 zl^&eVY%%mBw*$3^EqNDU63DunTqhBP^Au@y+F!6QPkclqIEUj{%c{aCP5JavENAT? zBCN*f>`=cp&m?7O!1^9$Hg=`2eIgjK11AF!y*pcOrHKe5u&H(){mCLDlN5Y%i>Lw<;(M*&8W$jd*0-aj{T&`$gjqGyyM<9?wMOFv$&op`%kL&5HUF4bRjkIyHIbd%+W&)Y8xL;3EX zj|@h2V_isVD+jyf7_5M|fQA4+KRy}RI^t`ez!OKCn_BBI#vDH7!T^F={*d*B2=5aa zWe1({#7>W$n6>^iWpXJCUW?JtU9xdZBJ;Qd&!`?QOJ)xdq`qw%t#yqy#2y%uZnPuB zC})LBByGy{5BtF|4miPDngSAGVH>}bSS9B8yM!`PvJMI`K5Y^!E_-4sz39)ZtH3@> z8Aq=oM2oM>9GFlJ4t`HANDkkCcID{o1dggTlq9iKHiG_~gV^N~1hRM=kGd3vD+U!CtB!l!Z~DCJ zLHzcWH=dTqmSeE*Ctl*L&KQQ5NP3fMzC49}FQ$m;1AIiUogQ?tys5bQzCO!)yQ`Oc zM#03}@Fp+3>QX(sZ4s}CJQC&g9zqXvlnCTOE>KQKe^SXIX8a$!P{s=*&CShq&A^98 zHkgd_c?--*zAyTGY-XZ@cE%U9)LhrY%#VW>do-X?4Qor3y+(iopBwg6-B=S;=fVw< z_$~NGtyP;k-Ta~<_Jo$)zLD9{wKj|?9|Qjk=E;SRtW%H1TzvK3}HnS66Wi$vv*Uc<>%! z!R#)_9@P;Pn)(=*S=P>eC>16}&dZ93ZZ8B@V%-jT3T-?e3B#x2prAg%d=hwm6F6h* z={^$6Q@RV*`-QE~yB+nyhF9OmAeT6{l2&s8+jHsgQze^dV3XS*`b(z*BEwm$8$vA7 zm;ZVKIps_1XU!FX8Hu8X&^>12o#&`c`L;wCIKm+TG zal?@L`j`JSS^#WfX4lWJN=_$hqMSA}uif0-oLV{^*I~e5uyVWCJ^FZ#P*7PJgKQde42Vhhi~MKyL7`c*!z!arzb5Z%`+Q%tx9qT&`?HO|nim@# z`rACum1|5S<+FGv^E>9!|4)wrjM~KuGdVe#F5u1#0|S$+__&p%WNc$ohHupFh1>ab z$B>_&KhfdqolL7D_9!?Hd!8pAcJg?=T804R4N|#OMnp8U(ATn0tBnpuoOTOSO`i+J zDo!{1H@kxn_6GCv^5T;a0@E0@D(5CY?awfceGKC3Ei~p1!(aUO%lX?80=8ktaz)}$ z3AjnAso}SW)B5{K{G;_6?bp+c{6x*nC?j#`z-UDLT`McXx3G1z7l!R#WQ>gRNU}9E z7NZ#&NITFdyv^gzXU(0X`8vx2<8E;3ID3fqT&p{a#YlSK!F-+R?b-I=9VhaR8FX;$ zKMm1E2}7fl14(7lQzxjQT`fBN9KwZ5jzKF`I$Gu?_i`etNJ|a`f5!}0U-X4NBtakc~ z_&qW(aJoH6E~Z$P7DIW5Mr z-VUcSslCFjVYFWv8yoX@e!SMOy(p4Pn`p4pGpC-tOVIvU1CPg~i!)nkpjJ7}=e(sX zw$$BC26&c3=VLLXy36POu#v1sw|qZa!2LZi+Vpn>G{O=I?+V@ecn(X&EMZ^W7&S$D zh?H=Lv0<|_)l7w67|*H?_6Df(c0#ZE%JzTZj(_DN#Fru>B1L!<A5v+ZYYO{VHWGzgcI2r-fkl;-Lw)ZqRHh+kdIj%MarYSyNksh0C3Xdl+Y0ui zm&Zk(2^BIpRcfHQzE_`1TfHu=2Po_PzVicSR)Nvn8{mk-W2wZ7H|X%uLAsDlp{Htg z!m4GBy4261dpk|}ads?QfX#A@(0nk5+b+W^7SXdNE2JNYAp!l7LIaa2NHbgp6RGHfwO`lga}F70YqCo~GQ6 zS7J!~ZbX}Hqb8>DMmFrT>C~vF&4!ZccztfFv6f9@>}D&o@0!h$Ks+`TV<`+;tgd_N z)49~?lHoRBwWSOw+`}+Sr^Ixrh5~iA`s=zTi(whaXAVo&4?VEvRCsJmq8lbMAgu$j z5ajiW#ueZPt~zToh_e#O0&|f3$f(UDP$r4`8~^_T8~-|s=%h$lS(PKqZx@%Bi40oZ zpa~RGCqUqqhDAE58;Mg#8H2P;kg`&>m!BT*JK0+`$~3>teQ^2=>=GC}0Smhv*HZyf zPwO3lqR5!zK3DyLRklIX}**>vT5Lks<5scw^ADwG0e(*emkbdUB^B z7=uWN+_0cTwT&dm-k)&9e^qD=y22!Oz><+ePpRj9{H3!_+2InbP`Czf~_AH7S2<0ZBTA!KF;IB3Z7! zBSa_oyQWcjeSa*G+T~UpgkBEwB_rF=o#YQ+InAS4s`PDGvC5Q0OTW9{Ux%C-Q|)UQ z_fahDqRC6CnDv;UAWS9{vS?0}I_)B<7<@R)OA~WYnysCRs)cv8)_;1(z#QxrzuBpE zDy!k3LJ=_ zWyZ7gzg~8K>wWEf^`BrRz6X{vSkvA((ufj0RXZ=~QJ2m$UON;>&gI0UCaUnHd-}xm zBEo)EOIF7yk4i@{^@9mFXcuSwqWVoQobZg z3Y9Ly9au-AL0f;@5)K8V4z4pBOssL0P~`du;_| zp&@cckd4d_s=+ac3FBtc$ehUI1$L!jd+AXjD38%Z8x59Hpy8%__)_~6uI_?C=R1&6 z3lqbbw5#74gh0jqL}V?ni5jc~0x7}4l{JStaeu&o09e(G7jQ1J*cQ)!?(ZW2^;|Oa zxzRHI_#9~wQemXA;%}K6|NnGF09{rm2aJZFZkigdWV}w%w^{EANxd5W!{9((h%ZK( zyCC8brcSeiJtAz4B|vLd88~9rEMJW;rh#_f2qE9&>xOIyyt z3Uzmg6EGd79sUVdrAZaAtKV|_`9w32pRPf;^gVZ8?7}eL*x(w}{=6u4KKXOoAnY6e zA63sNI~eX;OlajFUe`g5=U@H_k{75kv{~IzZ2}vdKH5F zUX@iZI)&)JV6Ec#RJu{o~Uk0d-2QYrfi}|cS?d}TzTE*P`A)P;QytZ`L z7vmh(kEJ2YwS0dp7)YviK#k*a{Id7QRXMNMADac-CjNy%Efeg(&Yw2m;^76kd^xYj$s$>bzrqun3{QrNy z7>kMc4{Ue7H@9~tm!-HMx8eV?N6PpHq=}xahS|9P;z!bCf7ui^b@{*8)b1|_@_zg; z?=%pH9N3GP@jTNX_IS5I4gBl>@?`NQ;M;X^qnleHF$oDPWYp|`F1HW?1`SPdAccX( zdG|^l{pUJic~;k85>16qFd^|jmiEpXt3K(ZJd}30i97dc`%?{1qA3Vs@H~rtrqMvUN%F~c~ugCDLu(p%w6$-#uj%BUy zinZuzoKu_qa+ioi+;Q1uenBf+W4pp%gZtN>OW0*ZFz>T~!JG_{Yd$j;tCpa+4R!O&*(d}sa_iDZ=kqTy|c1{_ET!_FR?_6~D z^^L`Y=e1RTcM=1xYGi6^Dcx<$NH;_AkNVN$5U7of1kPUHzC+%5-FyH~qtHFl{sr@k z@s8mHqB5%s%ioznn+fpCGJ}jyT&&1DpX#$f3ZdY6a-ZL&Y;Z0ux{6WM;@!5G!ravV z7*ty3FQ<@6^QEy6BF&Ee%iB#WTk~|(fZ-;3Muh%GUdHT!=)$zoOnUa2OJhs$I3qiW zrUGh+6Fs)b6&D6+K!j9P(bW|gbBAc&Rm!2b+!-2;#r_p$i77zP)oz$sYKjGb=Vd`X z$e|xb!M8gK{MAg7K)3Z&?;W-)=h|u z8|3NY-aF2M7=xcCnaxkN*|qZh6h|?uDP{vIbgHwfyH{UbEq$Hn=0tgw25lt<0p}S0f%5v~ypK zJ6!HDQ<;Tc6A*l{QbD$mbFZ&Q+3~$+-aHnfckoa&E*Lr%OV^yoTJUWW> zDC{rg>uFv?43mmz;c)y;zvJN5F@h2X4o>8+UvJFDvXGhumzDE_X(B{oph(IS*&q~?>**Bg+OS@ zfR*_uSFzdPMlgD2ClU*bl4)rfzq1wjMx$5=nAi8tjj)^1TU5C2Y-=<$3Xk}UG$uM# zdQecWVX6bm&l7z#Ze05SYy8%R*c2QXM~zPDoqIgQi+OAGV^&ULw!wwkjF`>Xm{K7@i4F7 z1L)3o<;AMfeH6&TG>}?#oUmKae`WRL%Fp`jr(_%2o4J7!Hxm`Zv-6i4*V*nvv~sl_ za#uOacqzm67d);*4caJme!H8U3qYvg*cnhETVNa4lzPIBW#1#1_I+22nXT%Ck?NP< zafN6CVfRfj0JNiS1cOEj2ZYSm7gL-IMc=@;BfnecS}qwOrIxneG%INFdFT)X1b$YG zhQiiCs+skx@kr`Rg3q?kH}_97Y13m2qRntdcE^^W4xPEI`-7fmW|FIZsL|HmXAmaa zMK`qEYkw(E_J{8t{^iE0?W9hlB#q@@WL#w9r8ENI+2up8XYKNiI*c< z-K*Aq|C9<3N0cg-9~=10fgXv+636eF0RV2VK~}r{J(J@V5mwVaW3Cb|o3ZZc>CqN= zt97dp+z}zKsqWq|cWj@QIu{EMFVMRXWUkW{@9cOUhYu)HLp#M7R;y2_uyCLKB6ag2 znd!oh=xW5~>dS>!QJ)g|TtHi628b#2)1q}2MAMciQ6FLDF-HJiXOH7?u4cK(=QjCH zA05>fjfQ5~yHUT{y2Pk6Dh5@8@^Yv@Z zt9~ED>88hs5$O%m!=7ggXt8||(<3(%?UkO zcUfCoGhUFdXyS&eTZc}<#<#b>VmEh=RFmll@ANnoys|W@KU#Fh!soWVUC>-uT_rGR zosrm|$t^JL|4?<^%*cq|??O?dBP{8+BIkS%_?d6lB|dk#_#RWZAAx_(Iq{ZiIS}^SX>~YO z73lxIXP~pC}r(`e|Vet*1*zWr?K@5We|>;&t_~mm*v1{&atA#AqZ8*Jy8` zioo=<_%RTRioPRtdZp8!qvP4{T`2Adk|;4-J}$EXe_)Girs-TYiQ%yBfOz5pi|X!R zk`%9}GmBZ*GA=*PbstX=}OuB0S=vq zd1$m-Yife;fW?Ag;364R7;})cs&b%}1~#YTA}w!Em$}eiooPx`2mU`FBd|wD~MEz9{3ko9F`Og(4(#j;586FC#hqXVJ zg+WdcPOo$1cpcYD?`pKufD{qrbGzwx^cMf7y)`c7{;+5mJ>^%W#v;n?nT6z$;E~7G zfn*l-a2nD3mA3hb!jC#QjOo3MXtuEFct@-CDWequzzmUiv-*%~lP7i`}B&cE|7EkGmw`opb1 zh5u7NQmke@!6i!*X+rB`Ph`v|w`ZA3IRm^U0o;wBkKylFU` znZ-idNE@@`mCKaHN;axH9gL%f-)Q|ka0%{DoTeFVsxw3cS*#DAHib%|{TJ7*k1R3P#qLY*bQ>cj14Hm7pG0`Jvl3}?XAH_*$abqFZk|m zrS-iGT=OAy(es^Um49e1xGQkAzb~tQw*dMj?(I+F-7z8+ z`(lO6hW=D0xf;vy!S6lcDx zf0MQPQP>{Y9b@!9#ySQCFE-C%)j_4kgo#o6go@cvFffs771Fr+lwTUvda>$XrFDOG zbtnhioTxKG%&#jN@z<8!MYuj5o&MA9GQq1P{)~OUezV z>ao(cJXG6a0(Iwg*})JK1Fx+opdYuLBk49AR9r2_5a3n29ik86vwWaocb`Wm@tt~1 zd88d@+xBJ7bv0<2VhulzVgcp9kD;!q`piFGs9)><;Kb>6pk2^IYcYDqF)6NWhtcCX znCLL=-)Ng~JuocRZ9CK&;5tebpKRRWHmcRUN^SZ3LWilKDgjBq?qxz;&f0CBf4t?w ztRrpu_=$3U{!4*g&9OpQm#L($)h?s2DYXXl_(3Bmcn4u|am-;-Nz~iQ1r{~1jiKS& zM*c#fWm-N79AEdJtFDnkF32P|a>7s@kn!+Zc4&6*8TjtlHCdyIJWk1%y<{<8KBzn_G)ChRX!$t{@$u?Uweu|T2T^R;v(szn`l6fO=V4px7t@q2tRb`Bncao5iU?c;lrw5fwQyFe5rv`FODn(U&wEj4w%HXeTP^@mB z`zzdNg6nViRnejnwGaz0@6||!bSk4C2(NFBQdrhSo*$UF?Wc5HB(ls#GqC;qu1!t* zTHQ&)c1BzK6h(t?w2WL;?I%>XP&yD1BTT0^a8N*uf#1~p<4hm@iNHDnFEFq6XMPI@ z6iWZ7PN2|RKQ$Gp??2mRi5>a8JSF%F<`YdlmI$BOzzDBgz5TL&xjvr)5%)mOQj10- zLSdXtk{`6eZrJJS-~-i#1n=Ne61#C1r)w9xpO0mhU^BWwi%+1f7U#_Qfm()q5)| z2`~khBXA$d&hQ5SpXIGNIC}?YlA2_BGu`5b>yC@GioW zsJt1DKEbTiSfCIoSetPqXEnMf38+YZle|c4wCQqraJ=1yAMGKmHhx>nS&4q#!1QT6 zJhJcb`qN?73T<5fc`E%n+FaLU8Le~70s3P3QRzy74hm-5HR-`pZCCp?!bvW_z_Ly{ zG=tYO@#wlFt3K|{ygZc$vKJ`Qpp_-h1o}X$Det~k202?WZStDtachsn9WFYOGW>2O z(nj)2!oBrsTD_JPv`=mf6i^IV05^aw;DOnR^)p8~LiDv_PFuxQbknIn+s>;S4-x1F z^nS8fK_i*Lp>1-sCA?^LvarP%^m3w1OXw1g!T-r*h+nhA=SL;oLSne2$6A-gUMGj8 zJ=+bOo=bKLOEfl3rKT&7t#)vc91Y#%*E)PfwVIzTMxWTU>nuPs<&#jOu?#Br^pu!o zI3TXOfw)egvOk#1RcUgRxy*n_$;y{$gSO>PHlPU6En=*Yskm4_#|}Ngr9w!32lm-L=`hVu?T5~o z_XVBu+n(4pHTL8L=vIB|R6P-_Bn6Z)_Y2JI92VV3t!I4jCMQ*D=9{=aSkeBToi%b- z0oh@is;H>E;jq9&23@EwN7Z}$C^Y1CweG~~DbvgbXJ==7Da=^koPg*%)K(CJ5XQq@ z!Y{5@36e3QqNA1fHLDEI=h$q>+r>igWnWw$36XK<=t(@!*GVNyW7k|yYssDV5!9P5 zMizOFWvLA1Gl}G~en^?m^^!rd7?eEeMem({+M9K#Jp)e+{rviJC`6layVio-ET%nl zM7_J*^W`rR+5z4zj^F3wnI+?J5$%Udo}bFoBFdLbHCD^6!_dbi=D^pZpVI~Mfsi_V{k|EzK)R@A7O3XdxG+bMWF3U-UTPcDK)8Utraa@WJbhW zxAubZgP3u674LpEM-2!(5$!^`ecN1n zn8~aG^F56D!X7V0`9!%Q46?*#gO6u_DtioD3+kMqh&}Pewz(A3HXcc>j*Cxi_Mc>N zg1TF;DU7d7aJ0Ed8tip2PI^rQ4IcGcutzp#=(TudFtuj7g9yIOZJ5iUQ;?FradT_1 zTC6OMv@vYmc>@s;?X&{@Rv=K?y!dDky49yJR9fE8I3wAm-7R?CFBIR}G)m{JeD<+F zW3G8qgizQAwV>03#Q8d)VYx)k?x$5~6y=(Ey7V7lv)kLdu*L^>yg@}EpR=4eGJRMBpTff{mX=MFt-7oI_jx>mmT)GA2kc@ck`l;Fz9a%p z%LBddoZbui3e#w168aeo#ekoMwyUVVMQ^w%j{gtnjPR#aRHc&yA%<|aj=A*qT ztg>J3Ydb54Ms=!Gj&JMQ*fyF-C}4xOWFnrpy?JI9r)Lg6qvgr8v5PEX)O`j;*Z=IDzZ|LvdN2{TLG((x79B0Qn63Vj#YL_X8TL=pVW3=xVfFYnSb84VG@>e2kV%;Ph*~>av#bSA!xZS2?9u7)72G*nqkI#K8Ka^ zy&;mvA74c2roNSN)c&G*F4d}{+?(cM(sOg}M3`GGgN?=<*&Sc$ZCS-ar&EZwJCCFP z7Hp6xp_u6CdUW<9y_*YQb^$%!7qZ@srR=rc{ix|OO>ItV&-en5y%h9Up!Celoy#r1mpD3~{U~HpeKu1X&`DOr<>kM(tjOuN#nAabHOn>! z%4TYmDfV&8&~-D0kzqaG{#3$t-0bs@yhInV<)ODwC0GKaOR+%+jio`Td}|YtPfrs~ zP)p-zW6(J4sdBgxB&Ah6jAuH|{Ll=wXh1mik&&$!%f`B7z}x)9IGf>QD1|10tBmeLptLqZa!BX=d?XUhifWqHF4c% z+eukx7L}q^S(zjd2;D1%qRP>RJ-NPjMopU9pWI~dx%q$>G(Lky0QGfaxZv8(rZVYB zugA`Pn})cP^~$?v+b-LErQ$tPg7*fVV)(h~rAcZi~$)2X^5?tE@+Yg&J>?_>-v~S@245Foe?tUvYo4@}h%u|pX zwx;nsaZ84)dO!X=JC(#?XPl6!v_E$r2FA@Qf1A4XBKg>dab> z%>`NZ4BlY)YK4NfxPY=-0PQSDyvmdn_C+>kp^^?`~lWSi_X=jI_=Mwd2;N#zk zQ9UQJbU91aQCk0qwD=H1qVyGs-2M7sh-yZ8l5zIV$gjR>^=3v0;4=a6b2Nwb)q0?| zGDgaX&;|r3`mQ%J9X@qVVDU3b+X_3AlI~MP#6#fp1lHoUWoq784kqGuKAf?q_NsO> z4hB)OrT8USMh=%ZQOjX=bA0+`t6o+ta5=+b@(m}d64D9{cw zJs7WlBnxA;na$w{?|sv)U#7_sjn8$Qaa9XJfdDL-4rj z;-OSyFPq@u#H4A6J%SWrR|D~X@-)Szp$EV3qptZ*u6t>4%QQdygB!r+T8I$>Ey>em zN}bLj@mID^^Pt(o;PUm*z7n1E7@|(?%l>E`!u}x1E0_Hl{zln|{y2YV!c3zF$ABN+ zacm5M(F#X7($3T4*FGn%*@cL?WOnPRhdEZnLoOYXi071i5_prNd;L2ZX;wYAJbb3e&!v;ne49C)5mzdUOMwp@c%#Gn~%oyVSH)MzdL7?yL%6 z(Q7|i?k}O~tV}-&MJ5LGOe}2Q1m9!ZfYZ$3Qc1}r6^p_^{b+WI<>Kr!L*WDAyPiT+n98NJ5k9w zDAT!6j7>BRuy4vrcaSXxADEDaAa_ifj^dJ7NcA7p6x$1%3*`vQA>4BFZMUhDm5o?N z^vr9Cw6ryeOJKe{OY@#|M(!(M{=2A%J+J;W;P%j z(|(LjLldx0oik1SHK+SJWF_}Bw+zXG?{$1TX6L}mD8ig@W&5ASof%b-&3!yik-__+ z=-kLjhHm5w!so@4b`d7U2RObN$B7tCL(#l!nU60k$vq4B*?-hawNBJ;JlGnUFTYUmS!w z8QjYDOMS=|!J+hxwh?x2eg%X}i@xP|UT5d@ZM>dnp2hyJ2rOw*f*H5wK5h{%p@{k) zg$n9LeemP7V}|ix%{qdubCjl)Yk;s16Ai=>x8sbW5~TJmdZn6wta2#g=8|)ZBNoEI z!1&^qTcOv87V9jw?fG^$x4;A%Ie6taNJ~UTmCiJp!{Uif`P`kDi@tGtu6#if ze^SAHH^O7L5c~=O&G_!(_giy1Ro@&9JyrsjisZc0VOLeG zMMebbL}f*jX}Pq@^2)J933*kEF~ZVH9a(8s8tOS!G1lt?9W8UcxLn@R^vg+D7cp{! z&ba$)hf*^u=NqT>o=$pAqsa0K%1=M_Au*oz5BvaXvWt_>gk0q`%{wey)af?fo?pM= ziY_!s_rI0Ix*b(D(Os%W)j1&%@+xu0kdDYj97`813^wMz_GR8w_*XvgBWzg0Aq~^% z12wnU4X2vpjP${nwwqBISAcIdd*f8h`T=FL@R*Mgp-4=aDRtgJgOOvSK@~6aJh|JW zB~#D2xRl0@wagV&zQEo$X1RtZp%EmV^z9FRMhcP>W9_tUc1#Dg`|MAB!BT6d59S_z zYltTK`BURUp_k&t>{NjR(l`Fs1zw}vE*56{KhXTJiwh?DaI42RKbP;PBxZm1L9ffi zzPtEF;?0!YVP$`#__6KrN{+`C$_lUDzDJ_pdGxjT!-3GqolA$yE*d-

%gvB7x{K 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 literal 0 HcmV?d00001 diff --git a/sync/tests/__init__.py b/sync/tests/__init__.py new file mode 100644 index 00000000..0bb7d2c7 --- /dev/null +++ b/sync/tests/__init__.py @@ -0,0 +1,5 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import test_eval +from . import test_links +from . import test_trigger_db diff --git a/sync/tests/test_eval.py b/sync/tests/test_eval.py new file mode 100644 index 00000000..0d363515 --- /dev/null +++ b/sync/tests/test_eval.py @@ -0,0 +1,167 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import logging + +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + +_logger = logging.getLogger(__name__) + +BUTTON_DATA = {"button_data_key": "button_data_value"} + + +class TestEval(TransactionCase): + def print_last_logs(self, limit=1): + logs = self.env["ir.logging"].search([], limit=limit) + for lg in logs: + _logger.debug("ir.logging: %s", [lg.name, lg.level, lg.message]) + + def create_project_task(self, project_vals, task_vals): + project = self.env["sync.project"].create( + dict( + **{ + "name": "Project Eval Test", + "param_ids": [ + (0, 0, {"key": "KEY1", "value": "VALUE1"}), + (0, 0, {"key": "KEY2", "value": "VALUE2"}), + ], + "secret_ids": [ + (0, 0, {"key": "SECRET1", "value": "SECRETVALUE1"}), + (0, 0, {"key": "SECRET2", "value": "SECRETVALUE2"}), + ], + }, + **project_vals + ) + ) + + task = ( + self.env["sync.task"] + .create( + dict( + **{ + "name": "Task eval test", + "project_id": project.id, + "button_ids": [(0, 0, {"trigger_name": "BUTTON_EVAL_TEST"})], + }, + **task_vals + ) + ) + .with_context(new_cursor_logs=False) + ) + return project, task + + def test_imports(self): + """imports should be available in Protected Code only""" + + # legal way + pvals = { + "secret_code": "from odoo import tools", + "common_code": "log('imported package in common_code: %s' % tools.config)", + } + tvals = { + "code": "\n".join( + [ + "log('imported package in task code: %s' % tools.config)", + "def handle_button():", + " pass", + ] + ) + } + p, t = self.create_project_task(pvals, tvals) + t.button_ids.ensure_one() + t.button_ids.start() + self.print_last_logs(2) + + # import in common_code + pvals = { + "secret_code": "x=2+2", + "common_code": "from odoo import tools \n" + "log('imported package in common_code: %s' % tools.config)", + } + tvals = { + "code": "\n".join( + [ + "def handle_button():", + " log('imported package in task code: %s' % tools.config)", + ] + ) + } + with self.assertRaises(ValidationError): + p, t = self.create_project_task(pvals, tvals) + # t.button_ids.ensure_one() + # t.button_ids.run() + + # import in task's code + pvals = { + "secret_code": "x=2+2", + "common_code": "x=5", + } + tvals = { + "code": "\n".join( + [ + "from odoo import tools", + "def handle_button():", + " log('imported package in task code: %s' % tools.config)", + ] + ) + } + with self.assertRaises(ValidationError): + p, t = self.create_project_task(pvals, tvals) + # t.button_ids.ensure_one() + # t.button_ids.run() + + def test_secrets(self): + """Secrets should be available in Protected Code only""" + + pvals = { + "secret_code": "\n".join( + [ + "import hashlib", + "def hash(data):", + " return hashlib.sha224(data.encode('utf-8')).hexdigest()", + "xxx = hash(secrets.SECRET1)", + ] + ), + } + # legal way + pvals["common_code"] = "log('xxx in common_code: %s' % xxx)" + tvals = { + "code": """ +def handle_button(): + log('2+2=%s' % (2+2)) +""" + } + p, t = self.create_project_task(pvals, tvals) + t.button_ids.ensure_one() + t.button_ids.start() + self.print_last_logs(2) + + # using in common_code + pvals["common_code"] = "xxx = hash(secrets.SECRET1)" + tvals = { + "code": """ +def handle_button(): + log('xxx in task code: %s' % xxx) +""" + } + p, t = self.create_project_task(pvals, tvals) + t.button_ids.ensure_one() + with self.assertRaises(ValueError): + t.button_ids.start() + + # using in task's code + pvals["common_code"] = "log('xxx in common_code: %s' % xxx)" + tvals = { + "code": "\n".join( + [ + "def handle_button():", + " xxx = hash(secrets.SECRET1)", + " log('xxx in task code: %s' % xxx)", + ] + ) + } + p, t = self.create_project_task(pvals, tvals) + t.button_ids.ensure_one() + with self.assertRaises(ValueError): + t.button_ids.start() diff --git a/sync/tests/test_links.py b/sync/tests/test_links.py new file mode 100644 index 00000000..0e60aaf7 --- /dev/null +++ b/sync/tests/test_links.py @@ -0,0 +1,199 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import uuid +from datetime import datetime + +from dateutil.relativedelta import relativedelta + +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + + +def generate_ref(): + return str(uuid.uuid4()) + + +class TestLink(TransactionCase): + def setUp(self): + super(TestLink, self).setUp() + funcs = self.env["sync.link"]._get_eval_context() + self.get_link = funcs["get_link"] + self.set_link = funcs["set_link"] + self.search_links = funcs["search_links"] + + def create_record(self): + return self.env["res.partner"].create({"name": "Test"}) + + def test_odoo_link(self): + REL = "sync_test_links_partner" + REL2 = "sync_test_links_partner2" + + self.assertFalse(self.env["res.partner"].search([]).search_links(REL)) + + # Set and get links + r = self.create_record() + ref = generate_ref() + r.set_link(REL, ref) + glink = self.get_link(REL, ref) + self.assertEqual(r, glink.odoo) + self.assertEqual(ref, glink.external) + glink = r.search_links(REL) + self.assertEqual(r, glink.odoo) + self.assertEqual(ref, glink.external) + + # check search_links + all_links = self.env["res.partner"].search([]).search_links(REL) + self.assertEqual(1, len(all_links)) + self.assertEqual(r, all_links[0].odoo) + + # update sync_date + now = datetime.now() - relativedelta(days=1) + all_links.update_links(now) + glink = self.get_link(REL, ref) + self.assertEqual(glink.sync_date, now) + + # update sync_date + now = datetime.now() + glink.update_links(now) + glink = self.get_link(REL, ref) + self.assertEqual(glink.sync_date, now) + + # check search_links + all_links = self.env["res.partner"].search([]).search_links(REL) + self.assertTrue(all_links) + self.assertEqual(1, len(all_links)) + self.assertEqual(r, all_links[0].odoo) + + # Multiple refs for the same relation and record + r = self.create_record() + ref1 = generate_ref() + ref2 = generate_ref() + r.set_link(REL, ref1) + with self.assertRaises(ValidationError): + r.set_link(REL, ref2) + r.set_link(REL, ref2, allow_many2many=True) + + # Multiple records for the same relation and ref + r1 = self.create_record() + r2 = self.create_record() + ref = generate_ref() + r1.set_link(REL, ref) + with self.assertRaises(ValidationError): + r2.set_link(REL, ref) + r2.set_link(REL, ref, allow_many2many=True) + + # multiple links for different relation_name + r = self.create_record() + ref1 = generate_ref() + r.set_link(REL, ref1) + ref2 = generate_ref() + r.set_link(REL2, ref2) + self.assertFalse(self.get_link(REL2, ref1)) + + # search links by two sets of references + r1 = self.create_record() + ref1 = generate_ref() + r1.set_link(REL, ref1) + r2 = self.create_record() + ref2 = generate_ref() + r2.set_link(REL, ref2) + r3 = self.create_record() + ref3 = generate_ref() + r3.set_link(REL, ref3) + r123 = r1 | r2 | r3 + links = r123.search_links(REL, [ref1, ref2]) + self.assertEqual(2, len(links)) + links = r123.search_links(REL, [ref1, ref2, ref3]) + self.assertEqual(3, len(links)) + r12 = r1 | r2 + links = r12.search_links(REL, [ref1, ref2, ref3]) + self.assertEqual(2, len(links)) + + # check links + all_links = self.env["res.partner"].search([]).search_links(REL) + self.assertNotEqual(1, len(all_links)) + self.assertNotEqual(1, len(all_links.odoo)) + self.assertIsInstance(all_links.odoo.ids, list) + self.assertIsInstance(all_links.external, list) + self.assertIsInstance(all_links.sync_date, datetime) + for link in all_links: + self.assertIsInstance(link.odoo.id, int) + + # unlink + all_links.unlink() + all_links = self.env["res.partner"].search([]).search_links(REL) + self.assertFalse(all_links) + + def test_external_link(self): + REL = "sync_test_external_links" + all_links = self.search_links(REL, {"github": None, "trello": None}) + self.assertFalse(all_links) + + # set get links + now = datetime.now() - relativedelta(days=1) + slink = self.set_link(REL, {"github": 1, "trello": 101}, sync_date=now) + glink = self.get_link(REL, {"github": 1, "trello": 101}) + self.assertEqual(slink.get("github"), glink.get("github")) + glink = self.get_link(REL, {"github": 1, "trello": None}) + self.assertEqual(slink.get("github"), glink.get("github")) + glink = self.get_link(REL, {"github": None, "trello": 101}) + self.assertEqual(slink.get("github"), glink.get("github")) + + # update sync_date + now = datetime.now() + glink.update_links(now) + glink = self.get_link(REL, {"github": None, "trello": 101}) + self.assertEqual(glink.sync_date, now) + + # search_links + all_links = self.search_links(REL, {"github": None, "trello": None}) + self.assertEqual(1, len(all_links)) + self.assertEqual(now, all_links.sync_date) + for link in all_links: + self.assertEqual(now, link.sync_date) + all_links.update_links(now) + + # sets operations + self.set_link(REL, {"github": 2, "trello": 102}) + self.set_link(REL, {"github": 3, "trello": 103}) + self.set_link(REL, {"github": 4, "trello": 104}) + a = self.search_links(REL, {"github": [1, 2, 3], "trello": None}) + b = self.search_links(REL, {"github": None, "trello": [102, 103, 104]}) + self.assertNotEqual(a, b) + self.assertEqual(set((a - b).get("trello")), {"101"}) + self.assertEqual(set((a - b).get("github")), {"1"}) + self.assertEqual(set((a | b).get("github")), {"1", "2", "3", "4"}) + self.assertEqual(set((a & b).get("github")), {"2", "3"}) + self.assertEqual(set((a ^ b).get("github")), {"1", "4"}) + + # one2many + self.set_link(REL, {"github": 5, "trello": 105}) + with self.assertRaises(Exception): + self.set_link(REL, {"github": 5, "trello": 1005}) + self.set_link(REL, {"github": 5, "trello": 1005}, allow_many2many=True) + with self.assertRaises(Exception): + glink = self.get_link(REL, {"github": 5, "trello": None}) + glinks = self.search_links(REL, {"github": 5, "trello": None}) + self.assertEqual(2, len(glinks)) + glink1 = self.get_link(REL, {"github": 5, "trello": 105}) + glink2 = self.get_link(REL, {"github": 5, "trello": 1005}) + glink3 = self.get_link(REL, {"github": None, "trello": 105}) + glink4 = self.get_link(REL, {"github": None, "trello": 1005}) + self.assertEqual(glink1, glink3) + self.assertEqual(glink2, glink4) + self.assertNotEqual(glink1, glink2) + elinks = self.search_links(REL, {"github": None, "trello": [105, 1005]}) + self.assertEqual(2, len(elinks)) + elinks = self.search_links( + REL, {"github": [2, 5], "trello": [102, 100000002, 105, 1005]} + ) + self.assertEqual(3, len(elinks)) + elinks = self.search_links(REL, {"github": [2, 5], "trello": None}) + self.assertEqual(3, len(elinks)) + + # unlink + all_links = self.search_links(REL, {"github": None, "trello": None}) + all_links.unlink() + all_links = self.search_links(REL, {"github": None, "trello": None}) + self.assertFalse(all_links) diff --git a/sync/tests/test_trigger_db.py b/sync/tests/test_trigger_db.py new file mode 100644 index 00000000..5623f217 --- /dev/null +++ b/sync/tests/test_trigger_db.py @@ -0,0 +1,33 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import logging + +from odoo.tests.common import TransactionCase, tagged + +_logger = logging.getLogger(__name__) + + +# Use the same tags as in base_automation module tests +@tagged("post_install", "-at_install") +class TestTriggerDB(TransactionCase): + def setUp(self): + super(TestTriggerDB, self).setUp() + funcs = self.env["sync.link"]._get_eval_context() + self.get_link = funcs["get_link"] + + def test_trigger_db(self): + """Test handle_db created in sync_demo.xml""" + + # activate project + self.env.ref("sync.test_project").active = True + # trigger event + partner = ( + self.env["res.partner"] + .with_context(new_cursor_logs=False) + .create({"name": "Test Partner Name"}) + ) + # check that handler is executed + param = self.env.ref("sync.test_project_param") + link = self.get_link(param.value, partner.id) + self.assertTrue(link) diff --git a/sync/tools/__init__.py b/sync/tools/__init__.py new file mode 100644 index 00000000..fdf9a1f4 --- /dev/null +++ b/sync/tools/__init__.py @@ -0,0 +1,3 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from .safe_eval import safe_eval_extra, test_python_expr_extra diff --git a/sync/tools/safe_eval.py b/sync/tools/safe_eval.py new file mode 100644 index 00000000..36262f01 --- /dev/null +++ b/sync/tools/safe_eval.py @@ -0,0 +1,158 @@ +# Copyright 2020 Ivan Yelizariev +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) +# +# Code of this file is based on odoo/tools/safe_eval.py +# License notes from there: +# +# Part of Odoo. See LICENSE file for full copyright and licensing details. +# Module partially ripped from/inspired by several different sources: +# - http://code.activestate.com/recipes/286134/ +# - safe_eval in lp:~xrg/openobject-server/optimize-5.0 +# - safe_eval in tryton http://hg.tryton.org/hgwebdir.cgi/trytond/rev/bbb5f73319ad + +# pylint: disable=eval-referenced + +import logging +import sys +from opcode import opmap +from types import CodeType + +import werkzeug +from psycopg2 import OperationalError + +import odoo +from odoo.tools import pycompat +from odoo.tools.misc import ustr +from odoo.tools.safe_eval import _BUILTINS, _SAFE_OPCODES, test_expr + +_logger = logging.getLogger(__name__) + +_SAFE_OPCODES = _SAFE_OPCODES.union( + { + opmap[x] + for x in [ + "IMPORT_NAME", + "IMPORT_FROM", + "LOAD_DEREF", + "STORE_DEREF", + "MAKE_CLOSURE", # python 3.5 only. See https://python.readthedocs.io/en/stable/whatsnew/3.6.html + "BUILD_TUPLE_UNPACK_WITH_CALL", # python 3.6 + "LOAD_CLOSURE", + ] + if opmap.get(x) + } +) + +unsafe_eval = eval + +_BUILTINS["__import__"] = __import__ + + +# The code below differs from origin by lint changes only +def safe_eval_extra( + expr, + globals_dict=None, + locals_dict=None, + mode="eval", + nocopy=False, + locals_builtins=False, +): + """safe_eval(expression[, globals[, locals[, mode[, nocopy]]]]) -> result + + System-restricted Python expression evaluation + + Evaluates a string that contains an expression that mostly + uses Python constants, arithmetic expressions and the + objects directly provided in context. + + This can be used to e.g. evaluate + an OpenERP domain expression from an untrusted source. + + :throws TypeError: If the expression provided is a code object + :throws SyntaxError: If the expression provided is not valid Python + :throws NameError: If the expression provided accesses forbidden names + :throws ValueError: If the expression provided uses forbidden bytecode + """ + if type(expr) is CodeType: + raise TypeError("safe_eval does not allow direct evaluation of code objects.") + + # prevent altering the globals/locals from within the sandbox + # by taking a copy. + if not nocopy: + # isinstance() does not work below, we want *exactly* the dict class + if (globals_dict is not None and type(globals_dict) is not dict) or ( + locals_dict is not None and type(locals_dict) is not dict + ): + _logger.warning( + "Looks like you are trying to pass a dynamic environment, " + "you should probably pass nocopy=True to safe_eval()." + ) + if globals_dict is not None: + globals_dict = dict(globals_dict) + if locals_dict is not None: + locals_dict = dict(locals_dict) + + if globals_dict is None: + globals_dict = {} + + globals_dict["__builtins__"] = _BUILTINS + if locals_builtins: + if locals_dict is None: + locals_dict = {} + locals_dict.update(_BUILTINS) + c = test_expr(expr, _SAFE_OPCODES, mode=mode) + try: + return unsafe_eval(c, globals_dict, locals_dict) + except odoo.exceptions.except_orm: + raise + except odoo.exceptions.Warning: + raise + except odoo.exceptions.RedirectWarning: + raise + except odoo.exceptions.AccessDenied: + raise + except odoo.exceptions.AccessError: + raise + except werkzeug.exceptions.HTTPException: + raise + except odoo.http.AuthenticationError: + raise + except OperationalError: + # Do not hide PostgreSQL low-level exceptions, to let the auto-replay + # of serialized transactions work its magic + raise + except odoo.exceptions.MissingError: + raise + except Exception as e: + exc_info = sys.exc_info() + pycompat.reraise( + ValueError, + ValueError( + '{}: "{}" while evaluating\n{!r}'.format(ustr(type(e)), ustr(e), expr) + ), + exc_info[2], + ) + + +def test_python_expr_extra(expr, mode="eval"): + try: + test_expr(expr, _SAFE_OPCODES, mode=mode) + except (SyntaxError, TypeError, ValueError) as err: + if len(err.args) >= 2 and len(err.args[1]) >= 4: + error = { + "message": err.args[0], + "filename": err.args[1][0], + "lineno": err.args[1][1], + "offset": err.args[1][2], + "error_line": err.args[1][3], + } + msg = "%s : %s at line %d\n%s" % ( + type(err).__name__, + error["message"], + error["lineno"], + error["error_line"], + ) + else: + msg = ustr(err) + return msg + return False diff --git a/sync/views/ir_logging_views.xml b/sync/views/ir_logging_views.xml new file mode 100644 index 00000000..0d20d575 --- /dev/null +++ b/sync/views/ir_logging_views.xml @@ -0,0 +1,144 @@ + + + + + ir.logging.tree + ir.logging + + + + + + + + + + + + + ir.logging.form + ir.logging + +

+ + + + + + + + + + + + + + + + + + + + + ir.logging.search + ir.logging + + + + + + + + + + + + + + + Logs + ir.logging + tree,form + [('sync_job_id', '!=', False)] + + + + + + Project Logs + ir.logging + tree,form + [('sync_project_id', '=', active_id)] + + + + Task Logs + ir.logging + tree,form + [('sync_task_id', '=', active_id)] + + + + Job Logs + ir.logging + tree,form + + [('sync_job_id', '=', active_id)] + + + diff --git a/sync/views/sync_job_views.xml b/sync/views/sync_job_views.xml new file mode 100644 index 00000000..45ddebd6 --- /dev/null +++ b/sync/views/sync_job_views.xml @@ -0,0 +1,175 @@ + + + + + sync.job.tree + sync.job + + + + + + + + + + + + sync.job.form + sync.job + +
+
+
+ + +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + Project Jobs + sync.job + tree,form + [('project_id', '=', active_id)] + + + Task Jobs + sync.job + tree,form + [('task_id', '=', active_id)] + + + Jobs + sync.job + tree,form + + +
diff --git a/sync/views/sync_link_views.xml b/sync/views/sync_link_views.xml new file mode 100644 index 00000000..10e499c9 --- /dev/null +++ b/sync/views/sync_link_views.xml @@ -0,0 +1,90 @@ + + + + + sync.link.tree + sync.link + + + + + + + + + + + + + + sync.link.form + sync.link + +
+ + + + + + + + + + + + + +
+
+
+ + sync.link.search + sync.link + + + + + + + + + + + + + + Links + sync.link + tree,form + + + +
diff --git a/sync/views/sync_menus.xml b/sync/views/sync_menus.xml new file mode 100644 index 00000000..b32dad0f --- /dev/null +++ b/sync/views/sync_menus.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml new file mode 100644 index 00000000..d39b97d8 --- /dev/null +++ b/sync/views/sync_project_views.xml @@ -0,0 +1,300 @@ + + + + + Sync Projects + sync.project + tree,form + {"active_test": False} + + + sync.project.tree + sync.project + + + + + + + + + sync.project.form + sync.project + +
+
+ +
+ +
+ + + + + + + + + +
+ +
+

+ +

+
+ + +

+
+ Hint: to add manual triggers navigate to corresponding + Task via "Available Tasks" tab +

+ + + + + + + + + +
+

+ +

+
+ + + + + + + +

+ + # The code may use functions and variables from + Project's Shared Code + + +
+ # Hint: if you miss some code editor features, just + copy the code to your lovely editor, update there + and paste here +
+

+ +
+ + +

+ + handle_cron() + +

+ + + + + + + + + + + +

+ + handle_db(records) + +

+ + + + + + + + + +

+ + handle_webhook(httprequest) + +

+ + + + + + + + + + +

+ + handle_button() + +

+ + + + + + + + + +
+ +
+
+ + sync.trigger.cron.form full + sync.trigger.cron + + primary + + + + + + + + + Cron Triggers + sync.trigger.cron + tree,form + [('sync_project_id', '=', active_id)] + + +
diff --git a/sync/views/sync_trigger_webhook_views.xml b/sync/views/sync_trigger_webhook_views.xml new file mode 100644 index 00000000..e3a21308 --- /dev/null +++ b/sync/views/sync_trigger_webhook_views.xml @@ -0,0 +1,42 @@ + + + + + sync.trigger.webhook.tree + sync.trigger.webhook + + + + + + + + + + + sync.trigger.webhook.form + sync.trigger.webhook + +
+ + + + + + + + + + + +
+
+
+ + Webhook Triggers + sync.trigger.webhook + tree + [('sync_project_id', '=', active_id)] + +
diff --git a/sync/wizard/__init__.py b/sync/wizard/__init__.py new file mode 100644 index 00000000..21ddae81 --- /dev/null +++ b/sync/wizard/__init__.py @@ -0,0 +1,3 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import sync_make_module diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py new file mode 100644 index 00000000..8045b60e --- /dev/null +++ b/sync/wizard/sync_make_module.py @@ -0,0 +1,201 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). +import base64 + +from lxml import etree + +from odoo import api, fields, models + +from odoo.addons.http_routing.models.ir_http import slugify + +PARAM_NAME = "sync.export_project.author_name" +PARAM_URL = "sync.export_project.author_url" +PARAM_LICENSE = "sync.export_project.license" +PARAM_MODULE = "sync.export_project.module" + + +class SyncMakeModule(models.TransientModel): + _name = "sync.make.module" + _description = "Generating XML data file for a module" + + name = fields.Char("File Name", readonly=True, compute="_compute_name") + name2 = fields.Char("File Name Txt", readonly=True, compute="_compute_name") + data = fields.Binary("File", readonly=True, attachment=False) + data2 = fields.Binary("File Txt", related="data") + module = fields.Char("Module Technical Name", required=True) + copyright_years = fields.Char("Copyright Year", default="2020", required=True) + author_name = fields.Char("Author Name", help="e.g. Ivan Yelizariev", required=True) + author_url = fields.Char("Author URL", help="e.g. https://twitter.com/yelizariev") + license_line = fields.Char( + "License", + default="License MIT (https://opensource.org/licenses/MIT)", + required=True, + ) + state = fields.Selection([("choose", "choose"), ("get", "get")], default="choose") + project_id = fields.Many2one("sync.project") + + def _compute_name(self): + for r in self: + name = slugify(r.project_id.name).replace("-", "_") + name = "sync_project_{}_data.xml".format(name) + r.name = name + r.name2 = "{}.txt".format(name) + + @api.model + def default_get(self, fields): + vals = super().default_get(fields) + vals["author_name"] = self.env["ir.config_parameter"].get_param(PARAM_NAME, "") + vals["author_url"] = self.env["ir.config_parameter"].get_param(PARAM_URL, "") + license_line = self.env["ir.config_parameter"].get_param(PARAM_LICENSE) + if license_line: + vals["license_line"] = license_line + module = self.env["ir.config_parameter"].get_param(PARAM_MODULE) + if not module: + m = self.env["ir.module.module"].search( + [("state", "=", "installed")], limit=1, order="write_date desc" + ) + if m.name.startswith("sync_"): + module = m.name + if not module: + module = "sync_x" + vals["module"] = module + return vals + + def act_makefile(self): + self.env["ir.config_parameter"].set_param(PARAM_NAME, self.author_name) + self.env["ir.config_parameter"].set_param(PARAM_LICENSE, self.license_line) + self.env["ir.config_parameter"].set_param(PARAM_MODULE, self.module) + if self.author_url: + self.env["ir.config_parameter"].set_param(PARAM_URL, self.author_url) + + url = " <{}>".format(self.author_url) if self.author_url else "" + copyright_str = "".format( + years=self.copyright_years, + name=self.author_name, + url=url, + license_line=self.license_line, + ) + root = etree.Element("odoo") + project = self.project_id.with_context(active_test=False) + records = [ + (project, ("name", "active", "secret_code", "common_code")), + ] + for secret in project.secret_ids: + records.append((secret, ("key", "description", "url", "project_id"))) + + for param in project.param_ids: + records.append( + (param, ("key", "value", "description", "url", "project_id")) + ) + + for task in project.task_ids: + records.append((task, ("name", "active", "project_id", "code"))) + for trigger in task.button_ids: + records.append((trigger, ("trigger_name", "name", "sync_task_id"))) + for trigger in task.cron_ids: + records.append( + ( + trigger, + ( + "trigger_name", + "active", + "sync_task_id", + "interval_number", + "interval_type", + ), + ) + ) + for trigger in task.automation_ids: + records.append( + ( + trigger, + ( + "trigger_name", + "active", + "sync_task_id", + "model_id", + "trigger", + ), + ) + ) + + for trigger in task.webhook_ids: + records.append( + (trigger, ("trigger_name", "active", "name", "sync_task_id")) + ) + + for r, field_names in records: + root.append(self._record2xml(r, field_names)) + + if hasattr(etree, "indent"): + etree.indent(root, space=" ") + data = etree.tostring( + root, + xml_declaration=True, + encoding="UTF-8", + pretty_print=True, + doctype=copyright_str, + ) + data = base64.encodebytes(data) + self.write({"state": "get", "data": data}) + return self.get_wizard() + + def _record2id(self, record): + existing = self.env["ir.model.data"].search( + [("model", "=", record._name), ("res_id", "=", record.id)] + ) + if existing: + existing = existing[0] + if existing.module == self.module: + return existing.name + else: + return existing.complete_name + + xmlid = "{}_{}".format( + slugify(record.display_name), slugify(record._description) + ) + + self.env["ir.model.data"].create( + { + "model": record._name, + "res_id": record.id, + "module": self.module, + "name": xmlid, + } + ) + return xmlid + + def _field2xml(self, record, fname): + field = record._fields[fname] + value = getattr(record, fname) + xml = etree.Element("field", name=fname) + if field.type in ["char", "selection", "integer"]: + xml.text = str(value) if value else "" + elif field.type == "text": + xml.text = etree.CDATA(value or "") + elif field.type == "many2one": + xml.set("ref", self.module + "." + self._record2id(value)) + elif field.type == "boolean": + xml.set("eval", str(value)) + return xml + + def _record2xml(self, record, fields): + xml = etree.Element("record", id=self._record2id(record), model=record._name) + for fname in fields: + xml.append(self._field2xml(record, fname)) + return xml + + def act_configure(self): + self.write({"state": "choose"}) + return self.get_wizard() + + def get_wizard(self): + return { + "type": "ir.actions.act_window", + "res_model": self._name, + "view_mode": "form", + "view_type": "form", + "res_id": self.id, + "views": [(False, "form")], + "target": "new", + } diff --git a/sync/wizard/sync_make_module_views.xml b/sync/wizard/sync_make_module_views.xml new file mode 100644 index 00000000..798737cf --- /dev/null +++ b/sync/wizard/sync_make_module_views.xml @@ -0,0 +1,106 @@ + + + + + sync.make.module + +
+ + + From fdc2873095da155ba05a5fe89fc977ce5d9a2f3e Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Fri, 18 Sep 2020 11:08:43 +0500 Subject: [PATCH 002/118] :book: clarification of documentation and correction of typos --- sync/README.rst | 2 +- sync/doc/index.rst | 44 ++++++++++++++++-------------- sync/static/description/index.html | 2 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index 0ffa2219..5a465a73 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -44,7 +44,7 @@ If you run Odoo locally and need to test webhook, you can use ssh tunneling: * Connect your server: - * Edit file ``/etc/ssh/ssd_config``: + * Edit file ``/etc/ssh/sshd_config``: * Find ``GatewayPorts`` attribute and set value to ``yes`` diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 0f5584c9..ce376f4e 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -45,7 +45,7 @@ Project * **Key** * **Value** - * **Secrets**: Parameters with restricted access: key values are visiable for Managers only + * **Secrets**: Parameters with restricted access: key values are visible for Managers only * In the ``Shared Code`` tab @@ -85,7 +85,7 @@ Project * ``return data_str, status, headers`` * ``status`` is a response code, e.g. ``200``, ``403``, etc. - * ``headers`` is a list of key-value turples, e.g. ``[('Content-Type', 'text/html')]`` + * ``headers`` is a list of key-value tuples, e.g. ``[('Content-Type', 'text/html')]`` * ``handle_button()`` * **Cron Triggers**, **DB Triggers**, **Webhook Triggers**, **Manual @@ -185,7 +185,7 @@ Odoo Link usage: * ``for link in links:``: iterate over links * ``if links``: check that link set is not empty * ``len(links)``: number of links in the set -* sets operaions: +* sets operations: * ``links1 == links2``: sets are equal * ``links1 - links2``: links that are in first set, but not in another @@ -217,7 +217,7 @@ You can also link external data with external data on syncing two different syst "trello": [trello_card_num], } - * use None values to don't filter by referece value of that system, e.g. + * use None values to don't filter by reference value of that system, e.g. .. code-block:: python @@ -282,7 +282,7 @@ Event Asynchronous work ~~~~~~~~~~~~~~~~~ -* ``add_job(func_name, **options)(*func_args, **func_kwargs)``: call a function asyncroniously; options are similar to ``with_delay`` method of ``queue_job`` module: +* ``add_job(func_name, **options)(*func_args, **func_kwargs)``: call a function asynchronously; options are similar to ``with_delay`` method of ``queue_job`` module: * ``priority``: Priority of the job, 0 being the higher priority. Default is 10. * ``eta``: Estimated Time of Arrival of the job. It will not be executed before this date/time. @@ -309,7 +309,7 @@ Exceptions * ``UserError`` * ``ValidationError`` -* ``RetryableJobError``: raise to restart job from beginning; e.g. in case of temporarly errors like broken connection +* ``RetryableJobError``: raise to restart job from beginning; e.g. in case of temporary errors like broken connection * ``OSError`` Running Job @@ -349,7 +349,7 @@ Webhook Button ------ -* runs immediatly +* runs immediately * to retry click the button again Execution Logs @@ -372,7 +372,7 @@ In this project we create new partners and attach messages sent to telegram bot. Odoo Messages prefixed with ``/telegram`` are sent back to telegram. To try it, you need to install this module in demo mode. Also, your odoo -instance must be accessable over internet to receive telegram webhooks. Due to +instance must be accessible over internet to receive telegram webhooks. Due to telegram requirements, your web server must use http**s** connection. How it works @@ -388,7 +388,7 @@ How it works *DB trigger* waits for a message attached to a telegram partner (telegram partners are filtered by **Internal Reference** field). If the message has ``/telegram`` prefix, task's code is run: -* a message copy (after removeing the prefix) is sent to corresponding telegram user +* a message copy (after removing the prefix) is sent to corresponding telegram user * attach report message to the partner record Configuration @@ -495,15 +495,18 @@ Usage * Go back to the *Demo Odoo2odoo Integration* project in our Odoo * Click ``Available Tasks`` tab +* Click ``[Edit]`` * Go to ``Sync Remote Partners Updates`` task * Click on ``Available Triggers`` tab and go inside ``CHECK_EXTERNAL_ODOO`` trigger +* Configure cron * Make trigger Active on the upper right corner +* Click ``[Save]`` * Then you can trigger synchronization in some of the following ways: 1. Click ``[Run Manually]`` inside the trigger - 2. Simply wait up to 15 minutes :) + 2. Simply wait up to cron job will start on a schedule :) * Now open the partner in our Odoo * RESULT: avatar is synced from external Odoo @@ -557,8 +560,8 @@ with success, but label was not attached) or if odoo was stopped when github tried to notify about updates. In some cases, we can just retry the handler (e.g. there was an error on api request to github/trello, then the system tries few times to repeat label attaching/detaching). As a solution for cases when -retrieng didn't help (e.g. api is still not working) or cannot help (e.g. odoo -didn't get webhhook notification), we run a *Cron Trigger* at night to check for +retrying didn't help (e.g. api is still not working) or cannot help (e.g. odoo +didn't get webhook notification), we run a *Cron Trigger* at night to check for labels mismatch and synchronize them. In ``LABELS_MERGE_STRATEGY`` you can choose which strategy to use: @@ -588,6 +591,7 @@ Configuration * Open *CONFLICT_RESOLVING* Cron * Change **Next Execution Date** in webhook to the night time + * Set **Number of Calls**, a negative value means no limit (e.g. `-1`) * Make it active on the upper right corner * Click ``[Save]`` * Make integration Active on the upper right corner @@ -601,11 +605,10 @@ Configuration .. code-block:: nginx - location /website/action-json/ { - proxy_set_header Content-Type "application/json"; - proxy_set_header Host $host; - proxy_pass http://localhost:8069; - } + location /website/action-json/ { + return 200 "{}"; + } + * After a successful *SETUP_TRELLO* trigger run, return everything to its original position, otherwise the project will not work correctly @@ -624,7 +627,8 @@ Usage * Post a message * Now go back to the trello card * RESULT: you see a copy of the message -* You can also add/remove github issue labels or trello card labels. +* You can also add/remove github issue labels or trello card labels (note that the name of the label must be added + in Trello so that there are no errors in the GitHub). * RESULT: once you change them on one side, after short time, you will see the changes on another side @@ -649,7 +653,7 @@ Usage 2. Change **Next Execution Date** to a past time and wait up to 1 minute -* RESULT: the github issue and corresponding trello card the same set of labels. The merging is done according to selected stragegy in ``LABELS_MERGE_STRATEGY`` parameter. +* RESULT: the github issue and corresponding trello card the same set of labels. The merging is done according to selected strategy in ``LABELS_MERGE_STRATEGY`` parameter. **Syncing all existing Github issues.** @@ -657,7 +661,7 @@ Usage * Open menu ``[[ Sync Studio ]] >> Projects`` * Select *Demo Tello-Github Integration* project * Click button ``[Run Now]`` near to ``PUSH_ALL_ISSUES`` manual trigger -* It will start asyncronious jobs. You can check progress via button *Jobs* +* It will start asynchronous jobs. You can check progress via button *Jobs* * After some time open Trello * RESULT: copies of all *open* github issues are in trello; they have *GITHUB:* prefix (can be configured in project parameter ISSUE_FROM_GITHUB_PREFIX) diff --git a/sync/static/description/index.html b/sync/static/description/index.html index 23a4f636..d1f252d0 100644 --- a/sync/static/description/index.html +++ b/sync/static/description/index.html @@ -70,7 +70,7 @@

Synchronize anything with anything

- You can check existing solutions based on this module. There is no module that fits you needs or you need an update, send a request to sync@it-projects.info . + You can check existing solutions based on this module. If there is no module that fits you needs or you need an update, send a request to sync@it-projects.info .
From ee9440309b72ddb871a0a12662babb4a209a07c3 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Mon, 28 Sep 2020 14:56:55 +0500 Subject: [PATCH 003/118] :arrow_up::one::three: sync --- sync/README.rst | 6 +++--- sync/__manifest__.py | 2 +- sync/data/sync_project_odoo2odoo_demo.xml | 4 +++- sync/doc/index.rst | 4 ++-- sync/models/sync_link.py | 1 - sync/views/sync_project_views.xml | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index 5a465a73..3a659dac 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -94,12 +94,12 @@ Contributors Further information =================== -HTML Description: https://apps.odoo.com/apps/modules/12.0/sync/ +HTML Description: https://apps.odoo.com/apps/modules/13.0/sync/ Usage instructions: ``__ Changelog: ``_ -Notifications on updates: `via Atom `_, `by Email `_ +Notifications on updates: `via Atom `_, `by Email `_ -Tested on Odoo 12.0 3fbfa87df85d6463dfcba47416f360fcdef4448e +Tested on Odoo 13.0 9fe7d55e64867d177519e99cc45f9ecfeb3746a3 diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 94b6e5e9..7ff28040 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -6,7 +6,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY""", "category": "Extra Tools", "images": [], - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "application": True, "author": "IT-Projects LLC, Ivan Yelizariev", "support": "apps@it-projects.info", diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index aaf54d96..e48aef72 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -34,7 +34,7 @@ from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT `__ module. In particular: +* Make configuration required for `queue_job `__ module. In particular: * add ``queue_job`` to `server wide modules `__, e.g.:: @@ -439,7 +439,7 @@ You can continue chatting in this way Demo Project: Odoo2odoo ======================= -In this project we push partners to external Odoo 12.0 and sync back avatar changes. +In this project we push partners to external Odoo 13.0 and sync back avatar changes. To try it, you need to install this module in demo mode. diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py index 381e1ca7..1acfddba 100644 --- a/sync/models/sync_link.py +++ b/sync/models/sync_link.py @@ -34,7 +34,6 @@ class SyncLink(models.Model): ) model = fields.Char("Odoo Model", index=True) - @api.model_cr_context def _auto_init(self): res = super(SyncLink, self)._auto_init() tools.create_unique_index( diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index d39b97d8..84b06b58 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -291,7 +291,7 @@ Date: Sun, 4 Oct 2020 20:35:36 +0200 Subject: [PATCH 004/118] :sparkles: sync: prevent odoo container escaping --- sync/README.rst | 4 +- sync/__init__.py | 1 - sync/__manifest__.py | 2 +- sync/data/sync_project_odoo2odoo_demo.xml | 28 +- sync/data/sync_project_telegram_demo.xml | 44 +- sync/data/sync_project_trello_github_demo.xml | 273 ++----------- sync/doc/changelog.rst | 10 + sync/doc/index.rst | 73 ++-- sync/models/__init__.py | 1 + sync/models/sync_project.py | 69 ++-- sync/models/sync_project_demo.py | 378 ++++++++++++++++++ sync/models/sync_task.py | 8 +- sync/models/sync_trigger_button.py | 2 +- sync/tests/__init__.py | 1 - sync/tests/test_eval.py | 167 -------- sync/tools/__init__.py | 3 - sync/tools/safe_eval.py | 158 -------- sync/views/sync_project_views.xml | 30 +- sync/wizard/sync_make_module.py | 2 +- 19 files changed, 514 insertions(+), 740 deletions(-) create mode 100644 sync/models/sync_project_demo.py delete mode 100644 sync/tests/test_eval.py delete mode 100644 sync/tools/__init__.py delete mode 100644 sync/tools/safe_eval.py diff --git a/sync/README.rst b/sync/README.rst index 3a659dac..053fc21f 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -21,7 +21,6 @@ Provides a single place to handle synchronization trigered by one of the followi Difference with built-in code evaluation: -* Allows to add extra imports to eval context * Allows to use json format for incomming webhooks * Provides helpers for resource linking. See *Links* section in ``__ * Uses queue_job module as a job broker @@ -89,7 +88,8 @@ Contributors ------------ * `Ivan Yelizariev `__: - * :one::zero: init version of the module + * :one::two: init version of the module + * :one::two: redesign module to prevent odoo container escapes Further information =================== diff --git a/sync/__init__.py b/sync/__init__.py index f320a03a..f5b234aa 100644 --- a/sync/__init__.py +++ b/sync/__init__.py @@ -2,5 +2,4 @@ from . import models from . import wizard -from . import tools from . import controllers diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 7ff28040..c674e698 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -6,7 +6,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY""", "category": "Extra Tools", "images": [], - "version": "13.0.1.0.0", + "version": "13.0.2.0.1", "application": True, "author": "IT-Projects LLC, Ivan Yelizariev", "support": "apps@it-projects.info", diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index e48aef72..c844e570 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -6,31 +6,7 @@ Demo Odoo2odoo Integration - - - + odoo2odoo ", links.sync_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT)]], + [["id", "in", [int(id) for id in links.external]], ["write_date", ">", links.sync_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT)]], fields=["write_date", IMAGE_FIELD] ) # Save fetched data in local Odoo diff --git a/sync/data/sync_project_telegram_demo.xml b/sync/data/sync_project_telegram_demo.xml index 77a0f148..b55384d2 100644 --- a/sync/data/sync_project_telegram_demo.xml +++ b/sync/data/sync_project_telegram_demo.xml @@ -5,41 +5,7 @@ Demo Telegram Integration - -setWebhook", json.dumps([args, kwargs])) - bot.setWebhook(*args, **kwargs) - - def parse_data(data): - return Update.de_json(data, bot) - - return { - "sendMessage": sendMessage, - "setWebhook": setWebhook, - "parse_data": parse_data, - } - -bot = _exports(secrets) - -]]> - + telegram @@ -115,7 +81,7 @@ def handle_webhook(httprequest): data = json.loads(httprequest.data.decode("utf-8")) log("Raw data: %s" % data, LOG_DEBUG) - update = bot["parse_data"](data) + update = telegram.parse_data(data) message = update.message or update.edited_message is_edit = bool(update.edited_message) user_ref = "%s@telegram" % message.from_user.id @@ -127,7 +93,7 @@ def handle_webhook(httprequest): odoo_message_text = "From Telegram:" if message.text == "/start": - bot["sendMessage"](message.chat.id, params.TELEGRAM_WELCOME_MESSAGE) + telegram.sendMessage(message.chat.id, params.TELEGRAM_WELCOME_MESSAGE) elif is_edit: odoo_message_text = "Contact has updated his message:" @@ -159,7 +125,7 @@ def handle_db(records): telegram_user_id = user_ref.split("@telegram")[0] telegram_message_html = html_sanitize_telegram(r.body) telegram_message_html = telegram_message_html.replace("/telegram", "") - bot["sendMessage"](telegram_user_id, telegram_message_html) + telegram.sendMessage(telegram_user_id, telegram_message_html) odoo_message_text = "%s:\n\n%s" % (params.TELEGRAM_MESSAGE_SENT, telegram_message_html) partner.message_post(body=odoo_message_text) diff --git a/sync/data/sync_project_trello_github_demo.xml b/sync/data/sync_project_trello_github_demo.xml index 41f0d0e9..1de027fb 100644 --- a/sync/data/sync_project_trello_github_demo.xml +++ b/sync/data/sync_project_trello_github_demo.xml @@ -5,220 +5,7 @@ Demo Trello-Github Integration - + trello_github @@ -475,7 +262,7 @@ def handle_webhook_issue_comment(data): card_id = issue_id2card_id(issue_id) issue_message = data["comment"]["body"] message = "%s\n%s" % (params.MESSAGE_PREFIX, issue_message) - trello["card_add_message"](card_id, message) + trello.card_add_message(card_id, message) def handle_webhook_issues_update(data): # https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#issues @@ -487,14 +274,14 @@ def handle_webhook_issues_update(data): issue_name = issue["title"] card_id = issue_id2card_id(issue_id) if not card_id: - card_id = trello["card_create"](params.ISSUE_FROM_GITHUB_PREFIX + issue_name, issue_id) + card_id = trello.card_create(params.ISSUE_FROM_GITHUB_PREFIX + issue_name, issue_id) set_link(ISSUES_REL, {GITHUB: issue_id, TRELLO: card_id}) if data["action"] == "opened": issue_message = issue["body"] if issue_message: message = "%s\n%s" % (params.MESSAGE_PREFIX, issue_message) - trello["card_add_message"](card_id, message) + trello.card_add_message(card_id, message) # attached labels: labels = [] @@ -506,7 +293,7 @@ def handle_webhook_issues_update(data): tlabel_ids = github2trello_labels(labels) if tlabel_ids: - trello["card_add_labels"](card_id, tlabel_ids) + trello.card_add_labels(card_id, tlabel_ids) # detached labels: if data["action"] == "unlabeled": @@ -517,7 +304,7 @@ def handle_webhook_issues_update(data): tlabel_ids = github2trello_labels(labels) if tlabel_ids: - trello["card_remove_labels"](card_id, tlabel_ids) + trello.card_remove_labels(card_id, tlabel_ids) def issue_id2card_id(issue_id): elink = get_link(ISSUES_REL, {GITHUB: issue_id, TRELLO: None}) @@ -531,7 +318,7 @@ def handle_button(): def fetch_github_issues(page=0): CHUNK_SIZE=10 # fetch page - issues = github["get_all_issues"](page) + issues = github.get_all_issues(page) if not issues: log("No more issues. Page={}".format(page)) return @@ -549,19 +336,19 @@ def process_github_issues(issues): log("Issue is already pushed: %s" % data["id"]) continue issue_name = params.ISSUE_FROM_GITHUB_PREFIX + data["name"] - card_id = trello["card_create"](issue_name, issue_id) + card_id = trello.card_create(issue_name, issue_id) set_link(ISSUES_REL, {GITHUB: issue_id, TRELLO: card_id}) issue_message = data["body"] if issue_message: message = "%s\n%s" % (params.MESSAGE_PREFIX, issue_message) - trello["card_add_message"](card_id, message) + trello.card_add_message(card_id, message) labels = data["labels"] tlabel_ids = github2trello_labels(labels) if tlabel_ids: - trello["card_add_labels"](card_id, tlabel_ids) + trello.card_add_labels(card_id, tlabel_ids) ]]> @@ -689,16 +476,16 @@ def process_github_issues(issues): tlabel_id = elinks.get(TRELLO)[0] if is_updated: if trigger == "TRELLO_LABEL_UPDATES": - github["label_update"](glabel_id, new_name, new_color) + github.label_update(glabel_id, new_name, new_color) elif trigger == "GITHUB_LABEL_UPDATES": - trello["label_update"](tlabel_id, new_name, new_color) + trello.label_update(tlabel_id, new_name, new_color) if is_deleted: elinks.unlink() if trigger == "TRELLO_LABEL_UPDATES": - github["label_delete"](glabel_id) + github.label_delete(glabel_id) elif trigger == "GITHUB_LABEL_UPDATES": - trello["label_delete"](tlabel_id) + trello.label_delete(tlabel_id) ]]> @@ -733,7 +520,7 @@ def handle_cron(): issue_ids = elinks.get(GITHUB) # https://docs.github.com/en/rest/reference/issues#list-repository-issues # issue is {id: int, labels: [{id: int, name: str, ...}]} - issues = github["get_all_issues"]() + issues = github.get_all_issues() # issue_id -> issue issues_index = {} for issue in issues: @@ -745,7 +532,7 @@ def handle_cron(): # https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-cards-get # https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-get # card is dict {id: int, idLabels: [int], ...} - cards = trello["get_all_cards"]() + cards = trello.get_all_cards() # card_id -> card cards_index = {} for card in cards: @@ -791,13 +578,13 @@ def handle_cron(): raise Exception("Unknown LABELS_MERGE_STRATEGY: %s" % LABELS_MERGE_STRATEGY, level=LOG_ERROR) if tlinks_add: - trello["card_add_labels"](card_id, tlinks_add.get(TRELLO)) + trello.card_add_labels(card_id, tlinks_add.get(TRELLO)) if glinks_add: - github["issue_add_labels"](issue_id, glinks_add.get(GITHUB)) + github.issue_add_labels(issue_id, glinks_add.get(GITHUB)) if tlinks_remove: - trello["card_remove_labels"](card_id, tlinks_remove.get(TRELLO)) + trello.card_remove_labels(card_id, tlinks_remove.get(TRELLO)) if glinks_remove: - github["issue_remove_labels"](issue_id, glinks_remove.get(GITHUB)) + github.issue_remove_labels(issue_id, glinks_remove.get(GITHUB)) ]]> diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 5583eb32..3f96cb8e 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,13 @@ +`2.0.1` +------- + +- **Improvement:** add the ability to get type of the given object + +`2.0.0` +------- + +- **Improvement:** for security sake imports are available via module code only + `1.0.0` ------- diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 41ce386d..37b96c41 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -29,7 +29,7 @@ User Access Levels * ``Sync Studio: User``: read-only access * ``Sync Studio: Developer``: restricted write access -* ``Sync Studio: Manager``: same as Developer, but with access to **Secrets** and **Protected Code** +* ``Sync Studio: Manager``: same as Developer, but with access to **Secrets** Project ======= @@ -47,11 +47,11 @@ Project * **Value** * **Secrets**: Parameters with restricted access: key values are visible for Managers only - * In the ``Shared Code`` tab + * In the ``Evaluation Context`` tab - * **Protected Code**, **Common Code**: code that is executed before running any - project's task. Can be used for initialization or for helpers. Secret params - and package importing are available in **Protected Code** only. Any variables + * **Evaluation context**: predefined additional variables and methods + * **Common_code**: code that is executed before running any + project's task. Can be used for initialization or for helpers. Any variables and functions that don't start with underscore symbol will be available in task's code. @@ -155,6 +155,10 @@ Base * ``LOG_ERROR`` * ``LOG_CRITICAL`` +* ``log_transmission(recipient_str, data_str)``: report on data transfer to external recipients + +* ``DEFAULT_SERVER_DATETIME_FORMAT`` + Links ~~~~~ @@ -242,35 +246,10 @@ External Link is similar to Odoo link with the following differences: * ``elink.get()``, e.g. ``elink.get("github")``: reference value for system; it's a replacement for ``link.odoo`` and ``link.external`` in Odoo link -Network -~~~~~~~ - -* ``log_transmission(recipient_str, data_str)``: report on data transfer to external recipients; example of a function in *Protected Code*: - - .. code-block:: python - - def httpPOST(url, *args, **kwargs): - import requests - log_transmission(url, json.dumps([args, kwargs])) - r = requests.post(url, *args, **kwargs) - return r.text - - Project Values ~~~~~~~~~~~~~~ * ``params.``: project params -* ``secrets.``: available in **Protected Code** only; you need to use closure to use it, for example: - - .. code-block:: python - - def _make_request(secrets): - import requests - def f(data): - return requests.post(params.API_URL, data=data, auth=(secrets.API_USER, secrets.API_PASSWORD)) - return f - make_request = _make_request(secrets) - * ``webhooks.``: contains webhook url; only in tasks' code Event @@ -312,6 +291,40 @@ Exceptions * ``RetryableJobError``: raise to restart job from beginning; e.g. in case of temporary errors like broken connection * ``OSError`` +Evaluation context +------------------ + +Evaluation provides additional variables and methods for a project. For example, for telegram integration is could be method to send message to a telegram user. To make such additional context, you need to make a new module and make extension for ``sync.project`` model. Example: + +.. code-block:: python + + import requests + from odoo import api, fields, models + + class SyncProject(models.Model): + + _inherit = "sync.project" + eval_context = fields.Selection(selection_add=[ + ("my_project", "My Project"), + ]) + + @api.model + def _eval_context_my_project(self, secrets, eval_context): + """Additional function to make http request + + * httpPost(url, **kwargs) + """ + log_transmission = eval_context["log_transmission"] + log = eval_context["log"] + def httpPOST(url, **kwargs): + log_transmission(url, json.dumps(kwargs)) + r = requests.request("POST", url, **kwargs) + log("Response: %s" % r.text) + return r.text + return { + "httpPost": httpPost + } + Running Job =========== diff --git a/sync/models/__init__.py b/sync/models/__init__.py index 7d64abba..881a80aa 100644 --- a/sync/models/__init__.py +++ b/sync/models/__init__.py @@ -1,6 +1,7 @@ # License MIT (https://opensource.org/licenses/MIT). from . import sync_project +from . import sync_project_demo from . import sync_task from . import sync_trigger_mixin from . import sync_trigger_cron diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 3bb7901c..7897dd9f 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -11,17 +11,18 @@ from odoo import api, fields, models from odoo.exceptions import UserError, ValidationError +from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT, frozendict from odoo.tools.safe_eval import safe_eval, test_python_expr from odoo.tools.translate import _ from odoo.addons.base.models.ir_actions import dateutil from odoo.addons.queue_job.exception import RetryableJobError -from ..tools import safe_eval_extra, test_python_expr_extra from .ir_logging import LOG_CRITICAL, LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_WARNING _logger = logging.getLogger(__name__) DEFAULT_LOG_NAME = "Log" +EVAL_CONTEXT_PREFIX = "_eval_context_" def cleanup_eval_context(eval_context): @@ -40,22 +41,9 @@ class SyncProject(models.Model): "Name", help="e.g. Legacy Migration or eCommerce Synchronization", required=True ) active = fields.Boolean(default=True) - secret_code = fields.Text( - "Protected Code", - groups="sync.sync_group_manager", - help="""First code to eval. + eval_context = fields.Selection([], string="Evaluation context") + eval_context_description = fields.Text(compute="_compute_eval_context_description") - Secret Params and package importing are available here only. - - Any variables and functions that don't start with underscore symbol will be available in Common Code and task's code. - - To log transmitted data, use log_transmission(receiver, data) function. - """, - ) - - secret_code_readonly = fields.Text( - "Protected Code (Readonly)", compute="_compute_secret_code_readonly" - ) common_code = fields.Text( "Common Code", help=""" @@ -88,9 +76,12 @@ class SyncProject(models.Model): log_ids = fields.One2many("ir.logging", "sync_project_id") log_count = fields.Integer(compute="_compute_log_count") - def _compute_secret_code_readonly(self): + def _compute_eval_context_description(self): for r in self: - r.secret_code_readonly = (r.sudo().secret_code or "").strip() + if not r.eval_context: + r.eval_context_description = "" + method = getattr(self, EVAL_CONTEXT_PREFIX + r.eval_context) + r.eval_context_description = method.__doc__ def _compute_network_access_readonly(self): for r in self: @@ -119,15 +110,8 @@ def _compute_triggers(self): r.trigger_button_count = len(r.mapped("task_ids.button_ids")) r.trigger_button_ids = r.mapped("task_ids.button_ids") - @api.constrains("secret_code", "common_code") + @api.constrains("common_code") def _check_python_code(self): - for r in self.sudo().filtered("secret_code"): - msg = test_python_expr_extra( - expr=(r.secret_code or "").strip(), mode="exec" - ) - if msg: - raise ValidationError(msg) - for r in self.sudo().filtered("common_code"): msg = test_python_expr(expr=(r.common_code or "").strip(), mode="exec") if msg: @@ -195,10 +179,6 @@ def f(*args, **kwargs): for p in self.param_ids: params[p.key] = p.value - secrets = AttrDict() - for p in self.sudo().secret_ids: - secrets[p.key] = p.value - webhooks = AttrDict() for w in self.task_ids.mapped("webhook_ids"): webhooks[w.trigger_name] = w.website_url @@ -230,7 +210,6 @@ def safe_setattr(o, k, v): "LOG_ERROR": LOG_ERROR, "LOG_CRITICAL": LOG_CRITICAL, "params": params, - "secrets": secrets, "webhooks": webhooks, "user": self.env.user, "trigger": job.trigger_name, @@ -248,17 +227,25 @@ def safe_setattr(o, k, v): "timezone": timezone, "b64encode": base64.b64encode, "b64decode": base64.b64decode, + "type2str": type2str, + "DEFAULT_SERVER_DATETIME_FORMAT": DEFAULT_SERVER_DATETIME_FORMAT, } ) reading_time = time.time() - start_time - start_time = time.time() - safe_eval_extra( - self.secret_code_readonly, eval_context, mode="exec", nocopy=True - ) - executing_secret_code = time.time() - start_time - del eval_context["secrets"] - cleanup_eval_context(eval_context) + executing_custom_context = 0 + if self.eval_context: + start_time = time.time() + + secrets = AttrDict() + for p in self.sudo().secret_ids: + secrets[p.key] = p.value + eval_context_frozen = frozendict(eval_context) + method = getattr(self, EVAL_CONTEXT_PREFIX + self.eval_context) + eval_context = dict(**eval_context, **method(secrets, eval_context_frozen)) + cleanup_eval_context(eval_context) + + executing_custom_context = time.time() - start_time start_time = time.time() safe_eval( @@ -266,8 +253,8 @@ def safe_setattr(o, k, v): ) executing_common_code = time.time() - start_time log( - "Evalution context is prepared. Reading project data: %05.3f sec; Executing secret code: %05.3f sec; Executing Common Code: %05.3f sec" - % (reading_time, executing_secret_code, executing_common_code), + "Evalution context is prepared. Reading project data: %05.3f sec; preparing custom evalution context: %05.3f sec; Executing Common Code: %05.3f sec" + % (reading_time, executing_custom_context, executing_common_code), LOG_DEBUG, ) cleanup_eval_context(eval_context) @@ -284,7 +271,7 @@ class SyncProjectParamMixin(models.AbstractModel): value = fields.Char("Value") description = fields.Char("Description", translate=True) url = fields.Char("Documentation") - project_id = fields.Many2one("sync.project") + project_id = fields.Many2one("sync.project", ondelete="cascade") _sql_constraints = [("key_uniq", "unique (project_id, key)", "Key must be unique.")] diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py new file mode 100644 index 00000000..6ccff0dd --- /dev/null +++ b/sync/models/sync_project_demo.py @@ -0,0 +1,378 @@ +# Copyright 2020 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +import json +import xmlrpc.client as _client +from math import sqrt + +# https://github.com/python-telegram-bot/python-telegram-bot +from telegram import Bot, Update + +from odoo import api, fields, models +from odoo.exceptions import UserError +from odoo.tools.translate import _ + +from odoo.addons.queue_job.exception import RetryableJobError + +from .ir_logging import LOG_WARNING +from .sync_project import AttrDict + + +class SyncProjectDemo(models.Model): + + _inherit = "sync.project" + eval_context = fields.Selection( + selection_add=[ + ("odoo2odoo", "Odoo2odoo"), + ("telegram", "Telegram"), + ("trello_github", "Trello & Github"), + ] + ) + + @api.model + def _eval_context_odoo2odoo(self, secrets, eval_context): + """ + Additional functions to access external Odoo: + + * odoo_execute_kw(model, method, *args, **kwargs) + + Connection is established according to following parameters: + + params.URL + params.DB + secrets.USERNAME + secrets.PASSWORD + """ + log_transmission = eval_context["log_transmission"] + log = eval_context["log"] + params = eval_context["params"] + if not all([params.URL, params.DB, secrets.USERNAME, secrets.PASSWORD]): + raise UserError(_("External Odoo Credentials are not set")) + + def odoo_execute_kw(model, method, *args, **kwargs): + log_transmission( + "XMLRPC DB={} URL={}".format(params.DB, params.URL), + json.dumps([method, args, kwargs]), + ) + try: + common = _client.ServerProxy("{}/xmlrpc/2/common".format(params.URL)) + uid = common.authenticate( + params.DB, secrets.USERNAME, secrets.PASSWORD, {} + ) + models = _client.ServerProxy("{}/xmlrpc/2/object".format(params.URL)) + except OSError: + raise RetryableJobError("Error on connecting to external Odoo") + res = models.execute_kw( + params.DB, uid, secrets.PASSWORD, model, method, args, kwargs + ) + log("Response: %s" % res, level="debug") + return res + + return { + "odoo_execute_kw": odoo_execute_kw, + } + + @api.model + def _eval_context_telegram(self, secrets, eval_context): + """Adds telegram object: + + * telegram.sendMessage + * telegram.setWebhook + * telegram.parse_data + """ + + log_transmission = eval_context["log_transmission"] + + if secrets.TELEGRAM_BOT_TOKEN: + bot = Bot(token=secrets.TELEGRAM_BOT_TOKEN) + else: + raise Exception("Telegram bot token is not set") + + def sendMessage(chat_id, *args, **kwargs): + log_transmission( + "Message to %s@telegram" % chat_id, json.dumps([args, kwargs]) + ) + bot.sendMessage(chat_id, *args, **kwargs) + + def setWebhook(*args, **kwargs): + log_transmission("Telegram->setWebhook", json.dumps([args, kwargs])) + bot.setWebhook(*args, **kwargs) + + def parse_data(data): + return Update.de_json(data, bot) + + telegram = AttrDict( + { + "sendMessage": sendMessage, + "setWebhook": setWebhook, + "parse_data": parse_data, + } + ) + + return {"telegram": telegram} + + @api.model + def _eval_context_trello_github(self, secrets, eval_context): + """Adds trello and github object with set of available methods (see sync/models/sync_project_demo.py): + * trello + * github + + It also adds two consts: + + * GITHUB="github" + * TRELLO="trello" + + And math function: + + * sqrt + + """ + GITHUB = "github" + TRELLO = "trello" + log_transmission = eval_context["log_transmission"] + log = eval_context["log"] + + # closure is not really needed, but let's keep as it was done in previous + # version when it was mandatory + def _trello(): + for key in ["TRELLO_TOKEN", "TRELLO_KEY", "TRELLO_BOARD_ID"]: + if not getattr(secrets, key): + raise Exception("{} is not set".format(key)) + + # https://github.com/sarumont/py-trello/tree/master/trello + from trello import TrelloClient + from trello.exceptions import ResourceUnavailable + + client = TrelloClient( + api_key=secrets.TRELLO_KEY, api_secret=secrets.TRELLO_TOKEN, + ) + board = client.get_board(secrets.TRELLO_BOARD_ID) + + # Webhook + def set_webhook(url): + id_model = board.id + desc = "Demo Trello-Github Integration" + log_transmission( + TRELLO, "set webhook: {}".format([url, id_model, desc]) + ) + + # original create_hook is not used. See: https://github.com/sarumont/py-trello/pull/323 + # hook = client.create_hook(url, id_model, desc, token=secrets.TRELLO_TOKEN) + token = secrets.TRELLO_TOKEN + res = client.fetch_json( + "tokens/{}/webhooks/".format(token), + http_method="POST", + post_args={ + "callbackURL": url, + "idModel": id_model, + "description": desc, + }, + ) + log("Trello response: %s" % json.dumps(res)) + + def delete_webhooks(): + for hook in client.list_hooks(secrets.TRELLO_TOKEN): + if hook.id_model == board.id: + log_transmission( + TRELLO, "delete webhook: {}".format([hook.callback_url]) + ) + hook.delete() + + # Trello cards + def card_create(name, issue_id): + description = "https://github.com/{}/issues/{}".format( + secrets.GITHUB_REPO, issue_id + ) + log_transmission(TRELLO, "create: {}".format([name, description])) + card_list = board.open_lists()[0] + card = card_list.add_card(name, description) + return card.id + + def card_add_labels(card_id, tlabel_ids): + log_transmission( + TRELLO, "add labels to card#{}: {}".format(card_id, tlabel_ids) + ) + card = client.get_card(card_id) + for label_id in tlabel_ids: + try: + label = client.get_label(label_id, board.id) + except ResourceUnavailable: + log("Label is deleted in trello: %s" % label_id, LOG_WARNING) + continue + if label_id in card.idLabels: + log("Label is already in card: %s" % label) + continue + card.add_label(label) + + def card_remove_labels(card_id, tlabel_ids): + log_transmission( + TRELLO, "remove labels from card#{}: {}".format(card_id, tlabel_ids) + ) + card = client.get_card(card_id) + for label_id in tlabel_ids: + label = client.get_label(label_id, board.id) + if label_id not in card.idLabels: + log("Label is already removed: %s" % label) + continue + card.remove_label(label) + + def card_add_message(card_id, message): + log_transmission( + TRELLO, "add message to card#{}: {}".format(card_id, message) + ) + card = client.get_card(card_id) + card.comment(message) + + # Trello labels + def label_create(name, color): + log_transmission(TRELLO, "create label: %s" % (name)) + label = board.add_label(name, color) + return label.id + + def label_delete(tlabel_id): + log_transmission(TRELLO, "delete label: %s" % (tlabel_id)) + board.delete_label(tlabel_id) + + def label_update(tlabel_id, new_name, new_color): + log_transmission( + TRELLO, + "label#{} update: {}".format(tlabel_id, [new_name, new_color]), + ) + res = client.fetch_json( + "/labels/{}".format(tlabel_id), + http_method="PUT", + post_args={"id": tlabel_id, "name": new_name, "color": new_color}, + ) + log("Trello response: {}".format(res)) + + def get_labels_colors(): + return {lb.id: lb.color for lb in board.get_labels()} + + def get_all_cards(): + return [ + {"id": card.id, "idLabels": card.idLabels} + for card in board.all_cards() + ] + + return AttrDict( + { + "set_webhook": set_webhook, + "delete_webhooks": delete_webhooks, + "card_create": card_create, + "card_add_labels": card_add_labels, + "card_remove_labels": card_remove_labels, + "card_add_message": card_add_message, + "label_create": label_create, + "label_delete": label_delete, + "label_update": label_update, + "get_labels_colors": get_labels_colors, + "get_all_cards": get_all_cards, + } + ) + + # Github + def _github(secrets): + # https://pygithub.readthedocs.io/en/latest/ + from github import Github + from github.GithubException import UnknownObjectException + + if not secrets.GITHUB_TOKEN: + raise Exception("github token is not set") + if not secrets.GITHUB_REPO: + raise Exception("github repo is not set") + + g = Github(secrets.GITHUB_TOKEN) + repo = g.get_repo(secrets.GITHUB_REPO) + + # Github Webhook + def set_webhook(url, events): + # API: https://docs.github.com/en/rest/reference/repos#create-a-repository-webhook + # Events: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads + config = {"url": url, "content_type": "json"} + log_transmission(GITHUB, "set webhook: {}".format([config, events])) + repo.create_hook("web", config, events) + + # Github Issues + def issue_add_labels(issue_id, glabel_ids): + issue = repo.get_issue(int(issue_id)) + labels = ids2labels(glabel_ids) + log_transmission(GITHUB, "add labels: {}".format([issue_id, labels])) + for lb in labels: + issue.add_to_labels(lb) + + def issue_remove_labels(issue_id, glabel_ids): + issue = repo.get_issue(int(issue_id)) + labels = ids2labels(glabel_ids) + log_transmission(GITHUB, "remove labels: {}".format([issue_id, labels])) + for lb in labels: + issue.remove_from_labels(lb) + + # Github Labels + def ids2labels(glabel_ids): + # the arg is list of str! + res = [] + for label in repo.get_labels(): + if str(label.raw_data["id"]) in glabel_ids: + res.append(label) + return res + + def label_create(name, color): + # check first if label already exist: + label = None + try: + log_transmission(GITHUB, "get label: %s" % (name)) + label = repo.get_label(name) + except UnknownObjectException: + pass + if not label: + log_transmission(GITHUB, "create label: %s" % (name)) + label = repo.create_label(name, color) + return label.raw_data["id"] + + def label_delete(glabel_id): + labels = ids2labels([int(glabel_id)]) + lb = labels[0] + log_transmission(GITHUB, "delete label: {}".format([lb])) + lb.delete() + + def label_update(glabel_id, new_name, new_color): + labels = ids2labels([int(glabel_id)]) + lb = labels[0] + log_transmission( + GITHUB, "update label: {}".format([lb, new_name, new_color]) + ) + lb.edit(new_name, new_color) + + def get_all_issues(page=None): + issues = repo.get_issues() + if page is not None: + issues = issues.get_page(page) + return [ + { + "id": issue.number, + "name": issue.title, + "labels": issue.raw_data["labels"], + "body": issue.body, + } + for issue in issues + ] + + return AttrDict( + { + "set_webhook": set_webhook, + "issue_add_labels": issue_add_labels, + "issue_remove_labels": issue_remove_labels, + "label_create": label_create, + "label_delete": label_delete, + "label_update": label_update, + "get_all_issues": get_all_issues, + } + ) + + return { + "github": _github(secrets), + "trello": _trello(secrets), + "GITHUB": GITHUB, + "TRELLO": TRELLO, + "sqrt": sqrt, + } diff --git a/sync/models/sync_task.py b/sync/models/sync_task.py index 5de7801c..4df9a979 100644 --- a/sync/models/sync_task.py +++ b/sync/models/sync_task.py @@ -22,7 +22,7 @@ class SyncTask(models.Model): _name = "sync.task" _description = "Sync Task" - project_id = fields.Many2one("sync.project") + project_id = fields.Many2one("sync.project", ondelete="cascade") name = fields.Char("Name", help="e.g. Sync Products", required=True) code = fields.Text("Code") active = fields.Boolean(default=True) @@ -165,3 +165,9 @@ def name_get(self): name = r.project_id.name + ": " + r.name result.append((r.id, name)) return result + + def unlink(self): + self.with_context(active_test=False).mapped("cron_ids").unlink() + self.with_context(active_test=False).mapped("automation_ids").unlink() + self.with_context(active_test=False).mapped("webhook_ids").unlink() + return super(SyncTask, self).unlink() diff --git a/sync/models/sync_trigger_button.py b/sync/models/sync_trigger_button.py index efbf39e6..950036b6 100644 --- a/sync/models/sync_trigger_button.py +++ b/sync/models/sync_trigger_button.py @@ -12,7 +12,7 @@ class SyncTriggerButton(models.Model): _sync_handler = "handle_button" name = fields.Char("Description") - sync_task_id = fields.Many2one("sync.task", name="Task") + sync_task_id = fields.Many2one("sync.task", name="Task", ondelete="cascade") sync_project_id = fields.Many2one( "sync.project", related="sync_task_id.project_id", readonly=True ) diff --git a/sync/tests/__init__.py b/sync/tests/__init__.py index 0bb7d2c7..92bbd8f0 100644 --- a/sync/tests/__init__.py +++ b/sync/tests/__init__.py @@ -1,5 +1,4 @@ # License MIT (https://opensource.org/licenses/MIT). -from . import test_eval from . import test_links from . import test_trigger_db diff --git a/sync/tests/test_eval.py b/sync/tests/test_eval.py deleted file mode 100644 index 0d363515..00000000 --- a/sync/tests/test_eval.py +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2020 Ivan Yelizariev -# License MIT (https://opensource.org/licenses/MIT). - -import logging - -from odoo.exceptions import ValidationError -from odoo.tests.common import TransactionCase - -_logger = logging.getLogger(__name__) - -BUTTON_DATA = {"button_data_key": "button_data_value"} - - -class TestEval(TransactionCase): - def print_last_logs(self, limit=1): - logs = self.env["ir.logging"].search([], limit=limit) - for lg in logs: - _logger.debug("ir.logging: %s", [lg.name, lg.level, lg.message]) - - def create_project_task(self, project_vals, task_vals): - project = self.env["sync.project"].create( - dict( - **{ - "name": "Project Eval Test", - "param_ids": [ - (0, 0, {"key": "KEY1", "value": "VALUE1"}), - (0, 0, {"key": "KEY2", "value": "VALUE2"}), - ], - "secret_ids": [ - (0, 0, {"key": "SECRET1", "value": "SECRETVALUE1"}), - (0, 0, {"key": "SECRET2", "value": "SECRETVALUE2"}), - ], - }, - **project_vals - ) - ) - - task = ( - self.env["sync.task"] - .create( - dict( - **{ - "name": "Task eval test", - "project_id": project.id, - "button_ids": [(0, 0, {"trigger_name": "BUTTON_EVAL_TEST"})], - }, - **task_vals - ) - ) - .with_context(new_cursor_logs=False) - ) - return project, task - - def test_imports(self): - """imports should be available in Protected Code only""" - - # legal way - pvals = { - "secret_code": "from odoo import tools", - "common_code": "log('imported package in common_code: %s' % tools.config)", - } - tvals = { - "code": "\n".join( - [ - "log('imported package in task code: %s' % tools.config)", - "def handle_button():", - " pass", - ] - ) - } - p, t = self.create_project_task(pvals, tvals) - t.button_ids.ensure_one() - t.button_ids.start() - self.print_last_logs(2) - - # import in common_code - pvals = { - "secret_code": "x=2+2", - "common_code": "from odoo import tools \n" - "log('imported package in common_code: %s' % tools.config)", - } - tvals = { - "code": "\n".join( - [ - "def handle_button():", - " log('imported package in task code: %s' % tools.config)", - ] - ) - } - with self.assertRaises(ValidationError): - p, t = self.create_project_task(pvals, tvals) - # t.button_ids.ensure_one() - # t.button_ids.run() - - # import in task's code - pvals = { - "secret_code": "x=2+2", - "common_code": "x=5", - } - tvals = { - "code": "\n".join( - [ - "from odoo import tools", - "def handle_button():", - " log('imported package in task code: %s' % tools.config)", - ] - ) - } - with self.assertRaises(ValidationError): - p, t = self.create_project_task(pvals, tvals) - # t.button_ids.ensure_one() - # t.button_ids.run() - - def test_secrets(self): - """Secrets should be available in Protected Code only""" - - pvals = { - "secret_code": "\n".join( - [ - "import hashlib", - "def hash(data):", - " return hashlib.sha224(data.encode('utf-8')).hexdigest()", - "xxx = hash(secrets.SECRET1)", - ] - ), - } - # legal way - pvals["common_code"] = "log('xxx in common_code: %s' % xxx)" - tvals = { - "code": """ -def handle_button(): - log('2+2=%s' % (2+2)) -""" - } - p, t = self.create_project_task(pvals, tvals) - t.button_ids.ensure_one() - t.button_ids.start() - self.print_last_logs(2) - - # using in common_code - pvals["common_code"] = "xxx = hash(secrets.SECRET1)" - tvals = { - "code": """ -def handle_button(): - log('xxx in task code: %s' % xxx) -""" - } - p, t = self.create_project_task(pvals, tvals) - t.button_ids.ensure_one() - with self.assertRaises(ValueError): - t.button_ids.start() - - # using in task's code - pvals["common_code"] = "log('xxx in common_code: %s' % xxx)" - tvals = { - "code": "\n".join( - [ - "def handle_button():", - " xxx = hash(secrets.SECRET1)", - " log('xxx in task code: %s' % xxx)", - ] - ) - } - p, t = self.create_project_task(pvals, tvals) - t.button_ids.ensure_one() - with self.assertRaises(ValueError): - t.button_ids.start() diff --git a/sync/tools/__init__.py b/sync/tools/__init__.py deleted file mode 100644 index fdf9a1f4..00000000 --- a/sync/tools/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# License MIT (https://opensource.org/licenses/MIT). - -from .safe_eval import safe_eval_extra, test_python_expr_extra diff --git a/sync/tools/safe_eval.py b/sync/tools/safe_eval.py deleted file mode 100644 index 36262f01..00000000 --- a/sync/tools/safe_eval.py +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 2020 Ivan Yelizariev -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) -# -# Code of this file is based on odoo/tools/safe_eval.py -# License notes from there: -# -# Part of Odoo. See LICENSE file for full copyright and licensing details. -# Module partially ripped from/inspired by several different sources: -# - http://code.activestate.com/recipes/286134/ -# - safe_eval in lp:~xrg/openobject-server/optimize-5.0 -# - safe_eval in tryton http://hg.tryton.org/hgwebdir.cgi/trytond/rev/bbb5f73319ad - -# pylint: disable=eval-referenced - -import logging -import sys -from opcode import opmap -from types import CodeType - -import werkzeug -from psycopg2 import OperationalError - -import odoo -from odoo.tools import pycompat -from odoo.tools.misc import ustr -from odoo.tools.safe_eval import _BUILTINS, _SAFE_OPCODES, test_expr - -_logger = logging.getLogger(__name__) - -_SAFE_OPCODES = _SAFE_OPCODES.union( - { - opmap[x] - for x in [ - "IMPORT_NAME", - "IMPORT_FROM", - "LOAD_DEREF", - "STORE_DEREF", - "MAKE_CLOSURE", # python 3.5 only. See https://python.readthedocs.io/en/stable/whatsnew/3.6.html - "BUILD_TUPLE_UNPACK_WITH_CALL", # python 3.6 - "LOAD_CLOSURE", - ] - if opmap.get(x) - } -) - -unsafe_eval = eval - -_BUILTINS["__import__"] = __import__ - - -# The code below differs from origin by lint changes only -def safe_eval_extra( - expr, - globals_dict=None, - locals_dict=None, - mode="eval", - nocopy=False, - locals_builtins=False, -): - """safe_eval(expression[, globals[, locals[, mode[, nocopy]]]]) -> result - - System-restricted Python expression evaluation - - Evaluates a string that contains an expression that mostly - uses Python constants, arithmetic expressions and the - objects directly provided in context. - - This can be used to e.g. evaluate - an OpenERP domain expression from an untrusted source. - - :throws TypeError: If the expression provided is a code object - :throws SyntaxError: If the expression provided is not valid Python - :throws NameError: If the expression provided accesses forbidden names - :throws ValueError: If the expression provided uses forbidden bytecode - """ - if type(expr) is CodeType: - raise TypeError("safe_eval does not allow direct evaluation of code objects.") - - # prevent altering the globals/locals from within the sandbox - # by taking a copy. - if not nocopy: - # isinstance() does not work below, we want *exactly* the dict class - if (globals_dict is not None and type(globals_dict) is not dict) or ( - locals_dict is not None and type(locals_dict) is not dict - ): - _logger.warning( - "Looks like you are trying to pass a dynamic environment, " - "you should probably pass nocopy=True to safe_eval()." - ) - if globals_dict is not None: - globals_dict = dict(globals_dict) - if locals_dict is not None: - locals_dict = dict(locals_dict) - - if globals_dict is None: - globals_dict = {} - - globals_dict["__builtins__"] = _BUILTINS - if locals_builtins: - if locals_dict is None: - locals_dict = {} - locals_dict.update(_BUILTINS) - c = test_expr(expr, _SAFE_OPCODES, mode=mode) - try: - return unsafe_eval(c, globals_dict, locals_dict) - except odoo.exceptions.except_orm: - raise - except odoo.exceptions.Warning: - raise - except odoo.exceptions.RedirectWarning: - raise - except odoo.exceptions.AccessDenied: - raise - except odoo.exceptions.AccessError: - raise - except werkzeug.exceptions.HTTPException: - raise - except odoo.http.AuthenticationError: - raise - except OperationalError: - # Do not hide PostgreSQL low-level exceptions, to let the auto-replay - # of serialized transactions work its magic - raise - except odoo.exceptions.MissingError: - raise - except Exception as e: - exc_info = sys.exc_info() - pycompat.reraise( - ValueError, - ValueError( - '{}: "{}" while evaluating\n{!r}'.format(ustr(type(e)), ustr(e), expr) - ), - exc_info[2], - ) - - -def test_python_expr_extra(expr, mode="eval"): - try: - test_expr(expr, _SAFE_OPCODES, mode=mode) - except (SyntaxError, TypeError, ValueError) as err: - if len(err.args) >= 2 and len(err.args[1]) >= 4: - error = { - "message": err.args[0], - "filename": err.args[1][0], - "lineno": err.args[1][1], - "offset": err.args[1][2], - "error_line": err.args[1][3], - } - msg = "%s : %s at line %d\n%s" % ( - type(err).__name__, - error["message"], - error["lineno"], - error["error_line"], - ) - else: - msg = ustr(err) - return msg - return False diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index 84b06b58..d39349f7 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -152,31 +152,11 @@ - - -

- - # Protected code can be edited by Sync Managers - only. -
- # Python statement - import - and variable - secrets - can be used in this code only. -
- # Add underscore prefix to variables and functions - (e.g. - _something - ) to make them not available in task code and common - code -
-

- + + + + +

diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index 8045b60e..e7bbe3c6 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -78,7 +78,7 @@ def act_makefile(self): root = etree.Element("odoo") project = self.project_id.with_context(active_test=False) records = [ - (project, ("name", "active", "secret_code", "common_code")), + (project, ("name", "active", "common_code")), ] for secret in project.secret_ids: records.append((secret, ("key", "description", "url", "project_id"))) From 10b250e307fccb569725c417782bf9348fb5145c Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Thu, 15 Oct 2020 22:07:26 +0500 Subject: [PATCH 005/118] :ambulance: make the telegram project work --- sync/data/sync_project_telegram_demo.xml | 2 +- sync/models/sync_project_demo.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sync/data/sync_project_telegram_demo.xml b/sync/data/sync_project_telegram_demo.xml index b55384d2..456467f3 100644 --- a/sync/data/sync_project_telegram_demo.xml +++ b/sync/data/sync_project_telegram_demo.xml @@ -20,7 +20,7 @@ def user2name(user): def html_sanitize_telegram(html): allowed_tags = set({"b", "i", "u", "s", "a", "code", "pre"}) - cleaner = clean.Cleaner(safe_attrs_only=True, safe_attrs=set(), allow_tags=allowed_tags, remove_unknown_tags=False) + cleaner = Cleaner(safe_attrs_only=True, safe_attrs=set(), allow_tags=allowed_tags, remove_unknown_tags=False) html = cleaner.clean_html(html) # remove surrounding div return html[5:-6] diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index 6ccff0dd..9814ed48 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -1,4 +1,5 @@ # Copyright 2020 Ivan Yelizariev +# Copyright 2020 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). import json @@ -80,6 +81,8 @@ def _eval_context_telegram(self, secrets, eval_context): * telegram.setWebhook * telegram.parse_data """ + from odoo.tools import html2plaintext + from lxml.html.clean import Cleaner log_transmission = eval_context["log_transmission"] @@ -109,7 +112,11 @@ def parse_data(data): } ) - return {"telegram": telegram} + return { + "telegram": telegram, + "html2plaintext": html2plaintext, + "Cleaner": Cleaner, + } @api.model def _eval_context_trello_github(self, secrets, eval_context): From 05c5dc16f4ffdf3d62fc5359cdfbfe4054f7633d Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Thu, 22 Oct 2020 17:08:37 +0500 Subject: [PATCH 006/118] :ambulance: make trello-github integration work --- sync/models/sync_project_demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index 9814ed48..896034ca 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -141,7 +141,7 @@ def _eval_context_trello_github(self, secrets, eval_context): # closure is not really needed, but let's keep as it was done in previous # version when it was mandatory - def _trello(): + def _trello(secrets): for key in ["TRELLO_TOKEN", "TRELLO_KEY", "TRELLO_BOARD_ID"]: if not getattr(secrets, key): raise Exception("{} is not set".format(key)) From 7f1b93e94018d5b44fc51ddb8a07c58b79e009a0 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Wed, 30 Sep 2020 09:32:42 +0500 Subject: [PATCH 007/118] :heart_eyes: add the ability to get type of the given object --- sync/__manifest__.py | 1 + sync/doc/index.rst | 4 +++- sync/models/sync_project.py | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index c674e698..e36769d5 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -1,4 +1,5 @@ # Copyright 2020 Ivan Yelizariev +# Copyright 2020 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). { diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 37b96c41..67f5728e 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -153,7 +153,9 @@ Base * ``LOG_INFO`` * ``LOG_WARNING`` * ``LOG_ERROR`` - * ``LOG_CRITICAL`` + * + +* ``type2str``: get type of the given object * ``log_transmission(recipient_str, data_str)``: report on data transfer to external recipients diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 7897dd9f..21cdea2b 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -1,4 +1,5 @@ # Copyright 2020 Ivan Yelizariev +# Copyright 2020 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). import base64 @@ -196,6 +197,9 @@ def safe_setattr(o, k, v): raise ValidationError(_("You cannot use %s with setattr") % k) return setattr(o, k, v) + def type2str(obj): + return "%s" % type(obj) + context = dict(self.env.context, log_function=log) env = self.env(context=context) eval_context = dict( From 1d77830d84408f440a6c11f33a333da1590849b7 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Thu, 5 Nov 2020 12:25:16 +0500 Subject: [PATCH 008/118] :cherries: change support addresses --- sync/__manifest__.py | 2 +- sync/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index e36769d5..54300e54 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -10,7 +10,7 @@ "version": "13.0.2.0.1", "application": True, "author": "IT-Projects LLC, Ivan Yelizariev", - "support": "apps@it-projects.info", + "support": "apps@itpp.dev", "website": "https://github.com/itpp-labs/sync-addons", "license": "Other OSI approved licence", # MIT "depends": ["base_automation", "mail", "website", "queue_job"], diff --git a/sync/static/description/index.html b/sync/static/description/index.html index d1f252d0..21cc591e 100644 --- a/sync/static/description/index.html +++ b/sync/static/description/index.html @@ -70,7 +70,7 @@

Synchronize anything with anything

- You can check existing solutions based on this module. If there is no module that fits you needs or you need an update, send a request to sync@it-projects.info . + You can check existing solutions based on this module. If there is no module that fits you needs or you need an update, send a request to sync@itpp.dev .
From cb1822510d3556b42417bd620573e06885e8e025 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Wed, 11 Nov 2020 12:17:15 +0500 Subject: [PATCH 009/118] :cherries: --- sync/__manifest__.py | 2 +- sync/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 54300e54..64d7799d 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -10,7 +10,7 @@ "version": "13.0.2.0.1", "application": True, "author": "IT-Projects LLC, Ivan Yelizariev", - "support": "apps@itpp.dev", + "support": "help@itpp.dev", "website": "https://github.com/itpp-labs/sync-addons", "license": "Other OSI approved licence", # MIT "depends": ["base_automation", "mail", "website", "queue_job"], diff --git a/sync/static/description/index.html b/sync/static/description/index.html index 21cc591e..3963f407 100644 --- a/sync/static/description/index.html +++ b/sync/static/description/index.html @@ -70,7 +70,7 @@

Synchronize anything with anything

- You can check existing solutions based on this module. If there is no module that fits you needs or you need an update, send a request to sync@itpp.dev . + You can check existing solutions based on this module. If there is no module that fits your needs or you need an update, send a request to help@itpp.dev .
From bee3ec58610eef80ad6593788598d9adbd9aba08 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Fri, 20 Nov 2020 18:18:55 +0500 Subject: [PATCH 010/118] :octocat: new support address :point_right: help@itpp.dev --- sync/README.rst | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index 053fc21f..24608b03 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -1,3 +1,7 @@ +.. image:: https://itpp.dev/images/infinity-readme.png + :alt: Tested and maintained by IT Projects Labs + :target: https://itpp.dev + .. image:: https://img.shields.io/badge/license-MIT-blue.svg :target: https://opensource.org/licenses/MIT :alt: License: MIT @@ -81,11 +85,13 @@ Few more steps requires to use https connection (e.g. telegram api works with ht Now set corresponding ``https://...`` value for ``web.base.url`` parameter. -Credits -======= +Questions? +========== + +To get an assistance on this module contact us by email :arrow_right: help@itpp.dev Contributors ------------- +============ * `Ivan Yelizariev `__: * :one::two: init version of the module @@ -94,12 +100,9 @@ Contributors Further information =================== -HTML Description: https://apps.odoo.com/apps/modules/13.0/sync/ - -Usage instructions: ``__ +Odoo Apps Store: https://apps.odoo.com/apps/modules/13.0/sync/ -Changelog: ``_ Notifications on updates: `via Atom `_, `by Email `_ -Tested on Odoo 13.0 9fe7d55e64867d177519e99cc45f9ecfeb3746a3 +Tested on `Odoo 13.0 `_ From 98b14deee1bdb6649a910e80463a3feb1ca887c5 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev // IEL Date: Wed, 2 Dec 2020 16:17:08 +0100 Subject: [PATCH 011/118] :book: clarify telegram settings: must be https --- sync/doc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 67f5728e..af5ad58d 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -418,7 +418,7 @@ In Odoo: * `Activate Developer Mode `__ * Open menu ``[[ Settings ]] >> Technical >> Parameters >> System Parameters`` * Check that parameter ``web.base.url`` is properly set and it's accessible over - internet (it should not localhost) + internet (it should not localhost). Also, telegram accepts https addresses only * Open menu ``[[ Sync Studio ]] >> Sync Projects`` * Select *Demo Telegram Integration* project * Go to ``Parameters`` tab From c3aa5572256eb771490523a8196220aa33df055a Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev // IEL Date: Wed, 2 Dec 2020 16:18:18 +0100 Subject: [PATCH 012/118] :book: clarify --- sync/doc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/doc/index.rst b/sync/doc/index.rst index af5ad58d..1efd8229 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -418,7 +418,7 @@ In Odoo: * `Activate Developer Mode `__ * Open menu ``[[ Settings ]] >> Technical >> Parameters >> System Parameters`` * Check that parameter ``web.base.url`` is properly set and it's accessible over - internet (it should not localhost). Also, telegram accepts https addresses only + internet (it should not localhost). Also, telegram accepts https addresses only (i.e. not http) * Open menu ``[[ Sync Studio ]] >> Sync Projects`` * Select *Demo Telegram Integration* project * Go to ``Parameters`` tab From 1f948e4d61ae34d41c691b50b532103387b379d2 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Wed, 9 Dec 2020 16:23:24 +0500 Subject: [PATCH 013/118] :book: Tiny fixup in README --- sync/doc/index.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 1efd8229..db1266e2 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -12,14 +12,12 @@ Installation * add ``queue_job`` to `server wide modules `__, e.g.:: - ``--load base,web,queue_job`` + --load base,web,queue_job * `Install `__ this module in a usual way * Install python package that you need to use. For example, to try demo projects install following packages: - sudo pip3 install python-telegram-bot - sudo pip3 install PyGithub - sudo pip3 install py-trello + python3 -m pip install python-telegram-bot PyGithub py-trello * If your Sync projects use webhooks (most likely), be sure that url opens correct database without asking to select one From 26539d926a46461d00b6b2a7c965f5d0dc0a0bf8 Mon Sep 17 00:00:00 2001 From: Mitchell Admin Date: Sat, 26 Dec 2020 18:48:00 +0000 Subject: [PATCH 014/118] :arrow_up::one::four: OCA/odoo-module-migrator close #212 > Made via .github/workflows/DINAR-PORT.yml --- sync/__manifest__.py | 2 +- sync/security/sync_groups.xml | 5 +++-- sync/views/sync_project_views.xml | 21 ++++++++++----------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 64d7799d..e06a3e84 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY""", "category": "Extra Tools", "images": [], - "version": "13.0.2.0.1", + "version": "14.0.2.0.1", "application": True, "author": "IT-Projects LLC, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/security/sync_groups.xml b/sync/security/sync_groups.xml index f003cb4e..cf78bedf 100644 --- a/sync/security/sync_groups.xml +++ b/sync/security/sync_groups.xml @@ -2,10 +2,11 @@ - + Sync Studio - User: read-only access; + + User: read-only access; Developer: restricted write access; Manager: same as Developer, but access to secure staff. diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index d39349f7..e9f33dd7 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -1,4 +1,4 @@ - + @@ -38,7 +38,7 @@ -

diff --git a/sync/views/sync_trigger_cron_views.xml b/sync/views/sync_trigger_cron_views.xml index 96dcf378..c8e068c3 100644 --- a/sync/views/sync_trigger_cron_views.xml +++ b/sync/views/sync_trigger_cron_views.xml @@ -33,20 +33,13 @@ /> -
- -
+ +

From 16410c27506df50138dbe594e365652630991f18 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev // IEL Date: Thu, 3 Jun 2021 09:48:15 +0200 Subject: [PATCH 048/118] :book: sync: add another way to get public URL --- sync/README.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index 362e5695..19b345bb 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -43,7 +43,10 @@ Developer Hints Public webhook address ---------------------- -If you run Odoo locally and need to test webhook, you can use ssh tunneling: +If you run Odoo locally and need to test webhook, your Odoo server should be available via public URL. You can either use specialized services like https://ngrok.com/ or make proxing via ssh tunneling as described in the next section. Once it's done set corresponding ``https://...`` value for ``web.base.url`` parameter (menu ``[[ Settings ]] >> System Parameters``). Also, you should set any value to `web.base.url.freeze `__ to avoid automatic change of ``web.base.url``. + +SSH tunneling +~~~~~~~~~~~~~ * Connect your server: @@ -59,7 +62,7 @@ If you run Odoo locally and need to test webhook, you can use ssh tunneling: ssh user@yourserver.example -R 0.0.0.0:8069:localhost:8069 -Now you can set ``http://yourserver.example:8069`` as a value for ``web.base.url`` in Odoo (menu ``[[ Settings ]] >> System Parameters``). Also, you need to set any value to parameter `web.base.url.freeze `__ +Now you can use ``http://yourserver.example:8069`` as a value for ``web.base.url`` in Odoo. Few more steps requires to use https connection (e.g. telegram api works with https only). In your server do as following: @@ -83,8 +86,6 @@ Few more steps requires to use https connection (e.g. telegram api works with ht * Done! -Now set corresponding ``https://...`` value for ``web.base.url`` parameter. - Questions? ========== From 3c33e2ef2f2605d18ea31891a42423466771e533 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev // IEL Date: Wed, 2 Jun 2021 17:52:27 +0200 Subject: [PATCH 049/118] :book: add another workaround for type mismatch also, clarify workaround with proxy server --- sync/doc/index.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 8dd5d8b1..dae70768 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -679,8 +679,9 @@ Configuration * Click ``[Run Now]`` buttons in trigger *SETUP_GITHUB* * Click ``[Run Now]`` buttons in triggers *SETUP_TRELLO*. Note, that `it doesn't work `_ without one of the following workarounds: + * delete `line `__ that raise exception in case of type mismatching (search for ``Function declared as capable of handling request of type`` in standard Odoo code). In most cases, this workaround doesn't need to be reverted * open file ``sync/controllers/webhook.py`` and temporarily change ``type="json"`` to ``type="http"``. Revert the changes after successfully setting up trello - * add header "Content-Type: application/json" via your web server. Example for nginx: + * Add a temporal handler in your proxy/web server. Example for nginx: .. code-block:: nginx @@ -688,11 +689,6 @@ Configuration return 200 "{}"; } - - * After a successful *SETUP_TRELLO* trigger run, return everything to its original position, otherwise the project will not work correctly - - - Usage ----- From aab9c1e2bbb2b6b314e0a28348b1e416d3356a36 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Sat, 3 Jul 2021 23:00:58 +0500 Subject: [PATCH 050/118] :ambulance: couldn't get the link after setting it --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/sync_link.py | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 689271d7..418ee103 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.3.1.0", + "version": "14.0.3.1.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 41437c4c..379de92e 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`3.1.1` +------- + +- **Fix:** allow getting link after setting it + `3.1.0` ------- diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py index 1acfddba..fcff4168 100644 --- a/sync/models/sync_link.py +++ b/sync/models/sync_link.py @@ -192,7 +192,7 @@ def _set_link_odoo( self, record, relation, ref, sync_date=None, allow_many2many=False ): refs = {ODOO: record.id, EXTERNAL: ref} - self._set_link_external( + return self._set_link_external( relation, refs, sync_date, allow_many2many, record._name ) From 5de7307720e07997044afd9ca376abfdb02d673d Mon Sep 17 00:00:00 2001 From: Ilya Ilchenko Date: Fri, 9 Jul 2021 13:19:01 +1000 Subject: [PATCH 051/118] :cherries: sync: rename access group to administrator Fixes #257 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/doc/index.rst | 4 ++-- sync/security/sync_groups.xml | 4 ++-- sync/views/sync_project_views.xml | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 418ee103..80c242e0 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.3.1.1", + "version": "14.0.3.1.2", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 379de92e..95fa7b6d 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`3.1.2` +------- + +- **Improvement:** Manager access group renamed to Administrator + `3.1.1` ------- diff --git a/sync/doc/index.rst b/sync/doc/index.rst index dae70768..e2a9a002 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -27,7 +27,7 @@ User Access Levels * ``Sync Studio: User``: read-only access * ``Sync Studio: Developer``: restricted write access -* ``Sync Studio: Manager``: same as Developer, but with access to **Secrets** +* ``Sync Studio: Administrator``: same as Developer, but with access to **Secrets** Project ======= @@ -44,7 +44,7 @@ Project * **Key** * **Value** * **Texts**: Translatable parameters - * **Secrets**: Parameters with restricted access: key values are visible for Managers only + * **Secrets**: Parameters with restricted access: key values are visible for Administrators only * In the ``Evaluation Context`` tab diff --git a/sync/security/sync_groups.xml b/sync/security/sync_groups.xml index cf78bedf..fcc999af 100644 --- a/sync/security/sync_groups.xml +++ b/sync/security/sync_groups.xml @@ -8,7 +8,7 @@ User: read-only access; Developer: restricted write access; - Manager: same as Developer, but access to secure staff. + Administrator: same as Developer, but access to secure staff.
@@ -22,7 +22,7 @@ - Manager + Administrator diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index 1d68580a..eede658e 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -212,7 +212,8 @@

Secret parameters values are available for Sync - Managers only (click on a line to see the value) + Administrators only (click on a line to see the + value)

From 6e1c02b640f1a89f4c53210b4674416df8085055 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Mon, 12 Jul 2021 05:05:56 +0000 Subject: [PATCH 052/118] :sparkles: get rid of website dependency transferred functionality of website module which used to handle webhooks in sync module so we don't need a whole module as a dependency --- sync/README.rst | 1 + sync/__init__.py | 1 + sync/__manifest__.py | 4 +- sync/controllers/webhook.py | 11 ++-- sync/doc/changelog.rst | 5 ++ sync/lib/__init__.py | 4 ++ sync/lib/controllers/__init__.py | 3 + sync/lib/controllers/main.py | 29 +++++++++ sync/lib/models/__init__.py | 3 + sync/lib/models/ir_actions.py | 91 +++++++++++++++++++++++++++++ sync/models/sync_trigger_webhook.py | 27 --------- 11 files changed, 145 insertions(+), 34 deletions(-) create mode 100644 sync/lib/__init__.py create mode 100644 sync/lib/controllers/__init__.py create mode 100644 sync/lib/controllers/main.py create mode 100644 sync/lib/models/__init__.py create mode 100644 sync/lib/models/ir_actions.py diff --git a/sync/README.rst b/sync/README.rst index 19b345bb..9944b603 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -36,6 +36,7 @@ Roadmap * Code widget: show line numbers * Webhooks: add a possibility to retry failed webhook (e.g. to debug code) +* Webhooks: during the migration rename `website` appearances in links to `sync`. We decided not to do this in the stable branch to not break existing integrations Developer Hints =============== diff --git a/sync/__init__.py b/sync/__init__.py index f5b234aa..37b8052d 100644 --- a/sync/__init__.py +++ b/sync/__init__.py @@ -3,3 +3,4 @@ from . import models from . import wizard from . import controllers +from . import lib diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 80c242e0..345d34f8 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,13 +7,13 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.3.1.2", + "version": "14.0.4.0.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", "website": "https://github.com/itpp-labs/sync-addons", "license": "Other OSI approved licence", # MIT - "depends": ["base_automation", "mail", "website", "queue_job"], + "depends": ["base_automation", "mail", "queue_job"], "external_dependencies": {"python": [], "bin": []}, "data": [ "security/sync_groups.xml", diff --git a/sync/controllers/webhook.py b/sync/controllers/webhook.py index cc50e7fd..8aa5636a 100644 --- a/sync/controllers/webhook.py +++ b/sync/controllers/webhook.py @@ -1,12 +1,13 @@ # Copyright 2020 Ivan Yelizariev -# License MIT (https://opensource.org/licenses/MIT). +# Copyright 2021 Denis Mudarisov +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). from odoo import http -from odoo.addons.website.controllers.main import Website +from ..lib.controllers.main import Website -class Webhook(http.Controller): +class Webhook(Website): @http.route( [ "/website/action-json/", @@ -18,7 +19,7 @@ class Webhook(http.Controller): csrf=False, ) def actions_server_json(self, path_or_xml_id_or_id, **post): - res = Website().actions_server(path_or_xml_id_or_id, **post) + res = self.actions_server(path_or_xml_id_or_id, **post) return res.data @http.route( @@ -32,4 +33,4 @@ def actions_server_json(self, path_or_xml_id_or_id, **post): csrf=False, ) def actions_server_http(self, path_or_xml_id_or_id, **post): - return Website().actions_server(path_or_xml_id_or_id, **post) + return self.actions_server(path_or_xml_id_or_id, **post) diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 95fa7b6d..f6cfc7a3 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`4.0.0` +------- + +**Improvement:** remove Website module from dependencies, handle webhooks directly in Sync Studio + `3.1.2` ------- diff --git a/sync/lib/__init__.py b/sync/lib/__init__.py new file mode 100644 index 00000000..d4e2b5cf --- /dev/null +++ b/sync/lib/__init__.py @@ -0,0 +1,4 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import models +from . import controllers diff --git a/sync/lib/controllers/__init__.py b/sync/lib/controllers/__init__.py new file mode 100644 index 00000000..9153c2c3 --- /dev/null +++ b/sync/lib/controllers/__init__.py @@ -0,0 +1,3 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import main diff --git a/sync/lib/controllers/main.py b/sync/lib/controllers/main.py new file mode 100644 index 00000000..0a2f5d56 --- /dev/null +++ b/sync/lib/controllers/main.py @@ -0,0 +1,29 @@ +# Copyright 2021 Denis Mudarisov +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import werkzeug + +from odoo import http +from odoo.http import request + + +class Website(http.Controller): + def actions_server(self, path_or_xml_id_or_id, **post): + trigger = request.env["sync.trigger.webhook"] + action = None + + action = trigger.sudo().search( + [ + ("website_path", "=", path_or_xml_id_or_id), + ("website_published", "=", True), + ], + limit=1, + ) + # run it, return only if we got a Response object + if action: + if action.state == "code" and action.website_published: + action_res = action.action_server_id.run() + if isinstance(action_res, werkzeug.wrappers.Response): + return action_res + + return request.redirect("/") diff --git a/sync/lib/models/__init__.py b/sync/lib/models/__init__.py new file mode 100644 index 00000000..8c7349cd --- /dev/null +++ b/sync/lib/models/__init__.py @@ -0,0 +1,3 @@ +# License MIT (https://opensource.org/licenses/MIT). + +from . import ir_actions diff --git a/sync/lib/models/ir_actions.py b/sync/lib/models/ir_actions.py new file mode 100644 index 00000000..a7d4309f --- /dev/null +++ b/sync/lib/models/ir_actions.py @@ -0,0 +1,91 @@ +# Copyright 2021 Denis Mudarisov +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +import uuid + +from werkzeug import urls + +from odoo import api, fields, models +from odoo.http import request +from odoo.tools.json import scriptsafe as json_scriptsafe + + +class ServerAction(models.Model): + """ Add website option in server actions. """ + + _inherit = "sync.trigger.webhook" + + website_path = fields.Char("Website Path") + website_url = fields.Char( + "Website Url", + compute="_compute_website_url", + help="The full URL to access the server action through the website.", + ) + website_published = fields.Boolean( + "Available on the Website", + copy=False, + help="A code server action can be executed from the website, using a dedicated " + "controller. The address is /website/action/. " + "Set this field as True to allow users to run this action. If it " + "is set to False the action cannot be run through the website.", + ) + + webhook_type = fields.Selection( + [("http", "application/x-www-form-urlencoded"), ("json", "application/json")], + string="Webhook Type", + default="json", + ) + + def _get_website_url(self, website_path, webhook_type): + base_url = self.env["ir.config_parameter"].sudo().get_param("web.base.url") + link = ( + website_path + or (self.action_server_id.id and "%d" % self.action_server_id.id) + or "" + ) + if base_url and link: + path = "website/action-{webhook_type}/{link}".format( + webhook_type=webhook_type, link=link + ) + return urls.url_join(base_url, path) + return "" + + @api.depends( + "webhook_type", + "action_server_id.state", + "website_published", + "website_path", + ) + def _compute_website_url(self): + for trigger in self: + action = trigger.action_server_id + if action.state == "code" and trigger.website_published: + trigger.website_url = trigger._get_website_url( + trigger.website_path, trigger.webhook_type + ) + else: + trigger.website_url = False + + if not trigger.website_url: + continue + + @api.model + def _get_eval_context(self, action): + """ Override to add the request object in eval_context. """ + eval_context = self.action_server_id._get_eval_context(action) + if action.state == "code": + eval_context["request"] = request + eval_context["json"] = json_scriptsafe + return eval_context + + @api.model + def _run_action_code_multi(self, eval_context=None): + """Override to allow returning response the same way action is already + returned by the basic server action behavior. Note that response has + priority over action, avoid using both. + """ + res = self.action_server_id._run_action_code_multi(eval_context) + return eval_context.get("response", res) + + def action_website_path(self): + for r in self: + r.website_path = uuid.uuid4() diff --git a/sync/models/sync_trigger_webhook.py b/sync/models/sync_trigger_webhook.py index 4be0ef41..a8c300d7 100644 --- a/sync/models/sync_trigger_webhook.py +++ b/sync/models/sync_trigger_webhook.py @@ -26,29 +26,6 @@ class SyncTriggerWebhook(models.Model): "ir.actions.server", delegate=True, required=True, ondelete="cascade" ) active = fields.Boolean(default=True) - webhook_type = fields.Selection( - [("http", "application/x-www-form-urlencoded"), ("json", "application/json")], - string="Webhook Type", - default="json", - ) - website_url = fields.Char("Webhook URL", compute="_compute_website_url") - - @api.depends( - "webhook_type", - "action_server_id.state", - "action_server_id.website_published", - "action_server_id.website_path", - "action_server_id.xml_id", - ) - def _compute_website_url(self): - for r in self: - website_url = r.action_server_id.website_url - if not website_url: - continue - website_url = website_url.replace( - "/website/action/", "/website/action-%s/" % r.webhook_type - ) - r.website_url = website_url @api.model def default_get(self, fields): @@ -58,10 +35,6 @@ def default_get(self, fields): vals["website_path"] = uuid.uuid4() return vals - def action_website_path(self): - for r in self: - r.website_path = uuid.uuid4() - def start(self): record = self.sudo() if record.active: From d2113991739a2e35f196d27dd9a00bbdfb0c7628 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Tue, 20 Jul 2021 18:58:34 +0500 Subject: [PATCH 053/118] :ambulance: archive project by default to avoid errors --- sync/__manifest__.py | 2 +- sync/data/sync_project_odoo2odoo_demo.xml | 1 - sync/data/sync_project_telegram_demo.xml | 1 - sync/data/sync_project_trello_github_demo.xml | 1 - sync/data/sync_project_unittest_demo.xml | 3 +-- sync/doc/changelog.rst | 5 +++++ sync/models/sync_project.py | 2 +- sync/wizard/sync_make_module.py | 2 +- 8 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 345d34f8..12e50100 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.0.0", + "version": "14.0.4.0.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index 99c30e20..000017cf 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -6,7 +6,6 @@ Demo Odoo2odoo Integration - odoo2odoo Demo Telegram Integration - telegram_demo Demo Trello-Github Integration - trello_github Project For Unittests - - PARTNER_RELATION diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index f6cfc7a3..8783fb24 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`4.0.1` +------- + +- **Fix:** set project as archived by default to avoid errors on installation and updating sync modules + `4.0.0` ------- diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index f70b1c2e..a6b3d104 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -44,7 +44,7 @@ class SyncProject(models.Model): name = fields.Char( "Name", help="e.g. Legacy Migration or eCommerce Synchronization", required=True ) - active = fields.Boolean(default=True) + active = fields.Boolean(default=False) eval_context = fields.Selection([], string="Evaluation context") eval_context_description = fields.Text(compute="_compute_eval_context_description") diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index 4b4a0e31..1f3a2381 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -81,7 +81,7 @@ def act_makefile(self): root = etree.Element("odoo") project = self.project_id.with_context(active_test=False) records = [ - (project, ("name", "active", "eval_context", "common_code")), + (project, ("name", "eval_context", "common_code")), ] for secret in project.secret_ids: records.append((secret, ("key", "description", "url", "project_id"))) From c97d4bf52b99cac64c16224a101b373f38aff2d6 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 21 Jul 2021 17:00:47 +0200 Subject: [PATCH 054/118] :rainbow: sync: add more dev tools + make code check visible --- sync/__init__.py | 1 + sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 7 +++++ sync/doc/index.rst | 13 +++++--- sync/models/ir_logging.py | 7 +++-- sync/models/sync_project.py | 7 ++++- sync/tools.py | 56 ++++++++++++++++++++++++++++++++++ sync/views/sync_task_views.xml | 3 +- 8 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 sync/tools.py diff --git a/sync/__init__.py b/sync/__init__.py index 37b8052d..ad71502a 100644 --- a/sync/__init__.py +++ b/sync/__init__.py @@ -4,3 +4,4 @@ from . import wizard from . import controllers from . import lib +from . import tools diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 12e50100..94a8a147 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.0.1", + "version": "14.0.4.1.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 8783fb24..13aebd5c 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,10 @@ +`4.1.0` +------- + +- **Improvement:** add more eval context functions (`get_lang`, `url2base64`, `html2plaintext`) +- **Improvement:** add development tools (`LogExternalQuery`), add new type for `ir.logging` +- **Improvement:** move code checker above in task form to make it more visible + `4.0.1` ------- diff --git a/sync/doc/index.rst b/sync/doc/index.rst index e2a9a002..fa501e5d 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -154,12 +154,8 @@ Base * ``LOG_ERROR`` * -* ``type2str``: get type of the given object - * ``log_transmission(recipient_str, data_str)``: report on data transfer to external recipients -* ``DEFAULT_SERVER_DATETIME_FORMAT`` - Links ~~~~~ @@ -348,6 +344,15 @@ Libs * ``b64encode`` * ``b64decode`` +Tools +~~~~~ + +* ``url2base64`` +* ``get_lang(env, lang_code=False)``: returns `res.lang` record +* ``html2plaintext`` +* ``type2str``: get type of the given object +* ``DEFAULT_SERVER_DATETIME_FORMAT`` + Exceptions ~~~~~~~~~~ diff --git a/sync/models/ir_logging.py b/sync/models/ir_logging.py index 43c48b45..0bfa5d56 100644 --- a/sync/models/ir_logging.py +++ b/sync/models/ir_logging.py @@ -23,8 +23,11 @@ class IrLogging(models.Model): ) message_short = fields.Text(string="Message...", compute="_compute_message_short") type = fields.Selection( - selection_add=[("data_out", "Data Transmission")], - ondelete={"data_out": lambda records: records.write({"type": "server"})}, + selection_add=[("data_out", "Data Transmission"), ("data_in", "Response")], + ondelete={ + "data_out": lambda records: records.write({"type": "server"}), + "data_in": lambda records: records.write({"type": "server"}), + }, ) def _compute_message_short(self): diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index a6b3d104..f02fedd8 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -9,7 +9,8 @@ from odoo import api, fields, models from odoo.exceptions import UserError, ValidationError -from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT, frozendict +from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT, frozendict, html2plaintext +from odoo.tools.misc import get_lang from odoo.tools.safe_eval import ( datetime, dateutil, @@ -22,6 +23,7 @@ from odoo.addons.queue_job.exception import RetryableJobError +from ..tools import url2base64 from .ir_logging import LOG_CRITICAL, LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_WARNING _logger = logging.getLogger(__name__) @@ -242,6 +244,9 @@ def type2str(obj): "RetryableJobError": RetryableJobError, "getattr": safe_getattr, "setattr": safe_setattr, + "get_lang": get_lang, + "url2base64": url2base64, + "html2plaintext": html2plaintext, "time": time, "datetime": datetime, "dateutil": dateutil, diff --git a/sync/tools.py b/sync/tools.py new file mode 100644 index 00000000..59eac530 --- /dev/null +++ b/sync/tools.py @@ -0,0 +1,56 @@ +# Copyright 2021 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). +import base64 +import functools + +import requests + +from .models.ir_logging import LOG_ERROR + + +class LogExternalQuery(object): + """Adds logs before and after external query. + Can be used for eval context method. + Example: + + @LogExternalQuery("Viber->send_messages", eval_context) + def send_messages(to, messages): + return viber.send_messages(to, messages) + """ + + def __init__(self, target_name, eval_context): + self.target_name = target_name + self.log = eval_context["log"] + self.log_transmission = eval_context["log_transmission"] + + def __call__(self, func): + @functools.wraps(func) + def wrap(*args, **kwargs): + self.log_transmission( + self.target_name, + "*%s, **%s" + % ( + args, + kwargs, + ), + ) + try: + res = func(*args, **kwargs) + except Exception as err: + self.log( + str(err), name=self.target_name, log_type="data_in", level=LOG_ERROR + ) + raise + self.log("RESULT: %s" % res, name=self.target_name, log_type="data_in") + return res + + return wrap + + +# E.g. to download file and save into in an attachment or Binary field +def url2base64(url): + if not url: + return None + r = requests.get(url, timeout=42) + datas = base64.b64encode(r.content) + return datas diff --git a/sync/views/sync_task_views.xml b/sync/views/sync_task_views.xml index 137dd06a..5d29964c 100644 --- a/sync/views/sync_task_views.xml +++ b/sync/views/sync_task_views.xml @@ -70,13 +70,12 @@ and paste here

+ - -
From 9c61e346b59a3a931d3a7b8850b8f07df931b766 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 4 Aug 2021 13:48:18 +0200 Subject: [PATCH 055/118] :ambulance: sync: delete website_published field it's not needed and may lead to not working webhook after module upgrade --- sync/README.rst | 2 +- sync/doc/changelog.rst | 1 + sync/lib/controllers/main.py | 3 +-- sync/lib/models/ir_actions.py | 12 +----------- sync/models/sync_trigger_webhook.py | 1 - 5 files changed, 4 insertions(+), 15 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index 9944b603..fbc5df3e 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -20,7 +20,7 @@ Provides a single place to handle synchronization trigered by one of the followi * **Cron** -- provided by ``ir.cron`` * **DB Event** -- provided by ``base.automation`` -* **Incoming webhook** -- provided by ``ir.actions.server::website_published`` (search for ``/website/action`` in ``website`` module) +* **Incoming webhook** -- modified version of ``/website/action`` controller from ``website`` module * **Manual Triggering** -- provided by ``ir.actions.server``. User needs to click a button to run this action Difference with built-in code evaluation: diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 13aebd5c..e838f5aa 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -4,6 +4,7 @@ - **Improvement:** add more eval context functions (`get_lang`, `url2base64`, `html2plaintext`) - **Improvement:** add development tools (`LogExternalQuery`), add new type for `ir.logging` - **Improvement:** move code checker above in task form to make it more visible +- **Fix:** delete `website_published` for sake of simplicity and to avoid webhooks problem on upgrading the module to v4.0.0+ `4.0.1` ------- diff --git a/sync/lib/controllers/main.py b/sync/lib/controllers/main.py index 0a2f5d56..2955f26e 100644 --- a/sync/lib/controllers/main.py +++ b/sync/lib/controllers/main.py @@ -15,13 +15,12 @@ def actions_server(self, path_or_xml_id_or_id, **post): action = trigger.sudo().search( [ ("website_path", "=", path_or_xml_id_or_id), - ("website_published", "=", True), ], limit=1, ) # run it, return only if we got a Response object if action: - if action.state == "code" and action.website_published: + if action.state == "code": action_res = action.action_server_id.run() if isinstance(action_res, werkzeug.wrappers.Response): return action_res diff --git a/sync/lib/models/ir_actions.py b/sync/lib/models/ir_actions.py index a7d4309f..b505c7f5 100644 --- a/sync/lib/models/ir_actions.py +++ b/sync/lib/models/ir_actions.py @@ -20,15 +20,6 @@ class ServerAction(models.Model): compute="_compute_website_url", help="The full URL to access the server action through the website.", ) - website_published = fields.Boolean( - "Available on the Website", - copy=False, - help="A code server action can be executed from the website, using a dedicated " - "controller. The address is /website/action/. " - "Set this field as True to allow users to run this action. If it " - "is set to False the action cannot be run through the website.", - ) - webhook_type = fields.Selection( [("http", "application/x-www-form-urlencoded"), ("json", "application/json")], string="Webhook Type", @@ -52,13 +43,12 @@ def _get_website_url(self, website_path, webhook_type): @api.depends( "webhook_type", "action_server_id.state", - "website_published", "website_path", ) def _compute_website_url(self): for trigger in self: action = trigger.action_server_id - if action.state == "code" and trigger.website_published: + if action.state == "code": trigger.website_url = trigger._get_website_url( trigger.website_path, trigger.webhook_type ) diff --git a/sync/models/sync_trigger_webhook.py b/sync/models/sync_trigger_webhook.py index a8c300d7..0a488906 100644 --- a/sync/models/sync_trigger_webhook.py +++ b/sync/models/sync_trigger_webhook.py @@ -30,7 +30,6 @@ class SyncTriggerWebhook(models.Model): @api.model def default_get(self, fields): vals = super(SyncTriggerWebhook, self).default_get(fields) - vals["website_published"] = True vals["groups_id"] = [(4, self.env.ref("base.group_public").id, 0)] vals["website_path"] = uuid.uuid4() return vals From 2fcfdf175428091699ea2a02688f7fc7bb1bc243 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Sun, 8 Aug 2021 12:33:46 +0200 Subject: [PATCH 056/118] :ambulance: fix odoo.links for empty recordset --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/base.py | 6 +++++- sync/models/sync_link.py | 17 ++++++++++------- sync/tests/test_links.py | 13 ++++++++++++- 5 files changed, 33 insertions(+), 10 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 94a8a147..2f30c16b 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -7,7 +7,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.1.0", + "version": "14.0.4.1.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index e838f5aa..fe768477 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`4.1.1` +------- + +- **Fix:** For empty `links`, the property `links.odoo` must return empty recordset, not `None` + `4.1.0` ------- diff --git a/sync/models/base.py b/sync/models/base.py index f4d08dbd..3cb756d6 100644 --- a/sync/models/base.py +++ b/sync/models/base.py @@ -13,4 +13,8 @@ def set_link(self, relation_name, ref, sync_date=None, allow_many2many=False): ) def search_links(self, relation_name, refs=None): - return self.env["sync.link"]._search_links_odoo(self, relation_name, refs) + return ( + self.env["sync.link"] + .with_context(sync_link_odoo_model=self._name) + ._search_links_odoo(self, relation_name, refs) + ) diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py index fcff4168..6da75891 100644 --- a/sync/models/sync_link.py +++ b/sync/models/sync_link.py @@ -172,14 +172,17 @@ def get(self, system): # Odoo links @property def odoo(self): - res = None + res = set() + model = self.env.context.get("sync_link_odoo_model") for r in self: - record = self.env[r.model].browse(int(getattr(r, ODOO_REF))) - if res: - res |= record - else: - res = record - return res + if model is None: + model = r.model + elif model != r.model: + raise ValidationError( + _("Mixing apples and oranges: %s and %s") % (model, r.model) + ) + res.add(int(r[ODOO_REF])) + return self.env[model].browse(res) if model else None @property def external(self): diff --git a/sync/tests/test_links.py b/sync/tests/test_links.py index 0e60aaf7..aa437fda 100644 --- a/sync/tests/test_links.py +++ b/sync/tests/test_links.py @@ -29,7 +29,10 @@ def test_odoo_link(self): REL = "sync_test_links_partner" REL2 = "sync_test_links_partner2" - self.assertFalse(self.env["res.partner"].search([]).search_links(REL)) + # empty link recordset + no_links = self.env["res.partner"].search([]).search_links(REL) + self.assertFalse(no_links) + self.assertEqual(self.env["res.partner"], no_links.odoo) # Set and get links r = self.create_record() @@ -65,6 +68,14 @@ def test_odoo_link(self): self.assertEqual(1, len(all_links)) self.assertEqual(r, all_links[0].odoo) + # multiple links + r = self.create_record() + ref = generate_ref() + r.set_link(REL, ref) + all_links = self.env["res.partner"].search([]).search_links(REL) + self.assertEqual(2, len(all_links)) + self.assertEqual(2, len(all_links.odoo)) + # Multiple refs for the same relation and record r = self.create_record() ref1 = generate_ref() From 544a2dac4c89e94239a77d836e114e1c5bd60868 Mon Sep 17 00:00:00 2001 From: Ilya Ilchenko Date: Tue, 20 Jul 2021 15:29:41 +0300 Subject: [PATCH 057/118] :ambulance: sync: prevent overwriting parameter values closes #271 --- sync/__manifest__.py | 1 + sync/data/sync_project_odoo2odoo_demo.xml | 3 +- sync/data/sync_project_telegram_demo.xml | 7 +++-- sync/data/sync_project_trello_github_demo.xml | 7 +++-- sync/data/sync_project_unittest_demo.xml | 3 +- sync/doc/changelog.rst | 2 ++ sync/models/sync_project.py | 16 ++++++++++ sync/tests/__init__.py | 1 + sync/tests/test_default_value.py | 31 +++++++++++++++++++ sync/wizard/sync_make_module.py | 3 +- 10 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 sync/tests/test_default_value.py diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 2f30c16b..ffbcb0ce 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -1,5 +1,6 @@ # Copyright 2020 Ivan Yelizariev # Copyright 2020-2021 Denis Mudarisov +# Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). { diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index 000017cf..73f4b93c 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -1,6 +1,7 @@ @@ -29,7 +30,7 @@ def parse_date(s): UPLOAD_ALL_PARTNER_PREFIX - Sync Studio: + Sync Studio: diff --git a/sync/data/sync_project_telegram_demo.xml b/sync/data/sync_project_telegram_demo.xml index 22eaef88..74cf8c47 100644 --- a/sync/data/sync_project_telegram_demo.xml +++ b/sync/data/sync_project_telegram_demo.xml @@ -1,6 +1,7 @@ @@ -29,7 +30,7 @@ def html_sanitize_telegram(html): TELEGRAM_WELCOME_MESSAGE - Hello! How can I help you? + Hello! How can I help you? Message that is sent to a user on first bot usage @@ -37,7 +38,7 @@ def html_sanitize_telegram(html): TELEGRAM_MESSAGE_SENT - The message has sent in telegram + The message has sent in telegram When Odoo Bot reports on successfully sent telegram message @@ -45,7 +46,7 @@ def html_sanitize_telegram(html): PARTNER_NAME_PREFIX - Telegram: + Telegram: Prefix for new partner name diff --git a/sync/data/sync_project_trello_github_demo.xml b/sync/data/sync_project_trello_github_demo.xml index 8d0a4082..ea41bfff 100644 --- a/sync/data/sync_project_trello_github_demo.xml +++ b/sync/data/sync_project_trello_github_demo.xml @@ -1,6 +1,7 @@ @@ -158,14 +159,14 @@ def color2trello(hex): ISSUE_FROM_GITHUB_PREFIX - GITHUB: + GITHUB: MESSAGE_PREFIX - A Message posted on GitHub: + A Message posted on GitHub: @@ -175,7 +176,7 @@ def color2trello(hex): model="sync.project.param" > LABELS_MERGE_STRATEGY - UNION + UNION Possible values: USE_TRELLO, USE_GITHUB: use version from one side and override values from another diff --git a/sync/data/sync_project_unittest_demo.xml b/sync/data/sync_project_unittest_demo.xml index 7c6bda0d..535eed9a 100644 --- a/sync/data/sync_project_unittest_demo.xml +++ b/sync/data/sync_project_unittest_demo.xml @@ -1,6 +1,7 @@ @@ -9,7 +10,7 @@ PARTNER_RELATION - sync_unittest_partner + sync_unittest_partner diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index fe768477..6a7254d6 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,5 @@ +- **Improvement:** initial values do not overwrite parameter values after a module update. + `4.1.1` ------- diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index f02fedd8..d0d3e6ba 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -1,5 +1,6 @@ # Copyright 2020 Ivan Yelizariev # Copyright 2020-2021 Denis Mudarisov +# Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). import base64 @@ -400,12 +401,27 @@ class SyncProjectParamMixin(models.AbstractModel): key = fields.Char("Key", required=True) value = fields.Char("Value") + initial_value = fields.Char( + compute="_compute_initial_value", + inverse="_inverse_initial_value", + help="A virtual field that, during writing, stores the value in the value field, but only if it is empty. \ + It's used during module upgrade to prevent overwriting parameter values. ", + ) description = fields.Char("Description", translate=True) url = fields.Char("Documentation") project_id = fields.Many2one("sync.project", ondelete="cascade") _sql_constraints = [("key_uniq", "unique (project_id, key)", "Key must be unique.")] + def _compute_initial_value(self): + for r in self: + r.initial_value = r.value + + def _inverse_initial_value(self): + for r in self: + if not r.value: + r.value = r.initial_value + class SyncProjectParam(models.Model): diff --git a/sync/tests/__init__.py b/sync/tests/__init__.py index 92bbd8f0..24f1e441 100644 --- a/sync/tests/__init__.py +++ b/sync/tests/__init__.py @@ -2,3 +2,4 @@ from . import test_links from . import test_trigger_db +from . import test_default_value diff --git a/sync/tests/test_default_value.py b/sync/tests/test_default_value.py new file mode 100644 index 00000000..1c304a10 --- /dev/null +++ b/sync/tests/test_default_value.py @@ -0,0 +1,31 @@ +# Copyright 2021 Ilya Ilchenko +# License MIT (https://opensource.org/licenses/MIT). + +import logging + +from odoo.tests.common import TransactionCase + +_logger = logging.getLogger(__name__) + + +class TestDefaultValue(TransactionCase): + def setUp(self): + super(TestDefaultValue, self).setUp() + + def test_create_record(self): + # test variable definition + param_obj = self.env["sync.project.param"] + value = "Test value" + new_value = "New value" + + # Test #1: Creating a record + test_record = param_obj.create({"key": "TEST_KEY", "initial_value": value}) + self.assertEqual(test_record.value, value) + + # Test #2: Checking the overwrite initial_value + test_record.write({"initial_value": new_value}) + self.assertEqual(test_record.value, value) + + # Test #3: Checking the overwrite value + test_record.write({"value": new_value}) + self.assertEqual(test_record.value, new_value) diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index 1f3a2381..90f9327a 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -1,5 +1,6 @@ # Copyright 2020-2021 Ivan Yelizariev # Copyright 2021 Denis Mudarisov +# Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). import base64 @@ -88,7 +89,7 @@ def act_makefile(self): for param in project.param_ids: records.append( - (param, ("key", "value", "description", "url", "project_id")) + (param, ("key", "initial_value", "description", "url", "project_id")) ) for task in project.task_ids: From aaf8d420132778aa912d37544508f4026fc7c0f8 Mon Sep 17 00:00:00 2001 From: Ilya Ilchenko Date: Sun, 1 Aug 2021 16:04:59 +0300 Subject: [PATCH 058/118] :ambulance: sync: add exporting of text parameter values --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 4 ++++ sync/wizard/sync_make_module.py | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index ffbcb0ce..3d1c979b 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.1.1", + "version": "14.0.4.1.2", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 6a7254d6..f63cf859 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,4 +1,8 @@ +`4.1.2` +------- + - **Improvement:** initial values do not overwrite parameter values after a module update. +- **Fix:** add exporting of text parameter values `4.1.1` ------- diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index 90f9327a..493d2d91 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -92,6 +92,14 @@ def act_makefile(self): (param, ("key", "initial_value", "description", "url", "project_id")) ) + for text_param in project.text_param_ids: + records.append( + ( + text_param, + ("key", "initial_value", "description", "url", "project_id"), + ) + ) + for task in project.task_ids: records.append((task, ("name", "active", "project_id", "code"))) for trigger in task.button_ids: From 686edba98cb2ac57a81e73dfbb477bd059feee54 Mon Sep 17 00:00:00 2001 From: Eugene Molotov Date: Tue, 10 Aug 2021 18:17:45 +0500 Subject: [PATCH 059/118] :heart_eyes: sync: add eval context function record2image --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/sync_project.py | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 3d1c979b..42cbc0d1 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.1.2", + "version": "14.0.4.2.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index f63cf859..6cfb9d20 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`4.2.0` +------- + +- **Improvement:** add eval context function `record2image` + `4.1.2` ------- diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index d0d3e6ba..91ac0382 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -217,6 +217,24 @@ def safe_setattr(o, k, v): def type2str(obj): return "%s" % type(obj) + def record2image(record, fname=None): + # TODO: implement test, that is useful for backporting to 12.0 + if not fname: + fname = "image_1920" + + return ( + record.sudo() + .env["ir.attachment"] + .search( + [ + ("res_model", "=", record._name), + ("res_field", "=", fname), + ("res_id", "=", record.id), + ], + limit=1, + ) + ) + context = dict(self.env.context, log_function=log) env = self.env(context=context) link_functions = env["sync.link"]._get_eval_context() @@ -255,6 +273,7 @@ def type2str(obj): "b64encode": base64.b64encode, "b64decode": base64.b64decode, "type2str": type2str, + "record2image": record2image, "DEFAULT_SERVER_DATETIME_FORMAT": DEFAULT_SERVER_DATETIME_FORMAT, } ) From c4193f31572602190c39721b568ecdceab81eaca Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Sat, 14 Aug 2021 16:35:34 +0500 Subject: [PATCH 060/118] :book: add note about configuration in odoo.sh --- sync/doc/index.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sync/doc/index.rst b/sync/doc/index.rst index fa501e5d..4b3ddefb 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -21,6 +21,20 @@ Installation * If your Sync projects use webhooks (most likely), be sure that url opens correct database without asking to select one +Odoo.sh +------- + +`queue_job` may not work properly in odoo.sh with workers more than 1 due to `restrictions `__ from Odoo.sh + +For the `queue_job` work correctly in odoo.sh additional configuration is needed. + +Add following lines to `~/.config/odoo.conf` and restart odoo via `odoo-restart` command in Webshell:: + + [queue_job] + scheme=https + port=443 + host=ODOO_SH_ADDRESS.com + User Access Levels ================== From 82c39e0cb59360a29421f6ff4ab6d2eb8e257348 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Tue, 24 Aug 2021 13:14:35 +0000 Subject: [PATCH 061/118] :heart_eyes: sync: run triggers with delay solves #323 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/sync_trigger_automation.py | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 42cbc0d1..9f38fcf9 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.4.2.0", + "version": "14.0.5.0.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 6cfb9d20..add64a1e 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`5.0.0` +------- + +- **Improvement:** run triggers with delay + `4.2.0` ------- diff --git a/sync/models/sync_trigger_automation.py b/sync/models/sync_trigger_automation.py index fd5e5e6b..2611c3ea 100644 --- a/sync/models/sync_trigger_automation.py +++ b/sync/models/sync_trigger_automation.py @@ -1,4 +1,5 @@ # Copyright 2020 Ivan Yelizariev +# Copyright 2021 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). from odoo import api, fields, models @@ -18,7 +19,7 @@ class SyncTriggerAutomation(models.Model): def start(self, records): if self.active: - self.sync_task_id.start(self, args=(records,)) + self.sync_task_id.start(self, args=(records,), with_delay=True) def get_code(self): return ( From 620f4feda0093ca255bd561ae0c28ea01b5e80a7 Mon Sep 17 00:00:00 2001 From: Denis Mudarisov Date: Wed, 1 Sep 2021 07:28:05 +0000 Subject: [PATCH 062/118] :shield: fix running asynchronous jobs in tests --- sync/models/sync_task.py | 2 +- sync/tests/test_trigger_db.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sync/models/sync_task.py b/sync/models/sync_task.py index 1d75dd8d..e190cb74 100644 --- a/sync/models/sync_task.py +++ b/sync/models/sync_task.py @@ -120,7 +120,7 @@ def start( queue_job_or_result = run( job, trigger._sync_handler, args, raise_on_error=raise_on_error ) - if with_delay: + if with_delay and not self.env.context.get("test_queue_job_no_delay"): job.queue_job_id = queue_job_or_result.db_record() return job else: diff --git a/sync/tests/test_trigger_db.py b/sync/tests/test_trigger_db.py index 5623f217..fcea7f23 100644 --- a/sync/tests/test_trigger_db.py +++ b/sync/tests/test_trigger_db.py @@ -1,4 +1,5 @@ # Copyright 2020 Ivan Yelizariev +# Copyright 2021 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). import logging @@ -13,6 +14,12 @@ class TestTriggerDB(TransactionCase): def setUp(self): super(TestTriggerDB, self).setUp() + self.env = self.env( + context=dict( + self.env.context, + test_queue_job_no_delay=True, # no jobs thanks + ) + ) funcs = self.env["sync.link"]._get_eval_context() self.get_link = funcs["get_link"] From d168c70d7d2ca013bcf5bb18a01d8a5b375d8276 Mon Sep 17 00:00:00 2001 From: Ilya Ilchenko Date: Thu, 26 Aug 2021 21:26:50 +0300 Subject: [PATCH 063/118] :ambulance: sync: add missing Trigger Fields field closes #325 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/views/sync_trigger_automation_views.xml | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 9f38fcf9..a8258f53 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.5.0.0", + "version": "14.0.5.0.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index add64a1e..65964e78 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`5.0.1` +------- + +- **Fix:** add missing `Trigger Fields` field in the Automation Trigger view + `5.0.0` ------- diff --git a/sync/views/sync_trigger_automation_views.xml b/sync/views/sync_trigger_automation_views.xml index 8fba8166..6a04b110 100644 --- a/sync/views/sync_trigger_automation_views.xml +++ b/sync/views/sync_trigger_automation_views.xml @@ -39,6 +39,20 @@ + + Date: Thu, 9 Sep 2021 06:21:02 +0200 Subject: [PATCH 064/118] :ambulance: sync: clean up on deleting sync.task delete base.automation, ir.cron Note: ir.actions.server will stay in DB, but it cannot harm anybody --- sync/__manifest__.py | 4 ++-- sync/doc/changelog.rst | 5 +++++ sync/models/ir_actions.py | 2 +- sync/models/sync_project.py | 4 ++++ sync/models/sync_trigger_automation.py | 17 ++++++++++++++++- sync/models/sync_trigger_cron.py | 6 ++++++ 6 files changed, 34 insertions(+), 4 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index a8258f53..c382e364 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Ivan Yelizariev +# Copyright 2020-2021 Ivan Yelizariev # Copyright 2020-2021 Denis Mudarisov # Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.5.0.1", + "version": "14.0.5.0.2", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 65964e78..ac57e268 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`5.0.2` +------- + +- **Fix:** avoid base.automation errors after deleting sync.task + `5.0.1` ------- diff --git a/sync/models/ir_actions.py b/sync/models/ir_actions.py index eb0dada4..cb32f3ce 100644 --- a/sync/models/ir_actions.py +++ b/sync/models/ir_actions.py @@ -1,4 +1,4 @@ -# Copyright 2020 Ivan Yelizariev +# Copyright 2020-2021 Ivan Yelizariev # License MIT (https://opensource.org/licenses/MIT). from odoo import fields, models diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 91ac0382..28c23af7 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -89,6 +89,10 @@ def copy(self, default=None): default["active"] = False return super(SyncProject, self).copy(default) + def unlink(self): + self.with_context(active_test=False).mapped("task_ids").unlink() + return super().unlink() + def _compute_eval_context_description(self): for r in self: if not r.eval_context: diff --git a/sync/models/sync_trigger_automation.py b/sync/models/sync_trigger_automation.py index 2611c3ea..677e2980 100644 --- a/sync/models/sync_trigger_automation.py +++ b/sync/models/sync_trigger_automation.py @@ -1,9 +1,12 @@ -# Copyright 2020 Ivan Yelizariev +# Copyright 2020-2021 Ivan Yelizariev # Copyright 2021 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). +import logging from odoo import api, fields, models +_logger = logging.getLogger(__name__) + class SyncTriggerAutomation(models.Model): @@ -17,8 +20,20 @@ class SyncTriggerAutomation(models.Model): "base.automation", delegate=True, required=True, ondelete="cascade" ) + def unlink(self): + self.mapped("automation_id").unlink() + return super().unlink() + def start(self, records): if self.active: + if not self.sync_task_id: + # workaround for old deployments + _logger.warning( + "Task was deleted, but there is still base.automation record for it: %s" + % self.automation_id + ) + return + self.sync_task_id.start(self, args=(records,), with_delay=True) def get_code(self): diff --git a/sync/models/sync_trigger_cron.py b/sync/models/sync_trigger_cron.py index 1613593d..226014af 100644 --- a/sync/models/sync_trigger_cron.py +++ b/sync/models/sync_trigger_cron.py @@ -20,6 +20,12 @@ class SyncTriggerCron(models.Model): "ir.cron", delegate=True, required=True, ondelete="cascade" ) + def unlink(self): + crons = self.mapped("cron_id") + if crons: + crons.unlink() + return super().unlink() + @api.model_create_multi def create(self, vals_list): for vals in vals_list: From 56494254451514b99d1c75e40711e8e96fe706b0 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 15 Sep 2021 11:56:25 +0200 Subject: [PATCH 065/118] :heart_eyes: sync: generate better names for triggers --- sync/data/sync_project_trello_github_demo.xml | 3 -- sync/doc/changelog.rst | 1 + sync/models/sync_trigger_automation.py | 1 - sync/models/sync_trigger_mixin.py | 41 +++++++++++++------ sync/models/sync_trigger_webhook.py | 1 - sync/wizard/sync_make_module.py | 1 - 6 files changed, 29 insertions(+), 19 deletions(-) diff --git a/sync/data/sync_project_trello_github_demo.xml b/sync/data/sync_project_trello_github_demo.xml index ea41bfff..d643cfbc 100644 --- a/sync/data/sync_project_trello_github_demo.xml +++ b/sync/data/sync_project_trello_github_demo.xml @@ -227,12 +227,10 @@ def handle_button(): DELETE_TRELLO_WEBHOOKS - DEBUG - @@ -378,7 +376,6 @@ def process_github_issues(issues): GITHUB_ISSUE_COMMENT - Webhook diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index ac57e268..59814521 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -2,6 +2,7 @@ ------- - **Fix:** avoid base.automation errors after deleting sync.task +- **Improvement:** better names for triggers, Server Actions and Base Automation records `5.0.1` ------- diff --git a/sync/models/sync_trigger_automation.py b/sync/models/sync_trigger_automation.py index 677e2980..191852c2 100644 --- a/sync/models/sync_trigger_automation.py +++ b/sync/models/sync_trigger_automation.py @@ -14,7 +14,6 @@ class SyncTriggerAutomation(models.Model): _inherit = ["sync.trigger.mixin", "sync.trigger.mixin.actions"] _description = "DB Trigger" _sync_handler = "handle_db" - _default_name = "DB Trigger" automation_id = fields.Many2one( "base.automation", delegate=True, required=True, ondelete="cascade" diff --git a/sync/models/sync_trigger_mixin.py b/sync/models/sync_trigger_mixin.py index ac75137b..0a675bd9 100644 --- a/sync/models/sync_trigger_mixin.py +++ b/sync/models/sync_trigger_mixin.py @@ -1,4 +1,4 @@ -# Copyright 2020 Ivan Yelizariev +# Copyright 2020-2021 Ivan Yelizariev # License MIT (https://opensource.org/licenses/MIT). from odoo import api, fields, models @@ -9,7 +9,6 @@ class SyncTriggerMixin(models.AbstractModel): _name = "sync.trigger.mixin" _description = "Mixing for trigger models" _rec_name = "trigger_name" - _default_name = None trigger_name = fields.Char( "Trigger Name", help="Technical name to be used in task code", required=True @@ -21,22 +20,38 @@ def _compute_job_count(self): for r in self: r.job_count = len(r.job_ids) + def _update_name(self, vals): + if not ("sync_task_id" in vals or "trigger_name" in vals): + return + if not self._fields["name"].required: + return + for record in self: + if record.name != self._description: + continue + name = "Sync Studio: %s -> %s" % ( + record.sync_project_id.name, + record.trigger_name, + ) + record.write({"name": name}) + + def write(self, vals): + res = super().write(vals) + self._update_name(vals) + return res + @api.model + def create(self, vals): + res = super().create(vals) + res._update_name(vals) + return res + def default_get(self, fields): vals = super(SyncTriggerMixin, self).default_get(fields) - if self._default_name: - vals["name"] = self._default_name + # put model description in case if name is required field + if self._fields["name"].required: + vals["name"] = self._description return vals - def name_get(self): - result = [] - for r in self: - name = r.trigger_name - if r.name and r.name != self._default_name: - name += " " + r.name - result.append((r.id, name)) - return result - class SyncTriggerMixinModelId(models.AbstractModel): diff --git a/sync/models/sync_trigger_webhook.py b/sync/models/sync_trigger_webhook.py index 0a488906..242185d9 100644 --- a/sync/models/sync_trigger_webhook.py +++ b/sync/models/sync_trigger_webhook.py @@ -20,7 +20,6 @@ class SyncTriggerWebhook(models.Model): ] _description = "Webhook Trigger" _sync_handler = "handle_webhook" - _default_name = "Webhook" action_server_id = fields.Many2one( "ir.actions.server", delegate=True, required=True, ondelete="cascade" diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index 493d2d91..a7fc26c8 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -140,7 +140,6 @@ def act_makefile(self): ( "trigger_name", "active", - "name", "sync_task_id", "webhook_type", ), From bc9e065a86cd402fd3f57711b9648f283e0e6853 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Fri, 1 Oct 2021 22:59:46 +0200 Subject: [PATCH 066/118] :book: new website --- sync/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index c382e364..783044f7 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -12,7 +12,7 @@ "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", - "website": "https://github.com/itpp-labs/sync-addons", + "website": "https://t.me/sync_studio", "license": "Other OSI approved licence", # MIT "depends": ["base_automation", "mail", "queue_job"], "external_dependencies": {"python": [], "bin": []}, From a4c26fbd64e61a892ac123f405f1c52cf8dee839 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Thu, 26 May 2022 11:45:24 +0200 Subject: [PATCH 067/118] :rainbow: pre-commit 14.0 --- sync/lib/models/ir_actions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sync/lib/models/ir_actions.py b/sync/lib/models/ir_actions.py index b505c7f5..f6076303 100644 --- a/sync/lib/models/ir_actions.py +++ b/sync/lib/models/ir_actions.py @@ -10,7 +10,7 @@ class ServerAction(models.Model): - """ Add website option in server actions. """ + """Add website option in server actions.""" _inherit = "sync.trigger.webhook" @@ -60,7 +60,7 @@ def _compute_website_url(self): @api.model def _get_eval_context(self, action): - """ Override to add the request object in eval_context. """ + """Override to add the request object in eval_context.""" eval_context = self.action_server_id._get_eval_context(action) if action.state == "code": eval_context["request"] = request From aa479d4ef3a64ed9233e685289f89ad3200ac8d5 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Thu, 26 May 2022 13:49:13 +0200 Subject: [PATCH 068/118] :heart_eyes: add filters for sync.job from #353 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/views/sync_job_views.xml | 36 +++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 783044f7..671a7657 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.5.0.2", + "version": "14.0.5.1.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 59814521..a432d27b 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`5.1.0` +------- + +- **New:** add search filters for `sync.job` model + `5.0.2` ------- diff --git a/sync/views/sync_job_views.xml b/sync/views/sync_job_views.xml index 45ddebd6..6c946f45 100644 --- a/sync/views/sync_job_views.xml +++ b/sync/views/sync_job_views.xml @@ -148,22 +148,58 @@
+ + sync.job.search + sync.job + + + + + + + + + + Project Jobs sync.job tree,form [('project_id', '=', active_id)] + Task Jobs sync.job tree,form [('task_id', '=', active_id)] + Jobs sync.job tree,form + Date: Mon, 6 Jun 2022 14:25:41 +0200 Subject: [PATCH 069/118] :cherries: fix error message when link alreay exists close #395 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/sync_link.py | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 671a7657..8dd18c87 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.5.1.0", + "version": "14.0.5.1.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index a432d27b..611f5cc4 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`5.1.1` +------- + +- **Fix:** correct error message on link duplicates + `5.1.0` ------- diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py index 6da75891..bad44bdc 100644 --- a/sync/models/sync_link.py +++ b/sync/models/sync_link.py @@ -107,7 +107,7 @@ def _set_link_external( relation, existing.system1, existing.ref1, - existing.system1, + existing.system2, existing.ref2, ) ) From ac7798cfd8d78dcc98dbb0ccf78951ac9b79fba2 Mon Sep 17 00:00:00 2001 From: Mitchell Admin Date: Mon, 6 Jun 2022 12:48:15 +0000 Subject: [PATCH 070/118] :arrow_up::one::five: OCA/odoo-module-migrator close #405 > Made via .github/workflows/DINAR-PORT.yml --- sync/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 8dd18c87..c8727975 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "14.0.5.1.1", + "version": "15.0.5.1.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", From 0fcb8f9acecbbf6898b2f814ee9576b6a375f2d6 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 8 Jun 2022 13:32:42 +0200 Subject: [PATCH 071/118] :book: doc updates for v15 --- sync/README.rst | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/sync/README.rst b/sync/README.rst index fbc5df3e..d8077396 100644 --- a/sync/README.rst +++ b/sync/README.rst @@ -92,19 +92,12 @@ Questions? To get an assistance on this module contact us by email :arrow_right: help@itpp.dev -Contributors -============ -* `Ivan Yelizariev `__: - - * :one::two: init version of the module - * :one::two: redesign module to prevent odoo container escapes - Further information =================== Odoo Apps Store: https://apps.odoo.com/apps/modules/14.0/sync/ -Notifications on updates: `via Atom `_, `by Email `_ +Notifications on updates: `via Atom `_, `by Email `_ -Tested on `Odoo 14.0 `_ +Tested on `Odoo 15.0 `_ From 6be39d15ac2a99889ece5a1e466770895496b502 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Thu, 26 May 2022 13:37:55 +0200 Subject: [PATCH 072/118] :rainbow: clean up db on deleting records Credits: @pablo-lp #353 --- sync/models/ir_logging.py | 2 +- sync/models/sync_job.py | 6 ++++-- sync/models/sync_trigger_automation.py | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sync/models/ir_logging.py b/sync/models/ir_logging.py index 0bfa5d56..b2828a6a 100644 --- a/sync/models/ir_logging.py +++ b/sync/models/ir_logging.py @@ -16,7 +16,7 @@ class IrLogging(models.Model): _inherit = "ir.logging" - sync_job_id = fields.Many2one("sync.job") + sync_job_id = fields.Many2one("sync.job", ondelete="cascade") sync_task_id = fields.Many2one("sync.task", related="sync_job_id.task_id") sync_project_id = fields.Many2one( "sync.project", related="sync_job_id.task_id.project_id" diff --git a/sync/models/sync_job.py b/sync/models/sync_job.py index c21711b5..5625931d 100644 --- a/sync/models/sync_job.py +++ b/sync/models/sync_job.py @@ -30,11 +30,13 @@ class SyncJob(models.Model): trigger_automation_id = fields.Many2one("sync.trigger.automation", readonly=True) trigger_webhook_id = fields.Many2one("sync.trigger.webhook", readonly=True) trigger_button_id = fields.Many2one("sync.trigger.button", readonly=True) - task_id = fields.Many2one("sync.task", compute="_compute_sync_task_id", store=True) + task_id = fields.Many2one( + "sync.task", compute="_compute_sync_task_id", store=True, ondelete="cascade" + ) project_id = fields.Many2one( "sync.project", related="task_id.project_id", readonly=True ) - parent_job_id = fields.Many2one("sync.job", readonly=True) + parent_job_id = fields.Many2one("sync.job", readonly=True, ondelete="cascade") job_ids = fields.One2many("sync.job", "parent_job_id", "Sub jobs", readonly=True) log_ids = fields.One2many("ir.logging", "sync_job_id", readonly=True) log_count = fields.Integer(compute="_compute_log_count") diff --git a/sync/models/sync_trigger_automation.py b/sync/models/sync_trigger_automation.py index 191852c2..ff6132b0 100644 --- a/sync/models/sync_trigger_automation.py +++ b/sync/models/sync_trigger_automation.py @@ -21,6 +21,7 @@ class SyncTriggerAutomation(models.Model): def unlink(self): self.mapped("automation_id").unlink() + self.mapped("action_server_id").unlink() return super().unlink() def start(self, records): From 47f9800047eac75b04807c50f7b5902dac39f7e5 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 8 Jun 2022 15:32:46 +0200 Subject: [PATCH 073/118] :sparkles: add model to link unique index close #250 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/doc/index.rst | 6 +++--- sync/models/sync_link.py | 26 ++++++++++++++------------ 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index c8727975..1c57efd5 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "15.0.5.1.1", + "version": "15.0.6.0.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 611f5cc4..7463689f 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`6.0.0` +------- + +- **New:** support links with the same relation + refs, but different models + `5.1.1` ------- diff --git a/sync/doc/index.rst b/sync/doc/index.rst index 4b3ddefb..177125fa 100644 --- a/sync/doc/index.rst +++ b/sync/doc/index.rst @@ -180,7 +180,7 @@ Links and ``external``; * ``.search_links(relation_name) -> links`` -* ``get_link(relation_name, external_ref) -> link`` +* ``get_link(relation_name, external_ref, model=None) -> link`` Odoo Link usage: @@ -212,7 +212,7 @@ Odoo Link usage: You can also link external data with external data on syncing two different system (e.g. github and trello). -* ``set_link(relation_name, {"github": github_issue_num, "trello": trello_card_num}, sync_date=None, allow_many2many=False) -> elink`` +* ``set_link(relation_name, {"github": github_issue_num, "trello": trello_card_num}, sync_date=None, allow_many2many=False, model=None) -> elink`` * ``refs`` is a dictionary with system name and references pairs, e.g. .. code-block:: python @@ -243,7 +243,7 @@ You can also link external data with external data on syncing two different syst * if references for both systems are passed, then elink is added to result only when its references are presented in both references lists -* ``get_link(relation_name, refs) -> elink`` +* ``get_link(relation_name, refs, model=None) -> elink`` * At least one of the reference should be not Falsy * ``get_link`` raise error, if there are few odoo records linked to the diff --git a/sync/models/sync_link.py b/sync/models/sync_link.py index bad44bdc..f711dfc6 100644 --- a/sync/models/sync_link.py +++ b/sync/models/sync_link.py @@ -40,7 +40,7 @@ def _auto_init(self): self._cr, "sync_link_refs_uniq_index", self._table, - ["relation", "system1", "system2", "ref1", "ref2"], + ["relation", "system1", "system2", "ref1", "ref2", "model"], ) return res @@ -126,8 +126,8 @@ def _set_link_external( return self.create(vals) @api.model - def _get_link_external(self, relation, external_refs): - links = self._search_links_external(relation, external_refs) + def _get_link_external(self, relation, external_refs, model=None): + links = self._search_links_external(relation, external_refs, model=model) if len(links) > 1: raise ValidationError( _( @@ -199,9 +199,9 @@ def _set_link_odoo( relation, refs, sync_date, allow_many2many, record._name ) - def _get_link_odoo(self, relation, ref): + def _get_link_odoo(self, relation, ref, model=None): refs = {ODOO: None, EXTERNAL: ref} - return self._get_link_external(relation, refs) + return self._get_link_external(relation, refs, model=model) def _search_links_odoo(self, records, relation, refs=None): refs = {ODOO: records.ids, EXTERNAL: refs} @@ -210,15 +210,15 @@ def _search_links_odoo(self, records, relation, refs=None): ) # Common API - def _get_link(self, rel, ref_info): + def _get_link(self, rel, ref_info, model=None): if isinstance(ref_info, dict): # External link external_refs = ref_info - return self._get_link_external(rel, external_refs) + return self._get_link_external(rel, external_refs, model=model) else: # Odoo link ref = ref_info - return self._get_link_odoo(rel, ref) + return self._get_link_odoo(rel, ref, model=model) @property def sync_date(self): @@ -241,10 +241,12 @@ def unlink(self): def _get_eval_context(self): env = self.env - def set_link(rel, external_refs, sync_date=None, allow_many2many=False): + def set_link( + rel, external_refs, sync_date=None, allow_many2many=False, model=None + ): # Works for external links only return env["sync.link"]._set_link_external( - rel, external_refs, sync_date, allow_many2many + rel, external_refs, sync_date, allow_many2many, model ) def search_links(rel, external_refs): @@ -253,8 +255,8 @@ def search_links(rel, external_refs): rel, external_refs, make_logs=True ) - def get_link(rel, ref_info): - return env["sync.link"]._get_link(rel, ref_info) + def get_link(rel, ref_info, model=None): + return env["sync.link"]._get_link(rel, ref_info, model=model) return { "set_link": set_link, From 2783a1fd89d2ccf8137b877070210001448efbb3 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Sun, 26 Jun 2022 16:21:50 +0200 Subject: [PATCH 074/118] :cherries: Happy new year! --- sync/wizard/sync_make_module.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index a7fc26c8..e735b781 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -1,4 +1,4 @@ -# Copyright 2020-2021 Ivan Yelizariev +# Copyright 2020-2022 Ivan Yelizariev # Copyright 2021 Denis Mudarisov # Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). @@ -25,7 +25,7 @@ class SyncMakeModule(models.TransientModel): data = fields.Binary("File", readonly=True, attachment=False) data2 = fields.Binary("File Txt", related="data") module = fields.Char("Module Technical Name", required=True) - copyright_years = fields.Char("Copyright Year", default="2021", required=True) + copyright_years = fields.Char("Copyright Year", default="2022", required=True) author_name = fields.Char("Author Name", help="e.g. Ivan Yelizariev", required=True) author_url = fields.Char("Author URL", help="e.g. https://twitter.com/yelizariev") license_line = fields.Char( From 1426ccfdc3513fa74914d70901ba96ae408eb664 Mon Sep 17 00:00:00 2001 From: Mohammad Tomaraei Date: Wed, 6 Apr 2022 19:59:43 +0200 Subject: [PATCH 075/118] :sparkles: sync: multi evaluation context credits: @themreza close #397 close #335 --- sync/__manifest__.py | 2 + sync/data/sync_project_context_demo.xml | 25 +++++++++ sync/data/sync_project_odoo2odoo_demo.xml | 5 +- sync/data/sync_project_telegram_demo.xml | 5 +- sync/data/sync_project_trello_github_demo.xml | 5 +- sync/doc/changelog.rst | 1 + sync/doc/index.rst | 19 +++++-- sync/migrations/15.0.6.0.0/post-migrate.py | 30 +++++++++++ sync/models/__init__.py | 1 + sync/models/sync_project.py | 27 ++++++---- sync/models/sync_project_context.py | 29 ++++++++++ sync/models/sync_project_demo.py | 54 +++++++++---------- sync/security/ir.model.access.csv | 2 + sync/views/sync_project_views.xml | 6 ++- sync/wizard/sync_make_module.py | 9 +++- 15 files changed, 172 insertions(+), 48 deletions(-) create mode 100644 sync/data/sync_project_context_demo.xml create mode 100644 sync/migrations/15.0.6.0.0/post-migrate.py create mode 100644 sync/models/sync_project_context.py diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 1c57efd5..fbaffb0d 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -33,10 +33,12 @@ "data/queue_job_function_data.xml", ], "demo": [ + "data/sync_project_context_demo.xml", "data/sync_project_telegram_demo.xml", "data/sync_project_odoo2odoo_demo.xml", "data/sync_project_trello_github_demo.xml", "data/sync_project_unittest_demo.xml", + "data/sync_project_context_demo.xml", ], "qweb": [], "post_load": None, diff --git a/sync/data/sync_project_context_demo.xml b/sync/data/sync_project_context_demo.xml new file mode 100644 index 00000000..1d96408f --- /dev/null +++ b/sync/data/sync_project_context_demo.xml @@ -0,0 +1,25 @@ + + + + + odoo2odoo + Odoo2odoo + + + telegram_demo + Telegram (Demo) + + + trello + Trello + + + github + Github + + + math + Math functions + + + diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index 73f4b93c..7919bdf8 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -7,7 +7,10 @@ Demo Odoo2odoo Integration - odoo2odoo + Demo Telegram Integration - telegram_demo + Demo Trello-Github Integration - trello_github + + + + my_project + My Sync Project + + + .. code-block:: python @@ -387,10 +399,7 @@ Evaluation provides additional variables and methods for a project. For example, class SyncProject(models.Model): - _inherit = "sync.project" - eval_context = fields.Selection(selection_add=[ - ("my_project", "My Project"), - ]) + _inherit = "sync.project.context" @api.model def _eval_context_my_project(self, secrets, eval_context): diff --git a/sync/migrations/15.0.6.0.0/post-migrate.py b/sync/migrations/15.0.6.0.0/post-migrate.py new file mode 100644 index 00000000..04b809ff --- /dev/null +++ b/sync/migrations/15.0.6.0.0/post-migrate.py @@ -0,0 +1,30 @@ +import logging + +from odoo import SUPERUSER_ID, api + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + # Convert eval_context selection values into sync.project.context records + # Copy eval_context values into eval_contexts + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + _logger.info( + "Copying eval_context selection values into sync.project.context records" + ) + env["ir.model.fields.selection"]._update_sync_project_context() + sync_projects = env["sync.project"].with_context(active_test=False).search([]) + for sync_project in sync_projects: + if not sync_project.eval_context: + continue + sync_project_context = env["sync.project.context"].search( + [("name", "=", sync_project.eval_context)], limit=1 + ) + if not sync_project_context: + continue + sync_project.write( + { + "eval_contexts": [(6, 0, sync_project_context.ids)], + } + ) diff --git a/sync/models/__init__.py b/sync/models/__init__.py index 881a80aa..7aa2348d 100644 --- a/sync/models/__init__.py +++ b/sync/models/__init__.py @@ -1,6 +1,7 @@ # License MIT (https://opensource.org/licenses/MIT). from . import sync_project +from . import sync_project_context from . import sync_project_demo from . import sync_task from . import sync_trigger_mixin diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 28c23af7..3ed2aca6 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -1,4 +1,4 @@ -# Copyright 2020 Ivan Yelizariev +# Copyright 2020,2022 Ivan Yelizariev # Copyright 2020-2021 Denis Mudarisov # Copyright 2021 Ilya Ilchenko # License MIT (https://opensource.org/licenses/MIT). @@ -29,7 +29,6 @@ _logger = logging.getLogger(__name__) DEFAULT_LOG_NAME = "Log" -EVAL_CONTEXT_PREFIX = "_eval_context_" def cleanup_eval_context(eval_context): @@ -48,7 +47,12 @@ class SyncProject(models.Model): "Name", help="e.g. Legacy Migration or eCommerce Synchronization", required=True ) active = fields.Boolean(default=False) + # Deprecated, please use eval_context_ids + # TODO: delete in v17 release eval_context = fields.Selection([], string="Evaluation context") + eval_context_ids = fields.Many2many( + "sync.project.context", string="Evaluation contexts" + ) eval_context_description = fields.Text(compute="_compute_eval_context_description") common_code = fields.Text( @@ -95,11 +99,11 @@ def unlink(self): def _compute_eval_context_description(self): for r in self: - if not r.eval_context: - r.eval_context_description = "" - continue - method = getattr(self, EVAL_CONTEXT_PREFIX + r.eval_context) - r.eval_context_description = method.__doc__ + r.eval_context_description = "\n".join( + r.eval_context_ids.mapped( + lambda c: "-= " + c.display_name + " =-\n\n" + c.description + ) + ) def _compute_network_access_readonly(self): for r in self: @@ -284,15 +288,18 @@ def record2image(record, fname=None): reading_time = time.time() - start_time executing_custom_context = 0 - if self.eval_context: + if self.eval_context_ids: start_time = time.time() secrets = AttrDict() for p in self.sudo().secret_ids: secrets[p.key] = p.value eval_context_frozen = frozendict(eval_context) - method = getattr(self, EVAL_CONTEXT_PREFIX + self.eval_context) - eval_context = dict(**eval_context, **method(secrets, eval_context_frozen)) + for ec in self.eval_context_ids: + method = ec.get_eval_context_method() + eval_context = dict( + **eval_context, **method(secrets, eval_context_frozen) + ) cleanup_eval_context(eval_context) executing_custom_context = time.time() - start_time diff --git a/sync/models/sync_project_context.py b/sync/models/sync_project_context.py new file mode 100644 index 00000000..bb1821d8 --- /dev/null +++ b/sync/models/sync_project_context.py @@ -0,0 +1,29 @@ +# Copyright 2020,2022 Ivan Yelizariev +# License MIT (https://opensource.org/licenses/MIT). + +from odoo import fields, models + +EVAL_CONTEXT_PREFIX = "_eval_context_" + + +class SyncProjectContext(models.Model): + + _name = "sync.project.context" + _description = "Project Context" + _rec_name = "display_name" + + # name is used to match an execution context method (e.g. trello_github -> _eval_context_trello_github) + name = fields.Char("Name", required=True) + display_name = fields.Char("Display name", required=True) + description = fields.Text(compute="_compute_eval_context_description") + + _sql_constraints = [("name_uniq", "unique (name)", "Name must be unique.")] + + def _compute_eval_context_description(self): + for r in self: + method = r.get_eval_context_method() + r.description = method.__doc__ + + def get_eval_context_method(self): + self.ensure_one() + return getattr(self, EVAL_CONTEXT_PREFIX + self.name) diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index 048014d8..53b2a290 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -7,7 +7,7 @@ import xmlrpc.client as _client from math import sqrt -from odoo import api, fields, models +from odoo import api, models from odoo.exceptions import UserError from odoo.tools.translate import _ @@ -27,14 +27,7 @@ class SyncProjectDemo(models.Model): - _inherit = "sync.project" - eval_context = fields.Selection( - selection_add=[ - ("odoo2odoo", "Odoo2odoo"), - ("telegram_demo", "Telegram (Demo)"), - ("trello_github", "Trello & Github"), - ] - ) + _inherit = "sync.project.context" @api.model def _eval_context_odoo2odoo(self, secrets, eval_context): @@ -126,22 +119,8 @@ def parse_data(data): } @api.model - def _eval_context_trello_github(self, secrets, eval_context): - """Adds trello and github object with set of available methods (see sync/models/sync_project_demo.py): - * trello - * github - - It also adds two consts: - - * GITHUB="github" - * TRELLO="trello" - - And math function: - - * sqrt - - """ - GITHUB = "github" + def _eval_context_trello(self, secrets, eval_context): + """Adds object `trello` with set of available methods (see sync/models/sync_project_demo.py). Adds string const TRELLO.""" TRELLO = "trello" log_transmission = eval_context["log_transmission"] log = eval_context["log"] @@ -285,7 +264,18 @@ def get_all_cards(): } ) - # Github + return { + "trello": _trello(secrets), + "TRELLO": TRELLO, + } + + # TODO: split into 2 or 3 separate contexts + @api.model + def _eval_context_github(self, secrets, eval_context): + """Adds object `github` with a set of available methods (see sync/models/sync_project_demo.py). Adds string const GITHUB.""" + GITHUB = "github" + log_transmission = eval_context["log_transmission"] + def _github(secrets): # https://pygithub.readthedocs.io/en/latest/ from github import Github @@ -386,8 +376,16 @@ def get_all_issues(page=None): return { "github": _github(secrets), - "trello": _trello(secrets), "GITHUB": GITHUB, - "TRELLO": TRELLO, + } + + @api.model + def _eval_context_math(self, secrets, eval_context): + """Adds math function: + + * sqrt + + """ + return { "sqrt": sqrt, } diff --git a/sync/security/ir.model.access.csv b/sync/security/ir.model.access.csv index 029b2cda..96ca48c3 100644 --- a/sync/security/ir.model.access.csv +++ b/sync/security/ir.model.access.csv @@ -30,4 +30,6 @@ access_sync_project_text_manager,sync.project.text manager,model_sync_project_te access_sync_project_secret_user,sync.project.secret user,model_sync_project_secret,sync_group_user,1,0,0,0 access_sync_project_secret_dev,sync.project.secret dev,model_sync_project_secret,sync_group_dev,1,1,1,1 access_sync_project_secret_manager,sync.project.secret manager,model_sync_project_secret,sync_group_manager,1,1,1,1 +access_sync_project_context_user,sync.project.context user,model_sync_project_context,sync_group_user,1,0,0,0 +access_sync_project_context_dev,sync.project.context dev,model_sync_project_context,sync_group_dev,1,1,1,1 access_sync_make_module,access_sync_make_module,model_sync_make_module,base.group_user,1,1,1,1 diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index eede658e..01aff7fc 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -145,7 +145,11 @@
- + diff --git a/sync/wizard/sync_make_module.py b/sync/wizard/sync_make_module.py index e735b781..ead0511e 100644 --- a/sync/wizard/sync_make_module.py +++ b/sync/wizard/sync_make_module.py @@ -82,8 +82,9 @@ def act_makefile(self): root = etree.Element("odoo") project = self.project_id.with_context(active_test=False) records = [ - (project, ("name", "eval_context", "common_code")), + (project, ("name", "eval_context_ids", "common_code")), ] + for secret in project.secret_ids: records.append((secret, ("key", "description", "url", "project_id"))) @@ -201,6 +202,12 @@ def _field2xml(self, record, fname): xml.text = etree.CDATA(value or "") elif field.type == "many2one": xml.set("ref", self._record2id(value)) + elif field.type == "many2many": + xml.set( + "eval", + "[%s]" + % ", ".join(["(4, ref('%s'))" % self._record2id(v) for v in value]), + ) else: xml.text = str(value) if value else "" return xml From 3c45bb40953a8d836af1c80e806be51f8fe133d1 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Sun, 26 Jun 2022 16:55:42 +0200 Subject: [PATCH 076/118] :ambulance: sync: delete html2plaintext duplicate fixes #415 --- sync/models/sync_project_demo.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index 53b2a290..b55a8116 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -82,8 +82,6 @@ def _eval_context_telegram_demo(self, secrets, eval_context): """ from lxml.html.clean import Cleaner - from odoo.tools import html2plaintext - log_transmission = eval_context["log_transmission"] if secrets.TELEGRAM_BOT_TOKEN: @@ -114,7 +112,6 @@ def parse_data(data): return { "telegram": telegram, - "html2plaintext": html2plaintext, "Cleaner": Cleaner, } From 0921168a5b34b2127f45bbd28187c7ca1e746d8b Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 29 Jun 2022 14:09:29 +0200 Subject: [PATCH 077/118] :rainbow: sync: rename demo data to don't mess it with production module (e.g. sync_telegram) --- sync/data/sync_project_context_demo.xml | 18 +++++++++--------- sync/data/sync_project_odoo2odoo_demo.xml | 2 +- sync/data/sync_project_telegram_demo.xml | 2 +- sync/data/sync_project_trello_github_demo.xml | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sync/data/sync_project_context_demo.xml b/sync/data/sync_project_context_demo.xml index 1d96408f..ed2a46f9 100644 --- a/sync/data/sync_project_context_demo.xml +++ b/sync/data/sync_project_context_demo.xml @@ -1,25 +1,25 @@ - + odoo2odoo - Odoo2odoo + Odoo2odoo (Demo) - + telegram_demo Telegram (Demo) - + trello - Trello + Trello (Demo) - + github - Github + Github (Demo) - + math - Math functions + Math functions (Demo) diff --git a/sync/data/sync_project_odoo2odoo_demo.xml b/sync/data/sync_project_odoo2odoo_demo.xml index 7919bdf8..e3c1f72f 100644 --- a/sync/data/sync_project_odoo2odoo_demo.xml +++ b/sync/data/sync_project_odoo2odoo_demo.xml @@ -9,7 +9,7 @@ Demo Odoo2odoo Integration Demo Telegram Integration Demo Trello-Github Integration Date: Wed, 29 Jun 2022 14:13:43 +0200 Subject: [PATCH 078/118] :ambulance: sync: fix error on empty eval context --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 5 +++++ sync/models/sync_project.py | 10 +++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index fbaffb0d..0c1a9285 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "15.0.6.0.0", + "version": "15.0.6.0.1", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 127cc507..f2ba61f1 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,8 @@ +`6.0.1` +------- +- **Fix:** error on empty eval context in a project + + `6.0.0` ------- diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 3ed2aca6..3bcf6375 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -99,10 +99,14 @@ def unlink(self): def _compute_eval_context_description(self): for r in self: - r.eval_context_description = "\n".join( - r.eval_context_ids.mapped( - lambda c: "-= " + c.display_name + " =-\n\n" + c.description + r.eval_context_description = ( + "\n".join( + r.eval_context_ids.mapped( + lambda c: "-= " + c.display_name + " =-\n\n" + c.description + ) ) + if r.eval_context_ids + else "" ) def _compute_network_access_readonly(self): From 799ae0facaa48e116b940796f463f89cff57974c Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 29 Jun 2022 15:33:24 +0200 Subject: [PATCH 079/118] :rainbow: sync{_telegram}: switch to pyTelegramBotAPI close #326 close #295 --- sync/__manifest__.py | 2 +- sync/doc/changelog.rst | 4 ++++ sync/models/sync_project_demo.py | 12 ++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sync/__manifest__.py b/sync/__manifest__.py index 0c1a9285..11497b6e 100644 --- a/sync/__manifest__.py +++ b/sync/__manifest__.py @@ -8,7 +8,7 @@ "summary": """Synchronize anything with anything: SystemX↔Odoo, Odoo1↔Odoo2, SystemX↔SystemY. ETL/ESB tool similar to OCA/connector, but more flexible""", "category": "Extra Tools", "images": ["images/sync-studio.jpg"], - "version": "15.0.6.0.1", + "version": "15.0.6.1.0", "application": True, "author": "IT Projects Labs, Ivan Yelizariev", "support": "help@itpp.dev", diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index f2ba61f1..2bf7a2ca 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,3 +1,7 @@ +`6.1.0` +------- +- **Improvement:** use light telegram library in Telegram demo project (pyTelegramBotAPI) + `6.0.1` ------- - **Fix:** error on empty eval context in a project diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index b55a8116..af9dbd38 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -19,8 +19,8 @@ _logger = logging.getLogger(__name__) try: - # https://github.com/python-telegram-bot/python-telegram-bot - from telegram import Bot, Update # pylint: disable=missing-manifest-dependency + # https://github.com/eternnoir/pyTelegramBotAPI + import telebot # pylint: disable=missing-manifest-dependency except (ImportError, IOError) as err: _logger.debug(err) @@ -85,7 +85,7 @@ def _eval_context_telegram_demo(self, secrets, eval_context): log_transmission = eval_context["log_transmission"] if secrets.TELEGRAM_BOT_TOKEN: - bot = Bot(token=secrets.TELEGRAM_BOT_TOKEN) + bot = telebot.TeleBot(token=secrets.TELEGRAM_BOT_TOKEN) else: raise Exception("Telegram bot token is not set") @@ -93,14 +93,14 @@ def sendMessage(chat_id, *args, **kwargs): log_transmission( "Message to %s@telegram" % chat_id, json.dumps([args, kwargs]) ) - bot.sendMessage(chat_id, *args, **kwargs) + bot.send_message(chat_id, *args, **kwargs) def setWebhook(*args, **kwargs): log_transmission("Telegram->setWebhook", json.dumps([args, kwargs])) - bot.setWebhook(*args, **kwargs) + bot.set_webhook(*args, **kwargs) def parse_data(data): - return Update.de_json(data, bot) + return telebot.types.Update.de_json(data) telegram = AttrDict( { From 743b1e47cc4aca7df56d0ac8e92b3eb728e91b36 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 29 Jun 2022 16:51:54 +0200 Subject: [PATCH 080/118] :ambulance: sync: add button to show secret parameter value Trick with clicking on the line doesn't work anymore, because it switches to Edit mode in v15 --- sync/doc/changelog.rst | 1 + sync/models/sync_project.py | 11 +++++++++++ sync/views/sync_project_views.xml | 10 ++++++++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/sync/doc/changelog.rst b/sync/doc/changelog.rst index 2bf7a2ca..c36a74d5 100644 --- a/sync/doc/changelog.rst +++ b/sync/doc/changelog.rst @@ -1,6 +1,7 @@ `6.1.0` ------- - **Improvement:** use light telegram library in Telegram demo project (pyTelegramBotAPI) +- **Fix:** add button to show secret parameter value `6.0.1` ------- diff --git a/sync/models/sync_project.py b/sync/models/sync_project.py index 3bcf6375..05b69ef5 100644 --- a/sync/models/sync_project.py +++ b/sync/models/sync_project.py @@ -480,6 +480,17 @@ class SyncProjectSecret(models.Model): value = fields.Char(groups="sync.sync_group_manager") + def action_show_value(self): + self.ensure_one() + return { + "name": _("Secret Parameter"), + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "sync.project.secret", + "target": "new", + "res_id": self.id, + } + # see https://stackoverflow.com/a/14620633/222675 class AttrDict(dict): diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index 01aff7fc..46c6dfb8 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -216,8 +216,7 @@

Secret parameters values are available for Sync - Administrators only (click on a line to see the - value) + Administrators only

@@ -228,6 +227,13 @@ password="True" decoration-danger="not value" /> +
+ + + + + + + + + + +
+

+ Here is the xml file to be put into a module: + +
+ Generation time: + +

+
+
+
+
+
+
+
" + ) + + # [PARAMS] and [SECRETS] + for field_name, file_name in ( + ("param_description", ".markdown"), + ("text_param_description", "settings.templates.markdown"), + ("secret_description", "settings.secrets.markdown"), + ): + if gist_files.get(file_name): + vals[field_name] = compile_markdown_to_html(gist_files[file_name]) + + # [CORE] and [LIB] + for field_name, file_name in ( + ("core_code", "core.py"), + ("common_code", "library.py"), + ): + if gist_files.get(file_name): + vals[field_name] = gist_files[file_name] + + # TODO: tasks + + self.update(vals) + class SyncProjectParamMixin(models.AbstractModel): @@ -442,9 +503,11 @@ class SyncProjectParamMixin(models.AbstractModel): help="A virtual field that, during writing, stores the value in the value field, but only if it is empty. \ It's used during module upgrade to prevent overwriting parameter values. ", ) + project_id = fields.Many2one("sync.project", ondelete="cascade") + + # Deprecated fields to be deleted in v17+ description = fields.Char("Description", translate=True) url = fields.Char("Documentation") - project_id = fields.Many2one("sync.project", ondelete="cascade") _sql_constraints = [("key_uniq", "unique (project_id, key)", "Key must be unique.")] diff --git a/sync/models/sync_project_demo.py b/sync/models/sync_project_demo.py index 68104c5c..32c853ba 100644 --- a/sync/models/sync_project_demo.py +++ b/sync/models/sync_project_demo.py @@ -1,3 +1,5 @@ +# WARNING: This file is obsolete and will be deleted soon + # Copyright 2020 Ivan Yelizariev # Copyright 2020 Denis Mudarisov # License MIT (https://opensource.org/licenses/MIT). diff --git a/sync/models/sync_task.py b/sync/models/sync_task.py index e190cb74..0f4762fd 100644 --- a/sync/models/sync_task.py +++ b/sync/models/sync_task.py @@ -26,6 +26,7 @@ class SyncTask(models.Model): code = fields.Text("Code") code_check = fields.Text("Syntax check", store=False, readonly=True) active = fields.Boolean(default=True) + show_magic_button = fields.Boolean(default=False) cron_ids = fields.One2many("sync.trigger.cron", "sync_task_id", copy=True) automation_ids = fields.One2many( "sync.trigger.automation", "sync_task_id", copy=True @@ -101,6 +102,10 @@ def _compute_active_triggers(self): r.active_webhook_ids = r.with_context(active_test=True).webhook_ids r.active_button_ids = r.with_context(active_test=True).button_ids + def magic_button(self): + # TODO + pass + def start( self, trigger, args=None, with_delay=False, force=False, raise_on_error=True ): diff --git a/sync/static/description/icon-menu.png b/sync/static/description/icon-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..112fcb82d7be8eee96a9b4dc21c3020549cd4dcc GIT binary patch literal 316521 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
    }7|{W%-qn~iTae~+_Eqhi_fK@5lh#5=ouJ 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:Z+;cN@$Pln$sL?& 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 z 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

    iJVYGX%{6E6LmCroG&7s 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

    %t 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 Bp9cT{ literal 2481 zcmV;i2~PHjP)EX>4Tx04R}tkv&MmKpe$iQ>7wR2Rn#5WT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4P#IXWr2NQwVT3N2zhIPS;0dyl(!fKV?p&FUBjG~G5+ ziMW`_u8N^ogfWC(1TiBs%b1g-Bz(u$Jpz2ai}5V~bAOH=HD@s(AQI0q!?cMvh^IGg zgY!OdgcW6#_?&pmqze*1a$WKGjdQ_efoDd{bZVYBLM#^ASZQNcG&SNW;;5?WlrLmF zRyl8R*2-1ZyeEHQIH#{HbDice5?I6%B#2N@MG0lth|#K(Vj)HQaUcJn>zBx-kgEhn zjs;YpL3aJ%fAG6oD?d5mC57Wa=ZoWfi~ylspiy(2?_(i|qi@Or{kK5(n%7%%AEysMnz~Bf00)P_ zXo0fVecs*G-rK)tn*IF%f)8@7>{{4m00006VoOIv00000008+zyMF)x010qNS#tmY zE+YT{E+YYWr9XB6000McNlirueSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00)UlL_t(|+U=ZsP*hbM$G>;)F1zgVT1=5pL_yRUNi$0^ z@sZMul_^f+Bg-itm0D(&kHJ)$Mki^?e9Y)fjaf~PY07bGtQ4Iv@DX7siI@l~&?2zx zvJ1=JecXHc!<1cN(S>{W-b?p8bN*oO*?aE!+~4n<-|w8WP}Q%`AW+1cR0;wGr~*_0 zsz?E<09Al0Qh+Kz6`+a~pu$QWibeacoqnaK5qx!)85)F*CC|T=%$`PJznK$2RyaK@ z4 znQ-c(;4aG-3@CNx#VMq`(Z>6Y`;3`}$*--0He4@_MGGI!EyaasIk;08FA)MJMQf0; zVvS^A-l@p36QLdbxVVcW!64F+d6bE(bj_0f{3=g*KW9xuvL7sLlH(ByHW7oT|9IGKPvBQ>Ko^$fX-W z-R*>QZ*_S-Wqe=~rmfwA@W?0_2PC2(=jGmMp)m=G&>9S#7JXDSbnz*?q_)%7zk~3| zn+ZhH=rI_zJjbt&-WYqkU0Uy7bc2$i>XRrB3w5>H1+{{H=}%(ns&xqSNo`x2%((K) zLBDzqYg6yAP+RSF!5+B($;?=uX@ zT+n5`gv|Mvy7Db(e9}gX=^q^3vh?!&s;Nfarj_tC-%!G)+g3Mz3L=cL003I8M#hpA7?SmpU!B3Tmmy=x z3O|?)S1WNe`(;VNlmyUAUwnYlBZu1`h^CSL{9+89_bLD&W$sE$ShNHxx;@UUtN0to zHogLHi&=7^oFwAV^LulkjflXoMCRC4)X z^~VQmarsn%-)9x43vp`eDrIq`yZSwM4a!d(zd30YDxP8-tB1V z@jZ%nY(V*;2RdXwK_v`PF#)e}3Rb$Gz*-e$ABfL_i&7I>V|gduZNF2Z6H1Zg{Z z#CT*ZeYMMf%h7V=D|rE}E&K&ed*Ed}V|)U#_I!oW%X2`f!+2>^6CH=~>v!PkZM(WW zPt{gYF39)^0Mw^XJt)}Wv|$TZBYpm&yVmo1++aN(wAs3UEXWXJ1g%!z)6d0k?Ai=Z zRk8d6`zwbIASFEmeFqKh`XMx7P;0`V)f)s4YwSe@g25C#4rLw9$je!cR;xu4@vZY} z1#Dk$mv>BCv2?G$O(+S?DtF9K7gP+2gcL3l*^Rr4pXZe6`p*0|R z)(c3UFbVyVhWITW_f%fH4X&ChIEwP&I-eJEZx98jub$Zb9r`5=;pJW&!{ElwY_N5g zMC*^}t4&r@Eq`Nm{!gO9lmt+FJwKalgyZ0@ydZjLCOXiv{qLdnVh=$O0$cvi@Kl@; z9jNGI=q;r!-H6!4r1o6@{shFt^$!@JbB^}kRkfA=4yNb_NhA-F*;D%KldXP#XKdLQ v5UAtqNjM9?g%qV6xK)5EKoy{hy03o$Q<>Rz52tqJ00000NkvXXu0mjfs&$PL diff --git a/sync/static/src/scss/src.scss b/sync/static/src/scss/src.scss new file mode 100644 index 00000000..351496cc --- /dev/null +++ b/sync/static/src/scss/src.scss @@ -0,0 +1,6 @@ +.html_field_container { + padding: 0 2em; +} +.html_field_container img { + max-width: 100%; +} diff --git a/sync/tools.py b/sync/tools.py index 71f4cef2..a292b3f1 100644 --- a/sync/tools.py +++ b/sync/tools.py @@ -1,9 +1,16 @@ -# Copyright 2021 Ivan Yelizariev +# Copyright 2021,2024 Ivan Yelizariev # License MIT (https://opensource.org/licenses/MIT). import base64 import functools +import json +import re +import markdown import requests +import urllib3 + +from odoo.exceptions import UserError +from odoo.tools.translate import _ from .models.ir_logging import LOG_ERROR @@ -60,3 +67,52 @@ def url2base64(url): if not bin: return None return base64.b64encode(content) + + +def compile_markdown_to_html(markdown_content): + markdown_content = remove_front_matter(markdown_content) + + html = markdown.markdown(markdown_content) + + return html + + +def remove_front_matter(markdown_content): + # Find the front matter and remove it from the content + front_matter_match = re.match(r"---\n.*?\n---\n", markdown_content, re.DOTALL) + if front_matter_match: + return markdown_content[front_matter_match.end() :] + else: + return markdown_content + + +def fetch_gist_data(gist_page): + # https://gist.github.com/yelizariev/e0585a0817c4d87b65b8a3d945da7ca2 + # [0] [1] [2] [3] [4] + path_parts = gist_page.split("/") + try: + gist_code = path_parts[4] + except IndexError as err: + raise UserError(_("Not a valid gist url %s"), gist_page) from err + + # Construct the URL for the Gist API endpoint + url = f"https://api.github.com/gists/{gist_code}" + + # TODO: support GITHUB_TOKEN + headers = { + # "Authorization": f"token {GITHUB_TOKEN}", + "Accept": "application/vnd.github.v3+json" + } + + # Create a connection pool manager + http = urllib3.PoolManager() + + # Make the GET request to fetch the Gist information + response = http.request("GET", url, headers=headers) + if response.status != 200: + raise Exception(f"Failed to fetch Gist data. Status code: {response.status}") + + # Get the Gist content from the response + gist_content = json.loads(response.data.decode("utf-8")) + + return gist_content diff --git a/sync/views/sync_menus.xml b/sync/views/sync_menus.xml index 175b63f8..8d954aa0 100644 --- a/sync/views/sync_menus.xml +++ b/sync/views/sync_menus.xml @@ -4,7 +4,7 @@ diff --git a/sync/views/sync_project_views.xml b/sync/views/sync_project_views.xml index 46c6dfb8..da8fef84 100644 --- a/sync/views/sync_project_views.xml +++ b/sync/views/sync_project_views.xml @@ -123,53 +123,43 @@ - -

    -
    - Hint: to add manual triggers navigate to corresponding - Task via "Available Tasks" tab -

    - - - - + + + + + + + -

    h&T(J4iiQy+fJ=hMw{1bIpW8~{7kQMEeQ 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

    + - - - - - - - - - - - - - +