From f34f1f62328fdf3bc973361dd09f62881cabba0f Mon Sep 17 00:00:00 2001
From: Fabio Manganiello
' - n_multiline_expressions += 1 - - page = m.group(5) - - if n_multiline_expressions > 0: - new_page += '
' - - # Cache our data - self.cached.update(new_cache) - with open(cache_file, 'w') as f: - json.dump(self.cached, f) - - # Make sure to re-split the lines - return new_page.split("\n") - - @staticmethod - def hash(tex: str) -> str: - return hashlib.sha1(tex.encode()).hexdigest() - - -class LaTeXPostprocessor(markdown.postprocessors.Postprocessor): - """This post processor extension just allows us to further - refine, if necessary, the document after it has been parsed.""" - - # noinspection PyMethodMayBeStatic - def run(self, text): - # Inline a style for default behavior - text = img_css + text - return text - - -class MarkdownLatex(markdown.Extension): - """Wrapper for LaTeXPreprocessor""" - - def extendMarkdown(self, md): - # Our base LaTeX extension - md.preprocessors.add('latex', - LaTeXPreprocessor(self), ">html_block") - # Our cleanup postprocessing extension - md.postprocessors.add('latex', - LaTeXPostprocessor(self), ">amp_substitute") diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..ea9967c --- /dev/null +++ b/config.yaml @@ -0,0 +1,10 @@ +title: Platypush +description: The Platypush blog +link: https://blog.platypush.tech +home_link: https://platypush.tech +categories: + - IoT + - automation + - python + - programming + - machine learning diff --git a/static/img/adafruit-16-pwm.jpg b/img/adafruit-16-pwm.jpg similarity index 100% rename from static/img/adafruit-16-pwm.jpg rename to img/adafruit-16-pwm.jpg diff --git a/static/img/arduino-1.gif b/img/arduino-1.gif similarity index 100% rename from static/img/arduino-1.gif rename to img/arduino-1.gif diff --git a/static/img/baby-1.png b/img/baby-1.png similarity index 100% rename from static/img/baby-1.png rename to img/baby-1.png diff --git a/static/img/baby-2.jpg b/img/baby-2.jpg similarity index 100% rename from static/img/baby-2.jpg rename to img/baby-2.jpg diff --git a/static/img/brushless-motor-1.png b/img/brushless-motor-1.png similarity index 100% rename from static/img/brushless-motor-1.png rename to img/brushless-motor-1.png diff --git a/static/img/ci-1.png b/img/ci-1.png similarity index 100% rename from static/img/ci-1.png rename to img/ci-1.png diff --git a/static/img/custom-widget-1.png b/img/custom-widget-1.png similarity index 100% rename from static/img/custom-widget-1.png rename to img/custom-widget-1.png diff --git a/static/img/dashboard-1.png b/img/dashboard-1.png similarity index 100% rename from static/img/dashboard-1.png rename to img/dashboard-1.png diff --git a/static/img/data-visualization-1.png b/img/data-visualization-1.png similarity index 100% rename from static/img/data-visualization-1.png rename to img/data-visualization-1.png diff --git a/static/img/drone-lift.gif b/img/drone-lift.gif similarity index 100% rename from static/img/drone-lift.gif rename to img/drone-lift.gif diff --git a/static/img/drone-schema.png b/img/drone-schema.png similarity index 100% rename from static/img/drone-schema.png rename to img/drone-schema.png diff --git a/static/img/drone-warning.png b/img/drone-warning.png similarity index 100% rename from static/img/drone-warning.png rename to img/drone-warning.png diff --git a/static/img/esc-1.jpg b/img/esc-1.jpg similarity index 100% rename from static/img/esc-1.jpg rename to img/esc-1.jpg diff --git a/static/img/esc-pwm.png b/img/esc-pwm.png similarity index 100% rename from static/img/esc-pwm.png rename to img/esc-pwm.png diff --git a/static/img/extension-1.png b/img/extension-1.png similarity index 100% rename from static/img/extension-1.png rename to img/extension-1.png diff --git a/static/img/extension-2.png b/img/extension-2.png similarity index 100% rename from static/img/extension-2.png rename to img/extension-2.png diff --git a/static/img/extension-3.png b/img/extension-3.png similarity index 100% rename from static/img/extension-3.png rename to img/extension-3.png diff --git a/static/img/extension-4.png b/img/extension-4.png similarity index 100% rename from static/img/extension-4.png rename to img/extension-4.png diff --git a/static/img/extension-5.png b/img/extension-5.png similarity index 100% rename from static/img/extension-5.png rename to img/extension-5.png diff --git a/static/img/extension-6.png b/img/extension-6.png similarity index 100% rename from static/img/extension-6.png rename to img/extension-6.png diff --git a/static/img/extension-7.png b/img/extension-7.png similarity index 100% rename from static/img/extension-7.png rename to img/extension-7.png diff --git a/static/img/extension-8.png b/img/extension-8.png similarity index 100% rename from static/img/extension-8.png rename to img/extension-8.png diff --git a/static/img/favicon.ico b/img/favicon.ico similarity index 100% rename from static/img/favicon.ico rename to img/favicon.ico diff --git a/static/img/git-integration-1.png b/img/git-integration-1.png similarity index 100% rename from static/img/git-integration-1.png rename to img/git-integration-1.png diff --git a/static/img/gitlab-1.png b/img/gitlab-1.png similarity index 100% rename from static/img/gitlab-1.png rename to img/gitlab-1.png diff --git a/static/img/google-fit-1.png b/img/google-fit-1.png similarity index 100% rename from static/img/google-fit-1.png rename to img/google-fit-1.png diff --git a/static/img/grafana-1.png b/img/grafana-1.png similarity index 100% rename from static/img/grafana-1.png rename to img/grafana-1.png diff --git a/static/img/grafana-2.png b/img/grafana-2.png similarity index 100% rename from static/img/grafana-2.png rename to img/grafana-2.png diff --git a/static/img/grafana-3.png b/img/grafana-3.png similarity index 100% rename from static/img/grafana-3.png rename to img/grafana-3.png diff --git a/static/img/icon.png b/img/icon.png similarity index 100% rename from static/img/icon.png rename to img/icon.png diff --git a/static/img/light-hue-ui-1.png b/img/light-hue-ui-1.png similarity index 100% rename from static/img/light-hue-ui-1.png rename to img/light-hue-ui-1.png diff --git a/static/img/lipo-1.jpg b/img/lipo-1.jpg similarity index 100% rename from static/img/lipo-1.jpg rename to img/lipo-1.jpg diff --git a/static/img/madness-screenshot.png b/img/madness-screenshot.png similarity index 100% rename from static/img/madness-screenshot.png rename to img/madness-screenshot.png diff --git a/static/img/mopidy-iris-1.jpeg b/img/mopidy-iris-1.jpeg similarity index 100% rename from static/img/mopidy-iris-1.jpeg rename to img/mopidy-iris-1.jpeg diff --git a/static/img/mpd-1.png b/img/mpd-1.png similarity index 100% rename from static/img/mpd-1.png rename to img/mpd-1.png diff --git a/static/img/ncmpcpp-1.png b/img/ncmpcpp-1.png similarity index 100% rename from static/img/ncmpcpp-1.png rename to img/ncmpcpp-1.png diff --git a/static/img/ncmpcpp-2.png b/img/ncmpcpp-2.png similarity index 100% rename from static/img/ncmpcpp-2.png rename to img/ncmpcpp-2.png diff --git a/static/img/ncmpcpp-3.png b/img/ncmpcpp-3.png similarity index 100% rename from static/img/ncmpcpp-3.png rename to img/ncmpcpp-3.png diff --git a/static/img/newsletter-1.png b/img/newsletter-1.png similarity index 100% rename from static/img/newsletter-1.png rename to img/newsletter-1.png diff --git a/static/img/notebook.jpg b/img/notebook.jpg similarity index 100% rename from static/img/notebook.jpg rename to img/notebook.jpg diff --git a/static/img/obsidian-screenshot.png b/img/obsidian-screenshot.png similarity index 100% rename from static/img/obsidian-screenshot.png rename to img/obsidian-screenshot.png diff --git a/static/img/people-detect-1.png b/img/people-detect-1.png similarity index 100% rename from static/img/people-detect-1.png rename to img/people-detect-1.png diff --git a/static/img/people-detect-2.png b/img/people-detect-2.png similarity index 100% rename from static/img/people-detect-2.png rename to img/people-detect-2.png diff --git a/static/img/people-detect-3.png b/img/people-detect-3.png similarity index 100% rename from static/img/people-detect-3.png rename to img/people-detect-3.png diff --git a/static/img/people-detect-4.png b/img/people-detect-4.png similarity index 100% rename from static/img/people-detect-4.png rename to img/people-detect-4.png diff --git a/static/img/people-detect-5.png b/img/people-detect-5.png similarity index 100% rename from static/img/people-detect-5.png rename to img/people-detect-5.png diff --git a/static/img/pitch-roll-yaw-1.png b/img/pitch-roll-yaw-1.png similarity index 100% rename from static/img/pitch-roll-yaw-1.png rename to img/pitch-roll-yaw-1.png diff --git a/static/img/pitch-roll-yaw-2.png b/img/pitch-roll-yaw-2.png similarity index 100% rename from static/img/pitch-roll-yaw-2.png rename to img/pitch-roll-yaw-2.png diff --git a/static/img/propeller-1.png b/img/propeller-1.png similarity index 100% rename from static/img/propeller-1.png rename to img/propeller-1.png diff --git a/static/img/propeller-schema.png b/img/propeller-schema.png similarity index 100% rename from static/img/propeller-schema.png rename to img/propeller-schema.png diff --git a/static/img/pwm-1.png b/img/pwm-1.png similarity index 100% rename from static/img/pwm-1.png rename to img/pwm-1.png diff --git a/static/img/rpi-pinout.jpg b/img/rpi-pinout.jpg similarity index 100% rename from static/img/rpi-pinout.jpg rename to img/rpi-pinout.jpg diff --git a/static/img/rss-1.jpeg b/img/rss-1.jpeg similarity index 100% rename from static/img/rss-1.jpeg rename to img/rss-1.jpeg diff --git a/static/img/rss.png b/img/rss.png similarity index 100% rename from static/img/rss.png rename to img/rss.png diff --git a/static/img/self-hosted-notebook-architecture.png b/img/self-hosted-notebook-architecture.png similarity index 100% rename from static/img/self-hosted-notebook-architecture.png rename to img/self-hosted-notebook-architecture.png diff --git a/static/img/self-hosted-notebook-architecture.svg b/img/self-hosted-notebook-architecture.svg similarity index 100% rename from static/img/self-hosted-notebook-architecture.svg rename to img/self-hosted-notebook-architecture.svg diff --git a/static/img/self-hosted-notebook-extension-1.png b/img/self-hosted-notebook-extension-1.png similarity index 100% rename from static/img/self-hosted-notebook-extension-1.png rename to img/self-hosted-notebook-extension-1.png diff --git a/static/img/snapcast-1.png b/img/snapcast-1.png similarity index 100% rename from static/img/snapcast-1.png rename to img/snapcast-1.png diff --git a/static/img/snapcast-2.jpeg b/img/snapcast-2.jpeg similarity index 100% rename from static/img/snapcast-2.jpeg rename to img/snapcast-2.jpeg diff --git a/static/img/standards.png b/img/standards.png similarity index 100% rename from static/img/standards.png rename to img/standards.png diff --git a/static/img/static-thrust-1.png b/img/static-thrust-1.png similarity index 100% rename from static/img/static-thrust-1.png rename to img/static-thrust-1.png diff --git a/static/img/tasker-screen-1.jpeg b/img/tasker-screen-1.jpeg similarity index 100% rename from static/img/tasker-screen-1.jpeg rename to img/tasker-screen-1.jpeg diff --git a/static/img/tasker-screen-2.jpeg b/img/tasker-screen-2.jpeg similarity index 100% rename from static/img/tasker-screen-2.jpeg rename to img/tasker-screen-2.jpeg diff --git a/static/img/tasker-screen-3.jpeg b/img/tasker-screen-3.jpeg similarity index 100% rename from static/img/tasker-screen-3.jpeg rename to img/tasker-screen-3.jpeg diff --git a/static/img/tasker-screen-4.jpeg b/img/tasker-screen-4.jpeg similarity index 100% rename from static/img/tasker-screen-4.jpeg rename to img/tasker-screen-4.jpeg diff --git a/static/img/tasker-screen-5.jpeg b/img/tasker-screen-5.jpeg similarity index 100% rename from static/img/tasker-screen-5.jpeg rename to img/tasker-screen-5.jpeg diff --git a/static/img/tasker-screen-6.jpeg b/img/tasker-screen-6.jpeg similarity index 100% rename from static/img/tasker-screen-6.jpeg rename to img/tasker-screen-6.jpeg diff --git a/static/img/telegram-1.jpg b/img/telegram-1.jpg similarity index 100% rename from static/img/telegram-1.jpg rename to img/telegram-1.jpg diff --git a/static/img/telegram-2.png b/img/telegram-2.png similarity index 100% rename from static/img/telegram-2.png rename to img/telegram-2.png diff --git a/static/img/telegram-3.png b/img/telegram-3.png similarity index 100% rename from static/img/telegram-3.png rename to img/telegram-3.png diff --git a/static/img/telegram-4.png b/img/telegram-4.png similarity index 100% rename from static/img/telegram-4.png rename to img/telegram-4.png diff --git a/static/img/voice-1.jpg b/img/voice-1.jpg similarity index 100% rename from static/img/voice-1.jpg rename to img/voice-1.jpg diff --git a/static/img/voice-assistant-1.png b/img/voice-assistant-1.png similarity index 100% rename from static/img/voice-assistant-1.png rename to img/voice-assistant-1.png diff --git a/static/img/xt60-board.jpg b/img/xt60-board.jpg similarity index 100% rename from static/img/xt60-board.jpg rename to img/xt60-board.jpg diff --git a/static/img/zigbee-zwave-1.jpg b/img/zigbee-zwave-1.jpg similarity index 100% rename from static/img/zigbee-zwave-1.jpg rename to img/zigbee-zwave-1.jpg diff --git a/static/img/zigbee-zwave-2.png b/img/zigbee-zwave-2.png similarity index 100% rename from static/img/zigbee-zwave-2.png rename to img/zigbee-zwave-2.png diff --git a/static/img/zigbee-zwave-3.png b/img/zigbee-zwave-3.png similarity index 100% rename from static/img/zigbee-zwave-3.png rename to img/zigbee-zwave-3.png diff --git a/static/img/zigbee-zwave-4.png b/img/zigbee-zwave-4.png similarity index 100% rename from static/img/zigbee-zwave-4.png rename to img/zigbee-zwave-4.png diff --git a/static/img/zigbee-zwave-5.png b/img/zigbee-zwave-5.png similarity index 100% rename from static/img/zigbee-zwave-5.png rename to img/zigbee-zwave-5.png diff --git a/static/img/zigbee-zwave-6.png b/img/zigbee-zwave-6.png similarity index 100% rename from static/img/zigbee-zwave-6.png rename to img/zigbee-zwave-6.png diff --git a/static/pages/Build-a-bot-to-communicate-with-your-smart-home-over-Telegram.md b/markdown/Build-a-bot-to-communicate-with-your-smart-home-over-Telegram.md similarity index 100% rename from static/pages/Build-a-bot-to-communicate-with-your-smart-home-over-Telegram.md rename to markdown/Build-a-bot-to-communicate-with-your-smart-home-over-Telegram.md diff --git a/static/pages/Build-an-open-source-drone-with-a-Raspberry-Pi-and-Platypush.md b/markdown/Build-an-open-source-drone-with-a-Raspberry-Pi-and-Platypush.md similarity index 100% rename from static/pages/Build-an-open-source-drone-with-a-Raspberry-Pi-and-Platypush.md rename to markdown/Build-an-open-source-drone-with-a-Raspberry-Pi-and-Platypush.md diff --git a/static/pages/Build-custom-voice-assistants.md b/markdown/Build-custom-voice-assistants.md similarity index 100% rename from static/pages/Build-custom-voice-assistants.md rename to markdown/Build-custom-voice-assistants.md diff --git a/static/pages/Build-your-customizable-voice-assistant-with-Platypush.md b/markdown/Build-your-customizable-voice-assistant-with-Platypush.md similarity index 100% rename from static/pages/Build-your-customizable-voice-assistant-with-Platypush.md rename to markdown/Build-your-customizable-voice-assistant-with-Platypush.md diff --git a/static/pages/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast.md b/markdown/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast.md similarity index 100% rename from static/pages/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast.md rename to markdown/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast.md diff --git a/static/pages/Build-your-self-hosted-Evernote.md b/markdown/Build-your-self-hosted-Evernote.md similarity index 100% rename from static/pages/Build-your-self-hosted-Evernote.md rename to markdown/Build-your-self-hosted-Evernote.md diff --git a/static/pages/Create-your-smart-baby-monitor-with-Platypush-and-Tensorflow.md b/markdown/Create-your-smart-baby-monitor-with-Platypush-and-Tensorflow.md similarity index 100% rename from static/pages/Create-your-smart-baby-monitor-with-Platypush-and-Tensorflow.md rename to markdown/Create-your-smart-baby-monitor-with-Platypush-and-Tensorflow.md diff --git a/static/pages/Deliver-articles-to-your-favourite-e-reader-using-Platypush.md b/markdown/Deliver-articles-to-your-favourite-e-reader-using-Platypush.md similarity index 100% rename from static/pages/Deliver-articles-to-your-favourite-e-reader-using-Platypush.md rename to markdown/Deliver-articles-to-your-favourite-e-reader-using-Platypush.md diff --git a/static/pages/Deliver-customized-newsletters-from-RSS-feeds-with-Platypush.md b/markdown/Deliver-customized-newsletters-from-RSS-feeds-with-Platypush.md similarity index 100% rename from static/pages/Deliver-customized-newsletters-from-RSS-feeds-with-Platypush.md rename to markdown/Deliver-customized-newsletters-from-RSS-feeds-with-Platypush.md diff --git a/static/pages/Detect-people-with-a-RaspberryPi-a-thermal-camera-Platypush-and-a-pinch-of-machine-learning.md b/markdown/Detect-people-with-a-RaspberryPi-a-thermal-camera-Platypush-and-a-pinch-of-machine-learning.md similarity index 100% rename from static/pages/Detect-people-with-a-RaspberryPi-a-thermal-camera-Platypush-and-a-pinch-of-machine-learning.md rename to markdown/Detect-people-with-a-RaspberryPi-a-thermal-camera-Platypush-and-a-pinch-of-machine-learning.md diff --git a/static/pages/How-to-build-your-personal-infrastructure-for-data-collection-and-visualization.md b/markdown/How-to-build-your-personal-infrastructure-for-data-collection-and-visualization.md similarity index 100% rename from static/pages/How-to-build-your-personal-infrastructure-for-data-collection-and-visualization.md rename to markdown/How-to-build-your-personal-infrastructure-for-data-collection-and-visualization.md diff --git a/static/pages/One-browser-extension-to-rule-them-all.md b/markdown/One-browser-extension-to-rule-them-all.md similarity index 100% rename from static/pages/One-browser-extension-to-rule-them-all.md rename to markdown/One-browser-extension-to-rule-them-all.md diff --git a/static/pages/Set-up-self-hosted-CI-CD-git-pipelines-with-Platypush.md b/markdown/Set-up-self-hosted-CI-CD-git-pipelines-with-Platypush.md similarity index 100% rename from static/pages/Set-up-self-hosted-CI-CD-git-pipelines-with-Platypush.md rename to markdown/Set-up-self-hosted-CI-CD-git-pipelines-with-Platypush.md diff --git a/static/pages/Transform-a-RaspberryPi-into-a-universal-Zigbee-and-Z-Wave-bridge.md b/markdown/Transform-a-RaspberryPi-into-a-universal-Zigbee-and-Z-Wave-bridge.md similarity index 100% rename from static/pages/Transform-a-RaspberryPi-into-a-universal-Zigbee-and-Z-Wave-bridge.md rename to markdown/Transform-a-RaspberryPi-into-a-universal-Zigbee-and-Z-Wave-bridge.md diff --git a/static/pages/Ultimate-self-hosted-automation-with-Platypush.md b/markdown/Ultimate-self-hosted-automation-with-Platypush.md similarity index 100% rename from static/pages/Ultimate-self-hosted-automation-with-Platypush.md rename to markdown/Ultimate-self-hosted-automation-with-Platypush.md diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index bce1c0d..0000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -flask -markdown -pygments diff --git a/static/css/blog.css b/static/css/blog.css deleted file mode 100644 index 5726700..0000000 --- a/static/css/blog.css +++ /dev/null @@ -1,50 +0,0 @@ -main .content { - display: flex; - flex-direction: column; - line-height: 1.5em; -} - -main .content p, -main .content ul { - font-family: Avenir, Palatino, charter, Georgia, Cambria, "Times New Roman", Times, serif; - text-align: justify; - overflow-wrap: break-word; - word-break: break-word; -} - -main .content code, .codehilite { - font-size: .85em; -} - -a:hover { - opacity: 0.7; -} - -.description h3 { - font-weight: normal; - opacity: 0.6; - margin: -.5em auto .5em auto; -} - -.published-date { - font-size: 0.75em; - opacity: .75; - margin-bottom: 2em; -} - -@media screen and (max-width: 1024px) { - main .container { - width: 100%; - } -} - -@media screen and (min-width: 1024px) { - main .container { - max-width: 768px; - } -} - -.codehilite { - padding: 0 .5em; - overflow: auto; -} diff --git a/static/css/code.css b/static/css/code.css deleted file mode 100644 index a099275..0000000 --- a/static/css/code.css +++ /dev/null @@ -1,74 +0,0 @@ -pre { line-height: 125%; } -td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f8f8f8; } -.codehilite .c { color: #408080; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #FF0000 } /* Error */ -.codehilite .k { color: #008000; font-weight: bold } /* Keyword */ -.codehilite .o { color: #666666 } /* Operator */ -.codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */ -.codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #FF0000 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888888 } /* Generic.Output */ -.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #0044DD } /* Generic.Traceback */ -.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #008000 } /* Keyword.Pseudo */ -.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #B00040 } /* Keyword.Type */ -.codehilite .m { color: #666666 } /* Literal.Number */ -.codehilite .s { color: #BA2121 } /* Literal.String */ -.codehilite .na { color: #7D9029 } /* Name.Attribute */ -.codehilite .nb { color: #008000 } /* Name.Builtin */ -.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #880000 } /* Name.Constant */ -.codehilite .nd { color: #AA22FF } /* Name.Decorator */ -.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #0000FF } /* Name.Function */ -.codehilite .nl { color: #A0A000 } /* Name.Label */ -.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #19177C } /* Name.Variable */ -.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #bbbbbb } /* Text.Whitespace */ -.codehilite .mb { color: #666666 } /* Literal.Number.Bin */ -.codehilite .mf { color: #666666 } /* Literal.Number.Float */ -.codehilite .mh { color: #666666 } /* Literal.Number.Hex */ -.codehilite .mi { color: #666666 } /* Literal.Number.Integer */ -.codehilite .mo { color: #666666 } /* Literal.Number.Oct */ -.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */ -.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */ -.codehilite .sc { color: #BA2121 } /* Literal.String.Char */ -.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */ -.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.codehilite .sx { color: #008000 } /* Literal.String.Other */ -.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */ -.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */ -.codehilite .ss { color: #19177C } /* Literal.String.Symbol */ -.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #0000FF } /* Name.Function.Magic */ -.codehilite .vc { color: #19177C } /* Name.Variable.Class */ -.codehilite .vg { color: #19177C } /* Name.Variable.Global */ -.codehilite .vi { color: #19177C } /* Name.Variable.Instance */ -.codehilite .vm { color: #19177C } /* Name.Variable.Magic */ -.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */ diff --git a/static/css/common.css b/static/css/common.css deleted file mode 100644 index e97dd82..0000000 --- a/static/css/common.css +++ /dev/null @@ -1,107 +0,0 @@ -html { - height: 100%; - font-size: 20px; - font-family: BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif; - font-weight: 400; - text-rendering: optimizeLegibility; -} - -body { - margin: 0; - width: 100%; - height: 100%; -} - -a, a:visited { - color: #555; - border-bottom: 1px dashed #999; - text-decoration: none; -} - -header { - display: flex; - align-items: center; - height: 3em; - padding: 0 .5em; - font-size: .9em; - box-shadow: 1px 3px 3px 0 #bbb; -} - -header a { - color: initial; - opacity: .8; - text-decoration: none; - border-bottom: 0; -} - -header .left a { - display: flex; - align-items: center; - color: initial !important; - opacity: .9; -} - -header a:hover { - opacity: .6; -} - -header .title { - font-family: 'Poppins', sans-serif; - margin-left: .333em; -} - -header .left, -header .right { - display: inline-flex; - align-items: center; - width: 50%; -} - -header .right { - display: inline-flex; - justify-content: right; - text-align: right; - direction: rtl; - opacity: .8; -} - -header .icon { - background-size: 40px !important; - width: 40px; - height: 40px; - display: inline-flex; -} - -header .left .icon { - width: 2.5em; - height: 2.5em; - margin-right: .5em; -} - -header .right .icon { - background: url(/img/rss.png); -} - -header .title { - display: inline-flex; -} - -main { - height: calc(100% - 3em); - overflow: auto; - display: flex; - flex-direction: column; - align-items: center; - padding: 0 2em; -} - -h1 { - font-size: 2em; - line-height: 1.2em; -} - -h2 { - font-size: 1.5em; - line-height: 1.1em; -} - diff --git a/static/css/home.css b/static/css/home.css deleted file mode 100644 index 07f56f3..0000000 --- a/static/css/home.css +++ /dev/null @@ -1,112 +0,0 @@ -main { - padding: 0; -} - -.articles { - width: 100%; - height: 100%; - display: flex; - flex-wrap: wrap; - overflow: auto; - padding: 0; -} - -.article { - display: block; - width: 100%; - max-height: 80%; - box-shadow: 0 1px 3px 1px #ccc; - overflow: hidden; - text-overflow: ellipsis; - color: black !important; -} - -.article:hover { - box-shadow: 0 1px 4px 3px #989898; - opacity: 1; - border-radius: .5em; -} - -@media screen and (min-width: 767px) { - .article { - max-height: 55%; - } -} - -@media screen and (min-width: 640px) and (max-width: 767px) { - .article { - padding: 0 calc(1em + 7vw); - } -} - -@media screen and (min-width: 768px) and (max-width: 979px) { - .article { - width: 50%; - } -} - -@media screen and (min-width: 980px) and (max-width: 1279px) { - .article { - width: 33.33%; - } -} - -@media screen and (min-width: 1280px) and (max-width: 1599px) { - .article { - width: 25%; - } -} - -@media screen and (min-width: 1600px) { - .article { - width: 20%; - } -} - -.article .container { - height: 100%; - padding: 2em; -} - -.image { - height: 35%; - z-index: 1; -} - -.image img { - width: 100%; - height: 100%; -} - -.article .title { - font-size: 1.2em; - font-weight: bold; - margin-top: .4em; - text-align: center; -} - -a { - border-bottom: 0; -} - - -a:hover { - opacity: 0.8; -} - -.description { - color: rgba(0, 0, 0, 0.7); - font-size: .8em; -} - -.published-date { - font-size: .8em; - color: rgba(0, 0, 0, 0.4); - margin: .5em 0 2em 0; - text-align: center; -} - -h3 { - margin: 40px 0 0; -} - diff --git a/static/fonts/Poppins.ttf b/static/fonts/Poppins.ttf deleted file mode 100644 index 8e2c01273fe40998a21037a6238c512c434a6ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154584 zcmce<2Yg%A`97|DuVmR-jvdP*j(5CmNtUcFS+Xo$S+?XQdGFYcM-nG-b_mmElu;;Q z6j}n5Jqo3i)j@%>SAixFN})i3mO=}qv=m}p|K4-%(3LDZq5b~<{ghaiZQb|0=RNOu z&U4-)AtVyXYROp=O48zSx#@(|gbWFpe*wJf@U%1sQU|~J9en?+M6&K9PoUlT;)>m8 zNl5)qB$C3S=737`<|q69CL!kGd&$tqw&5MR1WSs92(6V!$k)cV9@y-?z3zSZ*&igt zpY#)B!=vk;+c+#CK6Su*`U!Yr)t)#C{{CY4e&fWp-TO6P|Me62`F@FHZOYc|Bg0S5 zo9>VhA5=>u@vF8C@82OkpQwQEQ{eY=r-!$Vl{{RxN@}KbSW-lshy; zsvGC8r-r@wjltX@z=2muGz(urwX*?xEfx*+NCJ{U$ri~z$*km3G$Ub8hB=9xS7XP< zdN{GS_`iBB{(SLsiLUf@>(bGG2ly9%=U)&F{3~XPe?>gOzhYGUE8-dc6|B(1j0)DdH>~(UZ_$ adGfeMze7J!rvkG!Z-3_*znb+O`d;#=dC+# z9X@>c{`>JW7GA?htCr>L>(OfCk}UB)ksN`Ra`*)7F3}b>EJ_Zy u*Mlv2z6C=~k(`$Me9uLR--e{7%=)eD!n0>ik*BusDaNd` zc$tX;A|{~-xN5D;7emC>MTE5z%s+@R!vAK|aKAq%r_5w3f1BkLy?{Au>k-Pqa<$}I zm^*H*3;5>}#I@B5;?I3|u1FEH*J?cx?6r5&6o0;n= h44YSxhb>Hg* 0oh7_|!F) rRgJQm~WB!691ew%O*p+X;gDdI`*zdg2(f5N5y~{E+aZ zt(3)vf5S95@YWwL+(+#K`GCJANVg;gjP?;R7jD;V+ee**?V9*~qmE&Nv{~-6i1={* zd)8bV@>1VLTdBAHi)g6n+No| )0HN8#i>G;@a iK#wZ*bDPp Ib%iAJ*Uhg{CuQ1|XMZTW!+EeR)*b*$w!^FG84{gFE#PLBT}*s7 z!{bX~E~LP>Tea$yzMCB*Jmc=F2*TatNvmGEUN=VblsjPDEj)%9cf3D?-TA19%O=w& zqus4dL%}y?)k(Q`f5=Y#%PnMY+Y%cNJpB&E;s+_T50oW%GYWZgKFi|}HdMjniCGX- z^K4_Nj|hI0k)`P}axA 7ncA1`aIf|)-yyHlX#p;3KFp&j{h3AVMR@>V!QkreT` zsLhH+q`btnpZC8)o(eB7GcA!>ICl1SftrVN(dRKYZ#~#sMR*NxmcSO{Y~mc7pSNb+ zE4@c#t4_|*dqSaj`6|M^1$HxH()7@d2F!Z{Mx 5UkxDUoQ7rWJq4*~-!9wmbbn)WcW+IdQN32N zKCx+FX0(aOWNy?eEA%XD52Qk@y>!@DDh9ctvkNR1nBrpQo{#xQKQZyk!H%}gTib`2 zD=5$Je)&u0KZDf{iwcAQTYQH3jOahFad_KMQ(OPzH2pZxP=Uf{XETl`NyOnx=eg}r z&TyV-IUZknF7u!9*Qh19e1&Om$!@=TF`W =oL2*p5P#+m|Hbza>GO z+rZiaELK(-oNtg}XdhT`hys_G{_p w1CZi6$G3L98z#l!*mDNn?EnuYV#UGuPL&r|oS&KAye(;`e bU95^?#;uSw7 EF7w@?=uxuG*sBOIGvMOYi*SxZrsB2m>X9D ze$#>cLS!ZKUlHV5>#jt(&J|Ve#Baxv^UtK-c=+)3iEia7Q00)lye37yqgvud`wUC- zu-T(?oF$39E}~gQ!4-fGV-Ofuo6Tt*;=^=pL5HR;w-um^-XD+xbP@Wq)Dya;l7lWb zq^yuL&!V$bIXS81k=Iqmh{JX2#xmy7m+}-mh+$AdBF2=pDLD{Bo zCoBTZK;)?Z70(b4kUM?%EwBwHgC81N+UO+Sse>H9X9t#=gI6MtcA%OHk7+5qBUv;f zF|m)sVv%BDAfaCgDn%ZbuVwMh{_@qV7<*W |`MDViM@!J&*c4oq_G#a5A#b@`+6d T)8Q{D{ZRVrXy%dGWYovL6Ky0f};Q3gjYC zZ5bY9EI @G3Og<@u6e>vHm@kdwG}&zc*L#0JXjg!2=mgP#pI)kk4up|goV_ctt) z 32-E137ke;>bgNsgtLDA<($S=>FuDe)|CW%bANECCNeJWIr*7d!&L z3YUjM5ZAJJ<2(I#Wo%rQZ<*ea^QT*+%Tq3KM)jbGbIDoh@~lhjk(Xm$W)aiO-|;$) zO}}KmAx`gRpc^6h|1U8MGoABU0Cb2ww1|mWTKxCkSLAENY)sQYHuD<65;C!`{Svcd zxO0CvDvKGJVpt`dJK)2IJSkIvH M*$kO%wbKpc(>ClRd>7PTynU8A1axIC+Rx>sik%hBAB{kTF2) zgo^GtS4 h~(!irjqT|iPJW^>L|mN6f0esxVOMyGl>|6|#$ zi%FfVpX6|hd%5-eHN<(8#lFa~Dbpg^xset?vbz;Lqmnd1sQB?teQEJ?Jx9`4v((Dl z1{(~Gg@ug GAD}(^&X8+#zafz{H7)gB3mM=WnOItGyf8S>6T{?AigDwOpxc{*(}2I ziE`5A_?8sJZp^t%Wi~`%66B3 F3N@XU^L+{>S_GfO YT?93)GwCA1Xwy|=ooi!?h}E9iL#!= z7=QrgV_w6boNE`jm>3VBUIZPMLjI4oA0p3L{jVTEaEaod`ZFV2ruawI%eN}}(Ky0& z42 *AAI%TzTCLLd-=5$n{}66Fn(DAf084B 0yZ?Z4%lEoakWTP z-N&eU?%-?I*wxPiLXnCsSDb4jG LCc CnI8$~8mSWDWo%*)+p)^iG3<)&UbVfvxVRkpSRGXwm;>QPR^eBmBAC4!BlLv$ zaR0yRN(|}biq^z`p~IH+tX|XdI-Ea&DZaVs)Ee%^x7Mn%yj;1QR<8ykHpd`lze;4F z `cfj5+TCKDQ!^;@|{Ws^gwQQ4-j5$1(^mVqykNMz{jMKMIO zdXbLsQUnIu5^EE7D?l@OJRt@#o~4lsa{pW)b2C8NCY}1;U~|;^lO28|bVh2Qhp5B- zxin4X^UnxFMgx7R%BbwNn|soG>zHRFTg3gjQdb9uCz_yj*Ms3f;aweAUTrXzQs@=e zz>bAyE&vg4nb~GXgXo7s#E5h@ac#J*mbIfY)?{vbWBz8CM{92tG~KciYft #No2p7zB9{DrStrBv^Za)~I0 z!hrnP@>IaZLRl1Igm7oDi`k8;n8T8yMF@i` =Z#PPx2WP4YTfPm{W#1pdDuA+GCeZ|kW$IBoCA^gM$4OQQ< UmR&*Mp3Im96Ww3YJ?>v>W#EBdd)w3Jk*fVY^mu 9!-z6mwn@tuAlnLZupX1jqA1VNh?X+eH^D6TK9 zp>h7+bv~oHEjf3>MQ(X+vJbcE`Q~jwDR`GxZTap&H+!7 s~bRU*zONhoPh8TCb O1Yq)`Ioes%|x%eG--V#yHCd$EE7 zTtz{5O;{6f`UJ&Mxgth9i6du&xKEuk-lt#Wc&Ya@a}4dui}q;7N1 ZfH>v_45j0fRtRs)FZ
V9hS{6+y z4TCi4GqaeVgol|T^b^42mF7Q%@2__PSh6R-)NBu^;7c><4bMdk^z9k>Nw_tct| zwaP_{R(4V7+~Sa;#X`Krw&$CFSr{Dh%>;Dn+ti^kE*i`u=@%WXtlout8Z3mz!^Yw- z@iX^Qg(WcdZdtX)Uh(Zm!}1(QyOh pRJr5^(E3}KW zK=0ac>FY|}F5C<8glJw7z6ljQ(nG%F3yg2#v&meg|67rMrX+j+zt@o{CleR?(!VdE zyUxw4R@YZ8*4 p|zSaLHV-=gg|HZiHkBR2~zg7VAUU=5o zi1=5$A~b-vHbtz4W#b6$2Emul?5-VH{$ljzuegzD+g>{n=QMd6q7wQzS!iQNvct&~ zr*=5V`sbd8mg>-DbiQ4fb*_A=+viu+E=uShaT^nS-nKWD#$7|uh}6(o6|-K6L;Z@p zfZf44dyXv{C!D2cGdD%# b8sxK^^K!I)9Hy9m{tnT^sLeU9=$RH=$K2EC_W)acR)@QFu+@TmtI3 zpK?CY4JWJdO8EBvaQPZX_EWaT88^rBfG>sU){N{;Hq-~zsR+~%w}wlaP_=06p-oWI zn5XC%IqoBsrIl4s$G|X|{Y%v_*vrXLPpt~@|BakQz`Exud#;#SCYcwa04nJ?@JO_0 zEh}ORA)!c!vhaE>1L~l@eD0~K zepnVvKAF(&hAn5 cRs?L#5E&n+ zOC5GYZR-~3MjJyT)ZelS26tXGP1eq~hkiYh*wDV!WlC2t7FZ*q-4@)kw!zA_teuHr zAqm?@CwFq4Yai+I`5SHZana=-+~NeiOl39D9mfJOuo2&;78x1x H+=ZKFxhqfB z2=ycSL!sBs=8yQ+&~QH$j99(`MqCT%M^Lg!vQ6v*io-GSza2SllA+7XL!Tscm=@&( z@)bBnoOUsJ6H-Vi^ZTV0QoNCPfq75*+}Ae=3L&3v3Nqg(=bj($$Jke>vR7AYQB~ *jYDWrkHP*9&};;lbPE*b;B7<4>QG&n|uMcI19JVepYRS*4b%_ zWycP^fz3{%>NU~mnXTf;!B*N|#lh(?+?T-v^#YqG@>Qj%uh??1CxK?1PZe-uK6zeb zV2CqBHm)X`YZj*lZK2^{SLiKpd-PB;@jh;9Js%$t1c-?K*59dFoC`1y!TFvyEA@T{ zL7~pq--w((M)|*zUk~H0hp`SxrkC0)`j!en5SUD?gpF*q05%`3h=j W4QU-o{#dTT6-Za=V|ltXhlOr^i&=15Mq{tbH}w4@9dCWffn^ z(ajG|*oW+qOmORos}FgAJ*+DpgIIP~A#!=aAA?na&xtBR a#+%(gt?LaSepy zzalI8_L?b#j17n2LSDa-K1hB&e|WiNa|&ZPiGF^5;_I+}h?j{6a _kkeyHYlNzRj8f#MR6SVwS!V$^iSC~*~O@l@7g zgn0={+=#0`oDl o{n6xkb7n|Le;|OBCyvdKaq0KYHpl zb*ooTx1!?kYnw>h%M^#30=ky^ldWDR#IIg{3JRcfgjuMr2o6S;j%X%AacHkPA9Ce3 zKy49Ii%$?(W(-m{&ym4t59Gvr|01?*MsbnLd~!v114OW6xC9z>y-`RX;G4Li*?_{Q zPfp3+)jV?cT4S%ci+kK@Cra1`@2%Ss_14hOP|J7nO GF&)KqFb(ZF43kDpDD&e-ikseLB+k0pe*9E@KBX>2N!`<4)-{V(V^a}URIebre zB213K+~bgJJLqbo#3t;TioISeO+l$7B!w(-2 }40eG5 prDIy?fX@uBgA_3MP>sGunM%-B(|aTIL8hwr8&-)R(RAwhT Ia{dW($M$ 3ZnrUttxyd$F=NB-q@Pl6^Y$dV0Fd0J5ase$xb1ICN^(iq&8)5qxFXbi} zl0tAF;aL?`N3y@p1t0A1u(qdUwra$qjgy@?f=qn(ux}!zDlic8p`la1dGNu|mHc>b z;|oPJ)d(`xDzkILqZN#rwwE90MoxAeXZQg>!eXX)XTpw0i{>2qqQac76y_Y=eU}CM zX?2KO6zKt?r#nIcI4KS*0A3;R97Bj P``;?l7T zoI2}x+a_|X-`H0jIxe#EKU7)vDMeQ|2;+8H<*mUsVdO(&o26aDQ2X4;Yk;?RG{&&K zuNKCRZj8wWgrp&|8jLynQXD424iA|3m>h>zb#yr--anO%&bDO?*SSVBGdm*f{mjsd zn;fp8jQQt9R&VWHPpm)%kx}WZ==U;@ixdIynblBO6t;lB7>w%QMcRBtDRW$01{Fr@ z0*yJWi$qQr|B<}~Xi+(wmTHE~1!8g}S`^E{MS?_P+d#nr(*pz-C{_sNfZoy$z>E5( z;|=X%k4N2@nKy{ +fiCY!g6zmN3vgU%- 1 z`1D!GZe^kGa*BcW5NtzToZxaL<=Wn 0xZOaLQWn zP?$Bxo~VuWTojs8G3h6a<{lQ^iF>VBkb6#YJ#Lgt5trp+&B!u9KCaiHun#3ZVjWXA zvW%!(T1_IMWEcj*q|xw&tx )9w@a3Y 5b
!7ez^%5c{f1IPnE) z+zlh>j$$q1y^a56B*iuowLfFQ%ZS?o<91^JH?TJ+dw+mE?|QOPcGdNdljxp?2gy64 z?iO^}-G1Rj?8(M$H0~QANvY^+2lh5XRu6X2LkHGF7`enH;QyirLk)={HsJfwK|9V4 zfqJOUzdgfz@Aw($nw68Oq1zptSVLGRYU_qFm|;TISh&$=RQW0gg)0EP&I?aj874yz zZf%1W>%WV*FVF|!80$ldPSv1u3@nNnqkmegRThzme<7lBv3HsdiPoBI^>WvnMp>}v zvQw5@h?p6Oq3##^=;B3EVjMA+pvWd;=8$o4VLRlI`!9_9X-0PVK2}dp_xwE~>Eqsd z +! `@`89-BE*~1D*Y{v3-y_zU|iQ-S`SuJSr(V zA&Kr>jfgxb^l;f=tdT74tR_8=r;u 65G5#5lgPFlyjB@&msaee-Bx24LXWKH0%P2~t2 zEC)I6c97KrRo7sowXi7_sFxENVmI!7xs2;p#B^$+5-jd^c7y67@|?(fa#HUT59>%4 z8dh`QMe^5gJpUxS7u6yvz`%?SpAmg2tiCkHXlvWh)vAxiQ`ng$itme+{tN7>2u`r0 zj(8C}lW4>-lLS~7;+;q7zeG34ZW0YZwsz^uWTS)(UoFddmPfEuQFk@7(PAl?!Y93@ zk6`_B9qJwsi6lK56&$#WXQRalUqg$}C4VYK@{|jmd0B=hG;2cJR(Q5iU4i$oMMpa$ zufXMmYTJ{`FhfM+3Vf;1va&gCOo*r}(c)kf(f3AlO)kzc+_HX<5Ba%MMlJ=90hh=C z? 0#!PFe3z|{NlTDql8*?Q!ZqfU&$mOVHGc-r~(sUbk-_jsg(^Yc``}l79HxPH!TuU zmbu(Dvr$5_m(H@DO!^MUmIL^SlV8z1nhlT{vQbgrpG7r^0fEnvSlKh<1#o>3%e{ z3*QGR{rZjhpE&Bv)D88m_J&}ZEOAFOQO|rVigG-;+ERVmU{|;+I)95~eP=4&%seST zV3<25{Rm`7UF!{D>BB{Bgy<6NpQ1`Cg8?C5vM@hT`Vn?cHQg!ZD~ESu(Pcy^V+<&P zKX%mXtw?;jD@9J`#Jcy|ST!aRow>nzoR{84rxKmQeb{VdeiUTS#Jqk{O~@fuBAp{# zLgY45!zCdq#RWox^ik}@nr8Cy4mNXLsibetzd0?Vkn0G2%3st;-V}M4w$*5IiaJ$= zo*(w5rDGq$3r~C=>EED6IUi&%hFHBwa;$S;7l;p3qAD6jA!ykkJ%2X1Va!f%NzEFj zZJUg6btm~XK0sLo2Pk#YABC=~ES&drbU57YNoc*js5aJ`&C$1cLR)y|dv%JSqt4gu zVSPcSEDa=6vAqpNc8m;pv1nktY)dN;kn8q>_5g)?JF+2`L29jSg)2S}-nKrs&tMz1 zhHo4-b*xQj&}ki^M`Rl2ICE)?3qt*H?)A{B$xgWZv$>(TOx0@_I^5T&46Xz!zQH|7 z)3GiMZERa1L2H${7>~|^_nvs)jeE%n!-ER}coJDu F%hpw S0_w14bJ~cmJ>6-s;a2eh^?`~>S=}x5Cvz&Wmvxl zIioWgp{9=zQE*nc1+mCO{T_R$w!JwUb~cP0;w5Z%`ZpmDHP1-@6_st(!M*R3L&7@Q zu}7iscB0f2$hK^qjXf#e4ax-kpW}>+*_7hwg@S(Mk``?OM)_4}-eTak17zE0+c!+s z`*-9OJUn~FefY8n*@g4_&uh%lWR*FR+{v38w5{olzL1_@_f-6I+eZm<)l|Q}SBD(f zadh%;aB5~!xH=+qre)fvtj#mSO-mXr+zVVu)p|Yr@+U2U!C_KPY}%r32PPEc5a;1h z<^eL)73FnfcIf+`$GYL{zKH8F{;Lr;jwDB4nelDL&7vqpV0kV)w=CNk 7VuJ(cW-9PavHSj1j9vu`63PvpuT zLKes2u7hGJZZX%_n{T;`W_Jyql%Z#%ofNn^5Pg;23tveB-Qd8=7J#2~HC0j=2Z_7~ zF=izLmn#J3+Fq;F!5K$OPg+}ZT!*Eme$dPOOpuq7oS2YJV@dB#5As*oueG^-7I)J~ z&-U#-x897zz4>kqL6@U_9|QC)7UvuVf~JHQ;fhL78HQ|FZxm*L%138|S=)UFE|TTX zBB?~G?6GK}{Xs%^&o{f}XTHG`JCUqVLti~xgQT-s(Z6%&AQ{g&2VKl^j=cf-rjA~j zY-|rAFtVOgo(XbWfx#$}JHkwtlRRv=(G`n4ldo8k?uingwFG5$5FOS1`g*xOcKM<$ z$F>o}LUQte$sU2>`Frqa7Vei_3Zp^XWH!Do(=~I6b%=u(1zQX}{Xll 8-m^7 zOV7$LS#&$7tD;EW=tCwnFcv>Fg)IoJ!*c2KATwH(C?QLQN-?5uMhx@eQUpZfqpBkb zjk&)HtJUw@n>O#1et2vwnxE)5iuGvNP1C=?K4IYtDO!a!oGe<1pIo}4#e$*y373q^ zO+FHfoR7sDY@8&n42vgE_bX@S`=n=Hbk|}gpv%8HPAud4^aC_|4-Hf&-++v$$0Ek3 zB0EIH&=zLOe>2y11*Wm&?!6@NZ$Sw1wiA!b;8r++sdD 8A}K`9$hvXFR6oB_`dF-eBun`a66QA6vuEc_)AWO!-;p8jjZV{X zdJr<<2 _meCn7c<|tp>$A1p2DrJT M*IJR+TZryv_qn%7$m2N_SiB#T=Plh(7Y zk5gOzMmVcTM?=zFe%=f67J?qRT36T`jX9^BlMo{cvfkMs9JFZLT>5iCOp=%%m+gH6 zpQNa+wJ59b-5bP_p8m~4e!3!vru6D7QDnLD7qIm3SqVEIPh{m-q6n GzLi^c&BO4`AFF89ea!xlqRixv21lSvgN)Y4V9$uzWd} zNw9l8@8fxn-gQ{QFR=SrP=JA- kpx3I!-TSA{UD3OET8xjT3A5s5K( zepnH}nXC}U@$Q3JKVE7~j!<(P#^0}JM@1z@LTG+^iO~$^6=5We8&bG#W%KJe7!!w7 za5d{PH{=1sHww~$P9~6)$l@@V7Tgzq?V3IP_CbTZc~!kxbZee#%pkoc(Zk{a-A;hm zPCO{fLrWZBwSl(axT;xQZW*B61LzJt(@0HoiPMQdHE2x6-MlEtgj5~Hw@&cd!kz&R zBrMz{x?wIq4z6Xzn~NYXrni8Qr-H5>#^~A=_r+~X*taRhIEMDDx~j+kAloL{cTNtn z%}lOW^vpyIZCgj-$zV2iUeKN?cMF-Yc9xl$G_9!AL?J+S9xl&XMpi66lr5|?OFW^M z-H7uG)LgBrVUft^2}K+D)rJ4ahGE~ak;OM78E(L?Uv4hAThj3oV0R=zP`q_29FruU z240)JbqdZwZcEs|#1w45ynTz)WU8YA(!!93%E>Jpz=XHCAU*- KqpHC`>9uww*~+~7hK&^5}SjO5esN)^taaFcHygGAr(5H3qv#JLknC5iaK z{`Q`pmUGT(8O1N=&S>3lcN)!(3ucVW0QuhE&Lci|JMI2}XYv3+)OhXwpl9-+Zm`DL znVQ~LGrVP-rtiV~c199q+QmYyjW%Uat8tt &C; zd%bl|uNO9B*m`9Z){2AAmXH*93lTEyJe=A_7X+~Oux dv;!N zRn9P+iBMLyRyXXl+jn{K1(=~DJNk&0{Z6mRLQ>vNti=TKZjiY|oDE|wiZB|Uc`8g| zvY tG zuf2CFVS=XriKe%q!O5g~oppGsxja(=(iH)|!By5eWbPc2ii#?6_KtU8F cN@akSKSGo@Pd #en5~ll!)$ ztjH}<=jIGqJZQoj*vm&lH*fDF8c%n4O;(a}w {J`zlC=G!%){i1_x82~2L}SJeGaw5*WtC` zt%Na9_9g>kJzNSVV77IprT02|ClkhK`t$nwy1Ir&=i_T>r@g)uHVMGfFb|R_Lvq25 zVi+J|D_Hiyi>p~Y39#nF^)22JWtSLoKMy$_ zf;jFGd~+)YaAOEPMjU5$A~_^YqGsmfMaT3t}>Y}%0QR;g{3C2-WF zuGY4hrjLLM7d~g6f}0>v4~ekMa=|r%c_6)sFIg42$|VKAzs@nf ~TL$VopfiJt zG*Qj2hQPk5=0kL|Tjy*c&@h_l!O7vq9n1_ldC6Uz 5I&<_Rtr%zXV>*hrHTPCiZVlS&?6=$uCrvm$Y>I`X;-?m)f#+ ze(*wYY*Kdsdt>HpayN_u-;s`NCp8VN%0;%lq{i2Y4gCI%rmEpBC7#sAs_HhCO{257 z5JA7q*4)ss4Jmw_y!7_FPA}Fpch(!qOj)F)A$x BEd!nXb-`E!sM#OHAdeuqnJEpY_}Rs70}^>dLmMc$g6vS;UL zQ-8IxOiP)mAl=k%n(`0>r-|Qm`#aB^37*r? !%;_C8Rut(dJK5#(_gS_! zbbP0Yy_8s1hWzLqUp>>+*o5us?$JZr6$#|VGHw3$Dcg{~!BT0iDqb0%yvotg>os?) zU55hrn&QyS6CFg?%!M`!RS#)3tP-# *+XCDaV|rQgo+MOq`NcH%D-RQ~;`HMS;-ymMVyZDRDAF z<6D8GN1=1C9JjcQhAB}B!o1fry`ziB0i5I)Y)4xhg(NEJpFo$WvpmY=*;~1VnGZ9V zuq1gx171LaQF~h+W~HvL9k 4W_9>+On(=a^??UC zHKP18UW&4EBVZ)qSv~2RT2fBea!YAFE9rZW42F)gl76x50t!of_uZVt>~1jXG@Y^B zX#zCo!XW|xiP<_z_IWvx40oiHz`kNnw%l>Iy?4tW?rJf>iu!6?SG=H;vK3SaP9+ z7p#$Avs&pNdAyKg@x6?tlYTRQ8!KJ%GBmy@5s!+`pkWUuk(~`P;x4SjDegqGQI+c} z0Be}VMR1J~xera dxGM=(Oy- z#hcJvuW5wt81XLq5O~Y5{ulRP<7r&62E{g50oM-WgnmPq`oWf`;nDdocx#S$<_=_%WViSqwG_v@z+*mU$zSuLS5@5D( zUVO{vxYILXkUORAa2+Wk9`Lt)E*d)AmK&(#Zp)2ZL2+{qS53p5djQiLi BoFg6$JMGaBK6_*ytx!DidUk G-cCPay_R{ zKa`b=jQ*6`v*DQhob)(!9P;2!bm-JhQp`3(d<;zGyK-Z|6AE*bju|*)4I?jF)O`&6 z6kDZ9k3*C3x1;(CHFfxV*jDT3Y#EwLO0QKpJ2r$~Ag|6T)^=zL^Iv9Yq16z&LYO!Z z-B_rwc~@TtUgZbQ+7eh_n!cu+HkQ#VN_;wKGelH|8%yB|J%o2YDu6Ks9i@fU&QVXf zR@$&kg(V)|0p}0N;^D%KbI=ky%iJW(I&ou!l;j+AX~+tnt8<7Q-KG13+tQ5okXJSn zde*NHS|RKhfmR5F! JN1v|F$fk53J=$eoJEmRyW3QRJ?%#W4d} {&+2>R^->S}27;DYGw>(UwwP zAfba7D5DfgDFkR^>+<_P&vSP=E!*k;-+ltY5b3*~?;bSmdtR1+lg>XL9>9kd?4y|u zXtaSB@FvvHNna3OIp!-9!V?w
=Ui*c1=Hl=*MOB%EQg~y1NPi6G2XhDH=fPXX6HG!;Cs=zz zu2`D1k?IS{lKMN2dSDCv!Ry%lgPTTr)AG){@`m$2?%Qgps;*_+Os4N|^uDY-*hGJ9 zw;pezheLqAao9J1-C?J*siR@n*4gP=cX_Qv6PJ;ZU@mvWDm&C;<0CuNBX!g?PgAm2 zfcFF?^-rY5f|WjKwV)o^yN`OFTc4%s)fu2eV6Wdxp=TFTm}dezWAEn&*n0I%YEe1g z@9@0_9sMw`rm+z}P`(?uTnSaNfC<>ZDZEg~0!rOswm8UlV~Lbb;FatjogL|0pR@0( zTQ8z#`upZL%CBD5{GC(P-rm;Tuz&aNoiK+7avC~$ha#saCJ`_pcSeyJ!M3z0n5Luy z1W$Sc4oo86pQqNx&i>*nCM zPFl($K}C^KsT|bFB~HIcrzI~Gtj}GLPu#d+@9+$0Pk86YFQg9mR?BZ&xSQYD`O;>7 zW2X`}d&9;~+=T<(d1y)!L0{I^;_7VJvwi1|Qx5LEhIYGWc$6WH=WzzIk(0diIl!a< zRSiX73VI5ICED*qkv2lnTFxPO15fT8+uMY0>-f5uJ5CBWb+B6`J*0E^FgclnOr>xv zhtG~O=u%RFz-QhJp({DUX7N0J{uc$%pw$sXA}yJpU;<7bP2~PHOYNqT`;6p%cIWxo zbyi;)^P;p(|KTdbra|s2h8kvN%9^1LII8WchppJqpmOY&G10x7#6Cuv%>t-UAMCPq zLpU>}#=a*RLj(_$DUPfUVCXP;r(afotZhRZ%htdOvp5zS*B04UX4&3oR*BC@0VjVz z1;8OH!fzYk5jt-eVwNP~euy7p6a5hJ=+3Pd{fPHM&SOR*c_AW9;e8N*@9Z}W+6z@J zPLv4NMY=dSoOF_RC3LywFt9qEt1#%b=Jw44qf^;UTE8FPHj`G~)w}QymOc3rtZtEG zyVQPhog3|D9GKZRwlPgtz=L}De4Vnd6-Jw;t2@9^MgI9W^1lFts6Pqa@xhu%THn;2 zGsHL$LF5kT!jk_*=)!^yMvC(;j*I-?Cw;c;%&*o@)J5pTg7(IQm}MYYsh0F)5qy6D z_!=O;0+kqvjyP95S 6JIGlE|>!LJ|iLt7(xeiDrX3m?xFL+C#vsRV>+ zaC%SPFFYD 1IyaQZ(gcdF?6OJKgCd8d)6?0uMat7|SacF(+f!0fo%O>Ek6!!L~yL4U3 zEB2_V*{QA_(Xze$RHN@x`V-<}OBc%3bd^_?>uSG!VOlyIlp?-=_XIvQ)j#X8_e=!N zpwS2$nCVAXwF0hYE)x;bi-Oik2N|`munqC<-;jNz>*!5k5ZN?7v73tT9rzXf$jO%{ z$6#%=*d5 #yOWDSqYU`PE%wEZkx z9C_A6-vTeHN~jCrmVfL`f|VAqA`XNGwb 8-V}9K6*A)cy0>7ikk<0zGdD7z&hH;la_Uh4d?Kl_4xvL5`L1 z_|3LDqqkdM>o7Um?Hx&7md@$A>T2tbp_&Zt5_;^WYw4KsszS9%U9PTi+qq9~E~xOj zbd52xSZlSbff{x=ZURFj(h_=(mP5&uq{3i0L(0#Q$T&8VxYFJvAzMXt<9-)U)I~_x zPuUr8%>}Y$OxoPj8ZzYomWO+bMG>bCGMU0eQc$N9QnP-t`sGAgHkZ!*QYm>w>|u%D zK(-7yZs-i0&~O}ZHE}KM&0>;+d-8DiLF@ GrP3W8Jw zGd}C~o+DkG!@ sL+;ESgLJ$=C}vAs1cPf=dEM8ny~y zI zxQk>{Z#{jN)>5y1h #|tnGP%CSY8Y@h&S%+@it_S$MU_gsZ5P(7mGoXL zfiUTE4)Vt {)|hIPCnts?orgJO!eZPH0NO8 zay-4R)kS&70zEGo!cG1v;O2sS*`&aGWZWg$&U3&K`;<#2LSMy!!u~7dKf|lYY@3p@ zc6CI=`>s58PcPNj-|wqo9*60m5qbu1C(8g5=$o4G@E6Pp3ERo)YGAvy*X)Xst@hYL zsj$y85-DSfslmnoHR>UM$XBI={M0!RL5mmC2(LF_4l8EPdt#)!#+#CTUdP5GVHw@q z;N2KYM^Cp8bN`?}KXu{+H$SMU6X&xoY?;`iEGesuh+<8RO(%DC;_V6i(kvpw%(H-5 zV6}~3)FCzRsF^Ul_(tA+$UKW3ZRzgA5cys1vcq7GMOtpi<8&q9REK#b^|=F;7wSHb zfK%i>hRl`0dkjNRI=97z!H7j(R0uW>G|tzc2hpYa0eF>*Wp_o(tPAlv_&64vkHAI` z=^kMwHFDEO;*)s!2qZ3$1G1~O7gfbGL@R~cR~341W)T_$oG?JcS0Q&-q-2Sy4BT`jJ-ZT~EHSRd zPt!;!1=VwYp>T9;$Ptk+#0ox|A-PxMCmqQOJ`I$s5VCHfXlQjgVs-!pY7qDfUIp^+ z$ZjMdR{$fAPaj3AkxZlLTJlHf8^m>ybVpv3x3^vm(_0+#$AvkO_jrs;(PLD#r=&W{ z$P_L(p4K*#rIAc<`QCPDBs(F~**1Vw0heQ7sNbK9Ered5q99O7^t8kj7xqd>Ke0~g zN;7-w+hJYOwGT2$W2TgJ5fj7kjRgs{Mb-7bi`W?$ NxnNiCF;~5!)DrJl z+hUR|z&yNqx*N78ZQazmadoP-NEGI-t_{U8vX~|tj8#n3nruxqu6Ed|Vsje|#W3vz zTa&o&i0i^|=C+Kv5irNwfx`Bvh7)0NL`8}keKxRNH6Jbli1<-gHt$GT*vC8wmw`Uw z*%aKl+F_JFOBEWh=iU;5MN#e-OdY_AE*bE#8SsKQs*+hdtZc(T%{#Ct9S{Kasql@W z^pB T_+ZsYx|S|MP?KO06|gI zSPdEIfQzHSHJebvMrwEv>-lgN1cJxla!&1sQou`(RX4ll2jn-4rJecPC0M|Uk*g2d zN%H)_uKE-^OxA*29~2v931U86lK=?geVwZ8|Lsvk)EheZb2<^N%V%xYH#%)INy@ zN-7}C_n|%MUt6es$wQ{9j+9RT>^_}guo~GQL-wfAKAE|&o_S*7`x1Dm)!dg1HCkD# zr~s;KyOb5(HMM;e !}(AP8}JA4gx`$kAN59jZXRA-07N!$22G^D|+^1nH&V za)p!!??ozI)c+lG!Z3);Dy@{0LdKb| z*}aRo!L9@k$pZd8Xjv$75R)Kr?s;<%n4J`wK@c_a Hxa$fg=>)D@3 zq>8%f_b64&y4eihA^L-?ysnLx?^RKoCynC<-)aFVu|ovC545iVN!4ZLMvEpfB_+kA zaKuiujtea!zMEimgH7Zeyqb>zA2(QyO@wzmLVSrk_$h}+OOgbSlslFpEB{!MN50@D zKv|+^j| rAcxITn$`}(>3-x6gJuUIPJ_ewI;7v99)FD1*(ezIUm;K>p>SG}-a zAP$lbK52c){-vlBA%U&)QwZ6y&zUXo;?-#5PH2u1rHewfEci%51Q%$&z6#92r93J{ z`@FmnUDLu4a|!H8@y+uXNivHh{bmmEhto50cJ_7AXd#GSU}gbgjX3jwpCHc1q6` ;)=CETq>wJ|2(;$=Q$wwR zKUpVzeff}I^yhczzlJ7wRt8AknB{QW!ZdU6+FQ9bf=C@&D)Up2BXuKcaQYE7g<&sZ zU0^;4*>2`_cyVIonCKu>1X;v)6+3d1BE+JgVgs&PF|W^gvi7u$99%uvAoW})ug^)S zO4l|g`>vs1LZ=gG3#Cyib)62qroqwG0DW+8E^HG}M}4gNx&aSkX a(%tcP^r_ahia)E{`4@;SpqX30G!c rK~q3VDz6 F9n;z&q z2ZDqO5Ak&mg6s_NvLo?B{(m7tWOF5r=;a5c37vBioyduv1-l?Xyw$>|D$apk5wk$+ zMG+!49$%+HTOrV8g3xZ25N#S9#AHjJ5x!X?n61*+h2McUDs#?X!MYdL3RnrDS5Qr< zStV7M(wwp%YSLeK7OVm3r1b`9jR1H Qq;i6g1hi}-wj*v3;dl^{Dab%CWZG}Bu5gagF*Aco>7ztyT8*%ULrmeF3 zBut?yeRnYr^4+&SY0`y)Hrxxg1@eM);(j7B0w9BqT$FP_9l2;50+JrN*pnOVGA{}o z>Cat0e56(P@Ycma &PIf`) zZuQ+Lh)KjY*AU|4PS=k_;$xraG>b5+g@_ZXElXgwC|k}2xw!bxhhC-sKjD|2633l= z VzAm;3ybW0ZwZV;TA8{EI%&t-E#=ZIMyJVEQ?+hgTAa4T0k>7` zR08)Sa$DsdF@7c*>~p{j<)R0LOU*(E&8G^@VL|TpSQW6_oB~8OpiIsnjmD(Zx z+)6O!6(wpv<`ECB`00SWK=JYlri4z2yoUoR(Gm9U%H94boKWR)ph`1D;TxlNBAEt$ z6SCk~>f9*<(H3sG3ppnhi9C;!bC8?$>~-iI%@Xwaapq<#>W*roET{{QKMJYj@6!0m zgv8}HRR+VB#`Wp=NX_D;QXBMDZv?eYy-jLveu80ou@2Axr0X5_mJ<8D2$e|PUs^eo z$_DE=+VyBC);$YH*s)VElYM3YKLf4rkHRwm_J@51zjZi%iyPwY7Qfh|8VoE_OaO?5 z&iEkPy*T7c^~Ot4iB7;`4pUmVPd@h~?E36QyFO87tassXv?6k&yq|3(ox*p_*C|p_ zwvxY66{%_d9?^6Y%gq6{xxtl_FljP>t9sZgTMQTCi=eb6y0Z00cD>&NkyIA&%M^;& zq(T IgV2dccs*t6Y`4aWYJSlXvCI(ax4w}cHd3D~$oRao| zb25ogkrOn!fOLj2bZv8>FAJAwS^)!{q<2;Dg+oM z(Wu`Xb_7B)jwRXlz@Zx{Z6wAbHc+vw=Gu&Ujk%qg?jM_qK%`j3ncH$QsZ5m%Hiy!& zLGwBPiROvM42K=mDa?ht@{NX7q@o*^cHal_$v<@}V1`G`6g T$Qawcs(ppi=xA$m7@RBHqxB<}rfIESU8sCqqByAj zBuDw&!VYH3RgZES;q81{RJx%wmK|{v8N2JPUHT%0TVa^ASjN-i&1ErC?UA~Eufy>W z_o|2-UkA zTT*;Kb+yzqtqOSC)gxxzv0d*%fj4<*4-63+q1_kRy$VJTFry`GfY2_~!xH ze o>|z$IVdlcU+Xh5MRan))?V>cKvGHo}bEjxFT~)c+%Mb`X5&E1R0W zBb~M*9?Y!(dn(M^RS6Umoq_Q53Yb!2ZWWpk9n 1>zW8pFGky zy?qB$@4KIS)8%%wQ0E8EADi_C6QT_F*1G_}P{;f5*FG!H$(``cO7Jo2kX!?2$m9z= zs(?vgJk5aAsvjh@EQLTt2_VU?jgUQP7)(tbaR89)l?#b22ug}uYB1JRqp!uH$894Z zQ`eK}SR5xXmjm2M;E5Lc`A9q>KNDg71yO5AA3!5hK$vhj-q+MTy0XGGJh_9pd*S(- z_=Jgu5#O2mI{NZ(3!7T36&Gyz%)u2G=IClqeb&-LT`w+cB9gTab1@I{c+ywlCm8_b zzbJ`8lFV`L!w&KAk@U1K9b)J83k!{8k9B@y6FnWcsj0iQumrQTxY>}1&MW~-sq6h~ znovdC&aMS`s&TLVvS&E`)C)Jx&7?;j-^AnGh{fgSKERFn95}a4C|Us+tOG9dGtj)3 zB&vMEVH^-69tV%0F%{Th@7$B9A4DW=_SITfuR1h B0+;_~jyyd_Nsley}c=Z>T#F=z>@GO@kKx1MZCb zps~s9pz~h_7c?5H;(#8w3O#20qu^)*bnOO~k|8&f*UWMhKW9Tc%3o{{(@T7+MR>?q zt4Lok|MZFJgoiD6%ym5lHxMS 09?v}#;{&FjOEv8s>oiB0Gx;yz-y*_;tpWkQkWQtJJ5Q_ z?rwCq@QAU$fbOpZj2b<9xGlwZTS||`+_yf!H-Ih5YdeRh8o3t) {)0pLcv6~zifP#=}xPX+)U!i*H8yx12+TfOfpilSN@{6N1q{{RMA_P8$};B6R7 zD%{m1HQpEOUoBsiGB6~C+0T%Z6*Y|wMMa1g&_#=2&ZV9QN~6mVh!-S(l?OjB07>^> z5t90jnmjEw`b%RHU`6G5f)z!xzHF=2-6)8ddEP@rEM?(^m3Q+=g%&xSV3!Hq5kHVsZdyhz9H|;{ z_Zz_nzi+>Z4#9x=FoLP>o?0cvN&em$B4i>?e_6_KPxMymq*yw*ZM+WP(IjS^$eo %E*=(7AsJc!)h1R z`0Zy-6UA`>ELV6dxznI+Ps!-2M(Y-q+OxoP_Jrl_FJR-sn+mP6ys)?nj%0ugpZ&Ky z7joYU;G7NL0TE1#KXnyGeIo}H`EfW?j+U{ZR0jI*Ac6r@MGni3)uHPL)GVAoXoL0L zJR@ZvX5^6z2XkKEBb(N?dABqel9M=1QfDpq3}JEIHfuW^K9I+ZY&$Tu#nHXd$-N?I zbm^gkr@hV=m#InqCxwRlh)6K$x|b_~t7YI>)x+!Lca|;MbuW36A_4`ta!Wk!6y7O_ z5|Vl_NG4YXItb8L?-m*8oNvOo(EVM#zEjCvX2)a#^$vCz=AX~bPECbhp`OEK<_^GB zv|fU)yaqgp*UL4nR^mu-Cv#F$va?fCb9ifpZk`r{H8b-15;-ss9$>eYG)1DAA*l+7 zx?p(G|D%9sz%+R@n~#31E08C#44m1R?4MF(?{GPH*I9Nockb3x26VeGe*Q6b!@}v3 zPD6fODioL=R&}Y|mE0$Ac^2~V_l*o}b7{=ATOEyCYwg>Nl->a@#C;B~T(9h^PEG#2 zs-sN#&x%^%P9lOgm-;=iWK0Tp6GWr_7Jgm@HrW|;d2}g!0!r*eh++9tD1!3e&UwkP zrn|$V2`38YSIIv*_0kmDWYb^0z=X#b&1lV8!XO=dvv53!0LVA}Ig2($qK#agJij7c z-3j0zObcUnp%pX27^4iFM ?!wuq*<8@;9r3@*W_dc(@g*6YNJJp=3ZDkuoWSPF-Fone#>WYIH6+ zXQY-OF}N?aaIf>G1q<_?h3_Mg+yI<95g?T$J>u!eFCsv9Hx!rL@Av@3u>x`BAG}N= zXrZeT#W4yJWryjj4B&(xUNlA;M$YKRB#o7piHxjmP6Bo7wyfNP?xuxXm}cmz MFH?0AE*Ktwp_+r-B5E&oIq_9&g3hgv9b?0LY^7= )(Pv4Rv1>Kru-|vw8{um{^2^)_(m+QyuDO`#EZAwC4e*P!`g!^w*+l5 z3Bs$s{|5I(`mh9w$V>c9Sk2qgvd)n#ksGn*-xW#a@5HK9E}L8t`>?hO^uyW~Z#62w z^YJk5K Ok#Ajpde*jPBJ|!}85up*RMY%xEbChnD)RJp zNw%Hhr~S)|)kY%u&9yms_k@^|EBzU0T;s*sCKqB+E!dARn^y!gh*S+J&r6hz{|Rda z?uyzJ^iO;0gsowFcGfoDDz ^<~v-EpnbTr0&df)F11s|eVWa=q#EhD z3PY`?+C PB )B%intEtc0fUCRQ!a!?gYx2X6~VCIQ4S3m(csuZS4sz!6|8yns7b|c z!Jg;|<}_fa2CL{G(G+^m6l_IV0?Xy&c>1WD`(l`ydSbMzx+8VNOd~;bXkV(PdstbK z9OvtxZ%WJU?Rvr&6^iF&!_|PNn&A0s?sIBzw`pu!VQ!_C;M!|19{^ktrma+ZFs3H( zy0rvTaJ fXwcPeiG`%Kz6Ph#Uas>$ubl{+$rl#8HAgDMDY;!xBiW;9;!BRbw5GsZ7 zVjy>k_CBC0DcVuBbmXK @&%)Wleqr@?HsIqJ>z z4v#w{HMV(kTK0^C;0uN|&8uzl#>wIu&GYZEQw#TpLpA({x|Si@N!RNuG=u 2&Va~rI z#;CG6mLf!aPit-Ox(551>!Zg`zC1C850TDa7LF{qZ{xZ{Fy1!qjf?Y4_Bg_l#O$%C zV_mLJhhr4&i|U;UBO1h$XLbO6kTyo0f{V$xpo{&S56%$#rF;iY6 U|raH(K zFEle(_%0PtquTvhW8bY(4Gc{lI(0Q~SWN1w8r0w+Mk!`#9(lW8|DOFf^Ec2=DwqYa zlIb%(Qw+CZ!w9uM9u^!dAz1cfDPl#pSn70jowI{IGb^*l%|x0v9$MGq-D1 L*< z`!jM!c3rWJu7`N}Zvu+`_ba&)IMP*EN^53yzB&vD+u7ck)*OMKpzA3?v!y J5zpyF@73`QYryCrz*QSP%RFb-O *~3$bTJSp{dBI+%fu-mbd?@#( urtL9=c+ZGvw|qx|kb7Mf0KbKAqDWPp@&BeXq;*%)cly^WwGV z^)_y|fb|=8+j}Rvi0*d}!w+C#Ykpo>LB+-qZ*S%P%8MzH(kFoy=-wjAYWU-^<)aHq zC3vl? -&MIkL%Wo>ct^M!ng2cId+KY)j+=Ztpc@PId}D<{vKJTZZ?ECGfVSY2?<9@g ze9i)O29$#ChIDS2oJ9!biP9Fj@uaZPXCw)Wy2%>(oqq7Hq^`Z;caXH;);`01!9y6B zrGPDL*`&u9?j=EvB0;-NEV~nbfJHT`Ts%o%NBjZF-l?!~V)6x4q$IMyN{dsgzc0ed znos&V|9~_x_c0$+a-CA5hS9=^tSWyE3VPQn4d{K7xC`x>O~YLue0^IO*a%`b1)I)t zgc36=d9FVY%1{rBP%=+0EIjxitt6Ev-%%-mFa$H%D>9sW?-VXL74kqKi+!3wFl9n- zkALHuTpYDH2e8Qe3lzwf2N@ZE8S9A%9O<=Yp2N_QjdpxqLDJP51Rpemk=6h;pZ3d* z788FGelyR_wXYwy*|yiQ_xQ>9f4*OAv)LxneLs1I+K1AAPL;8$OAYzUe`IqnNT>>N zw{dG@dWH!4-%JpBpL!36-Q~}acw5KQ7&<`VG2H`Lpe~Vm@b|j>(~be&UZ6_>kBeY~ zSAZvx{;4GbHwlXJdjexP38M06=TGi##u44ZC(p=szO+O{$Gt4U-5=UX@c+m}g1l3w zA_sXmI){e<*_E>|W3J}lii*jfT|wj9h$7)0@HudHb>gc7cd)DeTkifUDe0A)D8sBn zg5Y8d<~0(kd?6_{LL3*EQ3-YyfwMv$g~}nxl^mJ>iA$Ks<{s_3bELa#W5F|`n9^^p z&+YHJ)7M2kuBcd>zHKK8co(5$rIZJDGqT`E_NYkdmYc_a4fjaDOGz*&%2rob!^u z130Mg9<+g=9TK8T6(XcOD!fm{BLr=bWP&LVbtH>1s0201Z{_a 2_E13byOfsl0Q`~fg()BmIC-9mk&SGHxDyTrAU)l| zdmu *CTZ-0NODNa;j6^cl3>i%pybgIHT5L&EI0hpkMN( @tsS9dsFs12Ckrcn*J{tpLZ;QWwbK9|MPL@E-8V zsO^#csz_WGlbs=aUc}RqATIxLpwkt?YtirW9h9(J_Pl>IX`w(MgvfD3kpOQji0i}| z3*bA)N@Mf41DQ`O59|;}_sB`VVQ_C%Q2Yl^8Yq$j!Y=iKB#5Kk;g2FV=lHE7+qAHg z`Z?D^KlbRO3ugqZDB(A#5Q-9@V=$g4vKTD5;0lRvmv|Qc0cg{}idP8rvEcav+!zIL zhMN?SK+60FzeZu~2)mSQV&qXH ^(O{MRGs4f66O)`ogAzQG(`zW6N#|JP7dDT67uLc#zs5xuo)1$IH2c& zPaq`oc3>@BbR`iESPJ_4sFkC0%izZC4~m%3^BW3Bc3!?6C8oGnp^2lWfu=l6!JjEB zCqyz-*G0IKV-0HLIKsaQigCnl9-7)pT?=}EexEzh+@z~-s*OvE$zJ1Ba|^;*8>G{} z!PACCxQ|na90WI8(#a{BJO0s-9*!K+!!E@H<_$fZ(x}&(I`I6=PegRsG2e+E&PA=D zUU&&cXQCJ0l`w>wIBscyTO4E}h793$4sj0diN3aOjvJ_MPjg~nGU3SVIMWQWqzCU2 z@=`c5OTj`Pao!^^1%e)ne`-p)DVaXG=&Xl+-OojQn2lFG`jFQ;$5sAhp2viWJm;}q zjhNHcHS}i~?}*Xt{j DU?KSB%=>+gy<<8`3fEcYVHn*;h3+50-<>< zHG6C0flFj-;B>~H*|jHqrsp^IHBCgX+~tvkZ_?bE4vOLY{adI`KpWTaw!TJpw?B5{ zVSN!`O~?I^l2 02P_3qn{wWF=$fR#YX{MF~gzq{o5 z&Aq*26!lJE+jnDqozwoU?vzyM_;zsj;J+hSN4M-9rjq>a-=uCYdjeoZlMYfyVfBtW zF*yZ!XdnqF%__nqdji7*vrWTuRO^JTw~xz^os^yr0$1v)gY4*7LmfpfJHU5ihY7v{ z-qUeeGJGSvq~%B@RBNzz570n^5P13g>q5dw-MOeF(sG&7QaxPT+GSXqx~|VT=eti< zb=9MbNFYVisinR3^%f?p$Xt)6jQAaVa&%J !M )4e8ll>Zf16;;^;j4?&y!poJ{J 6V0G778G;PpS zJE$rzcx7&8gqjMt@``V5vOgudf%Jlq1K~wVm`V&RXhxs}>YO0^ciEpF?Ru!K)8 FFMeBHjsjzZ`P=^%!H~vlZc=L+&< 2r%NBX)jNt2dpaWne7p}U(I7RQIjIK3W>ca!=b?SPmYVkzHndjx? z<|~@2*wkZh56b{kS5=>Jwb9|w-+P}!=zl~|=h75tVKhy#0<;^#rVLlqg)1!N#fh`m z!X(A=6q`6GDmxK4QBhwPS?IK#>kH2BNSS|zoqA(q@LYwwBcwjS^Q02mBGA5FY|$#% zjewh(?7hjNiKYgFM!d^q0S_aZppt1^NcWFtGC5>C({-ScYN)TXhG&nbxyHLbYs9dS z%zo>k@DrP+9Zv5+SXP-mYE_vw<`7i 4QnqUkJZNKNk6?3({SX5otasE}pCT62F`6iuEDS$R2Vu`rgn z7`6ehg00mUEBt;#>WKXCze#ouER-Pk>`~oDt8=8Lyig;v(7m>nLF1NY?`3Vax`@a% z>%8k>a f{uF-B0F^FPFho2zJcNor$xh~(t_AxxfS=|vJW0byKg;* ztg$AQ)gB&+Zg*Y(x}sO~Rq1ON#${J$Zh!@-m&55aybD)2l59QXq02N8@G ?ma;6sr?t&PmNFP zqT~DepQRrT^1mCcjcwOmuxx4^*|Itf1q(Q&A+9>oIG^L|o^U3JXq@2NMdzw%AdJY9 z{ZLxvo6y&pBFe2x)tZ{Ozqx7tK2{I)zrcE*W|N~XlIWI~sH#z)GJ1DsUtlxg-NC-* zARNTKujh&diah*S2peFRheu5S8e|ddq m95W(4AQgOg+8VQTB zhGkW_B-lM2zuHt0!5XjeIO~+YXtpKjPW3>CQXBS-nYs$^#>49{orWfhqvS^bUcNUE zM>^r7rhw79 4%3CIG6D`pq`0Cjw%M5{(h}1(%by;7>_;l9xiXtG5|8sRUK5z&l*7=Ye{K z(5#lfs3oaov9IG!V9%xtBBAJYnS0i028IUX*DdtRu1tm6)?HtQGy#vb(@%!Q&+M@~ zRKpkIMp }`OH(O)Y?`r;fc8ZIISC4bo4@MPqXD`IM^Y~gKnd|#`vd!5a` zU}PUX`O *2R?+gm7#I{aI7U8Z=>^0ftD2oZZpqA0yE4-<5arAK+KxqAC zyB4Vd%xb9yOJs>ucciBG*YKyP&-_)sanTV;^R~v&UMD`5feUUGfw!q+&~568s2x(R zvKSx#3j!cIgyVONP2e}Q`v&lP+4K 9S8^%QneETS|-N|?lXn^kS=GjS*Id^dZ6bjKUgxMZ~(UE3T% zC6$#_=};rE?`dg$1!wZVh_(P`B~jyOH{_zRUqE&g+Ixl2_uQzEAZFO`o_O|TxY*D& zy}4!Ae=dyfhl4VeJGHu
GJBSpk38=Ia zox}bqXx7$T6Cr*C*Qvfg9+u #VX|AqE@OD|fYov46~Ib} zk(a3BEZ-#rx%X!P1{Tew=PH;uRjxIB%41E7tyz)KQav~SCG+v33HCLbg3R2>?!X>T zUhmap=aP&&w!_RRz_ 5Z*56 zt5rq R}7o2_Y+hB{{Vt8tq7JL26vOrK78^+0~vh z&|n_Z>c%bg{VCjevd4Tgj@%rF+S=D`lMKHcn0lbaWo~RVC8cDqsU1}Bn3&l?4a3eK z!<4mgvo6}oc$*u$#~Zk(ep9K}Pdn_JYicUqgk0~6N@r2AQ`z0<>Vf<`(B=D>F1d6j z@EG#*%tfFH=_tk7w`Dq-gBe96xBgrlWSFA!GzBS1(ZXpLjivy8LXI{gnjxY^r>v!* z8t(71km=@Hl015?gT1+*O4qK9k5?7fw{ovPH2Aw_x3XJr?5)t%e#!kVrmCu5tF~%j zxgpeW8mnp=)X9k##eR~;u8GfIUsyTRlymi^t8OhEHY-~diWa5TQ@MxwC3i|*XelqZ z)Rk4((g{}oW-kD4=SFP>tYlH8G;B!(tUwBwr?3=2mgXE}ARj%(WLy*!OBBc^h&F8z zF4G(KR(dsBZ$-Oxe;aIha$eM(!aYlGdSh}4cHTKUSly|t?AErNR}ZV6JbP 5(f}{-9*CPUWer=%_RfRJN_@ z-+YgQdzi_0R4N-RMB(m8VhX%+~Pg&u>T2!0WMFc!2z9GY%t zVVdGydI7Bshcm;t$96e a1sw-%exJ&QmPFg%_BYfLA*?5pyh!UQ&c2Uz zcs_JZqfD+}iz5tl;oe-3+D46Kq{;`D4C(OXt{QcRV#0OFLxZol!Yb~lv+hDgX>E&* z439UIt4o_J8b@L*SFE~2RNER)Rj}IT#`^6!2?_PpDwCkWJ-|glgV)n5K!fAXMRpE+ z60#w5se2<*XNxQ#V~HoP$w`2fRRzdE2X=YL?vBt6)3SA4Mu&RK?j7tM3q2{bP0;q@ zYyaQomE5V;R_Z5qVxoI&5qn>}uB`k^_rl86Gxg2T=fX|H3ZgH+-#t7cvBwC%v#(+N z&>oovyvr$K7f>|n0z$O~l$*yH`p76s`dCytT}n7CT~vE~+KYp?Qq9{EGdd$-`k@m0 zB0aXWq!lsYk$ojQ<@uXB8?*Alp= Sy!%DA~{70sOlCjE5`)>0}fy*jX` z>S2=}gZInEJ!g-D2Xh)&!ONHYDlA_buv2LJ1kUgvU5)$aAfnH~eNzEI`e9_DvjRj6 z9u6b~at<+dRH%8Pp#=mUPQ?*WH>p<&40Av$0GTZ~$Gfz!_zsnuehhJKvB73lMu0 zYKX!C$!GGo#jak^Wb~o2k?y|X_JTZjipQYuQ|YT5Iq5w*Bry6{FL~$ufm+{>sPbV) z9L2p20`psItEa`Jtjnf8w_7bOT@FomCTF<5SXtFqQ`?`MVa_YXGW1ibY3g71C~~9M z$UXxx+U>NMoW+*hn}|GB;7iQOQ5jMBFslJtSnLy#5SYS=VbDn!>ioh&fZOkL(hH;; zWYhKWwSx%S0pAZYrW<_oZ@6NSXwxm>n?JS>8ZdxoqiXCihq!4&5fbxWX}1TNthpKJ zU5GOXc3f={Wu7#Rg3$YSZ2F-lK!+3cAjL{Bk>5NgNPeAD^JbaScEBxQB!6h$g)w4Y z=!Wr T7A4z2gFc^>s>5H9UW1XLYqli8*ujJD4-+FqKdOF|NQF^Z %lHUGKDzweCL|q0 } zkz!C@YI4BXot)OIN2`awoc|q_L6yB_RH+QyF-I)-zRQJ33tegN_HR=u3M;YbeD)dl zmbRfmyTefY#rHr(5_v%vPV+!wDqxR7z|^DQ0_H3VRAA#V521V(_g9{OIqo<9wFFlA zu`>n{R{CDP19|>!KhV$y%(qI11)eGrJCSF3Jg_IhpncTqV2ge>>=Pu^L{yX*Qy?YG z&G5+rk(O(5N&B!ab |3e;PxO z0{z?h@cMWNgz44*hK7fN47Hm3(^7|)fP~DmR+cLwLjw`oAkaez-l7qA8AkLxl7#KL z5=tfIgd>&gP=uO!ZTI^117@_Hd*8ehs5eWNxN^+`^-e+BVw1ILS{GB#_Bb26r}#C; zm5OpLAt?I+u87|zl}x;CC<*Af0p2vywkR{tk4s1u7mD1`I25py7eDEY5iA&jX{e^r zRr)r>-xqyaP5%fi6R3LhQQr;LHME@jtII{*B%PQ*VO4Wo1%ixwP<86m(`6fC)|`eH zb5NMNA(OU;fWqnUdQ0%`J#^a}>sn-Li^9N33>v8p0KAeD1pqmD*%H9zhwu|3!% 7>9ppu5#RsPhk`Dn%)eM47tOr~xZDi57%RvuzA!H3uEQ#TdtiN9(CL%e zikx^Jw<^7VdYo*V&j8%`O9mnCH^t8&AXLOIfALw7h4X_)($l?U;k?g9p?QfMdY*st zzSjitz*Cf6?t(H*@!!TmOHqV34si%vGC&)awE@)jKQGYkB>fr?69lAPwK(nCxi>Mr ztqO@mhwpgmPB)rsvi;5;%Y6VOd^jZA+U+JTKliNF4Y^isT3 xR-(2hodSR0~&ADb&T>Zz#<~a~$_Z zYYX=qKi#P05{0^=Oebii|J l|2qV*ET#ttiy@v2cPxp> zEuMuV1V#cJ6mT&m5dtnqf>Kad|?$D zhz1Up0*f5^VpSL!-smStNqoxC3XA_CJ#Gyv8PO-tJm!}S`mT=kS>q=3K&?q0Gj)&u zar&wyLW8U2h8ag=H@Xq Pyt9kWt7LUH^z?9)KI zGSE6LP;>C>dBJ81UWH_?Pk1l<5G 7$*A?wW+etX*xpk8zzrkB0r@ z!VP&=H}|8QOgg0{xvWavud8tYF!B=?e<@Pp35)T|>)hf^tY7uF zZgg-zH@6?ysOe1S9;hx|KZIs0l!bqon;fKeklBhnOG&fE3duuK9p3}k7YozAf(-_5 zig%{Mpp9+ 8UiV2-s^*`r@-QKkb5h4<;%Od9JXRxqtii z{ eo(6+7qSGTgq}I@!qm)rk{0f@oGC~`7~d)1op9YF zw_uMm@Lq#X5uTjI;4l+QaRWf70S$qAw*9`0AezenQyjno<|AOq7%Pzhtww$W@@b@} znD$*2%h`hvkUv1qGWk{l7OOUFb4EPMbisl0{1BA*6HQ1?s#F0Nny@T0&j5}kg8#4< z76(!|LPrF~QC4JO#^xi1dFE(4_r+FfU-FR2)ECdK3j&|{(;L2DWoLenHQQ*P$il+B zn){NWMk{M;bs^B=Yld2*zKrL97ogKY?_IBy14uUb*zo-RD(k0NWR1OVwP8hRun3DaiVVVt6qc{=}uCW;bUGG><=SfUu?()1&er5 zT+IDUs$+T0k_LHUy|@{ccQO}Y1u{LPC#Q%n;;m&do TKA=UZ 2)2I7K lAp1c)Y)IMxiqSbL z-b(ZPP69&+IgBSm@x{9zO$B`GMwasiiKU3Nn%Xozv73tT9rzXf$eBkCRKqKPcP-;) zGGsq|d2(!KnD4xV*rCbV*nZi8TO>sIeP3%IKMm10eg13_F4^>Ltbr*BizY53Bf+Hb zpbeX38UVex&zVcHR;lClGav@Z$z{44sP~^_0 XGbBdPm^(nf9g-2)U ^S25Jho9SN>vA6F-Nr2=qzNoE1!AZG>D(%R~Z~8$@%tYGIuE z4bXh|QrB_9aKW(<6ZZk;0zY$r{aNM>z^)i G`Td5q11=@d-6C#3 z5k1sJBU%4RTa-PL> <_Gs})+z)@)lf05#Qgosum*m;FnrjI{E4t#$cL1#o=;*GM zUKNyD@+re)l*ZcO)~>`bVCxv}wl1u@!igpPs#rPTj5hZN_BSr_cp}}+Wy9XeCGkYK z!?;MmLhj*;KnL8v6{4Pd0ahpKpIv@u;}Y*jIC}`Mhd7gJ=Ap>ljj*7B=6Zry#r_Z8 zBh&&Zlhla@)b6-wZzC*2U7Z}lC%i}qJ*e7xIH-gd_h+!Jh}) zhT^NmFcHouf)PaN%pA5AmhBi;A-Fp>4~$NQ_!;c9Z@jCA>&(uSMZX01zObLaNlyGl zSpK|k?79%&k$Y;O)q_>>z@!fQzk2#9fE#x!CqQ8hw`7tH>_r05q;!~)q@;0`6a) !q?}|v@d};#c^~WQG!0iBHJ7PPI&H17vU;et^RTU^rl`W(_?7Qp^jjBkf7E2> zWo6}M6i}b$6=_q~9zS&SXw&5S`{CwM%>yZuPV1zBHd3yOI$e8m<4vW8+I_Ig s_1= mY_3WmJzY}s{ymojjdJ9HTTG9I k zMn7<&@8zm0Ws$bJ1mje+a;;^H^^d!=^4#XyrtCDMt7f!TR2Wk5xivNURDKPmE-6!! zO1GTCZ>tva8eIW?4vC2K@ZXST6WE2ghPvgUWfUSnBzeGc95_llMzj4Atd>*Q#c|B! zq)pYkwyu*UZgE*Q8I7CF?y2>%^_!bb6B$je`IGXDlfRjmU?}-iFNC=ZuC6Ydt-Ggz z`gKotgB|_>>2at)S66B+Z6 >{L`7d=mjPnm-enWN_K7PP&;c$}K3N-*>r(y6lA&HJS#15dIXEC_+g7 zTzCi#!>uY;0bNg5D^ ze?a=-9#WM56CwM>t64Q7B)02CKxQ?T4y4b3ItUEh%#D5n$phg()X }f%Ft+37*%wm109lU>)rNUplt%s7;cXuFJ!9>&5EP|{Lw(=7tfvnDx;s@ z0zZeXX$UKF-Zlxa3MVM=0@Re(&ba9Oy!?VWBr=r-V^!zC#QyTt28Ha+j;3Ozs=Nbo zRUka2=FU#D*)XwhAg>fCh`#9o{7q25UEX&|NkwgJW^I(ButX{S-hJh9^_3QpE^m7p z3M%xfmLLH73KduKq=4>E{35o(i^!#+a^j~2{`oEN^X1SYI}9!O=M#0dIo6~JB8K>q zE>J)kgvQ_X0RFD!Py>J4BGeGS*}1}@i$o3)gd-J3fgESgaw__rsASn2AQ@Re4SCdo zo%2x?{^?fuDU7!yh;jjWKA1}b{Q<8&1<7(j6Wc_W 39C>np}MY6ZxGmFTl@+L6&Q+Zp8pG|cuWu#SQ75Wt68(d9_ zmSzSkleBfRw>lb1stxMWGW1Oe7As}$oh3rQE)96imDBG=r88>*yA1@p^FZqHPdCC( z3j?u}0^&y$gg)EO)MGr?L^qkNCSzHNq1IBVu$$E7W%W(X)iP_nfb)i&HI+pxwK2KH zUG8
yLEodHy6qY)J j{oLIEUi5M`R7E(4;601_hDtelWQ0*xTw7>;`Y4kfC|`t4(4%94NtaHK~RbXi!K zcwsmDxg$t>bSP{{=0zrfF8F~=6{TlNU{dQK3%cR#3&6Eu_~+cHB!F2Kb&!ItN02F~ zuFJN7_fY}8YEe{Tv|z9O4I2LJkPsBZ)+9WhmqY3DsK<@ZjZcqtrsgJRs*UwE+@PUG zV``u38{0U2A9ud&60Vi|Bs!Y5&zOe1?tZyFT2rOcU1M=O4DoA*ww^cs`yckfEZtKK z56dcmr3gzFfrZ2sOTsX=d24I4o%>zjmlttA6~26GWPHrh5bk>+%HfXFXb%A#?~wZX z{LDGZWAM&Sp-wG_e*(vs6t|&o+VAfm=jdOxh1pr@t_fvZQ=_A8ynA|f$GB~)nQmqV zU3JY@diR@Z)P)KhO4ApRq3f*D6|7-cQ`70SSiRnMcaLJwYO_}>#%m_(%%kaRO=bL2 zQv~PtFr4-PIFTd6hgT^8X!t;k02%?@NhQ@rWmzj7Z5@s09kGwJ=^G5?E0fb!H4WwG z>hxhjHV$j^>xu#9F6x#exg}#;waQWzZKgY%<@TiXQL||*%?~2WMLZP zsym9D5INO21Oer!gE4BPBe4UC2>Pkbq1WoQ_I9glxRJVe$HpTq6_u{>)??fNJ$Ln^ z)W3@r#Y&5^N>$V5oZZsZT3aud$*o$4b;jYi2jn|S!M!Z2hk9Tcs`@kJ3&}Yp{B>am zF0ncZ9F?PIYwenn?1IYn?ad9`Yd;%#)#)blaeDJtZywFyZi*2` edX|3sS|QxBCaV5(dVp+J^}QplkzqtPe^` 2UE-C-n3$hY^t<5ULZlT1)*DM5lEP?F7bE|9;hOGF z$BcgTGU_O3-J|qFm&xAO@Aa;Yw{;hIHWMv2cLWp<+TtTimVE#_js2e&{Bd;dt$iIg zZ{Kw-|7nlkBKyFw*P9SOIpm!pA9nNz|5+`v53%>}e-HtX(MMnE{O;V`ahkyOtNUdi z9=kAp&D2oWH2I*5MW`;4eYEH&{p=5&Kf3Y8?~+fFz4Vmqqf0JayJl*{%YV`_@sl2t z{cX`t`pcg>e}3-|@8Lh`)mLSIyJT){+~yJQ41wtq@ss``` vFv(_dRk(89=qs+9L$?yF2?=JnJho|}E z@9&g-%zY6@t)3Yz@bI5Cup5;-5f7O@+24swB!&Mt*~Hf!ufB7`LtQ-OH@)>U+21ca z7Dug`87~lE8}xtPHL_3O+5vnp`8*_If$+($rl`)5m+$=E6FofPHvjbr*(aA@5=X6U z8YnLmK6A+bna|5UUE(u;Nv-G{fAhinU+m*QbLO*`WS?GfDS+8DpeXe6cn|Ha5%8Xu z{R71hQ49ziqGK39zePpw>DctwCx7wU0RO35|MQ0IA9V)@(8mrci~Jv}C)8xCWS=ee zsakEmTJ}R~-M)_L&tH1(?P307w^Ph}vd^rC237+JhAK+DjfCaHyM@o4lKoTsT*!+A zLyJH6cU1O4&+NjRfB4%d|GB%UxPQq0X+1Q!dZlxyvP1xPcsIB~nEUMQvd_iOMO4TS zWEcM2(^UBp&vx$LfBn %bn0m@S=h@4><2%iLJ;i_Y0jiQ(C;P&FWN6h&=ZLyo1bVOV$!6J?;wNKj c`k$%2*LW`Ee!{)V zz0JM6i~saFYKUr(eckk}krh;Q^MtO#|LNeqVah}&Fa7DPjJoi8&&AyLx#ze)a8K{y zKm8arMYYSmc9Kt@4EyOW**8nU&X!PD-Pn04cLVn*_dNITdHkneO6{fwW#2SkI09+x z=1F~}0Q=}(5%!B@|6cOb+o@ZQd#>Ov<$esb|Iq;kKO*J|>IgL@`*-t2qp_6SwNYOs zeEP_FXk;15O!Q-r)e~erf<&_WsC#bpT*Dpa?f~!k_Cx%qUqxL;?UDV*HHSZalcB1Y zm&nn*b;!@^g$&zk^e-T?h=W;iS)MFG68!zoO83h2{QR`_d3o#UUvR6a)4uxrv^4lh zT0Z>QJlab|$ui*2M#G 4P&BZM zereSBmpWRlgI`H`dC_WmZ{g*)mi3gq2ET6qY2mH+^S{61%hw8Dqkj8v`-||ucHwXE z&9!HLM90YzVR{JNw2jIKD+4|ax~PECKP0yg?X>U@kj*GUlZR38b0`l&hQAtqK*v=M z)oTZKQDclw)zE3!Ijr?=ju~UC%d8$fce$aa+WfYuR(DO0f$8Xo+1OfYjybb7-(A-+ zBlmcsN8EY(*wbtC-1Ssa_1ceEy_&OIl~tPfPhpfOs`Tt>`nUA+Q7eJAD4zryI1(g@ z)dDzG#e23mB`^JVTEWGJ